/* zl-engine.css - rebuilt 20260815-142912 from pre-migration backup of page 2168 */

/* block 8915b871 */

:root{--ink:#0a0a0a;--paper:#ffffff;--warm:#f2f1ee;--accent:#0095cd;--muted:#6e6e73;--line:#e6e5e1;
 --pad:clamp(22px,4.2vw,60px);--maxw:1400px;
 --g-bg:rgba(255,255,255,.55);--g-bd:rgba(10,10,10,.17);--g-sh:0 10px 34px rgba(0,0,0,.10);--g-hi:rgba(255,255,255,.9);}
body.is-dark{--g-bg:rgba(255,255,255,.07);--g-bd:rgba(255,255,255,.14);--g-sh:0 12px 40px rgba(0,0,0,.55);--g-hi:rgba(255,255,255,.28);}
body{background:var(--paper);}
#z-canvas{position:fixed;inset:0;z-index:0;pointer-events:none;background:var(--paper);}
#z-noise{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.05;mix-blend-mode:multiply;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
body.is-dark #z-noise{mix-blend-mode:screen;opacity:.045;}
#z-blob{position:fixed;z-index:0;pointer-events:none;width:52vw;height:52vw;border-radius:50%;
 filter:blur(90px);opacity:.2;background:radial-gradient(circle at 35% 35%,var(--accent),transparent 62%);will-change:transform;}
.elementor-element{position:relative;z-index:2;}
.glass{position:relative;background:var(--g-bg);
 -webkit-backdrop-filter:blur(22px) saturate(185%);backdrop-filter:blur(22px) saturate(185%);
 border:1px solid var(--g-bd);box-shadow:var(--g-sh),inset 0 1px 0 var(--g-hi);border-radius:22px;overflow:hidden;
 transition:background-color .5s ease,border-color .5s ease,box-shadow .5s ease,transform .5s cubic-bezier(.2,.7,.2,1);}
.glass::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;
 background:linear-gradient(160deg,rgba(255,255,255,.30) 0%,rgba(255,255,255,0) 42%);}

/* ================= INTRO : dot -> i, line out of dot, then fly to header ================= */
#z-intro{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;}
#z-intro .veil{position:absolute;inset:0;background:#fff;transition:opacity .85s ease;}
#z-intro .wrap{position:relative;width:min(46vw,520px);transform-origin:0 0;will-change:transform;}
#z-intro svg{width:100%;height:auto;display:block;overflow:visible;}
#z-intro.flying .veil{opacity:0;}
#z-intro.gone{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s ease,visibility .3s;}
/* letters first */
#z-intro .zl-ltr{opacity:0;clip-path:inset(0 0 100% 0);transform:translateY(16px);}
@keyframes zl-in{to{opacity:1;clip-path:inset(0 0 0 0);transform:none;}}
#z-intro.play .zl-ltr{animation:zl-in .46s cubic-bezier(.2,.7,.2,1) both;}
#z-intro.play .zl-ltr:nth-of-type(3){animation-delay:.10s}
#z-intro.play .zl-ltr:nth-of-type(4){animation-delay:.17s}
#z-intro.play .zl-ltr:nth-of-type(5){animation-delay:.24s}
#z-intro.play .zl-ltr:nth-of-type(6){animation-delay:.31s}
#z-intro.play .zl-ltr:nth-of-type(7){animation-delay:.38s}
#z-intro.play .zl-ltr:nth-of-type(8){animation-delay:.45s}
#z-intro.play .zl-ltr:nth-of-type(9){animation-delay:.52s}
/* dot JUMPS up onto the i */
#z-intro .zl-dot{transform-box:fill-box;transform-origin:center;opacity:0;transform:translateY(150px) scale(.5);}
@keyframes zl-jump{
 0%{opacity:0;transform:translateY(150px) scale(.5);}
 45%{opacity:1;transform:translateY(-26px) scale(1.18);}
 70%{transform:translateY(6px) scale(.94);}
 88%{transform:translateY(-3px) scale(1.03);}
 100%{opacity:1;transform:translateY(0) scale(1);}
}
#z-intro.play .zl-dot{animation:zl-jump .95s cubic-bezier(.3,.7,.3,1) .72s both;}
/* the line grows OUT OF the dot : right -> left */
#z-intro .zl-arc{clip-path:inset(0 0 0 100%);}
@keyframes zl-arc{to{clip-path:inset(0 0 0 0);}}
#z-intro.play .zl-arc{animation:zl-arc 1.0s cubic-bezier(.25,.75,.25,1) 1.5s both;}
#z-intro .bar{position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--accent);transition:width 2.6s cubic-bezier(.3,.8,.3,1);z-index:2;}
#z-intro.play .bar{width:100%;}
/* scroll-to-explore cursor hint */
#z-hint{position:fixed;z-index:1200;pointer-events:none;left:0;top:0;
 font:500 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:1.2px;text-transform:uppercase;
 color:var(--ink);background:var(--g-bg);border:1px solid var(--g-bd);
 -webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);
 padding:11px 16px;border-radius:30px;box-shadow:var(--g-sh);
 opacity:0;transform:translate(-50%,-50%) scale(.85);transition:opacity .45s ease,transform .45s cubic-bezier(.2,.7,.2,1);}
#z-hint.on{opacity:1;transform:translate(-50%,-50%) scale(1);}
body.is-dark #z-hint{color:#fff;}

/* ================= HEADER ================= */
#z-head{position:fixed;top:22px;inset-inline-start:var(--pad);z-index:1000;opacity:0;transition:opacity .5s ease;}
#z-head.ready{opacity:1;}
#z-head .z-brand{display:inline-flex;align-items:center;height:52px;padding:0 22px;border-radius:26px;text-decoration:none;}
#z-head .z-brand svg{height:24px;width:auto;display:block;overflow:visible;}
#z-head .z-brand svg path{fill:var(--ink);transition:fill .5s ease;}
#z-head .z-brand svg path.zl-arc,#z-head .z-brand svg path.zl-dot{fill:var(--accent);}
body.is-dark #z-head .z-brand svg path{fill:#fff;}
body.is-dark #z-head .z-brand svg path.zl-arc,body.is-dark #z-head .z-brand svg path.zl-dot{fill:var(--accent);}
#z-head .z-brand:hover{transform:translateY(-2px);}
#z-menubtn{position:fixed;top:22px;inset-inline-end:var(--pad);z-index:1000;height:52px;padding:0 24px;
 display:inline-flex;align-items:center;gap:11px;border:1px solid var(--g-bd);border-radius:26px;cursor:pointer;
 background:var(--g-bg);-webkit-backdrop-filter:blur(22px) saturate(185%);backdrop-filter:blur(22px) saturate(185%);
 box-shadow:var(--g-sh),inset 0 1px 0 var(--g-hi);opacity:0;
 font-family:inherit;font-weight:700;font-size:15.5px;letter-spacing:-.3px;line-height:1;color:var(--ink);
 transition:all .5s cubic-bezier(.2,.7,.2,1);-webkit-appearance:none;appearance:none;}
#z-menubtn.ready{opacity:1;}
body.is-dark #z-menubtn{color:#fff;}
#z-menubtn:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 14px 40px rgba(0,149,205,.30),inset 0 1px 0 var(--g-hi);}
#z-menubtn .bars{display:inline-flex;flex-direction:column;gap:4px;}
#z-menubtn .bars i{width:17px;height:1.8px;background:currentColor;border-radius:2px;transition:transform .45s cubic-bezier(.2,.7,.2,1),opacity .3s;}
#z-menubtn.open .bars i:nth-child(1){transform:translateY(5.8px) rotate(45deg);}
#z-menubtn.open .bars i:nth-child(2){opacity:0;}
#z-menubtn.open .bars i:nth-child(3){transform:translateY(-5.8px) rotate(-45deg);}
.admin-bar #z-head,.admin-bar #z-menubtn{top:54px;}

/* ================= MENU : solid black, aligned to content ================= */
#z-overlay{position:fixed;inset:0;z-index:999;background:#000;clip-path:inset(0 0 100% 0);visibility:hidden;
 transition:clip-path .85s cubic-bezier(.76,0,.24,1),visibility .85s;overflow-y:auto;}
#z-overlay.open{clip-path:inset(0 0 0 0);visibility:visible;}
#z-overlay .z-in{max-width:var(--maxw);margin:0 auto;padding:120px var(--pad) 40px;
 min-height:100%;display:flex;flex-direction:column;justify-content:center;box-sizing:border-box;}
#z-overlay .z-nav a{color:#fff;text-decoration:none;display:block;padding:2px 0;
 font-size:clamp(30px,5.4vw,74px);font-weight:500;letter-spacing:-2.4px;line-height:1.16;
 opacity:0;transform:translateY(24px);
 transition:opacity .55s ease,transform .65s cubic-bezier(.2,.7,.2,1),color .3s;}
#z-overlay.open .z-nav a{opacity:1;transform:none;}
#z-overlay.open .z-nav a:nth-child(1){transition-delay:.2s}#z-overlay.open .z-nav a:nth-child(2){transition-delay:.27s}
#z-overlay.open .z-nav a:nth-child(3){transition-delay:.34s}#z-overlay.open .z-nav a:nth-child(4){transition-delay:.41s}
#z-overlay.open .z-nav a:nth-child(5){transition-delay:.48s}
#z-overlay .z-nav a:hover{color:var(--accent);}
#z-foot-row{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
 margin-top:56px;padding-top:34px;border-top:1px solid rgba(255,255,255,.12);
 opacity:0;transition:opacity .5s ease .55s;}
#z-overlay.open #z-foot-row{opacity:1;}
#z-talk{display:inline-flex;align-items:center;gap:10px;height:58px;padding:0 32px;border-radius:29px;
 background:var(--accent);color:#fff;text-decoration:none;font-weight:700;font-size:17px;letter-spacing:-.3px;
 box-shadow:0 10px 34px rgba(0,149,205,.42),inset 0 1px 0 rgba(255,255,255,.4);
 transition:all .45s cubic-bezier(.2,.7,.2,1);}
#z-talk:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 18px 48px rgba(0,149,205,.6);}
#z-lang{display:flex;gap:8px;}
#z-lang a{font:500 12px/1 ui-monospace,Menlo,monospace;letter-spacing:.5px;padding:11px 17px;border-radius:30px;
 border:1px solid rgba(255,255,255,.2);color:#fff;text-decoration:none;transition:all .4s;}
#z-lang a.on{background:#fff;color:#000;}
#z-lang a:hover{border-color:var(--accent);}
@media(max-width:767px){
 #z-head{top:12px;} #z-menubtn{top:12px;height:46px;padding:0 18px;font-size:14px;}
 #z-head .z-brand{height:46px;padding:0 16px;} #z-head .z-brand svg{height:20px;}
 .admin-bar #z-head,.admin-bar #z-menubtn{top:58px;}
 #z-overlay .z-in{padding:96px var(--pad) 34px;}
 #z-foot-row{flex-direction:column;align-items:flex-start;margin-top:38px;}
 #z-intro .wrap{width:70vw;} #z-hint{display:none;}
}
/* reveals / type / buttons */
.c-rev{opacity:0;filter:blur(13px);transform:translateY(28px);
 transition:opacity 1s cubic-bezier(.2,.7,.2,1),filter 1.05s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1);}
.c-rev.in{opacity:1;filter:blur(0);transform:none;}
.z-word{display:inline-block;opacity:.12;filter:blur(6px);transition:opacity .5s ease,filter .5s ease;}
.z-word.lit{opacity:1;filter:blur(0);}
.c-h .elementor-heading-title{font-weight:500!important;}
.c-mono .elementor-heading-title{font-family:ui-monospace,SFMono-Regular,Menlo,monospace!important;text-transform:uppercase;}
.z-dark .c-line{border-color:#232327!important;}
.c-btn .elementor-button{border-radius:30px!important;position:relative;overflow:hidden;
 transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s ease,background-color .45s ease,color .45s ease!important;}
.c-btn-fill .elementor-button{box-shadow:0 8px 26px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.28);}
.c-btn-fill .elementor-button:hover{background:var(--accent)!important;color:#fff!important;transform:translateY(-4px) scale(1.03);
 box-shadow:0 20px 50px rgba(0,149,205,.55),inset 0 1px 0 rgba(255,255,255,.45);}
.c-btn-out .elementor-button{background:var(--g-bg)!important;
 -webkit-backdrop-filter:blur(18px) saturate(180%);backdrop-filter:blur(18px) saturate(180%);
 border-color:var(--g-bd)!important;box-shadow:inset 0 1px 0 var(--g-hi);}
.c-btn-out .elementor-button:hover{border-color:var(--accent)!important;color:var(--accent)!important;transform:translateY(-4px) scale(1.03);
 box-shadow:0 18px 44px rgba(0,149,205,.32),inset 0 1px 0 var(--g-hi);}
.z-dark .c-btn-out .elementor-button{color:#fff!important;}
.z-dark .c-btn-fill .elementor-button{background:#fff!important;color:#0a0a0a!important;}
@media(prefers-reduced-motion:reduce){
 .c-rev,.z-word{opacity:1!important;filter:none!important;transform:none!important;}
 #z-intro{display:none!important;} #z-head,#z-menubtn{opacity:1!important;}
}

/* ===== HEADER BAR : aligned to the same 1400 content grid ===== */
#z-bar{position:fixed;top:22px;left:0;right:0;z-index:1000;padding:0 60px;box-sizing:border-box;pointer-events:none;}
#z-bar .z-barin{max-width:var(--maxw);margin:0 auto;display:flex;align-items:center;justify-content:space-between;}
#z-bar>*{pointer-events:auto;}
/* logo : NO pill, just the mark, larger */
#z-head{position:static;opacity:0;transition:opacity .5s ease;}
#z-head.ready{opacity:1;}
#z-head .z-brand{display:inline-flex;align-items:center;padding:0;background:none;border:0;box-shadow:none;
 backdrop-filter:none;-webkit-backdrop-filter:none;border-radius:0;overflow:visible;text-decoration:none;
 transition:transform .5s cubic-bezier(.2,.7,.2,1);}
#z-head .z-brand::after{display:none;}
#z-head .z-brand svg{height:38px;width:auto;display:block;overflow:visible;}
#z-head .z-brand:hover{transform:translateY(-2px) scale(1.03);}
/* menu bar : SOLID BLACK */
#z-menubtn{position:static;height:52px;padding:0 26px;border:0;border-radius:26px;background:var(--ink);
 backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 10px 30px rgba(0,0,0,.28);color:#fff;}
body.is-dark #z-menubtn{background:#fff;color:var(--ink);box-shadow:0 10px 30px rgba(0,0,0,.5);}
#z-menubtn:hover{transform:translateY(-2px);background:var(--accent);color:#fff;
 box-shadow:0 16px 42px rgba(0,149,205,.45);}
body.is-dark #z-menubtn:hover{background:var(--accent);color:#fff;}
.admin-bar #z-bar{top:54px;}
/* ===== MENU OVERLAY : LIQUID GLASS ===== */
#z-overlay{background:rgba(8,8,10,.55);
 -webkit-backdrop-filter:blur(40px) saturate(190%);backdrop-filter:blur(40px) saturate(190%);}
/* hint must never sit over the bar or an open menu */
#z-hint.hide{opacity:0!important;transform:translate(-50%,-50%) scale(.85)!important;}
@media(max-width:767px){
 #z-bar{top:12px;padding:0 22px;} .admin-bar #z-bar{top:58px;}
 #z-head .z-brand svg{height:30px;}
 #z-menubtn{height:46px;padding:0 20px;font-size:14px;}
}


/* ---- logo swaps to a circular Z icon on scroll ---- */
#z-head .z-brand{position:relative;}
#z-full,#z-icon{display:block;transition:opacity .45s ease,transform .55s cubic-bezier(.2,.7,.2,1);}
#z-full{opacity:1;transform:scale(1);}
#z-icon{position:absolute;inset-inline-start:0;top:50%;opacity:0;transform:translateY(-50%) scale(.7);pointer-events:none;}
body.z-mini #z-full{opacity:0;transform:scale(.72);pointer-events:none;}
body.z-mini #z-icon{opacity:1;transform:translateY(-50%) scale(1);pointer-events:auto;}
/* ---- menu links: hover must be instant, entrance stagger must not delay colour ---- */
#z-overlay .z-nav a{--d:0s;
 transition:opacity .55s ease var(--d),transform .65s cubic-bezier(.2,.7,.2,1) var(--d),color .22s ease 0s!important;}
#z-overlay.open .z-nav a:nth-child(1){--d:.20s}
#z-overlay.open .z-nav a:nth-child(2){--d:.27s}
#z-overlay.open .z-nav a:nth-child(3){--d:.34s}
#z-overlay.open .z-nav a:nth-child(4){--d:.41s}
#z-overlay.open .z-nav a:nth-child(5){--d:.48s}



/* ---------- intro morph: wordmark -> circular mark ---------- */
#z-intro .zi-rest{transition:opacity .55s ease,transform .8s cubic-bezier(.6,0,.2,1);transform-origin:center;}
#z-intro .zi-z,#z-intro .zi-mark{transition:transform 1.05s cubic-bezier(.6,0,.2,1);}
#z-intro .zi-ring{opacity:0;transform:scale(.55);transform-origin:532px 196px;
 transition:opacity .6s ease,transform .95s cubic-bezier(.34,1.3,.5,1);}
#z-intro.morph .zi-rest{opacity:0;transform:scale(.86);}
#z-intro.morph .zi-ring{opacity:1;transform:scale(1);}
#z-intro.morph .zi-z{transform:translate(406.4px,4.4px) scale(.8);}
#z-intro.morph .zi-mark{transform:translate(428.6px,87.4px) scale(.268);}
#z-intro.morph .zi-z path{fill:#fff;transition:fill .6s ease;}
#z-intro.morph .zi-mark .zl-arc{fill:var(--accent);}
/* ---------- header icon (built from the real paths) ---------- */
#z-icon svg{height:52px;width:52px;display:block;}
.z-ic-bg{fill:var(--ink);transition:fill .5s ease;}
.z-ic-z{fill:#fff;transition:fill .5s ease;}
.z-ic-arc{fill:var(--accent);}
body.is-dark .z-ic-bg{fill:#fff;}
body.is-dark .z-ic-z{fill:var(--ink);}
@media(max-width:767px){#z-icon svg{height:42px;width:42px;}}


/* icon colours must beat "#z-head .z-brand svg path" */
#z-head .z-brand #z-icon svg .z-ic-bg{fill:var(--ink)!important;}
#z-head .z-brand #z-icon svg .z-ic-arc,#z-head .z-brand #z-icon svg .z-ic-arc path{fill:var(--accent)!important;}
#z-head .z-brand #z-icon svg .z-ic-z{fill:#fff!important;}
body.is-dark #z-head .z-brand #z-icon svg .z-ic-bg{fill:#fff!important;}
body.is-dark #z-head .z-brand #z-icon svg .z-ic-z{fill:var(--ink)!important;}


/* ===== header logo : ONE svg that morphs in place ===== */
#z-head .z-brand{position:relative;display:inline-flex;align-items:center;}
#z-head .z-brand svg{height:64px;width:auto;display:block;overflow:visible;}
#z-icon{display:none!important;}
#z-full{display:block;}
/* pieces */
#zh-ring{opacity:0;transform:scale(.4);transform-origin:269px 196px;
 transition:opacity .5s ease,transform .85s cubic-bezier(.34,1.25,.5,1);}
#zh-mark,#zh-z{transition:transform .85s cubic-bezier(.5,0,.15,1);}
#zh-rest{transform-origin:600px 260px;
 transition:opacity .45s ease,transform .7s cubic-bezier(.5,0,.15,1);}
#zh-ring{fill:var(--ink);}
#zh-mark path{fill:var(--accent)!important;}
#zh-z path,#zh-rest path{fill:var(--ink)!important;transition:fill .5s ease;}
body.is-dark #zh-ring{fill:#fff;}
body.is-dark #zh-z path,body.is-dark #zh-rest path{fill:#fff!important;}
/* ---- collapsed state ---- */
body.z-mini #zh-ring{opacity:1;transform:scale(1);}
body.z-mini #zh-rest{opacity:0;transform:scale(.55);}
body.z-mini #zh-z{transform:translate(124.6px,-26px) scale(.92);}
body.z-mini #zh-mark{transform:translate(131.2px,68.6px) scale(.357);}
body.z-mini #zh-z path{fill:#fff!important;}
body.is-dark.z-mini #zh-z path{fill:var(--ink)!important;}
@media(max-width:767px){#z-head .z-brand svg{height:48px;}}


/* the wordmark wrapper must stay visible - the morph happens inside the svg */
body.z-mini #z-full{opacity:1!important;transform:none!important;pointer-events:auto!important;}
#z-full{opacity:1!important;transform:none!important;}


/* ---- mobile polish ---- */
@media(max-width:767px){
 .c-h .elementor-heading-title{word-break:normal;overflow-wrap:anywhere;}
 .c-t p{overflow-wrap:anywhere;}
 .e-con.e-parent{padding-left:22px!important;padding-right:22px!important;}
 .zc-item{width:132px!important;height:78px!important;}
 #z-overlay .z-nav a{letter-spacing:-1.4px;}
}
@media(max-width:520px){
 .c-h .elementor-heading-title{letter-spacing:-1.4px!important;}
}



/* block 767098dd */

@media (hover:hover) and (pointer:fine){
 html,body,a,button,.elementor-button,.zh-row{cursor:none!important;}
 #z-cur{position:fixed;left:0;top:0;z-index:2000;pointer-events:none;}
 #z-cur .zc-dot,#z-cur .zc-ring{position:absolute;left:0;top:0;border-radius:50%;
  transform:translate(-50%,-50%);will-change:transform;}
 #z-cur .zc-dot{width:8px;height:8px;background:#0a0a0a;
  transition:width .3s ease,height .3s ease,background-color .3s ease,opacity .3s ease;}
 #z-cur .zc-ring{width:34px;height:34px;border:1.5px solid rgba(10,10,10,.32);
  transition:width .45s cubic-bezier(.2,.7,.2,1),height .45s cubic-bezier(.2,.7,.2,1),
   border-color .35s ease,background-color .45s ease,opacity .35s ease;}
 body.is-dark #z-cur .zc-dot{background:#fff;}
 body.is-dark #z-cur .zc-ring{border-color:rgba(255,255,255,.34);}
 /* over a link/button */
 body.z-hot #z-cur .zc-dot{width:0;height:0;opacity:0;}
 body.z-hot #z-cur .zc-ring{width:64px;height:64px;border-color:#0095cd;
  background:rgba(0,149,205,.14);}
 /* while pressing */
 body.z-press #z-cur .zc-ring{width:26px;height:26px;}
}
@media(prefers-reduced-motion:reduce){#z-cur{display:none;} html,body,a,button{cursor:auto!important;}}


/* block ae59ad9c */

#z3d-hero{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:0;transition:opacity 1.2s ease;}
#z3d-hero.ready{opacity:1;}
#z3d-hero canvas{display:block;width:100%;height:100%;}
@media(prefers-reduced-motion:reduce){#z3d-hero{display:none;}}


/* block 00d27252 */

.c-btn-out .elementor-button{transition:background .28s ease,border-color .28s ease,color .28s ease,transform .28s ease,box-shadow .28s ease;}
.c-btn-out .elementor-button:hover{border-color:var(--accent)!important;color:var(--accent)!important;background:rgba(0,149,205,.10)!important;}
body.is-dark .c-btn-out .elementor-button:hover{background:rgba(0,149,205,.18)!important;color:#fff!important;border-color:var(--accent)!important;}
#z-overlay .z-cta,#z-overlay a.z-cta,.z-nav .z-cta{transition:color .25s ease,border-color .25s ease,background .25s ease;}
#z-overlay .z-cta:hover,#z-overlay a.z-cta:hover,.z-nav .z-cta:hover{color:var(--accent)!important;border-color:var(--accent)!important;}


/* block 3d2bf399 */

.elementor-element-68ea69a{padding-top:40px!important;padding-bottom:34px!important;}
.elementor-element-178ad05{padding-top:44px!important;padding-bottom:0!important;}
.elementor-element-178ad05 .elementor-widget{margin-bottom:0!important;}
.elementor-element-178ad05 > .e-con-inner{gap:12px!important;}
.elementor-element-68ea69a > .e-con-inner{gap:14px!important;}
.elementor-element-68ea69a .elementor-widget:empty{display:none;}
@media(max-width:1024px){.elementor-element-68ea69a{padding-top:30px!important;padding-bottom:24px!important;}.elementor-element-178ad05{padding-top:32px!important;padding-bottom:0!important;}}


/* block ef2dae0b */

.zh{display:grid;grid-template-columns:1.02fr .98fr;gap:70px;align-items:start;width:100%;}
.zh-list{display:flex;flex-direction:column;border-top:1px solid #232327;}
.zh-row{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:22px;width:100%;
 padding:26px 4px;border-bottom:1px solid #232327;cursor:pointer;position:relative;
 transition:padding-inline-start .5s cubic-bezier(.2,.7,.2,1);}
.zh-row::before{content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:2px;background:#0095cd;
 transform:scaleY(0);transform-origin:top;transition:transform .5s cubic-bezier(.2,.7,.2,1);}
.zh-row.zh-act::before{transform:scaleY(1);}
.zh-row.zh-act{padding-inline-start:22px;}
.zh-n{font:500 12px/1 ui-monospace,Menlo,monospace;letter-spacing:1px;color:#4f4f57;transition:color .4s;}
.zh-t{font-size:clamp(21px,2.1vw,32px);font-weight:500;letter-spacing:-.9px;line-height:1.2;
 color:#6f6f78;transition:color .4s;flex:1;}
.zh-ar{opacity:0;transform:translate(-6px,6px);transition:all .45s cubic-bezier(.2,.7,.2,1);color:#0095cd;font-size:19px;}
.zh-row.zh-act .zh-t{color:#fff;} .zh-row.zh-act .zh-n{color:#0095cd;}
.zh-row.zh-act .zh-ar{opacity:1;transform:none;}
.zh-row:hover .zh-t{color:#fff;}
.zh-stage{position:relative;min-height:430px;}
.zh-pane{position:absolute;inset:0;opacity:0;transform:translateY(18px);pointer-events:none;
 transition:opacity .55s ease,transform .65s cubic-bezier(.2,.7,.2,1);}
.zh-pane.zh-act{opacity:1;transform:none;pointer-events:auto;}
.zh-img{border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.12);
 background:rgba(255,255,255,.05);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);
 box-shadow:0 24px 60px -28px rgba(0,0,0,.85);aspect-ratio:16/10;}
.zh-img img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.02);
 transition:transform 1.1s cubic-bezier(.2,.7,.2,1);}
.zh-pane.zh-act .zh-img img{transform:scale(1);}
.zh-d{margin:22px 0 16px;font-size:17px;line-height:1.55;color:#9d9da2;letter-spacing:-.2px;}
.zh-l{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:9px;}
.zh-l li{font:500 12px/1 ui-monospace,Menlo,monospace;letter-spacing:.4px;color:#c4c4cb;
 border:1px solid #2b2b31;border-radius:30px;padding:9px 15px;background:rgba(255,255,255,.04);}
@media(max-width:1024px){
 .zh{grid-template-columns:1fr;gap:34px;}
 .zh-stage{min-height:0;order:-1;}
 .zh-pane{position:relative;inset:auto;display:none;}
 .zh-pane.zh-act{display:block;}
 .zh-row{padding:20px 4px;}
}
@media(max-width:767px){
 .zh-t{font-size:19px;letter-spacing:-.5px;}
 .zh-d{font-size:15px;margin:16px 0 12px;}
 .zh-l li{font-size:11px;padding:8px 12px;}
}
@media(prefers-reduced-motion:reduce){.zh-pane,.zh-img img,.zh-row{transition:none;}}

.zh-row,.zh-row:hover,.zh-row:focus,.zh-row:active{background:transparent!important;border:0!important;
 border-bottom:1px solid #232327!important;border-radius:0!important;box-shadow:none!important;
 color:inherit!important;outline:none!important;text-transform:none!important;}
.zh-row:focus-visible{outline:2px solid #0095cd!important;outline-offset:3px;}
.zh-pane{visibility:hidden;}
.zh-pane.zh-act{visibility:visible;}


/* block c5fed6ea */

.zc-wrap{width:100%;overflow:hidden;}
.zc-row{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
 mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.zc-track{display:flex;align-items:center;gap:26px;width:max-content;will-change:transform;}
.zc-a .zc-track{animation:zcA 58s linear infinite;}
.zc-b .zc-track{animation:zcB 70s linear infinite;}
.zc-row:hover .zc-track{animation-play-state:paused;}
@keyframes zcA{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@keyframes zcB{from{transform:translate3d(-50%,0,0)}to{transform:translate3d(0,0,0)}}
.zc-item{flex:0 0 auto;width:186px;height:104px;display:flex;align-items:center;justify-content:center;
 padding:20px 26px;box-sizing:border-box;border-radius:18px;}
.zc-item img{max-width:100%;max-height:100%;object-fit:contain;display:block;
 opacity:.62;transition:opacity .5s ease,transform .5s cubic-bezier(.2,.7,.2,1);}
.zc-item:hover{transform:translateY(-7px) scale(1.03);border-color:var(--accent);
 box-shadow:0 20px 48px rgba(0,149,205,.35),inset 0 1px 0 rgba(255,255,255,.35);}
.zc-item:hover img{opacity:1;transform:scale(1.07);}
@media(max-width:767px){.zc-item{width:136px;height:80px;padding:14px 18px;border-radius:14px;}.zc-track{gap:14px;}}
@media(prefers-reduced-motion:reduce){.zc-a .zc-track,.zc-b .zc-track{animation:none;}
 .zc-track{flex-wrap:wrap;width:100%;justify-content:center;}}


/* block a9fca991 */

.elementor-element-9a1135a{flex:1 0 100%!important;width:100%!important;max-width:100%!important;}
.elementor-element-e039437{display:block!important;padding-top:0!important;}
.elementor-element-e039437 > .e-con-inner{display:block!important;max-width:none!important;padding-left:0!important;padding-right:0!important;}

.zfn-legal{font-size:12.5px;line-height:1.55;color:rgba(255,255,255,.38);margin:16px 0 0;max-width:400px;}
.zfn-legal a{color:rgba(255,255,255,.62);text-decoration:underline;text-underline-offset:2px;transition:color .3s ease;}
.zfn-legal a:hover{color:#0095cd;}
#zfx-wrap{border:0!important;box-shadow:none!important;}
#zfx-wrap canvas{border:0!important;}



#zfx-wrap{position:relative;width:100%;height:300px;overflow:hidden;touch-action:pan-y;}
@media(max-width:1024px){#zfx-wrap{height:220px;}}
@media(max-width:767px){#zfx-wrap{height:170px;}}
#zfx-wrap canvas{display:block;width:100%!important;height:100%!important;}
.zfoot{max-width:1400px;margin:0 auto;padding:0 clamp(22px,4.2vw,60px);
 font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Arial,sans-serif;color:#b9b9c2;-webkit-font-smoothing:antialiased;}
.zfoot-top{display:grid;grid-template-columns:1fr 2.2fr;gap:clamp(40px,6vw,110px);padding:44px 0 56px;}
.zfn-h{font-size:clamp(24px,2.5vw,36px);line-height:1.18;font-weight:600;color:#fff;margin:0 0 34px;letter-spacing:-.022em;}
.zfn-form{position:relative;display:flex;align-items:center;gap:14px;max-width:400px;padding-bottom:12px;}
.zfoot .zfn-in,.zfoot .zfn-btn{border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;border-radius:0!important;}
.zfn-line{position:absolute;left:0;right:0;bottom:0;height:1px;background:rgba(255,255,255,.22);}
.zfn-line:after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:#0095cd;transition:width .6s cubic-bezier(.2,.7,.2,1);}
.zfn-form:focus-within .zfn-line:after{width:100%;}
.zfoot .zfn-in{flex:1;color:#fff!important;font-size:16px;letter-spacing:-.01em;padding:4px 0!important;font-family:inherit;height:auto!important;min-height:0!important;}
.zfoot .zfn-in::placeholder{color:rgba(255,255,255,.34);}
.zfoot .zfn-btn{color:#fff!important;font-size:20px;line-height:1;cursor:pointer;padding:2px!important;overflow:hidden;min-height:0!important;height:auto!important;}
.zfn-btn span{display:block;transition:transform .55s cubic-bezier(.2,.7,.2,1),color .3s ease;}
.zfn-btn:hover span{color:#0095cd;transform:translate(3px,-3px);}
.zfn-note{font-size:13px;margin-top:14px;min-height:18px;color:#0095cd;}
.zfoot-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,2.4vw,40px);}
.zfc-h{font-size:11px;letter-spacing:.17em;text-transform:uppercase;color:rgba(255,255,255,.40);font-weight:600;margin-bottom:22px;}
.zfc a{display:block;color:#b9b9c2;text-decoration:none;font-size:16px;letter-spacing:-.011em;line-height:1;padding:9px 0;width:fit-content;
 transition:color .3s ease,transform .55s cubic-bezier(.2,.7,.2,1);}
.zfc a:hover{color:#fff;transform:translateX(5px);}
.zfoot-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;
 padding:20px 0 22px;border-top:1px solid rgba(255,255,255,.10);font-size:13px;color:rgba(255,255,255,.44);}
.zfb-right{display:flex;align-items:center;gap:clamp(18px,2.6vw,40px);}
.zfb-links a{color:inherit;text-decoration:none;margin-left:30px;display:inline-block;transition:color .3s ease;}
.zfb-links a:first-child{margin-left:0;}
.zfb-links a:hover{color:#fff;}
.zfoot .z-top{width:48px;height:48px;flex:0 0 48px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;
 color:rgba(255,255,255,.92);background:rgba(255,255,255,.07)!important;border:1px solid rgba(255,255,255,.18)!important;padding:0!important;
 -webkit-backdrop-filter:blur(22px) saturate(180%);backdrop-filter:blur(22px) saturate(180%);
 box-shadow:inset 0 1px 0 rgba(255,255,255,.22), 0 10px 30px rgba(0,0,0,.34)!important;
 transition:transform .55s cubic-bezier(.2,.7,.2,1),background .35s ease,border-color .35s ease,box-shadow .35s ease;}
.zfoot .z-top:hover{transform:translateY(-5px);background:rgba(255,255,255,.14)!important;border-color:rgba(255,255,255,.34)!important;
 box-shadow:inset 0 1px 0 rgba(255,255,255,.3), 0 18px 44px rgba(0,0,0,.46)!important;}
.zfoot .z-top svg{transition:transform .55s cubic-bezier(.2,.7,.2,1);}
.zfoot .z-top:hover svg{transform:translateY(-3px);}
@media(max-width:1100px){.zfoot-cols{grid-template-columns:repeat(2,1fr);row-gap:38px;}}
@media(max-width:900px){.zfoot-top{grid-template-columns:1fr;gap:46px;padding:40px 0 54px;}
 .zfoot-bar{flex-direction:column;align-items:flex-start;gap:16px;}.zfb-links a{margin-left:0;margin-right:24px;}
 .zfb-right{width:100%;justify-content:space-between;}}
@media(max-width:520px){.zfoot-cols{grid-template-columns:1fr;row-gap:32px;}}




/* --- Capabilities: ghost numerals + capability icons (added 2026-08-18) --- */
.zh-row{overflow:hidden;}
.zh-n{position:absolute;right:6px;top:50%;transform:translateY(-50%);
 font:800 60px/1 ui-monospace,Menlo,monospace;letter-spacing:-3px;color:transparent;
 -webkit-text-stroke:1px rgba(255,255,255,.12);z-index:0;pointer-events:none;
 transition:-webkit-text-stroke-color .4s,color .4s;}
.zh-t{position:relative;z-index:1;}
.zh-img{position:relative;margin-top:22px;max-width:360px;border-radius:18px;overflow:hidden;
 border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);
 -webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);
 box-shadow:0 24px 60px -28px rgba(0,0,0,.85);
 display:flex;align-items:center;justify-content:center;padding:18px;aspect-ratio:16/10;}
.zh-img svg{width:68%;height:68%;overflow:visible;}
.zh-icon-draw{stroke-dasharray:100;stroke-dashoffset:100;
 transition:stroke-dashoffset 1.3s cubic-bezier(.2,.7,.2,1) .1s;}
.zh-pane.zh-act .zh-icon-draw{stroke-dashoffset:0;}
.zh-icon-dim{stroke:rgba(255,255,255,.35);}
.zh-icon-accent{stroke:#0095cd;}
.zh-icon-spin{transform-origin:100px 65px;animation:zhIconSpin 9s linear infinite;}
.zh-icon-pulse{animation:zhIconPulse 2.2s ease-in-out infinite;}
@keyframes zhIconSpin{to{transform:rotate(360deg);}}
@keyframes zhIconPulse{0%,100%{opacity:.35;}50%{opacity:1;}}
@media (max-width:900px){
 .zh-n{font-size:42px;right:2px;}
 .zh-img{max-width:100%;margin-top:16px;}
}

/* --- Capabilities: override page-level placeholder hide (added 2026-08-18) --- */
.zh-pane.zh-act .zh-img{display:flex!important;}


/* --- Capabilities: premium art upgrade v2 (added 2026-08-18) --- */
.zh-art{position:relative;margin-top:22px;max-width:360px;border-radius:18px;overflow:hidden;
 border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);
 -webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);
 box-shadow:0 24px 60px -28px rgba(0,0,0,.85);
 display:flex;align-items:center;justify-content:center;padding:18px;aspect-ratio:16/10;
 transform-style:preserve-3d;
 transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s;
 will-change:transform;}
.zh-pane.zh-act .zh-art{display:flex!important;}
.zh-art::before{content:"";position:absolute;inset:-45%;
 background:radial-gradient(circle at 22% 18%,rgba(0,149,205,.4),transparent 55%),
 radial-gradient(circle at 82% 78%,rgba(95,212,255,.25),transparent 50%),
 radial-gradient(circle at 50% 50%,rgba(255,255,255,.06),transparent 60%);
 filter:blur(28px);animation:zhMeshDrift 15s ease-in-out infinite alternate;pointer-events:none;}
.zh-art::after{content:"";position:absolute;inset:0;opacity:.045;mix-blend-mode:overlay;pointer-events:none;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
@keyframes zhMeshDrift{0%{transform:translate(-3%,-2%) scale(1);}50%{transform:translate(3%,2%) scale(1.08);}100%{transform:translate(-2%,3%) scale(1.02);}}
.zh-art svg{position:relative;z-index:1;width:62%;height:62%;overflow:visible;
 filter:drop-shadow(0 10px 26px rgba(0,149,205,.4));}
.zh-icon-draw{stroke-dasharray:100;stroke-dashoffset:100;
 transition:stroke-dashoffset 1.2s cubic-bezier(.2,.7,.2,1) .15s;}
.zh-pane.zh-act .zh-icon-draw{stroke-dashoffset:0;}
.zh-icon-fill{opacity:0;transform:scale(.65);transform-origin:center;
 transition:opacity .5s ease .05s,transform .65s cubic-bezier(.34,1.56,.64,1) .05s;}
.zh-pane.zh-act .zh-icon-fill{opacity:1;transform:scale(1);}
.zh-fill-d2{transition-delay:.15s!important;}
.zh-fill-d3{transition-delay:.28s!important;}
.zh-dot{opacity:0;transition:opacity .5s ease .5s;}
.zh-pane.zh-act .zh-dot{opacity:1;}
.zh-dot-a{animation:zhDrift1 6s ease-in-out infinite;}
.zh-dot-b{animation:zhDrift2 7s ease-in-out infinite .5s;}
@keyframes zhDrift1{0%,100%{transform:translate(0,0);}50%{transform:translate(4px,-6px);}}
@keyframes zhDrift2{0%,100%{transform:translate(0,0);}50%{transform:translate(-5px,5px);}}
.zh-icon-spin{transform-origin:100px 65px;animation:zhIconSpin 9s linear infinite;}
.zh-icon-pulse{animation:zhIconPulse 2.1s ease-in-out infinite;}
@keyframes zhIconSpin{to{transform:rotate(360deg);}}
@keyframes zhIconPulse{0%,100%{opacity:.4;transform:scale(1);}50%{opacity:1;transform:scale(1.15);}}
@media (prefers-reduced-motion: reduce){
 .zh-art::before{animation:none;}
 .zh-dot-a,.zh-dot-b,.zh-icon-spin,.zh-icon-pulse{animation:none;}
}
@media (max-width:900px){
 .zh-art{max-width:100%;margin-top:16px;}
}

/* --- Capabilities: interactive 3D showcase v3 (added 2026-08-18) --- */
.zh-scene{position:relative;margin-top:22px;max-width:420px;width:100%;
 aspect-ratio:5/4;min-height:280px;border-radius:20px;overflow:hidden;
 border:1px solid rgba(255,255,255,.10);
 background:linear-gradient(160deg,rgba(255,255,255,.05),rgba(255,255,255,.015));
 box-shadow:0 30px 70px -30px rgba(0,0,0,.9);
 perspective:1000px;--mx:0;--my:0;}
.zh-scene::before{content:"";position:absolute;inset:-50%;
 background:radial-gradient(circle at 20% 15%,rgba(0,149,205,.32),transparent 55%),
 radial-gradient(circle at 85% 85%,rgba(95,212,255,.18),transparent 50%);
 filter:blur(30px);animation:zhMeshDrift 16s ease-in-out infinite alternate;pointer-events:none;}
.zh-scene::after{content:"";position:absolute;inset:0;opacity:.04;mix-blend-mode:overlay;pointer-events:none;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
.zh-artstage{position:absolute;inset:0;transform-style:preserve-3d;}
.zh-layer{position:absolute;opacity:0;transform:translate3d(0,26px,-60px) rotate(-4deg) scale(.82);
 transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);}
.zh-pane.zh-act .zh-layer{opacity:1;transform:translate3d(0,0,0) rotate(0) scale(1);}
.zh-layer.zh-l1{transition-delay:.05s;}
.zh-layer.zh-l2{transition-delay:.16s;}
.zh-layer.zh-l3{transition-delay:.27s;}
.zh-layer.zh-l4{transition-delay:.38s;}
.zh-tilt{transform:translate3d(calc(var(--mx) * var(--depth,1) * 26px),calc(var(--my) * var(--depth,1) * 18px),0);
 transition:transform .2s linear;}
.zh-float{animation:zhFloatA 6s ease-in-out infinite;}
.zh-float.zh-fb{animation-name:zhFloatB;animation-duration:7.2s;}
.zh-float.zh-fc{animation-name:zhFloatC;animation-duration:5.4s;}
.zh-float.zh-fd{animation-name:zhFloatB;animation-duration:8s;animation-delay:.4s;}
@keyframes zhFloatA{0%,100%{transform:translate(0,0) rotate(0deg);}50%{transform:translate(0,-7px) rotate(-1.4deg);}}
@keyframes zhFloatB{0%,100%{transform:translate(0,0) rotate(0deg);}50%{transform:translate(3px,5px) rotate(1.1deg);}}
@keyframes zhFloatC{0%,100%{transform:translate(0,0) rotate(0deg);}50%{transform:translate(-4px,-4px) rotate(-.9deg);}}

.zh-mcard{background:rgba(15,22,30,.55);border:1px solid rgba(255,255,255,.14);
 border-radius:12px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
 box-shadow:0 16px 34px -16px rgba(0,0,0,.7);padding:10px;box-sizing:border-box;}
.zh-mcard-solid{background:linear-gradient(150deg,#0b3a52,#082433);}
.zh-dot3{display:flex;gap:5px;}
.zh-bar{height:6px;border-radius:3px;background:rgba(255,255,255,.16);display:block;}
.zh-bar.zh-bar-accent{background:linear-gradient(90deg,#0095cd,#5fd4ff);}
.zh-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:20px;
 background:rgba(15,22,30,.6);border:1px solid rgba(255,255,255,.14);font:600 10px/1 ui-monospace,Menlo,monospace;
 color:rgba(255,255,255,.7);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);}
.zh-swatch{width:14px;height:14px;border-radius:50%;border:1px solid rgba(255,255,255,.25);display:block;}
.zh-mono{color:#5fd4ff;}
.zh-z{font:800 22px/1 Georgia,serif;background:linear-gradient(135deg,#5fd4ff,#0095cd);
 -webkit-background-clip:text;background-clip:text;color:transparent;}

@media (prefers-reduced-motion: reduce){
 .zh-scene::before{animation:none;}
 .zh-float{animation:none!important;}
 .zh-layer{transition:opacity .5s ease;}
 .zh-tilt{transition:none;}
}
@media (max-width:900px){
 .zh-scene{max-width:100%;margin-top:16px;aspect-ratio:4/3;min-height:240px;}
}

/* --- Capabilities: process-flow showcase v4 (added 2026-08-19) --- */
.zh-flowscene{position:relative;margin-top:22px;max-width:460px;width:100%;
 aspect-ratio:16/9;min-height:190px;border-radius:18px;overflow:hidden;
 border:1px solid rgba(255,255,255,.12);
 background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,.02));
 box-shadow:0 26px 60px -28px rgba(0,0,0,.9);
 display:flex;align-items:center;padding:20px 24px;box-sizing:border-box;
 perspective:900px;--mx:0;--my:0;}
.zh-flowscene::before{content:"";position:absolute;inset:-50%;
 background:radial-gradient(circle at 15% 20%,rgba(0,149,205,.3),transparent 55%),
 radial-gradient(circle at 90% 85%,rgba(95,212,255,.16),transparent 50%);
 filter:blur(28px);animation:zhMeshDrift 16s ease-in-out infinite alternate;pointer-events:none;}
.zh-flowscene::after{content:"";position:absolute;inset:0;opacity:.045;mix-blend-mode:overlay;pointer-events:none;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
.zh-brandmark{position:absolute;top:12px;right:14px;height:14px;width:auto;opacity:.4;filter:brightness(0) invert(1);z-index:2;pointer-events:none;}

.zh-flowassemble{position:relative;z-index:1;width:100%;
 opacity:0;transform:translateY(14px) scale(.94);
 transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1);}
.zh-pane.zh-act .zh-flowassemble{opacity:1;transform:translateY(0) scale(1);}

.zh-flowrow{width:100%;display:flex;align-items:center;
 transition:transform .2s linear;
 transform:translate3d(calc(var(--mx) * 10px),calc(var(--my) * 7px),0);}

.zh-step{display:flex;flex-direction:column;align-items:center;gap:9px;flex:0 0 auto;
 opacity:0;transform:translateY(8px);transition:opacity .5s ease,transform .5s ease;}
.zh-pane.zh-act .zh-step{opacity:1;transform:translateY(0);}
.zh-step.zh-step2{transition-delay:.12s;}
.zh-step.zh-step3{transition-delay:.24s;}

.zh-stepicon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;
 background:rgba(15,22,30,.55);border:1px solid rgba(255,255,255,.16);flex:none;
 -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
 box-shadow:0 14px 30px -14px rgba(0,0,0,.75);color:rgba(255,255,255,.75);}
.zh-stepicon svg{width:24px;height:24px;overflow:visible;}
.zh-steplabel{font:600 10.5px/1.2 ui-monospace,Menlo,monospace;color:rgba(255,255,255,.5);
 letter-spacing:.02em;text-align:center;white-space:nowrap;}
.zh-step-final .zh-stepicon{background:linear-gradient(135deg,rgba(0,149,205,.32),rgba(95,212,255,.16));
 border-color:rgba(95,212,255,.45);color:#bfeaff;}
.zh-step-final .zh-steplabel{color:#5fd4ff;}

.zh-connector{flex:1 1 auto;height:1px;margin:0 8px;position:relative;min-width:16px;align-self:center;
 background:rgba(255,255,255,.3);transform-origin:left center;transform:scaleX(0);
 transition:transform .6s cubic-bezier(.2,.7,.2,1) .18s;}
.zh-pane.zh-act .zh-connector{transform:scaleX(1);}
.zh-connector::after{content:"";position:absolute;right:-1px;top:50%;transform:translateY(-50%);
 width:0;height:0;border-top:3px solid transparent;border-bottom:3px solid transparent;
 border-left:5px solid rgba(255,255,255,.3);}

@media (prefers-reduced-motion: reduce){
 .zh-flowscene::before{animation:none;}
 .zh-flowrow{transition:none;}
}
@media (max-width:900px){
 .zh-flowscene{max-width:100%;margin-top:16px;aspect-ratio:3/2;padding:16px 18px;}
 .zh-stepicon{width:44px;height:44px;border-radius:12px;}
 .zh-stepicon svg{width:20px;height:20px;}
 .zh-steplabel{font-size:9.5px;}
}

/* --- v4 fix (2026-08-19): brandmark was losing to .elementor img{height:auto} specificity --- */
.zh-flowscene img.zh-brandmark{width:auto!important;height:14px!important;max-width:none!important;max-height:14px!important;}

/* --- v4 fix (2026-08-19): client logo cards were clipped at the top on hover --- */
.z-dark .zc-wrap{padding-top:16px;padding-bottom:16px;margin-top:-16px;margin-bottom:-16px;}
.z-dark .zc-row{overflow:clip;overflow-clip-margin:16px;}

/* --- v4 fix (2026-08-19): soften ambient globe so capabilities text stays readable --- */
.z-dark:has(.zh) > canvas{opacity:.7;filter:blur(2.2px);}

/* --- v5 (2026-08-19): hover lift removed so logo cards can never be clipped --- */
.z-dark .zc-item:hover{transform:scale(1.03);}

/* --- v5 (2026-08-19): globe crisp again; readability handled by a scrim layer --- */
.z-dark:has(.zh) > canvas{opacity:.9;filter:none;}
.z-dark:has(.zh)::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
 background:radial-gradient(62% 60% at 18% 48%,rgba(9,12,16,.96),rgba(9,12,16,0) 74%),
 radial-gradient(52% 52% at 80% 42%,rgba(9,12,16,.92),rgba(9,12,16,0) 72%);}
.z-dark:has(.zh) > .e-con-inner{position:relative;z-index:2;}

/* --- Capabilities: professional process showcase v5 (added 2026-08-19) --- */
.zh-flowscene{display:none !important;}

.zh-proc{position:relative;margin-top:18px;max-width:470px;width:100%;
 border-radius:18px;overflow:hidden;box-sizing:border-box;
 border:1px solid rgba(255,255,255,.12);
 background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,.02));
 box-shadow:0 26px 60px -28px rgba(0,0,0,.9);
 padding:15px 20px 17px;
 -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
 --mx:0;--my:0;}
.zh-proc::before{content:"";position:absolute;inset:-50%;pointer-events:none;
 background:radial-gradient(circle at 12% 15%,rgba(0,149,205,.28),transparent 55%),
 radial-gradient(circle at 92% 88%,rgba(95,212,255,.14),transparent 52%);
 filter:blur(30px);animation:zhMeshDrift 16s ease-in-out infinite alternate;}
.zh-proc::after{content:"";position:absolute;inset:0;opacity:.04;mix-blend-mode:overlay;pointer-events:none;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
.zh-proc img.zh-brandmark{width:auto !important;height:13px !important;max-width:none !important;max-height:13px !important;top:14px;right:16px;opacity:.34;}

.zh-prochead{position:relative;z-index:2;
 font:600 9px/1 ui-monospace,Menlo,monospace;letter-spacing:.16em;text-transform:uppercase;
 color:rgba(255,255,255,.4);margin:0 0 13px;}

.zh-procin{position:relative;z-index:1;
 opacity:0;transform:translateY(12px) scale(.97);
 transition:opacity .55s cubic-bezier(.2,.7,.2,1),transform .55s cubic-bezier(.2,.7,.2,1);}
.zh-pane.zh-act .zh-procin{opacity:1;transform:none;}

.zh-plist{position:relative;display:flex;flex-direction:column;gap:7px;
 transition:transform .2s linear;
 transform:translate3d(calc(var(--mx) * 7px),calc(var(--my) * 5px),0);}

.zh-pline{position:absolute;left:13px;top:16px;bottom:16px;width:1px;
 background:linear-gradient(180deg,rgba(95,212,255,.55),rgba(255,255,255,.10));
 transform:scaleY(0);transform-origin:top center;
 transition:transform .75s cubic-bezier(.2,.7,.2,1) .15s;}
.zh-pane.zh-act .zh-pline{transform:scaleY(1);}

.zh-pstep{position:relative;display:flex;align-items:center;gap:11px;
 opacity:0;transform:translateX(-9px);
 transition:opacity .45s ease,transform .45s ease;}
.zh-pane.zh-act .zh-pstep{opacity:1;transform:none;}
.zh-pane.zh-act .zh-pstep.zh-s2{transition-delay:.09s;}
.zh-pane.zh-act .zh-pstep.zh-s3{transition-delay:.18s;}
.zh-pane.zh-act .zh-pstep.zh-s4{transition-delay:.27s;}
.zh-pane.zh-act .zh-pstep.zh-s5{transition-delay:.36s;}

.zh-pnum{position:relative;z-index:1;flex:none;width:27px;height:27px;border-radius:9px;
 display:flex;align-items:center;justify-content:center;
 font:700 9px/1 ui-monospace,Menlo,monospace;color:rgba(255,255,255,.5);
 background:rgba(11,17,23,.94);border:1px solid rgba(255,255,255,.14);}
.zh-picon{flex:none;width:24px;height:24px;display:flex;align-items:center;justify-content:center;
 color:rgba(255,255,255,.58);}
.zh-picon svg{width:17px;height:17px;overflow:visible;}
.zh-plabel{font-weight:500;font-size:12px;line-height:1.25;color:rgba(255,255,255,.82);}

.zh-pstep.zh-plast .zh-pnum{background:linear-gradient(135deg,rgba(0,149,205,.42),rgba(95,212,255,.18));
 border-color:rgba(95,212,255,.5);color:#bfeaff;}
.zh-pstep.zh-plast .zh-picon{color:#5fd4ff;}
.zh-pstep.zh-plast .zh-plabel{color:#dff4ff;}

@media (prefers-reduced-motion: reduce){
 .zh-proc::before{animation:none;}
 .zh-plist{transition:none;}
}
@media (max-width:900px){
 .zh-proc{max-width:100%;margin-top:14px;padding:13px 16px 15px;}
 .zh-pnum{width:24px;height:24px;border-radius:8px;}
 .zh-picon{width:21px;height:21px;}
 .zh-picon svg{width:15px;height:15px;}
 .zh-plabel{font-size:11.5px;}
 .zh-pline{left:11.5px;}
}

/* --- v5 fix (2026-08-19): pane is a flex column, stop the process card being squashed --- */
.zh-proc{flex:0 0 auto;}

/* --- v6 (2026-08-19): drop the chip row and give the process card real presence --- */
.zh-pane .elementor-widget:has(.zh-l){display:none;}
.zh-proc{margin-top:16px;max-width:520px;padding:18px 24px 20px;}
.zh-prochead{font-size:10px;margin-bottom:15px;}
.zh-plist{gap:10px;}
.zh-pstep{gap:13px;}
.zh-pnum{width:32px;height:32px;border-radius:10px;font-size:10px;}
.zh-picon{width:28px;height:28px;}
.zh-picon svg{width:20px;height:20px;}
.zh-plabel{font-size:13.5px;}
.zh-pline{left:15.5px;top:18px;bottom:18px;}
.zh-proc img.zh-brandmark{height:14px !important;max-height:14px !important;}
@media (max-width:900px){
 .zh-proc{max-width:100%;margin-top:14px;padding:15px 18px 17px;}
 .zh-pnum{width:28px;height:28px;border-radius:9px;}
 .zh-picon{width:24px;height:24px;}
 .zh-picon svg{width:17px;height:17px;}
 .zh-plabel{font-size:12.5px;}
 .zh-pline{left:13.5px;}
}

/* --- v7 (2026-08-19): client logo hover — animated gradient edge, no movement --- */
@property --zcang{syntax:"<angle>";inherits:false;initial-value:0deg;}
.z-dark .zc-item{position:relative;}
.z-dark .zc-item:hover{transform:none;box-shadow:0 16px 44px -20px rgba(0,149,205,.55);}
.z-dark .zc-item::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;z-index:3;pointer-events:none;opacity:0;transition:opacity .3s ease;
 background:conic-gradient(from var(--zcang),rgba(95,212,255,0) 0deg,rgba(95,212,255,0) 246deg,rgba(0,149,205,.35) 288deg,#7fe0ff 320deg,rgba(0,149,205,.35) 348deg,rgba(95,212,255,0) 360deg),linear-gradient(rgba(255,255,255,.15),rgba(255,255,255,.15));
 -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
 mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;}
.z-dark .zc-item:hover::before{opacity:1;animation:zcSpin 2.2s linear infinite;}
@keyframes zcSpin{to{--zcang:360deg;}}
@media (prefers-reduced-motion: reduce){
 .z-dark .zc-item:hover::before{animation:none;}
}
