:root {
  --bg: #f7efe4;
  --ink: #1e1714;
  --brand: #b3221a;
  --brand-dark: #8f1b15;
  --line: #e9d5c0;
  --nav-offset: 92px;
}

html {
  scroll-padding-top: var(--nav-offset);
}

body {
  font-family: "Nunito Sans", sans-serif;
  color: var(--ink);
  background:
    radial-gradient(circle at 8% -5%, #ffe3c8 0, transparent 34%),
    radial-gradient(circle at 94% 0%, #f2d3cf 0, transparent 28%),
    var(--bg);
}

h1, h2, h3, .brand {
  font-family: "Bree Serif", serif;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
}

.brand-logo {
  width: 42px;
  height: 42px;
  object-fit: contain;
  flex: 0 0 auto;
}

.social-icon {
  width: 18px;
  height: 18px;
  object-fit: contain;
  vertical-align: middle;
}

.social-link {
  display: inline-flex;
  align-items: center;
}

.social-inline {
  display: inline-flex;
  align-items: center;
}

.social-icon-nav {
  width: 14px;
  height: 14px;
}

.social-icon-inline {
  width: 16px;
  height: 16px;
}

#hours-table {
  --bs-table-bg: transparent;
  --bs-table-border-color: transparent;
}

#hours-table > :not(caption) > * > * {
  border-bottom: 0;
  background: transparent;
  padding-left: 0;
  padding-right: 0;
}

.letter {
  letter-spacing: 0.08em;
}

.nav-shell {
  background: rgba(38, 22, 18, 0.93);
  border-color: rgba(255, 255, 255, 0.14) !important;
}

.hero-card {
  background: linear-gradient(155deg, #fff8ef 0%, #fff5ea 60%, #fcecdc 100%);
}

.hero-photo {
  width: 100%;
  max-height: 360px;
  object-fit: cover;
}

.surface-card {
  background: #fff7ea;
  border: 1px solid var(--line) !important;
}

.text-brand-dark {
  color: var(--brand-dark) !important;
}

.btn-brand {
  background: linear-gradient(135deg, var(--brand), #c22f25);
  border: 1px solid #98231d;
  color: #fff;
}

.btn-brand:hover,
.btn-brand:focus {
  background: linear-gradient(135deg, #9b1f18, #af261f);
  color: #fff;
}

.link-brand {
  color: var(--brand-dark);
  text-decoration: none;
}

.link-brand:hover {
  text-decoration: underline;
}

.footer-shell {
  background: #2c1f18;
  color: #e9d8ca;
  border-color: rgba(255, 255, 255, 0.12) !important;
}

.footer-shell a {
  color: #ffd69f;
  text-decoration: none;
  font-weight: 700;
}

section[id] {
  scroll-margin-top: var(--nav-offset);
}

.menu-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.menu-list li {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  padding: 0.45rem 0;
  border-bottom: 1px solid rgba(30, 23, 20, 0.12);
}

.menu-list li:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.menu-list li span {
  color: #3b312c;
}

.menu-table {
  --bs-table-bg: transparent;
  --bs-table-border-color: rgba(30, 23, 20, 0.12);
}

.menu-table th {
  font-weight: 800;
  color: #2d211c;
}
