:root{--navy:#030d26;--navy2:#071a44;--card:#0b1f4d;--blue:#2e7cf6;--sky:#8ab9ff;--cy:#22d3ee;--vi:#8b5cf6;--paper:#f3f6fc;--line:#dde4f2;--muted:#5b6788;--ink:#0a1230;--bs-body-font-family:'Plus Jakarta Sans',system-ui,sans-serif;--bs-body-color:var(--ink)}
html{scroll-behavior:smooth;scroll-padding-top:84px}
h1,h2,h3,h4{letter-spacing:-.03em;font-weight:800}
a{color:var(--blue)}:focus-visible{outline:3px solid var(--sky);outline-offset:2px}
.gt{background:linear-gradient(90deg,var(--sky),var(--cy),var(--blue));-webkit-background-clip:text;background-clip:text;color:transparent}
.btn-x{background:linear-gradient(90deg,var(--blue),#4f6bff);color:#fff;border:0;font-weight:700;padding:.85rem 1.7rem;border-radius:2rem;box-shadow:0 10px 30px rgba(46,124,246,.35);transition:transform .2s,box-shadow .2s}
.btn-x:hover{color:#fff;transform:translateY(-2px);box-shadow:0 14px 36px rgba(46,124,246,.5)}
.btn-o{border:2px solid rgba(255,255,255,.35);color:#fff;font-weight:700;padding:.75rem 1.6rem;border-radius:2rem}.btn-o:hover{background:#fff;color:var(--navy)}
#prog{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--cy),var(--blue),var(--vi));z-index:2000}
.navbar{background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);transition:padding .3s,box-shadow .3s}
.navbar.sc{box-shadow:0 8px 30px rgba(3,13,38,.12)}
.navbar-brand img{height:46px;width:auto;transition:height .3s}.navbar.sc .navbar-brand img{height:38px}
.nav-link{font-weight:600;color:var(--ink)!important}.nav-link:hover{color:var(--blue)!important}
.dropdown-menu{border:1px solid var(--line);box-shadow:0 18px 40px rgba(3,13,38,.14);border-radius:1rem}
/* HERO */
.hero{background:var(--navy);color:#fff;position:relative;overflow:hidden;isolation:isolate;padding:5rem 0 4.5rem;--mx:70%;--my:30%}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(520px circle at var(--mx) var(--my),rgba(46,124,246,.28),transparent 60%)}
#net{position:absolute;inset:0;width:100%;height:100%;z-index:-1;opacity:.7}
.aur{position:absolute;border-radius:50%;filter:blur(90px);z-index:-1;animation:drift 18s ease-in-out infinite alternate}
.a1{width:480px;height:480px;background:#1c4fd6;opacity:.45;top:-180px;right:-120px}.a2{width:380px;height:380px;background:var(--vi);opacity:.28;bottom:-200px;left:-120px;animation-delay:-8s}
@keyframes drift{to{transform:translate(-60px,50px) scale(1.2)}}
.pill{display:inline-flex;align-items:center;gap:.5rem;border:1px solid #27458f;background:rgba(11,31,77,.6);color:#cfe0ff;border-radius:2rem;padding:.35rem 1rem;font-size:.88rem;font-weight:600}
.pill i{width:8px;height:8px;border-radius:50%;background:#34d399;box-shadow:0 0 0 0 rgba(52,211,153,.7);animation:ping 1.8s infinite}
@keyframes ping{70%{box-shadow:0 0 0 10px rgba(52,211,153,0)}100%{box-shadow:0 0 0 0 rgba(52,211,153,0)}}
.hero h1{font-size:clamp(2.2rem,4.4vw,3.7rem);line-height:1.04}
.rot{display:inline-block;height:1.15em;overflow:hidden;vertical-align:bottom}
.rot div{animation:rot 10s cubic-bezier(.7,0,.2,1) infinite}.rot span{display:block;height:1.15em}
@keyframes rot{0%,16%{transform:translateY(0)}20%,36%{transform:translateY(-1.15em)}40%,56%{transform:translateY(-2.3em)}60%,76%{transform:translateY(-3.45em)}80%,100%{transform:translateY(-4.6em)}}
.hero .sub{color:#b9c7ea;font-size:1.12rem;max-width:36rem}
.chips span{display:inline-block;border:1px solid #27458f;color:#cfe0ff;border-radius:2rem;padding:.3rem .9rem;margin:0 .4rem .5rem 0;font-size:.88rem}
/* ORBIT */
.orbit-wrap{position:relative;width:100%;max-width:520px;aspect-ratio:1;margin:auto}
.ring{position:absolute;top:50%;left:50%;border:1px dashed rgba(138,185,255,.35);border-radius:50%;transform:translate(-50%,-50%)}
.r1{width:46%;height:46%;animation:spin 30s linear infinite}.r2{width:74%;height:74%;animation:spin 46s linear infinite reverse}.r3{width:100%;height:100%;animation:spin 64s linear infinite}
@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.sat{position:absolute;inset:0;transform:rotate(var(--a))}
.sat b{position:absolute;left:100%;top:50%;display:block;transform:translate(-50%,-50%);animation:up var(--d) linear infinite}
@keyframes up{from{transform:translate(-50%,-50%) rotate(calc(var(--a)*-1))}to{transform:translate(-50%,-50%) rotate(calc(var(--a)*-1 - 360deg))}}
.r2 .sat b{animation-name:up2}@keyframes up2{from{transform:translate(-50%,-50%) rotate(calc(var(--a)*-1))}to{transform:translate(-50%,-50%) rotate(calc(var(--a)*-1 + 360deg))}}
.bd{display:flex;align-items:center;gap:.4rem;background:rgba(11,31,77,.92);border:1px solid #2a4ea8;color:#fff;border-radius:2rem;padding:.35rem .8rem;font-size:.8rem;font-weight:700;white-space:nowrap;box-shadow:0 8px 24px rgba(0,0,0,.35)}
.hub{position:absolute;top:50%;left:50%;width:30%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 0 0 12px rgba(46,124,246,.18),0 0 80px rgba(46,124,246,.6);animation:beat 3s ease-in-out infinite}
.hub img{width:78%;height:auto}
@keyframes beat{50%{box-shadow:0 0 0 22px rgba(46,124,246,.1),0 0 110px rgba(34,211,238,.6)}}
.fl{position:absolute;background:rgba(7,26,68,.92);border:1px solid #2a4ea8;border-radius:1rem;padding:.6rem .9rem;font-size:.82rem;box-shadow:0 14px 34px rgba(0,0,0,.4);animation:bob 5s ease-in-out infinite}
.fl b{display:block;font-size:1.25rem;color:var(--sky)}.fl small{color:#9fb0d8}
.f1{top:2%;left:-2%}.f2{top:44%;right:-4%;animation-delay:-1.5s}.f3{bottom:3%;left:6%;animation-delay:-3s}
@keyframes bob{50%{transform:translateY(-12px)}}
.scroll{position:absolute;left:50%;bottom:14px;width:24px;height:38px;border:2px solid #4f6bb0;border-radius:14px;transform:translateX(-50%)}
.scroll::after{content:"";position:absolute;left:50%;top:7px;width:4px;height:8px;border-radius:2px;background:#fff;transform:translateX(-50%);animation:sc 1.6s infinite}
@keyframes sc{60%{opacity:0;transform:translate(-50%,14px)}100%{opacity:0}}
.marq{background:linear-gradient(90deg,var(--blue),#4f6bff,var(--vi));color:#fff;overflow:hidden;white-space:nowrap;padding:.85rem 0;font-weight:700}
.marq div{display:inline-block;animation:mq 34s linear infinite}.marq span{margin:0 1.5rem}@keyframes mq{to{transform:translateX(-50%)}}
section{padding:5.5rem 0}.bg-paper{background:var(--paper)}.bg-navy{background:var(--navy);color:#fff}
.eyebrow{color:var(--blue);font-weight:700;margin-bottom:.6rem;display:block;letter-spacing:.02em}.bg-navy .eyebrow{color:var(--sky)}
.st{font-size:clamp(1.9rem,3.8vw,2.9rem)}.lm{color:var(--muted);max-width:44rem;font-size:1.05rem}.bg-navy .lm{color:#aebce0}
/* STORY */
.story{background:var(--navy);color:#fff;padding:5.5rem 0 3rem}
.stage{min-height:78vh;display:flex;flex-direction:column;justify-content:center;opacity:.35;transition:opacity .5s}
.stage.on{opacity:1}.stage .n{font-size:.95rem;color:var(--sky);font-weight:800}
.stage h3{font-size:clamp(1.6rem,3vw,2.3rem);margin:.4rem 0 .8rem}.stage p{color:#b9c7ea;font-size:1.05rem}
.stage ul{padding-left:1.1rem;color:#cfe0ff}.stage a{color:var(--sky);font-weight:700}
.vis{position:sticky;top:92px;height:540px;border-radius:1.5rem;background:linear-gradient(160deg,#0b1f4d,#06143a);border:1px solid #1d3a82;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.45)}
.scene{position:absolute;inset:0;opacity:0;transform:scale(.96);transition:opacity .6s,transform .6s;pointer-events:none;display:grid;place-items:center;padding:1.5rem}
.scene.on{opacity:1;transform:none}
.tag{position:absolute;top:14px;left:18px;font-size:.78rem;font-weight:700;color:var(--sky);letter-spacing:.06em;text-transform:uppercase}
/* radar */
.radar{width:min(380px,80%);aspect-ratio:1;border-radius:50%;position:relative;background:repeating-radial-gradient(circle,transparent 0 46px,rgba(138,185,255,.22) 47px 48px);border:1px solid rgba(138,185,255,.4)}
.sweep{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,rgba(34,211,238,.55),transparent 28%);animation:spin2 3.5s linear infinite}
@keyframes spin2{to{transform:rotate(360deg)}}
.blip{position:absolute;width:12px;height:12px;border-radius:50%;background:var(--cy);box-shadow:0 0 14px var(--cy);animation:bl 3.5s infinite}
.blip em{position:absolute;left:16px;top:-4px;font-style:normal;font-size:.72rem;white-space:nowrap;color:#dbe8ff;background:rgba(3,13,38,.8);padding:.1rem .5rem;border-radius:1rem}
@keyframes bl{0%,100%{transform:scale(.6);opacity:.4}40%{transform:scale(1.3);opacity:1}}
/* serp */
.serp{width:min(430px,100%)}
.sbar{background:#fff;color:#111;border-radius:2rem;padding:.7rem 1.2rem;font-weight:600;display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;min-height:48px}
.caret{width:2px;height:1.1em;background:#111;animation:bk 1s steps(1) infinite}@keyframes bk{50%{opacity:0}}
.res{position:relative;height:330px}
.r{position:absolute;left:0;right:0;top:calc(var(--i)*66px);height:58px;background:rgba(255,255,255,.07);border-radius:.8rem;padding:.55rem .9rem;font-size:.82rem;color:#aebce0;transition:top .9s cubic-bezier(.6,0,.2,1),background .5s}
.r b{display:block;color:#8ab9ff;font-size:.92rem}
.r.me.win{background:linear-gradient(90deg,rgba(46,124,246,.5),rgba(34,211,238,.3));color:#fff;box-shadow:0 0 0 2px var(--cy)}
.r.me.win b{color:#fff}.rk{position:absolute;right:.8rem;top:.8rem;background:var(--cy);color:#04223a;font-weight:800;border-radius:2rem;padding:.1rem .6rem;font-size:.75rem;opacity:0;transition:opacity .4s .8s}.win .rk{opacity:1}
/* phone */
.phone{width:240px;height:440px;border-radius:2rem;border:6px solid #1a2f6b;background:#0a1740;padding:.8rem;position:relative;overflow:hidden}
.av{display:flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:700;margin-bottom:.6rem}.av i{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--cy),var(--vi))}
.img{height:190px;border-radius:1rem;background:linear-gradient(135deg,#2e7cf6,#8b5cf6,#22d3ee);background-size:200% 200%;animation:gs 6s ease infinite;display:grid;place-items:center;font-weight:800;font-size:1.1rem}
@keyframes gs{50%{background-position:100% 100%}}
.acts{display:flex;gap:.8rem;margin-top:.7rem;font-size:1.2rem}.fol{margin-top:.6rem;font-size:.8rem;color:#aebce0}.fol b{font-size:1.4rem;color:#fff}
.heart{position:absolute;bottom:90px;font-size:1.4rem;color:#ff4d79;animation:hf 2.4s ease-out forwards;pointer-events:none}
@keyframes hf{to{transform:translateY(-260px) scale(1.4);opacity:0}}
.bub{position:absolute;background:#fff;color:#111;border-radius:1rem;padding:.4rem .8rem;font-size:.78rem;font-weight:600;box-shadow:0 10px 26px rgba(0,0,0,.4);animation:pop .6s both}
@keyframes pop{from{transform:scale(0)}}
/* funnel */
.fun{position:relative;width:min(340px,86%);height:380px}
.fun svg{width:100%;height:100%}
.dot{position:absolute;top:0;left:calc(var(--x)*1%);width:9px;height:9px;border-radius:50%;background:var(--cy);box-shadow:0 0 10px var(--cy);animation:fall 3.2s linear infinite;animation-delay:var(--d)}
@keyframes fall{0%{transform:translateY(0);opacity:0}10%{opacity:1}60%{left:50%}100%{transform:translateY(340px);left:50%;opacity:0}}
.lead{position:absolute;bottom:-4px;left:50%;transform:translateX(-50%);background:#fff;color:var(--navy);border-radius:2rem;padding:.4rem 1rem;font-weight:800}
/* chart */
.chart{width:min(420px,100%);height:340px;position:relative;display:flex;align-items:flex-end;gap:12px;padding-bottom:6px}
.bar{flex:1;height:0;background:linear-gradient(180deg,var(--cy),var(--blue));border-radius:.5rem .5rem 0 0;transition:height 1.2s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--k)*.12s)}
.scene.on .bar{height:var(--h)}
.chart svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.ln{fill:none;stroke:#fff;stroke-width:3;stroke-dasharray:600;stroke-dashoffset:600}.scene.on .ln{animation:draw 2.2s .5s forwards}@keyframes draw{to{stroke-dashoffset:0}}
.cap{position:absolute;top:10px;right:14px;text-align:right}.cap b{font-size:2rem;display:block;color:#fff}
/* cards */
.cs{position:relative;display:block;height:100%;padding:1.9rem;border:1px solid var(--line);border-radius:1.4rem;background:#fff;text-decoration:none;color:var(--ink);transition:box-shadow .3s,border-color .3s;transform-style:preserve-3d;overflow:hidden}
a.cs::before{content:"";position:absolute;inset:0;background:radial-gradient(300px circle at var(--px,50%) var(--py,0%),rgba(46,124,246,.14),transparent 60%);opacity:0;transition:opacity .3s}
a.cs:hover{border-color:var(--blue);box-shadow:0 24px 50px rgba(46,124,246,.18)}a.cs:hover::before{opacity:1}
.cs h3{font-size:1.2rem}.cs p{color:var(--muted);margin:0 0 1rem}.from{font-size:.85rem;color:var(--muted)}.from b{color:var(--blue);font-size:1.1rem}
.ico{width:56px;height:56px;border-radius:16px;background:linear-gradient(135deg,var(--navy),#12327f);color:#fff;display:grid;place-items:center;font-size:1.6rem;margin-bottom:1.1rem;transition:transform .4s}a.cs:hover .ico{transform:rotate(-8deg) scale(1.12)}
.go{font-weight:700;color:var(--blue);margin-top:.5rem;display:inline-block}
.stat b{font-size:3.2rem;font-weight:800;display:block;line-height:1}
.bg-navy .stat b{background:linear-gradient(90deg,var(--sky),var(--cy));-webkit-background-clip:text;background-clip:text;color:transparent}
.why{padding:1.6rem;border-radius:1.2rem;background:#fff;border:1px solid var(--line);height:100%;position:relative;overflow:hidden}
.why::after{content:"";position:absolute;left:0;bottom:0;height:3px;width:0;background:linear-gradient(90deg,var(--blue),var(--cy));transition:width .5s}.why:hover::after{width:100%}
.quote{background:var(--card);border:1px solid #1d3a82;border-radius:1.2rem;padding:1.6rem;height:100%}.quote p{font-size:1.05rem}.quote small{color:var(--sky)}
.accordion-button:not(.collapsed){background:var(--paper);color:var(--ink)}.accordion-button{font-weight:700}
.cta{position:relative;overflow:hidden;background:linear-gradient(120deg,#0b3aa8,var(--blue),var(--vi));background-size:200% 200%;animation:gs 10s ease infinite;color:#fff;padding:4.5rem 0}
.cta .btn{background:#fff;color:var(--navy);font-weight:700;padding:.9rem 1.9rem;border-radius:2rem}
.cta i{position:absolute;border-radius:50%;border:2px solid rgba(255,255,255,.25);animation:bob 7s ease-in-out infinite}
footer{background:var(--navy);color:#9fb0d8;padding:4rem 0 1.5rem}footer a{color:#fff;text-decoration:none}footer a:hover{text-decoration:underline}
.logochip{display:inline-block;background:#fff;border-radius:.8rem;padding:.5rem .9rem}.logochip img{height:40px;width:auto}
.rv{opacity:0;transform:translateY(30px);transition:opacity .8s,transform .8s;transition-delay:var(--dl,0s)}.rv.in{opacity:1;transform:none}
.wa{position:fixed;right:18px;bottom:18px;z-index:1500;width:58px;height:58px;border-radius:50%;background:#25d366;display:grid;place-items:center;font-size:1.7rem;text-decoration:none;box-shadow:0 10px 26px rgba(37,211,102,.5);animation:ping2 2.2s infinite}
@keyframes ping2{70%{box-shadow:0 0 0 18px rgba(37,211,102,0)}}
.ph-us{display:none}body.us .ph-us{display:inline}body.us .ph-in{display:none}
@media(max-width:991px){.vis{top:70px;height:400px;margin-bottom:1rem;z-index:5}.stage{min-height:62vh}.phone{height:350px;width:210px}.img{height:140px}.res{height:300px}.fun{height:300px}.chart{height:260px}@keyframes fall{100%{transform:translateY(260px);left:50%;opacity:0}}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}.stage{opacity:1}}
/* ===== v3 additions ===== */
.navbar{background:rgba(3,13,38,.94);border-bottom:1px solid #12285c}.navbar.sc{box-shadow:0 8px 30px rgba(0,0,0,.4)}
.navbar-brand{display:flex;align-items:center}.logo-fb{color:#fff;font-weight:800;font-size:1.7rem}
.nav-link{color:#dbe5ff!important}.nav-link:hover,.nav-link.active{color:#fff!important}
.navbar-toggler{border-color:#3a4f86}.navbar-toggler-icon{filter:invert(1)}
.dropdown-menu{background:#071a44;border:1px solid #1b3374}.dropdown-item{color:#dbe5ff;border-radius:.6rem}.dropdown-item small{display:block;color:#8ea3d6}.dropdown-item:hover{background:var(--blue);color:#fff}.dropdown-item:hover small{color:#fff}
.hub{background:radial-gradient(circle,#0c2c70,#030d26)}.hub img{width:70%}
.rw{display:block;color:var(--sky);text-shadow:0 0 30px rgba(34,211,238,.35);min-height:1.1em}.rw span{display:inline-block;animation:wi .6s both}@keyframes wi{from{opacity:0;transform:translateY(.35em)}}
.btn-wa{background:#25d366;color:#04210f;font-weight:800;border:0;border-radius:2rem;padding:.8rem 1.5rem}.btn-wa:hover{background:#1fb858;color:#04210f}
/* service thumbnails */
.sec-dark{background:var(--navy);color:#fff;position:relative;overflow:hidden;isolation:isolate}
.sec-dark::before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(#ffffff0a 1px,transparent 1px),linear-gradient(90deg,#ffffff0a 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(circle at 50% 0,#000,transparent 75%)}
.sec-dark .lm{color:#aebce0}
.sc2{position:relative;display:block;height:100%;border-radius:1.4rem;background:linear-gradient(180deg,#0b1f4d,#071a44);border:1px solid #1d3a82;overflow:hidden;text-decoration:none;color:#fff;transition:transform .35s,box-shadow .35s,border-color .35s}
.sc2:hover{transform:translateY(-8px);border-color:var(--cy);box-shadow:0 26px 60px rgba(34,211,238,.18);color:#fff}
.th{height:170px;position:relative;overflow:hidden;display:grid;place-items:center}
.th::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(7,26,68,.7))}
.th>div{position:relative;z-index:1}.tn{position:absolute;z-index:2;top:12px;left:14px;font-weight:800;font-size:.78rem;background:rgba(3,13,38,.55);padding:.15rem .65rem;border-radius:2rem}
.t1{background:linear-gradient(135deg,#0d3b9e,#2e7cf6)}.t2{background:linear-gradient(135deg,#7a2ee6,#e0489b)}.t3{background:linear-gradient(135deg,#1c3fd6,#8b5cf6)}.t4{background:linear-gradient(135deg,#0b7a8a,#22d3ee)}.t5{background:linear-gradient(135deg,#7f1020,#e11d48)}.t6{background:linear-gradient(135deg,#0b6b3a,#25d366)}
.sc2 .bd2{padding:1.4rem 1.5rem 1.6rem}.sc2 h3{font-size:1.2rem}.sc2 p{color:#aebce0;font-size:.95rem;margin:0 0 1rem}.sc2 .from{color:#aebce0;font-size:.85rem}.sc2 .from b{color:var(--cy);font-size:1.1rem}
.sc2 .go{display:inline-flex;gap:.4rem;font-weight:700;color:var(--sky);margin-top:.5rem}.sc2 .go span{transition:transform .3s}.sc2:hover .go span{transform:translateX(6px)}
.m1{position:relative;width:78%;height:122px}.m1 i{position:absolute;left:0;right:0;height:26px;border-radius:8px;background:rgba(255,255,255,.2)}.m1 i:nth-child(1){top:0}.m1 i:nth-child(2){top:32px}.m1 i:nth-child(3){top:64px}
.m1 i.hl{top:96px;background:#fff;box-shadow:0 0 0 2px var(--cy);z-index:2;animation:climb 4.5s ease-in-out infinite}.m1 i.hl::after{content:"#1  Your brand";position:absolute;left:10px;top:5px;font-size:.72rem;font-weight:800;color:#0a1230;font-style:normal}
@keyframes climb{0%,15%{top:96px}50%,85%{top:0}100%{top:96px}}
.m2{position:relative;width:120px;height:132px}.m2 .pc{background:#fff;border-radius:.8rem;padding:.5rem;height:100%}.m2 .pa{width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,#22d3ee,#8b5cf6)}.m2 .pi{height:66px;border-radius:.5rem;background:linear-gradient(135deg,#2e7cf6,#8b5cf6);margin-top:.5rem}
.m2 .h{position:absolute;right:-10px;bottom:20px;color:#fff;font-size:1.3rem;animation:hf2 2.4s infinite;opacity:0}.m2 .h2{animation-delay:.8s;right:12px}.m2 .h3{animation-delay:1.6s;right:-26px}
@keyframes hf2{0%{opacity:0;transform:translateY(0)}20%{opacity:1}100%{opacity:0;transform:translateY(-74px) scale(1.5)}}
.m3{position:relative;width:132px;height:132px}.m3 u{position:absolute;inset:calc(var(--s)*1px);border:3px solid rgba(255,255,255,.55);border-radius:50%;animation:rp3 2.4s infinite;text-decoration:none}.m3 s{position:absolute;left:50%;top:50%;width:18px;height:18px;margin:-9px;border-radius:50%;background:#fff;box-shadow:0 0 18px #fff;animation:pu 1.6s infinite}
@keyframes rp3{50%{transform:scale(1.1);border-color:#fff}}@keyframes pu{50%{transform:scale(1.1)}}
.m4{width:80%}.m4 .q{background:#fff;color:#111;border-radius:2rem;padding:.45rem .9rem;font-size:.8rem;font-weight:700;white-space:nowrap}.m4 .q span{display:inline-block;overflow:hidden;width:0;animation:ty4 4s steps(20) infinite;vertical-align:bottom}@keyframes ty4{0%{width:0}60%,100%{width:150px}}
.m4 .ad{margin-top:.6rem;background:rgba(255,255,255,.95);color:#0a1230;border-radius:.6rem;padding:.4rem .7rem;font-size:.72rem;font-weight:700;animation:pu 2s infinite}.m4 .ad b{background:#0a1230;color:#fff;border-radius:.3rem;padding:0 .35rem;margin-right:.4rem}
.m5{text-align:center}.m5 .pl{width:86px;height:60px;border-radius:16px;background:#ff2d3d;color:#fff;display:grid;place-items:center;font-size:1.6rem;margin:0 auto;animation:pu 2s infinite;box-shadow:0 10px 30px rgba(0,0,0,.35)}.m5 .pr{width:140px;height:5px;background:rgba(255,255,255,.3);border-radius:3px;margin:1.1rem auto 0;overflow:hidden}.m5 .pr span{display:block;height:100%;background:#fff;animation:fl 4s linear infinite}@keyframes fl{from{width:0}to{width:100%}}
.m6{width:70%}.m6 p{margin:0 0 .45rem;background:#fff;color:#111;border-radius:1rem 1rem 1rem .2rem;padding:.4rem .8rem;font-size:.78rem;font-weight:600;width:max-content;opacity:0;animation:bb 6s infinite}.m6 p.o{background:#dcf8c6;margin-left:auto;border-radius:1rem 1rem .2rem 1rem;animation-delay:1.2s}.m6 p:nth-child(3){animation-delay:2.4s}
@keyframes bb{0%{opacity:0;transform:translateY(10px) scale(.9)}8%,70%{opacity:1;transform:none}85%,100%{opacity:0}}
/* footer */
.ft{background:#020a1c;color:#9fb0d8;padding:0;position:relative}
.ft-top{background:linear-gradient(120deg,#0b3aa8,var(--blue),var(--vi));background-size:200% 200%;animation:gs 12s ease infinite;color:#fff;padding:2.2rem 0}
.ft-top .btn-light{font-weight:700;border-radius:2rem;padding:.75rem 1.6rem}
.ft a{color:#cfe0ff;text-decoration:none}.ft a:hover{color:#fff;text-decoration:underline}
.ft h3{font-size:.95rem;color:#fff;text-transform:uppercase;letter-spacing:.08em;margin-bottom:1rem}.ft ul{list-style:none;padding:0;margin:0}.ft li{margin-bottom:.55rem}
.ft .brandcol img{height:44px;width:auto}.ft .badge2{display:inline-block;border:1px solid #1d3a82;border-radius:2rem;padding:.25rem .8rem;margin:0 .4rem .5rem 0;font-size:.78rem;color:#cfe0ff}
.ft .ci{display:flex;gap:.7rem;margin-bottom:.9rem}.ft .ci span:first-child{width:34px;height:34px;border-radius:10px;background:#0b1f4d;display:grid;place-items:center;flex:none}
.ft-bot{border-top:1px solid #12285c;padding:1.2rem 0;font-size:.85rem}
.fam{display:block;height:100%;padding:1.6rem;border:1px solid var(--line);border-radius:1.2rem;background:#fff;text-decoration:none;color:var(--ink);transition:transform .3s,box-shadow .3s,border-color .3s}.fam:hover{transform:translateY(-6px);border-color:var(--blue);box-shadow:0 20px 40px rgba(46,124,246,.15);color:var(--ink)}.fam p{color:var(--muted);margin:0}.fam .ico{margin-bottom:1rem}
/* SEO page visuals */
.flow{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;text-align:center}
.flow::before{content:"";position:absolute;top:39px;left:10%;right:10%;height:3px;background:linear-gradient(90deg,var(--blue),var(--cy));opacity:.35}
.dotm{position:absolute;top:32px;left:10%;width:17px;height:17px;border-radius:50%;background:var(--cy);box-shadow:0 0 18px var(--cy);animation:travel 8s linear infinite}@keyframes travel{from{left:10%}to{left:90%}}
.fn .c{position:relative;width:80px;height:80px;margin:0 auto .8rem;border-radius:50%;background:#fff;border:2px solid var(--line);display:grid;place-items:center;font-size:2rem;animation:lit 8s infinite;animation-delay:calc(var(--k)*2s - .4s)}
@keyframes lit{0%,18%{border-color:var(--blue);box-shadow:0 0 0 10px rgba(46,124,246,.16);transform:scale(1.1)}24%,100%{border-color:var(--line);box-shadow:none;transform:none}}
.fn b{display:block}.fn small{color:var(--muted)}
.tabs{display:flex;flex-direction:column;gap:.6rem}
.tb{position:relative;display:flex;gap:1rem;text-align:left;border:1px solid var(--line);background:#fff;border-radius:1rem;padding:.9rem 1.1rem;overflow:hidden;color:var(--ink);transition:border-color .3s,box-shadow .3s}
.tb>span{font-weight:800;color:var(--blue)}.tb small{display:block;color:var(--muted);max-height:0;overflow:hidden;transition:max-height .4s}.tb.on{border-color:var(--blue);box-shadow:0 14px 34px rgba(46,124,246,.14)}.tb.on small{max-height:60px}
.tb .pb{position:absolute;left:0;bottom:0;height:3px;width:0;background:linear-gradient(90deg,var(--blue),var(--cy))}.tb.on .pb{animation:fill 6.5s linear forwards}@keyframes fill{to{width:100%}}
.vis2{position:relative;height:440px;border-radius:1.5rem;background:linear-gradient(160deg,#0b1f4d,#06143a);border:1px solid #1d3a82;overflow:hidden;box-shadow:0 30px 70px rgba(3,13,38,.35)}
.sn{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .5s;display:grid;place-items:center;padding:1.2rem}.sn.on{opacity:1;visibility:visible}
.smp{position:absolute;right:14px;bottom:10px;font-size:.72rem;color:#7f93c4;z-index:3}
.wf{position:relative;width:min(340px,86%);height:310px;background:#fff;border-radius:1rem;padding:1rem;overflow:hidden}
.wf .l{height:10px;border-radius:5px;background:#e6ebf7;margin-bottom:10px}.wf .l.h{height:20px;width:55%;background:#cfd9f2}.wf .ig{height:70px;border-radius:.6rem;background:#e6ebf7;margin:.6rem 0}
.scan{position:absolute;left:0;right:0;height:3px;top:0;background:var(--cy);box-shadow:0 0 18px 6px rgba(34,211,238,.6);z-index:3}.sn.on .scan{animation:scn 2.6s ease-in-out 2}@keyframes scn{50%{top:100%}100%{top:0}}
.is{position:absolute;right:10px;font-size:.72rem;font-weight:700;padding:.25rem .7rem;border-radius:2rem;white-space:nowrap;opacity:0;z-index:4}.is.bad{background:#ff5470;color:#fff}.is.ok{background:#22c55e;color:#04210f}
.sn.on .is.bad{animation:isb 5.5s var(--d) forwards}.sn.on .is.ok{animation:iso 5.5s var(--d) forwards}
@keyframes isb{0%{opacity:0;transform:translateX(20px)}10%,45%{opacity:1;transform:none}55%,100%{opacity:0}}@keyframes iso{0%,50%{opacity:0;transform:scale(.6)}60%,100%{opacity:1;transform:none}}
.kw{position:absolute;padding:.4rem .9rem;border-radius:2rem;background:rgba(255,255,255,.1);border:1px solid #2a4ea8;color:#cfe0ff;font-weight:700;animation:bob 5s ease-in-out infinite}
.kw.t::after{content:" ✓";opacity:0}.sn.on .kw.t{animation:bob 5s ease-in-out infinite,pk 6s var(--d) forwards}.sn.on .kw.t::after{animation:ck 6s var(--d) forwards}
@keyframes pk{0%,35%{background:rgba(255,255,255,.1)}50%,100%{background:#22c55e;color:#04210f;border-color:#22c55e}}@keyframes ck{0%,35%{opacity:0}50%,100%{opacity:1}}
.pgw{width:min(350px,88%);background:#fff;border-radius:1rem;padding:1rem;color:#111}
.hx{position:relative;border-radius:.6rem;padding:.45rem .55rem;margin-bottom:.9rem}.hx .lb{position:absolute;right:.4rem;top:-.75rem;background:var(--blue);color:#fff;font-size:.68rem;font-weight:700;padding:.1rem .6rem;border-radius:2rem;opacity:0}
.sn.on .hx{animation:hxg 2s var(--d) forwards}.sn.on .hx .lb{animation:pp .5s var(--d) forwards}
@keyframes hxg{0%{box-shadow:none}30%,100%{box-shadow:0 0 0 3px var(--blue);background:rgba(46,124,246,.08)}}@keyframes pp{from{opacity:0;transform:scale(.5)}to{opacity:1;transform:none}}
.hx .t{color:#1a0dab;font-weight:700;font-size:.9rem}.hx .u{color:#188038;font-size:.7rem}.hx .d{color:#555;font-size:.72rem}.hx .h1x{font-weight:800;font-size:1.2rem}.hx .imgx{height:46px;border-radius:.5rem;background:linear-gradient(135deg,#cfe0ff,#e6ebf7)}.hx a{font-weight:600;font-size:.85rem}
@property --n{syntax:'<integer>';initial-value:42;inherits:false}@property --m{syntax:'<integer>';initial-value:12;inherits:false}
.tech{display:flex;align-items:center;gap:1.6rem;flex-wrap:wrap;justify-content:center;color:#fff}
.ring2{position:relative;width:170px;height:170px}.ring2 svg{transform:rotate(-90deg);width:100%;height:100%}.ring2 circle{fill:none;stroke-width:12;stroke-linecap:round}.ring2 .bg{stroke:#1d3a82}.ring2 .fg{stroke:var(--cy);stroke-dasharray:440;stroke-dashoffset:255}
.sn.on .fg{animation:rg 3.2s .3s ease-out forwards}@keyframes rg{to{stroke-dashoffset:18}}
.sc-n{position:absolute;inset:0;display:grid;place-items:center;font-size:2.6rem;font-weight:800;counter-reset:n var(--n)}.sc-n::after{content:counter(n)}.sn.on .sc-n{animation:cn 3.2s .3s ease-out forwards}@keyframes cn{to{--n:var(--to,96)}}
.ck{list-style:none;padding:0;margin:0}.ck li{opacity:0;padding:.3rem 0;font-weight:600}.ck li::before{content:"✓";color:#22c55e;font-weight:800;margin-right:.6rem}.sn.on .ck li{animation:lii .5s var(--d) forwards}@keyframes lii{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:none}}
.net{width:min(360px,92%);color:#fff;text-align:center}.net svg{width:100%;height:auto}
.lk{stroke:var(--sky);stroke-width:2;stroke-dasharray:130;stroke-dashoffset:130}.sn.on .lk{animation:draw 1s var(--d) forwards}
.nd{fill:#0b2a6b;stroke:var(--cy);stroke-width:2;transform-box:fill-box;transform-origin:center;transform:scale(0)}.sn.on .nd{animation:pp2 .5s var(--d) forwards}@keyframes pp2{to{transform:scale(1)}}
.tx{font-size:18px;text-anchor:middle;dominant-baseline:central}
.trust{font-size:1rem;color:#aebce0}.trust b{font-size:2rem;color:#fff;counter-reset:m var(--m)}.trust b::after{content:counter(m)}.sn.on .trust b{animation:cm 3s .4s ease-out forwards}@keyframes cm{to{--m:64}}
.map{position:relative;width:min(350px,88%);height:310px;border-radius:1rem;background:#dfe8f7;background-image:linear-gradient(#fff9 2px,transparent 2px),linear-gradient(90deg,#fff9 2px,transparent 2px);background-size:46px 46px;overflow:hidden}
.pin{position:absolute;left:50%;top:42%;font-size:2.6rem;opacity:0;transform:translate(-50%,-300%)}.sn.on .pin{animation:drop 1s .3s cubic-bezier(.3,1.6,.5,1) forwards}@keyframes drop{to{transform:translate(-50%,-50%);opacity:1}}
.rip{position:absolute;left:50%;top:42%;width:20px;height:20px;border-radius:50%;border:3px solid var(--blue);opacity:0}.sn.on .rip{animation:rp 2s 1.1s ease-out infinite}@keyframes rp{0%{opacity:.8;transform:translate(-50%,-50%) scale(0)}100%{opacity:0;transform:translate(-50%,-50%) scale(8)}}
.lc{position:absolute;left:.8rem;right:.8rem;bottom:.8rem;background:#fff;border-radius:.8rem;padding:.6rem .9rem;color:#111;font-size:.82rem;transform:translateY(130%)}.sn.on .lc{animation:up3 .6s 1.3s forwards}@keyframes up3{to{transform:none}}
.chartx{width:100%;height:auto}.ln2{fill:none;stroke:var(--blue);stroke-width:4;stroke-dasharray:1200;stroke-dashoffset:1200}.rv.in .ln2{animation:draw 3s .3s forwards}
.ms{fill:#fff;stroke:var(--blue);stroke-width:4;transform-box:fill-box;transform-origin:center;transform:scale(0)}.rv.in .ms{animation:pp2 .5s var(--d) forwards}.mt{font-size:15px;font-weight:700;fill:#0a1230;opacity:0}.rv.in .mt{animation:lii .6s var(--d) forwards}
.pstep{position:relative;padding:1.4rem;border-radius:1.2rem;background:#fff;border:1px solid var(--line);height:100%;text-align:center}.pstep .em{width:62px;height:62px;border-radius:50%;background:linear-gradient(135deg,var(--navy),#12327f);display:grid;place-items:center;font-size:1.6rem;margin:0 auto .8rem;color:#fff}.pstep .num{color:var(--blue);font-weight:800}
.sp thead th{background:var(--navy);color:#fff;border:0}.sp td,.sp th{padding:1rem .9rem;vertical-align:middle}.sp tbody tr{border-bottom:1px solid var(--line)}.sp .pp{font-size:1.6rem;font-weight:800}.sp .pop{display:inline-block;background:var(--blue);color:#fff;font-size:.7rem;font-weight:700;border-radius:2rem;padding:.1rem .6rem;margin-left:.4rem;vertical-align:middle}
.fullt .grp th{background:var(--navy);color:#fff}.fullt td,.fullt th{text-align:center}.fullt td:first-child,.fullt th:first-child{text-align:left}
.wac{display:flex;gap:1rem;align-items:center;padding:1.2rem;border:1px solid var(--line);border-radius:1.2rem;background:#fff;margin-bottom:1rem}.wac .ico{margin:0;flex:none}
@media(max-width:991px){.vis2{height:400px}}
@media(max-width:767px){.flow{grid-template-columns:1fr 1fr}.flow::before,.dotm{display:none}.tech{gap:1rem}}
.sec-dark .eyebrow{color:var(--sky)}
.ft .btn-light{color:#0a1230}.ft .btn-wa{color:#04210f}.ft a.btn:hover{text-decoration:none}.ft .ci span:last-child{overflow-wrap:anywhere}
.btn-d{border:2px solid var(--navy);color:var(--navy);font-weight:700;padding:.7rem 1.5rem;border-radius:2rem;background:transparent}.btn-d:hover{background:var(--navy);color:#fff}
/* ===== v4: shared service-page components ===== */
@property --k{syntax:'<integer>';initial-value:0;inherits:false}@property --q{syntax:'<integer>';initial-value:5;inherits:false}
.cnt{counter-reset:k var(--k);animation:cc 4s ease-out infinite alternate}.cnt::after{content:counter(k) attr(data-s)}
.sn .cnt{animation:none}.sn.on .cnt{animation:cc 3s .3s ease-out forwards}@keyframes cc{from{--k:0}to{--k:var(--to)}}
.cdn{counter-reset:q var(--q)}.cdn::after{content:counter(q)}.sn.on .cdn{animation:cdq 5s linear infinite}@keyframes cdq{from{--q:5}to{--q:0}}
.kw.n::after{content:" ✕";opacity:0}.sn.on .kw.n{animation:bob 5s ease-in-out infinite,pn 6s var(--d) forwards}.sn.on .kw.n::after{animation:ck 6s var(--d) forwards}
@keyframes pn{0%,35%{background:rgba(255,255,255,.1)}50%,100%{background:#ff5470;color:#fff;border-color:#ff5470;text-decoration:line-through}}
.dash{width:min(410px,92%);color:#fff}.kps{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-bottom:1rem}.kp{background:rgba(255,255,255,.07);border:1px solid #2a4ea8;border-radius:.9rem;padding:.7rem}.kp small{color:#9fb0d8;font-size:.7rem;display:block}.kp b{font-size:1.5rem}
.bars{display:flex;align-items:flex-end;gap:8px;height:150px}.bars i{flex:1;height:0;border-radius:.4rem .4rem 0 0;background:linear-gradient(180deg,var(--cy),var(--blue));transition:height 1s cubic-bezier(.2,.8,.2,1) calc(var(--k)*.1s)}.sn.on .bars i{height:var(--h)}
.cal{width:min(390px,92%);color:#fff}.cal .wd,.cal .d{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cal .wd{font-size:.7rem;color:#9fb0d8;text-align:center;margin-bottom:6px}.cal .d i{height:46px;border-radius:.6rem;background:rgba(255,255,255,.07);display:grid;place-items:center;font-style:normal;font-size:1.2rem}
.cal .d i.p::after{content:attr(data-e);opacity:0}.sn.on .cal .d i.p{animation:cell .5s var(--d) forwards}.sn.on .cal .d i.p::after{animation:lii .4s var(--d) forwards}@keyframes cell{to{background:linear-gradient(135deg,#2e7cf6,#8b5cf6)}}
.plats{display:grid;grid-template-columns:1fr 1fr;gap:1rem;width:min(370px,92%)}.pl2{background:rgba(255,255,255,.08);border:1px solid #2a4ea8;border-radius:1rem;padding:1rem;color:#fff;text-align:center}.pl2 .e{font-size:2rem}.pl2 b{display:block}.stt{position:relative;height:26px;margin-top:.5rem}.stt .is{position:absolute;left:0;right:0;margin:auto;width:max-content;top:0}.is.warn{background:#fbbf24;color:#3b2a00}
.stt .is.warn{opacity:1}.sn.on .stt .is.warn{animation:isb 5.5s var(--d) forwards}
.reach{position:relative;width:260px;height:260px;display:grid;place-items:center;color:#fff}.reach .c0{width:72px;height:72px;border-radius:50%;background:var(--blue);display:grid;place-items:center;font-size:1.8rem;z-index:2;box-shadow:0 0 30px var(--blue)}.reach u{position:absolute;inset:0;margin:auto;width:72px;height:72px;border:2px solid var(--sky);border-radius:50%;opacity:0;text-decoration:none}.sn.on .reach u{animation:rr 3s var(--d) infinite}@keyframes rr{0%{width:72px;height:72px;opacity:.9}100%{width:260px;height:260px;opacity:0}}.reach .pp2{position:absolute;font-size:1.4rem;opacity:0}.sn.on .reach .pp2{animation:pp .5s var(--d) forwards}
.rc{text-align:center;color:#aebce0;margin-top:.8rem}.rc b{display:block;font-size:2.2rem;color:#fff}
.pdg{display:grid;grid-template-columns:repeat(9,1fr);gap:8px;width:min(360px,92%);margin-bottom:1rem}.pdg i{aspect-ratio:1;border-radius:50%;background:rgba(255,255,255,.18)}.sn.on .pdg i.m{animation:pdm .5s var(--d) forwards}@keyframes pdm{to{background:var(--cy);box-shadow:0 0 12px var(--cy);transform:scale(1.25)}}
.cx{display:inline-block;margin:.2rem;background:rgba(255,255,255,.1);border:1px solid #2a4ea8;border-radius:2rem;padding:.2rem .8rem;font-size:.78rem;font-weight:700;color:#cfe0ff;opacity:0}.sn.on .cx{animation:lii .5s var(--d) forwards}
.abx{display:flex;gap:.8rem;width:min(410px,94%);align-items:flex-end;color:#fff}.abx .a{flex:1;background:rgba(255,255,255,.08);border:1px solid #2a4ea8;border-radius:1rem;padding:.7rem;text-align:center;position:relative}.abx .im{height:64px;border-radius:.6rem;margin-bottom:.5rem}.abx .br{height:90px;display:flex;align-items:flex-end;justify-content:center}.abx .br i{width:26px;height:0;background:linear-gradient(180deg,var(--cy),var(--blue));border-radius:.4rem .4rem 0 0;transition:height 1.2s .4s}.sn.on .abx .br i{height:var(--h)}
.wn{position:absolute;top:-12px;left:50%;transform:translateX(-50%) scale(0);background:#fbbf24;color:#3b2a00;font-weight:800;font-size:.7rem;padding:.1rem .7rem;border-radius:2rem;white-space:nowrap}.sn.on .wn{animation:pop3 .5s 2.2s forwards}@keyframes pop3{to{transform:translateX(-50%) scale(1)}}
.bud{width:min(390px,92%);color:#fff}.bud .bx2{margin-bottom:1.3rem}.bud .tr{height:24px;border-radius:2rem;background:rgba(255,255,255,.1);overflow:hidden;margin-top:.3rem}.bud .tr i{display:block;height:100%;border-radius:2rem;width:50%}.bud .lo i{background:#ff5470}.bud .hi i{background:#22c55e}.sn.on .bud .lo i{animation:shr 3s .6s forwards}.sn.on .bud .hi i{animation:grw 3s .6s forwards}@keyframes shr{to{width:18%}}@keyframes grw{to{width:82%}}
.chain{display:flex;justify-content:space-between;width:min(430px,94%);position:relative;color:#fff}.chain::before{content:"";position:absolute;top:28px;left:40px;right:40px;height:3px;background:#2a4ea8}.chain .dm{position:absolute;top:21px;left:40px;width:16px;height:16px;border-radius:50%;background:var(--cy);box-shadow:0 0 14px var(--cy)}.sn.on .chain .dm{animation:tr2 3.6s linear infinite}@keyframes tr2{to{left:calc(100% - 56px)}}
.cn{position:relative;text-align:center;width:80px;font-size:.72rem;font-weight:600}.cn .c3{width:56px;height:56px;border-radius:50%;background:#0b2a6b;border:2px solid #2a4ea8;display:grid;place-items:center;font-size:1.5rem;margin:0 auto .4rem}.sn.on .cn .c3{animation:lit2 3.6s infinite;animation-delay:calc(var(--k)*1.2s - .6s)}@keyframes lit2{0%,22%{border-color:var(--cy);box-shadow:0 0 18px var(--cy);transform:scale(1.14)}32%,100%{border-color:#2a4ea8;box-shadow:none;transform:none}}
.rmk{display:flex;align-items:center;gap:1rem;width:min(430px,94%);color:#fff}.rmk .site{flex:none;width:112px;background:#fff;border-radius:.8rem;padding:.7rem;color:#111;font-size:.72rem;text-align:center;font-weight:700}.rmk .walker{display:block;font-size:2rem;animation:wk 4s infinite}@keyframes wk{0%{transform:translateX(0)}70%,100%{transform:translateX(70px);opacity:.2}}.rmk .pgs{display:grid;gap:.6rem;flex:1}.rmk .pgs>div{background:rgba(255,255,255,.08);border:1px solid #2a4ea8;border-radius:.7rem;padding:.5rem;font-size:.7rem}.rmk .ad2{margin-top:.3rem;background:#fff;color:#111;border-radius:.4rem;padding:.2rem .5rem;font-weight:700;opacity:0}.sn.on .rmk .ad2{animation:pp .5s var(--d) forwards}
.nts{width:min(350px,92%)}.nt{background:#fff;color:#111;border-radius:.9rem;padding:.7rem .9rem;margin-bottom:.7rem;display:flex;gap:.7rem;align-items:center;font-size:.84rem;font-weight:600;opacity:0}.nt i{font-size:1.4rem;font-style:normal}.sn.on .nt{animation:slin .6s var(--d) forwards}@keyframes slin{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:none}}
.bkg{display:grid;grid-template-columns:repeat(8,1fr);gap:8px;width:min(340px,90%);margin-bottom:.8rem}.bkg i{aspect-ratio:.6;border-radius:.4rem;background:rgba(255,255,255,.16)}.sn.on .bkg i{animation:dl .4s var(--d) forwards}@keyframes dl{to{background:#25d366;box-shadow:0 0 10px #25d366}}
.ply{width:min(390px,92%);color:#fff}.ply .scr{aspect-ratio:16/9;border-radius:1rem;background:linear-gradient(135deg,#e11d48,#7a2ee6);position:relative;display:grid;place-items:center;overflow:hidden}.ply .scr b{font-size:2.6rem}.ply .tl{height:5px;background:rgba(255,255,255,.3);border-radius:3px;margin:.7rem 0;overflow:hidden}.ply .tl i{display:block;height:100%;width:0;background:#ff2d3d;animation:fl 6s linear infinite}.ply .stx{display:flex;gap:1.2rem;font-size:.85rem;color:#cbd5f5}.ply .stx b{color:#fff;font-size:1.1rem}
.skip{position:absolute;right:10px;bottom:10px;background:rgba(0,0,0,.75);border-radius:.4rem;padding:.2rem .7rem;font-size:.75rem;font-weight:700}.adtag{position:absolute;left:10px;top:10px;background:#fbbf24;color:#3b2a00;border-radius:.4rem;padding:.1rem .6rem;font-size:.72rem;font-weight:800}
/* hero devices */
.hph{position:relative;width:236px;height:430px;border-radius:2rem;border:6px solid #1a2f6b;background:#0a1740;padding:.8rem;color:#fff;margin:auto}
.hph .img{height:190px}.hh{position:absolute;bottom:100px;color:#ff4d79;font-size:1.4rem;opacity:0;animation:hfl 2.6s infinite}@keyframes hfl{0%{opacity:0;transform:translateY(0)}15%{opacity:1}100%{opacity:0;transform:translateY(-240px) scale(1.5)}}
.cmt{position:absolute;background:#fff;color:#111;border-radius:1rem;padding:.35rem .8rem;font-size:.75rem;font-weight:700;opacity:0;animation:cmt 7s infinite;white-space:nowrap}@keyframes cmt{0%,100%{opacity:0;transform:scale(.4)}10%,45%{opacity:1;transform:none}60%{opacity:0}}
.wah{background:#075e54;margin:-.8rem -.8rem .8rem;padding:.7rem .9rem;font-weight:700;display:flex;gap:.5rem;align-items:center}.cb{margin:0 0 .55rem;background:#fff;color:#111;border-radius:1rem 1rem 1rem .2rem;padding:.45rem .8rem;font-size:.78rem;font-weight:600;width:max-content;max-width:90%;opacity:0;animation:bb 10s infinite}.cb.o{background:#dcf8c6;margin-left:auto;border-radius:1rem 1rem .2rem 1rem}
.rg2{position:absolute;left:50%;top:50%;width:260px;height:260px;border:2px solid rgba(138,185,255,.5);border-radius:50%;animation:rg3 3s infinite}@keyframes rg3{0%{transform:translate(-50%,-50%) scale(.6);opacity:.9}100%{transform:translate(-50%,-50%) scale(1.9);opacity:0}}
.adc{position:relative;z-index:2;width:262px;background:#fff;color:#111;border-radius:1.2rem;padding:.9rem;box-shadow:0 30px 60px rgba(0,0,0,.4)}.adc .av2{font-size:.78rem;font-weight:700;margin-bottom:.6rem;display:flex;gap:.5rem;align-items:center}.adc .av2 i{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#22d3ee,#8b5cf6)}.adc .im2{height:150px;border-radius:.8rem;background:linear-gradient(135deg,#2e7cf6,#8b5cf6,#22d3ee);background-size:200% 200%;animation:gs 6s infinite}.adc b{display:block;margin:.6rem 0 .5rem}.adc .cta2{display:block;text-align:center;background:var(--blue);color:#fff;border-radius:2rem;padding:.5rem;font-weight:700;animation:pu 1.8s infinite}
.hv{position:relative;display:flex;justify-content:center;align-items:center;min-height:430px}.hv .fl b.cnt::after{font-size:inherit}
.ply .scr .skip b{font-size:inherit}
/* ===== v5 ===== */
.hl2{white-space:nowrap}.hero h1.h-home{font-size:clamp(1.9rem,3.7vw,3.2rem);line-height:1.08}
.rw-i{display:inline-block;color:var(--sky);text-shadow:0 0 30px rgba(34,211,238,.35)}.rw-i span{display:inline-block;animation:wi .6s both}
.sec-sm{padding:3rem 0}.chartx{display:block;max-width:900px;margin:0 auto}
.content-sec{padding:4.5rem 0}.prose p{color:#2c3658;font-size:1.05rem;line-height:1.85}.prose h3{font-size:1.35rem;margin:2rem 0 .6rem}.prose a{font-weight:600;text-decoration:underline;text-underline-offset:3px}
.side{position:sticky;top:100px;border:1px solid var(--line);border-radius:1.2rem;padding:1.5rem;background:#fff}.side h3{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 .8rem}.side ul{list-style:none;padding:0;margin:0 0 1.5rem}.side li{padding:.45rem 0;border-bottom:1px dashed var(--line)}.side li:last-child{border:0}.side a{font-weight:700;text-decoration:none}.side a:hover{text-decoration:underline}.side small{display:block;color:var(--muted)}
.skip-link{position:absolute;left:-999px;top:8px;z-index:3000;background:#fff;color:#000;padding:.5rem 1rem;border-radius:.5rem}.skip-link:focus{left:8px}
/* AI SEO */
.m7{width:78%}.m7 p{margin:0 0 .45rem;border-radius:1rem;padding:.4rem .8rem;font-size:.76rem;font-weight:600;width:max-content;max-width:100%;opacity:0;animation:bb 6s infinite}.m7 .u{background:rgba(255,255,255,.25);color:#fff;margin-left:auto}.m7 .a{background:#fff;color:#111;animation-delay:1.2s}.m7 .c{background:#fff;color:#111;box-shadow:0 0 0 2px #fbbf24;animation-delay:2.4s}.t7{background:linear-gradient(135deg,#4b1fa8,#2e7cf6)}
.aih{width:min(380px,100%);color:#fff;margin:auto;background:rgba(11,31,77,.7);border:1px solid #1d3a82;border-radius:1.4rem;padding:1.1rem}.aib{border-radius:1rem;padding:.7rem 1rem;margin-bottom:.7rem;font-size:.88rem;opacity:0;animation:aiin 10s infinite}.aib.u{background:#2e7cf6;width:max-content;max-width:92%;margin-left:auto}.aib.a{background:#fff;color:#111;animation-delay:1.2s}.aib.a b{display:block;color:#4b1fa8;margin-bottom:.4rem}
.ail{padding:.3rem .5rem;border-radius:.5rem;opacity:0;animation:aiin 10s infinite;animation-delay:var(--d)}.ail.me{background:#fff7d6;box-shadow:0 0 0 2px #fbbf24;font-weight:700}.ail.me span{background:#fbbf24;color:#3b2a00;border-radius:2rem;padding:.05rem .5rem;font-size:.68rem;margin-left:.4rem}
@keyframes aiin{0%{opacity:0;transform:translateY(10px)}6%,82%{opacity:1;transform:none}94%,100%{opacity:0}}
.aic{width:min(410px,92%)}.aic .b{border-radius:1rem;padding:.7rem 1rem;margin-bottom:.7rem;font-size:.85rem;opacity:0}.aic .b.u{background:#2e7cf6;color:#fff;margin-left:auto;width:max-content;max-width:92%}.aic .b.a{background:#fff;color:#111}.aic .b.a div{padding:.15rem 0}.sn.on .aic .b{animation:slin .6s var(--d) forwards}
.engs{width:min(410px,92%);color:#fff}.eg{display:flex;align-items:center;gap:.8rem;margin-bottom:1.1rem;opacity:0}.sn.on .eg{animation:slin .6s var(--d) forwards}.eg .nm{width:96px;font-weight:700}.eg .tr2{flex:1;height:14px;background:rgba(255,255,255,.12);border-radius:2rem;overflow:hidden}.eg .tr2 i{display:block;height:100%;width:0;border-radius:2rem;background:linear-gradient(90deg,var(--blue),var(--cy));transition:width 1.4s calc(var(--dd) + .3s)}.sn.on .eg .tr2 i{width:var(--w)}.eg small{width:74px;color:#9fb0d8;text-align:right}
@media(max-width:575px){.hero h1.h-home{font-size:1.85rem}.content-sec{padding:3rem 0}.side{position:static}}
.hero h1{font-size:clamp(1.9rem,3.7vw,3.2rem)}.hero h1.h-home{font-size:clamp(1.9rem,3.7vw,3.2rem)}
.chartx{max-width:780px}.sec-sm{padding:2.2rem 0}
body{overflow-x:clip}@media(max-width:767px){.row{--bs-gutter-x:1.5rem}}
.sec-sm .st{font-size:clamp(1.5rem,2.6vw,2rem)}
