/* ---------- TOKENS ---------- */
:root{
  --bg:#060a14; --bg-2:#0a1022; --text:#f6f7ff; --muted:#a8acc7;
  --brand:#2e6df6; --brand-2:#6fb3ff; --accent:#21ffd2;
  --glass:rgba(255,255,255,.06); --radius:16px; --shadow:0 12px 40px rgba(0,0,0,.42)
}
/* ---------- BASE ---------- */
*{box-sizing:border-box} html,body{margin:0;padding:0}
body{
  color:var(--text);
  font:16px/1.5 "Inter",ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial;
  background:
    radial-gradient(1200px 700px at 15% -10%,rgba(46,109,246,.25),transparent 60%),
    radial-gradient(900px 600px at 110% 10%,rgba(111,179,255,.15),transparent 55%),
    linear-gradient(180deg,#04070f,#0b0f1f 40%,#0c1227 100%);
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(1200px,92%);margin-inline:auto}
.small{font-size:.92rem}
.tag{display:inline-block;padding:.32rem .6rem;border-radius:999px;font-weight:700;
     border:1px solid rgba(255,255,255,.13);background:linear-gradient(90deg,rgba(46,109,246,.18),rgba(111,179,255,.18));color:#cfe2ff}
/* ---------- NAV ---------- */
header{position:sticky;top:0;z-index:50;backdrop-filter:saturate(140%) blur(10px);
  background:linear-gradient(0deg,rgba(6,10,20,.35),rgba(6,10,20,.75));border-bottom:1px solid rgba(255,255,255,.06)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.nav__logo img{height:64px}
.nav__links{display:flex;gap:.6rem;align-items:center}
.nav__links a{padding:.6rem .9rem;border-radius:10px;opacity:.92}
.nav__links a:hover{background:var(--glass)}
.nav__cta{background:linear-gradient(90deg,var(--brand),var(--brand-2));color:#111;border:0;border-radius:12px;padding:.7rem 1rem;font-weight:800;box-shadow:0 8px 22px rgba(46,109,246,.45)}
@media(max-width:900px){.nav__logo img{height:52px} .nav__links{gap:.25rem}}
/* ---------- HERO w/ VIDEO ---------- */
.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:center;padding:56px 0}
.hero h1{font-size:clamp(38px,6vw,66px);line-height:1.04;margin:.35rem 0 .55rem}
.hero .grad{background:linear-gradient(90deg,var(--brand),var(--brand-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p{color:#cfd6ff;max-width:48ch}
.hero__cta{display:flex;gap:12px;margin-top:18px;flex-wrap:wrap}
.btn{display:inline-flex;gap:.55rem;align-items:center;border-radius:12px;border:1px solid rgba(255,255,255,.08);padding:.9rem 1.1rem;font-weight:800;cursor:pointer;transition:transform .18s ease, box-shadow .18s ease}
.btn-primary{background:linear-gradient(90deg,var(--brand),var(--brand-2));color:#111;box-shadow:0 10px 24px rgba(46,109,246,.45)}
.btn-ghost{background:rgba(255,255,255,.06);color:#eaf2ff}
.btn:hover{transform:translateY(-2px)}
/* right panel w/ glow + optional collage overlay */
.hero__panel{position:relative;min-height:340px;border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.14);box-shadow:var(--shadow);background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02))}
.hero__panel::before{content:"";position:absolute;inset:-40% -10%;background:conic-gradient(from 30deg at 50% 50%, rgba(46,109,246,.45), rgba(111,179,255,.35), transparent 60%);filter:blur(40px);animation:spin 18s linear infinite}
.hero__panel .overlay{position:absolute;inset:0;background:url('/assets/img/hero-collage.jpg') center/cover no-repeat;opacity:.25;mix-blend:screen}
@keyframes spin{to{transform:rotate(360deg)}}
/* ---------- CARDS / GRID ---------- */
.section{padding:42px 0}
.section h2{font-size:clamp(26px,3.6vw,40px);margin:0 0 10px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media(max-width:900px){.grid-3{grid-template-columns:1fr}}
.card{padding:16px;border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.12);box-shadow:var(--shadow);transition:transform .25s ease, box-shadow .25s ease}
.card:hover{transform:translateY(-6px) scale(1.01);box-shadow:0 18px 45px rgba(14,30,90,.45)}
.card .eyebrow{font-weight:800;color:#bcd6ff;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem}
.card p{color:#c9d4ff}
/* ---------- MOSAIC (media page) ---------- */
.mosaic{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.mosaic img{width:100%;height:100%;object-fit:cover;border-radius:12px}
.mosaic .span-2{grid-column:span 2}.mosaic .span-3{grid-column:span 3}.mosaic .row-2{grid-row:span 2}
@media(max-width:900px){.mosaic{grid-template-columns:repeat(2,1fr)}}
/* ---------- COUNTERS ---------- */
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:10px}
.stat{padding:16px;border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.12);text-align:center}
.stat .num{font-size:clamp(28px,4.2vw,44px);font-weight:800;background:linear-gradient(90deg,var(--brand),var(--brand-2));-webkit-background-clip:text;background-clip:text;color:transparent}
@media(max-width:900px){.stats{grid-template-columns:repeat(2,1fr)}}
/* ---------- ANNOUNCEMENT BAR ---------- */
.announce{position:sticky;top:0;z-index:60;background:linear-gradient(90deg,rgba(46,109,246,.22),rgba(111,179,255,.18));border-bottom:1px solid rgba(255,255,255,.12)}
.announce .inner{display:flex;gap:10px;align-items:center;justify-content:center;padding:.5rem}
.announce .pill{background:#06122b;color:#cfe2ff;border:1px solid rgba(255,255,255,.15);padding:.18rem .5rem;border-radius:999px;font-weight:700}
/* ---------- FLOATING ACTION BUTTON ---------- */
.fab{position:fixed;right:18px;bottom:18px;background:linear-gradient(90deg,var(--brand),var(--brand-2));color:#111;font-weight:800;border:0;border-radius:999px;padding:.9rem 1.1rem;box-shadow:0 10px 24px rgba(46,109,246,.5);z-index:70}
.fab:hover{transform:translateY(-1px)}
/* ---------- REVEAL ---------- */
.reveal{opacity:0;transform:translateY(22px);transition:600ms ease}
.reveal.in{opacity:1;transform:none}
/* ---------- FOOTER ---------- */
footer{margin-top:40px;border-top:1px solid rgba(255,255,255,.08);background:var(--bg-2)}
footer .small{color:var(--muted)}

/* make PLAY pop in header */
.nav__logo img{height:72px;filter:drop-shadow(0 0 8px rgba(130,192,255,.55)) drop-shadow(0 1px 0 rgba(0,0,0,.45))}
/* --- ELITE v3 ADDITIONS --- */

/* Angled section accents */
.section.angle{position:relative;isolation:isolate}
.section.angle::before{content:"";position:absolute;inset:-6% -4% auto -4%;height:50%;background:linear-gradient(90deg,rgba(46,109,246,.12),rgba(130,192,255,.06));transform:skewY(-3deg);border:1px solid rgba(255,255,255,.06);border-radius:24px;z-index:-1;filter:blur(4px)}

/* 3D tilt cards */
.tilt{transform-style:preserve-3d;will-change:transform}
.tilt:hover{transform:perspective(800px) rotateX(4deg) rotateY(-4deg)}
.tilt .shine{position:absolute;inset:0;border-radius:inherit;background:radial-gradient(600px 300px at var(--mx,50%) var(--my,50%),rgba(255,255,255,.18),transparent 40%);mix-blend-mode:screen;pointer-events:none}

/* Tabs */
.tabs{margin-top:10px}
.tabs__nav{display:flex;gap:8px;flex-wrap:wrap}
.tabs__nav button{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);color:#e9f3ff;border-radius:999px;padding:.55rem .9rem;font-weight:700;cursor:pointer}
.tabs__nav button[aria-selected="true"]{background:linear-gradient(90deg,var(--brand),var(--brand-2));color:#111;box-shadow:0 8px 22px rgba(46,109,246,.45)}
.tabs__panel{display:none;margin-top:14px}
.tabs__panel[aria-hidden="false"]{display:block}

/* Timeline (Schedule) */
.timeline{position:relative;margin:8px 0;padding-left:26px}
.timeline::before{content:"";position:absolute;left:10px;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--brand),transparent)}
.t-item{position:relative;margin:10px 0;padding:12px 14px;border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.12)}
.t-item::before{content:"";position:absolute;left:-2px;top:16px;width:10px;height:10px;border-radius:50%;background:linear-gradient(90deg,var(--brand),var(--brand-2));box-shadow:0 0 14px rgba(46,109,246,.7)}
.t-item .when{color:#cfe0ff;font-weight:800}
.t-item .where{color:#a8b6d6}

/* Mosaic + lightbox */
.mosaic{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.mosaic img{width:100%;height:100%;object-fit:cover;border-radius:12px;cursor:zoom-in;transition:transform .2s ease}
.mosaic img:hover{transform:scale(1.02)}
.mosaic .span-2{grid-column:span 2}.mosaic .span-3{grid-column:span 3}.mosaic .row-2{grid-row:span 2}
@media(max-width:900px){.mosaic{grid-template-columns:repeat(2,1fr)}}
#lightbox{position:fixed;inset:0;background:rgba(4,7,14,.9);display:none;align-items:center;justify-content:center;z-index:99}
#lightbox img{max-width:min(92vw,1200px);max-height:86vh;border-radius:14px}
#lightbox.show{display:flex}

/* Pricing toggle */
.price-toggle{display:flex;align-items:center;gap:10px;margin:10px 0}
.switch{position:relative;width:48px;height:28px;background:#2b3250;border-radius:999px}
.switch input{appearance:none;width:100%;height:100%;margin:0}
.switch i{position:absolute;top:4px;left:4px;width:20px;height:20px;background:#fff;border-radius:999px;transition:left .2s ease}
.switch input:checked + i{left:24px}

/* Multi-step form */
.stepper{display:flex;gap:10px;margin:10px 0 16px}
.stepper .dot{width:10px;height:10px;border-radius:50%;background:#394066}
.stepper .dot.active{background:linear-gradient(90deg,var(--brand),var(--brand-2))}
.form-step{display:none}
.form-step.active{display:block}
/* partner marquee */
.marquee{overflow:hidden}
.marquee__track{display:flex;gap:40px;align-items:center;white-space:nowrap;padding:12px 0;animation:marquee 26s linear infinite}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* hero fallback (shows gradient/image nicely when no video file yet) */
.hero__panel{background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02))}
.hero__panel video{display:block}
.marquee{overflow:hidden}
.marquee__track{display:flex;gap:40px;align-items:center;white-space:nowrap;padding:12px 0;animation:marquee 26s linear infinite}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.hero__panel{background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02))}
.hero__panel video{display:block}
/* responsive embeds */
.embed{position:relative;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);box-shadow:0 10px 28px rgba(0,0,0,.35)}
.embed--16x9{padding-top:56.25%}
.embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
/* YouTube background hero */
.hero__panel--yt{position:relative;overflow:hidden;border-radius:20px;border:1px solid rgba(255,255,255,.14);box-shadow:0 14px 42px rgba(0,0,0,.45)}
.hero__panel--yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:brightness(.78) saturate(1.15);pointer-events:none}
.hero__panel--yt .overlay{position:absolute;inset:0;mix-blend-mode:screen;opacity:.25}
.hero__panel iframe{display:block}
