:root {
    --bg: #0e1111;
    --card: #151a1a;
    --text: #e7f2f2;
    --muted: #a9b8b8;
    --accent: #8ee3d6;
    }
    * { box-sizing: border-box; }
    html, body {
    margin: 0; padding: 0; font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif; color: var(--text); background: radial-gradient(1200px 800px at 50% -200px, #102020, var(--bg));
    }
    .container { max-width: 1040px; margin: 0 auto; padding: 24px; }
    .nav { display: flex; align-items: center; justify-content: space-between; }
    .brand { font-weight: 700; letter-spacing: 0.3px; }
    .hero { text-align: center; padding: 80px 24px 32px; }
    .hero h1 { font-size: clamp(32px, 6vw, 56px); margin: 0 0 12px; }
    .lead { font-size: 18px; color: var(--muted); max-width: 680px; margin: 0 auto 24px; }
    .cta-row { display: flex; gap: 12px; justify-content: center; }
    .cta { background: var(--accent); color: #0c1414; text-decoration: none; padding: 12px 18px; border-radius: 14px; font-weight: 600; display: inline-block; border: none; cursor: pointer; }
    .cta.ghost { background: transparent; color: var(--text); border: 1px solid #2a3333; }
    .badge { margin-top: 18px; display: inline-block; padding: 6px 10px; border: 1px solid #223030; border-radius: 999px; color: var(--muted); font-size: 12px; }
    .features { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 18px; padding: 48px 24px; }
    .feature { background: var(--card); border: 1px solid #1e2626; border-radius: 16px; padding: 20px; }
    .feature h3 { margin-top: 0; }
    .schedule { padding: 24px 24px 8px; }
    .slots { list-style: none; padding: 0; margin: 16px 0; display: grid; gap: 8px; }
    .slots li { background: var(--card); border: 1px solid #1e2626; border-radius: 12px; padding: 12px 14px; display: flex; gap: 12px; align-items: center; }
    .slots span { font-variant-numeric: tabular-nums; color: var(--accent); min-width: 52px; text-align: right; }
    .hint { color: var(--muted); }
    .waitlist { text-align: center; padding: 24px; }
    .form { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; margin-top: 12px; }
    input[type=email] { background: #0f1414; color: var(--text); border: 1px solid #253131; border-radius: 12px; padding: 12px 14px; min-width: 260px; }
    .footer { display: flex; justify-content: space-between; align-items: center; gap: 10px; color: var(--muted); padding: 32px 24px; border-top: 1px solid #1a2323; margin-top: 48px; }
    .center { text-align: center; padding: 80px 24px; }
    @media (max-width: 520px) { .footer { flex-direction: column; } }