body{margin:0;background:#07090D;color:#F4F7FB;font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:#00E5FF}a:hover{color:#7DF2FF}
*{box-sizing:border-box}
:focus-visible{outline:2px solid #00E5FF;outline-offset:3px;border-radius:6px}
.wrap{max-width:1240px;margin:0 auto;padding:0 32px}
.mono{font-family:'JetBrains Mono',monospace}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* nav + links */
.navlink{position:relative;color:#9BA7B8;text-decoration:none;font-size:14px;padding:10px 4px;transition:color .3s ease}
.navlink::after{content:'';position:absolute;left:4px;right:4px;bottom:6px;height:1px;background:linear-gradient(90deg,#00E5FF,#4263FF);transform:scaleX(0);transform-origin:right;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.navlink:hover{color:#F4F7FB}
.navlink:hover::after,.navlink.active::after{transform:scaleX(1);transform-origin:left}
.navlink.active{color:#F4F7FB}
footer .navlink::after{left:0;right:0;bottom:-3px}
.logo svg{transition:transform .6s cubic-bezier(.34,1.56,.64,1)}
.logo:hover svg{transform:rotate(-10deg) scale(1.08)}
.menubtn{display:none}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-family:'JetBrains Mono',monospace;font-size:12px;color:#7A8699;letter-spacing:.04em;margin:0;padding:0;list-style:none}
.crumbs a{color:#9BA7B8;text-decoration:none;transition:color .3s}
.crumbs a:hover{color:#00E5FF}

/* buttons */
.btn-p{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;gap:10px;background:#00E5FF;color:#07090D;text-decoration:none;font-weight:600;font-size:15px;padding:0 22px;height:48px;border-radius:999px;border:0;cursor:pointer;font-family:Inter,sans-serif;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .4s ease}
.btn-p::before{content:'';position:absolute;z-index:-1;top:0;bottom:0;left:-75%;width:50%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.8),transparent);transform:skewX(-20deg);transition:left .8s cubic-bezier(.2,.8,.2,1)}
.btn-p:hover{color:#07090D;transform:translateY(-2px);box-shadow:0 14px 40px -8px rgba(0,229,255,.6),0 0 0 4px rgba(0,229,255,.12)}
.btn-p:hover::before{left:125%}
.btn-p.auto::before{animation:shine 5s ease-in-out 2.6s infinite}
@keyframes shine{0%{left:-75%}25%,100%{left:125%}}
.btn-p svg,.btn-g svg{transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.btn-p:hover svg,.btn-g:hover svg{transform:translateX(5px)}
.btn-g{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;gap:10px;color:#F4F7FB;text-decoration:none;font-weight:500;font-size:15px;padding:0 22px;height:48px;border-radius:999px;border:1px solid #2A3444;background:transparent;cursor:pointer;font-family:Inter,sans-serif;transition:border-color .3s ease}
.btn-g::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,229,255,.16),rgba(66,99,255,.16));transform:scaleX(0);transform-origin:left;transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.btn-g:hover{border-color:#00E5FF;color:#F4F7FB}
.btn-g:hover::before{transform:scaleX(1)}
.textlink{display:inline-flex;align-items:center;gap:8px;color:#F4F7FB;text-decoration:none;font-weight:500;font-size:15px;transition:gap .3s ease,color .3s ease}
.textlink:hover{color:#00E5FF;gap:14px}

/* type */
.eyebrow{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.14em;color:#00E5FF;text-transform:uppercase}
.h-display{margin:0;font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:clamp(44px,6.2vw,92px);line-height:.98;letter-spacing:-.045em}
.h2{margin:0;font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:clamp(36px,4.6vw,62px);line-height:1.02;letter-spacing:-.035em}
.h3{margin:0;font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:26px;letter-spacing:-.02em}
.lead{margin:0;font-size:19px;line-height:1.6;color:#9BA7B8;max-width:640px}
.body{margin:0;font-size:16px;line-height:1.65;color:#9BA7B8}

/* surfaces */
.gridbg{background-image:linear-gradient(#141A24 1px,transparent 1px),linear-gradient(90deg,#141A24 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 60% 40%,#000 30%,transparent 80%);mask-image:radial-gradient(ellipse 70% 60% at 60% 40%,#000 30%,transparent 80%)}
.aurora{position:absolute;border-radius:50%;filter:blur(70px);pointer-events:none}
.a1{width:520px;height:520px;right:0;top:-10%;background:radial-gradient(circle,rgba(0,229,255,.18),transparent 65%);animation:drift 18s ease-in-out infinite}
.a2{width:600px;height:600px;right:24%;top:10%;background:radial-gradient(circle,rgba(66,99,255,.18),transparent 65%);animation:drift 24s ease-in-out infinite reverse}
@keyframes drift{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-70px,50px) scale(1.12)}}
.page-hero{position:relative;padding:72px 0 96px;overflow:hidden;border-bottom:1px solid #141A24}
.band{background:#0A0D13;border-top:1px solid #141A24;border-bottom:1px solid #141A24}
.card{position:relative;background:#0D1118;border:1px solid #1C2330;border-radius:20px;transition:translate .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s ease}
.card::after{content:'';position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(135deg,#00E5FF,rgba(0,229,255,0) 35%,rgba(66,99,255,0) 65%,#4263FF);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .5s ease;pointer-events:none}
.card:hover{translate:0 -6px;box-shadow:0 30px 60px -24px rgba(0,0,0,.9),0 0 80px -30px rgba(0,229,255,.35)}
.card:hover::after{opacity:1}
.tag{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.06em;color:#9BA7B8;border:1px solid #232C3A;border-radius:999px;padding:5px 10px;text-decoration:none;transition:border-color .3s ease,color .3s ease,background .3s ease}
.tag:hover,.card:hover .tag:hover{border-color:#00E5FF;color:#F4F7FB;background:#0A1A1F}
.card:hover .tag{border-color:#2E3B50;color:#C5CEDB}
.check{display:flex;gap:12px;font-size:15px;line-height:1.5;color:#C5CEDB}
.check svg{flex:none;margin-top:3px}

/* chips / tabs */
.chip{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:transparent;border:1px solid #1C2330;color:#9BA7B8;font-family:Inter,sans-serif;font-size:15px;padding:16px 18px;border-radius:14px;cursor:pointer;min-height:56px;transition:all .25s ease}
.chip:hover{border-color:#2E3B50;color:#F4F7FB}
.chip.on{border-color:#00E5FF;color:#F4F7FB;background:#0A1A1F}
.pill{display:inline-flex;align-items:center;height:40px;padding:0 16px;border-radius:999px;border:1px solid #232C3A;background:transparent;color:#9BA7B8;font-family:Inter,sans-serif;font-size:14px;cursor:pointer;text-decoration:none;transition:all .3s ease}
.pill:hover{border-color:#00E5FF;color:#F4F7FB}
.pill.on{background:#00E5FF;border-color:#00E5FF;color:#07090D;font-weight:600}

/* service rows */
.svc-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:64px;align-items:center;padding:104px 0;border-top:1px solid #141A24}
.svc-row.flip .svc-vis{order:-1}
.svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.span2{grid-column:span 2}

/* details faq */
.qa{border-top:1px solid #1C2330}
.qa summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;font-family:'Space Grotesk',sans-serif;font-size:19px;font-weight:500;color:#F4F7FB;transition:color .3s}
.qa summary::-webkit-details-marker{display:none}
.qa summary:hover{color:#00E5FF}
.qa summary svg{flex:none;transition:transform .35s ease}
.qa[open] summary svg{transform:rotate(45deg)}
.qa p{margin:0;padding:0 40px 24px 0;font-size:16px;line-height:1.7;color:#9BA7B8}

/* forms */
.field{display:flex;flex-direction:column;gap:8px}
.field label{font-size:13px;color:#C5CEDB;font-weight:500}
.inp{width:100%;background:#07090D;border:1px solid #232C3A;border-radius:12px;color:#F4F7FB;font-family:Inter,sans-serif;font-size:15px;padding:0 14px;height:48px;transition:border-color .3s ease,box-shadow .3s ease}
.inp:focus{border-color:#00E5FF;outline:none;box-shadow:0 0 0 4px rgba(0,229,255,.12)}
textarea.inp{height:130px;padding:12px 14px;resize:vertical}
.svc-check{display:flex;align-items:center;gap:8px;font-size:13px;color:#C5CEDB;border:1px solid #232C3A;border-radius:999px;padding:0 14px;height:40px;cursor:pointer;transition:all .3s ease}
.svc-check:hover{border-color:#00E5FF;color:#F4F7FB;background:#0A1A1F}
.svc-check input{accent-color:#00E5FF}

/* article */
.prose{font-size:18px;line-height:1.8;color:#C5CEDB}
.prose h2{font-family:'Space Grotesk',sans-serif;font-size:32px;font-weight:600;letter-spacing:-.02em;line-height:1.2;color:#F4F7FB;margin:56px 0 16px}
.prose p{margin:0 0 24px}
.prose blockquote{margin:44px 0;padding:8px 0 8px 28px;border-left:2px solid #00E5FF;font-family:'Space Grotesk',sans-serif;font-size:27px;line-height:1.4;letter-spacing:-.015em;color:#F4F7FB}
.prose ul{margin:0 0 24px;padding-left:22px}
.prose li{margin-bottom:10px}
.prose li::marker{color:#00E5FF}
.toc a{display:block;color:#9BA7B8;text-decoration:none;font-size:14px;padding:8px 0 8px 14px;border-left:1px solid #1C2330;transition:all .3s ease}
.toc a:hover{color:#F4F7FB;border-left-color:#00E5FF;padding-left:18px}

/* motion */
.flow{stroke-dasharray:4 12;animation:flow 2.4s linear infinite}
.flow.b{animation-duration:3.2s}.flow.c{animation-duration:2.8s}
@keyframes flow{to{stroke-dashoffset:-64}}
.pulse{animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
.wire{background:linear-gradient(90deg,#1C2330 0%,#1C2330 35%,#00E5FF 50%,#1C2330 65%,#1C2330 100%);background-size:300% 100%;animation:wire 2.2s linear infinite}
@keyframes wire{from{background-position:100% 0}to{background-position:0 0}}
.in{animation:inup 1.1s cubic-bezier(.2,.8,.2,1) both}
@keyframes inup{from{opacity:0;transform:translateY(26px);filter:blur(10px)}to{opacity:1;transform:none;filter:none}}
.line{display:block;overflow:hidden;padding-bottom:.06em}
.li{display:inline-block;animation:lineup 1.2s cubic-bezier(.16,1,.3,1) both}
@keyframes lineup{from{transform:translateY(110%) rotate(3deg)}to{transform:none}}
.shim{background:linear-gradient(90deg,#00E5FF 0%,#9AF6FF 22%,#4263FF 50%,#00E5FF 75%,#9AF6FF 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shim 7s linear infinite}
@keyframes shim{to{background-position:-200% 0}}
.caret{display:inline-block;width:7px;height:14px;background:#00E5FF;margin-left:4px;vertical-align:-2px;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.arr{display:inline-block;transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.ind{background:#0A0D13;transition:background .4s ease}
.ind:hover{background:#0F151E}
.ind h3{transition:color .3s ease}
.ind:hover h3{color:#00E5FF}
.ind:hover .arr{transform:translateX(6px)}
.prin{transition:padding .4s cubic-bezier(.2,.8,.2,1),border-color .4s ease}
.prin:hover{padding-left:10px;border-color:#00E5FF}
.bimg svg{transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.blogc:hover .bimg svg{transform:scale(1.15) translateX(-12px)}
.blogc h3{transition:color .3s ease}
.blogc:hover h3{color:#00E5FF}
.readmore{display:inline-flex;align-items:center;gap:8px;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.1em;color:#9BA7B8;transition:color .3s ease,gap .3s ease}
.blogc:hover .readmore{color:#00E5FF;gap:14px}
.stepdot{transition:box-shadow .5s ease,background .5s ease,transform .5s cubic-bezier(.34,1.56,.64,1)}
.step-li:hover .stepdot{box-shadow:0 0 0 8px rgba(0,229,255,.08),0 0 36px rgba(0,229,255,.45);background:#0A1A1F;transform:scale(1.1)}
.step-li h2,.step-li h3{transition:color .3s ease}
.step-li:hover h2,.step-li:hover h3{color:#00E5FF}
.stepline{transform-origin:left}
.card h3 a .arr,.card h2 a .arr{transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.card:hover h3 a .arr,.card:hover h2 a .arr{transform:translateX(6px)}
.card h3 a,.card h2 a{transition:color .3s ease}
.card h3 a:hover,.card h2 a:hover{color:#00E5FF!important}
.svc-card .arr{transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.svc-card:hover .arr{transform:translateX(6px)}
.svc-card h2{transition:color .3s ease}
.svc-card:hover h2{color:#00E5FF}
.bigword{background:linear-gradient(90deg,#0F141C 0%,#0F141C 40%,#1A3A48 50%,#0F141C 60%,#0F141C 100%);background-size:300% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;color:transparent;transition:background-position 2s cubic-bezier(.2,.8,.2,1)}
.bigword:hover{background-position:0 0}
.chat-launch{position:fixed;right:24px;bottom:24px;z-index:90;display:flex;align-items:center;gap:10px;height:56px;padding:0 20px 0 14px;border-radius:999px;border:1px solid #12404A;background:rgba(10,26,31,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#F4F7FB;text-decoration:none;font-family:Inter,sans-serif;font-size:14px;font-weight:500;box-shadow:0 16px 40px rgba(0,0,0,.5),0 0 40px -10px rgba(0,229,255,.35);transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .3s ease}
.chat-launch:hover{transform:translateY(-3px);border-color:#00E5FF;color:#F4F7FB}
@media (max-width:640px){.chat-launch span.lbl{display:none}.chat-launch{padding:0 14px}}
.t1{animation-delay:.1s}.t2{animation-delay:.25s}.t3{animation-delay:.4s}.t4{animation-delay:.6s}.t5{animation-delay:.8s}.t6{animation-delay:1s}
@supports (animation-timeline: view()){
.reveal{animation:rv linear both;animation-timeline:view();animation-range:entry 5% cover 30%}
.reveal-c{animation:rvc linear both;animation-timeline:view();animation-range:entry 0% cover 25%}
.stepline{animation:sl linear both;animation-timeline:view();animation-range:entry 40% cover 55%}
}
@keyframes rv{from{opacity:0;transform:translateY(60px);filter:blur(10px)}to{opacity:1;transform:none;filter:none}}
@keyframes rvc{from{opacity:0;transform:translateY(70px) scale(.96)}to{opacity:1;transform:none}}
@keyframes sl{from{transform:scaleX(0)}to{transform:none}}

@media (max-width:1024px){.svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.navlinks{display:none}.menubtn{display:inline-flex}.hide-sm{display:none}.svc-row{grid-template-columns:minmax(0,1fr);gap:36px;padding:72px 0}.svc-row.flip .svc-vis{order:0}.toc-col{display:none}}
@media (max-width:640px){.wrap{padding:0 18px}.svc-grid{grid-template-columns:minmax(0,1fr)}.span2{grid-column:span 1}.page-hero{padding:48px 0 64px}}
@media (prefers-reduced-motion:reduce){.flow,.pulse,.wire,.in,.li,.shim,.caret,.aurora,.btn-p.auto::before,.reveal,.reveal-c,.stepline{animation:none!important}.card:hover,.btn-p:hover{transform:none;translate:none}}
