{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/73gkeUarF0zAJEuOJVzd/VokdXRuUaIC4I2n9jXKV/bR_zE8nB_.js", "ssg:https://framerusercontent.com/modules/5jBVgK3NKrruMAMY83Yz/vyhDlRPqwq77sc6lCdjU/Halo.js", "ssg:https://framerusercontent.com/modules/h3cd2D6kYGsvNfikYgky/DwnhKCWR3uWQuQr8UxCV/Lines.js", "ssg:https://framerusercontent.com/modules/5zNyHZUbhKVuNzs1sqgL/Msm2aFKwxBYElhxflvjb/O8Q2sX25v.js"],
  "sourcesContent": ["// Generated by Framer (c105afa)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const cycleOrder=[\"XHWuaI_T2\",\"kl_cXElP1\",\"WixZbQYaO\"];const serializationHash=\"framer-o6Bld\";const variantClassNames={kl_cXElP1:\"framer-v-116lqo7\",WixZbQYaO:\"framer-v-1w9pkor\",XHWuaI_T2:\"framer-v-i1vkgt\"};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 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:\"XHWuaI_T2\",Phone:\"WixZbQYaO\",Tablet:\"kl_cXElP1\"};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"XHWuaI_T2\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"XHWuaI_T2\",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__*/_jsx(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-i1vkgt\",className,classNames),\"data-framer-name\":\"Desktop\",layoutDependency:layoutDependency,layoutId:\"XHWuaI_T2\",ref:refBinding,style:{backgroundColor:\"rgb(255, 255, 255)\",...style},...addPropertyOverrides({kl_cXElP1:{\"data-framer-name\":\"Tablet\"},WixZbQYaO:{\"data-framer-name\":\"Phone\"}},baseVariant,gestureVariant)})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-o6Bld.framer-1fb5h5b, .framer-o6Bld .framer-1fb5h5b { display: block; }\",\".framer-o6Bld.framer-i1vkgt { height: 2400px; overflow: hidden; position: relative; width: 1200px; }\",\".framer-o6Bld.framer-v-116lqo7.framer-i1vkgt { height: 3240px; width: 810px; }\",\".framer-o6Bld.framer-v-1w9pkor.framer-i1vkgt { height: 2532px; width: 390px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 2400\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"kl_cXElP1\":{\"layout\":[\"fixed\",\"fixed\"]},\"WixZbQYaO\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerbR_zE8nB_=withCSS(Component,css,\"framer-o6Bld\");export default FramerbR_zE8nB_;FramerbR_zE8nB_.displayName=\"Background\";FramerbR_zE8nB_.defaultProps={height:2400,width:1200};addPropertyControls(FramerbR_zE8nB_,{variant:{options:[\"XHWuaI_T2\",\"kl_cXElP1\",\"WixZbQYaO\"],optionTitles:[\"Desktop\",\"Tablet\",\"Phone\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerbR_zE8nB_,[{explicitInter:true,fonts:[]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerbR_zE8nB_\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"2400\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"kl_cXElP1\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"WixZbQYaO\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerIntrinsicWidth\":\"1200\",\"framerImmutableVariables\":\"true\",\"framerContractVersion\":\"1\",\"framerDisplayContentsDiv\":\"false\",\"framerColorSyntax\":\"true\",\"framerComponentViewportWidth\":\"true\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./bR_zE8nB_.map", "import{jsx as _jsx}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";// 1) Detect \"any mobile\" user agent\nfunction isAnyMobileBrowser(){const ua=navigator.userAgent;return/Mobi|Android|iPhone|iPad|iPod|Windows Phone|webOS|BlackBerry|Opera Mini/i.test(ua);}// 2) Force body black in a layout effect (avoid flicker).\nfunction useForceBodyBlack(){React.useLayoutEffect(()=>{document.body.style.backgroundColor=\"#000000\";},[]);}// 3) Update <meta name=\"theme-color\">\nfunction updateThemeColor(color){document.querySelectorAll('meta[name=\"theme-color\"]').forEach(meta=>{meta.setAttribute(\"content\",color);});}// 4) HSL \u2192 RGB\nfunction hslToRgb(h,s,l){s/=100;l/=100;const c=(1-Math.abs(2*l-1))*s;const hp=h/60;const x=c*(1-Math.abs(hp%2-1));let r1=0,g1=0,b1=0;if(hp>=0&&hp<1){r1=c;g1=x;}else if(hp>=1&&hp<2){r1=x;g1=c;}else if(hp>=2&&hp<3){g1=c;b1=x;}else if(hp>=3&&hp<4){g1=x;b1=c;}else if(hp>=4&&hp<5){r1=x;b1=c;}else if(hp>=5&&hp<6){r1=c;b1=x;}const m=l-c/2;return{r:Math.round((r1+m)*255),g:Math.round((g1+m)*255),b:Math.round((b1+m)*255)};}// 5) Linear color lerp\nfunction lerpColor(a,b,t){const rr=a.r+(b.r-a.r)*t;const gg=a.g+(b.g-a.g)*t;const bb=a.b+(b.b-a.b)*t;return`rgb(${rr},${gg},${bb})`;}// 6) Piecewise body color for a 900px range\n//  0\u201320%: black-> c1\n// 20\u201340%: c1-> c2\n// 40\u2013100%: c2-> white\nfunction getBodyColor(t,hue){if(t<0)t=0;if(t>1)t=1;// c1 = hsl(hue, 100%, 5%), c2 = hsl(hue, 20%, 30%)\nconst c1=hslToRgb(hue,100,5);const c2=hslToRgb(hue,20,30);const black={r:0,g:0,b:0};const white={r:255,g:255,b:255};// 0..0.2 => black->c1\nif(t<=.2){const sub=t/.2;return lerpColor(black,c1,sub);}else if(t<=.4){const sub=(t-.2)/.2;return lerpColor(c1,c2,sub);}else{const sub=(t-.4)/.6;return lerpColor(c2,white,sub);}}// 7) Create wave scene with stable local time\n// Use same 0.2 / 0.4 breakpoints in fragment shader.\nfunction createWaveScene(canvas,animationSpeed,effectIntensity,frequency,hue){const gl=canvas.getContext(\"webgl\");if(!gl){console.error(\"WebGL not supported\");return()=>{};}gl.clearColor(0,0,0,1);const vsSource=`\n      attribute vec2 a_position;\n      varying vec2 vUv;\n      void main(){\n        vUv = vec2(0.5 + 0.5*a_position.x, 0.5 - 0.5*a_position.y);\n        gl_Position = vec4(a_position, 0.0, 1.0);\n      }\n    `;// same piecewise stops: 0..0.2, 0.2..0.4, 0.4..1\nconst fsSource=`\n      precision mediump float;\n      varying vec2 vUv;\n      uniform float u_time;\n      uniform float u_intensity;\n      uniform float u_frequency;\n      uniform vec3 u_color1;\n      uniform vec3 u_color2;\n\n      void main(){\n        float t = vUv.y;\n\n        float freqMod = u_frequency*(1.0 + 0.2*sin(u_time*0.5));\n        float wave1 = sin((vUv.x - u_time)*(10.0*freqMod) + vUv.y*(20.0*freqMod));\n        float wave2 = cos((vUv.y + u_time)*(15.0*freqMod) + vUv.x*(25.0*freqMod));\n        float wave3 = sin((vUv.x - vUv.y - u_time)*(8.0*freqMod));\n        float wave = (wave1 + wave2 + wave3)/3.0;\n\n        float dt = wave*u_intensity*(1.0 - t);\n        float tDist = clamp(t + dt, 0.0, 1.0);\n\n        vec3 black = vec3(0.0);\n        vec3 white = vec3(1.0);\n        vec3 color;\n        if (tDist < 0.2) {\n          float tt = tDist / 0.2;\n          color = mix(black, u_color1, tt);\n        } else if (tDist < 0.4) {\n          float tt = (tDist - 0.2) / 0.2;\n          color = mix(u_color1, u_color2, tt);\n        } else {\n          float tt = (tDist - 0.4) / 0.6;\n          color = mix(u_color2, white, tt);\n        }\n\n        gl_FragColor = vec4(color, 1.0);\n      }\n    `;function compileShader(type,src){const s=gl.createShader(type);if(!s)return null;gl.shaderSource(s,src);gl.compileShader(s);if(!gl.getShaderParameter(s,gl.COMPILE_STATUS)){console.error(\"Shader error:\",gl.getShaderInfoLog(s));gl.deleteShader(s);return null;}return s;}function createProgram(vs,fs){const p=gl.createProgram();if(!p)return null;gl.attachShader(p,vs);gl.attachShader(p,fs);gl.linkProgram(p);if(!gl.getProgramParameter(p,gl.LINK_STATUS)){console.error(\"Program link error:\",gl.getProgramInfoLog(p));gl.deleteProgram(p);return null;}return p;}const vs=compileShader(gl.VERTEX_SHADER,vsSource);const fs=compileShader(gl.FRAGMENT_SHADER,fsSource);if(!vs||!fs)return()=>{};const program=createProgram(vs,fs);if(!program)return()=>{};const uTimeLoc=gl.getUniformLocation(program,\"u_time\");const uIntensityLoc=gl.getUniformLocation(program,\"u_intensity\");const uFrequencyLoc=gl.getUniformLocation(program,\"u_frequency\");const uColor1Loc=gl.getUniformLocation(program,\"u_color1\");const uColor2Loc=gl.getUniformLocation(program,\"u_color2\");// c1 = hsl(hue,100,5), c2 = hsl(hue,20,30)\nconst c1=hslToRgb(hue,100,5);const c2=hslToRgb(hue,20,30);const posLoc=gl.getAttribLocation(program,\"a_position\");const buffer=gl.createBuffer();gl.bindBuffer(gl.ARRAY_BUFFER,buffer);const positions=new Float32Array([-1,-1,1,-1,-1,1,-1,1,1,-1,1,1]);gl.bufferData(gl.ARRAY_BUFFER,positions,gl.STATIC_DRAW);let frameId;let waveTime=0;let lastFrame=0;const period=10;function renderFrame(nowMs){if(!lastFrame)lastFrame=nowMs;let dt=(nowMs-lastFrame)*.001;lastFrame=nowMs;// clamp large dt if tab was backgrounded\nif(dt>.2)dt=0;// increment wave time\nwaveTime=(waveTime+dt*(animationSpeed*.003))%period;const intsty=effectIntensity*.003;const freq=frequency/100;// match canvas size\nconst w=canvas.offsetWidth;const h=canvas.offsetHeight;if(canvas.width!==w||canvas.height!==h){canvas.width=w;canvas.height=h;}gl.viewport(0,0,w,h);gl.clear(gl.COLOR_BUFFER_BIT);gl.useProgram(program);gl.uniform1f(uTimeLoc,waveTime);gl.uniform1f(uIntensityLoc,intsty);gl.uniform1f(uFrequencyLoc,freq);gl.uniform3f(uColor1Loc,c1.r/255,c1.g/255,c1.b/255);gl.uniform3f(uColor2Loc,c2.r/255,c2.g/255,c2.b/255);gl.enableVertexAttribArray(posLoc);gl.vertexAttribPointer(posLoc,2,gl.FLOAT,false,0,0);gl.drawArrays(gl.TRIANGLES,0,6);frameId=requestAnimationFrame(renderFrame);}frameId=requestAnimationFrame(renderFrame);return()=>cancelAnimationFrame(frameId);}// 8) Main code component\nexport function MobileGradientWaves(props){const{animationSpeed,effectIntensity,frequency,hue}=props;// Force black so no flicker\nuseForceBodyBlack();return /*#__PURE__*/_jsx(WaveAndGradient,{animationSpeed:animationSpeed,effectIntensity:effectIntensity,frequency:frequency,hue:hue});}function WaveAndGradient({animationSpeed,effectIntensity,frequency,hue}){const canvasRef=React.useRef(null);const cleanupRef=React.useRef(()=>{});// (A) Setup wave\nReact.useEffect(()=>{const canvas=canvasRef.current;if(!canvas)return;canvas.style.width=\"100%\";canvas.style.height=\"100%\";cleanupRef.current=createWaveScene(canvas,animationSpeed,effectIntensity,frequency,hue);return()=>{cleanupRef.current();};},[animationSpeed,effectIntensity,frequency,hue]);// (B) Smooth transitions on body color\nReact.useEffect(()=>{const oldTransition=document.body.style.transition;document.body.style.transition=\"background-color 0.25s ease-out\";return()=>{document.body.style.transition=oldTransition;};},[]);// (C) On mobile, pinned gradient + body color changes over 900px\nReact.useEffect(()=>{if(!isAnyMobileBrowser())return;// create pinned overlay\nconst overlay=document.createElement(\"div\");Object.assign(overlay.style,{position:\"fixed\",top:\"0\",left:\"0\",width:\"100%\",height:\"100px\",zIndex:\"8\",pointerEvents:\"none\",backgroundColor:\"#000000\",WebkitMaskImage:\"linear-gradient(to bottom, black 25%, transparent 100%)\",maskImage:\"linear-gradient(to bottom, black 25%, transparent 100%)\",transition:\"background-color 0.25s ease-out\"});document.body.appendChild(overlay);let ticking=false;function onScroll(){if(!ticking){ticking=true;requestAnimationFrame(()=>{ticking=false;const sy=window.scrollY;// total range = 900px\nlet t=sy/900;if(t<0)t=0;if(t>1)t=1;const color=getBodyColor(t,hue);document.body.style.backgroundColor=color;updateThemeColor(color);overlay.style.backgroundColor=color;});}}window.addEventListener(\"scroll\",onScroll,{passive:true});onScroll();return()=>{window.removeEventListener(\"scroll\",onScroll);overlay.remove();};},[hue]);return /*#__PURE__*/_jsx(\"canvas\",{ref:canvasRef});}// 9) Property Controls\nMobileGradientWaves.defaultProps={animationSpeed:20,effectIntensity:100,frequency:40,hue:120};addPropertyControls(MobileGradientWaves,{animationSpeed:{type:ControlType.Number,title:\"Speed\",min:1,max:100,step:1},effectIntensity:{type:ControlType.Number,title:\"Intensity\",min:1,max:100,step:1},frequency:{type:ControlType.Number,title:\"Frequency\",min:1,max:100,step:1},hue:{type:ControlType.Number,title:\"Hue\",min:0,max:360,step:1}});\nexport const __FramerMetadata__ = {\"exports\":{\"MobileGradientWaves\":{\"type\":\"reactComponent\",\"name\":\"MobileGradientWaves\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Halo.map", "import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{motion,useMotionValue,useTransform,animate}from\"framer-motion\";import{ControlType}from\"framer\";// ----------------------------------------------------------------\n// Hook to compute a scale factor based on screen width.\n// For widths under 1000px, scaleFactor = innerWidth / 1000; otherwise, 1.\nfunction useScaleFactor(){const[scaleFactor,setScaleFactor]=React.useState(1);React.useEffect(()=>{if(typeof window!==\"undefined\"){function updateScale(){const width=window.innerWidth;setScaleFactor(width<1e3?width/1e3:1);}updateScale();window.addEventListener(\"resize\",updateScale);return()=>window.removeEventListener(\"resize\",updateScale);}},[]);return scaleFactor;}// ----------------------------------------------------------------\n// Helper to get the initial Y positions based on window width and homepage flag.\nfunction getInitialYPositions(homepage){if(typeof window!==\"undefined\"){if(homepage){return window.innerWidth<810?[123,165,208,474]:[110,152,195,500];}else{// For non-homepage, desktop: 3 lines; mobile: only 2 lines (last removed)\nreturn window.innerWidth<810?[128,172]:[118,165,422];}}// Fallback defaults.\nreturn homepage?[123,165,208,474]:[128,172];}// ----------------------------------------------------------------\n// Hook to compute Y positions based on screen width and homepage flag.\nfunction useYPositions(homepage){const[yPositions,setYPositions]=React.useState(getInitialYPositions(homepage));React.useEffect(()=>{if(typeof window!==\"undefined\"){function updateYPositions(){if(homepage){if(window.innerWidth<810){setYPositions([123,165,208,474]);}else{setYPositions([110,152,195,500]);}}else{if(window.innerWidth<810){setYPositions([128,172]);}else{setYPositions([118,165,422]);}}}updateYPositions();window.addEventListener(\"resize\",updateYPositions);return()=>window.removeEventListener(\"resize\",updateYPositions);}},[homepage]);return yPositions;}// ----------------------------------------------------------------\n// Utility: returns a random number between min and max.\nconst getRandom=(min,max)=>Math.random()*(max-min)+min;// ----------------------------------------------------------------\n// generateParams: returns randomized parameters for one shot.\n// All width-related values are scaled by scaleFactor.\nfunction generateParams(baseSlowdown,scaleFactor){const baseMainWidth=getRandom(100,400);const mainWidth=Math.floor(baseMainWidth*scaleFactor);const baseTraceWidth=getRandom(baseMainWidth*2,800);const traceWidth=Math.floor(baseTraceWidth*scaleFactor);const totalDuration=getRandom(3,6)// seconds\n;const extraOffset=getRandom(10,30)*scaleFactor;const slowdownT=getRandom(.1,.3)// breakpoint (t\u2080)\n;const randomizedSlowdown=getRandom(baseSlowdown*.5,baseSlowdown*1.5);return{id:Math.random().toString(36).substr(2,9),mainWidth,traceWidth,totalDuration,delay:0,extraOffset,slowdownT,slowdown:randomizedSlowdown};}// ----------------------------------------------------------------\n// createCustomCarEasing: returns an easing function f(t) (for t in [0,1])\n// split into two cubic segments.\n// \u2022 For t in [0, t0]: f(t) = A*t\u00B3 + B*t\u00B2 + 2*t, with f(0)=0, f'(0)=2,\n//   and at t=t0 the progress is 0.5 with f'(t\u2080)=2\u00D7slowdown.\n// \u2022 For t in [t0, 1]: a Hermite interpolation from 0.5 to 1 with f'(1)=2.\nfunction createCustomCarEasing(slowdown,t0){const A=2*(t0*(1+slowdown)-.5)/t0**3;const B=(2*(slowdown-1)/t0-3*A*t0)/2;return t=>{if(t<t0){return A*t**3+B*t**2+2*t;}else{const v=(t-t0)/(1-t0);const h00=2*v**3-3*v**2+1;const h10=v**3-2*v**2+v;const h01=-2*v**3+3*v**2;const h11=v**3-v**2;const m0=2*slowdown*(1-t0);const m1=2*(1-t0);return h00*.5+h10*m0+h01*1+h11*m1;}};}// ----------------------------------------------------------------\n// AnimatedLine: Renders one Y\u2011line that fires one shot at a time.\n// When a shot completes, a new shot is scheduled after a randomized delay.\nfunction AnimatedLine({y,slowdown,frequency,scaleFactor}){const[shot,setShot]=React.useState(generateParams(slowdown,scaleFactor));const easingFunc=createCustomCarEasing(shot.slowdown,shot.slowdownT);// For the back (trace) rectangle, create a progress motion value.\nconst progress=useMotionValue(0);// Map progress linearly to trace width: from 50% to 100% of shot.traceWidth.\nconst traceWidthValue=useTransform(progress,[0,1],[shot.traceWidth*.5,shot.traceWidth]);// Animate progress in sync with the shot.\nReact.useEffect(()=>{progress.set(0);const controls=animate(progress,1,{duration:shot.totalDuration,ease:easingFunc,delay:shot.delay});return controls.stop;},[shot,progress,easingFunc]);// Compute a base cycle delay from the frequency parameter.\nconst baseCycleDelay=(101-frequency)/100*3e3// in ms\n;// Add random jitter (between 0.5x and 1.5x the base delay).\nconst randomCycleDelay=baseCycleDelay*(.5+Math.random());return /*#__PURE__*/_jsxs(motion.div,{initial:{x:\"-110vw\"},animate:{x:\"110vw\"},transition:{duration:shot.totalDuration,ease:easingFunc,delay:shot.delay},onAnimationComplete:()=>setTimeout(()=>setShot(generateParams(slowdown,scaleFactor)),randomCycleDelay),style:{position:\"absolute\",left:\"50%\",top:y},children:[/*#__PURE__*/_jsx(motion.div,{style:{position:\"absolute\",right:0,bottom:0,height:\"3px\",background:\"white\",opacity:1,transformOrigin:\"right\"},initial:{width:shot.mainWidth*.5},animate:{width:shot.mainWidth*1.5},transition:{duration:shot.totalDuration,ease:\"linear\",delay:shot.delay}}),/*#__PURE__*/_jsx(motion.div,{style:{position:\"absolute\",right:0,bottom:0,height:\"1px\",background:\"white\",opacity:.2,transformOrigin:\"right\",width:traceWidthValue}})]},shot.id);}// ----------------------------------------------------------------\n// AnimatedLines: Renders the lines based on the Homepage toggle.\n// When Homepage is enabled, four lines are used:\n//   Desktop: [110, 152, 195, 500], Mobile: [123, 165, 208, 474].\n// When disabled, three lines are used:\n//   Desktop: [118, 165, 422], Mobile: [128, 172] (lowest removed).\nexport default function AnimatedLines({slowdown=.25,frequency=50,homepage=true}){const scaleFactor=useScaleFactor();const yPositions=useYPositions(homepage);return /*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",width:\"100%\",height:\"100%\",overflow:\"hidden\",background:\"transparent\"},children:yPositions.map((y,index)=>/*#__PURE__*/_jsx(AnimatedLine,{y:y,slowdown:slowdown,frequency:frequency,scaleFactor:scaleFactor},index))});}// ----------------------------------------------------------------\n// Framer Sidebar Property Controls.\nAnimatedLines.propertyControls={slowdown:{type:ControlType.Number,title:\"Slowdown\",min:.2,max:1,step:.01,defaultValue:.25},frequency:{type:ControlType.Number,title:\"Frequency\",min:1,max:100,step:1,defaultValue:50},homepage:{type:ControlType.Boolean,title:\"Homepage\",defaultValue:true}};\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"AnimatedLines\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Lines.map", "// Generated by Framer (c105afa)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"CUSTOM;Founders Grotesk Medium\"]);export const fonts=[{explicitInter:true,fonts:[{family:\"Founders Grotesk Medium\",source:\"custom\",url:\"https://framerusercontent.com/assets/WAymg3nKkpM3AW1xnOuzxSzwj8.woff2\"}]}];export const css=['.framer-gjYGT .framer-styles-preset-12sd1ls:not(.rich-text-wrapper), .framer-gjYGT .framer-styles-preset-12sd1ls.rich-text-wrapper h1 { --framer-font-family: \"Founders Grotesk Medium\", \"Founders Grotesk Medium Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 70px; --framer-font-style: normal; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-letter-spacing: -1.6px; --framer-line-height: 0.92em; --framer-paragraph-spacing: 40px; --framer-text-alignment: left; --framer-text-color: #ffffff; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }','@media (max-width: 1199px) and (min-width: 810px) { .framer-gjYGT .framer-styles-preset-12sd1ls:not(.rich-text-wrapper), .framer-gjYGT .framer-styles-preset-12sd1ls.rich-text-wrapper h1 { --framer-font-family: \"Founders Grotesk Medium\", \"Founders Grotesk Medium Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 60px; --framer-font-style: normal; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-letter-spacing: -1.6px; --framer-line-height: 0.92em; --framer-paragraph-spacing: 40px; --framer-text-alignment: left; --framer-text-color: #ffffff; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }','@media (max-width: 809px) and (min-width: 0px) { .framer-gjYGT .framer-styles-preset-12sd1ls:not(.rich-text-wrapper), .framer-gjYGT .framer-styles-preset-12sd1ls.rich-text-wrapper h1 { --framer-font-family: \"Founders Grotesk Medium\", \"Founders Grotesk Medium Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 35px; --framer-font-style: normal; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-letter-spacing: -1px; --framer-line-height: 1em; --framer-paragraph-spacing: 40px; --framer-text-alignment: left; --framer-text-color: #ffffff; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }'];export const className=\"framer-gjYGT\";\nexport const __FramerMetadata__ = {\"exports\":{\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],
  "mappings": "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",
  "names": ["cycleOrder", "serializationHash", "variantClassNames", "addPropertyOverrides", "overrides", "variants", "nextOverrides", "variant", "transition1", "Transition", "value", "children", "config", "re", "MotionConfigContext", "transition", "contextValue", "se", "p", "Variants", "motion", "x", "humanReadableVariantMap", "getProps", "height", "id", "width", "props", "createLayoutDependency", "Component", "Y", "ref", "fallbackRef", "pe", "refBinding", "defaultLayoutId", "ae", "activeLocale", "setLocale", "useLocaleInfo", "componentViewport", "useComponentViewport", "style", "className", "layoutId", "restProps", "baseVariant", "classNames", "clearLoadingGesture", "gestureHandlers", "gestureVariant", "isLoading", "setGestureState", "setVariant", "useVariantState", "layoutDependency", "scopingClassNames", "cx", "LayoutGroup", "css", "FramerbR_zE8nB_", "withCSS", "bR_zE8nB_default", "addPropertyControls", "ControlType", "addFonts", "isAnyMobileBrowser", "ua", "navigator", "useForceBodyBlack", "fe", "updateThemeColor", "color", "meta", "hslToRgb", "h", "s", "l", "c", "hp", "x", "r1", "g1", "b1", "m", "lerpColor", "a", "b", "t", "rr", "gg", "bb", "getBodyColor", "hue", "c1", "c2", "black", "white", "sub", "createWaveScene", "canvas", "animationSpeed", "effectIntensity", "frequency", "gl", "vsSource", "fsSource", "compileShader", "type", "src", "createProgram", "vs", "fs", "p", "program", "uTimeLoc", "uIntensityLoc", "uFrequencyLoc", "uColor1Loc", "uColor2Loc", "posLoc", "buffer", "positions", "frameId", "waveTime", "lastFrame", "period", "renderFrame", "nowMs", "dt", "intsty", "freq", "w", "MobileGradientWaves", "props", "WaveAndGradient", "canvasRef", "pe", "cleanupRef", "ue", "oldTransition", "overlay", "ticking", "onScroll", "window", "addPropertyControls", "ControlType", "useScaleFactor", "scaleFactor", "setScaleFactor", "ye", "ue", "window", "updateScale", "width", "getInitialYPositions", "homepage", "useYPositions", "yPositions", "setYPositions", "updateYPositions", "getRandom", "min", "max", "generateParams", "baseSlowdown", "baseMainWidth", "mainWidth", "baseTraceWidth", "traceWidth", "totalDuration", "extraOffset", "slowdownT", "randomizedSlowdown", "createCustomCarEasing", "slowdown", "t0", "A", "B", "t", "v", "h00", "h10", "h01", "h11", "m0", "m1", "AnimatedLine", "y", "frequency", "shot", "setShot", "easingFunc", "progress", "useMotionValue", "traceWidthValue", "useTransform", "animate", "randomCycleDelay", "u", "motion", "p", "AnimatedLines", "index", "ControlType", "fontStore", "fonts", "css", "className"]
}
