/* AUREN — Landing page part 2: how it works, use cases, token, roadmap, stats, CTA, footer + assembly */
const D2 = window.AURENData;

/* ---------------- How it works ---------------- */
function HowItWorks() {
  const steps = [
    { n: '01', icon: 'gpu', title: 'Connect capacity', desc: 'Providers onboard GPU clusters. Each node joins the mesh with unified addressing and live telemetry.' },
    { n: '02', icon: 'route', title: 'Route workloads', desc: 'The routing engine matches inference and compute jobs to the lowest-latency, lowest-cost capacity in real time.' },
    { n: '03', icon: 'scale', title: 'Scale autonomously', desc: 'Capacity expands and contracts against demand. Failover and balancing happen without operators.' },
    { n: '04', icon: 'settle', title: 'Settle instantly', desc: 'Execution is metered and settled through Idle-powered rails. Providers earn automatically, per job.' },
  ];
  return (
    <section id="how" style={{ padding: 'clamp(80px,12vh,140px) 0' }}>
      <div style={{ maxWidth: 'var(--maxw)', margin: '0 auto', padding: '0 28px' }}>
        <Reveal><SectionHead eyebrow="How it works" title="Four steps from idle silicon to settled compute" center /></Reveal>
        <div className="how-grid" style={{ display: 'grid', gridTemplateColumns: 'repeat(4,1fr)', gap: 18, marginTop: 60, position: 'relative' }}>
          <div className="how-line" style={{ position: 'absolute', top: 36, left: '12%', right: '12%', height: 1, background: 'linear-gradient(90deg, transparent, var(--line-cyan), transparent)', zIndex: 0 }} />
          {steps.map((s, i) => (
            <Reveal key={s.n} delay={i * 90}>
              <div style={{ textAlign: 'center', position: 'relative', zIndex: 1 }}>
                <div style={{ width: 72, height: 72, margin: '0 auto 22px', borderRadius: '50%', display: 'flex', alignItems: 'center', justifyContent: 'center', background: 'var(--bg-0)', border: '1px solid var(--line-cyan)', color: 'var(--cyan)', boxShadow: '0 0 0 6px var(--bg-0), 0 0 24px rgba(24,224,255,0.18)', position: 'relative' }}>
                  <Icon name={s.icon} size={28} stroke={1.5} />
                  <span className="font-mono" style={{ position: 'absolute', top: -8, right: -8, fontSize: 11, color: 'var(--text-3)', background: 'var(--bg-0)', padding: '2px 6px', borderRadius: 6, border: '1px solid var(--line)' }}>{s.n}</span>
                </div>
                <h3 className="font-display" style={{ fontSize: 17.5, fontWeight: 600, color: '#fff', marginBottom: 10 }}>{s.title}</h3>
                <p style={{ color: 'var(--text-2)', fontSize: 14, lineHeight: 1.6, maxWidth: 240, margin: '0 auto', textWrap: 'pretty' }}>{s.desc}</p>
              </div>
            </Reveal>
          ))}
        </div>
      </div>
    </section>
  );
}

/* ---------------- Use cases ---------------- */
function UseCases() {
  const [active, setActive] = useState(0);
  const uc = D2.useCases;
  return (
    <section style={{ padding: 'clamp(80px,12vh,140px) 0', background: 'var(--bg-1)', borderTop: '1px solid var(--line)', borderBottom: '1px solid var(--line)' }}>
      <div style={{ maxWidth: 'var(--maxw)', margin: '0 auto', padding: '0 28px' }}>
        <div className="uc-wrap" style={{ display: 'grid', gridTemplateColumns: '0.9fr 1.1fr', gap: 56, alignItems: 'center' }}>
          <div>
            <Reveal><SectionHead eyebrow="Use cases" title="Built for machine-native workloads" /></Reveal>
            <div style={{ marginTop: 32, display: 'flex', flexDirection: 'column', gap: 4 }}>
              {uc.map((u, i) => (
                <Reveal key={u.k} delay={i * 50}>
                  <button onClick={() => setActive(i)} onMouseEnter={() => setActive(i)} style={{
                    width: '100%', textAlign: 'left', background: active === i ? 'rgba(24,224,255,0.05)' : 'transparent',
                    border: 'none', borderLeft: '2px solid ' + (active === i ? 'var(--cyan)' : 'var(--line)'),
                    padding: '16px 20px', cursor: 'pointer', transition: 'all .3s var(--ease)', borderRadius: '0 8px 8px 0',
                  }}>
                    <div style={{ display: 'flex', alignItems: 'center', justifyContent: 'space-between' }}>
                      <span className="font-display" style={{ fontSize: 17, fontWeight: 600, color: active === i ? '#fff' : 'var(--text-2)', transition: 'color .3s' }}>{u.k}</span>
                      <span style={{ color: 'var(--cyan)', opacity: active === i ? 1 : 0, transform: active === i ? 'translateX(0)' : 'translateX(-8px)', transition: 'all .3s' }}><Icon name="arrow" size={18} /></span>
                    </div>
                    <div style={{ maxHeight: active === i ? 60 : 0, opacity: active === i ? 1 : 0, overflow: 'hidden', transition: 'all .35s var(--ease)' }}>
                      <p style={{ color: 'var(--text-2)', fontSize: 14, marginTop: 8, lineHeight: 1.55 }}>{u.d}</p>
                    </div>
                  </button>
                </Reveal>
              ))}
            </div>
          </div>
          <Reveal delay={120}>
            <Panel glow style={{ aspectRatio: '1/1', display: 'flex', alignItems: 'center', justifyContent: 'center', overflow: 'hidden', position: 'relative' }}>
              <UseCaseVisual idx={active} />
            </Panel>
          </Reveal>
        </div>
      </div>
    </section>
  );
}
function UseCaseVisual({ idx }) {
  const ref = useThreeScene((c) => window.AURENThree.orbitNode(c), []);
  return (
    <>
      <div ref={ref} style={{ position: 'absolute', inset: 0 }} />
      <div style={{ position: 'absolute', inset: 0, background: 'radial-gradient(circle at center, transparent 40%, var(--bg-1))', pointerEvents: 'none' }} />
      <div style={{ position: 'relative', zIndex: 2, textAlign: 'center', padding: 30 }}>
        <div className="font-mono" style={{ fontSize: 12, color: 'var(--cyan)', letterSpacing: '.2em', marginBottom: 8 }}>USE CASE {String(idx + 1).padStart(2, '0')}</div>
        <div className="font-display" style={{ fontSize: 26, fontWeight: 700, color: '#fff' }}>{D2.useCases[idx].k}</div>
      </div>
    </>
  );
}

/* ---------------- Token section + price chart ---------------- */
function PriceChart({ data, w = 560, h = 240 }) {
  const [hover, setHover] = useState(null);
  const pad = { l: 0, r: 0, t: 16, b: 16 };
  const { pts, area, line, min, max } = useMemo(() => {
    const min = Math.min(...data), max = Math.max(...data);
    const rng = max - min || 1;
    const iw = w - pad.l - pad.r, ih = h - pad.t - pad.b;
    const pts = data.map((v, i) => [pad.l + (i / (data.length - 1)) * iw, pad.t + ih - ((v - min) / rng) * ih]);
    const line = pts.map((p, i) => (i ? 'L' : 'M') + p[0].toFixed(1) + ' ' + p[1].toFixed(1)).join(' ');
    const area = line + ` L${w - pad.r} ${h - pad.b} L${pad.l} ${h - pad.b} Z`;
    return { pts, area, line, min, max };
  }, [data, w, h]);
  function onMove(e) {
    const r = e.currentTarget.getBoundingClientRect();
    const x = (e.clientX - r.left) / r.width * w;
    const idx = Math.round((x / w) * (data.length - 1));
    if (idx >= 0 && idx < data.length) setHover({ idx, p: pts[idx] });
  }
  return (
    <svg viewBox={`0 0 ${w} ${h}`} style={{ width: '100%', height: 'auto', display: 'block', cursor: 'crosshair' }}
      onMouseMove={onMove} onMouseLeave={() => setHover(null)} preserveAspectRatio="none">
      <defs>
        <linearGradient id="pcg" x1="0" y1="0" x2="0" y2="1">
          <stop offset="0" stopColor="var(--cyan)" stopOpacity="0.32" />
          <stop offset="1" stopColor="var(--cyan)" stopOpacity="0" />
        </linearGradient>
      </defs>
      {[0.25, 0.5, 0.75].map(g => <line key={g} x1="0" x2={w} y1={pad.t + g * (h - pad.t - pad.b)} y2={pad.t + g * (h - pad.t - pad.b)} stroke="var(--line)" strokeDasharray="3 5" />)}
      <path d={area} fill="url(#pcg)" />
      <path d={line} fill="none" stroke="var(--cyan)" strokeWidth="2.2" strokeLinejoin="round" style={{ filter: 'drop-shadow(0 0 6px rgba(24,224,255,0.5))' }} />
      {hover && (
        <g>
          <line x1={hover.p[0]} x2={hover.p[0]} y1={pad.t} y2={h - pad.b} stroke="var(--line-cyan)" />
          <circle cx={hover.p[0]} cy={hover.p[1]} r="4.5" fill="var(--cyan)" stroke="#021018" strokeWidth="2" />
          <g transform={`translate(${Math.min(Math.max(hover.p[0], 40), w - 40)}, ${Math.max(hover.p[1] - 14, 14)})`}>
            <rect x="-34" y="-16" width="68" height="22" rx="5" fill="var(--surface-2)" stroke="var(--line-cyan)" />
            <text x="0" y="-1" textAnchor="middle" fill="#fff" fontSize="12" fontFamily="var(--font-mono)">${data[hover.idx].toFixed(3)}</text>
          </g>
        </g>
      )}
    </svg>
  );
}
function TokenSection() {
  const t = D2.tokenInfo;
  return (
    <section id="token" style={{ padding: 'clamp(80px,12vh,140px) 0' }}>
      <div style={{ maxWidth: 'var(--maxw)', margin: '0 auto', padding: '0 28px' }}>
        <Reveal><SectionHead eyebrow="$AUREN token" title="The coordination asset of the mesh" sub="Stake to secure capacity, earn for contributing compute, and govern the network. Settlement runs on Idle-powered rails." center /></Reveal>
        <div className="token-grid" style={{ display: 'grid', gridTemplateColumns: '1.4fr 1fr', gap: 24, marginTop: 56 }}>
          <Reveal>
            <Panel glow style={{ padding: 28 }}>
              <div style={{ display: 'flex', alignItems: 'flex-start', justifyContent: 'space-between', flexWrap: 'wrap', gap: 16, marginBottom: 18 }}>
                <div>
                  <div style={{ display: 'flex', alignItems: 'center', gap: 10, marginBottom: 8 }}>
                    <img src="assets/auren-logo.png" style={{ height: 30, width: 30 }} alt="" />
                    <span className="font-display" style={{ fontSize: 18, fontWeight: 700, color: '#fff' }}>AUREN</span>
                    <Badge color="gray">/ USDC</Badge>
                  </div>
                  <div style={{ display: 'flex', alignItems: 'baseline', gap: 12 }}>
                    <span className="font-display" style={{ fontSize: 38, fontWeight: 700, color: 'var(--text-3)' }}>$ —.———</span>
                  </div>
                </div>
                <Badge color="cyan" dot>Pre-launch</Badge>
              </div>
              {/* Coming-soon chart placeholder */}
              <div style={{ position: 'relative', height: 240, borderRadius: 'var(--r-md)', overflow: 'hidden', border: '1px solid var(--line)', background: 'linear-gradient(180deg, rgba(24,224,255,0.02), transparent)' }}>
                {/* ghost gridlines */}
                <svg width="100%" height="100%" style={{ position: 'absolute', inset: 0, opacity: 0.5 }} preserveAspectRatio="none">
                  {[0.25, 0.5, 0.75].map(g => <line key={g} x1="0" x2="100%" y1={g * 240} y2={g * 240} stroke="var(--line)" strokeDasharray="3 6" />)}
                  <path d="M0 180 C 80 160, 140 200, 220 150 S 360 120, 460 140 S 600 90, 720 110" fill="none" stroke="var(--line-cyan)" strokeWidth="2" strokeDasharray="5 7" style={{ opacity: 0.5 }} />
                </svg>
                <div style={{ position: 'absolute', inset: 0, display: 'flex', flexDirection: 'column', alignItems: 'center', justifyContent: 'center', gap: 12, textAlign: 'center', padding: 20 }}>
                  <div style={{ width: 54, height: 54, borderRadius: '50%', display: 'flex', alignItems: 'center', justifyContent: 'center', background: 'rgba(24,224,255,0.08)', border: '1px solid var(--line-cyan)', color: 'var(--cyan)', boxShadow: 'var(--glow-soft)', animation: 'pulse-glow 2.4s ease infinite' }}>
                    <Icon name="trend" size={24} />
                  </div>
                  <div className="font-display" style={{ fontSize: 20, fontWeight: 700, color: '#fff' }}>Live market data — Coming soon</div>
                  <div style={{ fontSize: 13.5, color: 'var(--text-2)', maxWidth: 360, lineHeight: 1.5 }}>Price, charts and on-chain metrics go live at the $AUREN token launch. Follow the roadmap for the listing date.</div>
                </div>
              </div>
              <div style={{ display: 'grid', gridTemplateColumns: 'repeat(4,1fr)', gap: 12, marginTop: 20, borderTop: '1px solid var(--line)', paddingTop: 18 }}>
                {['Market Cap', '24h Vol', 'Circulating', 'Total Supply'].map((k, i) => (
                  <div key={k}>
                    <div style={{ fontSize: 11.5, color: 'var(--text-3)', marginBottom: 5, fontFamily: 'var(--font-mono)', letterSpacing: '.03em' }}>{k}</div>
                    <div className="font-display" style={{ fontSize: 17, fontWeight: 600, color: i === 3 ? '#fff' : 'var(--text-3)' }}>{i === 3 ? D2.fmt.compact(t.totalSupply) : 'TBA'}</div>
                  </div>
                ))}
              </div>
            </Panel>
          </Reveal>
          <Reveal delay={120}>
            <div style={{ display: 'grid', gridTemplateColumns: '1fr 1fr', gap: 14, height: '100%' }}>
              {D2.tokenUtility.map((u, i) => {
                const icons = ['staking', 'workloads', 'route', 'mesh', 'settle', 'governance'];
                return (
                <Panel key={u.k} hover style={{ padding: 20, display: 'flex', flexDirection: 'column', gap: 10, position: 'relative', overflow: 'hidden' }}>
                  <span style={{ position: 'absolute', top: 12, right: 14, fontFamily: 'var(--font-mono)', fontSize: 10, color: 'var(--text-3)', letterSpacing: '.05em' }}>0{i + 1}</span>
                  <span style={{ position: 'absolute', top: 0, left: 0, width: 14, height: 14, borderTop: '1px solid var(--line-cyan)', borderLeft: '1px solid var(--line-cyan)', opacity: 0.5 }} />
                  <div style={{ width: 40, height: 40, borderRadius: 10, display: 'flex', alignItems: 'center', justifyContent: 'center', background: 'linear-gradient(150deg, rgba(24,224,255,0.16), rgba(24,224,255,0.03))', border: '1px solid var(--line-cyan)', color: 'var(--cyan)', boxShadow: 'inset 0 0 14px rgba(24,224,255,0.14)' }}><Icon name={icons[i]} size={20} stroke={1.5} /></div>
                  <div className="font-display" style={{ fontSize: 14.5, fontWeight: 600, color: '#fff', lineHeight: 1.2 }}>{u.k}</div>
                  <div style={{ fontSize: 12.5, color: 'var(--text-2)', lineHeight: 1.5 }}>{u.d}</div>
                </Panel>
                );
              })}
            </div>
          </Reveal>
        </div>
      </div>
    </section>
  );
}

/* ---------------- Roadmap ---------------- */
function Roadmap() {
  const colorFor = (s) => s === 'done' ? 'green' : s === 'active' ? 'cyan' : 'gray';
  const labelFor = (s) => s === 'done' ? 'Shipped' : s === 'active' ? 'In progress' : 'Planned';
  return (
    <section id="roadmap" style={{ padding: 'clamp(80px,12vh,140px) 0', background: 'var(--bg-1)', borderTop: '1px solid var(--line)', borderBottom: '1px solid var(--line)' }}>
      <div style={{ maxWidth: 'var(--maxw)', margin: '0 auto', padding: '0 28px' }}>
        <Reveal><SectionHead eyebrow="Roadmap" title="From foundation to a machine economy" center /></Reveal>
        <div className="road-grid" style={{ display: 'grid', gridTemplateColumns: 'repeat(4,1fr)', gap: 18, marginTop: 56 }}>
          {D2.roadmap.map((p, i) => (
            <Reveal key={p.phase} delay={i * 80}>
              <Panel hover style={{ padding: 26, height: '100%', borderColor: p.status === 'active' ? 'var(--line-cyan)' : 'var(--line)', boxShadow: p.status === 'active' ? 'var(--glow-soft)' : 'none' }}>
                <div style={{ display: 'flex', alignItems: 'center', justifyContent: 'space-between', marginBottom: 18 }}>
                  <span className="font-mono" style={{ fontSize: 12, color: 'var(--text-3)', letterSpacing: '.1em' }}>{p.phase}</span>
                  <Badge color={colorFor(p.status)} dot={p.status === 'active'}>{labelFor(p.status)}</Badge>
                </div>
                <h3 className="font-display" style={{ fontSize: 20, fontWeight: 700, color: '#fff', marginBottom: 18 }}>{p.name}</h3>
                <div style={{ display: 'flex', flexDirection: 'column', gap: 11 }}>
                  {p.items.map((it, j) => (
                    <div key={j} style={{ display: 'flex', alignItems: 'flex-start', gap: 10, fontSize: 13.5, color: p.status === 'done' ? 'var(--text-2)' : 'var(--text-1)' }}>
                      <span style={{ color: p.status === 'done' ? 'var(--green)' : p.status === 'active' ? 'var(--cyan)' : 'var(--text-3)', marginTop: 2, display: 'flex', flexShrink: 0 }}>
                        <Icon name={p.status === 'done' ? 'check' : 'arrow'} size={14} />
                      </span>{it}
                    </div>
                  ))}
                </div>
              </Panel>
            </Reveal>
          ))}
        </div>
      </div>
    </section>
  );
}

/* ---------------- Live network band ---------------- */
function LiveBand() {
  const s = D2.networkStats;
  const items = [
    { v: s.tps, label: 'Settlement TPS', dec: 0, suffix: '' },
    { v: s.avgLatency, label: 'Avg latency (ms)', dec: 0 },
    { v: s.utilization, label: 'Mesh utilization', dec: 1, suffix: '%' },
    { v: s.uptime, label: 'Network uptime', dec: 3, suffix: '%' },
  ];
  return (
    <section style={{ padding: 'clamp(70px,10vh,110px) 0', position: 'relative', overflow: 'hidden' }}>
      <div style={{ maxWidth: 'var(--maxw)', margin: '0 auto', padding: '0 28px' }}>
        <Reveal><SectionHead eyebrow="Live network" title="Coordinating compute right now" center /></Reveal>
        <div className="live-grid" style={{ display: 'grid', gridTemplateColumns: 'repeat(4,1fr)', gap: 18, marginTop: 48 }}>
          {items.map((it, i) => (
            <Reveal key={it.label} delay={i * 70}>
              <Panel style={{ padding: '30px 24px', textAlign: 'center' }}>
                <LiveNum {...it} />
                <div style={{ fontSize: 13, color: 'var(--text-2)', marginTop: 8, fontFamily: 'var(--font-mono)', letterSpacing: '.03em' }}>{it.label}</div>
              </Panel>
            </Reveal>
          ))}
        </div>
      </div>
    </section>
  );
}
function LiveNum({ v, dec, suffix = '' }) {
  const n = useCountUp(v, 2000, dec);
  return <div className="font-display text-cyan-grad" style={{ fontSize: 'clamp(30px,4vw,44px)', fontWeight: 700 }}>{n.toLocaleString('en-US', { minimumFractionDigits: dec, maximumFractionDigits: dec })}{suffix}</div>;
}

/* ---------------- CTA + Footer ---------------- */
function CTASection({ go }) {
  return (
    <section style={{ padding: 'clamp(80px,12vh,130px) 0' }}>
      <div style={{ maxWidth: 'var(--maxw)', margin: '0 auto', padding: '0 28px' }}>
        <Reveal>
          <Panel glow style={{ padding: 'clamp(40px,7vw,80px)', textAlign: 'center', position: 'relative', overflow: 'hidden', borderColor: 'var(--line-cyan)' }}>
            <div style={{ position: 'absolute', inset: 0, background: 'radial-gradient(ellipse 50% 70% at 50% 0%, rgba(24,224,255,0.16), transparent 70%)', pointerEvents: 'none' }} />
            <div style={{ position: 'relative', zIndex: 2 }}>
              <h2 className="font-display" style={{ fontSize: 'clamp(28px,5vw,52px)', fontWeight: 800, lineHeight: 1.05, marginBottom: 20 }}>
                <span className="text-chrome">Plug into the </span><span className="text-cyan-grad">mesh</span>
              </h2>
              <p style={{ fontSize: 'clamp(15px,2vw,18px)', color: 'var(--text-2)', maxWidth: 520, margin: '0 auto 36px', lineHeight: 1.6 }}>
                Onboard GPUs, route autonomous workloads, and settle compute instantly. The infrastructure layer for AI is open.
              </p>
              <div style={{ display: 'flex', gap: 14, justifyContent: 'center', flexWrap: 'wrap' }}>
                <Button variant="primary" size="lg" iconRight="arrow" onClick={() => go('auth-signup')}>Launch App</Button>
                <Button variant="outline" size="lg" onClick={() => go('auth-login')}>Sign in</Button>
              </div>
            </div>
          </Panel>
        </Reveal>
      </div>
    </section>
  );
}
function Footer({ go }) {
  const cols = [
    ['Product', ['Compute Mesh', 'GPU Coordination', 'Routing Engine', 'Settlement']],
    ['Network', ['Explorer', 'Nodes', 'Staking', 'Governance']],
    ['Resources', ['Docs', 'Guide', 'FAQ', 'Brand kit']],
    ['Protocol', ['Idle Protocol', 'Tokenomics', 'Audits', 'Security']],
  ];
  return (
    <footer style={{ borderTop: '1px solid var(--line)', background: 'var(--bg-1)', paddingTop: 70 }}>
      <div style={{ maxWidth: 'var(--maxw)', margin: '0 auto', padding: '0 28px 40px' }}>
        <div className="foot-grid" style={{ display: 'grid', gridTemplateColumns: '1.6fr repeat(4,1fr)', gap: 40 }}>
          <div>
            <div style={{ display: 'flex', alignItems: 'center', gap: 12, marginBottom: 18 }}>
              <img src="assets/auren-logo.png" alt="AUREN" style={{ height: 40, width: 40 }} />
              <div>
                <div className="font-display" style={{ fontSize: 19, fontWeight: 800, letterSpacing: '.14em', color: '#fff' }}>AUREN</div>
                <div className="font-mono" style={{ fontSize: 10, color: 'var(--cyan)', letterSpacing: '.18em' }}>COMPUTE MESH</div>
              </div>
            </div>
            <p style={{ color: 'var(--text-2)', fontSize: 14, lineHeight: 1.6, maxWidth: 280 }}>The programmable compute mesh powering autonomous execution and distributed AI infrastructure.</p>
          </div>
          {cols.map(([h, items]) => (
            <div key={h}>
              <div className="font-mono" style={{ fontSize: 11.5, color: 'var(--text-3)', letterSpacing: '.16em', textTransform: 'uppercase', marginBottom: 16 }}>{h}</div>
              <div style={{ display: 'flex', flexDirection: 'column', gap: 11 }}>
                {items.map(it => <a key={it} href="#" onClick={e => e.preventDefault()} style={{ color: 'var(--text-2)', fontSize: 14, textDecoration: 'none', transition: 'color .2s' }} onMouseEnter={e => e.target.style.color = 'var(--cyan)'} onMouseLeave={e => e.target.style.color = 'var(--text-2)'}>{it}</a>)}
              </div>
            </div>
          ))}
        </div>
        <div style={{ display: 'flex', alignItems: 'center', justifyContent: 'space-between', flexWrap: 'wrap', gap: 16, marginTop: 50, paddingTop: 26, borderTop: '1px solid var(--line)' }}>
          <span style={{ fontSize: 13, color: 'var(--text-3)', fontFamily: 'var(--font-mono)' }}>© 2026 AUREN · Autonomous Compute Mesh</span>
          <span style={{ fontSize: 13, color: 'var(--text-3)', fontFamily: 'var(--font-mono)' }}>Powered by Idle Protocol</span>
        </div>
      </div>
    </footer>
  );
}

/* ---------------- Assembled Landing ---------------- */
function Landing({ go }) {
  useEffect(() => { window.scrollTo(0, 0); }, []);
  return (
    <div style={{ position: 'relative' }}>
      <MarketingNav go={go} />
      <Hero go={go} />
      <TrustBar />
      <ProblemSolution />
      <Features />
      <HowItWorks />
      <UseCases />
      <TokenSection />
      <Roadmap />
      <LiveBand />
      <CTASection go={go} />
      <Footer go={go} />
    </div>
  );
}

Object.assign(window, { HowItWorks, UseCases, TokenSection, PriceChart, Roadmap, LiveBand, CTASection, Footer, Landing });
