
@font-face{font-family:Fraunces;src:url(assets/fonts/fraunces-normal.woff2) format('woff2');font-weight:300 800;font-style:normal;font-display:swap}
@font-face{font-family:Fraunces;src:url(assets/fonts/fraunces-italic.woff2) format('woff2');font-weight:300 800;font-style:italic;font-display:swap}
@font-face{font-family:Familjen;src:url(assets/fonts/familjen-grotesk-normal.woff2) format('woff2');font-weight:400 700;font-display:swap}
:root{--ink:#0a0605;--ink2:#120a09;--ink3:#1b0f0d;--ox:#6e1216;--blood:#9b1a1f;--red:#d8262d;--glow:#ff3b3b;--cream:#f4e7d4;--crema:#c99a62;--mute:rgba(244,231,212,.62);--line:rgba(244,231,212,.12);--serif:Fraunces,Georgia,serif;--sans:Familjen,system-ui,-apple-system,Segoe UI,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;background:var(--ink)}
body{background:var(--ink);color:var(--cream);font-family:var(--sans);font-size:16px;line-height:1.55;overflow-x:hidden;-webkit-font-smoothing:antialiased}
body.intro-on{overflow:hidden}
img,video{display:block;max-width:100%}
a{color:inherit}
:focus-visible{outline:2px solid var(--glow);outline-offset:3px}
.wrap{width:min(1180px,100% - 40px);margin-inline:auto}
.grain{position:fixed;inset:-50%;pointer-events:none;z-index:60;opacity:.07;background-image: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='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
.kicker{font:600 12px/1 var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--crema)}
.kicker i{font-style:normal;color:var(--red)}
h1,h2,h3{font-family:var(--serif);font-weight:700;line-height:.98;letter-spacing:-.02em}
h2{font-size:clamp(40px,9.5vw,88px)}
h2 em,h1 em{font-style:italic;font-weight:400;color:var(--red);text-shadow:0 0 28px rgba(255,59,59,.35)}
.lede{color:var(--mute);font-size:17px;max-width:34em}
section{position:relative}

/* wordmark */
.wm{display:inline-flex;flex-direction:column;align-items:center;line-height:.8;text-decoration:none}
.wm b{font:800 28px/0.85 var(--serif);letter-spacing:-.03em}
.wm small{font:600 8px/1 var(--sans);letter-spacing:.5em;text-transform:lowercase;margin-top:3px;padding-left:.5em;opacity:.8}

/* buttons: sharp, neon underline, crema sweep */
.btn{--bg:transparent;--fg:var(--cream);position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:0 24px;border:1px solid rgba(244,231,212,.28);background:var(--bg);color:var(--fg);font:700 13px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;text-decoration:none;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:transparent;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));transition:transform .15s}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,#7a4a22,var(--crema) 45%,#f1d3a3 70%,var(--crema));transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.7,0,.2,1)}
.btn::after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:2px;background:var(--glow);box-shadow:0 0 10px 1px var(--glow),0 0 22px 2px rgba(255,40,40,.6);transform:scaleX(.35);transform-origin:left;transition:transform .35s}
.btn:hover::after,.btn:focus-visible::after{transform:scaleX(1)}
.btn:active{transform:scale(.97)}
.btn.sweep::before{transform:scaleX(1)}
.btn.sweep{color:var(--ink)}
.btn .ar{display:inline-block;width:18px;height:1px;background:currentColor;position:relative;transition:transform .3s}
.btn .ar::after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg)}
.btn:hover .ar{transform:translateX(4px)}
.btn.red{--bg:var(--blood);border-color:#c8353a}
.btn.red::after{background:#ffd7c2;box-shadow:0 0 10px 1px rgba(255,200,170,.8)}
.btn.sm{min-height:44px;padding:0 16px;font-size:11px;letter-spacing:.18em;clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px))}

/* header */
.top{position:fixed;left:0;right:0;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;padding:10px 16px;padding-top:max(10px,env(safe-area-inset-top));background:linear-gradient(rgba(10,6,5,.85),rgba(10,6,5,0));transition:background .3s}
.top.solid{background:rgba(10,6,5,.92);box-shadow:0 1px 0 var(--line)}
.top .wm b{font-size:24px;color:var(--cream);text-shadow:0 0 14px rgba(255,59,59,.55)}
.open{display:inline-flex;align-items:center;gap:8px;font:600 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.open .dot{width:8px;height:8px;border-radius:50%;background:#555}
.open.is .dot{background:#4ade80;box-shadow:0 0 10px #4ade80;animation:pulse 2s infinite}
@keyframes pulse{50%{opacity:.35}}

/* intro */
#intro{display:none}
.show-intro #intro{display:grid}
.show-intro{overflow:hidden}
#intro{position:fixed;inset:0;z-index:100;background:#050303;place-items:center;overflow:hidden;transition:transform .55s cubic-bezier(.76,0,.24,1)}
#intro.out{transform:translateY(-101%)}
#intro.gone{display:none!important}
#intro.out{pointer-events:none}
#intro .sign{position:relative;text-align:center}
#intro .sign b{display:block;font:800 clamp(72px,23vw,180px)/.8 var(--serif);letter-spacing:-.035em;color:#ffd9d4;text-shadow:0 0 6px #ff6a6a,0 0 18px #ff2a2a,0 0 46px #e0141c,0 0 90px rgba(224,20,28,.6);opacity:0;animation:flick 1.1s .15s steps(1,end) forwards}
#intro .sign small{display:block;margin-top:14px;font:600 clamp(13px,3.6vw,20px)/1 var(--sans);letter-spacing:.9em;padding-left:.9em;color:#ffcfc8;text-shadow:0 0 10px #ff3333;opacity:0;animation:fin .4s 1.05s forwards}
#intro .halo{position:absolute;left:50%;top:50%;width:140vmin;height:140vmin;margin:-70vmin 0 0 -70vmin;background:radial-gradient(closest-side,rgba(200,20,28,.32),rgba(200,20,28,0));opacity:0;animation:fin .5s .9s forwards;pointer-events:none}
#intro .steam{position:absolute;left:50%;bottom:52%;width:180px;height:220px;margin-left:-90px;pointer-events:none}
#intro .steam span{position:absolute;bottom:0;width:26px;height:150px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,235,225,.22),rgba(255,235,225,0));opacity:0;animation:rise 1.6s ease-out forwards}
#intro .steam span:nth-child(1){left:30px;animation-delay:.6s}
#intro .steam span:nth-child(2){left:78px;animation-delay:.85s;height:180px}
#intro .steam span:nth-child(3){left:124px;animation-delay:1.05s}
@keyframes flick{0%{opacity:0}8%{opacity:.9}12%{opacity:.1}22%{opacity:1}26%{opacity:.25}34%{opacity:1}60%{opacity:.75}64%{opacity:1}100%{opacity:1}}
@keyframes fin{to{opacity:1}}
@keyframes rise{0%{opacity:0;transform:translateY(40px) scaleX(.6)}40%{opacity:1}100%{opacity:0;transform:translateY(-120px) scaleX(1.6) rotate(8deg)}}
#skip{position:absolute;right:16px;bottom:max(20px,env(safe-area-inset-bottom));z-index:2}

/* hero */
.hero{isolation:isolate;min-height:100svh;display:grid;align-items:end;overflow:hidden;padding:110px 0 34px}
.hero-media{position:absolute;inset:0;z-index:-2;background:#140b0a}
.hero-media img,.hero-media video{width:100%;height:100%;object-fit:cover}
.hero-media::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 70% at 50% 20%,rgba(10,6,5,0) 0%,rgba(10,6,5,.35) 55%,rgba(10,6,5,.95) 100%),linear-gradient(180deg,rgba(10,6,5,.55) 0%,rgba(10,6,5,0) 22%,rgba(10,6,5,.1) 45%,rgba(10,6,5,.92) 78%,var(--ink) 100%)}
.hero h1{font-size:clamp(56px,15.5vw,150px);margin:16px 0 18px;text-shadow:0 2px 30px rgba(0,0,0,.6)}
.hero h1 span{display:block}
.hero .lede{color:rgba(244,231,212,.82);text-shadow:0 1px 12px rgba(0,0,0,.7)}
.ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.hero .meta{display:flex;gap:18px;flex-wrap:wrap;margin-top:26px;padding-top:18px;border-top:1px solid var(--line);font-size:13px;color:var(--mute)}
.hero .meta a{text-decoration:none;border-bottom:1px solid rgba(216,38,45,.6)}

/* ticker */
.ticker{border-block:1px solid var(--line);background:var(--ox);overflow:hidden;white-space:nowrap;padding:14px 0;contain:paint}
.ticker div{display:inline-flex;gap:0;animation:tick 32s linear infinite;will-change:transform}
.ticker span{font:italic 500 22px/1 var(--serif);padding:0 18px;color:var(--cream)}
.ticker span::after{content:"✦";font-style:normal;font-size:12px;color:#ffb3a8;margin-left:36px;vertical-align:middle}
@keyframes tick{to{transform:translateX(-50%)}}

.sec{padding:96px 0}
.sec-head{display:grid;gap:16px;margin-bottom:38px}

/* bar / drink picker */
.bar{background:radial-gradient(80% 60% at 50% 30%,#2a0f0e 0%,var(--ink) 70%)}
.bar-grid{display:grid;gap:28px}
.stage{position:relative;aspect-ratio:4/5;max-height:72svh;margin-inline:auto;width:100%;max-width:520px;overflow:hidden;background:#140a09;contain:paint}
.stage::before{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(244,231,212,.12),inset 0 -120px 80px -40px rgba(10,6,5,.9)}
.stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .45s,transform .7s cubic-bezier(.2,.8,.2,1)}
.stage img.old{opacity:0;transform:scale(1.06)}
.stage img.new{opacity:0;transform:scale(.94) translateY(16px)}
.stage .pour{position:absolute;left:50%;top:0;width:14px;margin-left:-7px;height:62%;z-index:4;background:linear-gradient(#3b1a0c,#8a5428 50%,#d9a46a);border-radius:0 0 8px 8px;transform:scaleY(0);transform-origin:top;opacity:0;pointer-events:none;box-shadow:0 0 18px rgba(217,164,106,.5)}
.stage .pour.go{animation:pour .7s cubic-bezier(.5,0,.3,1)}
@keyframes pour{0%{transform:scaleY(0);opacity:1}45%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1) translateY(70%);opacity:0}}
.stage .puff{position:absolute;left:50%;top:44%;width:180px;height:180px;margin:-90px 0 0 -90px;border-radius:50%;z-index:4;background:radial-gradient(closest-side,rgba(255,240,230,.35),rgba(255,240,230,0));opacity:0;pointer-events:none}
.stage .puff.go{animation:puff .9s .35s ease-out}
@keyframes puff{0%{opacity:0;transform:scale(.4) translateY(30px)}40%{opacity:1}100%{opacity:0;transform:scale(1.5) translateY(-70px)}}
.stage .cap{position:absolute;left:18px;right:18px;bottom:16px;z-index:5;display:grid;align-items:end}
.stage .ci{grid-area:1/1;opacity:0;transform:translateY(10px);transition:opacity .4s,transform .5s}
.stage .ci.on{opacity:1;transform:none}
.stage .cap h3{font-size:clamp(30px,8vw,44px)}
.stage .cap p{color:var(--mute);font-size:14.5px;margin-top:6px;max-width:30em}
.stage .price{display:inline-block;margin-bottom:10px;font:700 13px/1 var(--sans);letter-spacing:.14em;padding:9px 11px;background:rgba(10,6,5,.75);border:1px solid rgba(216,38,45,.6);color:#ffd6cf}
.stage .price:empty{display:none}
.chips{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 20px 14px;margin:0 -20px;scrollbar-width:none;overscroll-behavior-x:contain}
.chips::-webkit-scrollbar{display:none}
.chip{flex:0 0 auto;scroll-snap-align:start;min-height:46px;padding:0 16px;border:1px solid rgba(244,231,212,.22);background:rgba(244,231,212,.03);color:var(--cream);font:600 13px/1 var(--sans);letter-spacing:.06em;cursor:pointer;position:relative;clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px));transition:background .25s,color .25s,border-color .25s}
.chip[aria-pressed=true]{background:var(--blood);border-color:#e0464b;color:#fff;box-shadow:0 0 22px rgba(216,38,45,.45)}

/* spotlight */
.spot{background:linear-gradient(180deg,var(--ink) 0%,#1c0c08 40%,#2a1309 100%);overflow:hidden}
.spot .neon-tag{display:inline-flex;flex-direction:column;gap:8px;font:800 13px/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:#ffe3dc;padding:10px 14px;border:1.5px solid #ff6b6b;box-shadow:0 0 12px rgba(255,59,59,.7),inset 0 0 12px rgba(255,59,59,.5);text-shadow:0 0 8px #ff3b3b}
.spot-grid{display:grid;gap:36px;align-items:center}
.spot-photo{position:relative;aspect-ratio:4/5;overflow:hidden;cursor:pointer;max-width:520px;width:100%;margin-inline:auto;-webkit-tap-highlight-color:transparent}
.spot-photo img{width:100%;height:100%;object-fit:cover}
.spot-photo .hint{position:absolute;left:12px;bottom:12px;font:600 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;background:rgba(10,6,5,.7);padding:9px 10px;color:var(--crema)}
.shots{position:absolute;right:12px;top:12px;display:flex;gap:5px}
.shots i{width:14px;height:20px;border-radius:2px 2px 6px 6px;background:#3a1f12;border:1px solid #8a5428;transform:scaleY(.4);opacity:.4;transition:transform .3s,opacity .3s,background .3s}
.shots i.on{transform:none;opacity:1;background:linear-gradient(#2a1208,#7a4a22 70%,#d9a46a)}
.egg{position:absolute;left:50%;top:38%;transform:translate(-50%,10px);opacity:0;font:italic 700 clamp(44px,13vw,80px)/1 var(--serif);color:#fff2ea;text-shadow:0 0 18px rgba(255,255,255,.6),0 0 40px rgba(255,120,90,.6);pointer-events:none;transition:opacity .4s,transform .9s;white-space:nowrap}
.egg.show{opacity:1;transform:translate(-50%,-30px)}
.layers{list-style:none;display:grid;gap:0;margin-top:26px;border-top:1px solid var(--line)}
.layers li{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);font:500 18px/1.2 var(--serif)}
.layers li b{width:34px;height:20px;flex:0 0 34px;border-radius:2px;transform:scaleX(0);transform-origin:left;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.in .layers li b{transform:none}
.layers li:nth-child(2) b{transition-delay:.1s}.layers li:nth-child(3) b{transition-delay:.2s}.layers li:nth-child(4) b{transition-delay:.3s}.layers li:nth-child(5) b{transition-delay:.4s}
.layers small{margin-left:auto;font:600 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}

/* menu board */
.board{background:var(--ink2);border-block:1px solid var(--line)}
.tabs{display:flex;gap:0;border:1px solid rgba(244,231,212,.2);width:max-content;margin-bottom:26px}
.tab{min-height:46px;padding:0 22px;background:transparent;color:var(--mute);border:0;font:700 12px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;cursor:pointer;position:relative}
.tab[aria-selected=true]{color:#fff;background:var(--blood)}
.menu-list{list-style:none;columns:1;column-gap:48px}
.menu-list[hidden]{display:none}
.menu-list li{break-inside:avoid;display:flex;align-items:baseline;gap:10px;padding:13px 0;border-bottom:1px dashed rgba(244,231,212,.14);font:500 19px/1.2 var(--serif)}
.menu-list li .dots{flex:1;border-bottom:1px dotted rgba(244,231,212,.25);transform:translateY(-4px)}
.menu-list li b{font:700 15px/1 var(--sans);color:#ffcbc2;letter-spacing:.04em}
.menu-list li em{display:block;font:italic 400 13px/1.3 var(--sans);color:var(--mute)}
.fine{font-size:12.5px;color:var(--mute);margin-top:18px}

/* pastry case */
.case{background:radial-gradient(70% 50% at 50% 0%,rgba(201,154,98,.16),transparent 70%),var(--ink)}
.rail{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 20px 22px;margin:0 -20px;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.rail::-webkit-scrollbar{display:none}
.pastry{flex:0 0 74%;max-width:330px;scroll-snap-align:center;position:relative;background:linear-gradient(180deg,#22130f,#140b09);border:1px solid rgba(244,231,212,.1);overflow:hidden}
.pastry .ph{aspect-ratio:1/1;overflow:hidden;position:relative}
.pastry .ph img{width:100%;height:100%;object-fit:cover}
.pastry .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.14) 0%,rgba(255,255,255,0) 28%),linear-gradient(0deg,rgba(255,190,120,.18),transparent 40%);pointer-events:none}
.pastry .tx{padding:16px 16px 18px;border-top:2px solid var(--blood)}
.pastry h3{font-size:26px}
.pastry p{font-size:13.5px;color:var(--mute);margin-top:6px}
.pastry .no{position:absolute;top:10px;left:10px;font:700 11px/1 var(--sans);letter-spacing:.2em;background:var(--ink);color:var(--crema);padding:7px 8px}
.swipe-hint{display:flex;align-items:center;gap:10px;font:600 11px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--mute);margin-top:4px}
.swipe-hint::after{content:"";width:46px;height:1px;background:var(--red);box-shadow:0 0 8px var(--glow)}

/* seasonal */
.season{background:linear-gradient(180deg,var(--ink) 0%,#160606 100%)}
.drops{display:grid;gap:18px}
.drop{position:relative;display:grid;grid-template-columns:42% 1fr;gap:0;background:#140909;border:1px solid rgba(216,38,45,.25);overflow:hidden;min-height:200px}
.drop img{width:100%;height:100%;object-fit:cover}
.drop .tx{padding:18px 16px;display:flex;flex-direction:column;gap:8px}
.drop .when{font:700 10.5px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:#ff8a80}
.drop h3{font-size:25px}
.drop ul{list-style:none;font-size:14px;color:var(--mute);display:grid;gap:4px}
.drop ul li::before{content:"— ";color:var(--red)}

/* app */
.app{background:radial-gradient(60% 60% at 70% 50%,rgba(155,26,31,.35),transparent 70%),var(--ink2);overflow:hidden}
.app-grid{display:grid;gap:40px;align-items:center}
.phone{width:min(270px,70vw);margin-inline:auto;aspect-ratio:9/19.5;border-radius:42px;padding:10px;background:linear-gradient(145deg,#2c2321,#0d0908);box-shadow:0 0 0 1px rgba(255,255,255,.08),0 30px 80px rgba(0,0,0,.7),0 0 70px rgba(216,38,45,.25);transform:rotate(-4deg)}
.phone div{width:100%;height:100%;border-radius:33px;overflow:hidden;background:#000}
.phone img{width:100%;height:100%;object-fit:cover;object-position:top}
.ticks{list-style:none;display:grid;gap:10px;margin:22px 0 4px}
.ticks li{display:flex;gap:12px;align-items:center;font-size:16px}
.ticks li::before{content:"";width:18px;height:2px;background:var(--red);box-shadow:0 0 8px var(--glow)}

/* word on the street */
.word{background:var(--ink)}
.quotes{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 20px 18px;margin:0 -20px;scrollbar-width:none}
.quotes::-webkit-scrollbar{display:none}
.q{flex:0 0 84%;max-width:440px;scroll-snap-align:center;padding:26px 22px;border-left:2px solid var(--red);background:linear-gradient(90deg,rgba(155,26,31,.16),transparent)}
.q p{font:italic 400 22px/1.3 var(--serif)}
.q a{display:inline-block;margin-top:14px;font:600 12px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--crema);text-decoration:none}

/* reels */
.reels{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 20px 18px;margin:0 -20px;scrollbar-width:none}
.reels::-webkit-scrollbar{display:none}
.reel{flex:0 0 46%;max-width:220px;aspect-ratio:9/16;position:relative;overflow:hidden;scroll-snap-align:start;background:#1a0f0d;text-decoration:none}
.reel img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.reel:hover img{transform:scale(1.05)}
.reel::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(10,6,5,.9))}
.reel span{position:absolute;left:10px;right:10px;bottom:10px;z-index:1;font:600 12.5px/1.3 var(--sans)}
.reel .play{position:absolute;right:10px;top:10px;z-index:1;width:30px;height:30px;border:1px solid rgba(255,255,255,.6);display:grid;place-items:center}
.reel .play::before{content:"";border-left:9px solid #fff;border-top:6px solid transparent;border-bottom:6px solid transparent;margin-left:3px}

/* visit */
.visit{background:linear-gradient(180deg,var(--ink) 0%,#1a0807 100%)}
.visit-grid{display:grid;gap:30px}
.sign-photo{position:relative;aspect-ratio:4/5;overflow:hidden;max-width:520px;width:100%}
.sign-photo img{width:100%;height:100%;object-fit:cover}
.addr{font:600 clamp(30px,7.5vw,48px)/1.05 var(--serif);margin:14px 0 6px}
.hours{list-style:none;margin:24px 0;border-top:1px solid var(--line)}
.hours li{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);font-size:16px;color:var(--mute)}
.hours li.today{color:#fff}
.hours li.today span:first-child::after{content:" · today";color:var(--red);font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.foot{padding:40px 0 calc(40px + env(safe-area-inset-bottom));border-top:1px solid var(--line);text-align:center;color:var(--mute);font-size:13px}
.foot .wm b{font-size:46px;color:var(--cream);text-shadow:0 0 18px rgba(255,59,59,.55)}
.foot .wm small{font-size:11px}
.foot nav{display:flex;justify-content:center;gap:20px;margin:20px 0 10px;flex-wrap:wrap}
.foot nav a{text-decoration:none;min-height:44px;display:inline-flex;align-items:center}

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

@media (min-width:860px){
  .bar-grid,.spot-grid,.app-grid,.visit-grid{grid-template-columns:1fr 1fr;gap:60px}
  .menu-list{columns:2}
  .chips{flex-wrap:wrap;overflow:visible;margin:0;padding:4px 0 14px}
  .drops{grid-template-columns:repeat(3,1fr)}
  .drop{grid-template-columns:1fr;grid-template-rows:240px auto}
  .pastry{flex-basis:300px}
  .reel{flex-basis:210px}
  .q{flex-basis:420px}
  .hero{padding-bottom:70px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .rv{opacity:1;transform:none}
}

.spot .neon-tag b{font:italic 700 26px/1 var(--serif);letter-spacing:.04em;text-transform:none}
.egg{color:#ffe7e1;text-shadow:0 0 8px #ff6a6a,0 0 24px #ff2a2a,0 0 60px rgba(224,20,28,.8)}
.hero .meta .open{flex:1 0 100%;min-height:16px}
#openTop{min-width:96px}
