:root{
      --bg:#F7F8FF;
      --card:#FFFFFF;
      --card2:#F1F3FF;
      --text:#101425;
      --muted:#4A5777;
      --brand:#6D5EF6;
      --brand2:#00B8D6;
      --brand3:#E43DC3;
      --line: rgba(16,20,37,.12);
      --shadow: 0 18px 45px rgba(16,20,37,.12);
      --radius: 18px;
      --max: 1150px;
      color-scheme: light;
      --bg-grad-1: rgba(109,94,246,.12);
      --bg-grad-2: rgba(0,184,214,.12);
      --bg-grad-3: rgba(228,61,195,.10);
      --bg-base-1: #F6F7FF;
      --bg-base-2: #EEF1FF;
      --bg-base-3: #F7F8FF;
      --header-bg: rgba(248,249,255,.8);
      --header-border: rgba(16,20,37,.12);
      --surface-soft: rgba(255,255,255,.75);
      --surface-soft-2: rgba(255,255,255,.85);
      --surface-soft-3: rgba(255,255,255,.55);
      --surface-hover: rgba(255,255,255,.95);
      --ink-soft: rgba(16,20,37,.06);
      --ink-soft-2: rgba(16,20,37,.04);
      --text-strong: #101425;
      --table-head-bg: rgba(255,255,255,.9);
      --table-head-text: #101425;
      --grid-line: rgba(16,20,37,.10);
      --footer-link: #101425;
    }

    [data-theme="dark"]{
      color-scheme: dark;
      --bg:#070A12;
      --card:#0D1224;
      --card2:#0B1021;
      --text:#E9EEFF;
      --muted:#A8B2D1;
      --brand:#6D5EF6;
      --brand2:#00E5FF;
      --brand3:#FF4FD8;
      --line: rgba(255,255,255,.10);
      --shadow: 0 18px 45px rgba(0,0,0,.45);
      --bg-grad-1: rgba(109,94,246,.22);
      --bg-grad-2: rgba(0,229,255,.18);
      --bg-grad-3: rgba(255,79,216,.12);
      --bg-base-1: #050711;
      --bg-base-2: #060817;
      --bg-base-3: #050610;
      --header-bg: rgba(7,10,18,.55);
      --header-border: rgba(255,255,255,.08);
      --surface-soft: rgba(255,255,255,.03);
      --surface-soft-2: rgba(255,255,255,.04);
      --surface-soft-3: rgba(255,255,255,.02);
      --surface-hover: rgba(255,255,255,.06);
      --ink-soft: rgba(0,0,0,.18);
      --ink-soft-2: rgba(0,0,0,.14);
      --text-strong: #DDE5FF;
      --table-head-bg: rgba(255,255,255,.03);
      --table-head-text: #DDE5FF;
      --grid-line: rgba(255,255,255,.06);
      --footer-link: #DDE5FF;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth;overflow-x:hidden}
    body{
      margin:0;
      font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Apple Color Emoji","Segoe UI Emoji";
      color:var(--text);
      overflow-x:hidden;
      background:
        radial-gradient(900px 600px at 10% 10%, var(--bg-grad-1), transparent 55%),
        radial-gradient(800px 500px at 90% 20%, var(--bg-grad-2), transparent 55%),
        radial-gradient(700px 500px at 60% 95%, var(--bg-grad-3), transparent 60%),
        linear-gradient(180deg, var(--bg-base-1) 0%, var(--bg-base-2) 40%, var(--bg-base-3) 100%);
      overflow-x:hidden;
    }

    a{color:inherit;text-decoration:none}
    .container{max-width:var(--max);margin:0 auto;padding:0 20px}
    .pill{
      display:inline-flex;align-items:center;gap:10px;
      padding:10px 14px;border:1px solid var(--line);
      border-radius:999px;background:var(--surface-soft);
      backdrop-filter: blur(10px);
      font-size:14px;color:var(--muted);
    }
    .dot{
      width:10px;height:10px;border-radius:999px;
      background: linear-gradient(135deg, var(--brand2), var(--brand3));
      box-shadow: 0 0 16px rgba(0,229,255,.35);
    }

    /* NAV */
    header{
      position:sticky;top:0;z-index:50;
      background: var(--header-bg);
      backdrop-filter: blur(14px);
      border-bottom: 1px solid var(--header-border);
    }
    nav{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
    .brand{
      display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:.2px
    }
    .logo{
      width:38px;height:38px;border-radius:14px;
      background:
        radial-gradient(16px 16px at 30% 30%, rgba(255,255,255,.45), transparent 60%),
        linear-gradient(135deg, rgba(0,229,255,.9), rgba(109,94,246,.9), rgba(255,79,216,.85));
      box-shadow: 0 12px 30px rgba(109,94,246,.25);
      position:relative;
    }
    .logo:after{
      content:"";
      position:absolute;inset:10px;
      border-radius:10px;
      border:1px solid rgba(255,255,255,.35);
      opacity:.75;
    }

    .nav-links{display:flex;gap:18px;align-items:center}
    .nav-links a{
      font-size:14px;color:var(--muted);
      padding:10px 10px;border-radius:12px;
      transition: all .2s ease;
    }
    .nav-links a:hover{color:var(--text);background:var(--surface-hover)}
    .nav-cta{
      display:flex;gap:10px;align-items:center;
    }
    .btn{
      display:inline-flex;align-items:center;justify-content:center;gap:10px;
      padding:12px 14px;border-radius:14px;
      border:1px solid var(--line);
      background: var(--surface-soft);
      color: var(--text);
      font-weight:700;font-size:14px;
      transition: transform .15s ease, background .15s ease, border-color .15s ease;
      cursor:pointer;
      user-select:none;
      white-space:nowrap;
    }
    .btn:hover{transform: translateY(-1px); background: var(--surface-hover)}
    .btn.primary{
      border-color: rgba(109,94,246,.55);
      background: linear-gradient(135deg, rgba(109,94,246,.95), rgba(0,229,255,.30));
      box-shadow: 0 12px 30px rgba(109,94,246,.22);
    }
    .btn.primary:hover{border-color: rgba(0,229,255,.45)}
    .btn svg{width:16px;height:16px}
    .btn.ghost{background:transparent;border-color:var(--line)}
    [data-theme="dark"] .icon-sun{display:none}
    [data-theme="light"] .icon-moon{display:none}

    .mobile-toggle{display:none}
    .mobile-drawer{
      display:none;
      padding:12px 0 18px;
    }
    .mobile-drawer a{
      display:block;padding:12px 10px;border-radius:14px;color:var(--muted);
      border:1px solid transparent;
    }
    .mobile-drawer a:hover{color:var(--text);border-color:var(--line);background:var(--surface-hover)}

    /* HERO */
    .hero{
      position:relative;
      padding:64px 0 28px;
    }
    .grid-bg{
      position:absolute;inset:-200px -200px -200px -200px;
      background-image:
        linear-gradient(to right, var(--grid-line) 1px, transparent 1px),
        linear-gradient(to bottom, var(--grid-line) 1px, transparent 1px);
      background-size: 54px 54px;
      opacity:.15;
      mask-image: radial-gradient(500px 280px at 50% 18%, rgba(0,0,0,1), transparent 70%);
      pointer-events:none;
    }
    .hero-inner{
      display:grid;
      grid-template-columns: 1.15fr .85fr;
      gap:26px;
      align-items:stretch;
    }
    .hero h1{
      margin:16px 0 10px;
      font-size: clamp(34px, 4vw, 54px);
      line-height:1.02;
      letter-spacing:-.6px;
    }
    .lead{
      color:var(--muted);
      font-size:16px;
      line-height:1.65;
      margin:0 0 18px;
      max-width: 62ch;
    }
    .hero-actions{
      display:flex;flex-wrap:wrap;gap:12px;margin-top:18px
    }
    .stats{
      display:grid;
      grid-template-columns: repeat(2, 1fr);
      gap:12px;
      margin-top:18px;
    }
    .stat{
      border:1px solid var(--line);
      border-radius: var(--radius);
      background: var(--surface-soft);
      padding:14px;
      box-shadow: 0 8px 22px rgba(0,0,0,.18);
    }
    .stat .num{
      font-size:22px;font-weight:900;
      background: linear-gradient(135deg, var(--brand2), var(--brand3), var(--brand));
      -webkit-background-clip:text;background-clip:text;color:transparent;
    }
    .stat .lab{color:var(--muted);font-size:13px;margin-top:4px}

    .hero-card{
      border:1px solid var(--line);
      background: linear-gradient(180deg, var(--surface-soft-2), var(--surface-soft-3));
      border-radius: 22px;
      box-shadow: var(--shadow);
      padding:18px;
      position:relative;
      overflow:hidden;
    }
    .hero-card:before{
      content:"";
      position:absolute;inset:-2px;
      background:
        radial-gradient(200px 120px at 20% 10%, rgba(0,229,255,.22), transparent 55%),
        radial-gradient(220px 160px at 80% 15%, rgba(255,79,216,.16), transparent 55%),
        radial-gradient(240px 160px at 55% 90%, rgba(109,94,246,.18), transparent 60%);
      pointer-events:none;
      opacity:.9;
    }
    .hero-card > *{position:relative}
    .mini-title{font-size:12px;color:var(--muted);letter-spacing:.22em;text-transform:uppercase}
    .card-title{margin:10px 0 6px;font-size:20px;font-weight:900}
    .card-text{margin:0;color:var(--muted);line-height:1.6;font-size:14px}
    .checklist{margin:14px 0 0;padding:0;list-style:none;display:grid;gap:10px}
    .checklist li{display:flex;gap:10px;align-items:flex-start;color:var(--muted);font-size:14px;line-height:1.55}
    .tick{
      width:18px;height:18px;border-radius:7px;flex:0 0 auto;
      background: rgba(109,94,246,.18);
      border:1px solid rgba(109,94,246,.35);
      display:grid;place-items:center;
      margin-top:2px;
    }
    .tick svg{width:12px;height:12px}

    /* SECTIONS */
    section{padding:54px 0}
    .section-head{
      display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:18px;
    }
    h2{
      margin:0;
      font-size: clamp(24px, 2.4vw, 34px);
      letter-spacing:-.3px;
    }
    .sub{
      margin:0;color:var(--muted);max-width:65ch;line-height:1.65;font-size:14px
    }

    .grid-3{display:grid;grid-template-columns: repeat(3, 1fr);gap:14px}
    .grid-2{display:grid;grid-template-columns: repeat(2, 1fr);gap:14px}
    .card{
      border:1px solid var(--line);
      background: var(--surface-soft);
      border-radius: var(--radius);
      padding:18px;
      box-shadow: 0 10px 26px rgba(0,0,0,.22);
    }
    .card h3{margin:0 0 8px;font-size:16px}
    .card p{margin:0;color:var(--muted);line-height:1.65;font-size:14px}
    .tag-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
    .tag{
      font-size:12px;color:var(--muted);
      padding:8px 10px;border-radius:999px;
      border:1px solid var(--line);
      background: var(--ink-soft-2);
    }

    .table{
      width:100%;
      border-collapse:separate;border-spacing:0;
      overflow:hidden;
      border-radius: var(--radius);
      border:1px solid var(--line);
      background: var(--surface-soft-3);
    }
    .table th,.table td{
      padding:12px 12px;
      border-bottom:1px solid var(--line);
      text-align:left;vertical-align:top;
      font-size:14px;
    }
    .table th{color:var(--table-head-text);background:var(--table-head-bg);font-size:13px}
    .table td{color:var(--muted)}
    .table tr:last-child td{border-bottom:none}

    .steps{display:grid;gap:12px}
    .step{
      display:flex;gap:12px;align-items:flex-start;
      padding:14px;border-radius: var(--radius);
      border:1px solid var(--line);
      background: var(--surface-soft);
    }
    .step .n{
      width:34px;height:34px;border-radius:14px;
      display:grid;place-items:center;
      font-weight:900;
      background: linear-gradient(135deg, rgba(0,229,255,.22), rgba(109,94,246,.22));
      border:1px solid var(--line);
      color:var(--text-strong);
      flex:0 0 auto;
    }
    .step h4{margin:0 0 4px;font-size:15px}
    .step p{margin:0;color:var(--muted);line-height:1.6;font-size:14px}

    .faq{display:grid;gap:10px}
    details{
      border:1px solid var(--line);
      background: var(--surface-soft);
      border-radius: var(--radius);
      padding:12px 14px;
    }
    summary{
      cursor:pointer;
      font-weight:800;
      color:var(--text-strong);
      list-style:none;
    }
    summary::-webkit-details-marker{display:none}
    details p{margin:10px 0 0;color:var(--muted);line-height:1.65;font-size:14px}

    /* JOIN */
    .join{
      border:1px solid var(--line);
      border-radius: 22px;
      background: linear-gradient(180deg, rgba(109,94,246,.12), var(--surface-soft-3));
      box-shadow: var(--shadow);
      overflow:hidden;
      position:relative;
    }
    .join:before{
      content:"";
      position:absolute;inset:-2px;
      background:
        radial-gradient(220px 160px at 15% 25%, rgba(0,229,255,.18), transparent 60%),
        radial-gradient(260px 200px at 85% 10%, rgba(255,79,216,.14), transparent 60%);
      pointer-events:none;
    }
    .join-inner{
      position:relative;
      display:grid;grid-template-columns: 1fr 1fr;gap:16px;
      padding:20px;
      align-items:start;
    }
    .form{
      display:grid;gap:10px;
      padding:14px;border-radius: var(--radius);
      border:1px solid var(--line);
      background: var(--ink-soft);
    }
    label{font-size:12px;color:var(--muted)}
    input, select, textarea{
      width:100%;
      padding:12px 12px;
      border-radius: 14px;
      border:1px solid var(--line);
      background: var(--surface-soft-3);
      color: var(--text);
      outline:none;
    }
    textarea{min-height:96px;resize:vertical}
    input:focus, select:focus, textarea:focus{
      border-color: rgba(0,229,255,.35);
      box-shadow: 0 0 0 4px rgba(0,229,255,.10);
    }
    .form-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
    .hint{color:var(--muted);font-size:12px;line-height:1.5;margin:0}
    .result{
      margin-top:10px;
      padding:12px;border-radius:14px;
      border:1px solid var(--line);
      background: var(--surface-soft);
      color: var(--muted);
      font-size:13px;line-height:1.55;
      display:none;
      white-space:pre-wrap;
    }

    footer{
      padding:34px 0 46px;
      border-top:1px solid var(--line);
      color: var(--muted);
      font-size:13px;
    }
    .foot{
      display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px
    }
    .foot a{color:var(--footer-link)}
    .tiny{font-size:12px;color:var(--muted)}
    .text-strong{color:var(--text-strong)}
    .text-heavy{font-weight:900}

    /* responsive */
    @media (max-width: 980px){
      .hero-inner{grid-template-columns:1fr;gap:16px}
      .section-head{flex-direction:column;align-items:flex-start}
      .grid-3{grid-template-columns:1fr}
      .grid-2{grid-template-columns:1fr}
      .join-inner{grid-template-columns:1fr}
      .nav-links{display:none}
      .mobile-toggle{display:inline-flex}
      .mobile-drawer{display:none}
      .mobile-drawer.open{display:block}
      .table{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling: touch}
      .table th,.table td{white-space:nowrap}
    }

    @media (max-width: 640px){
      nav{flex-wrap:wrap;gap:10px}
      .nav-cta{flex-wrap:wrap;justify-content:flex-end}
      .btn{font-size:13px;padding:10px 12px}
      .pill{font-size:12px}
    }

    /* motion */
    @media (prefers-reduced-motion: no-preference){
      .fade-up{opacity:0;transform: translateY(10px);transition: opacity .7s ease, transform .7s ease}
      .fade-up.in{opacity:1;transform: translateY(0)}
    }
