1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[220],{674:(e,t,n)=>{"use strict";n.d(t,{default:()=>a});var r=n(7066),s=n(3426);let a=e=>{let{value:t,durationMs:n=3200,suffix:a="",decimals:l=0,className:i}=e,[o,c]=(0,s.useState)(0),[d,u]=(0,s.useState)(!1),m=(0,s.useRef)(null);return(0,s.useEffect)(()=>{if(!m.current)return;let e=new IntersectionObserver(t=>{let[n]=t;(null==n?void 0:n.isIntersecting)&&(u(!0),e.disconnect())},{threshold:.4});return e.observe(m.current),()=>e.disconnect()},[]),(0,s.useEffect)(()=>{let e;if(!d)return;let r=null,s=a=>{r||(r=a);let l=Math.min((a-r)/n,1);c((1-Math.pow(1-l,3))*t),l<1&&(e=window.requestAnimationFrame(s))};return e=window.requestAnimationFrame(s),()=>{e&&window.cancelAnimationFrame(e)}},[d,n,t]),(0,r.jsxs)("span",{ref:m,className:i,children:[d?o.toFixed(l):t.toFixed(l),a]})}},1176:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>l});var r=n(7066),s=n(3426),a=n(5608);function l(e){let{children:t,className:n,delay:l=0,y:i=16,once:o=!0,amount:c=.2}=e,d=(0,s.useRef)(null),[u,m]=(0,s.useState)(!1);return(0,s.useEffect)(()=>{let e=d.current;if(!e)return;if(window.matchMedia("(prefers-reduced-motion: reduce)").matches||!("IntersectionObserver"in window))return void m(!0);let t=new IntersectionObserver(e=>{let[n]=e;n.isIntersecting?(m(!0),o&&t.disconnect()):o||m(!1)},{threshold:c});return t.observe(e),()=>t.disconnect()},[c,o]),(0,r.jsx)("div",{ref:d,className:(0,a.cn)(n),style:{opacity:+!!u,transform:u?"translateY(0px)":"translateY(".concat(i,"px)"),transitionProperty:"opacity, transform",transitionDuration:"600ms",transitionTimingFunction:"cubic-bezier(0.22, 1, 0.36, 1)",transitionDelay:u?"".concat(l,"s"):"0s",willChange:"opacity, transform"},children:t})}}
1,1443:(e,t,n)=>{"use strict";n.r(t),n.d(t,{LazyLoader:()=>l});var r=n(7066),s=n(6270),a=n(5608);function l(e){let{moduleKey:t,observerOptions:n={},triggerOn:l="scroll",shouldLoad:i,fallback:o=(0,r.jsx)("div",{className:"w-full h-full min-h-12 bg-black/5 rounded-md animate-pulse","aria-hidden":"true"}),className:c,componentProps:d}=e,{ref:u,Component:m}=(0,s.t)(t,{triggerOn:l,shouldLoad:i,observerOptions:n}),h=d||{};return"statechange"===l?m?(0,r.jsx)(m,{...h}):o:(0,r.jsx)("div",{ref:u,className:(0,a.cn)("w-full min-h-12",c),children:m?(0,r.jsx)(m,{...h}):o})}},3286:(e,t,n)=>{"use strict";n.d(t,{default:()=>c});var r=n(7066),s=n(1187),a=n(3426),l=n(9590),i=n(7105);let o=[{title:"Flexibility",text:"We adapt to your needs and scale your team effortlessly.",icon:"/images/pages/about/benefits/spiral.webp"},{title:"Transparency",text:"Transparent process. Honest talk. Reliable outcomes.",icon:"/images/pages/about/benefits/document.webp"},{title:"Expertise",text:"Proven experience across various industries and tech stacks.",icon:"/images/pages/about/benefits/brain.webp"},{title:"Global team",text:"Smooth collaboration, no barriers.",icon:"/images/pages/about/benefits/network.webp"}];function c(){let e=(0,a.useRef)(null),t=(0,a.useRef)([]),n=(0,a.useRef)(null),[c,d]=(0,a.useState)(0),[u,m]=(0,a.useState)({x:0,y:0}),h=(0,a.useCallback)(()=>{let r=e.current,s=t.current[c],a=n.current;if(r&&s&&a){let e=r.getBoundingClientRect(),t=s.getBoundingClientRect(),n=a.getBoundingClientRect(),l=window.innerWidth<640,i=t.top-e.top-.5*n.height;m({x:l?t.left-e.left+t.width-.62*n.width:t.left-e.left-.5*n.width,y:i})}},[c]);return(0,a.useEffect)(()=>(h(),window.addEventListener("resize",h),()=>window.removeEventListener("resize",h)),[h]),(0,r.jsx)("section",{className:"py-20 md:pt-25 md:pb-27.5 bg-off-white",children:(0,r.jsxs)("div",{className:"container",children:[(0,r.jsx)(i.A,{label:"Strategic Advantage",title:"Why Partners Choose Xedrum"}),(0,r.jsxs)("div",{ref:e,className:"relative grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 h-full gap-3 mt-3.5 sm:mt-11",children:[(0,r.jsx)("div",{ref:n,className:"absolute pointer-events-none transition-transform duration-550 ease-in-out z-20",style:{left:0,top:0,transform:"translate(".concat(u.x,"px, ").concat(u.y,"px)")},children:(0,r.jsx)(l.A,{name:"2",onLoad:h,className:"relative w-34 rotate-[133.93deg] lg:w-45.5",noWrapper:!0})}),o.map((e,n)=>{let a=c===n;return(0,r.jsxs)("div",{ref:e=>{t.current[n]=e},onMouseEnter:()=>d(n),onClick:()=>d(n),className:"\n flex flex-col pr-7.5 pl-2.25 pb-10 lg:pl-7.5 \n group transition-colors border rounded-3xl backdrop-blur-md cursor-pointer \n hover:bg-green-primary/20 \n ".concat(a?"bg-green-primary/14 border-[#39932c4a] z-30":"bg-white border-[#eeeeee] z-10 lg:z-30","\n "),children:[(0,r.jsx)(s.default,{src:e.icon,alt:"",role:"presentation",width:305,height:305,className:"w-25.25 lg:w-50.75 h-auto object-contain ",onLoad:h}),(0,r.jsxs)("div",{className:"ml-5.25 lg:m-0",children:[(0,r.jsx)("h3",{className:"t-title-3 text-[1.5rem] mb-2",children:e.title}),(0,r.jsx)("p",{className:"max-w-3xs font-body font-normal text-[0.875rem] leading-[1.43] text-black/60",children:e.text})]})]},n)})]})]})})}},4899:(e,t,n)=>{"use strict";n.d(t,{W:()=>s});var r=n(3426);function s(){let{triggerOnce:e=!0,root:t,rootMargin:n="250px 0px",threshold:s=0}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=(0,r.useRef)(null),[l,i]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{let r=a.current;if(!r)return;if(!("IntersectionObserver"in window))return void i(!0);let l=new IntersectionObserver(t=>{let[n]=t;n.isIntersecting?(i(!0),e&&l.disconnect()):e||i(!1)},{root:t,rootMargin:n,threshold:s});return l.observe(r),()=>l.disconnect()},[e,t,n,s]),{ref:a,isInView:l}}},5130:(e,t,n)=>{Promise.resolve().then(n.bind(n,3535)),Promise.resolve().then(n.t.bind(n,4423,23)),Promise.resolve().then(n.t.bind(n,6144,23)),Promise.resolve().then(n.bind(n,3286)),Promise.resolve().then(n.bind(n,6905)),Promise.resolve().then(n.bind(n,674)),Promise.resolve().then(n.bind(n,8327)),Promise.resolve().then(n.bind(n,7672)),Promise.resolve().then(n.bind(n,7300)),Promise.resolve().then(n.bind(n,1443)),Promise.resolve().then(n.bind(n,6222)),Promise.resolve().then(n.bind(n,1176)),Promise.resolve().then(n.bind(n,2730)),Promise.resolve().then(n.bind(n,1422))},6222:(e,t,n)=>{"use strict";n.r(t),n.d(t,{LazyRender:()=>l});var r=n(7066),s=n(4899),a=n(5608);function l(e){let{children:t,className:n,fallback:l=null,observerOptions:i={}}=e,{ref:o,isInView:c}=(0,s.W)(i);return(0,r.jsx)("div",{ref:o,className:(0,a.cn)("min-h-[1px]",n),children:c?t:l})}},6270:(e,t,n)=>{"use strict";n.d(t,{t:()=>l});var r=n(3426);let s={DefaultFormUI:()=>Promise.all([n.e(423),n.e(381),n.e(790),n.e(28)]).then(n.bind(n,6028)).then(e=>e.DefaultFormUI),BannerFormUI:()=>Promise.all([n.e(423),n.e(381),n.e(790),n.e(907)]).then(n.bind(n,8907)).then(e=>e.BannerFormUI),NewsletterFormUI:()=>Promise.all([n.e(423),n.e(381),n.e(790),n.e(125)]).then(n.bind(n,7506)).then(e=>e.NewsletterFormUI),heroVideoModal:()=>Promise.all([n.e(975),n.e(977),n.e(790),n.e(41),n.e(651)]).then(n.bind(n,5651)).then(e=>e.HeroVideoModal)};var a=n(4899);function l(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{triggerOn:"scroll"},{triggerOn:n="scroll",observerOptions:l={}}=t,{ref:i,isInView:o}=(0,a.W)(l),[c,d]=(0,r.useState)(null),u=(0,r.useRef)(!1),m="statechange"===n?t.shouldLoad:o;return(0,r.useEffect)(()=>{m&&!u.current&&(u.current=!0,(0,s[e])().then(e=>{e&&d(()=>e)}
1))},[m,e]),{ref:i,Component:c}}},6905:(e,t,n)=>{"use strict";n.d(t,{ProgressBar:()=>j});var r=n(7066),s=n(3426),a=n(6266),l=n(6213),i="Progress",[o,c]=(0,a.A)(i),[d,u]=o(i),m=s.forwardRef((e,t)=>{var n,s,a,i;let{__scopeProgress:o,value:c=null,max:u,getValueLabel:m=p,...h}=e;(u||0===u)&&!b(u)&&console.error((n="".concat(u),s="Progress","Invalid prop `max` of value `".concat(n,"` supplied to `").concat(s,"`. Only numbers greater than 0 are valid max values. Defaulting to `").concat(100,"`.")));let f=b(u)?u:100;null===c||g(c,f)||console.error((a="".concat(c),i="Progress","Invalid prop `value` of value `".concat(a,"` supplied to `").concat(i,"`. The `value` prop must be:\n - a positive number\n - less than the value passed to `max` (or ").concat(100," if no `max` prop is set)\n - `null` or `undefined` if the progress is indeterminate.\n\nDefaulting to `null`.")));let w=g(c,f)?c:null,j=v(w)?m(w,f):void 0;return(0,r.jsx)(d,{scope:o,value:w,max:f,children:(0,r.jsx)(l.sG.div,{"aria-valuemax":f,"aria-valuemin":0,"aria-valuenow":v(w)?w:void 0,"aria-valuetext":j,role:"progressbar","data-state":x(w,f),"data-value":null!=w?w:void 0,"data-max":f,...h,ref:t})})});m.displayName=i;var h="ProgressIndicator",f=s.forwardRef((e,t)=>{var n;let{__scopeProgress:s,...a}=e,i=u(h,s);return(0,r.jsx)(l.sG.div,{"data-state":x(i.value,i.max),"data-value":null!=(n=i.value)?n:void 0,"data-max":i.max,...a,ref:t})});function p(e,t){return"".concat(Math.round(e/t*100),"%")}function x(e,t){return null==e?"indeterminate":e===t?"complete":"loading"}function v(e){return"number"==typeof e}function b(e){return v(e)&&!isNaN(e)&&e>0}function g(e,t){return v(e)&&!isNaN(e)&&e<=t&&e>=0}f.displayName=h;let w=e=>{let{value:t,start:n}=e,[a,l]=(0,s.useState)(0);return(0,s.useEffect)(()=>{let e;if(!n)return;let r=null,s=n=>{r||(r=n);let a=Math.min((n-r)/2200,1);l(Math.floor((1-Math.pow(1-a,3))*t)),a<1&&(e=window.requestAnimationFrame(s))};return e=window.requestAnimationFrame(s),()=>{e&&window.cancelAnimationFrame(e)}},[n,t]),(0,r.jsx)(r.Fragment,{children:n?a:t})},j=e=>{let{items:t=[]}=e,n=(0,s.useRef)(null),[a,l]=(0,s.useState)(!1);return(0,s.useEffect)(()=>{if(!n.current)return;let e=new IntersectionObserver(t=>{let[n]=t;(null==n?void 0:n.isIntersecting)&&(l(!0),e.disconnect())},{threshold:.3});return e.observe(n.current),()=>e.disconnect()},[]),(0,r.jsx)("div",{ref:n,className:"flex flex-col gap-5 md:gap-5.5",children:t.map((e,t)=>{let n=Number(e.percentages),s=(e=>e>=95?"#53B36F":e>=90?"#3C8551":"#275735")(Number(e.percentages));return(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex justify-between mb-2 md:mb-2.5 font-heading font-bold text-[0.875] leading-[1.35]",children:[(0,r.jsx)("span",{children:e.title}),(0,r.jsxs)("span",{children:[(0,r.jsx)(w,{value:n,start:a}),"%"]})]}),(0,r.jsx)(m,{className:"relative bg-[#DEF1E4] h-2.5 w-full p-0.5 rounded-full overflow-hidden",children:(0,r.jsx)(f,{className:"bg-green-primary h-full rounded-full transition-all duration-[2200ms] ease-out",style:{width:a?"".concat(n,"%"):"0%",backgroundColor:s}})})]},t)})})}},7105:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(7066),s=n(4423),a=n.n(s),l=n(5608),i=n(9196);function o(e){let{label:t,labelVariant:n="default",labelClassName:s="",title:o,titleClassName:c="",titleHref:d,titleLinkRef:u,titleLinkClassName:m="",description:h,descriptionClassName:f="",hgroupGap:p="gap-2.5 md:gap-2",hgroupClassName:x="",gap:v="gap-2 md:gap-4",className:b=""}=e,g=(0,r.jsxs)("hgroup",{className:(0,l.cn)("flex flex-col max-w-[clamp(27rem,90%,50rem)] text-balance",p,x,!h&&b),children:[(0,r.jsx)(i.J,{variant:n,className:s,children:t}),(0,r.jsx)("h2",{className:(0,l.cn)("section-title",c),children:d?(0,r.jsx)(a(),{href:d,ref:u,className:(0,l.cn)("block w-full",m),children:o}):o})]});return h?(0,r.jsxs)("div",{className:(0,l.cn)("flex flex-col",v,b),children:[g,h&&(0,r.jsx)("p",{className:(0,l.cn)("t-lead text-[#191919] max-w-[clamp(24rem,45%,50rem)] text-pretty",f),children:h})]}):g}},7672:(e,t,n)=>{"use strict";n.d(t,{default:()=>l});var r=n(3426);let s="about-video",a="scrollTo",l=()=>((0,r.useEffect)(()=>
1{if("undefined"==typeof document)return;let e=window.location.hash==="#".concat(s),t="video"===new URLSearchParams(window.location.search).get(a);if(!e&&!t)return;let n=document.getElementById(s);if(n){let e=n.getBoundingClientRect(),r=e.top+window.scrollY+e.height/2-window.innerHeight/2-0;if(window.scrollTo({top:r,behavior:"smooth"}),t){let e=new URL(window.location.href);e.searchParams.delete(a),window.history.replaceState(null,"","".concat(e.pathname).concat(e.hash))}}},[]),null)},8327:(e,t,n)=>{"use strict";n.d(t,{Modal:()=>o});var r=n(7066),s=n(3426),a=n(3231),l=n(5608),i=n(5441);function o(e){let{isOpen:t,onClose:n,children:o,className:c}=e,d=(0,s.useRef)(null);return((0,s.useEffect)(()=>{if(!t)return;document.body.style.overflow="hidden";let e=e=>{"Escape"===e.key&&n()};return document.addEventListener("keydown",e),()=>{document.body.style.overflow="unset",document.removeEventListener("keydown",e)}},[t,n]),t)?(0,a.createPortal)((0,r.jsxs)("div",{className:"fixed inset-0 z-[9999] flex items-center justify-center p-4 sm:p-6",children:[(0,r.jsx)("div",{className:"absolute inset-0 bg-black/40 backdrop-blur-sm transition-opacity",onClick:n,"aria-hidden":"true"}),(0,r.jsxs)("div",{ref:d,className:(0,l.cn)("relative w-full max-w-lg bg-white rounded-3xl shadow-2xl p-6 md:p-10 max-h-[85vh] lg:max-h-[95vh] flex flex-col overflow-hidden animate-in fade-in zoom-in duration-200",c),children:[(0,r.jsxs)("button",{onClick:n,className:"ml-auto flex shrink-0 items-center justify-center p-2 mb-2 text-gray-800 hover:text-green-primary transition-colors",children:[(0,r.jsx)("span",{className:"sr-only",children:"Close modal"}),(0,r.jsx)(i.I,{name:"close",className:"size-4 md:size-5"})]}),o]})]}),document.body):null}},9196:(e,t,n)=>{"use strict";n.d(t,{J:()=>a});var r=n(7066);n(3426);var s=n(5608);let a=e=>{let{children:t,variant:n="default",className:a=""}=e;return(0,r.jsxs)("p",{className:(0,s.cn)("inline-flex items-center rounded-full whitespace-nowrap t-eyebrow shrink-0 w-fit",{default:"\n text-black font-bold\n gap-[0.6em] md:gap-[0.667em] \n px-[0.8em] py-[0.4em] md:px-[1em] md:py-[0.583em]\n bg-[linear-gradient(90deg,_#DEF1E4_0%,_rgba(255,255,255,0.11)_75%)]\n ",hero:"\n text-white font-bold md:font-medium\n gap-[0.8em] md:gap-[0.667em]\n px-[1.2em] py-[0.4em] md:py-[0.583em]\n bg-[linear-gradient(45deg,_#A3D9B4_0%,_rgba(255,255,255,0)_75%)]\n "}[n],a),children:[(0,r.jsx)("span",{className:"w-1 h-1 rounded-full shrink-0 bg-current","aria-hidden":"true"}),(0,r.jsx)("span",{children:t})]})}},9590:(e,t,n)=>{"use strict";n.d(t,{A:()=>u});var r=n(7066),s=n(1187),a=n(3426),l=n(5608);let i={base:{w:400,h:514},"base-dark":{w:400,h:514},2:{w:364,h:336},3:{w:200,h:202},"group-1":{w:336,h:372},"base-cropped-1":{w:400,h:514},"base-cropped-2":{w:400,h:514}},o={"float-x":"puzzle-float-x","float-y":"puzzle-float-y",none:""},c=(0,a.memo)(function(e){let{name:t,overlayName:n,className:a="",underlayClassName:c="",overlayClassName:d="",animation:u="float-y",...m}=e,h=n?"/images/ui/puzzles/puzzle-".concat(n,".webp"):"",f=i[t],p=n?i[n]:null,x=o[u]||"";return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.default,{src:"/images/ui/puzzles/puzzle-".concat(t,".webp"),alt:"",role:"presentation","aria-hidden":"true",width:f.w,height:f.h,className:(0,l.cn)("absolute object-contain pointer-events-none",x,a,c),...m}),n&&p&&(0,r.jsx)(s.default,{src:h,alt:"",role:"presentation","aria-hidden":"true",width:p.w,height:p.h,className:(0,l.cn)("absolute object-contain pointer-events-none z-35",x,a,d),...m})]})}),d=e=>{let{children:t,containerClassName:n="",noWrapper:s=!1,...a}=e,i=(0,r.jsxs)(r.Fragment,{children:[a.name&&(0,r.jsx)(c,{...a}),t]});return s?i:(0,r.jsx)("div",{className:(0,l.cn)("absolute inset-0 pointer-events-none",n),children:i})};d.Item=c;let u=d}},e=>{e.O(0,[423,124,964,535,790,655,41,806,506,358],()=>e(e.s=5130)),_N_E=e.O()}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.