/* polish.css: loads after more.css. Fixes undefined tokens, redesigns sections, menus and sound toggle. */
:root{--bg:#0F1527;--hb:rgba(11,15,26,.97);--ln:rgba(255,255,255,.14);--cd2:rgba(255,255,255,.08)}
html[data-theme=light]{--bg:#fff;--hb:rgba(255,255,255,.97);--ln:rgba(11,15,26,.14);--cd2:rgba(11,15,26,.06)}

/* header: true-centred primary nav on every page */
@media(min-width:960px){#hd .w{display:grid;grid-template-columns:1fr auto 1fr}#hd .ac{justify-self:end}}
.nv a[href="services.html"]{display:inline-flex;align-items:center}
.nv a[href="services.html"]::before{content:"";order:2;width:5px;height:5px;margin-left:7px;border:solid currentColor;border-width:0 1.6px 1.6px 0;transform:rotate(45deg) translateY(-2px);transition:transform .35s var(--e)}
.nv a[href="services.html"].open::before{transform:rotate(225deg) translate(-1px,-1px)}

/* services mega menu: animated open/close with staggered items */
.mega{top:calc(var(--h) + var(--bo,0px) + env(safe-area-inset-top,0px));visibility:hidden;opacity:0;transform:translateY(-12px);clip-path:inset(0 0 100% 0);pointer-events:none;box-shadow:0 40px 60px -40px rgba(0,0,0,.6);transition:opacity .25s,transform .45s var(--e),clip-path .45s var(--e),visibility 0s .45s}
.mega.open{visibility:visible;opacity:1;transform:none;clip-path:inset(0 0 0 0);pointer-events:auto;transition:opacity .3s,transform .45s var(--e),clip-path .5s var(--e),visibility 0s}
.mega a{opacity:0;transform:translateY(14px);transition:opacity .2s,transform .2s,background .3s}
.mega.open a{opacity:1;transform:none;transition:opacity .4s calc(var(--i)*55ms + .08s),transform .55s var(--e) calc(var(--i)*55ms + .08s),background .3s}
.mega a:hover{background:var(--cd2)}.mega a b{transition:color .3s}.mega a:hover b{color:var(--lk)}

/* footer secondary menu: same position and alignment on every page */
.xl{display:flex;flex-wrap:wrap;align-items:center;gap:6px 26px;margin:0 0 40px;padding:0 0 26px;border-bottom:1px solid rgba(255,255,255,.1);font:600 14px var(--f)}
.xl a,.xl button{padding:4px 0;color:#a1a1a6;opacity:1;transition:color .25s}.xl a:hover,.xl button:hover{color:#fff}
.xl #snd{margin-left:auto;padding:8px 16px;border:1px solid rgba(255,255,255,.18);border-radius:99px;font-size:13px;transition:color .25s,border-color .25s,background .25s}
.xl #snd[aria-pressed=true]{color:#fff;border-color:#8B5CF6;background:rgba(124,58,237,.2)}
@media(max-width:700px){.xl #snd{margin-left:0}}

/* sound toggle */
.sndb{display:grid;place-items:center;color:var(--tx)}.sndb svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sndb[aria-pressed=false] .wv,.sndb[aria-pressed=true] .xx{display:none}
@media(max-width:480px){#hd .sndb{display:none}}

/* pricing: every card has a purple edge, hover lifts it, featured stays marked */
.pg .tl{border:1.5px solid rgba(139,92,246,.4)}
.js .pg .tl.rv{transition:opacity 1s var(--e),transform .4s var(--e),border-color .3s,box-shadow .3s}
.js .pg .tl.rv.in{transition-delay:0s}
.js .pg .tl:hover,.js .pg .tl:focus-within{border-color:#8B5CF6;box-shadow:0 0 0 1px #8B5CF6,0 26px 60px -26px rgba(124,58,237,.75);transform:translateY(-8px)}
.js .pg .ft{outline:0;border-color:#8B5CF6;box-shadow:0 0 0 1px #8B5CF6,0 26px 70px -30px rgba(124,58,237,.6);transform:scale(1.03)}
.js .pg .ft:hover{transform:scale(1.03) translateY(-8px)}
.pg .ft::before{content:"Most popular";position:absolute;top:20px;right:20px;padding:5px 12px;border-radius:99px;background:linear-gradient(135deg,var(--b),var(--p));color:#fff;font:700 12px var(--f)}

/* before / after */
.ba2{--p:50%;max-width:1000px;margin-top:36px}
.ba2-st{container-type:inline-size;position:relative;aspect-ratio:16/10;border-radius:24px;overflow:hidden;border:1px solid var(--ln);box-shadow:0 40px 90px -40px rgba(37,99,235,.55);user-select:none}
.mk{position:absolute;inset:0;font-size:1.55cqw;line-height:1.35;overflow:hidden}
.mk.old{clip-path:inset(0 calc(100% - var(--p)) 0 0)}
.mk-bar{display:flex;align-items:center;gap:.6em;padding:.9em 1.2em;background:#e4e6ee}
.mk-bar i{width:.8em;height:.8em;border-radius:50%;background:#bfc4d3}.mk-bar span{flex:1;max-width:28em;margin-left:1em;padding:.25em 1em;border-radius:99px;background:#fff;color:#7a7f90;font:500 1em Inter,sans-serif}
.mk.new{background:#0B0F1A;color:#fff;font-family:Inter,sans-serif}.mk.new .mk-bar{background:#141a2e}.mk.new .mk-bar i{background:#2a3353}.mk.new .mk-bar span{background:#0B0F1A;color:#7d869f}
.nd{height:100%;padding:1.6em 4em;background:radial-gradient(60% 70% at 85% 0,rgba(124,58,237,.5),transparent),radial-gradient(50% 60% at 0 100%,rgba(37,99,235,.4),transparent)}
.nd nav{display:flex;align-items:center;gap:2.2em;font:600 1em var(--f);color:#b5bdd6}.nd nav b{margin-right:auto;font-size:1.35em;color:#fff}
.nd em,.nb em{font-style:normal;padding:.6em 1.4em;border-radius:99px;background:linear-gradient(135deg,#2563EB,#7C3AED);color:#fff;font-weight:700}
.nd h4{max-width:11em;margin-top:2em;font-size:4.3em;line-height:1.02;letter-spacing:-.04em;color:#fff}
.ba2 .nd p{margin-top:.9em;max-width:22em;font-size:1.5em;color:#b5bdd6}
.nb{display:flex;gap:1.2em;margin-top:1.6em;font:600 1.2em var(--f)}.nb span{padding:.6em 1.6em;border-radius:99px;border:1px solid rgba(255,255,255,.25);color:#fff}
.nc{display:flex;gap:1.4em;margin-top:2.4em}.nc i{flex:1;height:6em;border-radius:1.6em;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1)}
.mk.old{background:#fff;color:#000;font-family:"Times New Roman",Times,serif}
.od{height:100%;padding:1.2em 2.4em;background:#f1efe4;text-align:center}
.od h4{margin-top:.3em;font:700 3em/1.1 "Times New Roman",serif;letter-spacing:0;text-decoration:underline;color:#c00}
.od .ol{margin:.8em 0;padding:.4em;background:#0000cc;color:#ff0;font:700 1.1em Arial,sans-serif}
.od .ob{display:grid;grid-template-columns:2fr 1fr;gap:1.4em;margin-top:1em;text-align:left}
.ba2 .od p{font:1.2em/1.3 "Times New Roman",serif;color:#000}.od u{display:inline-block;margin-top:.5em;font-size:1.3em;color:#00e}
.od .oi{display:grid;place-items:center;height:9em;background:#bbb;border:3px inset #888;font:1em Arial;color:#555}.od .oc{margin-top:1.2em;font:1em Arial;color:#800080}
.ba2-h{position:absolute;top:0;bottom:0;left:var(--p);width:3px;margin-left:-1.5px;background:#fff;box-shadow:0 0 24px rgba(0,0,0,.5);pointer-events:none}
.ba2-h b{position:absolute;top:50%;left:50%;display:grid;place-items:center;width:46px;height:46px;margin:-23px;border-radius:50%;background:#fff;color:#0B0F1A;font:800 18px var(--f);box-shadow:0 8px 30px rgba(0,0,0,.4)}
.ba2 input{position:absolute;inset:0;z-index:3;width:100%;height:100%;min-height:0;opacity:0;cursor:ew-resize}
.ba2 input:focus-visible~.ba2-h b{outline:3px solid #60A5FA;outline-offset:3px}
.ba2-tag{position:absolute;bottom:16px;padding:6px 14px;border-radius:99px;background:rgba(0,0,0,.7);color:#fff;font:700 13px var(--f);pointer-events:none}.ba2-tag.l{left:16px}.ba2-tag.r{right:16px}
.ba2-ch{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px}
.ba2-ch li{padding-top:16px;border-top:2px solid var(--ln)}.ba2-ch b{display:block;margin-bottom:4px;font:800 18px var(--f);letter-spacing:-.02em}.ba2-ch span{font-size:15px;color:var(--mu)}
@media(max-width:700px){.ba2-ch{grid-template-columns:1fr}.nd{padding:1.2em 2em}.nd nav span{display:none}}

/* reel */
.rg2{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,6vw,96px);align-items:center}
.rtabs{display:grid;gap:6px;max-width:460px;margin-top:32px}
.rtabs button{position:relative;padding:16px 20px 16px 26px;border:1px solid transparent;border-radius:18px;text-align:left;opacity:.5;transition:opacity .3s,background .3s,border-color .3s}
.rtabs button:hover,.rtabs button.on{opacity:1}.rtabs button.on{background:var(--cd);border-color:var(--ln)}
.rtabs button::before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:3px;border-radius:2px;background:linear-gradient(var(--b),var(--p));transform:scaleY(0);transition:transform .4s var(--e)}.rtabs button.on::before{transform:none}
.rtabs b{display:block;font:800 20px var(--f);letter-spacing:-.02em}.rtabs span{display:block;margin-top:2px;font-size:15px;color:var(--mu)}
.rl2{position:relative;justify-self:center;width:min(78vw,310px);aspect-ratio:9/16;overflow:hidden;border:7px solid #1b2350;border-radius:42px;background:#000;box-shadow:0 50px 90px -40px rgba(124,58,237,.7)}
.rl2::before{content:"";position:absolute;top:8px;left:50%;z-index:4;width:78px;height:20px;margin-left:-39px;border-radius:99px;background:#000}
.rl2::after{content:"";position:absolute;inset:55% 0 0;z-index:1;background:linear-gradient(transparent,rgba(0,0,0,.8));pointer-events:none}
.rl2 img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.08);transition:opacity .7s,transform 4.5s linear}.rl2 img.on{opacity:1;transform:none}
.rl2 .rb2{top:36px;z-index:3}.rb2 i,.rb2 i.a,.rb2 i.d{overflow:hidden;background:rgba(255,255,255,.35)}.rb2 u{display:block;width:0;height:100%;border-radius:2px;background:#fff}.rb2 i.d u{width:100%}.rb2 i.a u{animation:rf 3.8s linear forwards}
@keyframes rf{to{width:100%}}.rl2.pz .rb2 u{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.rb2 i.a u{width:100%}}
.rl2 .rcap{position:absolute;left:20px;right:64px;bottom:28px;z-index:2;font:800 30px/1.05 var(--f);letter-spacing:-.03em;color:#fff;opacity:1;transform:none}.rcap small{display:block;margin-top:6px;font:500 14px/1.35 Inter;letter-spacing:0;opacity:.85}
.rl2 .rn{inset:0 0 0 50%}.rl2 .rn.rp{inset:0 50% 0 0}
.rpp{position:absolute;right:16px;bottom:18px;z-index:3;width:36px;height:36px;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:rgba(0,0,0,.5)}
.rpp::before{content:"";position:absolute;inset:11px 12px;border-inline:3.5px solid #fff}.rpp[aria-pressed=true]::before{inset:auto;left:14px;top:10px;border:0;border-left:11px solid #fff;border-block:8px solid transparent}
@media(max-width:760px){.rg2{grid-template-columns:1fr}}

/* exit popup */
#xp{background:rgba(5,8,16,.74)}
.xb{width:min(430px,100%);padding:34px 32px 26px;overflow:hidden;border-radius:28px;background:var(--bg);box-shadow:0 40px 100px -20px rgba(0,0,0,.7)}
.xb::before{content:"";position:absolute;inset:0 0 auto;height:150px;background:radial-gradient(70% 100% at 50% 0,rgba(124,58,237,.38),transparent);pointer-events:none}
#xp:not([hidden]) .xb{animation:xin .55s var(--e) both}@keyframes xin{from{opacity:0;transform:translateY(24px) scale(.96)}}
.xb>button{top:14px;right:14px;z-index:2;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--cd2);font-size:22px;transition:background .3s}.xb>button:hover{background:var(--ln)}
.xi{position:relative;display:grid;place-items:center;width:54px;height:54px;margin-bottom:20px;border-radius:16px;background:linear-gradient(135deg,var(--b),var(--p));box-shadow:0 14px 30px -10px rgba(37,99,235,.8)}.xi svg{width:26px;height:26px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.xb h3{position:relative;font-size:28px}.xb p{position:relative;margin-top:8px;font-size:16px;color:var(--mu)}
.xk{position:relative;list-style:none;display:grid;gap:8px;margin-top:16px;font-size:15px}.xk li{position:relative;padding-left:26px}
.xk li::before{content:"";position:absolute;left:0;top:4px;width:16px;height:16px;border-radius:50%;background:linear-gradient(135deg,var(--b),var(--p))}.xk li::after{content:"";position:absolute;left:4px;top:8px;width:8px;height:4px;border:2px solid #fff;border-top:0;border-right:0;transform:rotate(-45deg) scale(.7)}
.xb .mf{gap:12px;margin-top:22px}.xb .mf input:not([name=bot-field]){min-height:50px;padding:0 20px;border-radius:99px}.xb .mf .bt{width:100%}
.xb>small{position:relative;display:block;margin-top:14px;text-align:center;font-size:13px;color:var(--mu)}

/* who we serve and our stack */
.wsk h3{margin:clamp(40px,5vw,64px) 0 20px}.wsk .hd2{margin-bottom:0}
.wsk-i{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.wsk-i li{padding:22px 22px 24px;border:1px solid var(--ln);border-radius:20px;background:var(--cd);transition:transform .4s var(--e),border-color .3s,background .3s}
.wsk-i li:hover{transform:translateY(-4px);border-color:#8B5CF6;background:rgba(124,58,237,.1)}
.wsk-i b{display:block;font:800 20px var(--f);letter-spacing:-.025em}.wsk-i span{display:block;margin-top:8px;font-size:15px;line-height:1.45;color:var(--mu)}
.wsk-s{border-top:1px solid var(--ln)}.wsk-s>div{display:grid;grid-template-columns:200px 1fr;gap:12px 24px;align-items:center;padding:22px 0;border-bottom:1px solid var(--ln)}
.wsk-s dt{font:700 18px var(--f);letter-spacing:-.02em}.wsk-s dd{display:flex;flex-wrap:wrap;gap:10px}
.wsk-s dd span{display:inline-flex;align-items:center;gap:9px;padding:10px 18px;border:1px solid var(--ln);border-radius:99px;font:700 15px var(--f);transition:transform .35s var(--e),border-color .3s,background .3s}
.wsk-s dd span::before{content:"";width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,var(--b),var(--p))}
.wsk-s dd span:hover{transform:translateY(-3px);border-color:#8B5CF6;background:rgba(124,58,237,.12)}
@media(max-width:960px){.wsk-i{grid-template-columns:1fr 1fr}}@media(max-width:700px){.wsk-i{grid-template-columns:1fr}.wsk-s>div{grid-template-columns:1fr}}

/* hero motion: timed to land after the page-load curtain lifts (~1s) */
.hero .kk.rv{animation-delay:.9s}.hero .lead.rv{animation-delay:1.35s}.hero .cr.rv{animation-delay:1.5s}
.ln{display:block;overflow:hidden;padding-bottom:.12em;margin-bottom:-.12em}.ln>span{display:inline-block}
@media(prefers-reduced-motion:no-preference){
.ln>span{transform:translate3d(0,115%,0) rotate(3deg);transform-origin:0 100%;animation:lnIn 1.1s var(--e) .95s forwards}
.ln:nth-child(2)>span{animation-delay:1.1s}
@keyframes lnIn{to{transform:none}}
.hero .au i{animation:ab 22s ease-in-out infinite alternate}
.hero .au i:nth-child(2){animation-duration:27s}.hero .au i:nth-child(3){animation-duration:31s}
.hero .au::after{display:block!important;animation:gi 1.8s ease-out 1s both}@keyframes gi{from{opacity:0}}
.hm svg{animation:fl 9s ease-in-out 3.4s infinite}
.hm::after{display:block!important}
.hm .c{animation:cw 1.5s var(--e) 1.1s both}.hm .t{animation:tr 1s cubic-bezier(.2,.9,.3,1.3) 1.9s both}
.hm::before{animation:sp 70s linear infinite,ri 1.4s var(--e) 1.2s both}@keyframes ri{from{opacity:0;transform:scale(.7)}}
.ch{animation:orb 18s linear infinite,chIn .8s var(--e) both;animation-delay:calc(var(--a)*-4.5s),calc(2.3s + var(--a)*.15s)}@keyframes chIn{from{opacity:0}}
}
/* pointer parallax + scroll exit (vars set by hero.js) */
.hero .au{transform:translate3d(calc(var(--px,0)*-34px),calc(var(--py,0)*-24px),0);transition:transform .8s var(--e)}
.hero>.w{transform:translate3d(0,calc(var(--hp,0)*-48px),0);opacity:calc(1 - var(--hp,0)*1.2)}
.hm{transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translate3d(calc(var(--px,0)*14px),calc(var(--hp,0)*44px + var(--py,0)*10px),0) scale(calc(1 - var(--hp,0)*.12))}
