:root{
      --bg: #0b0f17;
      --panel: rgba(255,255,255,.06);
      --panel2: rgba(255,255,255,.08);
      --stroke: rgba(255,255,255,.12);
      --text: rgba(255,255,255,.92);
      --muted: rgba(255,255,255,.72);
      --muted2: rgba(255,255,255,.58);
      --shadow: 0 12px 40px rgba(0,0,0,.35);
      --radius: 18px;
      --radius2: 26px;
      --max: 1120px;

      --brand1:#7c3aed; /* violet */
      --brand2:#22c55e; /* green */
      --brand3:#06b6d4; /* cyan */
      --warn:#f59e0b;
    }

    /* Optional light mode (auto) */
    @media (prefers-color-scheme: light){
      :root{
        --bg:#f7f7fb;
        --panel: rgba(15,23,42,.05);
        --panel2: rgba(15,23,42,.07);
        --stroke: rgba(15,23,42,.10);
        --text: rgba(15,23,42,.92);
        --muted: rgba(15,23,42,.72);
        --muted2: rgba(15,23,42,.58);
        --shadow: 0 12px 40px rgba(2,6,23,.12);
      }
    }

    *{ box-sizing:border-box }
    html,body{ height:100% }
    body{
      margin:0;
      font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
      color:var(--text);
      background:
        radial-gradient(1200px 700px at 15% -10%, color-mix(in srgb, var(--brand1) 40%, transparent) 0%, transparent 60%),
        radial-gradient(1000px 650px at 90% 0%, color-mix(in srgb, var(--brand3) 30%, transparent) 0%, transparent 55%),
        radial-gradient(800px 550px at 70% 110%, color-mix(in srgb, var(--brand2) 25%, transparent) 0%, transparent 60%),
        var(--bg);
      line-height:1.55;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
    }

    a{ color:inherit; text-decoration:none }
    .container{ max-width:var(--max); margin:0 auto; padding:0 22px }
    .section{ padding:72px 0 }
    .small{ font-size:14px; color:var(--muted2) }
    .muted{ color:var(--muted) }
    .kicker{
      display:inline-flex; align-items:center; gap:10px;
      padding:8px 12px;
      border-radius:999px;
      background: color-mix(in srgb, var(--panel) 85%, transparent);
      border: 1px solid var(--stroke);
      font-weight:600;
      font-size:13px;
      color:var(--muted);
    }
    .dot{
      width:8px; height:8px; border-radius:999px;
      background: linear-gradient(135deg, var(--brand1), var(--brand3));
      box-shadow: 0 0 0 4px color-mix(in srgb, var(--brand1) 20%, transparent);
    }
    h1,h2,h3{ margin:0 0 10px 0; letter-spacing:-.02em }
    h1{ font-size: clamp(34px, 4vw, 52px); line-height:1.05 }
    h2{ font-size: clamp(26px, 2.8vw, 36px); line-height:1.15 }
    h3{ font-size: 18px; line-height:1.2 }
    p{ margin:0 0 14px 0 }

    /* Top nav */
    .nav{
      position:sticky; top:0; z-index:50;
      backdrop-filter: blur(14px);
      background: color-mix(in srgb, var(--bg) 72%, transparent);
      border-bottom:1px solid var(--stroke);
    }
    .nav-inner{
      display:flex; align-items:center; justify-content:space-between;
      padding:14px 0;
      gap:14px;
    }
    .brand{
      display:flex; align-items:center; gap:10px;
      font-weight:800;
    }
    .logo{
      width:28px; height:28px; border-radius:10px;
      background: linear-gradient(135deg, var(--brand1), var(--brand3));
      box-shadow: 0 12px 30px color-mix(in srgb, var(--brand1) 25%, transparent);
      border:1px solid color-mix(in srgb, white 10%, transparent);
    }
    .nav-links{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
    .nav-links a{ color:var(--muted); font-weight:600; font-size:14px }
    .nav-links a:hover{ color:var(--text) }

    .btn{
      display:inline-flex; align-items:center; justify-content:center; gap:10px;
      padding:12px 14px;
      border-radius:14px;
      border:1px solid var(--stroke);
      background: var(--panel);
      color:var(--text);
      font-weight:700;
      font-size:14px;
      cursor:pointer;
      transition: transform .12s ease, background .12s ease, border-color .12s ease;
      user-select:none;
      white-space:nowrap;
    }
    .btn:hover{ transform: translateY(-1px); background:var(--panel2); border-color: color-mix(in srgb, var(--stroke) 60%, white 10%) }
    .btn-primary{
      border: none;
      background: linear-gradient(135deg, var(--brand1), var(--brand3));
      color: white;
      box-shadow: 0 14px 40px color-mix(in srgb, var(--brand1) 22%, transparent);
    }
    .btn-primary:hover{ filter: brightness(1.05) }

    /* Hero */
    .hero{
      padding:56px 0 38px;
    }
    .hero-grid{
      display:grid;
      grid-template-columns: 1.1fr .9fr;
      gap:28px;
      align-items:center;
    }
    .hero-card{
      border-radius: var(--radius2);
      background: linear-gradient(180deg, color-mix(in srgb, var(--panel) 90%, transparent), transparent);
      border:1px solid var(--stroke);
      box-shadow: var(--shadow);
      overflow:hidden;
      position:relative;
      min-height: 420px;
      display:flex;
      align-items:center;
      justify-content:center;
      padding:22px;
    }
    .hero-card::before{
      content:"";
      position:absolute; inset:-80px -120px auto auto;
      width:320px; height:320px;
      background: radial-gradient(circle at 30% 30%, color-mix(in srgb, var(--brand2) 40%, transparent), transparent 60%);
      filter: blur(0px);
      opacity:.9;
      pointer-events:none;
    }
    .hero-card::after{
      content:"";
      position:absolute; inset:auto auto -140px -160px;
      width:380px; height:380px;
      background: radial-gradient(circle at 60% 50%, color-mix(in srgb, var(--brand1) 38%, transparent), transparent 62%);
      opacity:.85;
      pointer-events:none;
    }
    .loop-illustration{
      position:relative;
      width:100%;
      max-width:520px;
      margin:0 auto;
      display:flex;
      flex-direction:column;
      gap:12px;
      align-items:center;
      text-align:center;
      z-index:1;
    }
    .loop-badge{
      display:inline-flex; align-items:center; gap:10px;
      padding:10px 14px;
      border-radius:999px;
      border:1px solid var(--stroke);
      background: color-mix(in srgb, var(--panel2) 80%, transparent);
      font-weight:800;
      font-size:13px;
      color:var(--muted);
      box-shadow: 0 12px 32px rgba(0,0,0,.18);
    }
    .loop-circle{
      position:relative;
      width:100%;
      max-width:440px;
      aspect-ratio:1;
      display:flex;
      align-items:center;
      justify-content:center;
      isolation:isolate;
    }
    .loop-ring{
      position:absolute;
      inset:0;
      border-radius:50%;
      background: conic-gradient(from -95deg, color-mix(in srgb, var(--brand1) 60%, transparent) 0 32%, color-mix(in srgb, var(--brand3) 70%, transparent) 32% 67%, color-mix(in srgb, var(--brand2) 70%, transparent) 67% 100%);
      box-shadow: 0 22px 60px rgba(0,0,0,.28);
    }
    .loop-ring::after{
      content:"";
      position:absolute;
      inset:16%;
      border-radius:50%;
      background: color-mix(in srgb, var(--bg) 78%, transparent);
      border:1px solid color-mix(in srgb, var(--stroke) 60%, white 8%);
      box-shadow: inset 0 12px 28px color-mix(in srgb, var(--bg) 82%, transparent);
    }
    .loop-glow{
      position:absolute;
      inset:6%;
      border-radius:50%;
      background: radial-gradient(circle at 30% 30%, color-mix(in srgb, var(--brand3) 25%, transparent), transparent 52%),
                  radial-gradient(circle at 70% 70%, color-mix(in srgb, var(--brand2) 22%, transparent), transparent 55%);
      filter: blur(10px);
      opacity:.7;
    }
    .loop-node{
      position:absolute;
      display:flex;
      align-items:center;
      gap:10px;
      padding:10px 12px;
      border-radius:14px;
      border:1px solid var(--stroke);
      background: color-mix(in srgb, var(--panel) 88%, transparent);
      box-shadow: 0 16px 34px rgba(0,0,0,.18);
      backdrop-filter: blur(4px);
      max-width: 190px;
      text-align:left;
    }
    .node-dot{
      width:12px; height:12px; border-radius:50%;
      background: linear-gradient(135deg, var(--brand1), var(--brand3));
      box-shadow: 0 0 0 6px color-mix(in srgb, var(--brand1) 20%, transparent);
      flex:0 0 auto;
    }
    .node-title{ font-weight:800; font-size:14px }
    .node-sub{ font-size:13px; color:var(--muted2); line-height:1.35 }
    .node-1{ top:6%; left:50%; transform: translate(-50%, -20%); }
    .node-2{ right:-6%; top:54%; transform: translate(20%, -50%); }
    .node-3{ left:-8%; bottom:6%; transform: translate(-12%, 8%); }
    .loop-arrow{
      position:absolute;
      width:16px; height:16px;
      border-top:2px solid color-mix(in srgb, var(--text) 90%, white 8%);
      border-right:2px solid color-mix(in srgb, var(--text) 90%, white 8%);
      border-radius:4px;
      filter: drop-shadow(0 8px 12px rgba(0,0,0,.22));
    }
    .arrow-a{ right:24%; top:10%; transform: rotate(40deg); }
    .arrow-b{ right:8%; bottom:38%; transform: rotate(120deg); }
    .arrow-c{ left:14%; bottom:16%; transform: rotate(210deg); }
    .loop-core{
      position:absolute;
      width:44%;
      aspect-ratio:1;
      border-radius:50%;
      background: radial-gradient(circle at 30% 30%, color-mix(in srgb, var(--brand3) 40%, transparent), color-mix(in srgb, var(--bg) 92%, transparent) 55%);
      border:1px solid color-mix(in srgb, var(--stroke) 70%, white 10%);
      box-shadow: inset 0 16px 40px color-mix(in srgb, var(--bg) 80%, transparent), 0 10px 26px rgba(0,0,0,.22);
      display:flex;
      align-items:center;
      justify-content:center;
      flex-direction:column;
      gap:6px;
      padding:18px;
      text-align:center;
    }
    .core-ring{
      position:absolute;
      inset:18%;
      border-radius:50%;
      border:1px dashed color-mix(in srgb, var(--muted) 60%, transparent);
      opacity:.7;
    }
    .core-dot{
      width:14px; height:14px; border-radius:50%;
      background: linear-gradient(135deg, var(--brand2), var(--brand3));
      box-shadow: 0 0 0 8px color-mix(in srgb, var(--brand2) 16%, transparent);
    }
    .core-title{ font-weight:900; letter-spacing:-.01em; font-size:16px; }
    .core-sub{ color:var(--muted); font-size:13px; }
    .loop-caption{ color:var(--muted); max-width: 460px; }
    .hero-copy .lead{
      font-size: clamp(16px, 1.3vw, 18px);
      color: var(--muted);
      max-width: 56ch;
    }
    .hero-actions{ display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin-top:18px }
    .hero-trust{ margin-top:16px; display:flex; gap:12px; flex-wrap:wrap; color:var(--muted2); font-size:13px }
    .pill{
      display:inline-flex; align-items:center; gap:8px;
      padding:8px 10px;
      border-radius:999px;
      border:1px solid var(--stroke);
      background: var(--panel);
    }
    .pill svg{ opacity:.9 }

    /* Screenshot placeholders */
    .screen-wrap{ position:absolute; inset:18px; display:grid; grid-template-rows:auto 1fr; gap:12px }
    .fake-topbar{
      height:42px;
      border-radius: 16px;
      border: 1px solid var(--stroke);
      background: color-mix(in srgb, var(--panel2) 85%, transparent);
      display:flex; align-items:center; justify-content:space-between;
      padding:0 14px;
      gap:12px;
    }
    .dots{ display:flex; gap:7px; align-items:center }
    .dots span{ width:10px; height:10px; border-radius:999px; background: color-mix(in srgb, var(--muted) 25%, transparent); border:1px solid var(--stroke) }
    .fake-topbar .title{ font-size:13px; color:var(--muted); font-weight:700; overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
    .fake-topbar .tag{
      font-size:12px; font-weight:800; color:rgba(255,255,255,.92);
      padding:6px 10px; border-radius:999px;
      background: linear-gradient(135deg, color-mix(in srgb, var(--brand3) 35%, transparent), color-mix(in srgb, var(--brand1) 35%, transparent));
      border:1px solid color-mix(in srgb, white 10%, transparent);
    }
    @media (prefers-color-scheme: light){
      .fake-topbar .tag{ color: rgba(15,23,42,.92) }
    }

    .fake-screen{
      border-radius: 18px;
      border: 1px solid var(--stroke);
      background: linear-gradient(180deg, color-mix(in srgb, var(--panel2) 85%, transparent), transparent);
      padding:14px;
      overflow:hidden;
      position:relative;
    }
    .fake-grid{
      display:grid;
      grid-template-columns: 1.15fr .85fr;
      gap:12px;
      height:100%;
    }
    .fake-panel{
      border-radius: 16px;
      border: 1px solid var(--stroke);
      background: color-mix(in srgb, var(--panel) 80%, transparent);
      padding:12px;
      min-height: 140px;
    }
    .fake-row{ display:flex; gap:10px; align-items:center; margin:10px 0 }
    .fake-bar{
      height:10px; border-radius:999px;
      background: color-mix(in srgb, var(--muted) 18%, transparent);
      border:1px solid var(--stroke);
      flex:1;
      overflow:hidden;
    }
    .fake-bar > i{
      display:block; height:100%;
      width:var(--w,55%);
      background: linear-gradient(90deg, color-mix(in srgb, var(--brand3) 55%, transparent), color-mix(in srgb, var(--brand1) 55%, transparent));
      border-radius:999px;
    }
    .fake-chip{
      display:inline-flex; align-items:center; gap:8px;
      padding:7px 10px;
      border-radius:999px;
      border:1px solid var(--stroke);
      background: color-mix(in srgb, var(--panel) 88%, transparent);
      color:var(--muted);
      font-size:12px;
      font-weight:700;
      margin:6px 6px 0 0;
    }
    .fake-avatar{
      width:28px; height:28px; border-radius:999px;
      background: linear-gradient(135deg, color-mix(in srgb, var(--brand2) 55%, transparent), color-mix(in srgb, var(--brand3) 55%, transparent));
      border: 1px solid color-mix(in srgb, white 12%, transparent);
    }

    /* Cards / grids */
    .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-radius: var(--radius);
      border: 1px solid var(--stroke);
      background: var(--panel);
      box-shadow: 0 10px 26px rgba(0,0,0,.12);
      padding:18px;
    }
    .card p{ color:var(--muted); margin:8px 0 0 }
    .icon{
      width:40px; height:40px; border-radius:14px;
      display:inline-flex; align-items:center; justify-content:center;
      border:1px solid color-mix(in srgb, white 12%, transparent);
      background: linear-gradient(135deg, color-mix(in srgb, var(--brand1) 25%, transparent), color-mix(in srgb, var(--brand3) 18%, transparent));
      margin-bottom:10px;
    }
    .icon svg{ width:20px; height:20px; opacity:.95 }

    /* Steps */
    .steps{
      display:grid; grid-template-columns: .8fr 1.2fr;
      gap:18px;
      align-items:start;
    }
    .step{
      display:flex; gap:12px;
      padding:14px;
      border-radius: 18px;
      border:1px solid var(--stroke);
      background: var(--panel);
      margin:10px 0;
    }
    .num{
      width:34px; height:34px; border-radius:12px;
      display:flex; align-items:center; justify-content:center;
      font-weight:900;
      color:white;
      background: linear-gradient(135deg, var(--brand1), var(--brand3));
      flex: 0 0 auto;
      box-shadow: 0 10px 26px color-mix(in srgb, var(--brand1) 22%, transparent);
    }
    @media (prefers-color-scheme: light){
      .num{ color: rgba(15,23,42,.95) }
    }
    .step h3{ margin:2px 0 6px }
    .step p{ margin:0; color:var(--muted) }

    /* Product preview row */
    .preview{
      display:grid;
      grid-template-columns: repeat(3, 1fr);
      gap:14px;
      margin-top:14px;
    }
    .shot{
      border-radius: 20px;
      border:1px solid var(--stroke);
      background: linear-gradient(180deg, color-mix(in srgb, var(--panel2) 85%, transparent), transparent);
      padding:14px;
      overflow:hidden;
      min-height: 220px;
      position:relative;
    }
    .shot .label{
      display:flex; align-items:center; justify-content:space-between; gap:12px;
      margin-bottom:10px;
    }
    .shot .label b{ font-size:13px }
    .shot .label span{ font-size:12px; color:var(--muted2) }
    .mini{
      border-radius: 16px;
      border:1px solid var(--stroke);
      background: color-mix(in srgb, var(--panel) 84%, transparent);
      padding:12px;
      height: 170px;
    }

    /* Pricing */
    .pricing{
      display:grid; grid-template-columns: 1fr 1fr;
      gap:14px; align-items:stretch;
    }
    .price{
      position:relative;
      overflow:hidden;
    }
    .price::before{
      content:"";
      position:absolute; inset:-120px auto auto -120px;
      width:320px; height:320px;
      background: radial-gradient(circle, color-mix(in srgb, var(--brand3) 30%, transparent), transparent 60%);
      pointer-events:none;
      opacity:.9;
    }
    .price .badge{
      display:inline-flex; gap:8px; align-items:center;
      padding:8px 10px;
      border-radius:999px;
      border:1px solid var(--stroke);
      background: color-mix(in srgb, var(--panel2) 80%, transparent);
      font-weight:800;
      font-size:12px;
      color:var(--muted);
    }
    .amount{
      font-size:42px; font-weight:900; letter-spacing:-.03em; margin-top:12px
    }
    .amount small{ font-size:14px; color:var(--muted); font-weight:700 }
    .bullets{ margin:14px 0 0; padding:0; list-style:none }
    .bullets li{
      display:flex; gap:10px; align-items:flex-start;
      margin:10px 0;
      color: var(--muted);
    }
    .check{
      width:18px; height:18px; flex:0 0 auto;
      border-radius:6px;
      background: linear-gradient(135deg, var(--brand2), var(--brand3));
      margin-top:2px;
      box-shadow: 0 10px 20px color-mix(in srgb, var(--brand2) 18%, transparent);
      position:relative;
    }
    .check::after{
      content:"";
      position:absolute;
      left:6px; top:3px;
      width:5px; height:9px;
      border:2px solid white;
      border-left:0; border-top:0;
      transform: rotate(45deg);
      opacity:.92;
    }
    @media (prefers-color-scheme: light){
      .check::after{ border-color: rgba(15,23,42,.95) }
    }

    /* Form */
    form{ margin-top:14px }
    .form-row{
      display:flex; gap:10px; flex-wrap:wrap;
      margin-top:12px;
    }
    .input{
      flex: 1 1 260px;
      padding:12px 14px;
      border-radius: 14px;
      border:1px solid var(--stroke);
      background: color-mix(in srgb, var(--panel) 88%, transparent);
      color: var(--text);
      font-weight:650;
      outline:none;
    }
    .input::placeholder{ color: color-mix(in srgb, var(--muted2) 85%, transparent) }
    .input:focus{ border-color: color-mix(in srgb, var(--brand3) 55%, var(--stroke)) }

    /* FAQ (details) */
    details{
      border:1px solid var(--stroke);
      background: var(--panel);
      border-radius: 18px;
      padding:14px 14px;
      margin:10px 0;
    }
    summary{
      cursor:pointer;
      list-style:none;
      display:flex; align-items:center; justify-content:space-between; gap:12px;
      font-weight:800;
    }
    summary::-webkit-details-marker{ display:none }
    .chev{
      width:18px; height:18px; opacity:.75;
      transition: transform .12s ease;
    }
    details[open] .chev{ transform: rotate(180deg) }
    details p{ margin:10px 0 0; color:var(--muted) }

    /* Footer CTA */
    .cta{
      border-radius: var(--radius2);
      border: 1px solid var(--stroke);
      background: linear-gradient(135deg, color-mix(in srgb, var(--panel2) 88%, transparent), transparent);
      box-shadow: var(--shadow);
      padding: 26px;
      display:grid;
      grid-template-columns: 1.2fr .8fr;
      gap:18px;
      align-items:center;
      overflow:hidden;
      position:relative;
    }
    .cta::after{
      content:"";
      position:absolute; inset:auto -160px -220px auto;
      width:520px; height:520px;
      background: radial-gradient(circle at 30% 30%, color-mix(in srgb, var(--brand1) 30%, transparent), transparent 62%);
      pointer-events:none;
      opacity:.85;
    }

    /* Responsive */
    @media (max-width: 980px){
      .hero-grid{ grid-template-columns: 1fr; }
      .hero-card{ min-height: 420px; }
      .grid-3{ grid-template-columns: 1fr; }
      .grid-2{ grid-template-columns: 1fr; }
      .steps{ grid-template-columns: 1fr; }
      .preview{ grid-template-columns: 1fr; }
      .pricing{ grid-template-columns: 1fr; }
      .cta{ grid-template-columns: 1fr; }
      .nav-links{ display:none; }
      .loop-circle{ max-width:360px; }
      .node-1{ top:4%; }
      .node-2{ right:-2%; top:56%; transform: translate(10%, -50%); }
      .node-3{ left:-2%; bottom:4%; transform: translate(-8%, 8%); }
    }

    /* Utility */
    .split{
      display:flex; align-items:flex-end; justify-content:space-between; gap:18px; flex-wrap:wrap;
      margin-bottom:16px;
    }
    .hr{
      height:1px; background:var(--stroke); margin:18px 0 0;
      border:0;
    }

    /* Utility helpers */
    .flex{ display:flex; }
    .flex-wrap{ flex-wrap:wrap; }
    .align-center{ align-items:center; }
    .align-start{ align-items:flex-start; }
    .align-end{ align-items:flex-end; }
    .justify-between{ justify-content:space-between; }
    .justify-end{ justify-content:flex-end; }
    .gap-10{ gap:10px; }
    .gap-12{ gap:12px; }
    .gap-14{ gap:14px; }
    .grid-stack{ display:grid; }
    .mt-2{ margin-top:2px; }
    .mt-4{ margin-top:4px; }
    .mt-6{ margin-top:6px; }
    .mt-8{ margin-top:8px; }
    .mt-10{ margin-top:10px; }
    .mt-12{ margin-top:12px; }
    .mt-14{ margin-top:14px; }
    .mb-4{ margin-bottom:4px; }
    .ml-10{ margin-left:10px; }
    .m-0{ margin:0; }
    .pt-10{ padding-top:10px; }
    .pt-20{ padding-top:20px; }
    .pt-24{ padding-top:24px; }
    .pb-0{ padding-bottom:0; }
    .pad-10{ padding:10px; }
    .pad-14{ padding:14px; }
    .pad-16-18{ padding:16px 18px; }
    .footer-pad{ padding:22px 0 46px; }
    .text-right{ text-align:right; }
    .text-16-900{ font-size:16px; font-weight:900; }
    .fs-13{ font-size:13px; }
    .minw-88{ min-width:88px; }
    .minw-92{ min-width:92px; }
    .minh-auto{ min-height:auto; }
    .card-compact{ padding:14px; box-shadow:none; }
    .shadow-none{ box-shadow:none; }
    .footer-links{ display:flex; }
    .footer-meta{ display:flex; }
    .w-62{ --w:62%; }
    .w-64{ --w:64%; }
    .w-68{ --w:68%; }
    .w-70{ --w:70%; }
    .w-76{ --w:76%; }
    .w-78{ --w:78%; }
