/* Weblify PK motion layer */
.pkbar{position:fixed;top:0;left:0;right:0;height:3px;z-index:9999;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,#1E6BFF,#22C3EE,#16A34A);pointer-events:none}

.pkblobs{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.pkblobs i{position:absolute;border-radius:50%;filter:blur(60px);opacity:.38;will-change:transform}
.pkblobs i:nth-child(1){width:420px;height:420px;left:-120px;top:10%;background:#22C3EE;animation:pkb1 16s ease-in-out infinite alternate}
.pkblobs i:nth-child(2){width:360px;height:360px;right:-80px;top:-60px;background:#1E6BFF;opacity:.22;animation:pkb2 19s ease-in-out infinite alternate}
.pkblobs i:nth-child(3){width:300px;height:300px;left:40%;bottom:-120px;background:#16A34A;opacity:.16;animation:pkb3 22s ease-in-out infinite alternate}
@keyframes pkb1{to{transform:translate(160px,80px) scale(1.15)}}
@keyframes pkb2{to{transform:translate(-140px,120px) scale(.9)}}
@keyframes pkb3{to{transform:translate(120px,-90px) scale(1.2)}}
.pk .hx>.wrap,.pk .hx>*:not(.pkblobs):not(.hxglow){position:relative;z-index:1}

.pk .pkfade{opacity:0;transform:translateY(18px);filter:blur(6px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.8,.2,1),filter .9s ease}
.pk .pkin .pkfade{opacity:1;transform:none;filter:none}
.pk .pkin .lead.pkfade{transition-delay:.35s}

.pkh .pkw{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em;margin-bottom:-.1em}
.pkh .pkw>i{display:inline-block;font-style:normal;transform:translateY(110%) rotate(4deg);transform-origin:left bottom;opacity:0;transition:transform .8s cubic-bezier(.2,.8,.2,1),opacity .5s ease;transition-delay:calc(var(--k)*60ms)}
.pkh.pkgo .pkw>i{transform:none;opacity:1}
html.jsr h2.pkh.rvj{opacity:1!important;transform:none!important}

.pk img.pkimg{clip-path:inset(0 0 100% 0 round 14px);transform:scale(1.06);transition:clip-path 1.1s cubic-bezier(.7,0,.2,1),transform 1.4s cubic-bezier(.2,.8,.2,1)}
.pk img.pkimg.pkshow{clip-path:inset(0 0 0 0 round 0);transform:none}

.pktilt{transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s ease;transform-style:preserve-3d;position:relative}
.pktilt:hover{box-shadow:0 24px 50px -24px rgba(30,107,255,.35)}
.pktilt::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .4s;background:radial-gradient(420px circle at var(--gx,50%) var(--gy,50%),rgba(255,255,255,.35),transparent 45%)}
.pktilt:hover::after{opacity:1}

.pkshine{position:relative;overflow:hidden;isolation:isolate}
.pkshine::before{content:"";position:absolute;top:-50%;bottom:-50%;width:40%;left:-60%;z-index:2;pointer-events:none;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);animation:pkshine 5.5s ease-in-out infinite}
@keyframes pkshine{0%,70%{left:-60%}100%{left:130%}}

/* marquee band */
.pkmq{overflow:hidden;padding:18px 0;border-block:1px solid rgba(15,23,42,.08);background:linear-gradient(90deg,#F4F8FF,#EFFBF4);--sp:38s}
.pkmq .row{display:flex;gap:44px;width:max-content;animation:pkmq var(--sp) linear infinite}
.pkmq .row.rev{animation-direction:reverse;margin-top:10px;--sp:46s;animation-duration:46s;opacity:.55}
.pkmq.hold .row{animation-play-state:paused}
.pkmq span{font-size:clamp(18px,2.4vw,28px);line-height:1.2;font-weight:700;letter-spacing:-.01em;color:#0F172A;white-space:nowrap;display:inline-flex;align-items:center;gap:44px}
.pkmq span::after{content:"";width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,#1E6BFF,#22C3EE)}
.pkmq .rev span{font-weight:600;color:#475569}
@keyframes pkmq{to{transform:translateX(-50%)}}

/* pop in for small chips and badges */
.pk .hxk i{animation:pkpulse 2s ease-in-out infinite}
@keyframes pkpulse{50%{box-shadow:0 0 0 8px rgba(22,163,74,0)}0%{box-shadow:0 0 0 0 rgba(22,163,74,.45)}}

.wab{animation:pkwab 3.2s ease-in-out infinite}
@keyframes pkwab{0%,86%,100%{transform:none}90%{transform:translateY(-6px) rotate(-3deg)}94%{transform:translateY(0) rotate(2deg)}}

@media (prefers-reduced-motion:reduce){.pkblobs i,.pkmq .row,.pkshine::before,.wab,.pk .hxk i{animation:none}}

.pkx{margin-top:34px;background:#fff;border:1px solid var(--line,#E5E9F2);border-radius:24px;padding:26px;display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:center}
.pkx .btn{border:0;cursor:pointer}
.pkctl label{display:block;font-weight:600;font-size:15px;margin-bottom:16px}.pkctl input[type=range]{width:100%;accent-color:#1E6BFF;margin-top:6px}
.pkctl label b{float:right;color:#1E6BFF}
.pkout{font-size:19px;font-weight:600;margin:10px 0}
.pkmap{position:relative;aspect-ratio:1.3;border-radius:18px;background:linear-gradient(#EEF3FF,#F8FAFF);overflow:hidden}
.pkmap::before,.pkmap::after{content:"";position:absolute;background:#CBD5E1}.pkmap::before{left:50%;top:8%;bottom:8%;width:1px}.pkmap::after{top:50%;left:8%;right:8%;height:1px}
.pkmap .ax{position:absolute;font-size:12px;font-weight:700;color:#64748B}.ax.t{top:8px;left:50%;transform:translateX(-50%)}.ax.b{bottom:8px;left:50%;transform:translateX(-50%)}.ax.l{left:10px;top:50%}.ax.r{right:10px;top:50%}
.pkmap .cm{position:absolute;width:16px;height:16px;border-radius:50%;background:#CBD5E1;transform:translate(-50%,-50%)}
#pkdot{position:absolute;width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#1E6BFF,#22C3EE);transform:translate(-50%,-50%);box-shadow:0 0 0 8px rgba(30,107,255,.15);transition:left .4s cubic-bezier(.2,.8,.2,1),top .4s cubic-bezier(.2,.8,.2,1)}
.pkcmp,.pkbtl{grid-template-columns:1fr}
.pktabs{display:flex;gap:8px;flex-wrap:wrap}.pktabs button{border:1.5px solid #E2E8F0;background:#fff;border-radius:999px;padding:9px 16px;font:600 14px inherit;cursor:pointer}
.pktabs button[aria-selected=true]{background:#0F172A;color:#fff;border-color:#0F172A}
.pktl{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;position:relative}
.pkst{background:#F5F8FF;border-radius:16px;padding:14px;animation:pkstin .5s cubic-bezier(.2,.8,.2,1) backwards;animation-delay:calc(var(--i)*80ms);border-top:4px solid hsl(calc(215 + var(--i)*25),85%,55%)}
@keyframes pkstin{from{opacity:0;transform:translateY(20px)}}
.pkst small{color:#64748B;font-weight:600}.pkst b{display:block;margin:6px 0;font-size:15px;line-height:1.3}.pkst em{font-style:normal;font-size:12px;background:#fff;border-radius:999px;padding:2px 9px}
.pkchk{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pkchk label{border:1.5px solid #E2E8F0;border-radius:14px;padding:12px;font-weight:600;cursor:pointer;display:flex;gap:8px}
.pkchk label:has(input:checked){border-color:#1E6BFF;background:#F0F5FF}
.pkres{background:#0F172A;color:#fff;border-radius:20px;padding:24px}
.pkbig b{font-size:64px;font-weight:800;line-height:1;display:block}.pkbig span{opacity:.7}
.pkchips{display:flex;gap:6px;flex-wrap:wrap;margin-top:16px}.pkchips span{background:rgba(255,255,255,.1);border-radius:999px;padding:5px 11px;font-size:13px;animation:pkstin .4s backwards}
.pkbars{display:flex;height:12px;border-radius:6px;overflow:hidden;margin:16px 0 8px;background:rgba(255,255,255,.1)}.pkbars i{display:block;transition:width .5s}#pkb1{background:#22C55E}#pkb2{background:#3B82F6}
.pkres small{opacity:.6}
.pkbox{--bc:#0F3D33}.pkbx{--bc:#0F3D33;position:relative;width:min(280px,70vw);height:220px;margin:30px auto;cursor:pointer;perspective:800px}
.pkbx .body{position:absolute;inset:60px 0 0;background:var(--bc);border-radius:8px;display:grid;place-items:center;color:#fff;font-weight:800;letter-spacing:.1em;text-transform:lowercase;transition:background .5s;box-shadow:0 30px 40px -20px rgba(0,0,0,.35);z-index:2}
.pkbx .lid{position:absolute;left:-8px;right:-8px;top:40px;height:30px;background:var(--bc);filter:brightness(1.2);border-radius:6px;transform-origin:50% 100%;transition:transform .8s cubic-bezier(.3,1.4,.5,1),background .5s;z-index:3}
.pkbx.open .lid{transform:translateY(-70px) rotate(-18deg)}
.pkbx .ins{position:absolute;left:20%;right:20%;top:60px;height:10px;z-index:1}
.pkbx .ins i{position:absolute;bottom:0;width:60px;height:80px;border-radius:6px;transition:transform .8s cubic-bezier(.3,1.4,.5,1) .2s}
.pkbx .ins i:nth-child(1){left:0;background:#FDE68A}.pkbx .ins i:nth-child(2){left:35%;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.15)}.pkbx .ins i:nth-child(3){right:0;width:44px;height:44px;border-radius:50%;background:#F472B6}
.pkbx.open .ins i:nth-child(1){transform:translate(-30px,-70px) rotate(-14deg)}.pkbx.open .ins i:nth-child(2){transform:translateY(-100px)}.pkbx.open .ins i:nth-child(3){transform:translate(30px,-80px) rotate(20deg)}
.pksw{display:flex;gap:10px;margin-bottom:16px}.pksw button{width:40px;height:40px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1.5px #CBD5E1;cursor:pointer}
.pkbtlg{display:grid;grid-template-columns:.8fr 1.2fr;gap:24px;align-items:center}
.pkscene{font-size:120px;text-align:center;background:linear-gradient(135deg,#EEF3FF,#ECFDF5);border-radius:24px;aspect-ratio:1.2;display:grid;place-items:center}
.pkli{list-style:none;padding:0;margin:0;display:grid;gap:10px}.pkli li{background:#F8FAFC;border-radius:12px;padding:12px 16px;font-weight:600;animation:pkstin .45s backwards;animation-delay:calc(var(--i)*70ms)}
.pkli li::before{content:"✓";color:#16A34A;margin-right:10px}
@media(max-width:860px){.pkx,.pkbtlg{grid-template-columns:1fr}.pktl{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.pkchk{grid-template-columns:1fr}.pkx{padding:18px}}
/* 16-service mega menu: 4 columns centred on the header */
@media (min-width:1000px){.hd .nav{position:relative}.hd .dd{position:static}.hd .mega{width:min(1180px,96vw)}.hd .mega .mvgrid{grid-template-columns:repeat(4,minmax(0,1fr))}.hd .mega .mg small{font-size:12.5px;line-height:1.4}}
/* mobile: stage ring was clipped by the scrolling row */
@media (max-width:700px){.jpath{padding-top:12px!important;padding-bottom:8px}}

/* footer call icon was white on white in dark mode */
.fic{background:#2563EB!important}.fic svg{fill:#fff!important}
