:root{--blue:#024BFB;--navy:#01071A;--bg:#f8faff;--text:#080d1b;--muted:#68738a;--line:rgba(1,7,26,.10);--card:#fff;--soft:#f0f3f9;--shadow:0 25px 80px rgba(1,7,26,.09)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:"Montserrat",sans-serif;overflow-x:hidden;transition:background .45s,color .45s}body.dark{--bg:#030610;--text:#f4f7ff;--muted:#8c98b0;--line:rgba(255,255,255,.11);--card:#080d18;--soft:#070b15;--shadow:0 25px 90px rgba(0,0,0,.35)}a{color:inherit;text-decoration:none}button{font:inherit}.preloader{position:fixed;z-index:9999;inset:0;background:var(--navy);color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .7s,visibility .7s}.preloader.hide{opacity:0;visibility:hidden}.pre-logo{font:700 32px "Montserrat";letter-spacing:-2px}.pre-logo span{color:var(--blue)}.pre-line{width:240px;height:2px;background:#17213a;margin:25px 0 12px;overflow:hidden}.pre-line i{display:block;width:0;height:100%;background:var(--blue);animation:loading 1.5s ease forwards}@keyframes loading{to{width:100%}}.preloader small{font-size:8px;letter-spacing:.25em;color:#7d8aa4}.progress{position:fixed;z-index:500;top:0;left:0;width:0;height:3px;background:var(--blue);box-shadow:0 0 15px var(--blue)}.grid-bg{position:fixed;z-index:-2;inset:0;opacity:.28;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:70px 70px;mask-image:linear-gradient(to bottom,black,transparent 75%)}.spotlight{position:fixed;z-index:-1;pointer-events:none;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(2,75,251,.11),transparent 68%);transform:translate(-50%,-50%)}.header{position:fixed;z-index:200;top:0;width:100%;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 76%,transparent);backdrop-filter:blur(20px)}nav{width:min(1180px,calc(100% - 36px));height:78px;margin:auto;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:9px;font:700 20px "Montserrat";letter-spacing:-1.2px}.brand-z{font-size:28px;color:var(--blue)}.brand b{color:var(--blue)}.nav-links{display:flex;gap:34px;font-size:11px;font-weight:600;color:var(--muted)}.nav-links a{position:relative}.nav-links a:after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:1px;background:var(--blue);transition:.3s}.nav-links a:hover:after{width:100%}.nav-actions{display:flex;gap:10px;align-items:center}.nav-actions button{width:39px;height:39px;border:1px solid var(--line);border-radius:11px;background:transparent;color:var(--text);cursor:pointer}.nav-btn{background:var(--navy);color:white;border-radius:11px;padding:12px 16px;font-size:10px;font-weight:800}.nav-btn b{color:#77a0ff;margin-left:12px}#menu{display:none}.hero{min-height:950px;position:relative;display:flex;align-items:center;width:min(1180px,calc(100% - 36px));margin:auto;padding-top:70px}.hero-copy{position:relative;z-index:3;width:58%}.pill{display:inline-flex;align-items:center;gap:9px;color:var(--blue);font-size:9px;font-weight:800;letter-spacing:.15em}.pill i{width:7px;height:7px;border-radius:50%;background:var(--blue);box-shadow:0 0 18px var(--blue);animation:pulse 1.5s infinite}.hero h1{font:700 clamp(62px,8vw,112px)/.88 "Montserrat";letter-spacing:-.085em;margin:30px 0}.hero h1 em{font-style:normal;color:var(--blue);position:relative}.hero h1 em:after{content:"";position:absolute;left:2px;right:0;bottom:-8px;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;animation:underline 1.2s 1.5s forwards}@keyframes underline{to{transform:scaleX(1)}}.hero-copy>p{max-width:590px;color:var(--muted);font-size:14px;line-height:1.9}.hero-ctas{display:flex;gap:10px;margin-top:28px}.btn{display:inline-flex;align-items:center;gap:24px;padding:15px 18px;border-radius:11px;font-size:10px;font-weight:800;transition:.3s}.primary{background:var(--blue);color:white;box-shadow:0 15px 45px rgba(2,75,251,.22)}.ghost{border:1px solid var(--line)}.btn:hover{transform:translateY(-4px)}.micro{margin-top:25px;color:var(--muted);font-size:9px}.micro span{color:var(--blue);margin-right:8px}.hero-visual{position:absolute;right:-40px;top:50%;width:570px;height:570px;transform:translateY(-46%)}.visual-ring{position:absolute;border:1px solid rgba(2,75,251,.16);border-radius:50%;inset:0;animation:spin 24s linear infinite}.ring2{inset:65px;border-style:dashed;animation-duration:17s;animation-direction:reverse}.ring3{inset:130px;animation-duration:11s;border-color:rgba(2,75,251,.24)}@keyframes spin{to{transform:rotate(360deg)}}.visual-center{position:absolute;left:50%;top:50%;width:145px;height:145px;transform:translate(-50%,-50%);display:grid;place-items:center;border:1px solid rgba(2,75,251,.45);border-radius:50%;background:color-mix(in srgb,var(--bg) 82%,transparent);box-shadow:0 0 80px rgba(2,75,251,.14),inset 0 0 30px rgba(2,75,251,.06)}.zmark{font:700 78px "Montserrat";color:var(--blue);animation:breath 3s ease-in-out infinite}.pulse-dot{position:absolute;right:17px;top:20px;width:9px;height:9px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 0 rgba(2,75,251,.5);animation:ping 2s infinite}@keyframes breath{50%{transform:scale(1.08);filter:drop-shadow(0 0 15px rgba(2,75,251,.4))}}@keyframes ping{70%{box-shadow:0 0 0 14px transparent}}.node,.code-card{position:absolute;border:1px solid var(--line);background:color-mix(in srgb,var(--card) 85%,transparent);backdrop-filter:blur(12px);box-shadow:var(--shadow);border-radius:13px;animation:float 4s ease-in-out infinite}.node{padding:13px 15px;min-width:100px}.node strong,.node small{display:block}.node strong{font-size:10px}.node small{font-size:7px;color:var(--muted);letter-spacing:.14em;margin-top:4px}.node1{left:25px;top:100px}.node2{right:0;top:175px;animation-delay:-1s}.node3{right:48px;bottom:95px;animation-delay:-2s}.node4{left:75px;bottom:50px;animation-delay:-3s}.node4 strong{font-size:20px;color:var(--blue)}.code-card{right:125px;top:30px;padding:14px 16px;width:175px;font-size:9px}.code-card span{color:var(--muted);margin-right:8px}.code-card i{font-style:normal;color:#24b47e;float:right}.code-card small{display:block;color:var(--muted);margin-top:10px}@keyframes float{50%{transform:translateY(-12px)}}.hero-bottom{position:absolute;bottom:30px;left:0;display:flex;align-items:center;gap:13px;color:var(--muted);font-size:8px;letter-spacing:.2em}.mouse{width:17px;height:27px;border:1px solid var(--muted);border-radius:12px;padding-top:5px}.mouse i{display:block;width:2px;height:5px;background:var(--blue);margin:auto;animation:scroll 1.4s infinite}@keyframes scroll{to{transform:translateY(8px);opacity:0}}.ticker{background:var(--navy);color:#fff;overflow:hidden;white-space:nowrap;padding:18px 0;font-size:9px;font-weight:800;letter-spacing:.18em}.ticker div{width:max-content;animation:ticker 26s linear infinite}.ticker b{color:var(--blue);padding:0 16px}@keyframes ticker{to{transform:translateX(-50%)}}.section{width:min(1180px,calc(100% - 36px));margin:auto;padding:130px 0}.section-top{display:grid;grid-template-columns:1fr 400px;gap:80px;align-items:end;margin-bottom:65px}.section-top label,.contact label,.manifesto label{font-size:9px;letter-spacing:.2em;font-weight:800;color:var(--blue)}.section-top h2{font:700 clamp(48px,6vw,75px)/.94 "Montserrat";letter-spacing:-.075em;margin:17px 0}.section-top h2 span{color:var(--blue)}.section-top>p{font-size:13px;line-height:1.9;color:var(--muted)}.section-top p b{color:var(--text)}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.service{position:relative;min-height:415px;padding:28px;border:1px solid var(--line);background:var(--card);border-radius:22px;overflow:hidden;transition:transform .5s,box-shadow .5s,border .5s}.service:before{content:attr(data-num);position:absolute;right:20px;bottom:-45px;font:700 160px "Montserrat";color:rgba(2,75,251,.035);transition:.5s}.service:hover{transform:translateY(-10px);box-shadow:var(--shadow);border-color:rgba(2,75,251,.4)}.service:hover:before{transform:translateY(-20px);color:rgba(2,75,251,.07)}.service-top{display:flex;justify-content:space-between;color:var(--muted);font-size:9px}.service-icon{font-size:25px;color:var(--blue)}.service h3{font:700 35px/1 "Montserrat";letter-spacing:-.055em;margin:70px 0 18px}.service h3 span{color:var(--blue)}.service p{max-width:440px;color:var(--muted);font-size:12px;line-height:1.85}.service a{position:absolute;left:28px;bottom:28px;color:var(--blue);font-size:10px;font-weight:800}.service a b{margin-left:35px}.service-glow{position:absolute;width:220px;height:220px;right:-100px;bottom:-100px;background:var(--blue);filter:blur(90px);opacity:0;transition:.5s}.service:hover .service-glow{opacity:.12}.dark-section{background:var(--navy);color:#fff;position:relative;overflow:hidden}.dark-section:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 40%,rgba(2,75,251,.12),transparent 28%)}.capabilities{position:relative;z-index:2}.cap-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:15px}.cap-main{min-height:500px;border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:30px;position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(255,255,255,.035),transparent)}.big-number{color:var(--blue);font-size:10px}.cap-main h3{font:700 54px/.95 "Montserrat";letter-spacing:-.065em;margin-top:110px}.cap-main h3 span{color:var(--blue)}.cap-main p{max-width:450px;color:#8995aa;font-size:12px;line-height:1.8}.bars{position:absolute;right:35px;bottom:35px;height:180px;width:240px;display:flex;align-items:end;gap:8px}.bars i{height:var(--h);flex:1;background:linear-gradient(to top,var(--blue),rgba(2,75,251,.08));transform-origin:bottom;animation:bar 2.5s ease-in-out infinite alternate}.bars i:nth-child(2n){animation-delay:-.8s}.bars i:nth-child(3n){animation-delay:-1.4s}@keyframes bar{to{transform:scaleY(.55)}}.cap-list{border:1px solid rgba(255,255,255,.12);border-radius:22px;overflow:hidden}.cap-list div{min-height:125px;padding:25px;border-bottom:1px solid rgba(255,255,255,.12);display:grid;grid-template-columns:1fr 1.4fr 20px;align-items:center;gap:15px;transition:.3s}.cap-list div:last-child{border:0}.cap-list div:hover{background:rgba(2,75,251,.09);padding-left:31px}.cap-list span{color:var(--blue);font-size:8px;font-weight:800;letter-spacing:.16em}.cap-list b{font-size:12px}.cap-list i{font-style:normal;color:#728099}.process-wrap{max-width:900px;margin:auto;position:relative}.process-line{position:absolute;left:31px;top:0;bottom:0;width:1px;background:linear-gradient(var(--blue),var(--line),transparent)}.process-step{position:relative;display:grid;grid-template-columns:64px 1fr;gap:35px;padding-bottom:60px}.step-dot{height:63px;width:63px;border-radius:50%;border:1px solid rgba(2,75,251,.35);background:var(--bg);display:grid;place-items:center;color:var(--blue);font-size:9px;font-weight:800;box-shadow:0 0 0 10px var(--bg)}.process-step small{font-size:8px;letter-spacing:.18em;color:var(--blue);font-weight:800}.process-step h3{font:700 29px "Montserrat";margin:8px 0}.process-step p{color:var(--muted);font-size:12px;line-height:1.8;max-width:550px}.manifesto{min-height:650px;background:var(--navy);color:#fff;position:relative;overflow:hidden;display:grid;place-items:center;text-align:center}.manifesto-bg{position:absolute;width:650px;height:650px;border-radius:50%;border:1px solid rgba(2,75,251,.2);box-shadow:0 0 160px rgba(2,75,251,.09);animation:spin 35s linear infinite}.manifesto-bg:before,.manifesto-bg:after{content:"";position:absolute;inset:75px;border:1px dashed rgba(255,255,255,.08);border-radius:50%}.manifesto-bg:after{inset:160px;border-style:solid;border-color:rgba(2,75,251,.2)}.manifesto-inner{position:relative;z-index:2}.manifesto h2{font:700 clamp(58px,8vw,100px)/.88 "Montserrat";letter-spacing:-.085em;margin:25px 0}.manifesto h2 span{color:var(--blue)}.manifesto p{color:#8995aa;font-size:13px}.signature{margin-top:45px;font-size:9px;letter-spacing:.2em;color:#aab4c6}.signature i{color:var(--blue);margin:0 10px}.contact{padding-bottom:100px}.contact-box{position:relative;overflow:hidden;border-radius:28px;background:var(--blue);color:white;padding:75px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact h2{font:700 clamp(55px,6vw,78px)/.9 "Montserrat";letter-spacing:-.075em;margin:20px 0}.contact h2 span{color:var(--navy)}.contact-right{padding-top:45px}.contact-right p{font-size:14px;line-height:1.8;max-width:450px;color:rgba(255,255,255,.78)}.contact-mail{display:inline-flex;margin-top:25px;padding:17px 20px;background:white;color:var(--navy);border-radius:11px;font-size:11px;font-weight:800}.contact-mail b{margin-left:45px}.contact-note{font-size:9px;margin-top:14px;color:rgba(255,255,255,.62)}.contact-corner{position:absolute;right:-30px;bottom:-100px;font:700 400px/.8 "Montserrat";color:rgba(255,255,255,.07)}footer{border-top:1px solid var(--line)}.footer{width:min(1180px,calc(100% - 36px));min-height:120px;margin:auto;display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:9px}.footer .brand{color:var(--text)}.reveal{opacity:0;transform:translateY(45px);transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1)}.reveal.show{opacity:1;transform:none}.reveal:nth-child(2){transition-delay:.08s}.reveal:nth-child(3){transition-delay:.16s}.reveal:nth-child(4){transition-delay:.24s}@media(max-width:950px){.nav-links{display:none}#menu{display:block}.nav-btn{display:none}.hero{min-height:900px}.hero-copy{width:65%}.hero-visual{right:-230px;opacity:.48}.section-top{grid-template-columns:1fr;gap:20px}.cap-grid{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr;gap:10px}.contact-right{padding-top:10px}}@media(max-width:650px){nav{height:68px}.brand{font-size:18px}.brand-z{font-size:25px}.hero{min-height:840px;padding-top:100px;align-items:flex-start}.hero-copy{width:100%}.hero h1{font-size:60px;margin:25px 0}.hero-copy>p{font-size:13px}.hero-ctas{flex-direction:column;align-items:flex-start}.hero-visual{width:420px;height:420px;right:-250px;top:58%;opacity:.25}.code-card,.node{display:none}.section{padding:90px 0}.section-top h2{font-size:50px}.service-grid{grid-template-columns:1fr}.service{min-height:390px}.service h3{margin-top:60px}.cap-main{min-height:450px}.cap-main h3{font-size:45px;margin-top:80px}.bars{width:180px;height:130px;right:20px;bottom:25px}.cap-list div{grid-template-columns:1fr 20px}.cap-list b{grid-column:1/3}.cap-list i{grid-column:2;grid-row:1}.process-step{grid-template-columns:54px 1fr;gap:25px}.step-dot{width:53px;height:53px}.process-line{left:26px}.manifesto{min-height:560px}.manifesto-bg{width:430px;height:430px}.contact-box{padding:50px 25px}.contact h2{font-size:52px}.footer{padding:25px 0;flex-wrap:wrap;gap:15px}.footer>*{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* === ZEENOVIX ENHANCEMENT PACK === */
body{cursor:default}
.section{padding-top:150px;padding-bottom:150px}
.services,.capabilities,.process,.contact{scroll-margin-top:70px}
.section-top{margin-bottom:72px}
.hero{padding-bottom:80px}
.hero-copy{animation:heroEnter 1.15s cubic-bezier(.16,1,.3,1) .85s both}
@keyframes heroEnter{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:none}}
.hero-visual{animation:visualEnter 1.4s cubic-bezier(.16,1,.3,1) .9s both}
@keyframes visualEnter{from{opacity:0;transform:translateY(-46%) scale(.78) rotate(-8deg)}to{opacity:1;transform:translateY(-46%) scale(1) rotate(0)}}
.hero-visual:after{content:"";position:absolute;inset:7%;border-radius:50%;background:radial-gradient(circle,rgba(2,75,251,.12),transparent 58%);filter:blur(18px);animation:coreGlow 4s ease-in-out infinite;z-index:-1}
@keyframes coreGlow{50%{transform:scale(1.12);opacity:.5}}
.visual-ring:before{content:"";position:absolute;width:7px;height:7px;background:var(--blue);border-radius:50%;top:8%;left:50%;box-shadow:0 0 18px var(--blue)}
.ring2:before{top:50%;left:0}
.ring3:before{top:auto;left:50%;bottom:0}
.visual-center:before{content:"";position:absolute;inset:-18px;border:1px solid rgba(2,75,251,.12);border-radius:50%;animation:pingRing 2.8s infinite}
@keyframes pingRing{0%,100%{transform:scale(.92);opacity:.1}50%{transform:scale(1.08);opacity:.65}}
.node{transition:transform .35s,box-shadow .35s,border-color .35s}
.node:hover{transform:translateY(-14px) scale(1.05);border-color:rgba(2,75,251,.55);box-shadow:0 20px 50px rgba(2,75,251,.14)}
.service{will-change:transform}
.service:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(2,75,251,.09),transparent 24%);opacity:0;transition:opacity .35s;pointer-events:none}
.service:hover:after{opacity:1}
.service-top .service-icon{transition:transform .5s}
.service:hover .service-icon{transform:rotate(12deg) scale(1.18)}
.service h3{transition:transform .4s}
.service:hover h3{transform:translateX(5px)}
.ticker{position:relative}
.ticker:before,.ticker:after{content:"";position:absolute;z-index:2;top:0;bottom:0;width:100px;pointer-events:none;background:linear-gradient(90deg,var(--navy),transparent)}
.ticker:after{right:0;transform:rotate(180deg)}
.cap-main{background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:35px 35px}
.cap-main:after{content:"";position:absolute;width:350px;height:350px;border:1px solid rgba(2,75,251,.12);border-radius:50%;right:-160px;top:-160px;animation:spin 18s linear infinite}
.cap-list div{position:relative}
.cap-list div:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--blue);transform:scaleY(0);transform-origin:bottom;transition:transform .4s}
.cap-list div:hover:before{transform:scaleY(1)}
.process-step{transition:transform .5s}
.process-step:hover{transform:translateX(10px)}
.step-dot{transition:.4s}
.process-step:hover .step-dot{background:var(--blue);color:#fff;box-shadow:0 0 0 10px var(--bg),0 0 35px rgba(2,75,251,.45);transform:scale(1.08)}
.process-line:after{content:"";position:absolute;left:-2px;top:0;width:5px;height:95px;border-radius:5px;background:var(--blue);box-shadow:0 0 15px var(--blue);animation:lineTravel 4s linear infinite}
@keyframes lineTravel{0%{transform:translateY(-10px);opacity:0}10%{opacity:1}90%{opacity:1}100%{transform:translateY(100%);opacity:0}}
.manifesto-inner{padding:0 20px}
.manifesto h2{animation:textFloat 5s ease-in-out infinite}
@keyframes textFloat{50%{transform:translateY(-5px)}}
.manifesto:before{content:"";position:absolute;width:1px;height:100%;left:50%;top:0;background:linear-gradient(transparent,rgba(2,75,251,.18),transparent)}
.contact-box{box-shadow:0 30px 100px rgba(2,75,251,.18)}
.contact-box:before{content:"";position:absolute;width:500px;height:500px;border-radius:50%;right:-250px;top:-250px;border:1px solid rgba(255,255,255,.14);box-shadow:0 0 0 60px rgba(255,255,255,.025),0 0 0 120px rgba(255,255,255,.018);animation:spin 24s linear infinite}
.contact-mail{position:relative;z-index:2;transition:.35s}
.contact-mail:hover{transform:translateY(-5px) scale(1.02);box-shadow:0 15px 35px rgba(1,7,26,.16)}
footer{background:color-mix(in srgb,var(--bg) 90%,transparent)}
@media(max-width:950px){
 .section{padding-top:110px;padding-bottom:110px}
 .hero-visual{animation:visualEnterTablet 1.4s cubic-bezier(.16,1,.3,1) .9s both}
 @keyframes visualEnterTablet{from{opacity:0;transform:translateY(-46%) scale(.78)}to{opacity:.48;transform:translateY(-46%) scale(1)}}
}
@media(max-width:650px){
 .section{padding-top:85px;padding-bottom:85px}
 .section-top{margin-bottom:45px}
 .hero{padding-top:95px;padding-bottom:45px}
 .hero h1{letter-spacing:-.075em}
 .hero-bottom{bottom:18px}
 .service{min-height:410px}
 .service h3{margin-top:50px}
 .cap-grid{gap:12px}
 .cap-main{min-height:430px}
 .cap-main h3{margin-top:65px}
 .process-step{padding-bottom:45px}
 .manifesto:before{display:none}
 .contact{padding-top:85px}
 .contact-box{padding:45px 22px}
}

.nav-links a.active{color:var(--text)}
.nav-links a.active:after{width:100%}
.hero-visual{transform:translateY(-46%) rotateX(var(--tiltX,0deg)) rotateY(var(--tiltY,0deg))}
@media(max-width:950px){.hero-visual{transform:translateY(-46%) rotateX(0) rotateY(0)}}

/* === V3 VISUAL SYSTEM + SEO CONTENT === */
.hero-visual{overflow:visible;perspective:1000px}
.system-grid{position:absolute;inset:12%;border:1px solid rgba(2,75,251,.08);background-image:linear-gradient(rgba(2,75,251,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(2,75,251,.07) 1px,transparent 1px);background-size:28px 28px;mask-image:radial-gradient(circle,black,transparent 72%);animation:gridDrift 12s linear infinite}
@keyframes gridDrift{to{background-position:28px 28px}}
.orbit{position:absolute;border-radius:50%;inset:18%;border:1px solid rgba(2,75,251,.22);transform:rotateX(67deg) rotateZ(0deg);animation:orbitSpin 13s linear infinite}
.orbit span{position:absolute;top:-4px;left:50%;width:8px;height:8px;background:var(--blue);border-radius:50%;box-shadow:0 0 22px var(--blue)}
.orbit-b{inset:25%;transform:rotateX(67deg) rotateY(55deg);animation-duration:9s;animation-direction:reverse;border-color:rgba(2,75,251,.14)}
.orbit-b span{background:#fff}
.orbit-c{inset:31%;transform:rotateY(67deg) rotateZ(22deg);animation-duration:16s;border-style:dashed}
.orbit-c span{top:50%;left:-4px}
@keyframes orbitSpin{to{transform:rotateX(67deg) rotateZ(360deg)}}
.system-lines{position:absolute;inset:0;pointer-events:none}
.system-lines i{position:absolute;left:50%;top:50%;height:1px;width:42%;background:linear-gradient(90deg,rgba(2,75,251,.7),transparent);transform-origin:left;animation:signalLine 2.5s ease-in-out infinite}
.system-lines i:nth-child(1){transform:rotate(15deg)}.system-lines i:nth-child(2){transform:rotate(145deg);animation-delay:-.6s}.system-lines i:nth-child(3){transform:rotate(235deg);animation-delay:-1.2s}.system-lines i:nth-child(4){transform:rotate(315deg);animation-delay:-1.8s}
@keyframes signalLine{0%,100%{opacity:.15;transform:scaleX(.65) rotate(var(--r,0deg))}50%{opacity:.8;transform:scaleX(1) rotate(var(--r,0deg))}}
.visual-center{z-index:5}
.visual-center small{position:absolute;bottom:28px;font-size:6px;letter-spacing:.15em;color:var(--muted)}
.node{z-index:7}
.node-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--blue);margin-right:6px;box-shadow:0 0 8px var(--blue)}
.node5{right:205px;top:405px;animation-delay:-1.5s}
.signal{position:absolute;z-index:6;color:var(--muted);font:700 7px "Montserrat";letter-spacing:.13em;padding:6px 9px;border:1px solid var(--line);border-radius:7px;background:color-mix(in srgb,var(--card) 70%,transparent);animation:signalFloat 3s ease-in-out infinite}
.signal b{color:var(--blue);margin-left:5px}
.signal1{left:5px;top:270px}.signal2{right:8px;top:335px;animation-delay:-1s}.signal3{left:170px;bottom:8px;animation-delay:-2s}
@keyframes signalFloat{50%{transform:translateY(-7px)}}
.code-card{z-index:8}
.code-card em{display:flex;gap:3px;margin-top:12px;height:3px}
.code-card em u{display:block;text-decoration:none;height:100%;background:var(--blue);opacity:.35;flex:1;animation:codeBars 1.8s ease-in-out infinite alternate}
.code-card em u:nth-child(2){animation-delay:-.5s}.code-card em u:nth-child(3){animation-delay:-.9s}.code-card em u:nth-child(4){animation-delay:-1.3s}
@keyframes codeBars{to{opacity:1;transform:scaleY(2)}}
.seo-section{padding-top:110px}
.seo-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.seo-card{border:1px solid var(--line);background:var(--card);border-radius:20px;padding:30px;min-height:260px;transition:.4s}
.seo-card:hover{transform:translateY(-8px);box-shadow:var(--shadow);border-color:rgba(2,75,251,.3)}
.seo-card span{font-size:9px;color:var(--blue);font-weight:800}
.seo-card h3{font:700 24px "Montserrat";letter-spacing:-.04em;margin:55px 0 12px}
.seo-card p{font-size:11px;color:var(--muted);line-height:1.8}
.faq-section{padding-top:70px}
.faq-list{max-width:900px;margin:auto;border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line);padding:0}
.faq-list summary{list-style:none;cursor:pointer;padding:25px 4px;font:600 17px "Montserrat";display:flex;justify-content:space-between}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary b{color:var(--blue);font-size:22px;transition:.3s}
.faq-list details[open] summary b{transform:rotate(45deg)}
.faq-list details p{color:var(--muted);font-size:12px;line-height:1.9;max-width:720px;padding:0 45px 25px 4px;margin:0}
@media(max-width:950px){.seo-cards{grid-template-columns:1fr 1fr}.node5{right:100px}}
@media(max-width:650px){
 .hero-visual{width:420px;height:420px}
 .seo-cards{grid-template-columns:1fr}
 .seo-section{padding-top:75px}
 .faq-list summary{font-size:15px}
 .signal{display:none}.node5{display:none}
}

/* === V4: PREMIUM MOTION / SOCIAL SYSTEM === */
:root{--ease:cubic-bezier(.16,1,.3,1)}
html{scroll-behavior:smooth}
body{overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");mix-blend-mode:soft-light}
.cursor-dot,.cursor-ring{position:fixed;pointer-events:none;z-index:10000;display:none}
@media(pointer:fine){
 .cursor-dot{display:block;width:5px;height:5px;border-radius:50%;background:var(--blue);transform:translate(-50%,-50%);box-shadow:0 0 16px var(--blue)}
 .cursor-ring{display:block;width:28px;height:28px;border:1px solid rgba(2,75,251,.35);border-radius:50%;transform:translate(-50%,-50%);transition:width .25s,height .25s,border-color .25s}
}
.section{position:relative;isolation:isolate}
.section:before{content:"";position:absolute;left:6%;right:6%;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(2,75,251,.18),transparent);transform:scaleX(.5);transition:transform 1.2s var(--ease)}
.section.is-visible:before{transform:scaleX(1)}
.section-top h2{position:relative}
.section-top h2:after{content:"";display:block;width:70px;height:2px;margin-top:24px;background:linear-gradient(90deg,var(--blue),transparent);transform:scaleX(0);transform-origin:left;transition:transform .9s var(--ease) .25s}
.section.is-visible .section-top h2:after{transform:scaleX(1)}
.hero:after{content:"";position:absolute;width:700px;height:700px;left:-350px;top:-300px;border-radius:50%;background:radial-gradient(circle,rgba(2,75,251,.08),transparent 65%);z-index:-1;animation:ambient 9s ease-in-out infinite}
@keyframes ambient{50%{transform:translate(80px,40px) scale(1.15);opacity:.7}}
.hero-copy .eyebrow{display:inline-flex;align-items:center;gap:10px}
.hero-copy .eyebrow:before{content:"";width:26px;height:1px;background:var(--blue);animation:eyebrowLine 2s ease-in-out infinite}
@keyframes eyebrowLine{50%{width:42px}}
.hero h1 .line{display:block;overflow:hidden}
.hero h1 .line span{display:inline-block;animation:titleRise 1s var(--ease) both}
.hero h1 .line:nth-child(2) span{animation-delay:.08s}
.hero h1 .line:nth-child(3) span{animation-delay:.16s}
@keyframes titleRise{from{opacity:0;transform:translateY(110%);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}
.visual-center .zmark{animation:zBreath 2.8s ease-in-out infinite}
@keyframes zBreath{50%{transform:scale(1.06);text-shadow:0 0 45px rgba(2,75,251,.5)}}
.hero-visual .node{animation:nodeFloat 4s ease-in-out infinite}
.hero-visual .node2{animation-delay:-1.1s}.hero-visual .node3{animation-delay:-2.2s}.hero-visual .node4{animation-delay:-.7s}.hero-visual .node5{animation-delay:-1.8s}
@keyframes nodeFloat{50%{translate:0 -9px}}
.hero-visual .code-card{animation:cardFloat 5s ease-in-out infinite}
@keyframes cardFloat{50%{translate:0 -8px;box-shadow:0 30px 70px rgba(2,75,251,.16)}}
.social-section{padding-top:110px}
.social-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.social-card{position:relative;display:grid;grid-template-columns:52px 1fr 25px;grid-template-rows:1fr 1fr;align-items:center;gap:0 15px;min-height:115px;padding:22px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,var(--card),color-mix(in srgb,var(--card) 80%,transparent));color:var(--text);text-decoration:none;overflow:hidden;transition:transform .5s var(--ease),border-color .35s,box-shadow .5s}
.social-card:before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-100px;bottom:-120px;background:rgba(2,75,251,.11);transition:.5s var(--ease)}
.social-card:hover{transform:translateY(-9px) scale(1.015);border-color:rgba(2,75,251,.4);box-shadow:0 25px 60px rgba(2,75,251,.1)}
.social-card:hover:before{transform:scale(2.2)}
.social-icon{grid-row:1/3;width:48px;height:48px;display:grid;place-items:center;border-radius:14px;border:1px solid var(--line);font:700 18px "Montserrat";background:rgba(2,75,251,.07);color:var(--blue);transition:.4s var(--ease)}
.social-card:hover .social-icon{background:var(--blue);color:#fff;transform:rotate(-8deg) scale(1.08)}
.social-card strong{font:700 15px "Montserrat";z-index:1}.social-card small{color:var(--muted);font-size:9px;z-index:1}.social-card>b{grid-column:3;grid-row:1/3;color:var(--blue);font-size:17px;z-index:1;transition:.3s}
.social-card:hover>b{transform:translate(4px,-4px)}
.faq-section{padding-top:90px}
.faq-section:after{content:"FAQ";position:absolute;right:4%;top:30%;font:900 120px "Montserrat";letter-spacing:-.08em;color:transparent;-webkit-text-stroke:1px rgba(2,75,251,.06);z-index:-1;pointer-events:none}
[data-theme="light"] body:before{opacity:.018}
@media(max-width:950px){.social-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){
 .social-grid{grid-template-columns:1fr}
 .social-card{min-height:100px}
 .faq-section:after{font-size:70px}
 .section:before{left:4%;right:4%}
}
@media(prefers-reduced-motion:reduce){
 *,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}
}

/* === FINAL BRAND ASSET SYSTEM === */
.brand-image{display:inline-flex;align-items:center;justify-content:center;width:188px;height:52px;overflow:hidden;border-radius:8px;flex:0 0 auto;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.brand-image img{display:block;width:100%;height:auto;max-height:52px;object-fit:contain}
.brand-image:hover{transform:translateY(-1px) scale(1.015)}
body.dark .brand-image{background:#fff;padding:3px 6px;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.footer-brand-image{width:158px;height:42px;border-radius:6px}
.footer-brand-image img{max-height:42px}
@media(max-width:650px){.brand-image{width:150px;height:44px}.brand-image img{max-height:44px}.footer-brand-image{width:145px;height:40px}}


/* V6 brand asset + accessibility polish */
.skip-link{position:fixed;left:16px;top:10px;z-index:10000;transform:translateY(-160%);background:var(--navy);color:#fff;padding:10px 14px;border-radius:10px;font-size:11px;font-weight:800;transition:transform .25s}.skip-link:focus{transform:none}
.pre-mark{width:68px;height:52px;object-fit:contain;margin-bottom:13px;filter:drop-shadow(0 0 18px rgba(2,75,251,.25))}.pre-logo{letter-spacing:.22em!important;font-size:24px!important}
.brand-image{width:190px;height:54px;background:transparent!important;padding:0!important;border-radius:0;box-shadow:none!important;overflow:visible}
.brand-image picture{display:block;width:100%;height:100%}.brand-logo{display:block;width:100%;height:auto;max-height:54px;object-fit:contain}.brand-logo-dark{display:none}body.dark .brand-logo-light{display:none}body.dark .brand-logo-dark{display:block}
.visual-center .zmark{width:92px;height:70px;display:grid;place-items:center}.visual-center .zmark img{display:block;width:92px;height:auto;object-fit:contain;filter:drop-shadow(0 0 16px rgba(2,75,251,.32))}
.hero-copy>p strong{color:var(--text);font-weight:700}.section-top>p b{font-weight:800}
.service h3{max-width:360px}.service p{max-width:470px}
.social-card:focus-visible,.btn:focus-visible,.nav-btn:focus-visible,.nav-links a:focus-visible,.contact-mail:focus-visible,#theme:focus-visible,#menu:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.footer-brand-image{width:165px;height:44px}.footer-brand-image .brand-logo{max-height:44px}
@media(max-width:650px){.brand-image{width:152px;height:44px}.brand-logo{max-height:44px}.footer-brand-image{width:148px;height:40px}.footer-brand-image .brand-logo{max-height:40px}.visual-center .zmark{width:70px;height:58px}.visual-center .zmark img{width:70px}}

/* V6 motion details */
.service:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,transparent 35%,rgba(2,75,251,.07) 50%,transparent 65%);transform:translateX(-120%);transition:transform .9s var(--ease)}
.service:hover:after{transform:translateX(120%)}
.cap-main:after{content:"";position:absolute;left:0;right:0;top:-20%;height:1px;background:linear-gradient(90deg,transparent,var(--blue),transparent);box-shadow:0 0 22px var(--blue);animation:scanline 5s ease-in-out infinite;opacity:.75}@keyframes scanline{0%,100%{transform:translateY(0);opacity:0}15%{opacity:.8}50%{transform:translateY(520px);opacity:.2}85%{opacity:.8}}
.cap-list div{position:relative;overflow:hidden}.cap-list div:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--blue);transform:scaleY(0);transform-origin:top;transition:transform .45s var(--ease)}.cap-list div:hover:before{transform:scaleY(1)}
.process-step .step-dot{transition:transform .5s var(--ease),box-shadow .5s var(--ease)}.process-step:hover .step-dot{transform:scale(1.08);box-shadow:0 0 0 10px var(--bg),0 0 35px rgba(2,75,251,.2)}
.process-step h3{transition:transform .4s var(--ease)}.process-step:hover h3{transform:translateX(7px)}
.manifesto-inner h2{animation:manifestoBreath 6s ease-in-out infinite}@keyframes manifestoBreath{50%{transform:translateY(-5px)}}
.contact-box{isolation:isolate}.contact-box:after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 15% 80%,rgba(255,255,255,.12),transparent 30%),radial-gradient(circle at 90% 20%,rgba(1,7,26,.18),transparent 30%)}
@media(max-width:650px){.cap-main:after{display:none}.service:after{display:none}}
@media(prefers-reduced-motion:reduce){.cap-main:after,.manifesto-inner h2{animation:none!important}}
.manifesto-bg{translate:0 var(--scroll-y,0)}.hero-orb{translate:0 var(--scroll-y,0)}

/* === FINAL V7 POLISH / BRAND + PROCESS FIXES === */
/* One logo element per header/footer: prevents light-mode duplicate rendering. */
.brand-image{width:190px;height:54px;background:transparent!important;padding:0!important;overflow:hidden;border-radius:0;flex:0 0 auto}
.brand-image .brand-logo{display:block;width:100%;height:100%;max-height:none;object-fit:contain;object-position:left center}
.footer-brand-image{width:170px;height:44px}
.footer-brand-image .brand-logo{height:100%;width:100%;object-fit:contain;object-position:left center}

/* Cleaner, more deliberate typography spacing. */
h1,h2,h3{line-height:1.02}
strong,b{font-weight:700}
.hero-copy>p{line-height:2; margin-bottom:0}
.section-top{gap:90px;margin-bottom:76px}
.section-top h2{line-height:1.02;margin:22px 0 0}
.section-top>p{line-height:2;margin:0}
.service h3{line-height:1.08;margin:76px 0 22px}
.service p{line-height:1.95;margin-top:0}
.process-step h3{line-height:1.12;margin:12px 0 14px}
.process-step p{line-height:1.95;margin:0}
.cap-main h3{line-height:1;margin-top:112px}
.cap-main p{line-height:1.95}
.faq-list summary{line-height:1.45}
.faq-list details p{line-height:1.95}

/* Process diagram: clear track, animated progress, active nodes and travelling signal. */
.process-wrap{padding:8px 0 2px}
.process-line{left:31px;top:8px;bottom:8px;width:2px;background:rgba(2,75,251,.13);overflow:visible}
.process-line:before{content:"";position:absolute;left:0;top:0;width:100%;height:var(--process-progress,0%);background:linear-gradient(to bottom,#024BFB,#4d82ff);box-shadow:0 0 16px rgba(2,75,251,.45);transition:height .35s ease-out}
.process-line:after{content:"";position:absolute;left:50%;top:calc(var(--process-progress,0%) - 5px);width:8px;height:8px;border-radius:50%;background:#fff;border:2px solid var(--blue);box-shadow:0 0 0 5px rgba(2,75,251,.10),0 0 20px rgba(2,75,251,.75);transform:translate(-50%,-50%);animation:processPulse 1.7s ease-in-out infinite;z-index:3}
@keyframes processPulse{50%{box-shadow:0 0 0 9px rgba(2,75,251,0),0 0 28px rgba(2,75,251,.95)}}
.process-step{padding-bottom:72px;min-height:145px;transform:none!important}
.process-step:last-child{padding-bottom:12px}
.process-step .step-dot{position:relative;z-index:4;background:var(--bg);border:1px solid rgba(2,75,251,.28);transition:background .45s ease,color .45s ease,transform .45s ease,box-shadow .45s ease,border-color .45s ease}
.process-step.active .step-dot{background:var(--blue);color:#fff;border-color:var(--blue);transform:scale(1.08);box-shadow:0 0 0 10px var(--bg),0 0 30px rgba(2,75,251,.35)}
.process-step>div:last-child{padding-top:3px}
.process-step small{display:inline-block;margin-bottom:2px;letter-spacing:.22em}
.process-step h3,.process-step p{transition:transform .45s ease,opacity .45s ease}
.process-step.active h3{transform:translateX(4px)}
.process-step.active p{opacity:.96}

/* Contact CTA: premium dark treatment instead of an overly bright block. */
.contact-box{background:linear-gradient(135deg,#01071A 0%,#06112d 55%,#01071A 100%);border:1px solid rgba(2,75,251,.34);box-shadow:0 35px 110px rgba(1,7,26,.28),inset 0 1px 0 rgba(255,255,255,.05)}
.contact-box:after{background:radial-gradient(circle at 12% 75%,rgba(2,75,251,.22),transparent 32%),radial-gradient(circle at 88% 15%,rgba(2,75,251,.13),transparent 30%)}
.contact h2{line-height:1.01}
.contact h2 span{color:var(--blue)}
.contact-right p{color:#b6c0d1;line-height:2}
.contact-mail{background:#fff;color:#01071A;border:1px solid rgba(255,255,255,.7);box-shadow:0 12px 35px rgba(0,0,0,.18)}
.contact-note{color:#7f8ba3}
.contact-corner{color:rgba(2,75,251,.08)}

/* Navigation underline remains visible for the section currently in view, including Connect. */
.nav-links a:after{height:2px;bottom:-9px;border-radius:2px}
.nav-links a:hover:after,.nav-links a.active:after{width:100%}
.nav-links a.active{color:var(--text);font-weight:700}

/* Dark logo asset has a transparent navy background; keep it crisp without a second image. */
body.dark .brand-image .brand-logo,body.dark .footer-brand-image .brand-logo{filter:none}

@media(max-width:950px){
 .section-top{gap:28px;margin-bottom:52px}
 .process-line{left:27px}
 .brand-image{width:160px;height:48px}
 .footer-brand-image{width:155px;height:40px}
}
@media(max-width:650px){
 .brand-image{width:150px;height:44px}
 .footer-brand-image{width:148px;height:40px}
 .section-top{margin-bottom:44px}
 .section-top h2{line-height:1.04}
 .service h3{margin-top:58px;line-height:1.08}
 .process-step{grid-template-columns:54px 1fr;gap:25px;padding-bottom:54px;min-height:0}
 .process-line{left:26px}
 .process-line:after{width:7px;height:7px}
 .contact h2{line-height:1.03}
}


/* === V8 FINAL: ADAPTIVE BRAND LOGO + TYPOGRAPHY + MOTION === */
.brand-image,.footer-brand-image{background:transparent!important;padding:0!important;border:0!important;box-shadow:none!important;overflow:visible!important}
.brand-image{width:190px;height:54px}
.brand-image .brand-logo{width:100%;height:100%;object-fit:contain;object-position:left center;display:block}
.footer-brand-image{width:170px;height:44px}
.footer-brand-image .brand-logo{width:100%;height:100%;object-fit:contain;display:block}

/* Give inline bold phrases enough visual breathing room without changing wording. */
.hero-copy>p strong,.section-top>p b,.service p strong,.service p b,.cap-list b,.contact-right p strong,.contact-right p b{letter-spacing:.008em}
.hero-copy>p strong,.section-top>p b{word-spacing:.035em}
.service p{word-spacing:.025em}

/* More cinematic but restrained motion: layered reveal, floating cards, orbit drift and CTA shine. */
@keyframes textLift{0%{opacity:0;transform:translateY(28px)}100%{opacity:1;transform:none}}
.hero-copy .pill{animation:textLift .8s var(--ease) .15s both}
.hero-copy h1{animation:textLift 1s var(--ease) .28s both}
.hero-copy>p{animation:textLift .9s var(--ease) .44s both}
.hero-ctas{animation:textLift .9s var(--ease) .58s both}
.micro{animation:textLift .9s var(--ease) .72s both}
.hero-visual{animation:visualEnter 1.3s var(--ease) .35s both}
@keyframes visualEnter{from{opacity:0;transform:translateY(-46%) scale(.92) rotate(-2deg)}to{opacity:1;transform:translateY(-46%) scale(1) rotate(0)}}

.btn.primary{position:relative;overflow:hidden}
.btn.primary:before{content:"";position:absolute;inset:-80% -20%;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.32) 50%,transparent 65%);transform:translateX(-80%) rotate(8deg);animation:buttonShine 4.5s ease-in-out infinite}
@keyframes buttonShine{0%,55%,100%{transform:translateX(-80%) rotate(8deg)}72%{transform:translateX(80%) rotate(8deg)}}
.btn.primary>*{position:relative;z-index:1}

.service,.social-card,.seo-card,.cap-main,.cap-list{will-change:transform}
.service:nth-child(1){transition-delay:.02s}.service:nth-child(2){transition-delay:.08s}.service:nth-child(3){transition-delay:.14s}.service:nth-child(4){transition-delay:.20s}
.social-card:nth-child(1){transition-delay:.02s}.social-card:nth-child(2){transition-delay:.08s}.social-card:nth-child(3){transition-delay:.14s}.social-card:nth-child(4){transition-delay:.20s}.social-card:nth-child(5){transition-delay:.26s}.social-card:nth-child(6){transition-delay:.32s}

/* Process diagram: one clean animated rail, travelling signal and staggered cards. */
.process-wrap{max-width:920px}
.process-line{left:31px;top:31px;bottom:31px;width:2px;background:linear-gradient(to bottom,rgba(2,75,251,.14),rgba(2,75,251,.05));}
.process-line:before{background:linear-gradient(to bottom,#024BFB,#5d8dff);box-shadow:0 0 18px rgba(2,75,251,.45)}
.process-line:after{background:var(--blue);border:2px solid #fff;width:9px;height:9px;box-shadow:0 0 0 5px rgba(2,75,251,.12),0 0 24px rgba(2,75,251,.85)}
.process-step{opacity:0;transform:translateX(30px)!important;transition:opacity .8s var(--ease),transform .8s var(--ease)}
.process-step.show{opacity:1;transform:translateX(0)!important}
.process-step:nth-child(2){transition-delay:.05s}.process-step:nth-child(3){transition-delay:.12s}.process-step:nth-child(4){transition-delay:.19s}.process-step:nth-child(5){transition-delay:.26s}
.process-step>div:last-child{padding-left:3px}
.process-step small{letter-spacing:.24em}
.process-step h3{margin:12px 0 16px;line-height:1.18;letter-spacing:-.035em}
.process-step p{line-height:2;max-width:600px;word-spacing:.025em}
.process-step.active h3{color:var(--text)}
.process-step.active small{animation:stepLabelPulse 1.8s ease-in-out infinite}
@keyframes stepLabelPulse{50%{text-shadow:0 0 18px rgba(2,75,251,.38)}}

/* Scroll-in line accent for every major section. */
.section.is-visible:before{transform:scaleX(1);opacity:.55}
.section:before{transform:scaleX(0);transform-origin:left;transition:transform 1.1s var(--ease),opacity .6s ease}

/* Premium contact treatment and stronger visual hierarchy. */
.contact-box{transform:translateZ(0)}
.contact-box h2{letter-spacing:-.065em}
.contact-box h2 span{display:inline-block}
.contact-box:hover h2 span{animation:contactWord .8s var(--ease) both}
@keyframes contactWord{from{transform:translateX(-10px);opacity:.55}to{transform:none;opacity:1}}

/* Keep navigation underline reliably visible for the active anchor. */
.nav-links a:after{pointer-events:none}
.nav-links a.active:after{width:100%!important}

@media(max-width:950px){
 .brand-image{width:160px;height:48px}.footer-brand-image{width:155px;height:40px}
}
@media(max-width:650px){
 .brand-image{width:150px;height:44px}.footer-brand-image{width:148px;height:40px}
 .process-line{left:26px;top:26px;bottom:26px}
 .process-step{transform:translateY(24px)!important}
 .process-step.show{transform:translateY(0)!important}
 .process-step:nth-child(2),.process-step:nth-child(3),.process-step:nth-child(4),.process-step:nth-child(5){transition-delay:.04s}
}
@media(prefers-reduced-motion:reduce){
 .hero-copy .pill,.hero-copy h1,.hero-copy>p,.hero-ctas,.micro,.hero-visual,.btn.primary:before,.contact-box:hover h2 span{animation:none!important}
 .process-step{opacity:1!important;transform:none!important}
}


/* V9 final polish: full-brand preloader and seamless capability ticker. */
.preloader{background:var(--bg);color:var(--text);padding:28px;text-align:center}
html[data-theme="dark"] .preloader{background:#01071A;color:#fff}
.pre-brand-wrap{width:min(520px,78vw);display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 18px 45px rgba(2,75,251,.16));animation:preBrandIn .9s cubic-bezier(.2,.75,.2,1) both}
.pre-brand{display:block;width:100%;height:auto;max-height:none;object-fit:contain;image-rendering:auto}
.pre-line{width:min(300px,55vw);height:2px;margin:28px 0 13px;background:var(--line);overflow:hidden;border-radius:999px}
.pre-line i{height:100%;display:block;background:var(--blue);box-shadow:0 0 18px rgba(2,75,251,.8);animation:loading 1.45s cubic-bezier(.65,0,.35,1) forwards}
.preloader small{font-size:8px;letter-spacing:.28em;color:var(--muted)}
html[data-theme="dark"] .preloader small{color:#9aa7c2}
@keyframes preBrandIn{from{opacity:0;transform:translateY(14px) scale(.97);filter:blur(5px) drop-shadow(0 18px 45px rgba(2,75,251,.05))}to{opacity:1;transform:none;filter:drop-shadow(0 18px 45px rgba(2,75,251,.16))}}
.ticker{position:relative;overflow:hidden;white-space:nowrap}
.ticker-track{display:flex;width:max-content;animation:tickerSeamless 24s linear infinite;will-change:transform}
.ticker-track span{display:block;flex:0 0 auto;padding-right:4vw}
.ticker b{padding:0}
@keyframes tickerSeamless{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
.ticker:hover .ticker-track{animation-play-state:paused}
/* Give bold phrases real breathing room without awkward word breaks. */
.hero-copy p strong,.section-top p b,.service p strong,.service p b,.cap-list b,.contact-right p strong,.contact-right p b{letter-spacing:.012em;word-spacing:.06em}
.service h3,.section-top h2,.cap-main h3,.process-step h3,.contact h2{word-spacing:.04em}
@media(max-width:650px){.pre-brand-wrap{width:min(430px,88vw)}.pre-line{width:72vw}.ticker-track{animation-duration:18s}}
@media(prefers-reduced-motion:reduce){.pre-brand-wrap,.ticker-track{animation:none!important}}


/* === V10 MICRO-FIX: CRISP HERO CORE + TRUE GAP-FREE TICKER === */
.visual-center .zmark{width:110px;height:86px;display:grid;place-items:center;overflow:visible}
.visual-center .zmark img{display:block;width:110px;height:auto;max-width:none;object-fit:contain;image-rendering:auto;filter:drop-shadow(0 0 14px rgba(2,75,251,.28))}
.ticker-track{width:max-content;display:flex;align-items:center;animation-name:tickerSeamless4;animation-duration:24s;animation-timing-function:linear;animation-iteration-count:infinite}
.ticker-track span{display:block;flex:0 0 auto;padding-right:4vw}
@keyframes tickerSeamless4{from{transform:translate3d(0,0,0)}to{transform:translate3d(-25%,0,0)}}
@media(max-width:650px){.visual-center .zmark{width:78px;height:64px}.visual-center .zmark img{width:78px}.ticker-track{animation-duration:18s}}
@media(prefers-reduced-motion:reduce){.ticker-track{animation:none!important}}

/* === V1 FINAL MOBILE RESPONSIVENESS FIX ===
/* Keep the animated hero system perfectly centered inside narrow mobile viewports. */
@media (max-width: 650px){
  html, body { width:100%; max-width:100%; overflow-x:hidden; }
  .hero {
    width:100%;
    max-width:100%;
    padding-left:18px;
    padding-right:18px;
    overflow:hidden;
  }
  .hero-copy { width:100%; max-width:100%; }
  .hero-visual {
    width:min(92vw, 420px);
    height:min(92vw, 420px);
    left:50%;
    right:auto;
    top:61%;
    transform:translate(-50%, -46%) scale(.86) !important;
    transform-origin:center center;
    max-width:92vw;
    max-height:92vw;
  }
  .hero-visual .node,
  .hero-visual .code-card,
  .hero-visual .signal { max-width:calc(100% - 8px); }
  .hero-visual .code-card { right:8%; }
  .hero-visual .node2 { right:2%; }
  .hero-visual .node3 { right:8%; }
  .hero-visual .node4 { left:10%; }
  .hero-visual .node5 { right:12%; }
}

@media (max-width:380px){
  .hero-visual {
    width:90vw;
    height:90vw;
    top:62%;
    transform:translate(-50%, -46%) scale(.82) !important;
  }
}


/* === V1 FINAL MOBILE HERO VISUAL POLISH ===
   On phones the animated system becomes a dedicated visual block below the copy.
   This prevents the Z/core from sitting behind text or CTAs while preserving motion. */
@media (max-width:650px){
  .hero{
    min-height:auto;
    display:block;
    padding-top:100px;
    padding-bottom:70px;
    overflow:hidden;
  }
  .hero-copy{
    position:relative;
    z-index:10;
    width:100%;
  }
  .hero-copy>p,
  .hero-ctas,
  .micro{position:relative;z-index:11}
  .hero-visual{
    position:relative;
    left:auto;
    right:auto;
    top:auto;
    width:min(88vw,360px);
    height:min(88vw,360px);
    margin:42px auto 0;
    opacity:.95;
    transform:none !important;
    transform-origin:center center;
    z-index:2;
    animation:mobileVisualEnter 1.15s var(--ease) .35s both;
  }
  @keyframes mobileVisualEnter{
    from{opacity:0;transform:translateY(28px) scale(.88)!important}
    to{opacity:.95;transform:translateY(0) scale(1)!important}
  }
  .hero-visual .system-grid{inset:8%}
  .hero-visual .orbit{inset:12%}
  .hero-visual .orbit-b{inset:19%}
  .hero-visual .orbit-c{inset:27%}
  .hero-visual .system-lines i{width:38%}
  .hero-visual .visual-center{width:118px;height:118px}
  .hero-visual .visual-center .zmark{width:82px;height:68px}
  .hero-visual .visual-center .zmark img{width:82px}
  .hero-visual .visual-center small{bottom:22px}
  .hero-visual .code-card,
  .hero-visual .node,
  .hero-visual .signal{display:none}
  .hero-bottom{position:relative;left:auto;bottom:auto;margin-top:8px;z-index:10}
}
@media (max-width:380px){
  .hero{padding-left:16px;padding-right:16px}
  .hero h1{font-size:56px}
  .hero-visual{width:88vw;height:88vw;margin-top:34px}
  .hero-visual .visual-center{width:108px;height:108px}
  .hero-visual .visual-center .zmark{width:74px;height:61px}
  .hero-visual .visual-center .zmark img{width:74px}
}

/* === FINAL iPHONE / TOUCH MOBILE STABILITY PATCH ===
   Prevent the animated hero system and capability ticker from ever creating
   a wider layout than the viewport on iPhone Chrome/Safari. */
html, body {
  max-width: 100%;
  overflow-x: hidden;
}

.ticker {
  width: 100%;
  max-width: 100vw;
  overflow: hidden;
  position: relative;
}

.ticker-track {
  width: max-content !important;
  max-width: none !important;
  flex-shrink: 0;
  will-change: transform;
}

@media (max-width: 767px), (pointer: coarse) and (max-width: 900px) {
  .hero {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding-left: 18px;
    padding-right: 18px;
    overflow: hidden;
  }

  .hero-copy {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  /* The visual becomes a normal centered block on phones — never an
     absolutely-positioned element hanging off the right edge. */
  .hero-visual,
  body.touch-device .hero-visual {
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    width: min(88vw, 360px) !important;
    height: min(88vw, 360px) !important;
    max-width: 100% !important;
    max-height: 100vw !important;
    margin: 42px auto 0 !important;
    transform: none !important;
    transform-origin: center center !important;
    z-index: 2;
  }

  .hero-visual .system-grid,
  .hero-visual .orbit,
  .hero-visual .system-lines {
    max-width: 100%;
  }

  .hero-visual .system-lines i {
    width: 36%;
  }

  .hero-visual .visual-center {
    width: 118px;
    height: 118px;
  }

  .hero-visual .visual-center .zmark,
  .hero-visual .visual-center .zmark img {
    width: 82px;
  }

  .hero-visual .visual-center .zmark {
    height: 68px;
  }

  .hero-visual .code-card,
  .hero-visual .node,
  .hero-visual .signal {
    display: none !important;
  }

  .ticker {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

@media (max-width: 380px) {
  .hero {
    padding-left: 16px;
    padding-right: 16px;
  }

  .hero h1 {
    font-size: 56px;
  }

  .hero-visual {
    width: 88vw !important;
    height: 88vw !important;
    margin-top: 34px !important;
  }
}

/* === FINAL V1 MOBILE EDGE-TO-EDGE PATCH === */
@media (max-width: 767px), (pointer: coarse) and (max-width: 900px) {
  .ticker {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: 0 !important;
    overflow: hidden !important;
  }

  .ticker-track {
    display: flex !important;
    width: max-content !important;
    max-width: none !important;
    min-width: max-content !important;
  }
}

/* === ZEENOVIX V1 — COMPACT SECTION SPACING ===
   Final spacing pass: remove oversized top/bottom whitespace while keeping
   the existing layout, typography and animations intact. */
.section {
  padding-top: 72px !important;
  padding-bottom: 72px !important;
}
.section-top {
  margin-bottom: 48px !important;
}
.social-section {
  padding-top: 72px !important;
}
.faq-section {
  padding-top: 60px !important;
}
.contact {
  padding-bottom: 72px !important;
}
.process-step {
  padding-bottom: 48px !important;
}
.process-step:last-child {
  padding-bottom: 8px !important;
}
.manifesto {
  min-height: 560px;
}

@media (max-width: 950px) {
  .section {
    padding-top: 64px !important;
    padding-bottom: 64px !important;
  }
  .section-top {
    margin-bottom: 40px !important;
  }
}

@media (max-width: 650px) {
  .section {
    padding-top: 52px !important;
    padding-bottom: 52px !important;
  }
  .section-top {
    gap: 16px !important;
    margin-bottom: 30px !important;
  }
  .social-section,
  .faq-section,
  .contact {
    padding-top: 52px !important;
  }
  .contact {
    padding-bottom: 52px !important;
  }
  .process-step {
    padding-bottom: 38px !important;
  }
  .process-step:last-child {
    padding-bottom: 6px !important;
  }
  .manifesto {
    min-height: 500px !important;
  }

  /* Keep the hero compact too; the mobile visual remains centered. */
  .hero {
    padding-top: 86px !important;
    padding-bottom: 30px !important;
  }
  .hero-visual {
    margin-top: 28px !important;
  }
  .hero-bottom {
    margin-top: 2px !important;
  }
}

@media (max-width: 380px) {
  .hero {
    padding-top: 82px !important;
    padding-bottom: 24px !important;
  }
  .hero-visual {
    margin-top: 24px !important;
  }
}

/* === FINAL V1 MOBILE HERO CLEANUP ===
   The animated rounded systems diagram is intentionally desktop/tablet only.
   On phones the hero stays clean, centered and free of overflow. */
@media (max-width: 650px) {
  .hero-visual { display: none !important; }
  .hero {
    min-height: auto !important;
    padding-bottom: 42px !important;
  }
  .hero-bottom {
    position: static !important;
    margin-top: 34px !important;
  }
}

/* === V1 ADDITIONAL COMPANY PAGES === */
.inner-page{min-height:70vh}.inner-hero{max-width:1180px;margin:0 auto;padding:170px 7% 90px}.inner-hero h1{font-family:Space Grotesk,sans-serif;font-size:clamp(48px,7vw,92px);max-width:980px;margin:26px 0 22px;letter-spacing:-.055em}.inner-hero h1:after{content:"";display:block;width:100px;height:3px;background:var(--blue);margin-top:34px;box-shadow:0 0 20px rgba(2,75,251,.35)}.inner-hero>p{max-width:760px;font-size:18px;line-height:1.9;color:var(--muted);margin:0}.inner-section{max-width:1180px;margin:0 auto;padding:55px 7% 105px}.inner-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.inner-wide{max-width:1000px}.inner-card,.role-card{border:1px solid var(--line);background:var(--card);border-radius:22px;padding:36px;position:relative;overflow:hidden}.inner-card:before,.role-card:before{content:"";position:absolute;left:0;top:0;width:100%;height:2px;background:linear-gradient(90deg,var(--blue),transparent);opacity:.7}.inner-card>span,.inner-wide>span,.contact-page-grid>div>span,.inner-cta>span{display:block;font-size:10px;font-weight:800;letter-spacing:.22em;color:var(--blue);margin-bottom:18px}.inner-card h2,.inner-wide h2,.contact-page-grid h2,.inner-cta h2{font-family:Space Grotesk,sans-serif;font-size:clamp(32px,4vw,58px);letter-spacing:-.045em;line-height:1.04;margin:0 0 22px}.inner-card h2 em,.inner-wide h2 em,.contact-page-grid h2 em,.inner-cta h2 em{font-style:normal;color:var(--blue)}.inner-card p,.inner-wide>p,.role-card p,.contact-page-grid p,.legal-page p{font-size:16px;line-height:1.9;color:var(--muted);margin:0}.value-list{margin-top:30px;border-top:1px solid var(--line)}.value-list>div{display:grid;grid-template-columns:230px 1fr;gap:24px;padding:24px 0;border-bottom:1px solid var(--line)}.value-list b{font-family:Space Grotesk;font-size:20px}.value-list p{margin:0;color:var(--muted);line-height:1.8}.role-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:34px}.role-card>b{display:block;font-family:Space Grotesk;font-size:24px;margin-bottom:9px}.role-card>span{display:block;color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:20px}.inner-cta{padding:50px;border-radius:26px;background:var(--navy);color:#fff;overflow:hidden;position:relative}.inner-cta:after{content:"Z";position:absolute;right:4%;bottom:-32%;font:800 220px/1 Space Grotesk;color:rgba(255,255,255,.05)}.inner-cta h2{max-width:700px}.contact-page-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:center}.contact-panel{border:1px solid var(--line);border-radius:22px;padding:34px;background:var(--card);display:flex;flex-direction:column;gap:14px}.contact-panel b{font-size:11px;letter-spacing:.2em;color:var(--blue)}.contact-panel a{font:700 clamp(22px,3vw,34px) Space Grotesk;color:var(--text);text-decoration:none;overflow-wrap:anywhere}.contact-panel a span{color:var(--blue)}.contact-panel small{color:var(--muted);line-height:1.7}.legal-page h3{font-family:Space Grotesk;font-size:24px;margin:42px 0 12px}.legal-page a{color:var(--blue)}.legal-date{margin-top:45px!important;padding-top:20px;border-top:1px solid var(--line)}.footer-links a{color:inherit;text-decoration:none}.footer-links a:hover{color:var(--blue)}
@media(max-width:800px){.inner-hero{padding:130px 6% 65px}.inner-section{padding:35px 6% 75px}.inner-grid,.role-grid,.contact-page-grid{grid-template-columns:1fr}.value-list>div{grid-template-columns:1fr;gap:7px}.inner-card,.role-card{padding:28px}.inner-hero h1{font-size:clamp(44px,13vw,70px)}.inner-hero>p{font-size:16px}.contact-page-grid{gap:30px}}
@media(max-width:650px){.inner-hero{padding-top:112px}.inner-section{padding-bottom:60px}.inner-hero h1:after{margin-top:24px}.inner-cta{padding:30px}.footer-links{display:block}}

/* FINAL INNER PAGES + CLEAN FOOTER */
.site-footer{border-top:1px solid var(--line);background:var(--bg)}.footer-grid{width:min(1180px,calc(100% - 36px));margin:auto;padding:72px 0 55px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:55px}.footer-brand-col{max-width:330px}.footer-brand-col p{color:var(--muted);font-size:12px;line-height:1.9;margin:18px 0}.footer-email{color:var(--blue);font-size:11px;font-weight:800}.footer-grid h4{font:700 13px Space Grotesk;margin:6px 0 20px;color:var(--text)}.footer-grid ul{list-style:none;padding:0;margin:0;display:grid;gap:12px}.footer-grid li{font-size:10px;color:var(--muted)}.footer-grid li a{transition:color .25s,transform .25s;display:inline-block}.footer-grid li a:hover{color:var(--blue);transform:translateX(4px)}.footer-bottom{width:min(1180px,calc(100% - 36px));margin:auto;padding:20px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted);font-size:9px}.inner-page .inner-section{animation:innerUp .8s both}.inner-page .inner-card,.inner-page .role-card{transition:transform .35s,box-shadow .35s,border-color .35s}.inner-page .inner-card:hover,.inner-page .role-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:rgba(2,75,251,.28)}@keyframes innerUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(max-width:800px){.footer-grid{grid-template-columns:1fr 1fr;gap:35px;padding:55px 0 40px}.footer-brand-col{grid-column:1/-1}.footer-bottom{gap:12px;flex-direction:column}}@media(max-width:520px){.footer-grid{grid-template-columns:1fr 1fr}.footer-brand-col{grid-column:1/-1}}

/* FINAL FOOTER BRAND ADAPTATION — V1 */
.site-footer .footer-brand-image{display:block;background:transparent!important;overflow:hidden}
.site-footer .footer-brand-image .brand-logo{display:block;visibility:visible;opacity:1;filter:none!important;mix-blend-mode:normal;object-fit:contain;object-position:left center}
html[data-theme="dark"] .site-footer .footer-brand-image .brand-logo{filter:none!important}
html[data-theme="light"] .site-footer .footer-brand-image .brand-logo{filter:none!important}
@media(max-width:650px){.site-footer .footer-brand-image{width:148px;height:40px}.site-footer .footer-brand-image .brand-logo{width:100%;height:100%;object-fit:contain}}


/* === PERFORMANCE / CORE WEB VITALS PATCH === */
@media (max-width: 900px), (pointer: coarse) {
  .spotlight { display:none !important; }
  .service,.social-card,.seo-card,.cap-main,.cap-list { will-change:auto; }
  .header { backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
  .grid-bg { opacity:.16; }
}
@media (max-width: 650px) {
  .visual-ring,.ring2,.ring3,.manifesto-bg { animation-duration: 40s; }
  .manifesto-bg { box-shadow:none; }
  .service-glow { filter: blur(60px); }
}

/* V10 performance pass: defer off-screen rendering and reduce costly motion on touch devices. */
.section:not(.hero), .inner-section { content-visibility: auto; contain-intrinsic-size: 800px; }
@media (max-width:650px){
  .visual-ring,.ring2,.ring3,.manifesto-bg{animation:none!important}
  .spotlight{display:none}
  .header{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
}


/* === FINAL MOBILE PERFORMANCE / LCP PASS (2026-09-03) === */
/* Use local system fonts so first paint does not wait on a third-party font request. */
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; }
.hero h1, .inner-hero h1, .inner-card h2, .inner-wide h2, .contact-page-grid h2, .inner-cta h2, .role-card>b, .value-list b, .footer-grid h4 {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}
.preloader { display:none !important; }
@media (max-width: 900px), (pointer: coarse) {
  .header { backdrop-filter: none !important; -webkit-backdrop-filter: none !important; background: var(--bg) !important; }
  .grid-bg { opacity: .10; }
  .service-glow { display:none !important; }
  .inner-page .inner-section { animation:none !important; }
  .inner-page .inner-card, .inner-page .role-card { transition:none !important; }
}
@media (max-width: 650px) {
  html { scroll-behavior:auto; }
  .progress { box-shadow:none !important; }
  .hero h1 { animation:none !important; }
  .hero h1 em:after { animation:none !important; transform:scaleX(1); }
  .pill i { animation:none !important; box-shadow:none !important; }
  .service a { position:static !important; margin-top:auto !important; padding-top:16px !important; display:inline-flex !important; align-self:flex-start !important; gap:3px !important; }
  .service a b { margin-left:0 !important; }
}

/* === ULTIMATE SEO + LCP PASS (2026-09-03) === */
/* The first viewport is visible immediately on touch devices; no reveal delay for LCP content. */
@media (max-width: 900px), (pointer: coarse) {
  .hero-copy, .hero-copy.reveal, .hero-copy .pill, .hero-copy h1, .hero-copy > p, .hero-copy .hero-ctas, .hero-copy .micro {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
  }
  .hero-copy .pill, .hero-copy h1 { animation-delay: 0s !important; }
}
@media (max-width: 650px) {
  .hero-copy { will-change: auto !important; }
  .hero h1 { text-wrap: balance; }
  .hero-copy > p { max-width: 38rem; }
}
/* Avoid painting decorative layers before they are needed. */
@media (max-width: 900px), (pointer: coarse) {
  .grid-bg, .spotlight, .hero-orb, .service-glow, .manifesto-bg { pointer-events:none; }
}


/* === ZEENOVIX enquiry form + WhatsApp + thank-you popup === */
.zeenovix-enquiry-section{max-width:1180px;margin:0 auto;padding:55px 7% 105px}
.zeenovix-enquiry-card{border:1px solid var(--line);background:var(--card);border-radius:22px;padding:36px;position:relative;overflow:hidden}
.zeenovix-enquiry-card:before{content:"";position:absolute;left:0;top:0;width:100%;height:2px;background:linear-gradient(90deg,var(--blue),transparent);opacity:.7}
.zeenovix-enquiry-card>span{display:block;font-size:10px;font-weight:800;letter-spacing:.22em;color:var(--blue);margin-bottom:18px}
.zeenovix-enquiry-card h2{font-family:Space Grotesk,sans-serif;font-size:clamp(32px,4vw,58px);letter-spacing:-.045em;line-height:1.04;margin:0 0 14px}
.zeenovix-enquiry-card>p{font-size:16px;line-height:1.9;color:var(--muted);margin:0 0 28px;max-width:760px}
.zeenovix-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.zeenovix-form .full{grid-column:1/-1}
.zeenovix-form label{display:block;font-size:11px;font-weight:700;letter-spacing:.06em;margin-bottom:8px}
.zeenovix-form input,.zeenovix-form select,.zeenovix-form textarea{width:100%;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--text);padding:13px 14px;font:inherit;font-size:14px;outline:none;transition:border-color .2s,box-shadow .2s}
.zeenovix-form input:focus,.zeenovix-form select:focus,.zeenovix-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(2,75,251,.10)}
.zeenovix-form textarea{min-height:130px;resize:vertical}
.zeenovix-phone{display:grid;grid-template-columns:120px 1fr;gap:10px}
.zeenovix-form .form-actions{display:flex;align-items:center;gap:14px;grid-column:1/-1}
.zeenovix-submit{border:0;cursor:pointer;background:var(--navy);color:#fff}
.zeenovix-submit:disabled{opacity:.65;cursor:wait}
.zeenovix-form-status{font-size:12px;color:var(--muted)}
.zeenovix-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.shopify-services-intro{max-width:1050px;margin-bottom:42px}
.shopify-services-intro h2{margin-bottom:14px}
.shopify-services-intro p{max-width:1000px}
.shopify-services-layout{display:grid;grid-template-columns:235px minmax(0,1fr);gap:0;align-items:stretch}
.shopify-services-nav{padding:4px 28px 10px 0;border-right:1px solid rgba(2,75,251,.35)}
.shopify-service-tab{display:block;padding:14px 12px;margin:0 0 10px;border-radius:12px;color:var(--muted);font-weight:600;line-height:1.45}
.shopify-service-tab.active{color:var(--text);background:rgba(2,75,251,.07)}
.shopify-services-content{padding-left:42px}
.shopify-service-panel{padding:4px 0 42px}
.shopify-service-panel+.shopify-service-panel{padding-top:38px;border-top:1px solid var(--line)}
.shopify-service-panel-inner{display:grid;grid-template-columns:74px minmax(0,1fr);gap:24px}
.shopify-service-icon{width:64px;height:64px;border-radius:14px;display:grid;place-items:center;border:1px solid rgba(2,75,251,.18);background:rgba(2,75,251,.045);color:var(--text)}
.shopify-service-icon svg{width:55px;height:55px}
.shopify-service-panel h3{margin:0 0 12px;font-size:clamp(1.25rem,2vw,1.65rem);font-family:Space Grotesk,sans-serif}
.shopify-service-panel p{margin:0 0 18px;line-height:1.8}
.shopify-service-list-title{font-weight:700;margin:0 0 13px!important}
.shopify-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 28px;margin:0;padding:0;list-style:none}
.shopify-checklist li{position:relative;padding-left:27px;line-height:1.55;color:var(--muted)}
.shopify-checklist li:before{content:"✓";position:absolute;left:0;top:1px;width:19px;height:19px;display:grid;place-items:center;border-radius:50%;background:var(--blue);color:#fff;font-size:12px;font-weight:800}
.zeenovix-whatsapp{position:fixed;right:22px;bottom:22px;width:58px;height:58px;border-radius:50%;z-index:1000;display:grid;place-items:center;background:#25D366;color:#fff;box-shadow:0 10px 30px rgba(0,0,0,.18);transition:transform .2s,box-shadow .2s}
.zeenovix-whatsapp:hover{transform:translateY(-3px);box-shadow:0 14px 35px rgba(0,0,0,.25)}
.zeenovix-whatsapp svg{width:31px;height:31px;fill:currentColor}
.zeenovix-modal{position:fixed;inset:0;z-index:10001;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(1,7,26,.62);backdrop-filter:blur(8px)}
.zeenovix-modal.open{display:flex}
.zeenovix-modal-card{width:min(480px,100%);border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:22px;padding:38px;text-align:center;box-shadow:0 25px 80px rgba(0,0,0,.28)}
.zeenovix-success-icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;margin:0 auto 20px;background:rgba(2,75,251,.10);color:var(--blue);font-size:30px;font-weight:900}
.zeenovix-modal-card h3{font-family:Space Grotesk,sans-serif;font-size:32px;margin:0 0 10px;letter-spacing:-.04em}
.zeenovix-modal-card p{color:var(--muted);line-height:1.7;margin:0 0 24px}
@media(max-width:800px){
 .shopify-services-layout{grid-template-columns:1fr}
 .shopify-services-nav{border-right:0;border-bottom:1px solid rgba(2,75,251,.35);padding:0 0 14px;margin-bottom:28px;display:flex;flex-wrap:wrap;gap:8px}
 .shopify-service-tab{margin:0;padding:10px 12px}
 .shopify-services-content{padding-left:0}
 .shopify-checklist{grid-template-columns:1fr}
 .zeenovix-form{grid-template-columns:1fr}
 .zeenovix-form .full,.zeenovix-form .form-actions{grid-column:1}
}
@media(max-width:520px){
 .shopify-service-panel-inner{grid-template-columns:1fr;gap:12px}
 .zeenovix-enquiry-section{padding-left:6%;padding-right:6%}
 .zeenovix-enquiry-card{padding:26px}
 .zeenovix-phone{grid-template-columns:105px 1fr}
 .zeenovix-whatsapp{right:16px;bottom:16px;width:54px;height:54px}
}
