gsap.registerPlugin(CustomEase,ScrollTrigger),history.scrollRestoration="manual";let lenis=null,nextPage=document,onceFunctions=!1,swiperInstances=[],activeObservers=[],textureInstances=[];const hasLenis=void 0!==window.Lenis,hasScrollTrigger=void 0!==window.ScrollTrigger,rmMQ=window.matchMedia("(prefers-reduced-motion: reduce)");let reducedMotion=rmMQ.matches;rmMQ.addEventListener?.("change",e=>reducedMotion=e.matches);const has=e=>!!nextPage.querySelector(e);function initLenis(){lenis||!hasLenis||isSafari()||(lenis=new Lenis({lerp:.15,wheelMultiplier:1}),hasScrollTrigger&&lenis.on("scroll",ScrollTrigger.update),gsap.ticker.add(e=>lenis.raf(1e3*e)),gsap.ticker.lagSmoothing(0))}function initLoader(){const e=document.querySelector(".loader");if(!e||e.dataset.loaderInit)return;e.dataset.loaderInit="true";const t=e.querySelector(".loader-logo"),o=e.querySelector(".loader-bk"),r=document.querySelector('.nav[data-wf--navigation--variant="base"] .nav-logo')||document.querySelector(".nav .nav-logo"),n=t?t.querySelector(".h-dot"):null,i=()=>{r&&gsap.set(r,{autoAlpha:1}),gsap.set(e,{display:"none"}),lenis?.start&&lenis.start()};if(reducedMotion)return void i();lenis?.stop&&lenis.stop(),r&&gsap.set(r,{autoAlpha:0});const a=getComputedStyle(document.documentElement).getPropertyValue("--swatch--brand").trim()||"#19E08B";if(n){const e=getComputedStyle(n),t=parseFloat(e.animationDelay)||0,o=parseFloat(e.animationDuration)||0;gsap.delayedCall(t+.62*o,()=>gsap.set(n,{fill:a}))}const s=document.querySelector(".hero-txt"),l=document.querySelector(".hero-paragraph"),c=document.querySelector(".page_content section"),u=c?c.querySelector(".u-eyebrow-text"):null,d=document.querySelector(".site-vertical-line-hero"),p=document.querySelector(".pill-wrap"),g=[u,s,l].filter(Boolean);g.length&&gsap.set(g,{autoAlpha:0}),d&&gsap.set(d,{height:"0%"}),p&&gsap.set(p,{yPercent:100});const m=document.createElement("canvas");m.style.cssText="position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;","static"===getComputedStyle(e).position&&(e.style.position="relative"),o?o.appendChild(m):e.appendChild(m),o&&"static"===getComputedStyle(o).position&&(o.style.position="relative");const f=m.getContext("webgl",{alpha:!0,premultipliedAlpha:!1});let h={p:1},y=()=>{},v=()=>{};if(f){const t=(e=>{const t=document.createElement("canvas");t.width=t.height=1;const o=t.getContext("2d");o.fillStyle=(e||"#000").trim(),o.fillRect(0,0,1,1);const r=o.getImageData(0,0,1,1).data;return[r[0]/255,r[1]/255,r[2]/255]})(getComputedStyle(document.documentElement).getPropertyValue("--swatch--dark")),r="attribute vec2 a_pos;void main(){gl_Position=vec4(a_pos,0.0,1.0);}",n=["precision highp float;","uniform vec2 u_res;uniform float u_time;uniform float u_progress;uniform vec3 u_dark;","const int MAX_BLOBS=6;","vec2 blobPos(float i,vec2 asp){"," float a=fract(sin(i*12.9898)*43758.5453);float b=fract(sin(i*78.233)*43758.5453);float c=fract(sin(i*39.425)*43758.5453);"," vec2 base=vec2(0.5)+(vec2(a,b)-0.5)*1.1;"," float sp=0.18*(0.5+c);"," vec2 drift=vec2(sin(u_time*sp+i*1.7),cos(u_time*sp*0.9+i*2.3))*0.35;"," return (base+drift)*asp;","}","float blob(vec2 p,vec2 c,float r){float d=distance(p,c);return 1.0/(1.0+(d*d)/(r*r));}","void main(){"," vec2 uv=gl_FragCoord.xy/u_res.xy;vec2 asp=vec2(u_res.x/u_res.y,1.0);vec2 p=uv*asp;"," float field=0.0;"," for(int i=0;i{const o=f.createShader(e);return f.shaderSource(o,t),f.compileShader(o),f.getShaderParameter(o,f.COMPILE_STATUS)||console.warn("[loader] shader:",f.getShaderInfoLog(o)),o},a=f.createProgram();f.attachShader(a,i(f.VERTEX_SHADER,r)),f.attachShader(a,i(f.FRAGMENT_SHADER,n)),f.linkProgram(a),f.useProgram(a);const s=f.createBuffer();f.bindBuffer(f.ARRAY_BUFFER,s),f.bufferData(f.ARRAY_BUFFER,new Float32Array([-1,-1,3,-1,-1,3]),f.STATIC_DRAW);const l=f.getAttribLocation(a,"a_pos");f.enableVertexAttribArray(l),f.vertexAttribPointer(l,2,f.FLOAT,!1,0,0);const c={};["u_res","u_time","u_progress","u_dark"].forEach(e=>c[e]=f.getUniformLocation(a,e)),f.clearColor(0,0,0,0);let u=null,d=0,p=performance.now();y=()=>{f.uniform2f(c.u_res,m.width,m.height),f.uniform1f(c.u_time,d),f.uniform1f(c.u_progress,h.p),f.uniform3fv(c.u_dark,t),f.clear(f.COLOR_BUFFER_BIT),f.drawArrays(f.TRIANGLES,0,3)};const g=()=>{const t=Math.min(window.devicePixelRatio||1,TEXTURE_MAX_DPR);m.width=Math.max(1,Math.round((o||e).clientWidth*t)),m.height=Math.max(1,Math.round((o||e).clientHeight*t)),f.viewport(0,0,m.width,m.height),y()},b=e=>{const t=Math.min((e-p)/1e3,.05);p=e,d+=t,y(),u=requestAnimationFrame(b)};g(),window.addEventListener("resize",g),u=requestAnimationFrame(b),v=()=>{null!=u&&cancelAnimationFrame(u),window.removeEventListener("resize",g);const e=f.getExtension("WEBGL_lose_context");e&&e.loseContext(),m.remove()},gsap.set(o,{backgroundColor:"transparent"})}gsap.delayedCall(3.8,()=>{const e=[],o=gsap.timeline({onComplete:()=>{v(),i(),revertSplitsOnResize(e)}});if(t&&r){const e=t.querySelector("svg, img")||t,n=r.querySelector("svg, img")||r,i=e.getBoundingClientRect(),a=n.getBoundingClientRect();if(i.height&&a.height){const t=a.height/i.height,r=a.left+a.width/2-(i.left+i.width/2),n=a.top+a.height/2-(i.top+i.height/2);gsap.set(e,{transformOrigin:"50% 50%"}),o.to(e,{x:r,y:n,scale:t,duration:1.1,ease:"expo.inOut"},0)}}o.to(h,{p:0,duration:1.8,ease:"smooth"},.15);const a="undefined"!=typeof SplitText;if(a&&gsap.registerPlugin(SplitText),d&&o.fromTo(d,{height:"0%"},{height:"100%",duration:1.1,ease:"smooth"},.9),u)if(o.set(u,{autoAlpha:1},.9),a){const t=new SplitText(u,{type:"lines"});e.push(t),o.fromTo(t.lines,{y:"2rem",opacity:0},{y:"0rem",opacity:1,duration:.8,stagger:.07,ease:"smooth"},.9)}else o.fromTo(u,{y:"2rem",opacity:0},{y:"0rem",opacity:1,duration:.8,ease:"smooth"},.9);if(s)if(o.set(s,{autoAlpha:1},.9),a){const t=new SplitText(s,{type:"lines"});e.push(t),o.fromTo(t.lines,{y:"3rem",opacity:0},{y:"0rem",opacity:1,duration:.9,stagger:.08,ease:"smooth"},.9)}else o.fromTo(s,{y:"3rem",opacity:0},{y:"0rem",opacity:1,duration:.9,ease:"smooth"},.9);if(l)if(o.set(l,{autoAlpha:1},1.65),a){const t=new SplitText(l,{type:"lines"});e.push(t),o.fromTo(t.lines,{y:"2rem",opacity:0},{y:"0rem",opacity:1,duration:.8,stagger:.07,ease:"smooth"},1.65)}else o.fromTo(l,{y:"2rem",opacity:0},{y:"0rem",opacity:1,duration:.8,ease:"smooth"},1.65);p&&o.to(p,{yPercent:0,duration:.9,ease:"expo.out"},2.65),n&&o.to(n,{fill:"#FFFFFF",duration:.5,ease:"smooth"},2.65)})}function initOnceFunctions(){initLenis(),onceFunctions||(onceFunctions=!0,initFsCallbacks(),initLoader(),initContact())}function initBeforeEnterFunctions(e){nextPage=e||document}function initAfterEnterFunctions(e){nextPage=e.next.container,resetWebflow(e.next.html),allpages()}function runPageOnceAnimation(e){const t=gsap.timeline();return t.call(()=>resetPage(e),null,0),t.set(e,{autoAlpha:1,clearProps:"opacity,visibility"},0),t}function revertSplitsOnResize(e){const t=(e||[]).filter(Boolean);if(!t.length)return;let o=!1;const r=()=>{o||(o=!0,window.removeEventListener("resize",i),t.forEach(e=>e.revert&&e.revert()))};let n;const i=()=>{clearTimeout(n),n=setTimeout(r,150)};window.addEventListener("resize",i),activeObservers.push({disconnect:r})}function buildHeroEntrance(e){const t=e||document,o=t.querySelector(".hero-txt"),r=t.querySelector(".hero-paragraph"),n=t.querySelector(".page_content section"),i=n?n.querySelector(".u-eyebrow-text"):null,a=t.querySelector(".site-vertical-line-hero"),s=[i,o,r].filter(Boolean);if(!s.length)return null;if(reducedMotion)return gsap.set(s,{autoAlpha:1}),a&&gsap.set(a,{height:"100%"}),null;gsap.set(s,{autoAlpha:0}),a&&gsap.set(a,{height:"0%"});const l="undefined"!=typeof SplitText;l&&gsap.registerPlugin(SplitText);const c=[],u=gsap.timeline({paused:!0,onComplete:()=>revertSplitsOnResize(c)});if(a&&u.fromTo(a,{height:"0%"},{height:"100%",duration:1.1,ease:"smooth"},0),i)if(u.set(i,{autoAlpha:1},0),l){const e=new SplitText(i,{type:"lines"});c.push(e),u.fromTo(e.lines,{y:"2rem",opacity:0},{y:"0rem",opacity:1,duration:.8,stagger:.07,ease:"smooth"},0)}else u.fromTo(i,{y:"2rem",opacity:0},{y:"0rem",opacity:1,duration:.8,ease:"smooth"},0);if(o)if(u.set(o,{autoAlpha:1},0),l){const e=new SplitText(o,{type:"lines"});c.push(e),u.fromTo(e.lines,{y:"3rem",opacity:0},{y:"0rem",opacity:1,duration:.9,stagger:.08,ease:"smooth"},0)}else u.fromTo(o,{y:"3rem",opacity:0},{y:"0rem",opacity:1,duration:.9,ease:"smooth"},0);if(r)if(u.set(r,{autoAlpha:1},.2),l){const e=new SplitText(r,{type:"lines"});c.push(e),u.fromTo(e.lines,{y:"2rem",opacity:0},{y:"0rem",opacity:1,duration:.8,stagger:.07,ease:"smooth"},.2)}else u.fromTo(r,{y:"2rem",opacity:0},{y:"0rem",opacity:1,duration:.8,ease:"smooth"},.2);return u}function teardownPage(){activeObservers.forEach(e=>e.disconnect()),activeObservers=[],hasScrollTrigger&&ScrollTrigger.getAll().forEach(e=>e.kill()),destroySwipers(),destroySectionTextures(),destroyFsAttributes()}CustomEase.create("osmo","0.625, 0.05, 0, 1"),CustomEase.create("parallax","0.7, 0.05, 0.13, 1"),CustomEase.create("energy","M0,0 C0.32,0.72 0,1 1,1"),CustomEase.create("smooth","M0,0 C0.38,0.005 0.215,1 1,1"),CustomEase.create("punch","M0,0 C0.19,1 0.22,1 1,1"),CustomEase.create("relaxed","M0,0 C0.7,0 0.3,1 1,1"),CustomEase.create("expo.inOut","M0,0 C0.87,0 0.13,1 1,1"),CustomEase.create("jump","M0,0 C0.35,1.5 0.6,1 1,1"),CustomEase.create("anticipate","M0,0 C0.8,-0.4 0.5,1 1,1"),CustomEase.create("elastic","M0,0 C0.0127,0.0956 0.0562,0.434 0.076,0.5737 C0.0958,0.7134 0.1077,0.7761 0.1187,0.8382 C0.1297,0.9003 0.1341,0.9145 0.1419,0.9463 C0.1497,0.9781 0.1574,1.0055 0.1654,1.0292 C0.1734,1.0529 0.1814,1.0725 0.1897,1.0886 C0.198,1.1047 0.2086,1.1177 0.2153,1.1258 C0.222,1.1339 0.2248,1.1342 0.2297,1.137 C0.2346,1.1398 0.2396,1.1415 0.2448,1.1424 C0.25,1.1433 0.2554,1.1433 0.261,1.1423 C0.2666,1.1413 0.2704,1.1409 0.2786,1.1366 C0.2868,1.1323 0.2922,1.1308 0.3101,1.1165 C0.328,1.1022 0.3669,1.0665 0.3862,1.0507 C0.4055,1.0349 0.4118,1.0304 0.4257,1.0219 C0.4397,1.0134 0.4548,1.0053 0.4699,0.9995 C0.485,0.9937 0.4967,0.9898 0.5163,0.9872 C0.5359,0.9846 0.5383,0.9819 0.5877,0.9842 C0.6371,0.9865 0.7439,0.9985 0.8126,1.0011 C0.8813,1.0037 0.9688,1.0002 1,1"),CustomEase.create("fade","M0,0 C0.25,0.1 0.25,1 1,1"),gsap.defaults({ease:"osmo",duration:.6}),function(){if(window.location.hostname.includes("webflow.io")){var e=document.querySelector(".guide_wrap");e&&(e.style.display="none",document.addEventListener("keydown",function(t){"g"!==t.key&&"G"!==t.key||(e.style.display="none"===e.style.display?"block":"none")}))}}();let _txCover=null;function getTransitionCover(){if(_txCover)return _txCover;const e=document.querySelector(".transition__dark");if(!e)return null;const t=document.createElement("canvas");t.style.cssText="position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;","static"===getComputedStyle(e).position&&(e.style.position="fixed"),e.style.pointerEvents="none",e.style.opacity="1",e.appendChild(t);const o=t.getContext("webgl",{alpha:!0,premultipliedAlpha:!1})||t.getContext("experimental-webgl",{alpha:!0,premultipliedAlpha:!1});if(!o)return e.style.background=getComputedStyle(document.documentElement).getPropertyValue("--swatch--dark")||"#000",_txCover={to:(t,o)=>new Promise(r=>gsap.to(e,{autoAlpha:t,duration:reducedMotion?0:o,ease:"smooth",onComplete:r}))},_txCover;const r=(e=>{const t=document.createElement("canvas");t.width=t.height=1;const o=t.getContext("2d");o.fillStyle=(e||"#000").trim(),o.fillRect(0,0,1,1);const r=o.getImageData(0,0,1,1).data;return[r[0]/255,r[1]/255,r[2]/255]})(getComputedStyle(document.documentElement).getPropertyValue("--swatch--dark")),n=["precision highp float;","uniform vec2 u_res;uniform float u_time;uniform float u_progress;uniform vec3 u_dark;","const int MAX_BLOBS=6;","vec2 blobPos(float i,vec2 asp){"," float a=fract(sin(i*12.9898)*43758.5453);float b=fract(sin(i*78.233)*43758.5453);float c=fract(sin(i*39.425)*43758.5453);"," vec2 base=vec2(0.5)+(vec2(a,b)-0.5)*1.1;"," vec2 drift=vec2(sin(u_time*0.18*(0.5+c)+i*1.7),cos(u_time*0.16*(0.5+c)+i*2.3))*0.35;"," return (base+drift)*asp;","}","float blob(vec2 p,vec2 c,float r){float d=distance(p,c);return 1.0/(1.0+(d*d)/(r*r));}","void main(){"," vec2 uv=gl_FragCoord.xy/u_res.xy;vec2 asp=vec2(u_res.x/u_res.y,1.0);vec2 p=uv*asp;"," float field=0.0;"," for(int i=0;i{const r=o.createShader(e);return o.shaderSource(r,t),o.compileShader(r),o.getShaderParameter(r,o.COMPILE_STATUS)||console.warn("[transition] shader:",o.getShaderInfoLog(r)),r},a=o.createProgram();o.attachShader(a,i(o.VERTEX_SHADER,"attribute vec2 a_pos;void main(){gl_Position=vec4(a_pos,0.0,1.0);}")),o.attachShader(a,i(o.FRAGMENT_SHADER,n)),o.linkProgram(a),o.useProgram(a);const s=o.createBuffer();o.bindBuffer(o.ARRAY_BUFFER,s),o.bufferData(o.ARRAY_BUFFER,new Float32Array([-1,-1,3,-1,-1,3]),o.STATIC_DRAW);const l=o.getAttribLocation(a,"a_pos");o.enableVertexAttribArray(l),o.vertexAttribPointer(l,2,o.FLOAT,!1,0,0);const c={};["u_res","u_time","u_progress","u_dark"].forEach(e=>c[e]=o.getUniformLocation(a,e)),o.clearColor(0,0,0,0);const u={p:0};let d=null,p=0,g=0;const m=()=>{o.uniform2f(c.u_res,t.width,t.height),o.uniform1f(c.u_time,p),o.uniform1f(c.u_progress,u.p),o.uniform3fv(c.u_dark,r),o.clear(o.COLOR_BUFFER_BIT),o.drawArrays(o.TRIANGLES,0,3)},f=e=>{const t=Math.min((e-g)/1e3,.05);g=e,reducedMotion||(p+=t),m(),d=requestAnimationFrame(f)},h=()=>{const r=Math.min(window.devicePixelRatio||1,TEXTURE_MAX_DPR);t.width=Math.max(1,Math.round((e.clientWidth||window.innerWidth)*r)),t.height=Math.max(1,Math.round((e.clientHeight||window.innerHeight)*r)),o.viewport(0,0,t.width,t.height),m()};return h(),window.addEventListener("resize",h),_txCover={to:(e,t)=>(null==d&&(g=performance.now(),d=requestAnimationFrame(f)),new Promise(o=>{gsap.to(u,{p:e,duration:reducedMotion?0:t,ease:"smooth",onUpdate:m,onComplete:()=>{e<=0&&null!=d&&(cancelAnimationFrame(d),d=null),o()}})}))},_txCover}let pendingScrollTo=null;function resetPage(e){window.scrollTo({top:0,behavior:"instant"}),gsap.set(e,{clearProps:"position,top,left,right,zIndex"}),lenis&&(lenis.scrollTo(0,{immediate:!0}),lenis.resize(),lenis.start())}function consumePendingScrollTo(e){if(!pendingScrollTo)return;const t=pendingScrollTo;pendingScrollTo=null;const o="#"+(window.CSS&&CSS.escape?CSS.escape(t):t),r=e&&e.querySelector(o)||document.getElementById(t);r&&(lenis?.scrollTo?lenis.scrollTo(r,{immediate:!0,force:!0}):r.scrollIntoView(),hasScrollTrigger&&ScrollTrigger.update())}function resetWebflow(e){try{const t=(new DOMParser).parseFromString(e,"text/html").documentElement.getAttribute("data-wf-page");t&&document.documentElement.setAttribute("data-wf-page",t),window.Webflow?.destroy(),window.Webflow?.ready(),window.Webflow?.require("ix2").init()}catch(e){console.warn("[resetWebflow]",e)}}function destroySwipers(){swiperInstances.forEach(e=>e.destroy?.(!0,!0)),swiperInstances=[]}function destroySectionTextures(){textureInstances.forEach(e=>e.destroy?.()),textureInstances=[]}function destroyFsAttributes(){try{window.fsAttributes?.cmsfilter?.destroy?.(),window.fsAttributes?.cmsload?.destroy?.()}catch(e){}}async function reinitFsAttributes(){try{window.fsAttributes?.cmsfilter?.init&&await window.fsAttributes.cmsfilter.init(),window.fsAttributes?.cmsload?.init&&await window.fsAttributes.cmsload.init()}catch(e){}}function initFsCallbacks(){window.fsAttributes=window.fsAttributes||[],window.fsAttributes.push(["cmsload",e=>{e.forEach(e=>{e.on("afterload",()=>{hasScrollTrigger&&ScrollTrigger.refresh()})})}]),window.fsAttributes.push(["cmsfilter",e=>{e.forEach(e=>{e.listInstance.on("renderitems",()=>{hasScrollTrigger&&ScrollTrigger.refresh()})})}])}function applyTheme(e){const t=e?.dataset?.pageTheme||"light";document.body.dataset.pageTheme=t;const o=document.querySelector("[data-theme-nav]");o&&(o.dataset.themeNav="dark"===t?"light":"dark")}function updateNavState(e){const t=(new DOMParser).parseFromString(e.next.html,"text/html");document.querySelectorAll("nav [data-barba-update]").forEach((e,o)=>{const r=t.querySelectorAll("[data-barba-update]")[o];if(!r)return;const n=r.getAttribute("aria-current");n?e.setAttribute("aria-current",n):e.removeAttribute("aria-current"),e.setAttribute("class",r.getAttribute("class")||"")}),e.next.container.querySelectorAll("script[data-page-script]").forEach(e=>{const t=document.createElement("script");t.textContent=e.textContent,document.body.appendChild(t)})}function isSafari(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function clearStyles(e){("string"==typeof e?[...document.querySelectorAll(e)]:[e]).forEach(e=>e?.removeAttribute("style"))}function initYear(){document.querySelectorAll(".current-year").forEach(e=>{e.textContent=(new Date).getFullYear()})}barba.hooks.before(e=>{const t=e&&e.trigger;pendingScrollTo=t&&"function"==typeof t.closest&&t.closest("[data-link-to]")?.getAttribute("data-link-to")||null,lenis?.stop&&lenis.stop()}),barba.hooks.beforeEnter(e=>{gsap.set(e.next.container,{autoAlpha:0,position:"fixed",top:0,left:0,right:0,zIndex:3}),initBeforeEnterFunctions(e.next.container),applyTheme(e.next.container)}),barba.hooks.afterLeave(()=>{teardownPage()}),barba.hooks.enter(e=>{updateNavState(e)}),barba.hooks.afterEnter(()=>{lenis&&lenis.resize()}),barba.init({debug:!1,timeout:7e3,preventRunning:!0,transitions:[{name:"fade",sync:!1,once:async e=>(initOnceFunctions(),initAfterEnterFunctions(e),hasScrollTrigger&&ScrollTrigger.refresh(),runPageOnceAnimation(e.next.container)),async leave(e){const t=getTransitionCover();t?await t.to(1,1.3):await new Promise(t=>gsap.to(e.current.container,{autoAlpha:0,duration:reducedMotion?0:.5,ease:"smooth",onComplete:t})),e.current.container.remove()},async enter(e){const t=e.next.container,o=getTransitionCover();resetPage(t),initAfterEnterFunctions(e),hasScrollTrigger&&ScrollTrigger.refresh(),consumePendingScrollTo(t);const r=buildHeroEntrance(t);if(o)gsap.set(t,{autoAlpha:1,clearProps:"opacity,visibility"}),r&&gsap.delayedCall(reducedMotion?0:.7,()=>r.play()),await o.to(0,reducedMotion?0:2.4);else{if(reducedMotion)return gsap.set(t,{autoAlpha:1,clearProps:"opacity,visibility"}),void r?.play();gsap.set(t,{autoAlpha:1,clearProps:"opacity,visibility"}),r?.play(),await new Promise(e=>gsap.to(t,{autoAlpha:1,duration:.5,ease:"smooth",clearProps:"opacity,visibility",onComplete:e}))}}}]});let menuOpen=!1,menuTl=null,menuClose=null;function initMenu(){const e=document.querySelector(".menu-wrap");if(!e)return;const t=()=>gsap.utils.toArray(".nav-burger .burger-svg, .nav-burger svg").filter(e=>!e.closest(".contact-wrap")),o=document.querySelector(".menu .menu-tr")||document.querySelector(".menu-tr"),r=o?o.querySelector(".menu-bk"):null,n=o?o.querySelector(".site-vertical-line-menu-tr"):null,i=(e,t)=>`inset(0px ${t}px 0px ${e}px)`;function a(){const t=e.getBoundingClientRect(),o=n||e.querySelector(".site-vertical-line"),r=o?o.getBoundingClientRect():{left:t.left+t.width/2,width:0},i=r.left+r.width/2-t.left;return{l:i,r:t.width-i}}function s(){if(menuOpen)return;menuOpen=!0,menuTl&&menuTl.kill(),lenis?.stop&&lenis.stop(),pillSetMenuOpen&&pillSetMenuOpen(!0),navTxtSetMenuOpen&&navTxtSetMenuOpen(!0),gsap.set(o,{display:"flex"}),gsap.set(e,{display:"flex",autoAlpha:1});const s=a();if(reducedMotion)return gsap.set(r,{opacity:.55}),gsap.set(n,{height:"100%"}),gsap.set(e,{clipPath:"none"}),void gsap.set(t(),{rotation:45});gsap.set(r,{opacity:0}),gsap.set(n,{height:"0%"}),gsap.set(e,{clipPath:i(s.l,s.r)});const l={l:s.l,r:s.r};menuTl=gsap.timeline({onComplete:()=>gsap.set(e,{clipPath:"none"})}).to(r,{opacity:.55,duration:.5,ease:"fade"},0).to(n,{height:"100%",duration:.6,ease:"energy"},0).to(t(),{rotation:45,duration:.5,ease:"energy"},0).to(l,{l:0,r:0,duration:.9,ease:"expo.inOut",onUpdate:()=>{e.style.clipPath=i(l.l,l.r)}},.3).fromTo(gsap.utils.toArray(e.querySelectorAll(".footer-link")),{y:40,opacity:0},{y:0,opacity:1,duration:.7,stagger:.07,ease:"smooth",clearProps:"transform,opacity"},.45)}function l(){if(!menuOpen)return;menuOpen=!1,menuTl&&menuTl.kill(),pillSetMenuOpen&&pillSetMenuOpen(!1),navTxtSetMenuOpen&&navTxtSetMenuOpen(!1);const s=()=>{gsap.set(e,{autoAlpha:0,display:"none",clipPath:"none"}),gsap.set(o,{display:"none"}),gsap.set(r,{opacity:0}),gsap.set(n,{height:"0%"}),lenis?.start&&lenis.start()};if(reducedMotion)return gsap.set(t(),{rotation:0}),void s();const l=a();gsap.set(e,{clipPath:i(0,0)});const c={l:0,r:0};menuTl=gsap.timeline({onComplete:s}).to(c,{l:l.l,r:l.r,duration:.5,ease:"expo.inOut",onUpdate:()=>{e.style.clipPath=i(c.l,c.r)}},0).to(t(),{rotation:0,duration:.4,ease:"energy"},0).to(n,{height:"0%",duration:.45,ease:"smooth"},.2).to(r,{opacity:0,duration:.4,ease:"fade"},.25)}menuTl&&(menuTl.kill(),menuTl=null),gsap.set(e,{display:"none",autoAlpha:0,clipPath:"none"}),gsap.set(o,{display:"none"}),gsap.set(r,{opacity:0}),gsap.set(n,{height:"0%"}),gsap.set(t(),{rotation:0,transformOrigin:"50% 50%"}),menuOpen=!1,menuClose=l,$(document).off("click.menu keydown.menu"),$(document).on("click.menu",".nav-burger",function(e){$(this).closest(".contact-wrap").length||(e.preventDefault(),menuOpen?l():s())}),$(document).on("keydown.menu",function(e){"Escape"===e.key&&l()})}let contactOpen=!1,contactTl=null;function initContact(){const e=document.querySelector(".contact-wrap");if(!e)return;const t=e.closest(".contact"),o=()=>gsap.utils.toArray(e.querySelectorAll(".nav-burger .burger-svg, .nav-burger svg")),r=t?t.querySelector(".contact-tr"):document.querySelector(".contact-tr"),n=r?r.querySelector(".contact-bk"):null,i=r?r.querySelector(".site-vertical-line-menu-tr"):null,a=(e,t)=>`inset(0px ${t}px 0px ${e}px)`;function s(){const t=e.getBoundingClientRect(),o=i||e.querySelector(".site-vertical-line"),r=o?o.getBoundingClientRect():{left:t.left+t.width/2,width:0},n=r.left+r.width/2-t.left;return{l:n,r:t.width-n}}function l(){if(contactOpen)return;menuOpen&&menuClose&&menuClose(),contactOpen=!0,contactTl&&contactTl.kill(),lenis?.stop&&lenis.stop(),gsap.set(r,{display:"flex"}),gsap.set(e,{display:"flex",autoAlpha:1});const t=s();if(reducedMotion)return gsap.set(n,{opacity:.55}),gsap.set(i,{height:"100%"}),gsap.set(e,{clipPath:"none"}),void gsap.set(o(),{rotation:45});gsap.set(n,{opacity:0}),gsap.set(i,{height:"0%"}),gsap.set(e,{clipPath:a(t.l,t.r)});const l={l:t.l,r:t.r};contactTl=gsap.timeline({onComplete:()=>gsap.set(e,{clipPath:"none"})}).to(n,{opacity:.55,duration:.5,ease:"fade"},0).to(i,{height:"100%",duration:.6,ease:"energy"},0).to(o(),{rotation:45,duration:.5,ease:"energy"},0).to(l,{l:0,r:0,duration:.9,ease:"expo.inOut",onUpdate:()=>{e.style.clipPath=a(l.l,l.r)}},.3).fromTo(gsap.utils.toArray(e.querySelectorAll(".content-block, .field, .button_main_wrap, .footer-contact-flex")),{y:40,opacity:0},{y:0,opacity:1,duration:.7,stagger:.07,ease:"smooth",clearProps:"transform,opacity"},.45)}function c(){if(!contactOpen)return;contactOpen=!1,contactTl&&contactTl.kill();const t=()=>{gsap.set(e,{autoAlpha:0,display:"none",clipPath:"none"}),gsap.set(r,{display:"none"}),gsap.set(n,{opacity:0}),gsap.set(i,{height:"0%"}),lenis?.start&&lenis.start()};if(reducedMotion)return gsap.set(o(),{rotation:0}),void t();const l=s();gsap.set(e,{clipPath:a(0,0)});const c={l:0,r:0};contactTl=gsap.timeline({onComplete:t}).to(c,{l:l.l,r:l.r,duration:.5,ease:"expo.inOut",onUpdate:()=>{e.style.clipPath=a(c.l,c.r)}},0).to(o(),{rotation:0,duration:.4,ease:"energy"},0).to(i,{height:"0%",duration:.45,ease:"smooth"},.2).to(n,{opacity:0,duration:.4,ease:"fade"},.25)}function u(e){const t=e.target.closest("a[href]");if(!t)return;if(t.host&&t.host!==location.host)return;let o;try{o=new URL(t.href,location.origin).pathname.replace(/\/+$/,"")}catch{return}"/contact"===o&&(e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),l())}contactTl&&(contactTl.kill(),contactTl=null),gsap.set(e,{display:"none",autoAlpha:0,clipPath:"none"}),gsap.set(r,{display:"none"}),gsap.set(n,{opacity:0}),gsap.set(i,{height:"0%"}),gsap.set(o(),{rotation:0,transformOrigin:"50% 50%"}),contactOpen=!1,document.removeEventListener("click",u,!0),document.addEventListener("click",u,!0),$(document).off("click.contact keydown.contact"),$(document).on("click.contact",".contact-wrap .nav-burger, .contact-bk",function(e){e.preventDefault(),c()}),$(document).on("keydown.contact",function(e){"Escape"===e.key&&c()})}let pillSpin=null,pillSetMenuOpen=null;function initPill(){const e=document.querySelector(".pill");if(!e)return;const t=e.querySelector(".pill-txt-wrap"),o=e.querySelector("svg"),r=parseFloat(getComputedStyle(document.documentElement).fontSize)||16;let n=e.offsetWidth,i=e.offsetHeight;const a=window.matchMedia("(max-width: 767px)").matches;a&&(n=i=8*r);const s=(a?1.25:2)*r;gsap.set(o,{transformOrigin:"50% 50%"}),pillSpin&&(pillSpin.kill(),pillSpin=null),activeObservers.push({disconnect:()=>pillSpin&&pillSpin.kill()});let l=null;const c={scrub:0,spin:0,apply:()=>{}};let u=window.scrollY>.2*window.innerHeight,d=!1,p=!1,g=!1;const m={p:0};function f(){const o=gsap.utils.interpolate(n,s,m.p),r=gsap.utils.interpolate(i,s,m.p);e.style.width=o+"px",e.style.height=r+"px";const a=Math.max(0,(n-o)/2),l=Math.max(0,(i-r)/2);t.style.clipPath=`inset(${l}px ${a}px)`}function h(e=!0,t=!1){const r=!u||d||p||g,n={duration:e&&!reducedMotion?r?t?.85:.5:t?.6:.35:0,ease:r?"jump":"energy",overwrite:"auto"};gsap.to(m,{p:r?0:1,...n,onUpdate:f}),gsap.to(o,{scale:r?1:.85,...n})}if(h(!1),$(document).off("mouseenter.pill mouseleave.pill",".pill"),$(document).on("mouseenter.pill",".pill",()=>{d=!0,h(),v(),reducedMotion||gsap.to(e,{scale:1.1,duration:.45,ease:"jump",transformOrigin:"50% 50%",overwrite:"auto"})}),$(document).on("mouseleave.pill",".pill",()=>{d=!1,h(),p||b(),reducedMotion||gsap.to(e,{scale:1,duration:.4,ease:"energy",transformOrigin:"50% 50%",overwrite:"auto"})}),hasScrollTrigger){ScrollTrigger.create({start:()=>.2*window.innerHeight,end:"max",onToggle:e=>{u=e.isActive,h(!0,!0)}});const e=document.querySelector(".footer")||document.querySelector("footer");if(e&&ScrollTrigger.create({trigger:e,start:"top center",end:"bottom top",onToggle:e=>{g=e.isActive,h(!0,!0)}}),!reducedMotion){const e=document.querySelector(".page_main");if(e){const o=()=>gsap.set(t,{rotation:c.spin+360*c.scrub});l=gsap.fromTo(c,{scrub:0},{scrub:1,ease:"none",overwrite:"auto",onUpdate:o,scrollTrigger:{trigger:e,start:"top top",end:"bottom bottom",scrub:!0}}),c.apply=o}}}let y=null;function v(){pillSpin||reducedMotion||(pillSpin=gsap.to(c,{spin:"+=360",duration:24,ease:"none",repeat:-1,onUpdate:c.apply}))}function b(){pillSpin&&(pillSpin.pause(),pillSpin=null)}if(pillSetMenuOpen=e=>{if(y&&(y.kill(),y=null),p=e,e){if(v(),!reducedMotion)return void(y=gsap.delayedCall(.85,()=>h()))}else b();h()},"undefined"!=typeof Draggable){gsap.registerPlugin(Draggable);const t=e.closest(".pill-drag")||e.closest(".pill-wrap")||e,o="undefined"!=typeof InertiaPlugin,r=e.closest("a[href]")||e.querySelector("a[href]")||t.querySelector("a[href]"),n=Draggable.create(t,{type:"x,y",edgeResistance:.75,minimumMovement:4,inertia:o,dragClickables:!0,cursor:"grab",activeCursor:"grabbing",zIndexBoost:!1,onPress(){lenis?.stop&&lenis.stop();const e=t.getBoundingClientRect();this.applyBounds({minX:this.x-e.left,maxX:this.x+(window.innerWidth-e.right),minY:this.y-e.top,maxY:this.y+(window.innerHeight-e.bottom)})},onRelease(){!menuOpen&&lenis?.start&&lenis.start()},onClick(){const e=this.pointerEvent;e&&(e.pointerType?"mouse"!==e.pointerType:null!=e.touches)&&r&&r.click()}})[0];activeObservers.push({disconnect:()=>n&&n.kill()})}}function initCurrentLinks(){$(document).off("click.currentLink").on("click.currentLink","a.w--current",function(e){if(this.hostname!==window.location.hostname)return;if(this.pathname!==window.location.pathname)return;if(this.hash)return;e.preventDefault(),e.stopPropagation();const t=menuOpen;t&&menuClose&&menuClose(),lenis?lenis.scrollTo(0,{duration:.5,force:t}):window.scrollTo({top:0,behavior:"smooth"})}),$(document).off("click.upTop").on("click.upTop",".up",function(e){e.preventDefault(),lenis?lenis.scrollTo(0,{duration:.8}):window.scrollTo({top:0,behavior:"smooth"})})}function initSlider(){document.querySelectorAll("[data-slider='component']:not([data-slider='component'] [data-slider='component'])").forEach(e=>{if(e.dataset.scriptInitialized)return;e.dataset.scriptInitialized="true";const t=e.querySelector(".slider_element"),o=e.querySelector(".slider_list");if(!t||!o)return;!function(e){if(!e)return;let t=e.firstElementChild;for(;t&&t.classList.contains("u-display-contents");){for(;t.firstChild;)e.insertBefore(t.firstChild,t);e.removeChild(t),t=e.firstElementChild}}(o),function(e){const t=Array.from(e.children).find(e=>e.classList.contains("w-dyn-list"));if(!t)return;const o=t?.querySelector(".w-dyn-items")?.children;if(!o)return;const r=[...e.children];[...o].forEach(t=>{const o=[...t.children].find(e=>!e.classList.contains("w-condition-invisible"));o&&e.appendChild(o)}),r.forEach(e=>e.remove())}(o),[...o.children].forEach(e=>e.classList.add("swiper-slide"));const r="True"===t.getAttribute("data-follow-finger"),n="True"===t.getAttribute("data-free-mode"),i="True"===t.getAttribute("data-mousewheel"),a="True"===t.getAttribute("data-slide-to-clicked"),s="True"===t.getAttribute("data-loop"),l="True"===t.getAttribute("data-autoplay"),c=+t.getAttribute("data-autoplay-delay")||4e3,u=+t.getAttribute("data-speed")||600,d=new Swiper(t,{slidesPerView:"auto",followFinger:r,loopAdditionalSlides:10,freeMode:n,loop:s,slideToClickedSlide:a,centeredSlides:!1,autoHeight:!1,speed:u,autoplay:!(!l||reducedMotion)&&{delay:c,disableOnInteraction:!1,pauseOnMouseEnter:!0},mousewheel:{enabled:i,forceToAxis:!0},keyboard:{enabled:!0,onlyInViewport:!0},navigation:{nextEl:e.querySelector("[data-slider='next'] button"),prevEl:e.querySelector("[data-slider='previous'] button")},pagination:{el:e.querySelector(".slider_bullet_list"),bulletActiveClass:"is-active",bulletClass:"slider_bullet_item",bulletElement:"button",clickable:!0},slideActiveClass:"is-active",slideDuplicateActiveClass:"is-active"});swiperInstances.push(d),wireTestimonialVisual(e,d)})}function wireTestimonialVisual(e,t){const o=(e.closest("section")||document).querySelector(".col-left-img img.u-image");if(!o||!e.querySelector(".testimonial-img"))return;const r=e=>e&&(e.currentSrc||e.src),n=e=>{o.removeAttribute("srcset"),o.removeAttribute("sizes"),o.src=e};let i=0;const a=e=>{const a=t.slides&&t.slides[t.activeIndex],s=r(a&&a.querySelector(".testimonial-img"));if(!s||s===r(o))return;const l=++i;(e=>new Promise(t=>{if(!e)return t();const o=new Image;o.onload=o.onerror=()=>t(),o.src=e}))(s).then(()=>{l===i&&(e?(e=>{const t=o.parentElement;if(!t)return n(e);o._fxClone&&(o._fxClone.remove(),o._fxClone=null);const r=o.cloneNode(!1);r.removeAttribute("srcset"),r.removeAttribute("sizes"),r.loading="eager",r.src=e,Object.assign(r.style,{position:"absolute",inset:"0",width:"100%",height:"100%",zIndex:"2"}),"static"===getComputedStyle(t).position&&(t.style.position="relative"),o._fxClone=r,t.appendChild(r);const i={p:100};r.style.clipPath="inset(0% 0% 0% 100%)",gsap.to(i,{p:0,duration:.7,ease:"expo.inOut",overwrite:!0,onUpdate:()=>{r.style.clipPath=`inset(0% 0% 0% ${i.p}%)`},onComplete:()=>{n(e),o._fxClone===r&&(o._fxClone=null),r.remove()}})})(s):n(s))})};a(!1),t.on("slideChange",()=>a(!reducedMotion))}let odometerUpdate=null,odometerResizeBound=!1,odometerCssDone=!1;function injectOdometerCss(){if(odometerCssDone)return;odometerCssDone=!0;const e=document.createElement("style");e.setAttribute("data-odometer-css",""),e.textContent='[data-odometer-element]{display:inline-flex;align-items:center;font-variant-numeric:tabular-nums;}[data-odometer-part="mask"],[data-odometer-part="static"]{display:inline-block;overflow:hidden;}[data-odometer-part="mask"]{clip-path:inset(0);}[data-odometer-part="roller"]{display:block;white-space:pre;text-align:center;}',document.head.appendChild(e)}function initNumberOdometer(){const e=reducedMotion,t="data-odometer-initialized",o=new WeakMap,r=1,n="power3.out",i=.1,a=.04,s=.5,l="power2.out",c="top 80%",u="left",d=2;document.querySelectorAll("[data-odometer-group]").forEach(o=>{if(o.hasAttribute(t))return;o.setAttribute(t,"");const d=Array.from(o.querySelectorAll("[data-odometer-element]"));if(!d.length||e)return;const v=o.getAttribute("data-odometer-stagger-order")||u,b=o.getAttribute("data-odometer-trigger-start")||c,S=parseFloat(o.getAttribute("data-odometer-stagger"))||i,w=d.map(e=>{const t=e.textContent.trim(),o=e.hasAttribute("data-odometer-start"),n=parseFloat(e.getAttribute("data-odometer-start"))||0,i=parseFloat(e.getAttribute("data-odometer-duration"))||r,a=p(e);let s=g(t);s=m(s,n),s=f(s,n);const l=function(e,t,o,r){if(e.hasAttribute("data-odometer-grow"))return"false"!==e.getAttribute("data-odometer-grow");if(!t)return!1;const n=Math.floor(Math.abs(o)),i=0===n?1:String(n).length,a=r.filter(e=>"digit"===e.type).length;return i{const t=e.offsetWidth/d;return gsap.set(e,{width:0,overflow:"hidden"}),{el:e,widthEm:t}}),originalText:t}}),_=function(e,t){const o=[...e];return"right"===t?o.reverse():"random"===t?function(e){for(let t=e.length-1;t>0;t--){const o=Math.floor(Math.random()*(t+1));[e[t],e[o]]=[e[o],e[t]]}return e}(o):o}(w,v),x=gsap.timeline({scrollTrigger:{trigger:o,start:b,once:!0},onComplete(){w.forEach(({el:e,originalText:t})=>{y(e,t)})}});_.forEach((e,t)=>{const{rollers:o,duration:r,step:i,revealData:c}=e,u=t*S;c.forEach(({el:e,widthEm:t})=>{x.to(e,{width:t+"em",opacity:1,duration:s,ease:l},u)}),o.forEach(({roller:e,targetPos:t},s)=>{const l=o.length-1-s;x.to(e,{y:-t*i+"em",duration:r,ease:n,force3D:!1},u+l*a)})})});function p(e){const t=getComputedStyle(e),o=t.lineHeight,r="normal"===o?1.2:parseFloat(o)/parseFloat(t.fontSize);return Math.max(r,1.1)}function g(e){return[...e].map(e=>({type:/\d/.test(e)?"digit":"static",char:e}))}function m(e,t){const o=e.filter(e=>"digit"===e.type),r=String(Math.floor(Math.abs(t))).padStart(o.length,"0").slice(-o.length);let n=0;return e.map(e=>"digit"===e.type?{...e,startDigit:parseInt(r[n++],10)}:e)}function f(e,t){const o=e.filter(e=>"digit"===e.type).length,r=Math.floor(Math.abs(t)),n=0===r?1:String(r).length,i=Math.max(0,o-n);if(0===i)return e;let a=0,s=!1,l=!1;return e.map(e=>{if("digit"===e.type){s=!0;const t=a{if("static"===t.type){const n=document.createElement("span");return n.setAttribute("data-odometer-part","static"),n.style.height=o+"em",n.style.lineHeight=o,n.textContent=t.char,e.appendChild(n),void(r&&t.hidden&&(gsap.set(n,{opacity:0}),i.push(n)))}const s=document.createElement("span");s.setAttribute("data-odometer-part","mask"),s.style.height=o+"em",s.style.lineHeight=o;const l=document.createElement("span");l.setAttribute("data-odometer-part","roller"),l.style.lineHeight=o;const c=[];for(let e=0;eu?p:10+p;n.push({roller:l,targetPos:g}),d&&i.push(s)}),{rollers:n,revealEls:i}}function y(e,t){e.style.overflow="",e.style.height="";const o=[...t].filter(e=>/\d/.test(e));let r=0;e.querySelectorAll('[data-odometer-part="mask"]').forEach(e=>{const t=e.querySelector('[data-odometer-part="roller"]');t&&t.remove(),e.textContent=o[r++]||"",e.style.opacity="",e.style.overflow=""}),e.querySelectorAll('[data-odometer-part="static"]').forEach(e=>{e.style.opacity=""})}if(!odometerResizeBound){odometerResizeBound=!0;let e,t=window.innerWidth;window.addEventListener("resize",()=>{clearTimeout(e),e=setTimeout(()=>{window.innerWidth!==t&&(t=window.innerWidth,document.querySelectorAll("[data-odometer-element]").forEach(e=>{const t=o.get(e);if(t&&(t.progress(1),o.delete(e)),e.querySelector('[data-odometer-part="roller"]')){const t=p(e);e.querySelectorAll('[data-odometer-part="mask"]').forEach(e=>{e.style.height=t+"em",e.style.lineHeight=t}),e.querySelectorAll('[data-odometer-part="roller"]').forEach(e=>{e.style.lineHeight=t}),e.querySelectorAll('[data-odometer-part="static"]').forEach(e=>{e.style.lineHeight=t})}}),ScrollTrigger.refresh())},250)})}return function(e,t,i={}){const c=e.textContent.trim();if(c===t)return;const u=i.duration||r,d=i.ease||n,v=p(e),b=o.get(e);b&&(b.kill(),gsap.set(e,{clearProps:"width,overflow"}));const S=parseFloat(getComputedStyle(e).fontSize),w=e.getBoundingClientRect().width/S,_=g(c).filter(e=>"digit"===e.type).map(e=>e.char).join(""),x=parseInt(_,10)||0;let A=g(t);A=m(A,x),A=f(A,x);const{rollers:T,revealEls:C}=h(e,A,v,!0),E=e.getBoundingClientRect().width/S,M=Math.abs(w-E)>.01;M&&gsap.set(e,{width:w+"em",overflow:"hidden"});const k=gsap.timeline({onComplete(){y(e,t),o.delete(e)}});o.set(e,k),M&&k.to(e,{width:E+"em",duration:s,ease:l},0),C.forEach(e=>{"static"===e.getAttribute("data-odometer-part")&&k.to(e,{opacity:1,duration:.2},0)}),T.forEach(({roller:e,targetPos:t},o)=>{const r=T.length-1-o;k.to(e,{y:-t*v+"em",duration:u,ease:d,force3D:!1},r*a)})}}function initInfiniteOdometer(e){if(!e)return;const t=Date.UTC(2026,5,23),o=e.getAttribute("data-odometer-start")||e.textContent||"",r=o.match(/\d/g),n=r?parseInt(r.join(""),10):0,i=()=>(n+Math.floor(10*Math.max(0,(Date.now()-t)/1e3))).toLocaleString("en-US").replace(/,/g,".");if(e.textContent=i(),reducedMotion)return;let a=1.2,s=16,l=18,c=[],u=null;const d=e=>{const t=c[e];t&&(e=>{const t=(e.digit+1)%10;return gsap.to(e.roller,{y:-(e.cell+1)*l+"px",duration:.35,ease:"power2.out",overwrite:!0,force3D:!1,onComplete:()=>{e.cell=t,gsap.set(e.roller,{y:-t*l+"px"})}}),e.digit=t,0===t})(t)&&d(e+1)},p=()=>{u&&u.kill(),c.forEach(e=>gsap.killTweensOf(e.roller)),e.innerHTML="",e.style.height="",e.style.width="",e.style.overflow="",a=(()=>{const t=getComputedStyle(e),o=t.lineHeight,r="normal"===o?1.2:parseFloat(o)/parseFloat(t.fontSize);return Math.max(r,1.1)})(),s=parseFloat(getComputedStyle(e).fontSize)||16,l=Math.round(a*s);const t=l+"px",o=[];for(let e=0;e<20;e++)o.push(e%10);const r=o.join(String.fromCharCode(10)),n=[...i()],p=n.filter(e=>/\d/.test(e)).length,g=[];let m=0;n.forEach(o=>{if(/\d/.test(o)){const n=parseInt(o,10),i=p-1-m;m++;const a=document.createElement("span");a.setAttribute("data-odometer-part","mask"),a.style.height=t,a.style.lineHeight=t;const s=document.createElement("span");s.setAttribute("data-odometer-part","roller"),s.style.lineHeight=t,s.textContent=r,a.appendChild(s),e.appendChild(a),gsap.set(s,{y:-n*l+"px"}),g.push({roller:s,digit:n,cell:n,place:i})}else{const r=document.createElement("span");r.setAttribute("data-odometer-part","static"),r.style.height=t,r.style.lineHeight=t,r.textContent=o,e.appendChild(r)}}),c=g.slice().sort((e,t)=>e.place-t.place);const f=c[0];u=gsap.to(f.roller,{y:-(f.digit+10)*l+"px",duration:1,ease:"none",repeat:-1,force3D:!1,onRepeat:()=>d(1)})};p();let g,m=window.innerWidth;const f=()=>{clearTimeout(g),g=setTimeout(()=>{window.innerWidth!==m&&(m=window.innerWidth,p())},250)};window.addEventListener("resize",f),activeObservers.push({disconnect:()=>{window.removeEventListener("resize",f),clearTimeout(g),u&&u.kill(),c.forEach(e=>gsap.killTweensOf(e.roller))}})}function initOdometers(){if(!hasScrollTrigger)return;injectOdometerCss();const e=document.querySelector('[data-odometer-element="infinite"]'),t=e&&e.closest("[data-odometer-group]");t&&t.setAttribute("data-odometer-initialized",""),odometerUpdate=initNumberOdometer(),initInfiniteOdometer(e)}let navTxtSetMenuOpen=null;function initNavTxt(){if(!hasScrollTrigger||reducedMotion)return;const e=gsap.utils.toArray(".nav-txt.u-text-style-label"),t=document.querySelector(".page_main");if(!e.length||!t)return;let o=!1,r=!1,n=!1;const i=(t=!0)=>{const i=o&&!r&&!n;gsap.to(e,{y:i?"-3rem":"0rem",autoAlpha:i?0:1,duration:t?.6:0,ease:"smooth",overwrite:"auto"})};gsap.set(e,{y:"0rem",autoAlpha:1});const a=ScrollTrigger.create({trigger:t,start:"top top-=20%",end:"max",onToggle:e=>{o=e.isActive,i()}}),s=document.querySelector(".footer_wrap");let l=null;s&&(l=ScrollTrigger.create({trigger:s,start:"top center",end:"bottom top",onToggle:e=>{r=e.isActive,i()}})),o=!!a.isActive,r=!(!l||!l.isActive),i(!1),navTxtSetMenuOpen=e=>{n=e,i()}}function initNavLogoTheme(){if(!hasScrollTrigger)return;const e=document.querySelector('.nav[data-wf--navigation--variant="base"] .nav-logo');if(!e)return;const t=e=>e.classList.contains("u-theme-dark")?"#FFFFFF":"#1D1D1D";let o=null;const r=t=>{t!==o&&(o=t,gsap.to(e,{color:t,duration:reducedMotion?0:.4,ease:"smooth",overwrite:!0}))},n=gsap.utils.toArray("section.u-theme-dark, section.u-theme-light");if(!n.length)return;n.forEach(e=>{const o=t(e);ScrollTrigger.create({trigger:e,start:"top 5%",end:"bottom 5%",onEnter:()=>r(o),onEnterBack:()=>r(o)})});const i=.05*window.innerHeight;let a=n[0];n.forEach(e=>{e.getBoundingClientRect().top<=i&&(a=e)}),r(t(a))}function initParallax(){gsap.utils.toArray('[data-parralax="True"]').forEach(e=>{const t=e.querySelector(".u-image, video");t&&gsap.fromTo(t,{yPercent:0},{yPercent:-15,ease:"none",scrollTrigger:{trigger:e,start:"top bottom",end:"bottom top",scrub:!0}})})}function initBlogHeroParallax(){gsap.utils.toArray(".blog-hero").forEach(e=>{const t=e.querySelector(".u-visual .u-image, .u-visual video");t&&gsap.fromTo(t,{yPercent:0},{yPercent:60,ease:"none",scrollTrigger:{trigger:e,start:"top top",end:"bottom top",scrub:!0}})})}const TEXTURE_CONFIG={speed:.35,mouseEase:.085,blobCount:4,blobSize:.7,blobSpread:1.06,softness:.23,warp:.17,contrast:1.75,brightness:.02,grain:.05,grainSize:1.5,grainSpeed:0,grainRough:.6,grainSoft:.7,grainResponse:.3,grainShift:16.5,mouseRadius:.57,mouseStrength:.32,colorDark:"#3a3a3c",colorLight:"#d0d0d2"},TEXTURE_SCROLL={spread:[.62,1.15],softness:[.2,.3]},TEXTURE_MAX_DPR=1.5;function initSectionTexture(){document.querySelectorAll(".section-texture").forEach(e=>{if(e.dataset.scriptInitialized)return;e.dataset.scriptInitialized="true";const t=e.querySelector(".texture-canvas")||e,o=document.createElement("canvas");o.style.cssText="position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;","static"===getComputedStyle(t).position&&(t.style.position="relative"),t===e?e.prepend(o):t.appendChild(o);const r=e.querySelector(".texture-grain");r&&(r.style.willChange="transform");const n=o.getContext("webgl")||o.getContext("experimental-webgl");if(!n)return;const i=["precision highp float;","uniform vec2 u_res;uniform float u_time;uniform vec2 u_mouse;","uniform float u_speed,u_blobCount,u_blobSize,u_blobSpread,u_softness,u_warp,u_contrast,u_brightness;","uniform float u_grain,u_grainSize,u_grainSpeed,u_grainRough,u_grainSoft,u_grainResponse,u_mouseRadius,u_mouseStrength;uniform vec3 u_dark,u_light;","const int MAX_BLOBS=8;","float hash(vec2 p){p=fract(p*vec2(123.34,345.45));p+=dot(p,p+34.345);return fract(p.x*p.y);}","float vnoise(vec2 p){vec2 i=floor(p),f=fract(p);f=f*f*(3.0-2.0*f);"," float a=hash(i),b=hash(i+vec2(1.0,0.0)),c=hash(i+vec2(0.0,1.0)),d=hash(i+vec2(1.0,1.0));"," return mix(mix(a,b,f.x),mix(c,d,f.x),f.y);}","vec2 blobPos(float i,vec2 asp){"," float a=fract(sin(i*12.9898)*43758.5453);"," float b=fract(sin(i*78.2330)*43758.5453);"," float c=fract(sin(i*39.4250)*43758.5453);"," vec2 base=vec2(0.5)+(vec2(a,b)-0.5)*u_blobSpread;"," float sp=u_speed*(0.5+c);"," vec2 drift=vec2(sin(u_time*sp+i*1.7),cos(u_time*sp*0.9+i*2.3))*u_blobSpread*0.35;"," return (base+drift)*asp;","}","float blob(vec2 p,vec2 c,float r){float d=distance(p,c);return 1.0/(1.0+(d*d)/(r*r));}","void main(){"," vec2 uv=gl_FragCoord.xy/u_res.xy;vec2 asp=vec2(u_res.x/u_res.y,1.0);vec2 p=uv*asp;"," p+=vec2(sin(p.y*3.0+u_time*u_speed),cos(p.x*3.0-u_time*u_speed))*u_warp;"," float field=0.0;"," for(int i=0;i=u_blobCount)break;field+=u_blobSize*blob(p,blobPos(float(i),asp),u_softness);}"," field+=u_mouseStrength*blob(p,u_mouse*asp,u_mouseRadius);"," float f=field/(field+1.0);"," f=clamp((f-0.5)*u_contrast+0.5+u_brightness,0.0,1.0);"," vec3 col=mix(u_dark,u_light,f);"," float gsd=floor(u_time*u_grainSpeed);"," vec2 gp=gl_FragCoord.xy/max(u_grainSize,0.001);"," float fine=(hash(gp+gsd*1.7)+hash(gp*1.7+gsd*2.3+5.1)+hash(gp*0.7+gsd*1.1+9.4))/3.0-0.5;"," float coarse=(vnoise(gp*0.6+gsd*0.7)*0.65+vnoise(gp*1.7+gsd*1.3)*0.35)-0.5;"," float g=mix(fine,coarse,u_grainRough);"," g=sign(g)*pow(abs(g)*2.0,mix(2.2,0.6,u_grainSoft))*0.5;"," float resp=mix(1.0,4.0*f*(1.0-f),u_grainResponse);"," col+=g*u_grain*resp;"," gl_FragColor=vec4(col,1.0);","}"].join("\n"),a=(e,t)=>{const o=n.createShader(e);return n.shaderSource(o,t),n.compileShader(o),n.getShaderParameter(o,n.COMPILE_STATUS)||console.warn("[section-texture] shader:",n.getShaderInfoLog(o)),o},s=n.createProgram();n.attachShader(s,a(n.VERTEX_SHADER,"attribute vec2 a_pos;void main(){gl_Position=vec4(a_pos,0.0,1.0);}")),n.attachShader(s,a(n.FRAGMENT_SHADER,i)),n.linkProgram(s),n.useProgram(s);const l=n.createBuffer();n.bindBuffer(n.ARRAY_BUFFER,l),n.bufferData(n.ARRAY_BUFFER,new Float32Array([-1,-1,3,-1,-1,3]),n.STATIC_DRAW);const c=n.getAttribLocation(s,"a_pos");n.enableVertexAttribArray(c),n.vertexAttribPointer(c,2,n.FLOAT,!1,0,0);const u={};["u_res","u_time","u_mouse","u_speed","u_blobCount","u_blobSize","u_blobSpread","u_softness","u_warp","u_contrast","u_brightness","u_grain","u_grainSize","u_grainSpeed","u_grainRough","u_grainSoft","u_grainResponse","u_mouseRadius","u_mouseStrength","u_dark","u_light"].forEach(e=>u[e]=n.getUniformLocation(s,e));const d=TEXTURE_CONFIG,p=e=>{const t=parseInt(e.slice(1),16);return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]};let g=p(d.colorDark),m=p(d.colorLight),f=d.colorDark,h=d.colorLight;const y={x:.5,y:.5},v={x:.5,y:.5};let b=null,S=0,w=performance.now();function _(){n.uniform2f(u.u_res,o.width,o.height),n.uniform1f(u.u_time,S),n.uniform2f(u.u_mouse,y.x,y.y),n.uniform1f(u.u_speed,d.speed),n.uniform1f(u.u_blobCount,d.blobCount),n.uniform1f(u.u_blobSize,d.blobSize),n.uniform1f(u.u_blobSpread,d.blobSpread),n.uniform1f(u.u_softness,d.softness),n.uniform1f(u.u_warp,d.warp),n.uniform1f(u.u_contrast,d.contrast),n.uniform1f(u.u_brightness,d.brightness),n.uniform1f(u.u_grain,d.grain),n.uniform1f(u.u_grainSize,d.grainSize),n.uniform1f(u.u_grainSpeed,d.grainSpeed),n.uniform1f(u.u_grainRough,d.grainRough),n.uniform1f(u.u_grainSoft,d.grainSoft),n.uniform1f(u.u_grainResponse,d.grainResponse),n.uniform1f(u.u_mouseRadius,d.mouseRadius),n.uniform1f(u.u_mouseStrength,d.mouseStrength),d.colorDark!==f&&(g=p(d.colorDark),f=d.colorDark),d.colorLight!==h&&(m=p(d.colorLight),h=d.colorLight),n.uniform3fv(u.u_dark,g),n.uniform3fv(u.u_light,m),n.drawArrays(n.TRIANGLES,0,3)}const x=()=>{const e=Math.min(window.devicePixelRatio||1,TEXTURE_MAX_DPR);o.width=Math.max(1,Math.round(t.clientWidth*e)),o.height=Math.max(1,Math.round(t.clientHeight*e)),n.viewport(0,0,o.width,o.height),reducedMotion&&_()},A=e=>{const o=t.getBoundingClientRect();v.x=(e.clientX-o.left)/o.width,v.y=1-(e.clientY-o.top)/o.height},T=e=>{const t=Math.min((e-w)/1e3,.05);if(w=e,S+=t,y.x+=(v.x-y.x)*d.mouseEase,y.y+=(v.y-y.y)*d.mouseEase,r){const e=2*(y.x-.5)*d.grainShift,t=2*-(y.y-.5)*d.grainShift;r.style.transform="translate3d("+e.toFixed(3)+"rem,"+t.toFixed(3)+"rem,0)"}_(),b=requestAnimationFrame(T)};let C=null;const E=()=>{null!=b||reducedMotion||(w=performance.now(),b=requestAnimationFrame(T))},M=()=>{null!=b&&(cancelAnimationFrame(b),b=null)};x(),window.addEventListener("resize",x),reducedMotion?_():(window.addEventListener("pointermove",A),"IntersectionObserver"in window?(C=new IntersectionObserver(e=>e[0].isIntersecting?E():M(),{rootMargin:"200px"}),C.observe(e)):E()),textureInstances.push({destroy(){M(),C?.disconnect(),window.removeEventListener("resize",x),window.removeEventListener("pointermove",A),n.getExtension("WEBGL_lose_context")?.loseContext(),r&&(r.style.transform="",r.style.willChange=""),o.remove()}})}),initTextureScroll()}function initTextureScroll(){if(reducedMotion||!hasScrollTrigger)return;if(!document.querySelector(".section-texture"))return;const e=TEXTURE_SCROLL;gsap.fromTo(TEXTURE_CONFIG,{blobSpread:e.spread[0],softness:e.softness[0]},{blobSpread:e.spread[1],softness:e.softness[1],ease:"none",overwrite:!0,scrollTrigger:{start:0,end:"max",scrub:!0}})}function initHeroScrollReveal(){const e=document.querySelector(".home-hero-scroll");if(!e||e.dataset.heroReveal)return;const t=e.querySelector(".home-hero-bk-canvas");if(!t)return;e.dataset.heroReveal="true";const o=document.createElement("canvas");o.style.cssText="position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;","static"===getComputedStyle(t).position&&(t.style.position="relative"),t.appendChild(o);const r=o.getContext("webgl",{alpha:!0,premultipliedAlpha:!1})||o.getContext("experimental-webgl",{alpha:!0,premultipliedAlpha:!1});if(!r)return;const n=(e=>{const t=document.createElement("canvas");t.width=t.height=1;const o=t.getContext("2d");o.fillStyle=(e||"#000").trim(),o.fillRect(0,0,1,1);const r=o.getImageData(0,0,1,1).data;return[r[0]/255,r[1]/255,r[2]/255]})(getComputedStyle(document.documentElement).getPropertyValue("--swatch--dark")),i=["precision highp float;","uniform vec2 u_res;uniform float u_time;uniform float u_progress;uniform vec3 u_dark;","const int MAX_BLOBS=6;","float hash(vec2 p){p=fract(p*vec2(123.34,345.45));p+=dot(p,p+34.345);return fract(p.x*p.y);}","vec2 blobPos(float i,vec2 asp){"," float a=fract(sin(i*12.9898)*43758.5453);float b=fract(sin(i*78.233)*43758.5453);float c=fract(sin(i*39.425)*43758.5453);"," vec2 base=vec2(0.5)+(vec2(a,b)-0.5)*1.1;"," float sp=0.18*(0.5+c);"," vec2 drift=vec2(sin(u_time*sp+i*1.7),cos(u_time*sp*0.9+i*2.3))*0.35;"," return (base+drift)*asp;","}","float blob(vec2 p,vec2 c,float r){float d=distance(p,c);return 1.0/(1.0+(d*d)/(r*r));}","void main(){"," vec2 uv=gl_FragCoord.xy/u_res.xy;vec2 asp=vec2(u_res.x/u_res.y,1.0);vec2 p=uv*asp;"," float field=0.0;"," for(int i=0;i{const o=r.createShader(e);return r.shaderSource(o,t),r.compileShader(o),r.getShaderParameter(o,r.COMPILE_STATUS)||console.warn("[hero-reveal] shader:",r.getShaderInfoLog(o)),o},s=r.createProgram();r.attachShader(s,a(r.VERTEX_SHADER,"attribute vec2 a_pos;void main(){gl_Position=vec4(a_pos,0.0,1.0);}")),r.attachShader(s,a(r.FRAGMENT_SHADER,i)),r.linkProgram(s),r.useProgram(s);const l=r.createBuffer();r.bindBuffer(r.ARRAY_BUFFER,l),r.bufferData(r.ARRAY_BUFFER,new Float32Array([-1,-1,3,-1,-1,3]),r.STATIC_DRAW);const c=r.getAttribLocation(s,"a_pos");r.enableVertexAttribArray(c),r.vertexAttribPointer(c,2,r.FLOAT,!1,0,0);const u={};["u_res","u_time","u_progress","u_dark"].forEach(e=>u[e]=r.getUniformLocation(s,e)),r.clearColor(0,0,0,0);let d=null,p=0,g=performance.now(),m=0;function f(){r.uniform2f(u.u_res,o.width,o.height),r.uniform1f(u.u_time,p),r.uniform1f(u.u_progress,m),r.uniform3fv(u.u_dark,n),r.clear(r.COLOR_BUFFER_BIT),r.drawArrays(r.TRIANGLES,0,3)}const h=()=>{const e=Math.min(window.devicePixelRatio||1,TEXTURE_MAX_DPR);o.width=Math.max(1,Math.round(t.clientWidth*e)),o.height=Math.max(1,Math.round(t.clientHeight*e)),r.viewport(0,0,o.width,o.height),f()},y=e=>{const t=Math.min((e-g)/1e3,.05);g=e,reducedMotion||(p+=t),f(),d=requestAnimationFrame(y)};let v=null;const b=()=>{null!=d||reducedMotion||(g=performance.now(),d=requestAnimationFrame(y))},S=()=>{null!=d&&(cancelAnimationFrame(d),d=null)};h(),window.addEventListener("resize",h);let w=null;hasScrollTrigger&&(w=ScrollTrigger.create({trigger:e,start:"top top",end:"+=175%",scrub:!0,onUpdate:e=>{m=e.progress,reducedMotion&&f()}})),reducedMotion?f():"IntersectionObserver"in window?(v=new IntersectionObserver(e=>e[0].isIntersecting?b():S(),{rootMargin:"200px"}),v.observe(e)):b(),textureInstances.push({destroy(){S(),v?.disconnect(),window.removeEventListener("resize",h),w?.kill(),r.getExtension("WEBGL_lose_context")?.loseContext(),o.remove(),delete e.dataset.heroReveal}})}function initRadioFilter(){const e=document.querySelector(".filters-coll-list");if(!e)return;function t(){const t=e.querySelectorAll(".filter-btn.w-radio"),[o,...r]=t;if(!o)return;const n=r.some(e=>e.classList.contains("is-active"));o.classList.toggle("is-active",!n)}t();const o=new MutationObserver(t);o.observe(e,{attributes:!0,attributeFilter:["class"],subtree:!0}),activeObservers.push(o)}function initFsObserver(){const e=document.querySelector('[fs-cmsfilter-element="list"]');if(!e)return;const t=new MutationObserver(()=>{hasScrollTrigger&&ScrollTrigger.refresh()});t.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["style"]}),activeObservers.push(t)}function initAccordions(){document.querySelectorAll(".accordion_wrap").forEach((e,t)=>{if(e.dataset.scriptInitialized)return;e.dataset.scriptInitialized="true";const o="False"!==e.getAttribute("data-close-previous"),r="False"!==e.getAttribute("data-close-on-second-click"),n="True"===e.getAttribute("data-open-on-hover"),i="True"===e.getAttribute("data-animate-content"),a=(()=>{const t=e.getAttribute("data-open-by-default");return null!==t&&!isNaN(+t)&&+t})(),s=e.querySelector(".accordion_list");let l=null;const c=[];!function(e){if(!e)return;let t=e.firstElementChild;for(;t&&t.classList.contains("u-display-contents");){for(;t.firstChild;)e.insertBefore(t.firstChild,t);e.removeChild(t),t=e.firstElementChild}}(s),function(e){const t=Array.from(e.children).find(e=>e.classList.contains("w-dyn-list"));if(!t)return;const o=t?.querySelector(".w-dyn-items")?.children;if(!o)return;const r=[...e.children];[...o].forEach(t=>{const o=[...t.children].find(e=>!e.classList.contains("w-condition-invisible"));o&&e.appendChild(o)}),r.forEach(e=>e.remove())}(s);const u=.5,d="power4.inOut",p=getComputedStyle(document.documentElement).getPropertyValue("--swatch--dark").trim(),g=()=>{hasScrollTrigger&&ScrollTrigger.refresh()};e.querySelectorAll(".accordion_component").forEach((e,s)=>{const m=e.querySelector(".accordion_toggle_button"),f=e.querySelector(".accordion_content_wrap"),h=f?.querySelector(".accordion_content_padding"),y=e.parentElement,v=y?.querySelector(".acc-item-bk"),b=m?.querySelector(".accordion_toggle_icon");if(!m||!f)return console.warn("Accordion: missing elements in",e);const S=getComputedStyle(y).color;m.setAttribute("aria-expanded","false"),m.setAttribute("id",`accordion_button_${t}_${s}`),f.setAttribute("id",`accordion_content_${t}_${s}`),m.setAttribute("aria-controls",f.id),f.setAttribute("aria-labelledby",m.id),gsap.set(f,{height:0,display:"none",overflow:"hidden"}),i&&h&&gsap.set(h,{opacity:0,y:16}),v&&gsap.set(v,{opacity:0}),b&&gsap.set(b,{opacity:0});const w=()=>{e.classList.contains("is-active")&&(e.classList.remove("is-active"),m.setAttribute("aria-expanded","false"),gsap.set(f,{overflow:"hidden"}),i&&h&&gsap.to(h,{opacity:0,y:o?16:10,duration:.2,ease:o?d:"power2.in",overwrite:!0}),v&&gsap.to(v,{opacity:0,duration:o?u:.45,ease:o?d:"power4.inOut",overwrite:!0}),b&&gsap.to(b,{opacity:0,duration:o?u:.45,ease:o?d:"power4.inOut",overwrite:!0}),gsap.to(y,{color:S,duration:o?u:.45,ease:o?d:"power4.inOut",overwrite:"color"}),gsap.to(f,{height:0,duration:o?u:.45,ease:o?d:"power4.inOut",delay:o?0:.05,overwrite:!0,onComplete:()=>{gsap.set(f,{display:"none"}),g()}}))};c[s]=w;const _=(t=!1)=>{if(o&&null!==l&&l!==s&&c[l]?.(),l=s,m.setAttribute("aria-expanded","true"),e.classList.add("is-active"),t)return gsap.set(f,{display:"block",height:"auto",overflow:"visible"}),i&&h&&gsap.set(h,{opacity:1,y:0}),v&&gsap.set(v,{opacity:1}),b&&gsap.set(b,{opacity:1}),void gsap.set(y,{color:p});gsap.set(f,{display:"block",overflow:"hidden"}),gsap.fromTo(f,{height:0},{height:"auto",duration:o?u:.6,ease:o?d:"expo.out",overwrite:!0,onComplete:()=>{gsap.set(f,{overflow:"visible"}),g()}}),i&&h&&gsap.fromTo(h,{opacity:0,y:16},{opacity:1,y:0,duration:o?u:.5,ease:o?d:"power3.out",delay:o?0:.1,overwrite:!0}),v&&gsap.to(v,{opacity:1,duration:o?u:.6,ease:o?d:"power3.out",overwrite:!0}),b&&gsap.to(b,{opacity:1,duration:o?u:.6,ease:o?d:"power3.out",overwrite:!0}),gsap.to(y,{color:p,duration:o?u:.6,ease:o?d:"power3.out",overwrite:"color"})};a===s+1&&_(!0),m.addEventListener("click",()=>e.classList.contains("is-active")&&r?(w(),l=null):_()),n&&m.addEventListener("mouseenter",()=>_())})})}function initServiceFlip(){"undefined"!=typeof Flip?(gsap.registerPlugin(Flip),document.querySelectorAll(".service-details-flex").forEach(e=>{if(e.dataset.flipInit)return;e.dataset.flipInit="true";const t=[...e.querySelectorAll(".service-detail")],o=[...e.querySelectorAll(".service-detail-bk")],r=[...e.querySelectorAll(".service-detail-txt.is-dark")];if(t.length<2||!o.length)return;const n=o[0];o.slice(1).forEach(e=>e.remove()),gsap.set(n,{opacity:1}),e.querySelectorAll(".service-detail-txt:not(.is-dark)").forEach(e=>e.style.color="");let i=n.closest(".service-detail")||t[0];let a="";const s=()=>{const t=e.getBoundingClientRect(),o=n.getBoundingClientRect(),i=(o.top-t.top).toFixed(1)+"|"+(o.left-t.left).toFixed(1)+"|"+o.width.toFixed(1)+"|"+o.height.toFixed(1)+"|"+t.width.toFixed(1)+"|"+t.height.toFixed(1);i!==a&&(a=i,r.forEach(e=>{const t=e.getBoundingClientRect(),r=Math.max(0,o.top-4-t.top),n=Math.max(0,t.right-(o.right+4)),i=Math.max(0,t.bottom-(o.bottom+4)),a=Math.max(0,o.left-4-t.left);e.style.clipPath=e.style.webkitClipPath=`inset(${r}px ${n}px ${i}px ${a}px)`}))};gsap.ticker.add(s),activeObservers.push({disconnect:()=>gsap.ticker.remove(s)});const l=(e,t,o)=>{if(!e||e===i)return;i=e;const r=Flip.getState(n);e.appendChild(n),Flip.from(r,{duration:t,ease:o,overwrite:!0})},c=gsap.matchMedia();activeObservers.push({disconnect:()=>c.revert()}),c.add("(min-width: 768px)",()=>{const e=t.map(e=>{const t=()=>l(e,.4,"power2.out");return e.addEventListener("mouseenter",t),{item:e,fn:t}});return()=>e.forEach(e=>e.item.removeEventListener("mouseenter",e.fn))}),c.add("(max-width: 767px)",()=>{if(!hasScrollTrigger)return;const e=t.map(e=>ScrollTrigger.create({trigger:e,start:"top center",end:"bottom center",once:!0,onToggle:t=>{t.isActive&&l(e,.45,"power3.out")}}));return()=>e.forEach(e=>e.kill())})})):console.warn("[service-flip] GSAP Flip plugin not loaded")}function initHighlightAnimation(){if(!hasScrollTrigger)return;ScrollTrigger.getAll().forEach(e=>{e.vars.id&&String(e.vars.id).startsWith("highlight-")&&e.kill()});const e=".u-heading strong, [highlight] strong",t=e=>{gsap.set(e,{backgroundImage:"linear-gradient(to right, var(--swatch--brand) 50%, transparent 50%)",backgroundSize:"200% 89%",backgroundRepeat:"no-repeat",backgroundPositionX:reducedMotion?"0%":"100%",backgroundPositionY:"100%",webkitBoxDecorationBreak:"clone",boxDecorationBreak:"clone"}),e.style.transition="none"};let o=0;const r=new Set;document.querySelectorAll("[highlight-once]").forEach(n=>{const i=n.querySelectorAll(e);if(!i.length)return;if(i.forEach(e=>{t(e),r.add(e)}),reducedMotion)return;const a=gsap.timeline({paused:!0});i.forEach(e=>a.to(e,{backgroundPositionX:"0%",duration:1.4,ease:"power2.inOut"})),ScrollTrigger.create({id:"highlight-"+o++,trigger:n,start:"top 85%",once:!0,onEnter:()=>a.play()})}),document.querySelectorAll(e).forEach(e=>{r.has(e)||(t(e),reducedMotion||ScrollTrigger.create({id:"highlight-"+o++,trigger:e,start:"top 85%",once:!0,onEnter:()=>gsap.to(e,{backgroundPositionX:"0%",duration:1.4,ease:"power2.inOut",overwrite:!0})}))})}function initEvolScroll(){if(!hasScrollTrigger||reducedMotion)return;const e=document.querySelector(".evol-height"),t=document.querySelector(".evol-wrap");if(!e||!t)return;const o=gsap.matchMedia();activeObservers.push({disconnect:()=>o.revert()}),o.add("(min-width: 992px)",()=>{const o=t.parentElement;gsap.fromTo(t,{x:0},{x:()=>-Math.max(0,t.scrollWidth-o.clientWidth),ease:"none",scrollTrigger:{trigger:e,start:"top top",end:"bottom bottom",scrub:1,invalidateOnRefresh:!0}})})}function initFooterReveal(){if(!hasScrollTrigger||reducedMotion)return;const e=document.querySelector(".footer-visual-stick"),t=document.querySelector(".footer");e&&t&&gsap.fromTo(e,{clipPath:"inset(100% 0% 0% 0%)",webkitClipPath:"inset(100% 0% 0% 0%)"},{clipPath:"inset(0% 0% 0% 0%)",webkitClipPath:"inset(0% 0% 0% 0%)",ease:"none",overwrite:!0,scrollTrigger:{trigger:t,start:"top 110%",end:"top 10%",scrub:!0}})}function initFooterParallax(){if(!hasScrollTrigger||reducedMotion)return;const e=document.querySelector(".footer-visual");if(!e)return;const t=document.querySelector(".footer")||e.closest("footer");t&&gsap.fromTo(e,{yPercent:0},{yPercent:-20,ease:"none",overwrite:!0,scrollTrigger:{trigger:t,start:"top bottom",end:"bottom bottom",scrub:!0}})}function allpages(){initYear(),initMenu(),initPill(),initCurrentLinks(),initSlider(),initAccordions(),initServiceFlip(),initParallax(),initBlogHeroParallax(),initNavTxt(),initNavLogoTheme(),initHighlightAnimation(),initOdometers(),initFooterParallax(),initFooterReveal(),initEvolScroll(),initSectionTexture(),initHeroScrollReveal(),initRadioFilter(),initFsObserver(),reinitFsAttributes()}