:root{
  --bg:#050505;
  --bg-soft:#0a0a0a;
  --card:#0f0f10;
  --elev:#161618;
  --border:#1f1f23;
  --border-strong:#353541;
  --text:#ffffff;
  --text-soft:#d4d4d8;
  --text-muted:#8b8b95;
  --text-dim:#5a5a64;
  --blue:#3B82F6;
  --blue-hover:#4f8df7;
  --blue-bright:#60a5fa;
  --green:#10b981;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:'Inter',system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{overflow-x:hidden}
a{color:inherit;text-decoration:none}

/* ---------- NAV ---------- */
.nav-wrap{position:sticky;top:0;z-index:50;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:rgba(5,5,5,0.72);border-bottom:1px solid rgba(31,31,35,0.6)}
.nav{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:18px 32px;gap:32px}
.brand{display:flex;align-items:center;gap:10px;font-weight:600;font-size:15px;letter-spacing:-0.01em}
.brand-mark{width:24px;height:24px;border-radius:6px;background:linear-gradient(135deg,#3B82F6 0%,#1d4fcc 100%);position:relative;box-shadow:0 0 0 1px rgba(96,165,250,0.25), 0 8px 20px rgba(59,130,246,0.35)}
.brand-mark::after{content:"";position:absolute;inset:5px;border-radius:3px;background:#050505}
.brand-mark::before{content:"";position:absolute;left:9px;top:5px;bottom:5px;width:2px;background:#60a5fa}
.nav-links{display:flex;align-items:center;gap:28px;font-size:14px;color:var(--text-soft)}
.nav-links a{color:var(--text-soft);transition:color .15s ease}
.nav-links a:hover{color:#fff}
.nav-cta{display:flex;align-items:center;gap:14px}
.btn-ghost{font-size:14px;color:var(--text-soft);padding:8px 14px;border-radius:8px}
.btn-nav{font-size:14px;font-weight:500;background:var(--blue);color:#fff;padding:10px 22px;border-radius:8px;transition:background .15s ease,box-shadow .15s ease;border:1px solid rgba(96,165,250,0.35)}
.btn-nav:hover{background:var(--blue-hover);box-shadow:0 8px 24px rgba(59,130,246,0.28)}

/* ---------- SHARED ---------- */
.pill{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:rgba(59,130,246,0.10);border:1px solid rgba(59,130,246,0.22);font-size:13px;letter-spacing:0.08em;text-transform:uppercase;color:var(--blue-bright);font-weight:500}
.pill .dot{width:6px;height:6px;border-radius:999px;background:var(--blue-bright);box-shadow:0 0 8px var(--blue-bright)}

/* ============================================================
   SECTION 1 — BOOKING
   ============================================================ */
.bk{position:relative;background:var(--bg);padding:96px 32px;overflow:hidden}
.bk-bg{position:absolute;inset:0;pointer-events:none}
.bk-bg .glow-blue{position:absolute;top:-200px;left:-200px;width:1100px;height:1100px;background:radial-gradient(circle at center, rgba(59,130,246,0.18) 0%, rgba(59,130,246,0.06) 28%, rgba(59,130,246,0) 60%);filter:blur(10px)}
.bk-bg .glow-purple{position:absolute;top:-280px;right:-220px;width:900px;height:900px;background:radial-gradient(circle at center, rgba(168,85,247,0.10) 0%, rgba(168,85,247,0.025) 30%, rgba(168,85,247,0) 60%);filter:blur(10px)}
.bk-bg .grid-fade{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse 70% 60% at 50% 0%, #000 30%, transparent 75%);-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 0%, #000 30%, transparent 75%)}
.bk-inner{position:relative;max-width:1200px;margin:0 auto;display:grid;grid-template-columns:minmax(0,45fr) minmax(0,55fr);gap:48px;align-items:start}

/* Left */
.bk-copy h1{margin:18px 0 20px;font-size:clamp(40px,5vw,56px);font-weight:700;letter-spacing:-0.03em;line-height:1.06;color:#fff;text-wrap:balance}
.bk-copy h1 .muted{color:var(--text-muted);font-weight:600}
.bk-copy .sub{margin:0;font-size:18px;line-height:1.6;color:var(--text-soft);max-width:460px;text-wrap:pretty}
.block{margin-top:36px}
.block-head{font-size:13px;letter-spacing:0.14em;text-transform:uppercase;color:var(--text-muted);font-weight:500;margin-bottom:14px}
.block-body{margin:0;font-size:15px;line-height:1.6;color:var(--text-soft);max-width:460px}
.steplist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}
.steplist li{display:flex;align-items:flex-start;gap:14px;font-size:16px;line-height:1.5;color:var(--text-soft);max-width:480px}
.steplist .n{flex-shrink:0;width:24px;height:24px;border-radius:999px;background:rgba(59,130,246,0.10);border:1px solid rgba(59,130,246,0.25);color:var(--blue-bright);font-size:12px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;margin-top:2px;font-feature-settings:"tnum"}

/* Right — booking card */
.bk-card-wrap{position:relative;position:sticky;top:96px}
.bk-card-glow{position:absolute;inset:-30px;background:radial-gradient(ellipse at center,rgba(59,130,246,0.18) 0%,rgba(59,130,246,0) 65%);filter:blur(20px);z-index:-1;pointer-events:none}
.bk-card{position:relative;background:var(--card);border:1px solid var(--border-strong);border-radius:20px;padding:32px;box-shadow:0 4px 20px rgba(0,0,0,0.4),0 24px 60px rgba(59,130,246,0.12),inset 0 1px 0 rgba(255,255,255,0.04)}

.card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}
.top-pill{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border-radius:999px;background:rgba(59,130,246,0.10);border:1px solid rgba(59,130,246,0.25);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--blue-bright);font-weight:500}
.top-pill .dot{width:5px;height:5px;border-radius:999px;background:var(--blue-bright);box-shadow:0 0 6px var(--blue-bright)}
.card-meta{font-size:13px;color:var(--text-muted);font-family:'JetBrains Mono',ui-monospace,monospace}

/* Calendar */
.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.cal-month{font-size:22px;font-weight:700;letter-spacing:-0.02em;color:#fff}
.cal-nav{width:32px;height:32px;border-radius:8px;background:var(--elev);border:1px solid var(--border);color:var(--text-soft);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .15s ease,color .15s ease}
.cal-nav:hover{border-color:var(--border-strong);color:#fff}
.cal-nav svg{width:14px;height:14px}

.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:8px}
.cal-weekdays span{font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-muted);font-weight:500;text-align:center;padding:6px 0}
.cal-weekdays .dim{color:var(--text-dim)}

.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.cell{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--text-soft);border-radius:8px;cursor:pointer;font-feature-settings:"tnum";transition:background .15s ease,border-color .15s ease,color .15s ease;border:1px solid transparent}
.cell.past{color:var(--text-dim);cursor:default}
.cell.next{color:var(--text-dim);cursor:default}
.cell.dim{color:var(--text-dim)}
.cell:not(.past):not(.next):hover{background:var(--elev);border-color:var(--border)}
.cell.today{color:#fff;border:1px solid var(--blue);background:transparent;cursor:default}
.cell.avail{color:#fff;background:rgba(59,130,246,0.04)}
.cell.avail:hover{background:rgba(59,130,246,0.10);border-color:rgba(59,130,246,0.30)}
.cell.selected{background:var(--blue);color:#fff;font-weight:600;border-color:var(--blue);box-shadow:0 0 0 1px rgba(96,165,250,0.4),0 8px 18px rgba(59,130,246,0.35)}
.cell.selected:hover{background:var(--blue);border-color:var(--blue)}

.card-divider{height:1px;background:var(--border);margin:24px -32px 24px}

.slots-head{font-size:15px;font-weight:600;color:#fff;letter-spacing:-0.01em;margin-bottom:14px}
.slots-head .slots-sub{color:var(--text-muted);font-weight:400}

.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:24px}
.slot{background:var(--elev);border:1px solid #2a2a30;border-radius:8px;padding:12px 16px;font-size:14px;color:var(--text-soft);cursor:pointer;font-family:inherit;font-weight:500;transition:border-color .15s ease,color .15s ease,background .15s ease;font-feature-settings:"tnum"}
.slot:hover{border-color:var(--blue);color:#fff}
.slot.active{border-color:var(--blue);background:rgba(59,130,246,0.10);color:#fff;box-shadow:inset 0 0 0 1px rgba(96,165,250,0.25)}

.confirm-cta{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;background:var(--blue);color:#fff;padding:16px 24px;border-radius:8px;font-size:16px;font-weight:500;border:1px solid rgba(96,165,250,0.4);transition:background .18s ease,box-shadow .18s ease;text-decoration:none}
.confirm-cta:hover{background:var(--blue-hover);box-shadow:0 8px 32px rgba(59,130,246,0.32)}
.confirm-cta svg{transition:transform .18s ease}
.confirm-cta:hover svg{transform:translateX(2px)}
.confirm-fine{margin:14px 0 0;font-size:12px;color:var(--text-dim);text-align:center;line-height:1.5}

/* ============================================================
   SECTION 2 — TRUST STRIP
   ============================================================ */
.trust-strip{position:relative;background:var(--bg-soft);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:32px 32px}
.trust-inner{max-width:1280px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:18px}
.t-cap{font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:var(--text-muted);font-weight:500}
.logo-row{display:flex;align-items:center;gap:48px;flex-wrap:wrap;justify-content:center;opacity:0.7}
.logo-row .logo{font-size:18px;font-weight:600;letter-spacing:-0.02em;color:#e5e7eb;font-family:'Inter',sans-serif}
.logo.italic{font-style:italic;font-weight:500}
.logo.serif{font-family:Georgia,serif;font-weight:400;letter-spacing:0.04em}
.logo.mono{font-family:'JetBrains Mono',monospace;font-weight:500;font-size:15px;letter-spacing:0.02em}
.logo.condensed{font-family:'Inter',sans-serif;font-weight:800;font-stretch:condensed;letter-spacing:-0.04em;font-size:20px}
.logo .dot-l{display:inline-block;width:7px;height:7px;border-radius:999px;background:var(--blue-bright);margin-right:6px;vertical-align:middle}

/* ============================================================
   SECTION 3 — DEMO FAQ
   ============================================================ */
.dfaq{position:relative;background:var(--bg);padding:96px 32px;border-top:1px solid var(--border)}
.dfaq-inner{position:relative;max-width:1100px;margin:0 auto;display:grid;grid-template-columns:40fr 60fr;gap:64px;align-items:start}
.dfaq-copy h2{margin:18px 0 16px;font-size:clamp(30px,3.4vw,40px);font-weight:700;letter-spacing:-0.025em;line-height:1.08;color:#fff}
.dfaq-copy .sub{margin:0 0 22px;font-size:16px;line-height:1.6;color:var(--text-soft);max-width:320px;text-wrap:pretty}
.dfaq-copy .call{display:inline-flex;align-items:center;gap:6px;font-size:15px;font-weight:500;color:var(--blue-bright);transition:color .15s ease,gap .15s ease}
.dfaq-copy .call:hover{color:#82b5fa;gap:10px}

.dfaq-list{display:flex;flex-direction:column;gap:10px}
.dfaq-item{background:var(--card);border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:border-color .2s ease}
.dfaq-item[open]{border-color:var(--border-strong)}
.dfaq-item summary{list-style:none;padding:22px 26px;display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;font-size:16px;font-weight:600;color:#fff;letter-spacing:-0.005em}
.dfaq-item summary::-webkit-details-marker{display:none}
.dfaq-item summary:hover{background:rgba(255,255,255,0.02)}
.dfaq-item .chev{flex-shrink:0;width:26px;height:26px;border-radius:8px;background:rgba(255,255,255,0.04);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:transform .25s ease,background .2s ease,color .2s ease}
.dfaq-item[open] .chev{transform:rotate(180deg);background:rgba(59,130,246,0.10);color:var(--blue-bright);border-color:rgba(59,130,246,0.25)}
.dfaq-item .chev svg{width:13px;height:13px}
.dfaq-item .answer{padding:0 26px 22px;font-size:14px;line-height:1.65;color:var(--text-soft);text-wrap:pretty}

/* ============================================================
   SECTION 4 — ALTERNATIVE CONTACT
   ============================================================ */
.alt{position:relative;background:var(--bg-soft);padding:96px 32px;border-top:1px solid var(--border);overflow:hidden}
.alt-bg{position:absolute;inset:0;pointer-events:none}
.alt-bg .gl{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:1000px;height:600px;background:radial-gradient(ellipse at center,rgba(59,130,246,0.08) 0%,rgba(59,130,246,0) 55%);filter:blur(20px)}
.alt-inner{position:relative;max-width:920px;margin:0 auto}
.alt-head{text-align:center;display:flex;flex-direction:column;align-items:center;gap:18px;margin-bottom:48px}
.alt-head h2{margin:0;font-size:clamp(30px,3.4vw,40px);font-weight:700;letter-spacing:-0.025em;line-height:1.08;color:#fff;max-width:680px;text-wrap:balance}
.alt-head .sub{font-size:16px;line-height:1.55;color:var(--text-soft);max-width:560px;margin:0}

.alt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.alt-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:28px;display:flex;flex-direction:column;gap:8px;transition:border-color .2s ease,transform .2s ease}
.alt-card:hover{border-color:var(--border-strong);transform:translateY(-2px)}
.alt-card .ic{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:rgba(59,130,246,0.10);border:1px solid rgba(59,130,246,0.22);color:var(--blue-bright);margin-bottom:14px}
.alt-card .ic svg{width:18px;height:18px}
.alt-card .t{font-size:17px;font-weight:600;color:#fff;letter-spacing:-0.005em}
.alt-card .val{font-size:15px;color:var(--text-soft);font-feature-settings:"tnum";word-break:break-word}
.alt-card .val.link{color:var(--blue-bright);display:inline-flex;align-items:center;gap:6px;transition:gap .15s ease,color .15s ease;cursor:pointer}
.alt-card .val.link:hover{gap:10px;color:#82b5fa}
.alt-card .cap{font-size:13px;color:var(--text-muted);margin-top:4px}
.alt-card .link-inline{color:var(--blue-bright);font-weight:500;transition:color .15s ease}
.alt-card:hover .link-inline{color:#82b5fa}

/* ============================================================
   FOOTER
   ============================================================ */
.footer{position:relative;background:var(--bg);padding:96px 32px 0;border-top:1px solid var(--border)}
.footer-inner{max-width:1280px;margin:0 auto}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:48px}
.footer-col h4{margin:0 0 20px;font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:var(--text-muted);font-weight:500}
.footer-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}
.footer-col ul a{font-size:15px;color:var(--text-soft);text-decoration:none;transition:color .15s ease}
.footer-col ul a:hover{color:#fff}
.footer-brand{display:flex;align-items:center;gap:10px;font-weight:600;font-size:16px;letter-spacing:-0.01em;color:#fff}
.footer-brand .brand-mark{width:24px;height:24px}
.footer-tag{margin:16px 0 14px;font-size:14px;line-height:1.55;color:var(--text-muted);max-width:280px}
.footer-meta{font-size:13px;color:var(--text-dim);line-height:1.55}
.footer-bottom{margin-top:64px;padding:24px 0;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--text-dim)}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1080px){
  .bk-inner{grid-template-columns:1fr;gap:48px}
  .bk-card-wrap{position:relative;top:auto}
  .dfaq-inner{grid-template-columns:1fr;gap:48px}
  .dfaq-copy .sub{max-width:none}
  .alt-grid{grid-template-columns:1fr;gap:12px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:48px 32px}
  .nav-links{display:none}
}
@media (max-width:640px){
  .bk{padding:72px 20px}
  .bk-card{padding:24px}
  .card-divider{margin:24px -24px 24px}
  .slots{grid-template-columns:repeat(2,1fr)}
  .nav{padding:14px 20px}
  .dfaq,.alt{padding:72px 20px}
  .footer-grid{grid-template-columns:1fr}
  .trust-strip{padding:24px 20px}
  .logo-row{gap:28px}
}
