@font-face{font-family:'Space Grotesk';src:url(fonts/space-grotesk.woff2) format('woff2');font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:'Figtree';src:url(fonts/figtree.woff2) format('woff2');font-weight:300 900;font-style:normal;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url(fonts/jetbrains-mono.woff2) format('woff2');font-weight:100 800;font-style:normal;font-display:swap}
@view-transition{navigation:auto}
@property --ang{syntax:"<angle>";initial-value:0deg;inherits:false}
:root{
  --bg:#05070f;--bg2:#091033;--panel:rgba(255,255,255,.045);--panel-2:rgba(255,255,255,.08);
  --line:rgba(150,170,255,.16);--ink:#e9edff;--muted:#9aa4c9;--blue:#2f6bff;--blue-2:#5d93ff;--violet:#7c4dff;--ok:#3ddc97;
  --grad:linear-gradient(120deg,#2f6bff 0%,#7c4dff 100%);
  --display:"Space Grotesk","Segoe UI",system-ui,-apple-system,sans-serif;--body:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  --ease:cubic-bezier(.2,.8,.2,1);color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.6 var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:var(--bg);z-index:80}
h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.1;margin:0;text-wrap:balance;letter-spacing:-.03em}
h1{font-size:clamp(2.4rem,6vw,4.6rem);line-height:1.02;letter-spacing:-.04em}
h2{font-size:clamp(1.8rem,3.8vw,2.9rem)}
h3{font-size:1.14rem;line-height:1.3;letter-spacing:-.015em}
p{margin:0}
a{color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));position:relative}
.band{padding-block:clamp(60px,8vw,104px);position:relative;z-index:1}
.band.alt{background:linear-gradient(180deg,transparent 0%,rgba(9,16,51,.75) 50%,transparent 100%)}
.lede{color:var(--muted);max-width:62ch;margin-top:16px}
.head{max-width:760px;margin-bottom:44px}
:focus-visible{outline:2px solid var(--blue-2);outline-offset:3px;border-radius:6px}
main,header.top,footer{position:relative;z-index:1}
main{animation:pagein .6s var(--ease) both}
@keyframes pagein{from{opacity:0;transform:translateY(10px)}}

/* ambient layer */
.aurora{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.aurora i{position:absolute;border-radius:50%;filter:blur(90px);opacity:.5;animation:drift 22s ease-in-out infinite alternate}
.aurora i:nth-child(1){width:560px;height:560px;left:-12%;top:-8%;background:#2f6bff}
.aurora i:nth-child(2){width:520px;height:520px;right:-10%;top:18%;background:#7c4dff;animation-duration:27s;animation-delay:-8s}
.aurora i:nth-child(3){width:460px;height:460px;left:30%;bottom:-18%;background:#1a47c9;animation-duration:31s;animation-delay:-14s}
@keyframes drift{to{transform:translate(70px,50px) scale(1.15)}}
.aurora::after{content:"";position:absolute;inset:0;background:
  linear-gradient(rgba(150,170,255,.05) 1px,transparent 1px) 0 0/56px 56px,
  linear-gradient(90deg,rgba(150,170,255,.05) 1px,transparent 1px) 0 0/56px 56px;
  mask-image:radial-gradient(ellipse at 50% 20%,#000 0,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at 50% 20%,#000 0,transparent 70%)}
#prog{position:fixed;left:0;top:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:var(--grad);z-index:90;box-shadow:0 0 14px rgba(93,147,255,.9)}
.cursor{position:fixed;left:0;top:0;width:38px;height:38px;margin:-19px 0 0 -19px;border-radius:50%;border:1.5px solid rgba(130,160,255,.7);pointer-events:none;z-index:95;transition:width .25s var(--ease),height .25s var(--ease),margin .25s var(--ease),background .25s,border-color .25s;mix-blend-mode:screen}
.cursor.big{width:68px;height:68px;margin:-34px 0 0 -34px;background:rgba(93,147,255,.16);border-color:rgba(160,130,255,.9)}
.cursor.hide{opacity:0}

/* header */
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:70;background:rgba(5,7,15,.7);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--display);font-weight:600;font-size:1.12rem;letter-spacing:-.02em}
.brand b{font-weight:500;background:linear-gradient(120deg,#2f6bff,#a58bff,#2f6bff);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sheen 5s linear infinite}
@keyframes sheen{to{background-position:200% 0}}
.brand svg{width:34px;height:34px;flex:none;transition:transform .5s var(--ease)}
.brand:hover svg{transform:rotate(-10deg) scale(1.1)}
.brand .nd{animation:pulse 2.4s ease-in-out infinite;transform-origin:center;transform-box:fill-box}
.brand .nd:nth-of-type(2){animation-delay:.4s}.brand .nd:nth-of-type(3){animation-delay:.8s}
@keyframes pulse{50%{transform:scale(1.5);opacity:.6}}
#nav ul{display:flex;gap:2px;list-style:none;margin:0;padding:0;position:relative}
#nav a{display:block;position:relative;z-index:1;text-decoration:none;color:var(--muted);font-size:.93rem;font-weight:500;padding:8px 13px;border-radius:999px;transition:color .2s}
#nav a:hover,#nav a[aria-current="page"]{color:#fff}
.pill{position:absolute;top:0;left:0;height:100%;border-radius:999px;background:var(--panel-2);border:1px solid var(--line);opacity:0;transition:transform .35s var(--ease),width .35s var(--ease),opacity .25s;pointer-events:none;z-index:0}
.menu-btn{display:none;background:none;border:1px solid var(--line);color:var(--ink);border-radius:10px;width:44px;height:44px;cursor:pointer;font:inherit;font-size:1.2rem}
.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border-radius:12px;border:1px solid transparent;font:500 .98rem var(--body);text-decoration:none;cursor:pointer;transition:box-shadow .3s,background .3s,border-color .3s,translate .25s var(--ease);isolation:isolate}
.btn::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s var(--ease);z-index:-1}
.btn:hover::after{transform:translateX(120%)}
.btn .ar{transition:transform .3s var(--ease)}
.btn:hover .ar{transform:translateX(5px)}
.btn.primary{background:var(--grad);color:#fff;box-shadow:0 8px 30px -8px rgba(80,100,255,.7)}
.btn.primary:hover{box-shadow:0 16px 44px -8px rgba(110,120,255,.95)}
.btn.glow::before{content:"";position:absolute;inset:-2px;border-radius:14px;background:conic-gradient(from var(--ang),#2f6bff,#7c4dff,#5de0ff,#2f6bff);animation:spin 4s linear infinite;z-index:-2}
@keyframes spin{to{--ang:360deg}}
.btn.ghost{border-color:var(--line);background:var(--panel);color:var(--ink)}
.btn.ghost:hover{background:var(--panel-2);border-color:rgba(150,170,255,.45)}
.btn.small{min-height:40px;padding:0 16px;font-size:.9rem}
.u{text-decoration:none;background:linear-gradient(90deg,var(--blue-2),var(--violet)) 0 100%/0 2px no-repeat;transition:background-size .35s var(--ease),color .2s}
.u:hover{background-size:100% 2px;color:#fff}

/* reveal */
.rv.pre{opacity:.8;transform:translateY(24px) scale(.985);filter:blur(1.5px)}
.rv{transition:opacity .85s var(--ease),transform .85s var(--ease),filter .85s var(--ease);transition-delay:var(--d,0s)}
.rv.pre.in{opacity:1;transform:none;filter:none}

/* hero */
.hero{position:relative;padding-block:clamp(40px,6vw,84px) clamp(48px,7vw,92px);overflow:hidden;z-index:1;--px:0;--py:0}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(520px circle at var(--sx,70%) var(--sy,30%),rgba(110,110,255,.2),transparent 60%);pointer-events:none}
.hero-grid{position:relative;display:grid;grid-template-columns:1fr 1.02fr;gap:clamp(20px,4vw,56px);align-items:center}
.hero-grid>*{min-width:0}
.hero-in{animation:fadeup .9s var(--ease) both;animation-delay:var(--d,0s)}
@keyframes fadeup{from{opacity:0;transform:translateY(24px)}}
.w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.14em;margin-bottom:-.14em}
.w>span{display:inline-block;animation:wup 1s var(--ease) both;animation-delay:calc(var(--i)*80ms + 250ms)}
@keyframes wup{from{transform:translateY(112%) rotate(4deg);opacity:0}}
.sub{color:var(--muted);font-size:1.13rem;max-width:54ch;margin-top:22px}
.rot{margin-top:18px;font-family:var(--mono);font-size:.92rem;color:var(--blue-2);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rot span.t{color:var(--ink);transition:opacity .35s,transform .35s var(--ease)}
.rot span.t.out{opacity:0;transform:translateY(-8px)}
.rot .caret{width:2px;height:1.1em;background:var(--blue-2);animation:blink 1s steps(2) infinite}
@keyframes blink{50%{opacity:0}}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.orbit-wrap{position:relative;width:100%;max-width:640px;aspect-ratio:1;margin-inline:auto}
#orbit{position:absolute;inset:0;width:100%;height:100%;display:block}
.chip{position:absolute;display:flex;align-items:center;gap:8px;padding:8px 13px;border-radius:12px;background:rgba(12,18,48,.72);border:1px solid var(--line);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:.82rem;font-weight:500;animation:float 7s ease-in-out infinite;translate:calc(var(--px)*18px) calc(var(--py)*12px);white-space:nowrap}
.chip i{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 12px var(--ok);animation:pulse 1.8s infinite}
.chip.c1{left:0;top:6%}.chip.c2{right:0;top:30%;animation-delay:-2s}
@keyframes float{50%{transform:translateY(-9px)}}
.dash{position:absolute;right:0;bottom:2%;width:min(290px,58%);padding:16px;border-radius:18px;background:rgba(10,14,40,.8);border:1px solid var(--line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);translate:calc(var(--px)*-14px) calc(var(--py)*-10px);box-shadow:0 30px 60px -30px rgba(60,80,255,.8)}
.dash .t{display:flex;justify-content:space-between;font-size:.74rem;color:var(--muted);margin-bottom:12px;gap:8px}
.dash .t span:last-child{font-family:var(--mono);font-size:.66rem}
.eq{display:flex;align-items:flex-end;gap:5px;height:58px}
.eq i{flex:1;border-radius:4px 4px 0 0;background:var(--grad);height:30%;animation:eq 2.2s ease-in-out infinite alternate;animation-delay:calc(var(--k)*-.31s)}
@keyframes eq{to{height:100%}}
.bub{margin-top:12px;display:flex;gap:5px;align-items:center;padding:8px 12px;border-radius:12px;background:var(--panel-2);width:fit-content;font-size:.76rem;color:var(--muted)}
.bub i{width:5px;height:5px;border-radius:50%;background:var(--blue-2);animation:dot 1.2s infinite}
.bub i:nth-child(2){animation-delay:.2s}.bub i:nth-child(3){animation-delay:.4s}
@keyframes dot{40%{transform:translateY(-4px);opacity:1}0%,80%,100%{opacity:.4}}
.scrollcue{position:absolute;left:50%;bottom:12px;width:22px;height:36px;border:1.5px solid var(--line);border-radius:12px;translate:-50% 0;opacity:.7}
.scrollcue::after{content:"";position:absolute;left:50%;top:6px;width:3px;height:7px;border-radius:2px;background:var(--blue-2);translate:-50% 0;animation:cue 1.8s infinite}
@keyframes cue{60%{transform:translateY(12px);opacity:0}}

/* marquee */
.marq{border-block:1px solid var(--line);background:rgba(255,255,255,.02);overflow:hidden;position:relative;z-index:1}
.marq .track{display:flex;width:max-content;animation:mq 38s linear infinite}
.marq:hover .track{animation-play-state:paused}
.marq span{display:flex;align-items:center;gap:14px;padding:18px 28px;color:var(--muted);font-weight:500;white-space:nowrap;transition:color .25s}
.marq span:hover{color:#fff}
.marq span::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--grad);margin-left:14px}
@keyframes mq{to{transform:translateX(-50%)}}

/* cards */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);align-items:start}
.two-col>*{min-width:0}
.pillars{display:grid;gap:14px}
.pillar{padding:20px 22px;border-radius:18px;background:var(--panel);border:1px solid var(--line);transition:border-color .3s,transform .35s var(--ease),background .3s}
.pillar:hover{border-color:rgba(130,150,255,.4);transform:translateX(8px);background:var(--panel-2)}
.pillar h3{margin-bottom:6px}.pillar p{color:var(--muted);font-size:.97rem}
.svc-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
.svc{grid-column:span 3;display:flex;flex-direction:column;gap:12px;padding:26px;border-radius:20px;background:var(--panel);border:1px solid var(--line);transition:border-color .3s,background .3s,transform .2s ease-out;position:relative;overflow:hidden;min-width:0;text-decoration:none}
.svc::after,.card::after{content:"";position:absolute;inset:0;background:radial-gradient(260px circle at var(--mx,50%) var(--my,0%),rgba(93,147,255,.2),transparent 60%);opacity:0;transition:opacity .25s;pointer-events:none}
.svc:hover::after,.card:hover::after{opacity:1}
.svc:hover,.card:hover{border-color:rgba(130,150,255,.45);background:var(--panel-2)}
.ico{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(140deg,rgba(47,107,255,.28),rgba(124,77,255,.28));border:1px solid var(--line);transition:transform .5s var(--ease)}
.svc:hover .ico,.card:hover .ico{transform:rotate(-8deg) scale(1.12) translateY(-3px)}
.ico svg{width:24px;height:24px;stroke:#cfd9ff;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.svc p{color:var(--muted);font-size:.95rem;flex:1}
.more{font-weight:500;font-size:.92rem;color:var(--blue-2);display:inline-flex;gap:6px;align-items:center}
.more .ar{transition:transform .3s var(--ease)}
.svc:hover .more .ar{transform:translateX(6px)}
.card{position:relative;overflow:hidden;padding:24px;border-radius:20px;border:1px solid var(--line);background:var(--panel);min-width:0;transition:border-color .3s,background .3s,transform .2s ease-out}
.card h3{margin-bottom:8px}.card p{color:var(--muted);font-size:.95rem}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.grid3>*,.grid2>*{min-width:0}
.ticks{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px}
.ticks li{display:flex;gap:10px;color:var(--ink);font-size:.95rem}
.ticks li::before{content:"";flex:none;width:18px;height:18px;margin-top:3px;border-radius:50%;background:var(--grad);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M5 9.5l2.6 2.6L13 6.5' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='9' cy='9' r='8' fill='none' stroke='%23000' stroke-width='1.4'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M5 9.5l2.6 2.6L13 6.5' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='9' cy='9' r='8' fill='none' stroke='%23000' stroke-width='1.4'/%3E%3C/svg%3E") center/contain no-repeat}
.svc-row{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(20px,4vw,56px);padding:clamp(26px,3.4vw,40px);border-radius:24px;border:1px solid var(--line);background:var(--panel);margin-bottom:18px;scroll-margin-top:90px;position:relative;overflow:hidden;transition:border-color .3s}
.svc-row:hover{border-color:rgba(130,150,255,.4)}
.svc-row>*{min-width:0}
.svc-row .ico{margin-bottom:16px;width:56px;height:56px}
.svc-row p{color:var(--muted)}
.svc-row .btn{margin-top:20px}
.crumb{font-size:.88rem;color:var(--muted);margin-bottom:18px;display:flex;gap:8px;flex-wrap:wrap}
.page-hero{padding-block:clamp(48px,7vw,96px) clamp(24px,3vw,40px);position:relative;z-index:1}
.page-hero .lede{font-size:1.12rem}
.faq details{border:1px solid var(--line);border-radius:16px;background:var(--panel);padding:0 20px;margin-bottom:10px;transition:background .3s,border-color .3s}
.faq details[open]{background:var(--panel-2);border-color:rgba(130,150,255,.4)}
.faq summary{cursor:pointer;list-style:none;padding:18px 0;font-weight:500;display:flex;justify-content:space-between;gap:12px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.4rem;color:var(--blue-2);transition:transform .35s var(--ease)}
.faq details[open] summary::after{transform:rotate(135deg)}
.faq p{color:var(--muted);padding-bottom:18px}

/* steps */
.how{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;position:relative;padding:0;margin:0}
.how::before{content:"";position:absolute;left:8%;right:8%;top:27px;height:2px;background:linear-gradient(90deg,var(--blue),var(--violet));opacity:.5}
.how li{list-style:none;position:relative;min-width:0}
.how .n{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--bg);border:2px solid var(--blue);font-family:var(--display);font-size:1rem;position:relative;z-index:1;box-shadow:0 0 24px -4px rgba(80,110,255,.8);transition:transform .4s var(--ease),background .3s}
.how li:hover .n{transform:scale(1.14) rotate(-6deg);background:var(--blue)}
.how h3{margin:18px 0 8px}.how p{color:var(--muted);font-size:.95rem}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.chips a{padding:10px 18px;border-radius:999px;border:1px solid var(--line);background:var(--panel);text-decoration:none;font-weight:500;font-size:.93rem;transition:transform .3s var(--ease),border-color .3s,background .3s}
.chips a:hover{transform:translateY(-4px);border-color:var(--blue-2);background:var(--panel-2)}
.cta-band{padding:clamp(32px,5vw,64px);border-radius:28px;border:1px solid var(--line);background:linear-gradient(130deg,rgba(47,107,255,.22),rgba(124,77,255,.2));text-align:left;position:relative;overflow:hidden}
.cta-band::before{content:"";position:absolute;width:420px;height:420px;right:-120px;top:-160px;background:radial-gradient(closest-side,rgba(130,110,255,.5),transparent);animation:drift 12s ease-in-out infinite alternate}
.cta-band>*{position:relative}
.cta-band .cta-row{margin-top:26px}

/* demos */
.tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin-bottom:20px;scrollbar-width:thin}
.tab{flex:none;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--muted);font:500 .92rem var(--body);cursor:pointer;transition:all .25s}
.tab:hover{color:var(--ink);transform:translateY(-2px)}
.tab[aria-selected="true"]{background:var(--grad);color:#fff;border-color:transparent}
.demo{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(20px,4vw,48px);align-items:center;padding:clamp(20px,3.4vw,40px);border-radius:26px;border:1px solid var(--line);background:linear-gradient(160deg,rgba(255,255,255,.05),rgba(255,255,255,.015))}
.demo>*{min-width:0}
.demo[hidden]{display:none}
.demo h3{font-size:1.25rem;margin-bottom:12px}.demo p{color:var(--muted)}.demo .btn{margin-top:22px}
.note{font-family:var(--mono);font-size:.72rem;color:var(--muted);margin-top:14px}
.screen{border-radius:18px;background:rgba(4,6,18,.7);border:1px solid var(--line);padding:20px;min-height:300px;min-width:0}
.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.node{position:relative;padding:14px 10px;border-radius:14px;border:1px solid var(--line);background:var(--panel);text-align:center;font-size:.8rem;display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;transition:all .35s;min-height:104px}
.node svg{width:22px;height:22px;stroke:var(--muted);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:stroke .35s}
.node.on{border-color:var(--blue-2);background:rgba(47,107,255,.18);box-shadow:0 0 28px -6px rgba(80,120,255,.7)}
.node.on svg{stroke:#fff}
.node:not(:last-child)::after{content:"";position:absolute;right:-11px;top:50%;width:12px;height:2px;background:repeating-linear-gradient(90deg,var(--blue-2) 0 4px,transparent 4px 8px);background-size:16px 2px;animation:dash 1s linear infinite}
@keyframes dash{to{background-position:16px 0}}
.log{margin-top:18px;font-family:var(--mono);font-size:.76rem;color:var(--muted);display:grid;gap:6px}
.log div{opacity:.35;transition:opacity .3s}.log div.on{opacity:1;color:var(--ink)}
.chat{display:flex;flex-direction:column;gap:10px;min-height:196px}
.msg{max-width:84%;padding:10px 14px;border-radius:16px;font-size:.92rem;animation:pop .25s ease-out}
.msg.u{align-self:flex-end;background:var(--grad);color:#fff;border-bottom-right-radius:4px}
.msg.b{align-self:flex-start;background:var(--panel-2);border:1px solid var(--line);border-bottom-left-radius:4px}
@keyframes pop{from{transform:translateY(6px);opacity:.2}}
.quick{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.quick button{min-height:38px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--ink);font:500 .84rem var(--body);cursor:pointer;transition:transform .25s var(--ease),border-color .25s}
.quick button:hover{border-color:var(--blue-2);transform:translateY(-3px)}
.post{border-radius:16px;border:1px solid var(--line);background:var(--panel);overflow:hidden}
.post .img{aspect-ratio:16/8;background:linear-gradient(135deg,#1b3b9c,#5a33c9 60%,#0f1a4d);background-size:200% 200%;position:relative;animation:gshift 8s ease infinite}
@keyframes gshift{50%{background-position:100% 100%}}
.post .img::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 30%,rgba(255,255,255,.28),transparent 45%)}
.post .body{padding:16px}.post .body p{color:var(--ink);font-size:.94rem;min-height:4.6em}
.post .tags{color:var(--blue-2);font-size:.82rem;margin-top:8px}
.seg{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap}
.seg button{min-height:36px;padding:0 14px;border-radius:10px;border:1px solid var(--line);background:transparent;color:var(--muted);font:500 .84rem var(--body);cursor:pointer;transition:all .2s}
.seg button[aria-pressed="true"]{background:var(--panel-2);color:var(--ink);border-color:rgba(150,170,255,.4)}
.bars{display:flex;align-items:flex-end;gap:10px;height:190px;padding-top:10px;border-bottom:1px solid var(--line)}
.bars div{flex:1;border-radius:8px 8px 0 0;background:var(--grad);min-width:0;transition:height .6s var(--ease)}
.bars-x{display:flex;gap:10px;margin-top:8px;font-family:var(--mono);font-size:.7rem;color:var(--muted)}
.bars-x span{flex:1;text-align:center}
.steps-list{display:grid;gap:10px}
.st{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;background:var(--panel);border:1px solid var(--line);font-size:.92rem;transition:all .3s}
.st i{width:22px;height:22px;border-radius:50%;border:2px solid var(--line);flex:none;display:grid;place-items:center;transition:all .3s}
.st.done i{background:var(--ok);border-color:var(--ok)}
.st.done i::after{content:"";width:5px;height:9px;border:solid #04150d;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}
.st.done{border-color:rgba(61,220,151,.4)}

/* contact */
.contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,5vw,64px);align-items:start}
.contact>*{min-width:0}
.details{margin-top:28px;display:grid;gap:12px;padding:0;list-style:none}
.details li{display:flex;gap:12px;color:var(--muted);font-size:.95rem;flex-wrap:wrap}
.details b{color:var(--ink);font-weight:500;min-width:84px}
form{padding:clamp(20px,3vw,34px);border-radius:24px;border:1px solid var(--line);background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,.02));display:grid;gap:16px;box-shadow:0 30px 80px -40px rgba(70,90,255,.5)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.two>*{min-width:0}
label{display:grid;gap:7px;font-size:.88rem;font-weight:500;color:var(--ink)}
input,select,textarea{width:100%;min-height:48px;padding:11px 14px;border-radius:12px;border:1px solid var(--line);background:rgba(4,6,18,.7);color:var(--ink);font:400 1rem var(--body);transition:border-color .25s,box-shadow .25s}
input:hover,select:hover,textarea:hover{border-color:rgba(150,170,255,.4)}
textarea{min-height:130px;resize:vertical}
input::placeholder,textarea::placeholder{color:#6d78a3}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--blue-2);box-shadow:0 0 0 3px rgba(93,147,255,.25)}
#formMsg{font-size:.92rem;min-height:1.4em;color:var(--muted)}
#formMsg.ok{color:var(--ok)}#formMsg.err{color:#ff8a8a}
footer{border-top:1px solid var(--line);padding-block:40px;background:rgba(5,7,15,.85)}
.foot{display:flex;flex-wrap:wrap;gap:28px;justify-content:space-between;align-items:flex-start}
.foot ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px 22px}
.foot a{color:var(--muted);font-size:.92rem}
.fine{color:var(--muted);font-size:.84rem;margin-top:26px}

@media (max-width:1060px){#nav a{padding:8px 9px;font-size:.88rem}}
@media (max-width:980px){
  .hero-grid,.two-col,.contact,.demo,.svc-row{grid-template-columns:1fr}
  .orbit-wrap{max-width:520px}
  .svc{grid-column:span 6}
  .how{grid-template-columns:1fr 1fr;row-gap:28px}.how::before{display:none}
  .grid3{grid-template-columns:1fr 1fr}
  .scrollcue{display:none}
}
@media (max-width:860px){
  .menu-btn{display:block}
  #nav{position:absolute;left:0;right:0;top:100%;background:rgba(5,7,15,.97);border-bottom:1px solid var(--line);display:none;padding:12px max(16px,env(safe-area-inset-left,0px)) 20px}
  #nav.open{display:block}
  #nav ul{flex-direction:column;gap:2px}
  #nav a{padding:12px 6px;font-size:1.02rem;border-radius:10px}
  .pill{display:none}
  .bar>.btn{display:none}
}
@media (max-width:600px){
  body{font-size:16px}
  .svc{grid-column:span 12}
  .how,.grid3,.grid2,.two{grid-template-columns:1fr}
  .flow{grid-template-columns:1fr 1fr}
  .node:not(:last-child)::after{right:50%;top:auto;bottom:-11px;width:2px;height:12px;background:repeating-linear-gradient(180deg,var(--blue-2) 0 4px,transparent 4px 8px)}
  .node:nth-child(2n)::after{display:none}
  .chip.c2{display:none}.dash{width:62%}
  .cta-row .btn{flex:1 1 100%}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}.rv.pre{opacity:1;transform:none;filter:none}}

.skip{position:absolute;left:-999px;top:8px;z-index:200;background:var(--blue);color:#fff;padding:10px 16px;border-radius:10px}.skip:focus{left:16px}
.how.three{grid-template-columns:repeat(3,1fr)}.how.three::before{left:12%;right:12%}@media (max-width:980px){.how.three{grid-template-columns:1fr}.how.three::before{display:none}}
.foot-col{display:grid;gap:14px}.foot-col b{font-weight:500;font-size:.88rem}

a.il{color:var(--blue-2);text-decoration:underline;text-decoration-color:rgba(93,147,255,.4);text-underline-offset:3px;transition:color .2s,text-decoration-color .2s}a.il:hover{color:#fff;text-decoration-color:currentColor}
.head>h2::before{content:"";display:block;width:44px;height:4px;border-radius:4px;margin-bottom:18px;background:var(--grad)}
.page-hero h1{font-size:clamp(2.1rem,4.8vw,3.7rem);max-width:22ch}.page-hero h1{max-width:24ch}
.tbl tbody th{background:none;color:var(--ink);font-weight:500;font-size:.95rem}.sr{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.page-hero .lede{color:#cfd7f5}.crumb,.crumb a,.crumb span{color:#c9d1f0}
.lede{color:#c4ccec}a.il{color:#a9c5ff;text-decoration-color:rgba(169,197,255,.45)}

.tbl{overflow-x:auto;border:1px solid var(--line);border-radius:18px;background:var(--panel)}
.tbl table{border-collapse:collapse;width:100%;min-width:560px;font-size:.95rem}
.tbl th,.tbl td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.tbl th{font-weight:500;color:var(--ink);background:rgba(255,255,255,.04);font-size:.9rem}
.tbl td{color:var(--muted)}.tbl td:first-child{color:var(--ink);font-weight:500}
.tbl tr:last-child td{border-bottom:0}
