:root{--ink:#1a130d;--butter:#f7cb46;--cream:#fff7e1;--chili:#c8301c;--chili-d:#a52414;--muted:#5d5144}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{font-family:'Work Sans',system-ui,sans-serif;color:var(--ink);background:var(--cream);font-size:1.05rem}
h1,h2,h3,.display{font-family:'Alfa Slab One',serif;font-weight:400;letter-spacing:.01em}
.eyebrow{font-family:'DM Mono',monospace;text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;font-weight:500}
a{color:inherit}
/* utility bar + nav */
.topbar{background:var(--ink);color:var(--cream);font-size:.88rem;padding:.4rem 0}
.topbar a{text-decoration:none;font-weight:600;color:var(--butter)}
.navbar.main-nav{background:var(--cream);border-bottom:3px solid var(--ink);padding:.5rem 0}
.brand{font-family:'Alfa Slab One',serif;font-size:1.7rem;text-decoration:none;color:var(--ink);line-height:1}
.brand small{font-family:'Noto Serif SC','Songti SC',serif;font-size:1rem;color:var(--chili);margin-left:.5rem;font-weight:700}
.main-nav .nav-link{color:var(--ink);font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:.85rem}
.main-nav .nav-link:hover{color:var(--chili)}
.navbar-toggler{border:2px solid var(--ink);border-radius:0}
.btn-chili{background:var(--chili);color:#fff;border:3px solid var(--ink);border-radius:0;font-weight:700;text-transform:uppercase;letter-spacing:.06em;box-shadow:4px 4px 0 var(--ink);padding:.7rem 1.4rem;transition:.15s}
.btn-chili:hover{background:var(--chili-d);color:#fff;transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}
.btn-ink{background:var(--cream);color:var(--ink);border:3px solid var(--ink);border-radius:0;font-weight:700;text-transform:uppercase;letter-spacing:.06em;box-shadow:4px 4px 0 var(--ink);padding:.7rem 1.4rem}
.btn-ink:hover{background:var(--ink);color:var(--cream)}
/* hero */
.hero{background:var(--butter);border-bottom:3px solid var(--ink);padding:4rem 0 4.5rem;position:relative;overflow:hidden}
.hero h1{font-size:clamp(3.2rem,9vw,7rem);line-height:.92;margin:.6rem 0 1.2rem}
.hero h1 span{color:var(--chili);display:block}
.hero p.lead{max-width:30rem;font-size:1.2rem;font-weight:500}
.hero-hours{display:inline-block;background:var(--cream);border:3px solid var(--ink);padding:.6rem 1rem;margin-top:1.5rem;font-weight:600;font-size:.95rem}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;max-width:520px;margin-left:auto}
.hero-grid figure{margin:0;position:relative;border:3px solid var(--ink);box-shadow:6px 6px 0 var(--ink);background:#fff}
.hero-grid figure:nth-child(1){transform:rotate(-2deg)}
.hero-grid figure:nth-child(2){transform:rotate(1.5deg) translateY(1.5rem)}
.hero-grid figure:nth-child(3){transform:rotate(1.5deg)}
.hero-grid figure:nth-child(4){transform:rotate(-1.5deg) translateY(1.5rem)}
.hero-grid img{width:100%;aspect-ratio:1/1.1;object-fit:cover;display:block}
/* signature: dish tag */
.tag{position:absolute;left:-.5rem;bottom:.8rem;background:var(--butter);color:var(--ink);font-weight:700;font-size:.85rem;line-height:1.1;padding:.45rem .8rem .45rem 1.6rem;border:2px solid var(--ink);clip-path:polygon(14px 0,100% 0,100% 100%,14px 100%,0 50%);max-width:85%}
.tag::before{content:"";position:absolute;left:11px;top:50%;width:7px;height:7px;margin-top:-3.5px;border-radius:50%;background:var(--ink)}
.hero .tag{background:var(--cream)}
/* ticker */
.ticker{background:var(--ink);color:var(--butter);overflow:hidden;white-space:nowrap;padding:.8rem 0;border-bottom:3px solid var(--ink)}
.ticker-track{display:inline-flex;animation:tick 32s linear infinite}
.ticker span{font-family:'Alfa Slab One',serif;font-size:1.3rem;padding:0 1.5rem}
.ticker span.dot{color:var(--chili);padding:0}
@keyframes tick{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.ticker-track{animation:none}}
/* sections */
section{padding:5rem 0}
.sec-title{font-size:clamp(2.2rem,5vw,3.6rem);line-height:1}
.about-card{background:#fff;border:3px solid var(--ink);box-shadow:8px 8px 0 var(--ink);padding:2rem}
.facts{list-style:none;padding:0;margin:0}
.facts li{padding:.8rem 0;border-bottom:2px dashed var(--ink);display:flex;gap:1rem}
.facts li:last-child{border:0}
.facts b{font-family:'DM Mono',monospace;text-transform:uppercase;font-size:.78rem;letter-spacing:.1em;min-width:7rem;padding-top:.2rem;color:var(--chili)}
.order-band{background:var(--chili);color:#fff;border-top:3px solid var(--ink);border-bottom:3px solid var(--ink);padding:3.5rem 0;text-align:center}
.order-band h2{font-size:clamp(2rem,5vw,3.4rem)}
.order-band .btn{background:var(--butter);color:var(--ink);border:3px solid var(--ink);border-radius:0;box-shadow:5px 5px 0 var(--ink);font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.9rem 2rem}
.order-band .btn:hover{transform:translate(2px,2px);box-shadow:3px 3px 0 var(--ink)}
.gallery{columns:4 220px;column-gap:1.2rem}
.gallery figure{break-inside:avoid;position:relative;margin:0 0 1.2rem;border:3px solid var(--ink);box-shadow:5px 5px 0 var(--ink);background:#fff}
.gallery img{width:100%;height:auto;display:block}
.gallery figure:nth-child(odd) .tag{left:auto;right:-.5rem}
.gallery figure:nth-child(odd) .tag{clip-path:polygon(0 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,0 100%);padding:.45rem 1.6rem .45rem .8rem}
.gallery figure:nth-child(odd) .tag::before{left:auto;right:11px}
.visit{background:var(--butter);border-top:3px solid var(--ink)}
.map-frame{border:3px solid var(--ink);box-shadow:8px 8px 0 var(--ink);width:100%;height:100%;min-height:380px;display:block}
.hours-grid{font-weight:600}
.reviews img{max-width:200px}
footer.site-footer{background:var(--ink);color:var(--cream);padding:3rem 0 1.5rem}
footer .flogo{height:60px;width:auto}
footer a{color:var(--butter)}
.powered{border-top:1px solid #4a3d30;margin-top:2rem;padding-top:1rem;font-size:.9rem}
.powered a{font-family:'Alfa Slab One',serif;text-decoration:none;color:var(--butter)}
@media(max-width:991px){.hero{padding:2.5rem 0 3.5rem}.hero-grid{margin:2.5rem auto 0}section{padding:3.5rem 0}.facts li{flex-direction:column;gap:.1rem}}
@media(max-width:480px){.brand{font-size:1.35rem}.topbar .hide-sm{display:none}}
