:root{
  --violet:#6C5CE7; --violet-light:#7B6DEF; --lavender:#B098F8;
  --navy:#1A1A2E; --navy-deep:#12101F; --ink:#0d0b16;
  --fg:#ffffff; --muted:rgba(255,255,255,.62); --line:rgba(255,255,255,.10);
  --font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  font-family:var(--font); color:var(--fg); line-height:1.55;
  background:radial-gradient(ellipse 90% 60% at 50% 0%, #221C40 0%, var(--navy-deep) 55%, var(--ink) 100%);
  min-height:100vh; display:flex; flex-direction:column; align-items:center;
  padding:clamp(20px,5vw,56px) 20px 48px;
}
.wrap{width:100%; max-width:960px; display:flex; flex-direction:column; align-items:center; text-align:center}
.logo{height:34px; width:auto; margin-bottom:clamp(28px,6vw,52px); opacity:.95}
.eyebrow{
  font-size:13px; font-weight:700; letter-spacing:2px; text-transform:uppercase;
  color:var(--lavender); margin-bottom:14px;
}
h1{
  font-size:clamp(28px,5.2vw,46px); font-weight:800; letter-spacing:-.02em; line-height:1.12;
  background:linear-gradient(180deg,#fff 30%,#d8d2ff); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.greeting{font-size:clamp(16px,2.6vw,19px); color:var(--fg); margin-bottom:10px; font-weight:600}
.sub{font-size:clamp(15px,2.4vw,18px); color:var(--muted); max-width:640px; margin:16px auto 0}
.player{
  position:relative; width:100%; margin:clamp(28px,5vw,44px) 0 0;
  border-radius:16px; overflow:hidden; background:#000;
  box-shadow:0 30px 80px rgba(0,0,0,.55); border:1px solid var(--line);
}
.player video{display:block; width:100%; height:auto; aspect-ratio:16/9; background:#000}
.cta-row{display:flex; gap:14px; flex-wrap:wrap; justify-content:center; margin-top:clamp(26px,5vw,40px)}
.btn{
  display:inline-flex; align-items:center; gap:9px; text-decoration:none;
  font-weight:700; font-size:16px; padding:14px 26px; border-radius:12px; transition:transform .15s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--violet); color:#fff; box-shadow:0 14px 34px rgba(108,92,231,.45)}
.btn-ghost{background:transparent; color:var(--fg); border:1px solid var(--line)}
.trust{display:flex; gap:10px 22px; flex-wrap:wrap; justify-content:center; margin-top:28px; font-size:13.5px; color:var(--muted)}
.trust span{display:inline-flex; align-items:center; gap:7px}
.dot{width:7px; height:7px; border-radius:50%; background:#06D6A0; display:inline-block}
footer{margin-top:clamp(40px,7vw,64px); font-size:13px; color:var(--muted); text-align:center; line-height:1.9}
footer a{color:var(--lavender); text-decoration:none}
@media(max-width:560px){ .btn{width:100%; justify-content:center} }

/* ============ Overview-Hub ============ */
body.hub{padding:0; display:block}
.glow{
  position:fixed; inset:-20% -10% auto -10%; height:70vh; z-index:-1; pointer-events:none;
  background:
    radial-gradient(50% 60% at 30% 0%, rgba(108,92,231,.28), transparent 70%),
    radial-gradient(45% 55% at 78% 8%, rgba(6,214,160,.10), transparent 70%);
  filter:blur(10px); animation:drift 16s ease-in-out infinite alternate;
}
@keyframes drift{from{transform:translateX(-2%) translateY(-1%)} to{transform:translateX(3%) translateY(2%)}}
.hub-hero{max-width:920px; margin:0 auto; padding:clamp(40px,8vw,84px) 22px 8px; text-align:center; display:flex; flex-direction:column; align-items:center}
.hub-hero .logo{margin-bottom:34px}
.brand-row{display:flex; align-items:center; gap:12px; margin-bottom:20px}
.brand-row .cube{filter:drop-shadow(0 6px 16px rgba(108,92,231,.5)); animation:float 4s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)} 50%{transform:translateY(-6px)}}
.brand-word{font-size:34px; font-weight:600; letter-spacing:-1px; color:#fff}
.hub-hero h1{font-size:clamp(38px,7vw,72px); line-height:1.02; font-weight:800; letter-spacing:-.03em}
.hub-hero h1 .grad{background:linear-gradient(100deg,var(--lavender),var(--violet-light) 60%,#8ee9cf); -webkit-background-clip:text; background-clip:text; color:transparent}
.hub-hero .sub{margin-top:22px; max-width:640px; font-size:clamp(15px,2.4vw,18px); color:var(--muted)}

.hub-wrap{max-width:1080px; margin:0 auto; padding:clamp(40px,7vw,72px) 22px 0}
.section-label{font-size:13px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--lavender); text-align:center; margin-bottom:26px}
.cards{display:grid; grid-template-columns:repeat(2,1fr); gap:20px}
@media(max-width:720px){.cards{grid-template-columns:1fr}}
.card{
  display:flex; flex-direction:column; text-decoration:none; color:var(--fg);
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.02));
  border:1px solid var(--line); border-radius:18px; overflow:hidden;
  transition:transform .22s cubic-bezier(.2,.7,.3,1), border-color .22s, box-shadow .22s;
}
.card.live:hover{transform:translateY(-6px); border-color:rgba(123,109,239,.55); box-shadow:0 26px 60px rgba(0,0,0,.5), 0 0 0 1px rgba(123,109,239,.25)}
.thumb{
  position:relative; aspect-ratio:16/9; background-size:cover; background-position:center;
  border-bottom:1px solid var(--line);
}
.thumb::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(18,16,31,.05), rgba(18,16,31,.55))}
.thumb.ph{background:radial-gradient(120% 120% at 50% 0%, #241f42, #14121f); display:flex; align-items:center; justify-content:center}
.play{
  position:absolute; z-index:1; top:50%; left:50%; transform:translate(-50%,-50%);
  width:60px; height:60px; border-radius:50%; background:rgba(108,92,231,.92);
  display:flex; align-items:center; justify-content:center; padding-left:4px;
  box-shadow:0 12px 34px rgba(108,92,231,.55); transition:transform .22s;
}
.card.live:hover .play{transform:translate(-50%,-50%) scale(1.08)}
.dur{position:absolute; z-index:1; right:12px; bottom:11px; font-size:12.5px; font-weight:600; color:#fff; background:rgba(0,0,0,.55); border-radius:6px; padding:3px 9px}
.soon-badge{font-size:12.5px; font-weight:700; letter-spacing:.5px; color:var(--muted); border:1px solid var(--line); border-radius:999px; padding:6px 14px; background:rgba(0,0,0,.2)}
.card-body{display:flex; align-items:center; gap:14px; padding:18px 20px}
.card-icon{flex-shrink:0; width:42px; height:42px; border-radius:11px; background:rgba(108,92,231,.14); border:1px solid rgba(123,109,239,.28); display:flex; align-items:center; justify-content:center}
.card.soon .card-icon{background:rgba(255,255,255,.04); border-color:var(--line)}
.card-name{font-size:18px; font-weight:700; letter-spacing:-.01em}
.card-line{font-size:13.5px; color:var(--muted); margin-top:3px; line-height:1.45}
.card .go{margin-left:auto; flex-shrink:0; font-size:14px; font-weight:700; color:var(--lavender); opacity:.85; transition:transform .22s, opacity .22s}
.card.live:hover .go{transform:translateX(4px); opacity:1}
.card.soon{opacity:.62}
.promise{display:flex; flex-wrap:wrap; justify-content:center; gap:12px 26px; margin:clamp(38px,6vw,56px) 0 0; font-size:14px; color:var(--muted)}
.promise span{display:inline-flex; align-items:center; gap:8px}
