:root{--red:#d7262f;--red2:#a8141d;--mus:#ffd23f;--mint:#7fd6c8;--teal:#137a72;--cream:#fff6e5;--ink:#1f1a17;--chk:conic-gradient(#1f1a17 25%,#fff 0 50%,#1f1a17 0 75%,#fff 0) 0 0/28px 28px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:Rubik,system-ui,sans-serif;color:var(--ink);background:var(--cream);line-height:1.5;padding-bottom:76px}
img{max-width:100%;display:block}a{color:inherit}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:99}
mark{background:var(--mus);padding:0 .3em;border-radius:3px;font-weight:700;font-size:.85em}
.h2{font-family:Shrikhand,cursive;font-weight:400;font-size:clamp(2rem,6vw,3.4rem);line-height:1.05;margin:0 0 .4em;color:var(--red)}
.h2 span{display:block;color:var(--ink);font-family:Rubik;font-weight:900;font-size:.5em;text-transform:uppercase;letter-spacing:.04em;margin-top:.25em}
.h2.light{color:var(--mus)}.h2.light span{color:#fff}
.top{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 1rem;background:var(--red);color:#fff;border-bottom:6px solid transparent;border-image:var(--chk) 6}
.brand{text-decoration:none;display:flex;align-items:baseline;gap:.35rem}.b1{font-family:Shrikhand;font-size:1.7rem;color:#fff;text-shadow:3px 3px 0 var(--red2)}.b2{font-family:Bungee;font-size:.85rem;color:var(--mus)}
.top nav{display:none;gap:1.4rem}.top nav a{text-decoration:none;font-weight:700;text-transform:uppercase;font-size:.85rem;letter-spacing:.06em}.top nav a:hover{color:var(--mus)}
.callpill{font-family:Bungee;font-size:.8rem;background:var(--mus);color:var(--ink);padding:.5rem .8rem;border-radius:999px;text-decoration:none;box-shadow:3px 3px 0 var(--ink)}
.hero{display:grid;gap:2rem;padding:2.2rem 1.2rem 3rem;max-width:1240px;margin:auto}
.sign{display:inline-flex;align-items:center;gap:.5rem;font-family:Bungee;font-size:.8rem;background:var(--ink);color:var(--mint);padding:.45rem .9rem;border-radius:6px;margin:0 0 1rem}
.dot{width:10px;height:10px;border-radius:50%;background:#888}.isopen .dot{background:#4cff8f;box-shadow:0 0 10px #4cff8f}
.hero h1{font-family:Rubik;font-weight:900;font-size:clamp(2.6rem,10vw,5.6rem);line-height:.92;margin:0 0 1rem;text-transform:uppercase;letter-spacing:-.02em}
.hero h1 em{font-family:Shrikhand;font-style:normal;text-transform:none;color:var(--red);font-weight:400;letter-spacing:0;text-shadow:4px 4px 0 var(--mus)}
.lede{font-size:1.15rem;max-width:34rem;margin:0 0 1.4rem}
.cta{display:flex;flex-wrap:wrap;gap:.75rem}
.btn{display:inline-block;font-family:Bungee;font-size:.95rem;padding:.9rem 1.3rem;border-radius:10px;text-decoration:none;border:3px solid var(--ink);box-shadow:5px 5px 0 var(--ink);transition:transform .1s,box-shadow .1s}
.btn:active,.btn:hover{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--ink)}
.btn.red{background:var(--red);color:#fff}.btn.ghost{background:#fff}.btn.ghost.dark{background:var(--mus)}
.stats{list-style:none;padding:0;margin:1.8rem 0 0;display:flex;gap:1.6rem;flex-wrap:wrap}.stats b{display:block;font-family:Bungee;font-size:1.6rem;color:var(--teal)}.stats span{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700}
.hero-pics{position:relative;min-height:340px}
.hero-pics figure{margin:0;position:absolute;border:6px solid #fff;box-shadow:8px 8px 0 var(--ink);overflow:hidden;border-radius:6px}
.hero-pics img{width:100%;height:100%;object-fit:cover}
.p1{inset:0 18% 22% 0;transform:rotate(-3deg)}.p2{width:42%;height:52%;right:0;top:4%;transform:rotate(4deg)}.p3{width:50%;height:42%;right:6%;bottom:0;transform:rotate(-2deg)}
.sticker{position:absolute;left:2%;bottom:2%;width:110px;height:110px;border-radius:50%;background:var(--mus);border:3px dashed var(--red);display:grid;place-items:center;text-align:center;font-family:Bungee;font-size:.78rem;line-height:1.1;padding:12px;transform:rotate(-12deg);box-shadow:4px 4px 0 var(--ink)}
.marquee{background:var(--ink);color:var(--mus);overflow:hidden;border-block:6px solid transparent;border-image:var(--chk) 6}
.track{display:flex;gap:1.4rem;width:max-content;padding:.8rem 0;font-family:Bungee;font-size:1.05rem;animation:mq 40s linear infinite}
.track span:nth-child(4n+1){color:#fff}@keyframes mq{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.track{animation:none}}
.quote{background:var(--red);color:#fff;text-align:center;padding:3.5rem 1.2rem;background-image:radial-gradient(rgba(255,255,255,.08) 2px,transparent 2px);background-size:18px 18px}
.q{font-family:Shrikhand;font-size:clamp(1.8rem,5.5vw,3.6rem);line-height:1.1;max-width:22ch;margin:0 auto;text-shadow:4px 4px 0 var(--red2)}
.by{font-family:Bungee;color:var(--mus);margin:.8rem 0 0}
.faves{max-width:1240px;margin:auto;padding:4rem 1.2rem}
.fgrid{display:grid;gap:1.4rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.fgrid article{background:#fff;border:3px solid var(--ink);border-radius:14px;overflow:hidden;box-shadow:6px 6px 0 var(--teal);position:relative;padding-bottom:1rem}
.fgrid img{aspect-ratio:4/3;object-fit:cover;width:100%;border-bottom:3px solid var(--ink)}
.fgrid h3{font-family:Rubik;font-weight:900;text-transform:uppercase;margin:.8rem 1rem .2rem;font-size:1.1rem}.fgrid p{margin:0 1rem;font-size:.95rem}
.fgrid i{position:absolute;top:12px;right:12px;font-style:normal;font-family:Bungee;background:var(--mus);border:2px solid var(--ink);padding:.25rem .55rem;border-radius:999px;font-size:.85rem}
.menu{background:var(--teal);color:#fff;padding:4rem 1.2rem;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:32px 32px}
.menu-head{max-width:1240px;margin:0 auto 1rem}.menu-head p{margin:0;opacity:.95}
.menu mark{color:var(--ink)}
.tabs{max-width:1240px;margin:1.2rem auto;display:flex;gap:.6rem;overflow-x:auto;padding-bottom:6px}
.tabs button{font-family:Bungee;font-size:.95rem;padding:.7rem 1.1rem;border-radius:999px;border:3px solid var(--ink);background:#fff;color:var(--ink);cursor:pointer;white-space:nowrap;box-shadow:3px 3px 0 var(--ink)}
.tabs button[aria-selected=true]{background:var(--mus)}
.panel{max-width:1240px;margin:auto;columns:340px 3;column-gap:1.4rem}
.card{break-inside:avoid;background:var(--cream);color:var(--ink);border-radius:12px;padding:1.2rem 1.2rem .6rem;margin:0 0 1.4rem;border:3px solid var(--ink);box-shadow:6px 6px 0 var(--ink)}
.card h4{font-family:Shrikhand;font-weight:400;color:var(--red);font-size:1.45rem;margin:0 0 .3rem;line-height:1.1}
.note{font-size:.82rem;margin:0 0 .6rem;color:#5b4c42}
.card ul{list-style:none;padding:0;margin:0}
.card li{display:flex;gap:.8rem;justify-content:space-between;padding:.5rem 0;border-top:2px dotted #d9c6a8}
.it b{display:block;font-weight:700}.it span{font-size:.85rem;color:#5b4c42}
.card li i{font-style:normal;font-family:Bungee;color:var(--red);white-space:nowrap;font-size:.9rem}
.fine{max-width:1240px;margin:1rem auto 0;font-size:.8rem;opacity:.85}
.specials{max-width:1000px;margin:auto;padding:4rem 1.2rem;text-align:center}.sub{margin:0 0 1.2rem}
.days{display:inline-flex;gap:.4rem;background:var(--ink);padding:.4rem;border-radius:999px;margin-bottom:1.2rem}
.days button{font-family:Bungee;border:0;background:transparent;color:#fff;padding:.55rem .9rem;border-radius:999px;cursor:pointer;font-size:.9rem}
.days button[aria-selected=true]{background:var(--red)}
.board>div{display:none;background:#23302d;color:#f3f0e6;border:12px solid #8a5a33;border-radius:10px;padding:1.6rem;text-align:left;box-shadow:inset 0 0 40px rgba(0,0,0,.5),8px 8px 0 var(--ink)}
.board>div.on{display:block}
.board h3{font-family:Shrikhand;font-weight:400;color:var(--mus);font-size:2rem;margin:0 0 .6rem}
.board ul{list-style:none;padding:0;margin:0}.board li{padding:.6rem 0;border-bottom:1px dashed rgba(255,255,255,.25);font-size:1.05rem}
.board li b{color:var(--mint);margin-right:.3rem}.board li i{float:right;font-style:normal;font-family:Bungee;color:var(--mus);margin-left:.6rem}
.story{display:grid;gap:2rem;max-width:1240px;margin:auto;padding:2rem 1.2rem 4rem;align-items:center}
.story-pic{position:relative}.story-pic img{border:6px solid #fff;box-shadow:10px 10px 0 var(--red);border-radius:8px;transform:rotate(-1.5deg);aspect-ratio:4/3;object-fit:cover;width:100%}
.tag{position:absolute;bottom:-14px;right:10px;background:var(--ink);color:var(--mus);font-family:Bungee;font-size:.8rem;padding:.4rem .8rem;border-radius:6px}
.kicker{font-family:Bungee;color:var(--teal);margin:0 0 .3rem}
.story-txt p{font-size:1.08rem}.hint{font-size:.85rem!important;color:#6b5b4e}
.reviews{background:var(--ink);color:#fff;padding:4rem 1.2rem}
.reviews>*{max-width:1240px;margin-left:auto;margin-right:auto}
.scores{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:2rem}.scores span{border:2px solid var(--mus);border-radius:999px;padding:.35rem .8rem;font-size:.9rem}.scores b{font-family:Bungee;color:var(--mus)}
.tickets{display:grid;gap:1.4rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.ticket{margin:0;background:#fffdf6;color:var(--ink);padding:1.1rem 1.1rem 1.4rem;font-family:"Courier New",monospace;position:relative;
 -webkit-mask:radial-gradient(circle 7px at 50% 100%,#0000 98%,#000) 0 0/18px 100% repeat-x;mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 50%/16px 100%}
.ticket:nth-child(odd){transform:rotate(-1deg)}.ticket:nth-child(even){transform:rotate(1.2deg)}
.tk-h{display:flex;justify-content:space-between;border-bottom:2px dashed #999;padding-bottom:.4rem;margin-bottom:.6rem;font-weight:700;text-transform:uppercase;font-size:.8rem}.tk-h span:last-child{color:var(--red)}
.ticket blockquote{margin:0 0 .8rem;font-size:1rem;line-height:1.45}
.ticket figcaption{font-size:.75rem;color:#555;padding-bottom:.6rem}
.gallery{max-width:1240px;margin:auto;padding:4rem 1.2rem}
.gal{display:grid;grid-auto-flow:dense;grid-template-columns:repeat(2,1fr);grid-auto-rows:160px;gap:.7rem}
.gal img{width:100%;height:100%;object-fit:cover;border-radius:10px;border:3px solid var(--ink)}
.gal .w{grid-column:span 2}.gal .t{grid-row:span 2}
.credit{font-size:.8rem;color:#6b5b4e}
.visit{display:grid;gap:0;background:var(--mus);border-top:6px solid transparent;border-image:var(--chk) 6}
.visit-card{padding:3rem 1.2rem}.visit dl{margin:0 0 1.6rem;display:grid;grid-template-columns:auto 1fr;gap:.6rem 1.2rem}
.visit dt{font-family:Bungee;font-size:.8rem;color:var(--red2);padding-top:.15rem}.visit dd{margin:0;font-weight:500}
.map iframe{width:100%;height:100%;min-height:340px;border:0;display:block;background:#e9e4d8}
.foot{background:var(--red);color:#fff;text-align:center;padding:2.4rem 1.2rem 1.6rem}
.fb{font-family:Shrikhand;font-size:2rem;margin:0}.fb span{font-family:Bungee;font-size:1rem;color:var(--mus)}
.foot p{margin:.3rem 0}.made{font-size:.85rem;opacity:.9;margin-top:1rem!important}
.stickycall{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:40;display:flex;align-items:center;justify-content:center;gap:.6rem;background:var(--red);color:#fff;font-family:Bungee;text-decoration:none;padding:.95rem;border-radius:14px;border:3px solid var(--ink);box-shadow:5px 5px 0 var(--ink)}
.stickycall small{font-family:Rubik;font-weight:700;background:var(--mus);color:var(--ink);border-radius:999px;padding:.1rem .5rem;font-size:.7rem}
@media (min-width:860px){
 body{padding-bottom:0}.stickycall{display:none}
 .top{padding:.7rem 2rem}.top nav{display:flex}
 .hero{grid-template-columns:1.05fr 1fr;align-items:center;padding:4rem 2rem 5rem}.hero-pics{min-height:520px}
 .sticker{width:140px;height:140px;font-size:.95rem}
 .story{grid-template-columns:1fr 1fr;padding:3rem 2rem 5rem}
 .gal{grid-template-columns:repeat(4,1fr);grid-auto-rows:210px}
 .visit{grid-template-columns:1fr 1.3fr}.visit-card{padding:4rem 3rem}
}
.card summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:.5rem}
.card summary::-webkit-details-marker{display:none}
.card summary::after{content:"+";font-family:Bungee;font-size:1.4rem;color:var(--teal)}
.card[open] summary::after{content:"–"}
.card:not([open]){padding-bottom:1rem}
.stats{gap:1.1rem}.stats li{min-width:84px}
@media (min-width:860px){.card summary{pointer-events:none}.card summary::after{display:none}}

/* real logo in header */
.brand-logo{display:block;height:48px;width:auto;border-radius:8px;border:2px solid #fff;box-shadow:3px 3px 0 var(--red2)}
@media (min-width:860px){.brand-logo{height:60px}}
