:root{
  --bg:#04050c;--bg-soft:#080a17;--ink:#f0f3ff;--muted:#98a2c9;--muted-2:#6a739b;
  --cyan:#3ee0f2;--violet:#8b5cf6;--indigo:#6366f1;--magenta:#f065d8;--gold:#ffd27d;--green:#3ce8b4;
  --line:rgba(150,170,255,.12);--line-2:rgba(150,170,255,.22);
  --radius:22px;--maxw:1280px;--e:cubic-bezier(.22,.61,.36,1);
  --font:"Space Grotesk",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --display:"Sora",var(--font);
  --grad-brand:linear-gradient(135deg,#a9ebff,#bcc6ff 50%,#e7b9ff);
  --grad-text:linear-gradient(105deg,#9af0ff,var(--cyan) 30%,var(--violet) 62%,var(--magenta));
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth;overflow-x:clip}
body{font-family:var(--font);background:var(--bg);color:var(--ink);line-height:1.6;overflow-x:clip;max-width:100%;-webkit-font-smoothing:antialiased}
body.lock{overflow:hidden}
h1,h2,h3,h4,h5{font-family:var(--display);letter-spacing:-.025em;line-height:1.05}
a{color:inherit;text-decoration:none}
section{position:relative;z-index:2}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;padding-left:max(24px,env(safe-area-inset-left));padding-right:max(24px,env(safe-area-inset-right))}
.serif{font-family:"Instrument Serif",Georgia,serif;font-style:italic;letter-spacing:0}
.grad{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.center{text-align:center}

/* backdrop */
.backdrop{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.nebula span{position:absolute;border-radius:50%;mix-blend-mode:screen;filter:blur(30px);animation:breathe 16s var(--e) infinite}
.n1{width:52vw;height:52vw;left:-8vw;top:-12vw;background:radial-gradient(circle,rgba(99,102,241,.5),transparent 62%)}
.n2{width:46vw;height:46vw;right:-6vw;top:4vw;background:radial-gradient(circle,rgba(62,224,242,.36),transparent 62%);animation-delay:-4s}
.n3{width:48vw;height:48vw;left:22vw;top:60vh;background:radial-gradient(circle,rgba(240,101,216,.3),transparent 62%);animation-delay:-8s}
@keyframes breathe{0%,100%{transform:translate(0,0) scale(1);opacity:.7}50%{transform:translate(2%,-3%) scale(1.12);opacity:1}}
#stars{position:absolute;inset:0}
.grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.5;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}
.vignette{position:fixed;inset:0;z-index:1;pointer-events:none;box-shadow:inset 0 0 240px 60px rgba(2,3,8,.9)}

/* shared bits */
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:600;letter-spacing:.2em;
  text-transform:uppercase;color:var(--muted);padding:8px 15px;border-radius:100px;background:rgba(255,255,255,.03);
  border:1px solid var(--line);backdrop-filter:blur(6px)}
.eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 14px 2px var(--cyan);animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.7)}}
.btn{display:inline-flex;align-items:center;gap:9px;justify-content:center;font-weight:600;font-size:15px;
  font-family:var(--font);padding:14px 26px;border-radius:100px;cursor:pointer;border:1px solid transparent;
  transition:transform .22s var(--e),box-shadow .3s var(--e),background .3s,filter .3s}
.btn:hover{transform:translateY(-2px)}
.btn-primary{color:#0a0f1f;font-weight:700;background:var(--grad-brand);
  box-shadow:0 12px 32px -10px rgba(160,150,255,.6),inset 0 1px 0 rgba(255,255,255,.75)}
.btn-primary:hover{filter:brightness(1.05);box-shadow:0 18px 44px -10px rgba(160,150,255,.7)}
.btn-ghost{color:var(--ink);border-color:var(--line-2);background:rgba(255,255,255,.02);backdrop-filter:blur(6px)}
.btn-ghost:hover{border-color:rgba(150,170,255,.45);background:rgba(255,255,255,.06)}
.glass{position:relative;border-radius:var(--radius);
  background:linear-gradient(180deg,rgba(16,20,44,.86),rgba(9,11,26,.86)) padding-box,
    linear-gradient(160deg,rgba(150,170,255,.4),rgba(150,170,255,.04) 40%,rgba(150,170,255,.02)) border-box;
  border:1px solid transparent;backdrop-filter:blur(10px)}
.glass::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:radial-gradient(120% 80% at 50% -10%,rgba(255,255,255,.06),transparent 55%)}

/* nav */
header{position:sticky;top:0;z-index:80;transition:.35s var(--e);padding-top:env(safe-area-inset-top)}
header.scrolled{background:rgba(4,5,12,.7);backdrop-filter:blur(18px) saturate(140%);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:76px;gap:20px}
.brand{display:inline-flex;align-items:center}
.brand img.logo{height:37px;width:auto;display:block;filter:drop-shadow(0 0 14px rgba(140,180,255,.45));transition:filter .3s}
.brand:hover img.logo{filter:drop-shadow(0 0 20px rgba(140,180,255,.75))}
.nav-links{display:flex;align-items:center;gap:44px}
.nav-center{display:flex;align-items:center;gap:32px}
.nav-center a{font-size:14.5px;color:var(--muted);font-weight:500;transition:color .2s;position:relative}
.nav-center a:hover,.nav-center a.active{color:var(--ink)}
.nav-center a::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:1.5px;
  background:linear-gradient(90deg,var(--cyan),var(--violet));transition:width .3s var(--e)}
.nav-center a:hover::after,.nav-center a.active::after{width:100%}
.nav-actions{display:flex;align-items:center;gap:18px}
.nav-actions .login{font-size:14.5px;color:var(--muted);font-weight:500;transition:color .2s}
.nav-actions .login:hover{color:var(--ink)}
.btn-nav{color:#0a0f1f;font-weight:700;font-size:12.5px;padding:8px 15px;border-radius:100px;
  background:var(--grad-brand);box-shadow:0 6px 20px -8px rgba(160,150,255,.65),inset 0 1px 0 rgba(255,255,255,.7);
  transition:transform .2s var(--e),box-shadow .3s,filter .3s}
.btn-nav:hover{transform:translateY(-1px);filter:brightness(1.06);box-shadow:0 12px 28px -8px rgba(160,150,255,.75)}
.nav-toggle{display:none;background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:12px;padding:11px 12px;cursor:pointer;z-index:90}
.nav-toggle span{display:block;width:20px;height:2px;background:var(--ink);margin:4px 0;border-radius:2px;transition:.3s var(--e)}
.nav-toggle.on span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-toggle.on span:nth-child(2){opacity:0}
.nav-toggle.on span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.nav-scrim{position:fixed;inset:0;background:rgba(2,3,8,.6);backdrop-filter:blur(2px);opacity:0;visibility:hidden;transition:.3s;z-index:70}
.nav-scrim.open{opacity:1;visibility:visible}

/* home hero */
.hero{padding:60px 0 36px}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:40px;align-items:center}
.hero h1{font-size:clamp(33px,4.4vw,56px);font-weight:800;margin:22px 0 0}
/* headline as its own block so lines balance evenly (no single-word orphan like "up?") */
.hero h1 .hero-h1-main{display:block}
.nb{white-space:nowrap}
.hero p.lead{max-width:52ch;margin:24px 0 0;color:var(--muted);font-size:clamp(16px,1.5vw,19px)}
/* hero second line: smaller than the headline + extra line-box so italic descenders (g, y) aren't clipped by background-clip:text */
.hero h1 .hero-h1-sub{display:inline-block;font-size:clamp(21px,3.1vw,40px);line-height:1.3;padding-bottom:.16em;margin-top:22px}
/* center the two program cards on desktop (mobile stays single-column) */
@media(min-width:981px){.progs.progs-center{grid-template-columns:repeat(2,1fr)}}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.hero-note{margin-top:20px;color:var(--muted-2);font-size:13.5px;display:flex;align-items:center;gap:8px}

/* orbital centerpiece (hero) */
.solar{position:relative;aspect-ratio:1;width:100%;max-width:500px;margin:0 auto;perspective:1000px;transform-style:preserve-3d}
.solar .halo{position:absolute;inset:8%;border-radius:50%;background:radial-gradient(circle,rgba(139,92,246,.28),transparent 62%);filter:blur(14px)}
.core{position:absolute;top:50%;left:50%;width:24%;height:24%;transform:translate(-50%,-50%);border-radius:50%;z-index:2;
  background:radial-gradient(circle at 34% 30%,#bff6ff,#3ee0f2 30%,#6d5cf0 66%,#3a1d8a);
  box-shadow:0 0 60px rgba(62,224,242,.5),inset -8px -10px 24px rgba(20,8,60,.7),inset 8px 8px 20px rgba(255,255,255,.35);
  animation:floatcore 7s ease-in-out infinite}
.core::after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 68% 74%,rgba(255,255,255,.18),transparent 42%)}
/* Rings are static tilted ellipses (the orbit paths); an inner .orbiter spins,
   and each .sat counter-rotates so the badge always faces the viewer (billboard). */
.ring{position:absolute;top:50%;left:50%;border-radius:50%;border:1px solid rgba(150,170,255,.16);
  transform:translate(-50%,-50%) rotateX(70deg);transform-style:preserve-3d}
.r1{width:54%;height:54%;--dur:20s;--dly:0s}
.r2{width:76%;height:76%;--dur:28s;--dly:-9s}
.r3{width:98%;height:98%;--dur:36s;--dly:-18s}
.orbiter{position:absolute;inset:0;transform-style:preserve-3d;animation:orbitspin var(--dur,24s) linear infinite;animation-delay:var(--dly,0s)}
.sat{position:absolute;top:-17px;left:50%;width:34px;height:34px;margin-left:-17px;border-radius:50%;display:flex;
  align-items:center;justify-content:center;background:linear-gradient(160deg,#141830,#0a0c1c);border:1px solid var(--line-2);
  box-shadow:0 6px 18px rgba(0,0,0,.5);animation:billboard var(--dur,24s) linear infinite;animation-delay:var(--dly,0s)}
.sat svg{width:17px;height:17px}
.chip{position:absolute;display:flex;align-items:center;gap:7px;padding:7px 12px;border-radius:100px;font-size:12px;font-weight:600;z-index:3;
  white-space:nowrap;background:rgba(10,12,26,.82);border:1px solid var(--line-2);backdrop-filter:blur(8px);box-shadow:0 8px 24px rgba(0,0,0,.4);animation:float 6s ease-in-out infinite}
.chip i{width:7px;height:7px;border-radius:50%}
.c-a{top:6%;left:-4%;animation-delay:.4s}.c-b{top:34%;right:-6%;animation-delay:1.4s}.c-c{bottom:8%;left:8%;animation-delay:2.1s}
@keyframes orbitspin{to{transform:rotate(360deg)}}
@keyframes billboard{from{transform:rotate(0deg) rotateX(-70deg)}to{transform:rotate(-360deg) rotateX(-70deg)}}
@keyframes floatcore{0%,100%{transform:translate(-50%,-50%)}50%{transform:translate(-50%,calc(-50% - 14px))}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}

/* atom (About / interior) — now animated */
.atom{aspect-ratio:1;position:relative}
.atom svg{width:100%;height:100%;position:relative;z-index:2}
.atom .rings{transform-origin:150px 150px;transform-box:view-box;animation:atomspin 24s linear infinite}
.atom .e1,.atom .e2,.atom .e3{transform-box:view-box;transform-origin:150px 150px}
.atom .e2{transform:rotate(60deg)}
.atom .e3{transform:rotate(120deg)}
.atom .electron{filter:drop-shadow(0 0 6px currentColor)}
@keyframes atomspin{to{transform:rotate(360deg)}}
.atom .glowcore{animation:corepulse 5s ease-in-out infinite}
@keyframes corepulse{0%,100%{opacity:.9}50%{opacity:1;transform:scale(1.04)}}

/* ticker */
.ticker{margin:30px 0 0;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  -webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);overflow:hidden}
.ticker-row{display:flex;gap:44px;width:max-content;animation:scroll 68s linear infinite}
.ticker-row span{color:var(--muted);font-size:15px;font-weight:500;display:flex;align-items:center;gap:44px;white-space:nowrap}
.ticker-row span::after{content:"◆";color:var(--violet);font-size:9px}
@keyframes scroll{to{transform:translateX(-50%)}}

/* section heads */
.section-pad{padding:100px 0}
.sec-head{max-width:760px;margin:0 auto 56px;text-align:center}
.sec-head h2{font-size:clamp(31px,4.4vw,52px);font-weight:800;margin-top:18px}
.sec-head p{color:var(--muted);margin-top:18px;font-size:18px}

/* page hero (interior) */
.page-hero{padding:72px 0 20px;text-align:center}
.page-hero h1{font-size:clamp(36px,5.4vw,66px);font-weight:800;margin-top:20px}
.page-hero p.lead{max-width:60ch;margin:22px auto 0;color:var(--muted);font-size:clamp(16px,1.6vw,20px)}
.page-hero .hero-cta{justify-content:center}

/* prose */
.prose{max-width:760px;margin:0 auto}
.prose p{color:#c9d2f5;font-size:17px;margin-top:18px}
.prose h2{font-size:clamp(26px,3.4vw,40px);font-weight:800;margin-top:8px}
.prose .serif{color:var(--cyan)}

/* generic split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split.rev .vis{order:-1}
.split h2{font-size:clamp(26px,3.6vw,42px);font-weight:800}
.split p{color:var(--muted);margin-top:18px;font-size:16.5px}
.split .lead{font-size:17px}

/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.stat{padding:30px 26px;text-align:center}
.stat b{font-family:var(--display);font-size:clamp(32px,4vw,48px);font-weight:800;display:block;
  background:linear-gradient(120deg,#fff,var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent}
.stat span{color:var(--muted);font-size:14px;margin-top:6px;display:block}

/* ===== Georgia page ===== */
.ga-h1{font-size:clamp(33px,4.6vw,56px);font-weight:800;margin-top:16px;line-height:1.06}
.ga-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:46px}
.ga-p2{align-items:center}
.ga-astro{position:relative;width:clamp(170px,22vw,250px);margin:0 auto}
.ga-astro img{width:100%;display:block;animation:gaFloat 6.5s ease-in-out infinite;filter:drop-shadow(0 24px 42px rgba(62,224,242,.3))}
.ga-astro::before{content:"";position:absolute;left:50%;top:54%;width:80%;height:80%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(139,92,246,.42),transparent 72%);filter:blur(24px);z-index:-1}
@keyframes gaFloat{0%,100%{transform:translateY(0) rotate(-2.5deg)}50%{transform:translateY(-16px) rotate(2.5deg)}}
.ga-grat{position:relative;background:linear-gradient(135deg,rgba(62,224,242,.1),rgba(139,92,246,.09));border:1px solid var(--line-2);border-radius:16px;padding:20px 22px 20px 28px;font-family:var(--display);font-weight:600;font-size:clamp(16px,1.6vw,18.5px);line-height:1.5;color:var(--ink)}
.ga-grat::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:0 3px 3px 0;background:linear-gradient(var(--cyan),var(--violet,#8b5cf6))}
.ga-p2-body{color:#c9d2f5;font-size:16.5px;line-height:1.7;margin-top:16px}
@media(max-width:720px){.ga-stats{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.ga-astro img{animation:none}}

/* ===== Launch page ===== */
/* trailer carousel */
.trailer-row{display:flex;gap:18px;overflow-x:auto;padding:6px max(24px,calc((100vw - var(--maxw,1280px))/2 + 24px)) 22px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
  -webkit-mask:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);mask:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.trailer-card{flex:0 0 300px;scroll-snap-align:start;background:none;border:none;padding:0;cursor:pointer;text-align:left;font-family:var(--font);color:var(--ink)}
.trailer-thumb{position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden;border:1px solid var(--line-2);display:flex;align-items:center;justify-content:center;transition:transform .25s,box-shadow .25s}
.trailer-card:hover .trailer-thumb{transform:translateY(-3px);box-shadow:0 18px 40px -14px rgba(0,0,0,.7)}
.trailer-tag{position:absolute;top:10px;left:10px;font-size:11px;font-weight:600;background:rgba(4,5,12,.7);border:1px solid rgba(255,255,255,.22);padding:3px 9px;border-radius:100px}
.trailer-play{width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);padding-left:3px;transition:transform .25s}
.trailer-card:hover .trailer-play{transform:scale(1.12)}
.trailer-meta{padding:11px 4px 0}
.trailer-meta b{display:block;font-family:var(--display);font-size:15px;font-weight:700}
.trailer-meta span{display:block;color:var(--muted);font-size:13px;margin-top:2px}
/* trailer modal */
.tr-modal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:24px}
.tr-modal-scrim{position:absolute;inset:0;background:rgba(4,5,12,.78);backdrop-filter:blur(6px)}
.tr-modal-box{position:relative;width:min(860px,100%);background:var(--card,#0b0e1c);border:1px solid var(--line-2);border-radius:20px;padding:16px;box-shadow:0 30px 80px -20px rgba(0,0,0,.8)}
.tr-close{position:absolute;top:-14px;right:-14px;width:36px;height:36px;border-radius:50%;background:#0b0e1c;border:1px solid var(--line-2);color:var(--ink);font-size:22px;line-height:1;cursor:pointer}
.tr-modal-head{display:flex;flex-direction:column;padding:2px 4px 12px}
.tr-modal-head b{font-family:var(--display);font-size:17px}
.tr-modal-head span{color:var(--muted);font-size:13px}
.tr-embed{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#000}
.tr-embed iframe,.tr-embed video{position:absolute;inset:0;width:100%;height:100%;border:none}
.tr-soon{aspect-ratio:16/9;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;padding:24px;background:radial-gradient(circle at 50% 40%,rgba(62,224,242,.12),transparent 70%),#0c1330}
.tr-soon-play{width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.4);display:flex;align-items:center;justify-content:center;padding-left:3px}
.tr-soon h3{font-family:var(--display);font-size:19px}
.tr-soon p{color:var(--muted);max-width:44ch;font-size:14.5px}
/* worksheet mock (More Than Videos) */
.worksheet-mock{position:relative;padding:30px;border-radius:24px;min-height:300px}
.ws-doc{position:absolute;border-radius:12px;background:#f6f7fb;box-shadow:0 20px 44px -16px rgba(0,0,0,.6)}
.ws-back{inset:44px 60px 44px 30px;transform:rotate(-5deg);opacity:.5}
.ws-front{inset:34px 34px 34px 56px;transform:rotate(3deg);padding:22px 20px;display:flex;flex-direction:column;gap:11px}
.ws-h{margin-bottom:4px}
.ws-badge{display:inline-block;font-size:11px;font-weight:700;color:#0a0f1f;background:linear-gradient(90deg,#3ee0f2,#8b5cf6);padding:4px 10px;border-radius:100px}
.ws-line{height:9px;border-radius:5px;background:#d5d9e6;flex:1}
.ws-line.lg{height:13px;width:70%;background:#b9c0d6}
.ws-line.short{width:55%}
.ws-row{display:flex;align-items:center;gap:9px}
.ws-check{flex:none;width:18px;height:18px;border-radius:5px;background:#3ce8b4;color:#04231a;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center}
/* national career clusters grid */
.clusters{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.cluster{display:flex;align-items:center;gap:12px;padding:16px 18px;border-radius:14px;font-family:var(--display);font-weight:600;font-size:15.5px}
.cluster-dot{flex:none;width:11px;height:11px;border-radius:50%;box-shadow:0 0 12px 0 currentColor}
/* closing secondary line */
.cta-sub{margin-top:20px;color:var(--muted);font-size:14.5px;position:relative;z-index:2}
.cta-sub a{color:var(--cyan);border-bottom:1px solid rgba(62,224,242,.4)}
@media(max-width:900px){.clusters{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.clusters{grid-template-columns:1fr}.trailer-card{flex-basis:78vw}}

/* ===== Login routing page ===== */
.login-cards{max-width:840px;margin:0 auto;gap:24px}
.login-card{text-align:center;display:flex;flex-direction:column;align-items:center;padding:40px 32px}
.login-card .ic{margin:4px auto 16px}
.login-card h3{font-size:21px}
.login-card p{color:var(--muted);margin-top:10px;font-size:15.5px;max-width:34ch}
.login-act{margin-top:auto;padding-top:24px;display:flex;flex-direction:column;align-items:center;gap:11px}
.login-tag{font-size:12px;color:var(--muted-2);letter-spacing:.03em}
.login-help{max-width:680px;margin:32px auto 0;color:var(--muted);font-size:15px;text-wrap:balance}
.login-help a{color:var(--cyan);border-bottom:1px solid rgba(62,224,242,.4)}

/* feature/step/card grids */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.card h3 .badge{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 9px;border-radius:100px;background:rgba(62,224,242,.14);border:1px solid rgba(62,224,242,.4);color:var(--cyan);vertical-align:middle;margin-left:6px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.card{padding:32px 28px;transition:transform .4s var(--e)}
.card:hover{transform:translateY(-8px)}
.card .idx{font-family:var(--display);font-size:14px;font-weight:700;letter-spacing:.12em;color:var(--muted-2)}
.card .ic{width:58px;height:58px;margin:16px 0 18px;border-radius:15px;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(160deg,rgba(62,224,242,.16),rgba(139,92,246,.16));border:1px solid var(--line-2)}
.card h3{font-size:21px;margin-bottom:10px}
.card p{color:var(--muted);font-size:15px}
.card .tags{margin-top:16px;display:flex;flex-wrap:wrap;gap:8px}
.card .tags b{font-size:12px;font-weight:600;color:var(--muted);padding:5px 11px;border-radius:100px;border:1px solid var(--line);background:rgba(255,255,255,.02)}

/* galaxies */
.galaxies{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.gx{padding:26px 24px;cursor:pointer;overflow:hidden;transition:transform .4s var(--e)}
.gx:hover{transform:translateY(-8px)}
.gx .glow{position:absolute;width:150px;height:150px;border-radius:50%;filter:blur(40px);opacity:.4;top:-40px;right:-40px;transition:opacity .4s}
.gx:hover .glow{opacity:.85}
.gx .em{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;position:relative;z-index:2;border:1px solid var(--line-2)}
.gx h3{font-size:17px;position:relative;z-index:2}
.gx p{color:var(--muted);font-size:13px;margin-top:5px;position:relative;z-index:2}
.gx .count{position:relative;z-index:2;margin-top:16px;font-size:12.5px;font-weight:600;display:flex;align-items:center;gap:6px}

/* galaxy library (galaxies.html) */
.galaxy-block{margin-bottom:64px}
.galaxy-head{display:flex;gap:18px;align-items:center;margin-bottom:26px}
.galaxy-head .ghead-ic{width:56px;height:56px;flex:none;border-radius:14px;display:flex;align-items:center;justify-content:center}
.galaxy-head h2{font-size:clamp(23px,3vw,34px);font-weight:800}
.galaxy-head p{color:var(--muted);font-size:15px;margin-top:4px}

/* founder photo */
.founder-card{padding:14px;border-radius:26px}
.founder-img{display:block;width:100%;border-radius:18px;aspect-ratio:4/5;object-fit:cover;object-position:50% 22%}

/* video player mockup */
.player{padding:16px;border-radius:26px}
.screen{aspect-ratio:16/10;border-radius:16px;position:relative;overflow:hidden;background:linear-gradient(140deg,#132d52,#3a1f5c 60%,#0b1030)}
.screen .aur{position:absolute;inset:0;background:radial-gradient(closest-side at 30% 30%,rgba(62,224,242,.5),transparent),radial-gradient(closest-side at 74% 68%,rgba(240,101,216,.45),transparent)}
.screen .play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:76px;height:76px;border-radius:50%;
  background:rgba(255,255,255,.16);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.4);display:flex;align-items:center;justify-content:center;transition:transform .3s}
.player:hover .play{transform:translate(-50%,-50%) scale(1.1)}
.scrub{position:absolute;left:18px;right:18px;bottom:18px;height:5px;border-radius:4px;background:rgba(255,255,255,.22)}
.scrub i{position:absolute;left:0;top:0;height:100%;width:38%;border-radius:4px;background:linear-gradient(90deg,var(--cyan),#fff)}
.caption{position:absolute;top:16px;left:16px;font-size:12px;font-weight:600;padding:6px 12px;border-radius:100px;background:rgba(4,5,12,.6);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(6px)}
.pbar{display:flex;align-items:center;gap:8px;padding:14px 6px 4px}
.pbar .d{width:11px;height:11px;border-radius:50%}
.flist{margin-top:28px;display:flex;flex-direction:column;gap:16px}
.flist .f{display:flex;gap:14px;align-items:flex-start}
.flist .fi{width:34px;height:34px;flex:none;border-radius:10px;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(160deg,rgba(62,224,242,.18),rgba(139,92,246,.18));border:1px solid var(--line-2)}
.flist h4{font-size:16px;font-family:var(--font);font-weight:600}
.flist p{color:var(--muted);font-size:14px;margin-top:2px}

/* videos */
.videos{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.vcard{overflow:hidden;transition:transform .4s var(--e)}
.vcard:hover{transform:translateY(-8px)}
.vthumb{aspect-ratio:16/10;position:relative;display:flex;align-items:center;justify-content:center}
.vthumb .p{width:60px;height:60px;border-radius:50%;background:rgba(255,255,255,.16);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.4);transition:transform .35s}
.vcard:hover .vthumb .p{transform:scale(1.14)}
.vtag{position:absolute;top:12px;left:12px;font-size:11px;font-weight:600;padding:5px 12px;border-radius:100px;background:rgba(4,5,12,.55);border:1px solid rgba(255,255,255,.26);backdrop-filter:blur(5px)}
.vtag.mins{background:linear-gradient(120deg,rgba(62,224,242,.92),rgba(139,92,246,.92));border-color:transparent;color:#03040a;letter-spacing:.02em}
.vgn-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.vlen{position:absolute;bottom:12px;right:12px;font-size:11px;font-weight:600;padding:4px 9px;border-radius:8px;background:rgba(4,5,12,.7);border:1px solid rgba(255,255,255,.2)}
.vmeta{padding:20px 22px}
.vmeta .role{font-family:var(--display);font-weight:700;font-size:18px}
.vmeta .name{color:var(--muted);font-size:13.5px;margin-top:4px}

/* programs */
.progs{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.prog{padding:0;overflow:hidden;display:flex;flex-direction:column;transition:transform .4s var(--e)}
.prog:hover{transform:translateY(-8px)}
.prog .top{height:120px;position:relative;overflow:hidden}
.prog .top .g{position:absolute;inset:0}
.prog .top .badge{position:absolute;left:22px;bottom:16px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:6px 13px;border-radius:100px;background:rgba(4,5,12,.55);border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(6px)}
.prog .body{padding:26px 26px 30px;display:flex;flex-direction:column;flex:1}
.prog h3{font-size:21px}
.prog p{color:var(--muted);font-size:14.5px;margin-top:10px;flex:1}
.prog .go{margin-top:26px;font-size:13.5px;font-weight:600;display:inline-flex;align-items:center;gap:7px}

/* testimonials */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.q{padding:30px 28px}
.q .st{color:var(--gold);font-size:14px;letter-spacing:2px}
.q blockquote{font-size:15.5px;margin:16px 0 22px;color:#e2e8ff;line-height:1.55}
.q .who{display:flex;align-items:center;gap:12px}
.q .av{width:42px;height:42px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:700;font-size:15px;color:#04050c}
.q .who b{font-size:14px;font-family:var(--font)}
.q .who span{color:var(--muted);font-size:12px;display:block}

/* pillars */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pillar{padding:30px 26px;text-align:center}
.pillar .pic{width:64px;height:64px;margin:0 auto 18px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,rgba(62,224,242,.16),rgba(139,92,246,.16));border:1px solid var(--line-2)}
.pillar h3{font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--cyan)}
.pillar p{color:var(--muted);font-size:14.5px;margin-top:10px}

/* partners */
.partners{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.partner{aspect-ratio:16/9;border-radius:14px;display:flex;align-items:center;justify-content:center;text-align:center;
  padding:12px;font-size:12px;font-weight:600;color:var(--muted);border:1px solid var(--line);background:rgba(255,255,255,.02)}

/* bullet list */
.checks{list-style:none;display:flex;flex-direction:column;gap:14px;margin-top:24px}
.checks li{display:flex;gap:12px;font-size:16px;color:#d7deff}
.checks li svg{flex:none;margin-top:4px}
.painlist{list-style:none;display:flex;flex-direction:column;gap:12px;margin-top:22px;max-width:640px}
.painlist li{display:flex;gap:12px;color:#c9d2f5;font-size:16px}
.painlist li::before{content:"›";color:var(--magenta);font-weight:700}

/* bio */
.bio{display:grid;grid-template-columns:.85fr 1.15fr;gap:44px;align-items:center}
.bio .avatar{aspect-ratio:1;border-radius:24px;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:800;font-size:64px;color:#0a0f1f;background:var(--grad-brand)}
.bio h3{font-size:26px}
.bio .role{color:var(--cyan);font-weight:600;margin-top:4px;font-size:14px}
.bio p{color:var(--muted);margin-top:16px;font-size:15.5px}

/* pricing */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch}
.plan{padding:36px 30px;display:flex;flex-direction:column;transition:transform .4s var(--e)}
.plan:hover{transform:translateY(-8px)}
.plan.feat{background:linear-gradient(180deg,rgba(30,22,66,.92),rgba(12,10,30,.92)) padding-box,
    linear-gradient(160deg,var(--cyan),var(--violet) 60%,var(--magenta)) border-box;box-shadow:0 24px 60px -20px rgba(139,92,246,.55)}
.plan .badge{font-size:11px;font-weight:700;letter-spacing:.09em;
  text-transform:uppercase;padding:7px 15px;border-radius:100px;background:var(--grad-brand);color:#0a0f1f;box-shadow:0 8px 24px -6px rgba(160,150,255,.6);white-space:nowrap}
.plan .plan-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.plan .pname{font-family:var(--display);font-weight:700;font-size:14px;letter-spacing:.16em;text-transform:uppercase;color:var(--cyan)}
.plan.feat .pname{color:#c4b5fd}
.plan .price{font-family:var(--display);font-size:50px;font-weight:800;margin:16px 0 2px;letter-spacing:-.03em}
.plan .price span{font-size:16px;color:var(--muted);font-weight:500}
.plan .price span.amt{font-size:inherit;color:inherit;font-weight:inherit}
.plan .desc{color:var(--muted);font-size:14px;min-height:42px}
.plan ul{list-style:none;margin:24px 0 28px;display:flex;flex-direction:column;gap:13px}
.plan li{display:flex;gap:11px;font-size:14.5px;color:#d7deff}
.plan li svg{flex:none;margin-top:3px}
.plan .btn{width:100%;margin-top:auto}
.price-note{text-align:center;margin-top:26px;color:var(--muted);font-size:14px}
.price-note a{color:var(--cyan);border-bottom:1px solid rgba(62,224,242,.4)}

/* faq */
.faq{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:14px}
.fitem{padding:0;overflow:hidden}
.fq{width:100%;text-align:left;background:none;border:none;cursor:pointer;color:var(--ink);font-family:var(--display);
  font-weight:600;font-size:17px;padding:22px 26px;display:flex;justify-content:space-between;align-items:center;gap:16px}
.fq .pm{flex:none;width:26px;height:26px;border-radius:50%;border:1px solid var(--line-2);display:flex;align-items:center;justify-content:center;transition:transform .3s var(--e),background .3s}
.fitem.open .fq .pm{transform:rotate(45deg);background:rgba(62,224,242,.14)}
.fa{max-height:0;overflow:hidden;transition:max-height .4s var(--e)}
.fa p{color:var(--muted);font-size:15px;padding:0 26px 24px}

/* contact */
.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:start}
.field{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}
.field label{font-size:13px;font-weight:600;color:var(--muted);letter-spacing:.02em}
.field input,.field textarea{font-family:var(--font);font-size:16px;color:var(--ink);background:rgba(255,255,255,.03);
  border:1px solid var(--line-2);border-radius:14px;padding:14px 16px;transition:border-color .2s,background .2s}
.field input:focus,.field textarea:focus{outline:none;border-color:rgba(62,224,242,.6);background:rgba(255,255,255,.06)}
.field textarea{resize:vertical;min-height:130px}
.field select{font-family:var(--font);font-size:16px;color:var(--ink);background:rgba(255,255,255,.03);border:1px solid var(--line-2);border-radius:11px;padding:12px 14px;cursor:pointer;
  -webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238a93b8' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}
.field select:focus{outline:none;border-color:rgba(62,224,242,.6);background-color:rgba(255,255,255,.06)}
.field select option{background:#0b0e1c;color:var(--ink)}
.topic-hint{font-size:13.5px;color:var(--cyan);background:rgba(62,224,242,.08);border:1px solid rgba(62,224,242,.25);border-radius:10px;padding:10px 12px;margin:0 0 16px}
.form-note{font-size:13px;color:var(--muted-2);margin-top:12px}
.contact-info .row{display:flex;gap:14px;align-items:flex-start;margin-bottom:22px}
.contact-info .ri{width:42px;height:42px;flex:none;border-radius:12px;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,rgba(62,224,242,.16),rgba(139,92,246,.16));border:1px solid var(--line-2)}
.contact-info h4{font-size:15px;font-family:var(--font)}
.contact-info a,.contact-info p{color:var(--muted);font-size:14.5px}
.contact-info a:hover{color:var(--ink)}

/* CTA band */
.cta{padding:70px 44px;text-align:center;overflow:hidden;border-radius:30px}
.cta::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(60% 120% at 50% -10%,rgba(62,224,242,.16),transparent 60%),radial-gradient(60% 120% at 50% 110%,rgba(240,101,216,.14),transparent 60%)}
.cta h2{font-size:clamp(29px,4.6vw,52px);font-weight:800;position:relative;z-index:2}
.cta p{color:var(--muted);margin:16px auto 30px;max-width:52ch;position:relative;z-index:2;font-size:17px}
.cta .hero-cta{justify-content:center;position:relative;z-index:2}

/* footer */
footer{border-top:1px solid var(--line);margin-top:40px;padding:60px 0 40px;position:relative;z-index:2}
.foot{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:32px}
.foot img.logo{height:26px;width:auto;filter:drop-shadow(0 0 12px rgba(140,180,255,.4))}
.foot h5{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2);margin-bottom:18px}
.foot a.fl{display:block;color:var(--muted);font-size:14.5px;margin-bottom:12px;transition:color .2s}
.foot a.fl:hover{color:var(--ink)}
.foot p{color:var(--muted);font-size:14.5px;margin-top:16px;max-width:34ch}
.foot-tag{margin-bottom:0}
.foot-tag + p{margin-top:8px;line-height:1.45}
.socials{display:flex;gap:12px;margin-top:28px}
.socials a{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);background:rgba(255,255,255,.02);color:var(--muted);transition:.2s}
.socials a:hover{color:var(--ink);border-color:var(--line-2);transform:translateY(-2px)}
.news{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
.news input{flex:1;min-width:140px;font-family:var(--font);font-size:16px;color:var(--ink);background:rgba(255,255,255,.03);border:1px solid var(--line-2);border-radius:100px;padding:11px 16px}
.news input:focus{outline:none;border-color:rgba(62,224,242,.6)}
.news button{border:none}
.news .ok{color:var(--green);font-size:13.5px;margin-top:10px;display:none}
/* newsletter confirmation: sits outside .news, so style it to match footer text and rely on [hidden] for visibility */
footer .ok{color:var(--muted-2);font-size:13px;line-height:1.5;margin-top:10px}
.foot-bottom{margin-top:48px;padding-top:26px;border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px 20px;color:var(--muted-2);font-size:13px}
.foot-bottom a{color:var(--muted-2)}
.foot-bottom a:hover{color:var(--ink)}
.foot-credit{flex:0 0 auto}
.foot-credit a{color:var(--cyan);font-weight:600}
.foot-credit a:hover{color:#bff6ff;text-decoration:underline}

/* reveal */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s var(--e),transform .8s var(--e)}
.reveal.in{opacity:1;transform:none}

/* responsive */
@media(max-width:980px){
  .hero-grid{grid-template-columns:1fr;gap:22px}
  .solar{max-width:360px;order:-1}
  .grid-3,.grid-2,.videos,.plans,.quotes,.progs,.pillars{grid-template-columns:1fr}
  .galaxies,.grid-4,.vgn-grid{grid-template-columns:repeat(2,1fr)}
  .stats{grid-template-columns:repeat(2,1fr)}
  .split,.contact-grid,.bio{grid-template-columns:1fr;gap:34px}
  .split.rev .vis{order:0}
  .bio .avatar{max-width:220px}
  .partners{grid-template-columns:repeat(3,1fr)}
  .foot{grid-template-columns:1fr 1fr}
}
@media(max-width:860px){
  .nav-toggle{display:block}
  .nav-links{position:fixed;top:0;right:0;bottom:0;width:min(340px,86vw);flex-direction:column;align-items:flex-start;
    justify-content:flex-start;gap:6px;padding:94px 26px 34px;background:rgba(7,9,20,.98);backdrop-filter:blur(18px);
    border-left:1px solid var(--line);transform:translateX(106%);transition:transform .4s var(--e);z-index:75;overflow-y:auto}
  .nav-links.open{transform:none}
  .nav-center{flex-direction:column;align-items:stretch;gap:2px;width:100%}
  .nav-center a{padding:15px 2px;font-size:17px;width:100%;border-bottom:1px solid var(--line)}
  .nav-center a::after{display:none}
  .nav-actions{flex-direction:column;align-items:stretch;width:100%;gap:12px;margin-top:22px}
  .nav-actions .login{text-align:center;padding:13px;border:1px solid var(--line-2);border-radius:100px}
  .btn-nav{width:100%;justify-content:center;padding:15px;font-size:15px}
}
@media(max-width:600px){
  .section-pad{padding:72px 0}
  .sec-head{margin-bottom:44px}
  .galaxies,.grid-4,.vgn-grid{grid-template-columns:1fr}
  .stats,.partners{grid-template-columns:repeat(2,1fr)}
  .foot{grid-template-columns:1fr}
  .cta{padding:48px 22px}
  .hero-cta{flex-direction:column;align-items:stretch}
  .hero-cta .btn{width:100%;flex:none;justify-content:center}
  .fq{font-size:16px;padding:20px}
  .fa p{padding:0 20px 20px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important}}

/* ===== galaxy explorer (galaxies.html) ===== */
.gx-search{display:flex;align-items:center;gap:10px;padding:7px 8px 7px 18px;margin-bottom:22px;border-radius:100px;
  background:linear-gradient(180deg,rgba(16,20,44,.7),rgba(9,11,26,.7));border:1px solid var(--line-2);backdrop-filter:blur(10px);transition:border-color .25s}
.gx-search:focus-within{border-color:rgba(62,224,242,.5)}
.gx-search .gx-ic{color:var(--muted-2);flex:none}
#gxQuery{flex:1;min-width:0;background:transparent;border:none;outline:none;color:var(--ink);font-family:var(--font);font-size:16px;padding:11px 0}
#gxQuery::placeholder{color:var(--muted-2)}
.gx-clear{flex:none;background:transparent;border:none;color:var(--muted);font-size:24px;line-height:1;cursor:pointer;padding:0 4px;transition:color .2s}
.gx-clear:hover{color:var(--ink)}
.gx-filters{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:20px}
.gx-pill{display:inline-flex;align-items:center;gap:8px;font-family:var(--font);font-size:13.5px;font-weight:500;color:var(--muted);
  background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:100px;padding:8px 14px;cursor:pointer;
  transition:transform .2s var(--e),color .2s,background .2s,border-color .2s}
.gx-pill:hover{color:var(--ink);border-color:var(--line-2);transform:translateY(-1px)}
.gx-pill>span{font-size:11px;opacity:.7}
.gx-pdot{width:8px;height:8px;border-radius:50%;flex:none}
.gx-pill.active{color:#04050c;font-weight:700;background:var(--pc,var(--cyan));border-color:transparent;box-shadow:0 8px 22px -8px var(--pc,var(--cyan))}
.gx-pill.active>span{opacity:.6}
.gx-pill.active .gx-pdot{background:rgba(4,5,12,.55)!important}
.gx-count{color:var(--muted);font-size:14.5px;margin-bottom:22px}
.gx-count b{color:var(--ink);font-weight:700}
#gxResults{grid-template-columns:repeat(3,1fr)}
.gx-card{animation:gxIn .45s var(--e) both}
@keyframes gxIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.gx-card.flash{animation:gxFlash 1.5s var(--e)}
@keyframes gxFlash{0%,100%{box-shadow:0 0 0 0 transparent}25%,60%{box-shadow:0 0 0 2px var(--gc),0 0 46px -6px var(--gc)}}
.gx-empty{text-align:center;padding:52px 28px}
.gx-empty h3{font-size:clamp(20px,3vw,26px)}
.gx-empty p{color:var(--muted);max-width:440px;margin:12px auto 24px}
@media(max-width:980px){#gxResults{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){#gxResults{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.gx-card{animation:none}.gx-card.flash{animation:none}}

/* ===== hyperspace easter egg ===== */
.warp-cv{position:fixed;inset:0;z-index:2000;pointer-events:none;opacity:1;transition:opacity .6s var(--e)}
.warp-msg{position:fixed;left:50%;top:44%;transform:translate(-50%,-50%);z-index:2001;pointer-events:none;
  font-family:var(--display);font-weight:800;font-size:clamp(20px,5vw,42px);letter-spacing:.03em;color:#eafcff;text-align:center;
  text-shadow:0 0 26px rgba(62,224,242,.85),0 0 64px rgba(139,92,246,.6);animation:warpMsg .5s var(--e) both}
.warp-msg.warp-msg-b{font-family:var(--font);font-weight:600;font-size:clamp(16px,3vw,24px);color:#c9f6ff}
@keyframes warpMsg{from{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.warp-out{opacity:0!important;transition:opacity .6s var(--e)}

/* ===== career roulette (galaxies.html) ===== */
.roul{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center;padding:34px}
.roul-side h2{font-size:clamp(24px,3.4vw,34px)}
.roul-side p{color:var(--muted);margin-bottom:22px;max-width:36ch}
.roul-spin{cursor:pointer}
.roul-window{position:relative;height:174px;border-radius:16px;overflow:hidden;
  background:linear-gradient(180deg,rgba(4,5,12,.7),rgba(9,11,26,.5));border:1px solid var(--line-2);
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 22%,#000 78%,transparent);
  mask-image:linear-gradient(180deg,transparent,#000 22%,#000 78%,transparent)}
.roul-bar{position:absolute;left:8px;right:8px;top:58px;height:58px;border-radius:12px;
  background:rgba(62,224,242,.06);border:1px solid rgba(62,224,242,.3);z-index:2;pointer-events:none}
.roul-strip{position:relative;z-index:1;will-change:transform}
.roul-row{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;gap:12px}
.roul-role{font-family:var(--display);font-weight:700;font-size:17px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.roul-tag{font-size:12px;font-weight:600;white-space:nowrap;flex:none}
.roul-row.hit .roul-role{text-shadow:0 0 20px var(--rc)}
.roul-result{margin-top:22px}
.roul-hit{display:flex;flex-direction:column;gap:2px;margin-bottom:14px}
.roul-hit b{font-family:var(--display);font-size:21px}
.roul-hit span{font-size:13px;color:var(--muted-2)}
@media(max-width:820px){.roul{grid-template-columns:1fr;gap:24px}.roul-window{order:-1}}
@media(prefers-reduced-motion:reduce){.roul-strip{transition:none!important}}

/* ===== 404 — signal lost ===== */
.nf-hero{padding-top:56px}
.nf-wrap{display:flex;flex-direction:column;align-items:center}
.nf-stage{position:relative;width:min(420px,84vw);height:300px;display:grid;place-items:center;margin-bottom:6px}
.nf-ghost{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--display);font-weight:800;
  font-size:clamp(150px,34vw,260px);line-height:1;letter-spacing:-.04em;pointer-events:none;
  color:transparent;-webkit-text-stroke:1.5px rgba(150,170,255,.16);
  background:radial-gradient(60% 60% at 50% 44%,rgba(62,224,242,.10),transparent 70%);}
.nf-dude{position:relative;z-index:2;width:min(230px,52vw);animation:nf-drift 6s var(--e) infinite}
.nf-dude img{width:100%;display:block;filter:drop-shadow(0 18px 34px rgba(62,224,242,.28))}
.nf-dude::after{content:"";position:absolute;inset:-8% -8% auto auto;width:100%;height:100%;
  animation:nf-glitch 5.4s steps(2) infinite;pointer-events:none}
.nf-signal{color:var(--magenta)}
.nf-signal .dot{background:var(--magenta);box-shadow:0 0 10px var(--magenta);animation:nf-blink 1.6s ease-in-out infinite}
@keyframes nf-drift{0%,100%{transform:translateY(6px) rotate(-3deg)}50%{transform:translateY(-14px) rotate(3deg)}}
@keyframes nf-blink{0%,72%,100%{opacity:1}80%{opacity:.2}}
@keyframes nf-glitch{
  0%,58%,100%{opacity:0;transform:translate(0)}
  60%{opacity:.55;transform:translate(-4px,2px);filter:drop-shadow(4px 0 var(--magenta)) drop-shadow(-3px 0 var(--cyan))}
  62%{opacity:.5;transform:translate(3px,-2px)}
  64%{opacity:0}
}

/* ===== Galaxies hero — Astrodude surf ===== */
.gx-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;text-align:left}
.gx-hero .gx-copy h1{margin-top:16px}
.gx-hero .gx-copy p.lead{margin-left:0;margin-right:0}
.gx-hero .gx-copy .hero-cta{justify-content:flex-start}
.gx-surf{position:relative;justify-self:center;width:min(440px,90%);aspect-ratio:1/1}
.gx-surf::before{content:"";position:absolute;inset:6% 6% 10% 6%;border-radius:50%;
  background:radial-gradient(circle at 50% 50%,rgba(139,92,246,.30),rgba(62,224,242,.10) 55%,transparent 72%);filter:blur(6px)}
.gx-surf img{position:relative;z-index:2;width:100%;display:block;animation:gx-carve 6.5s ease-in-out infinite;
  filter:drop-shadow(0 22px 40px rgba(20,8,50,.5))}
@keyframes gx-carve{0%,100%{transform:translateY(8px) rotate(-2.5deg)}50%{transform:translateY(-12px) rotate(2.5deg)}}
@media(max-width:900px){
  .gx-hero{grid-template-columns:1fr;gap:16px;text-align:center}
  .gx-hero .gx-copy .hero-cta{justify-content:center}
  .gx-surf{order:-1;width:min(320px,70%)}
}

/* ===== Homepage lighthouse beacon (Who is this for?) ===== */
.lh-beacon{position:relative;width:150px;height:150px;margin:0 auto 26px;display:grid;place-items:center;isolation:isolate}
.lh-beacon img{position:relative;z-index:2;width:104px;height:104px;object-fit:contain;
  filter:drop-shadow(0 10px 22px rgba(62,224,242,.35));animation:lh-bob 4s ease-in-out infinite}
.lh-sweep{position:absolute;left:50%;top:50%;width:340px;height:340px;transform:translate(-50%,-50%);z-index:1;border-radius:50%;
  background:conic-gradient(from 0deg,transparent 0 6%,rgba(62,224,242,.20) 12%,rgba(139,92,246,.06) 20%,transparent 30%);
  -webkit-mask:radial-gradient(circle at 50% 50%,#000 12%,transparent 68%);mask:radial-gradient(circle at 50% 50%,#000 12%,transparent 68%);
  animation:lh-spin 6s linear infinite;pointer-events:none}
@keyframes lh-bob{0%,100%{transform:translateY(3px)}50%{transform:translateY(-7px)}}
@keyframes lh-spin{to{transform:translate(-50%,-50%) rotate(360deg)}}

/* ===== Contact success — message received ===== */
.c-success{text-align:center;padding:8px 6px}
.c-success h2{font-size:26px;margin-top:6px}
.c-success p{color:var(--muted);font-size:15px;line-height:1.55;margin:12px auto 22px;max-width:42ch}
.c-astro{position:relative;width:170px;height:190px;margin:0 auto;display:grid;place-items:end center;overflow:visible}
.c-astro img{position:relative;z-index:2;width:132px;object-fit:contain;transform-origin:50% 90%;
  animation:c-pop .7s cubic-bezier(.2,.8,.25,1) both,c-bob 3.4s 1s ease-in-out infinite}
.c-confetti{position:absolute;left:50%;top:24%;width:0;height:0;z-index:3}
.c-confetti i{position:absolute;left:0;top:0;width:9px;height:14px;border-radius:2px;opacity:0;
  background:var(--cyan);animation:c-fly 1.1s var(--d) ease-out both}
.c-confetti i:nth-child(4n+1){background:var(--cyan)}
.c-confetti i:nth-child(4n+2){background:var(--magenta)}
.c-confetti i:nth-child(4n+3){background:var(--violet)}
.c-confetti i:nth-child(4n){background:var(--gold,#ffd27d)}
@keyframes c-pop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.08)}100%{transform:scale(1);opacity:1}}
@keyframes c-bob{0%,100%{transform:translateY(0) rotate(-1.5deg)}50%{transform:translateY(-7px) rotate(1.5deg)}}
@keyframes c-fly{0%{opacity:0;transform:translate(0,0) rotate(0) scale(.6)}
  15%{opacity:1}100%{opacity:0;transform:translate(var(--x),140px) rotate(var(--r)) scale(1)}}

/* ===== Career dice (Why we exist) ===== */
.dice-scene{position:absolute;inset:0;overflow:hidden}
.dice-watch{position:absolute;left:3%;bottom:0;height:64%;z-index:2}
.dice-watch img{height:100%;width:auto;display:block;filter:drop-shadow(0 14px 22px rgba(0,0,0,.45))}
.dice-cube-wrap{position:absolute;right:12%;top:16%;width:92px;height:92px;perspective:700px;z-index:3}
.dice-cube{width:92px;height:92px;position:relative;transform-style:preserve-3d;animation:d-tumble 3.4s var(--e) infinite}
.df{position:absolute;inset:0;background:#efeaff;color:#141028;border-radius:14px;display:grid;place-items:center;
  font-family:var(--display);font-weight:800;font-size:12px;line-height:1.12;text-align:center;padding:8px;
  box-shadow:inset 0 0 0 3px #141028}
.df1{transform:translateZ(46px)} .df2{transform:rotateY(180deg) translateZ(46px)}
.df3{transform:rotateY(90deg) translateZ(46px)} .df4{transform:rotateY(-90deg) translateZ(46px)}
.df5{transform:rotateX(90deg) translateZ(46px)} .df6{transform:rotateX(-90deg) translateZ(46px)}
.dice-result{position:absolute;right:8%;bottom:12%;z-index:4;padding:9px 16px;border-radius:999px;
  background:rgba(10,12,26,.72);border:1px solid rgba(62,224,242,.5);color:#9af0ff;font-weight:700;font-size:13px;
  backdrop-filter:blur(6px);animation:d-show 3.4s var(--e) infinite}
@keyframes d-tumble{0%{transform:rotateX(12deg) rotateY(-20deg)}22%{transform:rotateX(90deg) rotateY(140deg)}
  44%{transform:rotateX(210deg) rotateY(280deg)}60%,100%{transform:rotateX(360deg) rotateY(340deg)}}
@keyframes d-show{0%,48%{opacity:0;transform:translateY(8px)}60%,100%{opacity:1;transform:none}}

/* ===== Launch — clapboard (See for yourself) ===== */
.clap-scene{position:relative;width:196px;height:172px;margin:0 auto 10px}
.clap-star{position:absolute;left:50%;bottom:0;width:104px;margin-left:-52px;z-index:1;animation:clap-bob 3s ease-in-out infinite}
.clap-star img{width:100%;display:block;filter:drop-shadow(0 12px 20px rgba(0,0,0,.4))}
.clap-slate{position:absolute;left:50%;top:2px;width:150px;margin-left:-75px;z-index:3}
.clap-top{height:24px;background:#f0f3ff;color:#0b0d18;font-size:10px;font-weight:800;letter-spacing:.06em;
  display:flex;align-items:center;padding:0 10px;border-radius:5px 5px 0 0;transform-origin:8% 100%;
  background-image:repeating-linear-gradient(115deg,#0b0d18 0 10px,#f0f3ff 10px 20px);color:#0b0d18;
  animation:clap-snap 2.8s var(--e) infinite}
.clap-top span{background:#f0f3ff;padding:2px 6px;border-radius:3px}
.clap-bot{background:#15182c;border:1px solid var(--line-2);border-top:none;padding:9px 10px;font-size:11px;
  font-weight:700;letter-spacing:.06em;border-radius:0 0 6px 6px;color:#e8eeff;text-align:center}
@keyframes clap-snap{0%,20%{transform:rotate(-40deg)}30%{transform:rotate(2deg)}38%,100%{transform:rotate(0)}}
@keyframes clap-bob{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-8px) rotate(1.5deg)}}

/* ===== EQ — rainbow write ===== */
.rw-band{padding:6px 0 26px}
.rw-scene{position:relative;height:118px}
.rw-trail{position:absolute;left:1%;top:64%;width:98%;height:10px;border-radius:8px;transform-origin:0 50%;
  background:linear-gradient(90deg,#3ee0f2,#8b5cf6,#f065d8,#ffd27d);box-shadow:0 0 24px rgba(139,92,246,.45);
  animation:rw-draw 4.4s var(--e) infinite}
.rw-flyer{position:absolute;top:2px;width:84px;animation:rw-move 4.4s var(--e) infinite}
.rw-flyer img{width:100%;display:block;filter:drop-shadow(0 8px 16px rgba(62,224,242,.4))}
@keyframes rw-draw{0%{transform:scaleX(0);opacity:1}62%,84%{transform:scaleX(1);opacity:1}94%,100%{transform:scaleX(1);opacity:0}}
@keyframes rw-move{0%{left:-2%;opacity:0}7%{opacity:1}62%{left:calc(98% - 84px);opacity:1}84%{left:calc(98% - 84px);opacity:1}94%,100%{left:calc(98% - 84px);opacity:0}}

/* ===== About hero — drifting explorer ===== */
.ab-drift{position:relative;width:172px;height:150px;margin:0 auto 2px}
.ab-drift img{width:150px;display:block;margin:0 auto;animation:ab-drift 6s ease-in-out infinite;
  filter:drop-shadow(0 14px 26px rgba(62,224,242,.3))}
@keyframes ab-drift{0%,100%{transform:translateY(6px) rotate(-4deg)}50%{transform:translateY(-12px) rotate(4deg)}}

/* ===== Pricing hero — liftoff boost ===== */
.pr-boost{position:relative;width:150px;height:172px;margin:0 auto 4px}
.pr-astro{position:absolute;left:50%;bottom:16px;width:112px;margin-left:-56px;z-index:2;
  animation:pr-hop 1.9s cubic-bezier(.2,.8,.25,1) infinite;filter:drop-shadow(0 14px 16px rgba(0,0,0,.4))}
.pr-flame{position:absolute;left:50%;bottom:8px;width:26px;height:42px;margin-left:-13px;z-index:1;
  border-radius:50% 50% 42% 42%;background:radial-gradient(circle at 50% 18%,#fff6c8,#ff9a3a 42%,#ff4d1a 72%,transparent);
  filter:blur(.5px);animation:pr-flame 1.9s ease-in-out infinite}
@keyframes pr-hop{0%{transform:translateY(8px) scale(1.05,.9)}30%{transform:translateY(-22px) scale(.95,1.08)}
  55%{transform:translateY(-2px) scale(1,1)}72%{transform:translateY(7px) scale(1.05,.9)}100%{transform:translateY(8px) scale(1.05,.9)}}
@keyframes pr-flame{0%,100%{transform:scaleY(.55) translateY(6px);opacity:.4}30%{transform:scaleY(1.3) translateY(0);opacity:1}62%{transform:scaleY(.5);opacity:.2}}

/* ===== Login hero — greeting ===== */
.lg-hi{position:relative;width:150px;height:146px;margin:0 auto 2px;display:grid;place-items:end center}
.lg-hi img{width:116px;transform-origin:50% 86%;animation:lg-nod 2.8s var(--e) infinite;
  filter:drop-shadow(0 12px 20px rgba(139,92,246,.4))}
@keyframes lg-nod{0%,24%,100%{transform:rotate(0)}42%{transform:rotate(9deg)}58%{transform:rotate(-4deg)}}

/* ===== Closing CTA — liftoff ===== */
.liftoff{position:relative;width:150px;height:172px;margin:0 auto 8px}
.lo-astro{position:absolute;left:50%;bottom:28px;width:104px;margin-left:-52px;z-index:3;
  animation:lo-hover 2.4s ease-in-out infinite;filter:drop-shadow(0 12px 14px rgba(0,0,0,.4))}
.lo-flame{position:absolute;left:50%;bottom:8px;width:30px;height:60px;margin-left:-15px;z-index:2;
  border-radius:50% 50% 46% 46%;background:linear-gradient(180deg,#fff6c8,#ff9a3a 45%,#ff4d1a 78%,transparent);
  filter:blur(1px);transform-origin:50% 0;animation:lo-flame .5s ease-in-out infinite}
.lo-spark{position:absolute;left:50%;bottom:12px;width:5px;height:5px;margin-left:-2px;border-radius:50%;
  background:#ffd27d;z-index:1;animation:lo-spark 1.4s linear infinite}
.lo-spark.s2{animation-delay:.5s;margin-left:9px;background:#ff9a3a}
.lo-spark.s3{animation-delay:.9s;margin-left:-12px;background:#3ee0f2}
@keyframes lo-hover{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes lo-flame{0%,100%{transform:scaleY(.85) scaleX(1)}50%{transform:scaleY(1.18) scaleX(.9)}}
@keyframes lo-spark{0%{transform:translateY(0);opacity:1}100%{transform:translateY(48px);opacity:0}}

/* ===== Homepage revisions (Wix round) ===== */
/* Audience cards: equal width across all three (pills are hidden on desktop) */
@media(min-width:981px){
  #audience .grid-3{grid-template-columns:repeat(3,1fr)}
}
/* Why We Exist — left column placeholder mascot (final animation TBD) */
.wwe-vis{display:grid;place-items:center;padding:20px 0}
.wwe-astro{width:min(270px,74%);height:auto;animation:ab-drift 6s ease-in-out infinite;
  filter:drop-shadow(0 16px 30px rgba(62,224,242,.28))}
/* Reusable "half in / half out" mascot straddling a CTA container's top edge */
.cta-wrap{position:relative;padding-top:76px}
.cta-wrap .cta{padding-top:118px}   /* clear the mascot's lower half that overlaps into the box */
.cta-astro{position:absolute;left:50%;top:-26px;transform:translateX(-50%);width:118px;height:auto;z-index:5;
  pointer-events:none;animation:ab-drift 5s ease-in-out infinite;filter:drop-shadow(0 16px 24px rgba(0,0,0,.5))}
@media(max-width:600px){.cta-wrap{padding-top:52px}.cta-wrap .cta{padding-top:96px}.cta-astro{width:92px;top:-16px}}

/* ===== Launch revisions (Wix round) ===== */
/* Large two-column section mascots (placeholder pending final animation pick) */
.sec-astro-wrap{display:grid;place-items:center}
.sec-astro{width:min(380px,88%);height:auto;animation:ab-drift 6s ease-in-out infinite;
  filter:drop-shadow(0 18px 34px rgba(62,224,242,.28))}
/* Trailer carousel — content-width, center card enlarged, neighbors peeking */
.trailer-row{padding:16px calc(50% - 160px) 32px}
.trailer-card{flex:0 0 320px;scroll-snap-align:center;transition:transform .4s var(--e),opacity .4s}
.trailer-card:not(.tr-active){transform:scale(.82);opacity:.5}
.trailer-card.tr-active{transform:scale(1.02);opacity:1}
@media(max-width:560px){.trailer-row{padding:16px calc(50% - 39vw) 32px}.trailer-card{flex-basis:78vw}}
/* Beyond the Clusters — visually distinct, attention-cued */
.cluster-beyond{cursor:pointer;text-align:left;font-family:var(--display);font-weight:700;color:var(--ink);
  border:1px solid rgba(62,224,242,.5);background:linear-gradient(120deg,rgba(62,224,242,.14),rgba(139,92,246,.14),rgba(240,101,216,.14));
  animation:beyond-pulse 2.6s ease-in-out infinite}
.cluster-beyond .cluster-dot{background:conic-gradient(from 0deg,#3ee0f2,#8b5cf6,#f065d8,#3ee0f2)}
.cluster-beyond:hover{border-color:var(--cyan);transform:translateY(-2px)}
@keyframes beyond-pulse{0%,100%{box-shadow:0 0 0 0 rgba(62,224,242,0)}50%{box-shadow:0 0 0 3px rgba(62,224,242,.18),0 0 26px rgba(139,92,246,.30)}}
/* Beyond the Clusters overlay */
.beyond-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px}
.beyond-scrim{position:absolute;inset:0;background:rgba(2,3,8,.72);backdrop-filter:blur(4px)}
.beyond-box{position:relative;z-index:1;max-width:560px;padding:34px 36px;text-align:left}
.beyond-box h3{font-size:24px;margin:14px 0 12px}
.beyond-box p{color:var(--muted);font-size:15.5px;line-height:1.62}
.beyond-close{position:absolute;top:12px;right:16px;background:none;border:none;color:var(--muted);font-size:26px;line-height:1;cursor:pointer}
.beyond-close:hover{color:var(--ink)}

/* Fix: keep the Beyond overlay hidden until opened (class rule was overriding [hidden]) */
.beyond-modal[hidden]{display:none}
/* Launch hero: fill the first screen (push "A Common Problem" below the fold) and give the headline room for ~3 lines */
body[data-page="launch"] .hero{min-height:calc(100dvh - 72px);display:grid;align-items:center}
body[data-page="launch"] .hero-grid{grid-template-columns:1.3fr .7fr}
@media(max-width:980px){
  body[data-page="launch"] .hero{min-height:0;display:block}
  body[data-page="launch"] .hero-grid{grid-template-columns:1fr}
}

/* ===== About — Our Mission two-column (Wix round) ===== */
.about-mission{grid-template-columns:1.28fr .72fr;align-items:center}
.about-mission h2{font-size:clamp(31px,4.4vw,52px);margin-top:16px}
.about-mission .mission-live{display:block;margin-top:8px}
.about-mission p{color:#c9d2f5;font-size:16.5px}
@media(max-width:900px){.about-mission{grid-template-columns:1fr}.about-mission .sec-astro-wrap{order:-1}}

/* ===== Homepage hero fills the first screen: ticker ends the fold, stats cards
   stay below it and reveal on scroll (Wix round) ===== */
body[data-page="home"] .hero{min-height:calc(100dvh - 72px);display:flex;flex-direction:column;justify-content:center;padding-bottom:0}
body[data-page="home"] .hero .hero-grid{flex:1 1 auto;align-content:center}
body[data-page="home"] .hero > .wrap:last-child{margin-top:auto}
@media(max-width:900px){
  body[data-page="home"] .hero{min-height:0;display:block;padding-bottom:36px}
  body[data-page="home"] .hero .hero-grid{flex:none}
  body[data-page="home"] .hero > .wrap:last-child{margin-top:0}
}

/* ===== Homepage tweaks (Wix round) ===== */
/* Dial back the hero eyebrow so it reads as a kicker under the headline, not a peer */
body[data-page="home"] .hero .eyebrow{font-size:10.5px;letter-spacing:.16em}
/* "Who is this for?" cards: drop the tag pills on desktop (kept on mobile) */
@media(min-width:761px){#audience .card .tags{display:none}}

/* ===== Honest stories: bigger selling-point text, aligned to the video height (Wix round) ===== */
#watch .split{align-items:stretch}
#watch .split > .reveal:first-child{display:flex;flex-direction:column;justify-content:center}
#watch .flist{gap:26px}
#watch .flist .fi{width:38px;height:38px}
#watch .flist h4{font-size:18px}
#watch .flist p{font-size:15.5px;line-height:1.6;margin-top:4px}
#watch .split > .reveal:first-child > p:last-child{margin-top:26px}

/* ===== Launch hero + See-for-yourself carousel (Wix round) ===== */
/* Kicker eyebrow a touch smaller (match homepage) */
body[data-page="launch"] .hero .eyebrow{font-size:10.5px;letter-spacing:.16em}
/* Keep "where to start?" on its own line */
.lh-h1-break{display:block}
/* Carousel: hide the native scrollbar (arrows + autoplay drive it instead) */
.trailer-row{scrollbar-width:none;-ms-overflow-style:none}
.trailer-row::-webkit-scrollbar{display:none;width:0;height:0}
/* Arrow navigation */
.trailer-carousel-wrap{position:relative}
.tr-arrow{position:absolute;top:40%;transform:translateY(-50%);z-index:6;width:46px;height:46px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;color:var(--ink);cursor:pointer;
  background:rgba(10,15,31,.72);border:1px solid var(--line-2);backdrop-filter:blur(8px);
  box-shadow:0 10px 26px -10px rgba(0,0,0,.7);transition:background .2s,border-color .2s,transform .2s}
.tr-arrow:hover{background:rgba(20,26,48,.92);border-color:var(--cyan);color:#bff6ff}
.tr-arrow:active{transform:translateY(-50%) scale(.94)}
.tr-arrow-prev{left:max(8px,calc((100vw - var(--maxw,1280px))/2 - 8px))}
.tr-arrow-next{right:max(8px,calc((100vw - var(--maxw,1280px))/2 - 8px))}
@media(max-width:560px){.tr-arrow{width:38px;height:38px}.tr-arrow-prev{left:4px}.tr-arrow-next{right:4px}}
@media(prefers-reduced-motion:reduce){.trailer-row{scroll-behavior:auto}}

/* ===== Launch — featured testimonial under A Common Problem (Wix round) ===== */
.q-feature{max-width:860px;margin:0 auto;text-align:center;padding:40px 46px;border-radius:24px}
.q-feature .st{font-size:15px;letter-spacing:3px}
.q-feature blockquote{font-size:18.5px;line-height:1.64;color:var(--ink);margin:18px 0 24px}
.q-feature .who{justify-content:center}
@media(max-width:600px){.q-feature{padding:30px 24px}.q-feature blockquote{font-size:16.5px}}

/* ===== See-for-yourself carousel → seamless marquee with spotlighted center (Wix round) ===== */
.trailer-row{overflow:hidden;padding:48px 0;scroll-snap-type:none;
  -webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.trailer-track{display:flex;gap:60px;width:max-content;will-change:transform;animation:tr-marquee 90s linear infinite}
.trailer-row:hover .trailer-track,.trailer-row.tr-hold .trailer-track{animation-play-state:paused}
@keyframes tr-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.trailer-card{flex:0 0 300px;position:relative;transition:transform .45s var(--e)}
.trailer-card:not(.tr-active){transform:scale(1);opacity:1}   /* sides stay their normal size */
.trailer-card.tr-active{transform:scale(1.3);opacity:1;z-index:3}   /* center pops forward, bigger */
@media(max-width:560px){.trailer-card{flex-basis:76vw}.trailer-card.tr-active{transform:scale(1.1)}}
@media(prefers-reduced-motion:reduce){.trailer-track{animation:none}}
/* Featured testimonial: left-align the name so it lines up with the role line */
.q-feature .who > div:last-child{text-align:left}

/* Launch closing CTA: keep the "Explore individual and homeschool plans" link on one line */
@media(min-width:480px){.cta-sub a{white-space:nowrap}}

/* Georgia — career-video carousel under the pillars */
.ga-vid-carousel{margin:34px auto 0;max-width:1080px}
/* Georgia carousel: pulled in from the page edges and fading further into the
   starfield on both sides, so the cards read as drifting through space. */
#gaCarousel{-webkit-mask:linear-gradient(90deg,transparent 0,#000 18%,#000 82%,transparent 100%);mask:linear-gradient(90deg,transparent 0,#000 18%,#000 82%,transparent 100%)}

/* Contact — floating astrodude filling the info column beside the form */
.contact-astro{display:grid;place-items:center;margin-top:22px;padding:12px 0}
.contact-astro img{width:min(300px,82%);height:auto;animation:ab-drift 6s ease-in-out infinite;filter:drop-shadow(0 18px 34px rgba(62,224,242,.28))}
@media(max-width:760px){.contact-astro{display:none}}

/* Login: let the mascot box fit the image (it was overflowing) and add a clean gap
   under it now that the eyebrow pill is gone */
body[data-page="login"] .lg-hi{height:auto;margin:0 auto 16px}
body[data-page="login"] .lg-hi img{width:130px;transform-origin:50% 92%;animation:lg-wave 2.6s ease-in-out infinite}
@keyframes lg-wave{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(6deg)}}
@media(prefers-reduced-motion:reduce){body[data-page="login"] .lg-hi img{animation:none}}

/* Mobile menu fix: header.scrolled's backdrop-filter makes the header the containing
   block for the fixed drawer, trapping it after any scroll. Drop the filter while the
   menu is open so the drawer anchors to the viewport (full height) again. */
body.lock #hdr{backdrop-filter:none;-webkit-backdrop-filter:none}

/* ===== Blog + Story (SEO content pages) ===== */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:8px}
.blog-card{display:flex;flex-direction:column;overflow:hidden;text-decoration:none;color:inherit;transition:transform .4s var(--e)}
.blog-card:hover{transform:translateY(-8px)}
.blog-card .bc-top{aspect-ratio:16/9;background:center/cover no-repeat,linear-gradient(150deg,#0c1330,#3a1f5c);position:relative}
.blog-card .bc-cat{position:absolute;top:12px;left:12px;font-size:11px;font-weight:700;letter-spacing:.03em;padding:5px 11px;border-radius:100px;background:rgba(4,5,12,.6);border:1px solid rgba(255,255,255,.24);backdrop-filter:blur(5px)}
.blog-card .bc-body{padding:18px 20px 22px}
.blog-card h3{font-family:var(--display);font-weight:700;font-size:18.5px;line-height:1.3}
.blog-card p{color:var(--muted);font-size:14px;margin-top:8px;line-height:1.55}
.blog-card .bc-meta{color:var(--muted-2);font-size:12.5px;margin-top:14px}
.article-meta{color:var(--muted-2);font-size:14px;margin-top:18px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.article-meta span{display:inline-flex;align-items:center;gap:6px}
.prose h3{font-family:var(--display);font-weight:700;font-size:22px;margin-top:28px}
.prose ul,.prose ol{color:#c9d2f5;font-size:17px;margin:14px 0 0;padding-left:22px}
.prose li{margin-top:9px}
.prose a{color:var(--cyan)}
.prose blockquote{border-left:3px solid var(--cyan);margin:22px 0;padding:6px 0 6px 20px;color:#e6ebff;font-size:19px;font-style:italic}
.story-player{max-width:900px;margin:0 auto 8px;border-radius:16px;overflow:hidden;border:1px solid var(--line-2);background:#05060f}
.story-player .frame{position:relative;aspect-ratio:16/9}
.story-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.article-cta{max-width:760px;margin:40px auto 0}
.article-cta .cta-box{text-align:center;padding:34px 28px}
.article-cta h2{font-size:clamp(24px,3vw,34px);font-weight:800}
.article-cta p{color:var(--muted);margin:12px auto 20px;max-width:52ch}
@media(max-width:980px){.blog-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.blog-grid{grid-template-columns:1fr}}
