:root {
  --bg:#000000; --fg:#f5f5f5; --muted:#9a9a9a; --card:rgba(255,255,255,.04); --line:rgba(255,255,255,.1);
  --blue:#e5e5e5; --violet:#8a8a8a; --indigo:#c4c4c4;
  --grad:linear-gradient(135deg,#ffffff,#9a9a9a);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--fg); font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; -webkit-font-smoothing:antialiased;
  background:
    radial-gradient(800px 500px at 15% -5%, rgba(255,255,255,.07), transparent 60%),
    radial-gradient(700px 500px at 90% 5%, rgba(255,255,255,.05), transparent 60%),
    var(--bg);
  background-attachment:fixed; }
a { color:inherit; text-decoration:none; }

.nav { position:sticky; top:0; z-index:10; display:flex; justify-content:space-between; align-items:center; padding:12px 20px;
  background:transparent; backdrop-filter:none; -webkit-backdrop-filter:none;
  border-bottom:1px solid transparent;
  transition:background .25s ease, border-color .25s ease, backdrop-filter .25s ease, -webkit-backdrop-filter .25s ease; }
.nav.is-scrolled { background:rgba(0,0,0,.7); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); border-bottom-color:var(--line); }
.brand { display:flex; align-items:center; gap:10px; font-weight:800; letter-spacing:.2em; font-size:.85rem; }
.brand img { border-radius:8px; }
.nav-cta { font-size:.85rem; font-weight:600; padding:8px 18px; border-radius:999px; background:var(--card); border:1px solid var(--line); transition:.2s; }
.nav-cta:hover { border-color:var(--indigo); box-shadow:0 0 20px rgba(255,255,255,.18); }

.hero { position:relative; text-align:center; padding:72px 20px 32px; overflow:visible; }
.glow { display:none; }
.pill { display:inline-flex; align-items:center; gap:8px; padding:6px 14px; border:1px solid var(--line); border-radius:999px; font-size:.78rem; letter-spacing:.05em; color:var(--muted); background:var(--card); backdrop-filter:blur(8px); }
.dot { width:8px; height:8px; border-radius:50%; background:#3ddc84; box-shadow:0 0 10px #3ddc84; }
h1 { margin:24px 0 14px; font-size:clamp(2.4rem,8vw,4.8rem); line-height:1.05; letter-spacing:-.035em; }
h1 em { font-style:normal; background:linear-gradient(90deg,#ffffff,#bdbdbd,#8a8a8a); -webkit-background-clip:text; background-clip:text; color:transparent; }
.lead { margin:0 auto 32px; max-width:480px; color:var(--muted); font-size:1.1rem; }
.cta { display:flex; flex-wrap:wrap; gap:12px; justify-content:center; }
.btn { display:inline-flex; align-items:center; gap:10px; padding:16px 32px; border-radius:999px; background:var(--grad); color:#000; font-weight:700; transition:transform .15s, box-shadow .2s; box-shadow:0 10px 36px rgba(255,255,255,.14); }
.btn-icon { flex:none; display:block; }
.btn:hover { transform:translateY(-2px); box-shadow:0 14px 48px rgba(255,255,255,.26); }
.btn.ghost { color:var(--fg); background:var(--card); border:1px solid var(--line); box-shadow:none; backdrop-filter:blur(8px); }
.btn.ghost:hover { border-color:var(--indigo); }
.meta { color:var(--muted); font-size:.85rem; margin:18px 0 0; }
.hash { color:var(--muted); font:11px ui-monospace,monospace; word-break:break-all; max-width:560px; margin:8px auto 0; }
.chips { list-style:none; display:flex; flex-wrap:wrap; gap:8px; justify-content:center; padding:0; margin:28px 0 0; }
.chips li { padding:6px 14px; border-radius:999px; background:var(--card); border:1px solid var(--line); font-size:.82rem; color:#d4d4d4; }

.reveal-up { will-change: transform, opacity; opacity:0; transform:translateY(48px); }
@media (prefers-reduced-motion:reduce) { .reveal-up { opacity:1; transform:none; } }

/* phone mockup — 3D tilt + scroll straighten (Vega-style) */
.phone-stage { position:relative; width:min(300px,88vw); max-width:100%; margin:44px auto 0;
  perspective:1200px; perspective-origin:50% 20%; display:flex; justify-content:center; }
.phone-glow { position:absolute; left:50%; top:12%; width:min(220px,70%); aspect-ratio:1; transform:translateX(-50%);
  background:linear-gradient(90deg,rgba(255,255,255,.28),rgba(190,190,190,.2),rgba(120,120,120,.25));
  filter:blur(48px); opacity:.55; pointer-events:none; animation:phone-glow-pulse 5s ease-in-out infinite; }
@keyframes phone-glow-pulse { 0%,100% { opacity:.45; transform:translateX(-50%) scale(1); } 50% { opacity:.62; transform:translateX(-50%) scale(1.06); } }

.phone { width:100%; padding:10px; border-radius:38px;
  background:linear-gradient(160deg,#2a2a2a,#0d0d0d); border:1px solid var(--line);
  box-shadow:0 30px 80px rgba(255,255,255,.12), 0 0 0 1px rgba(255,255,255,.04) inset;
  transform:perspective(1200px) translate3d(0,28px,0) scale(.84) rotateX(58deg);
  transform-origin:50% 100%; transform-style:preserve-3d; will-change:transform; }
.phone.is-flat { transform:perspective(1200px) translate3d(0,0,0) scale(1) rotateX(0deg); }
.screen { border-radius:30px; overflow:hidden; position:relative; background:#000; line-height:0; }
.screen-shot { display:block; width:100%; height:auto; max-height:none; object-fit:contain; vertical-align:top; }

.marquee { position:relative; z-index:1; margin-top:40px; overflow:hidden; border-block:1px solid var(--line); background:rgba(0,0,0,.85); padding:14px 0; mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent); }
.track { display:flex; gap:40px; width:max-content; animation:slide 30s linear infinite; }
.track span { text-transform:uppercase; letter-spacing:.2em; font-size:.8rem; font-weight:700; color:var(--muted); white-space:nowrap; }
.track span:nth-child(3n+1) { color:#e5e5e5; } .track span:nth-child(3n+2) { color:#bdbdbd; } .track span:nth-child(3n) { color:#8a8a8a; }
@keyframes slide { to { transform:translateX(-50%); } }
@media (prefers-reduced-motion:reduce) {
  .track { animation:none; }
  html { scroll-behavior:auto; }
  .phone-glow { animation:none; }
  .phone { transform:none; }
}

.wrap { max-width:880px; margin:0 auto; padding:72px 20px 0; }
.wrap h2 { margin:0 0 6px; font-size:1.9rem; letter-spacing:-.025em; text-align:center; }
.sub { text-align:center; color:var(--muted); margin:0 0 28px; }

.devices { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:14px; }
.dev, .card, .steps li { background:var(--card); border:1px solid var(--line); backdrop-filter:blur(10px); }
.dev { display:flex; flex-direction:column; gap:2px; padding:22px; border-radius:20px; transition:.25s; }
.dev.active:hover { border-color:var(--indigo); transform:translateY(-4px); box-shadow:0 14px 40px rgba(255,255,255,.1); }
.dev .ico { font-size:1.8rem; margin-bottom:8px; }
.dev small { color:var(--muted); }
.dev em { margin-top:12px; font-style:normal; font-size:.7rem; font-weight:800; letter-spacing:.12em; background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
.dev.off { opacity:.45; } .dev.off em { background:none; color:var(--muted); }

.steps { list-style:none; padding:0; margin:28px 0 0; display:grid; gap:12px; }
.steps li { display:flex; gap:16px; align-items:flex-start; padding:18px 20px; border-radius:18px; }
.steps li > span { flex:none; width:36px; height:36px; border-radius:12px; background:var(--grad); display:grid; place-items:center; font-weight:800; color:#000; box-shadow:0 6px 20px rgba(255,255,255,.15); }
.steps p { margin:2px 0 0; color:var(--muted); }

.two { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:14px; }
.card { padding:22px; border-radius:20px; }
.card h3 { margin:0 0 10px; }
.card ul { margin:0; padding-left:18px; color:#d4d4d4; }
.card li::marker { color:var(--indigo); }
details { border-top:1px solid var(--line); padding:10px 0; }
details:first-of-type { border-top:0; }
summary { cursor:pointer; font-weight:600; }
details p { margin:6px 0 0; color:var(--muted); }

.final { text-align:center; padding-bottom:24px; }
.final .btn { margin-top:14px; }
footer { text-align:center; color:var(--muted); font-size:.8rem; padding:48px 16px; }
