/* The Red Cab · American 50's · concept site by Re:solve, fictional brand
   Direction: a printed 1950s diner menu and the tin signs on the wall. Cream paper, cherry red, mint, chrome. */
:root{
  --red:#a8121c; --red-2:#c1121f; --red-d:#7a0c14;
  --cream:#f0e4cd; --paper:#f4ead6; --ink:#1d2340; --ink-2:#4a4560;
  --mint:#a9dccb; --mint-d:#6fb8a3; --yellow:#f5c02e; --blue:#2152a3;
  --chrome:linear-gradient(180deg,#fdfdfd 0%,#c4c8ce 28%,#f3f4f6 50%,#8d929a 76%,#e3e5e8 100%);
  --slab:'Alfa Slab One',Rockwell,serif; --sign:'Big Shoulders Display',Impact,sans-serif; --script:'Yellowtail',cursive; --body:'Figtree',system-ui,sans-serif;
  --top:72px; --s1:8px; --s2:16px; --s3:24px; --s4:32px; --s6:48px; --s8:64px; --s12:96px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:var(--top)}
body{font-family:var(--body);color:var(--ink);background:var(--paper) url(img/tex/paper.webp);font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
.wrap{width:min(1180px,100% - 40px);margin:0 auto}

/* type: slab titles with the navy offset of a printed menu, the 50s script for accents */
.slab{font-family:var(--slab);font-weight:400;text-transform:uppercase;color:var(--red);font-size:clamp(44px,6.4vw,92px);line-height:.95;letter-spacing:.01em;text-shadow:3px 3px 0 var(--ink)}
.card-script{font-family:var(--script);color:var(--red);font-size:clamp(46px,6vw,84px);line-height:1;display:block;transform:rotate(-4deg);text-shadow:2px 2px 0 rgba(29,35,64,.18)}
.card-script.sm{font-size:clamp(34px,3.6vw,50px);margin-bottom:16px}
.sec-head{margin-bottom:var(--s6)}
.sec-head p{max-width:520px;color:var(--ink-2);margin-top:var(--s2)}

/* their sign: yellow script on red, blue ribbon */
.plate{display:inline-flex;flex-direction:column;align-items:center;background:var(--red-2);border:2px solid #fff;outline:2px solid var(--red-2);padding:2px 14px 6px;border-radius:6px;line-height:1}
.plate .script,.intro-sign .script,.hero-sign .script{font-family:var(--script);color:var(--yellow);font-size:30px;text-shadow:1.5px 1.5px 0 #6b1a08,2px 2px 0 #6b1a08;transform:rotate(-3deg);display:block}
.plate .ribbon,.intro-sign .ribbon,.hero-sign .ribbon{font-family:var(--body);font-weight:700;font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:#fff;background:var(--blue);padding:3px 12px 2px;border-radius:0 0 40px 40px/0 0 12px 12px;margin-top:-4px}
.plate.big .script{font-size:56px}.plate.big .ribbon{font-size:13px;padding:4px 20px 3px}

/* buttons: enamel plates */
.btn{display:inline-flex;align-items:center;gap:8px;justify-content:center;font-family:var(--sign);font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:18px;padding:12px 22px 11px;border-radius:8px;text-decoration:none;transition:transform .15s,box-shadow .15s;white-space:nowrap}
.btn:active{transform:translate(2px,2px)}
.btn-red{background:var(--red-2);color:#fff;border:2px solid #fff;box-shadow:0 0 0 2px var(--red-2),4px 4px 0 2px var(--ink)}
.btn-red:hover{box-shadow:0 0 0 2px var(--red-2),2px 2px 0 2px var(--ink);transform:translate(2px,2px)}
.btn-cream{background:var(--cream);color:var(--red);border:2px solid var(--red);box-shadow:3px 3px 0 var(--ink)}
.btn-cream:hover{box-shadow:1px 1px 0 var(--ink);transform:translate(2px,2px)}
.btn.wide{width:100%}

/* header */
.top{position:fixed;inset:0 0 auto;height:var(--top);z-index:40;display:flex;align-items:center;justify-content:space-between;padding:0 22px;background:var(--paper) url(img/tex/paper.webp);border-bottom:3px solid var(--red);box-shadow:0 3px 0 var(--cream),0 6px 0 var(--red)}
.brand{text-decoration:none}
.nav{display:flex;gap:28px}
.nav a{text-decoration:none;font-family:var(--sign);font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:19px;color:var(--ink)}
.nav a:hover{color:var(--red)}
.top-r{display:flex;gap:14px;align-items:center}
.lang{font-family:var(--sign);font-weight:800;font-size:16px;letter-spacing:.06em}
.lang span{opacity:.45}
.count{font-style:normal;background:#fff;color:var(--red);border-radius:99px;min-width:22px;height:22px;display:inline-grid;place-items:center;font-family:var(--body);font-size:12px;padding:0 6px;letter-spacing:0}
.count.bump{animation:bump .4s}
@keyframes bump{50%{transform:scale(1.4)}}

/* intro */
.intro{position:fixed;inset:0;z-index:100;background:var(--paper) url(img/tex/paper.webp);display:grid;place-items:center;overflow:hidden}
.intro-road{position:absolute;left:0;right:0;bottom:22%;height:26px;background:repeating-conic-gradient(var(--red) 0 25%,var(--cream) 0 50%) 0 0/26px 26px}
.intro-car{position:absolute;width:min(420px,70vw);bottom:calc(22% + 20px);left:50%;transform:translateX(-50%)}
.intro-car use{transform:scaleX(-1);transform-origin:260px 85px}
.intro-car .wheel{transform-box:fill-box;transform-origin:center}
.intro-sign{position:absolute;top:26%;display:flex;flex-direction:column;align-items:center;opacity:0;background:var(--red-2);border:4px solid #fff;outline:4px solid var(--red-2);border-radius:12px;padding:10px 40px 18px}
.intro-sign .script{font-size:clamp(64px,12vw,120px)}
.intro-sign .ribbon{font-size:clamp(12px,1.8vw,18px);padding:6px 26px 5px}
.intro.run .intro-car{animation:drive 1.5s cubic-bezier(.2,.7,.2,1) both}
.intro.run .wheel{animation:spin .5s linear 3}
.intro.run .intro-sign{animation:neonOn 1s steps(1) .9s both}
.intro.out{animation:up .7s cubic-bezier(.7,0,.3,1) both}
.intro.gone{display:none}
@keyframes drive{from{transform:translateX(-150vw)}to{transform:translateX(-50%)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes neonOn{0%{opacity:0}10%{opacity:1}18%{opacity:.2}26%{opacity:1}34%{opacity:.4}42%,100%{opacity:1}}
@keyframes up{to{transform:translateY(-100%)}}

/* hero: wavy checker, the sign as a tin plate, food cut-outs */
.hero{position:relative;min-height:100svh;padding-top:var(--top);display:flex;flex-direction:column;background:var(--red) url(img/tex/wavy-wide.webp) center/cover;overflow:hidden}
.hero-in{position:relative;flex:1;display:grid;place-items:center;min-height:560px;padding-bottom:40px}
.tin{position:relative;background:var(--red-2);border:6px solid var(--cream);outline:3px solid var(--red-d);border-radius:22px;box-shadow:10px 12px 0 var(--ink)}
.tin::after{content:"";position:absolute;inset:0;border-radius:16px;background:url(img/tex/grain.png);opacity:.5;pointer-events:none}
.tin .b{position:absolute;width:14px;height:14px}
.b1{top:10px;left:10px}.b2{top:10px;right:10px}.b3{bottom:10px;left:10px}.b4{bottom:10px;right:10px}
.hero-sign{display:flex;flex-direction:column;align-items:center;padding:34px clamp(30px,5vw,72px) 26px;z-index:2;transform:rotate(-2deg)}
.hero-sign .script{font-size:clamp(76px,11vw,168px);line-height:.95}
.hero-sign .ribbon{font-size:clamp(13px,1.5vw,20px);padding:7px 34px 6px;margin-top:-8px}
.hero-sub{margin-top:16px;font-family:var(--sign);font-weight:800;text-transform:uppercase;letter-spacing:.3em;color:var(--cream);font-size:clamp(14px,1.4vw,18px)}
.cut{position:absolute;z-index:3;filter:drop-shadow(10px 16px 14px rgba(29,10,10,.35));will-change:transform;transition:opacity .6s}
.c-burger{width:min(25vw,370px);left:3%;bottom:-3%}
.c-shake{width:min(13vw,200px);right:9%;top:3%;z-index:1}
.c-fries{width:min(22vw,320px);right:3%;bottom:-2%}
.c-hotdog{width:min(18vw,260px);left:7%;top:5%;z-index:1;transform:rotate(-12deg)}
.hero-bar{position:relative;z-index:4;background:var(--paper) url(img/tex/paper.webp);border-top:6px solid var(--ink);display:flex;justify-content:space-between;align-items:center;gap:20px;padding:14px max(20px,calc(50% - 590px));flex-wrap:wrap}
.hb-info{display:flex;gap:10px 24px;align-items:center;flex-wrap:wrap;font-weight:600;font-size:15px}
.hb-info a{text-decoration:none}
.hb-info a:hover{color:var(--red)}
.hb-cta{display:flex;gap:12px;flex-wrap:wrap}
.stars{color:var(--red-2);letter-spacing:1px}
.open-now{display:inline-flex;align-items:center;gap:8px;font-weight:700}
.open-now::before{content:"";width:10px;height:10px;border-radius:50%;background:#2e9e62}
.open-now.closed::before{background:var(--red-2)}

/* marquee: a tin strip */
.marq{background:var(--red-2);color:var(--cream);overflow:hidden;border-block:4px solid var(--ink)}
.marq-in{display:flex;width:max-content;font-family:var(--slab);text-transform:uppercase;font-size:28px;line-height:1;padding:14px 0 12px;will-change:transform;text-shadow:2px 2px 0 var(--ink)}
.marq-in span{padding:0 22px;display:inline-flex;align-items:center;gap:44px}
.marq-in span::after{content:"✦";color:var(--mint);font-size:20px;text-shadow:none}

/* menu: the printed card with a checker border */
.menu{padding:var(--s12) 20px}
.card{position:relative;width:min(1180px,100%);margin:0 auto;padding:clamp(28px,5vw,64px) clamp(18px,5vw,72px);
  border:22px solid transparent;background:url(img/tex/paper.webp) padding-box,repeating-conic-gradient(var(--red-2) 0 25%,#f7efdc 0 50%) 0 0/44px 44px border-box;
  box-shadow:0 0 0 3px var(--ink),0 30px 60px -30px rgba(29,35,64,.45)}
.card-head{text-align:center;position:relative;margin-bottom:var(--s4)}
.card-head .slab{font-size:clamp(46px,7.5vw,104px);text-shadow:4px 4px 0 var(--ink)}
.card-head .card-script{margin-top:-10px}
.speed{display:block;width:min(560px,80%);height:16px;margin:14px auto 0;background:repeating-linear-gradient(180deg,var(--ink-2) 0 3px,transparent 3px 6px);opacity:.55;-webkit-mask:linear-gradient(90deg,transparent,#000 20%,#000 80%,transparent);mask:linear-gradient(90deg,transparent,#000 20%,#000 80%,transparent)}
.star-l,.star-r{position:absolute;top:20px;width:48px;height:48px;color:var(--mint-d)}
.star-l{left:4%}.star-r{right:4%}
.doodle{position:absolute;color:var(--ink-2);opacity:.55;pointer-events:none}
.dd1{width:46px;height:62px;left:-8px;top:34%}.dd2{width:40px;height:54px;right:-6px;top:24%}.dd3{width:56px;height:50px;right:-10px;top:62%}
.dd4{width:26px;height:26px;left:2%;top:60%;color:var(--mint-d)}.dd5{width:22px;height:22px;right:3%;top:84%;color:var(--mint-d)}.dd6{width:34px;height:54px;left:-4px;top:82%}
.tabs{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:var(--s6);position:sticky;top:calc(var(--top) + 6px);z-index:5;padding:8px 0}
.tab{white-space:nowrap;flex:none;font-family:var(--sign);font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:19px;padding:8px 16px 7px;border-radius:6px;background:var(--cream);color:var(--red);border:2px solid var(--red);box-shadow:3px 3px 0 var(--ink);transition:transform .15s,box-shadow .15s}
.tab[aria-selected=true]{background:var(--red-2);color:#fff;border-color:#fff;box-shadow:0 0 0 2px var(--red-2),3px 3px 0 2px var(--ink)}
.cat{display:none}
.cat.on{display:block;animation:rise .4s both}
@keyframes rise{from{opacity:0;transform:translateY(12px)}}
.cat-note{text-align:center;color:var(--ink-2);font-size:14px;max-width:640px;margin:-28px auto var(--s4)}
/* boomerang panels with a chrome rim and a round photo */
.bms{display:grid;grid-template-columns:1fr 1fr;gap:28px 40px}
.bm{position:relative;display:flex;align-items:center;gap:18px;min-height:132px;padding:14px 22px 14px 14px;border:5px solid transparent;border-radius:28px 70px 28px 70px;
  background:linear-gradient(var(--bg),var(--bg)) padding-box,var(--chrome) border-box;box-shadow:4px 6px 0 rgba(29,35,64,.18);transform:skewX(-6deg)}
.bm > *{transform:skewX(6deg)}
.bm.mint{--bg:var(--mint)}.bm.cream{--bg:#fbf4e4}.bm.red{--bg:var(--red-2);color:#fff}
.bm-ph{flex:none;width:118px;height:118px;border-radius:50%;padding:5px;background:var(--chrome);margin:-26px 0 -26px -4px;box-shadow:3px 4px 0 rgba(29,35,64,.25)}
.bm-ph span{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;overflow:hidden;background:var(--red-2)}
.bm.red .bm-ph span{background:var(--mint)}
.bm-ph img{width:112%;max-width:none;height:112%;object-fit:contain;filter:drop-shadow(2px 4px 4px rgba(0,0,0,.25))}
.bm-tx{flex:1;min-width:0}
.bm h4{font-family:var(--sign);font-weight:900;text-transform:uppercase;font-size:25px;line-height:1;letter-spacing:.02em}
.bm p{font-size:13.5px;line-height:1.35;margin-top:5px;opacity:.85}
.bm-pr{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.pr{display:flex;align-items:center;gap:8px}
.pr small{font-family:var(--sign);font-weight:800;font-size:12px;letter-spacing:.1em;text-transform:uppercase;opacity:.75}
.it-p{font-family:var(--sign);font-weight:900;font-size:26px;line-height:1}
.it-p.soft{font-family:var(--body);font-size:13px;font-weight:600;opacity:.75}
.add{width:32px;height:32px;flex:none;border-radius:50%;background:var(--ink);color:#fff;font-size:22px;line-height:1;display:grid;place-items:center;transition:transform .2s,background .2s}
.bm.red .add{background:#fff;color:var(--red-2)}
.add:hover{transform:rotate(90deg)}
.add.ok{background:#2e9e62;color:#fff}
/* tin board rows (ref: enamel menu sign) for items without a photo */
.tin-board{background:#fbf4e4;border:3px solid var(--ink);border-radius:10px;padding:14px;box-shadow:6px 6px 0 var(--ink)}
.tb-head{background:var(--red-2);border-radius:6px;text-align:center;padding:4px 10px 10px;margin-bottom:10px;box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 4px var(--red-2)}
.tb-head .card-script{color:#fff;font-size:clamp(44px,5vw,64px);text-shadow:3px 3px 0 var(--ink);transform:none}
.tb-row{display:flex;justify-content:space-between;align-items:center;gap:14px;background:var(--red-2);color:#fff;border-radius:3px;padding:9px 16px 8px;margin-top:8px;box-shadow:0 0 0 2px var(--ink);font-family:var(--sign);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:21px}
.tb-row b{font-weight:900;white-space:nowrap}
.tb-row .tb-d{display:block;font-family:var(--body);text-transform:none;letter-spacing:0;font-weight:500;font-size:13px;opacity:.85;margin-top:2px}
.tb-row .add{background:#fff;color:var(--red-2);margin-left:10px}
.board .tin-board{max-width:760px;margin:0 auto}
.menu-note{margin-top:var(--s4);font-size:13px;color:var(--ink-2);text-align:center}

/* milkshakes: on the wavy checker, like the reference */
.shakes{background:var(--red) url(img/tex/wavy-tall.webp) center/cover;padding:var(--s12) 0;position:relative}
.shakes-in{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.shake-stage{position:relative;aspect-ratio:2/3;max-height:80vh;width:100%}
.shake-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transform:translateY(16px) rotate(-3deg);transition:opacity .4s,transform .6s cubic-bezier(.2,.7,.2,1);filter:drop-shadow(12px 18px 16px rgba(29,10,10,.35))}
.shake-stage img.on{opacity:1;transform:rotate(-3deg)}
.paper-card{background:var(--paper) url(img/tex/paper.webp);border:4px solid var(--ink);border-radius:18px;padding:clamp(24px,3vw,40px);box-shadow:10px 10px 0 var(--ink)}
.shake-ui p{margin:14px 0 22px;color:var(--ink-2)}
.flavours{display:flex;flex-wrap:wrap;gap:10px}
.fl{display:flex;align-items:center;gap:9px;padding:6px 14px 6px 6px;border-radius:999px;background:#fbf4e4;font-weight:700;font-size:15px;border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink);transition:transform .15s}
.fl i{width:26px;height:26px;border-radius:50%;box-shadow:inset 0 0 0 2px rgba(29,35,64,.25)}
.fl[aria-checked=true]{background:var(--red-2);color:#fff;transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--ink)}
.shake-total{display:flex;align-items:center;gap:16px;margin-top:24px;padding-top:20px;border-top:3px dashed rgba(29,35,64,.3);flex-wrap:wrap}
.shake-total small{display:block;color:var(--ink-2);font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:700}
.shake-total b{font-family:var(--sign);font-size:28px;text-transform:uppercase;font-weight:900}
.shake-total .price{color:var(--red);margin-left:auto;font-size:20px}

/* burger: their Cheeseburger Especial cut into layers, opens on scroll */
.anat{height:240vh;position:relative;border-top:6px solid var(--ink)}
.anat-stage{position:sticky;top:0;height:100svh;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:40px;padding:calc(var(--top) + 20px) max(20px,calc(50% - 590px)) 24px}
.anat-stage::before{content:"";position:absolute;right:max(0px,calc(50% - 560px));top:50%;width:min(50vw,620px);aspect-ratio:1;border-radius:50%;background:var(--mint);opacity:.6;transform:translateY(-44%)}
.anat-txt{position:relative;z-index:2;max-width:430px}
.anat-txt .slab{font-size:clamp(34px,4.2vw,62px)}
.anat-txt p{margin-top:16px;color:var(--ink-2)}
.anat-buy{display:flex;gap:22px;margin-top:22px;align-items:center}
.stack{position:relative;height:calc(100svh - var(--top) - 44px);aspect-ratio:2/3;margin-right:min(180px,14vw)}
.layer{position:absolute;will-change:transform}
.layer img{width:100%;height:100%;filter:drop-shadow(4px 10px 10px rgba(29,10,10,.22))}
.layer .lbl{position:absolute;left:100%;top:50%;margin-left:18px;transform:translateY(-50%);opacity:var(--lbl,0);white-space:nowrap;font-family:var(--sign);font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:16px;padding:4px 10px 3px;background:var(--red-2);color:#fff;border-radius:4px;box-shadow:2px 2px 0 var(--ink);pointer-events:none}
.layer .lbl::before{content:"";position:absolute;right:100%;top:50%;width:16px;height:2px;background:var(--ink)}

/* happy hour */
.hh{padding:var(--s12) 0;background:var(--mint);border-block:6px solid var(--ink)}
.hh-in{display:grid;grid-template-columns:340px 300px 1fr;gap:48px;align-items:center}
.hh .tin-board{transform:rotate(-2deg)}
.hh-txt .slab{font-size:clamp(36px,4vw,60px)}
.hh-txt p{margin-top:16px;max-width:440px}

/* 1950s snapshot prints with a deckled edge */
.deckle{position:relative;background:#fbf8f0;padding:12px 12px 40px;box-shadow:4px 8px 18px -6px rgba(29,35,64,.45);
  -webkit-mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 50%/12px 100%,conic-gradient(from 135deg at top,#0000,#000 1deg 89deg,#0000 90deg) 50%/12px 100%;
  -webkit-mask-composite:source-in;mask-composite:intersect}
.deckle img{width:100%;aspect-ratio:3/4;object-fit:cover;filter:saturate(.92) contrast(1.02)}
.deckle.wide img{aspect-ratio:4/3}
.deckle figcaption{position:absolute;left:14px;right:14px;bottom:10px;font-family:var(--script);font-size:19px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1;color:var(--ink)}
.tilt-l{transform:rotate(-2.2deg)}.tilt-r{transform:rotate(1.8deg)}
.casa{padding:var(--s12) 0 var(--s8);overflow:hidden}
.reel{display:flex;gap:30px;align-items:center;padding:20px 20px 30px max(20px,calc(50% - 590px));overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.reel::-webkit-scrollbar{display:none}
.reel .deckle{flex:0 0 auto;width:min(320px,74vw);scroll-snap-align:start}
.reel .deckle.wide{width:min(420px,84vw)}
@media (min-width:961px){.reel{overflow:visible;scroll-snap-type:none;will-change:transform}}

/* reviews: a jukebox */
.talk{padding:var(--s8) 0 var(--s12)}
.jukebox{display:grid;grid-template-columns:400px 1fr;gap:64px;align-items:center}
.jb-arch{background:linear-gradient(#e9a43a,#c1121f 40%,#7a0a14);padding:22px 22px 18px;border-radius:200px 200px 26px 26px;box-shadow:inset 0 0 0 6px #f6d58a,8px 10px 0 var(--ink)}
.jb-list{background:linear-gradient(#1c1512,#2b201b);border-radius:180px 180px 14px 14px;padding:110px 24px 24px;display:grid;gap:10px;position:relative}
.jb-list::before{content:"";position:absolute;top:26px;left:50%;width:120px;height:60px;margin-left:-60px;border-radius:60px 60px 0 0;background:repeating-linear-gradient(90deg,#f5c02e 0 6px,#e05a2a 6px 12px,var(--mint) 12px 18px)}
.jb-row{display:flex;justify-content:space-between;align-items:center;background:#f7efdc;border-radius:6px;padding:9px 16px;font-family:var(--sign);font-weight:800;color:var(--ink);text-transform:uppercase;letter-spacing:.06em;font-size:19px;box-shadow:inset 0 -3px 0 #d8c9a4;transition:transform .2s,background .2s}
.jb-row b{font-size:26px;color:var(--red)}
.jb-row.on{background:var(--yellow);transform:translateX(6px)}
.jb-foot{display:block;text-align:center;color:#fff;font-size:12px;margin-top:12px;opacity:.85}
.g-big{font-family:var(--slab);font-size:54px;color:var(--red);text-shadow:3px 3px 0 var(--ink);display:block;margin-bottom:10px}
.g-big .stars{font-size:28px;text-shadow:none;vertical-align:middle}
.quote p{font-family:var(--slab);text-transform:uppercase;font-size:clamp(24px,2.6vw,36px);line-height:1.12;color:var(--ink)}
.quote cite{display:block;margin-top:18px;font-style:normal;color:var(--ink-2);font-weight:600}

/* visit */
.visita{padding:var(--s12) 0;border-top:6px solid var(--ink);background:#fbf4e4}
.visita-in{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:start}
address{font-style:normal;font-size:20px;margin:22px 0;font-weight:600}
.v-btns{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:22px}
.deliver{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-bottom:28px;font-size:14px;color:var(--ink-2)}
.deliver a{font-weight:700;color:var(--ink);text-decoration:none;border-bottom:3px solid var(--mint-d)}
.hours-board .tb-row{font-size:19px;padding:7px 14px 6px}
.hours-board .tb-row.today{background:var(--ink)}
.hours-board .tb-row.today span::after{content:" · hoje";color:var(--yellow)}
html[lang=en] .hours-board .tb-row.today span::after{content:" · today"}
.truck{margin-top:18px;font-size:14px;color:var(--ink-2)}
.map{position:relative;aspect-ratio:1/1;border-radius:20px;overflow:hidden;border:6px solid transparent;background:linear-gradient(#ece6dc,#ece6dc) padding-box,var(--chrome) border-box;box-shadow:10px 10px 0 var(--ink)}
.map-box{position:absolute;inset:0}
.map .rc-tiles{filter:grayscale(1) sepia(.18) brightness(1.03)}
.map .leaflet-container{background:#ece6dc;font-family:var(--body)}
.map .leaflet-control-zoom{border:2px solid var(--ink)!important;border-radius:8px!important;overflow:hidden;box-shadow:3px 3px 0 var(--ink)!important}
.map .leaflet-control-zoom a{background:#fbf4e4!important;color:var(--ink)!important;width:36px!important;height:36px!important;line-height:36px!important;border:0!important}
.map .leaflet-control-attribution{background:rgba(251,244,228,.8)!important;font-size:10px;color:var(--ink-2)}
.rc-pin{position:absolute;transform:translate(-50%,-100%);white-space:nowrap;display:flex;flex-direction:column;align-items:center;text-decoration:none}
.rc-pin .plate{box-shadow:4px 4px 0 var(--ink)}
.rc-pin .plate .script{font-size:26px}
.rc-pin i{width:3px;height:22px;background:var(--ink)}
.rc-pulse{position:absolute;bottom:-6px;left:50%;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:var(--red-2);border:2px solid #fff}
.rc-spot{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;background:var(--mint);color:var(--ink);border:2px solid var(--ink);border-radius:6px;padding:4px 10px 3px;white-space:nowrap;line-height:1.1;box-shadow:2px 2px 0 var(--ink)}
.rc-spot.r{transform:translate(34px,-150%)}
.rc-spot b{font-family:var(--sign);font-weight:900;text-transform:uppercase;font-size:15px;letter-spacing:.04em}
.rc-spot small{font-size:10px;font-weight:700}
.map .map-go{position:absolute;left:14px;bottom:14px;z-index:1000;background:var(--red-2);color:#fff!important;font-family:var(--sign);font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:15px;padding:8px 14px 7px;border-radius:6px;text-decoration:none;box-shadow:3px 3px 0 var(--ink)}

/* footer */
.checks{height:28px;background:repeating-conic-gradient(var(--red-2) 0 25%,var(--paper) 0 50%) 0 0/28px 28px}
.foot{background:var(--red-2);color:#fff}
.foot-in{padding:60px 0 46px;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}
.foot .plate{outline-color:#fff}
.foot-links a{color:#fff;text-decoration:none;font-weight:700}
.foot .small{opacity:.75;font-size:13px}

/* order tray */
.tray{position:fixed;top:0;right:0;bottom:0;width:min(420px,100%);background:var(--paper) url(img/tex/paper.webp);z-index:60;transform:translateX(105%);visibility:hidden;transition:transform .45s cubic-bezier(.7,0,.2,1),visibility 0s .45s;display:flex;flex-direction:column;border-left:4px solid var(--ink)}
.tray.open{transform:none;visibility:visible;transition:transform .45s cubic-bezier(.7,0,.2,1)}
.tray-head{display:flex;justify-content:space-between;align-items:center;padding:16px 22px;background:var(--red-2);color:#fff;border-bottom:4px solid var(--ink)}
.tray-head h3{font-family:var(--script);font-weight:400;font-size:38px;color:#fff;text-shadow:2px 2px 0 var(--ink)}
.x{font-size:34px;line-height:1;color:#fff}
.tray-list{list-style:none;padding:10px 22px;overflow:auto;flex:1}
.tray-list li{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:12px 0;border-bottom:2px dashed rgba(29,35,64,.25)}
.tray-list b{font-family:var(--sign);font-size:20px;text-transform:uppercase}
.qty{display:flex;align-items:center;gap:8px}
.qty button{width:28px;height:28px;border-radius:50%;background:var(--cream);border:2px solid var(--ink);font-weight:700;line-height:1}
.tray-empty{padding:30px 22px;color:var(--ink-2);display:none}
.tray.empty .tray-empty{display:block}.tray.empty .tray-foot{opacity:.5;pointer-events:none}
.tray-foot{padding:18px 22px 24px;border-top:4px solid var(--ink);display:grid;gap:12px}
.when{display:flex;justify-content:space-between;align-items:center;gap:12px;font-weight:600}
.when select,.when input{font:inherit;padding:8px 12px;border-radius:8px;border:2px solid var(--ink);background:#fff;min-width:150px}
.tray-total{display:flex;justify-content:space-between;font-family:var(--sign);font-weight:900;font-size:30px;text-transform:uppercase}
.tray-foot small{color:var(--ink-2);font-size:12px;text-align:center}
.scrim{position:fixed;inset:0;background:rgba(29,35,64,.5);z-index:55;opacity:0;pointer-events:none;transition:opacity .3s}
.scrim.on{opacity:1;pointer-events:auto}

.rv{opacity:0;transform:translateY(22px);transition:opacity .7s,transform .7s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}

@media (max-width:1100px){.hh-in{grid-template-columns:1fr 1fr}.hh-txt{grid-column:1/-1}}
@media (max-width:960px){
  .nav{display:none}
  .bms{grid-template-columns:1fr}
  .shakes-in,.visita-in,.jukebox{grid-template-columns:1fr}
  .jb-arch{max-width:400px;width:100%;margin:0 auto}
  .c-burger{width:44vw;left:2%;bottom:3%}.c-shake{width:22vw;right:6%;top:3%}.c-fries{width:36vw;right:2%;bottom:5%}.c-hotdog{width:30vw;left:4%;top:4%}
  .anat-stage{grid-template-columns:1fr;align-content:start;gap:12px}
  .anat-stage::before{width:90vw;right:-20vw;top:62%}
  .stack{height:auto;width:min(58vw,330px);margin:0 0 0 2vw}
}
@media (max-width:600px){
  :root{--top:64px}
  body{font-size:16px}
  .top{padding:0 14px}
  .plate .script{font-size:24px}.plate .ribbon{font-size:8px}
  .tray-open span:not(.count){display:none}
  .tray-open{padding:10px 14px}
  .lang{display:none}
  .wrap{width:calc(100% - 32px)}
  .hero-in{min-height:520px}
  .hero-sign{padding:22px 18px 16px;margin-top:-60px}
  .hero-sign .script{font-size:60px}
  .c-burger{width:58vw;left:-4%;bottom:0}.c-shake{width:30vw;right:4%;top:2%}.c-fries{width:48vw;right:-6%;bottom:2%}.c-hotdog{width:38vw;left:-2%;top:3%}
  .hero-bar{padding:14px 16px}.hb-cta .btn{flex:1}
  .menu{padding:var(--s8) 10px}
  .card{border-width:14px;padding:28px 12px;background:url(img/tex/paper.webp) padding-box,repeating-conic-gradient(var(--red-2) 0 25%,#f7efdc 0 50%) 0 0/28px 28px border-box}
  .doodle{display:none}.star-l,.star-r{width:30px;height:30px;top:8px}
  .tabs{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;scrollbar-width:none;margin:0 -12px var(--s4);padding:8px 12px}
  .tab{font-size:17px;padding:7px 12px 6px}
  .cat-note{margin-top:-10px}
  .bm{flex-wrap:wrap;min-height:0;padding:12px 14px 12px 10px;border-radius:22px 44px 22px 44px;gap:12px}
  .bm-ph{width:86px;height:86px;margin:-18px 0 -10px -2px}
  .bm h4{font-size:21px}
  .bm-tx{flex:1 1 150px}
  .bm-pr{flex-direction:row;width:100%;justify-content:flex-end;gap:16px}
  .it-p{font-size:22px}
  .tb-row{font-size:17px;padding:8px 10px 7px}
  .shake-stage{max-height:60vh}
  .anat-txt p{display:none}
  .anat-txt .slab{font-size:30px}.anat-txt p{font-size:15px}
  .layer .lbl{font-size:12px;margin-left:12px}.layer .lbl::before{width:10px}
  .hh-in{grid-template-columns:1fr}
  .hh .deckle{width:80%;margin:0 auto}
  .jukebox{gap:40px}
  .map{aspect-ratio:4/5}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
  .rv{opacity:1;transform:none}
}

/* concept site: fixed credit and the "nothing was sent" message */
.concept-note{position:fixed;left:12px;bottom:12px;z-index:60;font-family:var(--sign);font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:12px;line-height:1;padding:7px 10px 6px;background:var(--paper);color:var(--ink);border:2px solid var(--ink);border-radius:5px;box-shadow:2px 2px 0 var(--red);text-decoration:none;opacity:.88}
.concept-note:hover{opacity:1;background:var(--yellow)}
.concept-msg{margin-top:10px;padding:10px 12px;background:var(--yellow);color:var(--ink);border:2px solid var(--ink);border-radius:6px;font-weight:600;font-size:15px;box-shadow:3px 3px 0 var(--red)}
.concept-msg[hidden]{display:none}
