:root{
  --bg:#0b0b10;
  --card:#12121a;
  --muted:#a5a7b3;
  --text:#f5f7fb;
  --accent:#ff3d55;
  --accent-2:#ff9a3d;
  --ring:rgba(255,61,85,.35);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background: radial-gradient(1200px 600px at 80% -10%, rgba(255,61,85,.15), transparent 60%),
              radial-gradient(900px 500px at 0% 0%, rgba(255,154,61,.13), transparent 60%),
              var(--bg);
  color:var(--text);
  font-family:Inter,system-ui,Arial,Helvetica,sans-serif;
  line-height:1.6;
}

.bg-glow{
  position:fixed; inset:0; pointer-events:none; z-index:-1;
  background:
    radial-gradient(600px 300px at 10% 10%, rgba(255,61,85,.08), transparent 60%),
    radial-gradient(600px 300px at 90% 0%, rgba(255,154,61,.08), transparent 60%);
  filter:blur(10px);
}

.container{width:min(1100px,92%); margin:0 auto}

.site-header{
  position:sticky; top:0; z-index:50;
  backdrop-filter: saturate(1.2) blur(10px);
  background: linear-gradient(180deg, rgba(11,11,16,.85), rgba(11,11,16,.55));
  border-bottom:1px solid rgba(255,255,255,.06);
}

.site-header .brand,
.site-header .nav,
.site-header .meta{
  display:flex; align-items:center; gap:.75rem;
}

.site-header .brand{ padding:14px 0; width:min(1100px,92%); margin:0 auto; justify-content:space-between; flex-wrap:wrap }

.brand .logo{
  width:44px;height:44px; border-radius:12px;
  background: linear-gradient(135deg, var(--accent), var(--accent-2));
  display:grid; place-items:center; font-weight:800; font-size:22px; color:#0b0b10;
  box-shadow:0 6px 30px rgba(255,61,85,.25);
}
.brand-text h1{margin:0; font-size:1.4rem; letter-spacing:.3px}
.brand-text .sub{margin:2px 0 0; color:var(--muted); font-size:.9rem}

.nav{
  width:min(1100px,92%); margin:-8px auto 8px; gap:.5rem; flex-wrap:wrap;
}
.nav a{
  text-decoration:none; color:var(--text); font-weight:600; font-size:.9rem;
  padding:.55rem .8rem; border:1px solid rgba(255,255,255,.08);
  border-radius:999px; background:rgba(255,255,255,.03);
}
.nav a:hover{border-color:rgba(255,255,255,.18)}

.meta{
  width:min(1100px,92%); margin:8px auto 14px; gap:.5rem; flex-wrap:wrap;
}
.pill{
  display:inline-flex; align-items:center; gap:.45rem; padding:.5rem .8rem;
  border-radius:999px; border:1px solid rgba(255,255,255,.08); color:var(--muted); background:rgba(255,255,255,.02);
  font-size:.85rem;
}
.pill.open{color:#35e07b; border-color:rgba(53,224,123,.35)}
.pill.wifi::before{content:"📶"}
.pill.primary{background:linear-gradient(135deg,var(--accent),var(--accent-2)); color:#0b0b10; font-weight:800; border:none}

.hero{
  display:grid; grid-template-columns:1.2fr .8fr; gap:28px; align-items:center;
  padding:32px 0 10px; margin-top:6px;
}
.hero-text h2{margin:.2rem 0 .4rem; font-size:2.2rem}
.hero-text p{color:var(--muted); margin:0 0 1rem}
.cta{
  display:inline-block; padding:.75rem 1rem; border-radius:12px;
  background:linear-gradient(135deg,var(--accent),var(--accent-2)); color:#0b0b10; font-weight:800; text-decoration:none;
  box-shadow:0 10px 30px var(--ring);
}
.cta.ghost{
  background:transparent; color:var(--text); border:1px solid rgba(255,255,255,.12);
  box-shadow:none;
}

.qr-card{
  justify-self:end; background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08); border-radius:16px; padding:16px; text-align:center;
}
.qr{
  width:160px; height:160px; margin:6px auto 10px; background:
  conic-gradient(from 90deg at 10% 10%, #fff 25%, transparent 0) 0 0/24px 24px,
  conic-gradient(from 180deg at 20% 30%, #fff 25%, transparent 0) 0 0/24px 24px,
  conic-gradient(from 180deg at 60% 70%, #fff 25%, transparent 0) 0 0/24px 24px,
  conic-gradient(from 0deg at 80% 20%, #fff 25%, transparent 0) 0 0/24px 24px,
  #0b0b10;
  border-radius:8px;
}
.qr-caption{color:var(--muted); font-size:.9rem}

.sticky-bar{
  position:sticky; bottom:0; display:none; gap:10px; padding:10px; z-index:40;
  background:linear-gradient(180deg, transparent, rgba(11,11,16,.9));
}
.btn{
  flex:1; text-align:center; padding:.9rem 1rem; border-radius:12px;
  border:1px solid rgba(255,255,255,.1); text-decoration:none; color:var(--text); font-weight:700;
}
.btn.primary{background:linear-gradient(135deg,var(--accent),var(--accent-2)); color:#0b0b10; border:none}

.menu-section{padding:28px 0}
.menu-section h3{margin:0 0 12px; font
