:root{
  --char:#24130c; --char2:#3a1d10; --fire:#d62f1e; --fire-d:#b3200f; --aji:#ffb81c;
  --kraft:#ecd3a8; --plate:#f7efe2; --ink:#24130c;
  --display:"Alfa Slab One",Georgia,serif; --body:"Work Sans",system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--kraft);color:var(--ink);font:400 1.05rem/1.6 var(--body);overflow-x:hidden}
a{color:inherit}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.05;margin:0 0 .45em}
p{margin:0 0 1em}
.wrap{width:min(1180px,100% - 32px);margin-inline:auto}
.skip{position:absolute;left:-999px;top:8px;background:var(--aji);padding:8px 12px;z-index:60}
.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--aji);outline-offset:3px}

.top{background:var(--char);color:var(--plate);position:sticky;top:0;z-index:30}
.top-in{display:flex;align-items:center;gap:24px;min-height:70px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:400 1.35rem/1 var(--display);color:var(--aji)}
.brand small{display:block;font:500 .78rem var(--body);color:var(--plate);margin-top:3px}
.top nav{margin-left:auto}
.nav{display:flex;gap:26px;list-style:none;margin:0;padding:0;font-weight:500}
.nav a{text-decoration:none}
.nav a:hover{color:var(--aji)}

.btn{display:inline-block;text-decoration:none;font-weight:700;padding:15px 24px;border-radius:12px;border:3px solid transparent;transition:transform .15s}
.btn:hover{transform:translateY(-2px)}
.btn-fire{background:var(--fire);color:#fff;box-shadow:0 5px 0 var(--fire-d)}
.btn-line{border-color:var(--plate);color:var(--plate)}
.btn-sm{padding:10px 16px}

.hero{background:radial-gradient(circle at 75% 55%,#5a2a12 0,var(--char) 60%);color:var(--plate);padding:64px 0 72px;overflow:hidden}
.hero-in{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center}
.since{display:inline-block;background:var(--aji);color:var(--char);font-weight:700;padding:5px 12px;border-radius:6px;transform:rotate(-2deg)}
.hero h1{font-size:clamp(2.6rem,6.4vw,5.4rem);color:#fff}
.lead{font-size:1.15rem;max-width:32em;color:#f1dcc0}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px}
.hero-art{position:relative}
.hero-art svg{display:block;width:100%;max-width:460px;margin-inline:auto;animation:spin-in 1.1s cubic-bezier(.2,.8,.2,1) both}
@keyframes spin-in{from{transform:rotate(-40deg) scale(.85);opacity:0}}
.price-tag{position:absolute;right:0;bottom:4%;background:var(--fire);color:#fff;font:400 2rem/1 var(--display);padding:14px 18px;border-radius:14px;transform:rotate(-4deg);box-shadow:0 6px 0 var(--fire-d);margin:0;max-width:220px}
.price-tag span{display:block;font:500 .85rem/1.3 var(--body);margin-bottom:6px}

.ticker{background:var(--aji);overflow:hidden;white-space:nowrap;border-block:3px solid var(--char)}
.ticker p{display:inline-block;margin:0;padding:12px 0;font:400 1.15rem var(--display);animation:marquee 30s linear infinite}
@keyframes marquee{to{transform:translateX(-50%)}}

.section{padding:84px 0}
.menu{background:var(--char2);color:var(--plate)}
.board-title{font-size:clamp(2.6rem,7vw,5rem);color:var(--aji);text-align:center;margin-bottom:.1em}
.board-sub{text-align:center;color:#e6cfae;margin-bottom:40px}
.board{display:grid;grid-template-columns:1fr 1fr;gap:28px 64px;background:#2b150b;border:3px solid #6b3a1c;border-radius:18px;padding:40px 44px}
.board h3{font-size:1.5rem;color:#fff;margin-top:8px}
.items{list-style:none;padding:0;margin:0 0 28px}
.items li{display:flex;align-items:baseline;gap:8px;padding:8px 0}
.it{font-weight:500}
.dots{flex:1;border-bottom:2px dotted #8a5a36;min-width:20px;transform:translateY(-4px)}
.pr{font:400 1.15rem var(--display);color:var(--aji);white-space:nowrap}

.deliv-in{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:start}
.deliv h2,.local h2,.reviews h2{font-size:clamp(2.2rem,5vw,3.6rem)}
.zones{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:10px}
.zones li{display:flex;gap:14px;align-items:center;background:var(--plate);border-radius:12px;padding:12px 16px;font-weight:500}
.zones strong{font:400 1.2rem var(--display);color:var(--fire);min-width:52px}
.hours{background:var(--fire);color:#fff;border-radius:20px;padding:30px;box-shadow:8px 8px 0 var(--char)}
.hours h3{font-size:1.8rem}
.hours dl{margin:0}
.hours div{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 16px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.3)}
.hours dt{font-weight:500}
.hours dd{margin:0;font-weight:700}
.tip{margin:18px 0 0;font-size:.95rem;color:#ffe3c4}

.reviews{background:var(--plate)}
.note{font-style:italic;color:#6b4a36}
.rev-in{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:28px}
.rev{margin:0;background:#fff;border:3px solid var(--char);border-radius:18px;padding:24px;transform:rotate(-1deg)}
.rev-b{transform:rotate(1deg);background:#fff4d6}
.rev-c{transform:rotate(-.5deg)}
.stars{color:var(--fire);font-size:1.3rem;letter-spacing:2px;margin-bottom:8px}
.rev blockquote{margin:0 0 12px;font-size:1.1rem;font-weight:500}
.rev figcaption{font-weight:700}

.local-in{display:grid;grid-template-columns:1.2fr 1fr;gap:44px;align-items:center}
.map{position:relative;border-radius:20px;overflow:hidden;border:3px solid var(--char)}
.map svg{display:block;width:100%;height:auto}
.map-note{position:absolute;left:12px;bottom:12px;margin:0;background:var(--char);color:var(--plate);font-size:.88rem;padding:6px 10px;border-radius:8px}
.addr{font-weight:700;font-size:1.15rem}
.addr span{font-weight:400;font-size:.9rem;color:#6b4a36}

.foot{background:var(--char);color:#e6cfae;padding:26px 0 26px;font-size:.93rem}
.foot-in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 24px}
.foot p{margin:0}
.foot a{color:var(--aji)}
.fab{display:none}

@media (max-width:900px){
  .hero-in,.deliv-in,.local-in{grid-template-columns:1fr}
  .board{grid-template-columns:1fr;padding:28px 22px}
  .rev-in{grid-template-columns:1fr}
  .hero-art{max-width:420px;margin-inline:auto;width:100%}
}
@media (max-width:640px){
  .nav,.top .btn-sm{display:none}
  .hero{padding:40px 0 56px}
  .section{padding:60px 0}
  .price-tag{font-size:1.6rem;max-width:180px}
  .dots{min-width:10px}
  .fab{display:block;position:fixed;left:16px;right:16px;bottom:14px;z-index:40;text-align:center;background:var(--fire);color:#fff;font-weight:700;text-decoration:none;padding:15px;border-radius:14px;box-shadow:0 6px 18px rgba(36,19,12,.4)}
  .foot{padding-bottom:90px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
