:root{
  --bg:#08080c; --bg2:#0d0d14; --card:#12121b; --line:#22222f;
  --txt:#e9e9f2; --mut:#9a9ab0; --pri:#7c5cff; --pri2:#22d3ee; --ok:#34d399; --err:#f87171;
  --r:14px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--bg);color:var(--txt);font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}
.grad{background:linear-gradient(92deg,var(--pri),var(--pri2));-webkit-background-clip:text;background-clip:text;color:transparent}

/* header */
.hdr{position:sticky;top:0;z-index:50;background:rgba(8,8,12,.72);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.hdr-in{display:flex;align-items:center;gap:28px;height:66px}
.logo{display:flex;align-items:center;gap:9px;font-size:18px;letter-spacing:-.3px}
.logo b{font-weight:800;background:linear-gradient(92deg,var(--pri),var(--pri2));-webkit-background-clip:text;background-clip:text;color:transparent}
.nav{display:flex;gap:24px;margin-right:auto;font-size:14.5px;color:var(--mut)}
.nav a:hover{color:var(--txt)}
.hdr-act{display:flex;gap:10px}
.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:transparent;color:var(--txt);padding:10px 18px;border-radius:10px;font-size:14.5px;font-weight:600;cursor:pointer;transition:.15s;font-family:inherit}
.btn:hover{transform:translateY(-1px)}
.btn.primary{background:linear-gradient(92deg,var(--pri),#5b8cff);border-color:transparent;box-shadow:0 8px 26px -10px rgba(124,92,255,.75)}
.btn.primary:hover{box-shadow:0 12px 30px -10px rgba(124,92,255,.95)}
.btn.ghost:hover{border-color:#3a3a52;background:#14141f}
.btn.big{padding:13px 24px;font-size:15.5px}
.btn.full{width:100%;margin-top:6px}
.btn[disabled]{opacity:.65;cursor:default;transform:none}

/* hero */
.hero{position:relative;padding:74px 0 66px;overflow:hidden}
.hero:before{content:"";position:absolute;inset:-30% 30% auto -10%;height:520px;background:radial-gradient(closest-side,rgba(124,92,255,.22),transparent);filter:blur(20px);pointer-events:none}
.hero-in{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;position:relative}
.badge{display:inline-block;border:1px solid #2c2c44;background:#14141f;color:#c4b5fd;font-size:13px;padding:6px 12px;border-radius:99px;margin-bottom:20px}
.hero h1{font-size:56px;line-height:1.06;letter-spacing:-2px;margin:0 0 18px;font-weight:800}
.lead{color:var(--mut);font-size:17.5px;max-width:530px;margin:0 0 28px}
.cta{display:flex;gap:12px;flex-wrap:wrap}
.stats{display:flex;gap:34px;margin-top:34px}
.stats b{display:block;font-size:22px;letter-spacing:-.5px}
.stats span{color:var(--mut);font-size:13px}

.hero-mock{background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 40px 80px -40px rgba(0,0,0,.9)}
.mock-bar{display:flex;align-items:center;gap:7px;padding:11px 14px;border-bottom:1px solid var(--line);background:#0f0f18}
.mock-bar i{width:9px;height:9px;border-radius:50%;background:#2a2a3a}
.mock-bar span{margin-left:8px;color:var(--mut);font-size:12.5px;font-family:ui-monospace,Menlo,monospace}
.mock-body{padding:16px}
.prompt{font-family:ui-monospace,Menlo,monospace;font-size:12.5px;color:#a5b4fc;background:#0c0c14;border:1px solid #1e1e2c;border-radius:10px;padding:12px;margin:0 0 14px}
.frames{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.fr{aspect-ratio:1/1;border-radius:8px;background:linear-gradient(140deg,#1c1c2b,#12121b)}
.f1{background:linear-gradient(140deg,#3b2f6b,#1b2440)}
.f2{background:linear-gradient(140deg,#173a4a,#1b2440)}
.f3{background:linear-gradient(140deg,#2b2140,#38304d)}
.f4{background:linear-gradient(140deg,#132f3b,#1d2a44)}
.mock-progress{height:5px;background:#1a1a26;border-radius:9px;margin:16px 0 12px;overflow:hidden}
.mock-progress span{display:block;height:100%;width:78%;background:linear-gradient(90deg,var(--pri),var(--pri2));border-radius:9px}
.mock-meta{display:flex;justify-content:space-between;color:var(--mut);font-size:12px}
.mock-meta .ok{color:var(--ok)}

/* sections */
.sec{padding:72px 0;border-top:1px solid var(--line)}
.sec.alt{background:var(--bg2)}
.sec-h{max-width:640px;margin-bottom:38px}
.sec-h h2{font-size:34px;letter-spacing:-1px;margin:0 0 8px}
.sec-h p{color:var(--mut);margin:0}

.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:0 20px 20px;transition:.18s}
.card:hover{border-color:#34345a;transform:translateY(-3px)}
.card-top{height:96px;margin:0 -20px 16px;background:linear-gradient(135deg,#3b2f6b,#1b2440)}
.t1{background:linear-gradient(135deg,#4c2f8f,#0e3b4a)}
.t2{background:linear-gradient(135deg,#123b52,#3a2a63)}
.t3{background:linear-gradient(135deg,#3d2340,#123a52)}
.t4{background:linear-gradient(135deg,#1f3a2e,#123049)}
.t5{background:linear-gradient(135deg,#402a2a,#2b1f4a)}
.t6{background:linear-gradient(135deg,#2a2a3f,#173a3a)}
.card h3{margin:0 0 8px;font-size:18px}
.card p{color:var(--mut);font-size:14.5px;margin:0 0 12px}
.card ul{list-style:none;padding:0;margin:0 0 14px;display:flex;gap:8px;flex-wrap:wrap}
.card li{font-size:12px;color:#c7c7dd;background:#1a1a26;border:1px solid #262636;padding:3px 9px;border-radius:99px}
.pill{font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:#8b7dff}

.fgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.feat{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px}
.feat .ic{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#1a1a2a;color:var(--pri2);margin-bottom:12px;font-size:18px}
.feat h4{margin:0 0 6px;font-size:17px}
.feat p{color:var(--mut);margin:0;font-size:14.5px}

.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.plan{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px;position:relative}
.plan.pop{border-color:#4c3fa8;box-shadow:0 24px 60px -30px rgba(124,92,255,.55)}
.plan .tag{position:absolute;top:-11px;left:24px;background:linear-gradient(92deg,var(--pri),#5b8cff);font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:99px}
.plan h3{margin:0 0 4px;font-size:18px}
.price{font-size:32px;font-weight:800;letter-spacing:-1px;margin-bottom:16px}
.price span{font-size:14px;color:var(--mut);font-weight:500}
.plan ul{list-style:none;padding:0;margin:0 0 20px}
.plan li{color:var(--mut);font-size:14.5px;padding:7px 0;border-bottom:1px solid #1a1a26}
.plan .btn{width:100%}

.api-in{display:grid;grid-template-columns:1fr 1.1fr;gap:44px;align-items:center}
.code{background:#0b0b12;border:1px solid var(--line);border-radius:var(--r);padding:20px;overflow:auto;font:13px/1.7 ui-monospace,Menlo,monospace;color:#c9d1e8;margin:0}

.ftr{border-top:1px solid var(--line);padding:48px 0 28px;background:#06060a}
.ftr-in{display:flex;gap:60px;justify-content:space-between;flex-wrap:wrap}
.ftr-brand b{display:block;font-size:17px;margin-bottom:4px}
.ftr-brand span{color:var(--mut);font-size:14px}
.ftr-cols{display:flex;gap:64px}
.ftr-cols h5{margin:0 0 12px;font-size:13px;color:var(--txt);letter-spacing:.04em;text-transform:uppercase}
.ftr-cols a{display:block;color:var(--mut);font-size:14.5px;padding:4px 0}
.ftr-cols a:hover{color:var(--txt)}
.ftr-bot{color:#6b6b82;font-size:13px;margin-top:36px;border-top:1px solid #12121b;padding-top:20px}

/* modal */
.modal{position:fixed;inset:0;display:none;z-index:100;align-items:center;justify-content:center;padding:20px}
.modal.open{display:flex}
.modal-bg{position:absolute;inset:0;background:rgba(4,4,8,.78);backdrop-filter:blur(6px)}
.modal-card{position:relative;width:100%;max-width:410px;background:#101019;border:1px solid #262636;border-radius:18px;padding:26px;box-shadow:0 50px 100px -40px #000;animation:pop .22s ease}
@keyframes pop{from{transform:translateY(10px) scale(.98);opacity:0}to{transform:none;opacity:1}}
.modal-card .x{position:absolute;right:14px;top:12px;background:none;border:0;color:var(--mut);font-size:22px;cursor:pointer;line-height:1}
.tabs{display:flex;gap:6px;background:#161622;padding:4px;border-radius:10px;margin-bottom:20px;width:fit-content}
.tab{border:0;background:none;color:var(--mut);padding:7px 16px;border-radius:8px;cursor:pointer;font-size:14px;font-family:inherit;font-weight:600}
.tab.active{background:#242438;color:#fff}
.modal-card h3{margin:0 0 18px;font-size:19px}
.modal-card form{display:flex;flex-direction:column;gap:14px}
.modal-card label{display:flex;flex-direction:column;gap:6px;font-size:13.5px;color:var(--mut)}
.modal-card input[type=email],.modal-card input[type=password]{background:#0b0b12;border:1px solid #2a2a3d;border-radius:10px;padding:11px 13px;color:var(--txt);font-size:15px;font-family:inherit;outline:none;transition:.15s}
.modal-card input:focus{border-color:#5b4bd6;box-shadow:0 0 0 3px rgba(124,92,255,.16)}
.row{display:flex;justify-content:space-between;align-items:center;font-size:13.5px}
.chk{flex-direction:row!important;align-items:center;gap:8px!important;color:var(--mut)}
.link{color:#a394ff;font-size:13.5px}
.link:hover{text-decoration:underline}
.msg{min-height:0;margin:0;font-size:13.5px;text-align:center}
.msg.err{color:var(--err)}
.msg.ok{color:var(--ok)}
.small{color:#6b6b82;font-size:12px;margin:16px 0 0;text-align:center}
.small a{color:#8b7dff}
.spin{width:15px;height:15px;border:2px solid rgba(255,255,255,.25);border-top-color:#fff;border-radius:50%;display:inline-block;animation:sp .7s linear infinite;margin-right:8px;vertical-align:-2px}
@keyframes sp{to{transform:rotate(360deg)}}

@media(max-width:900px){
  .hero-in,.api-in,.grid,.fgrid,.pgrid{grid-template-columns:1fr}
  .hero h1{font-size:40px}
  .nav{display:none}
  .hero{padding:48px 0}
  .sec{padding:52px 0}
  .ftr-cols{gap:34px}
}
