
:root{
  --bs-body-bg: #0b0b0c;
  --bs-body-color: #f3f5f7;
  --muted: #b3b9c3;
  --line: #1f2125;
  --gold: #d1b06b;
}
body{ background-color:var(--bs-body-bg); color:var(--bs-body-color); }
a{ color:inherit; text-decoration:none; }
.topbar{ font-size:.9rem; color:var(--muted); border-bottom:1px solid var(--line); background:#0e0f10; }
.navbar{ backdrop-filter:saturate(140%) blur(8px); border-bottom:1px solid var(--line); }
.navbar .btn-outline-light{ border-color:#2b2f36; color:var(--bs-body-color); }
.btn-gold{ background:var(--gold); color:#141414; border-color:transparent; }
.btn-gold:hover{ filter:brightness(1.05); }
.hero{
  position: relative; min-height: 86vh; display:flex; align-items:center;
  background: url('../img/hero.jpg') center/cover no-repeat;
}
.hero::before{
  content:''; position:absolute; inset:0; background:rgba(0,0,0,.45);
}
.hero::after{
  content:''; position:absolute; inset:0;
  background: radial-gradient(1200px 600px at 65% 25%, rgba(209,176,107,.18), transparent);
}
.hero .content{ position:relative; z-index:1; }
.hero .eyebrow{ letter-spacing:.35em; color:var(--gold); text-transform:uppercase; font-size:.8rem; }
.hero .display-1{ font-family: 'Playfair Display', serif; font-weight:700; line-height:1.02; }
.hero .lead{ color:var(--muted); max-width: 56ch; }
.kv{ color:var(--muted); border-bottom:1px dashed #2b2f36; padding:.5rem 0; }
.kv:last-child{ border-bottom:0; }
.promo{
  position:relative; min-height:240px; border-radius:1rem; overflow:hidden; border:1px solid var(--line);
  background:#0f1012;
}
.promo .bg{ position:absolute; inset:0; background-size:cover; background-position:center; filter:brightness(.72); transform:scale(1.06); }
.promo::after{ content:''; position:absolute; inset:0; background: linear-gradient(180deg, rgba(0,0,0,.0), rgba(0,0,0,.55)); }
.promo .copy{ position:absolute; left:1rem; right:1rem; bottom:1rem; z-index:1; }
.section-intro{ border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.badge-outline{ border:1px solid #2b2f36; color:var(--muted); background:transparent; }
.menu-chips .nav-link{ color:var(--muted); border:1px solid #2b2f36; border-radius:999px; padding:.5rem .9rem; }
.menu-chips .nav-link.active{ background:var(--gold); color:#141414; border-color:transparent; }
.menu-card{ background:#121416; border:1px solid var(--line); border-radius: .9rem; }
.menu-item{ display:grid; grid-template-columns: 1fr auto; gap:.25rem .75rem; padding:.6rem 0; border-bottom:1px dashed #2b2f36; }
.menu-item:last-child{ border-bottom:0; }
.menu-item .price{ color:var(--gold); font-weight:700; }
.menu-item .desc{ grid-column: 1 / -1; color:var(--muted); }
.cta-banner{ background: linear-gradient(180deg, #121416, #0d0f11); border:1px solid var(--line); border-radius:1rem; }
footer{ border-top:1px solid var(--line); color:var(--muted); }
