:root{
  --night:#0a0824; --night2:#121036; --panel:#19191f; --win:#26272d;
  --indigo:#4631fd; --blue:#4062fd; --violet:#7f6bff; --red:#e44857;
  --ink:#15162b; --muted:#5d5f78; --light:#f4f5fa; --line:#e3e4ee;
  --font:'Onest',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --gut:clamp(20px,4vw,48px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:72px;-webkit-text-size-adjust:100%}
body{font-family:var(--font);color:var(--ink);background:#fff;line-height:1.5;font-size:17px;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer;background:none;border:0}
ul,ol{list-style:none}
.wrap{width:100%;max-width:1320px;margin:0 auto;padding:0 var(--gut)}
.wrap.narrow{max-width:900px}
.center{text-align:center}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:#fff;color:#000;padding:8px 14px;border-radius:8px;z-index:100}
.skip:focus{left:8px}
:focus-visible{outline:2px solid var(--violet);outline-offset:3px}
.progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:60;background:linear-gradient(90deg,var(--blue),var(--violet),var(--red));transform:scaleX(0);transform-origin:0 50%}

h2{font-size:clamp(2rem,4vw,2.75rem);line-height:1.15;font-weight:600;letter-spacing:-.015em}
.sub{font-size:1.15rem;max-width:640px;margin-top:14px;opacity:.75}
.h3{font-size:1.4rem;font-weight:600;margin:64px 0 24px;letter-spacing:-.01em}
.h3.s{margin:36px 0 18px;font-size:1.1rem;color:var(--muted)}
.fine{font-size:.85rem;color:var(--muted);margin-top:18px}
section{padding:clamp(72px,9vw,128px) 0}

/* pills */
.pill{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 32px;border-radius:999px;background:var(--indigo);color:#fff;font-weight:600;font-size:1rem;white-space:nowrap;transition:transform .2s,background .2s,box-shadow .2s}
.pill:hover{background:#5a47ff;transform:translateY(-1px);box-shadow:0 8px 24px -6px rgba(70,49,253,.6)}
.pill.sm{padding:9px 22px;font-size:.92rem}
.pill.white{background:#fff;color:#14122e}.pill.white:hover{background:#f0efff;box-shadow:0 8px 24px -8px rgba(0,0,0,.35)}
.pill.ghostp{background:transparent;border:1.5px solid rgba(255,255,255,.55)}.pill.ghostp:hover{background:rgba(255,255,255,.12);box-shadow:none}
.pill.black{background:#000}.pill.black:hover{background:#1c1c1c}

/* announce */
.announce{position:relative;background:#14122e;color:#fff;text-align:center;padding:10px 44px;font-size:.92rem}
.announce a{text-decoration:underline;text-underline-offset:3px;font-weight:600}
.announce .x{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:1.4rem;line-height:1;opacity:.7;width:28px;height:28px}
.announce.gone{display:none}

/* nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(10,8,36,.96);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid transparent;color:#fff;transition:border-color .3s}
.nav.scrolled{border-color:rgba(255,255,255,.1)}
.nav-in{display:flex;align-items:center;gap:16px;height:64px}
.brand img{height:32px;width:auto}
.badge{font-size:.72rem;font-weight:600;padding:4px 10px;border-radius:999px;background:rgba(127,107,255,.22);color:#cfc7ff;border:1px solid rgba(127,107,255,.4)}
.links{display:flex;gap:26px;margin-left:auto;font-size:.95rem;font-weight:500}
.links a{opacity:.85;transition:opacity .2s}.links a:hover{opacity:1}
.nav .desk-only{margin-left:8px}
.mob-only{display:none}
.burger{display:none;margin-left:auto;width:40px;height:40px;position:relative}
.burger span{position:absolute;left:10px;right:10px;height:2px;background:#fff;border-radius:2px;transition:transform .25s,top .25s}
.burger span:nth-child(1){top:15px}.burger span:nth-child(2){top:23px}
.burger[aria-expanded=true] span:nth-child(1){top:19px;transform:rotate(45deg)}
.burger[aria-expanded=true] span:nth-child(2){top:19px;transform:rotate(-45deg)}

/* hero */
.hero{position:relative;overflow:hidden;color:#fff;padding:clamp(56px,8vw,110px) 0 clamp(72px,9vw,130px);background:radial-gradient(120% 90% at 20% 0%,#2a1fa8 0%,#150f5c 38%,#0a0824 75%)}
.stars,.ribbons{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.ribbons .rb{animation:drift 18s ease-in-out infinite alternate;transform-origin:center}
.ribbons .r2{animation-duration:23s;animation-delay:-6s}
.ribbons .r3{animation-duration:15s;animation-delay:-3s}
@keyframes drift{from{transform:translate3d(-30px,10px,0)}to{transform:translate3d(40px,-24px,0)}}
.hero-in{position:relative;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:clamp(32px,5vw,80px);align-items:center}
.eyebrow{font-size:.9rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#b9aeff}
.hero h1{font-size:clamp(3.2rem,9vw,8rem);line-height:1;font-weight:600;letter-spacing:-.025em;margin:18px 0 20px}
.hero h1 i{font-style:normal;color:var(--violet);margin:0 .02em}
.hero h1 .ln{display:block;overflow:hidden;padding-bottom:.08em}
.hero h1 .ln>span{display:inline-block;transform:translateY(105%);transition:transform 1s cubic-bezier(.2,.8,.2,1) .15s}
.is-ready .hero h1 .ln>span{transform:none}
.tag{font-size:clamp(1.4rem,2.6vw,2rem);font-weight:500;letter-spacing:-.01em}
.lead{max-width:560px;margin-top:16px;font-size:1.15rem;color:rgba(255,255,255,.78)}
.load{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--d,0)*90ms + 80ms)}
.is-ready .load{opacity:1;transform:none}
.hero h1.load{opacity:1;transform:none}

/* forms */
.join{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px;max-width:560px;position:relative}
.join input[type=email]{flex:1 1 240px;min-width:0;padding:13px 22px;border-radius:999px;border:1.5px solid rgba(255,255,255,.35);background:rgba(255,255,255,.08);color:#fff;font:inherit;font-size:1rem;transition:border-color .2s,background .2s}
.join input::placeholder{color:rgba(255,255,255,.55)}
.join input:focus{outline:none;border-color:#fff;background:rgba(255,255,255,.14)}
.join .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.form-msg{flex-basis:100%;font-size:.88rem;color:rgba(255,255,255,.7);min-height:1.3em;padding-left:6px}
.form-msg.err{color:#ffb4bc}.form-msg.ok{color:#9df0c0}
.join button:disabled{opacity:.6;cursor:wait}

/* hero tiles */
.tiles{display:flex;flex-direction:column;gap:10px}
.tile{width:100%;height:84px;display:flex;align-items:center;gap:22px;padding:0 28px;border-radius:18px;background:rgba(18,6,110,.55);border:1px solid rgba(255,255,255,.06);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);text-align:left;color:#d9d3ff;font-size:1.1rem;font-weight:500;transition:background .25s,transform .25s,color .25s,border-color .25s}
.tile:hover{background:rgba(110,70,255,.45);color:#fff;transform:translateX(-6px);border-color:rgba(255,255,255,.22)}
.tile.hl{background:rgba(122,84,255,.5)}
.tile .ic{flex:none;width:34px;height:34px;display:grid;place-items:center;color:#b7a9ec}
.tile:hover .ic{color:#fff}
.tile .ic svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.tile .tx{flex:1;min-width:0}
.tile .ar{color:#fff}
.tile .ar svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s}
.tile:hover .ar svg{transform:translateX(5px)}

/* dark sections */
.dark{background:var(--panel);color:#fff}
.dark .sub{opacity:.7}
.why h2,.why .sub{text-align:center;margin-left:auto;margin-right:auto}
.win{margin:48px auto 40px;background:var(--win);border-radius:20px;border:1px solid rgba(255,255,255,.08);box-shadow:0 40px 100px -30px rgba(70,49,253,.35);overflow:hidden;max-width:1100px}
.win-top{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.08);background:#202127}
.tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;flex:1;min-width:0}
.tabs::-webkit-scrollbar{display:none}
.tabs button{padding:8px 16px;border-radius:999px;font-weight:500;font-size:.92rem;color:rgba(255,255,255,.65);white-space:nowrap;transition:background .2s,color .2s}
.tabs button:hover{color:#fff}
.tabs button[aria-selected=true]{background:#fff;color:#111}
.run{flex:none;display:inline-flex;align-items:center;gap:8px;padding:8px 18px;border-radius:999px;background:#3ddc84;color:#06240f;font-weight:600;font-size:.92rem;transition:filter .2s,transform .2s}
.run:hover{filter:brightness(1.08);transform:translateY(-1px)}
.run svg{width:14px;height:14px;fill:currentColor}
.run[disabled]{opacity:.55;cursor:wait}
.win-body{padding:clamp(18px,3vw,36px)}
.pane{animation:paneIn .45s ease}
.pane[hidden]{display:none}
@keyframes paneIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.cap{margin-top:22px;color:rgba(255,255,255,.75);font-size:1rem;max-width:760px}
.cap b{color:#fff}
.ui{border-radius:14px;overflow:hidden;min-height:250px}
.ui.light{background:#fff;color:var(--ink)}
.ui.dark2{background:#0f0f14;color:#e8e8f2;border:1px solid rgba(255,255,255,.08)}
.ui-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid var(--line)}
.ui.dark2 .ui-bar{border-color:rgba(255,255,255,.08)}
.ui-bar img{height:26px;width:auto}
.ui-name{font-weight:700;letter-spacing:.06em}
.ui-user{font-size:.8rem;opacity:.6}
.ui-main{padding:20px 18px}
.ui-main h3{font-size:1.1rem;margin-bottom:12px}
.tbl{width:100%;border-collapse:collapse;font-size:.92rem}
.tbl th{text-align:left;font-weight:500;color:var(--muted);padding:8px 10px;border-bottom:1px solid var(--line);font-size:.8rem}
.tbl td{padding:12px 10px;border-bottom:1px solid #f0f0f6}
.tbl tr.new{animation:rowIn .5s ease}
@keyframes rowIn{from{opacity:0;background:#efecff;transform:translateX(-10px)}to{opacity:1;background:transparent;transform:none}}
.ui-hint{margin-top:14px;font-size:.88rem;color:var(--muted)}
.chip{display:inline-block;padding:3px 11px;border-radius:999px;font-size:.78rem;font-weight:600;background:rgba(255,255,255,.1);color:rgba(255,255,255,.8)}
.chip.ok{background:#dcf7e7;color:#0e6a38}
.chip.warn{background:#fff1d1;color:#8a5a00}
.chip.blue{background:rgba(64,98,253,.25);color:#b8c6ff}
.stats{display:flex;gap:28px;margin-bottom:16px;flex-wrap:wrap}
.stats b{display:block;font-size:1.6rem;font-weight:600}.stats small{opacity:.55;font-size:.8rem}
.log{font-family:var(--mono);font-size:.82rem;line-height:1.75;background:#08080c;border-radius:10px;padding:14px 16px;overflow-x:auto;color:#c9c9dc;white-space:pre-wrap;min-height:90px}
.log .l{display:block;animation:rowIn2 .35s ease}
@keyframes rowIn2{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:none}}
.log i{font-style:normal;color:#8d83ff;margin-right:10px}
.log u{text-decoration:none;color:#3ddc84}
.log s{text-decoration:none;color:#ff6b7a}
.chatui{background:#fff;color:var(--ink);padding:22px;display:flex;flex-direction:column;gap:14px}
.msg{max-width:min(620px,92%);padding:12px 16px;border-radius:16px;font-size:.98rem}
.msg.me{align-self:flex-end;background:var(--indigo);color:#fff;border-bottom-right-radius:4px}
.msg.ai{background:#f1f0ff;border-bottom-left-radius:4px}
.msg.ai b{display:block;font-size:.78rem;color:var(--indigo);margin-bottom:4px}
.msg.ai #chat-a.typing::after{content:"";display:inline-block;width:2px;height:1em;background:var(--indigo);margin-left:2px;vertical-align:-2px;animation:blink 1s steps(2) infinite}
@keyframes blink{50%{opacity:0}}
.acts{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.acts button{padding:7px 16px;border-radius:999px;background:var(--indigo);color:#fff;font-size:.88rem;font-weight:600}
.acts button.alt{background:#fff;color:var(--indigo);border:1px solid var(--indigo)}
.safe{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.steps{display:flex;flex-direction:column;gap:6px}
.steps li{display:flex;gap:14px;align-items:flex-start;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.04);transition:background .3s,opacity .3s;opacity:.5}
.steps li.run,.steps li.done{opacity:1}
.steps li.run{background:rgba(127,107,255,.18)}
.steps .dot{flex:none;width:22px;height:22px;border-radius:50%;border:2px solid rgba(255,255,255,.35);margin-top:2px;position:relative;transition:all .3s}
.steps li.run .dot{border-color:var(--violet);border-top-color:transparent;animation:spin .8s linear infinite}
.steps li.done .dot{background:#3ddc84;border-color:#3ddc84}
.steps li.done .dot::after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid #06240f;border-width:0 2px 2px 0;transform:rotate(45deg)}
@keyframes spin{to{transform:rotate(360deg)}}
.st b{display:block;font-weight:600}.st small{opacity:.65;font-size:.85rem}
.audit{background:#0f0f14;border-radius:14px;padding:20px;border:1px solid rgba(255,255,255,.08)}
.chain{display:flex;flex-direction:column;gap:8px}
.chain li{display:grid;grid-template-columns:28px 1fr auto;gap:12px;align-items:center;padding:10px 14px;border-radius:10px;background:rgba(255,255,255,.04);border:1px solid transparent;font-size:.9rem;transition:background .3s,border-color .3s}
.chain .n{font-family:var(--mono);opacity:.5}
.chain code{font-family:var(--mono);font-size:.78rem;color:#8d83ff}
.chain li.bad{background:rgba(255,107,122,.1);border-color:rgba(255,107,122,.5)}
.chain li.bad code{color:#ff6b7a}
.chain li.good{border-color:rgba(61,220,132,.35)}
.audit-btns{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:16px}
.ghost{padding:8px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.35);font-size:.88rem;font-weight:500;transition:background .2s}
.ghost:hover{background:rgba(255,255,255,.12)}
.a-msg{font-size:.9rem;opacity:.8;margin-left:6px}
.a-msg.bad{color:#ff6b7a;opacity:1}.a-msg.good{color:#3ddc84;opacity:1}
.center{margin-top:8px}

/* ai band */
.band-wrap{padding:0;background:linear-gradient(var(--panel) 50%,#fff 50%)}
.ai-band{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:32px;padding:clamp(32px,5vw,72px);border-radius:28px;color:#fff;background:linear-gradient(120deg,#3a1fd6,#4631fd 40%,#6b4dff 70%,#c14aa6 120%);background-size:160% 160%;animation:grad 10s ease infinite alternate;position:relative;overflow:hidden}
@keyframes grad{to{background-position:100% 50%}}
.ai-copy p{margin-top:16px;font-size:1.12rem;opacity:.9;max-width:560px}
.btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.ai-art svg{width:100%;max-width:340px;margin-left:auto;animation:floaty 6s ease-in-out infinite alternate}
@keyframes floaty{to{transform:translateY(-12px)}}
.spark{transform-origin:268px 56px;animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{50%{transform:scale(1.35);opacity:.7}}

/* inside cards */
.inside h2,.inside .sub{text-align:left}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}
.card{background:var(--win);border-radius:22px;overflow:hidden;border:1px solid rgba(255,255,255,.07);transition:transform .35s,border-color .35s,box-shadow .35s}
.card:hover{transform:translateY(-6px);border-color:rgba(127,107,255,.6);box-shadow:0 24px 60px -24px rgba(127,107,255,.6)}
.card .art{height:170px;display:grid;place-items:center;background:linear-gradient(135deg,#3b27d9,#6a4dff 60%,#8e66ff)}
.card:nth-child(2) .art{background:linear-gradient(135deg,#1f3bd0,#4062fd)}
.card:nth-child(3) .art{background:linear-gradient(135deg,#6a2fd6,#b24ad0)}
.card:nth-child(4) .art{background:linear-gradient(135deg,#271a9a,#4631fd)}
.card:nth-child(5) .art{background:linear-gradient(135deg,#2a4bd8,#6f7dff)}
.card:nth-child(6) .art{background:linear-gradient(135deg,#4a27c4,#e44857 140%)}
.card .art svg{width:60%;height:80%;transition:transform .5s}
.card:hover .art svg{transform:scale(1.1)}
.flow{animation:dash 1.4s linear infinite}
@keyframes dash{to{stroke-dashoffset:-18}}
.card h3{font-size:1.25rem;font-weight:600;margin:22px 24px 8px}
.card p{margin:0 24px 26px;opacity:.7;font-size:.98rem}

/* light + grey */
.light{background:#fff}.grey{background:var(--light)}
.who{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.wcard{background:var(--light);border-radius:20px;padding:26px;display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s,background .3s}
.wcard:hover{transform:translateY(-5px);box-shadow:0 18px 40px -20px rgba(20,18,60,.35);background:#ecebff}
.wcard h4{font-size:1.2rem;font-weight:600;margin-bottom:8px}
.wcard p{color:var(--muted);font-size:.98rem;flex:1}
.tagchip{align-self:flex-start;margin-top:20px;padding:4px 12px;border-radius:999px;font-size:.78rem;font-weight:600;background:#e4e1ff;color:#3a28c8}
.tagchip.alt{background:#dbe5ff;color:#1e3fc2}

/* logos + marquee */
.marq{margin-top:44px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.track{display:flex;gap:18px;width:max-content;animation:marq var(--dur,40s) linear infinite}
.marq:hover .track{animation-play-state:paused}
@keyframes marq{to{transform:translateX(-50%)}}
.lg{display:flex;align-items:center;gap:12px;padding:18px 26px;border-radius:16px;background:#fff;border:1px solid var(--line);color:#6a6c85;font-weight:600;transition:color .25s,border-color .25s,transform .25s,box-shadow .25s}
.grey .lg{background:#fff}
.lg svg{width:30px;height:30px;fill:currentColor;flex:none}
.lg:hover{color:var(--c);border-color:var(--c);transform:translateY(-3px);box-shadow:0 14px 30px -16px var(--c)}
.lg .wm{font-size:1.08rem;letter-spacing:-.01em}
.track .lg{flex:none;min-width:180px;justify-content:center}
.two{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:16px}
.grid{display:flex;flex-wrap:wrap;gap:14px}

/* modules */
.mods{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:48px}
.mods h4{font-size:1.15rem;font-weight:600;padding-bottom:12px;margin-bottom:14px;border-bottom:2px solid var(--indigo)}
.mods li{padding:7px 0;color:var(--muted);transition:color .2s,padding .2s}
.mods li:hover{color:var(--indigo);padding-left:6px}

/* security */
.sec{background:var(--night);position:relative;overflow:hidden}
.sec::before{content:"";position:absolute;width:700px;height:700px;right:-200px;top:-250px;background:radial-gradient(circle,rgba(70,49,253,.35),transparent 65%)}
.sec .wrap{position:relative}
.sec-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;margin-top:48px;align-items:start}
.ctrl{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ctrl li{padding:20px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:4px;transition:background .3s,border-color .3s}
.ctrl li:hover{background:rgba(127,107,255,.14);border-color:rgba(127,107,255,.5)}
.ctrl span{opacity:.65;font-size:.9rem}
.fw{padding:8px 24px 24px;border-radius:20px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}
.fw table{width:100%;border-collapse:collapse}
.fw th{text-align:left;font-size:.8rem;font-weight:500;opacity:.55;padding:16px 0 10px}
.fw td{padding:14px 0;border-top:1px solid rgba(255,255,255,.08);font-weight:600}
.fw td:last-child{text-align:right}
.fw .fine{color:rgba(255,255,255,.55)}

/* roadmap */
.rm{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:56px;position:relative}
.rm::before{content:"";position:absolute;left:10%;right:10%;top:11px;height:3px;background:var(--line)}
.rm::after{content:"";position:absolute;left:10%;top:11px;height:3px;width:var(--prog,0%);max-width:80%;background:linear-gradient(90deg,var(--blue),var(--violet));transition:width 1.6s cubic-bezier(.2,.8,.2,1)}
.rm li{position:relative;text-align:center;padding:0 12px;display:flex;flex-direction:column;align-items:center;gap:4px}
.rm .pt{width:24px;height:24px;border-radius:50%;background:#fff;border:3px solid var(--line);position:relative;z-index:1;margin-bottom:14px}
.rm [data-s=done] .pt{background:var(--indigo);border-color:var(--indigo)}
.rm [data-s=now] .pt{border-color:var(--indigo);box-shadow:0 0 0 6px rgba(70,49,253,.18);animation:ring 2s ease-in-out infinite}
@keyframes ring{50%{box-shadow:0 0 0 12px rgba(70,49,253,0)}}
.rm b{font-weight:600}.rm small{color:var(--muted);font-size:.9rem}
.rm em{font-style:normal;margin-top:8px;font-size:.78rem;font-weight:600;padding:3px 12px;border-radius:999px;background:var(--light);color:var(--muted)}
.rm [data-s=done] em{background:#dcf7e7;color:#0e6a38}
.rm [data-s=now] em{background:#e4e1ff;color:#3a28c8}

/* faq */
.qs{margin-top:36px}
details{border-bottom:1px solid #d9dae8}
summary{list-style:none;cursor:pointer;padding:22px 40px 22px 0;font-weight:600;font-size:1.12rem;position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"";position:absolute;right:6px;top:50%;width:10px;height:10px;border:solid var(--ink);border-width:0 2px 2px 0;transform:translateY(-70%) rotate(45deg);transition:transform .3s}
details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
details p{padding:0 40px 24px 0;color:var(--muted);animation:paneIn .35s ease}

/* closing band */
.close{color:#fff;background:linear-gradient(110deg,#2f55f5,#4631fd 45%,#8b4dff 85%);background-size:140% 140%;animation:grad 12s ease infinite alternate;text-align:center}
.close h2{max-width:760px;margin:0 auto}
.join.big{margin:36px auto 0;justify-content:center}
.close .join input[type=email]{background:#fff;color:#111;border-color:#fff}
.close .join input::placeholder{color:#7a7c92}
.close .form-msg{text-align:center;color:rgba(255,255,255,.85)}
.close .form-msg.err{color:#ffd0d5}.close .form-msg.ok{color:#caffdf}

/* footer */
.foot{background:#000;color:#fff;padding:56px 0 40px}
.foot-top{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap;align-items:center}
.fl{display:flex;flex-wrap:wrap;gap:12px 28px;font-size:.95rem}
.fl a{opacity:.75;transition:opacity .2s}.fl a:hover{opacity:1}
.legal{margin-top:36px;padding-top:24px;border-top:1px solid rgba(255,255,255,.14);font-size:.8rem;line-height:1.7;opacity:.55;max-width:980px}

/* reveals */
.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1)}
.js .reveal.in{opacity:1;transform:none}
.cards .card:nth-child(3n+2){transition-delay:.08s}.cards .card:nth-child(3n){transition-delay:.16s}
.who .wcard:nth-child(2){transition-delay:.07s}.who .wcard:nth-child(3){transition-delay:.14s}.who .wcard:nth-child(4){transition-delay:.21s}

/* responsive */
@media (max-width:1100px){
  .cards{grid-template-columns:repeat(2,1fr)}
  .who{grid-template-columns:repeat(2,1fr)}
  .mods{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:960px){
  .hero-in{grid-template-columns:1fr}
  .tile:hover{transform:translateX(4px)}
  .sec-grid,.two,.ai-band,.safe{grid-template-columns:1fr}
  .ai-art{display:none}
  .links{position:fixed;top:0;left:0;right:0;bottom:0;margin:0;padding:96px var(--gut) 40px;flex-direction:column;gap:0;background:var(--night);font-size:1.4rem;font-weight:600;transform:translateY(-100%);visibility:hidden;transition:transform .35s ease,visibility .35s;z-index:-1}
  .links a{padding:16px 0;border-bottom:1px solid rgba(255,255,255,.1)}
  .links .pill{margin-top:24px;border:0;font-size:1rem;padding:14px 28px;align-self:flex-start}
  .nav.open .links{transform:none;visibility:visible}
  .burger{display:block}.desk-only{display:none}.mob-only{display:inline-flex}
  .nav .badge{margin-left:0}
}
@media (max-width:640px){
  body{font-size:16px}
  .cards,.who,.mods,.ctrl{grid-template-columns:1fr}
  .pill{width:100%}.join .pill{width:100%}
  .btns .pill{width:100%}
  .win-top{flex-wrap:wrap}.run{margin-left:auto}
  .rm{grid-template-columns:1fr;gap:26px;margin-top:40px}
  .rm::before,.rm::after{left:11px;right:auto;top:12px;bottom:12px;width:3px;height:auto;max-width:none}
  .rm::after{height:var(--progm,0%);width:3px;bottom:auto}
  .rm li{flex-direction:column;align-items:flex-start;text-align:left;padding:0 0 0 44px}
  .rm .pt{position:absolute;left:0;top:0;margin:0}
  .announce{font-size:.85rem;padding:10px 40px 10px 16px}
  .nav .badge{display:none}
  .chain li{grid-template-columns:24px 1fr}.chain code{grid-column:2}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .reveal,.load{opacity:1;transform:none}
  .hero h1 .ln>span{transform:none}
}

/* platforms block */
.plat{background:#000;padding:clamp(56px,7vw,100px) 0}
.plat-box{max-width:1000px;margin:0 auto}
.plat-top{background:#54c2ff;color:#101018;text-align:center;border-radius:28px;padding:clamp(36px,5vw,64px) clamp(20px,5vw,72px) clamp(90px,10vw,130px)}
.plat-top h2{font-size:clamp(1.6rem,3.2vw,2.5rem);line-height:1.2;max-width:760px;margin:0 auto}
.pl-sub{margin-top:18px;font-size:clamp(1.05rem,1.8vw,1.4rem)}
.pl-fine{margin-top:28px;font-size:.92rem;opacity:.8}
.plat-panel{margin-top:-64px;position:relative;border-radius:28px;padding:clamp(36px,5vw,56px) clamp(20px,4vw,48px) clamp(36px,5vw,56px);background:linear-gradient(120deg,#3a00a8,#2a0097 50%,#1c0082);color:#fff;text-align:center}
.plat-panel h3{font-size:clamp(1.6rem,3vw,2.25rem);font-weight:600;margin-bottom:34px}
.pg{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:#b7a9ec;font-weight:600;margin:6px 0 22px}
.pcols{display:grid;grid-template-columns:repeat(5,1fr);gap:28px 16px;margin-bottom:34px}
.pcols.three{grid-template-columns:repeat(3,1fr);margin-bottom:0}
.pc{display:flex;flex-direction:column;align-items:center;gap:10px;transition:transform .3s}
.pc:hover{transform:translateY(-4px)}
.pc svg{width:56px;height:56px;margin-bottom:6px;fill:#fff}
.pc svg:has(rect){fill:none;stroke:#fff;stroke-width:1.5;stroke-linecap:round}
.pn{font-weight:500;font-size:1.05rem;border-bottom:1px solid rgba(255,255,255,.7);line-height:1.3}
.ps{font-size:.8rem;color:#c9bff5;max-width:170px}
@media (max-width:760px){.pcols,.pcols.three{grid-template-columns:repeat(2,1fr)}.pcols.three .pc:last-child{grid-column:1/-1}}
@media (max-width:760px){.pcols:not(.three) .pc:last-child{grid-column:1/-1}}

/* faq: dark, two columns, chevron left */
.faq{position:relative;overflow:hidden;color:#fff;background:radial-gradient(60% 55% at 50% 100%,rgba(120,100,230,.55),rgba(60,40,140,.2) 55%,transparent 80%),#000;padding:clamp(64px,8vw,110px) 0 clamp(120px,14vw,200px)}
.faq h2{text-align:center}
.faq .qs{max-width:1240px;margin:clamp(36px,5vw,56px) auto 0;columns:2;column-gap:32px}
.faq details{break-inside:avoid;border-bottom:1px solid rgba(255,255,255,.18)}
.faq summary{padding:12px 8px 12px 40px;font-weight:500;font-size:1.05rem;line-height:1.5}
.faq summary::after{right:auto;left:10px;top:21px;width:8px;height:8px;border-color:#fff;border-width:0 2px 2px 0;transform:rotate(-45deg)}
.faq details[open] summary::after{transform:rotate(45deg);top:19px}
.faq details p{padding:0 8px 18px 40px;color:rgba(255,255,255,.7);font-size:.98rem}
@media (max-width:860px){.faq .qs{columns:1}}

/* replaces: conveyor (logos flow through the platform and come out connected) */
.flowsec{position:relative;overflow:hidden;color:#fff;background:linear-gradient(180deg,#4500e6 0%,#3a0bc4 22%,#240a7a 55%,#150742 100%);padding:clamp(64px,8vw,110px) 0 clamp(64px,8vw,100px)}
.flowsec .sub{margin-left:auto;margin-right:auto;opacity:.78}
.flowsec .pill.ghostp{margin-top:26px;width:auto}
.cv{--t:84px;--g:16px;position:relative;height:300px;margin-top:clamp(24px,4vw,56px)}
.cv-src{display:none}
.cv-layer{position:absolute;inset:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.cv-off{clip-path:inset(0 50% 0 0)}
.cv-on{clip-path:inset(0 0 0 50%)}
.cv-track{position:absolute;left:0;top:calc(50% - var(--t)/2);display:flex;gap:var(--g);width:max-content;animation:cvmove var(--dur,40s) linear infinite}
.cv.paused .cv-track{animation-play-state:paused}
@keyframes cvmove{from{transform:translateX(calc(var(--w,0px)*-1))}to{transform:translateX(0)}}
.cv-t{position:relative;flex:none;width:var(--t);height:var(--t);border-radius:16px;display:grid;place-items:center;font-weight:700;font-size:.8rem;line-height:1.1;text-align:center}
.cv-t svg{width:38px;height:38px;fill:currentColor}
.cv-off .cv-t{background:#2a0b9c;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.cv-on .cv-t{background:#fff;color:var(--c);box-shadow:0 10px 28px -10px rgba(0,0,0,.5)}
.cv-t .ck{position:absolute;right:-6px;top:-6px;width:20px;height:20px;border-radius:50%;background:#5a2fff;border:2px solid #fff;display:grid;place-items:center}
.cv-t .ck svg{width:10px;height:10px;fill:none;stroke:#fff;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
.cv-core{position:absolute;left:50%;top:50%;width:200px;height:260px;margin:-130px 0 0 -100px;z-index:3;pointer-events:none;perspective:900px}
.doc{position:absolute;inset:20px 24px;border-radius:12px;background:linear-gradient(160deg,#fff,#d9d1ff);transform:rotateY(-24deg) rotateX(4deg);box-shadow:30px 30px 60px -20px rgba(10,0,60,.7);padding:26px 20px;display:flex;flex-direction:column;gap:11px;animation:docfloat 6s ease-in-out infinite alternate}
@keyframes docfloat{from{transform:rotateY(-24deg) rotateX(4deg) translateY(-8px)}to{transform:rotateY(-18deg) rotateX(2deg) translateY(8px)}}
.doc .bar{height:10px;width:55%;border-radius:4px;background:#4631fd}
.doc .ln{height:6px;border-radius:3px;background:#b7a9ec}
.doc .ln.s{width:60%}
.doc .mk{position:absolute;right:16px;bottom:16px;width:30px;height:30px;fill:#4631fd;stroke:#4631fd;stroke-width:1.8;stroke-linejoin:round}
.cube{position:absolute;width:30px;height:30px;border-radius:6px;background:linear-gradient(135deg,#7f6bff,#4631fd);box-shadow:0 10px 24px -8px rgba(0,0,0,.6);animation:cubespin 7s ease-in-out infinite alternate}
.cube.c1{left:4px;top:6px}
.cube.c2{right:-4px;top:-6px;width:22px;height:22px;background:linear-gradient(135deg,#fff,#cfc7ff);animation-delay:-2s}
.cube.c3{left:14px;bottom:14px;width:24px;height:24px;background:linear-gradient(135deg,#e44857,#8b4dff);animation-delay:-4s}
@keyframes cubespin{from{transform:translateY(-8px) rotate(-14deg)}to{transform:translateY(10px) rotate(18deg)}}
.cv-pause{position:absolute;right:max(var(--gut),calc((100vw - 1320px)/2 + var(--gut)));bottom:0;width:26px;height:26px;border-radius:50%;border:1.5px solid rgba(255,255,255,.55);display:grid;place-items:center;z-index:4;transition:background .2s}
.cv-pause:hover{background:rgba(255,255,255,.18)}
.cv-pause svg{width:14px;height:14px;fill:none;stroke:#fff;stroke-width:2.6;stroke-linecap:round}
.cv.paused .cv-pause svg{fill:#fff;stroke:none;transform:none}


.who-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(24px,4vw,64px);align-items:center;margin-top:clamp(40px,6vw,80px);max-width:1000px}
.who-intro h3{font-size:clamp(1.6rem,2.6vw,2rem);font-weight:600;line-height:1.2;margin-bottom:14px}
.who-intro p{color:rgba(255,255,255,.72);font-size:.98rem}
.lnk{display:inline-block;margin-top:20px;font-weight:600;font-size:.95rem}
.lnk span{display:inline-block;transition:transform .25s}.lnk:hover span{transform:translateX(5px)}
.flowsec .who{grid-template-columns:1fr 1fr;gap:14px}
.flowsec .wcard{background:#fff;color:#14122e;border-radius:14px;padding:22px;min-height:190px;justify-content:space-between;gap:20px;box-shadow:0 20px 50px -24px rgba(0,0,0,.5)}
.flowsec .wcard:hover{background:#fff;transform:translateY(-6px);box-shadow:0 28px 60px -22px rgba(0,0,0,.6)}
.flowsec .wcard p{flex:none;color:#14122e;font-size:.95rem;line-height:1.45}
.flowsec .wcard b{color:#5a2fff;font-weight:600}
.wi{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#efeaff}
.wi svg{width:20px;height:20px;fill:none;stroke:#5a2fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:860px){.who-wrap{grid-template-columns:1fr}.cv{height:260px;--t:72px}.cv-core{transform:scale(.8)}}
@media (max-width:520px){.flowsec .who{grid-template-columns:1fr}.flowsec .wcard{min-height:0}.cv-core{transform:scale(.62)}}
@media (prefers-reduced-motion:reduce){.cv-track{animation:none!important;transform:none!important}}

/* conveyor v2 */
.cv{--t:92px;--g:18px;height:340px}
.cv-track{animation:none!important;will-change:transform}
.cv-src{display:none}
.cv-t{border-radius:20px;transition:none}
.cv-t img{width:56%;height:56%;object-fit:contain;display:block}
.cv-off .cv-t{background:linear-gradient(160deg,#33129f,#241080);box-shadow:inset 0 0 0 1px rgba(255,255,255,.07);opacity:var(--o,1)}
.cv-off .cv-t img{filter:brightness(0) invert(1);opacity:.9}
.cv-on .cv-t{background:#fff;box-shadow:0 calc(10px + 14px*var(--b,1)) calc(24px + 16px*var(--b,1)) -12px rgba(8,0,50,.65);transform:translateY(calc((1 - var(--b,1))*10px)) scale(calc(.9 + .1*var(--b,1)))}
.cv-on .cv-t .ck{right:-8px;top:-8px;width:26px;height:26px;border:2.5px solid #fff;background:linear-gradient(135deg,#6b4dff,#4062fd);box-shadow:0 6px 14px -4px rgba(70,49,253,.7),0 0 0 calc(12px*(1 - var(--b,1))) rgba(127,107,255,calc(.45*(1 - var(--b,1))));transform:scale(calc(var(--b,1)*1));opacity:calc(var(--b,1)*3)}
.cv-t .ck svg{width:13px;height:13px;stroke-width:3.4;stroke-dasharray:22;stroke-dashoffset:calc(22*(1 - var(--k,1)))}
.cv-beam{position:absolute;left:50%;top:0;bottom:0;width:2px;margin-left:-1px;z-index:2;background:linear-gradient(180deg,transparent,rgba(190,170,255,.9) 30%,rgba(255,255,255,.95) 50%,rgba(190,170,255,.9) 70%,transparent);box-shadow:0 0 30px 8px rgba(127,107,255,.55);opacity:.55;animation:beam 3.2s ease-in-out infinite}
@keyframes beam{50%{opacity:.95;box-shadow:0 0 46px 14px rgba(127,107,255,.75)}}
.cv-core .glow{position:absolute;left:50%;top:50%;width:360px;height:360px;margin:-180px 0 0 -180px;background:radial-gradient(circle,rgba(130,100,255,.55),transparent 65%);animation:glowp 4s ease-in-out infinite alternate}
@keyframes glowp{from{transform:scale(.85);opacity:.6}to{transform:scale(1.1);opacity:1}}
.doc{z-index:1;overflow:hidden}
.doc .scan{position:absolute;left:0;right:0;top:0;height:46px;background:linear-gradient(180deg,transparent,rgba(90,47,255,.35),transparent);animation:scan 3.4s ease-in-out infinite}
@keyframes scan{from{transform:translateY(-60px)}to{transform:translateY(260px)}}
.doc .ln{transform-origin:0 50%;animation:lnin 3.4s ease-in-out infinite}
.doc .ln:nth-of-type(3){animation-delay:.15s}.doc .ln:nth-of-type(4){animation-delay:.3s}.doc .ln:nth-of-type(5){animation-delay:.45s}.doc .ln:nth-of-type(6){animation-delay:.6s}
@keyframes lnin{0%,100%{transform:scaleX(1);background:#b7a9ec}45%{transform:scaleX(.82);background:#7f6bff}}
.cv.reveal{transform:none}
.js .cv.reveal{opacity:0;transition:opacity 1.2s ease}.js .cv.reveal.in{opacity:1}
.cv-pause{transition:background .2s,transform .2s}.cv-pause:hover{transform:scale(1.1)}
.pimg{width:56px;height:56px;margin-bottom:6px;object-fit:contain;filter:brightness(0) invert(1)}
.flowsec .wcard .wi{transition:transform .4s cubic-bezier(.2,.8,.2,1),background .3s}
.flowsec .wcard:hover .wi{transform:rotate(-8deg) scale(1.12);background:#e4dcff}
@media (max-width:860px){.cv{--t:76px;height:290px}}
@media (prefers-reduced-motion:reduce){.cv-beam,.cv-core .glow,.doc,.doc .scan,.doc .ln{animation:none!important}}

/* ===== VeeMigrate ===== */
.mig{background:#000;color:#fff;padding:clamp(72px,9vw,128px) 0}
.mig h2{font-size:clamp(1.9rem,3.6vw,3rem);line-height:1.18}
.mg-card{margin-top:clamp(32px,4vw,52px);display:grid;grid-template-columns:.78fr 1.22fr;align-items:center;border-radius:28px;overflow:hidden;background:radial-gradient(80% 90% at 85% 10%,#0c2a63 0%,transparent 60%),linear-gradient(120deg,#07142e,#050a1c 60%,#050816);position:relative}
.mg-copy{padding:clamp(28px,4vw,56px)}
.mg-copy h3{font-size:clamp(1.4rem,2.2vw,1.9rem);font-weight:600;margin-bottom:16px;letter-spacing:-.01em}
.mg-copy>p{color:rgba(255,255,255,.78);font-size:1.02rem;line-height:1.6}
.mg-pts{margin-top:22px;display:flex;flex-direction:column;gap:14px}
.mg-pts li{font-size:.95rem;color:rgba(255,255,255,.72);padding-left:22px;position:relative;line-height:1.45}
.mg-pts li::before{content:"";position:absolute;left:0;top:.45em;width:9px;height:9px;border-radius:50%;background:linear-gradient(135deg,#6b4dff,#4062fd)}
.mg-pts b{display:block;color:#fff;font-weight:600}
.mg-note{margin-top:24px;font-size:.8rem;color:rgba(255,255,255,.5)}
.mg-stage{padding:clamp(20px,3vw,40px) 0 clamp(20px,3vw,40px) 0;min-width:0}
.mg-win{display:grid;grid-template-columns:84px 1fr;margin-right:-60px;border-radius:16px 0 0 16px;border:1px solid #1b4fbf;border-right:0;background:#17181d;box-shadow:0 0 60px -10px rgba(40,100,255,.35);overflow:hidden;font-size:.82rem}
.mg-side{background:#121317;border-right:1px solid rgba(255,255,255,.06);padding:16px 0;display:flex;flex-direction:column;gap:6px}
.mg-side li{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;color:rgba(255,255,255,.55);font-size:.68rem;position:relative}
.mg-side svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.mg-side li.on{color:#fff;background:rgba(80,120,255,.14)}
.mg-side em{position:absolute;right:14px;top:6px;font-style:normal;font-size:.62rem;background:#3a63ff;border-radius:8px;padding:0 5px;color:#fff}
.mg-main{padding:16px 76px 18px 20px;min-width:0;color:#e8e9f2}
.mg-top{display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.55);font-size:.76rem}
.mg-top .crumb i{font-style:normal;opacity:.5;margin:0 4px}
.live{margin-left:auto;display:inline-flex;align-items:center;gap:6px;color:#3ddc84}
.live i{width:7px;height:7px;border-radius:50%;background:#3ddc84;animation:livep 1.4s ease-in-out infinite}
.live.off{color:rgba(255,255,255,.45)}.live.off i{background:#777;animation:none}
@keyframes livep{50%{opacity:.3;transform:scale(.7)}}
.mg-replay{padding:3px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.3);font-size:.72rem;color:#fff;transition:background .2s}
.mg-replay:hover{background:rgba(255,255,255,.14)}
.mg-head{display:flex;align-items:center;gap:12px;margin:14px 0 14px}
.mg-head h4{font-size:1.2rem;font-weight:600}
.mg-chip{padding:2px 10px;border-radius:999px;font-size:.72rem;font-weight:600;background:rgba(255,255,255,.1);color:#cfd3ff;transition:background .3s,color .3s}
.mg-chip.act{background:rgba(64,98,253,.28);color:#a9bcff}
.mg-chip.ok{background:rgba(61,220,132,.18);color:#5ff0a2}
.mg-route{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;background:#1e2026;border-radius:12px;padding:12px 16px}
.mg-route .node{display:grid;grid-template-columns:auto auto;column-gap:10px;align-items:center;justify-content:start;min-width:0}
.mg-route .mtile{grid-row:1/3;width:46px;height:46px;border-radius:12px;background:#fff;display:grid;place-items:center}
.mg-route .mtile img{width:30px;height:30px;object-fit:contain}
.mg-route .mtile.v{background:#10104a}.mg-route .mtile.v img{width:34px;height:auto}
.mg-route .node b{font-size:.86rem;align-self:end}.mg-route .node small{color:rgba(255,255,255,.5);font-size:.7rem;align-self:start}
.share{grid-column:1/3;height:3px;border-radius:2px;background:rgba(255,255,255,.12);margin-top:8px;overflow:hidden}
.share i{display:block;height:100%;background:linear-gradient(90deg,#4062fd,#8b6bff);transition:width .15s linear}
.pipe{position:relative;height:20px}
.pipe svg{position:absolute;inset:0;width:100%;height:100%}
.pipe .rail{fill:none;stroke:rgba(255,255,255,.14);stroke-width:2}
.pipe .flow{fill:none;stroke:#6b8cff;stroke-width:2;stroke-dasharray:4 8;opacity:0;animation:pflow .8s linear infinite;transition:opacity .4s}
.pipe .pk{position:absolute;top:50%;left:0;width:8px;height:8px;margin-top:-4px;border-radius:2px;background:#9db4ff;box-shadow:0 0 10px #6b8cff;opacity:0}
.mg-route.go .flow{opacity:1}
.mg-route.go .pk{animation:pkmove var(--pd,1.6s) linear infinite}
.mg-route.go .p2{animation-delay:calc(var(--pd,1.6s)*-.33)}
.mg-route.go .p3{animation-delay:calc(var(--pd,1.6s)*-.66)}
@keyframes pflow{to{stroke-dashoffset:-12}}
@keyframes pkmove{0%{left:0;opacity:0}10%{opacity:1}90%{opacity:1}100%{left:calc(100% - 8px);opacity:0}}
.mg-stages{display:grid;grid-template-columns:repeat(7,1fr);margin:16px 0 14px;position:relative}
.mg-stages::before{content:"";position:absolute;left:7%;right:7%;top:7px;height:2px;background:rgba(255,255,255,.12)}
.mg-stages::after{content:"";position:absolute;left:7%;top:7px;height:2px;width:calc(86%*var(--sp,0));background:linear-gradient(90deg,#4062fd,#8b6bff);transition:width .5s ease}
.mg-stages li{display:flex;flex-direction:column;align-items:center;gap:7px;position:relative;z-index:1;text-align:center}
.mg-stages .d{width:16px;height:16px;border-radius:50%;background:#17181d;border:2px solid rgba(255,255,255,.25);transition:all .3s;position:relative}
.mg-stages b{font-weight:500;font-size:.64rem;color:rgba(255,255,255,.5);line-height:1.2;transition:color .3s}
.mg-stages li.act .d{border-color:#6b8cff;border-top-color:transparent;animation:spin .8s linear infinite}
.mg-stages li.act b,.mg-stages li.done b{color:#fff}
.mg-stages li.done .d{background:#3ddc84;border-color:#3ddc84}
.mg-stages li.done .d::after{content:"";position:absolute;left:3.5px;top:0;width:4px;height:8px;border:solid #06240f;border-width:0 2px 2px 0;transform:rotate(45deg)}
.mg-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:12px}
.mg-items{display:flex;flex-direction:column;gap:6px}
.mg-items li{display:grid;grid-template-columns:1fr 54px;grid-template-areas:"n v" "b b";gap:5px 8px;background:#1e2026;border-radius:10px;padding:8px 10px;opacity:.45;transition:opacity .4s}
.mg-items li.on,.mg-items li.ok{opacity:1}
.mg-items .rn{grid-area:n;font-weight:600;font-size:.78rem;display:flex;flex-direction:column}
.mg-items .rn small{font-weight:400;color:rgba(255,255,255,.5);font-size:.66rem}
.mg-items .rv{grid-area:v;text-align:right;font-size:.68rem;color:rgba(255,255,255,.55);align-self:center}
.mg-items .rb{grid-area:b;height:3px;border-radius:2px;background:rgba(255,255,255,.1);overflow:hidden}
.mg-items .rb i{display:block;height:100%;width:0;background:linear-gradient(90deg,#4062fd,#8b6bff)}
.mg-items li.ok .rb i{background:#3ddc84}.mg-items li.ok .rv{color:#5ff0a2}
.mg-log{font-family:var(--mono);font-size:.66rem;line-height:1.65;background:#0d0e12;border-radius:10px;padding:10px 12px;color:#b9bccf;height:100%;min-height:210px;max-height:260px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;white-space:pre-wrap}
.mg-log .l{display:block;animation:rowIn2 .35s ease}
.mg-log i{font-style:normal;color:#6b8cff;margin-right:8px}
.mg-log u{text-decoration:none;color:#3ddc84}
.mg-foot{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}
.mg-foot small{display:block;color:rgba(255,255,255,.5);font-size:.66rem;margin-bottom:3px}
.mg-foot b{font-size:.95rem;font-weight:600;font-variant-numeric:tabular-nums}
.mg-foot b.g{color:#5ff0a2}
.mg-foot .mg-spark{width:100%;height:18px;margin-top:2px}
.mg-foot .mg-spark polyline{stroke:#6b8cff;stroke-width:1.6;vector-effect:non-scaling-stroke}
@media (max-width:1100px){.mg-card{grid-template-columns:1fr}.mg-stage{padding:0 0 28px 20px}.mg-win{margin-right:-40px}}
@media (max-width:640px){
  .mig h2 br{display:none}
  .mg-stage{padding:0 0 20px 14px}.mg-win{grid-template-columns:1fr;margin-right:-50px}.mg-side{display:none}
  .mg-main{padding:14px 62px 14px 14px}.mg-grid{grid-template-columns:1fr}.mg-log{min-height:150px}
  .mg-stages{grid-template-columns:repeat(4,1fr);row-gap:12px}.mg-stages::before,.mg-stages::after{display:none}
  .mg-foot{grid-template-columns:repeat(2,1fr)}
  .mg-route{grid-template-columns:1fr;gap:10px}.pipe{height:20px}
}
@media (prefers-reduced-motion:reduce){.pipe .flow,.pk,.live i{animation:none!important}}

/* VeeMigrate: continuous graphic motion */
.mg-viz{border-radius:12px;overflow:hidden;background:#0f1016;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.mg-viz canvas{display:block;width:100%;height:224px}
.mg-card::before,.mg-card::after{content:"";position:absolute;border-radius:50%;filter:blur(70px);pointer-events:none;opacity:.55}
.mg-card::before{width:520px;height:520px;right:-120px;top:-180px;background:radial-gradient(circle,#2f5bff,transparent 65%);animation:aur1 16s ease-in-out infinite alternate}
.mg-card::after{width:460px;height:460px;left:18%;bottom:-240px;background:radial-gradient(circle,#7a3dff,transparent 65%);animation:aur2 20s ease-in-out infinite alternate}
@keyframes aur1{to{transform:translate(-90px,70px) scale(1.15)}}
@keyframes aur2{to{transform:translate(120px,-50px) scale(.9)}}
.mg-copy,.mg-stage{position:relative;z-index:1}
.mg-win{animation:mgglow 6s ease-in-out infinite alternate;transform:perspective(1600px) rotateY(calc(var(--ry,0)*1deg)) rotateX(calc(var(--rx,0)*1deg));transition:transform .5s cubic-bezier(.2,.8,.2,1);transform-origin:0 50%}
@keyframes mgglow{from{box-shadow:0 0 50px -12px rgba(40,100,255,.35)}to{box-shadow:0 0 90px -8px rgba(125,80,255,.55)}}
.mg-stages li.act b{background:linear-gradient(90deg,#fff 30%,#8fb0ff 50%,#fff 70%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shim 1.8s linear infinite}
@keyframes shim{to{background-position:-200% 0}}
.mg-chip.act{animation:chipp 1.6s ease-in-out infinite}
@keyframes chipp{50%{box-shadow:0 0 0 4px rgba(64,98,253,.18)}}
@media (max-width:640px){.mg-viz canvas{height:190px}.mg-win{transform:none!important}}
@media (prefers-reduced-motion:reduce){.mg-card::before,.mg-card::after,.mg-win,.mg-stages li.act b,.mg-chip.act{animation:none!important}.mg-win{transform:none!important}}
#mg-cp{display:none!important}

/* security v2: trust banner + framework seals */
.sec{background:#000}
.sec::before{background:radial-gradient(circle,rgba(70,49,253,.28),transparent 65%)}
.trust{margin-top:48px;display:flex;align-items:center;gap:clamp(20px,3vw,40px);padding:clamp(22px,3vw,34px);border-radius:20px;background:linear-gradient(110deg,#2f0623,#380a2c 60%,#2a0820);position:relative;overflow:hidden}
.trust::after{content:"";position:absolute;top:0;bottom:0;width:30%;left:-40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.07),transparent);transform:skewX(-18deg);animation:sweep 7s ease-in-out infinite}
@keyframes sweep{0%,60%{left:-40%}100%{left:130%}}
.trust-t{position:relative;z-index:1}
.trust-t h3{font-size:1.25rem;font-weight:600;margin-bottom:10px}
.trust-t p{color:rgba(255,255,255,.82);font-size:1rem;line-height:1.6;max-width:900px}
.seal{flex:none;display:block}
.seal.big{width:104px;height:104px;filter:drop-shadow(0 8px 20px rgba(0,0,0,.5))}
.seal svg{width:100%;height:100%}
.seal .ring-t{font:600 8.4px Onest,sans-serif;letter-spacing:.14em;fill:#fff}
.seal .spin{transform-origin:60px 60px;animation:spinr 28s linear infinite}
@keyframes spinr{to{transform:rotate(360deg)}}
.seal .shield{transform-origin:60px 60px;animation:shp 3.6s ease-in-out infinite}
@keyframes shp{50%{transform:scale(1.07)}}
.ctrl{margin-top:20px;grid-template-columns:repeat(3,1fr)}
.fw-h{font-size:1.25rem;font-weight:600;margin:48px 0 20px}
.fwg{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.fwc{display:flex;gap:16px;align-items:center;padding:20px;border-radius:18px;background:#1a0a22;border:1px solid rgba(255,255,255,.06);transition:transform .35s,border-color .35s,background .35s}
.fwc:hover{transform:translateY(-5px);border-color:rgba(150,120,255,.5);background:#220d2c}
.fwc h4{font-size:1.05rem;font-weight:600;margin-bottom:6px}
.fwc p{font-size:.84rem;color:rgba(255,255,255,.62);margin-top:8px;line-height:1.45}
.seal.sm{width:64px;height:64px}
.seal.sm .rg{fill:none;stroke:rgba(255,255,255,.3);stroke-width:1.5;stroke-dasharray:3 6;transform-origin:50px 50px;animation:spinr 18s linear infinite}
.seal.sm .in{fill:#101014;stroke:rgba(255,255,255,.2)}
.seal.sm text{font:700 17px Onest,sans-serif;fill:#d6d8e6}
.seal.sm.on .rg{stroke:#6b8cff}.seal.sm.on .in{fill:#0f1a45;stroke:#6b8cff}.seal.sm.on text{fill:#fff}
.sec .fine{margin-top:20px}
@media (max-width:1100px){.fwg{grid-template-columns:repeat(2,1fr)}}
@media (max-width:760px){.trust{flex-direction:column;align-items:flex-start}.ctrl{grid-template-columns:1fr}.fwg{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.trust::after,.seal .spin,.seal .shield,.seal.sm .rg{animation:none!important}}

.fwc{align-items:flex-start}
.seal.sm{margin-top:2px}
.seal .ring-t{letter-spacing:0}

/* roadmap v3: minimal */
.road{background:radial-gradient(60% 50% at 50% 0%,rgba(70,49,253,.16),transparent 70%),#06051c;color:#fff;padding:clamp(80px,10vw,150px) 0}
.rd-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap}
.road h2{font-size:clamp(2.2rem,4.4vw,3.6rem);letter-spacing:-.025em}
.road .sub{margin:0;max-width:420px;font-size:1rem;opacity:.55}
.rm-wrap{position:relative;margin-top:clamp(56px,8vw,110px)}
.rm-line{position:absolute;left:0;right:0;top:6px;height:1px;background:rgba(255,255,255,.14)}
.rm-fill{position:absolute;left:0;top:-.5px;height:2px;width:var(--prog,0%);max-width:100%;background:linear-gradient(90deg,rgba(255,255,255,.2),#fff 85%,#b9a9ff);transition:width 2s cubic-bezier(.2,.8,.2,1);overflow:hidden}
.rm-fill b{position:absolute;top:0;bottom:0;width:90px;left:-90px;background:linear-gradient(90deg,transparent,rgba(140,120,255,.95),transparent);animation:glide 4.2s ease-in-out infinite}
@keyframes glide{to{left:100%}}
.rm{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(16px,2.4vw,40px);position:relative}
.rm::before,.rm::after{content:none!important;display:none!important}
.rm li.rs{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:44px 0 0;text-align:left;border:0}
.rn{position:absolute;left:0;top:1px;width:11px;height:11px;border-radius:50%;background:#06051c;border:1px solid rgba(255,255,255,.35);transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.rs.done .rn{background:#fff;border-color:#fff}
.rs.now .rn{left:-1px;top:-1px;width:15px;height:15px;background:#a98bff;border-color:#fff;box-shadow:0 0 0 5px rgba(140,110,255,.18),0 0 22px 2px rgba(150,120,255,.8)}
.rs.now .rn::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1px solid rgba(190,170,255,.8);animation:ringp 2.4s ease-out infinite}
@keyframes ringp{0%{transform:scale(.8);opacity:.9}100%{transform:scale(2);opacity:0}}
.rs:hover .rn{transform:scale(1.25)}
.num{font:500 .78rem var(--mono);letter-spacing:.1em;color:rgba(255,255,255,.38);margin-bottom:14px}
.rs h3{font-size:1.15rem;font-weight:500;line-height:1.3;letter-spacing:-.01em;margin-bottom:8px}
.rs p{font-size:.92rem;line-height:1.55;color:rgba(255,255,255,.52);max-width:230px}
.rst{display:inline-flex;align-items:center;gap:8px;margin-top:20px;font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.4)}
.rst::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}
.rs.done .rst{color:#8fe3b5}
.rs.now .rst{color:#c8baff}
.rs.now .rst::before{animation:livep 1.4s ease-in-out infinite}
.rs.now h3{color:#fff}.rs.now p{color:rgba(255,255,255,.75)}
.rs.next h3,.rs.later h3{color:rgba(255,255,255,.7)}
.rs.later{opacity:.75}
.rs h3,.rs p,.num,.rst{transition:color .3s}
.rs:hover h3{color:#fff}
@media (max-width:1000px){.rm{grid-template-columns:repeat(2,1fr);row-gap:48px}.rm-line{display:none}}
@media (max-width:640px){
  .rm{grid-template-columns:1fr;row-gap:36px;padding-left:34px}
  .rm-line{display:block;left:5px;right:auto;top:6px;bottom:6px;width:1px;height:auto}
  .rm-fill{left:-.5px;top:0;width:2px;height:var(--progm,0px);max-width:none;background:linear-gradient(180deg,rgba(255,255,255,.2),#fff 85%,#b9a9ff)}
  .rm-fill b{left:0;top:-90px;width:100%;height:90px;bottom:auto;background:linear-gradient(180deg,transparent,rgba(140,120,255,.95),transparent);animation:glidev 4.2s ease-in-out infinite}
  @keyframes glidev{to{top:100%}}
  .rm li.rs{padding:0}
  .rn{left:-34px;top:4px}.rs.now .rn{left:-35px;top:3px}
}
@media (prefers-reduced-motion:reduce){.rm-fill b,.rs.now .rn::after,.rst::before{animation:none!important}}

/* for businesses */
.biz{background:#000;color:#fff;padding:clamp(56px,8vw,110px) 0 clamp(72px,9vw,130px);position:relative}
.road+.biz{margin-top:-1px}
.biz-k{display:flex;align-items:center;gap:10px;font-size:clamp(1.3rem,2.2vw,1.9rem);font-weight:600;color:#a898ff;margin:0 0 clamp(14px,2vw,22px)}
.biz-k svg{width:1.15em;height:1.15em;fill:#a898ff}.biz-k .bw{fill:#000}
.biz h2{font-size:clamp(2.2rem,5.6vw,4.4rem);line-height:1.08;font-weight:600;letter-spacing:-.02em;margin:0 0 clamp(36px,5vw,64px)}
.biz-card{position:relative;overflow:hidden;border-radius:10px;min-height:clamp(380px,32vw,420px);background:linear-gradient(100deg,#0d0838 0%,#150a52 45%,#1c1070 100%);isolation:isolate}
.biz-art{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.biz-art path{transform-box:fill-box;transform-origin:center;will-change:transform}
.biz-art .s1{animation:bz1 14s ease-in-out infinite alternate}
.biz-art .s2{animation:bz2 11s ease-in-out infinite alternate}
.biz-art .s3{animation:bz3 13s ease-in-out infinite alternate}
@keyframes bz1{to{transform:translate(-14px,6px) skewX(-2deg)}}
@keyframes bz2{to{transform:translate(10px,-8px)}}
@keyframes bz3{to{transform:translate(-10px,10px) scale(1.02)}}
.biz-card::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(100deg,rgba(10,6,40,.92) 0%,rgba(10,6,40,.55) 38%,transparent 62%)}
.biz-card::before{content:"";position:absolute;z-index:1;top:0;bottom:0;width:30%;left:-40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.07),transparent);transform:skewX(-14deg);animation:bzs 7s ease-in-out 1.2s infinite}
@keyframes bzs{0%{left:-40%}55%,100%{left:130%}}
.biz-in{position:relative;z-index:2;padding:clamp(32px,4.2vw,64px);max-width:560px;display:flex;flex-direction:column;align-items:flex-start;min-height:inherit;justify-content:center}
.biz-in h3{font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.2;font-weight:600;margin:0 0 20px}
.biz-in p{font-size:1.02rem;line-height:1.55;color:rgba(255,255,255,.88);margin:0 0 34px;max-width:480px}
.biz-in .pill{padding:15px 32px;transition:transform .25s,box-shadow .25s,background .2s}
.biz-in .pill:hover{transform:translateY(-2px)}
@media(max-width:760px){.biz-art{opacity:.75}.biz-art{preserveAspectRatio:xMaxYMid}.biz-card::after{background:linear-gradient(180deg,rgba(10,6,40,.9) 0%,rgba(10,6,40,.6) 60%,rgba(10,6,40,.35) 100%)}}
@media(prefers-reduced-motion:reduce){.biz-art path,.biz-card::before{animation:none}}

/* security: fewer */
.fwg{grid-template-columns:repeat(2,1fr)}
@media (max-width:760px){.fwg{grid-template-columns:1fr}}

/* hero v2: product-page style */
.hero{background:#000;padding:clamp(64px,8vw,120px) 0 clamp(80px,9vw,140px);min-height:min(88vh,760px);display:flex;align-items:center}
.hero .stars{opacity:.35}
.hero .ribbons{display:none}
.hero-in{display:block;width:100%}
.hero-copy{max-width:760px;position:relative;z-index:2}
.prod{display:flex;align-items:center;flex-wrap:wrap;gap:14px}
.prod span{font-size:clamp(1.6rem,2.6vw,2.2rem);font-weight:600;letter-spacing:-.01em}
.prod span i{font-style:normal;color:var(--violet)}
.prod em{font-style:normal;font-size:.76rem;font-weight:500;background:#d8d0ff;color:#14122e;padding:5px 9px;border-radius:4px;align-self:flex-start;margin-top:2px}
.hero h1{font-size:clamp(2.6rem,6.2vw,5.2rem);line-height:1.06;font-weight:600;letter-spacing:-.02em;margin:clamp(18px,2.4vw,30px) 0 clamp(16px,2vw,24px)}
.hero h1.load{opacity:0;transform:translateY(18px)}.is-ready .hero h1.load{opacity:1;transform:none}
.sub2{font-size:clamp(1.15rem,2.2vw,1.9rem);font-weight:300;letter-spacing:-.005em;color:#fff;max-width:900px}
.hero .join{margin-top:clamp(26px,3vw,40px);max-width:none;align-items:center}
.hero .join input[type=email]{flex:0 1 300px;background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.28)}
.hero .join .pill{background:#0b5fff;padding:14px 30px}
.hero .join .pill:hover{background:#2a74ff;transform:translateY(-1px)}
.hero .join .ghosth{background:transparent;border:1px solid rgba(255,255,255,.45);color:#fff;padding:13px 30px}
.hero .join .ghosth:hover{background:rgba(255,255,255,.1);border-color:#fff}
.hero .form-msg{padding-left:6px}
.hero-art{position:absolute;z-index:1;right:calc(-4vw);top:calc(-9vw);width:min(66vw,980px);aspect-ratio:1;pointer-events:none;transform:translate3d(calc(var(--px,0)*18px),calc(var(--py,0)*18px),0);transition:transform .5s ease-out}
.hero-art .fl{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 0 60px rgba(64,98,253,.35));opacity:0;transform:scale(.86) rotate(-14deg);transition:opacity 1.4s ease,transform 2.2s cubic-bezier(.2,.8,.2,1)}
.is-ready .hero-art .fl{opacity:1;transform:none}
@property --d{syntax:'<angle>';inherits:true;initial-value:0deg}
.fl .spin{--d:12deg;animation:unf 3s cubic-bezier(.2,.8,.2,1) .2s both,brth 14s ease-in-out 3.2s infinite alternate,turn 120s linear infinite}
.fl rect{transform:rotate(calc(var(--i)*var(--d)))}
@keyframes unf{from{--d:0deg}to{--d:12deg}}
@keyframes brth{from{--d:12deg}to{--d:15.5deg}}
@keyframes turn{to{rotate:360deg}}
.hbadge{position:absolute;right:14%;top:calc(9vw + 6%);width:clamp(64px,7vw,96px);aspect-ratio:1;background:#000;color:#fff;display:flex;flex-direction:column;justify-content:center;padding:0 12%;gap:6%;animation:hfl 7s ease-in-out infinite alternate}
.hbadge b{font-size:clamp(1.6rem,3.2vw,2.8rem);line-height:1;font-weight:700;letter-spacing:-.02em}
.hbadge i{display:block;width:38%;height:3px;background:#fff}
@keyframes hfl{to{transform:translateY(-10px)}}
@media(max-width:900px){.hero-art{width:130vw;right:-48vw;top:-26vw;opacity:.55}.hbadge{display:none}.hero .join .pill,.hero .join .ghosth{width:100%}.hero .join input[type=email]{flex:1 1 100%}}
@media(prefers-reduced-motion:reduce){.fl .spin,.hbadge{animation:none}.hero-art{transition:none}}

/* hero v2 tune */
.hero h1{font-size:clamp(2.4rem,5.2vw,4.4rem)}
.hero-copy{max-width:820px}
.hero-art{width:min(58vw,860px);right:-6vw;top:-7vw}
.hero-art .fl{filter:none}
.fl .spin{--d:15deg;animation:unf2 3s cubic-bezier(.2,.8,.2,1) .2s both,brth2 14s ease-in-out 3.2s infinite alternate,turn 140s linear infinite}
@keyframes unf2{from{--d:0deg}to{--d:15deg}}
@keyframes brth2{from{--d:15deg}to{--d:19deg}}
.hbadge{width:clamp(54px,5.4vw,80px);right:7%;top:calc(7vw + 4%);padding:0 14%;align-items:flex-start}
.hbadge b{font-size:clamp(1.3rem,2.4vw,2.1rem)}
@media(max-width:900px){.hero-art{width:120vw;right:-44vw;top:-20vw;opacity:.5}}

.hero .hbadge{position:absolute;right:12%;top:12%;width:clamp(56px,5.6vw,84px);height:auto;aspect-ratio:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:0 14%;gap:8%}
.hero .hbadge b{display:block}
.hero .hbadge{box-sizing:border-box;padding:0 0 0 .22em;font-size:clamp(56px,5.6vw,84px)}.hero .hbadge b{font-size:.36em}.hero .hbadge i{height:.035em;min-height:2px;margin-top:.08em}.hero .hbadge{width:1em;padding-left:.2em}
.hero .hbadge{top:26%;right:5%}

/* hero v2: tighter type */
.hero h1{font-size:clamp(2.1rem,3.7vw,3.5rem);line-height:1.02;letter-spacing:-.035em;margin:clamp(10px,1.2vw,16px) 0 clamp(10px,1.1vw,14px)}
.prod{gap:10px}
.prod span{font-size:clamp(1.25rem,1.7vw,1.6rem);letter-spacing:-.025em}
.prod em{font-size:.68rem;padding:3px 7px;margin-top:0}
.sub2{font-size:clamp(1rem,1.5vw,1.35rem);line-height:1.25;letter-spacing:-.015em;font-weight:300;max-width:640px}
.hero .join{margin-top:clamp(18px,2vw,26px);gap:8px}
.hero .join input[type=email]{flex:0 1 260px;padding:11px 20px;font-size:.92rem}
.hero .join .pill,.hero .join .ghosth{padding:11px 24px;font-size:.92rem}
.hero .form-msg{font-size:.78rem;margin-top:2px}
.hero-copy{max-width:640px}
.hero{min-height:min(78vh,640px)}
.hero-art{width:min(52vw,780px);right:-4vw;top:-5vw}
@media(max-width:900px){.hero h1{font-size:2.1rem}.sub2{font-size:1rem}}
.hero .hbadge{right:14%;top:22%}

/* native ai */
.nai{background:#000;color:#fff;padding:clamp(40px,6vw,90px) 0 clamp(64px,8vw,120px)}
.nai h2{font-size:clamp(2.1rem,4.4vw,3.6rem);line-height:1.04;font-weight:600;letter-spacing:-.035em;margin:0 0 clamp(28px,4vw,52px)}
.nai h2 em{font-style:normal;background:linear-gradient(90deg,#5b8cff,#9a86ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.nai-g{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,2vw,32px)}
.nc{position:relative;background:#17123f;border-radius:28px;padding:clamp(22px,2vw,28px);min-height:200px;display:flex;flex-direction:column;overflow:hidden;transition:transform .35s cubic-bezier(.2,.8,.2,1),background .35s,box-shadow .35s}
.nc::before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(420px 220px at var(--mx,80%) var(--my,0%),rgba(127,107,255,.22),transparent 70%);opacity:0;transition:opacity .4s;pointer-events:none}
.nc:hover{transform:translateY(-4px);background:#1c1650;box-shadow:0 24px 50px -28px rgba(70,49,253,.7)}
.nc:hover::before{opacity:1}
.nc h3{font-size:clamp(1.3rem,2vw,1.75rem);line-height:1.2;font-weight:600;letter-spacing:-.02em;margin:0 0 auto;padding-bottom:22px;max-width:520px}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px}
.chip2{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 12px;border-radius:7px;background:#000;font-size:.82rem;font-weight:500;transition:transform .25s,background .25s}
.chip2 svg{width:18px;height:18px;fill:#fff;flex:none}
.chip2 svg.so{fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.nc:hover .chip2{transform:translateY(-2px);transition-delay:calc(var(--i)*40ms)}
.chip2:hover{background:#2a2060}
.js .nc .chip2{opacity:0;transform:translateY(8px)}
.js .nc.in .chip2{opacity:1;transform:none;transition:opacity .6s ease calc(.25s + var(--i)*90ms),transform .6s cubic-bezier(.2,.8,.2,1) calc(.25s + var(--i)*90ms),background .25s}
.js .nc.in:hover .chip2{transform:translateY(-2px);transition-delay:calc(var(--i)*40ms)}
.nc p{font-size:.95rem;line-height:1.5;color:#c9c5e6;margin:0;max-width:520px}
@media(max-width:760px){.nai-g{grid-template-columns:1fr}.nc{border-radius:22px;min-height:0}}
@media(prefers-reduced-motion:reduce){.nc,.chip2{transition:none!important}}

/* pure black hero + supported-style AI */
.announce{background:#000;border-bottom:1px solid rgba(255,255,255,.08)}
.nav{background:rgba(0,0,0,.94)}
.hero{background:#000}
.hero .stars{display:none}
.nai{background:#000;padding:clamp(24px,4vw,56px) 0 clamp(64px,8vw,120px)}
.nai2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:center}
.nai-copy h2{font-size:clamp(1.8rem,2.8vw,2.4rem);line-height:1.12;font-weight:600;letter-spacing:-.03em;margin:0 0 18px}
.nai-copy p{font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.5;color:rgba(255,255,255,.62);font-weight:300;margin:0 0 28px;max-width:560px}
.nai-link{display:inline-flex;align-items:center;gap:8px;font-size:1.05rem;font-weight:400;color:#fff}
.nai-link svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s}
.nai-link:hover svg{transform:translateX(5px)}
.mgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(10px,1.4vw,20px)}
.mt{aspect-ratio:1.17;background:#333335;border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;font-size:.95rem;font-weight:600;color:#fff;transition:transform .3s cubic-bezier(.2,.8,.2,1),background .3s,box-shadow .3s}
.mt svg{width:34px;height:34px;fill:var(--c);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.mt:hover{background:#3d3d42;transform:translateY(-4px);box-shadow:0 18px 36px -20px rgba(127,107,255,.6)}
.mt:hover svg{transform:scale(1.12)}
.js .mgrid .mt{opacity:0;transform:translateY(14px) scale(.96)}
.js .mgrid.in .mt{opacity:1;transform:none;transition:opacity .6s ease calc(var(--i)*70ms + .15s),transform .6s cubic-bezier(.2,.8,.2,1) calc(var(--i)*70ms + .15s),background .3s,box-shadow .3s}
.js .mgrid.in .mt:hover{transform:translateY(-4px);transition-delay:0s}
@media(max-width:900px){.nai2{grid-template-columns:1fr}}
@media(max-width:520px){.mgrid{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce){.mt,.mt svg{transition:none!important}}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:22%;background:linear-gradient(180deg,transparent,#000);z-index:1;pointer-events:none}

/* newsletter + footer v2 */
.close{background:#000;animation:none;text-align:left;position:relative;overflow:hidden;padding:clamp(56px,7vw,100px) 0 0}
.nl{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,100px);position:relative;z-index:2;padding-bottom:clamp(40px,5vw,70px)}
.close h2{max-width:520px;margin:0 0 30px;font-size:clamp(1.6rem,2.7vw,2.3rem);line-height:1.15;font-weight:600;letter-spacing:-.03em;text-align:left}
.nlf{max-width:500px}
.nlf input[type=email]{width:100%;height:52px;padding:0 16px;background:#1a1a1c;border:1px solid #3a3a3e;border-radius:2px;color:#fff;font:inherit;font-size:1rem;transition:border-color .2s,background .2s}
.nlf input[type=email]::placeholder{color:#8f8f96}
.nlf input[type=email]:focus{outline:none;border-color:#fff;background:#212124}
.nl-c{display:flex;align-items:center;gap:8px;margin:14px 0 22px;font-size:.88rem;color:rgba(255,255,255,.75)}
.nl-i{flex:none;width:20px;height:20px;border-radius:50%;background:#fff;color:#000;display:grid;place-items:center;font:700 .78rem/1 Georgia,serif;cursor:help}
.nl-b{height:52px;padding:0 30px;border-radius:999px;border:1px solid rgba(255,255,255,.55);background:transparent;color:#fff;font:inherit;font-size:1.05rem;transition:background .25s,color .25s,border-color .25s,transform .25s}
.nl-b:hover{background:#fff;color:#000;border-color:#fff;transform:translateY(-1px)}
.nl-b:disabled{opacity:.6;cursor:wait}
.close .form-msg{text-align:left;padding-left:0;margin-top:14px;color:rgba(255,255,255,.6)}
.nl-r h3{font-size:1.05rem;font-weight:600;margin:6px 0 26px}
.nl-r ul{display:grid;grid-template-columns:1fr 1fr;gap:22px 28px}
.nl-r a{display:flex;align-items:center;gap:14px;font-size:.98rem;color:#fff;transition:color .2s,transform .25s}
.nl-r a svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nl-r a:hover{color:#b9aeff;transform:translateX(4px)}
.arches{display:block;width:100%;height:clamp(180px,24vw,340px);position:relative;z-index:1;margin-top:-20px}
.ag .ar{transform-box:fill-box;transform-origin:50% 100%;mix-blend-mode:screen;opacity:.85;animation:arup 9s ease-in-out infinite alternate;animation-delay:calc(var(--i)*-1.6s)}
@keyframes arup{from{transform:translateY(14px) scaleY(.94)}to{transform:translateY(-8px) scaleY(1.03)}}
.foot{background:#000;padding:0 0 40px;border-top:0}
.foot2{display:flex;justify-content:space-between;gap:32px;align-items:flex-start;flex-wrap:wrap;padding-top:32px;border-top:1px solid rgba(255,255,255,.1)}
.foot2 .brand img{height:34px;width:auto}
.foot2 .legal{max-width:760px;font-size:.78rem;line-height:1.55;color:rgba(255,255,255,.5);margin:0}
@media(max-width:900px){.nl{grid-template-columns:1fr}.nl-r ul{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.nl-r ul{grid-template-columns:1fr}.arches{height:150px}}
@media(prefers-reduced-motion:reduce){.ag .ar{animation:none}}
.nlf .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.nlf{position:relative}
.ag .ar{mix-blend-mode:normal;opacity:.78}
.foot2 .legal{border:0;padding:0}
.foot2{margin-top:0}

/* ===== theme switcher ===== */
.tsw{flex:none;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.25);color:#fff;display:grid;place-items:center;position:relative;transition:background .25s,border-color .25s,transform .25s}
.tsw:hover{background:rgba(255,255,255,.12);transform:rotate(12deg)}
.tsw svg{grid-area:1/1;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .3s}
.tsw .i-moon{opacity:0;transform:rotate(-70deg) scale(.4)}
html[data-vt=light] .tsw .i-sun{opacity:0;transform:rotate(70deg) scale(.4)}
html[data-vt=light] .tsw .i-moon{opacity:1;transform:none}
.lg-lt{display:none}
html[data-vt=light] .lg-dk{display:none}html[data-vt=light] .lg-lt{display:block}
.vt-anim,.vt-anim *,.vt-anim *::before,.vt-anim *::after{transition:background-color .4s ease,color .4s ease,border-color .4s ease,fill .4s ease,stroke .4s ease!important}
@media(max-width:900px){.tsw{margin-left:auto}.burger{margin-left:0}}

/* ===== light theme ===== */
html[data-vt=light]{color-scheme:light}
html[data-vt=light] body{background:#fff;color:#14122e}
html[data-vt=light] .announce{background:#f1efff;color:#14122e;border-bottom-color:rgba(20,18,46,.08)}
html[data-vt=light] .nav{background:rgba(255,255,255,.92);color:#14122e}
html[data-vt=light] .nav.scrolled{border-color:rgba(20,18,46,.1)}
html[data-vt=light] .badge{background:rgba(70,49,253,.08);color:#4631fd;border-color:rgba(70,49,253,.3)}
html[data-vt=light] .burger span{background:#14122e}
html[data-vt=light] .tsw{border-color:rgba(20,18,46,.2);color:#14122e}
html[data-vt=light] .tsw:hover{background:rgba(20,18,46,.06)}
html[data-vt=light] .links{color:#14122e}
@media(max-width:900px){html[data-vt=light] .links{background:#fff}}
/* hero */
html[data-vt=light] .hero{background:#fff;color:#14122e}
html[data-vt=light] .hero::after{background:linear-gradient(180deg,transparent,#fff)}
html[data-vt=light] .prod span,html[data-vt=light] .sub2{color:#14122e}
html[data-vt=light] .hero .join input[type=email]{background:#f4f4fa;border-color:rgba(20,18,46,.2);color:#14122e}
html[data-vt=light] .hero .join input::placeholder{color:#7a7a92}
html[data-vt=light] .hero .join .ghosth{border-color:rgba(20,18,46,.35);color:#14122e}
html[data-vt=light] .hero .join .ghosth:hover{background:rgba(20,18,46,.06);border-color:#14122e}
html[data-vt=light] .hero .form-msg{color:#5a5a72}
html[data-vt=light] .hero-art .fl{filter:saturate(1.1)}
/* ai models */
html[data-vt=light] .nai{background:#fff;color:#14122e}
html[data-vt=light] .nai-copy p{color:#5a5a72}
html[data-vt=light] .nai-link{color:#14122e}
html[data-vt=light] .mt{background:#f1f1f7;color:#14122e}
html[data-vt=light] .mt:hover{background:#e8e8f2;box-shadow:0 18px 36px -22px rgba(70,49,253,.45)}
html[data-vt=light] .mt.inv svg{fill:#14122e}
html[data-vt=light] .hero-art .fl{filter:brightness(1.55) saturate(1.5)}
/* light: sections */
html[data-vt=light] .dark{background:#f5f5fa;color:#14122e}
html[data-vt=light] .win{color:#fff}
html[data-vt=light] .band-wrap{background:linear-gradient(#f5f5fa 50%,#fff 50%)}
html[data-vt=light] .card{background:#fff;border-color:rgba(20,18,46,.1);box-shadow:0 14px 40px -28px rgba(20,18,46,.35)}
html[data-vt=light] .card:hover{border-color:rgba(70,49,253,.5);box-shadow:0 24px 60px -26px rgba(70,49,253,.5)}
html[data-vt=light] .plat{background:#fff}
html[data-vt=light] .mig{background:#fff;color:#14122e}
html[data-vt=light] .mg-card{color:#fff}
html[data-vt=light] .sec{background:#f5f5fa;color:#14122e}
html[data-vt=light] .ctrl li{background:#fff;border-color:rgba(20,18,46,.1)}
html[data-vt=light] .ctrl li:hover{background:#f0edff;border-color:rgba(70,49,253,.45)}
html[data-vt=light] .fwc{background:#fff;border-color:rgba(20,18,46,.1)}
html[data-vt=light] .fwc:hover{background:#f6f3ff;border-color:rgba(70,49,253,.45)}
html[data-vt=light] .fwc p{color:#5a5a72}
html[data-vt=light] .sec .fine,html[data-vt=light] .fine{color:#7a7a92}
html[data-vt=light] .biz{background:#fff;color:#14122e}
html[data-vt=light] .biz-card{color:#fff}
html[data-vt=light] .biz-k,html[data-vt=light] .biz-k svg{color:#4631fd;fill:#4631fd}
html[data-vt=light] .biz-k .bw{fill:#fff}
html[data-vt=light] .faq{color:#14122e;background:radial-gradient(60% 55% at 50% 100%,rgba(120,100,230,.28),rgba(120,100,230,.08) 55%,transparent 80%),#fff}
html[data-vt=light] .faq details{border-bottom-color:rgba(20,18,46,.16)}
html[data-vt=light] .faq summary::after{border-color:#14122e}
html[data-vt=light] .faq details p{color:#5a5a72}
html[data-vt=light] .close{background:#fff;color:#14122e}
html[data-vt=light] .close h2{color:#14122e}
html[data-vt=light] .nlf input[type=email]{background:#f4f4fa;border-color:rgba(20,18,46,.2);color:#14122e}
html[data-vt=light] .nlf input[type=email]:focus{border-color:#4631fd;background:#fff}
html[data-vt=light] .nl-c{color:#5a5a72}
html[data-vt=light] .nl-i{background:#14122e;color:#fff}
html[data-vt=light] .nl-b{border-color:rgba(20,18,46,.4);color:#14122e}
html[data-vt=light] .nl-b:hover{background:#14122e;color:#fff;border-color:#14122e}
html[data-vt=light] .close .form-msg{color:#7a7a92}
html[data-vt=light] .nl-r a{color:#14122e}
html[data-vt=light] .nl-r a:hover{color:#4631fd}
html[data-vt=light] .foot{background:#fff;color:#14122e}
html[data-vt=light] .foot2{border-top-color:rgba(20,18,46,.12)}
html[data-vt=light] .foot2 .legal{color:#7a7a92}
html[data-vt=light] .trust{color:#fff}
html[data-vt=light] .chip{background:#eceaf6;color:#4a4a63;border-color:rgba(20,18,46,.1)}
html[data-vt=light] .chip.blue{background:#e6e2ff;color:#3a2bd0;border-color:rgba(70,49,253,.25)}

/* menu links: underline + active state */
.js html,html.js{scroll-behavior:auto}
.links a:not(.pill){position:relative;padding:6px 0;opacity:.8;transition:opacity .2s,color .2s}
.links a:not(.pill)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;background:linear-gradient(90deg,#4062fd,#7f6bff);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.links a:not(.pill):hover{opacity:1}
.links a:not(.pill):hover::after,.links a.active::after{transform:scaleX(1)}
.links a.active{opacity:1}
.links a:not(.pill):focus-visible,.tsw:focus-visible,.burger:focus-visible{outline:2px solid #7f6bff;outline-offset:4px;border-radius:4px}
@media(max-width:900px){.links a:not(.pill){padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08)}.links a:not(.pill)::after{bottom:-1px}.links a.active{color:#b9aeff}
html[data-vt=light] .links a:not(.pill){border-bottom-color:rgba(20,18,46,.1)}html[data-vt=light] .links a.active{color:#4631fd}}
:target{scroll-margin-top:72px}

/* ===== language switcher ===== */
.lsw{position:relative;flex:none}
.lsw-b{height:40px;display:inline-flex;align-items:center;gap:7px;padding:0 11px 0 10px;border-radius:999px;border:1px solid rgba(255,255,255,.25);color:#fff;font-size:.78rem;font-weight:600;letter-spacing:.08em;transition:background .25s,border-color .25s}
.lsw-b:hover,.lsw.open .lsw-b{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.45)}
.lsw-b .gl{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
.lsw-b .mer{transform-box:fill-box;transform-origin:center}
.lsw-b:hover .mer,.lsw.open .mer{animation:merspin 2.6s ease-in-out infinite}
@keyframes merspin{0%,100%{transform:scaleX(1)}50%{transform:scaleX(.08)}}
.lsw-b .lsw-cv{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.7;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.lsw.open .lsw-cv{transform:rotate(180deg)}
.lsw-p{position:absolute;right:0;top:calc(100% + 12px);width:236px;padding:8px;border-radius:20px;background:rgba(14,12,40,.8);-webkit-backdrop-filter:blur(22px) saturate(1.5);backdrop-filter:blur(22px) saturate(1.5);border:1px solid rgba(255,255,255,.14);box-shadow:0 34px 70px -24px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.12);transform-origin:calc(100% - 28px) 0;opacity:0;transform:translateY(-8px) scale(.94);filter:blur(6px);transition:opacity .28s ease,transform .38s cubic-bezier(.2,.8,.2,1),filter .28s ease;z-index:80}
.lsw-p[hidden]{display:none}
.lsw.open .lsw-p{opacity:1;transform:none;filter:none}
.lsw-l{position:relative;display:grid;gap:2px;margin:0;padding:0;list-style:none}
.lsw-hl{position:absolute;left:0;right:0;top:0;height:0;border-radius:13px;background:linear-gradient(120deg,rgba(70,49,253,.6),rgba(127,107,255,.32));box-shadow:inset 0 0 0 1px rgba(160,140,255,.35);opacity:0;pointer-events:none;transition:transform .38s cubic-bezier(.2,.8,.2,1),height .3s,opacity .2s}
.lsw-l [role=option]{position:relative;z-index:1;display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:13px;cursor:pointer;outline:none;color:#fff;opacity:0;transform:translateY(6px)}
.lsw.open .lsw-l [role=option]{opacity:1;transform:none;transition:opacity .35s ease,transform .45s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--k,0)*45ms + 60ms)}
.lsw-l [role=option]:nth-child(2){--k:0}.lsw-l [role=option]:nth-child(3){--k:1}.lsw-l [role=option]:nth-child(4){--k:2}.lsw-l [role=option]:nth-child(5){--k:3}
.lsw-l b{flex:none;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;font-size:.7rem;font-weight:700;letter-spacing:.08em;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);transition:background .3s,border-color .3s}
.lsw-l [aria-selected=true] b{background:linear-gradient(135deg,#4631fd,#7f6bff);border-color:transparent}
.lsw-l span{flex:1;min-width:0}
.lsw-l i{display:block;font-style:normal;font-weight:600;font-size:.95rem;line-height:1.2}
.lsw-l em{display:block;font-style:normal;font-size:.74rem;opacity:.55;margin-top:2px}
.lsw-l svg{width:18px;height:18px;fill:none;stroke:#b9aeff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:24;stroke-dashoffset:24;transition:stroke-dashoffset .45s cubic-bezier(.2,.8,.2,1) .1s}
.lsw-l [aria-selected=true] svg{stroke-dashoffset:0}
.lsw-b:focus-visible{outline:2px solid #7f6bff;outline-offset:3px}
.lang-out :is(main,footer,.announce,.links){opacity:0;filter:blur(5px);transition:opacity .17s ease,filter .17s ease}
.lang-in :is(main,footer,.announce,.links){animation:langin .36s ease both}
@keyframes langin{from{opacity:0;filter:blur(5px)}to{opacity:1;filter:none}}
html[data-vt=light] .lsw-b{border-color:rgba(20,18,46,.2);color:#14122e}
html[data-vt=light] .lsw-b:hover,html[data-vt=light] .lsw.open .lsw-b{background:rgba(20,18,46,.06);border-color:rgba(20,18,46,.4)}
html[data-vt=light] .lsw-p{background:rgba(255,255,255,.88);border-color:rgba(20,18,46,.12);box-shadow:0 34px 70px -28px rgba(20,18,46,.45),inset 0 1px 0 #fff}
html[data-vt=light] .lsw-l [role=option]{color:#14122e}
html[data-vt=light] .lsw-hl{background:linear-gradient(120deg,rgba(70,49,253,.14),rgba(127,107,255,.1));box-shadow:inset 0 0 0 1px rgba(70,49,253,.25)}
html[data-vt=light] .lsw-l b{background:#f0eeff;border-color:rgba(70,49,253,.15);color:#4631fd}
html[data-vt=light] .lsw-l [aria-selected=true] b{color:#fff}
html[data-vt=light] .lsw-l svg{stroke:#4631fd}
@media(max-width:900px){.lsw{margin-left:auto}.tsw{margin-left:0}.lsw-b{padding:0 9px}.lsw-b .lsw-cv{display:none}}
@media(prefers-reduced-motion:reduce){.lsw-p,.lsw-l [role=option],.lsw-hl{transition:none!important}.lsw-b:hover .mer,.lsw.open .mer{animation:none}.lang-out :is(main,footer,.announce,.links){transition:none}.lang-in :is(main,footer,.announce,.links){animation:none}}

/* i18n layout safety */
.links,.links a,.badge,.nav .pill{white-space:nowrap}
.links{gap:clamp(14px,1.6vw,26px)}
.hero .join input[type=email]{flex:0 1 220px}
.hero .join .pill,.hero .join .ghosth{padding:11px 22px}
.hero-copy{max-width:760px}
.brand{flex:none}.brand img{max-width:none}

/* adaptive nav: burger mode whenever the links don't fit (long FR/ES/PT words, any width) */
html.nav-c .links{position:fixed;top:0;left:0;right:0;bottom:0;margin:0;padding:96px var(--gut) 40px;flex-direction:column;gap:0;background:var(--night);font-size:1.4rem;font-weight:600;transform:translateY(-100%);visibility:hidden;transition:transform .35s ease,visibility .35s;z-index:-1;overflow-y:auto}
html.nav-c .links a{padding:16px 0;border-bottom:1px solid rgba(255,255,255,.1)}
html.nav-c .links a:not(.pill){padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08)}
html.nav-c .links a:not(.pill)::after{bottom:-1px}
html.nav-c .links a.active{color:#b9aeff}
html.nav-c .links .pill{margin-top:24px;border:0;font-size:1rem;padding:14px 28px;align-self:flex-start}
html.nav-c .nav.open .links{transform:none;visibility:visible}
html.nav-c .burger{display:block;margin-left:0}
html.nav-c .desk-only{display:none}
html.nav-c .mob-only{display:inline-flex}
html.nav-c .badge{display:none}
html.nav-c .lsw{margin-left:auto}
html.nav-c .tsw{margin-left:0}
html[data-vt=light].nav-c .links{background:#fff}
html[data-vt=light].nav-c .links a:not(.pill){border-bottom-color:rgba(20,18,46,.1)}
html[data-vt=light].nav-c .links a.active{color:#4631fd}
html.nav-nb .nav .badge{display:none}
@media(min-width:901px) and (max-width:1280px){.badge{display:block}}
/* backdrop-filter turns .nav into the containing block of the fixed menu panel and clips it: drop it in burger mode */
html.nav-c .nav{-webkit-backdrop-filter:none;backdrop-filter:none}
html.nav-c .links{height:100vh;height:100dvh;bottom:auto;overscroll-behavior:contain}
html.nav-c .links a:not(.pill){font-size:clamp(1.15rem,4.6vw,1.5rem)}
html.nav-c .links{padding-top:124px}
/* language popover stays inside the screen on small phones */
@media(max-width:640px){
  .nav-in{position:relative}
  .lsw{position:static}
  .lsw-p{right:var(--gut,16px);left:auto;width:min(236px,calc(100vw - 2*var(--gut,16px)));top:calc(100% - 4px);transform-origin:top right}
}
.lsw-p{max-height:calc(100vh - 100px);overflow-y:auto}

/* never lose the waitlist button: shrink first, shorten label next, burger last */
.pl-s{display:none}
html.nav-ns .links{font-size:.86rem;gap:14px}
html.nav-ns .nav-in{gap:10px}
html.nav-ns .nav .pill.sm{padding:9px 16px;font-size:.86rem}
html.nav-nl .pl-f{display:none}html.nav-nl .pl-s{display:inline}
html.nav-c .desk-only{display:inline-flex;margin-left:auto}
html.nav-c .lsw{margin-left:0}
html.nav-c.nav-nl .nav .pill.sm{padding:9px 18px;font-size:.88rem;width:auto}
@media(max-width:559px){html.nav-c .desk-only{display:none}html.nav-c .lsw{margin-left:auto}}

/* ===== language switcher v2: flags ===== */
.flg{position:relative;display:inline-block;flex:none;overflow:hidden;border-radius:5px;box-shadow:0 0 0 1px rgba(255,255,255,.22),0 6px 14px -5px rgba(0,0,0,.65);transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease}
.flg svg{display:block;width:100%;height:100%}
.flg::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,rgba(255,255,255,.42) 0%,rgba(255,255,255,.08) 38%,rgba(0,0,0,0) 55%,rgba(0,0,0,.22) 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);pointer-events:none}
.flg::before{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-18deg);opacity:0;z-index:2;pointer-events:none}
.flg.flg-s{width:26px;height:17.5px}
.flg.flg-l{width:42px;height:28px;border-radius:7px}
.lsw-b .flg.flg-s.pop{animation:flpop .6s cubic-bezier(.2,.9,.3,1.3)}
@keyframes flpop{0%{transform:rotateY(90deg) scale(.7);opacity:0}100%{transform:none;opacity:1}}
.lsw-b:hover .flg.flg-s,.lsw.open .flg.flg-s{transform:translateY(-1px) scale(1.06)}
.lsw-b:hover .flg::before,.lsw.open .lsw-b .flg::before{animation:flsheen 1.1s ease}
@keyframes flsheen{0%{left:-60%;opacity:0}20%{opacity:1}100%{left:130%;opacity:0}}
.lsw-b{gap:9px;padding:0 12px 0 8px;height:42px}
.lsw-p{width:272px;padding:10px;border-radius:22px}
.lsw-h{display:flex;align-items:center;gap:8px;padding:4px 8px 10px;font-size:.68rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;opacity:.55}
.lsw-h svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.lsw-l [role=option]{gap:13px;padding:10px 12px 10px 10px}
.lsw-l .nm{flex:1;min-width:0}
.lsw-l code{flex:none;font:600 .66rem/1 inherit;font-family:inherit;letter-spacing:.12em;padding:4px 6px;border-radius:6px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);opacity:.75;transition:opacity .3s,background .3s}
.lsw-l .ck{width:16px;height:16px;margin-left:-2px}
.lsw-l [role=option]:hover .flg,.lsw-l [role=option]:focus-visible .flg{transform:translateY(-1px) rotate(-3deg) scale(1.07)}
.lsw-l [role=option]:hover .flg::before,.lsw-l [role=option]:focus-visible .flg::before{animation:flsheen .9s ease}
.lsw-l [aria-selected=true] .flg{box-shadow:0 0 0 2px #7f6bff,0 0 0 5px rgba(127,107,255,.25),0 8px 18px -6px rgba(70,49,253,.8)}
.lsw-l [aria-selected=true] code{background:rgba(127,107,255,.3);border-color:rgba(160,140,255,.5);opacity:1}
html[data-vt=light] .flg{box-shadow:0 0 0 1px rgba(20,18,46,.14),0 6px 14px -6px rgba(20,18,46,.45)}
html[data-vt=light] .lsw-l code{background:#f0eeff;border-color:rgba(70,49,253,.15);color:#4631fd}
html[data-vt=light] .lsw-l [aria-selected=true] code{background:#e4e0ff;border-color:rgba(70,49,253,.35)}
html[data-vt=light] .lsw-l [aria-selected=true] .flg{box-shadow:0 0 0 2px #4631fd,0 0 0 5px rgba(70,49,253,.18),0 8px 18px -6px rgba(70,49,253,.5)}
@media(max-width:900px){.lsw-b{padding:0 9px 0 8px}.lsw-b .lc{display:inline}}
@media(max-width:640px){.lsw-p{width:min(272px,calc(100vw - 2*var(--gut,16px)))}}
@media(prefers-reduced-motion:reduce){.flg,.flg::before{animation:none!important;transition:none!important}}
.lsw-l .flg{flex:none;min-width:0}
.lsw-l .flg.flg-l{width:42px;height:28px}
.lsw-l .flg svg{width:100%;height:100%;fill:initial;stroke:none;stroke-width:0;stroke-dasharray:none;stroke-dashoffset:0;transition:none}
.lsw-l code{font-family:inherit;font-size:.66rem;font-weight:600;line-height:1;letter-spacing:.12em}

/* VeeMigrate rows: the old roadmap .rn dot rule was collapsing the labels */
.mg-items .rn{position:static;width:auto;height:auto;border-radius:0;background:none;border:0;box-shadow:none;transform:none;transition:none;left:auto;top:auto}
.mg-items .rn::after{display:none}
.mg-items .rn small{display:block}
@media(min-width:861px){.mg-copy{align-self:center}}
.mg-copy>p{font-size:1.1rem;color:rgba(255,255,255,.86)}

/* ===== VeeMigrate: light theme ===== */
html[data-vt=light] .mg-card{color:#14122e;background:radial-gradient(80% 90% at 85% 10%,rgba(64,98,253,.16),transparent 62%),linear-gradient(120deg,#f4f5ff,#eceeff 60%,#f7f6ff);box-shadow:inset 0 0 0 1px rgba(20,18,46,.08)}
html[data-vt=light] .mg-card::before,html[data-vt=light] .mg-card::after{opacity:.22}
html[data-vt=light] .mg-copy>p{color:rgba(20,18,46,.78)}
html[data-vt=light] .mg-pts li{color:rgba(20,18,46,.68)}
html[data-vt=light] .mg-pts b{color:#14122e}
html[data-vt=light] .mg-note{color:rgba(20,18,46,.5)}
html[data-vt=light] .mg-win{background:#fff;border-color:rgba(70,49,253,.35);box-shadow:0 30px 60px -24px rgba(40,60,160,.35),0 0 0 1px rgba(20,18,46,.04)}
html[data-vt=light] .mg-side{background:#f5f6fc;border-right-color:rgba(20,18,46,.08)}
html[data-vt=light] .mg-side li{color:rgba(20,18,46,.55)}
html[data-vt=light] .mg-side li.on{color:#4631fd;background:rgba(70,49,253,.09)}
html[data-vt=light] .mg-main{color:#14122e}
html[data-vt=light] .mg-top{color:rgba(20,18,46,.55)}
html[data-vt=light] .live{color:#14aa5f}html[data-vt=light] .live i{background:#14aa5f}
html[data-vt=light] .live.off{color:rgba(20,18,46,.5)}html[data-vt=light] .live.off i{background:#9a9ab0}
html[data-vt=light] .mg-replay{border-color:rgba(20,18,46,.25);color:#14122e}
html[data-vt=light] .mg-replay:hover{background:rgba(20,18,46,.06)}
html[data-vt=light] .mg-chip{background:rgba(20,18,46,.07);color:#4a4880}
html[data-vt=light] .mg-chip.act{background:rgba(64,98,253,.14);color:#3a52d8}
html[data-vt=light] .mg-chip.ok{background:rgba(20,170,95,.14);color:#0c8a4a}
html[data-vt=light] .mg-viz{background:#f2f3fb;box-shadow:inset 0 0 0 1px rgba(20,18,46,.07)}
html[data-vt=light] .mg-stages::before{background:rgba(20,18,46,.12)}
html[data-vt=light] .mg-stages .d{background:#fff;border-color:rgba(20,18,46,.22)}
html[data-vt=light] .mg-stages b{color:rgba(20,18,46,.5)}
html[data-vt=light] .mg-stages li.act b,html[data-vt=light] .mg-stages li.done b{color:#14122e}
html[data-vt=light] .mg-stages li.act .d{border-color:#4062fd;border-top-color:transparent}
html[data-vt=light] .mg-stages li.done .d{background:#14aa5f;border-color:#14aa5f}
html[data-vt=light] .mg-stages li.done .d::after{border-color:#fff}
html[data-vt=light] .mg-items li{background:#f4f5fb}
html[data-vt=light] .mg-items .rn small{color:rgba(20,18,46,.5)}
html[data-vt=light] .mg-items .rv{color:rgba(20,18,46,.55)}
html[data-vt=light] .mg-items .rb{background:rgba(20,18,46,.1)}
html[data-vt=light] .mg-items li.ok .rb i{background:#14aa5f}html[data-vt=light] .mg-items li.ok .rv{color:#0c8a4a}
html[data-vt=light] .mg-log{background:#f4f5fb;color:#4a4a6a;box-shadow:inset 0 0 0 1px rgba(20,18,46,.05)}
html[data-vt=light] .mg-log i{color:#4062fd}html[data-vt=light] .mg-log u{color:#0c8a4a}
html[data-vt=light] .mg-foot{border-top-color:rgba(20,18,46,.1)}
html[data-vt=light] .mg-foot small{color:rgba(20,18,46,.5)}
html[data-vt=light] .mg-foot b.g{color:#0c8a4a}
html[data-vt=light] .mg-foot .mg-spark polyline{stroke:#4062fd}

/* hero badge: Vistac mark instead of text */
.hero .hbadge{display:grid;place-items:center;padding:0;width:clamp(56px,5.6vw,84px);height:clamp(56px,5.6vw,84px);font-size:0}
.hero .hbadge svg{width:56%;height:56%;fill:none;stroke:#fff;stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round}
.hero .hbadge svg .f{fill:#fff}
.hero .hbadge svg{width:76%;height:76%}

/* ===== hero background v3: vivid indigo (light theme) / deep midnight (dark theme) ===== */
.hero{background:radial-gradient(60% 70% at 88% 4%,rgba(76,6,242,.38),transparent 72%),linear-gradient(180deg,#14093f 0%,#0a0526 52%,#000 100%)}
.hero::after{display:none}
html[data-vt=light] .hero{background:radial-gradient(70% 60% at 85% 0%,rgba(120,70,255,.35),transparent 70%),linear-gradient(180deg,#4a05f0 0%,#3b06c2 48%,#2a0a62 100%);color:#fff}
html[data-vt=light] .hero::after{display:none}
html[data-vt=light] .prod span,html[data-vt=light] .sub2{color:#fff}
html[data-vt=light] .hero .join input[type=email]{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.4);color:#fff}
html[data-vt=light] .hero .join input::placeholder{color:rgba(255,255,255,.65)}
html[data-vt=light] .hero .join .ghosth{border-color:rgba(255,255,255,.55);color:#fff}
html[data-vt=light] .hero .join .ghosth:hover{background:rgba(255,255,255,.14);border-color:#fff}
html[data-vt=light] .hero .form-msg{color:rgba(255,255,255,.78)}
html[data-vt=light] .hero-art .fl{filter:saturate(1.15) brightness(1.1)}

/* GDPR: European Union flag */
.seal.sm.eu .in{fill:#003399;stroke:rgba(255,255,255,.35)}
.seal.sm.eu .rg{stroke:#6b8cff}

/* ===== hero art on phones/tablets: big, anchored to the bottom, visible behind the content ===== */
@media(max-width:900px){
  .hero .hbadge{display:none}
  .hero{min-height:0;padding-bottom:clamp(260px,76vw,500px)}
  .hero-art{width:min(150vw,900px);right:50%;margin-right:calc(min(150vw,900px)/-2);left:auto;top:auto;bottom:calc(min(150vw,900px)*-.3);opacity:1;transform:none}
  .hero-art .fl{filter:saturate(1.15)}
  .hero-in{position:relative;z-index:2}
  .hero::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.35) 0%,transparent 45%)}
  html[data-vt=light] .hero::before{background:linear-gradient(180deg,rgba(30,4,110,.25) 0%,transparent 45%)}
  html[data-vt=light] .hero-art .fl{filter:saturate(1.2) brightness(1.2)}
}

/* ===== hero art on desktop: bigger, vertically centred, scales with the window ===== */
@media(min-width:901px){
  .hero{min-height:min(88vh,800px)}
  .hero-art{width:min(max(62vw,660px),1040px);right:-9vw;top:50%;transform:translate3d(calc(var(--px,0)*18px),calc(-50% + var(--py,0)*18px),0)}
  .hero .hbadge{right:16%;top:24%}
}
@media(max-width:640px){.hero-art{width:190vw;margin-right:-95vw;bottom:-52vw}.hero{padding-bottom:84vw}}

/* ===== Hero + panels, scroll-faded (GitHub-style). The site is dark only. ===== */
.gh{position:relative;overflow-x:clip;background:linear-gradient(180deg,#04052c 0%,#07083a 38%,#0a0824 72%,#000 100%);color:#fff;padding:0;--p:0}
.gh-pin{grid-template-columns:minmax(0,1fr);position:sticky;top:64px;z-index:1;height:calc(100vh - 64px);height:calc(100svh - 64px);min-height:560px;display:grid;place-items:center;padding:0 var(--gut) 12vh;overflow:hidden}
.gh-pin .stars{opacity:.5;z-index:0}
.gh-copy{position:relative;z-index:1;width:100%;max-width:980px;text-align:center;display:flex;flex-direction:column;align-items:center;opacity:calc(1 - var(--p)*1.15);transform:translateY(calc(var(--p)*-46px)) scale(calc(1 - var(--p)*.05));transform-origin:50% 40%;will-change:opacity,transform}
.gh-chip{display:flex;align-items:center;gap:12px;margin-bottom:clamp(18px,2.4vw,28px)}
.gh-chip span{font-size:1.05rem;font-weight:600;letter-spacing:-.01em}.gh-chip span i{font-style:normal;color:var(--violet)}
.gh-chip em{font-style:normal;font-size:.76rem;font-weight:500;background:rgba(216,208,255,.14);color:#d8d0ff;border:1px solid rgba(216,208,255,.3);padding:4px 11px;border-radius:99px}
.gh h1{font-size:clamp(2.35rem,6.6vw,5.6rem);line-height:1.02;font-weight:600;letter-spacing:-.045em;text-wrap:balance}
.gh h1.load{opacity:0;transform:translateY(18px)}.is-ready .gh h1.load{opacity:1;transform:none}
.gh-sub{margin-top:clamp(18px,2.2vw,28px);font-size:clamp(1.05rem,1.7vw,1.35rem);font-weight:400;line-height:1.45;color:rgba(255,255,255,.86);max-width:44ch}
.gh .join{margin:clamp(26px,3.2vw,40px) auto 0;max-width:none;justify-content:center;align-items:center;gap:12px}
.gh-field{display:flex;align-items:center;gap:6px;padding:5px;border-radius:12px;background:#eceef5;box-shadow:0 0 0 1px rgba(255,255,255,.5),0 10px 30px -12px rgba(0,0,0,.6);width:min(100%,430px)}
.gh .join .gh-field input[type=email]{flex:1 1 auto;min-width:0;border:0;background:none;color:#14122e;border-radius:8px;padding:12px 14px;font-size:1rem}
.gh .join .gh-field input::placeholder{color:#6c6e86}.gh .join .gh-field input:focus{outline:0;background:none}
.gh-field:focus-within{box-shadow:0 0 0 2px #8aaaff,0 10px 30px -12px rgba(0,0,0,.6)}
.gh .join .gh-field .pill{flex:none;border-radius:9px;padding:12px 20px;background:#1f8f4c;font-size:.98rem}
.gh .join .gh-field .pill:hover{background:#26a559;transform:none;box-shadow:none}
.gh .join .ghosth{border-radius:12px;padding:15px 24px;background:rgba(10,12,48,.7);border:1px solid rgba(255,255,255,.5);color:#fff;font-weight:600}
.gh .join .ghosth:hover{background:rgba(255,255,255,.1);border-color:#fff}
.gh .form-msg{text-align:center;padding:0;color:rgba(255,255,255,.7)}

.gh-stage{position:relative;z-index:2;margin-top:-16vh;padding:0 var(--gut) clamp(56px,8vw,110px)}
.gh-glow{position:absolute;left:50%;top:-14vh;width:min(1500px,150%);height:min(720px,70vw);transform:translateX(-50%);background:radial-gradient(48% 52% at 50% 46%,rgba(150,120,255,.62),rgba(86,66,235,.34) 48%,transparent 72%);filter:blur(34px);pointer-events:none}
.gh-show{position:relative;display:grid;max-width:1240px;margin:0 auto}
.sc-frame{grid-area:1/1;margin:0;opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .45s ease,transform .45s ease,visibility 0s .45s}
.sc-frame[hidden]{display:block}
.sc-frame.on{opacity:1;visibility:visible;transform:none;transition:opacity .45s ease,transform .45s ease}
.gh-rim{border-radius:26px;padding:clamp(8px,1.3vw,14px);background:linear-gradient(160deg,rgba(176,160,255,.55),rgba(120,140,255,.28) 55%,rgba(150,130,255,.4));border:1px solid rgba(190,175,255,.55);box-shadow:0 50px 120px -30px rgba(70,49,253,.7),0 24px 50px -20px rgba(0,0,0,.8)}
.gh-rim>img{display:block}.sc-bar i{flex:none;display:block}
.sc-bar{display:flex;align-items:center;gap:7px;padding:11px 14px;background:#101118;border-radius:14px 14px 0 0;border-bottom:1px solid rgba(255,255,255,.08)}
.sc-bar i{width:11px;height:11px;border-radius:50%;background:#3a3c46}
.sc-bar i:nth-child(1){background:#ff5f57}.sc-bar i:nth-child(2){background:#febc2e}.sc-bar i:nth-child(3){background:#28c840}
.sc-bar span{margin-left:12px;flex:0 1 340px;min-width:0;padding:4px 14px;border-radius:8px;background:#07080c;color:rgba(255,255,255,.6);font:.78rem var(--mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gh-rim>img{width:100%;height:auto;aspect-ratio:1400/850;border-radius:0 0 14px 14px;background:#0c0d12}
.gh-tabs{position:relative;display:flex;justify-content:center;gap:6px;margin:clamp(28px,4vw,44px) auto 0;padding:6px;width:max-content;max-width:100%;border-radius:999px;background:rgba(6,8,30,.7);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(8px)}
.gh-tabs button{display:flex;align-items:baseline;gap:9px;padding:11px clamp(20px,3.4vw,38px);border-radius:999px;color:rgba(255,255,255,.78);transition:background .2s,color .2s,box-shadow .2s}
.gh-tabs button b{font-size:1.08rem;font-weight:650;letter-spacing:-.01em}.gh-tabs button small{font-size:.8rem;opacity:.75}
.gh-tabs button:hover{color:#fff}
.gh-tabs button[aria-selected=true]{background:#0a0b22;color:#fff;box-shadow:0 0 0 1.5px #fff inset}
.gh-tabs button:focus-visible{outline:2px solid #8aaaff;outline-offset:2px}
.gh-caps{display:grid;max-width:640px;margin:22px auto 0;text-align:center}
.gh-cap{grid-area:1/1;color:rgba(255,255,255,.7);font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.5;opacity:0;visibility:hidden;transition:opacity .35s}
.gh-cap.on{opacity:1;visibility:visible}
@media (max-width:700px){
  .gh-pin{padding-bottom:8vh}
  .gh .join{flex-direction:column;align-items:stretch;width:100%;max-width:420px}
  .gh .join .pill.ghosth{width:100%}.gh .join .gh-field .pill{width:auto}
  .gh-field{width:100%}
  .gh-chip{flex-wrap:wrap;justify-content:center}
  .sc-bar span{flex-basis:auto}
  .gh-tabs button{flex-direction:column;align-items:center;gap:0;padding:9px 22px}
  .gh-rim{border-radius:18px}
}
@media (prefers-reduced-motion:reduce){
  .gh-pin{position:relative;top:0;height:auto;min-height:0;padding:clamp(56px,9vw,100px) var(--gut) clamp(90px,14vw,140px)}
  .gh-copy{opacity:1;transform:none}.gh-stage{margin-top:-6vh}
  .sc-frame,.sc-frame.on,.gh-cap{transition:none;transform:none}
}
