:root{
  --background:#050505;
  --foreground:#fafafa;
  --muted:#9a9a9a;
  --border:rgba(255,255,255,.14);
  --card:rgba(255,255,255,.03);
  --primary:#4a90ff;
  --primary-glow:rgba(74,144,255,.35);
  --primary-glow-soft:rgba(74,144,255,.18);
  --radius:999px;
  --font-sans:"Inter",ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
}
*{box-sizing:border-box;border-color:var(--border)}
html,body{margin:0;padding:0;background:var(--background);color:var(--foreground);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100%}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);letter-spacing:-.02em;font-weight:700;margin:0}
.font-mono{font-family:var(--font-mono)}
.page{position:relative;min-height:100vh;display:flex;flex-direction:column;overflow:hidden}
.hero-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 60% 50% at 50% 70%, rgba(80,120,255,.28), transparent 70%);animation:glow-pulse 3.6s ease-in-out infinite}
.vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 70% 55% at 50% 38%, rgba(0,0,0,.92), rgba(0,0,0,.55) 55%, transparent 80%)}
.container{max-width:1200px;margin:0 auto;padding:0 24px;width:100%}
.container-sm{max-width:820px;margin:0 auto;padding:0 24px;width:100%}
.container-md{max-width:960px;margin:0 auto;padding:0 24px;width:100%}

header.site{position:relative;z-index:10;padding:24px}
.nav{display:none;justify-content:center;align-items:center;gap:40px;font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgba(250,250,250,.8)}
.nav a{transition:color .2s}
.nav a:hover{color:#fff}
@media (min-width:768px){.nav{display:flex}}

.header-back{display:flex;align-items:center;justify-content:space-between;font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgba(250,250,250,.8);position:relative}
.header-back .center{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px}
.header-back .center span{font-weight:600;letter-spacing:.28em}
.header-back .center img{height:28px;width:28px}
.header-back a.back{display:inline-flex;align-items:center;gap:8px;transition:color .2s}
.header-back a.back:hover{color:#fff}
.header-back .spacer{width:80px}

main{position:relative;z-index:10;flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:56px 24px 96px}
@media(min-width:640px){main{padding-top:88px}}
h1.hero{font-size:40px;line-height:1.02;letter-spacing:-.03em;max-width:880px;text-shadow:0 2px 24px rgba(0,0,0,.9)}
@media(min-width:640px){h1.hero{font-size:60px}}
@media(min-width:768px){h1.hero{font-size:72px}}
.mono-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgba(250,250,250,.8);line-height:1.6}
.mono-tiny{font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.text-primary{color:var(--primary)}

.btn-row{margin-top:40px;display:flex;flex-direction:column;align-items:center;gap:12px}
@media(min-width:640px){.btn-row{flex-direction:row}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;height:48px;padding:0 28px;border-radius:999px;font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;transition:all .25s;border:1px solid var(--border);color:rgba(250,250,250,.85)}
.btn:hover{border-color:rgba(255,255,255,.4);color:#fff}
.btn.primary{border-color:rgba(74,144,255,.6);background:rgba(74,144,255,.05);color:#fff;box-shadow:inset 0 0 24px var(--primary-glow),0 0 32px var(--primary-glow-soft)}
.btn.primary:hover{background:rgba(74,144,255,.15);border-color:rgba(74,144,255,.8)}
.btn .arrow{transition:transform .25s}
.btn:hover .arrow{transform:translateX(3px)}

.link-underline{color:#fff;text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(255,255,255,.4)}
.link-underline:hover{text-decoration-color:#fff}

.marquee-wrap{margin-top:96px;width:100%;max-width:1100px}
@media(min-width:640px){.marquee-wrap{margin-top:128px}}
.marquee-mask{position:relative;margin-top:32px;overflow:hidden;-webkit-mask-image:linear-gradient(to right,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(to right,transparent,#000 10%,#000 90%,transparent)}
.marquee-track{display:flex;width:max-content;align-items:center;gap:40px;animation:marquee-x 60s linear infinite}
.marquee-track img{height:40px;width:40px;flex-shrink:0;object-fit:contain;opacity:.7;transition:opacity .2s}
.marquee-track img:hover{opacity:1}

.mobile-nav{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:40px;font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.mobile-nav a:hover{color:#fff}
.mobile-nav .dot{height:3px;width:3px;border-radius:50%;background:rgba(154,154,154,.4)}
@media(min-width:768px){.mobile-nav{display:none}}

/* Light cone */
.cone{position:absolute;left:50%;top:120px;transform:translateX(-50%);width:1600px;max-width:none;height:140vh;pointer-events:none}

/* Cards */
.section{width:100%;margin:0 auto 80px}
.section h2{font-size:20px;letter-spacing:-.02em;margin-bottom:32px;text-align:center}
@media(min-width:640px){.section h2{font-size:24px}}
.grid{display:grid;gap:20px}
.grid.cols-2{grid-template-columns:1fr}
@media(min-width:640px){.grid.cols-2{grid-template-columns:1fr 1fr}}
.grid.cols-3{grid-template-columns:1fr}
@media(min-width:640px){.grid.cols-3{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.grid.cols-3{grid-template-columns:repeat(3,1fr)}}
.card{border:1px solid var(--border);background:rgba(255,255,255,.025);border-radius:20px;padding:24px;backdrop-filter:blur(6px);transition:all .4s;text-align:left}
.card:hover{border-color:rgba(74,144,255,.4);transform:translateY(-4px);box-shadow:0 20px 40px -20px rgba(0,0,0,.6)}
.card .icon{width:40px;height:40px;border-radius:12px;background:rgba(74,144,255,.1);display:flex;align-items:center;justify-content:center;margin-bottom:16px;color:var(--primary);transition:transform .4s,background .4s}
.card:hover .icon{transform:scale(1.1);background:rgba(74,144,255,.2)}
.card h3{font-size:16px;margin-bottom:8px}
.card p{font-size:14px;color:var(--muted);line-height:1.55;margin:0}
.card.flat{border-radius:16px;padding:20px;background:rgba(255,255,255,.018)}
.card.flat:hover{transform:none;border-color:rgba(74,144,255,.3);box-shadow:none;background:rgba(255,255,255,.04)}
.card.flat h3{font-size:14px;margin-bottom:4px}

.text-left-block{text-align:left}
.req-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:16px;text-align:left}
.req-list li{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.55;color:rgba(250,250,250,.9)}
.req-list svg{flex-shrink:0;color:var(--primary);margin-top:2px}
.req-card{border:1px solid var(--border);background:rgba(255,255,255,.03);border-radius:20px;padding:32px;backdrop-filter:blur(6px)}

/* Timeline */
.timeline{position:relative;display:flex;flex-direction:column;gap:32px}
.tline-item{display:flex;gap:20px;align-items:flex-start;text-align:left}
.tline-step{flex-shrink:0;width:40px;height:40px;border-radius:50%;background:rgba(74,144,255,.1);border:1px solid rgba(74,144,255,.4);color:var(--primary);font-family:var(--font-mono);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;transition:all .4s}
.tline-step:hover{background:rgba(74,144,255,.2);transform:scale(1.1);box-shadow:0 0 24px rgba(74,144,255,.5)}
.tline-item h3{font-size:18px;margin-bottom:4px}
.tline-item p{font-size:14px;color:var(--muted);line-height:1.55;margin:0}

footer{position:relative;z-index:10;border-top:1px solid rgba(255,255,255,.06);background:rgba(0,0,0,.4);backdrop-filter:blur(6px);margin-top:auto}
footer .inner{max-width:960px;margin:0 auto;padding:40px 24px;display:flex;flex-direction:column;align-items:center;gap:20px}
footer .socials{display:flex;gap:20px}
footer .socials a{color:rgba(250,250,250,.5);transition:color .25s}
footer .socials a:hover{color:var(--primary)}
footer p{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;color:var(--muted);text-align:center;margin:0}

/* Animations */
@keyframes glow-pulse{0%,100%{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}
@keyframes marquee-x{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes rise-in{0%{opacity:0;transform:translateY(24px);filter:blur(6px)}100%{opacity:1;transform:translateY(0);filter:blur(0)}}
.rise{animation:rise-in 900ms cubic-bezier(.22,1,.36,1) both}
.reveal{opacity:0;transform:translateY(24px);filter:blur(6px);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1),filter .7s cubic-bezier(.22,1,.36,1)}
.reveal.is-visible{opacity:1;transform:translateY(0);filter:blur(0)}
@media(prefers-reduced-motion:reduce){.reveal,.rise{opacity:1;transform:none;filter:none;animation:none;transition:none}.hero-glow,.marquee-track{animation:none}}

.cta-block{text-align:center;margin-top:32px}
.cta-block p{margin-bottom:20px}
