/* Coderix 1.9 – premium motion & layout layer (video stage, banners, scroll effects) */
:root{--cx-st-1:#04170B;--cx-st-2:#3E9B3A;--cx-ease3:cubic-bezier(.16,1,.3,1)}

/* ---------- scroll progress ---------- */
.cx-progress{position:fixed;left:0;top:0;height:3px;width:100%;z-index:99999;transform-origin:left;transform:scaleX(0);background:linear-gradient(90deg,var(--primary),var(--cx-accent2,#8CC63F));pointer-events:none}

/* ---------- video stage ---------- */
.cx-stage{--st-1:var(--cx-st-1);--st-2:var(--cx-st-2);position:relative;padding:20px 0 0;overflow:visible}
.cx-stage__panel{position:relative;isolation:isolate;overflow:hidden;color:#fff;text-align:center;padding:130px 24px 330px;background:radial-gradient(120% 90% at 50% 0%,color-mix(in srgb,var(--st-2) 38%,var(--st-1)) 0%,var(--st-1) 62%);box-shadow:0 30px 80px rgba(3,20,9,.25)}
.cx-stage.has-bg .cx-stage__panel{background:linear-gradient(180deg,rgba(4,23,11,.82),rgba(4,23,11,.94)),var(--st-bg) center/cover no-repeat}
.cx-stage__glow{position:absolute;z-index:-1;border-radius:50%;filter:blur(70px);opacity:.55;pointer-events:none}
.cx-stage__glow.g1{width:520px;height:520px;left:-120px;top:-160px;background:var(--st-2);animation:cxDrift 14s ease-in-out infinite alternate}
.cx-stage__glow.g2{width:460px;height:460px;right:-100px;bottom:-120px;background:#8CC63F;opacity:.35;animation:cxDrift 18s ease-in-out infinite alternate-reverse}
.cx-stage__grid{position:absolute;inset:0;z-index:-1;opacity:.14;background-image:linear-gradient(rgba(255,255,255,.5) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.5) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse at 50% 0,#000 20%,transparent 70%);mask-image:radial-gradient(ellipse at 50% 0,#000 20%,transparent 70%)}
.cx-stage__in{max-width:960px;margin:0 auto;position:relative}
.cx-stage__eyebrow{display:inline-flex;align-items:center;gap:10px;padding:9px 18px;border-radius:99px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(8px);font:600 14px/1 var(--heading-font);letter-spacing:.06em;text-transform:uppercase;margin-bottom:26px;animation:cxUp .9s var(--cx-ease3) both}
.cx-stage__eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--cx-accent2,#8CC63F);box-shadow:0 0 0 0 rgba(140,198,63,.7);animation:cxPulse 2s infinite}
.cx-stage__title{color:#fff;margin:0 0 22px;font-size:clamp(36px,6vw,76px);line-height:1.04;font-weight:600;letter-spacing:-.025em}
.cx-stage__line{display:block}
.cx-w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em}
.cx-w i{display:inline-block;font-style:normal;transform:translateY(110%);transition:transform 1.1s var(--cx-ease3);transition-delay:calc(.12s + var(--i,0) * .09s)}
.cx-stage.in .cx-w i,.elementor-editor-active .cx-w i{transform:none}
.cx-stage__line:last-child .cx-w i{background:linear-gradient(90deg,#fff,#c8f5b4 60%,#8CC63F);-webkit-background-clip:text;background-clip:text;color:transparent}
.cx-stage__desc{max-width:680px;margin:0 auto 34px;font-size:clamp(16px,1.6vw,20px);line-height:1.65;color:rgba(255,255,255,.8);opacity:0;transform:translateY(20px);transition:all 1s var(--cx-ease3) .6s}
.cx-stage__btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;opacity:0;transform:translateY(20px);transition:all 1s var(--cx-ease3) .8s}
.cx-stage.in .cx-stage__desc,.cx-stage.in .cx-stage__btns,.elementor-editor-active .cx-stage__desc,.elementor-editor-active .cx-stage__btns{opacity:1;transform:none}
.cx-stage__btn,.cx-stage__btn:hover{text-decoration:none!important}
.cx-stage__btn{display:inline-flex;align-items:center;gap:10px;height:54px;padding:0 28px;border-radius:14px;font:600 16px/1 var(--heading-font);transition:transform .35s var(--cx-ease3),box-shadow .35s,background .3s}
.cx-stage__btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s}
.cx-stage__btn.is-light{background:#fff;color:#04170B}
.cx-stage__btn.is-glass{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(8px)}
.cx-stage__btn:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,0,0,.35)}
.cx-stage__btn.is-light:hover{background:var(--primary);color:var(--on-primary)}
.cx-stage__btn:hover svg{transform:translateX(5px)}

.cx-stage__video{position:relative;z-index:3;max-width:1080px;margin:-270px auto 0;padding:0 16px;transform:translateY(calc((1 - var(--p,1)) * 70px)) scale(calc(.93 + var(--p,1) * .07));transition:transform .15s linear;will-change:transform}
.cx-vframe{margin:0;padding:12px;border-radius:34px;background:linear-gradient(160deg,#e9eee9,#cdd6cf);box-shadow:0 50px 100px rgba(3,20,9,.35),0 0 0 1px rgba(255,255,255,.5) inset}
.cx-vframe__in{position:relative;border-radius:24px;overflow:hidden;background:#000;aspect-ratio:16/9;cursor:pointer}
.cx-vframe__in img,.cx-vframe__in video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--cx-ease3)}
.cx-vframe:hover .cx-vframe__in img,.cx-vframe:hover .cx-vframe__in video{transform:scale(1.05)}
.cx-vframe__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 40%,rgba(0,0,0,.6));pointer-events:none}
.cx-vplay{position:absolute;left:50%;top:50%;width:96px;height:96px;margin:-48px 0 0 -48px;border-radius:50%;border:0;background:#fff;color:#04170B;display:grid;place-items:center;cursor:pointer;box-shadow:0 18px 50px rgba(0,0,0,.4);transition:transform .4s var(--cx-ease3),background .3s,color .3s}
.cx-vplay svg{width:38px;height:38px;margin-left:5px}
.cx-vplay__ring{position:absolute;inset:-2px;border-radius:50%;border:2px solid rgba(255,255,255,.85);animation:cxRing 2.4s ease-out infinite}
.cx-vframe:hover .cx-vplay{transform:scale(1.12);background:var(--primary);color:var(--on-primary)}
.cx-vframe__cap{position:absolute;left:22px;bottom:22px;display:flex;flex-direction:column;gap:2px;padding:12px 20px;border-radius:16px;background:rgba(10,30,16,.55);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);color:#fff;text-align:left;max-width:calc(100% - 44px)}
.cx-vframe__cap b{font:600 18px/1.2 var(--heading-font)}
.cx-vframe__cap span{font-size:13px;opacity:.85;line-height:1.3}
.cx-vframe__hint{position:absolute;right:22px;bottom:30px;color:#fff;font:500 14px/1 var(--body-font);padding:10px 16px;border-radius:99px;background:rgba(255,255,255,.16);backdrop-filter:blur(8px)}
@keyframes cxRing{0%{transform:scale(1);opacity:.9}100%{transform:scale(1.7);opacity:0}}
@keyframes cxPulse{0%{box-shadow:0 0 0 0 rgba(140,198,63,.7)}70%{box-shadow:0 0 0 10px rgba(140,198,63,0)}100%{box-shadow:0 0 0 0 rgba(140,198,63,0)}}
@keyframes cxUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}

/* lightbox */
.cx-vmodal{position:fixed;inset:0;z-index:99995;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(2,12,5,.9);backdrop-filter:blur(8px);opacity:0;visibility:hidden;transition:opacity .35s,visibility 0s .35s}
.cx-vmodal.is-open{opacity:1;visibility:visible;transition:opacity .35s}
.cx-vmodal__box{width:min(1100px,100%);aspect-ratio:16/9;border-radius:20px;overflow:hidden;background:#000;box-shadow:0 40px 120px rgba(0,0,0,.6);transform:scale(.92);transition:transform .5s var(--cx-ease3)}
.cx-vmodal.is-open .cx-vmodal__box{transform:none}
.cx-vmodal__box video,.cx-vmodal__box iframe{width:100%;height:100%;border:0;display:block;background:#000}
.cx-vmodal__x{position:absolute;top:18px;right:18px;width:48px;height:48px;border-radius:50%;border:0;background:rgba(255,255,255,.14);color:#fff;font-size:26px;cursor:pointer;display:grid;place-items:center;transition:all .3s}
.cx-vmodal__x:hover{background:#fff;color:#000;transform:rotate(90deg)}
html.cx-vlock,html.cx-vlock body{overflow:hidden}

/* ---------- inner page banner ---------- */
.kariez-breadcrumb-wrapper{padding:170px 0 110px;min-height:380px;isolation:isolate}
.kariez-breadcrumb-wrapper::before{display:none}
.kariez-breadcrumb-wrapper .banner-image{inset:-15% 0;translate:0 var(--bn-y,0);background-attachment:scroll;transform:scale(1.08);animation:cxBn 14s ease-out forwards}
.kariez-breadcrumb-wrapper .banner-overlay{display:block;position:absolute;inset:0;background:linear-gradient(100deg,rgba(3,20,9,.9),rgba(6,45,20,.6) 55%,rgba(3,20,9,.35))!important;opacity:1!important}
.kariez-breadcrumb-wrapper::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:70px;background:#fff;border-radius:60px 60px 0 0;z-index:1}
.bn-orb{position:absolute;z-index:-1;border-radius:50%;filter:blur(60px);pointer-events:none}
.bn-orb.o1{width:380px;height:380px;right:-60px;top:-80px;background:rgba(140,198,63,.4);animation:cxDrift 12s ease-in-out infinite alternate}
.bn-orb.o2{width:300px;height:300px;left:12%;bottom:-120px;background:rgba(62,155,58,.4);animation:cxDrift 16s ease-in-out infinite alternate-reverse}
.kariez-breadcrumb-wrapper .entry-title{font-size:clamp(34px,5vw,62px);font-weight:600;letter-spacing:-.02em;animation:cxUp .9s var(--cx-ease3) .1s both}
.kariez-breadcrumb-wrapper .banner-sub{font-size:clamp(16px,1.7vw,20px);max-width:760px;opacity:1;color:rgba(255,255,255,.86);animation:cxUp .9s var(--cx-ease3) .3s both;border-left:3px solid var(--cx-accent2,#8CC63F);padding-left:16px;margin:12px 0 22px}
.kariez-breadcrumb-wrapper .breadcrumb-area{animation:cxUp .9s var(--cx-ease3) .5s both}
.kariez-breadcrumb-wrapper.is-align-center .banner-sub{border-left:0;padding-left:0}
.entry-breadcrumb{display:inline-flex;padding:8px 18px;border-radius:99px;background:rgba(255,255,255,.12);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.18)}
.entry-breadcrumb span,.entry-breadcrumb a{font-size:15px}
@keyframes cxBn{to{transform:scale(1)}}

/* ---------- automatic scroll reveals (added by enhance.js) ---------- */
.cx-ar{opacity:0;transform:translate3d(0,46px,0);transition:opacity 1s ease,transform 1.1s var(--cx-ease3);transition-delay:calc(var(--d,0) * 90ms)}
.cx-ar.cx-ar-zoom{transform:scale(.9)}
.cx-ar.cx-ar-left{transform:translate3d(-60px,0,0)}
.cx-ar.cx-ar-right{transform:translate3d(60px,0,0)}
.cx-ar.in{opacity:1;transform:none}
.cx-section .main-title{position:relative}
.cx-sec .top-sub-title{transition:transform .4s var(--cx-ease3),box-shadow .4s}
.cx-sec .top-sub-title:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(0,0,0,.08)}
.cx-tilt{transition:transform .5s var(--cx-ease3),box-shadow .5s;transform-style:preserve-3d;will-change:transform}
.cx-fleet-card,.cx-fleet-card *{backface-visibility:hidden}
.cx-fleet-card{transition:transform .5s var(--cx-ease3),box-shadow .5s}
.cx-fleet-card:hover{box-shadow:0 30px 60px rgba(8,40,16,.16)}
.cx-btn::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-120%);transition:transform .8s var(--cx-ease3);pointer-events:none}
.cx-btn:hover::after{transform:translateX(120%)}
.cx-counters .counter{transition:transform .5s var(--cx-ease3)}
.cx-counters .counter:hover{transform:translateY(-6px)}
.cx-cta-band{position:relative;overflow:hidden}
.cx-cta-band::before{content:"";position:absolute;inset:-40%;background:conic-gradient(from 0deg,transparent,rgba(255,255,255,.12),transparent 30%);animation:cxSpin 14s linear infinite;pointer-events:none}
@keyframes cxSpin{to{transform:rotate(360deg)}}

/* ---------- EP Product Showcase inside theme sections ---------- */
.cx-sec-soft .epps{--epps-card:#fff}
.cx-epps-wrap .epps-chip{font-family:var(--heading-font)}

/* ---------- responsive ---------- */
@media(max-width:1024px){
  .cx-stage__panel{padding:100px 20px 260px}
  .cx-stage__video{margin-top:-210px}
  .kariez-breadcrumb-wrapper{padding:140px 0 100px;min-height:320px}
}
@media(max-width:767px){
  .cx-stage{padding-top:10px}
  .cx-stage__panel{padding:78px 16px 190px}
  .cx-stage__video{margin-top:-140px;padding:0 10px}
  .cx-vframe{padding:7px;border-radius:22px}
  .cx-vframe__in{border-radius:16px}
  .cx-vplay{width:68px;height:68px;margin:-34px 0 0 -34px}
  .cx-vplay svg{width:28px;height:28px}
  .cx-vframe__cap{left:12px;bottom:12px;padding:9px 14px;border-radius:12px}
  .cx-vframe__cap b{font-size:15px}.cx-vframe__cap span{font-size:11.5px}
  .cx-vframe__hint{display:none}
  .cx-stage__btn{height:50px;padding:0 22px;font-size:15px}
  .cx-stage__btns{flex-direction:column;align-items:stretch;max-width:320px;margin:0 auto}
  .cx-stage__btn{justify-content:center}
  .kariez-breadcrumb-wrapper{padding:120px 0 90px;min-height:280px}
  .kariez-breadcrumb-wrapper::after{height:46px;border-radius:36px 36px 0 0}
  .kariez-breadcrumb-wrapper .banner-sub{font-size:15.5px}
  .cx-ar{transform:translate3d(0,30px,0)}
  .cx-ar.cx-ar-left,.cx-ar.cx-ar-right{transform:translate3d(0,30px,0)}
  .cx-vmodal{padding:10px}.cx-vmodal__box{border-radius:12px}
}
@media(hover:none){.cx-tilt{transform:none!important}}
@media(prefers-reduced-motion:reduce){
  .cx-ar,.cx-w i,.cx-stage__desc,.cx-stage__btns{opacity:1!important;transform:none!important;transition:none!important}
  .cx-stage__glow,.bn-orb,.cx-vplay__ring,.cx-cta-band::before,.kariez-breadcrumb-wrapper .banner-image{animation:none!important}
  .cx-stage__video{transform:none!important}
}
