{"version":3,"file":"script_main.Cthi4WRf.mjs","names":["React.useState","React.useMemo","useRef","useState","useCallback","x","r","u","gl","location","LiquidMetal","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","Variants","React.Fragment","getProps","createLayoutDependency","useRef","React.useId","addPropertyOverrides","enabledGestures","cycleOrder","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","Variants","React.Fragment","humanReadableVariantMap","getProps","createLayoutDependency","useRef","React.useId","RichText","Logo","NavNavLink","serializationHash","variantClassNames","React.useContext","React.useMemo","React.Fragment","humanReadableVariantMap","getProps","useRef","React.useId","RichText","NavigationBar","Footer","useRef","React.useId","PropertyOverrides","React.createElement","Template1","Framer.PageRoot","Framer.lazy","Framer.useCurrentRoute","Framer.useLocaleInfo","Framer.useRouter","React.Fragment","React.memo","React.useCallback","React.useEffect","React.useRef","React.useState","React.useLayoutEffect","Framer.LazyValue","Framer.LibraryFeaturesProvider","Framer.GracefullyDegradingErrorBoundary","Framer.PageEffectsProvider","breakpoints","Framer.patchRoutesForABTesting","Framer.inferInitialRouteFromPath","Framer.yieldToMain","React.startTransition","Framer.ErrorPlaceholder"],"sources":["https:/framerusercontent.com/modules/ewG1hDH9QFmjnVAY20qE/B00S1zuag2vyAYvWT6ja/SwipeLettersButton.js","https:/framerusercontent.com/modules/FsukVhRzCWqc4SfmgmL9/NbxdDP6uG73LOOi54hYX/LiquidMetal.js","https:/framerusercontent.com/modules/x5y6ls10FoB30H1iEb6e/5Z7pAoO0joLhZvvA0V56/aYDH1XmIr.js","https:/framerusercontent.com/modules/ghhzidVBt1pu0QOkWiQ2/BIUO09xYpmDI2iGsFIWe/Xcb4aFN80.js","https:/framerusercontent.com/modules/lvNbAMElUppOQlcwUwPZ/bMKvVGVDRW8BwzBGqde5/m9nD6SEtx.js","https:/framerusercontent.com/modules/ei1T0O2xUTxnx3MHKxpf/VeFRYwWPxKsEpmIRXA9w/pKvcE0AVr.js","framer:toplevel/main"],"sourcesContent":["// Swipe Letters Button - A button with animated letter transitions on hover\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";/**\n * @framerIntrinsicWidth 240\n * @framerIntrinsicHeight 64\n * \n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function SwipeLettersButton(props){const{label=\"GET IN TOUCH\",defaultState={bgColor:\"#1D1D1D\",borderColor:\"#414141\",textColor:\"#FFFFFF\"},hoverState={bgColor:\"#2D2D2D\",borderColor:\"#515151\",textColor:\"#FFFFFF\"},radius=9999,paddingX=24,paddingY=16,font={fontSize:\"18px\",variant:\"Semibold\",letterSpacing:\"0.4px\",textAlign:\"center\"},align=\"center\",showBorder=true,direction=\"alternate\",duration=380,easing=\"cubic-bezier(.25,.75,.25,1)\",stagger=18,link=\"\"}=props;const[hovered,setHovered]=React.useState(false);const chars=React.useMemo(()=>Array.from(label||\"\").map(c=>c===\" \"?\"\\xa0\":c),[label]);const handleClick=()=>{if(link&&typeof window!==\"undefined\"){if(link.startsWith(\"http\")||link.startsWith(\"//\")){window.open(link,\"_blank\",\"noopener,noreferrer\");}else{window.location.href=link;}}};const currentBgColor=hovered?hovered?\"#FF4400\":hoverState.bgColor:defaultState.bgColor;const currentBorderColor=hovered?hoverState.borderColor:defaultState.borderColor;const currentTextColor=hovered?\"#000000\":defaultState.textColor;return /*#__PURE__*/_jsx(\"div\",{onMouseEnter:()=>setHovered(true),onMouseLeave:()=>setHovered(false),onClick:handleClick,style:{width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:align===\"center\"?\"center\":align===\"start\"?\"flex-start\":\"flex-end\",backgroundColor:currentBgColor,borderRadius:radius,border:showBorder?`1px solid ${currentBorderColor}`:\"none\",overflow:\"hidden\",position:\"relative\",userSelect:\"none\",cursor:\"pointer\",transition:\"background-color 0.2s ease, border-color 0.2s ease\"},children:/*#__PURE__*/_jsx(\"div\",{style:{padding:`${paddingY}px ${paddingX}px`,width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:align===\"center\"?\"center\":align===\"start\"?\"flex-start\":\"flex-end\",gap:`${parseFloat(font.letterSpacing)||.4}px`},children:chars.map((ch,i)=>{const dir=direction===\"alternate\"?i%2===0?\"top\":\"bottom\":direction;const initY=dir===\"top\"?\"-50%\":\"0%\";const hoverY=dir===\"top\"?\"0%\":\"-50%\";const delay=`${i*stagger}ms`;return /*#__PURE__*/_jsx(\"span\",{style:{position:\"relative\",display:\"inline-block\",height:\"1em\",overflow:\"hidden\",fontFamily:font.fontFamily||\"inherit\",fontSize:font.fontSize,fontWeight:font.fontWeight,fontStyle:font.fontStyle,lineHeight:1},children:/*#__PURE__*/_jsxs(\"span\",{style:{display:\"grid\",gridAutoRows:\"1em\",transform:`translateY(${hovered?hoverY:initY})`,transitionProperty:\"transform\",transitionDuration:`${duration}ms`,transitionTimingFunction:easing,transitionDelay:delay,willChange:\"transform\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{color:currentTextColor,transition:\"color 0.2s ease\"},children:ch}),/*#__PURE__*/_jsx(\"span\",{style:{color:currentTextColor,transition:\"color 0.2s ease\"},children:ch})]})},`${ch}-${i}`);})})});}addPropertyControls(SwipeLettersButton,{label:{type:ControlType.String,title:\"Label\",defaultValue:\"GET IN TOUCH\"},link:{type:ControlType.Link,title:\"Link\",defaultValue:\"\"},defaultState:{type:ControlType.Object,title:\"Default\",controls:{bgColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#1D1D1D\"},borderColor:{type:ControlType.Color,title:\"Border\",defaultValue:\"#414141\"},textColor:{type:ControlType.Color,title:\"Text\",defaultValue:\"#FFFFFF\"}},defaultValue:{bgColor:\"#1D1D1D\",borderColor:\"#414141\",textColor:\"#FFFFFF\"}},hoverState:{type:ControlType.Object,title:\"Hover\",controls:{bgColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#2D2D2D\"},borderColor:{type:ControlType.Color,title:\"Border\",defaultValue:\"#515151\"},textColor:{type:ControlType.Color,title:\"Text\",defaultValue:\"#FFFFFF\"}},defaultValue:{bgColor:\"#2D2D2D\",borderColor:\"#515151\",textColor:\"#FFFFFF\"}},showBorder:{type:ControlType.Boolean,title:\"Show Border\",defaultValue:true},radius:{type:ControlType.Number,title:\"Radius\",min:0,max:2e3,step:1,defaultValue:9999},paddingX:{type:ControlType.Number,title:\"Pad X\",min:0,max:96,step:1,defaultValue:24},paddingY:{type:ControlType.Number,title:\"Pad Y\",min:0,max:96,step:1,defaultValue:16},font:{type:ControlType.Font,title:\"Typography\",defaultValue:{fontSize:\"18px\",variant:\"Semibold\",letterSpacing:\"0.4px\",textAlign:\"center\"},controls:\"extended\",defaultFontType:\"sans-serif\",displayTextAlignment:true,displayFontSize:true},align:{type:ControlType.Enum,title:\"Align\",options:[\"start\",\"center\",\"end\"],optionTitles:[\"Start\",\"Center\",\"End\"],displaySegmentedControl:true,defaultValue:\"center\"},direction:{type:ControlType.Enum,title:\"Swipe From\",options:[\"top\",\"bottom\",\"alternate\"],optionTitles:[\"Top\",\"Bottom\",\"Alternate\"],defaultValue:\"alternate\"},duration:{type:ControlType.Number,title:\"Duration (ms)\",min:80,max:2e3,step:10,defaultValue:380},easing:{type:ControlType.Enum,title:\"Easing\",options:[\"ease\",\"ease-in\",\"ease-out\",\"ease-in-out\",\"cubic-bezier(.25,.75,.25,1)\"],optionTitles:[\"ease\",\"ease-in\",\"ease-out\",\"ease-in-out\",\"Snap\"],defaultValue:\"cubic-bezier(.25,.75,.25,1)\"},stagger:{type:ControlType.Number,title:\"Stagger (ms)\",min:0,max:300,step:2,defaultValue:18}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"SwipeLettersButton\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"240\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicHeight\":\"64\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SwipeLettersButton.map","/*\n * Copyright (c) 2025 Fred Moon (x.com/fw3d). All rights reserved.\n *\n * This code is the exclusive property of Fred Moon. Any unauthorized use,\n * reproduction, modification, distribution, or incorporation into other\n * software, in whole or in part, is strictly prohibited without the express\n * written permission of the author.\n *\n * This code is provided \"AS IS\" without warranty of any kind, either\n * expressed or implied, including but not limited to the implied warranties\n * of merchantability and fitness for a particular purpose.\n *\n * For licensing inquiries, please contact Fred Moon at x.com/fw3d\n *\n * This copyright notice and permission notice shall be included in all\n * copies or substantial portions of this software.\n *\n * Note: This code uses @paper-design/shaders-react (MIT License)\n * which is subject to its own license and excluded from this copyright claim.\n */import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useRef,useState,useCallback}from\"react\";import{addPropertyControls,ControlType}from\"framer\";// Fragment shader source with mobile precision fixes\nconst liquidFragSource=/* glsl */`#version 300 es\n#ifdef GL_ES\nprecision highp float;\n#else\nprecision mediump float;\n#endif\n\nin vec2 vUv;\nout vec4 fragColor;\n\nuniform sampler2D u_image_texture;\nuniform float u_time;\nuniform float u_ratio;\nuniform float u_img_ratio;\nuniform float u_patternScale;\nuniform float u_refraction;\nuniform float u_edge;\nuniform float u_patternBlur;\nuniform float u_liquid;\n\n#define TWO_PI 6.28318530718\n#define PI 3.14159265358979323846\n\nvec3 mod289(vec3 x) { return x - floor(x * (1. / 289.)) * 289.; }\nvec2 mod289(vec2 x) { return x - floor(x * (1. / 289.)) * 289.; }\nvec3 permute(vec3 x) { return mod289(((x*34.)+1.)*x); }\nfloat snoise(vec2 v) {\n    const vec4 C = vec4(0.211324865405187, 0.366025403784439, -0.577350269189626, 0.024390243902439);\n    vec2 i = floor(v + dot(v, C.yy));\n    vec2 x0 = v - i + dot(i, C.xx);\n    vec2 i1;\n    i1 = (x0.x > x0.y) ? vec2(1., 0.) : vec2(0., 1.);\n    vec4 x12 = x0.xyxy + C.xxzz;\n    x12.xy -= i1;\n    i = mod289(i);\n    vec3 p = permute(permute(i.y + vec3(0., i1.y, 1.)) + i.x + vec3(0., i1.x, 1.));\n    vec3 m = max(0.5 - vec3(dot(x0, x0), dot(x12.xy, x12.xy), dot(x12.zw, x12.zw)), 0.);\n    m = m*m;\n    m = m*m;\n    vec3 x = 2. * fract(p * C.www) - 1.;\n    vec3 h = abs(x) - 0.5;\n    vec3 ox = floor(x + 0.5);\n    vec3 a0 = x - ox;\n    m *= 1.79284291400159 - 0.85373472095314 * (a0*a0 + h*h);\n    vec3 g;\n    g.x = a0.x * x0.x + h.x * x0.y;\n    g.yz = a0.yz * x12.xz + h.yz * x12.yw;\n    return 130. * dot(m, g);\n}\n\nvec2 get_img_uv() {\n    vec2 img_uv = vUv;\n    img_uv -= .5;\n    if (u_ratio > u_img_ratio) {\n        img_uv.x = img_uv.x * u_ratio / u_img_ratio;\n    } else {\n        img_uv.y = img_uv.y * u_img_ratio / u_ratio;\n    }\n    float scale_factor = 1.;\n    img_uv *= scale_factor;\n    img_uv += .5;\n    img_uv.y = 1. - img_uv.y;\n    return img_uv;\n}\n\nvec2 rotate(vec2 uv, float th) {\n    return mat2(cos(th), sin(th), -sin(th), cos(th)) * uv;\n}\n\nfloat get_color_channel(float c1, float c2, float stripe_p, vec3 w, float extra_blur, float b) {\n    float ch = c2;\n    float border = 0.;\n    float blur = u_patternBlur + extra_blur;\n\n    ch = mix(ch, c1, smoothstep(.0, blur, stripe_p));\n\n    border = w[0];\n    ch = mix(ch, c2, smoothstep(border - blur, border + blur, stripe_p));\n\n    b = smoothstep(.2, .8, b);\n    border = w[0] + .4 * (1. - b) * w[1];\n    ch = mix(ch, c1, smoothstep(border - blur, border + blur, stripe_p));\n\n    border = w[0] + .5 * (1. - b) * w[1];\n    ch = mix(ch, c2, smoothstep(border - blur, border + blur, stripe_p));\n\n    border = w[0] + w[1];\n    ch = mix(ch, c1, smoothstep(border - blur, border + blur, stripe_p));\n\n    float gradient_t = (stripe_p - w[0] - w[1]) / w[2];\n    float gradient = mix(c1, c2, smoothstep(0., 1., gradient_t));\n    ch = mix(ch, gradient, smoothstep(border - blur, border + blur, stripe_p));\n\n    return ch;\n}\n\nfloat get_img_frame_alpha(vec2 uv, float img_frame_width) {\n    float img_frame_alpha = smoothstep(0., img_frame_width, uv.x) * smoothstep(1., 1. - img_frame_width, uv.x);\n    img_frame_alpha *= smoothstep(0., img_frame_width, uv.y) * smoothstep(1., 1. - img_frame_width, uv.y);\n    return img_frame_alpha;\n}\n\nvoid main() {\n    vec2 uv = vUv;\n    uv.y = 1. - uv.y;\n    uv.x *= u_ratio;\n\n    float diagonal = uv.x - uv.y;\n    \n    // Mobile fix: normalize time to prevent precision issues\n    float t = .001 * mod(u_time, 10000.0);\n    \n    vec2 img_uv = get_img_uv();\n    vec4 img = texture(u_image_texture, img_uv);\n\n    vec3 color = vec3(0.);\n    float opacity = 1.;\n\n    vec3 color1 = vec3(.98, 0.98, 1.);\n    vec3 color2 = vec3(.1, .1, .1 + .1 * smoothstep(.7, 1.3, uv.x + uv.y));\n\n    float edge = img.r;\n\n    vec2 grad_uv = uv;\n    grad_uv -= .5;\n\n    float dist = length(grad_uv + vec2(0., .2 * diagonal));\n    grad_uv = rotate(grad_uv, (.25 - .2 * diagonal) * PI);\n\n    float bulge = pow(1.8 * dist, 1.2);\n    bulge = 1. - bulge;\n    bulge *= pow(uv.y, .3);\n\n    float cycle_width = u_patternScale;\n    float thin_strip_1_ratio = .12 / cycle_width * (1. - .4 * bulge);\n    float thin_strip_2_ratio = .07 / cycle_width * (1. + .4 * bulge);\n    float wide_strip_ratio = (1. - thin_strip_1_ratio - thin_strip_2_ratio);\n\n    float thin_strip_1_width = cycle_width * thin_strip_1_ratio;\n    float thin_strip_2_width = cycle_width * thin_strip_2_ratio;\n\n    opacity = 1. - smoothstep(.9 - .5 * u_edge, 1. - .5 * u_edge, edge);\n    opacity *= get_img_frame_alpha(img_uv, 0.01);\n\n    float noise = snoise(uv - t);\n    edge += (1. - edge) * u_liquid * noise;\n\n    float refr = 0.;\n    refr += (1. - bulge);\n    refr = clamp(refr, 0., 1.);\n\n    float dir = grad_uv.x;\n    dir += diagonal;\n    dir -= 2. * noise * diagonal * (smoothstep(0., 1., edge) * smoothstep(1., 0., edge));\n\n    bulge *= clamp(pow(uv.y, .1), .3, 1.);\n    dir *= (.1 + (1.1 - edge) * bulge);\n    dir *= smoothstep(1., .7, edge);\n    dir += .18 * (smoothstep(.1, .2, uv.y) * smoothstep(.4, .2, uv.y));\n    dir += .03 * (smoothstep(.1, .2, 1. - uv.y) * smoothstep(.4, .2, 1. - uv.y));\n    dir *= (.5 + .5 * pow(uv.y, 2.));\n    dir *= cycle_width;\n    dir -= t;\n\n    float refr_r = refr;\n    refr_r += .03 * bulge * noise;\n    float refr_b = 1.3 * refr;\n\n    refr_r += 5. * (smoothstep(-.1, .2, uv.y) * smoothstep(.5, .1, uv.y)) * (smoothstep(.4, .6, bulge) * smoothstep(1., .4, bulge));\n    refr_r -= diagonal;\n\n    refr_b += (smoothstep(0., .4, uv.y) * smoothstep(.8, .1, uv.y)) * (smoothstep(.4, .6, bulge) * smoothstep(.8, .4, bulge));\n    refr_b -= .2 * edge;\n\n    refr_r *= u_refraction;\n    refr_b *= u_refraction;\n\n    vec3 w = vec3(thin_strip_1_width, thin_strip_2_width, wide_strip_ratio);\n    w[1] -= .02 * smoothstep(.0, 1., edge + bulge);\n    float stripe_r = mod(dir + refr_r, 1.);\n    float r = get_color_channel(color1.r, color2.r, stripe_r, w, 0.02 + .03 * u_refraction * bulge, bulge);\n    float stripe_g = mod(dir, 1.);\n    float g = get_color_channel(color1.g, color2.g, stripe_g, w, 0.01 / (1. - diagonal), bulge);\n    float stripe_b = mod(dir - refr_b, 1.);\n    float b = get_color_channel(color1.b, color2.b, stripe_b, w, .01, bulge);\n\n    color = vec3(r, g, b);\n    color *= opacity;\n\n    fragColor = vec4(color, opacity);\n}\n`;// Vertex shader\nconst vertexShaderSource=`#version 300 es\nprecision mediump float;\n\nin vec2 a_position;\nout vec2 vUv;\n\nvoid main() {\n    vUv = .5 * (a_position + 1.);\n    gl_Position = vec4(a_position, 0.0, 1.0);\n}`;// Default shader parameters (can be overridden by props)\nconst getShaderParams=props=>({patternScale:props.patternScale,refraction:props.dispersion,edge:props.edge,patternBlur:props.patternBlur,liquid:props.liquify,speed:props.speed});/**\n * @framerDisableUnlink\n * @framerIntrinsicWidth 300\n * @framerIntrinsicHeight 300\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */export default function LiquidMetalLogo(props){const{imageSource,speed,dispersion,edge,patternBlur,liquify,patternScale}=props;const canvasRef=useRef(null);const[gl,setGl]=useState(null);const[uniforms,setUniforms]=useState({});const[imageData,setImageData]=useState(null);const[processing,setProcessing]=useState(false);const totalAnimationTime=useRef(0);const lastRenderTime=useRef(0);// Create default SVG image when no image is provided\nconst createDefaultSVGImage=useCallback(()=>{return new Promise((resolve,reject)=>{const svgString=`\n                <svg width=\"400\" height=\"400\" viewBox=\"0 0 400 400\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n                    <path d=\"M127.571 97.1191H272.428V169.545H200L127.571 97.1191ZM127.571 169.545H200L272.428 241.973H127.571V169.545ZM127.571 241.973H200V314.402L127.571 241.973Z\" fill=\"black\"/>\n                </svg>\n            `;const blob=new Blob([svgString],{type:\"image/svg+xml\"});const file=new File([blob],\"default.svg\",{type:\"image/svg+xml\"});// Process the SVG using the same logic as uploaded images\nparseLogoImage(file).then(resolve).catch(reject);});},[]);// Image processing function (ported from parse-logo-image.ts)\nconst parseLogoImage=useCallback(file=>{const canvas=document.createElement(\"canvas\");const ctx=canvas.getContext(\"2d\");return new Promise((resolve,reject)=>{if(!file||!ctx){reject(new Error(\"Invalid file or context\"));return;}const img=new Image;img.onload=function(){// Force SVG to load at high fidelity\nif(file.type===\"image/svg+xml\"){img.width=1e3;img.height=1e3;}const MAX_SIZE=1e3;const MIN_SIZE=500;let width=img.naturalWidth;let height=img.naturalHeight;// Calculate new dimensions\nif(width>MAX_SIZE||height>MAX_SIZE||width<MIN_SIZE||height<MIN_SIZE){if(width>height){if(width>MAX_SIZE){height=Math.round(height*MAX_SIZE/width);width=MAX_SIZE;}else if(width<MIN_SIZE){height=Math.round(height*MIN_SIZE/width);width=MIN_SIZE;}}else{if(height>MAX_SIZE){width=Math.round(width*MAX_SIZE/height);height=MAX_SIZE;}else if(height<MIN_SIZE){width=Math.round(width*MIN_SIZE/height);height=MIN_SIZE;}}}canvas.width=width;canvas.height=height;// Draw the user image on an offscreen canvas\nconst shapeCanvas=document.createElement(\"canvas\");shapeCanvas.width=width;shapeCanvas.height=height;const shapeCtx=shapeCanvas.getContext(\"2d\");shapeCtx.drawImage(img,0,0,width,height);// Build the inside/outside mask\nconst shapeImageData=shapeCtx.getImageData(0,0,width,height);const data=shapeImageData.data;const shapeMask=new Array(width*height).fill(false);for(let y=0;y<height;y++){for(let x=0;x<width;x++){const idx4=(y*width+x)*4;const r=data[idx4];const g=data[idx4+1];const b=data[idx4+2];const a=data[idx4+3];if(r===255&&g===255&&b===255&&a===255||a===0){shapeMask[y*width+x]=false;}else{shapeMask[y*width+x]=true;}}}function inside(x,y){if(x<0||x>=width||y<0||y>=height)return false;return shapeMask[y*width+x];}// Identify boundary pixels\nconst boundaryMask=new Array(width*height).fill(false);for(let y=0;y<height;y++){for(let x=0;x<width;x++){const idx=y*width+x;if(!shapeMask[idx])continue;let isBoundary=false;for(let ny=y-1;ny<=y+1&&!isBoundary;ny++){for(let nx=x-1;nx<=x+1&&!isBoundary;nx++){if(!inside(nx,ny)){isBoundary=true;}}}if(isBoundary){boundaryMask[idx]=true;}}}// Poisson solve: Δu = -C\nconst u=new Float32Array(width*height).fill(0);const newU=new Float32Array(width*height).fill(0);const C=.01;const ITERATIONS=300;function getU(x,y,arr){if(x<0||x>=width||y<0||y>=height)return 0;if(!shapeMask[y*width+x])return 0;return arr[y*width+x];}for(let iter=0;iter<ITERATIONS;iter++){for(let y=0;y<height;y++){for(let x=0;x<width;x++){const idx=y*width+x;if(!shapeMask[idx]||boundaryMask[idx]){newU[idx]=0;continue;}const sumN=getU(x+1,y,u)+getU(x-1,y,u)+getU(x,y+1,u)+getU(x,y-1,u);newU[idx]=(C+sumN)/4;}}// Swap arrays\nfor(let i=0;i<width*height;i++){u[i]=newU[i];}}// Normalize and apply nonlinear remap\nlet maxVal=0;for(let i=0;i<width*height;i++){if(u[i]>maxVal)maxVal=u[i];}const alpha=2;const outImg=ctx.createImageData(width,height);for(let y=0;y<height;y++){for(let x=0;x<width;x++){const idx=y*width+x;const px=idx*4;if(!shapeMask[idx]){outImg.data[px]=255;outImg.data[px+1]=255;outImg.data[px+2]=255;outImg.data[px+3]=255;}else{const raw=u[idx]/maxVal;const remapped=Math.pow(raw,alpha);const gray=255*(1-remapped);outImg.data[px]=gray;outImg.data[px+1]=gray;outImg.data[px+2]=gray;outImg.data[px+3]=255;}}}resolve(outImg);};img.onerror=()=>reject(new Error(\"Failed to load image\"));img.src=URL.createObjectURL(file);});},[]);// Process uploaded image or use default SVG\nuseEffect(()=>{if(!imageSource){// No image uploaded, use default SVG\nsetProcessing(true);createDefaultSVGImage().then(processedImageData=>{setImageData(processedImageData);setProcessing(false);}).catch(error=>{console.error(\"Error processing default SVG:\",error);setProcessing(false);});return;}setProcessing(true);// Convert Framer image URL to blob and process\nfetch(imageSource).then(response=>response.blob()).then(blob=>{const file=new File([blob],\"image\",{type:blob.type});return parseLogoImage(file);}).then(processedImageData=>{setImageData(processedImageData);setProcessing(false);}).catch(error=>{console.error(\"Error processing image:\",error);setProcessing(false);});},[imageSource,parseLogoImage,createDefaultSVGImage]);// Initialize WebGL\nuseEffect(()=>{if(!canvasRef.current)return;const canvas=canvasRef.current;const context=canvas.getContext(\"webgl2\",{antialias:true,alpha:true,premultipliedAlpha:false});if(!context){console.error(\"WebGL2 not supported\");return;}function createShader(gl,sourceCode,type){const shader=gl.createShader(type);if(!shader)return null;gl.shaderSource(shader,sourceCode);gl.compileShader(shader);if(!gl.getShaderParameter(shader,gl.COMPILE_STATUS)){console.error(\"Shader compilation error:\",gl.getShaderInfoLog(shader));gl.deleteShader(shader);return null;}return shader;}const vertexShader=createShader(context,vertexShaderSource,context.VERTEX_SHADER);const fragmentShader=createShader(context,liquidFragSource,context.FRAGMENT_SHADER);if(!vertexShader||!fragmentShader)return;const program=context.createProgram();if(!program)return;context.attachShader(program,vertexShader);context.attachShader(program,fragmentShader);context.linkProgram(program);if(!context.getProgramParameter(program,context.LINK_STATUS)){console.error(\"Program linking error:\",context.getProgramInfoLog(program));return;}// Get uniform locations\nconst uniformLocations={};const uniformCount=context.getProgramParameter(program,context.ACTIVE_UNIFORMS);for(let i=0;i<uniformCount;i++){const uniformInfo=context.getActiveUniform(program,i);if(uniformInfo){const location=context.getUniformLocation(program,uniformInfo.name);if(location){uniformLocations[uniformInfo.name]=location;}}}// Set up vertex buffer.\nconst vertices=new Float32Array([-1,-1,1,-1,-1,1,1,1]);const vertexBuffer=context.createBuffer();context.bindBuffer(context.ARRAY_BUFFER,vertexBuffer);context.bufferData(context.ARRAY_BUFFER,vertices,context.STATIC_DRAW);context.useProgram(program);const positionLocation=context.getAttribLocation(program,\"a_position\");context.enableVertexAttribArray(positionLocation);context.bindBuffer(context.ARRAY_BUFFER,vertexBuffer);context.vertexAttribPointer(positionLocation,2,context.FLOAT,false,0,0);// Enable blending for transparency\ncontext.enable(context.BLEND);context.blendFunc(context.SRC_ALPHA,context.ONE_MINUS_SRC_ALPHA);setGl(context);setUniforms(uniformLocations);return()=>{context.deleteProgram(program);context.deleteShader(vertexShader);context.deleteShader(fragmentShader);context.deleteBuffer(vertexBuffer);};},[]);// Update uniforms\nuseEffect(()=>{if(!gl||!uniforms||Object.keys(uniforms).length===0)return;const params=getShaderParams(props);// Set shader parameters\ngl.uniform1f(uniforms.u_patternScale,params.patternScale);gl.uniform1f(uniforms.u_refraction,params.refraction);gl.uniform1f(uniforms.u_edge,params.edge);gl.uniform1f(uniforms.u_patternBlur,params.patternBlur);gl.uniform1f(uniforms.u_liquid,params.liquid);},[gl,uniforms,props]);// Handle canvas resize and image texture\nuseEffect(()=>{if(!gl||!uniforms||!canvasRef.current||!imageData)return;const canvas=canvasRef.current;const imgRatio=imageData.width/imageData.height;// Resize canvas to match container\nconst rect=canvas.getBoundingClientRect();const size=Math.min(rect.width,rect.height)*devicePixelRatio;canvas.width=size;canvas.height=size;gl.viewport(0,0,size,size);// Set ratio uniforms\ngl.uniform1f(uniforms.u_ratio,1);gl.uniform1f(uniforms.u_img_ratio,imgRatio);// Create and upload texture\nconst texture=gl.createTexture();gl.activeTexture(gl.TEXTURE0);gl.bindTexture(gl.TEXTURE_2D,texture);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MIN_FILTER,gl.LINEAR);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MAG_FILTER,gl.LINEAR);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_S,gl.CLAMP_TO_EDGE);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_T,gl.CLAMP_TO_EDGE);gl.pixelStorei(gl.UNPACK_ALIGNMENT,1);gl.texImage2D(gl.TEXTURE_2D,0,gl.RGBA,imageData.width,imageData.height,0,gl.RGBA,gl.UNSIGNED_BYTE,imageData.data);gl.uniform1i(uniforms.u_image_texture,0);return()=>{if(texture)gl.deleteTexture(texture);};},[gl,uniforms,imageData]);// Animation loop with enhanced mobile stability\nuseEffect(()=>{if(!gl||!uniforms||!imageData)return;let animationId;const animate=currentTime=>{const deltaTime=currentTime-lastRenderTime.current;lastRenderTime.current=currentTime;// Enhanced mobile time handling\ntotalAnimationTime.current+=deltaTime*speed;// Keep time in a smaller range for better mobile precision\nconst normalizedTime=totalAnimationTime.current%1e4;gl.uniform1f(uniforms.u_time,normalizedTime);// Clear with transparent background\ngl.clearColor(0,0,0,0);gl.clear(gl.COLOR_BUFFER_BIT);// Draw\ngl.drawArrays(gl.TRIANGLE_STRIP,0,4);animationId=requestAnimationFrame(animate);};lastRenderTime.current=performance.now();animationId=requestAnimationFrame(animate);return()=>{if(animationId)cancelAnimationFrame(animationId);};},[gl,uniforms,imageData,speed]);return /*#__PURE__*/_jsxs(\"div\",{style:{width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",position:\"relative\"},children:[processing&&/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",inset:0,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",backgroundColor:\"rgba(0,0,0,0.5)\",zIndex:10},children:[/*#__PURE__*/_jsx(\"div\",{style:{width:\"32px\",height:\"32px\",border:\"3px solid rgba(255,255,255,0.3)\",borderTop:\"3px solid white\",borderRadius:\"50%\",animation:\"spin 1s linear infinite\"}}),/*#__PURE__*/_jsx(\"style\",{children:`\n                            @keyframes spin {\n                                0% { transform: rotate(0deg); }\n                                100% { transform: rotate(360deg); }\n                            }\n                        `})]}),/*#__PURE__*/_jsx(\"canvas\",{ref:canvasRef,style:{width:\"100%\",height:\"100%\",objectFit:\"contain\"}})]});}LiquidMetalLogo.defaultProps={imageSource:\"\",speed:.3,dispersion:.015,edge:.4,patternBlur:.005,liquify:.07,patternScale:2};LiquidMetalLogo.displayName=\"🚀 Liquid Metal\";addPropertyControls(LiquidMetalLogo,{imageSource:{type:ControlType.Image,title:\"Logo Image\",description:\"For better results, upload an SVG or a high resolution image\"},dispersion:{type:ControlType.Number,title:\"Dispersion\",defaultValue:.015,min:0,max:.06,step:.001,displayStepper:true},edge:{type:ControlType.Number,title:\"Edge\",defaultValue:.4,min:0,max:1,step:.01,displayStepper:true},patternBlur:{type:ControlType.Number,title:\"Pattern Blur\",defaultValue:.005,min:0,max:.05,step:.001,displayStepper:true},liquify:{type:ControlType.Number,title:\"Liquify\",defaultValue:.07,min:0,max:1,step:.01,displayStepper:true},speed:{type:ControlType.Number,title:\"Speed\",defaultValue:.3,min:0,max:1,step:.01,displayStepper:true},patternScale:{type:ControlType.Number,title:\"Pattern Scale\",defaultValue:2,min:1,max:10,step:.1,displayStepper:true,description:\"v1.1\\nShader by [paper.design](https://paper.design)\\nPorted to Framer by [Fred Moon](https://x.com/fw3d)\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"LiquidMetalLogo\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"* @framerIntrinsicWidth 300\",\"framerIntrinsicHeight\":\"300\",\"framerSupportedLayoutWidth\":\"any\",\"framerSupportedLayoutHeight\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./LiquidMetal.map","// Generated by Framer (8e1ebfe)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,ComponentViewportProvider,cx,getFonts,SmartComponentScopedContainer,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import LiquidMetal from\"https://framerusercontent.com/modules/FsukVhRzCWqc4SfmgmL9/NbxdDP6uG73LOOi54hYX/LiquidMetal.js\";const LiquidMetalFonts=getFonts(LiquidMetal);const serializationHash=\"framer-ZmLp9\";const variantClassNames={yT6mHSAvA:\"framer-v-m32jlq\"};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 transformTemplate1=(_,t)=>`translateX(-50%) ${t}`;const transformTemplate2=(_,t)=>`translateY(-50%) ${t}`;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 Variants=motion.create(React.Fragment);const getProps=({height,id,width,...props})=>{return{...props};};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({defaultVariant:\"yT6mHSAvA\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);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.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-m32jlq\",className,classNames),\"data-framer-name\":\"Variant 1\",layoutDependency:layoutDependency,layoutId:\"yT6mHSAvA\",ref:refBinding,style:{...style},children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-jsy7wl-container\",\"data-framer-name\":\"Liquified Logo\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"ZumWWoxNv-container\",name:\"Liquified Logo\",nodeId:\"ZumWWoxNv\",rendersWithMotion:true,scopeId:\"aYDH1XmIr\",transformTemplate:transformTemplate1,children:/*#__PURE__*/_jsx(LiquidMetal,{dispersion:0,edge:0,height:\"100%\",id:\"ZumWWoxNv\",imageSource:\"https://framerusercontent.com/images/K27PcXsidfUl4ASYRHlAjuIqE.svg?width=244&height=195\",layoutId:\"ZumWWoxNv\",liquify:0,name:\"Liquified Logo\",patternBlur:0,patternScale:5.7,speed:0,style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-3c6bq5-container\",\"data-framer-name\":\"Liquified Logo\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"F3zWTfC0u-container\",name:\"Liquified Logo\",nodeId:\"F3zWTfC0u\",rendersWithMotion:true,scopeId:\"aYDH1XmIr\",transformTemplate:transformTemplate2,children:/*#__PURE__*/_jsx(LiquidMetal,{dispersion:0,edge:0,height:\"100%\",id:\"F3zWTfC0u\",imageSource:\"https://framerusercontent.com/images/K27PcXsidfUl4ASYRHlAjuIqE.svg?width=244&height=195\",layoutId:\"F3zWTfC0u\",liquify:.16,name:\"Liquified Logo\",patternBlur:0,patternScale:1,speed:.18,style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-ZmLp9.framer-m1zw54, .framer-ZmLp9 .framer-m1zw54 { display: block; }\",\".framer-ZmLp9.framer-m32jlq { height: 36px; overflow: var(--overflow-clip-fallback, clip); position: relative; width: 36px; }\",\".framer-ZmLp9 .framer-jsy7wl-container { aspect-ratio: 1 / 1; bottom: var(--framer-aspect-ratio-supported, 0px); flex: none; left: 50%; position: absolute; top: 0px; width: 100%; }\",\".framer-ZmLp9 .framer-3c6bq5-container { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 36px); left: 0px; position: absolute; top: 50%; width: 100%; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 36\n * @framerIntrinsicWidth 36\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FrameraYDH1XmIr=withCSS(Component,css,\"framer-ZmLp9\");export default FrameraYDH1XmIr;FrameraYDH1XmIr.displayName=\"Logo\";FrameraYDH1XmIr.defaultProps={height:36,width:36};addFonts(FrameraYDH1XmIr,[{explicitInter:true,fonts:[]},...LiquidMetalFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FrameraYDH1XmIr\",\"slots\":[],\"annotations\":{\"framerImmutableVariables\":\"true\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"36\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicHeight\":\"36\",\"framerColorSyntax\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerAutoSizeImages\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./aYDH1XmIr.map","// Generated by Framer (8e1ebfe)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,Link,RichText,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const enabledGestures={t4YHrHK8E:{hover:true}};const cycleOrder=[\"t4YHrHK8E\",\"EnoS2lTAP\"];const serializationHash=\"framer-LMVPj\";const variantClassNames={EnoS2lTAP:\"framer-v-mea5ca\",t4YHrHK8E:\"framer-v-1voc3rs\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const kwWR1ZLuI=undefined;const Mm9yYAj7D=undefined;const B4ImbkJFO=undefined;const fF32h_OBQ=undefined;const Dvay4EOiz=undefined;const transition1={damping:60,delay:0,mass:1,stiffness:500,type:\"spring\"};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 Variants=motion.create(React.Fragment);const humanReadableVariantMap={mobile:\"EnoS2lTAP\",primary:\"t4YHrHK8E\"};const getProps=({color,colorHover,height,id,link,tap,text,width,...props})=>{return{...props,B4ImbkJFO:color??props.B4ImbkJFO??\"rgb(255, 255, 255)\",Dvay4EOiz:colorHover??props.Dvay4EOiz??\"rgb(204, 204, 204)\",fF32h_OBQ:text??props.fF32h_OBQ??\"Link\",kwWR1ZLuI:tap??props.kwWR1ZLuI,Mm9yYAj7D:link??props.Mm9yYAj7D,variant:humanReadableVariantMap[props.variant]??props.variant??\"t4YHrHK8E\"};};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,Mm9yYAj7D,fF32h_OBQ,kwWR1ZLuI,B4ImbkJFO,Dvay4EOiz,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"t4YHrHK8E\",enabledGestures,ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTaplhzzwy=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});if(kwWR1ZLuI){const res=await kwWR1ZLuI(...args);if(res===false)return false;}});const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(Link,{href:Mm9yYAj7D,motionChild:true,nodeId:\"t4YHrHK8E\",scopeId:\"Xcb4aFN80\",smoothScroll:true,children:/*#__PURE__*/_jsx(motion.a,{...restProps,...gestureHandlers,className:`${cx(scopingClassNames,\"framer-1voc3rs\",className,classNames)} framer-1pnp4qk`,\"data-framer-name\":\"primary\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"t4YHrHK8E\",onTap:onTaplhzzwy,ref:refBinding,style:{...style},...addPropertyOverrides({\"t4YHrHK8E-hover\":{\"data-framer-name\":undefined},EnoS2lTAP:{\"data-framer-name\":\"mobile\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"SW50ZXItTWVkaXVt\",\"--framer-font-weight\":\"500\",\"--framer-letter-spacing\":\"-0.02em\",\"--framer-line-height\":\"1.5em\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--variable-reference-B4ImbkJFO-Xcb4aFN80))\"},children:\"Link\"})}),className:\"framer-vfesbt\",fonts:[\"Inter-Medium\"],layoutDependency:layoutDependency,layoutId:\"WGjiqPw4f\",style:{\"--extracted-r6o4lv\":\"var(--variable-reference-B4ImbkJFO-Xcb4aFN80)\",\"--variable-reference-B4ImbkJFO-Xcb4aFN80\":B4ImbkJFO,\"--variable-reference-Dvay4EOiz-Xcb4aFN80\":Dvay4EOiz},text:fF32h_OBQ,variants:{\"t4YHrHK8E-hover\":{\"--extracted-r6o4lv\":\"var(--variable-reference-Dvay4EOiz-Xcb4aFN80)\",\"--variable-reference-Dvay4EOiz-Xcb4aFN80\":Dvay4EOiz}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({\"t4YHrHK8E-hover\":{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"SW50ZXItTWVkaXVt\",\"--framer-font-weight\":\"500\",\"--framer-letter-spacing\":\"-0.02em\",\"--framer-line-height\":\"1.5em\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--variable-reference-Dvay4EOiz-Xcb4aFN80))\",\"--framer-text-decoration\":\"underline\"},children:\"Link\"})})}},baseVariant,gestureVariant)})})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-LMVPj.framer-1pnp4qk, .framer-LMVPj .framer-1pnp4qk { display: block; }\",\".framer-LMVPj.framer-1voc3rs { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 6px; height: 64px; justify-content: flex-start; overflow: hidden; padding: 6px 12px 6px 12px; position: relative; text-decoration: none; width: min-content; }\",\".framer-LMVPj .framer-vfesbt { -webkit-user-select: none; flex: none; height: auto; overflow: visible; position: relative; user-select: none; white-space: pre; width: auto; z-index: 1; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 64\n * @framerIntrinsicWidth 54\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"fixed\"]},\"EnoS2lTAP\":{\"layout\":[\"auto\",\"fixed\"]},\"kTqalhFuI\":{\"layout\":[\"auto\",\"fixed\"]}}}\n * @framerVariables {\"Mm9yYAj7D\":\"link\",\"fF32h_OBQ\":\"text\",\"kwWR1ZLuI\":\"tap\",\"B4ImbkJFO\":\"color\",\"Dvay4EOiz\":\"colorHover\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerXcb4aFN80=withCSS(Component,css,\"framer-LMVPj\");export default FramerXcb4aFN80;FramerXcb4aFN80.displayName=\"Nav / Nav Link\";FramerXcb4aFN80.defaultProps={height:64,width:54};addPropertyControls(FramerXcb4aFN80,{variant:{options:[\"t4YHrHK8E\",\"EnoS2lTAP\"],optionTitles:[\"primary\",\"mobile\"],title:\"Variant\",type:ControlType.Enum},Mm9yYAj7D:{title:\"Link\",type:ControlType.Link},fF32h_OBQ:{defaultValue:\"Link\",displayTextArea:false,title:\"Text\",type:ControlType.String},kwWR1ZLuI:{title:\"Tap\",type:ControlType.EventHandler},B4ImbkJFO:{defaultValue:\"rgb(255, 255, 255)\",title:\"Color\",type:ControlType.Color},Dvay4EOiz:{defaultValue:\"rgb(204, 204, 204)\",title:\"Color hover\",type:ControlType.Color}});addFonts(FramerXcb4aFN80,[{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/5A3Ce6C9YYmCjpQx9M4inSaKU.woff2\",weight:\"500\"},{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/Qx95Xyt0Ka3SGhinnbXIGpEIyP4.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/6mJuEAguuIuMog10gGvH5d3cl8.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/xYYWaj7wCU5zSQH0eXvSaS19wo.woff2\",weight:\"500\"},{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/otTaNuNpVK4RbdlT7zDDdKvQBA.woff2\",weight:\"500\"},{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/UjlFhCnUjxhNfep4oYBPqnEssyo.woff2\",weight:\"500\"},{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/DolVirEGb34pEXEp8t8FQBSK4.woff2\",weight:\"500\"}]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerXcb4aFN80\",\"slots\":[],\"annotations\":{\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicHeight\":\"64\",\"framerVariables\":\"{\\\"Mm9yYAj7D\\\":\\\"link\\\",\\\"fF32h_OBQ\\\":\\\"text\\\",\\\"kwWR1ZLuI\\\":\\\"tap\\\",\\\"B4ImbkJFO\\\":\\\"color\\\",\\\"Dvay4EOiz\\\":\\\"colorHover\\\"}\",\"framerAutoSizeImages\":\"true\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicWidth\":\"54\",\"framerContractVersion\":\"1\",\"framerDisplayContentsDiv\":\"false\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"fixed\\\"]},\\\"EnoS2lTAP\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"fixed\\\"]},\\\"kTqalhFuI\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"fixed\\\"]}}}\",\"framerColorSyntax\":\"true\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Xcb4aFN80.map","// Generated by Framer (8e1ebfe)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,Link,RichText,SmartComponentScopedContainer,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import SwipeLettersButton from\"https://framerusercontent.com/modules/ewG1hDH9QFmjnVAY20qE/B00S1zuag2vyAYvWT6ja/SwipeLettersButton.js\";import Logo from\"https://framerusercontent.com/modules/x5y6ls10FoB30H1iEb6e/5Z7pAoO0joLhZvvA0V56/aYDH1XmIr.js\";import NavNavLink from\"https://framerusercontent.com/modules/ghhzidVBt1pu0QOkWiQ2/BIUO09xYpmDI2iGsFIWe/Xcb4aFN80.js\";const LogoFonts=getFonts(Logo);const NavNavLinkFonts=getFonts(NavNavLink);const SwipeLettersButtonFonts=getFonts(SwipeLettersButton);const enabledGestures={V6QuoqpE6:{hover:true}};const cycleOrder=[\"V6QuoqpE6\",\"HH0iRK0s5\",\"wAYD6EA59\"];const serializationHash=\"framer-9z48K\";const variantClassNames={HH0iRK0s5:\"framer-v-zm5422\",V6QuoqpE6:\"framer-v-1ujintk\",wAYD6EA59:\"framer-v-1n4sxdn\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const WnldWiSmH=undefined;const JlsHlyL8O=undefined;const c2Yz_dAUl=undefined;const UWqNB8ocr=undefined;const X2bagHPx4=undefined;const fsyoL2SMp=undefined;const aVmqR8Ttp=undefined;const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};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 Variants=motion.create(React.Fragment);const humanReadableVariantMap={Desktop:\"V6QuoqpE6\",Ipad:\"HH0iRK0s5\",Phone:\"wAYD6EA59\"};const getProps=({buttonLink,caseStudyPage,color,colorHover,contactUsLink,height,id,resourcesPage,solutionsPage,width,...props})=>{return{...props,aVmqR8Ttp:buttonLink??props.aVmqR8Ttp,c2Yz_dAUl:colorHover??props.c2Yz_dAUl??\"rgb(204, 204, 204)\",fsyoL2SMp:contactUsLink??props.fsyoL2SMp,JlsHlyL8O:solutionsPage??props.JlsHlyL8O,UWqNB8ocr:resourcesPage??props.UWqNB8ocr,variant:humanReadableVariantMap[props.variant]??props.variant??\"V6QuoqpE6\",WnldWiSmH:color??props.WnldWiSmH??\"rgb(255, 255, 255)\",X2bagHPx4:caseStudyPage??props.X2bagHPx4};};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,aVmqR8Ttp,fsyoL2SMp,X2bagHPx4,UWqNB8ocr,JlsHlyL8O,WnldWiSmH,c2Yz_dAUl,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"V6QuoqpE6\",enabledGestures,ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if(baseVariant===\"wAYD6EA59\")return false;return true;};const isDisplayed1=()=>{if([\"HH0iRK0s5\",\"wAYD6EA59\"].includes(baseVariant))return false;return true;};return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-1ujintk\",className,classNames),\"data-framer-name\":\"Desktop\",layoutDependency:layoutDependency,layoutId:\"V6QuoqpE6\",ref:refBinding,style:{backgroundColor:\"rgba(0, 0, 0, 0)\",...style},variants:{\"V6QuoqpE6-hover\":{backgroundColor:\"rgba(0, 0, 0, 0.18)\"}},...addPropertyOverrides({\"V6QuoqpE6-hover\":{\"data-framer-name\":undefined},HH0iRK0s5:{\"data-framer-name\":\"Ipad\"},wAYD6EA59:{\"data-framer-name\":\"Phone\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1tbvhqv\",\"data-framer-name\":\"Links\",layoutDependency:layoutDependency,layoutId:\"KuevjUqR6\",children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1qi8h0w\",\"data-framer-name\":\"Left\",layoutDependency:layoutDependency,layoutId:\"ylrABJINx\",children:[/*#__PURE__*/_jsx(Link,{href:{webPageId:\"TmFWeaAWD\"},motionChild:true,nodeId:\"IFN6PGHx9\",openInNewTab:false,scopeId:\"m9nD6SEtx\",children:/*#__PURE__*/_jsxs(motion.a,{className:\"framer-165ih0g framer-10phsja\",\"data-framer-name\":\"Logo\",layoutDependency:layoutDependency,layoutId:\"IFN6PGHx9\",children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{height:36,width:\"36px\",y:(componentViewport?.y||0)+(0+((componentViewport?.height||100)-0-100)/2)+18+14+0,...addPropertyOverrides({wAYD6EA59:{height:47,width:\"47px\",y:(componentViewport?.y||0)+(0+((componentViewport?.height||200)-0-100)/2)+26.5+0+0}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1dbdg4l-container\",layoutDependency:layoutDependency,layoutId:\"Uuzt7bAiw-container\",nodeId:\"Uuzt7bAiw\",rendersWithMotion:true,scopeId:\"m9nD6SEtx\",children:/*#__PURE__*/_jsx(Logo,{height:\"100%\",id:\"Uuzt7bAiw\",layoutId:\"Uuzt7bAiw\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})}),isDisplayed()&&/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsxs(motion.p,{style:{\"--font-selector\":\"RlM7UG9wcGlucy1zZW1pYm9sZA==\",\"--framer-font-family\":'\"Poppins\", \"Poppins Placeholder\", sans-serif',\"--framer-font-size\":\"20px\",\"--framer-font-weight\":\"600\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--variable-reference-WnldWiSmH-m9nD6SEtx))\"},children:[\"Yourtoken\",/*#__PURE__*/_jsx(motion.span,{style:{\"--framer-text-color\":\"var(--extracted-1w3ko1f, rgb(158, 158, 158))\"},children:\"'26\"})]})}),className:\"framer-njd03x\",fonts:[\"FS;Poppins-semibold\"],layoutDependency:layoutDependency,layoutId:\"npbdbFHfK\",style:{\"--extracted-1w3ko1f\":\"rgb(158, 158, 158)\",\"--extracted-r6o4lv\":\"var(--variable-reference-WnldWiSmH-m9nD6SEtx)\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\",\"--variable-reference-WnldWiSmH-m9nD6SEtx\":WnldWiSmH},verticalAlignment:\"top\",withExternalLayout:true})]})}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-wqerx2\",\"data-framer-name\":\"Menu\",layoutDependency:layoutDependency,layoutId:\"YZxYES1kO\",children:[isDisplayed()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{height:64,y:(componentViewport?.y||0)+(0+((componentViewport?.height||100)-0-100)/2)+18+0+0,children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-u3jkl-container\",layoutDependency:layoutDependency,layoutId:\"H1KI8ZHWN-container\",nodeId:\"H1KI8ZHWN\",rendersWithMotion:true,scopeId:\"m9nD6SEtx\",children:/*#__PURE__*/_jsx(NavNavLink,{B4ImbkJFO:WnldWiSmH,Dvay4EOiz:c2Yz_dAUl,fF32h_OBQ:\"Solutions\",height:\"100%\",id:\"H1KI8ZHWN\",layoutId:\"H1KI8ZHWN\",Mm9yYAj7D:JlsHlyL8O,variant:\"t4YHrHK8E\",width:\"100%\"})})}),isDisplayed1()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{height:64,y:(componentViewport?.y||0)+(0+((componentViewport?.height||100)-0-100)/2)+18+0+0,children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1y0s1d-container\",layoutDependency:layoutDependency,layoutId:\"h2BYNCfz_-container\",nodeId:\"h2BYNCfz_\",rendersWithMotion:true,scopeId:\"m9nD6SEtx\",children:/*#__PURE__*/_jsx(NavNavLink,{B4ImbkJFO:WnldWiSmH,Dvay4EOiz:c2Yz_dAUl,fF32h_OBQ:\"Resources\",height:\"100%\",id:\"h2BYNCfz_\",layoutId:\"h2BYNCfz_\",Mm9yYAj7D:UWqNB8ocr,variant:\"t4YHrHK8E\",width:\"100%\"})})}),isDisplayed1()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{height:64,y:(componentViewport?.y||0)+(0+((componentViewport?.height||100)-0-100)/2)+18+0+0,children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-17nuxdd-container\",layoutDependency:layoutDependency,layoutId:\"HTlVNntZz-container\",nodeId:\"HTlVNntZz\",rendersWithMotion:true,scopeId:\"m9nD6SEtx\",children:/*#__PURE__*/_jsx(NavNavLink,{B4ImbkJFO:WnldWiSmH,Dvay4EOiz:c2Yz_dAUl,fF32h_OBQ:\"Case Studies\",height:\"100%\",id:\"HTlVNntZz\",layoutId:\"HTlVNntZz\",Mm9yYAj7D:X2bagHPx4,variant:\"t4YHrHK8E\",width:\"100%\"})})})]})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-bej1xx\",\"data-framer-name\":\"Right\",layoutDependency:layoutDependency,layoutId:\"UkexefEdZ\",children:[isDisplayed()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{height:64,y:(componentViewport?.y||0)+(0+((componentViewport?.height||100)-0-100)/2)+18+0,children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-8evh7p-container\",layoutDependency:layoutDependency,layoutId:\"HxLyzB00n-container\",nodeId:\"HxLyzB00n\",rendersWithMotion:true,scopeId:\"m9nD6SEtx\",children:/*#__PURE__*/_jsx(NavNavLink,{B4ImbkJFO:WnldWiSmH,Dvay4EOiz:c2Yz_dAUl,fF32h_OBQ:\"Contact Us\",height:\"100%\",id:\"HxLyzB00n\",layoutId:\"HxLyzB00n\",Mm9yYAj7D:fsyoL2SMp,variant:\"t4YHrHK8E\",width:\"100%\"})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1cw2s3c-container\",\"data-code-component-plugin-id\":\"84d4c1\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"g6CZ8Tm9t-container\",nodeId:\"g6CZ8Tm9t\",rendersWithMotion:true,scopeId:\"m9nD6SEtx\",children:/*#__PURE__*/_jsx(SwipeLettersButton,{align:\"center\",defaultState:{bgColor:\"rgb(29, 29, 29)\",borderColor:\"rgb(65, 65, 65)\",textColor:\"rgb(255, 255, 255)\"},direction:\"alternate\",duration:380,easing:\"cubic-bezier(.25,.75,.25,1)\",font:{fontFamily:'\"Inter\", \"Inter Placeholder\", sans-serif',fontSize:\"16px\",fontStyle:\"normal\",fontWeight:700,letterSpacing:\"0.4px\",lineHeight:\"1em\",textAlign:\"center\"},height:\"100%\",hoverState:{bgColor:\"rgb(45, 45, 45)\",borderColor:\"rgb(81, 81, 81)\",textColor:\"rgb(255, 255, 255)\"},id:\"g6CZ8Tm9t\",label:\"Book Demo\",layoutId:\"g6CZ8Tm9t\",link:aVmqR8Ttp,paddingX:49,paddingY:16,radius:2e3,showBorder:true,stagger:14,width:\"100%\",...addPropertyOverrides({wAYD6EA59:{font:{fontFamily:'\"Inter\", \"Inter Placeholder\", sans-serif',fontSize:\"14px\",fontStyle:\"normal\",fontWeight:700,letterSpacing:\"0.4px\",lineHeight:\"1em\",textAlign:\"center\"},paddingX:29}},baseVariant,gestureVariant)})})})]})]})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-9z48K.framer-10phsja, .framer-9z48K .framer-10phsja { display: block; }\",\".framer-9z48K.framer-1ujintk { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 1200px; }\",\".framer-9z48K .framer-1tbvhqv { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; max-width: 1200px; overflow: var(--overflow-clip-fallback, clip); padding: 18px; position: relative; width: 1px; }\",\".framer-9z48K .framer-1qi8h0w { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: row; flex-wrap: nowrap; gap: 32px; height: min-content; justify-content: flex-start; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 1px; }\",\".framer-9z48K .framer-165ih0g { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; text-decoration: none; width: min-content; }\",\".framer-9z48K .framer-1dbdg4l-container { flex: none; height: 36px; position: relative; width: 36px; }\",\".framer-9z48K .framer-njd03x { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-9z48K .framer-wqerx2, .framer-9z48K .framer-bej1xx { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: min-content; }\",\".framer-9z48K .framer-u3jkl-container, .framer-9z48K .framer-1y0s1d-container, .framer-9z48K .framer-17nuxdd-container, .framer-9z48K .framer-8evh7p-container, .framer-9z48K .framer-1cw2s3c-container { flex: none; height: auto; position: relative; width: auto; }\",\".framer-9z48K.framer-v-zm5422.framer-1ujintk { cursor: unset; width: 912px; }\",\".framer-9z48K.framer-v-1n4sxdn.framer-1ujintk { cursor: unset; width: 360px; }\",\".framer-9z48K.framer-v-1n4sxdn .framer-1dbdg4l-container { height: 47px; width: 47px; }\",\".framer-9z48K.framer-v-1n4sxdn .framer-wqerx2 { min-height: 64px; min-width: 365px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 100\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"HH0iRK0s5\":{\"layout\":[\"fixed\",\"auto\"]},\"wAYD6EA59\":{\"layout\":[\"fixed\",\"auto\"]},\"dHCm30V5f\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerVariables {\"aVmqR8Ttp\":\"buttonLink\",\"fsyoL2SMp\":\"contactUsLink\",\"X2bagHPx4\":\"caseStudyPage\",\"UWqNB8ocr\":\"resourcesPage\",\"JlsHlyL8O\":\"solutionsPage\",\"WnldWiSmH\":\"color\",\"c2Yz_dAUl\":\"colorHover\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const Framerm9nD6SEtx=withCSS(Component,css,\"framer-9z48K\");export default Framerm9nD6SEtx;Framerm9nD6SEtx.displayName=\"Navigation Bar\";Framerm9nD6SEtx.defaultProps={height:100,width:1200};addPropertyControls(Framerm9nD6SEtx,{variant:{options:[\"V6QuoqpE6\",\"HH0iRK0s5\",\"wAYD6EA59\"],optionTitles:[\"Desktop\",\"Ipad\",\"Phone\"],title:\"Variant\",type:ControlType.Enum},aVmqR8Ttp:{title:\"Button Link\",type:ControlType.Link},fsyoL2SMp:{title:\"Contact Us Link\",type:ControlType.Link},X2bagHPx4:{title:\"Case Study Page\",type:ControlType.Link},UWqNB8ocr:{title:\"Resources Page\",type:ControlType.Link},JlsHlyL8O:{title:\"Solutions Page\",type:ControlType.Link},WnldWiSmH:{defaultValue:\"rgb(255, 255, 255)\",title:\"Color\",type:ControlType.Color},c2Yz_dAUl:{defaultValue:\"rgb(204, 204, 204)\",title:\"Color Hover\",type:ControlType.Color}});addFonts(Framerm9nD6SEtx,[{explicitInter:true,fonts:[{cssFamilyName:\"Poppins\",source:\"fontshare\",style:\"normal\",uiFamilyName:\"Poppins\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/E6J4GS76KHNRRUWODFCFOX2JRKNRSFVY/3GYVT5S4AH7VMPASDDKOTIPV6P3WJXGI/24R4YOH3G2SFDSTCNHOVGYEX3DMRC3CE.woff2\",weight:\"600\"},{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/DpPBYI0sL4fYLgAkX8KXOPVt7c.woff2\",weight:\"700\"},{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/4RAEQdEOrcnDkhHiiCbJOw92Lk.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/1K3W8DizY3v4emK8Mb08YHxTbs.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/tUSCtfYVM1I1IchuyCwz9gDdQ.woff2\",weight:\"700\"},{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/VgYFWiwsAC5OYxAycRXXvhze58.woff2\",weight:\"700\"},{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/syRNPWzAMIrcJ3wIlPIP43KjQs.woff2\",weight:\"700\"},{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/GIryZETIX4IFypco5pYZONKhJIo.woff2\",weight:\"700\"}]},...LogoFonts,...NavNavLinkFonts,...SwipeLettersButtonFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"Framerm9nD6SEtx\",\"slots\":[],\"annotations\":{\"framerAutoSizeImages\":\"true\",\"framerIntrinsicHeight\":\"100\",\"framerDisplayContentsDiv\":\"false\",\"framerColorSyntax\":\"true\",\"framerIntrinsicWidth\":\"1200\",\"framerComponentViewportWidth\":\"true\",\"framerVariables\":\"{\\\"aVmqR8Ttp\\\":\\\"buttonLink\\\",\\\"fsyoL2SMp\\\":\\\"contactUsLink\\\",\\\"X2bagHPx4\\\":\\\"caseStudyPage\\\",\\\"UWqNB8ocr\\\":\\\"resourcesPage\\\",\\\"JlsHlyL8O\\\":\\\"solutionsPage\\\",\\\"WnldWiSmH\\\":\\\"color\\\",\\\"c2Yz_dAUl\\\":\\\"colorHover\\\"}\",\"framerImmutableVariables\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"HH0iRK0s5\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"wAYD6EA59\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"dHCm30V5f\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (8e1ebfe)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,Container,ControlType,cx,GeneratedComponentContext,getFonts,PropertyOverrides,RenderTarget,ResolveLinks,safeCSSValue,useCustomCursors,useHydratedBreakpointVariants,useIsOnFramerCanvas,useLocaleInfo,useRouter,withCSS}from\"framer\";import{LayoutGroup,motion}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import NavigationBar from\"#framer/local/canvasComponent/m9nD6SEtx/m9nD6SEtx.js\";import Footer from\"#framer/local/canvasComponent/sjeIFrqEf/sjeIFrqEf.js\";const NavigationBarFonts=getFonts(NavigationBar);const FooterFonts=getFonts(Footer);const breakpoints={dFFHERSkH:\"(max-width: 749.98px)\",RxhMRBrCv:\"(min-width: 1000px)\",v6VQV_gZW:\"(min-width: 750px) and (max-width: 999.98px)\"};const isBrowser=()=>typeof document!==\"undefined\";const serializationHash=\"framer-ImXaA\";const variantClassNames={dFFHERSkH:\"framer-v-vybwdo\",RxhMRBrCv:\"framer-v-1ikj83h\",v6VQV_gZW:\"framer-v-1oupd7a\"};const N4eKptGGU=undefined;const d1a5x2gfb=undefined;const tz9W9j4iW=undefined;const rotsXnxea=undefined;const breakpointRules={};const breakpointKeys=Object.keys(breakpointRules);const rules=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-ImXaA.framer-1p5f2wn, .framer-ImXaA .framer-1p5f2wn { display: block; }\",\".framer-ImXaA.framer-1ikj83h { align-content: center; align-items: center; background-color: var(--wm5tca); display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 100%; }\",\".framer-ImXaA .framer-k4lcy9-container { flex: none; height: auto; left: 50%; order: -1000; position: absolute; top: 0px; transform: translateX(-50%); width: 100%; z-index: 10; }\",\".framer-ImXaA .framer-j1m02j { background: transparent; flex-grow: 1; height: 0px; margin: 0px; margin-bottom: -0px; position: relative; width: 0px; }\",\".framer-ImXaA .framer-wkpfzm-container { flex: none; height: auto; order: 1002; position: relative; width: 100%; }\",'[data-layout-template=\"true\"] > #overlay { margin-bottom: -0px; }'];const mediaQueries={dFFHERSkH:\"(max-width: 749.98px)\",RxhMRBrCv:\"(min-width: 1000px)\",v6VQV_gZW:\"(min-width: 750px) and (max-width: 999.98px)\"};const HTMLStyle=({value})=>{const onCanvas=useIsOnFramerCanvas();if(onCanvas)return null;return /*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:value},\"data-framer-html-style\":\"\"});};const humanReadableVariantMap={Desktop:\"RxhMRBrCv\",Phone:\"dFFHERSkH\",Tablet:\"v6VQV_gZW\"};const getProps=({footerBackground,height,id,navColor,navHover,pageBackground,width,...props})=>{return{...props,d1a5x2gfb:navColor??props.d1a5x2gfb??\"rgb(255, 255, 255)\",N4eKptGGU:pageBackground??props.N4eKptGGU??\"rgb(255, 255, 255)\",rotsXnxea:footerBackground??props.rotsXnxea??\"rgb(0, 0, 0)\",tz9W9j4iW:navHover??props.tz9W9j4iW??\"rgb(201, 201, 201)\",variant:humanReadableVariantMap[props.variant]??props.variant??\"RxhMRBrCv\"};};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{style,className,layoutId,variant,d1a5x2gfb,tz9W9j4iW,N4eKptGGU,rotsXnxea,children,...restProps}=getProps(props);const[baseVariant,hydratedBaseVariant]=useHydratedBreakpointVariants(variant,breakpoints,false);const gestureVariant=undefined;const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const router=useRouter();useCustomCursors({});return /*#__PURE__*/_jsx(GeneratedComponentContext.Provider,{value:{isLayoutTemplate:true,primaryVariantId:\"RxhMRBrCv\",variantClassNames},children:/*#__PURE__*/_jsxs(LayoutGroup,{id:layoutId??defaultLayoutId,children:[/*#__PURE__*/_jsx(HTMLStyle,{value:`:root body { background: ${safeCSSValue(N4eKptGGU)}; }`}),/*#__PURE__*/_jsxs(motion.div,{...restProps,className:cx(scopingClassNames,\"framer-1ikj83h\",className),\"data-layout-template\":true,ref:refBinding,style:{\"--wm5tca\":N4eKptGGU,...style},children:[/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{webPageId:\"JiDmqj3Z9\"},implicitPathVariables:undefined},{href:{webPageId:\"mFmACzLC9\"},implicitPathVariables:undefined},{href:{webPageId:\"ZrNuwO2k7\"},implicitPathVariables:undefined},{href:{webPageId:\"F33eBsZ_8\"},implicitPathVariables:undefined},{href:{hash:\":doSjdNT37\",webPageId:\"TmFWeaAWD\"},implicitPathVariables:undefined},{href:{webPageId:\"JiDmqj3Z9\"},implicitPathVariables:undefined},{href:{webPageId:\"mFmACzLC9\"},implicitPathVariables:undefined},{href:{webPageId:\"ZrNuwO2k7\"},implicitPathVariables:undefined},{href:{webPageId:\"F33eBsZ_8\"},implicitPathVariables:undefined},{href:{hash:\":doSjdNT37\",webPageId:\"TmFWeaAWD\"},implicitPathVariables:undefined},{href:{webPageId:\"JiDmqj3Z9\"},implicitPathVariables:undefined},{href:{webPageId:\"mFmACzLC9\"},implicitPathVariables:undefined},{href:{webPageId:\"ZrNuwO2k7\"},implicitPathVariables:undefined},{href:{webPageId:\"F33eBsZ_8\"},implicitPathVariables:undefined},{href:{hash:\":doSjdNT37\",webPageId:\"TmFWeaAWD\"},implicitPathVariables:undefined}],children:resolvedLinks=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:100,width:\"100vw\",y:0,children:/*#__PURE__*/_jsx(Container,{className:\"framer-k4lcy9-container\",\"data-framer-layout-hint-center-x\":true,nodeId:\"efhMiM3Ni\",scopeId:\"pKvcE0AVr\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{dFFHERSkH:{aVmqR8Ttp:resolvedLinks[10],fsyoL2SMp:resolvedLinks[11],JlsHlyL8O:resolvedLinks[14],UWqNB8ocr:resolvedLinks[13],variant:\"wAYD6EA59\",X2bagHPx4:resolvedLinks[12]},v6VQV_gZW:{aVmqR8Ttp:resolvedLinks[5],fsyoL2SMp:resolvedLinks[6],JlsHlyL8O:resolvedLinks[9],UWqNB8ocr:resolvedLinks[8],variant:\"HH0iRK0s5\",X2bagHPx4:resolvedLinks[7]}},children:/*#__PURE__*/_jsx(NavigationBar,{aVmqR8Ttp:resolvedLinks[0],c2Yz_dAUl:tz9W9j4iW,fsyoL2SMp:resolvedLinks[1],height:\"100%\",id:\"efhMiM3Ni\",JlsHlyL8O:resolvedLinks[4],layoutId:\"efhMiM3Ni\",style:{width:\"100%\"},UWqNB8ocr:resolvedLinks[3],variant:\"V6QuoqpE6\",width:\"100%\",WnldWiSmH:d1a5x2gfb,X2bagHPx4:resolvedLinks[2]})})})})}),children,/*#__PURE__*/_jsx(\"div\",{className:\"framer-j1m02j\"}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:426,width:\"100vw\",y:1e3,children:/*#__PURE__*/_jsx(Container,{className:\"framer-wkpfzm-container\",nodeId:\"mAlT0qcjp\",scopeId:\"pKvcE0AVr\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{dFFHERSkH:{variant:\"S_CkhfonK\"},v6VQV_gZW:{variant:\"DOC_aNU7E\"}},children:/*#__PURE__*/_jsx(Footer,{BqxUXve8Z:rotsXnxea,height:\"100%\",id:\"mAlT0qcjp\",layoutId:\"mAlT0qcjp\",style:{width:\"100%\"},variant:\"XDKZRCW8Q\",width:\"100%\"})})})})]}),/*#__PURE__*/_jsx(\"div\",{id:\"template-overlay\"})]})});});const css=target=>{const isStaticRenderer=target===RenderTarget.canvas||target===RenderTarget.export;if(!isStaticRenderer){return[...rules,...breakpointKeys.map(key=>{const query=mediaQueries[key];return`@media ${query} { ${breakpointRules[key].join(\" \")} }`;})];}return[...rules,...breakpointKeys.flatMap(key=>{const selector=breakpointRules[key];return breakpointRules[key].map(rule=>`${selector} {${rule}}`);})];};/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 1000\n * @framerIntrinsicWidth 1000\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"v6VQV_gZW\":{\"layout\":[\"fixed\",\"fixed\"]},\"dFFHERSkH\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerVariables {\"d1a5x2gfb\":\"navColor\",\"tz9W9j4iW\":\"navHover\",\"N4eKptGGU\":\"pageBackground\",\"rotsXnxea\":\"footerBackground\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n * @framerHitTargets {\"RxhMRBrCv\":[\".framer-k4lcy9-container\",\".framer-wkpfzm-container\"],\"v6VQV_gZW\":[\".framer-k4lcy9-container\",\".framer-wkpfzm-container\"],\"dFFHERSkH\":[\".framer-k4lcy9-container\",\".framer-wkpfzm-container\"]}\n * @framerBreakpoints {\"RxhMRBrCv\":{\"min\":1000,\"canvasClassName\":\"framer-1ikj83h-override\",\"minHeight\":1000,\"name\":\"Desktop\",\"width\":1000,\"rootFontSize\":16},\"v6VQV_gZW\":{\"min\":750,\"max\":999,\"canvasClassName\":\"framer-1oupd7a-override\",\"minHeight\":1000,\"viewportHeight\":1080,\"name\":\"Tablet\",\"width\":750,\"rootFontSize\":16},\"dFFHERSkH\":{\"max\":749,\"canvasClassName\":\"framer-vybwdo-override\",\"minHeight\":1000,\"viewportHeight\":844,\"name\":\"Phone\",\"width\":390,\"rootFontSize\":16}}\n * @framerDefaultVariant RxhMRBrCv\n * @framerLayoutTemplate true\n */const FramerpKvcE0AVr=withCSS(Component,css,\"framer-ImXaA\");export default FramerpKvcE0AVr;FramerpKvcE0AVr.displayName=\"Template\";FramerpKvcE0AVr.defaultProps={height:1e3,width:1e3};addPropertyControls(FramerpKvcE0AVr,{d1a5x2gfb:{defaultValue:\"rgb(255, 255, 255)\",title:\"Nav Color\",type:ControlType.Color},tz9W9j4iW:{defaultValue:\"rgb(201, 201, 201)\",title:\"Nav Hover\",type:ControlType.Color},N4eKptGGU:{defaultValue:\"rgb(255, 255, 255)\",title:\"Page Background\",type:ControlType.Color},rotsXnxea:{defaultValue:\"rgb(0, 0, 0)\",title:\"Footer Background\",type:ControlType.Color}});addFonts(FramerpKvcE0AVr,[{explicitInter:true,fonts:[]},...NavigationBarFonts,...FooterFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerpKvcE0AVr\",\"slots\":[],\"annotations\":{\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"v6VQV_gZW\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"dFFHERSkH\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerIntrinsicWidth\":\"1000\",\"framerIntrinsicHeight\":\"1000\",\"framerVariables\":\"{\\\"d1a5x2gfb\\\":\\\"navColor\\\",\\\"tz9W9j4iW\\\":\\\"navHover\\\",\\\"N4eKptGGU\\\":\\\"pageBackground\\\",\\\"rotsXnxea\\\":\\\"footerBackground\\\"}\",\"framerBreakpoints\":\"{\\\"RxhMRBrCv\\\":{\\\"min\\\":1000,\\\"canvasClassName\\\":\\\"framer-1ikj83h-override\\\",\\\"minHeight\\\":1000,\\\"name\\\":\\\"Desktop\\\",\\\"width\\\":1000,\\\"rootFontSize\\\":16},\\\"v6VQV_gZW\\\":{\\\"min\\\":750,\\\"max\\\":999,\\\"canvasClassName\\\":\\\"framer-1oupd7a-override\\\",\\\"minHeight\\\":1000,\\\"viewportHeight\\\":1080,\\\"name\\\":\\\"Tablet\\\",\\\"width\\\":750,\\\"rootFontSize\\\":16},\\\"dFFHERSkH\\\":{\\\"max\\\":749,\\\"canvasClassName\\\":\\\"framer-vybwdo-override\\\",\\\"minHeight\\\":1000,\\\"viewportHeight\\\":844,\\\"name\\\":\\\"Phone\\\",\\\"width\\\":390,\\\"rootFontSize\\\":16}}\",\"framerAutoSizeImages\":\"true\",\"framerDefaultVariant\":\"RxhMRBrCv\",\"framerContractVersion\":\"1\",\"framerComponentViewportWidth\":\"true\",\"framerColorSyntax\":\"true\",\"framerLayoutTemplate\":\"true\",\"framerImmutableVariables\":\"true\",\"framerHitTargets\":\"{\\\"RxhMRBrCv\\\":[\\\".framer-k4lcy9-container\\\",\\\".framer-wkpfzm-container\\\"],\\\"v6VQV_gZW\\\":[\\\".framer-k4lcy9-container\\\",\\\".framer-wkpfzm-container\\\"],\\\"dFFHERSkH\\\":[\\\".framer-k4lcy9-container\\\",\\\".framer-wkpfzm-container\\\"]}\",\"framerDisplayContentsDiv\":\"false\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","\r\n        import * as Framer from \"framer\";\r\nimport * as React from \"react\";\r\nimport { createPortal } from \"react-dom\";\r\nimport * as ReactDOM from \"react-dom/client\";\r\nimport Template1 from \"https://framerusercontent.com/modules/ei1T0O2xUTxnx3MHKxpf/VeFRYwWPxKsEpmIRXA9w/pKvcE0AVr.js\";\r\n\r\n        const routes = {TmFWeaAWD: {elements: {agvM0TR8n: \"pricing\", doSjdNT37: \"reelcart\", G2knM44Gj: \"loyalty\", G4nBgNOFb: \"dark\", q4WnD8Ldy: \"bundlegenie\", RgLpMLLBe: \"stats\", vfDKvPcn2: \"hero\", XdvzCiIjj: \"how-it-works\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/dCGcZuRGxbBVLdk2dSQ9/MCXobyAfMXXai3NMZc2v/TmFWeaAWD.js\")), path: \"/\"}, JiDmqj3Z9: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/awaAP0tPeRqFmxNPQ2DT/JjVG36UNVKMmrRVeZ1d9/JiDmqj3Z9.js\")), path: \"/demo\"}, mFmACzLC9: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/xxsGbZ0ONmmRXnvzLqOV/f8YsRDGnyCn6JNeE9NzM/mFmACzLC9.js\")), path: \"/contact-us\"}, YWoqWuCS7: {elements: {gajIetPVh: \"b1\", tKxliWr3l: \"benefits\", tQKlbN6HR: \"b4\", U_NTNuKl6: \"b2\", uhTtfmeFC: \"b3\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/VGhgZVULuA6iJTQIzYwI/HiZposlDcpeYX9YeAWnc/YWoqWuCS7.js\")), path: \"/apps/program\"}, yL20oVdgy: {elements: {BIQVtholS: \"b2\", IbmKU1Ymo: \"b4\", irJMZX4tv: \"b1\", vnEFrwUNT: \"b3\", zBlrXgO8K: \"benefits\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/lkETmOfaexDHJVqXdwJp/rtJC7oChYH1kS6e5MSFn/yL20oVdgy.js\")), path: \"/apps/custom-nudges\"}, yoDPUMDWo: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/FHFecQGEjG4Vi9ix9SCS/gJwmumkX7V0MEWxSj4Wd/yoDPUMDWo.js\")), path: \"/compare/smile\"}, pwFyNGZuE: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/bK9p5yP4pZNKrQp2kJIe/08c8Yh8Z75G3KIyRcDXp/pwFyNGZuE.js\")), path: \"/compare/bon\"}, Q0Epkwo2b: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/NbJtcvL4fJ2MOFdAHKvp/erzxcqQHuGMCKlSc8TaE/Q0Epkwo2b.js\")), path: \"/privacy-policy\"}, f3FgdNfxB: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/PVRArEJ1NI9iClegJQIW/IeX8duHay6RxDYE634qu/f3FgdNfxB.js\")), path: \"/terms-of-service\"}, rvnqPjFR6: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/KHnkDJPiywljysNfyuVV/yMPrFbtOqNTGiPtNRDku/rvnqPjFR6.js\")), path: \"/refund-policy\"}, F33eBsZ_8: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/nptM8phLQyKR3AfATasg/ZJ6Mwmz7mwoeM7Kl3fEo/F33eBsZ_8.js\")), path: \"/resources\"}, ZrNuwO2k7: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/vIWPqH03PiYR3MivXJUC/KxbnUq7GWhqpOk2y5nMy/ZrNuwO2k7.js\")), path: \"/case-studies\"}, x0h8fD7xD: {collectionId: \"PoShd3ePl\", elements: {l6qTYhLW9: \"toc-headings-source-1\", laoXmVzcZ: \"toc-headings-source-2\", SSlotcXjJ: \"toc-headings-source\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/DLcEyjlBtBSbkEeKOTd9/iCWx9mTH4POaqDfKwcya/x0h8fD7xD.js\")), path: \"/case-studies/:OaqZUsfCq\"}}\r\n\r\n        const locales = [{code: \"en\", id: \"default\", name: \"English\", slug: \"\", textDirection: \"ltr\"}]\r\n        const collectionUtils = {PoShd3ePl: async () => (await import(\"https://framerusercontent.com/modules/JCLjrh0SiQfXmTU2JdW0/tka8pMwMOw9wUXYKQiSZ/PoShd3ePl.js\"))?.[\"utils\"]}\r\n        const framerSiteId = \"ec5961bedb4b61c0eeebb8717cc0183f89c058aa37df85d6579e704b59d5c302\"\r\n        function Template({webPageId, children, style, ...rest}) {const props1 = {d1a5x2gfb: \"rgb(255, 255, 255)\", N4eKptGGU: \"rgb(255, 255, 255)\", rotsXnxea: \"rgb(0, 0, 0)\", tz9W9j4iW: \"rgb(201, 201, 201)\"}\r\nconst props2 = {...props1, d1a5x2gfb: \"rgb(0, 0, 0)\", rotsXnxea: \"rgb(255, 255, 255)\", tz9W9j4iW: \"rgb(94, 94, 94)\"}\r\nconst props3 = {...props1, d1a5x2gfb: \"rgb(0, 0, 0)\", tz9W9j4iW: \"rgb(66, 66, 66)\"}\r\nconst props4 = {...props1, d1a5x2gfb: \"rgb(0, 0, 0)\", tz9W9j4iW: \"rgb(99, 99, 99)\"}\r\nconst props5 = {...props1, d1a5x2gfb: \"rgb(0, 0, 0)\", tz9W9j4iW: \"rgb(61, 61, 61)\"}\r\nconst props6 = {...props1, d1a5x2gfb: \"rgb(0, 0, 0)\", tz9W9j4iW: \"rgb(87, 87, 87)\"}\r\nconst props7 = {...props1, N4eKptGGU: \"rgb(28, 28, 28)\", rotsXnxea: \"rgb(28, 28, 28)\", tz9W9j4iW: \"rgb(204, 204, 204)\"}\r\nconst props8 = {...props1, N4eKptGGU: \"rgb(28, 28, 28)\", rotsXnxea: \"rgb(28, 28, 28)\", tz9W9j4iW: \"rgb(207, 207, 207)\"}\r\nconst props9 = {...props1, N4eKptGGU: \"rgb(28, 28, 28)\", rotsXnxea: \"rgb(28, 28, 28)\"}\r\nconst props10 = {...props1, N4eKptGGU: \"rgb(23, 23, 23)\", rotsXnxea: \"rgb(23, 23, 23)\"}\r\nconst props11 = {...props1, N4eKptGGU: \"rgb(15, 15, 15)\", rotsXnxea: \"rgb(15, 15, 15)\"}\r\nconst templateProps = {eNazBHjAv: props1, F33eBsZ_8: props10, f3FgdNfxB: props8, JiDmqj3Z9: props2, mFmACzLC9: props2, pwFyNGZuE: props6, Q0Epkwo2b: props7, rvnqPjFR6: props9, TmFWeaAWD: props1, x0h8fD7xD: props11, yL20oVdgy: props4, yoDPUMDWo: props5, YWoqWuCS7: props3, ZrNuwO2k7: props10}\r\nconst props = templateProps[webPageId] ?? {}\r\nswitch (webPageId) {case \"TmFWeaAWD\":\r\ncase \"eNazBHjAv\":\r\ncase \"JiDmqj3Z9\":\r\ncase \"mFmACzLC9\":\r\ncase \"YWoqWuCS7\":\r\ncase \"yL20oVdgy\":\r\ncase \"yoDPUMDWo\":\r\ncase \"pwFyNGZuE\":\r\ncase \"Q0Epkwo2b\":\r\ncase \"f3FgdNfxB\":\r\ncase \"rvnqPjFR6\":\r\ncase \"F33eBsZ_8\":\r\ncase \"ZrNuwO2k7\":\r\ncase \"x0h8fD7xD\":\r\nreturn React.createElement(Template1, {...props, key: \"Template1\", style}, children(true));\r\ndefault: { return children(false) }}}\r\nexport function getLayoutTemplateBreakpoints(routeId) {switch (routeId) {case \"TmFWeaAWD\":\r\ncase \"eNazBHjAv\":\r\ncase \"JiDmqj3Z9\":\r\ncase \"mFmACzLC9\":\r\ncase \"YWoqWuCS7\":\r\ncase \"yL20oVdgy\":\r\ncase \"yoDPUMDWo\":\r\ncase \"pwFyNGZuE\":\r\ncase \"Q0Epkwo2b\":\r\ncase \"f3FgdNfxB\":\r\ncase \"rvnqPjFR6\":\r\ncase \"F33eBsZ_8\":\r\ncase \"ZrNuwO2k7\":\r\ncase \"x0h8fD7xD\":\r\nreturn [{hash: \"1ikj83h\", mediaQuery: \"(min-width: 1000px)\"}, {hash: \"1oupd7a\", mediaQuery: \"(min-width: 750px) and (max-width: 999.98px)\"}, {hash: \"vybwdo\", mediaQuery: \"(max-width: 749.98px)\"}]\r\ndefault: { return undefined }}}\r\n\r\n        export async function getPageRoot({ routeId, pathVariables, localeId }) {\r\n            const rootPreload = routes[routeId].page.preload()\r\n\r\n            const content = React.createElement(\r\n                Framer.PageRoot,\r\n                {\r\n                    isWebsite: true,\r\n                    routeId,\r\n                    pathVariables,\r\n                    routes,\r\n                    collectionUtils,\r\n                    framerSiteId,\r\n                    notFoundPage: Framer.lazy(() => import(\"__framer-not-found-page\")),\r\n                    isReducedMotion: undefined,\r\n                    localeId,\r\n                    locales,\r\n                    preserveQueryParams: undefined,\r\n                    siteCanonicalURL: \"https://yourtoken.io\",\r\n                    EditorBar: \r\n            typeof window !== \"undefined\" ? (() => {\r\n                const isBot = /bot|-google|google-|yandex|ia_archiver|crawl|spider/iu.test(navigator.userAgent)\r\n                if (isBot) {\r\n                    console.log(\"[Framer On-Page Editing] Unavailable because navigator is bot\")\r\n                    return\r\n                }\r\n\r\n                return Framer.lazy(async () => {\r\n                    const dependencies = {\r\n                        __version: 3,\r\n                        framer: {\r\n                            useCurrentRoute: Framer.useCurrentRoute,\r\n                            useLocaleInfo: Framer.useLocaleInfo,\r\n                            useRouter: Framer.useRouter,\r\n                        },\r\n                        react: {\r\n                            createElement: React.createElement,\r\n                            Fragment: React.Fragment,\r\n                            memo: React.memo,\r\n                            useCallback: React.useCallback,\r\n                            useEffect: React.useEffect,\r\n                            useRef: React.useRef,\r\n                            useState: React.useState,\r\n                            useLayoutEffect: React.useLayoutEffect,\r\n                        },\r\n                        \"react-dom\": { createPortal },\r\n                    }\r\n\r\n                    window.__framer_editorBarDependencies = dependencies\r\n\r\n                    const { createEditorBar } = await import(\"https://framer.com/edit/init.mjs\")\r\n                    return {\r\n                        default: createEditorBar(),\r\n                    }\r\n                })\r\n            })() : undefined\r\n        ,\r\n                    adaptLayoutToTextDirection: false,\r\n                    LayoutTemplate: Template,\r\n                    loadSnippetsModule: new Framer.LazyValue(() => import(\"https://framerusercontent.com/modules/8J6IWuHg5Hdy9ebP4chK/fbMXNvAnvYFrQCa1qZ3k/snippets.js\")),\r\n                }\r\n            )\r\n\r\n            const contentWithFeaturesContext = React.createElement(\r\n                Framer.LibraryFeaturesProvider,\r\n                {\r\n                    children: content,\r\n                    value: {autobahnNavigation: false, customCodeSiteSettings: true, editorBarDisableFrameAncestorsSecurity: false, motionDivToDiv: false, onPageLocalizationSupport: false, onPageMoveTool: false, synchronousNavigationOnDesktop: false, yieldOnTap: false}\r\n                }\r\n            )\r\n\r\n            const contentWithGracefullyDegradingErrorBoundary = React.createElement(Framer.GracefullyDegradingErrorBoundary, {\r\n                children: contentWithFeaturesContext\r\n            })\r\n\r\n            const effect = {enter: {opacity: 1, rotate: 0, rotate3d: false, rotateX: 0, rotateY: 0, scale: 1, transition: {damping: 30, delay: 0, duration: 0, ease: [0.27, 0, 0.51, 1], mass: 1, stiffness: 400, type: \"tween\"}, x: \"0px\", y: \"0px\"}, exit: {opacity: 1, rotate: 0, rotate3d: false, rotateX: 0, rotateY: 0, scale: 1, transition: {bounce: 0, damping: 30, delay: 0, duration: 0, durationBasedSpring: true, ease: [0.27, 0, 0.51, 1], mass: 1, stiffness: 400, type: \"spring\"}, x: \"0px\", y: \"0px\"}}\r\n            const page = React.createElement(Framer.PageEffectsProvider, {\r\n                children: contentWithGracefullyDegradingErrorBoundary,\r\n                value: {routes: {f3FgdNfxB: {eNazBHjAv: effect}, Q0Epkwo2b: {eNazBHjAv: effect}, rvnqPjFR6: {eNazBHjAv: effect}}}\r\n            })\r\n\r\n            // We don't want the initial render to immediately have to suspend.\r\n            await rootPreload\r\n            return page\r\n        }\r\n\r\n        const isBrowser = typeof document !== \"undefined\"\r\n        if (isBrowser) {\r\n            window.__framer_importFromPackage = (packageAndFilename, exportIdentifier) => () => {\r\n                return React.createElement(Framer.ErrorPlaceholder, { error: 'Package component not supported: \"' + exportIdentifier + '\" in \"' + packageAndFilename + '\"' })\r\n            }\r\n\r\n            window.__framer_events = window.__framer_events || []\r\n\r\n            // Initialize lazy modules cache for hydration\r\n            Framer.initLazyModulesCache()\r\n\r\n            // Fallback support for stack gaps\r\n            Framer.installFlexboxGapWorkaroundIfNeeded()\r\n\r\n            const container = document.getElementById(\"main\")\r\n            // We know that #main is parsed before this script, so we don't need to wait for DOMContentLoaded or similar events.\r\n            if (\"framerHydrateV2\" in container.dataset) main(true, container)\r\n            else main(false, container)\r\n        }\r\n\r\n        function track() {\r\n            if (!isBrowser) return\r\n            window.__framer_events.push(arguments)\r\n        }\r\n\r\n        async function main(shouldHydrate, container) {\r\n            function handleError(error, errorInfo, recoverable = true) {\r\n                if (error.caught || window.__framer_hadFatalError) return // we already logged it\r\n\r\n                const componentStack = errorInfo?.componentStack\r\n                if (recoverable) {\r\n                    console.warn(\"Caught a recoverable error. The site is still functional, but might have some UI flickering or degraded page load performance. If you are the author of this website, update external components and check recently added custom code or code overrides to fix the following server/client mismatches:\\n\", error, componentStack)\r\n                    // we only want to collect 1%, because this can be quite noisy (floods the data pipeline)\r\n                    if (Math.random() > 0.01) return\r\n                } else {\r\n                    console.error(\"Caught a fatal error. Please report the following to the Framer team via https://www.framer.com/contact/:\\n\", error, componentStack)\r\n                }\r\n                track(recoverable ? \"published_site_load_recoverable_error\" : \"published_site_load_error\", {\r\n                    message: String(error),\r\n                    componentStack, // componentStack is more useful\r\n                    stack: componentStack ? undefined : error instanceof Error && typeof error.stack === \"string\" ? error.stack : null,\r\n                })\r\n            }\r\n\r\n            try {\r\n                let routeId, localeId, pathVariables, breakpoints\r\n                if (shouldHydrate) {\r\n                    const routeData = JSON.parse(container.dataset[\"framerHydrateV2\"])\r\n                    routeId = routeData.routeId\r\n                    localeId = routeData.localeId\r\n                    pathVariables = routeData.pathVariables\r\n                    breakpoints = routeData.breakpoints\r\n\r\n                    routeId = Framer.patchRoutesForABTesting(routes, routeId) // Prioritize optimized route id to avoid flickering in browsers not supporting the server-timing header (Safari older than 16.4)\r\n                } else {\r\n                    Framer.patchRoutesForABTesting(routes, undefined) // This must happen before inferInitialRouteFromPath\r\n\r\n                    \r\n                    const serverRouteExperimentEnabled = true\r\n                    const serverRoute = serverRouteExperimentEnabled && performance.getEntriesByType(\"navigation\")[0]?.serverTiming?.find(e => e.name === \"route\")?.description\r\n                    if (serverRoute) {\r\n                        const routeData = new URLSearchParams(serverRoute)\r\n                        routeId = routeData.get(\"id\")\r\n                        localeId = routeData.get(\"locale\")\r\n                        for (const [key, value] of routeData.entries()) {\r\n                            if (!key.startsWith(\"var.\")) continue\r\n                            pathVariables ??= {}\r\n                            pathVariables[key.slice(4)] = value\r\n                        }\r\n                    }\r\n                    if (!routeId || !localeId) {\r\n                        const routeData = Framer.inferInitialRouteFromPath(routes, decodeURIComponent(location.pathname), true, locales)\r\n                        routeId = routeData.routeId\r\n                        localeId = routeData.localeId\r\n                        pathVariables = routeData.pathVariables\r\n                    }\r\n                    \r\n                }\r\n\r\n                const pagePromise = getPageRoot({ routeId, localeId, pathVariables })\r\n\r\n                \r\nif (typeof window !== \"undefined\") {\r\n    void (async () => {\r\n        const route = routes[routeId]\r\n\r\n        const defaultLocaleId = \"default\"\r\n        const framerLocale = locales.find(({ id }) => !localeId ? id === defaultLocaleId : id === localeId).code\r\n\r\n        let collectionItemId = null\r\n        if (route?.collectionId && collectionUtils) {\r\n              const utils = await collectionUtils[route.collectionId]?.()\r\n              const [slug] = Object.values(pathVariables)\r\n              if (utils && typeof slug === \"string\") {\r\n                  collectionItemId = (await utils.getRecordIdBySlug(slug, framerLocale || undefined)) ?? null\r\n              }\r\n        }\r\n\r\n        const resolvedDateTimeOptions = Intl.DateTimeFormat().resolvedOptions()\r\n        const timezone = resolvedDateTimeOptions.timeZone\r\n        const locale = resolvedDateTimeOptions.locale\r\n\r\n        // wait for the page to be activated before sending the pageview event\r\n        // https://developer.chrome.com/docs/web-platform/prerender-pages#impact-on-analytics\r\n        await new Promise((resolve) => {\r\n            if (document.prerendering) {\r\n                document.addEventListener(\"prerenderingchange\", resolve, { once: true })\r\n            } else {\r\n                resolve()\r\n            }\r\n        })\r\n\r\n        window.__framer_events.push([\r\n            \"published_site_pageview\",\r\n            {\r\n                framerSiteId: framerSiteId ?? null,\r\n                version: 2,\r\n                routePath: route?.path || \"/\",\r\n                collectionItemId,\r\n                framerLocale: framerLocale || null,\r\n                webPageId: route?.abTestingVariantId ?? routeId,\r\n                abTestId: route?.abTestId,\r\n                referrer: document.referrer || null,\r\n                url: window.location.href,\r\n                hostname: window.location.hostname || null,\r\n                pathname: window.location.pathname || null,\r\n                hash: window.location.hash || null,\r\n                search: window.location.search || null,\r\n                timezone,\r\n                locale,\r\n            },\r\n            \"eager\"\r\n        ])\r\n\r\n        // Yield to avoid blocking the main thread with the user code\r\n        await Framer.yieldToMain({ priority: \"background\", ensureContinueBeforeUnload: true, continueAfter: \"paint\" })\r\n\r\n        document.dispatchEvent(new CustomEvent(\"framer:pageview\", {\r\n            detail: { framerLocale: framerLocale || null }\r\n        }))\r\n    })()\r\n}\r\n\r\n\r\n                const page = await pagePromise\r\n                if (shouldHydrate) {\r\n                    \r\n\r\n                    Framer.withPerformanceMarks(\"framer-rewrite-breakpoints\", () => {\r\n                        Framer.removeHiddenBreakpointLayersV2(breakpoints)\r\n                        window.__framer_onRewriteBreakpoints?.(breakpoints)\r\n                    })\r\n\r\n                    \r\n\r\n                    const startTransition = React.startTransition\r\n                    startTransition(() => {\r\n                        Framer.markHydrationStart()\r\n                        if (true) Framer.turnOffReactEventHandling()\r\n                        ReactDOM.hydrateRoot(container, page, { onRecoverableError: handleError })\r\n                    })\r\n                } else {\r\n                    \r\n                    ReactDOM.createRoot(container, { onRecoverableError: handleError }).render(page)\r\n                }\r\n            } catch (error) {\r\n                handleError(error, undefined, false)\r\n                throw error\r\n            }\r\n        }\r\n\r\n        \r\n\r\n        \r\n    "],"mappings":"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"}