:root{--bg:#070b1a;--bg2:#0c1226;--card:#0f1730;--line:#1f2a4a;--tx:#f4f6fb;--mu:#a9b3cc;--b:#3b82f6;--v:#8b5cf6;--g:linear-gradient(135deg,#3b82f6,#8b5cf6);--r:14px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;background:var(--bg);color:var(--tx);font:16px/1.65 Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%}a{color:#8fb2ff}a:hover{color:#fff}
:focus-visible{outline:3px solid #8fb2ff;outline-offset:3px;border-radius:6px}
.wrap{width:min(1160px,92%);margin:auto}.narrow{width:min(820px,92%)}
.skip{position:absolute;left:-999px;top:8px;background:#fff;color:#000;padding:8px 14px;border-radius:8px;z-index:100}.skip:focus{left:8px}
h1,h2,h3{line-height:1.15;margin:0 0 .5em;letter-spacing:-.02em}h1{font-size:clamp(2.2rem,5.4vw,4rem)}h2{font-size:clamp(1.7rem,3.4vw,2.6rem)}h3{font-size:1.15rem}
.muted{color:var(--mu)}.center{text-align:center;margin-top:32px}.lead{font-size:1.15rem;color:var(--mu);max-width:640px}
.grad{background:var(--g);-webkit-background-clip:text;background-clip:text;color:transparent}
.eyebrow{display:inline-block;font-size:.8rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#9db8ff;margin-bottom:14px}
/* header */
.hdr{position:sticky;top:0;z-index:50;background:rgba(7,11,26,.82);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.hdr-in{display:flex;align-items:center;justify-content:space-between;height:68px}
.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:700;font-size:1.2rem;letter-spacing:.04em}
.nav{display:flex;align-items:center;gap:26px}.nav a:not(.btn){color:var(--mu);text-decoration:none;font-weight:500}.nav a:not(.btn):hover,.nav a[aria-current]{color:#fff}
.menu-btn{display:none;background:none;border:1px solid var(--line);border-radius:10px;width:44px;height:44px;cursor:pointer;flex-direction:column;justify-content:center;gap:6px;align-items:center}
.menu-btn span{width:20px;height:2px;background:#fff;transition:transform .25s}
.menu-btn[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-btn[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
/* buttons */
.btn{display:inline-block;padding:14px 26px;border-radius:12px;font-weight:600;text-decoration:none;border:1px solid transparent;cursor:pointer;font-size:1rem;font-family:inherit;transition:transform .2s,box-shadow .2s,background .2s}
.btn-primary{background:var(--g);color:#fff;box-shadow:0 8px 28px -10px rgba(99,102,241,.8)}.btn-primary:hover{color:#fff;transform:translateY(-2px);box-shadow:0 12px 32px -8px rgba(99,102,241,.9)}
.btn-ghost{border-color:#34426b;color:#fff;background:transparent}.btn-ghost:hover{background:#121b38;color:#fff}.btn-sm{padding:9px 18px;font-size:.92rem}.btn[disabled]{opacity:.6;cursor:wait}
.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
/* hero */
.hero{position:relative;overflow:hidden;padding:80px 0 70px}
.hero:before{content:"";position:absolute;inset:-20% -10% auto auto;width:640px;height:640px;background:radial-gradient(circle,rgba(109,74,255,.28),transparent 65%);pointer-events:none}
.hero-in{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center;position:relative}
.viz{position:relative;min-height:380px}.vcard{background:linear-gradient(160deg,#111a38,#0b1128);border:1px solid var(--line);border-radius:var(--r);padding:18px;box-shadow:0 30px 60px -30px rgba(80,90,255,.45)}
.vcard.main{position:absolute;inset:20px 30px 40px 0}.vhead{display:flex;gap:6px;align-items:center;margin-bottom:16px;font-size:.78rem;color:var(--mu)}.vhead i{width:9px;height:9px;border-radius:50%;background:#2a365c}.vhead span{margin-left:8px}
.bars{display:flex;align-items:flex-end;gap:12px;height:62%}.bars b{flex:1;height:var(--h);border-radius:6px 6px 0 0;background:var(--g);opacity:.9;transform-origin:bottom;animation:grow 1.2s ease both;animation-delay:var(--d)}
.line{position:absolute;left:18px;right:18px;bottom:14px;height:50px;width:calc(100% - 36px)}.line path{fill:none;stroke:#7dd3fc;stroke-width:2.5;stroke-dasharray:420;stroke-dashoffset:420;animation:draw 2.2s .5s ease forwards}
.fl{position:absolute;padding:12px 16px;font-size:.78rem;animation:float 6s ease-in-out infinite}.fl small{color:var(--mu);display:block;margin-bottom:8px}
.f1{right:0;top:0}.f2{right:6px;bottom:70px;animation-delay:-2s}.f3{left:-10px;bottom:8px;animation-delay:-4s}
.pills{display:flex;gap:6px}.pills span{width:30px;height:8px;border-radius:4px;background:#26325a}.pills .on{background:var(--b)}
.dotline{display:flex;align-items:center;gap:8px}.dotline u{width:10px;height:10px;border-radius:50%;background:#34d399;box-shadow:0 0 12px #34d399}.dotline em{width:60px;height:8px;border-radius:4px;background:#26325a}
.check{color:#34d399;font-weight:700}.viz-note{position:absolute;bottom:-6px;left:0;font-size:.72rem;color:var(--mu);margin:0}
@keyframes grow{from{transform:scaleY(0)}}@keyframes draw{to{stroke-dashoffset:0}}@keyframes float{50%{transform:translateY(-10px)}}
.strip{border-block:1px solid var(--line);background:var(--bg2)}.strip-in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 28px;padding:20px 0;color:var(--mu);font-size:.92rem;font-weight:500}.strip-in span:before{content:"●";color:var(--v);margin-right:8px;font-size:.7rem}
/* sections */
.sec{padding:84px 0}.alt{background:var(--bg2)}.sec-head{max-width:700px;margin-bottom:44px}
.grid{display:grid;gap:22px}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}.g2c{grid-template-columns:1.4fr 1fr;align-items:start}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:28px;transition:border-color .25s,transform .25s}
a.svc{text-decoration:none;color:inherit;display:block}.svc:hover{border-color:#4b63b3;transform:translateY(-4px)}.more{color:#8fb2ff;font-weight:600}
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.num{font-size:2rem;font-weight:700;background:var(--g);-webkit-background-clip:text;background-clip:text;color:transparent}
.case dl{margin:0}.case dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:#9db8ff;margin-top:14px}.case dd{margin:2px 0 0;color:var(--mu)}.tag{color:var(--mu);font-size:.9rem;margin-top:-6px}
.demo{display:inline-block;background:#3a2a00;color:#ffd166;border:1px solid #6b4e00;font-size:.72rem;font-weight:700;padding:4px 10px;border-radius:999px;margin-bottom:12px}
.note{background:#101a3a;border:1px solid #2c3c78;border-radius:12px;padding:16px 20px;margin-bottom:28px;color:#cdd7f3}
.svc-detail{margin-bottom:22px}.cols{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin:22px 0}.svc-detail li,.card li{color:var(--mu);margin-bottom:6px}
.page-hero{padding:76px 0 30px;background:radial-gradient(ellipse at 80% 0,rgba(109,74,255,.2),transparent 60%)}.page-hero.center{text-align:center}.page-hero.center .lead{margin:auto}
.cta-box{text-align:center;padding:64px 28px;border-radius:22px;border:1px solid #2c3c78;background:radial-gradient(ellipse at top,rgba(109,74,255,.3),transparent 70%),var(--card)}.cta-box p{max-width:520px;margin:0 auto 26px}
.faq{border-bottom:1px solid var(--line);padding:6px 0}.faq summary{cursor:pointer;font-weight:600;padding:14px 0;list-style:none;display:flex;justify-content:space-between;gap:16px}.faq summary:after{content:"+";color:#8fb2ff;font-size:1.4rem}.faq[open] summary:after{content:"–"}.faq p{color:var(--mu);margin:0 0 14px}
.prose h2{font-size:1.4rem;margin-top:1.8em}.prose p{color:var(--mu)}
/* form */
.f{margin-bottom:18px;border:0;padding:0}label,legend{display:block;font-weight:600;margin-bottom:6px;font-size:.95rem;padding:0}
input:not([type=checkbox]),select,textarea{width:100%;background:#0a1128;color:#fff;border:1px solid #2a365c;border-radius:10px;padding:12px 14px;font:inherit}
input:focus,select:focus,textarea:focus{border-color:#6d8cff;outline:2px solid #6d8cff33}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:8px}.chk{display:flex;gap:10px;font-weight:400;align-items:flex-start;color:var(--mu)}.chk input{margin-top:5px}
.err{color:#ff8a8a;font-size:.86rem;margin:6px 0 0;min-height:0}.invalid{border-color:#ff6b6b!important}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
#status{margin-top:16px;border-radius:10px}#status.ok,#status.bad{padding:14px 16px}#status.ok{background:#052e1f;border:1px solid #14724a;color:#a7f3d0}#status.bad{background:#3a1010;border:1px solid #7a2a2a;color:#fecaca}
.plain{list-style:none;padding:0}.plain li{margin-bottom:8px}
/* footer */
.ftr{border-top:1px solid var(--line);background:#050813;padding:56px 0 0;margin-top:20px}.ftr-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px}.ftr h3{font-size:.9rem;text-transform:uppercase;letter-spacing:.1em;color:#9db8ff}.ftr a{color:var(--mu);text-decoration:none}.ftr a:hover{color:#fff}.copy{padding:28px 0;margin-top:30px;border-top:1px solid var(--line);color:var(--mu);font-size:.9rem}
.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s,transform .6s}.reveal.in{opacity:1;transform:none}
@media(max-width:960px){.hero-in,.g2c,.ftr-grid{grid-template-columns:1fr}.g3{grid-template-columns:repeat(2,1fr)}.g4,.steps{grid-template-columns:repeat(2,1fr)}.cols{grid-template-columns:1fr}.viz{min-height:340px}}
@media(max-width:760px){.menu-btn{display:flex}.nav{position:absolute;top:68px;left:0;right:0;background:#080d20;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;padding:18px 4%;gap:16px;display:none}.nav.open{display:flex}.nav .btn{text-align:center}.g2,.g3,.g4,.steps,.checks{grid-template-columns:1fr}.sec{padding:60px 0}.hero{padding:48px 0}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}.line path{stroke-dashoffset:0}}
