{"version":3,"file":"Ryx7hwagV.DxB-KnlK.mjs","names":["useRef","__esmMin","init_npm_react_18_3_1","c","init_jsx_runtime","de","useMotionValue","useSpring","useScroll","useTransform","init_framer_motion_DhsWWWsN","useIsStaticRenderer","fontStore","RenderTarget","init_framer_DymZktPS","useStill","isStatic","withZoomIn","ref","still","scale","scrollYProgress","Component","props","withTilt","rx","ry","rotateX","rotateY","r","px","py","init_Motion","fonts","css","className","init_Ryx7hwagV"],"sources":["https:/framerusercontent.com/modules/e7u4t32JQsFhyHv5rpBe/L9Bcu0pnCGM1pKRzFQbI/Motion.js","https:/framerusercontent.com/modules/eYmeqCZbBi9voe8Fi9qf/q3XzO5YM3iW2dAtSDsIC/Ryx7hwagV.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{useRef}from\"react\";import{RenderTarget,useIsStaticRenderer}from\"framer\";import{useScroll,useTransform,useSpring,useMotionValue}from\"framer-motion\";function useStill(){const isStatic=useIsStaticRenderer();const t=RenderTarget.current();return isStatic||t===RenderTarget.canvas||t===RenderTarget.thumbnail||t===RenderTarget.export;}// Section opens from an inset rounded card to full bleed as it scrolls in\nexport function withSectionReveal(Component){return props=>{const ref=useRef(null);const still=useStill();const{scrollYProgress}=useScroll({target:ref,offset:[\"start end\",\"start 0.15\"]});const p=useSpring(scrollYProgress,{stiffness:140,damping:30,mass:.4});const clip=useTransform(p,v=>{const i=(1-v)*5;const r=(1-v)*40;return`inset(0% ${i}% 0% ${i}% round ${r}px)`;});if(still)return /*#__PURE__*/_jsx(Component,{...props});return /*#__PURE__*/_jsx(Component,{...props,ref:ref,style:{...props.style,clipPath:clip,willChange:\"clip-path\"}});};}// Content rises softly while the section scrolls into view\nexport function withRise(Component){return props=>{const ref=useRef(null);const still=useStill();const{scrollYProgress}=useScroll({target:ref,offset:[\"start end\",\"start 0.35\"]});const y=useTransform(scrollYProgress,[0,1],[90,0]);const opacity=useTransform(scrollYProgress,[0,.6,1],[.2,.85,1]);if(still)return /*#__PURE__*/_jsx(Component,{...props});return /*#__PURE__*/_jsx(Component,{...props,ref:ref,style:{...props.style,y,opacity}});};}// Image drifts inside its clipped frame (apply to the image layer)\nexport function withParallax(Component){return props=>{const ref=useRef(null);const still=useStill();const{scrollYProgress}=useScroll({target:ref,offset:[\"start end\",\"end start\"]});const y=useTransform(scrollYProgress,[0,1],[\"-7%\",\"7%\"]);if(still)return /*#__PURE__*/_jsx(Component,{...props});return /*#__PURE__*/_jsx(Component,{...props,ref:ref,style:{...props.style,y,scale:1.16}});};}// Image zooms from 1.25 to 1 as it enters\nexport function withZoomIn(Component){return props=>{const ref=useRef(null);const still=useStill();const{scrollYProgress}=useScroll({target:ref,offset:[\"start end\",\"center center\"]});const scale=useTransform(scrollYProgress,[0,1],[1.28,1]);if(still)return /*#__PURE__*/_jsx(Component,{...props});return /*#__PURE__*/_jsx(Component,{...props,ref:ref,style:{...props.style,scale}});};}// Hero content sinks and fades as the page scrolls away\nexport function withHeroExit(Component){return props=>{const ref=useRef(null);const still=useStill();const{scrollYProgress}=useScroll({target:ref,offset:[\"start start\",\"end start\"]});const y=useTransform(scrollYProgress,[0,1],[0,220]);const opacity=useTransform(scrollYProgress,[0,.8],[1,0]);const scale=useTransform(scrollYProgress,[0,1],[1,.94]);if(still)return /*#__PURE__*/_jsx(Component,{...props});return /*#__PURE__*/_jsx(Component,{...props,ref:ref,style:{...props.style,y,opacity,scale}});};}// Hero background slowly zooms out as you scroll\nexport function withHeroImage(Component){return props=>{const ref=useRef(null);const still=useStill();const{scrollYProgress}=useScroll({target:ref,offset:[\"start start\",\"end start\"]});const scale=useTransform(scrollYProgress,[0,1],[1.08,1.22]);const y=useTransform(scrollYProgress,[0,1],[\"0%\",\"18%\"]);if(still)return /*#__PURE__*/_jsx(Component,{...props});return /*#__PURE__*/_jsx(Component,{...props,ref:ref,style:{...props.style,scale,y}});};}// Wide text slides sideways with scroll (marquee feel)\nexport function withSlideLeft(Component){return props=>{const ref=useRef(null);const still=useStill();const{scrollYProgress}=useScroll({target:ref,offset:[\"start end\",\"end start\"]});const x=useTransform(scrollYProgress,[0,1],[\"8%\",\"-18%\"]);if(still)return /*#__PURE__*/_jsx(Component,{...props});return /*#__PURE__*/_jsx(Component,{...props,ref:ref,style:{...props.style,x}});};}// Element follows the cursor slightly (magnetic buttons)\nexport function withMagnetic(Component){return props=>{const still=useStill();const mx=useMotionValue(0);const my=useMotionValue(0);const x=useSpring(mx,{stiffness:220,damping:18});const y=useSpring(my,{stiffness:220,damping:18});if(still)return /*#__PURE__*/_jsx(Component,{...props});return /*#__PURE__*/_jsx(Component,{...props,style:{...props.style,x,y},onMouseMove:e=>{const r=e.currentTarget.getBoundingClientRect();mx.set((e.clientX-r.left-r.width/2)*.22);my.set((e.clientY-r.top-r.height/2)*.3);},onMouseLeave:()=>{mx.set(0);my.set(0);}});};}// Wide text slides the other way with scroll\nexport function withSlideRight(Component){return props=>{const ref=useRef(null);const still=useStill();const{scrollYProgress}=useScroll({target:ref,offset:[\"start end\",\"end start\"]});const x=useTransform(scrollYProgress,[0,1],[\"-18%\",\"8%\"]);if(still)return /*#__PURE__*/_jsx(Component,{...props});return /*#__PURE__*/_jsx(Component,{...props,ref:ref,style:{...props.style,x}});};}// Card tilts in 3D toward the cursor\nexport function withTilt(Component){return props=>{const still=useStill();const rx=useMotionValue(0);const ry=useMotionValue(0);const rotateX=useSpring(rx,{stiffness:180,damping:18});const rotateY=useSpring(ry,{stiffness:180,damping:18});if(still)return /*#__PURE__*/_jsx(Component,{...props});return /*#__PURE__*/_jsx(Component,{...props,style:{...props.style,rotateX,rotateY,transformPerspective:900},onMouseMove:e=>{const r=e.currentTarget.getBoundingClientRect();const px=(e.clientX-r.left)/r.width-.5;const py=(e.clientY-r.top)/r.height-.5;ry.set(px*10);rx.set(-py*10);},onMouseLeave:()=>{rx.set(0);ry.set(0);}});};}// Card swings up from a tilted angle as it scrolls in (like cards dealt onto the road)\nexport function withDeal(Component){return props=>{const ref=useRef(null);const still=useStill();const{scrollYProgress}=useScroll({target:ref,offset:[\"start end\",\"start 0.55\"]});const p=useSpring(scrollYProgress,{stiffness:120,damping:24,mass:.5});const y=useTransform(p,[0,1],[140,0]);const rotate=useTransform(p,[0,1],[-7,0]);const opacity=useTransform(p,[0,.5,1],[0,.9,1]);if(still)return /*#__PURE__*/_jsx(Component,{...props});return /*#__PURE__*/_jsx(Component,{...props,ref:ref,style:{...props.style,y,rotate,opacity,transformOrigin:\"0% 100%\"}});};}// Rotates with page scroll like a turning wheel\nexport function withWheelSpin(Component){return props=>{const ref=useRef(null);const still=useStill();const{scrollYProgress}=useScroll({target:ref,offset:[\"start end\",\"end start\"]});const rotate=useTransform(scrollYProgress,[0,1],[-140,220]);if(still)return /*#__PURE__*/_jsx(Component,{...props});return /*#__PURE__*/_jsx(Component,{...props,ref:ref,style:{...props.style,rotate}});};}// Section scales up from a smaller rounded panel as it enters\nexport function withPanelGrow(Component){return props=>{const ref=useRef(null);const still=useStill();const{scrollYProgress}=useScroll({target:ref,offset:[\"start end\",\"start 0.2\"]});const p=useSpring(scrollYProgress,{stiffness:130,damping:28,mass:.4});const scale=useTransform(p,[0,1],[.9,1]);const borderRadius=useTransform(p,[0,1],[56,28]);if(still)return /*#__PURE__*/_jsx(Component,{...props});return /*#__PURE__*/_jsx(Component,{...props,ref:ref,style:{...props.style,scale,borderRadius}});};}\nexport const __FramerMetadata__ = {\"exports\":{\"withMagnetic\":{\"type\":\"reactHoc\",\"name\":\"withMagnetic\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withTilt\":{\"type\":\"reactHoc\",\"name\":\"withTilt\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withHeroImage\":{\"type\":\"reactHoc\",\"name\":\"withHeroImage\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withSlideRight\":{\"type\":\"reactHoc\",\"name\":\"withSlideRight\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withWheelSpin\":{\"type\":\"reactHoc\",\"name\":\"withWheelSpin\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withZoomIn\":{\"type\":\"reactHoc\",\"name\":\"withZoomIn\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withParallax\":{\"type\":\"reactHoc\",\"name\":\"withParallax\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withSlideLeft\":{\"type\":\"reactHoc\",\"name\":\"withSlideLeft\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withSectionReveal\":{\"type\":\"reactHoc\",\"name\":\"withSectionReveal\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withPanelGrow\":{\"type\":\"reactHoc\",\"name\":\"withPanelGrow\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withDeal\":{\"type\":\"reactHoc\",\"name\":\"withDeal\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withRise\":{\"type\":\"reactHoc\",\"name\":\"withRise\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withHeroExit\":{\"type\":\"reactHoc\",\"name\":\"withHeroExit\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Motion.map","// Generated by Framer (b9489e0)\nimport{fontStore}from\"framer\";fontStore.loadFonts([]);export const fonts=[{explicitInter:true,fonts:[]}];export const css=[\".framer-QmIez .framer-styles-preset-wr58vx:not(.rich-text-wrapper), .framer-QmIez .framer-styles-preset-wr58vx.rich-text-wrapper a { --framer-link-current-text-decoration: none; --framer-link-hover-text-color: #ffffff; --framer-link-hover-text-decoration: underline; --framer-link-text-color: #ffffff; --framer-link-text-decoration: none; }\"];export const className=\"framer-QmIez\";\nexport const __FramerMetadata__ = {\"exports\":{\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"A,6PAAqM,SAASe,GAAU,CAAC,IAAMC,EAASL,EAAoB,EAAQ,EAAEE,EAAa,QAAQ,EAAE,OAAOG,GAAU,IAAIH,EAAa,QAAQ,IAAIA,EAAa,WAAW,IAAIA,EAAa,MAAO,CAI3X,SAAgBI,EAAW,EAAU,CAAC,MAAO,IAAO,CAAC,IAAMC,EAAIlB,EAAO,IAAI,EAAQmB,EAAMJ,EAAS,EAAO,CAAC,mBAAiBP,EAAU,CAAC,OAAOU,EAAI,OAAO,CAAC,YAAY,eAAe,CAAC,CAAC,EAAQE,EAAMX,EAAaY,EAAgB,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAA0D,OAArDF,EAA0B,gBAAKG,EAAU,CAAC,GAAGC,CAAK,CAAC,EAAsB,gBAAKD,EAAU,CAAC,GAAGC,EAAU,MAAI,MAAM,CAAC,GAAGA,EAAM,MAAM,OAAK,CAAC,CAAC,CAAE,CAAE,CAM9X,SAAgBC,EAAS,EAAU,CAAC,MAAO,IAAO,CAAC,IAAML,EAAMJ,EAAS,EAAQU,EAAGnB,EAAe,CAAC,EAAQoB,EAAGpB,EAAe,CAAC,EAAQqB,EAAQpB,EAAUkB,EAAG,CAAC,UAAU,IAAI,QAAQ,EAAE,CAAC,EAAQG,EAAQrB,EAAUmB,EAAG,CAAC,UAAU,IAAI,QAAQ,EAAE,CAAC,EAA0D,OAArDP,EAA0B,gBAAKG,EAAU,CAAC,GAAGC,CAAK,CAAC,EAAsB,gBAAKD,EAAU,CAAC,GAAGC,EAAM,MAAM,CAAC,GAAGA,EAAM,MAAM,UAAQ,UAAQ,qBAAqB,GAAG,EAAE,YAAY,GAAG,CAAC,IAAMM,EAAE,EAAE,cAAc,sBAAsB,EAAQC,GAAI,EAAE,QAAQD,EAAE,MAAMA,EAAE,MAAM,GAASE,GAAI,EAAE,QAAQF,EAAE,KAAKA,EAAE,OAAO,GAAGH,EAAG,IAAII,EAAG,EAAE,EAAEL,EAAG,IAAI,CAACM,EAAG,EAAE,CAAE,EAAE,iBAAiB,CAACN,EAAG,IAAI,CAAC,EAAEC,EAAG,IAAI,CAAC,CAAE,CAAC,CAAC,CAAE,CAAE,C,gGCT9kBd,EAAU,UAAU,CAAC,CAAC,EAAe,EAAM,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,CAAC,EAAe,EAAI,CAAC,sVAAsV,EAAe,EAAU,c"}