{"version":3,"file":"HelixGradientLoop.WbBGiDa5.mjs","names":["useRef","useState","Button","React.useContext","React.useMemo","React.Fragment","React.forwardRef","useRef","React.useId","sharedStyle.className","className","RichText","sharedStyle.css","sharedStyle.fonts"],"sources":["https:/framerusercontent.com/modules/wskW1SoDKxJzJIiqOylQ/Z86JKWtK3QU4ffeT2odo/InteractiveGrid_prod.js","https:/framerusercontent.com/modules/bQfU1ywPwgeSFX0PPmxG/9jWkkC8jiHhyV5a0Grv9/uUMkJJyis.js","https:/framerusercontent.com/modules/2UtHGzIWPUZQInus1wgM/OuZpZdWou0pBCxrOxpNJ/HelixGradientLoop.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useEffect,useRef,useState}from\"react\";/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerIntrinsicWidth 800\n * @framerIntrinsicHeight 500\n * @framerDisableUnlink\n */export default function KineticGrid(props){const{clickInteraction=false,clickProps={},cursorTrail=false,cursorTrailProps={},backgroundColor=\"transparent\",gridColor=\"#FFFFFF\",dotColor=\"#FFFFFF\",hoverColor=\"#FFFFFF\",gridSize=60,repulsionStrength=-.65,radius=290,dotSize=1.5,gridThickness=.5,baseOpacity=.09}=props;const{clickForce=0,motionSpeed=1}=clickProps;const{trailMode=\"hover\",trailLength=.1,trailColor=\"#FFFFFF\"}=cursorTrailProps;const canvasRef=useRef(null);const animationRef=useRef(null);const dotsRef=useRef(new Map);const mousePosRef=useRef(null);const trailPointsRef=useRef([]);const isMouseDownRef=useRef(false);const[mounted,setMounted]=useState(false);const colorsRef=useRef({backgroundColor,gridColor,dotColor,hoverColor,gridSize,repulsionStrength,radius,dotSize,gridThickness,baseOpacity,clickInteraction,clickForce,motionSpeed,cursorTrail,trailMode,trailLength,trailColor});const prevGridSizeRef=useRef(gridSize);useEffect(()=>{const gridSizeChanged=prevGridSizeRef.current!==gridSize;prevGridSizeRef.current=gridSize;colorsRef.current={backgroundColor,gridColor,dotColor,hoverColor,gridSize,repulsionStrength,radius,dotSize,gridThickness,baseOpacity,clickInteraction,clickForce,motionSpeed,cursorTrail,trailMode,trailLength,trailColor};if(gridSizeChanged&&mounted&&canvasRef.current){const canvas=canvasRef.current;const width=canvas.clientWidth||canvas.offsetWidth||1;const height=canvas.clientHeight||canvas.offsetHeight||1;dotsRef.current.clear();for(let gx=-gridSize;gx<width+gridSize*2;gx+=gridSize){for(let gy=-gridSize;gy<height+gridSize*2;gy+=gridSize){const key=`${gx},${gy}`;dotsRef.current.set(key,{x:gx,y:gy,vx:0,vy:0,size:1,targetSize:1,brightness:1});}}}},[mounted,backgroundColor,gridColor,dotColor,hoverColor,gridSize,repulsionStrength,radius,dotSize,gridThickness,baseOpacity,clickInteraction,clickForce,motionSpeed,cursorTrail,trailMode,trailLength,trailColor]);const parseColor=color=>{if(!color||color===\"transparent\")return{r:0,g:0,b:0,a:0};const rgbaMatch=color.match(/rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*([\\d.]+)/i);if(rgbaMatch)return{r:parseInt(rgbaMatch[1]),g:parseInt(rgbaMatch[2]),b:parseInt(rgbaMatch[3]),a:parseFloat(rgbaMatch[4])};const rgbMatch=color.match(/rgb\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)/i);if(rgbMatch)return{r:parseInt(rgbMatch[1]),g:parseInt(rgbMatch[2]),b:parseInt(rgbMatch[3]),a:1};let hex=color.replace(\"#\",\"\");if(hex.length===8){return{r:parseInt(hex.substring(0,2),16),g:parseInt(hex.substring(2,4),16),b:parseInt(hex.substring(4,6),16),a:parseInt(hex.substring(6,8),16)/255};}if(hex.length===3)hex=hex[0]+hex[0]+hex[1]+hex[1]+hex[2]+hex[2];const r=parseInt(hex.substring(0,2),16),g=parseInt(hex.substring(2,4),16),b=parseInt(hex.substring(4,6),16);return{r:isNaN(r)?160:r,g:isNaN(g)?160:g,b:isNaN(b)?160:b,a:1};};useEffect(()=>{setMounted(true);},[]);useEffect(()=>{if(!mounted)return;const canvas=canvasRef.current;if(!canvas)return;const ctx=canvas.getContext(\"2d\");if(!ctx)return;const maxDist=400;const getSpringParams=()=>{const speed=colorsRef.current.motionSpeed;const t=Math.max(0,Math.min(1,speed));return{springStiffness:.02+t*.06,damping:.7+t*.05};};const getCanvasSize=()=>{const width=canvas.clientWidth||canvas.offsetWidth||1;const height=canvas.clientHeight||canvas.offsetHeight||1;return{width,height};};const initDots=()=>{dotsRef.current.clear();const{width,height}=getCanvasSize();const currentGridSize=colorsRef.current.gridSize;for(let gx=-currentGridSize;gx<width+currentGridSize*2;gx+=currentGridSize){for(let gy=-currentGridSize;gy<height+currentGridSize*2;gy+=currentGridSize){const key=`${gx},${gy}`;dotsRef.current.set(key,{x:gx,y:gy,vx:0,vy:0,size:1,targetSize:1,brightness:1});}}};let{width,height}=getCanvasSize();canvas.width=width;canvas.height=height;initDots();let lastTime=performance.now();const getHoverIntensity=(x,y)=>{const mouse=mousePosRef.current;if(!mouse)return 0;const hoverRadius=colorsRef.current.radius;const dx=x-mouse.x,dy=y-mouse.y;const dist=Math.sqrt(dx*dx+dy*dy);if(dist>hoverRadius)return 0;return Math.pow(1-dist/hoverRadius,3.5);};const mapRepulsion=value=>{return value<=0?value*25:value*90;};const getCursorPush=(baseX,baseY)=>{const mouse=mousePosRef.current;const currentRepulsion=colorsRef.current.repulsionStrength;const mappedRepulsion=mapRepulsion(currentRepulsion);if(!mouse||mappedRepulsion===0)return{x:0,y:0};const dx=baseX-mouse.x,dy=baseY-mouse.y;const dist=Math.sqrt(dx*dx+dy*dy);if(dist===0)return{x:0,y:0};const normalizedDist=Math.min(dist/maxDist,1);const pushAmount=Math.pow(1-normalizedDist,2)*mappedRepulsion;return{x:dx/dist*pushAmount,y:dy/dist*pushAmount};};const getClickPush=(baseX,baseY)=>{if(!colorsRef.current.clickInteraction||!isMouseDownRef.current)return{x:0,y:0};const mouse=mousePosRef.current;const force=colorsRef.current.clickForce;if(!mouse||force<=0)return{x:0,y:0};const dx=baseX-mouse.x,dy=baseY-mouse.y;const dist=Math.sqrt(dx*dx+dy*dy);if(dist===0)return{x:0,y:0};const normalizedDist=Math.min(dist/maxDist,1);const pushAmount=Math.pow(1-normalizedDist,2)*force*100;return{x:dx/dist*pushAmount,y:dy/dist*pushAmount};};const animate=()=>{const now=performance.now();const deltaTime=now-lastTime;lastTime=now;const currentColors=colorsRef.current;const hoverColorParsed=parseColor(currentColors.hoverColor);const gridColorParsed=parseColor(currentColors.gridColor);const dotColorParsed=parseColor(currentColors.dotColor);const bgColorParsed=parseColor(currentColors.backgroundColor);const currentGridSize=currentColors.gridSize;const currentDotSize=currentColors.dotSize;const currentGridThickness=currentColors.gridThickness;const currentBaseOpacity=currentColors.baseOpacity;ctx.clearRect(0,0,width,height);ctx.fillStyle=`rgba(${bgColorParsed.r}, ${bgColorParsed.g}, ${bgColorParsed.b}, ${bgColorParsed.a})`;ctx.fillRect(0,0,width,height);dotsRef.current.forEach((dot,key)=>{const[gxStr,gyStr]=key.split(\",\");const gx=parseInt(gxStr),gy=parseInt(gyStr);const rightDot=dotsRef.current.get(`${gx+currentGridSize},${gy}`);const bottomDot=dotsRef.current.get(`${gx},${gy+currentGridSize}`);const hoverIntensity=getHoverIntensity(dot.x,dot.y);if(rightDot){const avgHover=(hoverIntensity+getHoverIntensity(rightDot.x,rightDot.y))/2;const r=Math.round(gridColorParsed.r+(hoverColorParsed.r-gridColorParsed.r)*avgHover);const g=Math.round(gridColorParsed.g+(hoverColorParsed.g-gridColorParsed.g)*avgHover);const b=Math.round(gridColorParsed.b+(hoverColorParsed.b-gridColorParsed.b)*avgHover);const lineOpacity=currentBaseOpacity+(1-currentBaseOpacity)*avgHover;ctx.beginPath();ctx.moveTo(dot.x,dot.y);ctx.lineTo(rightDot.x,rightDot.y);ctx.lineWidth=currentGridThickness+avgHover*2;ctx.strokeStyle=`rgba(${r}, ${g}, ${b}, ${lineOpacity})`;ctx.stroke();}if(bottomDot){const avgHover=(hoverIntensity+getHoverIntensity(bottomDot.x,bottomDot.y))/2;const r=Math.round(gridColorParsed.r+(hoverColorParsed.r-gridColorParsed.r)*avgHover);const g=Math.round(gridColorParsed.g+(hoverColorParsed.g-gridColorParsed.g)*avgHover);const b=Math.round(gridColorParsed.b+(hoverColorParsed.b-gridColorParsed.b)*avgHover);const lineOpacity=currentBaseOpacity+(1-currentBaseOpacity)*avgHover;ctx.beginPath();ctx.moveTo(dot.x,dot.y);ctx.lineTo(bottomDot.x,bottomDot.y);ctx.lineWidth=currentGridThickness+avgHover*2;ctx.strokeStyle=`rgba(${r}, ${g}, ${b}, ${lineOpacity})`;ctx.stroke();}});const{springStiffness,damping}=getSpringParams();dotsRef.current.forEach((dot,key)=>{const[gxStr,gyStr]=key.split(\",\");const gx=parseInt(gxStr),gy=parseInt(gyStr);const targetX=gx+getCursorPush(gx,gy).x+getClickPush(gx,gy).x;const targetY=gy+getCursorPush(gx,gy).y+getClickPush(gx,gy).y;const forceX=(targetX-dot.x)*springStiffness;const forceY=(targetY-dot.y)*springStiffness;dot.vx=(dot.vx+forceX)*damping;dot.vy=(dot.vy+forceY)*damping;dot.x+=dot.vx;dot.y+=dot.vy;const hoverIntensity=getHoverIntensity(dot.x,dot.y);dot.targetSize=currentDotSize+hoverIntensity*currentDotSize;dot.size+=(dot.targetSize-dot.size)*.15;const r=Math.round(dotColorParsed.r+(hoverColorParsed.r-dotColorParsed.r)*hoverIntensity);const g=Math.round(dotColorParsed.g+(hoverColorParsed.g-dotColorParsed.g)*hoverIntensity);const b=Math.round(dotColorParsed.b+(hoverColorParsed.b-dotColorParsed.b)*hoverIntensity);const opacity=currentBaseOpacity+(1-currentBaseOpacity)*hoverIntensity;ctx.beginPath();ctx.arc(dot.x,dot.y,Math.max(currentDotSize*.5,dot.size),0,Math.PI*2);ctx.fillStyle=`rgba(${r}, ${g}, ${b}, ${opacity})`;ctx.fill();});const{cursorTrail:ct,trailLength:tlen,trailColor:tcolor}=currentColors;const effectiveTrailLength=Math.max(1,Math.round(tlen*50));if(ct&&effectiveTrailLength>0){const trail=trailPointsRef.current;if(trail.length>1){const now=performance.now();const maxAge=Math.max(200,effectiveTrailLength*40);ctx.save();ctx.lineCap=\"round\";ctx.lineJoin=\"round\";ctx.lineWidth=2;ctx.beginPath();let started=false;for(let i=0;i<trail.length;i++){const point=trail[i],age=now-point.time;if(age<maxAge){if(!started){ctx.moveTo(point.x,point.y);started=true;}else{ctx.lineTo(point.x,point.y);}}}const trailAlpha=trail.length>0?Math.max(0,1-(now-trail[trail.length-1].time)/maxAge):0;const tc=parseColor(tcolor);ctx.strokeStyle=`rgba(${tc.r}, ${tc.g}, ${tc.b}, ${trailAlpha*.9*tc.a})`;ctx.stroke();ctx.restore();}}animationRef.current=requestAnimationFrame(animate);};animationRef.current=requestAnimationFrame(animate);const handleMouseMove=e=>{const rect=canvas.getBoundingClientRect();const canvasWidth=canvas.clientWidth||canvas.offsetWidth||1;const canvasHeight=canvas.clientHeight||canvas.offsetHeight||1;const scaleX=canvasWidth/rect.width;const scaleY=canvasHeight/rect.height;const x=(e.clientX-rect.left)*scaleX;const y=(e.clientY-rect.top)*scaleY;// Only track if mouse is within component bounds\nif(x>=0&&y>=0&&x<=canvasWidth&&y<=canvasHeight){mousePosRef.current={x,y};const{cursorTrail:ct,trailMode:tm,trailLength:tlen}=colorsRef.current;const effectiveLength=Math.max(1,Math.round(tlen*100));if(ct&&effectiveLength>0&&(tm===\"hover\"||isMouseDownRef.current)){const now=performance.now();const trail=trailPointsRef.current;trail.push({x,y,time:now});if(trail.length>effectiveLength)trail.splice(0,trail.length-effectiveLength);}}else{mousePosRef.current=null;}};const handleMouseDown=()=>{isMouseDownRef.current=true;};const handleMouseUp=()=>{if(colorsRef.current.trailMode===\"click\")trailPointsRef.current=[];isMouseDownRef.current=false;};// Attach listeners to window to allow interaction with underlying elements\nwindow.addEventListener(\"mousemove\",handleMouseMove);window.addEventListener(\"mousedown\",handleMouseDown);window.addEventListener(\"mouseup\",handleMouseUp);const handleResize=()=>{const newSize=getCanvasSize();width=newSize.width;height=newSize.height;canvas.width=width;canvas.height=height;initDots();};const resizeObserver=new ResizeObserver(handleResize);resizeObserver.observe(canvas);return()=>{window.removeEventListener(\"mousemove\",handleMouseMove);window.removeEventListener(\"mousedown\",handleMouseDown);window.removeEventListener(\"mouseup\",handleMouseUp);resizeObserver.disconnect();if(animationRef.current)cancelAnimationFrame(animationRef.current);};},[mounted]);if(!mounted)return null;return /*#__PURE__*/_jsx(\"canvas\",{ref:canvasRef,style:{position:\"absolute\",top:0,left:0,width:\"100%\",height:\"100%\",pointerEvents:\"none\",...props.style}});}addPropertyControls(KineticGrid,{clickInteraction:{type:ControlType.Boolean,title:\"Click\",defaultValue:false},clickProps:{type:ControlType.Object,title:\"Click Props\",hidden:p=>!p.clickInteraction,controls:{clickForce:{type:ControlType.Number,title:\"Click Force\",defaultValue:.5,min:.1,max:1,step:.1},motionSpeed:{type:ControlType.Number,title:\"Snappyness\",defaultValue:.5,min:.1,max:1,step:.1}}},cursorTrail:{type:ControlType.Boolean,title:\"Cursor Trail\",defaultValue:false},cursorTrailProps:{type:ControlType.Object,hidden:p=>!p.cursorTrail,title:\"Trail Props\",controls:{trailMode:{type:ControlType.Enum,title:\"Trail Mode\",options:[\"click\",\"hover\"],defaultValue:\"hover\"},trailLength:{type:ControlType.Number,title:\"Trail Length\",defaultValue:.1,min:.1,max:1,step:.1},trailColor:{type:ControlType.Color,title:\"Trail Color\",defaultValue:\"#FFFFFF\"}}},gridThickness:{type:ControlType.Number,title:\"Grid Stroke\",defaultValue:.5,min:.1,max:3,step:.1},dotSize:{type:ControlType.Number,title:\"Dot Size\",defaultValue:1.5,min:.5,max:5,step:.1},baseOpacity:{type:ControlType.Number,title:\"Far Opacity\",defaultValue:.09,min:0,max:1,step:.01},gridSize:{type:ControlType.Number,title:\"Grid Size\",defaultValue:60,min:20,max:100,step:5},repulsionStrength:{type:ControlType.Number,title:\"Repulsion\",defaultValue:-.65,min:-1,max:1,step:.01},radius:{type:ControlType.Number,title:\"Radius\",defaultValue:350,min:50,max:1e3,step:10},hoverColor:{type:ControlType.Color,title:\"Hover\",defaultValue:\"#0073FF\"},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"transparent\"},gridColor:{type:ControlType.Color,title:\"Grid\",defaultValue:\"#FFFFFF\"},dotColor:{type:ControlType.Color,title:\"Dots\",defaultValue:\"#FFFFFF\",description:\"More components at [Framer University](https://frameruni.link/cc).\"}});KineticGrid.displayName=\"Kinetic Grid\";\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"KineticGrid\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"500\",\"framerDisableUnlink\":\"\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"800\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./InteractiveGrid_prod.map","// Generated by Framer (f550547)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,forwardLoader,getFonts,getFontsFromSharedStyle,ResolveLinks,RichText,SmartComponentScopedContainer,useComponentViewport,useLocaleInfo,useRouter,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import KineticGrid from\"https://framerusercontent.com/modules/wskW1SoDKxJzJIiqOylQ/Z86JKWtK3QU4ffeT2odo/InteractiveGrid_prod.js\";import*as sharedStyle from\"https://framerusercontent.com/modules/zzIa9cE0L6LWkzXReBZj/gZbilPNGLDVi6GQdS3g9/MYwPjfe5j.js\";import Button from\"https://framerusercontent.com/modules/1eIcpd3nmHUEY8FjwvuX/GTFVLRgyQK1alIoO6CGk/beyr97Pj2.js\";const ButtonFonts=getFonts(Button);const KineticGridFonts=getFonts(KineticGrid);const cycleOrder=[\"p9COG81r4\",\"jlA2zuzE4\",\"EnQe2Wfpq\",\"w7rRMqcsh\"];const serializationHash=\"framer-BQg1E\";const variantClassNames={EnQe2Wfpq:\"framer-v-19v1aux\",jlA2zuzE4:\"framer-v-1kh08no\",p9COG81r4:\"framer-v-djz630\",w7rRMqcsh:\"framer-v-9spgaa\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const matchVariant=(...args)=>{for(const arg of args){if(arg&&typeof arg===\"string\")return arg;}return undefined;};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const humanReadableVariantMap={Desktop:\"p9COG81r4\",Phone:\"EnQe2Wfpq\",Tablet:\"jlA2zuzE4\",Wide:\"w7rRMqcsh\"};const Variants=motion.create(React.Fragment);const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"p9COG81r4\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"p9COG81r4\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[sharedStyle.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const router=useRouter();return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.section,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-djz630\",className,classNames),\"data-framer-name\":\"Desktop\",layoutDependency:layoutDependency,layoutId:\"p9COG81r4\",ref:refBinding,style:{...style},...addPropertyOverrides({EnQe2Wfpq:{\"data-framer-name\":\"Phone\"},jlA2zuzE4:{\"data-framer-name\":\"Tablet\"},w7rRMqcsh:{\"data-framer-name\":\"Wide\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-1p9pfkf\",\"data-framer-name\":\"Container\",layoutDependency:layoutDependency,layoutId:\"TLz_29IpN\",children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-fbghdi\",layoutDependency:layoutDependency,layoutId:\"jWRr8LvOX\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-kljoji\",\"data-styles-preset\":\"MYwPjfe5j\",dir:\"auto\",style:{\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-1of0zx5, rgb(37, 98, 234))\"},children:\"Get in touch!\"})}),className:\"framer-1o302sj\",\"data-framer-name\":\"Join Voodoo today.\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"p5IJnj5yt\",style:{\"--extracted-1of0zx5\":\"rgb(37, 98, 234)\"},verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{webPageId:\"FKQnsEJJj\"},implicitPathVariables:undefined},{href:{webPageId:\"FKQnsEJJj\"},implicitPathVariables:undefined},{href:{webPageId:\"FKQnsEJJj\"},implicitPathVariables:undefined},{href:{webPageId:\"FKQnsEJJj\"},implicitPathVariables:undefined}],children:resolvedLinks=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:40,y:(componentViewport?.y||0)+128+(((componentViewport?.height||200)-256-144)/2+0+0)+0+0+104,...addPropertyOverrides({EnQe2Wfpq:{y:(componentViewport?.y||0)+64+(((componentViewport?.height||200)-128-144)/2+0+0)+0+0+0+104}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-ygxqmq-container\",layoutDependency:layoutDependency,layoutId:\"wNCH8WF4r-container\",nodeId:\"wNCH8WF4r\",rendersWithMotion:true,scopeId:\"uUMkJJyis\",children:/*#__PURE__*/_jsx(Button,{fEteKTjUG:resolvedLinks[0],height:\"100%\",id:\"wNCH8WF4r\",layoutId:\"wNCH8WF4r\",mwSmtD9y5:\"Get in touch\",variant:matchVariant(\"f7WvdiVFT\"),vUKAMPBYJ:\"CaretRight\",width:\"100%\",...addPropertyOverrides({EnQe2Wfpq:{fEteKTjUG:resolvedLinks[2]},jlA2zuzE4:{fEteKTjUG:resolvedLinks[1]},w7rRMqcsh:{fEteKTjUG:resolvedLinks[3]}},baseVariant,gestureVariant)})})})})]})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1afw3sw-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"hkksqg2VZ-container\",nodeId:\"hkksqg2VZ\",rendersWithMotion:true,scopeId:\"uUMkJJyis\",children:/*#__PURE__*/_jsx(KineticGrid,{backgroundColor:\"rgba(0, 0, 0, 0)\",baseOpacity:.5,clickInteraction:false,clickProps:{clickForce:.5,motionSpeed:.5},cursorTrail:true,cursorTrailProps:{trailColor:\"rgb(255, 255, 255)\",trailLength:.1,trailMode:\"hover\"},dotColor:\"rgb(255, 255, 255)\",dotSize:2,gridColor:\"var(--token-5bd54f06-3244-4cc0-98e4-f754937ccdfe, rgb(255, 255, 255))\",gridSize:32,gridThickness:1,height:\"100%\",hoverColor:\"var(--token-5bd54f06-3244-4cc0-98e4-f754937ccdfe, rgb(255, 255, 255))\",id:\"hkksqg2VZ\",layoutId:\"hkksqg2VZ\",radius:350,repulsionStrength:-.65,style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-1gh2i7m\",\"data-framer-name\":\"Gradient\",layoutDependency:layoutDependency,layoutId:\"XhVDyTyB1\",style:{background:\"radial-gradient(50% 50% at 50% 50%, rgba(229, 231, 235, 0.1) 68.0954391891892%, var(--token-529e015c-fa5c-46d3-9b34-83c941413ed1, rgb(229, 231, 235)) 100%)\"}})]})})})});});const css=[\".framer-BQg1E.framer-e9istt, .framer-BQg1E .framer-e9istt { display: block; }\",\".framer-BQg1E.framer-djz630 { align-content: center; align-items: center; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; overflow: hidden; padding: 128px 64px 128px 64px; position: relative; width: 1224px; }\",\".framer-BQg1E .framer-1p9pfkf { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 32px; height: min-content; justify-content: center; max-width: 1024px; overflow: visible; padding: 0px; position: relative; width: 100%; z-index: 2; }\",\".framer-BQg1E .framer-fbghdi { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 32px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: 60%; }\",\".framer-BQg1E .framer-1o302sj { flex: none; height: auto; max-width: 800px; position: relative; white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\",\".framer-BQg1E .framer-ygxqmq-container { flex: none; height: auto; position: relative; width: auto; }\",\".framer-BQg1E .framer-1afw3sw-container { flex: none; height: 100%; left: calc(50.00000000000002% - 100% / 2); position: absolute; top: calc(50.00000000000002% - 100% / 2); width: 100%; z-index: 1; }\",\".framer-BQg1E .framer-1gh2i7m { -webkit-user-select: none; flex: none; height: 100%; left: calc(50.00000000000002% - 100% / 2); overflow: var(--overflow-clip-fallback, clip); pointer-events: none; position: absolute; top: calc(50.00000000000002% - 100% / 2); user-select: none; width: 100%; z-index: 1; }\",\".framer-BQg1E.framer-v-1kh08no.framer-djz630 { padding: 128px 48px 128px 48px; width: 768px; }\",\".framer-BQg1E.framer-v-1kh08no .framer-fbghdi { flex: 1 0 0px; width: 1px; }\",\".framer-BQg1E.framer-v-19v1aux.framer-djz630 { padding: 64px 24px 64px 24px; width: 320px; }\",\".framer-BQg1E.framer-v-19v1aux .framer-1p9pfkf { flex-direction: column; }\",\".framer-BQg1E.framer-v-19v1aux .framer-fbghdi { width: 100%; }\",\".framer-BQg1E.framer-v-9spgaa.framer-djz630 { width: 1920px; }\",\".framer-BQg1E.framer-v-9spgaa .framer-1p9pfkf { max-width: 1280px; }\",...sharedStyle.css];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 400\n * @framerIntrinsicWidth 1224\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"jlA2zuzE4\":{\"layout\":[\"fixed\",\"auto\"]},\"EnQe2Wfpq\":{\"layout\":[\"fixed\",\"auto\"]},\"w7rRMqcsh\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FrameruUMkJJyis=withCSS(Component,css,\"framer-BQg1E\");export default FrameruUMkJJyis;FrameruUMkJJyis.displayName=\"Get in Touch - LIGHT\";FrameruUMkJJyis.defaultProps={height:400,width:1224};addPropertyControls(FrameruUMkJJyis,{variant:{options:[\"p9COG81r4\",\"jlA2zuzE4\",\"EnQe2Wfpq\",\"w7rRMqcsh\"],optionTitles:[\"Desktop\",\"Tablet\",\"Phone\",\"Wide\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FrameruUMkJJyis,[{explicitInter:true,fonts:[{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]},...ButtonFonts,...KineticGridFonts,...getFontsFromSharedStyle(sharedStyle.fonts)],{supportsExplicitInterCodegen:true});FrameruUMkJJyis.loader={load:(props,context)=>{const locale=context.locale;return Promise.allSettled([forwardLoader(Button,{},context)]);}};\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FrameruUMkJJyis\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"400\",\"framerContractVersion\":\"1\",\"framerColorSyntax\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicWidth\":\"1224\",\"framerImmutableVariables\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"jlA2zuzE4\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"EnQe2Wfpq\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"w7rRMqcsh\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerComponentViewportWidth\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect}from\"react\";// Helix animated vertical gradient.\n//\n// One container-sized div. The ramp is a single period used as a repeating background tile\n// four times the element's height, so only a quarter of the ramp is ever in view (you never\n// see the navy trough and the white peak together) and the background simply tiles above and\n// below. Scrolling it is one CSS animation on background-position.\n//\n// background-position percentages map onto (image height - box height) = 3x the box, so\n// 150% is a shift of exactly 3x the box = exactly one tile. The tiling makes that wrap\n// invisible, with no oversized clipped layer to translate and nothing tied to a pixel value\n// or a breakpoint.\nconst RAMP_FULL=\"linear-gradient(180deg, #73B2FF 0.0%, #73B2FF 1.5625%, #73B2FF 3.125%, #73B2FF 4.6875%, #73B2FF 6.25%, #74B3FF 7.8125%, #75B3FF 9.375%, #76B4FF 10.9375%, #79B5FF 12.5%, #7BB6FF 14.0625%, #7FB8FF 15.625%, #83BBFF 17.1875%, #89BEFF 18.75%, #8EC1FF 20.3125%, #95C4FF 21.875%, #9CC8FF 23.4375%, #A2CCFF 25.0%, #A9CFFF 26.5625%, #B0D3FF 28.125%, #B7D6FF 29.6875%, #BCD9FF 31.25%, #C2DCFF 32.8125%, #C6DFFF 34.375%, #CAE1FF 35.9375%, #CCE2FF 37.5%, #CFE3FF 39.0625%, #D0E4FF 40.625%, #D1E4FF 42.1875%, #D2E5FF 43.75%, #D2E5FF 45.3125%, #D2E5FF 46.875%, #D2E5FF 48.4375%, #D2E5FF 50.0%, #D2E5FF 51.5625%, #D2E5FF 53.125%, #D2E5FF 54.6875%, #D2E5FF 56.25%, #D1E4FF 57.8125%, #D0E4FF 59.375%, #CFE3FF 60.9375%, #CCE2FF 62.5%, #CAE1FF 64.0625%, #C6DFFF 65.625%, #C2DCFF 67.1875%, #BCD9FF 68.75%, #B7D6FF 70.3125%, #B0D3FF 71.875%, #A9CFFF 73.4375%, #A2CCFF 75.0%, #9CC8FF 76.5625%, #95C4FF 78.125%, #8EC1FF 79.6875%, #89BEFF 81.25%, #83BBFF 82.8125%, #7FB8FF 84.375%, #7BB6FF 85.9375%, #79B5FF 87.5%, #76B4FF 89.0625%, #75B3FF 90.625%, #74B3FF 92.1875%, #73B2FF 93.75%, #73B2FF 95.3125%, #73B2FF 96.875%, #73B2FF 98.4375%, #73B2FF 100.0%)\";const RAMP_LIGHT=\"linear-gradient(180deg, #73B2FF 0.0%, #73B2FF 1.5625%, #73B2FF 3.125%, #73B2FF 4.6875%, #73B2FF 6.25%, #74B3FF 7.8125%, #75B3FF 9.375%, #76B4FF 10.9375%, #79B5FF 12.5%, #7BB6FF 14.0625%, #7FB8FF 15.625%, #83BBFF 17.1875%, #89BEFF 18.75%, #8EC1FF 20.3125%, #95C4FF 21.875%, #9CC8FF 23.4375%, #A2CCFF 25.0%, #A9CFFF 26.5625%, #B0D3FF 28.125%, #B7D6FF 29.6875%, #BCD9FF 31.25%, #C2DCFF 32.8125%, #C6DFFF 34.375%, #CAE1FF 35.9375%, #CCE2FF 37.5%, #CFE3FF 39.0625%, #D0E4FF 40.625%, #D1E4FF 42.1875%, #D2E5FF 43.75%, #D2E5FF 45.3125%, #D2E5FF 46.875%, #D2E5FF 48.4375%, #D2E5FF 50.0%, #D2E5FF 51.5625%, #D2E5FF 53.125%, #D2E5FF 54.6875%, #D2E5FF 56.25%, #D1E4FF 57.8125%, #D0E4FF 59.375%, #CFE3FF 60.9375%, #CCE2FF 62.5%, #CAE1FF 64.0625%, #C6DFFF 65.625%, #C2DCFF 67.1875%, #BCD9FF 68.75%, #B7D6FF 70.3125%, #B0D3FF 71.875%, #A9CFFF 73.4375%, #A2CCFF 75.0%, #9CC8FF 76.5625%, #95C4FF 78.125%, #8EC1FF 79.6875%, #89BEFF 81.25%, #83BBFF 82.8125%, #7FB8FF 84.375%, #7BB6FF 85.9375%, #79B5FF 87.5%, #76B4FF 89.0625%, #75B3FF 90.625%, #74B3FF 92.1875%, #73B2FF 93.75%, #73B2FF 95.3125%, #73B2FF 96.875%, #73B2FF 98.4375%, #73B2FF 100.0%)\";const KEYFRAMES=`\n@keyframes helixGradientScroll {\n  from { background-position: 0% 0%; }\n  to   { background-position: 0% 166.6667%; }\n}\n@media (prefers-reduced-motion: reduce) {\n  .helix-gradient-scroll { animation: none !important; }\n}\n`;function useKeyframes(){useEffect(()=>{const id=\"helix-gradient-scroll-keyframes\";if(typeof document===\"undefined\")return;if(document.getElementById(id))return;const tag=document.createElement(\"style\");tag.id=id;tag.textContent=KEYFRAMES;document.head.appendChild(tag);},[]);}function gradientStyle(image,seconds){return{backgroundImage:image,backgroundSize:\"100% 250%\",backgroundRepeat:\"repeat-y\",animation:`helixGradientScroll ${seconds}s linear infinite`};}/**\n * @framerDisableUnlink\n */export function withGradientLoop(Component){return props=>{useKeyframes();return /*#__PURE__*/_jsx(Component,{...props,className:[props.className,\"helix-gradient-scroll\"].filter(Boolean).join(\" \"),style:{...props.style,...gradientStyle(RAMP_FULL,8)}});};}/**\n * @framerDisableUnlink\n */export function withGradientLoopLight(Component){return props=>{useKeyframes();return /*#__PURE__*/_jsx(Component,{...props,className:[props.className,\"helix-gradient-scroll\"].filter(Boolean).join(\" \"),style:{...props.style,...gradientStyle(RAMP_LIGHT,8)}});};}\nexport const __FramerMetadata__ = {\"exports\":{\"withGradientLoopLight\":{\"type\":\"reactHoc\",\"name\":\"withGradientLoopLight\",\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\"}},\"withGradientLoop\":{\"type\":\"reactHoc\",\"name\":\"withGradientLoop\",\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./HelixGradientLoop.map"],"mappings":"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"}