:root {
  --bg: #0e0e0e;
  --panel: #181818;
  --line: rgba(255,255,255,.12);
  --text: #e5e2e1;
  --muted: #c4c9ac;
  --dim: #636565;
  --lime: #c3f400;
  --cyan: #00eefc;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { background: var(--bg); color: var(--text); font-family: Inter, sans-serif; }
.font-display { font-family: "Be Vietnam Pro", Syne, Inter, sans-serif; font-weight: 800; }
.font-mono { font-family: "JetBrains Mono", monospace; }
.site-header { border-bottom: 2px solid var(--lime); background: rgba(14,14,14,.82); backdrop-filter: blur(12px); }
.container-x { width: min(1190px, calc(100% - 48px)); margin-inline: auto; }
.btn-neon { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:0 50px; border:2px solid #000; background:var(--lime); color:#161e00; box-shadow:4px 4px 0 var(--cyan); font-family:"JetBrains Mono", monospace; font-weight:800; font-size:12px; letter-spacing:.12em; text-transform:uppercase; }
.btn-outline { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:0 50px; border:2px solid var(--cyan); color:var(--cyan); box-shadow:4px 4px 0 var(--cyan); font-family:"JetBrains Mono", monospace; font-weight:800; font-size:12px; letter-spacing:.12em; text-transform:uppercase; }
.eyebrow { color: var(--lime); font-family:"JetBrains Mono", monospace; font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.section-title { font-family:"Be Vietnam Pro", Syne, Inter, sans-serif; font-size:48px; line-height:52px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.hero-title { font-family:"Be Vietnam Pro", Syne, Inter, sans-serif; font-size:80px; line-height:83px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.panel { background: rgba(255,255,255,.05); border:1px solid var(--line); backdrop-filter: blur(10px); }
.neon-shadow { box-shadow:4px 4px 0 #00dbe9; }
.green-shadow { box-shadow:0 0 10px var(--lime); }
.text-glow { color: var(--cyan); text-shadow: 0 0 20px rgba(0,238,252,.35), 0 0 10px rgba(0,238,252,.65); }
.card-label { font-family:"JetBrains Mono", monospace; font-weight:800; font-size:10px; line-height:15px; text-transform:uppercase; letter-spacing:.04em; }
.footer { border-top:4px solid var(--lime); background:#0e0e0e; }
.booking-shell { width:min(1225px, calc(100% - 48px)); margin-inline:auto; }
.step-line { height:4px; background:#353535; }
.step-line.active { background:#abd600; box-shadow:0 0 10px #abd600; }
.service-card { min-height:170px; padding:25px; background:rgba(255,255,255,.05); border:1px solid var(--line); backdrop-filter:blur(10px); }
.slot { min-height:148px; border:1px solid var(--line); background:rgba(255,255,255,.05); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; }
.slot.active { border:2px solid var(--lime); box-shadow:4px 4px 0 var(--cyan); background:rgba(195,244,0,.08); }
.slot.booked { opacity:.45; background:#242424; }
@media (max-width: 900px) {
  .container-x, .booking-shell { width: min(100% - 32px, 680px); }
  .hero-title { font-size:44px; line-height:50px; letter-spacing:.03em; }
  .section-title { font-size:32px; line-height:38px; }
  .btn-neon, .btn-outline { width:100%; padding-inline:20px; }
}
