*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --bg: #0a0b10; --surface: #14161f;
      --ink: #f5f6fb; --muted: #8b91a6; --muted-2: #5f6577;
      --line: #20222e; --line-2: #2c2f3e;
      --accent: #7c84ff; --accent-ink: #9aa1ff; --accent-strong: #6b76f5; --accent-tint: rgba(124,132,255,0.14);
      --ease: cubic-bezier(.22,1,.36,1); --pill: 999px; --radius: 16px;
    }

    html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; scrollbar-width: thin; scrollbar-color: var(--line-2) var(--line); }
    ::-webkit-scrollbar { width: 10px; height: 10px; }
    ::-webkit-scrollbar-track { background: var(--line); }
    ::-webkit-scrollbar-thumb { background: var(--line-2); border-radius: 5px; border: 2px solid var(--line); }
    body {
      font-family: 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
      background: var(--bg); color: var(--ink); line-height: 1.6;
      overflow-x: hidden; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
    }
    img, svg, video { max-width: 100%; display: block; }
    ::selection { background: var(--accent); color: #fff; }

    .atmos { position: fixed; inset: 0; z-index: -2; pointer-events: none; opacity: 0.6;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E"); }

    
    body { padding-top: 72px; }
    .nav { position: fixed; top: 0; left: 0; right: 0; z-index: 50; padding: 32px 16px 0; background: transparent; pointer-events: none;
      transition: transform 0.58s var(--ease), opacity 0.42s ease; will-change: transform; }
    .nav.nav-hidden { transform: translateY(-120%); opacity: 0; }
    .nav.scrolled { border-bottom-color: transparent; }
    .nav-inner { width: fit-content; max-width: calc(100vw - 32px); margin: 0 auto; padding: 8px 12px; display: flex; align-items: center; justify-content: center; gap: 0; pointer-events: auto;
      background: color-mix(in srgb, var(--surface) 88%, transparent);
      border: 1px solid rgba(85, 91, 118, 0.42); border-radius: 15px;
      box-shadow: 0 18px 42px -30px rgba(0,0,0,0.95), inset 0 1px 0 rgba(255,255,255,0.05);
      backdrop-filter: blur(18px) saturate(1.25); -webkit-backdrop-filter: blur(18px) saturate(1.25); }
    .nav-links { display: flex; justify-content: center; gap: 2px; margin-left: 0; }
    .nav-links a { font-size: 0.92rem; color: var(--muted); font-weight: 600; padding: 7px 13px; border-radius: 11px; transition: color 0.18s ease, background 0.18s ease; }
    .nav-links a:hover { color: var(--ink); }
    .nav-links a[aria-current="page"] { color: var(--ink); background: rgba(255,255,255,0.035); }
    
    .btn { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 11px;
      font-family: inherit; font-size: 1rem; font-weight: 700; line-height: 1;
      padding: 15px 27px; border-radius: 20px; border: 1px solid rgba(85, 91, 118, 0.52); cursor: pointer; white-space: nowrap; text-decoration: none;
      color: #f7f8fd; background: linear-gradient(180deg, rgba(30, 33, 46, 0.98), rgba(18, 20, 29, 0.98));
      box-shadow: inset 0 1px 0 rgba(255,255,255,0.07), 0 16px 34px -22px rgba(0,0,0,0.9), 0 0 0 1px rgba(255,255,255,0.015);
      transition: transform 0.22s var(--ease), box-shadow 0.22s ease, background 0.18s ease, border-color 0.18s ease, color 0.18s ease; }
    .btn svg { width: 19px; height: 19px; color: #e2e5f2; filter: drop-shadow(0 0 10px rgba(124, 132, 255, 0.18)); }
    .btn:hover { transform: translateY(-2px); border-color: rgba(124, 132, 255, 0.45); text-decoration: none;
      background: linear-gradient(180deg, rgba(36, 39, 55, 0.98), rgba(22, 24, 35, 0.98));
      box-shadow: inset 0 1px 0 rgba(255,255,255,0.1), 0 20px 42px -22px rgba(0,0,0,0.95), 0 0 20px rgba(124, 132, 255, 0.1); }
    .btn:active { transform: translateY(0) scale(0.98); }
    .btn-discord { color: #fff; }
    .btn-sm { padding: 12px 20px; font-size: 0.94rem; }
    .btn-lg { min-height: 64px; padding: 18px 34px; font-size: 1.08rem; }

    
    a { color: var(--accent-ink); text-decoration: none; }
    a:hover { text-decoration: underline; }
    h1, h2, h3 { font-family: 'Space Grotesk', sans-serif; color: var(--ink); letter-spacing: -0.02em; }

    .wrap { max-width: 680px; margin: 0 auto; padding: 0 24px 60px; }
    .hero { text-align: center; padding: 52px 0 34px; }
    .hero h1 { font-size: clamp(2rem, 6vw, 2.9rem); font-weight: 700; line-height: 1.1; margin-bottom: 12px; letter-spacing: -0.03em; }
    .hero p { font-size: 1.06rem; color: var(--muted); max-width: 480px; margin: 0 auto; line-height: 1.6; }

    .progress-bar { display: flex; align-items: center; gap: 8px; justify-content: center; margin-bottom: 28px; }
    .progress-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--line-2); transition: all 0.3s ease; }
    .progress-dot.active { background: var(--accent); }
    .progress-dot.done { background: var(--accent); }
    .progress-line { width: 40px; height: 2px; background: var(--line-2); border-radius: 1px; transition: background 0.3s ease; }
    .progress-line.done { background: var(--accent); }

    
    .card-stage { position: relative; display: grid; overflow: hidden; }

    .step-card {
      grid-area: 1 / 1;
      background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius);
      padding: 32px 28px; opacity: 0; pointer-events: none;
      transform: translateX(40px) scale(0.96);
      transition: opacity 0.4s var(--ease), transform 0.4s var(--ease);
    }
    .step-card.active { opacity: 1; pointer-events: auto; transform: translateX(0) scale(1); }
    .step-card.exit { opacity: 0; transform: translateX(-40px) scale(0.96); pointer-events: none; }

    .step-card h2 { font-size: 1.32rem; font-weight: 600; margin-bottom: 10px; letter-spacing: -0.01em; }
    .step-card .desc { font-size: 0.95rem; line-height: 1.7; color: var(--muted); margin-bottom: 16px; }
    .step-card .desc strong { color: var(--ink); }
    .step-card .desc a { color: var(--accent-ink); }
    .step-card .desc a:hover { text-decoration: underline; }
    .step-card ul { list-style: none; padding: 0; }
    .step-card ul li { font-size: 0.92rem; line-height: 1.55; color: var(--muted); padding: 5px 0 5px 22px; position: relative; }
    .step-card ul li::before { content: ''; position: absolute; left: 4px; top: 13px; width: 6px; height: 6px; background: var(--accent-ink); border-radius: 50%; }
    .step-card ul li strong { color: var(--ink); }

    .nav-row { display: flex; align-items: center; justify-content: space-between; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line); }
    .nav-btn {
      display: inline-flex; align-items: center; gap: 8px;
      padding: 11px 22px; background: var(--surface); border: 1px solid var(--line-2); border-radius: 16px;
      color: var(--ink); font-family: inherit; font-size: 0.9rem; font-weight: 600; cursor: pointer;
      transition: background 0.18s ease, border-color 0.18s ease, transform 0.2s var(--ease); user-select: none;
    }
    .nav-btn:hover { border-color: rgba(124, 132, 255, 0.45); transform: translateY(-2px); }
    .nav-btn.primary { background: linear-gradient(180deg, rgba(30, 33, 46, 0.98), rgba(18, 20, 29, 0.98)); border-color: rgba(85, 91, 118, 0.52); color: #fff;
      box-shadow: inset 0 1px 0 rgba(255,255,255,0.07), 0 16px 34px -22px rgba(0,0,0,0.9); }
    .nav-btn.primary:hover { background: linear-gradient(180deg, rgba(36, 39, 55, 0.98), rgba(22, 24, 35, 0.98)); }
    .nav-btn:disabled { opacity: 0.3; cursor: default; pointer-events: none; }
    .step-count { font-size: 0.85rem; color: var(--muted); font-weight: 500; }

    .contact-card {
      background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius);
      padding: 24px; text-align: center; margin: 32px 0;
    }
    .contact-card p { font-size: 0.94rem; line-height: 1.65; color: var(--muted); margin: 0; }
    .contact-card p + p { margin-top: 10px; }
    .contact-card a { color: var(--accent-ink); }
    .contact-card a:hover { text-decoration: underline; }

    .btn-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }

    
    .footer { border-top: 1px solid var(--line); padding: 24px 0 28px; margin-top: 28px; }
    .footer-inner { max-width: 1120px; margin: 0 auto; padding: 0 32px; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 14px 28px; }
    .foot-brand { display: flex; align-items: center; gap: 11px; font-weight: 700; font-family: 'Space Grotesk', sans-serif; color: var(--ink); }
    .foot-brand img { width: 27px; height: 27px; border-radius: 8px; }
    .foot-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 20px; }
    .foot-links a { font-size: 0.94rem; color: var(--muted); transition: color 0.18s ease; }
    .foot-links a:hover { color: var(--ink); text-decoration: none; }

    @media (max-width: 860px) { .nav-links { display: flex; } }
    @media (max-width: 768px) {
      .wrap { padding: 0 20px 40px; }
      .hero { padding: 36px 0 26px; }
      .step-card { padding: 24px 20px; }
      .step-card h2 { font-size: 1.18rem; }
      .nav-row { flex-wrap: wrap; gap: 10px; justify-content: center; }
      .footer-inner { justify-content: center; text-align: center; }
    }
    @media (max-width: 460px) { body { padding-top: 58px; } .nav { padding: 20px 10px 0; } .nav-inner { max-width: calc(100vw - 20px); padding: 7px 8px; border-radius: 14px; } .nav-links { gap: 0; } .nav-links a { font-size: 0.84rem; padding: 7px 9px; } .footer-inner { padding: 0 20px; } .wrap { padding: 0 16px 30px; } .progress-line { width: 24px; } }
