:root {
  --ink: #3b1725;
  --green: #285344;
  --paper: #fff6e8;
  --muted: #6b4c51;
  --line: #e9ceba;
  --gold: #ffc66d;
}
body { background: var(--paper); }
.demo-bar { background: #f4dfcc; color: var(--ink); }
.header { height: 88px; }
.brand-mark, em { color: #a13634; }
.basket-button { background: #fffaf2; border-color: var(--line); }
.hero.container {
  background: #421528;
  color: #fff6e6;
  border: 0;
  border-radius: 24px;
  overflow: hidden;
  margin-block: 22px 30px;
  gap: 0;
}
.hero-copy {
  padding: clamp(24px, 4.7vw, 76px);
  background: radial-gradient(ellipse at bottom left, #773039, transparent 72%);
}
.hero h1 { color: inherit; font-size: clamp(52px, 7vw, 108px); }
.hero h1 em, .hero .eyebrow { color: #ffc66d; }
.hero-description, .hero-footnote { color: #fff0dc; }
.hero-description { font-size: 16px; }
.hero .text-link { color: #fff6e6; }
.hero .primary { color: #381725; background: #ffc66d; border-color: #ffc66d; }
.hero .primary:hover { background: #ffdb9c; }
.hero-visual { min-width: 0; min-height: 460px; }
.hero-visual figcaption { color: var(--ink); background: #fff6e8; }
.visual-stamp { background: #ffc66d; color: #381725; }
.ribbon { background: #a43e31; color: #fff5e4; }
.menu-card { border-radius: 18px; background: #fffaf2; box-shadow: 0 7px 22px #5b233411; }
.menu-card .card-top { background: #f7dfd7; }
.menu-card:has(.card-type):nth-child(2n) .card-top { background: #f9e7c2; }
.menu-card .card-type, .menu-card .dish-symbol { color: #832d39; }
.add-button, .filters button.active { background: #72253d; color: #fff7e8; }
.add-button:hover { background: #542132; }
.pause-section { background: #f6e3d0; }
.pause-art { background: radial-gradient(ellipse at top right, #59745b, #234738 65%); }
.info-panel { background: #f6e5d5; }
@media (max-width: 760px) {
  .header { height: 72px; }
  .hero.container { margin-block: 14px 22px; border-radius: 18px; }
  .hero h1 { font-size: clamp(55px, 13vw, 86px); }
  .hero-visual { min-height: 300px; }
}
@media (max-width: 480px) {
  .menu-grid { grid-template-columns: 1fr; }
  .menu-card { min-height: 0; }
  .menu-card p { font-size: 13px; }
}
.brand-flag {
  display: inline-block;
  vertical-align: middle;
  width: clamp(20px, 5vw, 27px);
  height: auto;
  margin-inline-start: .2em;
  border-radius: 3px;
  box-shadow: 0 0 0 1px #3b172526;
}
