:root { --c-bg: #fffdf8; --c-surface: #f5ece0; --c-text: #1c1917; --c-muted: #6b5d52; --c-primary: #b8460e; --c-accent: #946207; --c-on-primary: #ffffff; --c-on-accent: #ffffff; --font-heading: 'Playfair Display', Georgia, serif; --font-body: 'Inter', system-ui, sans-serif; --fs-sm: 0.8333rem; --fs-base: 1rem; --fs-lg: 1.2rem; --fs-xl: 1.44rem; --fs-2xl: 1.728rem; --fs-3xl: 2.0736rem; --radius: 0.5rem; --space: 1rem; }
.sb-site { background: var(--c-bg); color: var(--c-text); font-family: var(--font-body); font-size: var(--fs-base); line-height: 1.6; }
.sb-site *, .sb-site *::before, .sb-site *::after { box-sizing: border-box; }
.sb-site h1, .sb-site h2, .sb-site h3, .sb-site h4, .sb-site h5, .sb-site h6, .sb-site p, .sb-site ul, .sb-site figure { margin: 0; }
.sb-site ul { list-style: none; padding: 0; }
.sb-site img { display: block; max-width: 100%; }
.sb-site a { color: inherit; text-decoration: none; }
.sb-nav--split {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space);
  padding: var(--space) calc(var(--space) * 1.25);
  background: var(--c-bg);
  border-bottom: 1px solid var(--c-surface);
}
.sb-nav--split.sb-nav--sticky { position: sticky; top: 0; z-index: 50; }
.sb-nav__right { display: flex; align-items: center; gap: calc(var(--space) * 1); }
.sb-nav--split .sb-nav__links { display: none; gap: calc(var(--space) * 1); }
.sb-nav__cta {
  font-family: var(--font-body); font-size: var(--fs-base); font-weight: 600;
  padding: 0.5rem 1rem; border-radius: var(--radius);
  background: var(--c-primary); color: var(--c-on-primary); text-decoration: none;
}
@media (min-width: 640px) {
  .sb-nav--split .sb-nav__links { display: flex; }
}
.sb-footer--columns { background: var(--c-surface); color: var(--c-text); padding: calc(var(--space) * 2.5) calc(var(--space) * 1.25) calc(var(--space) * 1.5); }
.sb-footer__top { display: grid; grid-template-columns: 1fr; gap: calc(var(--space) * 1.5); max-width: 64rem; margin: 0 auto; }
.sb-footer__name { font-family: var(--font-heading); font-size: var(--fs-lg); font-weight: 700; }
.sb-footer__tagline { font-family: var(--font-body); font-size: var(--fs-sm); color: var(--c-muted); margin-top: 0.5rem; max-width: 22rem; }
.sb-footer__cols { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space); }
.sb-footer__col-title { font-family: var(--font-heading); font-size: var(--fs-base); font-weight: 600; margin-bottom: 0.5rem; }
.sb-footer__col-links { display: flex; flex-direction: column; gap: 0.375rem; }
.sb-footer__link { font-family: var(--font-body); font-size: var(--fs-sm); color: var(--c-muted); text-decoration: none; }
.sb-footer__link:hover { color: var(--c-primary); }
.sb-footer__copyright { font-family: var(--font-body); font-size: var(--fs-sm); color: var(--c-muted); text-align: center; margin-top: calc(var(--space) * 1.5); padding-top: var(--space); border-top: 1px solid color-mix(in srgb, var(--c-muted) 30%, transparent); }
@media (min-width: 768px) {
  .sb-footer__top { grid-template-columns: 2fr 3fr; }
  .sb-footer__cols { grid-template-columns: repeat(3, 1fr); }
}
.sb-hero--split {
  display: grid;
  grid-template-columns: 1fr;
  gap: calc(var(--space) * 1.5);
  align-items: center;
  padding: calc(var(--space) * 2.5) calc(var(--space) * 1.25);
  background: var(--c-bg);
}
.sb-hero__heading { font-family: var(--font-heading); font-size: var(--fs-3xl); font-weight: 800; color: var(--c-text); line-height: 1.1; }
.sb-hero__sub { font-family: var(--font-body); font-size: var(--fs-lg); color: var(--c-muted); margin-top: calc(var(--space) * 0.75); }
.sb-hero__buttons { display: flex; flex-wrap: wrap; gap: calc(var(--space) * 0.75); margin-top: calc(var(--space) * 1.25); }
.sb-btn { font-family: var(--font-body); font-size: var(--fs-base); font-weight: 600; padding: 0.6rem 1.25rem; border-radius: var(--radius); text-decoration: none; }
.sb-btn--primary { background: var(--c-primary); color: var(--c-on-primary); }
.sb-btn--secondary { background: var(--c-surface); color: var(--c-text); }
.sb-hero__media { overflow: hidden; border-radius: var(--radius); }
.sb-hero__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sb-hero__media--overlay { position: relative; }
.sb-hero__media--overlay::after { content: ""; position: absolute; inset: 0; background: color-mix(in srgb, var(--c-text) 25%, transparent); }
@media (min-width: 768px) {
  .sb-hero--split { grid-template-columns: 1fr 1fr; padding: calc(var(--space) * 4) calc(var(--space) * 2); }
  .sb-hero--media-left .sb-hero__copy { order: 2; }
  .sb-hero--media-left .sb-hero__media { order: 1; }
}
.sb-menu { padding: calc(var(--space) * 2.5) calc(var(--space) * 1.25); background: var(--c-bg); }
.sb-menu__heading { font-family: var(--font-heading); font-size: var(--fs-2xl); font-weight: 700; color: var(--c-text); margin-bottom: calc(var(--space) * 1.25); text-align: center; }
.sb-menu__grid { display: grid; grid-template-columns: 1fr; gap: var(--space); max-width: 64rem; margin: 0 auto; }
.sb-menu__card { display: flex; gap: var(--space); padding: var(--space); background: var(--c-surface); border-radius: var(--radius); overflow: hidden; }
.sb-menu__img { width: 5rem; height: 5rem; object-fit: cover; border-radius: var(--radius); flex-shrink: 0; }
.sb-menu__body { flex: 1; min-width: 0; }
.sb-menu__row { display: flex; align-items: baseline; justify-content: space-between; gap: 0.5rem; }
.sb-menu__name { font-family: var(--font-heading); font-size: var(--fs-lg); font-weight: 600; color: var(--c-text); }
.sb-menu__price { font-family: var(--font-body); font-size: var(--fs-base); font-weight: 700; color: var(--c-primary); white-space: nowrap; }
.sb-menu__desc { font-family: var(--font-body); font-size: var(--fs-sm); color: var(--c-muted); margin-top: 0.25rem; }
.sb-menu__spec { display: flex; flex-wrap: wrap; gap: 0.375rem; margin-top: 0.5rem; }
.sb-menu__spec-item { display: inline-flex; gap: 0.25rem; font-size: var(--fs-sm); padding: 0.125rem 0.5rem; border-radius: var(--radius); background: var(--c-bg); }
.sb-menu__spec-k { color: var(--c-muted); }
.sb-menu__spec-v { color: var(--c-text); font-weight: 600; }
@media (min-width: 640px) {
  .sb-menu__grid--cols-2 { grid-template-columns: 1fr 1fr; }
}