:root{--chili:#c8261d;--chili-2:#a51c15;--ink:#1d1414;--ink-2:#5b4a46;--egg:#ffc53d;--rice:#fffaf2;--bowl:#f6ece0;--scallion:#5f8a1f}
*{box-sizing:border-box}
body{margin:0;background:var(--rice);color:var(--ink);font:400 1.0625rem/1.6 Rubik,system-ui,sans-serif;overflow-x:clip}
h1,h2,h3{font-family:"Dela Gothic One",Impact,sans-serif;font-weight:400;line-height:1.05;margin:0}
h2{font-size:clamp(1.9rem,4vw,2.8rem)}
p{margin:0}
a{color:inherit}
:focus-visible{outline:3px solid var(--egg);outline-offset:3px;border-radius:6px}

.bar{display:flex;align-items:center;gap:24px;padding:14px clamp(16px,4vw,56px);background:var(--chili);color:var(--rice)}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font:400 1.45rem "Dela Gothic One",sans-serif}
.logo svg{width:42px;height:42px}
.bar-nav{display:flex;gap:20px;margin-left:auto;font-weight:600}
.bar-nav a{text-decoration:none}
.bar-nav a:hover{text-decoration:underline;text-underline-offset:4px}
.bar-call{font-weight:700;text-decoration:none;background:var(--ink);padding:9px 16px;border-radius:8px}
.bar-call:hover{background:var(--chili-2)}

.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:32px;align-items:center;padding:40px clamp(16px,4vw,56px) 80px;background:var(--chili);color:var(--rice)}
.hero-where{font-weight:600;color:#ffd9cf}
.hero h1{margin-top:12px;font-size:clamp(3rem,8vw,6.4rem);line-height:.95;letter-spacing:-.01em}
.hero h1 span{display:block}
.hero h1 span:last-child{font-size:.48em;margin-top:.25em;color:var(--egg)}
.lede{margin-top:24px;font-size:1.2rem;max-width:42ch;color:#ffeee8}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border-radius:10px;font:700 1.05rem Rubik,sans-serif;text-decoration:none;border:3px solid var(--ink);cursor:pointer}
.btn-egg{background:var(--egg);color:var(--ink);box-shadow:4px 4px 0 var(--ink)}
.btn-egg:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}
.btn-line{background:transparent;color:inherit;border-color:currentColor}
.btn-line:hover{background:var(--ink);border-color:var(--ink);color:var(--rice)}
.today{display:flex;align-items:center;gap:10px;margin-top:24px;font-weight:500}
.dot{width:10px;height:10px;border-radius:50%;background:var(--egg);flex:none}
.hero-bowl svg{width:100%;height:auto;display:block}
.steam path{animation:rise 3.2s ease-in-out infinite;transform-box:fill-box;transform-origin:bottom}
.steam .s2{animation-delay:.6s}.steam .s3{animation-delay:1.2s}
@keyframes rise{0%,100%{opacity:.25;transform:translateY(6px) scaleY(.92)}50%{opacity:1;transform:translateY(-6px) scaleY(1)}}

.menu{padding:80px clamp(16px,4vw,56px);max-width:1160px;margin:0 auto}
.menu-head p{margin-top:12px;color:var(--ink-2);max-width:62ch}
.key{white-space:nowrap}
.menu-cols{display:grid;grid-template-columns:1fr 1fr;gap:56px;margin-top:40px}
.menu-group h3{font-size:1.4rem;color:var(--chili);padding-bottom:10px;border-bottom:3px solid var(--ink)}
.drinks-h{margin-top:40px}
.menu-group ul{list-style:none;padding:0;margin:0}
.menu-group li{display:grid;grid-template-columns:1fr auto;column-gap:16px;padding:14px 0;border-bottom:1px dashed #d9c6b8}
.item{font-weight:700;font-size:1.1rem;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.price{font-weight:700;font-size:1.1rem;font-variant-numeric:tabular-nums}
.desc{grid-column:1/-1;color:var(--ink-2);font-size:.97rem}
.chili{width:18px;height:18px;fill:var(--chili);stroke:var(--scallion);stroke-width:2;stroke-linecap:round;vertical-align:-3px}
.veg{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--scallion);color:#fff;font-size:.7rem;font-weight:700;line-height:1}

.order{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;margin:0 clamp(16px,4vw,56px);padding:44px;background:var(--egg);border:3px solid var(--ink);border-radius:18px}
.order p{margin-top:12px;max-width:44ch}
.order-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.order .btn-egg{background:var(--chili);color:var(--rice)}
.order .demo-note{flex-basis:100%;margin-top:4px;background:var(--ink);color:var(--rice);border-radius:8px;padding:10px 14px;font-size:.95rem}

.visit{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;padding:80px clamp(16px,4vw,56px);max-width:1160px;margin:0 auto}
.hours table{margin-top:20px;border-collapse:collapse;width:100%;max-width:420px}
.hours th,.hours td{text-align:left;padding:12px 0;border-bottom:1px solid #e3d3c6}
.hours th{font-weight:600}
.hours td{text-align:right;font-variant-numeric:tabular-nums}
.note{margin-top:18px;color:var(--ink-2);max-width:40ch}
.addr{margin-top:14px;font-weight:500}
.map{display:block;width:100%;height:auto;margin-top:20px;border:3px solid var(--ink);border-radius:20px}

.reviews{padding:72px clamp(16px,4vw,56px) 80px;background:var(--ink);color:var(--rice)}
.sample-tag{display:inline-block;margin-top:12px;padding:4px 12px;border-radius:6px;background:#3a2a28;color:#f0d8cf;font-size:.9rem;font-weight:500}
.rev{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:32px}
.rev figure{margin:0;padding-top:18px;border-top:3px solid var(--chili)}
.stars{color:var(--egg);letter-spacing:2px}
.rev blockquote{margin:10px 0 0;font-size:1.12rem;line-height:1.5}
.rev figcaption{margin-top:12px;color:#c9b4ac;font-size:.95rem}

.foot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:32px clamp(16px,4vw,56px) 40px;color:var(--ink-2);font-size:.95rem}
.foot strong{color:var(--ink)}

.callbar{display:none}
@media (max-width:880px){
  .hero{grid-template-columns:1fr;padding-top:24px}
  .hero-bowl{max-width:380px;width:100%;margin:0 auto}
  .menu-cols,.order,.visit{grid-template-columns:1fr}
  .menu-cols{gap:40px}
  .visit{gap:40px}
  .rev{grid-template-columns:1fr}
  .bar-nav{display:none}
  .bar-call{margin-left:auto}
}
@media (max-width:640px){
  .bar-call{display:none}
  .hero{padding-bottom:56px}
  .hero-bowl{max-width:280px}
  .menu,.visit{padding-top:56px;padding-bottom:56px}
  .order{padding:28px 20px}
  .callbar{display:flex;align-items:center;justify-content:center;position:fixed;right:16px;bottom:16px;left:16px;min-height:58px;border-radius:12px;background:var(--egg);color:var(--ink);border:3px solid var(--ink);font-weight:700;font-size:1.15rem;text-decoration:none;box-shadow:4px 4px 0 var(--ink);z-index:40}
  .foot{padding-bottom:110px}
}
@media (prefers-reduced-motion:reduce){
  .steam path{animation:none}
  .btn-egg:hover{transform:none}
}
