{"version":3,"file":"shared-lib.DChjIfLU.mjs","names":["useIsomorphicLayoutEffect","useLayoutEffect","useEffect","React.useState","e","fonts","css","className","fonts","css","className","fonts","css","className","fonts","css","className","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","Variants","React.Fragment","getProps","createLayoutDependency","useRef","React.useId","sharedStyle.className","sharedStyle1.className","sharedStyle2.className","sharedStyle3.className","sharedStyle4.className","className","SVG","RichText","sharedStyle.css","sharedStyle1.css","sharedStyle2.css","sharedStyle3.css","sharedStyle4.css","sharedStyle.fonts","sharedStyle1.fonts","sharedStyle2.fonts","sharedStyle3.fonts","sharedStyle4.fonts","ComponentPlaceholder","useRef","_Fragment","Children","containerStyle","clamp","n","t","e","e","i","o","t","n","addPropertyOverrides","NoiseFonts","cycleOrder","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","Variants","React.Fragment","humanReadableVariantMap","getProps","createLayoutDependency","useRef","React.useId","className","t","x","y","n","d","debounce","to","lerp","i","e","containerStyle","className","align","a","b","index","e","useRef","_Fragment","Children","useMemo","useMemo","useMemo","getProps","useRef","useCallback","useState","useMemo","e","addPropertyOverrides","cycleOrder","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","humanReadableVariantMap","Variants","React.Fragment","getProps","createLayoutDependency","useRef","React.useId","className","Image1","addPropertyOverrides","cycleOrder","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","humanReadableVariantMap","Variants","React.Fragment","getProps","createLayoutDependency","useRef","React.useId","className","RichText","useRef","useState","useCallback","addPropertyOverrides","ScrollLineFonts","enabledGestures","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","Variants","React.Fragment","getProps","createLayoutDependency","useRef","React.useId","className","RichText","addPropertyOverrides","NavigationLink","cycleOrder","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","humanReadableVariantMap","Variants","React.Fragment","getProps","createLayoutDependency","useRef","React.useId","className","Image1","RichText","SVG","__FramerMetadata__","addPropertyOverrides","RichText","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","Variants","React.Fragment","getProps","createLayoutDependency","useRef","React.useId","className","SVG","__FramerMetadata__","addPropertyOverrides","enabledGestures","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","Variants","React.Fragment","getProps","createLayoutDependency","useRef","React.useId","className","RichText","SVG","addPropertyOverrides","enabledGestures","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","Variants","React.Fragment","getProps","createLayoutDependency","useRef","React.useId","className","RichText","Image1","React.useContext","React.useMemo","React.Fragment","useRef","React.useId","className","RichText","Image1","useRef","useId","p","i","useId","useState","useRef","e","x","d","i","useRef","i","_Fragment","Component","useState","useId","Component","css","p","useRef","DESIGN_REFERENCE_WIDTH","p","W","H","s","aRange","aP","useIsomorphicLayoutEffect","useLayoutEffect","useEffect","p","r","useId","useMemo","useState","t","s","containerStyle","i","v","w","h","InnerSvgContent","useState","useRef","e","_Fragment","s","i","p","useRef","useId","i","useMemo","p","React.Fragment","compileShader","createProgram","v","f","p","parseColor","s","d","useRef","useState","w","h","i","cx","r","VERT","FRAG","t","c","e","containerStyle","_Fragment","compileShader","createProgram","v","f","p","s","d","useRef","w","h","i","cx","r","VERT","t","c","e","containerStyle","_Fragment","DESIGN_REFERENCE_WIDTH","H","p","useLayoutEffect","useEffect","renderItalicized","w","escapeRegex","i","React","x","useRef","e","DESIGN_REFERENCE_WIDTH","s","w","i","React","y","t","ti","useRef","e","DESIGN_REFERENCE_WIDTH","s","s","w","p","i","j","y","React","useRef","t","e","DESIGN_REFERENCE_WIDTH","w","y","_Fragment","index","useRef","p","useState","i","t","a","b","e","m","n","useState","r","useMemo","useRef","useId","p","w","h","useRef","f","x","e","y","t","r","s","metadata","siteMetadata","metadataVersion","__FramerMetadata__","t","I","e","n","r","x","N","R","P","i","s","a","o","J","u","l","h","c","d","g","p","S","L","B","F","y","c","e","u","m","t","a","f","l","d","p","n","o","r","i","t","g","e","i","l","a","r","__FramerMetadata__","metadata","siteMetadata","InvitationNYC"],"sources":["https:/framerusercontent.com/modules/5sD1L34Nn4AzaFRyCPrW/BT9HMtTDsUFnXFBXXei7/useIsomorphicLayoutEffect.js","https:/framer.com/m/framer/useIsomorphicLayoutEffect.js@^0.2.0","https:/framerusercontent.com/modules/GBoYA6hnuFwSZZCbht26/cguAGhuQfx1BXbfShe7V/useMeasuredSize.js","https:/framer.com/m/framer/useMeasuredSize.js","https:/framerusercontent.com/modules/fLsxMVehajacX2NnYhg6/DBAKYiaFHR1Lrfa26GHP/HgKWRU5cM.js","https:/framerusercontent.com/modules/NxBvJg9dELQmgobeARUJ/FhJz0Dq3WNwfrzz33ydA/laeURpNqM.js","https:/framerusercontent.com/modules/DazcnPu5l99bapb78TKY/mP2UeBQ6yOikRbv9sA9f/TEPWpgm45.js","https:/framerusercontent.com/modules/pm2nmuyjRMnoSelhauIP/B7UFYG5nnHeHpB0fIjPD/WP6eAjcnm.js","https:/framerusercontent.com/modules/jiTrIOhDA5Engiy9lZJQ/iisbdesZYQ60l1uJL6Ht/Xq1Mz620n.js","https:/framerusercontent.com/modules/W9Z90ayW9AIZ7O543Rzm/fQktaaP60XRg5tmBrZf3/Qw3An61k_.js","https:/framer.com/m/Placeholder-R90b.js","https:/framerusercontent.com/modules/8OGeHARPZoZUqP5j1buZ/tabkCrxRhWJtZNFnGpcD/LenisHorizontalSection.js","https:/framerusercontent.com/modules/bamMgJhjMszHbcnxCtZj/20nHFbpxFqdlchR1dDZF/Noise.js","https:/ga.jspm.io/npm:@motionone/utils@10.14.0/dist/index.es.js","https:/ga.jspm.io/npm:@motionone/easing@10.18.0/dist/index.es.js","https:/framerusercontent.com/modules/cKGD16u2MGB7MfqfVXFp/wiztTCbXokZrMicHAmZc/Grain.js","https:/framerusercontent.com/modules/9hWHhL0l4nZtSh9WynzD/aouzH1Qr4HgNWpoJC3p8/f4olsKSbH.js","https:/unpkg.com/lenis@1.3.23/dist/lenis.mjs","https:/unpkg.com/lenis@1.3.23/dist/lenis-snap.mjs","https:/framerusercontent.com/modules/bSeEZJm22jsjERCOGQvq/YmzNUbQh4V7UMGbeal0O/Lenis.js","https:/framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js","https:/framerusercontent.com/modules/D4TWeLfcxT6Tysr2BlYg/iZjmqdxVx1EOiM3k1FaW/useOnNavigationTargetChange.js","https:/framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js","https:/framerusercontent.com/modules/D2Lz5CmnNVPZFFiZXalt/QaCzPbriZBfXWZIIycFI/colorFromToken.js","https:/framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js","https:/framerusercontent.com/modules/xDiQsqBGXzmMsv7AlEVy/uhunpMiNsbXxzjlXsg1y/useUniqueClassName.js","https:/framerusercontent.com/modules/ETACN5BJyFTSo0VVDJfu/NHRqowOiXkF9UwOzczF7/variantUtils.js","https:/framerusercontent.com/modules/eMBrwoqQK7h6mEeGQUH8/GuplvPJVjmxpk9zqOTcb/isBrowser.js","https:/framerusercontent.com/modules/v9AWX2URmiYsHf7GbctE/XxKAZ9KlhWqf5x1JMyyF/useOnChange.js","https:/framerusercontent.com/modules/kNDwabfjDEb3vUxkQlZS/fSIr3AOAYbGlfSPgXpYu/useAutoMotionValue.js","https:/framerusercontent.com/modules/cuQH4dmpDnV8YK1mSgQX/KqRXqunFjE6ufhpc7ZRu/useFontControls.js","https:/framerusercontent.com/modules/afBE9Yx1W6bY5q32qPxe/m3q7puE2tbo1S2C0s0CT/useRenderTarget.js","https:/framerusercontent.com/modules/zGkoP8tPDCkoBzMdt5uq/0zFSjxIYliHxrQQnryFX/useControlledState.js","https:/framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/WXz9i6mVki0bBCrKdqB3/propUtils.js","https:/framerusercontent.com/modules/G4IfyjvwmaeSBpdb4TWu/OIjZRBmWDcIE2B6qgG1j/index.js","https:/framerusercontent.com/modules/lRDHiNWNVWmE0lqtoVHP/Sn64gjTwaJh0TFAuaV07/Video.js","https:/framer.com/m/framer/default-utils.js@^0.45.0","https:/framerusercontent.com/modules/Hbc0lxqGSRzFG6uMT9yO/jZfB18ggDrqER5ihmIsa/GoogleMaps.js","https:/framerusercontent.com/modules/XQzAGqsCxCRJT6Z2WRyy/SQEOiF3OUufNK0XxlXcj/c7uIcEk_z.js","https:/framerusercontent.com/modules/j5aDuD0rS54IeW5FaHcX/pShXcBLY5fIJsSehfjKz/dXl5uh1o6.js","https:/framerusercontent.com/modules/VRcRSexoiT7wIay5OXfB/7lZhSDr7HSVnknZsafO3/Scrollline.js","https:/framerusercontent.com/modules/dpn5ot9R0gi0mqufw5hj/cneyT2Lg3hABWzUEcNd6/C6ZkOh_DV.js","https:/framerusercontent.com/modules/hYZgqpDQ76VQq8M7Vhip/KF8EPJmCZV61jzbqcF1X/fl2EfC25L.js","https:/framerusercontent.com/modules/VRU8PNACA2cQzA1gWKaf/090USVSfi2edp3T6vMpd/IvsoqUUjD.js","https:/framerusercontent.com/modules/AG3cEhOhpJmofhVm7Am0/35i5787ucYKl0EKa2rBj/TkBQac3dk.js","https:/framerusercontent.com/modules/IagMZyWD7dX6wstDQpeW/qLUh8LWwbrJp4Ox2yrIt/xh_s0TAJI.js","https:/framerusercontent.com/modules/RiKhUUM8XhZKxg6tOoU7/POkp2HEcUPwBSjzJ3Bxx/zZhxEroJw.js","https:/framerusercontent.com/modules/NSThlNKrho9BHUa3a2ol/oYBHcxBltqRcHJFCvNZ9/Dateeventtimeline.js","https:/framerusercontent.com/modules/pLHWvJ7vBSLwZqNrVaTU/sBGXRXYltvDmr4uVrI00/Daytitle.js","https:/framerusercontent.com/modules/4HVXf7XGq8rkV8Rdb8vE/sfHHTNQgf7rGxRxFRp8q/Differenceonvariant.js","https:/framerusercontent.com/modules/vj7bFUjvEQFgEzNBkdoG/vf3CKm378wlVcBk7IhSU/createStore.js","https:/framer.com/m/framer/store.js@^1.0.0","https:/framerusercontent.com/modules/Xsf7HVXmzJVKan8F21PG/txC1So113k1fnH2tNGjz/Faqoverride.js","https:/framerusercontent.com/modules/ag9geBU3aaNvOyLJhScH/alk64S9qVLwTBADYIpI4/Globalselectionstyle.js","https:/framerusercontent.com/modules/xYJBrzJ4BHMRL7k0yzjt/jSuc2g3yqoC5GcT144CN/Imagetooval.js","https:/framerusercontent.com/modules/JpxmJ7N1xjpeoOTgNKSd/ifusCz1xNOHEwX5exFar/Innershadowsvg.js","https:/framerusercontent.com/modules/cJ4LlGBnuV4dAQeab52O/8ECOzMZZnzsTx6LzKMeM/Legaldisclosure_button.js","https:/framerusercontent.com/modules/8ca6tCwC0NooPPjW3iNx/C99g3OzvRJ7gbI5C8fSd/Mobiletimeline.js","https:/framerusercontent.com/modules/9cVSpB9A7nXkjT2Gtr5N/bwMb1LTFgbFr7as2NC0m/Particlehoverbutton.js","https:/framerusercontent.com/modules/Cw2g5ujsgkGZJmIsMPoq/HfIsayCuiyJo2Q1pSOXr/Particlehoverbuttonblack.js","https:/framerusercontent.com/modules/wq30FOCmFtB9psaqK4R8/WolNGs0EuOmKBAvjollL/Personname.js","https:/framerusercontent.com/modules/ifPnfZsXfaRGlipxhfGw/oxogdyu6OB1zFGkII3XJ/Sectionfixedtitle.js","https:/framerusercontent.com/modules/MUg48xEYRlfQfCkIDKnu/OsIvMsmm6M6nwWOEVviU/Textblurexit.js","https:/framerusercontent.com/modules/t8Z65Moz137f4QO8qlsT/xzypaozbWNSW361jiR1Q/Textblurreveal.js","https:/framerusercontent.com/modules/XiyZPfHXkxgzyxiYy1Pc/czIyiHKESQRXS02WZEqV/Textblurrevealcolumn.js","https:/framerusercontent.com/modules/eiO4UfdQq1cdmNfMqI5m/mX5Od1UpfbpkvN670uHt/Textblurreveallines.js","https:/framerusercontent.com/modules/qPGJU0JsrJQZTfvOmh9P/57jSETQkSlABuzuPdhts/Timelinescrollline.js","https:/framerusercontent.com/modules/1Vq8ypQ3KrOoaV8YmxWa/OW3H2AVYHPuEkfs1ROfm/Webglrelief.js","https:/framerusercontent.com/modules/so2GlKyFqCbEgtXWCAAk/U4KmqfnlSwxywnSDRpG6/siteMetadata.js","https:/framerusercontent.com/modules/dOQNjoU2nB6GwMIDLAwG/OwMmGxWEpcyPbfDuVbfc/augiA20Il.js","https:/framerusercontent.com/modules/Qm79rmqRbd78raJeb2O2/3I60CG340BD13W2kbBls/NhZupx9Hu-0.js","https:/framerusercontent.com/modules/Qm79rmqRbd78raJeb2O2/3I60CG340BD13W2kbBls/NhZupx9Hu-1.js","https:/framerusercontent.com/modules/Qm79rmqRbd78raJeb2O2/3I60CG340BD13W2kbBls/NhZupx9Hu.js","https:/framerusercontent.com/modules/bQ8cV2tfkMcCiovkE3BF/E7itoouVBKvsbTJcC6WB/cgGqA9yCc.js"],"sourcesContent":["import{useLayoutEffect,useEffect}from\"react\";/**\n * Swaps `useLayoutEffect` for `useEffect` on the server to avoid React warnings.\n * NOTE! The effect won't run on the server.\n */ export const useIsomorphicLayoutEffect=typeof document!==\"undefined\"?useLayoutEffect:useEffect;\nexport const __FramerMetadata__ = {\"exports\":{\"useIsomorphicLayoutEffect\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useIsomorphicLayoutEffect.map","/*\n * useIsomorphicLayoutEffect (framer/useIsomorphicLayoutEffect@0.2.0)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/5sD1L34Nn4AzaFRyCPrW/BT9HMtTDsUFnXFBXXei7/useIsomorphicLayoutEffect.js\"\n","import*as React from\"react\";import{useIsomorphicLayoutEffect}from\"https://framer.com/m/framer/useIsomorphicLayoutEffect.js@^0.2.0\";let safeResizeObserver=undefined;try{if(typeof window!==undefined){safeResizeObserver=window.ResizeObserver;}}catch(e){// happy linting!\n}class SharedObserver{//@ts-ignore\nupdateResizedElements(entries){for(const entry of entries){const callbackForElement=this.callbacks.get(entry.target);if(callbackForElement)callbackForElement(entry.contentRect);}}observeElementWithCallback(element,callback){if(!this.sharedResizeObserver)return;this.sharedResizeObserver.observe(element);this.callbacks.set(element,callback);}unobserve(element){if(!this.sharedResizeObserver)return;this.sharedResizeObserver.unobserve(element);this.callbacks.delete(element);}constructor(){this.callbacks=new WeakMap();const ResizeObserver1=safeResizeObserver;if(!ResizeObserver1)return;this.sharedResizeObserver=new ResizeObserver1(this.updateResizedElements.bind(this));}}const sharedResizeObserver=new SharedObserver();/**\n * Uses a globally shared resize observer, and returns an updated\n * size object when the element's size changes. This is the recommended way to\n * use a Resize Observer: https://github.com/WICG/resize-observer/issues/59.\n */ export function useMeasuredSize(ref,callback){const[size,setSize]=React.useState(null);function updateSize(newSize){if(!size||newSize.height!==size.height||newSize.width!==size.width){if(callback)callback(newSize);setSize({width:newSize.width,height:newSize.height});}}// On mount, immediately measure and set a size. This will defer paint until\n// no more updates are scheduled. Additionally add our element to the shared\n// ResizeObserver with a callback to perform when the element resizes.\n// Finally, remove the element from the observer when the component is unmounted.\nuseIsomorphicLayoutEffect(()=>{if(!ref.current)return;const{offsetWidth,offsetHeight}=ref.current;// Defer paint until initial size is added.\nupdateSize({width:offsetWidth,height:offsetHeight});// Resize observer will race to add the initial size, but since the size\n// is set above, it won't trigger a render on mount since it should\n// match the measured size. Future executions of the callback will\n// trigger renders if the size changes.\nsharedResizeObserver.observeElementWithCallback(ref.current,updateSize);return()=>{if(!ref.current)return;sharedResizeObserver.unobserve(ref.current);};},[]);return size;}export function useSizeChange(ref,callback){const size=React.useRef(null);const updateSize=React.useCallback(newSize=>{if(!size.current||newSize.height!==size.current.height||newSize.width!==size.current.width){size.current={width:newSize.width,height:newSize.height};if(callback)callback(size.current);}},[callback]);// On mount, immediately measure and set a size. This will defer paint until\n// no more updates are scheduled. Additionally add our element to the shared\n// ResizeObserver with a callback to perform when the element resizes.\n// Finally, remove the element from the observer when the component is unmounted.\nuseIsomorphicLayoutEffect(()=>{if(!ref.current)return;const{offsetWidth,offsetHeight}=ref.current;// Defer paint until initial size is added.\nupdateSize({width:offsetWidth,height:offsetHeight});// Resize observer will race to add the initial size, but since the size\n// is set above, it won't trigger a render on mount since it should\n// match the measured size. Future executions of the callback will\n// trigger renders if the size changes.\nsharedResizeObserver.observeElementWithCallback(ref.current,updateSize);return()=>{if(!ref.current)return;sharedResizeObserver.unobserve(ref.current);};},[callback]);return null;}\nexport const __FramerMetadata__ = {\"exports\":{\"useSizeChange\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useMeasuredSize\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useMeasuredSize.map","/*\n * useMeasuredSize (framer/useMeasuredSize@0.13.0)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/GBoYA6hnuFwSZZCbht26/cguAGhuQfx1BXbfShe7V/useMeasuredSize.js\"\n","// Generated by Framer (8ebf084)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"Inter-Medium\",\"Inter-Bold\",\"Inter-BoldItalic\",\"Inter-MediumItalic\"]);export const fonts=[{explicitInter:true,fonts:[{family:\"Inter\",source:\"framer\",style:\"normal\",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\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/Qx95Xyt0Ka3SGhinnbXIGpEIyP4.woff2\",weight:\"500\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/6mJuEAguuIuMog10gGvH5d3cl8.woff2\",weight:\"500\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/xYYWaj7wCU5zSQH0eXvSaS19wo.woff2\",weight:\"500\"},{family:\"Inter\",source:\"framer\",style:\"normal\",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\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/d3tHnaQIAeqiE5hGcRw4mmgWYU.woff2\",weight:\"500\"},{family:\"Inter\",source:\"framer\",style:\"normal\",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\"},{family:\"Inter\",source:\"framer\",style:\"normal\",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\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/4RAEQdEOrcnDkhHiiCbJOw92Lk.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/1K3W8DizY3v4emK8Mb08YHxTbs.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/tUSCtfYVM1I1IchuyCwz9gDdQ.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",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\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/DXD0Q7LSl7HEvDzucnyLnGBHM.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",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\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/H89BbHkbHDzlxZzxi8uPzTsp90.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/u6gJwDuwB143kpNK1T1MDKDWkMc.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/43sJ6MfOPh1LCJt46OvyDuSbA6o.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/wccHG0r4gBDAIRhfHiOlq6oEkqw.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",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/WZ367JPwf9bRW6LdTHN8rXgSjw.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/QxmhnWTzLtyjIiZcfaLIJ8EFBXU.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",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/2A4Xx7CngadFGlVV4xrO06OBHY.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/khkJkwSL66WFg8SX6Wa726c.woff2\",weight:\"500\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/0E7IMbDzcGABpBwwqNEt60wU0w.woff2\",weight:\"500\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/NTJ0nQgIF0gcDelS14zQ9NR9Q.woff2\",weight:\"500\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/QrcNhgEPfRl0LS8qz5Ln8olanl8.woff2\",weight:\"500\"},{family:\"Inter\",source:\"framer\",style:\"italic\",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/JEXmejW8mXOYMtt0hyRg811kHac.woff2\",weight:\"500\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/ksvR4VsLksjpSwnC2fPgHRNMw.woff2\",weight:\"500\"},{family:\"Inter\",source:\"framer\",style:\"italic\",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/uy9s0iWuxiNnVt8EpTI3gzohpwo.woff2\",weight:\"500\"}]}];export const css=['.framer-brOqH .framer-styles-preset-1wjjzog:not(.rich-text-wrapper), .framer-brOqH .framer-styles-preset-1wjjzog.rich-text-wrapper p { --framer-font-family: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 16px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 500; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 500; --framer-letter-spacing: 0px; --framer-line-height: 1.6em; --framer-paragraph-spacing: 16px; --framer-text-alignment: center; --framer-text-color: #b38fff; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }'];export const className=\"framer-brOqH\";\nexport const __FramerMetadata__ = {\"exports\":{\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (3d4fa65)\nimport{fontStore}from\"framer\";fontStore.loadFonts([]);export const fonts=[{explicitInter:true,fonts:[]}];export const css=[\".framer-26Ad2 .framer-styles-preset-irw9xh:not(.rich-text-wrapper), .framer-26Ad2 .framer-styles-preset-irw9xh.rich-text-wrapper a { --framer-link-current-text-color: #111111; --framer-link-current-text-decoration: underline; --framer-link-hover-text-decoration: underline; --framer-link-text-decoration: underline; }\"];export const className=\"framer-26Ad2\";\nexport const __FramerMetadata__ = {\"exports\":{\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (6aa4fc0)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"GF;Inter-500\"]);export const fonts=[{explicitInter:true,fonts:[{family:\"Inter\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/inter/v18/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuI6fMZ1rib2Bg-4.woff2\",weight:\"500\"}]}];export const css=['.framer-hgNzk .framer-styles-preset-1phvih:not(.rich-text-wrapper), .framer-hgNzk .framer-styles-preset-1phvih.rich-text-wrapper h2 { --framer-font-family: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 24px; --framer-font-style: normal; --framer-font-variation-axes: normal; --framer-font-weight: 500; --framer-letter-spacing: -0.7px; --framer-line-height: 1.5em; --framer-paragraph-spacing: 30px; --framer-text-alignment: left; --framer-text-color: var(--token-1021654d-251a-4750-952b-de3f7005260e, #888888); --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-hgNzk .framer-styles-preset-1phvih:not(.rich-text-wrapper), .framer-hgNzk .framer-styles-preset-1phvih.rich-text-wrapper h2 { --framer-font-family: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 20px; --framer-font-style: normal; --framer-font-variation-axes: normal; --framer-font-weight: 500; --framer-letter-spacing: -0.7px; --framer-line-height: 1.5em; --framer-paragraph-spacing: 30px; --framer-text-alignment: left; --framer-text-color: var(--token-1021654d-251a-4750-952b-de3f7005260e, #888888); --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-hgNzk .framer-styles-preset-1phvih:not(.rich-text-wrapper), .framer-hgNzk .framer-styles-preset-1phvih.rich-text-wrapper h2 { --framer-font-family: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 18px; --framer-font-style: normal; --framer-font-variation-axes: normal; --framer-font-weight: 500; --framer-letter-spacing: -0.7px; --framer-line-height: 1.5em; --framer-paragraph-spacing: 30px; --framer-text-alignment: left; --framer-text-color: var(--token-1021654d-251a-4750-952b-de3f7005260e, #888888); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }'];export const className=\"framer-hgNzk\";\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\"}}}","// Generated by Framer (f4ba5e0)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"GF;Inter-700\"]);export const fonts=[{explicitInter:true,fonts:[{family:\"Inter\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/inter/v18/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuFuYMZ1rib2Bg-4.woff2\",weight:\"700\"}]}];export const css=['.framer-7E9jq .framer-styles-preset-3z8xb3:not(.rich-text-wrapper), .framer-7E9jq .framer-styles-preset-3z8xb3.rich-text-wrapper h1 { --framer-font-family: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 50px; --framer-font-style: normal; --framer-font-variation-axes: normal; --framer-font-weight: 700; --framer-letter-spacing: -2.1px; --framer-line-height: 1.2em; --framer-paragraph-spacing: 0px; --framer-text-alignment: left; --framer-text-color: var(--token-b9c3c957-2c66-49c4-9732-fa196fddac20, #111111); --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-7E9jq .framer-styles-preset-3z8xb3:not(.rich-text-wrapper), .framer-7E9jq .framer-styles-preset-3z8xb3.rich-text-wrapper h1 { --framer-font-family: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 40px; --framer-font-style: normal; --framer-font-variation-axes: normal; --framer-font-weight: 700; --framer-letter-spacing: -2.1px; --framer-line-height: 1.2em; --framer-paragraph-spacing: 0px; --framer-text-alignment: left; --framer-text-color: var(--token-b9c3c957-2c66-49c4-9732-fa196fddac20, #111111); --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-7E9jq .framer-styles-preset-3z8xb3:not(.rich-text-wrapper), .framer-7E9jq .framer-styles-preset-3z8xb3.rich-text-wrapper h1 { --framer-font-family: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 32px; --framer-font-style: normal; --framer-font-variation-axes: normal; --framer-font-weight: 700; --framer-letter-spacing: -2.1px; --framer-line-height: 1.2em; --framer-paragraph-spacing: 0px; --framer-text-alignment: left; --framer-text-color: var(--token-b9c3c957-2c66-49c4-9732-fa196fddac20, #111111); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }'];export const className=\"framer-7E9jq\";\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\"}}}","// Generated by Framer (8ebf084)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"GF;Fragment Mono-regular\"]);export const fonts=[{explicitInter:true,fonts:[{family:\"Fragment Mono\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/fragmentmono/v5/4iCr6K5wfMRRjxp0DA6-2CLnN4FNh4UI_1U.woff2\",weight:\"400\"}]}];export const css=['.framer-VBdQ6 .framer-styles-preset-evp8wc:not(.rich-text-wrapper), .framer-VBdQ6 .framer-styles-preset-evp8wc.rich-text-wrapper code { --framer-code-font-family: \"Fragment Mono\", monospace; --framer-code-font-style: normal; --framer-code-font-weight: 400; --framer-code-text-color: #333; --framer-font-size-scale: 1; background-color: rgba(0, 0, 0, 0.1); border-bottom-left-radius: 6px; border-bottom-right-radius: 6px; border-top-left-radius: 6px; border-top-right-radius: 6px; padding-bottom: 0.1em; padding-left: 0.2em; padding-right: 0.2em; padding-top: 0.1em; }'];export const className=\"framer-VBdQ6\";\nexport const __FramerMetadata__ = {\"exports\":{\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (aa3ea9d)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,getFontsFromSharedStyle,RichText,SVG,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import*as sharedStyle2 from\"https://framerusercontent.com/modules/fLsxMVehajacX2NnYhg6/DBAKYiaFHR1Lrfa26GHP/HgKWRU5cM.js\";import*as sharedStyle3 from\"https://framerusercontent.com/modules/NxBvJg9dELQmgobeARUJ/FhJz0Dq3WNwfrzz33ydA/laeURpNqM.js\";import*as sharedStyle1 from\"https://framerusercontent.com/modules/DazcnPu5l99bapb78TKY/mP2UeBQ6yOikRbv9sA9f/TEPWpgm45.js\";import*as sharedStyle from\"https://framerusercontent.com/modules/pm2nmuyjRMnoSelhauIP/B7UFYG5nnHeHpB0fIjPD/WP6eAjcnm.js\";import*as sharedStyle4 from\"https://framerusercontent.com/modules/jiTrIOhDA5Engiy9lZJQ/iisbdesZYQ60l1uJL6Ht/Xq1Mz620n.js\";const serializationHash=\"framer-KtHWv\";const variantClassNames={IgcyvmuFf:\"framer-v-dm7eeg\"};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 getProps=({height,id,text,title,width,...props})=>{return{...props,EcxlD16f9:title??props.EcxlD16f9??\"Title\",Hhq1DNpmy:text??props.Hhq1DNpmy??/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{children:\"Text\"})})};};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,EcxlD16f9,Hhq1DNpmy,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({defaultVariant:\"IgcyvmuFf\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[sharedStyle.className,sharedStyle1.className,sharedStyle2.className,sharedStyle3.className,sharedStyle4.className];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-dm7eeg\",className,classNames),\"data-framer-name\":\"Variant 1\",layoutDependency:layoutDependency,layoutId:\"IgcyvmuFf\",ref:refBinding,style:{backgroundColor:\"rgba(153, 102, 255, 0.1)\",...style},children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-kse7pm\",layoutDependency:layoutDependency,layoutId:\"Afg7ct4cI\",children:[/*#__PURE__*/_jsxs(SVG,{className:\"framer-vpnrfx\",layoutDependency:layoutDependency,layoutId:\"S2TaOnGmS\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 40 40\" overflow=\"visible\"><g><path d=\"M 4 40 C 1.791 40 0 38.209 0 36 L 0 4 C 0 1.791 1.791 0 4 0 L 36 0 C 38.209 0 40 1.791 40 4 L 40 36 C 40 38.209 38.209 40 36 40 Z\" fill=\"rgb(255,152,162)\"></path><path d=\"M 35.94 15.881 L 20.342 30.481 L 17.211 30.481 C 17.11 30.481 17.011 30.453 16.925 30.4 C 16.841 30.349 16.775 30.273 16.735 30.184 C 16.696 30.096 16.687 29.999 16.707 29.905 C 16.727 29.811 16.776 29.725 16.847 29.659 L 21.256 25.529 C 21.603 25.205 21.797 24.764 21.797 24.305 L 21.797 12.073 C 21.796 11.943 21.851 11.819 21.948 11.732 L 24.331 9.502 C 24.819 9.506 25.287 9.69 25.631 10.014 C 25.976 10.339 26.169 10.778 26.169 11.236 L 26.169 14.718 C 26.169 15.029 26.038 15.326 25.808 15.536 L 25.47 15.852 L 25.532 15.929 L 31.312 10.522 L 31.312 4.001 L 31.209 4.001 L 31.209 6.394 C 31.208 6.457 31.187 6.517 31.147 6.566 C 31.106 6.616 31.051 6.652 30.989 6.669 C 30.925 6.687 30.858 6.685 30.795 6.664 C 30.734 6.644 30.681 6.604 30.643 6.552 C 30.261 6.007 29.75 5.564 29.155 5.265 C 28.546 4.957 27.874 4.797 27.192 4.798 L 22.356 4.798 L 18.126 8.771 L 16.48 10.312 C 16.328 10.449 16.111 10.489 15.92 10.416 C 15.828 10.381 15.748 10.319 15.69 10.239 C 15.634 10.161 15.603 10.067 15.603 9.971 L 15.603 4 L 15.5 4 L 15.5 6.762 C 15.5 6.828 15.476 6.892 15.432 6.943 C 15.387 6.995 15.326 7.031 15.258 7.045 C 15.19 7.059 15.118 7.051 15.055 7.022 C 14.993 6.994 14.942 6.946 14.911 6.885 C 14.088 5.231 12.828 4.797 12.828 4.797 L 6.926 10.257 L 6.998 10.325 L 7.258 10.085 C 8.343 9.083 10.189 9.665 10.394 11.078 C 10.438 11.388 10.459 11.702 10.458 12.015 L 10.458 29.887 L 4 35.932 L 4.073 36 L 4.326 35.763 C 4.682 35.434 5.149 35.252 5.633 35.253 L 24.303 35.253 L 34.478 25.673 C 34.821 25.357 35.017 24.913 35.02 24.447 L 35.02 17.583 C 35.02 17.123 35.216 16.683 35.563 16.358 L 36 15.948 Z M 15.614 16.31 L 15.614 11.262 L 17.494 9.502 L 22.941 9.502 C 23.042 9.501 23.142 9.529 23.228 9.582 C 23.312 9.634 23.378 9.709 23.418 9.799 C 23.456 9.886 23.467 9.984 23.447 10.077 C 23.426 10.172 23.377 10.258 23.306 10.324 L 16.491 16.703 C 16.339 16.841 16.122 16.881 15.93 16.808 C 15.837 16.773 15.756 16.711 15.698 16.63 C 15.642 16.552 15.612 16.458 15.612 16.362 Z M 15.614 17.658 L 16.655 16.682 L 16.655 24.092 L 15.612 25.07 Z M 15.82 30.478 L 11.22 30.478 C 11.119 30.479 11.02 30.451 10.934 30.398 C 10.85 30.346 10.784 30.271 10.744 30.181 C 10.705 30.094 10.694 29.997 10.714 29.903 C 10.735 29.808 10.784 29.722 10.856 29.656 L 15.776 25.052 C 15.928 24.915 16.144 24.874 16.336 24.947 C 16.429 24.982 16.51 25.044 16.568 25.124 C 16.624 25.202 16.654 25.296 16.654 25.392 L 16.654 29.691 L 15.819 30.478 Z M 29.888 29.722 C 29.888 29.8 29.855 29.873 29.798 29.926 L 29.299 30.394 C 29.24 30.448 29.162 30.478 29.081 30.478 L 21.726 30.478 C 21.625 30.479 21.526 30.451 21.44 30.398 C 21.356 30.346 21.29 30.271 21.25 30.181 C 21.211 30.094 21.2 29.997 21.22 29.903 C 21.241 29.808 21.29 29.722 21.362 29.656 L 29.01 22.498 C 29.162 22.361 29.379 22.321 29.57 22.394 C 29.663 22.429 29.743 22.491 29.801 22.572 C 29.857 22.65 29.888 22.743 29.888 22.839 Z\" fill=\"rgb(0,0,0)\"></path></g></svg>',withExternalLayout:true,children:[/*#__PURE__*/_jsx(SVG,{className:\"framer-1bq0yku\",layoutDependency:layoutDependency,layoutId:\"q049nTh0T\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 40 40\" overflow=\"visible\"><path d=\"M 4 40 C 1.791 40 0 38.209 0 36 L 0 4 C 0 1.791 1.791 0 4 0 L 36 0 C 38.209 0 40 1.791 40 4 L 40 36 C 40 38.209 38.209 40 36 40 Z\" fill=\"rgb(255,152,162)\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsxs(SVG,{className:\"framer-1dxblde\",layoutDependency:layoutDependency,layoutId:\"sAkDtLpjQ\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 32 32\" overflow=\"visible\"><path d=\"M 31.94 11.881 L 16.342 26.481 L 13.211 26.481 C 13.11 26.481 13.011 26.453 12.925 26.4 C 12.841 26.349 12.775 26.273 12.735 26.184 C 12.696 26.096 12.687 25.999 12.707 25.905 C 12.727 25.811 12.776 25.725 12.847 25.659 L 17.256 21.529 C 17.603 21.205 17.797 20.764 17.797 20.305 L 17.797 8.073 C 17.796 7.943 17.851 7.819 17.948 7.732 L 20.331 5.502 C 20.819 5.506 21.287 5.69 21.631 6.014 C 21.976 6.339 22.169 6.778 22.169 7.236 L 22.169 10.718 C 22.169 11.029 22.038 11.326 21.808 11.536 L 21.47 11.852 L 21.532 11.929 L 27.312 6.522 L 27.312 0.001 L 27.209 0.001 L 27.209 2.394 C 27.208 2.457 27.187 2.517 27.147 2.566 C 27.106 2.616 27.051 2.652 26.989 2.669 C 26.925 2.687 26.858 2.685 26.795 2.664 C 26.734 2.644 26.681 2.604 26.643 2.552 C 26.261 2.007 25.75 1.564 25.155 1.265 C 24.546 0.957 23.874 0.797 23.192 0.798 L 18.356 0.798 L 14.126 4.771 L 12.48 6.312 C 12.328 6.449 12.111 6.489 11.92 6.416 C 11.828 6.381 11.748 6.319 11.69 6.239 C 11.634 6.161 11.603 6.067 11.603 5.971 L 11.603 0 L 11.5 0 L 11.5 2.762 C 11.5 2.828 11.476 2.892 11.432 2.943 C 11.387 2.995 11.326 3.031 11.258 3.045 C 11.19 3.059 11.118 3.051 11.055 3.022 C 10.993 2.994 10.942 2.946 10.911 2.885 C 10.088 1.231 8.828 0.797 8.828 0.797 L 2.926 6.257 L 2.998 6.325 L 3.258 6.085 C 4.343 5.083 6.189 5.665 6.394 7.078 C 6.438 7.388 6.459 7.702 6.458 8.015 L 6.458 25.887 L 0 31.932 L 0.073 32 L 0.326 31.763 C 0.682 31.434 1.149 31.252 1.633 31.253 L 20.303 31.253 L 30.478 21.673 C 30.821 21.357 31.017 20.913 31.02 20.447 L 31.02 13.583 C 31.02 13.123 31.216 12.683 31.563 12.358 L 32 11.948 Z M 11.614 12.31 L 11.614 7.262 L 13.494 5.502 L 18.941 5.502 C 19.042 5.501 19.142 5.529 19.228 5.582 C 19.312 5.634 19.378 5.709 19.418 5.799 C 19.456 5.886 19.467 5.984 19.447 6.077 C 19.426 6.172 19.377 6.258 19.306 6.324 L 12.491 12.703 C 12.339 12.841 12.122 12.881 11.93 12.808 C 11.837 12.773 11.756 12.711 11.698 12.63 C 11.642 12.552 11.612 12.458 11.612 12.362 Z M 11.614 13.658 L 12.655 12.682 L 12.655 20.092 L 11.612 21.07 Z M 11.82 26.478 L 7.22 26.478 C 7.119 26.479 7.02 26.451 6.934 26.398 C 6.85 26.346 6.784 26.271 6.744 26.181 C 6.705 26.094 6.694 25.997 6.714 25.903 C 6.735 25.808 6.784 25.722 6.856 25.656 L 11.776 21.052 C 11.928 20.915 12.144 20.874 12.336 20.947 C 12.429 20.982 12.51 21.044 12.568 21.124 C 12.624 21.202 12.654 21.296 12.654 21.392 L 12.654 25.691 L 11.819 26.478 Z M 25.888 25.722 C 25.888 25.8 25.855 25.873 25.798 25.926 L 25.299 26.394 C 25.24 26.448 25.162 26.478 25.081 26.478 L 17.726 26.478 C 17.625 26.479 17.526 26.451 17.44 26.398 C 17.356 26.346 17.29 26.271 17.25 26.181 C 17.211 26.094 17.2 25.997 17.22 25.903 C 17.241 25.808 17.29 25.722 17.362 25.656 L 25.01 18.498 C 25.162 18.361 25.379 18.321 25.57 18.394 C 25.663 18.429 25.743 18.491 25.801 18.572 C 25.857 18.65 25.888 18.743 25.888 18.839 Z\" fill=\"rgb(0,0,0)\"></path></svg>',withExternalLayout:true,children:[/*#__PURE__*/_jsx(SVG,{className:\"framer-12zr2th\",layoutDependency:layoutDependency,layoutId:\"MxzDUN6bG\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 32 32\" overflow=\"visible\"><path d=\"M 31.94 11.881 L 16.342 26.481 L 13.211 26.481 C 13.11 26.481 13.011 26.453 12.925 26.4 C 12.841 26.349 12.775 26.273 12.735 26.184 C 12.696 26.096 12.687 25.999 12.707 25.905 C 12.727 25.811 12.776 25.725 12.847 25.659 L 17.256 21.529 C 17.603 21.205 17.797 20.764 17.797 20.305 L 17.797 8.073 C 17.796 7.943 17.851 7.819 17.948 7.732 L 20.331 5.502 C 20.819 5.506 21.287 5.69 21.631 6.014 C 21.976 6.339 22.169 6.778 22.169 7.236 L 22.169 10.718 C 22.169 11.029 22.038 11.326 21.808 11.536 L 21.47 11.852 L 21.532 11.929 L 27.312 6.522 L 27.312 0.001 L 27.209 0.001 L 27.209 2.394 C 27.208 2.457 27.187 2.517 27.147 2.566 C 27.106 2.616 27.051 2.652 26.989 2.669 C 26.925 2.687 26.858 2.685 26.795 2.664 C 26.734 2.644 26.681 2.604 26.643 2.552 C 26.261 2.007 25.75 1.564 25.155 1.265 C 24.546 0.957 23.874 0.797 23.192 0.798 L 18.356 0.798 L 14.126 4.771 L 12.48 6.312 C 12.328 6.449 12.111 6.489 11.92 6.416 C 11.828 6.381 11.748 6.319 11.69 6.239 C 11.634 6.161 11.603 6.067 11.603 5.971 L 11.603 0 L 11.5 0 L 11.5 2.762 C 11.5 2.828 11.476 2.892 11.432 2.943 C 11.387 2.995 11.326 3.031 11.258 3.045 C 11.19 3.059 11.118 3.051 11.055 3.022 C 10.993 2.994 10.942 2.946 10.911 2.885 C 10.088 1.231 8.828 0.797 8.828 0.797 L 2.926 6.257 L 2.998 6.325 L 3.258 6.085 C 4.343 5.083 6.189 5.665 6.394 7.078 C 6.438 7.388 6.459 7.702 6.458 8.015 L 6.458 25.887 L 0 31.932 L 0.073 32 L 0.326 31.763 C 0.682 31.434 1.149 31.252 1.633 31.253 L 20.303 31.253 L 30.478 21.673 C 30.821 21.357 31.017 20.913 31.02 20.447 L 31.02 13.583 C 31.02 13.123 31.216 12.683 31.563 12.358 L 32 11.948 Z\" fill=\"transparent\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-1cgwvo2\",layoutDependency:layoutDependency,layoutId:\"g7moR3F2H\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 7.845 7.342\" overflow=\"visible\"><path d=\"M 0.002 6.808 L 0.002 1.76 L 1.882 0 L 7.329 0 C 7.43 -0.001 7.53 0.027 7.616 0.08 C 7.7 0.132 7.766 0.207 7.806 0.297 C 7.844 0.384 7.855 0.482 7.835 0.575 C 7.814 0.67 7.765 0.756 7.694 0.822 L 0.879 7.201 C 0.727 7.339 0.51 7.379 0.318 7.306 C 0.225 7.271 0.144 7.209 0.086 7.128 C 0.03 7.05 0 6.956 0 6.86 Z\" fill=\"transparent\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-tdysin\",layoutDependency:layoutDependency,layoutId:\"EVYXTflwB\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 1.043 8.388\" overflow=\"visible\"><path d=\"M 0.002 0.976 L 1.043 0 L 1.043 7.41 L 0 8.388 Z\" fill=\"transparent\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-ib43tl\",layoutDependency:layoutDependency,layoutId:\"Rnw13u6VL\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 5.95 5.567\" overflow=\"visible\"><path d=\"M 5.116 5.567 L 0.516 5.567 C 0.415 5.567 0.316 5.539 0.23 5.487 C 0.146 5.435 0.08 5.359 0.04 5.27 C 0.001 5.182 -0.01 5.085 0.01 4.992 C 0.03 4.897 0.08 4.81 0.152 4.745 L 5.072 0.141 C 5.224 0.003 5.44 -0.037 5.632 0.036 C 5.725 0.071 5.805 0.132 5.864 0.213 C 5.92 0.291 5.95 0.384 5.95 0.481 L 5.95 4.78 L 5.115 5.567 Z\" fill=\"transparent\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-qwfcg8\",layoutDependency:layoutDependency,layoutId:\"IuZ6IRq2d\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 8.678 8.12\" overflow=\"visible\"><path d=\"M 8.678 7.364 C 8.677 7.442 8.645 7.515 8.588 7.568 L 8.089 8.036 C 8.029 8.09 7.951 8.12 7.871 8.12 L 0.516 8.12 C 0.415 8.121 0.316 8.093 0.23 8.04 C 0.146 7.988 0.08 7.913 0.04 7.823 C 0.001 7.736 -0.01 7.639 0.01 7.545 C 0.03 7.45 0.08 7.364 0.152 7.298 L 7.8 0.14 C 7.952 0.003 8.168 -0.037 8.36 0.036 C 8.452 0.071 8.533 0.133 8.591 0.214 C 8.647 0.292 8.677 0.385 8.678 0.481 Z\" fill=\"transparent\"></path></svg>',withExternalLayout:true})]})]}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"SW50ZXItQm9sZA==\",\"--framer-font-family\":'\"Inter\", \"Inter Placeholder\", sans-serif',\"--framer-font-size\":\"18px\",\"--framer-font-weight\":\"700\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(153, 102, 255))\"},children:\"Lenis Horizontal Section\"})}),className:\"framer-1u89t06\",fonts:[\"Inter-Bold\"],layoutDependency:layoutDependency,layoutId:\"gC7g1TZPm\",style:{\"--extracted-r6o4lv\":\"rgb(153, 102, 255)\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:EcxlD16f9,verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:Hhq1DNpmy,className:\"framer-v82q5i\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"VuQke_N6B\",style:{\"--extracted-r6o4lv\":\"rgb(179, 143, 255)\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\",\"--framer-paragraph-spacing\":\"1px\"},stylesPresetsClassNames:{a:\"framer-styles-preset-irw9xh\",code:\"framer-styles-preset-evp8wc\",h1:\"framer-styles-preset-3z8xb3\",h2:\"framer-styles-preset-1phvih\",p:\"framer-styles-preset-1wjjzog\"},verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--framer-font-size\":\"14px\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(179, 143, 255))\"},children:\"Cooked and served by darkroom.engineering\"})}),className:\"framer-1bxh5tf\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"F_KoK2wIz\",style:{\"--extracted-r6o4lv\":\"rgb(179, 143, 255)\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},verticalAlignment:\"top\",withExternalLayout:true})]})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-KtHWv.framer-qeqqt6, .framer-KtHWv .framer-qeqqt6 { display: block; }\",\".framer-KtHWv.framer-dm7eeg { height: 400px; position: relative; width: 800px; }\",\".framer-KtHWv .framer-kse7pm { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: 100%; justify-content: center; left: 0px; overflow: visible; padding: 10px; position: absolute; top: 0px; width: 100%; }\",\".framer-KtHWv .framer-vpnrfx { height: 40px; position: relative; width: 40px; }\",\".framer-KtHWv .framer-1bq0yku { height: 40px; left: 0px; position: absolute; top: 0px; width: 40px; }\",\".framer-KtHWv .framer-1dxblde { height: 32px; left: 4px; position: absolute; top: 4px; width: 32px; }\",\".framer-KtHWv .framer-12zr2th { height: 32px; left: 0px; position: absolute; top: 0px; width: 32px; }\",\".framer-KtHWv .framer-1cgwvo2 { height: 8px; left: 12px; position: absolute; top: 6px; width: 8px; }\",\".framer-KtHWv .framer-tdysin { height: 9px; left: 12px; position: absolute; top: 13px; width: 1px; }\",\".framer-KtHWv .framer-ib43tl { height: 6px; left: 7px; position: absolute; top: 21px; width: 6px; }\",\".framer-KtHWv .framer-qwfcg8 { height: 8px; left: 17px; position: absolute; top: 19px; width: 9px; }\",\".framer-KtHWv .framer-1u89t06, .framer-KtHWv .framer-v82q5i, .framer-KtHWv .framer-1bxh5tf { flex: none; height: auto; position: relative; white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\",...sharedStyle.css,...sharedStyle1.css,...sharedStyle2.css,...sharedStyle3.css,...sharedStyle4.css];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 400\n * @framerIntrinsicWidth 800\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerVariables {\"EcxlD16f9\":\"title\",\"Hhq1DNpmy\":\"text\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerQw3An61k_=withCSS(Component,css,\"framer-KtHWv\");export default FramerQw3An61k_;FramerQw3An61k_.displayName=\"Components Placeholder\";FramerQw3An61k_.defaultProps={height:400,width:800};addPropertyControls(FramerQw3An61k_,{EcxlD16f9:{defaultValue:\"Title\",placeholder:\"\",title:\"Title\",type:ControlType.String},Hhq1DNpmy:{defaultValue:\"<p>Text</p>\",title:\"Text\",type:ControlType.RichText}});addFonts(FramerQw3An61k_,[{explicitInter:true,fonts:[{family:\"Inter\",source:\"framer\",style:\"normal\",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\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/4RAEQdEOrcnDkhHiiCbJOw92Lk.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/1K3W8DizY3v4emK8Mb08YHxTbs.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/tUSCtfYVM1I1IchuyCwz9gDdQ.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",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\"},{family:\"Inter\",source:\"framer\",style:\"normal\",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/VgYFWiwsAC5OYxAycRXXvhze58.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",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\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]},...getFontsFromSharedStyle(sharedStyle.fonts),...getFontsFromSharedStyle(sharedStyle1.fonts),...getFontsFromSharedStyle(sharedStyle2.fonts),...getFontsFromSharedStyle(sharedStyle3.fonts),...getFontsFromSharedStyle(sharedStyle4.fonts)],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerQw3An61k_\",\"slots\":[],\"annotations\":{\"framerAutoSizeImages\":\"true\",\"framerIntrinsicHeight\":\"400\",\"framerColorSyntax\":\"true\",\"framerVariables\":\"{\\\"EcxlD16f9\\\":\\\"title\\\",\\\"Hhq1DNpmy\\\":\\\"text\\\"}\",\"framerImmutableVariables\":\"true\",\"framerContractVersion\":\"1\",\"framerDisplayContentsDiv\":\"false\",\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicWidth\":\"800\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Qw3An61k_.map","/*\n * Components Placeholder\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/W9Z90ayW9AIZ7O543Rzm/fQktaaP60XRg5tmBrZf3/Qw3An61k_.js\"\nexport { default } from \"https://framerusercontent.com/modules/W9Z90ayW9AIZ7O543Rzm/fQktaaP60XRg5tmBrZf3/Qw3An61k_.js\"\n","// Get Started: https://www.framer.com/developers\nimport{jsx as _jsx,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsOnFramerCanvas}from\"framer\";import{useMeasuredSize}from\"https://framer.com/m/framer/useMeasuredSize.js\";import{useRef,Children,isValidElement,cloneElement}from\"react\";import{useScroll,useMotionValueEvent}from\"framer-motion\";import ComponentPlaceholder from\"https://framer.com/m/Placeholder-R90b.js\";// const style = `.lenis-horizontal-section-sticky > * {height:100% !important;}`\n/**\n * @framerSupportedLayoutHeight auto\n * @framerIntrinsicWidth 800\n * @framerSupportedLayoutWidth any\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerDisableUnlink\n */export default function LenisHorizontalSection({children,speed,isReversed}){const isOnFramerCanvas=useIsOnFramerCanvas();if(!children||children?.length===0){if(isOnFramerCanvas){return /*#__PURE__*/_jsx(ComponentPlaceholder,{style:{width:\"100%\"},title:\"Lenis Horizontal Section\",text:\"<p>Add content to scroll horizontally on your page<br/>by using the 'Content' property in the right panel.<br/>Or connect it using the handle.</p>\"});}}const wrapperRef=useRef();const stickyRef=useRef();const contentSize=useMeasuredSize(stickyRef);const wrapperSize=useMeasuredSize(wrapperRef);const{scrollYProgress}=useScroll({target:wrapperRef,offset:[\"start start\",\"end end\"]});useMotionValueEvent(scrollYProgress,\"change\",current=>{stickyRef.current.style.transform=`translateX(${(isReversed?1:-1)*current*(contentSize.width-wrapperSize.width)}px)`;});const factor=speed/100;return /*#__PURE__*/_jsx(_Fragment,{children:/*#__PURE__*/_jsx(\"div\",{style:{height:contentSize?.width/factor+\"px\",overflow:\"clip\",display:\"flex\",justifyContent:isReversed?\"end\":\"start\"},ref:wrapperRef,children:/*#__PURE__*/_jsx(\"div\",{ref:stickyRef,style:{height:\"100svh\",position:\"sticky\",top:\"0\",width:\"min-content\",display:\"flex\",alignItems:\"center\"},children:Children.map(children,child=>/*#__PURE__*/isValidElement(child)?/*#__PURE__*/cloneElement(child,{style:{...child.props.style,height:\"100%\"}}):child)})})});}LenisHorizontalSection.displayName=\"Lenis Horizontal Section\";addPropertyControls(LenisHorizontalSection,{children:{title:\"Content\",type:ControlType.ComponentInstance},speed:{title:\"Speed\",type:ControlType.Number,defaultValue:100,min:0,max:500,unit:\"%\",step:10,displayStepper:true},isReversed:{title:\"Direction\",type:ControlType.Enum,defaultValue:false,displaySegmentedControl:true,options:[false,true],optionTitles:[\"Left\",\"Right\"],description:\"Cooked and served by [darkroom.engineering](https://darkroom.engineering).\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"LenisHorizontalSection\",\"slots\":[\"children\"],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerIntrinsicWidth\":\"800\",\"framerSupportedLayoutWidth\":\"any\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"auto\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./LenisHorizontalSection.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";/**\n * Noise\n * @framerIntrinsicWidth 200\n * @framerIntrinsicHeight 200\n * @framerDisableUnlink\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */ export default function Noise(props){const{opacity,backgroundSize,borderRadius}=props;return /*#__PURE__*/ _jsx(\"div\",{style:{...containerStyle,opacity,backgroundSize,borderRadius}});};Noise.defaultProps={opacity:.5,backgroundSize:128,radius:0};addPropertyControls(Noise,{backgroundSize:{title:\"Size\",type:ControlType.Number,min:64,max:256},opacity:{title:\"Opacity\",type:ControlType.Number,step:.1,displayStepper:true,max:1,min:0},borderRadius:{title:\"Radius\",type:ControlType.Number,min:0,max:1e3,step:1,displayStepper:true}});const containerStyle={width:\"100%\",height:\"100%\",backgroundSize:\"256px 256px\",backgroundRepeat:\"repeat\",backgroundImage:\"url('https://framerusercontent.com/images/rR6HYXBrMmX4cRpXfXUOvpvpB0.png')\"};\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Noise\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"*\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"200\",\"framerIntrinsicHeight\":\"200\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Noise.map","function addUniqueItem(t,e){-1===t.indexOf(e)&&t.push(e)}function removeItem(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}const clamp=(t,e,n)=>Math.min(Math.max(n,t),e);const t={duration:.3,delay:0,endDelay:0,repeat:0,easing:\"ease\"};const isNumber=t=>\"number\"===typeof t;const isEasingList=t=>Array.isArray(t)&&!isNumber(t[0]);const wrap=(t,e,n)=>{const o=e-t;return((n-t)%o+o)%o+t};function getEasingForSegment(t,e){return isEasingList(t)?t[wrap(0,t.length,e)]:t}const mix=(t,e,n)=>-n*t+n*e+t;const noop=()=>{};const noopReturn=t=>t;const progress=(t,e,n)=>e-t===0?1:(n-t)/(e-t);function fillOffset(t,e){const n=t[t.length-1];for(let o=1;o<=e;o++){const s=progress(0,e,o);t.push(mix(n,1,s))}}function defaultOffset(t){const e=[0];fillOffset(e,t-1);return e}function interpolate(t,e=defaultOffset(t.length),n=noopReturn){const o=t.length;const s=o-e.length;s>0&&fillOffset(e,s);return s=>{let f=0;for(;f<o-2;f++)if(s<e[f+1])break;let r=clamp(0,1,progress(e[f],e[f+1],s));const c=getEasingForSegment(n,f);r=c(r);return mix(t[f],t[f+1],r)}}const isCubicBezier=t=>Array.isArray(t)&&isNumber(t[0]);const isEasingGenerator=t=>\"object\"===typeof t&&Boolean(t.createAnimation);const isFunction=t=>\"function\"===typeof t;const isString=t=>\"string\"===typeof t;const e={ms:t=>1e3*t,s:t=>t/1e3};\n/*\n  Convert velocity into velocity per second\n\n  @param [number]: Unit per frame\n  @param [number]: Frame duration in ms\n*/function velocityPerSecond(t,e){return e?t*(1e3/e):0}export{addUniqueItem,clamp,defaultOffset,t as defaults,fillOffset,getEasingForSegment,interpolate,isCubicBezier,isEasingGenerator,isEasingList,isFunction,isNumber,isString,mix,noop,noopReturn,progress,removeItem,e as time,velocityPerSecond,wrap};\n\n//# sourceMappingURL=index.es.js.map","import{noopReturn as t,clamp as n}from\"@motionone/utils\";const calcBezier=(t,n,e)=>(((1-3*e+3*n)*t+(3*e-6*n))*t+3*n)*t;const e=1e-7;const i=12;function binarySubdivide(t,n,o,r,c){let u;let a;let s=0;do{a=n+(o-n)/2;u=calcBezier(a,r,c)-t;u>0?o=a:n=a}while(Math.abs(u)>e&&++s<i);return a}function cubicBezier(n,e,i,o){if(n===e&&i===o)return t;const getTForX=t=>binarySubdivide(t,0,1,n,i);return t=>t===0||t===1?t:calcBezier(getTForX(t),e,o)}const steps=(t,e=\"end\")=>i=>{i=e===\"end\"?Math.min(i,.999):Math.max(i,.001);const o=i*t;const r=e===\"end\"?Math.floor(o):Math.ceil(o);return n(0,1,r/t)};export{cubicBezier,steps};\n//# sourceMappingURL=index.es.js.map\n","import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{motion}from\"framer-motion\";import{steps}from\"@motionone/easing\";/**\n * @framerIntrinsicWidth 100\n * @framerIntrinsicHeight 100\n * @framerDisableUnlink\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */ export default function Grain(props){const{opacity,style}=props;const keyframesX=[\"0%\",\"-5%\",\"-15%\",\"7%\",\"-5%\",\"-15%\",\"15%\",\"0%\",\"3%\",\"-10%\",];const keyframesY=[\"0%\",\"-10%\",\"5%\",\"-25%\",\"25%\",\"10%\",\"0%\",\"15%\",\"35%\",\"10%\",];const isCanvas=RenderTarget.current()===RenderTarget.canvas;return /*#__PURE__*/ _jsx(\"div\",{style:{width:\"100%\",height:\"100%\",position:\"relative\",overflow:\"hidden\"},children:/*#__PURE__*/ _jsx(motion.div,{style:{...containerStyle,opacity:opacity,inset:isCanvas?0:\"-200%\",width:isCanvas?\"100%\":\"400%\",height:isCanvas?\"100%\":\"400%\",position:\"absolute\"},animate:!isCanvas&&{x:keyframesX,y:keyframesY},transition:{ease:steps(10,\"start\"),repeat:Infinity,duration:8}})});};Grain.defaultProps={opacity:.5};addPropertyControls(Grain,{opacity:{title:\"Opacity\",type:ControlType.Number,step:.1,displayStepper:true,max:1,min:0}});const containerStyle={backgroundSize:\"256px 256px\",backgroundRepeat:\"repeat\",background:\"url('https://framerusercontent.com/images/rR6HYXBrMmX4cRpXfXUOvpvpB0.png')\"};\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Grain\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"fixed\",\"framerIntrinsicHeight\":\"100\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"*\",\"framerIntrinsicWidth\":\"100\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Grain.map","// Generated by Framer (7e4cc89)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,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 Noise from\"https://framerusercontent.com/modules/bamMgJhjMszHbcnxCtZj/20nHFbpxFqdlchR1dDZF/Noise.js\";import Grain from\"https://framerusercontent.com/modules/cKGD16u2MGB7MfqfVXFp/wiztTCbXokZrMicHAmZc/Grain.js\";const GrainFonts=getFonts(Grain);const NoiseFonts=getFonts(Noise);const cycleOrder=[\"DFivmJXP4\",\"m2t3wLfde\"];const serializationHash=\"framer-UYLX7\";const variantClassNames={DFivmJXP4:\"framer-v-k6oohr\",m2t3wLfde:\"framer-v-1340aep\"};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={Grain:\"DFivmJXP4\",Noise:\"m2t3wLfde\"};const getProps=({height,id,opacity,width,...props})=>{return{...props,EIVxJcEIK:opacity??props.EIVxJcEIK??.1,variant:humanReadableVariantMap[props.variant]??props.variant??\"DFivmJXP4\"};};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,EIVxJcEIK,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"DFivmJXP4\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if(baseVariant===\"m2t3wLfde\")return false;return true;};const isDisplayed1=()=>{if(baseVariant===\"m2t3wLfde\")return true;return false;};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-k6oohr\",className,classNames),\"data-framer-name\":\"Grain\",layoutDependency:layoutDependency,layoutId:\"DFivmJXP4\",ref:refBinding,style:{...style},...addPropertyOverrides({m2t3wLfde:{\"data-framer-name\":\"Noise\"}},baseVariant,gestureVariant),children:[isDisplayed()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-16rary2-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"qxBcef9pX-container\",nodeId:\"qxBcef9pX\",rendersWithMotion:true,scopeId:\"f4olsKSbH\",style:{opacity:EIVxJcEIK},children:/*#__PURE__*/_jsx(Grain,{height:\"100%\",id:\"qxBcef9pX\",layoutId:\"qxBcef9pX\",opacity:.5,style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})}),isDisplayed1()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1kb2pfb-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"STW79yX9B-container\",nodeId:\"STW79yX9B\",rendersWithMotion:true,scopeId:\"f4olsKSbH\",style:{opacity:EIVxJcEIK},children:/*#__PURE__*/_jsx(Noise,{backgroundSize:100,borderRadius:0,height:\"100%\",id:\"STW79yX9B\",layoutId:\"STW79yX9B\",opacity:.5,style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-UYLX7.framer-1qtzswf, .framer-UYLX7 .framer-1qtzswf { display: block; }\",\".framer-UYLX7.framer-k6oohr { height: 200px; position: relative; width: 200px; }\",\".framer-UYLX7 .framer-16rary2-container, .framer-UYLX7 .framer-1kb2pfb-container { bottom: 0px; flex: none; left: 0px; position: absolute; right: 0px; top: 0px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 200\n * @framerIntrinsicWidth 200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"m2t3wLfde\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerVariables {\"EIVxJcEIK\":\"opacity\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const Framerf4olsKSbH=withCSS(Component,css,\"framer-UYLX7\");export default Framerf4olsKSbH;Framerf4olsKSbH.displayName=\"Assets/Texture\";Framerf4olsKSbH.defaultProps={height:200,width:200};addPropertyControls(Framerf4olsKSbH,{variant:{options:[\"DFivmJXP4\",\"m2t3wLfde\"],optionTitles:[\"Grain\",\"Noise\"],title:\"Variant\",type:ControlType.Enum},EIVxJcEIK:{defaultValue:.1,max:1,min:0,step:.01,title:\"Opacity\",type:ControlType.Number}});addFonts(Framerf4olsKSbH,[{explicitInter:true,fonts:[]},...GrainFonts,...NoiseFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"Framerf4olsKSbH\",\"slots\":[],\"annotations\":{\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"m2t3wLfde\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerVariables\":\"{\\\"EIVxJcEIK\\\":\\\"opacity\\\"}\",\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicWidth\":\"200\",\"framerContractVersion\":\"1\",\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicHeight\":\"200\",\"framerImmutableVariables\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./f4olsKSbH.map","//#region package.json\nvar version = \"1.3.23\";\n//#endregion\n//#region packages/core/src/maths.ts\n/**\n* Clamp a value between a minimum and maximum value\n*\n* @param min Minimum value\n* @param input Value to clamp\n* @param max Maximum value\n* @returns Clamped value\n*/\nfunction clamp(min, input, max) {\n\treturn Math.max(min, Math.min(input, max));\n}\n/**\n*  Linearly interpolate between two values using an amount (0 <= t <= 1)\n*\n* @param x First value\n* @param y Second value\n* @param t Amount to interpolate (0 <= t <= 1)\n* @returns Interpolated value\n*/\nfunction lerp(x, y, t) {\n\treturn (1 - t) * x + t * y;\n}\n/**\n* Damp a value over time using a damping factor\n* {@link http://www.rorydriscoll.com/2016/03/07/frame-rate-independent-damping-using-lerp/}\n*\n* @param x Initial value\n* @param y Target value\n* @param lambda Damping factor\n* @param dt Time elapsed since the last update\n* @returns Damped value\n*/\nfunction damp(x, y, lambda, deltaTime) {\n\treturn lerp(x, y, 1 - Math.exp(-lambda * deltaTime));\n}\n/**\n* Calculate the modulo of the dividend and divisor while keeping the result within the same sign as the divisor\n* {@link https://anguscroll.com/just/just-modulo}\n*\n* @param n Dividend\n* @param d Divisor\n* @returns Modulo\n*/\nfunction modulo(n, d) {\n\treturn (n % d + d) % d;\n}\n//#endregion\n//#region packages/core/src/animate.ts\n/**\n* Animate class to handle value animations with lerping or easing\n*\n* @example\n* const animate = new Animate()\n* animate.fromTo(0, 100, { duration: 1, easing: (t) => t })\n* animate.advance(0.5) // 50\n*/\nvar Animate = class {\n\tisRunning = false;\n\tvalue = 0;\n\tfrom = 0;\n\tto = 0;\n\tcurrentTime = 0;\n\tlerp;\n\tduration;\n\teasing;\n\tonUpdate;\n\t/**\n\t* Advance the animation by the given delta time\n\t*\n\t* @param deltaTime - The time in seconds to advance the animation\n\t*/\n\tadvance(deltaTime) {\n\t\tif (!this.isRunning) return;\n\t\tlet completed = false;\n\t\tif (this.duration && this.easing) {\n\t\t\tthis.currentTime += deltaTime;\n\t\t\tconst linearProgress = clamp(0, this.currentTime / this.duration, 1);\n\t\t\tcompleted = linearProgress >= 1;\n\t\t\tconst easedProgress = completed ? 1 : this.easing(linearProgress);\n\t\t\tthis.value = this.from + (this.to - this.from) * easedProgress;\n\t\t} else if (this.lerp) {\n\t\t\tthis.value = damp(this.value, this.to, this.lerp * 60, deltaTime);\n\t\t\tif (Math.round(this.value) === Math.round(this.to)) {\n\t\t\t\tthis.value = this.to;\n\t\t\t\tcompleted = true;\n\t\t\t}\n\t\t} else {\n\t\t\tthis.value = this.to;\n\t\t\tcompleted = true;\n\t\t}\n\t\tif (completed) this.stop();\n\t\tthis.onUpdate?.(this.value, completed);\n\t}\n\t/** Stop the animation */\n\tstop() {\n\t\tthis.isRunning = false;\n\t}\n\t/**\n\t* Set up the animation from a starting value to an ending value\n\t* with optional parameters for lerping, duration, easing, and onUpdate callback\n\t*\n\t* @param from - The starting value\n\t* @param to - The ending value\n\t* @param options - Options for the animation\n\t*/\n\tfromTo(from, to, { lerp, duration, easing, onStart, onUpdate }) {\n\t\tthis.from = this.value = from;\n\t\tthis.to = to;\n\t\tthis.lerp = lerp;\n\t\tthis.duration = duration;\n\t\tthis.easing = easing;\n\t\tthis.currentTime = 0;\n\t\tthis.isRunning = true;\n\t\tonStart?.();\n\t\tthis.onUpdate = onUpdate;\n\t}\n};\n//#endregion\n//#region packages/core/src/debounce.ts\nfunction debounce(callback, delay) {\n\tlet timer;\n\treturn function(...args) {\n\t\tclearTimeout(timer);\n\t\ttimer = setTimeout(() => {\n\t\t\ttimer = void 0;\n\t\t\tcallback.apply(this, args);\n\t\t}, delay);\n\t};\n}\n//#endregion\n//#region packages/core/src/dimensions.ts\n/**\n* Dimensions class to handle the size of the content and wrapper\n*\n* @example\n* const dimensions = new Dimensions(wrapper, content)\n* dimensions.on('resize', (e) => {\n*   console.log(e.width, e.height)\n* })\n*/\nvar Dimensions = class {\n\twidth = 0;\n\theight = 0;\n\tscrollHeight = 0;\n\tscrollWidth = 0;\n\tdebouncedResize;\n\twrapperResizeObserver;\n\tcontentResizeObserver;\n\tconstructor(wrapper, content, { autoResize = true, debounce: debounceValue = 250 } = {}) {\n\t\tthis.wrapper = wrapper;\n\t\tthis.content = content;\n\t\tif (autoResize) {\n\t\t\tthis.debouncedResize = debounce(this.resize, debounceValue);\n\t\t\tif (this.wrapper instanceof Window) window.addEventListener(\"resize\", this.debouncedResize);\n\t\t\telse {\n\t\t\t\tthis.wrapperResizeObserver = new ResizeObserver(this.debouncedResize);\n\t\t\t\tthis.wrapperResizeObserver.observe(this.wrapper);\n\t\t\t}\n\t\t\tthis.contentResizeObserver = new ResizeObserver(this.debouncedResize);\n\t\t\tthis.contentResizeObserver.observe(this.content);\n\t\t}\n\t\tthis.resize();\n\t}\n\tdestroy() {\n\t\tthis.wrapperResizeObserver?.disconnect();\n\t\tthis.contentResizeObserver?.disconnect();\n\t\tif (this.wrapper === window && this.debouncedResize) window.removeEventListener(\"resize\", this.debouncedResize);\n\t}\n\tresize = () => {\n\t\tthis.onWrapperResize();\n\t\tthis.onContentResize();\n\t};\n\tonWrapperResize = () => {\n\t\tif (this.wrapper instanceof Window) {\n\t\t\tthis.width = window.innerWidth;\n\t\t\tthis.height = window.innerHeight;\n\t\t} else {\n\t\t\tthis.width = this.wrapper.clientWidth;\n\t\t\tthis.height = this.wrapper.clientHeight;\n\t\t}\n\t};\n\tonContentResize = () => {\n\t\tif (this.wrapper instanceof Window) {\n\t\t\tthis.scrollHeight = this.content.scrollHeight;\n\t\t\tthis.scrollWidth = this.content.scrollWidth;\n\t\t} else {\n\t\t\tthis.scrollHeight = this.wrapper.scrollHeight;\n\t\t\tthis.scrollWidth = this.wrapper.scrollWidth;\n\t\t}\n\t};\n\tget limit() {\n\t\treturn {\n\t\t\tx: this.scrollWidth - this.width,\n\t\t\ty: this.scrollHeight - this.height\n\t\t};\n\t}\n};\n//#endregion\n//#region packages/core/src/emitter.ts\n/**\n* Emitter class to handle events\n* @example\n* const emitter = new Emitter()\n* emitter.on('event', (data) => {\n*   console.log(data)\n* })\n* emitter.emit('event', 'data')\n*/\nvar Emitter = class {\n\tevents = {};\n\t/**\n\t* Emit an event with the given data\n\t* @param event Event name\n\t* @param args Data to pass to the event handlers\n\t*/\n\temit(event, ...args) {\n\t\tconst callbacks = this.events[event] || [];\n\t\tfor (let i = 0, length = callbacks.length; i < length; i++) callbacks[i]?.(...args);\n\t}\n\t/**\n\t* Add a callback to the event\n\t* @param event Event name\n\t* @param cb Callback function\n\t* @returns Unsubscribe function\n\t*/\n\ton(event, cb) {\n\t\tif (this.events[event]) this.events[event].push(cb);\n\t\telse this.events[event] = [cb];\n\t\treturn () => {\n\t\t\tthis.events[event] = this.events[event]?.filter((i) => cb !== i);\n\t\t};\n\t}\n\t/**\n\t* Remove a callback from the event\n\t* @param event Event name\n\t* @param callback Callback function\n\t*/\n\toff(event, callback) {\n\t\tthis.events[event] = this.events[event]?.filter((i) => callback !== i);\n\t}\n\t/**\n\t* Remove all event listeners and clean up\n\t*/\n\tdestroy() {\n\t\tthis.events = {};\n\t}\n};\n//#endregion\n//#region packages/core/src/virtual-scroll.ts\nconst LINE_HEIGHT = 100 / 6;\nconst listenerOptions = { passive: false };\nfunction getDeltaMultiplier(deltaMode, size) {\n\tif (deltaMode === 1) return LINE_HEIGHT;\n\tif (deltaMode === 2) return size;\n\treturn 1;\n}\nvar VirtualScroll = class {\n\ttouchStart = {\n\t\tx: 0,\n\t\ty: 0\n\t};\n\tlastDelta = {\n\t\tx: 0,\n\t\ty: 0\n\t};\n\twindow = {\n\t\twidth: 0,\n\t\theight: 0\n\t};\n\temitter = new Emitter();\n\tconstructor(element, options = {\n\t\twheelMultiplier: 1,\n\t\ttouchMultiplier: 1\n\t}) {\n\t\tthis.element = element;\n\t\tthis.options = options;\n\t\twindow.addEventListener(\"resize\", this.onWindowResize);\n\t\tthis.onWindowResize();\n\t\tthis.element.addEventListener(\"wheel\", this.onWheel, listenerOptions);\n\t\tthis.element.addEventListener(\"touchstart\", this.onTouchStart, listenerOptions);\n\t\tthis.element.addEventListener(\"touchmove\", this.onTouchMove, listenerOptions);\n\t\tthis.element.addEventListener(\"touchend\", this.onTouchEnd, listenerOptions);\n\t}\n\t/**\n\t* Add an event listener for the given event and callback\n\t*\n\t* @param event Event name\n\t* @param callback Callback function\n\t*/\n\ton(event, callback) {\n\t\treturn this.emitter.on(event, callback);\n\t}\n\t/** Remove all event listeners and clean up */\n\tdestroy() {\n\t\tthis.emitter.destroy();\n\t\twindow.removeEventListener(\"resize\", this.onWindowResize);\n\t\tthis.element.removeEventListener(\"wheel\", this.onWheel, listenerOptions);\n\t\tthis.element.removeEventListener(\"touchstart\", this.onTouchStart, listenerOptions);\n\t\tthis.element.removeEventListener(\"touchmove\", this.onTouchMove, listenerOptions);\n\t\tthis.element.removeEventListener(\"touchend\", this.onTouchEnd, listenerOptions);\n\t}\n\t/**\n\t* Event handler for 'touchstart' event\n\t*\n\t* @param event Touch event\n\t*/\n\tonTouchStart = (event) => {\n\t\tconst { clientX, clientY } = event.targetTouches ? event.targetTouches[0] : event;\n\t\tthis.touchStart.x = clientX;\n\t\tthis.touchStart.y = clientY;\n\t\tthis.lastDelta = {\n\t\t\tx: 0,\n\t\t\ty: 0\n\t\t};\n\t\tthis.emitter.emit(\"scroll\", {\n\t\t\tdeltaX: 0,\n\t\t\tdeltaY: 0,\n\t\t\tevent\n\t\t});\n\t};\n\t/** Event handler for 'touchmove' event */\n\tonTouchMove = (event) => {\n\t\tconst { clientX, clientY } = event.targetTouches ? event.targetTouches[0] : event;\n\t\tconst deltaX = -(clientX - this.touchStart.x) * this.options.touchMultiplier;\n\t\tconst deltaY = -(clientY - this.touchStart.y) * this.options.touchMultiplier;\n\t\tthis.touchStart.x = clientX;\n\t\tthis.touchStart.y = clientY;\n\t\tthis.lastDelta = {\n\t\t\tx: deltaX,\n\t\t\ty: deltaY\n\t\t};\n\t\tthis.emitter.emit(\"scroll\", {\n\t\t\tdeltaX,\n\t\t\tdeltaY,\n\t\t\tevent\n\t\t});\n\t};\n\tonTouchEnd = (event) => {\n\t\tthis.emitter.emit(\"scroll\", {\n\t\t\tdeltaX: this.lastDelta.x,\n\t\t\tdeltaY: this.lastDelta.y,\n\t\t\tevent\n\t\t});\n\t};\n\t/** Event handler for 'wheel' event */\n\tonWheel = (event) => {\n\t\tlet { deltaX, deltaY, deltaMode } = event;\n\t\tconst multiplierX = getDeltaMultiplier(deltaMode, this.window.width);\n\t\tconst multiplierY = getDeltaMultiplier(deltaMode, this.window.height);\n\t\tdeltaX *= multiplierX;\n\t\tdeltaY *= multiplierY;\n\t\tdeltaX *= this.options.wheelMultiplier;\n\t\tdeltaY *= this.options.wheelMultiplier;\n\t\tthis.emitter.emit(\"scroll\", {\n\t\t\tdeltaX,\n\t\t\tdeltaY,\n\t\t\tevent\n\t\t});\n\t};\n\tonWindowResize = () => {\n\t\tthis.window = {\n\t\t\twidth: window.innerWidth,\n\t\t\theight: window.innerHeight\n\t\t};\n\t};\n};\n//#endregion\n//#region packages/core/src/lenis.ts\nconst defaultEasing = (t) => Math.min(1, 1.001 - 2 ** (-10 * t));\nvar Lenis = class {\n\t_isScrolling = false;\n\t_isStopped = false;\n\t_isLocked = false;\n\t_preventNextNativeScrollEvent = false;\n\t_resetVelocityTimeout = null;\n\t_rafId = null;\n\t/**\n\t* Whether or not the user is touching the screen\n\t*/\n\tisTouching;\n\t/**\n\t* The time in ms since the lenis instance was created\n\t*/\n\ttime = 0;\n\t/**\n\t* User data that will be forwarded through the scroll event\n\t*\n\t* @example\n\t* lenis.scrollTo(100, {\n\t*   userData: {\n\t*     foo: 'bar'\n\t*   }\n\t* })\n\t*/\n\tuserData = {};\n\t/**\n\t* The last velocity of the scroll\n\t*/\n\tlastVelocity = 0;\n\t/**\n\t* The current velocity of the scroll\n\t*/\n\tvelocity = 0;\n\t/**\n\t* The direction of the scroll\n\t*/\n\tdirection = 0;\n\t/**\n\t* The options passed to the lenis instance\n\t*/\n\toptions;\n\t/**\n\t* The target scroll value\n\t*/\n\ttargetScroll;\n\t/**\n\t* The animated scroll value\n\t*/\n\tanimatedScroll;\n\tanimate = new Animate();\n\temitter = new Emitter();\n\tdimensions;\n\tvirtualScroll;\n\tconstructor({ wrapper = window, content = document.documentElement, eventsTarget = wrapper, smoothWheel = true, syncTouch = false, syncTouchLerp = .075, touchInertiaExponent = 1.7, duration, easing, lerp = .1, infinite = false, orientation = \"vertical\", gestureOrientation = orientation === \"horizontal\" ? \"both\" : \"vertical\", touchMultiplier = 1, wheelMultiplier = 1, autoResize = true, prevent, virtualScroll, overscroll = true, autoRaf = false, anchors = false, autoToggle = false, allowNestedScroll = false, __experimental__naiveDimensions = false, naiveDimensions = __experimental__naiveDimensions, stopInertiaOnNavigate = false } = {}) {\n\t\twindow.lenisVersion = version;\n\t\tif (!window.lenis) window.lenis = {};\n\t\twindow.lenis.version = version;\n\t\tif (orientation === \"horizontal\") window.lenis.horizontal = true;\n\t\tif (syncTouch === true) window.lenis.touch = true;\n\t\tif (!wrapper || wrapper === document.documentElement) wrapper = window;\n\t\tif (typeof duration === \"number\" && typeof easing !== \"function\") easing = defaultEasing;\n\t\telse if (typeof easing === \"function\" && typeof duration !== \"number\") duration = 1;\n\t\tthis.options = {\n\t\t\twrapper,\n\t\t\tcontent,\n\t\t\teventsTarget,\n\t\t\tsmoothWheel,\n\t\t\tsyncTouch,\n\t\t\tsyncTouchLerp,\n\t\t\ttouchInertiaExponent,\n\t\t\tduration,\n\t\t\teasing,\n\t\t\tlerp,\n\t\t\tinfinite,\n\t\t\tgestureOrientation,\n\t\t\torientation,\n\t\t\ttouchMultiplier,\n\t\t\twheelMultiplier,\n\t\t\tautoResize,\n\t\t\tprevent,\n\t\t\tvirtualScroll,\n\t\t\toverscroll,\n\t\t\tautoRaf,\n\t\t\tanchors,\n\t\t\tautoToggle,\n\t\t\tallowNestedScroll,\n\t\t\tnaiveDimensions,\n\t\t\tstopInertiaOnNavigate\n\t\t};\n\t\tthis.dimensions = new Dimensions(wrapper, content, { autoResize });\n\t\tthis.updateClassName();\n\t\tthis.targetScroll = this.animatedScroll = this.actualScroll;\n\t\tthis.options.wrapper.addEventListener(\"scroll\", this.onNativeScroll);\n\t\tthis.options.wrapper.addEventListener(\"scrollend\", this.onScrollEnd, { capture: true });\n\t\tif (this.options.anchors || this.options.stopInertiaOnNavigate) this.options.wrapper.addEventListener(\"click\", this.onClick);\n\t\tthis.options.wrapper.addEventListener(\"pointerdown\", this.onPointerDown);\n\t\tthis.virtualScroll = new VirtualScroll(eventsTarget, {\n\t\t\ttouchMultiplier,\n\t\t\twheelMultiplier\n\t\t});\n\t\tthis.virtualScroll.on(\"scroll\", this.onVirtualScroll);\n\t\tif (this.options.autoToggle) {\n\t\t\tthis.checkOverflow();\n\t\t\tthis.rootElement.addEventListener(\"transitionend\", this.onTransitionEnd);\n\t\t}\n\t\tif (this.options.autoRaf) this._rafId = requestAnimationFrame(this.raf);\n\t}\n\t/**\n\t* Destroy the lenis instance, remove all event listeners and clean up the class name\n\t*/\n\tdestroy() {\n\t\tthis.emitter.destroy();\n\t\tthis.options.wrapper.removeEventListener(\"scroll\", this.onNativeScroll);\n\t\tthis.options.wrapper.removeEventListener(\"scrollend\", this.onScrollEnd, { capture: true });\n\t\tthis.options.wrapper.removeEventListener(\"pointerdown\", this.onPointerDown);\n\t\tif (this.options.anchors || this.options.stopInertiaOnNavigate) this.options.wrapper.removeEventListener(\"click\", this.onClick);\n\t\tthis.virtualScroll.destroy();\n\t\tthis.dimensions.destroy();\n\t\tthis.cleanUpClassName();\n\t\tif (this._rafId) cancelAnimationFrame(this._rafId);\n\t}\n\ton(event, callback) {\n\t\treturn this.emitter.on(event, callback);\n\t}\n\toff(event, callback) {\n\t\treturn this.emitter.off(event, callback);\n\t}\n\tonScrollEnd = (e) => {\n\t\tif (!(e instanceof CustomEvent)) {\n\t\t\tif (this.isScrolling === \"smooth\" || this.isScrolling === false) e.stopPropagation();\n\t\t}\n\t};\n\tdispatchScrollendEvent = () => {\n\t\tthis.options.wrapper.dispatchEvent(new CustomEvent(\"scrollend\", {\n\t\t\tbubbles: this.options.wrapper === window,\n\t\t\tdetail: { lenisScrollEnd: true }\n\t\t}));\n\t};\n\tget overflow() {\n\t\tconst property = this.isHorizontal ? \"overflow-x\" : \"overflow-y\";\n\t\treturn getComputedStyle(this.rootElement)[property];\n\t}\n\tcheckOverflow() {\n\t\tif ([\"hidden\", \"clip\"].includes(this.overflow)) this.internalStop();\n\t\telse this.internalStart();\n\t}\n\tonTransitionEnd = (event) => {\n\t\tif (event.propertyName?.includes(\"overflow\") && event.target === this.rootElement) this.checkOverflow();\n\t};\n\tsetScroll(scroll) {\n\t\tif (this.isHorizontal) this.options.wrapper.scrollTo({\n\t\t\tleft: scroll,\n\t\t\tbehavior: \"instant\"\n\t\t});\n\t\telse this.options.wrapper.scrollTo({\n\t\t\ttop: scroll,\n\t\t\tbehavior: \"instant\"\n\t\t});\n\t}\n\tonClick = (event) => {\n\t\tconst linkElementsUrls = event.composedPath().filter((node) => node instanceof HTMLAnchorElement && node.href).map((element) => new URL(element.href));\n\t\tconst currentUrl = new URL(window.location.href);\n\t\tif (this.options.anchors) {\n\t\t\tconst anchorElementUrl = linkElementsUrls.find((targetUrl) => currentUrl.host === targetUrl.host && currentUrl.pathname === targetUrl.pathname && targetUrl.hash);\n\t\t\tif (anchorElementUrl) {\n\t\t\t\tconst options = typeof this.options.anchors === \"object\" && this.options.anchors ? this.options.anchors : void 0;\n\t\t\t\tconst target = `#${anchorElementUrl.hash.split(\"#\")[1]}`;\n\t\t\t\tthis.scrollTo(target, options);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tif (this.options.stopInertiaOnNavigate) {\n\t\t\tif (linkElementsUrls.some((targetUrl) => currentUrl.host === targetUrl.host && currentUrl.pathname !== targetUrl.pathname)) {\n\t\t\t\tthis.reset();\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t};\n\tonPointerDown = (event) => {\n\t\tif (event.button === 1) this.reset();\n\t};\n\tonVirtualScroll = (data) => {\n\t\tif (typeof this.options.virtualScroll === \"function\" && this.options.virtualScroll(data) === false) return;\n\t\tconst { deltaX, deltaY, event } = data;\n\t\tthis.emitter.emit(\"virtual-scroll\", {\n\t\t\tdeltaX,\n\t\t\tdeltaY,\n\t\t\tevent\n\t\t});\n\t\tif (event.ctrlKey) return;\n\t\tif (event.lenisStopPropagation) return;\n\t\tconst isTouch = event.type.includes(\"touch\");\n\t\tconst isWheel = event.type.includes(\"wheel\");\n\t\tthis.isTouching = event.type === \"touchstart\" || event.type === \"touchmove\";\n\t\tconst isClickOrTap = deltaX === 0 && deltaY === 0;\n\t\tif (this.options.syncTouch && isTouch && event.type === \"touchstart\" && isClickOrTap && !this.isStopped && !this.isLocked) {\n\t\t\tthis.reset();\n\t\t\treturn;\n\t\t}\n\t\tconst isUnknownGesture = this.options.gestureOrientation === \"vertical\" && deltaY === 0 || this.options.gestureOrientation === \"horizontal\" && deltaX === 0;\n\t\tif (isClickOrTap || isUnknownGesture) return;\n\t\tlet composedPath = event.composedPath();\n\t\tcomposedPath = composedPath.slice(0, composedPath.indexOf(this.rootElement));\n\t\tconst prevent = this.options.prevent;\n\t\tconst gestureOrientation = Math.abs(deltaX) >= Math.abs(deltaY) ? \"horizontal\" : \"vertical\";\n\t\tif (composedPath.find((node) => node instanceof HTMLElement && (typeof prevent === \"function\" && prevent?.(node) || node.hasAttribute?.(\"data-lenis-prevent\") || gestureOrientation === \"vertical\" && node.hasAttribute?.(\"data-lenis-prevent-vertical\") || gestureOrientation === \"horizontal\" && node.hasAttribute?.(\"data-lenis-prevent-horizontal\") || isTouch && node.hasAttribute?.(\"data-lenis-prevent-touch\") || isWheel && node.hasAttribute?.(\"data-lenis-prevent-wheel\") || this.options.allowNestedScroll && this.hasNestedScroll(node, {\n\t\t\tdeltaX,\n\t\t\tdeltaY\n\t\t})))) return;\n\t\tif (this.isStopped || this.isLocked) {\n\t\t\tif (event.cancelable) event.preventDefault();\n\t\t\treturn;\n\t\t}\n\t\tif (!(this.options.syncTouch && isTouch || this.options.smoothWheel && isWheel)) {\n\t\t\tthis.isScrolling = \"native\";\n\t\t\tthis.animate.stop();\n\t\t\tevent.lenisStopPropagation = true;\n\t\t\treturn;\n\t\t}\n\t\tlet delta = deltaY;\n\t\tif (this.options.gestureOrientation === \"both\") delta = Math.abs(deltaY) > Math.abs(deltaX) ? deltaY : deltaX;\n\t\telse if (this.options.gestureOrientation === \"horizontal\") delta = deltaX;\n\t\tif (!this.options.overscroll || this.options.infinite || this.options.wrapper !== window && this.limit > 0 && (this.animatedScroll > 0 && this.animatedScroll < this.limit || this.animatedScroll === 0 && deltaY > 0 || this.animatedScroll === this.limit && deltaY < 0)) event.lenisStopPropagation = true;\n\t\tif (event.cancelable) event.preventDefault();\n\t\tconst isSyncTouch = isTouch && this.options.syncTouch;\n\t\tconst hasTouchInertia = isTouch && event.type === \"touchend\";\n\t\tif (hasTouchInertia) delta = Math.sign(delta) * Math.abs(this.velocity) ** this.options.touchInertiaExponent;\n\t\tthis.scrollTo(this.targetScroll + delta, {\n\t\t\tprogrammatic: false,\n\t\t\t...isSyncTouch ? { lerp: hasTouchInertia ? this.options.syncTouchLerp : 1 } : {\n\t\t\t\tlerp: this.options.lerp,\n\t\t\t\tduration: this.options.duration,\n\t\t\t\teasing: this.options.easing\n\t\t\t}\n\t\t});\n\t};\n\t/**\n\t* Force lenis to recalculate the dimensions\n\t*/\n\tresize() {\n\t\tthis.dimensions.resize();\n\t\tthis.animatedScroll = this.targetScroll = this.actualScroll;\n\t\tthis.emit();\n\t}\n\temit() {\n\t\tthis.emitter.emit(\"scroll\", this);\n\t}\n\tonNativeScroll = () => {\n\t\tif (this._resetVelocityTimeout !== null) {\n\t\t\tclearTimeout(this._resetVelocityTimeout);\n\t\t\tthis._resetVelocityTimeout = null;\n\t\t}\n\t\tif (this._preventNextNativeScrollEvent) {\n\t\t\tthis._preventNextNativeScrollEvent = false;\n\t\t\treturn;\n\t\t}\n\t\tif (this.isScrolling === false || this.isScrolling === \"native\") {\n\t\t\tconst lastScroll = this.animatedScroll;\n\t\t\tthis.animatedScroll = this.targetScroll = this.actualScroll;\n\t\t\tthis.lastVelocity = this.velocity;\n\t\t\tthis.velocity = this.animatedScroll - lastScroll;\n\t\t\tthis.direction = Math.sign(this.animatedScroll - lastScroll);\n\t\t\tif (!this.isStopped) this.isScrolling = \"native\";\n\t\t\tthis.emit();\n\t\t\tif (this.velocity !== 0) this._resetVelocityTimeout = setTimeout(() => {\n\t\t\t\tthis.lastVelocity = this.velocity;\n\t\t\t\tthis.velocity = 0;\n\t\t\t\tthis.isScrolling = false;\n\t\t\t\tthis.emit();\n\t\t\t}, 400);\n\t\t}\n\t};\n\treset() {\n\t\tthis.isLocked = false;\n\t\tthis.isScrolling = false;\n\t\tthis.animatedScroll = this.targetScroll = this.actualScroll;\n\t\tthis.lastVelocity = this.velocity = 0;\n\t\tthis.animate.stop();\n\t}\n\t/**\n\t* Start lenis scroll after it has been stopped\n\t*/\n\tstart() {\n\t\tif (!this.isStopped) return;\n\t\tif (this.options.autoToggle) {\n\t\t\tthis.rootElement.style.removeProperty(\"overflow\");\n\t\t\treturn;\n\t\t}\n\t\tthis.internalStart();\n\t}\n\tinternalStart() {\n\t\tif (!this.isStopped) return;\n\t\tthis.reset();\n\t\tthis.isStopped = false;\n\t\tthis.emit();\n\t}\n\t/**\n\t* Stop lenis scroll\n\t*/\n\tstop() {\n\t\tif (this.isStopped) return;\n\t\tif (this.options.autoToggle) {\n\t\t\tthis.rootElement.style.setProperty(\"overflow\", \"clip\");\n\t\t\treturn;\n\t\t}\n\t\tthis.internalStop();\n\t}\n\tinternalStop() {\n\t\tif (this.isStopped) return;\n\t\tthis.reset();\n\t\tthis.isStopped = true;\n\t\tthis.emit();\n\t}\n\t/**\n\t* RequestAnimationFrame for lenis\n\t*\n\t* @param time The time in ms from an external clock like `requestAnimationFrame` or Tempus\n\t*/\n\traf = (time) => {\n\t\tconst deltaTime = time - (this.time || time);\n\t\tthis.time = time;\n\t\tthis.animate.advance(deltaTime * .001);\n\t\tif (this.options.autoRaf) this._rafId = requestAnimationFrame(this.raf);\n\t};\n\t/**\n\t* Scroll to a target value\n\t*\n\t* @param target The target value to scroll to\n\t* @param options The options for the scroll\n\t*\n\t* @example\n\t* lenis.scrollTo(100, {\n\t*   offset: 100,\n\t*   duration: 1,\n\t*   easing: (t) => 1 - Math.cos((t * Math.PI) / 2),\n\t*   lerp: 0.1,\n\t*   onStart: () => {\n\t*     console.log('onStart')\n\t*   },\n\t*   onComplete: () => {\n\t*     console.log('onComplete')\n\t*   },\n\t* })\n\t*/\n\tscrollTo(_target, { offset = 0, immediate = false, lock = false, programmatic = true, lerp = programmatic ? this.options.lerp : void 0, duration = programmatic ? this.options.duration : void 0, easing = programmatic ? this.options.easing : void 0, onStart, onComplete, force = false, userData } = {}) {\n\t\tif ((this.isStopped || this.isLocked) && !force) return;\n\t\tlet target = _target;\n\t\tlet adjustedOffset = offset;\n\t\tif (typeof target === \"string\" && [\n\t\t\t\"top\",\n\t\t\t\"left\",\n\t\t\t\"start\",\n\t\t\t\"#\"\n\t\t].includes(target)) target = 0;\n\t\telse if (typeof target === \"string\" && [\n\t\t\t\"bottom\",\n\t\t\t\"right\",\n\t\t\t\"end\"\n\t\t].includes(target)) target = this.limit;\n\t\telse {\n\t\t\tlet node = null;\n\t\t\tif (typeof target === \"string\") {\n\t\t\t\tnode = document.querySelector(target);\n\t\t\t\tif (!node) if (target === \"#top\") target = 0;\n\t\t\t\telse console.warn(\"Lenis: Target not found\", target);\n\t\t\t} else if (target instanceof HTMLElement && target?.nodeType) node = target;\n\t\t\tif (node) {\n\t\t\t\tif (this.options.wrapper !== window) {\n\t\t\t\t\tconst wrapperRect = this.rootElement.getBoundingClientRect();\n\t\t\t\t\tadjustedOffset -= this.isHorizontal ? wrapperRect.left : wrapperRect.top;\n\t\t\t\t}\n\t\t\t\tconst rect = node.getBoundingClientRect();\n\t\t\t\tconst targetStyle = getComputedStyle(node);\n\t\t\t\tconst scrollMargin = this.isHorizontal ? Number.parseFloat(targetStyle.scrollMarginLeft) : Number.parseFloat(targetStyle.scrollMarginTop);\n\t\t\t\tconst containerStyle = getComputedStyle(this.rootElement);\n\t\t\t\tconst scrollPadding = this.isHorizontal ? Number.parseFloat(containerStyle.scrollPaddingLeft) : Number.parseFloat(containerStyle.scrollPaddingTop);\n\t\t\t\ttarget = (this.isHorizontal ? rect.left : rect.top) + this.animatedScroll - (Number.isNaN(scrollMargin) ? 0 : scrollMargin) - (Number.isNaN(scrollPadding) ? 0 : scrollPadding);\n\t\t\t}\n\t\t}\n\t\tif (typeof target !== \"number\") return;\n\t\ttarget += adjustedOffset;\n\t\tif (this.options.infinite) {\n\t\t\tif (programmatic) {\n\t\t\t\tthis.targetScroll = this.animatedScroll = this.scroll;\n\t\t\t\tconst distance = target - this.animatedScroll;\n\t\t\t\tif (distance > this.limit / 2) target -= this.limit;\n\t\t\t\telse if (distance < -this.limit / 2) target += this.limit;\n\t\t\t}\n\t\t} else target = clamp(0, target, this.limit);\n\t\tif (target === this.targetScroll) {\n\t\t\tonStart?.(this);\n\t\t\tonComplete?.(this);\n\t\t\treturn;\n\t\t}\n\t\tthis.userData = userData ?? {};\n\t\tif (immediate) {\n\t\t\tthis.animatedScroll = this.targetScroll = target;\n\t\t\tthis.setScroll(this.scroll);\n\t\t\tthis.reset();\n\t\t\tthis.preventNextNativeScrollEvent();\n\t\t\tthis.emit();\n\t\t\tonComplete?.(this);\n\t\t\tthis.userData = {};\n\t\t\trequestAnimationFrame(() => {\n\t\t\t\tthis.dispatchScrollendEvent();\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tif (!programmatic) this.targetScroll = target;\n\t\tif (typeof duration === \"number\" && typeof easing !== \"function\") easing = defaultEasing;\n\t\telse if (typeof easing === \"function\" && typeof duration !== \"number\") duration = 1;\n\t\tthis.animate.fromTo(this.animatedScroll, target, {\n\t\t\tduration,\n\t\t\teasing,\n\t\t\tlerp,\n\t\t\tonStart: () => {\n\t\t\t\tif (lock) this.isLocked = true;\n\t\t\t\tthis.isScrolling = \"smooth\";\n\t\t\t\tonStart?.(this);\n\t\t\t},\n\t\t\tonUpdate: (value, completed) => {\n\t\t\t\tthis.isScrolling = \"smooth\";\n\t\t\t\tthis.lastVelocity = this.velocity;\n\t\t\t\tthis.velocity = value - this.animatedScroll;\n\t\t\t\tthis.direction = Math.sign(this.velocity);\n\t\t\t\tthis.animatedScroll = value;\n\t\t\t\tthis.setScroll(this.scroll);\n\t\t\t\tif (programmatic) this.targetScroll = value;\n\t\t\t\tif (!completed) this.emit();\n\t\t\t\tif (completed) {\n\t\t\t\t\tthis.reset();\n\t\t\t\t\tthis.emit();\n\t\t\t\t\tonComplete?.(this);\n\t\t\t\t\tthis.userData = {};\n\t\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\t\tthis.dispatchScrollendEvent();\n\t\t\t\t\t});\n\t\t\t\t\tthis.preventNextNativeScrollEvent();\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\tpreventNextNativeScrollEvent() {\n\t\tthis._preventNextNativeScrollEvent = true;\n\t\trequestAnimationFrame(() => {\n\t\t\tthis._preventNextNativeScrollEvent = false;\n\t\t});\n\t}\n\thasNestedScroll(node, { deltaX, deltaY }) {\n\t\tconst time = Date.now();\n\t\tif (!node._lenis) node._lenis = {};\n\t\tconst cache = node._lenis;\n\t\tlet hasOverflowX;\n\t\tlet hasOverflowY;\n\t\tlet isScrollableX;\n\t\tlet isScrollableY;\n\t\tlet hasOverscrollBehaviorX;\n\t\tlet hasOverscrollBehaviorY;\n\t\tlet scrollWidth;\n\t\tlet scrollHeight;\n\t\tlet clientWidth;\n\t\tlet clientHeight;\n\t\tif (time - (cache.time ?? 0) > 2e3) {\n\t\t\tcache.time = Date.now();\n\t\t\tconst computedStyle = window.getComputedStyle(node);\n\t\t\tcache.computedStyle = computedStyle;\n\t\t\thasOverflowX = [\n\t\t\t\t\"auto\",\n\t\t\t\t\"overlay\",\n\t\t\t\t\"scroll\"\n\t\t\t].includes(computedStyle.overflowX);\n\t\t\thasOverflowY = [\n\t\t\t\t\"auto\",\n\t\t\t\t\"overlay\",\n\t\t\t\t\"scroll\"\n\t\t\t].includes(computedStyle.overflowY);\n\t\t\thasOverscrollBehaviorX = [\"auto\"].includes(computedStyle.overscrollBehaviorX);\n\t\t\thasOverscrollBehaviorY = [\"auto\"].includes(computedStyle.overscrollBehaviorY);\n\t\t\tcache.hasOverflowX = hasOverflowX;\n\t\t\tcache.hasOverflowY = hasOverflowY;\n\t\t\tif (!(hasOverflowX || hasOverflowY)) return false;\n\t\t\tscrollWidth = node.scrollWidth;\n\t\t\tscrollHeight = node.scrollHeight;\n\t\t\tclientWidth = node.clientWidth;\n\t\t\tclientHeight = node.clientHeight;\n\t\t\tisScrollableX = scrollWidth > clientWidth;\n\t\t\tisScrollableY = scrollHeight > clientHeight;\n\t\t\tcache.isScrollableX = isScrollableX;\n\t\t\tcache.isScrollableY = isScrollableY;\n\t\t\tcache.scrollWidth = scrollWidth;\n\t\t\tcache.scrollHeight = scrollHeight;\n\t\t\tcache.clientWidth = clientWidth;\n\t\t\tcache.clientHeight = clientHeight;\n\t\t\tcache.hasOverscrollBehaviorX = hasOverscrollBehaviorX;\n\t\t\tcache.hasOverscrollBehaviorY = hasOverscrollBehaviorY;\n\t\t} else {\n\t\t\tisScrollableX = cache.isScrollableX;\n\t\t\tisScrollableY = cache.isScrollableY;\n\t\t\thasOverflowX = cache.hasOverflowX;\n\t\t\thasOverflowY = cache.hasOverflowY;\n\t\t\tscrollWidth = cache.scrollWidth;\n\t\t\tscrollHeight = cache.scrollHeight;\n\t\t\tclientWidth = cache.clientWidth;\n\t\t\tclientHeight = cache.clientHeight;\n\t\t\thasOverscrollBehaviorX = cache.hasOverscrollBehaviorX;\n\t\t\thasOverscrollBehaviorY = cache.hasOverscrollBehaviorY;\n\t\t}\n\t\tif (!(hasOverflowX && isScrollableX || hasOverflowY && isScrollableY)) return false;\n\t\tconst orientation = Math.abs(deltaX) >= Math.abs(deltaY) ? \"horizontal\" : \"vertical\";\n\t\tlet scroll;\n\t\tlet maxScroll;\n\t\tlet delta;\n\t\tlet hasOverflow;\n\t\tlet isScrollable;\n\t\tlet hasOverscrollBehavior;\n\t\tif (orientation === \"horizontal\") {\n\t\t\tscroll = Math.round(node.scrollLeft);\n\t\t\tmaxScroll = scrollWidth - clientWidth;\n\t\t\tdelta = deltaX;\n\t\t\thasOverflow = hasOverflowX;\n\t\t\tisScrollable = isScrollableX;\n\t\t\thasOverscrollBehavior = hasOverscrollBehaviorX;\n\t\t} else if (orientation === \"vertical\") {\n\t\t\tscroll = Math.round(node.scrollTop);\n\t\t\tmaxScroll = scrollHeight - clientHeight;\n\t\t\tdelta = deltaY;\n\t\t\thasOverflow = hasOverflowY;\n\t\t\tisScrollable = isScrollableY;\n\t\t\thasOverscrollBehavior = hasOverscrollBehaviorY;\n\t\t} else return false;\n\t\tif (!hasOverscrollBehavior && (scroll >= maxScroll || scroll <= 0)) return true;\n\t\treturn (delta > 0 ? scroll < maxScroll : scroll > 0) && hasOverflow && isScrollable;\n\t}\n\t/**\n\t* The root element on which lenis is instanced\n\t*/\n\tget rootElement() {\n\t\treturn this.options.wrapper === window ? document.documentElement : this.options.wrapper;\n\t}\n\t/**\n\t* The limit which is the maximum scroll value\n\t*/\n\tget limit() {\n\t\tif (this.options.naiveDimensions) {\n\t\t\tif (this.isHorizontal) return this.rootElement.scrollWidth - this.rootElement.clientWidth;\n\t\t\treturn this.rootElement.scrollHeight - this.rootElement.clientHeight;\n\t\t}\n\t\treturn this.dimensions.limit[this.isHorizontal ? \"x\" : \"y\"];\n\t}\n\t/**\n\t* Whether or not the scroll is horizontal\n\t*/\n\tget isHorizontal() {\n\t\treturn this.options.orientation === \"horizontal\";\n\t}\n\t/**\n\t* The actual scroll value\n\t*/\n\tget actualScroll() {\n\t\tconst wrapper = this.options.wrapper;\n\t\treturn this.isHorizontal ? wrapper.scrollX ?? wrapper.scrollLeft : wrapper.scrollY ?? wrapper.scrollTop;\n\t}\n\t/**\n\t* The current scroll value\n\t*/\n\tget scroll() {\n\t\treturn this.options.infinite ? modulo(this.animatedScroll, this.limit) : this.animatedScroll;\n\t}\n\t/**\n\t* The progress of the scroll relative to the limit\n\t*/\n\tget progress() {\n\t\treturn this.limit === 0 ? 1 : this.scroll / this.limit;\n\t}\n\t/**\n\t* Current scroll state\n\t*/\n\tget isScrolling() {\n\t\treturn this._isScrolling;\n\t}\n\tset isScrolling(value) {\n\t\tif (this._isScrolling !== value) {\n\t\t\tthis._isScrolling = value;\n\t\t\tthis.updateClassName();\n\t\t}\n\t}\n\t/**\n\t* Check if lenis is stopped\n\t*/\n\tget isStopped() {\n\t\treturn this._isStopped;\n\t}\n\tset isStopped(value) {\n\t\tif (this._isStopped !== value) {\n\t\t\tthis._isStopped = value;\n\t\t\tthis.updateClassName();\n\t\t}\n\t}\n\t/**\n\t* Check if lenis is locked\n\t*/\n\tget isLocked() {\n\t\treturn this._isLocked;\n\t}\n\tset isLocked(value) {\n\t\tif (this._isLocked !== value) {\n\t\t\tthis._isLocked = value;\n\t\t\tthis.updateClassName();\n\t\t}\n\t}\n\t/**\n\t* Check if lenis is smooth scrolling\n\t*/\n\tget isSmooth() {\n\t\treturn this.isScrolling === \"smooth\";\n\t}\n\t/**\n\t* The class name applied to the wrapper element\n\t*/\n\tget className() {\n\t\tlet className = \"lenis\";\n\t\tif (this.options.autoToggle) className += \" lenis-autoToggle\";\n\t\tif (this.isStopped) className += \" lenis-stopped\";\n\t\tif (this.isLocked) className += \" lenis-locked\";\n\t\tif (this.isScrolling) className += \" lenis-scrolling\";\n\t\tif (this.isScrolling === \"smooth\") className += \" lenis-smooth\";\n\t\treturn className;\n\t}\n\tupdateClassName() {\n\t\tthis.cleanUpClassName();\n\t\tthis.className.split(\" \").forEach((className) => {\n\t\t\tthis.rootElement.classList.add(className);\n\t\t});\n\t}\n\tcleanUpClassName() {\n\t\tfor (const className of Array.from(this.rootElement.classList)) if (className === \"lenis\" || className.startsWith(\"lenis-\")) this.rootElement.classList.remove(className);\n\t}\n};\n//#endregion\nexport { Lenis as default };\n\n//# sourceMappingURL=lenis.mjs.map","//#region packages/snap/src/debounce.ts\nfunction debounce(callback, delay) {\n\tlet timer;\n\treturn function(...args) {\n\t\tclearTimeout(timer);\n\t\ttimer = setTimeout(() => {\n\t\t\ttimer = void 0;\n\t\t\tcallback.apply(this, args);\n\t\t}, delay);\n\t};\n}\n//#endregion\n//#region packages/snap/src/element.ts\nfunction removeParentSticky(element) {\n\tif (getComputedStyle(element).position === \"sticky\") {\n\t\telement.style.setProperty(\"position\", \"static\");\n\t\telement.dataset.sticky = \"true\";\n\t}\n\tif (element.offsetParent) removeParentSticky(element.offsetParent);\n}\nfunction addParentSticky(element) {\n\tif (element?.dataset?.sticky === \"true\") {\n\t\telement.style.removeProperty(\"position\");\n\t\tdelete element.dataset.sticky;\n\t}\n\tif (element.offsetParent) addParentSticky(element.offsetParent);\n}\nfunction offsetTop(element, accumulator = 0) {\n\tconst top = accumulator + element.offsetTop;\n\tif (element.offsetParent) return offsetTop(element.offsetParent, top);\n\treturn top;\n}\nfunction offsetLeft(element, accumulator = 0) {\n\tconst left = accumulator + element.offsetLeft;\n\tif (element.offsetParent) return offsetLeft(element.offsetParent, left);\n\treturn left;\n}\nfunction scrollTop(element, accumulator = 0) {\n\tconst top = accumulator + element.scrollTop;\n\tif (element.offsetParent) return scrollTop(element.offsetParent, top);\n\treturn top + window.scrollY;\n}\nfunction scrollLeft(element, accumulator = 0) {\n\tconst left = accumulator + element.scrollLeft;\n\tif (element.offsetParent) return scrollLeft(element.offsetParent, left);\n\treturn left + window.scrollX;\n}\nvar SnapElement = class {\n\telement;\n\toptions;\n\talign;\n\trect = {};\n\twrapperResizeObserver;\n\tresizeObserver;\n\tdebouncedWrapperResize;\n\tconstructor(element, { align = [\"start\"], ignoreSticky = true, ignoreTransform = false } = {}) {\n\t\tthis.element = element;\n\t\tthis.options = {\n\t\t\talign,\n\t\t\tignoreSticky,\n\t\t\tignoreTransform\n\t\t};\n\t\tthis.align = [align].flat();\n\t\tthis.debouncedWrapperResize = debounce(this.onWrapperResize, 500);\n\t\tthis.wrapperResizeObserver = new ResizeObserver(this.debouncedWrapperResize);\n\t\tthis.wrapperResizeObserver.observe(document.body);\n\t\tthis.onWrapperResize();\n\t\tthis.resizeObserver = new ResizeObserver(this.onResize);\n\t\tthis.resizeObserver.observe(this.element);\n\t\tthis.setRect({\n\t\t\twidth: this.element.offsetWidth,\n\t\t\theight: this.element.offsetHeight\n\t\t});\n\t}\n\tdestroy() {\n\t\tthis.wrapperResizeObserver.disconnect();\n\t\tthis.resizeObserver.disconnect();\n\t}\n\tsetRect({ top, left, width, height, element } = {}) {\n\t\ttop = top ?? this.rect.top;\n\t\tleft = left ?? this.rect.left;\n\t\twidth = width ?? this.rect.width;\n\t\theight = height ?? this.rect.height;\n\t\telement = element ?? this.rect.element;\n\t\tif (top === this.rect.top && left === this.rect.left && width === this.rect.width && height === this.rect.height && element === this.rect.element) return;\n\t\tthis.rect.top = top;\n\t\tthis.rect.y = top;\n\t\tthis.rect.width = width;\n\t\tthis.rect.height = height;\n\t\tthis.rect.left = left;\n\t\tthis.rect.x = left;\n\t\tthis.rect.bottom = top + height;\n\t\tthis.rect.right = left + width;\n\t}\n\tonWrapperResize = () => {\n\t\tlet top;\n\t\tlet left;\n\t\tif (this.options.ignoreSticky) removeParentSticky(this.element);\n\t\tif (this.options.ignoreTransform) {\n\t\t\ttop = offsetTop(this.element);\n\t\t\tleft = offsetLeft(this.element);\n\t\t} else {\n\t\t\tconst rect = this.element.getBoundingClientRect();\n\t\t\ttop = rect.top + scrollTop(this.element);\n\t\t\tleft = rect.left + scrollLeft(this.element);\n\t\t}\n\t\tif (this.options.ignoreSticky) addParentSticky(this.element);\n\t\tthis.setRect({\n\t\t\ttop,\n\t\t\tleft\n\t\t});\n\t};\n\tonResize = ([entry]) => {\n\t\tif (!entry?.borderBoxSize[0]) return;\n\t\tconst width = entry.borderBoxSize[0].inlineSize;\n\t\tconst height = entry.borderBoxSize[0].blockSize;\n\t\tthis.setRect({\n\t\t\twidth,\n\t\t\theight\n\t\t});\n\t};\n};\n//#endregion\n//#region packages/snap/src/uid.ts\nlet index = 0;\nfunction uid() {\n\treturn index++;\n}\n//#endregion\n//#region packages/snap/src/snap.ts\n/**\n* Snap class to handle the snap functionality\n*\n* @example\n* const snap = new Snap(lenis, {\n*   type: 'mandatory', // 'mandatory', 'proximity' or 'lock'\n*   onSnapStart: (snap) => {\n*     console.log('onSnapStart', snap)\n*   },\n*   onSnapComplete: (snap) => {\n*     console.log('onSnapComplete', snap)\n*   },\n* })\n*\n* snap.add(500) // snap at 500px\n*\n* const removeSnap = snap.add(500)\n*\n* if (someCondition) {\n*   removeSnap()\n* }\n*/\nvar Snap = class {\n\toptions;\n\telements = /* @__PURE__ */ new Map();\n\tsnaps = /* @__PURE__ */ new Map();\n\tviewport = {\n\t\twidth: window.innerWidth,\n\t\theight: window.innerHeight\n\t};\n\tisStopped = false;\n\tonSnapDebounced;\n\tcurrentSnapIndex;\n\tconstructor(lenis, { type = \"proximity\", lerp, easing, duration, distanceThreshold = \"50%\", debounce: debounceDelay = 500, onSnapStart, onSnapComplete } = {}) {\n\t\tthis.lenis = lenis;\n\t\tif (!window.lenis) window.lenis = {};\n\t\twindow.lenis.snap = true;\n\t\tthis.options = {\n\t\t\ttype,\n\t\t\tlerp,\n\t\t\teasing,\n\t\t\tduration,\n\t\t\tdistanceThreshold,\n\t\t\tdebounce: debounceDelay,\n\t\t\tonSnapStart,\n\t\t\tonSnapComplete\n\t\t};\n\t\tthis.onWindowResize();\n\t\twindow.addEventListener(\"resize\", this.onWindowResize);\n\t\tthis.onSnapDebounced = debounce(this.onSnap, this.options.debounce);\n\t\tthis.lenis.on(\"virtual-scroll\", this.onSnapDebounced);\n\t}\n\t/**\n\t* Destroy the snap instance\n\t*/\n\tdestroy() {\n\t\tthis.lenis.off(\"virtual-scroll\", this.onSnapDebounced);\n\t\twindow.removeEventListener(\"resize\", this.onWindowResize);\n\t\tthis.elements.forEach((element) => {\n\t\t\telement.destroy();\n\t\t});\n\t}\n\t/**\n\t* Start the snap after it has been stopped\n\t*/\n\tstart() {\n\t\tthis.isStopped = false;\n\t}\n\t/**\n\t* Stop the snap\n\t*/\n\tstop() {\n\t\tthis.isStopped = true;\n\t}\n\t/**\n\t* Add a snap to the snap instance\n\t*\n\t* @param value The value to snap to\n\t* @param userData User data that will be forwarded through the snap event\n\t* @returns Unsubscribe function\n\t*/\n\tadd(value) {\n\t\tconst id = uid();\n\t\tthis.snaps.set(id, { value });\n\t\treturn () => this.snaps.delete(id);\n\t}\n\t/**\n\t* Add an element to the snap instance\n\t*\n\t* @param element The element to add\n\t* @param options The options for the element\n\t* @returns Unsubscribe function\n\t*/\n\taddElement(element, options = {}) {\n\t\tconst id = uid();\n\t\tthis.elements.set(id, new SnapElement(element, options));\n\t\treturn () => this.elements.delete(id);\n\t}\n\taddElements(elements, options = {}) {\n\t\tconst map = [...elements].map((element) => this.addElement(element, options));\n\t\treturn () => {\n\t\t\tmap.forEach((remove) => {\n\t\t\t\tremove();\n\t\t\t});\n\t\t};\n\t}\n\tonWindowResize = () => {\n\t\tthis.viewport.width = window.innerWidth;\n\t\tthis.viewport.height = window.innerHeight;\n\t};\n\tcomputeSnaps = () => {\n\t\tconst { isHorizontal } = this.lenis;\n\t\tlet snaps = [...this.snaps.values()];\n\t\tthis.elements.forEach(({ rect, align }) => {\n\t\t\tlet value;\n\t\t\talign.forEach((align) => {\n\t\t\t\tif (align === \"start\") value = rect.top;\n\t\t\t\telse if (align === \"center\") value = isHorizontal ? rect.left + rect.width / 2 - this.viewport.width / 2 : rect.top + rect.height / 2 - this.viewport.height / 2;\n\t\t\t\telse if (align === \"end\") value = isHorizontal ? rect.left + rect.width - this.viewport.width : rect.top + rect.height - this.viewport.height;\n\t\t\t\tif (typeof value === \"number\") snaps.push({ value: Math.ceil(value) });\n\t\t\t});\n\t\t});\n\t\tsnaps = snaps.sort((a, b) => Math.abs(a.value) - Math.abs(b.value));\n\t\treturn snaps;\n\t};\n\tprevious() {\n\t\tthis.goTo((this.currentSnapIndex ?? 0) - 1);\n\t}\n\tnext() {\n\t\tthis.goTo((this.currentSnapIndex ?? 0) + 1);\n\t}\n\tgoTo(index) {\n\t\tconst snaps = this.computeSnaps();\n\t\tif (snaps.length === 0) return;\n\t\tthis.currentSnapIndex = Math.max(0, Math.min(index, snaps.length - 1));\n\t\tconst currentSnap = snaps[this.currentSnapIndex];\n\t\tif (currentSnap === void 0) return;\n\t\tthis.lenis.scrollTo(currentSnap.value, {\n\t\t\tduration: this.options.duration,\n\t\t\teasing: this.options.easing,\n\t\t\tlerp: this.options.lerp,\n\t\t\tlock: this.options.type === \"lock\",\n\t\t\tuserData: { initiator: \"snap\" },\n\t\t\tonStart: () => {\n\t\t\t\tthis.options.onSnapStart?.({\n\t\t\t\t\tindex: this.currentSnapIndex,\n\t\t\t\t\t...currentSnap\n\t\t\t\t});\n\t\t\t},\n\t\t\tonComplete: () => {\n\t\t\t\tthis.options.onSnapComplete?.({\n\t\t\t\t\tindex: this.currentSnapIndex,\n\t\t\t\t\t...currentSnap\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\tget distanceThreshold() {\n\t\tlet distanceThreshold = Number.POSITIVE_INFINITY;\n\t\tif (this.options.type === \"mandatory\") return Number.POSITIVE_INFINITY;\n\t\tconst { isHorizontal } = this.lenis;\n\t\tconst axis = isHorizontal ? \"width\" : \"height\";\n\t\tif (typeof this.options.distanceThreshold === \"string\" && this.options.distanceThreshold.endsWith(\"%\")) distanceThreshold = Number(this.options.distanceThreshold.replace(\"%\", \"\")) / 100 * this.viewport[axis];\n\t\telse if (typeof this.options.distanceThreshold === \"number\") distanceThreshold = this.options.distanceThreshold;\n\t\telse distanceThreshold = this.viewport[axis];\n\t\treturn distanceThreshold;\n\t}\n\tonSnap = (e) => {\n\t\tif (this.isStopped) return;\n\t\tif (e.event.type === \"touchmove\") return;\n\t\tif (this.options.type === \"lock\" && this.lenis.userData?.initiator === \"snap\") return;\n\t\tlet { scroll, isHorizontal } = this.lenis;\n\t\tconst delta = isHorizontal ? e.deltaX : e.deltaY;\n\t\tscroll = Math.ceil(this.lenis.scroll + delta);\n\t\tconst snaps = this.computeSnaps();\n\t\tif (snaps.length === 0) return;\n\t\tlet snapIndex;\n\t\tconst prevSnapIndex = snaps.findLastIndex(({ value }) => value < scroll);\n\t\tconst nextSnapIndex = snaps.findIndex(({ value }) => value > scroll);\n\t\tif (this.options.type === \"lock\") {\n\t\t\tif (delta > 0) snapIndex = nextSnapIndex;\n\t\t\telse if (delta < 0) snapIndex = prevSnapIndex;\n\t\t} else {\n\t\t\tconst prevSnap = snaps[prevSnapIndex];\n\t\t\tconst distanceToPrevSnap = prevSnap ? Math.abs(scroll - prevSnap.value) : Number.POSITIVE_INFINITY;\n\t\t\tconst nextSnap = snaps[nextSnapIndex];\n\t\t\tsnapIndex = distanceToPrevSnap < (nextSnap ? Math.abs(scroll - nextSnap.value) : Number.POSITIVE_INFINITY) ? prevSnapIndex : nextSnapIndex;\n\t\t}\n\t\tif (snapIndex === void 0) return;\n\t\tif (snapIndex === -1) return;\n\t\tsnapIndex = Math.max(0, Math.min(snapIndex, snaps.length - 1));\n\t\tconst snap = snaps[snapIndex];\n\t\tif (Math.abs(scroll - snap.value) <= this.distanceThreshold) this.goTo(snapIndex);\n\t};\n\tresize() {\n\t\tthis.elements.forEach((element) => {\n\t\t\telement.onWrapperResize();\n\t\t});\n\t}\n};\n//#endregion\nexport { Snap as default };\n\n//# sourceMappingURL=lenis-snap.mjs.map","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import Lenis from\"https://unpkg.com/lenis@1.3.23/dist/lenis.mjs\";import Snap from\"https://unpkg.com/lenis@1.3.23/dist/lenis-snap.mjs\";import{useEffect,useRef,Children,isValidElement,cloneElement}from\"react\";/**\n * @framerSupportedLayoutHeight any\n * @framerSupportedLayoutWidth any\n * @framerDisableUnlink\n */export default function Component({smooth,infinite,orientation,intensity,children,snap}){const wrapperRef=useRef();const contentRef=useRef();const lenisRef=useRef();useEffect(()=>{if(children&&(!wrapperRef.current||!contentRef.current))return;if(wrapperRef.current&&contentRef.current){if(orientation===\"horizontal\"){wrapperRef.current.style.setProperty(\"overflowX\",\"auto\");}else{wrapperRef.current.style.setProperty(\"overflowY\",\"auto\");}}const lenis=new Lenis({smoothWheel:smooth,// duration: intensity / 10,\ninfinite,orientation,gestureOrientation:orientation===\"horizontal\"?\"both\":\"vertical\",autoRaf:true,autoToggle:true,anchors:true,allowNestedScroll:true,wrapper:wrapperRef.current,content:contentRef.current,syncTouch:Boolean(infinite)||orientation===\"horizontal\",stopInertiaOnNavigate:true});lenisRef.current=lenis;let lenisSnap;if(snap&&snap.snaps.length>0){lenisSnap=new Snap(lenis,{type:snap.type,distanceThreshold:snap.threshold+\"%\"});snap.snaps.forEach(item=>{if(!item.target?.current)return;const id=item.target.current.id;// workaround when content is duplicated by LenisSeamlessInfinite\nconst elements=document.querySelectorAll(`#${id}`);elements.forEach(element=>{lenisSnap.addElement(element,{align:item.align});});});}window.lenis=lenis;window.lenisSnap=snap;return()=>{if(lenis)lenis.destroy();if(lenisSnap)lenisSnap.destroy();};},[smooth,infinite,orientation,intensity,children,snap]);// useEffect(() => {\n//     function onClick(event: PointerEvent | MouseEvent) {\n//         const path = event.composedPath()\n//         const pageLink = path.find(\n//             (node) =>\n//                 node instanceof HTMLAnchorElement &&\n//                 (node.getAttribute(\"href\")?.startsWith(\"./\") ||\n//                     node.getAttribute(\"href\")?.startsWith(\"../\"))\n//         ) as HTMLAnchorElement | undefined\n//         if (pageLink) {\n//             if (lenisRef.current) {\n//                 lenisRef.current.reset()\n//             }\n//         }\n//     }\n//     window.addEventListener(\"click\", onClick)\n//     return () => {\n//         window.removeEventListener(\"click\", onClick)\n//     }\n// }, [])\nreturn /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"link\",{href:\"https://unpkg.com/lenis@1.3.23/dist/lenis.css\",rel:\"stylesheet\"}),children&&/*#__PURE__*/_jsx(_Fragment,{children:/*#__PURE__*/_jsx(\"div\",{ref:wrapperRef,style:orientation===\"horizontal\"?{overflowX:\"auto\",width:\"100%\"}:{overflowY:\"auto\",height:\"100%\"},children:/*#__PURE__*/_jsx(\"div\",{ref:contentRef,style:{width:\"100%\"},children:Children.map(children,child=>/*#__PURE__*/isValidElement(child)?/*#__PURE__*/cloneElement(child,{style:{...child.props.style,width:\"100%\"}}):child)})})})]});}Component.displayName=\"Lenis\";addPropertyControls(Component,{smooth:{type:ControlType.Boolean,title:\"Smooth\",defaultValue:true},intensity:{type:ControlType.Number,title:\"Intensity\",defaultValue:12,step:1,min:1,max:100,hidden(props){return props.smooth===false;},description:\"This will be ignored on mobile.\"},infinite:{type:ControlType.Boolean,title:\"Infinite\",defaultValue:false,hidden(props){return props.smooth===false;}},orientation:{type:ControlType.Enum,defaultValue:\"Vertical\",displaySegmentedControl:true,options:[\"vertical\",\"horizontal\"],optionTitles:[\"Vertical\",\"Horizontal\"],hidden(props){return props.smooth===false;}},children:{type:ControlType.ComponentInstance,title:\"Content\"},snap:{type:ControlType.Object,optional:true,description:\"Cooked and served by [darkroom.engineering](https://darkroom.engineering).\",controls:{type:{type:ControlType.Enum,defaultValue:\"proximity\",displaySegmentedControl:true,segmentedControlDirection:\"vertical\",options:[\"proximity\",\"mandatory\",\"lock\"],optionTitles:[\"Proximity\",\"Mandatory\",\"Lock\"]},threshold:{type:ControlType.Number,defaultValue:50,min:0,max:100,unit:\"%\",hidden:props=>{return props.snap.type===\"mandatory\";}},snaps:{type:ControlType.Array,control:{type:ControlType.Object,controls:{target:{title:\"Target\",type:ControlType.ScrollSectionRef},align:{type:ControlType.Enum,defaultValue:\"center\",displaySegmentedControl:true,segmentedControlDirection:\"horizontal\",options:[\"start\",\"center\",\"end\"],optionIcons:[\"align-top\",\"align-middle\",\"align-bottom\"]}}}}}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Component\",\"slots\":[\"children\"],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerSupportedLayoutWidth\":\"any\",\"framerSupportedLayoutHeight\":\"any\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Lenis.map","import { ControlType } from \"framer\";\nexport const fontStack = `\"Inter\", system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"`;\nexport const containerStyles = {\n    position: \"relative\",\n    width: \"100%\",\n    height: \"100%\",\n    display: \"flex\",\n    justifyContent: \"center\",\n    alignItems: \"center\"\n};\nexport const emptyStateStyle = {\n    ...containerStyles,\n    borderRadius: 6,\n    background: \"rgba(136, 85, 255, 0.3)\",\n    color: \"#85F\",\n    border: \"1px dashed #85F\",\n    flexDirection: \"column\"\n};\nexport const defaultEvents = {\n    onClick: {\n        type: ControlType.EventHandler\n    },\n    onMouseEnter: {\n        type: ControlType.EventHandler\n    },\n    onMouseLeave: {\n        type: ControlType.EventHandler\n    }\n};\nexport const fontSizeOptions = {\n    type: ControlType.Number,\n    title: \"Font Size\",\n    min: 2,\n    max: 200,\n    step: 1,\n    displayStepper: true\n};\nexport const fontControls = {\n    font: {\n        type: ControlType.Boolean,\n        title: \"Font\",\n        defaultValue: false,\n        disabledTitle: \"Default\",\n        enabledTitle: \"Custom\"\n    },\n    fontFamily: {\n        type: ControlType.String,\n        title: \"Family\",\n        placeholder: \"Inter\",\n        hidden: ({ font  })=>!font\n    },\n    fontWeight: {\n        type: ControlType.Enum,\n        title: \"Weight\",\n        options: [\n            100,\n            200,\n            300,\n            400,\n            500,\n            600,\n            700,\n            800,\n            900\n        ],\n        optionTitles: [\n            \"Thin\",\n            \"Extra-light\",\n            \"Light\",\n            \"Regular\",\n            \"Medium\",\n            \"Semi-bold\",\n            \"Bold\",\n            \"Extra-bold\",\n            \"Black\", \n        ],\n        hidden: ({ font  })=>!font\n    }\n};\n// @TODO check if we're missing anything here — there doesn't seem to be a reliable browser API for this\nexport const localeOptions = {\n    af: \"Afrikaans\",\n    sq: \"Albanian\",\n    an: \"Aragonese\",\n    ar: \"Arabic (Standard)\",\n    \"ar-dz\": \"Arabic (Algeria)\",\n    \"ar-bh\": \"Arabic (Bahrain)\",\n    \"ar-eg\": \"Arabic (Egypt)\",\n    \"ar-iq\": \"Arabic (Iraq)\",\n    \"ar-jo\": \"Arabic (Jordan)\",\n    \"ar-kw\": \"Arabic (Kuwait)\",\n    \"ar-lb\": \"Arabic (Lebanon)\",\n    \"ar-ly\": \"Arabic (Libya)\",\n    \"ar-ma\": \"Arabic (Morocco)\",\n    \"ar-om\": \"Arabic (Oman)\",\n    \"ar-qa\": \"Arabic (Qatar)\",\n    \"ar-sa\": \"Arabic (Saudi Arabia)\",\n    \"ar-sy\": \"Arabic (Syria)\",\n    \"ar-tn\": \"Arabic (Tunisia)\",\n    \"ar-ae\": \"Arabic (U.A.E.)\",\n    \"ar-ye\": \"Arabic (Yemen)\",\n    hy: \"Armenian\",\n    as: \"Assamese\",\n    ast: \"Asturian\",\n    az: \"Azerbaijani\",\n    eu: \"Basque\",\n    bg: \"Bulgarian\",\n    be: \"Belarusian\",\n    bn: \"Bengali\",\n    bs: \"Bosnian\",\n    br: \"Breton\",\n    my: \"Burmese\",\n    ca: \"Catalan\",\n    ch: \"Chamorro\",\n    ce: \"Chechen\",\n    zh: \"Chinese\",\n    \"zh-hk\": \"Chinese (Hong Kong)\",\n    \"zh-cn\": \"Chinese (PRC)\",\n    \"zh-sg\": \"Chinese (Singapore)\",\n    \"zh-tw\": \"Chinese (Taiwan)\",\n    cv: \"Chuvash\",\n    co: \"Corsican\",\n    cr: \"Cree\",\n    hr: \"Croatian\",\n    cs: \"Czech\",\n    da: \"Danish\",\n    nl: \"Dutch (Standard)\",\n    \"nl-be\": \"Dutch (Belgian)\",\n    en: \"English\",\n    \"en-au\": \"English (Australia)\",\n    \"en-bz\": \"English (Belize)\",\n    \"en-ca\": \"English (Canada)\",\n    \"en-ie\": \"English (Ireland)\",\n    \"en-jm\": \"English (Jamaica)\",\n    \"en-nz\": \"English (New Zealand)\",\n    \"en-ph\": \"English (Philippines)\",\n    \"en-za\": \"English (South Africa)\",\n    \"en-tt\": \"English (Trinidad & Tobago)\",\n    \"en-gb\": \"English (United Kingdom)\",\n    \"en-us\": \"English (United States)\",\n    \"en-zw\": \"English (Zimbabwe)\",\n    eo: \"Esperanto\",\n    et: \"Estonian\",\n    fo: \"Faeroese\",\n    fa: \"Farsi\",\n    fj: \"Fijian\",\n    fi: \"Finnish\",\n    fr: \"French (Standard)\",\n    \"fr-be\": \"French (Belgium)\",\n    \"fr-ca\": \"French (Canada)\",\n    \"fr-fr\": \"French (France)\",\n    \"fr-lu\": \"French (Luxembourg)\",\n    \"fr-mc\": \"French (Monaco)\",\n    \"fr-ch\": \"French (Switzerland)\",\n    fy: \"Frisian\",\n    fur: \"Friulian\",\n    gd: \"Gaelic (Scots)\",\n    \"gd-ie\": \"Gaelic (Irish)\",\n    gl: \"Galacian\",\n    ka: \"Georgian\",\n    de: \"German (Standard)\",\n    \"de-at\": \"German (Austria)\",\n    \"de-de\": \"German (Germany)\",\n    \"de-li\": \"German (Liechtenstein)\",\n    \"de-lu\": \"German (Luxembourg)\",\n    \"de-ch\": \"German (Switzerland)\",\n    el: \"Greek\",\n    gu: \"Gujurati\",\n    ht: \"Haitian\",\n    he: \"Hebrew\",\n    hi: \"Hindi\",\n    hu: \"Hungarian\",\n    is: \"Icelandic\",\n    id: \"Indonesian\",\n    iu: \"Inuktitut\",\n    ga: \"Irish\",\n    it: \"Italian (Standard)\",\n    \"it-ch\": \"Italian (Switzerland)\",\n    ja: \"Japanese\",\n    kn: \"Kannada\",\n    ks: \"Kashmiri\",\n    kk: \"Kazakh\",\n    km: \"Khmer\",\n    ky: \"Kirghiz\",\n    tlh: \"Klingon\",\n    ko: \"Korean\",\n    \"ko-kp\": \"Korean (North Korea)\",\n    \"ko-kr\": \"Korean (South Korea)\",\n    la: \"Latin\",\n    lv: \"Latvian\",\n    lt: \"Lithuanian\",\n    lb: \"Luxembourgish\",\n    mk: \"FYRO Macedonian\",\n    ms: \"Malay\",\n    ml: \"Malayalam\",\n    mt: \"Maltese\",\n    mi: \"Maori\",\n    mr: \"Marathi\",\n    mo: \"Moldavian\",\n    nv: \"Navajo\",\n    ng: \"Ndonga\",\n    ne: \"Nepali\",\n    no: \"Norwegian\",\n    nb: \"Norwegian (Bokmal)\",\n    nn: \"Norwegian (Nynorsk)\",\n    oc: \"Occitan\",\n    or: \"Oriya\",\n    om: \"Oromo\",\n    \"fa-ir\": \"Persian/Iran\",\n    pl: \"Polish\",\n    pt: \"Portuguese\",\n    \"pt-br\": \"Portuguese (Brazil)\",\n    pa: \"Punjabi\",\n    \"pa-in\": \"Punjabi (India)\",\n    \"pa-pk\": \"Punjabi (Pakistan)\",\n    qu: \"Quechua\",\n    rm: \"Rhaeto-Romanic\",\n    ro: \"Romanian\",\n    \"ro-mo\": \"Romanian (Moldavia)\",\n    ru: \"Russian\",\n    \"ru-mo\": \"Russian (Moldavia)\",\n    sz: \"Sami (Lappish)\",\n    sg: \"Sango\",\n    sa: \"Sanskrit\",\n    sc: \"Sardinian\",\n    sd: \"Sindhi\",\n    si: \"Singhalese\",\n    sr: \"Serbian\",\n    sk: \"Slovak\",\n    sl: \"Slovenian\",\n    so: \"Somani\",\n    sb: \"Sorbian\",\n    es: \"Spanish\",\n    \"es-ar\": \"Spanish (Argentina)\",\n    \"es-bo\": \"Spanish (Bolivia)\",\n    \"es-cl\": \"Spanish (Chile)\",\n    \"es-co\": \"Spanish (Colombia)\",\n    \"es-cr\": \"Spanish (Costa Rica)\",\n    \"es-do\": \"Spanish (Dominican Republic)\",\n    \"es-ec\": \"Spanish (Ecuador)\",\n    \"es-sv\": \"Spanish (El Salvador)\",\n    \"es-gt\": \"Spanish (Guatemala)\",\n    \"es-hn\": \"Spanish (Honduras)\",\n    \"es-mx\": \"Spanish (Mexico)\",\n    \"es-ni\": \"Spanish (Nicaragua)\",\n    \"es-pa\": \"Spanish (Panama)\",\n    \"es-py\": \"Spanish (Paraguay)\",\n    \"es-pe\": \"Spanish (Peru)\",\n    \"es-pr\": \"Spanish (Puerto Rico)\",\n    \"es-es\": \"Spanish (Spain)\",\n    \"es-uy\": \"Spanish (Uruguay)\",\n    \"es-ve\": \"Spanish (Venezuela)\",\n    sx: \"Sutu\",\n    sw: \"Swahili\",\n    sv: \"Swedish\",\n    \"sv-fi\": \"Swedish (Finland)\",\n    \"sv-sv\": \"Swedish (Sweden)\",\n    ta: \"Tamil\",\n    tt: \"Tatar\",\n    te: \"Teluga\",\n    th: \"Thai\",\n    tig: \"Tigre\",\n    ts: \"Tsonga\",\n    tn: \"Tswana\",\n    tr: \"Turkish\",\n    tk: \"Turkmen\",\n    uk: \"Ukrainian\",\n    hsb: \"Upper Sorbian\",\n    ur: \"Urdu\",\n    ve: \"Venda\",\n    vi: \"Vietnamese\",\n    vo: \"Volapuk\",\n    wa: \"Walloon\",\n    cy: \"Welsh\",\n    xh: \"Xhosa\",\n    ji: \"Yiddish\",\n    zu: \"Zulu\"\n};\n\nexport const __FramerMetadata__ = {\"exports\":{\"fontSizeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontStack\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"emptyStateStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./constants.map","import { useIsInCurrentNavigationTarget } from \"framer\";\nimport { useEffect } from \"react\";\nexport function useOnEnter(onEnter, enabled) {\n    return useOnSpecificTargetChange(true, onEnter, enabled);\n}\nexport function useOnExit(onExit, enabled) {\n    return useOnSpecificTargetChange(false, onExit, enabled);\n}\nfunction useOnSpecificTargetChange(goal, callback, enabled = true) {\n    const isInTarget = useIsInCurrentNavigationTarget();\n    useEffect(()=>{\n        if (enabled && isInTarget === goal) callback();\n    }, [\n        isInTarget\n    ]);\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useOnEnter\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnExit\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useOnNavigationTargetChange.map","import { useRef } from \"react\";\n/**\n * Creates a constant value over the lifecycle of a component.\n *\n * Even if `useMemo` is provided an empty array as its final argument, it doesn't offer\n * a guarantee that it won't re-run for performance reasons later on. By using `useConstant`\n * you can ensure that initialisers don't execute twice or more.\n */ export function useConstant(init) {\n    const ref = useRef(null);\n    if (ref.current === null) {\n        ref.current = init();\n    }\n    return ref.current;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useConstant\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useConstant.map","import { Color } from \"framer\";\nexport function colorFromToken(color) {\n    if (color.startsWith(\"var(--token-\")) return \"rgb\" + color.split(\") /*\")[0].split(\", rgb\")[1];\n    return color;\n}\nexport function colorTokentoValue(color) {\n    return Color(colorFromToken(color)).toValue();\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"colorFromToken\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorTokentoValue\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./colorFromToken.map","import { MotionValue } from \"framer\";\nexport const isMotionValue = (v)=>v instanceof MotionValue\n;\n\nexport const __FramerMetadata__ = {\"exports\":{\"isMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./isMotionValue.map","import * as React from \"react\";\nconst letters = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\";\nconst l = ()=>letters[Math.floor(Math.random() * letters.length)]\n;\nexport const randomID = ()=>l() + l() + l() + l() + l() + l() + l() + l() + l()\n;\nfunction createUniqueClass(suffix) {\n    return `framer-${suffix}-${randomID()}`;\n}\nexport function useUniqueClassName(suffix, deps) {\n    const [className, setClassName] = React.useState(createUniqueClass(suffix));\n    React.useEffect(()=>{\n        setClassName(createUniqueClass(suffix));\n    }, [\n        suffix,\n        ...deps\n    ]);\n    return className;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useUniqueClassName\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"randomID\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useUniqueClassName.map","import { ControlType } from \"framer\";\n// I realize this only applies to select right now\n// but we can work on it in here\nexport function getVariantControls(Component, variant, additionalControls = {\n}) {\n    return {\n        [`${variant}TextColor`]: {\n            type: ControlType.Color,\n            title: \"Text Color\",\n            defaultValue: Component.defaultProps[`${variant}TextColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}IconColor`]: {\n            type: ControlType.Color,\n            title: \"Icon Color\",\n            defaultValue: Component.defaultProps[`${variant}IconColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}BackgroundColor`]: {\n            type: ControlType.Color,\n            title: \"Bg Color\",\n            defaultValue: Component.defaultProps[`${variant}BackgroundColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}BorderColor`]: {\n            type: ControlType.Color,\n            title: \"Border Color\",\n            defaultValue: Component.defaultProps[`${variant}BorderColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}BorderWidth`]: {\n            type: ControlType.Number,\n            title: \" \",\n            min: 0,\n            max: 5,\n            displayStepper: true,\n            defaultValue: Component.defaultProps[`${variant}BorderWidth`],\n            hidden: (props)=>props.variant !== variant\n        },\n        ...additionalControls\n    };\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"getVariantControls\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./variantUtils.map","import { useMemo } from \"react\";\nexport const isBrowserSafari = ()=>{\n    if (typeof navigator !== `undefined`) {\n        const userAgent = navigator.userAgent.toLowerCase();\n        const isSafari = (userAgent.indexOf(\"safari\") > -1 || userAgent.indexOf(\"framermobile\") > -1 || userAgent.indexOf(\"framerx\") > -1) && userAgent.indexOf(\"chrome\") < 0;\n        return isSafari;\n    } else return false;\n};\nexport const useIsBrowserSafari = ()=>useMemo(()=>isBrowserSafari()\n    , [])\n;\n\nexport const __FramerMetadata__ = {\"exports\":{\"useIsBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./isBrowser.map","import { useEffect } from \"react\";\n//@ts-ignore\nimport { isMotionValue } from \"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";\nexport function useOnChange(value, callback) {\n    useEffect(()=>// @ts-ignore this should be detected as a MV :shrug:\n        isMotionValue(value) ? value.onChange(callback) : undefined\n    );\n}\nexport function useMultiOnChange(values, handler) {\n    useEffect(()=>{\n        const subscriptions = values.map((value)=>value.onChange(handler)\n        );\n        return ()=>subscriptions.forEach((unsubscribe)=>unsubscribe()\n            )\n        ;\n    });\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"Subscriber\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnChange\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useMultiOnChange\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useOnChange.map","import { useCallback, useEffect, useRef } from \"react\";\nimport { motionValue, animate, RenderTarget } from \"framer\";\n// @ts-ignore\nimport { isMotionValue } from \"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";\n// @ts-ignore\nimport { useConstant } from \"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js\";\nexport function useAutoMotionValue(inputValue, options) {\n    var ref;\n    // Put options on a local ref\n    // Might wanna just memo instead but it works for now\n    const optionsRef = useRef(options);\n    const animation = useRef();\n    const didInitialMount = useRef(false);\n    const isOnCanvas = RenderTarget.current() === RenderTarget.canvas;\n    // in-progress - trying to figure out effect hooks\n    const onChangeDeps = (options === null || options === void 0 ? void 0 : options.onChangeDeps) ? options.onChangeDeps : [];\n    // Memoize the onChange handler\n    const onChange = useCallback(options === null || options === void 0 ? void 0 : options.onChange, [\n        ...onChangeDeps, \n    ]);\n    // Optionally scale the value from props\n    const transformer = useCallback((value)=>((ref = optionsRef.current) === null || ref === void 0 ? void 0 : ref.transform) ? optionsRef.current.transform(value) : value\n    , []);\n    // Create new MotionValue from inputValue\n    const value = useConstant(()=>isMotionValue(inputValue) ? inputValue : motionValue(transformer(inputValue))\n    );\n    // Setting value from prop change\n    useEffect(()=>{\n        if (!isMotionValue(inputValue) && didInitialMount.current) {\n            var ref1, ref2;\n            const newValue = transformer(inputValue);\n            (ref1 = animation.current) === null || ref1 === void 0 ? void 0 : ref1.stop();\n            // Call change callback\n            if (onChange) onChange(newValue, value);\n            // Trigger animation to new value\n            if (((ref2 = optionsRef.current) === null || ref2 === void 0 ? void 0 : ref2.animate) && !isOnCanvas) {\n                var ref3;\n                // @ts-ignore\n                animation.current = animate(value, newValue, (ref3 = optionsRef.current) === null || ref3 === void 0 ? void 0 : ref3.transition);\n            } else {\n                value.set(newValue);\n            }\n        }\n        didInitialMount.current = true;\n    }, [\n        inputValue,\n        ...onChangeDeps\n    ]);\n    return value;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useAutoMotionValue\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}","// @ts-ignore\nimport{fontStore}from\"framer\";import{useEffect}from\"react\";import{fontStack}from\"https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js\";const fontWeights={100:\"Thin\",200:\"Extra-light\",300:\"Light\",400:\"Regular\",500:\"Medium\",600:\"Semi-bold\",700:\"Bold\",800:\"Extra-bold\",900:\"Black\"};export function useFontControls(props){const{fontFamily=\"Inter\",fontSize=16,fontWeight=400,font=false}=props;const fontWeightName=fontWeights[fontWeight];const customFontStack=`\"${fontFamily} ${fontWeightName}\", \"${fontFamily}\", ${fontStack}`;const fontFamilyStyle=fontFamily?{fontSize,fontWeight,fontFamily:customFontStack}:{fontSize,fontWeight};const fetchCustomFonts=async()=>{await fontStore.loadWebFontsFromSelectors([`CUSTOM;${fontFamily}`,`CUSTOM;${fontFamily} ${fontWeightName}`,`GF;${fontFamily}-${fontWeightName.toLowerCase()}`,]).catch(e=>console.error(e));};useEffect(()=>{if(font)fetchCustomFonts();},[font,fontFamily,fontWeight]);return fontFamilyStyle;}\nexport const __FramerMetadata__ = {\"exports\":{\"useFontControls\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useFontControls.map","import { useMemo } from \"react\";\nimport { RenderTarget } from \"framer\";\nexport function useRenderTarget() {\n    const currentRenderTarget = useMemo(()=>RenderTarget.current()\n    , []);\n    return currentRenderTarget;\n}\nexport function useIsInPreview() {\n    const inPreview = useMemo(()=>RenderTarget.current() === RenderTarget.preview\n    , []);\n    return inPreview;\n}\nexport function useIsOnCanvas() {\n    const onCanvas = useMemo(()=>RenderTarget.current() === RenderTarget.canvas\n    , []);\n    return onCanvas;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useIsInPreview\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRenderTarget\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsOnCanvas\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useRenderTarget.map","import * as React from \"react\";\nexport function useControlledState(value) {\n    const [controlledValue, setValue] = React.useState(value);\n    React.useEffect(()=>{\n        setValue(value);\n    }, [\n        value\n    ]);\n    return [\n        controlledValue,\n        setValue\n    ];\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useControlledState\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useControlledState.map","import { useMemo } from \"react\";\nimport { ControlType } from \"framer\";\nexport function useRadius(props) {\n    const { borderRadius , isMixedBorderRadius , topLeftRadius , topRightRadius , bottomRightRadius , bottomLeftRadius ,  } = props;\n    const radiusValue = useMemo(()=>isMixedBorderRadius ? `${topLeftRadius}px ${topRightRadius}px ${bottomRightRadius}px ${bottomLeftRadius}px` : `${borderRadius}px`\n    , [\n        borderRadius,\n        isMixedBorderRadius,\n        topLeftRadius,\n        topRightRadius,\n        bottomRightRadius,\n        bottomLeftRadius, \n    ]);\n    return radiusValue;\n}\nexport const borderRadiusControl = {\n    borderRadius: {\n        title: \"Radius\",\n        type: ControlType.FusedNumber,\n        toggleKey: \"isMixedBorderRadius\",\n        toggleTitles: [\n            \"Radius\",\n            \"Radius per corner\"\n        ],\n        valueKeys: [\n            \"topLeftRadius\",\n            \"topRightRadius\",\n            \"bottomRightRadius\",\n            \"bottomLeftRadius\", \n        ],\n        valueLabels: [\n            \"TL\",\n            \"TR\",\n            \"BR\",\n            \"BL\"\n        ],\n        min: 0\n    }\n};\nexport function usePadding(props) {\n    const { padding , paddingPerSide , paddingTop , paddingRight , paddingBottom , paddingLeft ,  } = props;\n    const paddingValue = useMemo(()=>paddingPerSide ? `${paddingTop}px ${paddingRight}px ${paddingBottom}px ${paddingLeft}px` : padding\n    , [\n        padding,\n        paddingPerSide,\n        paddingTop,\n        paddingRight,\n        paddingBottom,\n        paddingLeft, \n    ]);\n    return paddingValue;\n}\nexport const paddingControl = {\n    padding: {\n        type: ControlType.FusedNumber,\n        toggleKey: \"paddingPerSide\",\n        toggleTitles: [\n            \"Padding\",\n            \"Padding per side\"\n        ],\n        valueKeys: [\n            \"paddingTop\",\n            \"paddingRight\",\n            \"paddingBottom\",\n            \"paddingLeft\", \n        ],\n        valueLabels: [\n            \"T\",\n            \"R\",\n            \"B\",\n            \"L\"\n        ],\n        min: 0,\n        title: \"Padding\"\n    }\n};\n\nexport const __FramerMetadata__ = {\"exports\":{\"borderRadiusControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRadius\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RadiusProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PaddingProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"usePadding\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"paddingControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./propUtils.map","import{defaultEvents,localeOptions,fontControls,fontSizeOptions,emptyStateStyle,containerStyles,fontStack}from\"https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js\";import{useOnEnter,useOnExit}from\"https://framerusercontent.com/modules/D4TWeLfcxT6Tysr2BlYg/iZjmqdxVx1EOiM3k1FaW/useOnNavigationTargetChange.js\";import{useConstant}from\"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js\";import{colorTokentoValue,colorFromToken}from\"https://framerusercontent.com/modules/D2Lz5CmnNVPZFFiZXalt/QaCzPbriZBfXWZIIycFI/colorFromToken.js\";import{isMotionValue}from\"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";import{useUniqueClassName,randomID}from\"https://framerusercontent.com/modules/xDiQsqBGXzmMsv7AlEVy/uhunpMiNsbXxzjlXsg1y/useUniqueClassName.js\";import{getVariantControls}from\"https://framerusercontent.com/modules/ETACN5BJyFTSo0VVDJfu/NHRqowOiXkF9UwOzczF7/variantUtils.js\";import{useIsBrowserSafari}from\"https://framerusercontent.com/modules/eMBrwoqQK7h6mEeGQUH8/GuplvPJVjmxpk9zqOTcb/isBrowser.js\";import{useMultiOnChange,useOnChange}from\"https://framerusercontent.com/modules/v9AWX2URmiYsHf7GbctE/XxKAZ9KlhWqf5x1JMyyF/useOnChange.js\";import{mstoMinAndSec,secondsToMinutes}from\"https://framerusercontent.com/modules/4zHZnO5JojN1PrIbu2jm/revv9QCWpkh8lPzi2jje/time.js\";import{useAutoMotionValue}from\"https://framerusercontent.com/modules/kNDwabfjDEb3vUxkQlZS/fSIr3AOAYbGlfSPgXpYu/useAutoMotionValue.js\";import{useFontControls}from\"https://framerusercontent.com/modules/cuQH4dmpDnV8YK1mSgQX/KqRXqunFjE6ufhpc7ZRu/useFontControls.js\";import{useRenderTarget,useIsInPreview,useIsOnCanvas}from\"https://framerusercontent.com/modules/afBE9Yx1W6bY5q32qPxe/m3q7puE2tbo1S2C0s0CT/useRenderTarget.js\";import{useControlledState}from\"https://framerusercontent.com/modules/zGkoP8tPDCkoBzMdt5uq/0zFSjxIYliHxrQQnryFX/useControlledState.js\";import{usePadding,useRadius,paddingControl,borderRadiusControl}from\"https://framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/WXz9i6mVki0bBCrKdqB3/propUtils.js\";import{detectAutoSizingAxis}from\"https://framerusercontent.com/modules/8CkHAZatUz1UR8jNTcfD/HwbnIAZlUmQ2oTpcLkaH/detectAutoSizingAxis.js\";export{useOnEnter,useOnExit,defaultEvents,isMotionValue,colorFromToken,colorTokentoValue,localeOptions,fontControls,fontSizeOptions,emptyStateStyle,containerStyles,fontStack,useUniqueClassName,getVariantControls,useIsBrowserSafari,randomID,useConstant,useMultiOnChange,useOnChange,usePadding,useRadius,paddingControl,borderRadiusControl,mstoMinAndSec,useFontControls,secondsToMinutes,useAutoMotionValue,useRenderTarget,useIsInPreview,useControlledState,detectAutoSizingAxis,useIsOnCanvas,};\nexport const __FramerMetadata__ = {\"exports\":{\"useConstant\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useUniqueClassName\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useMultiOnChange\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnChange\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsOnCanvas\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnExit\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontSizeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorTokentoValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRadius\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getVariantControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorFromToken\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"usePadding\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontStack\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useControlledState\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useFontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useAutoMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"emptyStateStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsInPreview\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"detectAutoSizingAxis\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"borderRadiusControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"mstoMinAndSec\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"randomID\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnEnter\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"secondsToMinutes\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRenderTarget\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"paddingControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}","// ⚠️⚠️⚠️⚠️⚠️\n// Edit these files in https://github.com/framer/FramerCodeComponents\n// ⚠️⚠️⚠️⚠️⚠️\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsInCurrentNavigationTarget,RenderTarget}from\"framer\";import{isMotionValue,useInView}from\"framer-motion\";import{borderRadiusControl,defaultEvents,useIsBrowserSafari,useIsOnCanvas,useOnEnter,useOnExit,useRadius,useRenderTarget}from\"https://framerusercontent.com/modules/G4IfyjvwmaeSBpdb4TWu/OIjZRBmWDcIE2B6qgG1j/index.js\";// https://framer.com/m/framer/default-utils.js@^0.45.0\nimport{memo,useCallback,useEffect,useMemo,useRef,useState}from\"react\";var ObjectFitType;(function(ObjectFitType){ObjectFitType[\"Fill\"]=\"fill\";ObjectFitType[\"Contain\"]=\"contain\";ObjectFitType[\"Cover\"]=\"cover\";ObjectFitType[\"None\"]=\"none\";ObjectFitType[\"ScaleDown\"]=\"scale-down\";})(ObjectFitType||(ObjectFitType={}));var SrcType;(function(SrcType){SrcType[\"Video\"]=\"Upload\";SrcType[\"Url\"]=\"URL\";})(SrcType||(SrcType={}));const defaultVideo=\"https://framerusercontent.com/assets/MLWPbW1dUQawJLhhun3dBwpgJak.mp4\";// Reduce renders\nfunction getProps(props){const{width,height,topLeft,topRight,bottomRight,bottomLeft,id,children,...rest}=props;return rest;}/**\n * VIDEO\n *\n * @framerIntrinsicWidth 200\n * @framerIntrinsicHeight 112\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export function Video(props){const newProps=getProps(props);return /*#__PURE__*/_jsx(VideoMemo,{...newProps});}function usePlaybackControls(videoRef){const isInCurrentNavigationTarget=useIsInCurrentNavigationTarget();const requestingPlay=useRef(false);const isPlayingRef=useRef(false);const setProgress=useCallback(rawProgress=>{if(!videoRef.current)return;const newProgress=(rawProgress===1?.999:rawProgress)*videoRef.current.duration;const isAlreadySet=Math.abs(videoRef.current.currentTime-newProgress)<.1;if(videoRef.current.duration>0&&!isAlreadySet){videoRef.current.currentTime=newProgress;}},[]);const play=useCallback(()=>{const video=videoRef.current;if(!video)return;video.preload=\"auto\"// makes sure browsers don't throttle: https://html.spec.whatwg.org/multipage/media.html#:~:text=When%20the%20media%20resource%20is%20playing%2C%20hints%20to%20the%20user%20agent%20that%20bandwidth%20is%20to%20be%20considered%20scarce%2C%20e.g.%20suggesting%20throttling%20the%20download%20so%20that%20the%20media%20data%20is%20obtained%20at%20the%20slowest%20possible%20rate%20that%20still%20maintains%20consistent%20playback.\n;const isPlaying=video.currentTime>0&&video.onplaying&&!video.paused&&!video.ended&&video.readyState>=video.HAVE_CURRENT_DATA;if(!isPlaying&&video&&!requestingPlay.current&&isInCurrentNavigationTarget){requestingPlay.current=true;isPlayingRef.current=true;video.play().catch(e=>{})// It's likely fine, swallow error\n.finally(()=>requestingPlay.current=false);}},[]);const pause=useCallback(()=>{if(!videoRef.current||requestingPlay.current)return;videoRef.current.pause();isPlayingRef.current=false;},[]);return{play,pause,setProgress,isPlaying:isPlayingRef};}function useAutoplayBehavior({playingProp,muted,loop,playsinline,controls}){const[initialPlayingProp]=useState(playingProp);const[hasPlayingPropChanged,setHasPlayingPropChanged]=useState(false);if(playingProp!==initialPlayingProp&&!hasPlayingPropChanged){setHasPlayingPropChanged(true);}const behavesAsGif=// passing `playing === true` on mount indicates that the video should\n// autoplay, like a GIF\ninitialPlayingProp&&muted&&loop&&playsinline&&!controls&&// Some users of the <Video> component use it by wrapping it with\n// another smart component and adding their own controls on top. (The\n// controls use transitions to control the video: e.g., when clicking\n// the play button, the smart component will transition to a state with\n// <Video playing={true} />.) In this case, we don't want the video to\n// behave as a gif, as it will be weird if the video suddenly started\n// acting as such (and auto-pausing when leaving the viewport) as soon\n// as the site visitor mutes it and clicks “Play”.\n!hasPlayingPropChanged;let autoplay;if(behavesAsGif)autoplay=\"on-viewport\";else if(initialPlayingProp)autoplay=\"on-mount\";else autoplay=\"no-autoplay\";return autoplay;}const VideoMemo=/*#__PURE__*/memo(function VideoInner(props){const{// default props\nsrcType=\"URL\",srcUrl,srcFile=\"\",posterEnabled=false,controls=false,playing=true,loop=true,muted=true,playsinline=true,restartOnEnter=false,objectFit=\"cover\",backgroundColor=\"rgba(0,0,0,0)\",radius=0,volume=25,startTime:startTimeProp=0,poster,playing:playingProp,progress,onSeeked,onPause,onPlay,onEnd,onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp}=props;const videoRef=useRef();const isSafari=useIsBrowserSafari();const wasPausedOnLeave=useRef(null);const wasEndedOnLeave=useRef(null);const isOnCanvas=useIsOnCanvas();const renderTarget=useRenderTarget();const isStaticRenderer=isOnCanvas||renderTarget===RenderTarget.export;const borderRadius=useRadius(props);// Hard-coding `autoplayBehavior` and `isInViewport` when on canvas as a\n// tiny perf optimization. isStaticRenderer won’t change through the lifecycle of\n// the component, so using these hooks conditionally should be safe\nconst autoplayBehavior=isStaticRenderer?\"no-autoplay\":useAutoplayBehavior({playingProp,muted,loop,playsinline,controls});const isInViewport=isStaticRenderer?true:useInView(videoRef);const isCloseToViewport=isStaticRenderer?false:useInView(videoRef,{margin:\"10%\",once:true});// Video elements behave oddly at 100% duration\nconst startTime=startTimeProp===100?99.9:startTimeProp;const{play,pause,setProgress,isPlaying}=usePlaybackControls(videoRef);// Pause/play via props\nuseEffect(()=>{if(isStaticRenderer)return;if(autoplayBehavior===\"on-viewport\")return;if(playingProp)play();else pause();},[autoplayBehavior,playingProp]);// Pause/play via viewport\nuseEffect(()=>{if(isStaticRenderer)return;// this also explicitly retries playing for videos that play on-mount, which could fail if they're not muted for example\nif(isInViewport&&playingProp&&autoplayBehavior!==\"no-autoplay\")play();if(autoplayBehavior!==\"on-viewport\")return;pause();},[autoplayBehavior,isInViewport,playingProp]);useEffect(()=>{if(!isOnCanvas||poster||posterEnabled||startTime||!videoRef.current)return;// forces a poster to show up when the video is in an iframe; this is needed when `poster` changes\nvideoRef.current.currentTime=.01;},[posterEnabled,poster,startTime]);/**\n     * The Video component has some effects that sync the video element with props\n     * like `startTime`, `progress`, etc. React calls these effects whenever these\n     * props change. However, it also calls them on the first mount, and this is\n     * troublesome – if we’re doing SSR, and the user changed the video state before\n     * the video was hydrated, the initial `useEffect` call will reset the video\n     * state. To avoid this, we use this flag.\n     */const isMountedAndReadyForProgressChanges=useRef(false);// Allow scrubbling via progress prop\n// 1) Handle cases when the progress prop itself changes\nuseEffect(()=>{if(!isMountedAndReadyForProgressChanges.current){isMountedAndReadyForProgressChanges.current=true;return;}const rawProgressValue=isMotionValue(progress)?progress.get():(progress??0)*.01;setProgress(// When the progress value exists (e.g. <Video startTime={10}\n// progress={50} />), we respect the `progress` value over\n// `startTime`, even if `startTime` changes. That’s because\n// `startTime` == start == changing it shouldn’t affect the current\n// progress\n(rawProgressValue??0)||// Then why fall back to `startTime` when `progress` doesn’t exist,\n// you might ask? Now, that’s for\n// - canvas UX: we want the video progress to change when the user\n//   is scrobbling the “Start Time” in component settings.\n// - backwards compatibility: maybe some users *are* scrobbling\n//   using `startTime` instead of `progress`? We don’t know, and it\n//   always supported it, so let’s not break it\n(startTime??0)/100);},[startTime,srcFile,srcUrl,progress]);// 2) Handle cases when the motion value inside the progress prop changes\nuseEffect(()=>{if(!isMotionValue(progress))return;return progress.on(\"change\",value=>setProgress(value));},[progress]);// (Prototyping) Checking if we need to play on navigation enter\nuseOnEnter(()=>{if(wasPausedOnLeave.current===null)return;if(videoRef.current){// if (restartOnEnter) setProgress(0)\nif(!wasEndedOnLeave&&loop||!wasPausedOnLeave.current)play();}});// (Prototyping) Pausing & saving playing state on navigation exit\nuseOnExit(()=>{if(videoRef.current){wasEndedOnLeave.current=videoRef.current.ended;wasPausedOnLeave.current=videoRef.current.paused;pause();}});const src=useMemo(()=>{let fragment=\"\";// if (\n//     startTime > 0 &&\n//     videoRef.current &&\n//     !isNaN(videoRef.current.duration) &&\n//     !isStaticRenderer\n// ) {\n//     console.log(startTime, videoRef.current.duration)\n//     fragment = `#t=${startTime * videoRef.current.duration}`\n// }\nif(srcType===\"URL\")return srcUrl+fragment;if(srcType===\"Upload\")return srcFile+fragment;},[srcType,srcFile,srcUrl,startTime]);// Autoplay via JS to work in Safari\nuseEffect(()=>{if(isSafari&&videoRef.current&&autoplayBehavior===\"on-mount\"){setTimeout(()=>play(),50);}},[]);// Volume Control\nuseEffect(()=>{if(videoRef.current&&!muted)videoRef.current.volume=(volume??0)/100;},[volume]);// When video is ready, set start-time, then autoplay if needed\nconst handleReady=()=>{const video=videoRef.current;if(!video)return;if(video.currentTime<.3&&startTime>0)setProgress((startTime??0)*.01);if(// when the component updates (e.g. only srcFile/url changes), and the video was already playing, keep playing\nisPlaying.current||autoplayBehavior===\"on-mount\"||playingProp&&autoplayBehavior===\"on-viewport\"&&isInViewport)play();};return /*#__PURE__*/_jsx(\"video\",{onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp,src:src,loop:loop,ref:videoRef,onSeeked:e=>onSeeked?.(e),onPause:e=>onPause?.(e),onPlay:e=>onPlay?.(e),onEnded:e=>onEnd?.(e),autoPlay:isPlaying.current||autoplayBehavior===\"on-mount\"||playingProp&&autoplayBehavior===\"on-viewport\"&&isInViewport,preload:isPlaying.current?\"auto\":isStaticRenderer&&!poster?\"metadata\":autoplayBehavior!==\"on-mount\"&&!isCloseToViewport?\"none\":// `autoplay` overrides this too\n\"metadata\",poster:posterEnabled&&!srcFile&&srcUrl===defaultVideo?\"https://framerusercontent.com/images/5ILRvlYXf72kHSVHqpa3snGzjU.jpg\":posterEnabled&&poster?poster:undefined,onLoadedData:handleReady,controls:controls,muted:isStaticRenderer?true:muted,playsInline:playsinline,style:{cursor:!!onClick?\"pointer\":\"auto\",width:\"100%\",height:\"100%\",borderRadius,display:\"block\",objectFit:objectFit,backgroundColor:backgroundColor,objectPosition:\"50% 50%\"}});});Video.displayName=\"Video\";function capitalizeFirstLetter(value){return value.charAt(0).toUpperCase()+value.slice(1);}export function titleCase(value){const groups=value.match(/[A-Z]{2,}|[A-Z][a-z]+|[a-z]+|[A-Z]|\\d+/gu)||[];return groups.map(capitalizeFirstLetter).join(\" \");}const objectFitOptions=[\"cover\",\"fill\",\"contain\",\"scale-down\",\"none\"];addPropertyControls(Video,{srcType:{type:ControlType.Enum,displaySegmentedControl:true,title:\"Source\",options:[\"URL\",\"Upload\"]},srcUrl:{type:ControlType.String,title:\"URL\",defaultValue:\"https://framerusercontent.com/assets/MLWPbW1dUQawJLhhun3dBwpgJak.mp4\",hidden(props){return props.srcType===\"Upload\";}},srcFile:{type:ControlType.File,title:\"File\",allowedFileTypes:[\"mp4\",\"webm\"],description:\"Only MP4 and WebM\",hidden(props){return props.srcType===\"URL\";}},playing:{type:ControlType.Boolean,title:\"Playing\",enabledTitle:\"Yes\",disabledTitle:\"No\"},...borderRadiusControl,posterEnabled:{type:ControlType.Boolean,title:\"Poster\",enabledTitle:\"Yes\",disabledTitle:\"No\"},poster:{type:ControlType.Image,title:\"Image\",hidden:({posterEnabled})=>!posterEnabled,description:\"We recommend adding a poster. [Learn more](https://www.framer.com/help/articles/how-are-videos-optimized-in-framer/).\"},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"rgba(0,0,0,0)\"},startTime:{title:\"Start Time\",type:ControlType.Number,min:0,max:100,step:.1,unit:\"%\"},loop:{type:ControlType.Boolean,title:\"Loop\",enabledTitle:\"Yes\",disabledTitle:\"No\"},objectFit:{type:ControlType.Enum,title:\"Fit\",options:objectFitOptions,optionTitles:objectFitOptions.map(titleCase)},// restartOnEnter: {\n//     type: ControlType.Boolean,\n//     title: \"On ReEnter\",\n//     enabledTitle: \"Restart\",\n//     disabledTitle: \"Resume\",\n// },\ncontrols:{type:ControlType.Boolean,title:\"Controls\",enabledTitle:\"Show\",disabledTitle:\"Hide\",defaultValue:false},muted:{type:ControlType.Boolean,title:\"Muted\",enabledTitle:\"Yes\",disabledTitle:\"No\"},volume:{type:ControlType.Number,max:100,min:0,unit:\"%\",hidden:({muted})=>muted,defaultValue:25},onEnd:{type:ControlType.EventHandler},onSeeked:{type:ControlType.EventHandler},onPause:{type:ControlType.EventHandler},onPlay:{type:ControlType.EventHandler},...defaultEvents});\nexport const __FramerMetadata__ = {\"exports\":{\"titleCase\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Video\":{\"type\":\"reactComponent\",\"name\":\"Video\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"112\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"200\",\"framerContractVersion\":\"1\"}},\"VideoProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Video.map","/*\n * index (framer/default-utils@0.45.0)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/G4IfyjvwmaeSBpdb4TWu/OIjZRBmWDcIE2B6qgG1j/index.js\"\n","import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,motion}from\"framer\";import{containerStyles,useRadius,borderRadiusControl}from\"https://framer.com/m/framer/default-utils.js@^0.45.0\";const coordinatesRegex=/^((?:\\-?|\\+?)?\\d+(?:\\.\\d+)?),\\s*((?:\\-?|\\+?)?\\d+(?:\\.\\d+)?)$/;/**\n * GOOGLE MAPS\n *\n * @framerIntrinsicWidth 600\n * @framerIntrinsicHeight 400\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function GoogleMaps({coordinates,zoom,style,...props}){const borderRadius=useRadius(props);return /*#__PURE__*/_jsx(motion.div,{style:{...style,...containerStyles,overflow:\"hidden\",borderRadius},...props,children:/*#__PURE__*/_jsx(\"iframe\",{style:{height:\"100%\",width:\"100%\",border:0},src:`https://maps.google.com/maps?q=${encodeURIComponent(coordinates)}&z=${zoom}&output=embed`})});}addPropertyControls(GoogleMaps,{coordinates:{type:ControlType.String,title:\"Location\",placeholder:\"Framer B.V.\",defaultValue:\"Framer B.V.\",description:\"The name of the place or its GPS coordinates.\"},zoom:{type:ControlType.Number,step:1,min:0,max:25,title:\"Zoom\",defaultValue:15},...borderRadiusControl});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"GoogleMaps\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"400\",\"framerIntrinsicWidth\":\"600\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./GoogleMaps.map","// Generated by Framer (010e00d)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,getLoadingLazyAtYPosition,Image as Image1,SmartComponentScopedContainer,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import Noise from\"https://framerusercontent.com/modules/bamMgJhjMszHbcnxCtZj/20nHFbpxFqdlchR1dDZF/Noise.js\";import GoogleMaps from\"https://framerusercontent.com/modules/Hbc0lxqGSRzFG6uMT9yO/jZfB18ggDrqER5ihmIsa/GoogleMaps.js\";const GoogleMapsFonts=getFonts(GoogleMaps);const NoiseFonts=getFonts(Noise);const cycleOrder=[\"NN4VD2Wu8\",\"jECZU9SG4\",\"oEcmvv4ns\",\"L44q0lbi6\",\"lbbHSoC2p\",\"jGWV8yLY7\",\"NqxVGklfc\",\"p3p_cJiAm\",\"jyAxZqpxN\"];const serializationHash=\"framer-ID5zg\";const variantClassNames={jECZU9SG4:\"framer-v-eapwh5\",jGWV8yLY7:\"framer-v-1v0vvrz\",jyAxZqpxN:\"framer-v-1virg4v\",L44q0lbi6:\"framer-v-17pnhe7\",lbbHSoC2p:\"framer-v-16w536h\",NN4VD2Wu8:\"framer-v-1x7ssh1\",NqxVGklfc:\"framer-v-6wf6ka\",oEcmvv4ns:\"framer-v-1x5555a\",p3p_cJiAm:\"framer-v-1fpvuo0\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const WcM0DIjaz=undefined;const CoxJtpdvx=undefined;const WAiRY7Omv=undefined;const radiusForCorner=(value,cornerIndex)=>{if(typeof value===\"number\"&&Number.isFinite(value))return Math.max(0,value)+\"px\";if(typeof value!==\"string\"||typeof cornerIndex!==\"number\")return undefined;const segments=value.split(\" \");return segments[cornerIndex]||segments[cornerIndex-2]||segments[0];};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 humanReadableVariantMap={\"Dark Mode\":\"NN4VD2Wu8\",\"Dot Matrix\":\"p3p_cJiAm\",\"Night Mode\":\"oEcmvv4ns\",\"The  Sweetheart\":\"jyAxZqpxN\",Duplex:\"L44q0lbi6\",Gradient:\"jGWV8yLY7\",Grayscale:\"jECZU9SG4\",Inverted:\"NqxVGklfc\",Monochrome:\"lbbHSoC2p\"};const Variants=motion.create(React.Fragment);const getProps=({height,id,location,radius,width,zoom,...props})=>{return{...props,CoxJtpdvx:location??props.CoxJtpdvx??\"40.682732,-73.975876\",variant:humanReadableVariantMap[props.variant]??props.variant??\"NN4VD2Wu8\",WAiRY7Omv:zoom??props.WAiRY7Omv??13,WcM0DIjaz:radius??props.WcM0DIjaz??\"10px\"};};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,CoxJtpdvx,WAiRY7Omv,WcM0DIjaz,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"NN4VD2Wu8\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if([\"oEcmvv4ns\",\"lbbHSoC2p\",\"jGWV8yLY7\",\"p3p_cJiAm\",\"jyAxZqpxN\"].includes(baseVariant))return true;return false;};const isDisplayed1=()=>{if([\"lbbHSoC2p\",\"jGWV8yLY7\",\"p3p_cJiAm\",\"jyAxZqpxN\"].includes(baseVariant))return false;return true;};const isDisplayed2=()=>{if([\"jGWV8yLY7\",\"p3p_cJiAm\"].includes(baseVariant))return true;return false;};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-1x7ssh1\",className,classNames),\"data-framer-name\":\"Dark Mode\",layoutDependency:layoutDependency,layoutId:\"NN4VD2Wu8\",ref:refBinding,style:{borderBottomLeftRadius:radiusForCorner(WcM0DIjaz,3),borderBottomRightRadius:radiusForCorner(WcM0DIjaz,2),borderTopLeftRadius:radiusForCorner(WcM0DIjaz,0),borderTopRightRadius:radiusForCorner(WcM0DIjaz,1),...style},...addPropertyOverrides({jECZU9SG4:{\"data-framer-name\":\"Grayscale\"},jGWV8yLY7:{\"data-framer-name\":\"Gradient\"},jyAxZqpxN:{\"data-framer-name\":\"The  Sweetheart\"},L44q0lbi6:{\"data-framer-name\":\"Duplex\"},lbbHSoC2p:{\"data-framer-name\":\"Monochrome\"},NqxVGklfc:{\"data-framer-name\":\"Inverted\"},oEcmvv4ns:{\"data-framer-name\":\"Night Mode\"},p3p_cJiAm:{\"data-framer-name\":\"Dot Matrix\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-bovxl1-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"FGSGDU9Nv-container\",nodeId:\"FGSGDU9Nv\",rendersWithMotion:true,scopeId:\"c7uIcEk_z\",style:{filter:\"grayscale(1) invert(1)\",WebkitFilter:\"grayscale(1) invert(1)\"},variants:{jECZU9SG4:{filter:\"grayscale(1)\",WebkitFilter:\"grayscale(1)\"},jGWV8yLY7:{filter:\"grayscale(1)\",WebkitFilter:\"grayscale(1)\"},jyAxZqpxN:{filter:\"grayscale(1)\",WebkitFilter:\"grayscale(1)\"},L44q0lbi6:{filter:\"grayscale(1) invert(1) sepia(1)\",WebkitFilter:\"grayscale(1) invert(1) sepia(1)\"},lbbHSoC2p:{filter:\"grayscale(1)\",WebkitFilter:\"grayscale(1)\"},NqxVGklfc:{filter:\"invert(1)\",WebkitFilter:\"invert(1)\"},p3p_cJiAm:{filter:\"grayscale(1)\",WebkitFilter:\"grayscale(1)\"}},children:/*#__PURE__*/_jsx(GoogleMaps,{borderRadius:0,bottomLeftRadius:0,bottomRightRadius:0,coordinates:CoxJtpdvx,height:\"100%\",id:\"FGSGDU9Nv\",isMixedBorderRadius:false,layoutId:\"FGSGDU9Nv\",style:{height:\"100%\",width:\"100%\"},topLeftRadius:0,topRightRadius:0,width:\"100%\",zoom:WAiRY7Omv})})}),isDisplayed()&&/*#__PURE__*/_jsx(Image1,{className:\"framer-lm5hwn\",\"data-framer-name\":\"Overlay\",layoutDependency:layoutDependency,layoutId:\"WhuHbKbB9\",style:{backgroundColor:\"rgb(49, 255, 0)\",opacity:1},variants:{jGWV8yLY7:{backgroundColor:\"rgb(202, 242, 242)\"},jyAxZqpxN:{backgroundColor:\"rgb(255, 0, 226)\",opacity:.8},lbbHSoC2p:{backgroundColor:\"var(--token-3e16737c-ae3a-4389-864d-604e60c90c7a, rgb(8, 0, 255))\"},p3p_cJiAm:{backgroundColor:\"rgba(0, 0, 0, 0)\",opacity:.2}},...addPropertyOverrides({p3p_cJiAm:{background:{alt:\"\",fit:\"fill\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0),pixelHeight:615,pixelWidth:923,sizes:componentViewport?.width||\"100vw\",src:\"https://framerusercontent.com/images/CM0EL65l2PxyzxrL6Gzx0dhQg.png?width=923&height=615\",srcSet:\"https://framerusercontent.com/images/CM0EL65l2PxyzxrL6Gzx0dhQg.png?scale-down-to=512&width=923&height=615 512w,https://framerusercontent.com/images/CM0EL65l2PxyzxrL6Gzx0dhQg.png?width=923&height=615 923w\"}}},baseVariant,gestureVariant),children:isDisplayed1()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1aeiz0o-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"zRRYaAbu_-container\",nodeId:\"zRRYaAbu_\",rendersWithMotion:true,scopeId:\"c7uIcEk_z\",children:/*#__PURE__*/_jsx(Noise,{backgroundSize:64,borderRadius:0,height:\"100%\",id:\"zRRYaAbu_\",layoutId:\"zRRYaAbu_\",opacity:.5,style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})}),isDisplayed2()&&/*#__PURE__*/_jsx(motion.div,{className:\"framer-assp0b\",\"data-framer-name\":\"Overlay\",layoutDependency:layoutDependency,layoutId:\"ttPLsYNad\",style:{background:\"radial-gradient(50% 50% at 50% 50%, rgb(202, 242, 242) 0%, rgb(202, 242, 242) 50%, rgb(202, 242, 242) 100%)\",backgroundColor:\"rgb(202, 242, 242)\",opacity:1},variants:{jGWV8yLY7:{background:\"radial-gradient(32.2% 50% at 50% 50%, rgb(255, 0, 0) 0%, rgb(194, 101, 61) 67.5040702413672%, rgba(89, 217, 95, 0) 100%)\",backgroundColor:\"rgba(0, 0, 0, 0)\",opacity:.8},p3p_cJiAm:{background:\"radial-gradient(50% 50% at 50% 50%, rgb(226, 255, 0) 0%, rgb(226, 255, 0) 50%, rgb(226, 255, 0) 100%)\",backgroundColor:\"rgb(226, 255, 0)\",opacity:1}}})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-ID5zg.framer-vtgcmj, .framer-ID5zg .framer-vtgcmj { display: block; }\",\".framer-ID5zg.framer-1x7ssh1 { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 560px; will-change: var(--framer-will-change-override, transform); }\",\".framer-ID5zg .framer-bovxl1-container { aspect-ratio: 1.5555555555555556 / 1; flex: 1 0 0px; height: var(--framer-aspect-ratio-supported, 129px); min-height: 100%; position: relative; width: 1px; }\",\".framer-ID5zg .framer-lm5hwn { flex: none; height: 100%; left: 0px; mix-blend-mode: overlay; overflow: hidden; pointer-events: none; position: absolute; top: 0px; width: 100%; z-index: 1; }\",\".framer-ID5zg .framer-1aeiz0o-container { flex: none; height: 100%; left: 0px; position: absolute; top: 0px; width: 100%; }\",\".framer-ID5zg .framer-assp0b { flex: none; height: 100%; left: 0px; mix-blend-mode: difference; overflow: visible; pointer-events: none; position: absolute; top: 0px; width: 100%; z-index: 2; }\",\".framer-ID5zg.framer-v-1v0vvrz .framer-bovxl1-container { order: 0; }\",\".framer-ID5zg.framer-v-1v0vvrz .framer-lm5hwn { mix-blend-mode: difference; order: 1; }\",\".framer-ID5zg.framer-v-1v0vvrz .framer-assp0b { mix-blend-mode: overlay; order: 2; }\",\".framer-ID5zg.framer-v-1fpvuo0 .framer-lm5hwn { mix-blend-mode: multiply; will-change: var(--framer-will-change-filter-override, filter); }\",\".framer-ID5zg.framer-v-1fpvuo0 .framer-assp0b { mix-blend-mode: multiply; }\",\".framer-ID5zg.framer-v-1virg4v .framer-lm5hwn { mix-blend-mode: lighten; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 360\n * @framerIntrinsicWidth 560\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"jECZU9SG4\":{\"layout\":[\"fixed\",\"auto\"]},\"oEcmvv4ns\":{\"layout\":[\"fixed\",\"auto\"]},\"L44q0lbi6\":{\"layout\":[\"fixed\",\"auto\"]},\"lbbHSoC2p\":{\"layout\":[\"fixed\",\"auto\"]},\"jGWV8yLY7\":{\"layout\":[\"fixed\",\"auto\"]},\"NqxVGklfc\":{\"layout\":[\"fixed\",\"auto\"]},\"p3p_cJiAm\":{\"layout\":[\"fixed\",\"auto\"]},\"jyAxZqpxN\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerVariables {\"CoxJtpdvx\":\"location\",\"WAiRY7Omv\":\"zoom\",\"WcM0DIjaz\":\"radius\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const Framerc7uIcEk_z=withCSS(Component,css,\"framer-ID5zg\");export default Framerc7uIcEk_z;Framerc7uIcEk_z.displayName=\"FF Map\";Framerc7uIcEk_z.defaultProps={height:360,width:560};addPropertyControls(Framerc7uIcEk_z,{variant:{options:[\"NN4VD2Wu8\",\"jECZU9SG4\",\"oEcmvv4ns\",\"L44q0lbi6\",\"lbbHSoC2p\",\"jGWV8yLY7\",\"NqxVGklfc\",\"p3p_cJiAm\",\"jyAxZqpxN\"],optionTitles:[\"Dark Mode\",\"Grayscale\",\"Night Mode\",\"Duplex\",\"Monochrome\",\"Gradient\",\"Inverted\",\"Dot Matrix\",\"The  Sweetheart\"],title:\"Variant\",type:ControlType.Enum},CoxJtpdvx:{defaultValue:\"40.682732,-73.975876\",placeholder:\"\",title:\"Location\",type:ControlType.String},onCoxJtpdvxChange:{changes:\"CoxJtpdvx\",type:ControlType.ChangeHandler},WAiRY7Omv:{defaultValue:13,max:25,min:0,step:1,title:\"Zoom\",type:ControlType.Number},onWAiRY7OmvChange:{changes:\"WAiRY7Omv\",type:ControlType.ChangeHandler},WcM0DIjaz:{defaultValue:\"10px\",description:\"\",title:\"Radius\",type:ControlType.BorderRadius}});addFonts(Framerc7uIcEk_z,[{explicitInter:true,fonts:[]},...GoogleMapsFonts,...NoiseFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Framerc7uIcEk_z\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"560\",\"framerIntrinsicHeight\":\"360\",\"framerContractVersion\":\"1\",\"framerVariables\":\"{\\\"CoxJtpdvx\\\":\\\"location\\\",\\\"WAiRY7Omv\\\":\\\"zoom\\\",\\\"WcM0DIjaz\\\":\\\"radius\\\"}\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"jECZU9SG4\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"oEcmvv4ns\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"L44q0lbi6\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"lbbHSoC2p\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"jGWV8yLY7\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"NqxVGklfc\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"p3p_cJiAm\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"jyAxZqpxN\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerComponentViewportWidth\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerColorSyntax\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerImmutableVariables\":\"true\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./c7uIcEk_z.map","// Generated by Framer (0c7e2bc)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,RichText,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const cycleOrder=[\"wP5DkSXIC\",\"Llr2ZWK5t\",\"xvMCIgBe9\",\"emJKfmq_x\",\"OFb0gTLzV\",\"YlhEoREld\",\"TCtw3rPUx\",\"ZxJVAyAbo\"];const serializationHash=\"framer-FcEbX\";const variantClassNames={emJKfmq_x:\"framer-v-kxf66g\",Llr2ZWK5t:\"framer-v-q9qzyo\",OFb0gTLzV:\"framer-v-1v3let8\",TCtw3rPUx:\"framer-v-1l4ruwe\",wP5DkSXIC:\"framer-v-k1t748\",xvMCIgBe9:\"framer-v-sveen3\",YlhEoREld:\"framer-v-3a65et\",ZxJVAyAbo:\"framer-v-10jfbob\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={delay:0,duration:.2,ease:[.44,0,.56,1],type:\"tween\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const humanReadableVariantMap={\"day 1 - mobile\":\"emJKfmq_x\",\"day 1\":\"wP5DkSXIC\",\"day 2 - mobile\":\"OFb0gTLzV\",\"day 2\":\"Llr2ZWK5t\",\"horizontal trigger - mobile\":\"ZxJVAyAbo\",\"horizontal trigger\":\"TCtw3rPUx\",\"unparralled experience - mobile\":\"YlhEoREld\",\"unparralled experience\":\"xvMCIgBe9\"};const Variants=motion.create(React.Fragment);const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"wP5DkSXIC\"};};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:\"wP5DkSXIC\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if([\"Llr2ZWK5t\",\"xvMCIgBe9\",\"OFb0gTLzV\",\"YlhEoREld\",\"TCtw3rPUx\",\"ZxJVAyAbo\"].includes(baseVariant))return false;return true;};const isDisplayed1=()=>{if([\"Llr2ZWK5t\",\"OFb0gTLzV\"].includes(baseVariant))return true;return false;};const isDisplayed2=()=>{if([\"xvMCIgBe9\",\"YlhEoREld\",\"TCtw3rPUx\",\"ZxJVAyAbo\"].includes(baseVariant))return true;return false;};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-k1t748\",className,classNames),\"data-framer-name\":\"day 1\",layoutDependency:layoutDependency,layoutId:\"wP5DkSXIC\",ref:refBinding,style:{...style},...addPropertyOverrides({emJKfmq_x:{\"data-framer-name\":\"day 1 - mobile\"},Llr2ZWK5t:{\"data-framer-name\":\"day 2\"},OFb0gTLzV:{\"data-framer-name\":\"day 2 - mobile\"},TCtw3rPUx:{\"data-framer-name\":\"horizontal trigger\"},xvMCIgBe9:{\"data-framer-name\":\"unparralled experience\"},YlhEoREld:{\"data-framer-name\":\"unparralled experience - mobile\"},ZxJVAyAbo:{\"data-framer-name\":\"horizontal trigger - mobile\"}},baseVariant,gestureVariant),children:[isDisplayed()&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-13kv8lq\",\"data-framer-name\":\"Day One\",layoutDependency:layoutDependency,layoutId:\"z2Jxs87mK\",children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1maajxt\",\"data-framer-name\":\"time\",layoutDependency:layoutDependency,layoutId:\"wVZjK4C0z\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBIYWFzIEdyb3Rlc2sgRGlzcGxheSBQcm8gNTUgUm9tYW4=\",\"--framer-font-family\":'\"Neue Haas Grotesk Display Pro 55 Roman\", \"Neue Haas Grotesk Display Pro 55 Roman Placeholder\", sans-serif',\"--framer-font-size\":\"15px\",\"--framer-font-weight\":\"500\",\"--framer-letter-spacing\":\"0.01em\",\"--framer-line-height\":\"140%\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(237, 233, 229))\"},children:\"Friday, September 18\"})}),className:\"framer-8y9llh\",\"data-framer-name\":\"Saturday, September 19\\xa0\",fonts:[\"CUSTOMV2;Neue Haas Grotesk Display Pro 55 Roman\"],layoutDependency:layoutDependency,layoutId:\"W3JpgiBsR\",style:{\"--extracted-r6o4lv\":\"rgb(237, 233, 229)\",\"--framer-paragraph-spacing\":\"20px\",opacity:.3},verticalAlignment:\"center\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBIYWFzIEdyb3Rlc2sgRGlzcGxheSBQcm8gNTUgUm9tYW4=\",\"--framer-font-family\":'\"Neue Haas Grotesk Display Pro 55 Roman\", \"Neue Haas Grotesk Display Pro 55 Roman Placeholder\", sans-serif',\"--framer-font-size\":\"15px\",\"--framer-font-weight\":\"500\",\"--framer-letter-spacing\":\"0.01em\",\"--framer-line-height\":\"140%\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(237, 233, 229))\"},children:\"9:00 AM - 5:00 PM\"})}),className:\"framer-1vbkj4b\",\"data-framer-name\":\"9:00 AM - 5:00 PM\",fonts:[\"CUSTOMV2;Neue Haas Grotesk Display Pro 55 Roman\"],layoutDependency:layoutDependency,layoutId:\"YUmsLAlru\",style:{\"--extracted-r6o4lv\":\"rgb(237, 233, 229)\",\"--framer-paragraph-spacing\":\"20px\"},verticalAlignment:\"center\",withExternalLayout:true})]}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"R0Y7Q29ybW9yYW50IEdhcmFtb25kLXJlZ3VsYXI=\",\"--framer-font-family\":'\"Cormorant Garamond\", \"Cormorant Garamond Placeholder\", serif',\"--framer-font-size\":\"97px\",\"--framer-letter-spacing\":\"-0.04em\",\"--framer-line-height\":\"90%\",\"--framer-text-alignment\":\"right\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(237, 233, 229))\"},children:\"Day One Course\"})}),className:\"framer-wadych\",\"data-framer-name\":\"Day One\",fonts:[\"GF;Cormorant Garamond-regular\"],layoutDependency:layoutDependency,layoutId:\"riuMuMAul\",style:{\"--extracted-r6o4lv\":\"rgb(237, 233, 229)\",\"--framer-paragraph-spacing\":\"0px\"},verticalAlignment:\"center\",withExternalLayout:true,...addPropertyOverrides({emJKfmq_x:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"R0Y7Q29ybW9yYW50IEdhcmFtb25kLXJlZ3VsYXI=\",\"--framer-font-family\":'\"Cormorant Garamond\", \"Cormorant Garamond Placeholder\", serif',\"--framer-font-size\":\"56px\",\"--framer-letter-spacing\":\"-0.04em\",\"--framer-line-height\":\"90%\",\"--framer-text-alignment\":\"right\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(237, 233, 229))\"},children:\"Day One Course\"})})}},baseVariant,gestureVariant)})]}),isDisplayed1()&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-19lv93k\",\"data-framer-name\":\"Day Two\",layoutDependency:layoutDependency,layoutId:\"ivPwVpB58\",children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1qyqe1p\",\"data-framer-name\":\"time\",layoutDependency:layoutDependency,layoutId:\"Gp1HNHHsv\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBIYWFzIEdyb3Rlc2sgRGlzcGxheSBQcm8gNTUgUm9tYW4=\",\"--framer-font-family\":'\"Neue Haas Grotesk Display Pro 55 Roman\", \"Neue Haas Grotesk Display Pro 55 Roman Placeholder\", sans-serif',\"--framer-font-size\":\"15px\",\"--framer-font-weight\":\"500\",\"--framer-letter-spacing\":\"0.01em\",\"--framer-line-height\":\"140%\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(237, 233, 229))\"},children:\"Sunday, September 20\"})}),className:\"framer-1462j9j\",\"data-framer-name\":\"Saturday, September 19\\xa0\",fonts:[\"CUSTOMV2;Neue Haas Grotesk Display Pro 55 Roman\"],layoutDependency:layoutDependency,layoutId:\"mntxOGNDW\",style:{\"--extracted-r6o4lv\":\"rgb(237, 233, 229)\",\"--framer-paragraph-spacing\":\"20px\",opacity:.3},verticalAlignment:\"center\",withExternalLayout:true,...addPropertyOverrides({Llr2ZWK5t:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBIYWFzIEdyb3Rlc2sgRGlzcGxheSBQcm8gNTUgUm9tYW4=\",\"--framer-font-family\":'\"Neue Haas Grotesk Display Pro 55 Roman\", \"Neue Haas Grotesk Display Pro 55 Roman Placeholder\", sans-serif',\"--framer-font-size\":\"15px\",\"--framer-font-weight\":\"500\",\"--framer-letter-spacing\":\"0.01em\",\"--framer-line-height\":\"140%\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(237, 233, 229))\"},children:\"Saturday, September 19\"})})},OFb0gTLzV:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBIYWFzIEdyb3Rlc2sgRGlzcGxheSBQcm8gNTUgUm9tYW4=\",\"--framer-font-family\":'\"Neue Haas Grotesk Display Pro 55 Roman\", \"Neue Haas Grotesk Display Pro 55 Roman Placeholder\", sans-serif',\"--framer-font-size\":\"15px\",\"--framer-font-weight\":\"500\",\"--framer-letter-spacing\":\"0.01em\",\"--framer-line-height\":\"140%\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(237, 233, 229))\"},children:\"Saturday, September 19\"})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBIYWFzIEdyb3Rlc2sgRGlzcGxheSBQcm8gNTUgUm9tYW4=\",\"--framer-font-family\":'\"Neue Haas Grotesk Display Pro 55 Roman\", \"Neue Haas Grotesk Display Pro 55 Roman Placeholder\", sans-serif',\"--framer-font-size\":\"15px\",\"--framer-font-weight\":\"500\",\"--framer-letter-spacing\":\"0.01em\",\"--framer-line-height\":\"140%\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(237, 233, 229))\"},children:\"8:00 AM - 4:00 PM\"})}),className:\"framer-108scr9\",\"data-framer-name\":\"9:00 AM - 5:00 PM\",fonts:[\"CUSTOMV2;Neue Haas Grotesk Display Pro 55 Roman\"],layoutDependency:layoutDependency,layoutId:\"CTtuCIyeQ\",style:{\"--extracted-r6o4lv\":\"rgb(237, 233, 229)\",\"--framer-paragraph-spacing\":\"20px\"},verticalAlignment:\"center\",withExternalLayout:true,...addPropertyOverrides({Llr2ZWK5t:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBIYWFzIEdyb3Rlc2sgRGlzcGxheSBQcm8gNTUgUm9tYW4=\",\"--framer-font-family\":'\"Neue Haas Grotesk Display Pro 55 Roman\", \"Neue Haas Grotesk Display Pro 55 Roman Placeholder\", sans-serif',\"--framer-font-size\":\"15px\",\"--framer-font-weight\":\"500\",\"--framer-letter-spacing\":\"0.01em\",\"--framer-line-height\":\"140%\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(237, 233, 229))\"},children:\"9:00 AM - 5:00 PM\"})})},OFb0gTLzV:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBIYWFzIEdyb3Rlc2sgRGlzcGxheSBQcm8gNTUgUm9tYW4=\",\"--framer-font-family\":'\"Neue Haas Grotesk Display Pro 55 Roman\", \"Neue Haas Grotesk Display Pro 55 Roman Placeholder\", sans-serif',\"--framer-font-size\":\"15px\",\"--framer-font-weight\":\"500\",\"--framer-letter-spacing\":\"0.01em\",\"--framer-line-height\":\"140%\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(237, 233, 229))\"},children:\"9:00 AM - 5:00 PM\"})})}},baseVariant,gestureVariant)})]}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"R0Y7Q29ybW9yYW50IEdhcmFtb25kLXJlZ3VsYXI=\",\"--framer-font-family\":'\"Cormorant Garamond\", \"Cormorant Garamond Placeholder\", serif',\"--framer-font-size\":\"97px\",\"--framer-letter-spacing\":\"-0.04em\",\"--framer-line-height\":\"90%\",\"--framer-text-alignment\":\"right\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(237, 233, 229))\"},children:\"Day Two Course\"})}),className:\"framer-p5dri3\",\"data-framer-name\":\"Day One\",fonts:[\"GF;Cormorant Garamond-regular\"],layoutDependency:layoutDependency,layoutId:\"snfRvNa43\",style:{\"--extracted-r6o4lv\":\"rgb(237, 233, 229)\",\"--framer-paragraph-spacing\":\"0px\"},verticalAlignment:\"center\",withExternalLayout:true,...addPropertyOverrides({OFb0gTLzV:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"R0Y7Q29ybW9yYW50IEdhcmFtb25kLXJlZ3VsYXI=\",\"--framer-font-family\":'\"Cormorant Garamond\", \"Cormorant Garamond Placeholder\", serif',\"--framer-font-size\":\"56px\",\"--framer-letter-spacing\":\"-0.04em\",\"--framer-line-height\":\"90%\",\"--framer-text-alignment\":\"right\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(237, 233, 229))\"},children:\"Day Two Course\"})})}},baseVariant,gestureVariant)})]}),isDisplayed2()&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1nmyplp\",\"data-framer-name\":\"unparralled experience\",layoutDependency:layoutDependency,layoutId:\"zDPbiw8op\",style:{opacity:1},variants:{TCtw3rPUx:{opacity:0},ZxJVAyAbo:{opacity:0}},children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--framer-font-size\":\"78px\",\"--framer-line-height\":\"75%\",\"--framer-text-alignment\":\"center\"},children:/*#__PURE__*/_jsx(motion.span,{style:{\"--font-selector\":\"R0Y7Q29ybW9yYW50IEdhcmFtb25kLXJlZ3VsYXI=\",\"--framer-font-family\":'\"Cormorant Garamond\"',\"--framer-font-size\":\"78px\",\"--framer-letter-spacing\":\"-0.04em\",\"--framer-text-color\":\"var(--extracted-1w3ko1f, rgba(237, 233, 229, 1))\",\"--framer-text-transform\":\"uppercase\"},children:\"an unparalleled experience\"})})}),className:\"framer-16iskb1\",\"data-framer-name\":\"an unparalleled experience\",fonts:[\"GF;Cormorant Garamond-regular\"],layoutDependency:layoutDependency,layoutId:\"fb9lf0MqG\",style:{\"--extracted-1w3ko1f\":\"rgba(237, 233, 229, 1)\",\"--framer-paragraph-spacing\":\"0px\"},variants:{YlhEoREld:{\"--extracted-r6o4lv\":\"rgb(237, 233, 229)\"},ZxJVAyAbo:{\"--extracted-r6o4lv\":\"rgb(237, 233, 229)\"}},verticalAlignment:\"center\",withExternalLayout:true,...addPropertyOverrides({YlhEoREld:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsxs(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"R0Y7Q29ybW9yYW50IEdhcmFtb25kLXJlZ3VsYXI=\",\"--framer-font-family\":'\"Cormorant Garamond\", \"Cormorant Garamond Placeholder\", serif',\"--framer-font-size\":\"44px\",\"--framer-letter-spacing\":\"-0.04em\",\"--framer-line-height\":\"75%\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(237, 233, 229))\",\"--framer-text-transform\":\"uppercase\"},children:[\"an\",/*#__PURE__*/_jsx(motion.br,{}),\"unparalleled\",/*#__PURE__*/_jsx(motion.br,{}),\"experience\"]})})},ZxJVAyAbo:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsxs(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"R0Y7Q29ybW9yYW50IEdhcmFtb25kLXJlZ3VsYXI=\",\"--framer-font-family\":'\"Cormorant Garamond\", \"Cormorant Garamond Placeholder\", serif',\"--framer-font-size\":\"44px\",\"--framer-letter-spacing\":\"-0.04em\",\"--framer-line-height\":\"75%\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(237, 233, 229))\",\"--framer-text-transform\":\"uppercase\"},children:[\"an\",/*#__PURE__*/_jsx(motion.br,{}),\"unparalleled\",/*#__PURE__*/_jsx(motion.br,{}),\"experience\"]})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--framer-font-size\":\"16px\",\"--framer-line-height\":\"120%\",\"--framer-text-alignment\":\"center\"},children:/*#__PURE__*/_jsx(motion.span,{style:{\"--font-selector\":\"R0Y7Q29ybW9yYW50IEdhcmFtb25kLTUwMA==\",\"--framer-font-family\":'\"Cormorant Garamond\"',\"--framer-font-size\":\"16px\",\"--framer-font-weight\":\"500\",\"--framer-letter-spacing\":\"0.08em\",\"--framer-text-color\":\"var(--extracted-1w3ko1f, rgba(237, 233, 229, 1))\"},children:\"Everything included beyond the two days of instruction.\"})})}),className:\"framer-3zc6m0\",\"data-framer-name\":\"Everything included beyond the two days of instruction.\",fonts:[\"GF;Cormorant Garamond-500\"],layoutDependency:layoutDependency,layoutId:\"k9PCC_hJM\",style:{\"--extracted-1w3ko1f\":\"rgba(237, 233, 229, 1)\",\"--framer-paragraph-spacing\":\"0px\",opacity:.5},verticalAlignment:\"center\",withExternalLayout:true})]})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-FcEbX.framer-95348t, .framer-FcEbX .framer-95348t { display: block; }\",\".framer-FcEbX.framer-k1t748 { align-content: center; align-items: center; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 24px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: 775px; }\",\".framer-FcEbX .framer-13kv8lq, .framer-FcEbX .framer-19lv93k { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 24px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-FcEbX .framer-1maajxt, .framer-FcEbX .framer-1qyqe1p { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 2px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-FcEbX .framer-8y9llh, .framer-FcEbX .framer-1vbkj4b, .framer-FcEbX .framer-1462j9j, .framer-FcEbX .framer-108scr9 { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-FcEbX .framer-wadych, .framer-FcEbX .framer-p5dri3 { flex: none; height: auto; mix-blend-mode: difference; position: relative; white-space: pre; width: auto; }\",\".framer-FcEbX .framer-1nmyplp { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 24px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: 775px; }\",\".framer-FcEbX .framer-16iskb1 { flex: none; height: auto; mix-blend-mode: difference; position: relative; white-space: pre-wrap; width: 775px; word-break: break-word; word-wrap: break-word; }\",\".framer-FcEbX .framer-3zc6m0 { flex: none; height: auto; position: relative; white-space: pre-wrap; width: 252px; word-break: break-word; word-wrap: break-word; }\",\".framer-FcEbX.framer-v-kxf66g.framer-k1t748, .framer-FcEbX.framer-v-1v3let8.framer-k1t748 { gap: 12px; width: min-content; }\",\".framer-FcEbX.framer-v-kxf66g .framer-13kv8lq, .framer-FcEbX.framer-v-1v3let8 .framer-19lv93k { align-self: stretch; width: auto; }\",\".framer-FcEbX.framer-v-3a65et.framer-k1t748, .framer-FcEbX.framer-v-3a65et .framer-1nmyplp, .framer-FcEbX.framer-v-10jfbob.framer-k1t748, .framer-FcEbX.framer-v-10jfbob .framer-1nmyplp { width: min-content; }\",\".framer-FcEbX.framer-v-3a65et .framer-16iskb1, .framer-FcEbX.framer-v-10jfbob .framer-16iskb1 { white-space: pre; width: auto; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 155.5\n * @framerIntrinsicWidth 775\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"Llr2ZWK5t\":{\"layout\":[\"fixed\",\"auto\"]},\"xvMCIgBe9\":{\"layout\":[\"fixed\",\"auto\"]},\"emJKfmq_x\":{\"layout\":[\"auto\",\"auto\"]},\"OFb0gTLzV\":{\"layout\":[\"auto\",\"auto\"]},\"YlhEoREld\":{\"layout\":[\"auto\",\"auto\"]},\"TCtw3rPUx\":{\"layout\":[\"fixed\",\"auto\"]},\"ZxJVAyAbo\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerdXl5uh1o6=withCSS(Component,css,\"framer-FcEbX\");export default FramerdXl5uh1o6;FramerdXl5uh1o6.displayName=\"agenda title\";FramerdXl5uh1o6.defaultProps={height:155.5,width:775};addPropertyControls(FramerdXl5uh1o6,{variant:{options:[\"wP5DkSXIC\",\"Llr2ZWK5t\",\"xvMCIgBe9\",\"emJKfmq_x\",\"OFb0gTLzV\",\"YlhEoREld\",\"TCtw3rPUx\",\"ZxJVAyAbo\"],optionTitles:[\"day 1\",\"day 2\",\"unparralled experience\",\"day 1 - mobile\",\"day 2 - mobile\",\"unparralled experience - mobile\",\"horizontal trigger\",\"horizontal trigger - mobile\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerdXl5uh1o6,[{explicitInter:true,fonts:[{cssFamilyName:\"Neue Haas Grotesk Display Pro 55 Roman\",source:\"custom\",style:\"normal\",uiFamilyName:\"Neue Haas Grotesk Display Pro\",url:\"https://framerusercontent.com/assets/tmLwqa5rh55YXw6gAs9GB7y6CY.woff2\",weight:\"500\"},{cssFamilyName:\"Cormorant Garamond\",source:\"google\",style:\"normal\",uiFamilyName:\"Cormorant Garamond\",url:\"https://fonts.gstatic.com/s/cormorantgaramond/v21/co3umX5slCNuHLi8bLeY9MK7whWMhyjypVO7abI26QOD_v86GnbEi_s4Mfs.woff2\",weight:\"400\"},{cssFamilyName:\"Cormorant Garamond\",source:\"google\",style:\"normal\",uiFamilyName:\"Cormorant Garamond\",url:\"https://fonts.gstatic.com/s/cormorantgaramond/v21/co3umX5slCNuHLi8bLeY9MK7whWMhyjypVO7abI26QOD_s06GnbEi_s4Mfs.woff2\",weight:\"500\"}]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerdXl5uh1o6\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"155.5\",\"framerAutoSizeImages\":\"true\",\"framerColorSyntax\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"775\",\"framerImmutableVariables\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"Llr2ZWK5t\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"xvMCIgBe9\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"emJKfmq_x\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"OFb0gTLzV\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"YlhEoREld\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"TCtw3rPUx\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"ZxJVAyAbo\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./dXl5uh1o6.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{useRef,useEffect,useState,useCallback}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useScroll,useTransform,motion,useMotionValue}from\"framer-motion\";/**\n * ScrollLine — Design x Hands\n *\n * A horizontal line that fills based on scroll position. Designed for nav use:\n * each nav item references a section by ID and fills as the viewer scrolls\n * through that section.\n *\n * Modes:\n *  - Anchor mode (default): progress = how much of the target has passed an\n *    anchor point in the viewport. Best for sticky navs.\n *  - Viewport mode: progress driven by Framer Motion's useScroll offsets.\n *\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n * @framerIntrinsicHeight 1\n */export default function ScrollLine(props){const{backgroundColor=\"rgba(0, 0, 0, 0.15)\",fillColor=\"rgba(0, 0, 0, 1)\",lineHeight=1,trackExternal=true,targetId=\"\",useAnchorMode=true,anchorReference=\"viewport_center\",anchorOffsetVh=0,scrollDistanceVh=0,offsetStart=\"start end\",offsetEnd=\"end start\"}=props;const selfRef=useRef(null);const[externalElement,setExternalElement]=useState(null);const isCanvas=RenderTarget.current()===RenderTarget.canvas;const anchorProgress=useMotionValue(0);useEffect(()=>{if(trackExternal&&targetId){const element=document.getElementById(targetId);setExternalElement(element);}else{setExternalElement(null);}},[trackExternal,targetId]);const updateAnchorProgress=useCallback(()=>{if(!selfRef.current||!externalElement)return;const selfRect=selfRef.current.getBoundingClientRect();const targetRect=externalElement.getBoundingClientRect();const vh=window.innerHeight;const anchorOffsetPx=anchorOffsetVh/100*vh;const baseAnchorY=anchorReference===\"viewport\"?0:anchorReference===\"viewport_center\"?vh/2:selfRect.top;const anchorY=baseAnchorY+anchorOffsetPx;const targetTop=targetRect.top;const targetHeight=targetRect.height;const fillDistance=scrollDistanceVh>0?scrollDistanceVh/100*vh:targetHeight;const distancePastAnchor=anchorY-targetTop;const progress=Math.max(0,Math.min(1,distancePastAnchor/fillDistance));anchorProgress.set(progress);},[externalElement,anchorProgress,anchorOffsetVh,anchorReference,scrollDistanceVh]);useEffect(()=>{if(!trackExternal||!useAnchorMode||!externalElement||isCanvas)return;if(typeof window===\"undefined\")return;updateAnchorProgress();const handleScroll=()=>{requestAnimationFrame(updateAnchorProgress);};window.addEventListener(\"scroll\",handleScroll,{passive:true});window.addEventListener(\"resize\",handleScroll,{passive:true});return()=>{window.removeEventListener(\"scroll\",handleScroll);window.removeEventListener(\"resize\",handleScroll);};},[trackExternal,useAnchorMode,externalElement,isCanvas,updateAnchorProgress]);const{scrollYProgress}=useScroll({target:selfRef,offset:[offsetStart,offsetEnd]});const activeProgress=trackExternal&&useAnchorMode?anchorProgress:scrollYProgress;const width=useTransform(activeProgress,[0,1],[\"0%\",\"100%\"]);const borderRadius=lineHeight/2;return /*#__PURE__*/_jsx(\"div\",{ref:selfRef,style:{width:\"100%\",height:lineHeight,position:\"relative\",backgroundColor:backgroundColor,borderRadius:borderRadius},children:/*#__PURE__*/_jsx(motion.div,{style:{position:\"absolute\",top:0,left:0,height:\"100%\",width:isCanvas?\"50%\":width,backgroundColor:fillColor,borderRadius:borderRadius}})});}addPropertyControls(ScrollLine,{backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"rgba(0, 0, 0, 0.15)\",description:\"Color of the unfilled portion of the line\"},fillColor:{type:ControlType.Color,title:\"Fill Color\",defaultValue:\"rgba(0, 0, 0, 1)\",description:\"Color of the filled portion of the line\"},lineHeight:{type:ControlType.Number,title:\"Line Height\",defaultValue:1,min:1,max:20,step:1,unit:\"px\",description:\"Thickness of the line\"},trackExternal:{type:ControlType.Boolean,title:\"Track Section\",defaultValue:true,enabledTitle:\"Yes\",disabledTitle:\"Self\",description:\"On: track an external section by ID. Off: fill based on this component's own scroll position.\"},targetId:{type:ControlType.String,title:\"Section ID\",defaultValue:\"\",placeholder:\"section-work\",description:\"ID of the section to track. Add a matching ID to the section in Framer.\",hidden:props=>!props.trackExternal},useAnchorMode:{type:ControlType.Boolean,title:\"Anchor Mode\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\",description:\"On: progress based on target passing an anchor in the viewport (best for sticky navs). Off: use viewport-based offsets.\",hidden:props=>!props.trackExternal},anchorReference:{type:ControlType.Enum,title:\"Anchor Point\",defaultValue:\"viewport_center\",options:[\"viewport_center\",\"viewport\",\"self\"],optionTitles:[\"Viewport Center\",\"Viewport Top\",\"Line Position\"],description:\"Where the section is measured against. Viewport Center is the natural choice for most navs.\",hidden:props=>!props.trackExternal||!props.useAnchorMode},anchorOffsetVh:{type:ControlType.Number,title:\"Anchor Offset\",defaultValue:0,min:-100,max:100,step:1,unit:\"vh\",description:\"Adjust anchor point in viewport height. Negative = start sooner, Positive = start later.\",hidden:props=>!props.trackExternal||!props.useAnchorMode},scrollDistanceVh:{type:ControlType.Number,title:\"Scroll Distance\",defaultValue:0,min:0,max:200,step:5,unit:\"vh\",description:\"Override how much scroll (in vh) goes from 0% to 100% fill. 0 = use the target section's height.\",hidden:props=>!props.trackExternal||!props.useAnchorMode},offsetStart:{type:ControlType.Enum,title:\"Start When\",defaultValue:\"start end\",options:[\"start end\",\"start center\",\"start start\",\"center end\",\"center center\",\"center start\",\"end end\",\"end center\",\"end start\"],optionTitles:[\"Top → Viewport Bottom\",\"Top → Viewport Center\",\"Top → Viewport Top\",\"Center → Viewport Bottom\",\"Center → Viewport Center\",\"Center → Viewport Top\",\"Bottom → Viewport Bottom\",\"Bottom → Viewport Center\",\"Bottom → Viewport Top\"],description:\"When the fill animation starts\",hidden:props=>!props.trackExternal||props.useAnchorMode},offsetEnd:{type:ControlType.Enum,title:\"End When\",defaultValue:\"end start\",options:[\"start end\",\"start center\",\"start start\",\"center end\",\"center center\",\"center start\",\"end end\",\"end center\",\"end start\"],optionTitles:[\"Top → Viewport Bottom\",\"Top → Viewport Center\",\"Top → Viewport Top\",\"Center → Viewport Bottom\",\"Center → Viewport Center\",\"Center → Viewport Top\",\"Bottom → Viewport Bottom\",\"Bottom → Viewport Center\",\"Bottom → Viewport Top\"],description:\"When the fill animation ends (100%)\",hidden:props=>!props.trackExternal||props.useAnchorMode}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ScrollLine\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any\",\"framerIntrinsicHeight\":\"1\",\"framerSupportedLayoutWidth\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Scrollline.map","// Generated by Framer (b3492b4)\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 ScrollLine from\"https://framerusercontent.com/modules/VRcRSexoiT7wIay5OXfB/7lZhSDr7HSVnknZsafO3/Scrollline.js\";const ScrollLineFonts=getFonts(ScrollLine);const enabledGestures={wE3nm7CTY:{hover:true}};const serializationHash=\"framer-1QZAN\";const variantClassNames={wE3nm7CTY:\"framer-v-8nergx\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const ebzA5e1w1=undefined;const ZfssvV_Uv=undefined;const DBgfpTd3t=undefined;const transition1={delay:0,duration:.2,ease:[.12,.23,.5,1],type:\"tween\"};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,link,sectionID,text,width,...props})=>{return{...props,DBgfpTd3t:sectionID??props.DBgfpTd3t??\"mission\",ebzA5e1w1:link??props.ebzA5e1w1,ZfssvV_Uv:text??props.ZfssvV_Uv??\"Mission\"};};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,DBgfpTd3t,ZfssvV_Uv,ebzA5e1w1,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({defaultVariant:\"wE3nm7CTY\",enabledGestures,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(Link,{href:ebzA5e1w1,motionChild:true,nodeId:\"wE3nm7CTY\",openInNewTab:false,scopeId:\"C6ZkOh_DV\",smoothScroll:false,children:/*#__PURE__*/_jsxs(motion.a,{...restProps,...gestureHandlers,className:`${cx(scopingClassNames,\"framer-8nergx\",className,classNames)} framer-10s4xba`,\"data-framer-name\":\"Variant 1\",layoutDependency:layoutDependency,layoutId:\"wE3nm7CTY\",ref:refBinding,style:{...style},...addPropertyOverrides({\"wE3nm7CTY-hover\":{\"data-framer-name\":undefined}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-8w98qe\",\"data-framer-name\":\"section\",layoutDependency:layoutDependency,layoutId:\"kV6lct0D8\",children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-15tysbt\",\"data-border\":true,\"data-framer-name\":\"Ellipse 2\",layoutDependency:layoutDependency,layoutId:\"NX1zp6K69\",style:{\"--border-bottom-width\":\"0.699999988079071px\",\"--border-color\":\"rgb(255, 255, 255)\",\"--border-left-width\":\"0.699999988079071px\",\"--border-right-width\":\"0.699999988079071px\",\"--border-style\":\"solid\",\"--border-top-width\":\"0.699999988079071px\",borderBottomLeftRadius:50,borderBottomRightRadius:50,borderTopLeftRadius:50,borderTopRightRadius:50,opacity:.2},variants:{\"wE3nm7CTY-hover\":{opacity:1}},children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-1cmagrq\",layoutDependency:layoutDependency,layoutId:\"UXy35VYDf\",style:{backgroundColor:\"rgb(255, 255, 255)\",borderBottomLeftRadius:99999,borderBottomRightRadius:99999,borderTopLeftRadius:99999,borderTopRightRadius:99999}})}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBIYWFzIEdyb3Rlc2sgRGlzcGxheSBQcm8gNDUgTGlnaHQ=\",\"--framer-font-family\":'\"Neue Haas Grotesk Display Pro 45 Light\", \"Neue Haas Grotesk Display Pro 45 Light Placeholder\", sans-serif',\"--framer-font-size\":\"15px\",\"--framer-letter-spacing\":\"0.01em\",\"--framer-line-height\":\"140%\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"Mission\"})}),className:\"framer-11wss8f\",\"data-framer-name\":\"Mission\",fonts:[\"CUSTOMV2;Neue Haas Grotesk Display Pro 45 Light\"],layoutDependency:layoutDependency,layoutId:\"JdpDQnVLR\",style:{\"--extracted-r6o4lv\":\"rgb(255, 255, 255)\",\"--framer-paragraph-spacing\":\"0px\"},text:ZfssvV_Uv,verticalAlignment:\"center\",withExternalLayout:true})]}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1ipmz4r-container\",isAuthoredByUser:true,layoutDependency:layoutDependency,layoutId:\"QBe9pDpDH-container\",nodeId:\"QBe9pDpDH\",rendersWithMotion:true,scopeId:\"C6ZkOh_DV\",children:/*#__PURE__*/_jsx(ScrollLine,{anchorOffsetVh:0,anchorReference:\"viewport\",backgroundColor:\"rgba(255, 255, 255, 0.2)\",fillColor:\"rgb(255, 255, 255)\",height:\"100%\",id:\"QBe9pDpDH\",layoutId:\"QBe9pDpDH\",lineHeight:1,offsetEnd:\"end start\",offsetStart:\"start end\",scrollDistanceVh:0,style:{width:\"100%\"},targetId:DBgfpTd3t,trackExternal:true,useAnchorMode:true,width:\"100%\"})})})]})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-1QZAN.framer-10s4xba, .framer-1QZAN .framer-10s4xba { display: block; }\",\".framer-1QZAN.framer-8nergx { align-content: flex-start; align-items: flex-start; cursor: pointer; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 16px; height: min-content; justify-content: flex-start; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; text-decoration: none; width: 204px; }\",\".framer-1QZAN .framer-8w98qe { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 12px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-1QZAN .framer-15tysbt { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 8px); overflow: hidden; position: relative; width: 8px; will-change: var(--framer-will-change-override, transform); }\",\".framer-1QZAN .framer-1cmagrq { bottom: 0px; flex: none; left: -8px; overflow: visible; position: absolute; top: 0px; width: 8px; }\",\".framer-1QZAN .framer-11wss8f { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-1QZAN .framer-1ipmz4r-container { flex: none; height: auto; position: relative; width: 100%; }\",\".framer-1QZAN.framer-v-8nergx.hover .framer-1cmagrq { left: 0px; right: 0px; width: unset; }\",'.framer-1QZAN[data-border=\"true\"]::after, .framer-1QZAN [data-border=\"true\"]::after { content: \"\"; border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0); border-color: var(--border-color, none); border-style: var(--border-style, none); width: 100%; height: 100%; position: absolute; box-sizing: border-box; left: 0; top: 0; border-radius: inherit; corner-shape: inherit; pointer-events: none; }'];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 38\n * @framerIntrinsicWidth 203.5\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"v9Z9iElN8\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerVariables {\"DBgfpTd3t\":\"sectionID\",\"ZfssvV_Uv\":\"text\",\"ebzA5e1w1\":\"link\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerC6ZkOh_DV=withCSS(Component,css,\"framer-1QZAN\");export default FramerC6ZkOh_DV;FramerC6ZkOh_DV.displayName=\"navigation link\";FramerC6ZkOh_DV.defaultProps={height:38,width:203.5};addPropertyControls(FramerC6ZkOh_DV,{DBgfpTd3t:{defaultValue:\"mission\",placeholder:\"section-work\",title:\"Section ID\",type:ControlType.String},onDBgfpTd3tChange:{changes:\"DBgfpTd3t\",type:ControlType.ChangeHandler},ZfssvV_Uv:{defaultValue:\"Mission\",displayTextArea:false,title:\"text\",type:ControlType.String},onZfssvV_UvChange:{changes:\"ZfssvV_Uv\",type:ControlType.ChangeHandler},ebzA5e1w1:{title:\"Link\",type:ControlType.Link}});addFonts(FramerC6ZkOh_DV,[{explicitInter:true,fonts:[{cssFamilyName:\"Neue Haas Grotesk Display Pro 45 Light\",source:\"custom\",style:\"normal\",uiFamilyName:\"Neue Haas Grotesk Display Pro\",url:\"https://framerusercontent.com/assets/7v88vbNPUPh3PX8XhEqCZvmuic.woff2\",weight:\"400\"}]},...ScrollLineFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerC6ZkOh_DV\",\"slots\":[],\"annotations\":{\"framerVariables\":\"{\\\"DBgfpTd3t\\\":\\\"sectionID\\\",\\\"ZfssvV_Uv\\\":\\\"text\\\",\\\"ebzA5e1w1\\\":\\\"link\\\"}\",\"framerColorSyntax\":\"true\",\"framerIntrinsicWidth\":\"203.5\",\"framerImmutableVariables\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicHeight\":\"38\",\"framerContractVersion\":\"1\",\"framerComponentViewportWidth\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"v9Z9iElN8\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerAutoSizeImages\":\"true\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./C6ZkOh_DV.map","// Generated by Framer (423a4cc)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,forwardLoader,getFonts,getLoadingLazyAtYPosition,Image as Image1,Link,RichText,SmartComponentScopedContainer,SVG,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import ScrollLine from\"https://framerusercontent.com/modules/VRcRSexoiT7wIay5OXfB/7lZhSDr7HSVnknZsafO3/Scrollline.js\";import NavigationLink from\"https://framerusercontent.com/modules/dpn5ot9R0gi0mqufw5hj/cneyT2Lg3hABWzUEcNd6/C6ZkOh_DV.js\";const ScrollLineFonts=getFonts(ScrollLine);const NavigationLinkFonts=getFonts(NavigationLink);const cycleOrder=[\"zODdl0abg\",\"BfjR0Xljc\",\"iTqZiI_cO\"];const serializationHash=\"framer-z0BOw\";const variantClassNames={BfjR0Xljc:\"framer-v-6q2un4\",iTqZiI_cO:\"framer-v-ysmsi0\",zODdl0abg:\"framer-v-51a7yy\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const baqgw9oOP=undefined;const bUweieu2I=undefined;const nKhEoUZ9d=undefined;const TK1C15xgk=undefined;const thaChZGo5=undefined;const cgVvPVAWm=undefined;const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const transition2={delay:0,duration:.2,ease:[.44,0,.56,1],type:\"tween\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const humanReadableVariantMap={\"phone opened\":\"iTqZiI_cO\",Desktop:\"zODdl0abg\",phone:\"BfjR0Xljc\"};const Variants=motion.create(React.Fragment);const getProps=({agendaLink,faqLink,height,id,lOGOLINK,methodLink,missionLink,reservationsLink,width,...props})=>{return{...props,baqgw9oOP:lOGOLINK??props.baqgw9oOP,bUweieu2I:missionLink??props.bUweieu2I,cgVvPVAWm:faqLink??props.cgVvPVAWm,nKhEoUZ9d:agendaLink??props.nKhEoUZ9d,thaChZGo5:reservationsLink??props.thaChZGo5,TK1C15xgk:methodLink??props.TK1C15xgk,variant:humanReadableVariantMap[props.variant]??props.variant??\"zODdl0abg\"};};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,bUweieu2I,nKhEoUZ9d,TK1C15xgk,thaChZGo5,cgVvPVAWm,baqgw9oOP,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"zODdl0abg\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTapdfkmyy=activeVariantCallback(async(...args)=>{setVariant(\"iTqZiI_cO\");});const onTap1uuiure=activeVariantCallback(async(...args)=>{setVariant(\"BfjR0Xljc\");});const onTapeq9il5=activeVariantCallback(async(...args)=>{await delay(()=>setVariant(\"BfjR0Xljc\"),200);});const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if([\"BfjR0Xljc\",\"iTqZiI_cO\"].includes(baseVariant))return false;return true;};const isDisplayed1=()=>{if([\"BfjR0Xljc\",\"iTqZiI_cO\"].includes(baseVariant))return true;return false;};return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,...addPropertyOverrides({BfjR0Xljc:{value:transition2},iTqZiI_cO:{value:transition2}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-51a7yy\",className,classNames),\"data-framer-name\":\"Desktop\",layoutDependency:layoutDependency,layoutId:\"zODdl0abg\",ref:refBinding,style:{backgroundColor:\"rgba(0, 0, 0, 0)\",...style},variants:{BfjR0Xljc:{backgroundColor:\"rgba(240, 236, 233, 0)\"},iTqZiI_cO:{backgroundColor:\"rgba(0, 0, 0, 0)\"}},...addPropertyOverrides({BfjR0Xljc:{\"data-framer-name\":\"phone\"},iTqZiI_cO:{\"data-framer-name\":\"phone opened\"}},baseVariant,gestureVariant),children:[isDisplayed()&&/*#__PURE__*/_jsx(Link,{href:baqgw9oOP,motionChild:true,nodeId:\"r2v7PX37A\",openInNewTab:false,scopeId:\"fl2EfC25L\",smoothScroll:true,children:/*#__PURE__*/_jsxs(motion.a,{className:\"framer-1v83am4 framer-5ky6i5\",\"data-framer-name\":\"hero\",layoutDependency:layoutDependency,layoutId:\"r2v7PX37A\",children:[/*#__PURE__*/_jsx(Image1,{background:{alt:\"\",fit:\"fill\",intrinsicHeight:21,intrinsicWidth:93,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+0+0),pixelHeight:21,pixelWidth:93,sizes:\"93px\",src:\"https://framerusercontent.com/images/8hRcnagfPfNvAqjepFzz9Ejo.svg?width=93&height=21\"},className:\"framer-771rgm\",\"data-framer-name\":\"logo\",layoutDependency:layoutDependency,layoutId:\"XGrnhbhtf\"}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-14179m8-container\",isAuthoredByUser:true,layoutDependency:layoutDependency,layoutId:\"O03qc4rGu-container\",nodeId:\"O03qc4rGu\",rendersWithMotion:true,scopeId:\"fl2EfC25L\",children:/*#__PURE__*/_jsx(ScrollLine,{anchorOffsetVh:0,anchorReference:\"viewport\",backgroundColor:\"rgba(255, 255, 255, 0.2)\",fillColor:\"rgb(255, 255, 255)\",height:\"100%\",id:\"O03qc4rGu\",layoutId:\"O03qc4rGu\",lineHeight:1,offsetEnd:\"end start\",offsetStart:\"start end\",scrollDistanceVh:0,style:{width:\"100%\"},targetId:\"hero\",trackExternal:true,useAnchorMode:true,width:\"100%\"})})})]})}),isDisplayed()&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-efmcv3\",layoutDependency:layoutDependency,layoutId:\"BovoBn8pl\",children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{height:38,width:`max((max(${componentViewport?.width||\"100vw\"} * 0.7536 - 4px, 1px) - 16px) / 5, 1px)`,y:(componentViewport?.y||0)+0+(0+(((componentViewport?.height||38)-0)*1-0-38)/2),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-xdh7sx-container\",layoutDependency:layoutDependency,layoutId:\"lcGDBwf7L-container\",nodeId:\"lcGDBwf7L\",rendersWithMotion:true,scopeId:\"fl2EfC25L\",children:/*#__PURE__*/_jsx(NavigationLink,{DBgfpTd3t:\"mission\",ebzA5e1w1:bUweieu2I,height:\"100%\",id:\"lcGDBwf7L\",layoutId:\"lcGDBwf7L\",style:{width:\"100%\"},width:\"100%\",ZfssvV_Uv:\"Mission\"})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:38,width:`max((max(${componentViewport?.width||\"100vw\"} * 0.7536 - 4px, 1px) - 16px) / 5, 1px)`,y:(componentViewport?.y||0)+0+(0+(((componentViewport?.height||38)-0)*1-0-38)/2),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1j23b7n-container\",layoutDependency:layoutDependency,layoutId:\"bzwCUnKv4-container\",nodeId:\"bzwCUnKv4\",rendersWithMotion:true,scopeId:\"fl2EfC25L\",children:/*#__PURE__*/_jsx(NavigationLink,{DBgfpTd3t:\"agenda\",ebzA5e1w1:nKhEoUZ9d,height:\"100%\",id:\"bzwCUnKv4\",layoutId:\"bzwCUnKv4\",style:{width:\"100%\"},width:\"100%\",ZfssvV_Uv:\"Agenda\"})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:38,width:`max((max(${componentViewport?.width||\"100vw\"} * 0.7536 - 4px, 1px) - 16px) / 5, 1px)`,y:(componentViewport?.y||0)+0+(0+(((componentViewport?.height||38)-0)*1-0-38)/2),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-dgw9en-container\",layoutDependency:layoutDependency,layoutId:\"WKcqNMTJV-container\",nodeId:\"WKcqNMTJV\",rendersWithMotion:true,scopeId:\"fl2EfC25L\",children:/*#__PURE__*/_jsx(NavigationLink,{DBgfpTd3t:\"drapa\",ebzA5e1w1:TK1C15xgk,height:\"100%\",id:\"WKcqNMTJV\",layoutId:\"WKcqNMTJV\",style:{width:\"100%\"},width:\"100%\",ZfssvV_Uv:\"Method\"})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:38,width:`max((max(${componentViewport?.width||\"100vw\"} * 0.7536 - 4px, 1px) - 16px) / 5, 1px)`,y:(componentViewport?.y||0)+0+(0+(((componentViewport?.height||38)-0)*1-0-38)/2),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1qlccyk-container\",layoutDependency:layoutDependency,layoutId:\"iQoBP1HqY-container\",nodeId:\"iQoBP1HqY\",rendersWithMotion:true,scopeId:\"fl2EfC25L\",children:/*#__PURE__*/_jsx(NavigationLink,{DBgfpTd3t:\"ticket\",ebzA5e1w1:thaChZGo5,height:\"100%\",id:\"iQoBP1HqY\",layoutId:\"iQoBP1HqY\",style:{width:\"100%\"},width:\"100%\",ZfssvV_Uv:\"Reservations\"})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:38,width:`max((max(${componentViewport?.width||\"100vw\"} * 0.7536 - 4px, 1px) - 16px) / 5, 1px)`,y:(componentViewport?.y||0)+0+(0+(((componentViewport?.height||38)-0)*1-0-38)/2),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1k408k9-container\",layoutDependency:layoutDependency,layoutId:\"Hs3ooExLf-container\",nodeId:\"Hs3ooExLf\",rendersWithMotion:true,scopeId:\"fl2EfC25L\",children:/*#__PURE__*/_jsx(NavigationLink,{DBgfpTd3t:\"faq\",ebzA5e1w1:cgVvPVAWm,height:\"100%\",id:\"Hs3ooExLf\",layoutId:\"Hs3ooExLf\",style:{width:\"100%\"},width:\"100%\",ZfssvV_Uv:\"FAQ\"})})})]}),isDisplayed1()&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-qywfwt\",\"data-framer-name\":\"mobile menu\",layoutDependency:layoutDependency,layoutId:\"YasSkhvlo\",style:{backgroundColor:\"rgba(0, 0, 0, 0)\"},variants:{BfjR0Xljc:{backgroundColor:\"rgba(240, 236, 233, 0)\"},iTqZiI_cO:{backgroundColor:\"rgb(240, 237, 234)\"}},children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1nmgonn\",layoutDependency:layoutDependency,layoutId:\"Dl02vRfv7\",children:[isDisplayed1()&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1ow845n\",\"data-framer-name\":\"mobile hamburger\",layoutDependency:layoutDependency,layoutId:\"HJzTBHhqR\",...addPropertyOverrides({BfjR0Xljc:{\"data-highlight\":true,onTap:onTapdfkmyy},iTqZiI_cO:{\"data-highlight\":true,onTap:onTap1uuiure}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-1k80ip9\",layoutDependency:layoutDependency,layoutId:\"YGUoAH40s\",style:{backgroundColor:\"rgb(255, 255, 255)\",rotate:0},variants:{iTqZiI_cO:{backgroundColor:\"rgb(0, 0, 0)\",rotate:7}}}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-yf8qnk\",layoutDependency:layoutDependency,layoutId:\"hpnZ6YwR4\",style:{backgroundColor:\"rgb(255, 255, 255)\",rotate:0},variants:{iTqZiI_cO:{backgroundColor:\"rgb(0, 0, 0)\",rotate:-7}}})]}),isDisplayed1()&&/*#__PURE__*/_jsx(Link,{motionChild:true,nodeId:\"nhn5g503s\",scopeId:\"fl2EfC25L\",...addPropertyOverrides({BfjR0Xljc:{href:baqgw9oOP,openInNewTab:false}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(Image1,{background:{alt:\"\",fit:\"fill\",intrinsicHeight:17,intrinsicWidth:75,pixelHeight:17,pixelWidth:75,src:\"https://framerusercontent.com/images/KTwaJPQwXKuT9NyiS0WSGGIig.svg?width=75&height=17\"},className:\"framer-pj50is framer-5ky6i5\",\"data-framer-name\":\"logo\",layoutDependency:layoutDependency,layoutId:\"nhn5g503s\",...addPropertyOverrides({BfjR0Xljc:{as:\"a\",background:{alt:\"\",fit:\"fill\",intrinsicHeight:17,intrinsicWidth:75,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+(0+0+((componentViewport?.height||56)-0-417)/1*0)+0+0+19.5),pixelHeight:21,pixelWidth:93,sizes:\"75px\",src:\"https://framerusercontent.com/images/8hRcnagfPfNvAqjepFzz9Ejo.svg?width=93&height=21\"}},iTqZiI_cO:{background:{alt:\"\",fit:\"fill\",intrinsicHeight:17,intrinsicWidth:75,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+(0+0+((componentViewport?.height||417)-0-417)/1*0)+0+0+19.5),pixelHeight:17,pixelWidth:75,sizes:\"75px\",src:\"https://framerusercontent.com/images/KTwaJPQwXKuT9NyiS0WSGGIig.svg?width=75&height=17\"}}},baseVariant,gestureVariant)})})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-14qllde\",\"data-framer-name\":\"List\",layoutDependency:layoutDependency,layoutId:\"pWZF2OA52\",children:[/*#__PURE__*/_jsx(Link,{motionChild:true,nodeId:\"fvNSEBxqw\",scopeId:\"fl2EfC25L\",...addPropertyOverrides({iTqZiI_cO:{href:bUweieu2I,openInNewTab:false,smoothScroll:false}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(motion.a,{className:\"framer-bzqbt6 framer-5ky6i5\",\"data-framer-name\":\"Frame 348\",layoutDependency:layoutDependency,layoutId:\"fvNSEBxqw\",...addPropertyOverrides({iTqZiI_cO:{\"data-highlight\":true,onTap:onTapeq9il5}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1fxuv9m\",\"data-framer-name\":\"Frame 344\",layoutDependency:layoutDependency,layoutId:\"XPF41tPy7\",children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-10ywpym\",\"data-border\":true,\"data-framer-name\":\"Ellipse 2\",layoutDependency:layoutDependency,layoutId:\"x700PMTZN\",style:{\"--border-bottom-width\":\"0.699999988079071px\",\"--border-color\":\"rgb(44, 40, 36)\",\"--border-left-width\":\"0.699999988079071px\",\"--border-right-width\":\"0.699999988079071px\",\"--border-style\":\"solid\",\"--border-top-width\":\"0.699999988079071px\",borderBottomLeftRadius:\"100%\",borderBottomRightRadius:\"100%\",borderTopLeftRadius:\"100%\",borderTopRightRadius:\"100%\",opacity:.4}}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--framer-font-size\":\"32px\",\"--framer-line-height\":\"90%\"},children:/*#__PURE__*/_jsx(motion.span,{style:{\"--font-selector\":\"R0Y7Q29ybW9yYW50IEdhcmFtb25kLTUwMA==\",\"--framer-font-family\":'\"Cormorant Garamond\"',\"--framer-font-size\":\"32px\",\"--framer-font-weight\":\"500\",\"--framer-letter-spacing\":\"-0.04em\",\"--framer-text-color\":\"var(--extracted-1w3ko1f, rgba(44, 40, 36, 1))\"},children:\"Mission\"})})}),className:\"framer-z3mjoj\",\"data-framer-name\":\"Mission\",fonts:[\"GF;Cormorant Garamond-500\"],layoutDependency:layoutDependency,layoutId:\"UCq0EVesB\",style:{\"--extracted-1w3ko1f\":\"rgba(44, 40, 36, 1)\",\"--framer-paragraph-spacing\":\"0px\"},verticalAlignment:\"center\",withExternalLayout:true})]}),/*#__PURE__*/_jsx(SVG,{className:\"framer-18ocic5\",\"data-framer-name\":\"icon\",fill:\"rgba(0,0,0,1)\",intrinsicHeight:14,intrinsicWidth:14,layoutDependency:layoutDependency,layoutId:\"i_LYDccvl\",svg:'<svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\\n<path d=\"M12.8307 6.9987L8.7474 11.082L7.91615 10.2654L10.5995 7.58203L6.41406 7.58203L6.41406 6.41536L10.5995 6.41536L7.93073 3.73203L8.7474 2.91537L12.8307 6.9987ZM5.2474 7.58203L3.4974 7.58203L3.4974 6.41536L5.2474 6.41536L5.2474 7.58203ZM2.33073 7.58203L1.16406 7.58203L1.16406 6.41536L2.33073 6.41536L2.33073 7.58203Z\" fill=\"#2C2824\"/>\\n</svg>\\n',withExternalLayout:true})]})}),/*#__PURE__*/_jsx(Link,{motionChild:true,nodeId:\"xxhbhxhTi\",scopeId:\"fl2EfC25L\",...addPropertyOverrides({iTqZiI_cO:{href:nKhEoUZ9d,openInNewTab:false}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(motion.a,{className:\"framer-109yrsu framer-5ky6i5\",\"data-framer-name\":\"Frame 349\",layoutDependency:layoutDependency,layoutId:\"xxhbhxhTi\",...addPropertyOverrides({iTqZiI_cO:{\"data-highlight\":true,onTap:onTap1uuiure}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1xwvldg\",\"data-framer-name\":\"Frame 344\",layoutDependency:layoutDependency,layoutId:\"nuPCrZoYE\",children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-1mn4q68\",\"data-border\":true,\"data-framer-name\":\"Ellipse 2\",layoutDependency:layoutDependency,layoutId:\"qinyLUySF\",style:{\"--border-bottom-width\":\"0.699999988079071px\",\"--border-color\":\"rgb(44, 40, 36)\",\"--border-left-width\":\"0.699999988079071px\",\"--border-right-width\":\"0.699999988079071px\",\"--border-style\":\"solid\",\"--border-top-width\":\"0.699999988079071px\",borderBottomLeftRadius:\"100%\",borderBottomRightRadius:\"100%\",borderTopLeftRadius:\"100%\",borderTopRightRadius:\"100%\",opacity:.4}}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--framer-font-size\":\"32px\",\"--framer-line-height\":\"90%\"},children:/*#__PURE__*/_jsx(motion.span,{style:{\"--font-selector\":\"R0Y7Q29ybW9yYW50IEdhcmFtb25kLTUwMA==\",\"--framer-font-family\":'\"Cormorant Garamond\"',\"--framer-font-size\":\"32px\",\"--framer-font-weight\":\"500\",\"--framer-letter-spacing\":\"-0.04em\",\"--framer-text-color\":\"var(--extracted-1w3ko1f, rgba(44, 40, 36, 1))\"},children:\"Agenda\"})})}),className:\"framer-11eox0j\",\"data-framer-name\":\"Agenda\",fonts:[\"GF;Cormorant Garamond-500\"],layoutDependency:layoutDependency,layoutId:\"yXivdaqYa\",style:{\"--extracted-1w3ko1f\":\"rgba(44, 40, 36, 1)\",\"--framer-paragraph-spacing\":\"0px\"},verticalAlignment:\"center\",withExternalLayout:true})]}),/*#__PURE__*/_jsx(SVG,{className:\"framer-belq8e\",\"data-framer-name\":\"icon\",fill:\"rgba(0,0,0,1)\",intrinsicHeight:14,intrinsicWidth:14,layoutDependency:layoutDependency,layoutId:\"p1485tgXY\",svg:'<svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\\n<path d=\"M12.8307 6.9987L8.7474 11.082L7.91615 10.2654L10.5995 7.58203L6.41406 7.58203L6.41406 6.41536L10.5995 6.41536L7.93073 3.73203L8.7474 2.91537L12.8307 6.9987ZM5.2474 7.58203L3.4974 7.58203L3.4974 6.41536L5.2474 6.41536L5.2474 7.58203ZM2.33073 7.58203L1.16406 7.58203L1.16406 6.41536L2.33073 6.41536L2.33073 7.58203Z\" fill=\"#2C2824\"/>\\n</svg>\\n',withExternalLayout:true})]})}),/*#__PURE__*/_jsx(Link,{motionChild:true,nodeId:\"iXvhi6Sng\",scopeId:\"fl2EfC25L\",...addPropertyOverrides({iTqZiI_cO:{href:thaChZGo5,openInNewTab:false}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(motion.a,{className:\"framer-a368l4 framer-5ky6i5\",\"data-framer-name\":\"Frame 350\",layoutDependency:layoutDependency,layoutId:\"iXvhi6Sng\",...addPropertyOverrides({iTqZiI_cO:{\"data-highlight\":true,onTap:onTap1uuiure}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-yisrsf\",\"data-framer-name\":\"Frame 344\",layoutDependency:layoutDependency,layoutId:\"rBg_h1CC9\",children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-shcyu2\",\"data-border\":true,\"data-framer-name\":\"Ellipse 2\",layoutDependency:layoutDependency,layoutId:\"iDCcQCyFG\",style:{\"--border-bottom-width\":\"0.699999988079071px\",\"--border-color\":\"rgb(44, 40, 36)\",\"--border-left-width\":\"0.699999988079071px\",\"--border-right-width\":\"0.699999988079071px\",\"--border-style\":\"solid\",\"--border-top-width\":\"0.699999988079071px\",borderBottomLeftRadius:\"100%\",borderBottomRightRadius:\"100%\",borderTopLeftRadius:\"100%\",borderTopRightRadius:\"100%\",opacity:.4}}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--framer-font-size\":\"32px\",\"--framer-line-height\":\"90%\"},children:/*#__PURE__*/_jsx(motion.span,{style:{\"--font-selector\":\"R0Y7Q29ybW9yYW50IEdhcmFtb25kLTUwMA==\",\"--framer-font-family\":'\"Cormorant Garamond\"',\"--framer-font-size\":\"32px\",\"--framer-font-weight\":\"500\",\"--framer-letter-spacing\":\"-0.04em\",\"--framer-text-color\":\"var(--extracted-1w3ko1f, rgba(44, 40, 36, 1))\"},children:\"Tickets\"})})}),className:\"framer-1dg1di6\",\"data-framer-name\":\"Tickets\",fonts:[\"GF;Cormorant Garamond-500\"],layoutDependency:layoutDependency,layoutId:\"pcZFFnKqd\",style:{\"--extracted-1w3ko1f\":\"rgba(44, 40, 36, 1)\",\"--framer-paragraph-spacing\":\"0px\"},variants:{iTqZiI_cO:{\"--extracted-r6o4lv\":\"rgb(44, 40, 36)\"}},verticalAlignment:\"center\",withExternalLayout:true,...addPropertyOverrides({iTqZiI_cO:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"R0Y7Q29ybW9yYW50IEdhcmFtb25kLTUwMA==\",\"--framer-font-family\":'\"Cormorant Garamond\", \"Cormorant Garamond Placeholder\", serif',\"--framer-font-size\":\"32px\",\"--framer-font-weight\":\"500\",\"--framer-letter-spacing\":\"-0.04em\",\"--framer-line-height\":\"90%\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(44, 40, 36))\"},children:\"Reservation\"})})}},baseVariant,gestureVariant)})]}),/*#__PURE__*/_jsx(SVG,{className:\"framer-1p8fsbq\",\"data-framer-name\":\"icon\",fill:\"rgba(0,0,0,1)\",intrinsicHeight:14,intrinsicWidth:14,layoutDependency:layoutDependency,layoutId:\"sG8eml4Yw\",svg:'<svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\\n<path d=\"M12.8307 6.9987L8.7474 11.082L7.91615 10.2654L10.5995 7.58203L6.41406 7.58203L6.41406 6.41536L10.5995 6.41536L7.93073 3.73203L8.7474 2.91537L12.8307 6.9987ZM5.2474 7.58203L3.4974 7.58203L3.4974 6.41536L5.2474 6.41536L5.2474 7.58203ZM2.33073 7.58203L1.16406 7.58203L1.16406 6.41536L2.33073 6.41536L2.33073 7.58203Z\" fill=\"#2C2824\"/>\\n</svg>\\n',withExternalLayout:true})]})}),/*#__PURE__*/_jsx(Link,{motionChild:true,nodeId:\"ZI2JDahh1\",scopeId:\"fl2EfC25L\",...addPropertyOverrides({iTqZiI_cO:{href:cgVvPVAWm,openInNewTab:false}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(motion.a,{className:\"framer-ga4vxi framer-5ky6i5\",\"data-framer-name\":\"Frame 351\",layoutDependency:layoutDependency,layoutId:\"ZI2JDahh1\",...addPropertyOverrides({iTqZiI_cO:{\"data-highlight\":true,onTap:onTap1uuiure}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-4amp3t\",\"data-framer-name\":\"Frame 344\",layoutDependency:layoutDependency,layoutId:\"rbX3Rgdoj\",children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-yh7l8o\",\"data-border\":true,\"data-framer-name\":\"Ellipse 2\",layoutDependency:layoutDependency,layoutId:\"BUrkvz6_g\",style:{\"--border-bottom-width\":\"0.699999988079071px\",\"--border-color\":\"rgb(44, 40, 36)\",\"--border-left-width\":\"0.699999988079071px\",\"--border-right-width\":\"0.699999988079071px\",\"--border-style\":\"solid\",\"--border-top-width\":\"0.699999988079071px\",borderBottomLeftRadius:\"100%\",borderBottomRightRadius:\"100%\",borderTopLeftRadius:\"100%\",borderTopRightRadius:\"100%\",opacity:.4}}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--framer-font-size\":\"32px\",\"--framer-line-height\":\"90%\"},children:/*#__PURE__*/_jsx(motion.span,{style:{\"--font-selector\":\"R0Y7Q29ybW9yYW50IEdhcmFtb25kLTUwMA==\",\"--framer-font-family\":'\"Cormorant Garamond\"',\"--framer-font-size\":\"32px\",\"--framer-font-weight\":\"500\",\"--framer-letter-spacing\":\"-0.04em\",\"--framer-text-color\":\"var(--extracted-1w3ko1f, rgba(44, 40, 36, 1))\"},children:\"FAQ\"})})}),className:\"framer-pjj7ek\",\"data-framer-name\":\"FAQ\",fonts:[\"GF;Cormorant Garamond-500\"],layoutDependency:layoutDependency,layoutId:\"jybacnpdU\",style:{\"--extracted-1w3ko1f\":\"rgba(44, 40, 36, 1)\",\"--framer-paragraph-spacing\":\"0px\"},variants:{iTqZiI_cO:{\"--extracted-r6o4lv\":\"rgb(44, 40, 36)\"}},verticalAlignment:\"center\",withExternalLayout:true,...addPropertyOverrides({iTqZiI_cO:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"R0Y7Q29ybW9yYW50IEdhcmFtb25kLTUwMA==\",\"--framer-font-family\":'\"Cormorant Garamond\", \"Cormorant Garamond Placeholder\", serif',\"--framer-font-size\":\"32px\",\"--framer-font-weight\":\"500\",\"--framer-letter-spacing\":\"-0.04em\",\"--framer-line-height\":\"90%\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(44, 40, 36))\"},children:\"FAQ\"})})}},baseVariant,gestureVariant)})]}),/*#__PURE__*/_jsx(SVG,{className:\"framer-go5x3i\",\"data-framer-name\":\"icon\",fill:\"rgba(0,0,0,1)\",intrinsicHeight:14,intrinsicWidth:14,layoutDependency:layoutDependency,layoutId:\"sRqt54mfU\",svg:'<svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\\n<path d=\"M12.8307 6.9987L8.7474 11.082L7.91615 10.2654L10.5995 7.58203L6.41406 7.58203L6.41406 6.41536L10.5995 6.41536L7.93073 3.73203L8.7474 2.91537L12.8307 6.9987ZM5.2474 7.58203L3.4974 7.58203L3.4974 6.41536L5.2474 6.41536L5.2474 7.58203ZM2.33073 7.58203L1.16406 7.58203L1.16406 6.41536L2.33073 6.41536L2.33073 7.58203Z\" fill=\"#2C2824\"/>\\n</svg>\\n',withExternalLayout:true})]})}),/*#__PURE__*/_jsx(Link,{motionChild:true,nodeId:\"Ew0SeqxQs\",scopeId:\"fl2EfC25L\",...addPropertyOverrides({iTqZiI_cO:{href:TK1C15xgk,openInNewTab:false}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(motion.a,{className:\"framer-1x3dtau framer-5ky6i5\",\"data-framer-name\":\"Frame 352\",layoutDependency:layoutDependency,layoutId:\"Ew0SeqxQs\",...addPropertyOverrides({iTqZiI_cO:{\"data-highlight\":true,onTap:onTap1uuiure}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1h982gm\",\"data-framer-name\":\"Frame 344\",layoutDependency:layoutDependency,layoutId:\"auRuuN2lw\",children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-zvh7fb\",\"data-border\":true,\"data-framer-name\":\"Ellipse 2\",layoutDependency:layoutDependency,layoutId:\"K9oKFnFRl\",style:{\"--border-bottom-width\":\"0.699999988079071px\",\"--border-color\":\"rgb(44, 40, 36)\",\"--border-left-width\":\"0.699999988079071px\",\"--border-right-width\":\"0.699999988079071px\",\"--border-style\":\"solid\",\"--border-top-width\":\"0.699999988079071px\",borderBottomLeftRadius:\"100%\",borderBottomRightRadius:\"100%\",borderTopLeftRadius:\"100%\",borderTopRightRadius:\"100%\",opacity:.4}}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--framer-font-size\":\"32px\",\"--framer-line-height\":\"90%\"},children:/*#__PURE__*/_jsx(motion.span,{style:{\"--font-selector\":\"R0Y7Q29ybW9yYW50IEdhcmFtb25kLTUwMA==\",\"--framer-font-family\":'\"Cormorant Garamond\"',\"--framer-font-size\":\"32px\",\"--framer-font-weight\":\"500\",\"--framer-letter-spacing\":\"-0.04em\",\"--framer-text-color\":\"var(--extracted-1w3ko1f, rgba(44, 40, 36, 1))\"},children:\"Method\"})})}),className:\"framer-1e072ei\",\"data-framer-name\":\"Method\",fonts:[\"GF;Cormorant Garamond-500\"],layoutDependency:layoutDependency,layoutId:\"I6LNowlXa\",style:{\"--extracted-1w3ko1f\":\"rgba(44, 40, 36, 1)\",\"--framer-paragraph-spacing\":\"0px\"},verticalAlignment:\"center\",withExternalLayout:true})]}),/*#__PURE__*/_jsx(SVG,{className:\"framer-8iq1q1\",\"data-framer-name\":\"icon\",fill:\"rgba(0,0,0,1)\",intrinsicHeight:14,intrinsicWidth:14,layoutDependency:layoutDependency,layoutId:\"rOZHjCtoA\",svg:'<svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\\n<path d=\"M12.8307 6.9987L8.7474 11.082L7.91615 10.2654L10.5995 7.58203L6.41406 7.58203L6.41406 6.41536L10.5995 6.41536L7.93073 3.73203L8.7474 2.91537L12.8307 6.9987ZM5.2474 7.58203L3.4974 7.58203L3.4974 6.41536L5.2474 6.41536L5.2474 7.58203ZM2.33073 7.58203L1.16406 7.58203L1.16406 6.41536L2.33073 6.41536L2.33073 7.58203Z\" fill=\"#2C2824\"/>\\n</svg>\\n',withExternalLayout:true})]})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-u0snjj\",layoutDependency:layoutDependency,layoutId:\"Tq3eaLMRN\",style:{backgroundColor:\"rgba(44, 40, 36, 0.1)\"}}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-1r5zz6n\",layoutDependency:layoutDependency,layoutId:\"sC3_eb_8L\",style:{backgroundColor:\"rgba(44, 40, 36, 0.1)\"}}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-1vnm2gb\",layoutDependency:layoutDependency,layoutId:\"ddfO8L_Ld\",style:{backgroundColor:\"rgba(44, 40, 36, 0.1)\"}}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-16i8p37\",layoutDependency:layoutDependency,layoutId:\"w5pDq2hVl\",style:{backgroundColor:\"rgba(44, 40, 36, 0.1)\"}}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-w2uq71\",layoutDependency:layoutDependency,layoutId:\"PnivlCVuj\",style:{backgroundColor:\"rgba(44, 40, 36, 0.1)\"}})]})]}),isDisplayed1()&&/*#__PURE__*/_jsx(motion.div,{className:\"framer-jo9epu\",\"data-framer-name\":\"bg blur\",layoutDependency:layoutDependency,layoutId:\"bAIpUDu4v\",style:{backdropFilter:\"blur(15px)\",backgroundColor:\"rgba(44, 40, 36, 0.01)\",opacity:0,WebkitBackdropFilter:\"blur(15px)\"},variants:{iTqZiI_cO:{opacity:1}},...addPropertyOverrides({iTqZiI_cO:{\"data-highlight\":true,onTap:onTap1uuiure}},baseVariant,gestureVariant)})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-z0BOw.framer-5ky6i5, .framer-z0BOw .framer-5ky6i5 { display: block; }\",\".framer-z0BOw.framer-51a7yy { align-content: flex-start; align-items: flex-start; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 4px; height: min-content; justify-content: flex-start; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 1376px; }\",\".framer-z0BOw .framer-1v83am4 { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 16px; height: min-content; justify-content: flex-start; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; text-decoration: none; width: 25%; }\",\".framer-z0BOw .framer-771rgm { flex: none; height: 21px; overflow: var(--overflow-clip-fallback, clip); position: relative; width: 93px; will-change: var(--framer-will-change-filter-override, filter); }\",\".framer-z0BOw .framer-14179m8-container { flex: none; height: auto; position: relative; width: 100%; }\",\".framer-z0BOw .framer-efmcv3 { align-content: center; align-items: center; align-self: stretch; display: flex; flex: 1 0 0px; flex-direction: row; flex-wrap: nowrap; gap: 4px; height: auto; justify-content: flex-start; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 1px; }\",\".framer-z0BOw .framer-xdh7sx-container, .framer-z0BOw .framer-1j23b7n-container, .framer-z0BOw .framer-dgw9en-container, .framer-z0BOw .framer-1qlccyk-container, .framer-z0BOw .framer-1k408k9-container { flex: 1 0 0px; height: auto; position: relative; width: 1px; }\",\".framer-z0BOw .framer-qywfwt { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: column; flex-wrap: nowrap; gap: 56px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: 1px; }\",\".framer-z0BOw .framer-1nmgonn { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; height: min-content; justify-content: space-between; min-height: 101px; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-z0BOw .framer-1ow845n { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 5px; height: 56px; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 60px; }\",\".framer-z0BOw .framer-1k80ip9, .framer-z0BOw .framer-yf8qnk { flex: none; height: 1px; overflow: var(--overflow-clip-fallback, clip); position: relative; width: 60px; }\",\".framer-z0BOw .framer-pj50is { flex: none; height: 17px; overflow: var(--overflow-clip-fallback, clip); position: relative; width: 75px; will-change: var(--framer-will-change-filter-override, filter); z-index: 0; }\",\".framer-z0BOw .framer-14qllde { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 4px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px 0px 4px 0px; position: relative; width: 100%; }\",\".framer-z0BOw .framer-bzqbt6 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; height: 52px; justify-content: space-between; overflow: visible; padding: 11px 16px 11px 16px; position: relative; width: 100%; }\",\".framer-z0BOw .framer-1fxuv9m, .framer-z0BOw .framer-1xwvldg, .framer-z0BOw .framer-yisrsf, .framer-z0BOw .framer-4amp3t, .framer-z0BOw .framer-1h982gm { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 8px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-z0BOw .framer-10ywpym, .framer-z0BOw .framer-1mn4q68, .framer-z0BOw .framer-shcyu2, .framer-z0BOw .framer-yh7l8o, .framer-z0BOw .framer-zvh7fb { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 8px); position: relative; width: 8px; }\",\".framer-z0BOw .framer-z3mjoj, .framer-z0BOw .framer-11eox0j, .framer-z0BOw .framer-1dg1di6, .framer-z0BOw .framer-pjj7ek, .framer-z0BOw .framer-1e072ei { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-z0BOw .framer-18ocic5, .framer-z0BOw .framer-belq8e, .framer-z0BOw .framer-1p8fsbq, .framer-z0BOw .framer-go5x3i, .framer-z0BOw .framer-8iq1q1 { flex: none; height: 14px; position: relative; width: 14px; }\",\".framer-z0BOw .framer-109yrsu, .framer-z0BOw .framer-a368l4, .framer-z0BOw .framer-ga4vxi, .framer-z0BOw .framer-1x3dtau { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; height: 52px; justify-content: space-between; overflow: visible; padding: 16px; position: relative; width: 100%; }\",\".framer-z0BOw .framer-u0snjj, .framer-z0BOw .framer-1r5zz6n, .framer-z0BOw .framer-1vnm2gb, .framer-z0BOw .framer-16i8p37, .framer-z0BOw .framer-w2uq71 { flex: none; height: 1px; overflow: var(--overflow-clip-fallback, clip); position: relative; width: 100%; }\",\".framer-z0BOw .framer-jo9epu { flex: none; height: calc(var(--framer-viewport-height, 100vh) * 1); left: 0px; overflow: var(--overflow-clip-fallback, clip); position: absolute; right: 0px; top: 0px; z-index: 0; }\",\".framer-z0BOw.framer-v-6q2un4.framer-51a7yy { align-content: center; align-items: center; flex-direction: column; gap: unset; height: 56px; justify-content: space-between; width: 326px; }\",\".framer-z0BOw.framer-v-6q2un4 .framer-qywfwt, .framer-z0BOw.framer-v-ysmsi0 .framer-qywfwt { flex: none; order: 0; width: 100%; z-index: 10; }\",\".framer-z0BOw.framer-v-6q2un4 .framer-1nmgonn, .framer-z0BOw.framer-v-ysmsi0 .framer-1nmgonn { min-height: unset; order: 0; padding: 0px 16px 0px 16px; }\",\".framer-z0BOw.framer-v-6q2un4 .framer-1ow845n, .framer-z0BOw.framer-v-ysmsi0 .framer-1ow845n { cursor: pointer; order: 1; z-index: 5; }\",\".framer-z0BOw.framer-v-6q2un4 .framer-pj50is { order: 0; text-decoration: none; }\",\".framer-z0BOw.framer-v-6q2un4 .framer-14qllde, .framer-z0BOw.framer-v-6q2un4 .framer-jo9epu, .framer-z0BOw.framer-v-ysmsi0 .framer-14qllde { order: 1; }\",\".framer-z0BOw.framer-v-ysmsi0.framer-51a7yy { align-content: center; align-items: center; flex-direction: column; gap: unset; justify-content: space-between; overflow: visible; width: 326px; }\",\".framer-z0BOw.framer-v-ysmsi0 .framer-1k80ip9, .framer-z0BOw.framer-v-ysmsi0 .framer-yf8qnk { left: 0px; position: absolute; right: 0px; top: calc(50.00000000000002% - 1px / 2); width: unset; z-index: 1; }\",\".framer-z0BOw.framer-v-ysmsi0 .framer-pj50is, .framer-z0BOw.framer-v-ysmsi0 .framer-u0snjj { order: 0; }\",\".framer-z0BOw.framer-v-ysmsi0 .framer-bzqbt6 { cursor: pointer; order: 1; text-decoration: none; }\",\".framer-z0BOw.framer-v-ysmsi0 .framer-109yrsu { cursor: pointer; order: 3; text-decoration: none; }\",\".framer-z0BOw.framer-v-ysmsi0 .framer-a368l4 { cursor: pointer; order: 5; text-decoration: none; }\",\".framer-z0BOw.framer-v-ysmsi0 .framer-ga4vxi { cursor: pointer; order: 7; text-decoration: none; }\",\".framer-z0BOw.framer-v-ysmsi0 .framer-1x3dtau { cursor: pointer; order: 9; text-decoration: none; }\",\".framer-z0BOw.framer-v-ysmsi0 .framer-1r5zz6n { order: 2; }\",\".framer-z0BOw.framer-v-ysmsi0 .framer-1vnm2gb { order: 4; }\",\".framer-z0BOw.framer-v-ysmsi0 .framer-16i8p37 { order: 6; }\",\".framer-z0BOw.framer-v-ysmsi0 .framer-w2uq71 { order: 8; }\",\".framer-z0BOw.framer-v-ysmsi0 .framer-jo9epu { cursor: pointer; order: 1; }\",'.framer-z0BOw[data-border=\"true\"]::after, .framer-z0BOw [data-border=\"true\"]::after { content: \"\"; border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0); border-color: var(--border-color, none); border-style: var(--border-style, none); width: 100%; height: 100%; position: absolute; box-sizing: border-box; left: 0; top: 0; border-radius: inherit; corner-shape: inherit; pointer-events: none; }'];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 38\n * @framerIntrinsicWidth 1376\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"BfjR0Xljc\":{\"layout\":[\"fixed\",\"fixed\"]},\"iTqZiI_cO\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerVariables {\"bUweieu2I\":\"missionLink\",\"nKhEoUZ9d\":\"agendaLink\",\"TK1C15xgk\":\"methodLink\",\"thaChZGo5\":\"reservationsLink\",\"cgVvPVAWm\":\"faqLink\",\"baqgw9oOP\":\"lOGOLINK\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const Framerfl2EfC25L=withCSS(Component,css,\"framer-z0BOw\");export default Framerfl2EfC25L;Framerfl2EfC25L.displayName=\"navigation\";Framerfl2EfC25L.defaultProps={height:38,width:1376};addPropertyControls(Framerfl2EfC25L,{variant:{options:[\"zODdl0abg\",\"BfjR0Xljc\",\"iTqZiI_cO\"],optionTitles:[\"Desktop\",\"phone\",\"phone opened\"],title:\"Variant\",type:ControlType.Enum},bUweieu2I:{title:\"mission link\",type:ControlType.Link},nKhEoUZ9d:{title:\"agenda link\",type:ControlType.Link},TK1C15xgk:{title:\"method link\",type:ControlType.Link},thaChZGo5:{title:\"reservations link\",type:ControlType.Link},cgVvPVAWm:{title:\"faq link\",type:ControlType.Link},baqgw9oOP:{title:\"LOGO LINK\",type:ControlType.Link}});addFonts(Framerfl2EfC25L,[{explicitInter:true,fonts:[{cssFamilyName:\"Cormorant Garamond\",source:\"google\",style:\"normal\",uiFamilyName:\"Cormorant Garamond\",url:\"https://fonts.gstatic.com/s/cormorantgaramond/v21/co3umX5slCNuHLi8bLeY9MK7whWMhyjypVO7abI26QOD_s06GnbEi_s4Mfs.woff2\",weight:\"500\"}]},...ScrollLineFonts,...NavigationLinkFonts],{supportsExplicitInterCodegen:true});Framerfl2EfC25L.loader={load:(props,context)=>{const locale=context.locale;return Promise.allSettled([forwardLoader(NavigationLink,{},context)]);}};\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"Framerfl2EfC25L\",\"slots\":[],\"annotations\":{\"framerAutoSizeImages\":\"true\",\"framerIntrinsicHeight\":\"38\",\"framerColorSyntax\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerVariables\":\"{\\\"bUweieu2I\\\":\\\"missionLink\\\",\\\"nKhEoUZ9d\\\":\\\"agendaLink\\\",\\\"TK1C15xgk\\\":\\\"methodLink\\\",\\\"thaChZGo5\\\":\\\"reservationsLink\\\",\\\"cgVvPVAWm\\\":\\\"faqLink\\\",\\\"baqgw9oOP\\\":\\\"lOGOLINK\\\"}\",\"framerImmutableVariables\":\"true\",\"framerContractVersion\":\"1\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"BfjR0Xljc\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"iTqZiI_cO\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerIntrinsicWidth\":\"1376\",\"framerComponentViewportWidth\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./fl2EfC25L.map","// Generated by Framer (b3492b4)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,RichText,SVG,useComponentViewport,useLocaleInfo,useVariantState,withCSS,withFX,withOptimizedAppearEffect}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const RichTextWithFXWithOptimizedAppearEffect=withOptimizedAppearEffect(withFX(RichText));const cycleOrder=[\"Gg6yiB9YR\",\"KyjGHPDjJ\"];const serializationHash=\"framer-vBSHN\";const variantClassNames={Gg6yiB9YR:\"framer-v-16qbfkt\",KyjGHPDjJ:\"framer-v-14xg2oe\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const N5oVMLpwp=undefined;const Nryma_sTZ=undefined;const transition1={delay:0,duration:.4,ease:[.44,0,.56,1],type:\"tween\"};const transition2={delay:.2,duration:.4,ease:[.44,0,.56,1],type:\"tween\"};const animation={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition2,x:0,y:0};const animation1={opacity:.001,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,x:0,y:4};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const humanReadableVariantMap={Closed:\"KyjGHPDjJ\",Open:\"Gg6yiB9YR\"};const Variants=motion.create(React.Fragment);const getProps=({answer,height,id,question,width,...props})=>{return{...props,N5oVMLpwp:question??props.N5oVMLpwp??\"Will we receive CE credit?\",Nryma_sTZ:answer??props.Nryma_sTZ??\"Upon arrival, each attendee receives a stone model cast from the actual teeth of Patient One. This is your starting point. From here, the day follows Dr. Apa in real time as he walks through his complete smile design process from consultation through execution, and you follow along on your own model at every step.\",variant:humanReadableVariantMap[props.variant]??props.variant??\"Gg6yiB9YR\"};};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,N5oVMLpwp,Nryma_sTZ,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"Gg6yiB9YR\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if(baseVariant===\"KyjGHPDjJ\")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__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-16qbfkt\",className,classNames),\"data-border\":true,\"data-framer-name\":\"Open\",layoutDependency:layoutDependency,layoutId:\"Gg6yiB9YR\",ref:refBinding,style:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"rgba(44, 40, 36, 0.1)\",\"--border-left-width\":\"0px\",\"--border-right-width\":\"0px\",\"--border-style\":\"solid\",\"--border-top-width\":\"0px\",...style},...addPropertyOverrides({KyjGHPDjJ:{\"data-framer-name\":\"Closed\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-h8nphd\",\"data-framer-name\":\"headline\",layoutDependency:layoutDependency,layoutId:\"VCTYmHWIA\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBIYWFzIEdyb3Rlc2sgRGlzcGxheSBQcm8gNTUgUm9tYW4=\",\"--framer-font-family\":'\"Neue Haas Grotesk Display Pro 55 Roman\", \"Neue Haas Grotesk Display Pro 55 Roman Placeholder\", sans-serif',\"--framer-font-size\":\"18px\",\"--framer-font-weight\":\"500\",\"--framer-letter-spacing\":\"0.01em\",\"--framer-line-height\":\"140%\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(44, 40, 36))\"},children:\"Will we receive CE credit?\"})}),className:\"framer-a968d8\",\"data-framer-name\":\"Will we receive CE credit?\",fonts:[\"CUSTOMV2;Neue Haas Grotesk Display Pro 55 Roman\"],layoutDependency:layoutDependency,layoutId:\"B4qfbTmQH\",style:{\"--extracted-r6o4lv\":\"rgb(44, 40, 36)\",\"--framer-paragraph-spacing\":\"20px\"},text:N5oVMLpwp,verticalAlignment:\"center\",withExternalLayout:true}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-1oqhbz4\",\"data-framer-name\":\"plus\",layoutDependency:layoutDependency,layoutId:\"JcNKH2Q77\",style:{rotate:0},variants:{KyjGHPDjJ:{rotate:45}},children:/*#__PURE__*/_jsx(SVG,{className:\"framer-1mi14yg\",\"data-framer-name\":\"Frame\",layout:\"position\",layoutDependency:layoutDependency,layoutId:\"wHDcHJDlO\",opacity:1,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 20 20\"><g><path d=\"M 0 20 L 0 0 L 20 0 L 20 20 Z\" fill=\"transparent\"></path><path d=\"M 14.711 15.893 L 9.997 11.178 L 5.283 15.893 L 4.105 14.714 L 8.819 10 L 4.105 5.286 L 5.283 4.107 L 9.997 8.821 L 14.711 4.107 L 15.89 5.286 L 11.176 10 L 15.89 14.714 Z\" fill=\"rgb(44,40,36)\"></path></g></svg>',svgContentId:10099463011,withExternalLayout:true})})]}),isDisplayed()&&/*#__PURE__*/_jsx(motion.div,{className:\"framer-1x7dzy6\",layoutDependency:layoutDependency,layoutId:\"A5BNTVK2D\",children:/*#__PURE__*/_jsx(RichTextWithFXWithOptimizedAppearEffect,{__fromCanvasComponent:true,__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,animate:animation,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBIYWFzIEdyb3Rlc2sgRGlzcGxheSBQcm8gNDUgTGlnaHQ=\",\"--framer-font-family\":'\"Neue Haas Grotesk Display Pro 45 Light\", \"Neue Haas Grotesk Display Pro 45 Light Placeholder\", sans-serif',\"--framer-font-size\":\"15px\",\"--framer-letter-spacing\":\"0.01em\",\"--framer-line-height\":\"140%\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(19, 17, 16))\"},children:\"Upon arrival, each attendee receives a stone model cast from the actual teeth of Patient One. This is your starting point. From here, the day follows Dr. Apa in real time as he walks through his complete smile design process from consultation through execution, and you follow along on your own model at every step.\"})}),className:\"framer-1afy3rr\",\"data-framer-appear-id\":\"1afy3rr\",\"data-framer-name\":\"Upon arrival, each attendee receives a stone model cast from the actual teeth of Patient One. This is your starting point. From here, the day follows Dr. Apa in real time as he walks through his complete smile design process from consultation through execution, and you follow along on your own model at every step.\",fonts:[\"CUSTOMV2;Neue Haas Grotesk Display Pro 45 Light\"],initial:animation1,layoutDependency:layoutDependency,layoutId:\"evdsOPa8X\",optimized:true,style:{\"--extracted-r6o4lv\":\"rgb(19, 17, 16)\",\"--framer-paragraph-spacing\":\"20px\"},text:Nryma_sTZ,verticalAlignment:\"center\",withExternalLayout:true})})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-vBSHN.framer-3bfcgt, .framer-vBSHN .framer-3bfcgt { display: block; }\",\".framer-vBSHN.framer-16qbfkt { align-content: flex-start; align-items: flex-start; cursor: pointer; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 20px; height: min-content; justify-content: center; overflow: visible; padding: 24px 0px 24px 0px; position: relative; width: 799px; }\",\".framer-vBSHN .framer-h8nphd { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 32px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-vBSHN .framer-a968d8 { cursor: pointer; flex: 1 0 0px; height: auto; position: relative; white-space: pre-wrap; width: 1px; word-break: break-word; word-wrap: break-word; }\",\".framer-vBSHN .framer-1oqhbz4 { flex: none; height: 21px; overflow: visible; position: relative; width: 20px; }\",\".framer-vBSHN .framer-1mi14yg { flex: none; height: 20px; left: calc(50.00000000000002% - 20px / 2); position: absolute; top: calc(47.61904761904764% - 20px / 2); width: 20px; }\",\".framer-vBSHN .framer-1x7dzy6 { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px 20px 0px 0px; position: relative; width: 100%; }\",\".framer-vBSHN .framer-1afy3rr { flex: none; height: auto; max-width: 560px; position: relative; white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\",'.framer-vBSHN[data-border=\"true\"]::after, .framer-vBSHN [data-border=\"true\"]::after { content: \"\"; border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0); border-color: var(--border-color, none); border-style: var(--border-style, none); width: 100%; height: 100%; position: absolute; box-sizing: border-box; left: 0; top: 0; border-radius: inherit; corner-shape: inherit; pointer-events: none; }'];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 177\n * @framerIntrinsicWidth 799\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"KyjGHPDjJ\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerVariables {\"N5oVMLpwp\":\"question\",\"Nryma_sTZ\":\"answer\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerIvsoqUUjD=withCSS(Component,css,\"framer-vBSHN\");export default FramerIvsoqUUjD;FramerIvsoqUUjD.displayName=\"faq\";FramerIvsoqUUjD.defaultProps={height:177,width:799};addPropertyControls(FramerIvsoqUUjD,{variant:{options:[\"Gg6yiB9YR\",\"KyjGHPDjJ\"],optionTitles:[\"Open\",\"Closed\"],title:\"Variant\",type:ControlType.Enum},N5oVMLpwp:{defaultValue:\"Will we receive CE credit?\",displayTextArea:false,title:\"question\",type:ControlType.String},onN5oVMLpwpChange:{changes:\"N5oVMLpwp\",type:ControlType.ChangeHandler},Nryma_sTZ:{defaultValue:\"Upon arrival, each attendee receives a stone model cast from the actual teeth of Patient One. This is your starting point. From here, the day follows Dr. Apa in real time as he walks through his complete smile design process from consultation through execution, and you follow along on your own model at every step.\",displayTextArea:false,title:\"answer\",type:ControlType.String},onNryma_sTZChange:{changes:\"Nryma_sTZ\",type:ControlType.ChangeHandler}});addFonts(FramerIvsoqUUjD,[{explicitInter:true,fonts:[{cssFamilyName:\"Neue Haas Grotesk Display Pro 55 Roman\",source:\"custom\",style:\"normal\",uiFamilyName:\"Neue Haas Grotesk Display Pro\",url:\"https://framerusercontent.com/assets/tmLwqa5rh55YXw6gAs9GB7y6CY.woff2\",weight:\"500\"},{cssFamilyName:\"Neue Haas Grotesk Display Pro 45 Light\",source:\"custom\",style:\"normal\",uiFamilyName:\"Neue Haas Grotesk Display Pro\",url:\"https://framerusercontent.com/assets/7v88vbNPUPh3PX8XhEqCZvmuic.woff2\",weight:\"400\"}]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerIvsoqUUjD\",\"slots\":[],\"annotations\":{\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"KyjGHPDjJ\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerContractVersion\":\"1\",\"framerComponentViewportWidth\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerAutoSizeImages\":\"true\",\"framerIntrinsicWidth\":\"799\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicHeight\":\"177\",\"framerVariables\":\"{\\\"N5oVMLpwp\\\":\\\"question\\\",\\\"Nryma_sTZ\\\":\\\"answer\\\"}\",\"framerColorSyntax\":\"true\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./IvsoqUUjD.map","// Generated by Framer (b3492b4)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,Link,RichText,SVG,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const enabledGestures={l416IXAk6:{hover:true}};const serializationHash=\"framer-BeegE\";const variantClassNames={l416IXAk6:\"framer-v-1hpj9mx\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const eJDSxOWEl=undefined;const transition1={delay:0,duration:.2,ease:[.12,.23,.5,1],type:\"tween\"};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,link,width,...props})=>{return{...props,eJDSxOWEl:link??props.eJDSxOWEl};};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,eJDSxOWEl,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({defaultVariant:\"l416IXAk6\",enabledGestures,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(Link,{href:eJDSxOWEl,motionChild:true,nodeId:\"l416IXAk6\",openInNewTab:true,scopeId:\"TkBQac3dk\",smoothScroll:true,children:/*#__PURE__*/_jsxs(motion.a,{...restProps,...gestureHandlers,className:`${cx(scopingClassNames,\"framer-1hpj9mx\",className,classNames)} framer-1yavwk1`,\"data-border\":true,\"data-framer-name\":\"Variant 1\",layoutDependency:layoutDependency,layoutId:\"l416IXAk6\",ref:refBinding,style:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"rgba(44, 40, 36, 0.2)\",\"--border-left-width\":\"1px\",\"--border-right-width\":\"1px\",\"--border-style\":\"solid\",\"--border-top-width\":\"1px\",backgroundColor:\"rgba(43, 39, 36, 0)\",...style},variants:{\"l416IXAk6-hover\":{backgroundColor:\"rgb(43, 39, 36)\"}},...addPropertyOverrides({\"l416IXAk6-hover\":{\"data-framer-name\":undefined}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBIYWFzIEdyb3Rlc2sgRGlzcGxheSBQcm8gNTUgUm9tYW4=\",\"--framer-font-family\":'\"Neue Haas Grotesk Display Pro 55 Roman\", \"Neue Haas Grotesk Display Pro 55 Roman Placeholder\", sans-serif',\"--framer-font-size\":\"12px\",\"--framer-font-weight\":\"500\",\"--framer-letter-spacing\":\"0.02em\",\"--framer-line-height\":\"140%\",\"--framer-text-alignment\":\"right\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(44, 40, 36))\"},children:\"Open on map\"})}),className:\"framer-1xoxk1l\",\"data-framer-name\":\"Open on map\",fonts:[\"CUSTOMV2;Neue Haas Grotesk Display Pro 55 Roman\"],layoutDependency:layoutDependency,layoutId:\"SwC_A_c2m\",style:{\"--extracted-r6o4lv\":\"rgb(44, 40, 36)\",\"--framer-paragraph-spacing\":\"0px\"},variants:{\"l416IXAk6-hover\":{\"--extracted-r6o4lv\":\"rgb(255, 255, 255)\"}},verticalAlignment:\"center\",withExternalLayout:true,...addPropertyOverrides({\"l416IXAk6-hover\":{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBIYWFzIEdyb3Rlc2sgRGlzcGxheSBQcm8gNTUgUm9tYW4=\",\"--framer-font-family\":'\"Neue Haas Grotesk Display Pro 55 Roman\", \"Neue Haas Grotesk Display Pro 55 Roman Placeholder\", sans-serif',\"--framer-font-size\":\"12px\",\"--framer-font-weight\":\"500\",\"--framer-letter-spacing\":\"0.02em\",\"--framer-line-height\":\"140%\",\"--framer-text-alignment\":\"right\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"Open on map\"})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(SVG,{className:\"framer-167q58u\",\"data-framer-name\":\"Frame\",layout:\"position\",layoutDependency:layoutDependency,layoutId:\"GFXI1kfDZ\",opacity:1,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 12 12\"><path d=\"M 7 10.5 L 6.287 9.787 L 8.088 8 L 2.5 8 L 2.5 2 L 3.5 2 L 3.5 7 L 8.088 7 L 6.287 5.2 L 6.987 4.487 L 10 7.5 Z\" fill=\"rgb(44,40,36)\"></path></svg>',svgContentId:12557979738,withExternalLayout:true,...addPropertyOverrides({\"l416IXAk6-hover\":{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 12 12\"><path d=\"M 7 10.5 L 6.287 9.787 L 8.088 8 L 2.5 8 L 2.5 2 L 3.5 2 L 3.5 7 L 8.088 7 L 6.287 5.2 L 6.987 4.487 L 10 7.5 Z\" fill=\"rgb(255, 255, 255)\"></path></svg>',svgContentId:12408688589}},baseVariant,gestureVariant)})]})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-BeegE.framer-1yavwk1, .framer-BeegE .framer-1yavwk1 { display: block; }\",\".framer-BeegE.framer-1hpj9mx { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; height: min-content; justify-content: space-between; overflow: visible; padding: 11px 12px 11px 12px; position: relative; text-decoration: none; width: 140px; }\",\".framer-BeegE .framer-1xoxk1l { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-BeegE .framer-167q58u { flex: none; height: 12px; position: relative; width: 12px; }\",'.framer-BeegE[data-border=\"true\"]::after, .framer-BeegE [data-border=\"true\"]::after { content: \"\"; border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0); border-color: var(--border-color, none); border-style: var(--border-style, none); width: 100%; height: 100%; position: absolute; box-sizing: border-box; left: 0; top: 0; border-radius: inherit; corner-shape: inherit; pointer-events: none; }'];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 39\n * @framerIntrinsicWidth 140\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"dq2RCTaqv\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerVariables {\"eJDSxOWEl\":\"link\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerTkBQac3dk=withCSS(Component,css,\"framer-BeegE\");export default FramerTkBQac3dk;FramerTkBQac3dk.displayName=\"Open on map button\";FramerTkBQac3dk.defaultProps={height:39,width:140};addPropertyControls(FramerTkBQac3dk,{eJDSxOWEl:{title:\"Link\",type:ControlType.Link}});addFonts(FramerTkBQac3dk,[{explicitInter:true,fonts:[{cssFamilyName:\"Neue Haas Grotesk Display Pro 55 Roman\",source:\"custom\",style:\"normal\",uiFamilyName:\"Neue Haas Grotesk Display Pro\",url:\"https://framerusercontent.com/assets/tmLwqa5rh55YXw6gAs9GB7y6CY.woff2\",weight:\"500\"}]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerTkBQac3dk\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerComponentViewportWidth\":\"true\",\"framerVariables\":\"{\\\"eJDSxOWEl\\\":\\\"link\\\"}\",\"framerDisplayContentsDiv\":\"false\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicHeight\":\"39\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"dq2RCTaqv\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerAutoSizeImages\":\"true\",\"framerColorSyntax\":\"true\",\"framerIntrinsicWidth\":\"140\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./TkBQac3dk.map","// Generated by Framer (423a4cc)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,getLoadingLazyAtYPosition,Image as Image1,RichText,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const enabledGestures={SSXeuz67I:{hover:true}};const serializationHash=\"framer-gLqtZ\";const variantClassNames={SSXeuz67I:\"framer-v-whl1w8\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const KvJu1gcb0=undefined;const transition1={delay:0,duration:.2,ease:[.12,.23,.5,1],type:\"tween\"};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,title,width,...props})=>{return{...props,KvJu1gcb0:title??props.KvJu1gcb0??\"Claim your seat\"};};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,KvJu1gcb0,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({defaultVariant:\"SSXeuz67I\",enabledGestures,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-whl1w8\",className,classNames),\"data-framer-name\":\"Variant 1\",layoutDependency:layoutDependency,layoutId:\"SSXeuz67I\",ref:refBinding,style:{backgroundColor:\"rgb(73, 59, 44)\",...style},variants:{\"SSXeuz67I-hover\":{backgroundColor:\"rgb(51, 38, 24)\"}},...addPropertyOverrides({\"SSXeuz67I-hover\":{\"data-framer-name\":undefined}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBIYWFzIEdyb3Rlc2sgRGlzcGxheSBQcm8gNTUgUm9tYW4=\",\"--framer-font-family\":'\"Neue Haas Grotesk Display Pro 55 Roman\", \"Neue Haas Grotesk Display Pro 55 Roman Placeholder\", sans-serif',\"--framer-font-size\":\"15px\",\"--framer-font-weight\":\"500\",\"--framer-letter-spacing\":\"0.01em\",\"--framer-line-height\":\"100%\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"Claim your seat\"})}),className:\"framer-1mgzlao\",\"data-framer-name\":\"text\",fonts:[\"CUSTOMV2;Neue Haas Grotesk Display Pro 55 Roman\"],layoutDependency:layoutDependency,layoutId:\"ZeHOmXqS9\",style:{\"--extracted-r6o4lv\":\"rgb(255, 255, 255)\",\"--framer-paragraph-spacing\":\"0px\"},text:KvJu1gcb0,verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(Image1,{background:{alt:\"\",fit:\"fill\",intrinsicHeight:15,intrinsicWidth:15,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+(28+((componentViewport?.height||72)-56-15)/2)),pixelHeight:15,pixelWidth:15,sizes:\"15px\",src:\"https://framerusercontent.com/images/5vLvFgaGwqVQ4YGilgFqqIQoKUg.svg?width=15&height=15\"},className:\"framer-bvm2ll\",layoutDependency:layoutDependency,layoutId:\"PQZp5o7UA\"})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-gLqtZ.framer-ga9myx, .framer-gLqtZ .framer-ga9myx { display: block; }\",\".framer-gLqtZ.framer-whl1w8 { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; height: 72px; justify-content: space-between; overflow: var(--overflow-clip-fallback, clip); padding: 28px; position: relative; width: 276px; }\",\".framer-gLqtZ .framer-1mgzlao { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-gLqtZ .framer-bvm2ll { flex: none; height: 15px; overflow: var(--overflow-clip-fallback, clip); position: relative; width: 15px; will-change: var(--framer-will-change-filter-override, filter); }\",\".framer-gLqtZ.framer-v-whl1w8.hover.framer-whl1w8 { padding: 28px 32px 28px 32px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 72\n * @framerIntrinsicWidth 276\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"EaM3JlDJe\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerVariables {\"KvJu1gcb0\":\"title\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const Framerxh_s0TAJI=withCSS(Component,css,\"framer-gLqtZ\");export default Framerxh_s0TAJI;Framerxh_s0TAJI.displayName=\"claim your seat brown\";Framerxh_s0TAJI.defaultProps={height:72,width:276};addPropertyControls(Framerxh_s0TAJI,{KvJu1gcb0:{defaultValue:\"Claim your seat\",displayTextArea:false,title:\"Title\",type:ControlType.String},onKvJu1gcb0Change:{changes:\"KvJu1gcb0\",type:ControlType.ChangeHandler}});addFonts(Framerxh_s0TAJI,[{explicitInter:true,fonts:[{cssFamilyName:\"Neue Haas Grotesk Display Pro 55 Roman\",source:\"custom\",style:\"normal\",uiFamilyName:\"Neue Haas Grotesk Display Pro\",url:\"https://framerusercontent.com/assets/tmLwqa5rh55YXw6gAs9GB7y6CY.woff2\",weight:\"500\"}]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"Framerxh_s0TAJI\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"72\",\"framerDisplayContentsDiv\":\"false\",\"framerColorSyntax\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"EaM3JlDJe\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerIntrinsicWidth\":\"276\",\"framerContractVersion\":\"1\",\"framerComponentViewportWidth\":\"true\",\"framerVariables\":\"{\\\"KvJu1gcb0\\\":\\\"title\\\"}\",\"framerImmutableVariables\":\"true\",\"framerAutoSizeImages\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./xh_s0TAJI.map","// Generated by Framer (7e3c516)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,cx,getLoadingLazyAtYPosition,Image as Image1,RichText,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const enabledGestures={NPiLwolsf:{hover:true}};const serializationHash=\"framer-Nxjwg\";const variantClassNames={NPiLwolsf:\"framer-v-131my2t\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={delay:0,duration:.2,ease:[.12,.23,.5,1],type:\"tween\"};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:\"NPiLwolsf\",enabledGestures,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-131my2t\",className,classNames),\"data-framer-name\":\"Variant 1\",layoutDependency:layoutDependency,layoutId:\"NPiLwolsf\",ref:refBinding,style:{backgroundColor:\"rgb(240, 237, 234)\",...style},variants:{\"NPiLwolsf-hover\":{backgroundColor:\"rgb(212, 212, 212)\"}},...addPropertyOverrides({\"NPiLwolsf-hover\":{\"data-framer-name\":undefined}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBIYWFzIEdyb3Rlc2sgRGlzcGxheSBQcm8gNTUgUm9tYW4=\",\"--framer-font-family\":'\"Neue Haas Grotesk Display Pro 55 Roman\", \"Neue Haas Grotesk Display Pro 55 Roman Placeholder\", sans-serif',\"--framer-font-size\":\"15px\",\"--framer-font-weight\":\"500\",\"--framer-letter-spacing\":\"0.01em\",\"--framer-line-height\":\"140%\"},children:\"Claim your seat\"})}),className:\"framer-1or48ib\",\"data-framer-name\":\"text\",fonts:[\"CUSTOMV2;Neue Haas Grotesk Display Pro 55 Roman\"],layoutDependency:layoutDependency,layoutId:\"UlhAPNlBu\",style:{\"--framer-paragraph-spacing\":\"0px\"},verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(Image1,{background:{alt:\"\",fit:\"fill\",intrinsicHeight:15,intrinsicWidth:15,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+(28+((componentViewport?.height||72)-56-15)/2)),pixelHeight:15,pixelWidth:15,sizes:\"15px\",src:\"https://framerusercontent.com/images/1Uy2Q7rsqx0ocpcsGNoYfXlmhY.svg?width=15&height=15\"},className:\"framer-1x0ufo5\",layoutDependency:layoutDependency,layoutId:\"NBqBDFViy\"})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-Nxjwg.framer-rp13zs, .framer-Nxjwg .framer-rp13zs { display: block; }\",\".framer-Nxjwg.framer-131my2t { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; height: 72px; justify-content: space-between; overflow: var(--overflow-clip-fallback, clip); padding: 28px; position: relative; width: 276px; }\",\".framer-Nxjwg .framer-1or48ib { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-Nxjwg .framer-1x0ufo5 { flex: none; height: 15px; overflow: var(--overflow-clip-fallback, clip); position: relative; width: 15px; will-change: var(--framer-will-change-filter-override, filter); }\",\".framer-Nxjwg.framer-v-131my2t.hover.framer-131my2t { padding: 28px 32px 28px 32px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 72\n * @framerIntrinsicWidth 276\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"qIUpCNgly\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerzZhxEroJw=withCSS(Component,css,\"framer-Nxjwg\");export default FramerzZhxEroJw;FramerzZhxEroJw.displayName=\"claim your seat white\";FramerzZhxEroJw.defaultProps={height:72,width:276};addFonts(FramerzZhxEroJw,[{explicitInter:true,fonts:[{cssFamilyName:\"Neue Haas Grotesk Display Pro 55 Roman\",source:\"custom\",style:\"normal\",uiFamilyName:\"Neue Haas Grotesk Display Pro\",url:\"https://framerusercontent.com/assets/tmLwqa5rh55YXw6gAs9GB7y6CY.woff2\",weight:\"500\"}]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerzZhxEroJw\",\"slots\":[],\"annotations\":{\"framerDisplayContentsDiv\":\"false\",\"framerImmutableVariables\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerIntrinsicWidth\":\"276\",\"framerIntrinsicHeight\":\"72\",\"framerComponentViewportWidth\":\"true\",\"framerContractVersion\":\"1\",\"framerColorSyntax\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"qIUpCNgly\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./zZhxEroJw.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useRef,useEffect,useId}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";export default function DateEventTimeline(props){const{dateText=\"Saturday, September 19\",timeText=\"5 – 6 PM\",overlineFont={fontFamily:\"Inter\",fontWeight:500},overlineSizePx=11,dateColor=\"rgba(240, 237, 234, 0.55)\",timeColor=\"rgba(240, 237, 234, 0.55)\",overlineLetterSpacingEm=.18,dateToTimeGapPx=4,innerCircleBadge=\"\",innerCircleBadgeWidthPx=154,innerCircleBadgeGapPx=24,title=\"Welcome reception\",titleFont={fontFamily:\"Inter\",fontWeight:500},titleSizePx=18,titleColor=\"rgba(240, 237, 234, 1)\",titleLineHeight=1.3,titleLetterSpacingEm=-.01,titleToTextGapPx=24,text=\"A short description of what happens during this slot. Add a paragraph here that sets context for the attendee.\\n\\nSeparate paragraphs with a blank line.\",textFont={fontFamily:\"Inter\",fontWeight:400},textSizePx=13,textColor=\"rgba(240, 237, 234, 0.78)\",textLineHeight=1.6,textWidthPx=360,paragraphGapPx=14,image=\"\",imageWidthPx=240,imageHeightPx=320,imageBorderRadiusPx=4,imagePosition=\"below\",imageGapPx=16,pinpointSizePx=8,pinpointActiveSizePx=12,pinpointColor=\"rgba(255, 255, 255, 1)\",pinpointInactiveOpacity=.35,pinpointGlowSizePx=28,pinpointGlowColor=\"rgba(255, 255, 255, 0.18)\",dropLineColor=\"rgba(237, 233, 229, 1)\",dropLineOpacityActive=1,dropLineOpacityInactive=.12,dropLineThicknessPx=1,overlineToDotGapPx=16,pinpointToTextGapPx=65,dropToContentGapPx=16,activationXPercent=62,fadeInDurationMs=700,canvasPreviewActive=true,dayId=\"\"}=props;const containerRef=useRef(null);const isCanvas=RenderTarget.current()===RenderTarget.canvas;const reactId=useId().replace(/:/g,\"\");const scopeId=`det-${reactId}`;useEffect(()=>{if(isCanvas){const el=containerRef.current;if(!el)return;el.dataset.active=canvasPreviewActive?\"true\":\"false\";return;}if(typeof window===\"undefined\")return;let rafId=null;let inView=false;const update=()=>{const el=containerRef.current;if(!el){if(inView)rafId=requestAnimationFrame(update);return;}const rect=el.getBoundingClientRect();const vw=window.innerWidth;const triggerX=vw*(activationXPercent/100);const isActive=rect.left<=triggerX;const target=isActive?\"true\":\"false\";if(el.dataset.active!==target){el.dataset.active=target;if(dayId){window.dispatchEvent(new CustomEvent(\"dxh-day-state\",{detail:{id:reactId,dayId,active:isActive}}));}}if(inView)rafId=requestAnimationFrame(update);};const observer=new IntersectionObserver(entries=>{entries.forEach(entry=>{if(entry.isIntersecting){if(!inView){inView=true;rafId=requestAnimationFrame(update);}}else{inView=false;if(rafId!==null){cancelAnimationFrame(rafId);rafId=null;}}});},{rootMargin:\"100% 100%\"});if(containerRef.current){observer.observe(containerRef.current);}return()=>{observer.disconnect();if(rafId!==null)cancelAnimationFrame(rafId);if(dayId){window.dispatchEvent(new CustomEvent(\"dxh-day-state\",{detail:{id:reactId,dayId,active:false}}));}};},[isCanvas,canvasPreviewActive,activationXPercent,dayId,reactId]);const paragraphs=(text||\"\").split(/\\n\\n+/).map(p=>p.trim()).filter(Boolean);const fadeBase=`${fadeInDurationMs}ms cubic-bezier(0.22, 1, 0.36, 1)`;const stagger=Math.round(fadeInDurationMs*.12);const imageBlock=image?/*#__PURE__*/_jsx(\"div\",{className:\"det-image\",style:{width:`${imageWidthPx}px`,height:`${imageHeightPx}px`,backgroundImage:`url(${image})`,backgroundSize:\"cover\",backgroundPosition:\"center\",backgroundRepeat:\"no-repeat\",borderRadius:`${imageBorderRadiusPx}px`,marginTop:imagePosition===\"below\"?`${imageGapPx}px`:0,marginBottom:imagePosition===\"above\"?`${imageGapPx}px`:0}}):null;return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,id:scopeId,\"data-active\":\"false\",style:{width:\"100%\",height:\"100%\",position:\"relative\",pointerEvents:\"none\",display:\"flex\",flexDirection:\"column\",alignItems:\"flex-start\"},children:[/*#__PURE__*/_jsx(\"style\",{children:`\n                #${scopeId} .det-overlines {\n                    display: flex;\n                    flex-direction: column;\n                    align-items: center;\n                    /* Center on the dot: dot center sits at pinpointWidth/2\n                       from the container's left edge. */\n                    margin-left: ${Math.max(pinpointGlowSizePx,pinpointActiveSizePx)/2}px;\n                    transform: translateX(-50%);\n                    text-align: center;\n                    white-space: nowrap;\n                }\n                #${scopeId} .det-overline {\n                    font-family: ${overlineFont?.fontFamily||\"Inter\"};\n                    font-weight: ${String(overlineFont?.fontWeight||500)};\n                    font-style: ${overlineFont?.fontStyle||\"normal\"};\n                    font-size: ${overlineSizePx}px;\n                    line-height: 1;\n                    height: ${overlineSizePx}px;\n                    display: flex;\n                    align-items: center;\n                    letter-spacing: ${overlineLetterSpacingEm}em;\n                    opacity: 0;\n                    transform: translateY(6px);\n                    transition: opacity ${fadeBase}, transform ${fadeBase};\n                    will-change: transform, opacity;\n                }\n                #${scopeId} .det-overline.det-date {\n                    color: ${dateColor};\n                }\n                #${scopeId} .det-overline.det-time {\n                    color: ${timeColor};\n                    margin-top: ${dateToTimeGapPx}px;\n                    transition: opacity ${fadeBase} ${Math.round(stagger/2)}ms, transform ${fadeBase} ${Math.round(stagger/2)}ms;\n                }\n                #${scopeId} .det-pinpoint {\n                    position: relative;\n                    width: ${Math.max(pinpointGlowSizePx,pinpointActiveSizePx)}px;\n                    height: ${Math.max(pinpointGlowSizePx,pinpointActiveSizePx)}px;\n                    margin-top: ${overlineToDotGapPx}px;\n                    margin-left: 0;\n                    flex-shrink: 0;\n                }\n                #${scopeId} .det-glow {\n                    position: absolute;\n                    left: 50%;\n                    top: 50%;\n                    width: ${pinpointGlowSizePx}px;\n                    height: ${pinpointGlowSizePx}px;\n                    border-radius: 50%;\n                    background: ${pinpointGlowColor};\n                    transform: translate(-50%, -50%) scale(0.4);\n                    opacity: 0;\n                    transition: opacity ${fadeBase}, transform ${fadeBase};\n                    will-change: transform, opacity;\n                }\n                #${scopeId} .det-dot {\n                    position: absolute;\n                    left: 50%;\n                    top: 50%;\n                    width: ${pinpointSizePx}px;\n                    height: ${pinpointSizePx}px;\n                    border-radius: 50%;\n                    background: ${pinpointColor};\n                    transform: translate(-50%, -50%) scale(1);\n                    opacity: ${pinpointInactiveOpacity};\n                    transition: opacity ${fadeBase}, transform ${fadeBase};\n                    will-change: transform, opacity;\n                }\n                #${scopeId} .det-row {\n                    display: flex;\n                    align-items: stretch;\n                    width: 100%;\n                }\n                #${scopeId} .det-drop {\n                    width: ${dropLineThicknessPx}px;\n                    margin-left: ${(Math.max(pinpointGlowSizePx,pinpointActiveSizePx)-dropLineThicknessPx)/2}px;\n                    background: ${dropLineColor};\n                    -webkit-mask-image: linear-gradient(to bottom, black, rgba(0,0,0,0.05));\n                    mask-image: linear-gradient(to bottom, black, rgba(0,0,0,0.05));\n                    transform-origin: top center;\n                    transform: scaleY(0);\n                    opacity: ${dropLineOpacityInactive};\n                    transition: transform ${fadeBase}, opacity ${fadeBase};\n                    will-change: transform, opacity;\n                    flex-shrink: 0;\n                    align-self: stretch;\n                }\n                #${scopeId} .det-content {\n                    margin-left: ${dropToContentGapPx}px;\n                    margin-top: ${pinpointToTextGapPx}px;\n                    width: ${textWidthPx}px;\n                    max-width: 100%;\n                    opacity: 0;\n                    transform: translateY(8px);\n                    transition: opacity ${fadeBase} ${stagger}ms, transform ${fadeBase} ${stagger}ms;\n                    will-change: transform, opacity;\n                }\n                #${scopeId} .det-title {\n                    font-family: ${titleFont?.fontFamily||\"Inter\"};\n                    font-weight: ${String(titleFont?.fontWeight||500)};\n                    font-style: ${titleFont?.fontStyle||\"normal\"};\n                    font-size: ${titleSizePx}px;\n                    color: ${titleColor};\n                    line-height: ${titleLineHeight};\n                    letter-spacing: ${titleLetterSpacingEm}em;\n                    margin: 0 0 ${titleToTextGapPx}px 0;\n                }\n                #${scopeId} .det-paragraph {\n                    font-family: ${textFont?.fontFamily||\"Inter\"};\n                    font-weight: ${String(textFont?.fontWeight||400)};\n                    font-style: ${textFont?.fontStyle||\"normal\"};\n                    font-size: ${textSizePx}px;\n                    color: ${textColor};\n                    line-height: ${textLineHeight};\n                    margin: 0;\n                }\n                #${scopeId} .det-paragraph + .det-paragraph {\n                    margin-top: ${paragraphGapPx}px;\n                }\n                #${scopeId} .det-image {\n                    display: block;\n                }\n                #${scopeId}[data-active=\"true\"] .det-overline {\n                    opacity: 1;\n                    transform: translateY(0);\n                }\n                #${scopeId}[data-active=\"true\"] .det-glow {\n                    opacity: 1;\n                    transform: translate(-50%, -50%) scale(1);\n                }\n                #${scopeId}[data-active=\"true\"] .det-dot {\n                    opacity: 1;\n                    transform: translate(-50%, -50%) scale(${pinpointActiveSizePx/pinpointSizePx});\n                }\n                #${scopeId}[data-active=\"true\"] .det-drop {\n                    transform: scaleY(1);\n                    opacity: ${dropLineOpacityActive};\n                }\n                #${scopeId}[data-active=\"true\"] .det-content {\n                    opacity: 1;\n                    transform: translateY(0);\n                }\n            `}),(dateText||timeText)&&/*#__PURE__*/_jsxs(\"div\",{className:\"det-overlines\",children:[dateText&&/*#__PURE__*/_jsx(\"div\",{className:\"det-overline det-date\",children:dateText}),timeText&&/*#__PURE__*/_jsx(\"div\",{className:\"det-overline det-time\",children:timeText})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"det-pinpoint\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"det-glow\"}),/*#__PURE__*/_jsx(\"div\",{className:\"det-dot\"})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"det-row\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"det-drop\"}),/*#__PURE__*/_jsxs(\"div\",{className:\"det-content\",children:[imagePosition===\"above\"&&imageBlock,innerCircleBadge&&/*#__PURE__*/_jsx(\"img\",{src:innerCircleBadge,alt:\"\",className:\"det-badge\",style:{width:`${innerCircleBadgeWidthPx}px`,height:\"auto\",display:\"block\",marginBottom:`${innerCircleBadgeGapPx}px`}}),title&&/*#__PURE__*/_jsx(\"div\",{className:\"det-title\",children:title}),paragraphs.map((p,i)=>/*#__PURE__*/_jsx(\"p\",{className:\"det-paragraph\",children:p},i)),imagePosition===\"below\"&&imageBlock]})]})]});}addPropertyControls(DateEventTimeline,{dateText:{type:ControlType.String,title:\"Date\",defaultValue:\"Saturday, September 19\",description:\"Top line above the dot.\"},timeText:{type:ControlType.String,title:\"Time\",defaultValue:\"5 – 6 PM\",description:\"Bottom line above the dot.\"},overlineFont:{type:ControlType.Font,title:\"Overline Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontFamily:\"Inter\",fontWeight:500},displayFontSize:false,displayLineHeight:false,displayLetterSpacing:false,displayTextAlignment:false},overlineSizePx:{type:ControlType.Number,title:\"Overline Size\",defaultValue:11,min:6,max:80,step:1,unit:\"px\"},dateColor:{type:ControlType.Color,title:\"Date Color\",defaultValue:\"rgba(240, 237, 234, 0.55)\"},timeColor:{type:ControlType.Color,title:\"Time Color\",defaultValue:\"rgba(240, 237, 234, 0.55)\"},overlineLetterSpacingEm:{type:ControlType.Number,title:\"Overline Tracking\",defaultValue:.18,min:-.05,max:.5,step:.01,unit:\"em\"},dateToTimeGapPx:{type:ControlType.Number,title:\"Date → Time\",defaultValue:4,min:0,max:80,step:1,unit:\"px\"},innerCircleBadge:{type:ControlType.Image,title:\"Inner Circle Badge\",description:\"Badge image rendered above the title.\"},innerCircleBadgeWidthPx:{type:ControlType.Number,title:\"Badge Width\",defaultValue:154,min:20,max:600,step:1,unit:\"px\",hidden:props=>!props.innerCircleBadge},innerCircleBadgeGapPx:{type:ControlType.Number,title:\"Badge → Title\",defaultValue:24,min:0,max:200,step:1,unit:\"px\",hidden:props=>!props.innerCircleBadge},title:{type:ControlType.String,title:\"Title\",defaultValue:\"Welcome reception\",description:\"Heading above the body text.\"},titleFont:{type:ControlType.Font,title:\"Title Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontFamily:\"Inter\",fontWeight:500},displayFontSize:false,displayLineHeight:false,displayLetterSpacing:false,displayTextAlignment:false},titleSizePx:{type:ControlType.Number,title:\"Title Size\",defaultValue:18,min:8,max:120,step:1,unit:\"px\"},titleColor:{type:ControlType.Color,title:\"Title Color\",defaultValue:\"rgba(240, 237, 234, 1)\"},titleLineHeight:{type:ControlType.Number,title:\"Title Line H\",defaultValue:1.3,min:.8,max:3,step:.05},titleLetterSpacingEm:{type:ControlType.Number,title:\"Title Tracking\",defaultValue:-.01,min:-.1,max:.5,step:.01,unit:\"em\"},titleToTextGapPx:{type:ControlType.Number,title:\"Title → Text\",defaultValue:24,min:0,max:120,step:1,unit:\"px\",description:\"Gap between the title and the body text.\"},text:{type:ControlType.String,title:\"Text\",defaultValue:\"A short description of what happens during this slot. Add a paragraph here that sets context for the attendee.\\n\\nSeparate paragraphs with a blank line.\",displayTextArea:true,description:\"Body copy. Separate paragraphs with a blank line.\"},textFont:{type:ControlType.Font,title:\"Text Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontFamily:\"Inter\",fontWeight:400},displayFontSize:false,displayLineHeight:false,displayLetterSpacing:false,displayTextAlignment:false},textSizePx:{type:ControlType.Number,title:\"Text Size\",defaultValue:13,min:6,max:80,step:1,unit:\"px\"},textColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"rgba(240, 237, 234, 0.78)\"},textLineHeight:{type:ControlType.Number,title:\"Line Height\",defaultValue:1.6,min:.8,max:3,step:.05},textWidthPx:{type:ControlType.Number,title:\"Text Width\",defaultValue:360,min:80,max:1200,step:4,unit:\"px\"},paragraphGapPx:{type:ControlType.Number,title:\"Paragraph Gap\",defaultValue:14,min:0,max:80,step:1,unit:\"px\"},image:{type:ControlType.Image,title:\"Image\",description:\"Optional image rendered with the content.\"},imageWidthPx:{type:ControlType.Number,title:\"Image Width\",defaultValue:240,min:40,max:1200,step:4,unit:\"px\",hidden:props=>!props.image},imageHeightPx:{type:ControlType.Number,title:\"Image Height\",defaultValue:320,min:40,max:1200,step:4,unit:\"px\",hidden:props=>!props.image},imageBorderRadiusPx:{type:ControlType.Number,title:\"Image Radius\",defaultValue:4,min:0,max:80,step:1,unit:\"px\",hidden:props=>!props.image},imagePosition:{type:ControlType.Enum,title:\"Image Position\",defaultValue:\"below\",options:[\"above\",\"below\"],optionTitles:[\"Above text\",\"Below text\"],hidden:props=>!props.image},imageGapPx:{type:ControlType.Number,title:\"Image Gap\",defaultValue:16,min:0,max:80,step:1,unit:\"px\",hidden:props=>!props.image},pinpointSizePx:{type:ControlType.Number,title:\"Dot Size\",defaultValue:8,min:2,max:40,step:1,unit:\"px\"},pinpointActiveSizePx:{type:ControlType.Number,title:\"Dot Active Size\",defaultValue:12,min:2,max:60,step:1,unit:\"px\"},pinpointColor:{type:ControlType.Color,title:\"Dot Color\",defaultValue:\"rgba(255, 255, 255, 1)\"},pinpointInactiveOpacity:{type:ControlType.Number,title:\"Dot Inactive\",defaultValue:.35,min:0,max:1,step:.05},pinpointGlowSizePx:{type:ControlType.Number,title:\"Glow Size\",defaultValue:28,min:0,max:120,step:2,unit:\"px\"},pinpointGlowColor:{type:ControlType.Color,title:\"Glow Color\",defaultValue:\"rgba(255, 255, 255, 0.18)\"},dropLineColor:{type:ControlType.Color,title:\"Drop Color\",defaultValue:\"rgba(237, 233, 229, 1)\",description:\"Top color (#EDE9E5). Line fades to 5% opacity at the bottom.\"},dropLineOpacityActive:{type:ControlType.Number,title:\"Drop Opacity\",defaultValue:1,min:0,max:1,step:.05},dropLineOpacityInactive:{type:ControlType.Number,title:\"Drop Inactive\",defaultValue:.12,min:0,max:1,step:.05},dropLineThicknessPx:{type:ControlType.Number,title:\"Drop Thickness\",defaultValue:1,min:.5,max:6,step:.5,unit:\"px\"},overlineToDotGapPx:{type:ControlType.Number,title:\"Overline → Dot\",defaultValue:16,min:0,max:200,step:2,unit:\"px\",description:\"Vertical gap between the time line and the dot. Tweak to align the dot with the wavy line in canvas.\"},pinpointToTextGapPx:{type:ControlType.Number,title:\"Dot → Text Gap\",defaultValue:65,min:0,max:400,step:1,unit:\"px\",description:\"Vertical breathing room between the pinpoint and the start of the content. Drop line still runs from the pinpoint.\"},dropToContentGapPx:{type:ControlType.Number,title:\"Line → Text Gap\",defaultValue:16,min:0,max:200,step:2,unit:\"px\",description:\"Horizontal gap between the vertical line and the text.\"},activationXPercent:{type:ControlType.Number,title:\"Activate At\",defaultValue:62,min:20,max:100,step:1,unit:\"% vw\",description:\"Activates when the block's LEFT edge reaches this % of viewport width from the left.\"},fadeInDurationMs:{type:ControlType.Number,title:\"Fade Duration\",defaultValue:700,min:100,max:2e3,step:50,unit:\"ms\"},canvasPreviewActive:{type:ControlType.Boolean,title:\"Canvas Active\",defaultValue:true,enabledTitle:\"Active\",disabledTitle:\"Inactive\",description:\"Show active state on the Framer canvas (no effect on published site).\"},dayId:{type:ControlType.String,title:\"Day ID\",defaultValue:\"\",description:\"Optional. Match the Day ID set on the DayTitle component to drive its crossfade.\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"DateEventTimeline\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Dateeventtimeline.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useRef,useState,useId}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";const DEFAULT_DAYS=[{dayId:\"day1\",overline:\"Patient One   8:00 AM – 8:00 PM\",title:\"Day One\"},{dayId:\"day2\",overline:\"Patient Two   8:00 AM – 8:00 PM\",title:\"Day Two\"}];export default function DayTitle(props){const{days=DEFAULT_DAYS,defaultDayId=\"\",overlineFont={fontFamily:\"Inter\",fontWeight:400},overlineSizePx=13,overlineColor=\"rgba(240, 237, 234, 0.65)\",overlineLetterSpacingEm=0,overlineUppercase=false,titleFont={fontFamily:\"Cormorant Garamond\",fontWeight:400},titleSizePx=88,titleColor=\"rgba(240, 237, 234, 1)\",titleLineHeight=1.05,titleLetterSpacingEm=-.02,titleItalic=true,overlineToTitleGapPx=12,crossfadeDurationMs=700,crossfadeYPx=8,canvasPreviewDayId=\"\"}=props;const isCanvas=RenderTarget.current()===RenderTarget.canvas;const reactId=useId().replace(/:/g,\"\");const scopeId=`dt-${reactId}`;const fallbackDayId=defaultDayId||(days&&days.length>0?days[0].dayId:\"\");const[currentDayId,setCurrentDayId]=useState(()=>{if(isCanvas&&canvasPreviewDayId)return canvasPreviewDayId;return fallbackDayId;});const activeStack=useRef([]);useEffect(()=>{if(isCanvas){setCurrentDayId(canvasPreviewDayId||fallbackDayId);return;}if(typeof window===\"undefined\")return;const handler=e=>{const ce=e;if(!ce.detail)return;const{id,dayId,active}=ce.detail;if(!id||!dayId)return;// Remove any existing entry for this element id\nactiveStack.current=activeStack.current.filter(x=>x.elementId!==id);if(active){activeStack.current.push({elementId:id,dayId});}const top=activeStack.current[activeStack.current.length-1];const next=top?top.dayId:fallbackDayId;setCurrentDayId(prev=>prev===next?prev:next);};window.addEventListener(\"dxh-day-state\",handler);return()=>window.removeEventListener(\"dxh-day-state\",handler);},[isCanvas,canvasPreviewDayId,fallbackDayId]);const fadeBase=`${crossfadeDurationMs}ms cubic-bezier(0.22, 1, 0.36, 1)`;return /*#__PURE__*/_jsxs(\"div\",{id:scopeId,style:{display:\"grid\",position:\"relative\",pointerEvents:\"none\"},children:[/*#__PURE__*/_jsx(\"style\",{children:`\n                #${scopeId} .dt-slide {\n                    grid-column: 1;\n                    grid-row: 1;\n                    display: flex;\n                    flex-direction: column;\n                    align-items: flex-start;\n                    justify-content: flex-start;\n                    opacity: 0;\n                    transform: translateY(${crossfadeYPx}px);\n                    transition: opacity ${fadeBase}, transform ${fadeBase};\n                    will-change: transform, opacity;\n                }\n                #${scopeId} .dt-slide[data-current=\"true\"] {\n                    opacity: 1;\n                    transform: translateY(0);\n                }\n                #${scopeId} .dt-overline {\n                    font-family: ${overlineFont?.fontFamily||\"Inter\"};\n                    font-weight: ${String(overlineFont?.fontWeight||400)};\n                    font-size: ${overlineSizePx}px;\n                    color: ${overlineColor};\n                    letter-spacing: ${overlineLetterSpacingEm}em;\n                    text-transform: ${overlineUppercase?\"uppercase\":\"none\"};\n                    margin: 0 0 ${overlineToTitleGapPx}px 0;\n                    white-space: pre;\n                }\n                #${scopeId} .dt-title {\n                    font-family: ${titleFont?.fontFamily||\"Cormorant Garamond\"};\n                    font-weight: ${String(titleFont?.fontWeight||400)};\n                    font-style: ${titleItalic?\"italic\":\"normal\"};\n                    font-size: ${titleSizePx}px;\n                    color: ${titleColor};\n                    line-height: ${titleLineHeight};\n                    letter-spacing: ${titleLetterSpacingEm}em;\n                    margin: 0;\n                }\n            `}),(days||[]).map((d,i)=>/*#__PURE__*/_jsxs(\"div\",{className:\"dt-slide\",\"data-current\":d.dayId===currentDayId?\"true\":\"false\",children:[d.overline?/*#__PURE__*/_jsx(\"div\",{className:\"dt-overline\",children:d.overline}):null,/*#__PURE__*/_jsx(\"div\",{className:\"dt-title\",children:d.title})]},`${d.dayId}-${i}`))]});}addPropertyControls(DayTitle,{days:{type:ControlType.Array,title:\"Days\",defaultValue:DEFAULT_DAYS,control:{type:ControlType.Object,controls:{dayId:{type:ControlType.String,title:\"Day ID\",defaultValue:\"day1\",description:\"Must match the Day ID on each OverviewTimeline that should activate this slide.\"},overline:{type:ControlType.String,title:\"Overline\",defaultValue:\"Patient One   8:00 AM – 8:00 PM\"},title:{type:ControlType.String,title:\"Title\",defaultValue:\"Day One\"}}}},defaultDayId:{type:ControlType.String,title:\"Default Day\",defaultValue:\"\",description:\"Day ID shown before any OverviewTimeline activates. Leave blank to use the first day.\"},overlineFont:{type:ControlType.Font,title:\"Overline Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontFamily:\"Inter\",fontWeight:400},displayFontSize:false,displayLineHeight:false,displayLetterSpacing:false,displayTextAlignment:false},overlineSizePx:{type:ControlType.Number,title:\"Overline Size\",defaultValue:13,min:6,max:80,step:1,unit:\"px\"},overlineColor:{type:ControlType.Color,title:\"Overline Color\",defaultValue:\"rgba(240, 237, 234, 0.65)\"},overlineLetterSpacingEm:{type:ControlType.Number,title:\"Overline Tracking\",defaultValue:0,min:-.05,max:.5,step:.01,unit:\"em\"},overlineUppercase:{type:ControlType.Boolean,title:\"Overline Caps\",defaultValue:false,enabledTitle:\"Uppercase\",disabledTitle:\"As-is\"},titleFont:{type:ControlType.Font,title:\"Title Font\",controls:\"extended\",defaultFontType:\"serif\",defaultValue:{fontFamily:\"Cormorant Garamond\",fontWeight:400},displayFontSize:false,displayLineHeight:false,displayLetterSpacing:false,displayTextAlignment:false},titleSizePx:{type:ControlType.Number,title:\"Title Size\",defaultValue:88,min:16,max:400,step:1,unit:\"px\"},titleColor:{type:ControlType.Color,title:\"Title Color\",defaultValue:\"rgba(240, 237, 234, 1)\"},titleLineHeight:{type:ControlType.Number,title:\"Title Line Height\",defaultValue:1.05,min:.7,max:3,step:.05},titleLetterSpacingEm:{type:ControlType.Number,title:\"Title Tracking\",defaultValue:-.02,min:-.1,max:.5,step:.005,unit:\"em\"},titleItalic:{type:ControlType.Boolean,title:\"Title Italic\",defaultValue:true,enabledTitle:\"Italic\",disabledTitle:\"Roman\"},overlineToTitleGapPx:{type:ControlType.Number,title:\"Overline → Title\",defaultValue:12,min:0,max:200,step:1,unit:\"px\"},crossfadeDurationMs:{type:ControlType.Number,title:\"Crossfade Duration\",defaultValue:700,min:100,max:2e3,step:50,unit:\"ms\"},crossfadeYPx:{type:ControlType.Number,title:\"Crossfade Y Drift\",defaultValue:8,min:0,max:60,step:1,unit:\"px\",description:\"Vertical drift on each slide during crossfade. 0 = pure opacity.\"},canvasPreviewDayId:{type:ControlType.String,title:\"Canvas Preview\",defaultValue:\"\",description:\"Day ID to show on the Framer canvas. Leave blank to use Default Day.\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"DayTitle\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Daytitle.map","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useEffect,useRef}from\"react\";/**\n * Code Override: withDifferenceOnPhone\n *\n * Applies mix-blend-mode: difference to the Navigation component's fixed\n * outer wrapper while it's in the collapsed \"phone\" variant, and removes it\n * when expanded (\"phone opened\").\n *\n * Because the variant is switched internally by a tap inside the Navigation\n * (Framer doesn't propagate that change back to the override's props), we\n * detect the state via the rendered height instead: when the nav is taller\n * than HEIGHT_THRESHOLD it's considered \"opened\" and blend is removed.\n *\n * Tweak HEIGHT_THRESHOLD if your collapsed nav is taller than 120px.\n */const BLEND_MODE=\"difference\";const HEIGHT_THRESHOLD=120;// Delay applying the blend mode when collapsing, so it doesn't pop in\n// while the nav is still mid-shrink. Removing it on open is instant.\nconst APPLY_DELAY_MS=200;export function withDifferenceOnPhone(Component){return props=>{const ref=useRef(null);useEffect(()=>{// Find the fixed ancestor (the pinned nav element).\nlet node=ref.current?.parentElement??null;let fixedAncestor=null;for(let i=0;i<20&&node;i++){node.style.isolation=\"auto\";if(getComputedStyle(node).position===\"fixed\"){fixedAncestor=node;break;}node=node.parentElement;}if(!fixedAncestor){// eslint-disable-next-line no-console\nconsole.warn(\"[DifferenceOnVariant] no fixed ancestor found\");return;}const target=fixedAncestor;let pendingTimer=null;const apply=()=>{const h=target.getBoundingClientRect().height;const isCollapsed=h<=HEIGHT_THRESHOLD;if(isCollapsed){// Defer turning blend on so it doesn't kick in mid-close.\nif(pendingTimer!==null)return;pendingTimer=window.setTimeout(()=>{pendingTimer=null;const stillCollapsed=target.getBoundingClientRect().height<=HEIGHT_THRESHOLD;if(stillCollapsed){target.style.mixBlendMode=BLEND_MODE;}},APPLY_DELAY_MS);}else{// Opening: remove blend instantly, cancel any pending.\nif(pendingTimer!==null){clearTimeout(pendingTimer);pendingTimer=null;}target.style.mixBlendMode=\"normal\";}};// Initial state: skip delay so the page loads in the right mode.\nconst initialCollapsed=target.getBoundingClientRect().height<=HEIGHT_THRESHOLD;target.style.mixBlendMode=initialCollapsed?BLEND_MODE:\"normal\";const ro=new ResizeObserver(apply);ro.observe(target);return()=>{if(pendingTimer!==null)clearTimeout(pendingTimer);ro.disconnect();target.style.mixBlendMode=\"\";};},[]);return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"span\",{ref:ref,style:{position:\"absolute\",width:0,height:0,pointerEvents:\"none\"}}),/*#__PURE__*/_jsx(Component,{...props})]});};}\nexport const __FramerMetadata__ = {\"exports\":{\"withDifferenceOnPhone\":{\"type\":\"reactHoc\",\"name\":\"withDifferenceOnPhone\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Differenceonvariant.map","import{useState,useEffect}from\"react\";import{Data,useObserveData}from\"framer\";export function createStore(state1){// Use Data so that a Preview reload resets the state\nconst dataStore=Data({state:Object.freeze({...state1})});// Create a set function that updates the state\nconst setDataStore=newState=>{// If the state is an object, make sure we copy it\nif(typeof newState===\"function\"){newState=newState(dataStore.state);}dataStore.state=Object.freeze({...dataStore.state,...newState});};// Store the initial state, copy the object if it's an object\nlet storeState=typeof state1===\"object\"?Object.freeze({...state1}):state1;// Keep a list of all the listeners, in the form of React hook setters\nconst storeSetters=new Set();// Create a set function that updates all the listeners / setters\nconst setStoreState=newState=>{// If the state is an object, make sure we copy it\nif(typeof newState===\"function\"){newState=newState(storeState);}storeState=typeof newState===\"object\"?Object.freeze({...storeState,...newState}):newState;// Update all the listeners / setters with the new value\nstoreSetters.forEach(setter=>setter(storeState));};// Create the actual hook based on everything above\nfunction useStore(){// Create the hook we are going to use as a listener\nconst[state,setState]=useState(storeState);// If we unmount the component using this hook, we need to remove the listener\n// @ts-ignore\nuseEffect(()=>{// But right now, we need to add the listener\nstoreSetters.add(setState);return()=>storeSetters.delete(setState);},[]);// If Data context exists, use Data, otherwise use vanilla React state\nif(useObserveData()===true){useObserveData();return[dataStore.state,setDataStore];}else{// Return the state and a function to update the central store\nreturn[state,setStoreState];}}return useStore;}\nexport const __FramerMetadata__ = {\"exports\":{\"createStore\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./createStore.map","/*\n * createStore (framer/store@1.0.1)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/vj7bFUjvEQFgEzNBkdoG/vf3CKm378wlVcBk7IhSU/createStore.js\"\n","import{jsx as _jsx}from\"react/jsx-runtime\";import{createStore}from\"https://framer.com/m/framer/store.js@^1.0.0\";import{useId}from\"react\";const useFAQStore=createStore({openId:null});export function withFAQItem(Component){return props=>{const[store,setStore]=useFAQStore();const myId=useId();const isOpen=store.openId===myId;return /*#__PURE__*/_jsx(Component,{...props,variant:isOpen?\"Opened\":\"Closed\",onTap:()=>setStore({openId:isOpen?null:myId})});};}\nexport const __FramerMetadata__ = {\"exports\":{\"withFAQItem\":{\"type\":\"reactHoc\",\"name\":\"withFAQItem\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Faqoverride.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";/**\n * GlobalSelectionStyle\n *\n * Injects a global ::selection rule so highlighted text across the page\n * picks up a consistent style. Drop one instance per page (size 1×1 px,\n * any position) and forget about it.\n *\n * Difference Mode wraps the selection styles in an inverted-looking high\n * contrast pair (white-on-black) which visually mimics a mix-blend-mode\n * difference inversion against both light and dark sections.\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n * @framerIntrinsicWidth 1\n * @framerIntrinsicHeight 1\n */export default function GlobalSelectionStyle(props){const{background,color,differenceMode}=props;const isCanvas=RenderTarget.current()===RenderTarget.canvas;useEffect(()=>{if(isCanvas)return;const bg=differenceMode?\"#FFFFFF\":background;const fg=differenceMode?\"#000000\":color;const css=`\n            ::selection { background-color: ${bg}; color: ${fg}; }\n            ::-moz-selection { background-color: ${bg}; color: ${fg}; }\n        `;const style=document.createElement(\"style\");style.setAttribute(\"data-global-selection\",\"designxhands\");style.textContent=css;document.head.appendChild(style);return()=>{style.remove();};},[background,color,differenceMode,isCanvas]);return /*#__PURE__*/_jsx(\"div\",{style:{width:1,height:1,pointerEvents:\"none\",opacity:0}});}GlobalSelectionStyle.defaultProps={background:\"#FFFFFF\",color:\"#000000\",differenceMode:true};addPropertyControls(GlobalSelectionStyle,{differenceMode:{type:ControlType.Boolean,title:\"Inverted\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Custom\",description:\"White-on-black selection that reads like an inversion across light and dark sections.\"},background:{type:ControlType.Color,title:\"Selection BG\",defaultValue:\"#FFFFFF\",hidden:p=>p.differenceMode},color:{type:ControlType.Color,title:\"Selection Text\",defaultValue:\"#000000\",hidden:p=>p.differenceMode}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"GlobalSelectionStyle\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"1\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Globalselectionstyle.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useRef,useEffect,useLayoutEffect}from\"react\";import{motion,useMotionValue,useSpring,useTransform,useMotionTemplate}from\"framer-motion\";const useIsomorphicLayoutEffect=typeof window!==\"undefined\"?useLayoutEffect:useEffect;const DESIGN_REFERENCE_WIDTH=1440;/**\n * ImageToOval — sticky background image that scales down to an oval on scroll.\n *\n * Place inside a sticky frame within a Framer scroll section.\n * The image starts full-viewport and shrinks to a centered oval card.\n * Dimensions, radius, and offsets are specified against the 1440px\n * design reference and scale proportionally with viewport width.\n *\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */export default function ImageToOval(props){const{image,image2,image2SwapAt,image2SwapDuration,cardWidth,cardHeight,borderRadius,triggerId,startViewportPercent,endViewportPercent,horizontalOffset,verticalOffset,showCaption,text,textFont,textFontSizePx,textColor,textItalic,textMixBlendDifference,textMaxWidthPx,textGapPx,textLetterSpacing,textLineHeight,logo,logoWidthPx,logoHeightPx,logoGapPx,appearStart,appearEnd,mobileMode,mobileMinOpacity,style}=props;const isCanvas=RenderTarget.current()===RenderTarget.canvas;const imageSrc=typeof image===\"string\"?image:image?.src;const image2Src=typeof image2===\"string\"?image2:image2?.src??null;const logoSrc=typeof logo===\"string\"?logo:logo?.src??null;const containerRef=useRef(null);const captionRef=useRef(null);const progressRef=useRef(0);const borderRadiusValue=useMotionValue(0);const imageWidth=useMotionValue(typeof window!==\"undefined\"?window.innerWidth:cardWidth);const imageHeight=useMotionValue(typeof window!==\"undefined\"?window.innerHeight:cardHeight);const imageTranslateX=useMotionValue(0);const imageTranslateY=useMotionValue(0);const captionTop=useMotionValue(0);const imageOpacity=useMotionValue(1);const image2Opacity=useMotionValue(0);// Appear progress (0 = hidden, 1 = fully visible) — spring-smoothed\n// to match TextBlurReveal's vibe.\nconst appearRaw=useMotionValue(0);const appearProgress=useSpring(appearRaw,{stiffness:120,damping:30,mass:.4});const appearOpacity=useTransform(appearProgress,[0,1],[0,1]);const appearBlur=useTransform(appearProgress,[0,1],[20,0]);const appearY=useTransform(appearProgress,[0,1],[40,0]);const appearScale=useTransform(appearProgress,[0,1],[.96,1]);const appearFilter=useMotionTemplate`blur(${appearBlur}px)`;useIsomorphicLayoutEffect(()=>{if(typeof window===\"undefined\")return;if(isCanvas)return;// Scale design-reference values to current viewport width\nconst scaleToViewport=()=>window.innerWidth/DESIGN_REFERENCE_WIDTH;progressRef.current=0;borderRadiusValue.set(0);imageWidth.set(window.innerWidth);imageHeight.set(window.innerHeight);imageTranslateX.set(0);imageTranslateY.set(0);if(containerRef.current){containerRef.current.style.visibility=\"visible\";}const update=()=>{const p=progressRef.current;const W=window.innerWidth;const H=window.innerHeight;const s=scaleToViewport();// Crossfade to second image as the shrink approaches the oval.\n// Uses smoothstep across [start, end] for a smooth, quick swap.\nconst swapStart=image2SwapAt;const swapEnd=Math.min(1,image2SwapAt+Math.max(image2SwapDuration,1e-4));const swapRange=Math.max(swapEnd-swapStart,1e-4);const swapT=Math.min(Math.max((p-swapStart)/swapRange,0),1);const swapEased=swapT*swapT*(3-2*swapT);if(mobileMode){image2Opacity.set(image2Src?1:0);}else{image2Opacity.set(image2Src?swapEased:0);}if(mobileMode){// Mobile path: skip the shrink. Image stays at full container\n// size and just fades from 1 → mobileMinOpacity as scroll\n// progresses. Caption uses the same appear window.\nborderRadiusValue.set(0);imageWidth.set(W);imageHeight.set(H);imageTranslateX.set(0);imageTranslateY.set(0);imageOpacity.set(1-(1-mobileMinOpacity)*p);captionTop.set(H/2);const aRange=Math.max(appearEnd-appearStart,1e-4);const aP=Math.min(Math.max((p-appearStart)/aRange,0),1);appearRaw.set(aP);return;}imageOpacity.set(1);const targetW=cardWidth*s;const targetH=cardHeight*s;const targetR=borderRadius*s;const targetX=horizontalOffset*s;const targetY=verticalOffset*s;borderRadiusValue.set(targetR*p);const currentH=H-(H-targetH)*p;imageWidth.set(W-(W-targetW)*p);imageHeight.set(currentH);imageTranslateX.set(targetX*p);// Center the entire group (oval + gap + caption) vertically in the\n// viewport, instead of centering the oval alone. Shifts the oval\n// up by half the caption-stack height as the shrink progresses.\nconst captionH=captionRef.current?.offsetHeight??0;const groupOffset=(textGapPx*s+captionH)/2*p;imageTranslateY.set(targetY*p-groupOffset);// Caption sits below the oval: viewport center + half oval height + gap.\ncaptionTop.set(H/2+currentH/2+textGapPx*s-groupOffset);// Appear progress: maps `appearStart..appearEnd` window of the\n// shrink progress to 0..1, then spring-smoothed for the reveal.\nconst aRange=Math.max(appearEnd-appearStart,1e-4);const aP=Math.min(Math.max((p-appearStart)/aRange,0),1);appearRaw.set(aP);};// Trigger element resolution.\n// Primary: a Framer frame with id={triggerId} placed anywhere on the page.\n// Fallback: parent of the nearest sticky ancestor (the scroll section).\nlet triggerEl=null;const resolveTrigger=()=>{if(triggerId){const byId=document.getElementById(triggerId);if(byId)return byId;}// Fallback: sticky ancestor's parent\nlet el=containerRef.current;while(el){const pos=getComputedStyle(el).position;if(pos===\"sticky\"||pos===\"-webkit-sticky\"){return el.parentElement;}el=el.parentElement;}// Last-resort fallback: first ancestor taller than viewport\nel=containerRef.current;while(el){if(el.scrollHeight>window.innerHeight*1.2)return el;el=el.parentElement;}return null;};let rafId;const tick=()=>{const container=containerRef.current;if(!container){rafId=requestAnimationFrame(tick);return;}if(!triggerEl||!triggerEl.isConnected){triggerEl=resolveTrigger();}if(!triggerEl){rafId=requestAnimationFrame(tick);return;}// Animation runs as the trigger's TOP edge moves through the\n// viewport from `startViewportPercent` (e.g. 100 = bottom) to\n// `endViewportPercent` (e.g. 0 = top). At progress 0 the\n// trigger top sits at startY; at progress 1 it sits at endY.\nconst triggerTop=triggerEl.getBoundingClientRect().top;const H=window.innerHeight;const startY=startViewportPercent/100*H;const endY=endViewportPercent/100*H;const span=startY-endY||1e-4;progressRef.current=Math.min(Math.max((startY-triggerTop)/span,0),1);update();rafId=requestAnimationFrame(tick);};rafId=requestAnimationFrame(tick);return()=>cancelAnimationFrame(rafId);},[isCanvas,cardWidth,cardHeight,borderRadius,triggerId,startViewportPercent,endViewportPercent,horizontalOffset,verticalOffset,appearStart,appearEnd,textGapPx,mobileMode,mobileMinOpacity,image2Src,image2SwapAt,image2SwapDuration]);// Font size as vw against the 1440 reference (or px on canvas)\nconst textFontSizeVw=textFontSizePx/DESIGN_REFERENCE_WIDTH*100;const textFontSize=isCanvas?`${textFontSizePx}px`:`${textFontSizeVw}vw`;const trackingEm=textLetterSpacing;const fontStyle=textItalic?\"italic\":\"normal\";// Canvas preview: render the full-size starting state (the shrink runs in preview/published)\nif(isCanvas){return /*#__PURE__*/_jsx(\"div\",{style:{...style,width:\"100%\",height:\"100%\",position:\"relative\",overflow:\"hidden\"},children:imageSrc?/*#__PURE__*/_jsx(\"img\",{src:imageSrc,alt:\"\",style:{display:\"block\",width:\"100%\",height:\"100%\",objectFit:\"cover\",objectPosition:\"center\"}}):/*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",background:\"linear-gradient(135deg, #667eea 0%, #764ba2 100%)\"}})});}return /*#__PURE__*/_jsxs(motion.div,{ref:containerRef,style:{...style,width:\"100%\",height:\"100%\",position:\"relative\",overflow:\"hidden\",visibility:\"hidden\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:/*#__PURE__*/_jsxs(motion.div,{style:{width:imageWidth,height:imageHeight,flexShrink:0,x:imageTranslateX,y:imageTranslateY,overflow:\"hidden\",borderRadius:borderRadiusValue,opacity:imageOpacity,position:\"relative\"},children:[imageSrc?/*#__PURE__*/_jsx(\"img\",{src:imageSrc,alt:\"\",style:{display:\"block\",width:\"100%\",height:\"100%\",objectFit:\"cover\",objectPosition:\"center\"}}):/*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",background:\"linear-gradient(135deg, #667eea 0%, #764ba2 100%)\"}}),image2Src&&/*#__PURE__*/_jsx(motion.img,{src:image2Src,alt:\"\",style:{position:\"absolute\",inset:0,display:\"block\",width:\"100%\",height:\"100%\",objectFit:\"cover\",objectPosition:\"center\",opacity:image2Opacity,willChange:\"opacity\"}})]})}),showCaption&&!mobileMode&&(text||logoSrc)&&/*#__PURE__*/_jsxs(motion.div,{ref:captionRef,style:{position:\"absolute\",left:\"50%\",top:captionTop,x:\"-50%\",y:appearY,scale:appearScale,opacity:appearOpacity,filter:appearFilter,display:\"flex\",flexDirection:\"column\",alignItems:\"center\",gap:`${logoGapPx/DESIGN_REFERENCE_WIDTH*100}vw`,pointerEvents:\"none\",willChange:\"filter, opacity, transform\"},children:[text&&/*#__PURE__*/_jsx(\"div\",{style:{fontFamily:textFont?.fontFamily,fontWeight:textFont?.fontWeight,fontStyle,fontSize:textFontSize,color:textColor,textAlign:\"center\",lineHeight:textLineHeight,letterSpacing:`${trackingEm}em`,maxWidth:`${textMaxWidthPx/DESIGN_REFERENCE_WIDTH*100}vw`,mixBlendMode:textMixBlendDifference?\"difference\":\"normal\"},children:text}),logoSrc&&/*#__PURE__*/_jsx(\"img\",{src:logoSrc,alt:\"\",style:{display:\"block\",width:`${logoWidthPx/DESIGN_REFERENCE_WIDTH*100}vw`,height:`${logoHeightPx/DESIGN_REFERENCE_WIDTH*100}vw`,objectFit:\"contain\"}})]})]});}ImageToOval.defaultProps={image:\"\",image2:null,image2SwapAt:0,image2SwapDuration:.25,cardWidth:451,cardHeight:254,borderRadius:160,triggerId:\"\",startViewportPercent:100,endViewportPercent:0,horizontalOffset:0,verticalOffset:0,showCaption:true,text:\"That is why I built this. That is why it will matter.\",textFont:{fontFamily:\"Cormorant Garamond\",fontWeight:600},textFontSizePx:28,textColor:\"#ede9e5\",textItalic:true,textMixBlendDifference:true,textMaxWidthPx:540,textGapPx:52,textLetterSpacing:-.03,textLineHeight:1,logo:null,logoWidthPx:80,logoHeightPx:18,logoGapPx:52,appearStart:.6,appearEnd:1,mobileMode:false,mobileMinOpacity:.1};addPropertyControls(ImageToOval,{mobileMode:{type:ControlType.Boolean,title:\"Mobile Mode\",defaultValue:false,description:\"Skip the shrink-to-oval transform. Image fades to Mobile Min Opacity on scroll instead. Turn on for the mobile breakpoint.\"},mobileMinOpacity:{type:ControlType.Number,title:\"Mobile Min Opacity\",defaultValue:.1,min:0,max:1,step:.05,description:\"Final image opacity at full scroll progress.\",hidden:p=>!p.mobileMode},image:{type:ControlType.ResponsiveImage,title:\"Image\"},image2:{type:ControlType.ResponsiveImage,title:\"End Image\",description:\"Optional second image that crossfades in as the shrink completes (the final oval state).\"},image2SwapAt:{type:ControlType.Number,title:\"Swap At\",defaultValue:0,min:0,max:1,step:.01,description:\"Shrink progress at which the crossfade to End Image begins (0 = start, 1 = end).\",hidden:p=>!p.image2},image2SwapDuration:{type:ControlType.Number,title:\"Swap Span\",defaultValue:.25,min:.01,max:1,step:.01,description:\"Width of the crossfade window in shrink progress. Smaller = quicker swap.\",hidden:p=>!p.image2},cardWidth:{type:ControlType.Number,title:\"Card W\",defaultValue:451,min:50,max:1440,step:1,description:\"At 1440px design reference. Scales with viewport.\"},cardHeight:{type:ControlType.Number,title:\"Card H\",defaultValue:254,min:50,max:1080,step:1,description:\"At 1440px design reference. Scales with viewport.\"},borderRadius:{type:ControlType.Number,title:\"Radius\",defaultValue:160,min:0,max:400,step:1,description:\"At 1440px design reference. Scales with viewport.\"},triggerId:{type:ControlType.String,title:\"Trigger ID\",defaultValue:\"\",placeholder:\"e.g. oval-trigger\",description:\"ID of a Framer frame placed where the shrink should fire (typically absolute, near the bottom of the section). Set the same ID on that frame's Identity panel. Leave empty to fall back to the parent scroll section.\"},startViewportPercent:{type:ControlType.Number,title:\"Start Y%\",defaultValue:100,min:0,max:100,step:1,description:\"Viewport position of the trigger when the shrink BEGINS. 100 = trigger entering from bottom, 0 = at top.\"},endViewportPercent:{type:ControlType.Number,title:\"End Y%\",defaultValue:0,min:0,max:100,step:1,description:\"Viewport position of the trigger when the shrink COMPLETES. 0 = trigger reaching the top of viewport.\"},horizontalOffset:{type:ControlType.Number,title:\"Offset X\",defaultValue:0,min:-1e3,max:1e3,step:1,description:\"Final horizontal offset (px at 1440 reference). Negative = left.\"},verticalOffset:{type:ControlType.Number,title:\"Offset Y\",defaultValue:0,min:-1e3,max:1e3,step:1,description:\"Final vertical offset (px at 1440 reference). Positive = down.\"},showCaption:{type:ControlType.Boolean,title:\"Caption\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},text:{type:ControlType.String,title:\"Text\",defaultValue:\"That is why I built this. That is why it will matter.\",displayTextArea:true,hidden:p=>!p.showCaption},textFont:{type:ControlType.Font,title:\"Text Font\",controls:\"extended\",defaultFontType:\"serif\",defaultValue:{fontFamily:\"Cormorant Garamond\",fontWeight:600},displayFontSize:false,displayLineHeight:false,displayLetterSpacing:false,displayTextAlignment:false,hidden:p=>!p.showCaption},textFontSizePx:{type:ControlType.Number,title:\"Text Size\",defaultValue:28,min:8,max:200,step:1,unit:\"px\",description:\"At 1440 reference. Scales via vw.\",hidden:p=>!p.showCaption},textColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#ede9e5\",hidden:p=>!p.showCaption},textItalic:{type:ControlType.Boolean,title:\"Italic\",defaultValue:true,hidden:p=>!p.showCaption},textMixBlendDifference:{type:ControlType.Boolean,title:\"Blend Diff\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\",description:\"mix-blend-mode: difference. Inverts text against whatever sits behind it.\",hidden:p=>!p.showCaption},textMaxWidthPx:{type:ControlType.Number,title:\"Text Width\",defaultValue:540,min:100,max:1440,step:1,unit:\"px\",hidden:p=>!p.showCaption},textGapPx:{type:ControlType.Number,title:\"Oval → Text\",defaultValue:52,min:0,max:400,step:1,unit:\"px\",description:\"Gap between oval bottom and text top, at 1440 reference.\",hidden:p=>!p.showCaption},textLetterSpacing:{type:ControlType.Number,title:\"Tracking\",defaultValue:-.03,min:-.1,max:.5,step:.005,unit:\"em\",hidden:p=>!p.showCaption},textLineHeight:{type:ControlType.Number,title:\"Line Height\",defaultValue:1,min:.7,max:2,step:.05,hidden:p=>!p.showCaption},logo:{type:ControlType.ResponsiveImage,title:\"Logo\",hidden:p=>!p.showCaption},logoWidthPx:{type:ControlType.Number,title:\"Logo W\",defaultValue:80,min:10,max:600,step:1,unit:\"px\",hidden:p=>!p.showCaption},logoHeightPx:{type:ControlType.Number,title:\"Logo H\",defaultValue:18,min:10,max:600,step:1,unit:\"px\",hidden:p=>!p.showCaption},logoGapPx:{type:ControlType.Number,title:\"Text → Logo\",defaultValue:52,min:0,max:400,step:1,unit:\"px\",description:\"Gap between text and logo, at 1440 reference.\",hidden:p=>!p.showCaption},appearStart:{type:ControlType.Number,title:\"Appear Start\",defaultValue:.6,min:0,max:1,step:.05,description:\"Shrink progress at which the caption begins to appear (0 = with shrink, 1 = at end).\",hidden:p=>!p.showCaption},appearEnd:{type:ControlType.Number,title:\"Appear End\",defaultValue:1,min:0,max:1,step:.05,description:\"Shrink progress at which the caption is fully visible.\",hidden:p=>!p.showCaption}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ImageToOval\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Imagetooval.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{memo,useEffect,useId,useMemo,useState}from\"react\";const DEFAULT_SVG=`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 100 100\"><rect x=\"10\" y=\"10\" width=\"80\" height=\"80\" rx=\"16\" fill=\"#F4D75E\"/></svg>`;// Module-level fetch cache: dedupes network requests across all component\n// instances for the same SVG URL.\nconst svgCache=new Map;function fetchSvg(url){let p=svgCache.get(url);if(!p){p=fetch(url).then(r=>r.text());// Evict on failure so retries are possible.\np.catch(()=>svgCache.delete(url));svgCache.set(url,p);}return p;}/**\n * @framerIntrinsicWidth 200\n * @framerIntrinsicHeight 200\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function InnerShadowSVG(props){const{svgFile,svgMarkup,sourceMode=\"file\",fitMode=\"contain\",overrideFill=false,fillColor=\"#1C1404\",solidifySource=true,innerShadows=[],dropShadows=[],style}=props;const rawId=useId();const filterId=useMemo(()=>`iss_${rawId.replace(/[^a-zA-Z0-9]/g,\"_\")}`,[rawId]);const[fetchedSvg,setFetchedSvg]=useState(null);useEffect(()=>{if(sourceMode!==\"file\"||!svgFile){setFetchedSvg(null);return;}let cancelled=false;fetchSvg(svgFile).then(t=>{if(!cancelled)setFetchedSvg(t);}).catch(()=>{if(!cancelled)setFetchedSvg(null);});return()=>{cancelled=true;};},[svgFile,sourceMode]);const sourceSvg=useMemo(()=>{if(sourceMode===\"paste\"&&svgMarkup&&svgMarkup.trim().length>0)return svgMarkup;if(sourceMode===\"file\"&&fetchedSvg)return fetchedSvg;return DEFAULT_SVG;},[sourceMode,svgMarkup,fetchedSvg]);// Parse source SVG once. Subsequent shadow tweaks reuse this result.\nconst parsed=useMemo(()=>parseSvg(sourceSvg),[sourceSvg]);const enabledInner=useMemo(()=>(innerShadows||[]).filter(s=>s.enabled!==false),[innerShadows]);const enabledDrop=useMemo(()=>(dropShadows||[]).filter(s=>s.enabled!==false),[dropShadows]);const isAutoWidth=style?.width!==\"100%\";const isAutoHeight=style?.height!==\"100%\";const preserveAspectRatio=fitMode===\"stretch\"?\"none\":fitMode===\"cover\"?\"xMidYMid slice\":\"xMidYMid meet\";const containerStyle={position:\"relative\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",overflow:\"visible\",...style,width:isAutoWidth?parsed.intrinsic.width:\"100%\",height:isAutoHeight?parsed.intrinsic.height:\"100%\"};const hasShadows=enabledInner.length>0||enabledDrop.length>0;return /*#__PURE__*/_jsx(\"div\",{style:containerStyle,children:/*#__PURE__*/_jsxs(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",viewBox:parsed.viewBox,width:\"100%\",height:\"100%\",preserveAspectRatio:preserveAspectRatio,style:{display:\"block\",overflow:\"visible\"},children:[hasShadows&&/*#__PURE__*/_jsx(\"defs\",{children:/*#__PURE__*/_jsx(ShadowFilter,{id:filterId,innerShadows:enabledInner,dropShadows:enabledDrop,solidify:solidifySource})}),/*#__PURE__*/_jsx(\"g\",{filter:hasShadows?`url(#${filterId})`:undefined,fill:overrideFill?fillColor:undefined,children:/*#__PURE__*/_jsx(InnerSvgContent,{html:parsed.innerHtml})})]})});}// Memoized so tweaking shadow props doesn't touch the SVG path DOM.\nconst InnerSvgContent=/*#__PURE__*/memo(function InnerSvgContent({html}){return /*#__PURE__*/_jsx(\"g\",{dangerouslySetInnerHTML:{__html:html}});});function ShadowFilter({id,innerShadows,dropShadows,solidify}){const baseAlpha=solidify?\"solidAlpha\":\"SourceAlpha\";const primitives=[];const dropMergeNodes=[];const innerMergeNodes=[];if(solidify){primitives.push(/*#__PURE__*/_jsx(\"feComponentTransfer\",{in:\"SourceAlpha\",result:\"solidAlpha\",children:/*#__PURE__*/_jsx(\"feFuncA\",{type:\"linear\",slope:9999,intercept:0})},\"__solid\"));}// Drop shadows render BEHIND the source. Color the offset/blurred alpha.\ndropShadows.forEach((s,i)=>{const p=`d${i}`;let lastResult=baseAlpha;if(s.spread&&s.spread!==0){primitives.push(/*#__PURE__*/_jsx(\"feMorphology\",{in:lastResult,operator:s.spread>0?\"dilate\":\"erode\",radius:Math.abs(s.spread),result:`${p}_morph`},`${p}_m`));lastResult=`${p}_morph`;}primitives.push(/*#__PURE__*/_jsx(\"feGaussianBlur\",{in:lastResult,stdDeviation:Math.max(0,(s.blur||0)/2),result:`${p}_blur`},`${p}_b`),/*#__PURE__*/_jsx(\"feOffset\",{in:`${p}_blur`,dx:s.x||0,dy:s.y||0,result:`${p}_off`},`${p}_o`),/*#__PURE__*/_jsx(\"feFlood\",{floodColor:s.color,floodOpacity:typeof s.opacity===\"number\"?s.opacity:1,result:`${p}_flood`},`${p}_f`),/*#__PURE__*/_jsx(\"feComposite\",{in:`${p}_flood`,in2:`${p}_off`,operator:\"in\",result:`${p}_shadow`},`${p}_c`));dropMergeNodes.push(/*#__PURE__*/_jsx(\"feMergeNode\",{in:`${p}_shadow`},`${p}_merge`));});// Inner shadows clip to the silhouette: invert offset alpha against the\n// source alpha so the shadow only shows inside the shape.\ninnerShadows.forEach((s,i)=>{const p=`i${i}`;let lastResult=baseAlpha;if(s.spread&&s.spread!==0){primitives.push(/*#__PURE__*/_jsx(\"feMorphology\",{in:lastResult,operator:s.spread>0?\"dilate\":\"erode\",radius:Math.abs(s.spread),result:`${p}_morph`},`${p}_m`));lastResult=`${p}_morph`;}primitives.push(/*#__PURE__*/_jsx(\"feGaussianBlur\",{in:lastResult,stdDeviation:Math.max(0,(s.blur||0)/2),result:`${p}_blur`},`${p}_b`),/*#__PURE__*/_jsx(\"feOffset\",{in:`${p}_blur`,dx:s.x||0,dy:s.y||0,result:`${p}_off`},`${p}_o`),/*#__PURE__*/_jsx(\"feComposite\",{in:`${p}_off`,in2:baseAlpha,operator:\"arithmetic\",k2:-1,k3:1,result:`${p}_inv`},`${p}_c1`),/*#__PURE__*/_jsx(\"feFlood\",{floodColor:s.color,floodOpacity:typeof s.opacity===\"number\"?s.opacity:1,result:`${p}_flood`},`${p}_f`),/*#__PURE__*/_jsx(\"feComposite\",{in:`${p}_flood`,in2:`${p}_inv`,operator:\"in\",result:`${p}_shadow`},`${p}_c2`));innerMergeNodes.push(/*#__PURE__*/_jsx(\"feMergeNode\",{in:`${p}_shadow`},`${p}_merge`));});// Stacking order: drop shadows → source → inner shadows.\nconst mergeNodes=[...dropMergeNodes,/*#__PURE__*/_jsx(\"feMergeNode\",{in:\"SourceGraphic\"},\"__src\"),...innerMergeNodes];// Filter region: inner shadows alone clip to source bounds, but drop\n// shadows can extend outside via offset/blur/spread. Use a generous\n// region when drop shadows are present.\nconst hasDrops=dropShadows.length>0;const region=hasDrops?{x:\"-50%\",y:\"-50%\",width:\"200%\",height:\"200%\"}:{x:\"0%\",y:\"0%\",width:\"100%\",height:\"100%\"};return /*#__PURE__*/_jsxs(\"filter\",{id:id,...region,children:[primitives,/*#__PURE__*/_jsx(\"feMerge\",{children:mergeNodes})]});}function parseSvg(svgText){const intrinsic=getIntrinsicSize(svgText);const match=svgText.match(/<svg([^>]*)>/i);if(!match){return{viewBox:`0 0 ${intrinsic.width} ${intrinsic.height}`,innerHtml:svgText,intrinsic};}const attrs=match[1]||\"\";const fullOpen=match[0];const afterOpen=svgText.indexOf(fullOpen)+fullOpen.length;const closeIdx=svgText.lastIndexOf(\"</svg>\");const innerHtml=svgText.slice(afterOpen,closeIdx>=0?closeIdx:svgText.length);const vbMatch=attrs.match(/\\sviewBox=(\"([^\"]*)\"|'([^']*)')/i);const viewBox=(vbMatch?.[2]??vbMatch?.[3])||`0 0 ${intrinsic.width} ${intrinsic.height}`;return{viewBox,innerHtml,intrinsic};}function getIntrinsicSize(svgText){const match=svgText.match(/<svg([^>]*)>/i);const fallback={width:100,height:100};if(!match)return fallback;const attrs=match[1]||\"\";const wAttr=attrs.match(/\\swidth=(\"([^\"]*)\"|'([^']*)')/i);const hAttr=attrs.match(/\\sheight=(\"([^\"]*)\"|'([^']*)')/i);const vbAttr=attrs.match(/\\sviewBox=(\"([^\"]*)\"|'([^']*)')/i);const parseLen=v=>{if(!v)return NaN;const num=parseFloat(v);return isNaN(num)?NaN:num;};let w=parseLen(wAttr?.[2]??wAttr?.[3]);let h=parseLen(hAttr?.[2]??hAttr?.[3]);if((isNaN(w)||isNaN(h))&&vbAttr){const vb=(vbAttr[2]??vbAttr[3]??\"\").trim().split(/[\\s,]+/);if(vb.length===4){const vbW=parseFloat(vb[2]);const vbH=parseFloat(vb[3]);if(isNaN(w)&&!isNaN(vbW))w=vbW;if(isNaN(h)&&!isNaN(vbH))h=vbH;}}return{width:isNaN(w)?fallback.width:w,height:isNaN(h)?fallback.height:h};}const shadowObjectControls={enabled:{type:ControlType.Boolean,title:\"Enabled\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},x:{type:ControlType.Number,title:\"X\",defaultValue:0,min:-200,max:200,step:.5,displayStepper:true},y:{type:ControlType.Number,title:\"Y\",defaultValue:1,min:-200,max:200,step:.5,displayStepper:true},blur:{type:ControlType.Number,title:\"Blur\",defaultValue:1.5,min:0,max:200,step:.5},spread:{type:ControlType.Number,title:\"Spread\",defaultValue:0,min:-100,max:100,step:.5},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#1C1404\"},opacity:{type:ControlType.Number,title:\"Opacity\",defaultValue:1,min:0,max:1,step:.01}};addPropertyControls(InnerShadowSVG,{sourceMode:{type:ControlType.Enum,title:\"Source\",options:[\"file\",\"paste\"],optionTitles:[\"Upload\",\"Paste\"],defaultValue:\"file\",displaySegmentedControl:true},svgFile:{type:ControlType.File,title:\"SVG\",allowedFileTypes:[\"svg\"],hidden:p=>p.sourceMode!==\"file\"},svgMarkup:{type:ControlType.String,title:\"Markup\",displayTextArea:true,placeholder:\"<svg ...>…</svg>\",hidden:p=>p.sourceMode!==\"paste\"},fitMode:{type:ControlType.Enum,title:\"Fit\",options:[\"contain\",\"cover\",\"stretch\"],optionTitles:[\"Contain\",\"Cover\",\"Stretch\"],defaultValue:\"contain\",displaySegmentedControl:true},overrideFill:{type:ControlType.Boolean,title:\"Override Fill\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"},fillColor:{type:ControlType.Color,title:\"Fill\",defaultValue:\"#1C1404\",hidden:p=>!p.overrideFill},solidifySource:{type:ControlType.Boolean,title:\"Solid Source\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\",description:\"Render inner shadows against a solid silhouette so they appear at full strength even when the SVG has low fill-opacity. The original fill still shows underneath at its true opacity.\"},innerShadows:{type:ControlType.Array,title:\"Inner Shadows\",control:{type:ControlType.Object,icon:\"effect\",controls:shadowObjectControls},defaultValue:[{enabled:true,x:0,y:1,blur:1.5,spread:0,color:\"#1C1404\",opacity:1}]},dropShadows:{type:ControlType.Array,title:\"Drop Shadows\",control:{type:ControlType.Object,icon:\"effect\",controls:shadowObjectControls},defaultValue:[]}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"InnerShadowSVG\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicHeight\":\"200\",\"framerIntrinsicWidth\":\"200\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Innershadowsvg.map","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useEffect,useRef,useState}from\"react\";import{createPortal}from\"react-dom\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{motion,AnimatePresence}from\"framer-motion\";/**\n * LegalDisclosureModal\n *\n * Card-shaped trigger that opens a centered, scrollable disclosure modal with\n * a blurred backdrop. Click the X or the backdrop to close. Escape also closes.\n * Typography mirrors the DesignXHands course detail (Cormorant Garamond for\n * display, Neue Haas Grotesk Display Pro for body, tracked uppercase for eyebrows).\n *\n * @framerDisableUnlink\n * @framerIntrinsicWidth 320\n * @framerIntrinsicHeight 96\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export default function LegalDisclosureModal(props){const{buttonLabel,buttonHint,modalEyebrow,modalTitle,modalIntro,sections,footerNote,cardBackground,cardBorder,cardBorderWidth,cardTextColor,cardHintColor,buttonFont,buttonUppercase,buttonOpacity,buttonHoverOpacity,showArrow,arrowSize,arrowGap,modalBackground,modalTextColor,modalMutedColor,modalDivider,backdropColor,backdropBlur,cardPaddingX,cardPaddingY,cardRadius,modalRadius,modalMaxWidth,modalMaxHeight,eyebrowFont,titleFont,sectionTitleFont,bodyFont,hintFont,style}=props;const[open,setOpen]=useState(false);const[hovered,setHovered]=useState(false);const[mounted,setMounted]=useState(false);const scrollRef=useRef(null);// Portal target — only available after mount on the client. Skipping the\n// portal on the Framer canvas keeps the preview rendering in place.\nconst isCanvas=RenderTarget.current()===RenderTarget.canvas;useEffect(()=>{setMounted(true);},[]);useEffect(()=>{if(!open)return;const onKey=e=>{if(e.key===\"Escape\")setOpen(false);};window.addEventListener(\"keydown\",onKey);// Lock background scroll without losing scroll position. Setting\n// overflow:hidden alone doesn't stop iOS Safari from rubber-banding\n// the page; position:fixed + restored scrollY does.\nconst scrollY=window.scrollY;const body=document.body;const html=document.documentElement;const prev={bodyPosition:body.style.position,bodyTop:body.style.top,bodyLeft:body.style.left,bodyRight:body.style.right,bodyWidth:body.style.width,bodyOverflow:body.style.overflow,htmlOverflow:html.style.overflow,htmlOverscroll:html.style.overscrollBehavior};body.style.position=\"fixed\";body.style.top=`-${scrollY}px`;body.style.left=\"0\";body.style.right=\"0\";body.style.width=\"100%\";body.style.overflow=\"hidden\";html.style.overflow=\"hidden\";html.style.overscrollBehavior=\"none\";// Block touch scroll from bubbling to the page on iOS, except when the\n// touch originates inside the modal's scroll area.\nconst isInsideScroll=target=>{const el=scrollRef.current;if(!el||!(target instanceof Node))return false;return el.contains(target);};const onTouchMove=e=>{if(!isInsideScroll(e.target))e.preventDefault();};window.addEventListener(\"touchmove\",onTouchMove,{passive:false});if(scrollRef.current)scrollRef.current.scrollTop=0;return()=>{window.removeEventListener(\"keydown\",onKey);window.removeEventListener(\"touchmove\",onTouchMove);body.style.position=prev.bodyPosition;body.style.top=prev.bodyTop;body.style.left=prev.bodyLeft;body.style.right=prev.bodyRight;body.style.width=prev.bodyWidth;body.style.overflow=prev.bodyOverflow;html.style.overflow=prev.htmlOverflow;html.style.overscrollBehavior=prev.htmlOverscroll;window.scrollTo(0,scrollY);};},[open]);const cardStyle={position:\"relative\",display:\"inline-flex\",alignItems:\"center\",gap:arrowGap,paddingTop:cardPaddingY,paddingBottom:cardPaddingY,paddingLeft:cardPaddingX,paddingRight:cardPaddingX,background:cardBackground,border:cardBorderWidth>0&&cardBorder!==\"transparent\"?`${cardBorderWidth}px solid ${cardBorder}`:\"none\",borderRadius:cardRadius,color:cardTextColor,cursor:\"pointer\",textAlign:\"left\",WebkitTapHighlightColor:\"transparent\",touchAction:\"manipulation\",boxSizing:\"border-box\",transition:\"color 0.3s ease, opacity 0.3s ease\",appearance:\"none\",opacity:hovered?buttonHoverOpacity:buttonOpacity,...style};const cardLabelStyle={...buttonFont,color:cardTextColor,margin:0,textTransform:buttonUppercase?\"uppercase\":\"none\"};const cardArrowStyle={width:arrowSize,height:arrowSize,color:cardTextColor,opacity:.7,flexShrink:0};const backdropStyle={position:\"fixed\",inset:0,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",padding:24,zIndex:2147483646,boxSizing:\"border-box\"};const modalShellStyle={position:\"relative\",width:\"100%\",maxWidth:modalMaxWidth,maxHeight:modalMaxHeight,background:modalBackground,borderRadius:modalRadius,overflow:\"hidden\",boxShadow:\"0 40px 80px -20px rgba(0,0,0,0.6), 0 0 0 1px rgba(237,233,229,0.06)\",display:\"flex\",flexDirection:\"column\",color:modalTextColor,boxSizing:\"border-box\"};const closeButtonStyle={position:\"absolute\",top:20,right:20,width:36,height:36,borderRadius:999,border:`1px solid ${modalDivider}`,background:\"transparent\",color:modalTextColor,cursor:\"pointer\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",padding:0,zIndex:2,transition:\"background 0.3s ease, border-color 0.3s ease\"};const scrollAreaStyle={overflowY:\"auto\",overflowX:\"hidden\",paddingTop:56,paddingBottom:48,paddingLeft:48,paddingRight:48,maskImage:\"linear-gradient(to bottom, transparent 0, #000 32px, #000 calc(100% - 48px), transparent 100%)\",WebkitMaskImage:\"linear-gradient(to bottom, transparent 0, #000 32px, #000 calc(100% - 48px), transparent 100%)\",boxSizing:\"border-box\"};const headerWrapStyle={display:\"flex\",flexDirection:\"column\",alignItems:\"center\",gap:16,textAlign:\"center\",paddingBottom:32,borderBottom:`1px solid ${modalDivider}`};const introStyle={...bodyFont,color:modalMutedColor,textAlign:\"center\",maxWidth:520,margin:\"24px auto 0\"};const sectionWrapStyle={display:\"flex\",flexDirection:\"column\",paddingTop:8};const sectionStyle={display:\"flex\",flexDirection:\"column\",gap:12,paddingTop:28,paddingBottom:28,borderTop:`1px solid ${modalDivider}`};const sectionTitleStyle={...sectionTitleFont,color:modalTextColor,margin:0};const sectionBodyStyle={...bodyFont,color:modalMutedColor,margin:0,whiteSpace:\"pre-wrap\"};const footerStyle={...hintFont,color:modalMutedColor,textAlign:\"center\",paddingTop:32,opacity:.7};const eyebrowStyle={...eyebrowFont,color:modalTextColor,margin:0};const titleStyle={...titleFont,fontSize:typeof titleFont.fontSize===\"string\"?titleFont.fontSize:titleFont.fontSize,color:modalTextColor,margin:0};return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsxs(\"button\",{type:\"button\",onClick:()=>setOpen(true),onPointerEnter:()=>setHovered(true),onPointerLeave:()=>setHovered(false),onFocus:()=>setHovered(true),onBlur:()=>setHovered(false),style:cardStyle,\"aria-haspopup\":\"dialog\",\"aria-expanded\":open,children:[/*#__PURE__*/_jsx(\"span\",{style:cardLabelStyle,children:buttonLabel}),showArrow&&/*#__PURE__*/_jsx(\"svg\",{style:cardArrowStyle,viewBox:\"0 0 8 8\",fill:\"none\",\"aria-hidden\":true,children:/*#__PURE__*/_jsx(\"path\",{d:\"M2 1.5L5 4L2 6.5\",stroke:\"currentColor\",strokeWidth:\"1\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})})]}),(()=>{const overlay=/*#__PURE__*/_jsx(AnimatePresence,{children:open&&/*#__PURE__*/_jsx(motion.div,{initial:false,animate:{backdropFilter:`blur(${backdropBlur}px)`,WebkitBackdropFilter:`blur(${backdropBlur}px)`,backgroundColor:backdropColor},exit:{opacity:0},transition:{duration:.2,ease:\"easeOut\"},style:{...backdropStyle,backdropFilter:`blur(${backdropBlur}px)`,WebkitBackdropFilter:`blur(${backdropBlur}px)`,backgroundColor:backdropColor},onClick:()=>setOpen(false),role:\"presentation\",children:/*#__PURE__*/_jsxs(motion.div,{initial:false,exit:{opacity:0},transition:{duration:.15,ease:\"easeOut\"},style:modalShellStyle,onClick:e=>e.stopPropagation(),role:\"dialog\",\"aria-modal\":\"true\",\"aria-label\":modalTitle,children:[/*#__PURE__*/_jsx(\"button\",{type:\"button\",style:closeButtonStyle,\"aria-label\":\"Close\",onClick:()=>setOpen(false),children:/*#__PURE__*/_jsx(\"svg\",{width:\"12\",height:\"12\",viewBox:\"0 0 12 12\",fill:\"none\",\"aria-hidden\":true,children:/*#__PURE__*/_jsx(\"path\",{d:\"M1 1L11 11M11 1L1 11\",stroke:\"currentColor\",strokeWidth:\"1\",strokeLinecap:\"round\"})})}),/*#__PURE__*/_jsxs(\"div\",{ref:scrollRef,style:scrollAreaStyle,children:[/*#__PURE__*/_jsxs(\"div\",{style:headerWrapStyle,children:[modalEyebrow&&/*#__PURE__*/_jsx(\"p\",{style:eyebrowStyle,children:modalEyebrow}),modalTitle&&/*#__PURE__*/_jsx(\"h2\",{style:titleStyle,children:modalTitle}),modalIntro&&/*#__PURE__*/_jsx(\"p\",{style:introStyle,children:modalIntro})]}),/*#__PURE__*/_jsx(\"div\",{style:sectionWrapStyle,children:sections.map((s,i)=>/*#__PURE__*/_jsxs(\"div\",{style:sectionStyle,children:[/*#__PURE__*/_jsx(\"h3\",{style:sectionTitleStyle,children:s.title}),/*#__PURE__*/_jsx(\"p\",{style:sectionBodyStyle,children:s.body})]},i))}),footerNote&&/*#__PURE__*/_jsx(\"p\",{style:footerStyle,children:footerNote})]})]},\"legal-modal-shell\")},\"legal-modal-backdrop\")});if(!mounted||isCanvas||typeof document===\"undefined\"){return overlay;}return /*#__PURE__*/createPortal(overlay,document.body);})()]});}const defaultSections=[{title:\"Event Reservation & Schedule\",body:\"Event programming, speakers, locations, timing, and experiences are subject to change. Apa reserves the right to modify the schedule, course content, or event format when necessary to maintain the quality of the experience.\"},{title:\"Attendee Conduct\",body:\"All attendees are expected to conduct themselves professionally and respectfully toward guests, speakers, staff, venue personnel, sponsors, and fellow attendees. Apa reserves the right to remove any attendee engaging in disruptive, inappropriate, unsafe, or unprofessional behavior without refund.\"},{title:\"Photography & Filming\",body:\"By attending the event, attendees acknowledge and consent to being photographed or recorded during the Symposium and related activities. Photos and video may be used for future educational, promotional, marketing, social media, or archival purposes by Apa and affiliated partners.\"},{title:\"Intellectual Property\",body:\"All presentations, demonstrations, educational materials, branding, videos, and course content remain the intellectual property of Apa and respective presenters. Recording, reproduction, distribution, or commercial use of course materials without written permission is strictly prohibited.\"},{title:\"Travel & Accommodations\",body:\"Attendees are responsible for their own travel, lodging, transportation, visa arrangements, and related expenses unless otherwise explicitly included in their ticket package.\"},{title:\"Limitation of Liability\",body:\"By participating in the event, attendees voluntarily assume all risks associated with travel and participation. Apa, its affiliates, sponsors, presenters, venues, employees, and partners shall not be held liable for personal injury, illness, property damage, theft, travel disruptions, delays, or losses incurred during, before, or after the event.\"},{title:\"Event Cancellation or Force Majeure\",body:\"Apa reserves the right to postpone, reschedule, relocate, or cancel the event due to circumstances beyond reasonable control, including but not limited to weather, emergencies, venue issues, government restrictions, or force majeure events. In such cases, every effort will be made to honor refund and rescheduling policies fairly, though refunds may be limited to the amount paid for registration.\"},{title:\"Marketing Communications\",body:\"By registering, attendees may receive communications related to the event, future educational opportunities, or partner-supplied resources. Attendees may unsubscribe from marketing communications at any time.\"},{title:\"Refund Policy\",body:\"Your information will only be used for event-related communications and coordination. Attendee information may be shared with trusted event partners, sponsors, or vendors strictly affiliated with the event for purposes related to the attendee experience, event logistics, or educational materials.\"},{title:\"Non-Refundable Period\",body:\"Refund requests submitted within 30 days of the event will not be eligible for a full refund but a processing and administrative fee may apply.\"},{title:\"Ticket Transfers\",body:\"Ticket transfers may be requested in writing prior to the event and are subject to approval by the event team.\"},{title:\"Event Cancellation\",body:\"In the event Design by Hand is canceled by the Organizer, attendees will be offered an alternative date or a full refund.\"},{title:\"Accessibility\",body:\"The Organizer is not responsible for surface, road accommodations, transportation costs, or other attendee-incurred expenses.\"}];LegalDisclosureModal.defaultProps={buttonLabel:\"Terms of Service\",buttonHint:\"\",modalEyebrow:\"Legal Disclosure\",modalTitle:\"Terms of Service\",modalIntro:\"By registering for Design by Hand, attendees agree to the following terms and event policies.\",sections:defaultSections,footerNote:\"Last updated May 2026 — questions? Contact the Design by Hand team.\",cardBackground:\"transparent\",cardBorder:\"transparent\",cardBorderWidth:0,cardTextColor:\"rgba(237, 233, 229, 0.7)\",cardHintColor:\"rgba(237, 233, 229, 0.55)\",buttonFont:{fontFamily:\"Cormorant Garamond\",fontWeight:500,fontSize:\"11px\",letterSpacing:\"0.96px\",lineHeight:\"1em\"},buttonUppercase:true,buttonOpacity:1,buttonHoverOpacity:.7,showArrow:true,arrowSize:8,arrowGap:8,modalBackground:\"#1d1b19\",modalTextColor:\"#ede9e5\",modalMutedColor:\"rgba(237, 233, 229, 0.7)\",modalDivider:\"rgba(237, 233, 229, 0.1)\",backdropColor:\"rgba(15, 13, 12, 0.6)\",backdropBlur:18,cardPaddingX:4,cardPaddingY:4,cardRadius:0,modalRadius:8,modalMaxWidth:640,modalMaxHeight:720,eyebrowFont:{fontFamily:\"Cormorant Garamond\",fontWeight:500,fontSize:\"12px\",letterSpacing:\"0.96px\",lineHeight:\"0.9em\"},titleFont:{fontFamily:\"Cormorant Garamond\",fontWeight:500,fontStyle:\"italic\",fontSize:\"28px\",letterSpacing:\"-0.28px\",lineHeight:\"1.1em\"},sectionTitleFont:{fontFamily:\"Cormorant Garamond\",fontWeight:500,fontStyle:\"italic\",fontSize:\"20px\",letterSpacing:\"0px\",lineHeight:\"1.1em\"},bodyFont:{fontFamily:\"Neue Haas Grotesk Display Pro\",fontWeight:400,fontSize:\"13px\",letterSpacing:\"0.13px\",lineHeight:\"1.55em\"},hintFont:{fontFamily:\"Cormorant Garamond\",fontWeight:500,fontSize:\"11px\",letterSpacing:\"0.96px\",lineHeight:\"1em\"}};addPropertyControls(LegalDisclosureModal,{buttonLabel:{type:ControlType.String,title:\"Card Label\",defaultValue:\"Terms of Service\"},buttonHint:{type:ControlType.String,title:\"Card Hint\",defaultValue:\"Legal Disclosure\",description:\"Small uppercase eyebrow above the card label.\"},modalEyebrow:{type:ControlType.String,title:\"Modal Eyebrow\",defaultValue:\"Legal Disclosure\"},modalTitle:{type:ControlType.String,title:\"Modal Title\",defaultValue:\"Terms of Service\"},modalIntro:{type:ControlType.String,title:\"Modal Intro\",defaultValue:\"By registering for Design by Hand, attendees agree to the following terms and event policies.\",displayTextArea:true},sections:{type:ControlType.Array,title:\"Sections\",control:{type:ControlType.Object,controls:{title:{type:ControlType.String,title:\"Title\",defaultValue:\"Section Title\"},body:{type:ControlType.String,title:\"Body\",defaultValue:\"Section body copy.\",displayTextArea:true}}},defaultValue:defaultSections},footerNote:{type:ControlType.String,title:\"Footer Note\",defaultValue:\"Last updated May 2026 — questions? Contact the Design by Hand team.\",displayTextArea:true},buttonFont:{type:ControlType.Font,title:\"Button Font\",controls:\"extended\",defaultFontType:\"serif\",defaultValue:{fontFamily:\"Cormorant Garamond\",fontWeight:500,fontSize:\"11px\",letterSpacing:\"0.96px\",lineHeight:\"1em\"},displayTextAlignment:false},buttonUppercase:{type:ControlType.Boolean,title:\"Uppercase\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},cardTextColor:{type:ControlType.Color,title:\"Text\",defaultValue:\"rgba(237, 233, 229, 0.7)\"},cardBackground:{type:ControlType.Color,title:\"BG\",defaultValue:\"transparent\"},cardBorder:{type:ControlType.Color,title:\"Border\",defaultValue:\"transparent\"},cardBorderWidth:{type:ControlType.Number,title:\"Border W\",defaultValue:0,min:0,max:8,step:.5,unit:\"px\"},buttonOpacity:{type:ControlType.Number,title:\"Opacity\",defaultValue:1,min:0,max:1,step:.05},buttonHoverOpacity:{type:ControlType.Number,title:\"Hover Op.\",defaultValue:.7,min:0,max:1,step:.05},showArrow:{type:ControlType.Boolean,title:\"Arrow\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},arrowSize:{type:ControlType.Number,title:\"Arrow Size\",defaultValue:8,min:4,max:32,step:1,unit:\"px\",hidden:p=>!p.showArrow},arrowGap:{type:ControlType.Number,title:\"Arrow Gap\",defaultValue:8,min:0,max:40,step:1,unit:\"px\",hidden:p=>!p.showArrow},cardHintColor:{type:ControlType.Color,title:\"Hint Color\",defaultValue:\"rgba(237, 233, 229, 0.55)\",description:\"Used inside the modal — not on the button.\"},modalBackground:{type:ControlType.Color,title:\"Modal BG\",defaultValue:\"#1d1b19\"},modalTextColor:{type:ControlType.Color,title:\"Modal Text\",defaultValue:\"#ede9e5\"},modalMutedColor:{type:ControlType.Color,title:\"Modal Muted\",defaultValue:\"rgba(237, 233, 229, 0.7)\"},modalDivider:{type:ControlType.Color,title:\"Divider\",defaultValue:\"rgba(237, 233, 229, 0.1)\"},backdropColor:{type:ControlType.Color,title:\"Backdrop\",defaultValue:\"rgba(15, 13, 12, 0.6)\"},backdropBlur:{type:ControlType.Number,title:\"Backdrop Blur\",defaultValue:18,min:0,max:60,step:1,unit:\"px\"},cardPaddingX:{type:ControlType.Number,title:\"Pad X\",defaultValue:4,min:0,max:80,step:1,unit:\"px\"},cardPaddingY:{type:ControlType.Number,title:\"Pad Y\",defaultValue:4,min:0,max:80,step:1,unit:\"px\"},cardRadius:{type:ControlType.Number,title:\"Radius\",defaultValue:0,min:0,max:40,step:1,unit:\"px\"},modalRadius:{type:ControlType.Number,title:\"Modal Radius\",defaultValue:8,min:0,max:40,step:1,unit:\"px\"},modalMaxWidth:{type:ControlType.Number,title:\"Modal Width\",defaultValue:640,min:320,max:1024,step:4,unit:\"px\"},modalMaxHeight:{type:ControlType.Number,title:\"Modal Height\",defaultValue:720,min:320,max:1200,step:4,unit:\"px\",description:\"Caps modal height — inner content scrolls past this.\"},eyebrowFont:{type:ControlType.Font,title:\"Eyebrow Font\",controls:\"extended\",defaultFontType:\"serif\",defaultValue:{fontFamily:\"Cormorant Garamond\",fontWeight:500,fontSize:\"12px\",letterSpacing:\"0.96px\",lineHeight:\"0.9em\"},displayTextAlignment:false},titleFont:{type:ControlType.Font,title:\"Title Font\",controls:\"extended\",defaultFontType:\"serif\",defaultValue:{fontFamily:\"Cormorant Garamond\",fontWeight:500,fontStyle:\"italic\",fontSize:\"28px\",letterSpacing:\"-0.28px\",lineHeight:\"1.1em\"},displayTextAlignment:false},sectionTitleFont:{type:ControlType.Font,title:\"Section Font\",controls:\"extended\",defaultFontType:\"serif\",defaultValue:{fontFamily:\"Cormorant Garamond\",fontWeight:500,fontStyle:\"italic\",fontSize:\"20px\",letterSpacing:\"0px\",lineHeight:\"1.1em\"},displayTextAlignment:false},bodyFont:{type:ControlType.Font,title:\"Body Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontFamily:\"Neue Haas Grotesk Display Pro\",fontWeight:400,fontSize:\"13px\",letterSpacing:\"0.13px\",lineHeight:\"1.55em\"},displayTextAlignment:false},hintFont:{type:ControlType.Font,title:\"Hint Font\",controls:\"extended\",defaultFontType:\"serif\",defaultValue:{fontFamily:\"Cormorant Garamond\",fontWeight:500,fontSize:\"11px\",letterSpacing:\"0.96px\",lineHeight:\"1em\"},displayTextAlignment:false}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"LegalDisclosureModal\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"* @framerIntrinsicWidth 320\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"auto\",\"framerIntrinsicHeight\":\"96\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Legaldisclosure_button.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{useRef,useEffect,useId,useMemo}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";const DEFAULT_ITEMS=[{kind:\"day\",overline:\"\",dateText:\"\",timeText:\"\",dayOverline:\"Patient One   8:00 AM – 8:00 PM\",dayTitle:\"After course experience\",dayShowDot:true,title:\"\",body:\"\",image:\"\",imagePosition:\"below\",innerCircleBadge:\"\",imageBorderRadiusPxOverride:0,innerCircleBadgeWidthPxOverride:0,innerCircleBadgeGapPxOverride:0},{kind:\"overview\",overline:\"\",dateText:\"\",timeText:\"\",dayOverline:\"\",dayTitle:\"\",dayShowDot:false,title:\"\",body:\"Each day begins at 8:00 AM with a curated welcome breakfast designed to set the tone for the morning. Following by a thoughtful, intimate dinner each evening alongside Dr. Apa and the entire team, available curated guests, with a deeper conversation in mind. Each ends with a celebratory dinner alongside Dr. Apa, the team, and patients of the night, with deeper conversation in mind.\",image:\"\",imagePosition:\"below\",innerCircleBadge:\"\",imageBorderRadiusPxOverride:0,innerCircleBadgeWidthPxOverride:0,innerCircleBadgeGapPxOverride:0},{kind:\"day\",overline:\"\",dateText:\"\",timeText:\"\",dayOverline:\"\",dayTitle:\"After Hours\",dayShowDot:true,title:\"\",body:\"\",image:\"\",imagePosition:\"below\",innerCircleBadge:\"\",imageBorderRadiusPxOverride:0,innerCircleBadgeWidthPxOverride:0,innerCircleBadgeGapPxOverride:0},{kind:\"event\",overline:\"\",dateText:\"Saturday, September 19\",timeText:\"5:00 – 6:00 PM\",dayOverline:\"\",dayTitle:\"\",dayShowDot:false,title:\"Evening Reception\",body:\"Close out the day with cocktails, conversation, and connections at a quiet, intimate reception held just steps from Dr. Apa's offices.\",image:\"\",imagePosition:\"below\",innerCircleBadge:\"\",imageBorderRadiusPxOverride:0,innerCircleBadgeWidthPxOverride:0,innerCircleBadgeGapPxOverride:0},{kind:\"event\",overline:\"\",dateText:\"Saturday, September 19\",timeText:\"6:30 – 9:00 PM\",dayOverline:\"\",dayTitle:\"\",dayShowDot:false,title:\"Private inner-circle dinner with Dr. Apa\",body:\"Reserved exclusively for Apa Inner Circle attendees, this intimate private dinner offers a smaller setting in which to connect with Dr. Apa and the team.\",image:\"\",imagePosition:\"below\",innerCircleBadge:\"\",imageBorderRadiusPxOverride:0,innerCircleBadgeWidthPxOverride:0,innerCircleBadgeGapPxOverride:0},{kind:\"event\",overline:\"\",dateText:\"Friday, September 18\",timeText:\"6:00 – 8:00 PM\",dayOverline:\"\",dayTitle:\"\",dayShowDot:false,title:\"Pre Event Welcome Tour\",body:\"Optional welcome tour through Dr. Apa's Manhattan studio and surrounding neighborhood. A relaxed first introduction to the team and the spaces where the next two days will unfold.\",image:\"\",imagePosition:\"below\",innerCircleBadge:\"\",imageBorderRadiusPxOverride:0,innerCircleBadgeWidthPxOverride:0,innerCircleBadgeGapPxOverride:0}];export default function MobileTimeline(props){const{items=DEFAULT_ITEMS,lineColor=\"rgba(240, 237, 234, 1)\",lineOpacity=.2,fillColor=\"rgba(255, 255, 255, 1)\",strokeWidth=1,fadeFraction=.05,lineTopFadePx=0,lineBottomFadePx=96,anchorReference=\"viewport_center\",anchorOffsetVh=0,canvasPreviewProgress=.5,contentGapPx=25,itemGapPx=64,sidePaddingPx=16,bottomPaddingPx=80,activationYPercent=70,fadeInDurationMs=700,canvasPreviewActiveIndex=1,pinpointSizePx=8,pinpointActiveSizePx=12,pinpointColor=\"rgba(255, 255, 255, 1)\",pinpointInactiveOpacity=.35,pinpointGlowSizePx=28,pinpointGlowColor=\"rgba(255, 255, 255, 0.18)\",overlineSizePx=11,overlineColor=\"rgba(240, 237, 234, 0.55)\",overlineLetterSpacingEm=.18,dateColor=\"rgba(240, 237, 234, 0.55)\",timeColor=\"rgba(240, 237, 234, 0.55)\",dateToTimeGapPx=4,overviewTitleFont={fontFamily:\"Inter\",fontWeight:500},overviewTitleSizePx=18,overviewTitleColor=\"rgba(240, 237, 234, 1)\",overviewTitleLineHeight=1.3,overviewTitleLetterSpacingEm=-.01,eventTitleFont={fontFamily:\"Inter\",fontWeight:500},eventTitleSizePx=18,eventTitleColor=\"rgba(240, 237, 234, 1)\",eventTitleLineHeight=1.3,eventTitleLetterSpacingEm=-.01,dayOverlineFont={fontFamily:\"Inter\",fontWeight:400},dayOverlineSizePx=11,dayOverlineColor=\"rgba(240, 237, 234, 0.65)\",dayOverlineLetterSpacingEm=.18,dayOverlineUppercase=true,dayTitleFont={fontFamily:\"Cormorant Garamond\",fontWeight:400,fontStyle:\"italic\"},dayTitleSizePx=44,dayTitleColor=\"rgba(240, 237, 234, 1)\",dayTitleLineHeight=1.05,dayTitleLetterSpacingEm=-.02,dayOverlineToTitleGapPx=12,daySectionGapAbovePx=80,daySectionGapBelowPx=0,dayTitleMaxWidthPx=240,textFont={fontFamily:\"Inter\",fontWeight:400},textSizePx=13,textColor=\"rgba(240, 237, 234, 0.78)\",textLineHeight=1.6,paragraphGapPx=14,overlineToTitleGapPx=24,titleToTextGapPx=16,textToImageGapPx=20,imageBorderRadiusPx=4,innerCircleBadgeWidthPx=130,innerCircleBadgeGapPx=20}=props;const containerRef=useRef(null);const lineRef=useRef(null);const stopVisibleRef=useRef(null);const stopFadeRef=useRef(null);const itemRefs=useRef([]);const isCanvas=RenderTarget.current()===RenderTarget.canvas;const reactId=useId().replace(/:/g,\"\");const gradId=`mtl-grad-${reactId}`;const maskId=`mtl-mask-${reactId}`;const scopeId=`mtl-${reactId}`;const dotMaxSize=Math.max(pinpointGlowSizePx,pinpointActiveSizePx);// Where the FIRST dot's vertical center sits, measured from the top of\n// the items column. The scroll line starts here so the dot caps the\n// line rather than the line poking out above it.\nconst firstDotCenterY=(()=>{if(!items.length)return 0;const first=items[0];if(first.kind===\"day\"){const showDot=first.dayShowDot??true;if(!showDot)return 0;const overlineBlockHeight=first.dayOverline?dayOverlineSizePx*1.2+dayOverlineToTitleGapPx:0;const titleFirstLineCenter=dayTitleSizePx*dayTitleLineHeight/2;const dayDotOffsetPx=Math.max(0,overlineBlockHeight+titleFirstLineCenter-dotMaxSize/2);return dayDotOffsetPx+dotMaxSize/2;}// overview / event: pinpoint top sits at the item's top\nreturn dotMaxSize/2;})();const fadeBase=`${fadeInDurationMs}ms cubic-bezier(0.22, 1, 0.36, 1)`;const stagger=Math.round(fadeInDurationMs*.12);// Canvas preview: freeze mask + flip first N items active\nuseEffect(()=>{if(!isCanvas)return;const stopVisible=stopVisibleRef.current;const stopFade=stopFadeRef.current;if(stopVisible&&stopFade){stopVisible.setAttribute(\"offset\",String(canvasPreviewProgress));stopFade.setAttribute(\"offset\",String(Math.min(1,canvasPreviewProgress+fadeFraction)));}itemRefs.current.forEach((el,i)=>{if(!el)return;el.dataset.active=i<=canvasPreviewActiveIndex?\"true\":\"false\";});},[isCanvas,canvasPreviewProgress,fadeFraction,canvasPreviewActiveIndex,items.length]);// Live scroll loop: mask + item activation in one rAF\nuseEffect(()=>{if(isCanvas)return;if(typeof window===\"undefined\")return;// Reset to inactive\nconst stopVisible=stopVisibleRef.current;const stopFade=stopFadeRef.current;if(stopVisible&&stopFade){stopVisible.setAttribute(\"offset\",\"0\");stopFade.setAttribute(\"offset\",String(fadeFraction));}let rafId=null;let inView=false;const update=()=>{const containerEl=containerRef.current;if(!containerEl){if(inView)rafId=requestAnimationFrame(update);return;}const vh=window.innerHeight;const anchorOffsetPx=anchorOffsetVh/100*vh;const baseAnchorY=anchorReference===\"viewport_top\"?0:anchorReference===\"viewport_bottom\"?vh:vh/2;const anchorY=baseAnchorY+anchorOffsetPx;// Line progress: based on the line element's own rect\nconst lineEl=lineRef.current;if(lineEl&&stopVisibleRef.current&&stopFadeRef.current){const lineRect=lineEl.getBoundingClientRect();const height=lineRect.height||1;const distancePastTop=anchorY-lineRect.top;const progress=Math.max(0,Math.min(1,distancePastTop/height));stopVisibleRef.current.setAttribute(\"offset\",String(progress));stopFadeRef.current.setAttribute(\"offset\",String(Math.min(1,progress+fadeFraction)));}// Per-item activation\nconst triggerY=vh*(activationYPercent/100);itemRefs.current.forEach(el=>{if(!el)return;const rect=el.getBoundingClientRect();const isActive=rect.top<=triggerY;const target=isActive?\"true\":\"false\";if(el.dataset.active!==target){el.dataset.active=target;}});if(inView)rafId=requestAnimationFrame(update);};const observer=new IntersectionObserver(entries=>{entries.forEach(entry=>{if(entry.isIntersecting){if(!inView){inView=true;rafId=requestAnimationFrame(update);}}else{inView=false;if(rafId!==null){cancelAnimationFrame(rafId);rafId=null;}}});},{rootMargin:\"100% 100%\"});if(containerRef.current){observer.observe(containerRef.current);}return()=>{observer.disconnect();if(rafId!==null)cancelAnimationFrame(rafId);};},[isCanvas,anchorReference,anchorOffsetVh,fadeFraction,activationYPercent]);return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,id:scopeId,style:{width:\"100%\",position:\"relative\",paddingLeft:sidePaddingPx,paddingRight:sidePaddingPx,paddingBottom:bottomPaddingPx,boxSizing:\"border-box\",pointerEvents:\"none\"},children:[/*#__PURE__*/_jsx(\"style\",{children:`\n                #${scopeId} .mtl-line-wrap {\n                    position: absolute;\n                    /* top is set inline so the line starts at the first dot's center */\n                    bottom: 0;\n                    left: ${sidePaddingPx-strokeWidth/2}px;\n                    width: ${strokeWidth}px;\n                    pointer-events: none;\n                    -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,0) 0, rgba(0,0,0,1) ${lineTopFadePx}px, rgba(0,0,0,1) calc(100% - ${lineBottomFadePx}px), rgba(0,0,0,0) 100%);\n                    mask-image: linear-gradient(to bottom, rgba(0,0,0,0) 0, rgba(0,0,0,1) ${lineTopFadePx}px, rgba(0,0,0,1) calc(100% - ${lineBottomFadePx}px), rgba(0,0,0,0) 100%);\n                }\n                #${scopeId} .mtl-items {\n                    position: relative;\n                    display: flex;\n                    flex-direction: column;\n                    align-items: stretch;\n                }\n                #${scopeId} .mtl-item {\n                    position: relative;\n                    width: 100%;\n                    padding-left: ${contentGapPx}px;\n                    box-sizing: border-box;\n                }\n                #${scopeId} .mtl-item + .mtl-item {\n                    margin-top: ${itemGapPx}px;\n                }\n                #${scopeId} .mtl-item[data-kind=\"day\"] {\n                    margin-top: ${daySectionGapAbovePx}px;\n                    margin-bottom: ${daySectionGapBelowPx}px;\n                }\n                #${scopeId} .mtl-item[data-kind=\"day\"]:first-child {\n                    margin-top: 0;\n                }\n                #${scopeId} .mtl-pinpoint {\n                    position: absolute;\n                    left: -${dotMaxSize/2}px;\n                    top: 0;\n                    width: ${dotMaxSize}px;\n                    height: ${dotMaxSize}px;\n                    pointer-events: none;\n                }\n                #${scopeId} .mtl-glow {\n                    position: absolute;\n                    left: 50%;\n                    top: 50%;\n                    width: ${pinpointGlowSizePx}px;\n                    height: ${pinpointGlowSizePx}px;\n                    border-radius: 50%;\n                    background: ${pinpointGlowColor};\n                    transform: translate(-50%, -50%) scale(0.4);\n                    opacity: 0;\n                    transition: opacity ${fadeBase}, transform ${fadeBase};\n                    will-change: transform, opacity;\n                }\n                #${scopeId} .mtl-dot {\n                    position: absolute;\n                    left: 50%;\n                    top: 50%;\n                    width: ${pinpointSizePx}px;\n                    height: ${pinpointSizePx}px;\n                    border-radius: 50%;\n                    background: ${pinpointColor};\n                    transform: translate(-50%, -50%) scale(1);\n                    opacity: ${pinpointInactiveOpacity};\n                    transition: opacity ${fadeBase}, transform ${fadeBase};\n                    will-change: transform, opacity;\n                }\n                #${scopeId} .mtl-content {\n                    width: 100%;\n                    min-width: 0;\n                    opacity: 0;\n                    transform: translateY(8px);\n                    transition: opacity ${fadeBase} ${stagger}ms, transform ${fadeBase} ${stagger}ms;\n                    will-change: transform, opacity;\n                }\n                #${scopeId} .mtl-item[data-active=\"true\"] .mtl-glow {\n                    opacity: 1;\n                    transform: translate(-50%, -50%) scale(1);\n                }\n                #${scopeId} .mtl-item[data-active=\"true\"] .mtl-dot {\n                    opacity: 1;\n                    transform: translate(-50%, -50%) scale(${pinpointActiveSizePx/pinpointSizePx});\n                }\n                #${scopeId} .mtl-item[data-active=\"true\"] .mtl-content {\n                    opacity: 1;\n                    transform: translateY(0);\n                }\n                #${scopeId} .mtl-item[data-active=\"true\"] .mtl-day-overline,\n                #${scopeId} .mtl-item[data-active=\"true\"] .mtl-day-title {\n                    opacity: 1;\n                    transform: translateY(0);\n                }\n\n                #${scopeId} .mtl-overline-row {\n                    display: flex;\n                    flex-direction: column;\n                    align-items: flex-start;\n                }\n                #${scopeId} .mtl-overline {\n                    font-family: ${textFont?.fontFamily||\"Inter\"};\n                    font-weight: ${String(textFont?.fontWeight||400)};\n                    font-style: ${textFont?.fontStyle||\"normal\"};\n                    font-size: ${overlineSizePx}px;\n                    color: ${overlineColor};\n                    line-height: 1;\n                    letter-spacing: ${overlineLetterSpacingEm}em;\n                    text-transform: uppercase;\n                }\n                #${scopeId} .mtl-date {\n                    font-family: ${textFont?.fontFamily||\"Inter\"};\n                    font-weight: ${String(textFont?.fontWeight||400)};\n                    font-style: ${textFont?.fontStyle||\"normal\"};\n                    font-size: ${overlineSizePx}px;\n                    color: ${dateColor};\n                    line-height: 1;\n                    letter-spacing: ${overlineLetterSpacingEm}em;\n                }\n                #${scopeId} .mtl-time {\n                    font-family: ${textFont?.fontFamily||\"Inter\"};\n                    font-weight: ${String(textFont?.fontWeight||400)};\n                    font-style: ${textFont?.fontStyle||\"normal\"};\n                    font-size: ${overlineSizePx}px;\n                    color: ${timeColor};\n                    line-height: 1;\n                    letter-spacing: ${overlineLetterSpacingEm}em;\n                    margin-top: ${dateToTimeGapPx}px;\n                }\n                #${scopeId} .mtl-item[data-kind=\"overview\"] .mtl-title {\n                    font-family: ${overviewTitleFont?.fontFamily||\"Inter\"};\n                    font-weight: ${String(overviewTitleFont?.fontWeight||500)};\n                    font-style: ${overviewTitleFont?.fontStyle||\"normal\"};\n                    font-size: ${overviewTitleSizePx}px;\n                    color: ${overviewTitleColor};\n                    line-height: ${overviewTitleLineHeight};\n                    letter-spacing: ${overviewTitleLetterSpacingEm}em;\n                    margin: 0;\n                }\n                #${scopeId} .mtl-item[data-kind=\"event\"] .mtl-title {\n                    font-family: ${eventTitleFont?.fontFamily||\"Inter\"};\n                    font-weight: ${String(eventTitleFont?.fontWeight||500)};\n                    font-style: ${eventTitleFont?.fontStyle||\"normal\"};\n                    font-size: ${eventTitleSizePx}px;\n                    color: ${eventTitleColor};\n                    line-height: ${eventTitleLineHeight};\n                    letter-spacing: ${eventTitleLetterSpacingEm}em;\n                    margin: 0;\n                }\n                #${scopeId} .mtl-paragraph {\n                    font-family: ${textFont?.fontFamily||\"Inter\"};\n                    font-weight: ${String(textFont?.fontWeight||400)};\n                    font-style: ${textFont?.fontStyle||\"normal\"};\n                    font-size: ${textSizePx}px;\n                    color: ${textColor};\n                    line-height: ${textLineHeight};\n                    margin: 0;\n                }\n                #${scopeId} .mtl-paragraph + .mtl-paragraph {\n                    margin-top: ${paragraphGapPx}px;\n                }\n                #${scopeId} .mtl-image {\n                    display: block;\n                    width: 100%;\n                    height: auto;\n                    object-fit: cover;\n                }\n                #${scopeId} .mtl-badge {\n                    display: block;\n                    height: auto;\n                }\n\n                #${scopeId} .mtl-day-overline {\n                    font-family: ${dayOverlineFont?.fontFamily||\"Inter\"};\n                    font-weight: ${String(dayOverlineFont?.fontWeight||400)};\n                    font-style: ${dayOverlineFont?.fontStyle||\"normal\"};\n                    font-size: ${dayOverlineSizePx}px;\n                    color: ${dayOverlineColor};\n                    line-height: 1.2;\n                    letter-spacing: ${dayOverlineLetterSpacingEm}em;\n                    text-transform: ${dayOverlineUppercase?\"uppercase\":\"none\"};\n                    margin: 0;\n                    opacity: 0;\n                    transform: translateY(6px);\n                    transition: opacity ${fadeBase}, transform ${fadeBase};\n                    will-change: transform, opacity;\n                }\n                #${scopeId} .mtl-day-title {\n                    font-family: ${dayTitleFont?.fontFamily||\"Cormorant Garamond\"};\n                    font-weight: ${String(dayTitleFont?.fontWeight||400)};\n                    font-style: ${dayTitleFont?.fontStyle||\"italic\"};\n                    font-size: ${dayTitleSizePx}px;\n                    color: ${dayTitleColor};\n                    line-height: ${dayTitleLineHeight};\n                    letter-spacing: ${dayTitleLetterSpacingEm}em;\n                    margin: ${dayOverlineToTitleGapPx}px 0 0 0;\n                    max-width: ${dayTitleMaxWidthPx>0?`${dayTitleMaxWidthPx}px`:\"none\"};\n                    text-wrap: balance;\n                    opacity: 0;\n                    transform: translateY(6px);\n                    transition: opacity ${fadeBase} ${stagger}ms, transform ${fadeBase} ${stagger}ms;\n                    will-change: transform, opacity;\n                }\n            `}),/*#__PURE__*/_jsx(\"div\",{ref:lineRef,className:\"mtl-line-wrap\",style:{top:`${firstDotCenterY}px`},children:/*#__PURE__*/_jsxs(\"svg\",{width:\"100%\",height:\"100%\",preserveAspectRatio:\"none\",viewBox:`0 0 ${strokeWidth} 100`,style:{display:\"block\",overflow:\"visible\"},children:[/*#__PURE__*/_jsxs(\"defs\",{children:[/*#__PURE__*/_jsxs(\"linearGradient\",{id:gradId,x1:\"0\",y1:\"0\",x2:\"0\",y2:\"1\",children:[/*#__PURE__*/_jsx(\"stop\",{offset:\"0\",stopColor:\"white\"}),/*#__PURE__*/_jsx(\"stop\",{ref:stopVisibleRef,offset:isCanvas?String(canvasPreviewProgress):\"0\",stopColor:\"white\"}),/*#__PURE__*/_jsx(\"stop\",{ref:stopFadeRef,offset:String(isCanvas?Math.min(1,canvasPreviewProgress+fadeFraction):fadeFraction),stopColor:\"black\"}),/*#__PURE__*/_jsx(\"stop\",{offset:\"1\",stopColor:\"black\"})]}),/*#__PURE__*/_jsx(\"mask\",{id:maskId,children:/*#__PURE__*/_jsx(\"rect\",{x:\"0\",y:\"0\",width:strokeWidth,height:\"100\",fill:`url(#${gradId})`})})]}),/*#__PURE__*/_jsx(\"rect\",{x:\"0\",y:\"0\",width:strokeWidth,height:\"100\",fill:lineColor,fillOpacity:lineOpacity}),/*#__PURE__*/_jsx(\"rect\",{x:\"0\",y:\"0\",width:strokeWidth,height:\"100\",fill:fillColor,mask:`url(#${maskId})`})]})}),/*#__PURE__*/_jsx(\"div\",{className:\"mtl-items\",children:items.map((item,idx)=>{const setRef=el=>{itemRefs.current[idx]=el;};return /*#__PURE__*/_jsx(ItemBlock,{item:item,setRef:setRef,// shared resolved values\ndotMaxSize:dotMaxSize,imageBorderRadiusPx:imageBorderRadiusPx,innerCircleBadgeWidthPx:innerCircleBadgeWidthPx,innerCircleBadgeGapPx:innerCircleBadgeGapPx,overlineToTitleGapPx:overlineToTitleGapPx,titleToTextGapPx:titleToTextGapPx,textToImageGapPx:textToImageGapPx,dayOverlineSizePx:dayOverlineSizePx,dayOverlineToTitleGapPx:dayOverlineToTitleGapPx,dayTitleSizePx:dayTitleSizePx,dayTitleLineHeight:dayTitleLineHeight},idx);})})]});}function ItemBlock(props){const{item,setRef,dotMaxSize,imageBorderRadiusPx,innerCircleBadgeWidthPx,innerCircleBadgeGapPx,overlineToTitleGapPx,titleToTextGapPx,textToImageGapPx,dayOverlineSizePx,dayOverlineToTitleGapPx,dayTitleSizePx,dayTitleLineHeight}=props;const paragraphs=useMemo(()=>(item.body||\"\").split(/\\n\\n+/).map(p=>p.trim()).filter(Boolean),[item.body]);const imgRadius=item.imageBorderRadiusPxOverride||imageBorderRadiusPx;const badgeW=item.innerCircleBadgeWidthPxOverride||innerCircleBadgeWidthPx;const badgeGap=item.innerCircleBadgeGapPxOverride||innerCircleBadgeGapPx;const imageBlock=item.image?/*#__PURE__*/_jsx(\"img\",{src:item.image,alt:\"\",className:\"mtl-image\",style:{borderRadius:`${imgRadius}px`,marginTop:item.imagePosition===\"below\"?`${textToImageGapPx}px`:0,marginBottom:item.imagePosition===\"above\"?`${textToImageGapPx}px`:0}}):null;const badgeBlock=item.innerCircleBadge?/*#__PURE__*/_jsx(\"img\",{src:item.innerCircleBadge,alt:\"\",className:\"mtl-badge\",style:{width:`${badgeW}px`,marginBottom:`${badgeGap}px`}}):null;// Day-header item: same row layout as events. The dot is vertically\n// centered on the FIRST LINE of the day title (not top-aligned), since\n// the title is the dominant visual anchor on a day-header row.\nif(item.kind===\"day\"){const showDot=item.dayShowDot??true;const overlineBlockHeight=item.dayOverline?dayOverlineSizePx*1.2+dayOverlineToTitleGapPx:0;const titleFirstLineCenter=dayTitleSizePx*dayTitleLineHeight/2;const dayDotOffsetPx=Math.max(0,overlineBlockHeight+titleFirstLineCenter-dotMaxSize/2);return /*#__PURE__*/_jsxs(\"div\",{ref:setRef,className:\"mtl-item\",\"data-kind\":\"day\",\"data-active\":\"false\",children:[showDot&&/*#__PURE__*/_jsxs(\"div\",{className:\"mtl-pinpoint\",style:{top:`${dayDotOffsetPx}px`},children:[/*#__PURE__*/_jsx(\"div\",{className:\"mtl-glow\"}),/*#__PURE__*/_jsx(\"div\",{className:\"mtl-dot\"})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"mtl-content\",children:[item.dayOverline&&/*#__PURE__*/_jsx(\"div\",{className:\"mtl-day-overline\",children:item.dayOverline}),item.dayTitle&&/*#__PURE__*/_jsx(\"div\",{className:\"mtl-day-title\",children:item.dayTitle.split(/\\n/).map((line,i,arr)=>/*#__PURE__*/_jsxs(React.Fragment,{children:[line,i<arr.length-1&&/*#__PURE__*/_jsx(\"br\",{})]},i))})]})]});}// overview / event\nreturn /*#__PURE__*/_jsxs(\"div\",{ref:setRef,className:\"mtl-item\",\"data-kind\":item.kind,\"data-active\":\"false\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"mtl-pinpoint\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"mtl-glow\"}),/*#__PURE__*/_jsx(\"div\",{className:\"mtl-dot\"})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"mtl-content\",children:[item.kind===\"event\"?/*#__PURE__*/_jsxs(\"div\",{className:\"mtl-overline-row\",style:{marginBottom:`${overlineToTitleGapPx}px`},children:[item.dateText&&/*#__PURE__*/_jsx(\"div\",{className:\"mtl-date\",children:item.dateText}),item.timeText&&/*#__PURE__*/_jsx(\"div\",{className:\"mtl-time\",children:item.timeText})]}):item.overline&&/*#__PURE__*/_jsx(\"div\",{className:\"mtl-overline-row\",style:{marginBottom:`${overlineToTitleGapPx}px`},children:/*#__PURE__*/_jsx(\"div\",{className:\"mtl-overline\",children:item.overline})}),item.imagePosition===\"above\"&&imageBlock,badgeBlock,item.title&&/*#__PURE__*/_jsx(\"div\",{className:\"mtl-title\",style:{marginBottom:paragraphs.length?`${titleToTextGapPx}px`:0},children:item.title}),paragraphs.map((p,i)=>/*#__PURE__*/_jsx(\"p\",{className:\"mtl-paragraph\",children:p},i)),item.imagePosition===\"below\"&&imageBlock]})]});}addPropertyControls(MobileTimeline,{items:{type:ControlType.Array,title:\"Items\",defaultValue:DEFAULT_ITEMS,control:{type:ControlType.Object,controls:{kind:{type:ControlType.Enum,title:\"Kind\",defaultValue:\"event\",options:[\"day\",\"overview\",\"event\"],optionTitles:[\"Day Header\",\"Overview\",\"Event\"]},// day\ndayOverline:{type:ControlType.String,title:\"Day Overline\",defaultValue:\"\",hidden:p=>p.kind!==\"day\"},dayTitle:{type:ControlType.String,title:\"Day Title\",defaultValue:\"\",hidden:p=>p.kind!==\"day\"},dayShowDot:{type:ControlType.Boolean,title:\"Day Dot\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\",hidden:p=>p.kind!==\"day\"},// overview\noverline:{type:ControlType.String,title:\"Overline\",defaultValue:\"\",hidden:p=>p.kind!==\"overview\"},// event\ndateText:{type:ControlType.String,title:\"Date\",defaultValue:\"\",hidden:p=>p.kind!==\"event\"},timeText:{type:ControlType.String,title:\"Time\",defaultValue:\"\",hidden:p=>p.kind!==\"event\"},// shared\ntitle:{type:ControlType.String,title:\"Title\",defaultValue:\"\",hidden:p=>p.kind===\"day\"},body:{type:ControlType.String,title:\"Body\",defaultValue:\"\",displayTextArea:true,description:\"Paragraphs separated by a blank line.\",hidden:p=>p.kind===\"day\"},image:{type:ControlType.Image,title:\"Image\",hidden:p=>p.kind===\"day\"},imagePosition:{type:ControlType.Enum,title:\"Image Pos\",defaultValue:\"below\",options:[\"above\",\"below\"],optionTitles:[\"Above\",\"Below\"],hidden:p=>p.kind===\"day\"||!p.image},innerCircleBadge:{type:ControlType.Image,title:\"Badge\",hidden:p=>p.kind===\"day\"},imageBorderRadiusPxOverride:{type:ControlType.Number,title:\"Img R\",defaultValue:0,min:0,max:80,step:1,unit:\"px\",description:\"0 = use default\",hidden:p=>p.kind===\"day\"||!p.image},innerCircleBadgeWidthPxOverride:{type:ControlType.Number,title:\"Badge W\",defaultValue:0,min:0,max:600,step:1,unit:\"px\",description:\"0 = use default\",hidden:p=>p.kind===\"day\"||!p.innerCircleBadge},innerCircleBadgeGapPxOverride:{type:ControlType.Number,title:\"Badge Gap\",defaultValue:0,min:0,max:200,step:1,unit:\"px\",description:\"0 = use default\",hidden:p=>p.kind===\"day\"||!p.innerCircleBadge}}}},// Line\nlineColor:{type:ControlType.Color,title:\"Line Color\",defaultValue:\"rgba(240, 237, 234, 1)\"},lineOpacity:{type:ControlType.Number,title:\"Line Opacity\",defaultValue:.2,min:0,max:1,step:.05},fillColor:{type:ControlType.Color,title:\"Fill Color\",defaultValue:\"rgba(255, 255, 255, 1)\"},strokeWidth:{type:ControlType.Number,title:\"Stroke\",defaultValue:1,min:.5,max:8,step:.5,unit:\"px\"},fadeFraction:{type:ControlType.Number,title:\"Fade Tail\",defaultValue:.05,min:0,max:.3,step:.01},lineTopFadePx:{type:ControlType.Number,title:\"Line Top Fade\",defaultValue:0,min:0,max:400,step:4,unit:\"px\",description:\"Distance over which the line fades in at the top. 0 = hard start (use when a dot anchors the top).\"},lineBottomFadePx:{type:ControlType.Number,title:\"Line Btm Fade\",defaultValue:96,min:0,max:400,step:4,unit:\"px\",description:\"Distance over which the line fades out at the bottom.\"},anchorReference:{type:ControlType.Enum,title:\"Anchor\",defaultValue:\"viewport_center\",options:[\"viewport_top\",\"viewport_center\",\"viewport_bottom\"],optionTitles:[\"Top\",\"Center\",\"Bottom\"]},anchorOffsetVh:{type:ControlType.Number,title:\"Anchor Off\",defaultValue:0,min:-50,max:50,step:1,unit:\"vh\"},canvasPreviewProgress:{type:ControlType.Number,title:\"Canvas Fill\",defaultValue:.5,min:0,max:1,step:.05},// Layout\ncontentGapPx:{type:ControlType.Number,title:\"Line → Text\",defaultValue:25,min:0,max:120,step:1,unit:\"px\",description:\"Horizontal gap between the scroll line and the content.\"},itemGapPx:{type:ControlType.Number,title:\"Item Gap\",defaultValue:64,min:0,max:240,step:2,unit:\"px\"},sidePaddingPx:{type:ControlType.Number,title:\"Side Pad\",defaultValue:16,min:0,max:80,step:2,unit:\"px\",description:\"Distance from the component's left/right edge to the scroll line. Dots are positioned over the line and can overhang into this padding.\"},bottomPaddingPx:{type:ControlType.Number,title:\"Bottom Pad\",defaultValue:80,min:0,max:400,step:4,unit:\"px\",description:\"Empty space below the last item before the next section. The scroll line continues through this padding (and fades out via Line Btm Fade).\"},// Activation\nactivationYPercent:{type:ControlType.Number,title:\"Activate At\",defaultValue:70,min:20,max:100,step:1,unit:\"% vh\",description:\"Item activates when its TOP crosses this % of viewport height.\"},fadeInDurationMs:{type:ControlType.Number,title:\"Fade Dur\",defaultValue:700,min:100,max:2e3,step:50,unit:\"ms\"},canvasPreviewActiveIndex:{type:ControlType.Number,title:\"Canvas Active\",defaultValue:1,min:-1,max:20,step:1,description:\"Items 0..N active on canvas. -1 = none.\"},// Dot\npinpointSizePx:{type:ControlType.Number,title:\"Dot Size\",defaultValue:8,min:2,max:40,step:1,unit:\"px\"},pinpointActiveSizePx:{type:ControlType.Number,title:\"Dot Active\",defaultValue:12,min:2,max:60,step:1,unit:\"px\"},pinpointColor:{type:ControlType.Color,title:\"Dot Color\",defaultValue:\"rgba(255, 255, 255, 1)\"},pinpointInactiveOpacity:{type:ControlType.Number,title:\"Dot Dim\",defaultValue:.35,min:0,max:1,step:.05},pinpointGlowSizePx:{type:ControlType.Number,title:\"Glow Size\",defaultValue:28,min:0,max:120,step:2,unit:\"px\"},pinpointGlowColor:{type:ControlType.Color,title:\"Glow Color\",defaultValue:\"rgba(255, 255, 255, 0.18)\"},// Overview/event overline typography\noverlineSizePx:{type:ControlType.Number,title:\"Overline Sz\",defaultValue:11,min:6,max:80,step:1,unit:\"px\"},overlineColor:{type:ControlType.Color,title:\"Overline Col\",defaultValue:\"rgba(240, 237, 234, 0.55)\"},overlineLetterSpacingEm:{type:ControlType.Number,title:\"Overline Tr\",defaultValue:.18,min:-.05,max:.5,step:.01,unit:\"em\"},dateColor:{type:ControlType.Color,title:\"Date Color\",defaultValue:\"rgba(240, 237, 234, 0.55)\"},timeColor:{type:ControlType.Color,title:\"Time Color\",defaultValue:\"rgba(240, 237, 234, 0.55)\"},dateToTimeGapPx:{type:ControlType.Number,title:\"Date → Time\",defaultValue:4,min:0,max:80,step:1,unit:\"px\"},// Overview title\noverviewTitleFont:{type:ControlType.Font,title:\"Ov Title Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontFamily:\"Inter\",fontWeight:500},displayFontSize:false,displayLineHeight:false,displayLetterSpacing:false,displayTextAlignment:false},overviewTitleSizePx:{type:ControlType.Number,title:\"Ov Title Sz\",defaultValue:18,min:8,max:120,step:1,unit:\"px\"},overviewTitleColor:{type:ControlType.Color,title:\"Ov Title Col\",defaultValue:\"rgba(240, 237, 234, 1)\"},overviewTitleLineHeight:{type:ControlType.Number,title:\"Ov Title LH\",defaultValue:1.3,min:.8,max:3,step:.05},overviewTitleLetterSpacingEm:{type:ControlType.Number,title:\"Ov Title Tr\",defaultValue:-.01,min:-.1,max:.5,step:.01,unit:\"em\"},// Event title\neventTitleFont:{type:ControlType.Font,title:\"Ev Title Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontFamily:\"Inter\",fontWeight:500},displayFontSize:false,displayLineHeight:false,displayLetterSpacing:false,displayTextAlignment:false},eventTitleSizePx:{type:ControlType.Number,title:\"Ev Title Sz\",defaultValue:18,min:8,max:120,step:1,unit:\"px\"},eventTitleColor:{type:ControlType.Color,title:\"Ev Title Col\",defaultValue:\"rgba(240, 237, 234, 1)\"},eventTitleLineHeight:{type:ControlType.Number,title:\"Ev Title LH\",defaultValue:1.3,min:.8,max:3,step:.05},eventTitleLetterSpacingEm:{type:ControlType.Number,title:\"Ev Title Tr\",defaultValue:-.01,min:-.1,max:.5,step:.01,unit:\"em\"},// Day-header typography\ndayOverlineFont:{type:ControlType.Font,title:\"Day Ov Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontFamily:\"Inter\",fontWeight:400},displayFontSize:false,displayLineHeight:false,displayLetterSpacing:false,displayTextAlignment:false},dayOverlineSizePx:{type:ControlType.Number,title:\"Day Ov Sz\",defaultValue:11,min:6,max:80,step:1,unit:\"px\"},dayOverlineColor:{type:ControlType.Color,title:\"Day Ov Col\",defaultValue:\"rgba(240, 237, 234, 0.65)\"},dayOverlineLetterSpacingEm:{type:ControlType.Number,title:\"Day Ov Tr\",defaultValue:.18,min:-.05,max:.5,step:.01,unit:\"em\"},dayOverlineUppercase:{type:ControlType.Boolean,title:\"Day Ov Caps\",defaultValue:true},dayTitleFont:{type:ControlType.Font,title:\"Day Title Font\",controls:\"extended\",defaultFontType:\"serif\",defaultValue:{fontFamily:\"Cormorant Garamond\",fontWeight:400,fontStyle:\"italic\"},displayFontSize:false,displayLineHeight:false,displayLetterSpacing:false,displayTextAlignment:false},dayTitleSizePx:{type:ControlType.Number,title:\"Day Title Sz\",defaultValue:44,min:16,max:160,step:1,unit:\"px\"},dayTitleColor:{type:ControlType.Color,title:\"Day Title Col\",defaultValue:\"rgba(240, 237, 234, 1)\"},dayTitleLineHeight:{type:ControlType.Number,title:\"Day Title LH\",defaultValue:1.05,min:.8,max:3,step:.05},dayTitleLetterSpacingEm:{type:ControlType.Number,title:\"Day Title Tr\",defaultValue:-.02,min:-.1,max:.5,step:.01,unit:\"em\"},dayOverlineToTitleGapPx:{type:ControlType.Number,title:\"Day Ov → Title\",defaultValue:12,min:0,max:80,step:1,unit:\"px\"},daySectionGapAbovePx:{type:ControlType.Number,title:\"Day Gap Above\",defaultValue:80,min:0,max:400,step:4,unit:\"px\"},daySectionGapBelowPx:{type:ControlType.Number,title:\"Day Gap Below\",defaultValue:0,min:0,max:400,step:4,unit:\"px\",description:\"Extra gap below the day title before the first event. 0 = use Item Gap.\"},dayTitleMaxWidthPx:{type:ControlType.Number,title:\"Day Title Wrap\",defaultValue:240,min:0,max:800,step:4,unit:\"px\",description:\"Caps the day title width so long titles wrap naturally (text-wrap: balance distributes lines evenly). 0 = no cap. You can also put \\\\n in a day title for an explicit break.\"},// Body\ntextFont:{type:ControlType.Font,title:\"Text Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontFamily:\"Inter\",fontWeight:400},displayFontSize:false,displayLineHeight:false,displayLetterSpacing:false,displayTextAlignment:false},textSizePx:{type:ControlType.Number,title:\"Text Sz\",defaultValue:13,min:6,max:80,step:1,unit:\"px\"},textColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"rgba(240, 237, 234, 0.78)\"},textLineHeight:{type:ControlType.Number,title:\"Text LH\",defaultValue:1.6,min:.8,max:3,step:.05},paragraphGapPx:{type:ControlType.Number,title:\"Para Gap\",defaultValue:14,min:0,max:80,step:1,unit:\"px\"},// Spacing\noverlineToTitleGapPx:{type:ControlType.Number,title:\"Ov → Title\",defaultValue:24,min:0,max:120,step:1,unit:\"px\"},titleToTextGapPx:{type:ControlType.Number,title:\"Title → Text\",defaultValue:16,min:0,max:120,step:1,unit:\"px\"},textToImageGapPx:{type:ControlType.Number,title:\"Text → Img\",defaultValue:20,min:0,max:120,step:1,unit:\"px\"},// Image defaults\nimageBorderRadiusPx:{type:ControlType.Number,title:\"Img Radius\",defaultValue:4,min:0,max:80,step:1,unit:\"px\"},// Badge defaults\ninnerCircleBadgeWidthPx:{type:ControlType.Number,title:\"Badge W\",defaultValue:130,min:20,max:600,step:1,unit:\"px\"},innerCircleBadgeGapPx:{type:ControlType.Number,title:\"Badge Gap\",defaultValue:20,min:0,max:200,step:1,unit:\"px\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"MobileTimeline\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Mobiletimeline.map","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useEffect,useRef,useState}from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{motion,AnimatePresence}from\"framer-motion\";const VERT=`\nattribute vec2 a_home;\nattribute float a_phase;\nattribute float a_alpha;\nattribute float a_sizeVar;\nattribute vec2 a_drift;\n\nuniform vec2 u_resolution;\nuniform vec2 u_rect;\nuniform vec2 u_pad;\nuniform float u_time;\nuniform float u_hover;\nuniform float u_idle;\nuniform float u_disp;\nuniform float u_size;\nuniform float u_dpr;\nuniform float u_feather;\n\nvarying float v_distFromHome;\nvarying float v_alpha;\nvarying float v_edge;\n\n// 2D value noise — smooth, non-periodic-feeling drift.\nfloat hash(vec2 p) {\n    return fract(sin(dot(p, vec2(127.1, 311.7))) * 43758.5453);\n}\nfloat vnoise(vec2 p) {\n    vec2 i = floor(p);\n    vec2 f = fract(p);\n    float a = hash(i);\n    float b = hash(i + vec2(1.0, 0.0));\n    float c = hash(i + vec2(0.0, 1.0));\n    float d = hash(i + vec2(1.0, 1.0));\n    vec2 u = f * f * (3.0 - 2.0 * f);\n    return mix(a, b, u.x) + (c - a) * u.y * (1.0 - u.x) + (d - b) * u.x * u.y;\n}\n\nvoid main() {\n    // Per-particle time offset — breaks the unified wobble frequency.\n    float pSpeed = 0.5 + a_phase * 0.12;\n    float t = u_time * pSpeed + a_phase * 4.0;\n\n    // Value-noise drift sampled at the particle's home position.\n    vec2 sampleP = a_home * 0.04 + vec2(t * 0.3, t * 0.25);\n    float n1 = vnoise(sampleP) - 0.5;\n    float n2 = vnoise(sampleP + vec2(17.3, 9.1)) - 0.5;\n\n    // Asymmetric, per-particle-biased drift direction (a_drift carries\n    // a stable random unit-ish vector so each grain has its own preferred\n    // travel arc instead of all expanding radially).\n    vec2 dir = normalize(a_drift + vec2(n1, n2) * 1.2);\n    float radius = u_idle + u_hover * u_disp * (0.6 + a_phase * 0.18);\n    vec2 pos = a_home + dir * radius * (0.5 + length(vec2(n1, n2)) * 1.4);\n\n    v_distFromHome = length(pos - a_home);\n    v_alpha = a_alpha;\n\n    // Soft rectangle edge mask — particles near the boundary fade out so\n    // the silhouette reads as a smudge instead of a clipped rectangle.\n    vec2 local = a_home - u_pad;\n    vec2 edgeDist = min(local, u_rect - local);\n    float minEdge = min(edgeDist.x, edgeDist.y);\n    v_edge = smoothstep(0.0, max(u_feather, 0.001), minEdge);\n\n    vec2 zeroToOne = pos / u_resolution;\n    vec2 zeroToTwo = zeroToOne * 2.0;\n    vec2 clip = zeroToTwo - 1.0;\n    clip.y *= -1.0;\n\n    gl_Position = vec4(clip, 0.0, 1.0);\n    gl_PointSize = u_size * a_sizeVar * u_dpr;\n}\n`;const FRAG=`\nprecision highp float;\n\nuniform vec4 u_color;\nuniform float u_disp;\nuniform float u_fade;\nuniform float u_hover;\n\nvarying float v_distFromHome;\nvarying float v_alpha;\nvarying float v_edge;\n\nvoid main() {\n    vec2 c = gl_PointCoord - vec2(0.5);\n    float d = length(c);\n    if (d > 0.5) discard;\n    float aa = smoothstep(0.5, 0.2, d);\n\n    // Particles fade in as hover ramps; invisible at rest. v_edge softens\n    // the rectangle silhouette so it doesn't read as a hard chip.\n    float alpha = v_alpha * aa * u_color.a * u_hover * v_edge;\n    if (u_fade > 0.5) {\n        float falloff = 1.0 - clamp(v_distFromHome / max(u_disp, 1.0), 0.0, 1.0);\n        alpha *= 0.35 + 0.65 * falloff;\n    }\n    gl_FragColor = vec4(u_color.rgb * alpha, alpha);\n}\n`;function compileShader(gl,type,src){const sh=gl.createShader(type);if(!sh)return null;gl.shaderSource(sh,src);gl.compileShader(sh);if(!gl.getShaderParameter(sh,gl.COMPILE_STATUS)){const log=gl.getShaderInfoLog(sh);console.warn(\"[ParticleHoverButton] shader compile failed:\",log);gl.deleteShader(sh);return null;}return sh;}function createProgram(gl,vs,fs){const v=compileShader(gl,gl.VERTEX_SHADER,vs);const f=compileShader(gl,gl.FRAGMENT_SHADER,fs);if(!v||!f)return null;const p=gl.createProgram();if(!p)return null;gl.attachShader(p,v);gl.attachShader(p,f);gl.linkProgram(p);if(!gl.getProgramParameter(p,gl.LINK_STATUS)){const log=gl.getProgramInfoLog(p);console.warn(\"[ParticleHoverButton] program link failed:\",log);gl.deleteProgram(p);return null;}return p;}function parseColor(s){if(typeof document===\"undefined\")return[1,1,1,1];const tmp=document.createElement(\"canvas\");tmp.width=1;tmp.height=1;const ctx=tmp.getContext(\"2d\");if(!ctx)return[1,1,1,1];ctx.fillStyle=\"rgba(0,0,0,0)\";ctx.clearRect(0,0,1,1);ctx.fillStyle=s;ctx.fillRect(0,0,1,1);const d=ctx.getImageData(0,0,1,1).data;return[d[0]/255,d[1]/255,d[2]/255,d[3]/255];}/**\n * ParticleHoverButton\n *\n * Background plate is rendered as a WebGL particle field — a grid of soft\n * round points colored to match the button. On hover, particles drift outward\n * from their home positions with optional alpha falloff so the rectangle\n * appears to disperse into dust and reform when the cursor leaves. Text and\n * arrow are rendered as normal DOM on top and stay crisp.\n *\n * @framerDisableUnlink\n * @framerIntrinsicWidth 240\n * @framerIntrinsicHeight 84\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export default function ParticleHoverButton(props){const{text,showArrow,arrowChar,customArrow,altCustomArrow,arrowSize,font,textColor,particleColor,backgroundColor,altTextColor,altParticleColor,lightSectionIds,darkSectionIds,themeOffset,borderRadius,paddingX,paddingY,sampleStep,particleSize,jitter,idleNoise,hoverDispersion,hoverSpeed,bgFloor,textHaloSize,fadeWithDistance,buttonHeight,slideDuration,labelText,labelFont,labelColor,labelAltColor,labelGap,mobileMode=false,style}=props;const containerRef=useRef(null);const canvasRef=useRef(null);const solidBgRef=useRef(null);const glStateRef=useRef(null);const sizeRef=useRef({w:0,h:0,pad:0,dpr:1});const hoverRef=useRef(0);const targetHoverRef=useRef(0);const rafRef=useRef(null);const startTimeRef=useRef(0);const visibleRef=useRef(true);const reduceMotionRef=useRef(false);const colorRef=useRef([1,1,1,1]);const resampleTimerRef=useRef(null);const[isOnLight,setIsOnLight]=useState(false);const activeTextColor=isOnLight?altTextColor:textColor;const activeParticleColor=isOnLight?altParticleColor:particleColor;const computePad=()=>Math.max(8,Math.ceil(hoverDispersion*2+idleNoise+4));// Build particle vertex data (home_x, home_y, phase, alpha, sizeVar, drift_x, drift_y).\n// ~30% of grid cells are skipped to break the regular-grid read.\nconst buildVertexData=(w,h,pad)=>{const step=Math.max(.25,sampleStep);const cols=Math.max(1,Math.floor(w/step));const rows=Math.max(1,Math.floor(h/step));const total=cols*rows;const dropChance=.3;const stride=7;const scratch=new Float32Array(total*stride);let i=0;const xStart=(w-cols*step)/2+step/2;const yStart=(h-rows*step)/2+step/2;for(let ry=0;ry<rows;ry++){for(let cx=0;cx<cols;cx++){if(Math.random()<dropChance)continue;const jx=(Math.random()-.5)*jitter;const jy=(Math.random()-.5)*jitter;scratch[i++]=pad+xStart+cx*step+jx;scratch[i++]=pad+yStart+ry*step+jy;scratch[i++]=Math.random()*Math.PI*2;scratch[i++]=.3+Math.random()*.7;// Heavy-tailed size: most particles small, occasional large smudges.\nconst r=Math.random();scratch[i++]=.4+r*r*1.6;// Per-particle drift bias — random direction, varied magnitude.\nconst ang=Math.random()*Math.PI*2;const mag=.3+Math.random()*.9;scratch[i++]=Math.cos(ang)*mag;scratch[i++]=Math.sin(ang)*mag;}}return scratch.slice(0,i);};const initGL=()=>{if(mobileMode)return false;const canvas=canvasRef.current;if(!canvas){console.warn(\"[ParticleHoverButton] canvas ref is null\");return false;}let gl=null;try{gl=canvas.getContext(\"webgl\",{alpha:true,premultipliedAlpha:true})||canvas.getContext(\"experimental-webgl\",{alpha:true,premultipliedAlpha:true})||canvas.getContext(\"webgl\");}catch(err){console.warn(\"[ParticleHoverButton] getContext threw:\",err);return false;}if(!gl){console.warn(\"[ParticleHoverButton] getContext returned null.\");return false;}const program=createProgram(gl,VERT,FRAG);if(!program){console.warn(\"[ParticleHoverButton] createProgram returned null\");return false;}const buffer=gl.createBuffer();if(!buffer){console.warn(\"[ParticleHoverButton] createBuffer returned null\");return false;}gl.useProgram(program);gl.enable(gl.BLEND);// Premultiplied alpha blending.\ngl.blendFunc(gl.ONE,gl.ONE_MINUS_SRC_ALPHA);glStateRef.current={gl,program,buffer,locs:{a_home:gl.getAttribLocation(program,\"a_home\"),a_phase:gl.getAttribLocation(program,\"a_phase\"),a_alpha:gl.getAttribLocation(program,\"a_alpha\"),a_sizeVar:gl.getAttribLocation(program,\"a_sizeVar\"),a_drift:gl.getAttribLocation(program,\"a_drift\"),u_resolution:gl.getUniformLocation(program,\"u_resolution\"),u_rect:gl.getUniformLocation(program,\"u_rect\"),u_pad:gl.getUniformLocation(program,\"u_pad\"),u_time:gl.getUniformLocation(program,\"u_time\"),u_hover:gl.getUniformLocation(program,\"u_hover\"),u_idle:gl.getUniformLocation(program,\"u_idle\"),u_disp:gl.getUniformLocation(program,\"u_disp\"),u_size:gl.getUniformLocation(program,\"u_size\"),u_dpr:gl.getUniformLocation(program,\"u_dpr\"),u_color:gl.getUniformLocation(program,\"u_color\"),u_fade:gl.getUniformLocation(program,\"u_fade\"),u_feather:gl.getUniformLocation(program,\"u_feather\")},count:0};return true;};const uploadParticles=data=>{const state=glStateRef.current;if(!state)return;const{gl,buffer,locs}=state;gl.bindBuffer(gl.ARRAY_BUFFER,buffer);gl.bufferData(gl.ARRAY_BUFFER,data,gl.STATIC_DRAW);const stride=7*4// 7 floats * 4 bytes\n;if(locs.a_home>=0){gl.enableVertexAttribArray(locs.a_home);gl.vertexAttribPointer(locs.a_home,2,gl.FLOAT,false,stride,0);}if(locs.a_phase>=0){gl.enableVertexAttribArray(locs.a_phase);gl.vertexAttribPointer(locs.a_phase,1,gl.FLOAT,false,stride,8);}if(locs.a_alpha>=0){gl.enableVertexAttribArray(locs.a_alpha);gl.vertexAttribPointer(locs.a_alpha,1,gl.FLOAT,false,stride,12);}if(locs.a_sizeVar>=0){gl.enableVertexAttribArray(locs.a_sizeVar);gl.vertexAttribPointer(locs.a_sizeVar,1,gl.FLOAT,false,stride,16);}if(locs.a_drift>=0){gl.enableVertexAttribArray(locs.a_drift);gl.vertexAttribPointer(locs.a_drift,2,gl.FLOAT,false,stride,20);}state.count=data.length/7;};const setupCanvas=()=>{const container=containerRef.current;const canvas=canvasRef.current;if(!container||!canvas)return;const rect=container.getBoundingClientRect();const w=rect.width;const h=rect.height;if(w<=0||h<=0)return;const pad=computePad();const dpr=Math.min(window.devicePixelRatio||1,2);sizeRef.current={w,h,pad,dpr};const cw=w+pad*2;const ch=h+pad*2;canvas.width=Math.max(1,Math.floor(cw*dpr));canvas.height=Math.max(1,Math.floor(ch*dpr));canvas.style.width=`${cw}px`;canvas.style.height=`${ch}px`;canvas.style.left=`${-pad}px`;canvas.style.top=`${-pad}px`;const state=glStateRef.current;if(!state)return;state.gl.viewport(0,0,canvas.width,canvas.height);const data=buildVertexData(w,h,pad);uploadParticles(data);};const draw=now=>{const state=glStateRef.current;if(!state)return;const{gl,locs,count}=state;const{w,h,pad,dpr}=sizeRef.current;const cw=w+pad*2;const ch=h+pad*2;hoverRef.current+=(targetHoverRef.current-hoverRef.current)*hoverSpeed;const hi=hoverRef.current;// Cross-fade solid background out as particles fade in.\n// Settles at `bgFloor` at full hover instead of fully transparent so\n// text retains a stable plate to read against. The opacity is\n// applied to BOTH stacked plates via a CSS variable so they fade\n// together while the alt plate still slides independently.\nif(solidBgRef.current){const floor=Math.max(0,Math.min(1,bgFloor));const opacity=1-hi*(1-floor);solidBgRef.current.style.setProperty(\"--plate-opacity\",String(Math.max(0,Math.min(1,opacity))));}const reduce=reduceMotionRef.current;const idleAmp=reduce?0:idleNoise;const hoverAmp=reduce?0:hoverDispersion;gl.clearColor(0,0,0,0);gl.clear(gl.COLOR_BUFFER_BIT);if(count===0)return;const t=(now-startTimeRef.current)*.001;if(locs.u_resolution)gl.uniform2f(locs.u_resolution,cw,ch);if(locs.u_rect)gl.uniform2f(locs.u_rect,w,h);if(locs.u_pad)gl.uniform2f(locs.u_pad,pad,pad);if(locs.u_feather)gl.uniform1f(locs.u_feather,Math.min(w,h)*.18);if(locs.u_time)gl.uniform1f(locs.u_time,t);if(locs.u_hover)gl.uniform1f(locs.u_hover,hi);if(locs.u_idle)gl.uniform1f(locs.u_idle,idleAmp);if(locs.u_disp)gl.uniform1f(locs.u_disp,hoverAmp);if(locs.u_size)gl.uniform1f(locs.u_size,particleSize);if(locs.u_dpr)gl.uniform1f(locs.u_dpr,dpr);if(locs.u_color){const c=colorRef.current;gl.uniform4f(locs.u_color,c[0],c[1],c[2],c[3]);}if(locs.u_fade)gl.uniform1f(locs.u_fade,fadeWithDistance?1:0);gl.drawArrays(gl.POINTS,0,count);};const tick=now=>{if(!visibleRef.current){rafRef.current=null;return;}draw(now);rafRef.current=requestAnimationFrame(tick);};const startLoop=()=>{if(rafRef.current!=null)return;if(startTimeRef.current===0)startTimeRef.current=performance.now();rafRef.current=requestAnimationFrame(tick);};const stopLoop=()=>{if(rafRef.current!=null){cancelAnimationFrame(rafRef.current);rafRef.current=null;}};useEffect(()=>{const container=containerRef.current;if(!container)return;const mql=window.matchMedia(\"(prefers-reduced-motion: reduce)\");reduceMotionRef.current=mql.matches;const onMqlChange=()=>{reduceMotionRef.current=mql.matches;};mql.addEventListener?.(\"change\",onMqlChange);const ok=initGL();if(!ok){console.warn(\"[ParticleHoverButton] WebGL unavailable — solid fill only.\");return()=>{mql.removeEventListener?.(\"change\",onMqlChange);};}colorRef.current=parseColor(activeParticleColor);setupCanvas();startLoop();const ro=new ResizeObserver(()=>{if(resampleTimerRef.current!=null){window.clearTimeout(resampleTimerRef.current);}resampleTimerRef.current=window.setTimeout(setupCanvas,120);});ro.observe(container);const io=new IntersectionObserver(entries=>{for(const entry of entries){visibleRef.current=entry.isIntersecting;if(entry.isIntersecting)startLoop();}},{threshold:0});io.observe(container);return()=>{stopLoop();ro.disconnect();io.disconnect();mql.removeEventListener?.(\"change\",onMqlChange);if(resampleTimerRef.current!=null){window.clearTimeout(resampleTimerRef.current);}const state=glStateRef.current;if(state){const{gl,program,buffer}=state;gl.deleteBuffer(buffer);gl.deleteProgram(program);glStateRef.current=null;}};// eslint-disable-next-line react-hooks/exhaustive-deps\n},[]);useEffect(()=>{if(!glStateRef.current)return;setupCanvas();// eslint-disable-next-line react-hooks/exhaustive-deps\n},[sampleStep,jitter,hoverDispersion,idleNoise]);useEffect(()=>{colorRef.current=parseColor(activeParticleColor);},[activeParticleColor]);// Watch sections listed in `lightSectionIds` and `darkSectionIds` — flip\n// to alt theme when a light section overlaps the button strip AND no dark\n// section also overlaps. Dark always wins ties.\nuseEffect(()=>{const parseIds=s=>(s||\"\").split(\",\").map(v=>v.trim().replace(/^#/,\"\")).filter(Boolean);const lightIds=parseIds(lightSectionIds);const darkIds=parseIds(darkSectionIds);if(lightIds.length===0)return;const container=containerRef.current;if(!container)return;let observer=null;const lightSet=new Set;const darkSet=new Set;const lightHits=new Set;const darkHits=new Set;const update=()=>{setIsOnLight(lightHits.size>0&&darkHits.size===0);};const setup=()=>{observer?.disconnect();lightSet.clear();darkSet.clear();lightHits.clear();darkHits.clear();const rect=container.getBoundingClientRect();const offset=themeOffset||0;// Thin 4px detection line at rect.top + offset. Resolves\n// dark→light transitions cleanly: only one section's edge\n// crosses the line at a time, so we don't wait for the old\n// section to fully exit the button's height.\nconst STRIP_HEIGHT=4;const yTop=rect.top+offset;const yBottom=yTop+STRIP_HEIGHT;const top=-yTop;const bottom=yBottom-window.innerHeight;const rootMargin=`${top}px 0px ${bottom}px 0px`;const lightEls=lightIds.map(id=>document.getElementById(id)).filter(el=>!!el);const darkEls=darkIds.map(id=>document.getElementById(id)).filter(el=>!!el);lightEls.forEach(el=>lightSet.add(el));darkEls.forEach(el=>darkSet.add(el));if(lightEls.length===0)return;observer=new IntersectionObserver(entries=>{for(const e of entries){const t=e.target;if(lightSet.has(t)){if(e.isIntersecting)lightHits.add(t);else lightHits.delete(t);}if(darkSet.has(t)){if(e.isIntersecting)darkHits.add(t);else darkHits.delete(t);}}update();},{rootMargin,threshold:0});lightEls.forEach(el=>observer.observe(el));darkEls.forEach(el=>observer.observe(el));};setup();const onResize=()=>setup();window.addEventListener(\"resize\",onResize);return()=>{observer?.disconnect();window.removeEventListener(\"resize\",onResize);};},[lightSectionIds,darkSectionIds,themeOffset]);const isTouchEvent=e=>!!e&&e.pointerType===\"touch\";const handleEnter=e=>{if(mobileMode)return;// On touch, pointerEnter fires at touch-start and pointerLeave fires\n// at touch-end — running the hover animation between them just causes\n// a flicker and can interfere with the click firing on iOS Safari.\nif(isTouchEvent(e))return;targetHoverRef.current=1;startLoop();};const handleLeave=e=>{if(mobileMode)return;if(isTouchEvent(e))return;targetHoverRef.current=0;};const containerStyle={position:\"relative\",display:\"block\",width:\"100%\",height:buttonHeight,flexShrink:0,background:backgroundColor,borderRadius,cursor:\"inherit\",overflow:\"visible\",WebkitTapHighlightColor:\"transparent\",// Remove iOS 300ms tap delay and let the browser commit to clicks\n// faster on touch — without this the click can be dropped when the\n// user's finger drifts during the tap.\ntouchAction:\"manipulation\",boxSizing:\"border-box\",pointerEvents:\"auto\",textDecoration:\"none\",...style};const canvasStyle={position:\"absolute\",pointerEvents:\"none\",display:\"block\",zIndex:0};// CSS var on the slide-clip drives both stacked plates' opacity from the\n// RAF loop; the alt layer's transform animates independently.\n// pointer-events: none here — taps must fall through to the parent <a>.\n// On iOS, interactive child divs covering an anchor can swallow the tap.\nconst slideClipStyle={position:\"absolute\",inset:0,overflow:\"hidden\",borderRadius,zIndex:0,pointerEvents:\"none\",[\"--plate-opacity\"]:1};const layerBaseStyle={position:\"absolute\",inset:0,display:\"flex\",alignItems:\"center\",justifyContent:showArrow?\"space-between\":\"center\",paddingLeft:paddingX,paddingRight:paddingX,paddingTop:paddingY,paddingBottom:paddingY,boxSizing:\"border-box\",willChange:\"transform\",pointerEvents:\"none\"};const plateStyle=color=>({position:\"absolute\",inset:0,background:color,opacity:\"var(--plate-opacity, 1)\",pointerEvents:\"none\"});const textStyleFor=(tColor,haloColor)=>({position:\"relative\",zIndex:1,display:\"inline-flex\",alignItems:\"center\",color:tColor,...font,textDecoration:\"none\",textShadow:textHaloSize>0?`0 0 ${textHaloSize*.5}px ${haloColor}, 0 0 ${textHaloSize}px ${haloColor}, 0 0 ${textHaloSize*1.5}px ${haloColor}`:undefined});const arrowImgStyleFor=haloColor=>({position:\"relative\",zIndex:1,width:arrowSize,height:arrowSize,objectFit:\"contain\",display:\"block\",filter:textHaloSize>0?`drop-shadow(0 0 ${textHaloSize*.5}px ${haloColor}) drop-shadow(0 0 ${textHaloSize}px ${haloColor})`:undefined});const renderLayerContent=(tColor,pColor,arrowSrc)=>/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{style:plateStyle(pColor)}),/*#__PURE__*/_jsx(\"span\",{style:textStyleFor(tColor,pColor),children:text}),showArrow&&(arrowSrc?/*#__PURE__*/_jsx(\"img\",{src:arrowSrc,alt:\"\",style:arrowImgStyleFor(pColor)}):/*#__PURE__*/_jsx(\"span\",{style:textStyleFor(tColor,pColor),children:arrowChar}))]});const themeKey=isOnLight?\"alt\":\"default\";const activeArrow=isOnLight&&altCustomArrow?altCustomArrow:customArrow;const inner=/*#__PURE__*/_jsxs(_Fragment,{children:[!mobileMode&&/*#__PURE__*/_jsx(\"canvas\",{ref:canvasRef,style:canvasStyle,\"aria-hidden\":true}),/*#__PURE__*/_jsx(\"div\",{ref:solidBgRef,style:slideClipStyle,\"aria-hidden\":true,children:/*#__PURE__*/_jsx(AnimatePresence,{mode:\"popLayout\",initial:false,children:/*#__PURE__*/_jsx(motion.div,{initial:{y:\"100%\"},animate:{y:\"0%\"},exit:{y:\"-100%\"},transition:{duration:slideDuration,ease:[.4,0,.2,1]},style:layerBaseStyle,children:renderLayerContent(activeTextColor,activeParticleColor,activeArrow)},themeKey)})})]});// Pure visual — no anchor, click handler, or keyboard role. Wrap this\n// component in a Framer frame and attach the link there.\nconst buttonNode=/*#__PURE__*/_jsx(\"div\",{ref:containerRef,onPointerEnter:handleEnter,onPointerLeave:handleLeave,style:containerStyle,\"aria-hidden\":false,children:inner});const labelStyle={textAlign:\"center\",width:\"100%\",...labelFont,color:isOnLight?labelAltColor:labelColor,transition:\"color 0.3s ease\",flexShrink:0};const wrapperStyle={display:\"flex\",flexDirection:\"column\",alignItems:\"stretch\",gap:labelText?labelGap:0,width:\"100%\",boxSizing:\"border-box\"};return /*#__PURE__*/_jsxs(\"div\",{style:wrapperStyle,children:[labelText&&/*#__PURE__*/_jsx(\"span\",{style:labelStyle,\"aria-hidden\":false,children:labelText}),buttonNode]});}ParticleHoverButton.defaultProps={text:\"Reserve Now\",showArrow:false,arrowChar:\"↓\",customArrow:\"\",altCustomArrow:\"\",arrowSize:16,font:{fontFamily:\"PP Neue Montreal\",fontWeight:500,fontSize:\"15px\",letterSpacing:\"0em\",lineHeight:\"1em\"},textColor:\"#000000\",particleColor:\"#FFFFFF\",altTextColor:\"#FFFFFF\",altParticleColor:\"#000000\",lightSectionIds:\"\",darkSectionIds:\"\",themeOffset:0,backgroundColor:\"rgba(0,0,0,0)\",borderRadius:0,paddingX:16,paddingY:13,sampleStep:1,particleSize:1.5,jitter:4,idleNoise:.5,hoverDispersion:22,hoverSpeed:.08,bgFloor:0,textHaloSize:8,fadeWithDistance:true,buttonHeight:42,slideDuration:.5,labelText:\"Reserve by June 01, 2026\",labelFont:{fontFamily:\"PP Neue Montreal\",fontWeight:400,fontSize:\"12px\",letterSpacing:\"0.24px\",lineHeight:\"1.4em\"},labelColor:\"rgba(255, 255, 255, 0.5)\",labelAltColor:\"rgba(0, 0, 0, 0.5)\",labelGap:16,mobileMode:false};addPropertyControls(ParticleHoverButton,{text:{type:ControlType.String,title:\"Text\",defaultValue:\"Reserve Now\"},showArrow:{type:ControlType.Boolean,title:\"Arrow\",defaultValue:false},arrowChar:{type:ControlType.String,title:\"Arrow Char\",defaultValue:\"↓\",hidden:p=>!p.showArrow||!!p.customArrow,description:\"Used when no custom image is uploaded.\"},customArrow:{type:ControlType.Image,title:\"Arrow Image\",hidden:p=>!p.showArrow,description:\"Optional. Overrides the unicode arrow.\"},altCustomArrow:{type:ControlType.Image,title:\"Alt Arrow\",hidden:p=>!p.showArrow||!p.customArrow,description:\"Arrow image used when overlapping a light section.\"},arrowSize:{type:ControlType.Number,title:\"Arrow Size\",defaultValue:16,min:4,max:80,step:1,unit:\"px\",hidden:p=>!p.showArrow||!p.customArrow},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontFamily:\"PP Neue Montreal\",fontWeight:500,fontSize:\"15px\",letterSpacing:\"0em\",lineHeight:\"1em\"},displayTextAlignment:false},textColor:{type:ControlType.Color,title:\"Text\",defaultValue:\"#000000\"},particleColor:{type:ControlType.Color,title:\"Dust\",defaultValue:\"#FFFFFF\",description:\"Color of the particle background.\"},backgroundColor:{type:ControlType.Color,title:\"Base BG\",defaultValue:\"rgba(0,0,0,0)\",description:\"Solid layer behind particles. Usually transparent.\"},altTextColor:{type:ControlType.Color,title:\"Alt Text\",defaultValue:\"#FFFFFF\",description:\"Text color when overlapping a light section.\"},altParticleColor:{type:ControlType.Color,title:\"Alt Dust\",defaultValue:\"#000000\",description:\"Particle/fill color when overlapping a light section.\"},lightSectionIds:{type:ControlType.String,title:\"Light Section IDs\",defaultValue:\"\",placeholder:\"hero, pricing, footer\",description:\"Comma-separated IDs. Button inverts when overlapping any of these.\"},darkSectionIds:{type:ControlType.String,title:\"Dark Section IDs\",defaultValue:\"\",placeholder:\"video, testimonials\",description:\"Comma-separated IDs. Override — when any of these are overlapping, button stays in default theme.\"},themeOffset:{type:ControlType.Number,title:\"Theme Offset\",defaultValue:0,min:-400,max:400,step:1,unit:\"px\",description:\"Y offset of the detection line, relative to the button's top. Positive = lower (delays switch).\"},borderRadius:{type:ControlType.Number,title:\"Radius\",defaultValue:0,min:0,max:200,step:1,unit:\"px\"},paddingX:{type:ControlType.Number,title:\"Padding X\",defaultValue:16,min:0,max:80,step:1,unit:\"px\"},paddingY:{type:ControlType.Number,title:\"Padding Y\",defaultValue:13,min:0,max:80,step:1,unit:\"px\"},sampleStep:{type:ControlType.Number,title:\"Density\",defaultValue:1,min:.25,max:8,step:.25,description:\"Grid spacing in px. Lower = denser, heavier. <1 places multiple particles per pixel.\"},particleSize:{type:ControlType.Number,title:\"Particle Size\",defaultValue:1.5,min:.5,max:8,step:.1,unit:\"px\"},jitter:{type:ControlType.Number,title:\"Jitter\",defaultValue:4,min:0,max:6,step:.1,unit:\"px\",description:\"Random offset on home positions.\"},idleNoise:{type:ControlType.Number,title:\"Idle Drift\",defaultValue:.5,min:0,max:4,step:.05,unit:\"px\"},hoverDispersion:{type:ControlType.Number,title:\"Hover Dispersion\",defaultValue:22,min:0,max:80,step:1,unit:\"px\"},hoverSpeed:{type:ControlType.Number,title:\"Hover Ramp\",defaultValue:.08,min:.01,max:.5,step:.01},bgFloor:{type:ControlType.Number,title:\"Bg Floor\",defaultValue:0,min:0,max:1,step:.05,description:\"Residual fill behind text on hover. 0 = full dissolve.\"},textHaloSize:{type:ControlType.Number,title:\"Text Halo\",defaultValue:8,min:0,max:40,step:1,unit:\"px\",description:\"Soft glow around text matching particle color. Invisible at rest, reveals on hover.\"},fadeWithDistance:{type:ControlType.Boolean,title:\"Fade Edges\",defaultValue:true,description:\"Particles fade as they drift from home.\"},buttonHeight:{type:ControlType.Number,title:\"Button Height\",defaultValue:42,min:24,max:200,step:1,unit:\"px\"},slideDuration:{type:ControlType.Number,title:\"Slide Duration\",defaultValue:.5,min:0,max:2,step:.05,unit:\"s\",description:\"How long the alt theme takes to slide in from below on theme switch.\"},labelText:{type:ControlType.String,title:\"Label\",defaultValue:\"Reserve by June 01, 2026\",displayTextArea:false,description:\"Text shown above the button. Leave empty to hide.\"},labelFont:{type:ControlType.Font,title:\"Label Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontFamily:\"PP Neue Montreal\",fontWeight:400,fontSize:\"12px\",letterSpacing:\"0.24px\",lineHeight:\"1.4em\"},displayTextAlignment:false},labelColor:{type:ControlType.Color,title:\"Label Color\",defaultValue:\"rgba(255, 255, 255, 0.5)\"},labelAltColor:{type:ControlType.Color,title:\"Alt Label\",defaultValue:\"rgba(0, 0, 0, 0.5)\",description:\"Label color when overlapping a light section.\"},labelGap:{type:ControlType.Number,title:\"Label Gap\",defaultValue:16,min:0,max:80,step:1,unit:\"px\"},mobileMode:{type:ControlType.Boolean,title:\"Mobile Mode\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\",description:\"Disables the particle canvas and hover effects. Use the mobile breakpoint variant of this component.\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ParticleHoverButton\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicHeight\":\"84\",\"framerDisableUnlink\":\"* @framerIntrinsicWidth 240\",\"framerSupportedLayoutHeight\":\"auto\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Particlehoverbutton.map","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useEffect,useRef}from\"react\";import{addPropertyControls,ControlType}from\"framer\";const VERT=`\nattribute vec2 a_home;\nattribute float a_phase;\nattribute float a_alpha;\nattribute float a_sizeVar;\nattribute vec2 a_drift;\n\nuniform vec2 u_resolution;\nuniform vec2 u_rect;\nuniform vec2 u_pad;\nuniform float u_time;\nuniform float u_hover;\nuniform float u_idle;\nuniform float u_disp;\nuniform float u_size;\nuniform float u_dpr;\nuniform float u_feather;\n\nvarying float v_distFromHome;\nvarying float v_alpha;\nvarying float v_edge;\n\nfloat hash(vec2 p) {\n    return fract(sin(dot(p, vec2(127.1, 311.7))) * 43758.5453);\n}\nfloat vnoise(vec2 p) {\n    vec2 i = floor(p);\n    vec2 f = fract(p);\n    float a = hash(i);\n    float b = hash(i + vec2(1.0, 0.0));\n    float c = hash(i + vec2(0.0, 1.0));\n    float d = hash(i + vec2(1.0, 1.0));\n    vec2 u = f * f * (3.0 - 2.0 * f);\n    return mix(a, b, u.x) + (c - a) * u.y * (1.0 - u.x) + (d - b) * u.x * u.y;\n}\n\nvoid main() {\n    float pSpeed = 0.5 + a_phase * 0.12;\n    float t = u_time * pSpeed + a_phase * 4.0;\n\n    vec2 sampleP = a_home * 0.04 + vec2(t * 0.3, t * 0.25);\n    float n1 = vnoise(sampleP) - 0.5;\n    float n2 = vnoise(sampleP + vec2(17.3, 9.1)) - 0.5;\n\n    vec2 dir = normalize(a_drift + vec2(n1, n2) * 1.2);\n    float radius = u_idle + u_hover * u_disp * (0.6 + a_phase * 0.18);\n    vec2 pos = a_home + dir * radius * (0.5 + length(vec2(n1, n2)) * 1.4);\n\n    v_distFromHome = length(pos - a_home);\n    v_alpha = a_alpha;\n\n    vec2 local = a_home - u_pad;\n    vec2 edgeDist = min(local, u_rect - local);\n    float minEdge = min(edgeDist.x, edgeDist.y);\n    v_edge = smoothstep(0.0, max(u_feather, 0.001), minEdge);\n\n    vec2 zeroToOne = pos / u_resolution;\n    vec2 zeroToTwo = zeroToOne * 2.0;\n    vec2 clip = zeroToTwo - 1.0;\n    clip.y *= -1.0;\n\n    gl_Position = vec4(clip, 0.0, 1.0);\n    gl_PointSize = u_size * a_sizeVar * u_dpr;\n}\n`;const FRAG=`\nprecision highp float;\n\nuniform vec4 u_color;\nuniform float u_disp;\nuniform float u_fade;\nuniform float u_hover;\n\nvarying float v_distFromHome;\nvarying float v_alpha;\nvarying float v_edge;\n\nvoid main() {\n    vec2 c = gl_PointCoord - vec2(0.5);\n    float d = length(c);\n    if (d > 0.5) discard;\n    float aa = smoothstep(0.5, 0.2, d);\n\n    float alpha = v_alpha * aa * u_color.a * u_hover * v_edge;\n    if (u_fade > 0.5) {\n        float falloff = 1.0 - clamp(v_distFromHome / max(u_disp, 1.0), 0.0, 1.0);\n        alpha *= 0.35 + 0.65 * falloff;\n    }\n    gl_FragColor = vec4(u_color.rgb * alpha, alpha);\n}\n`;function compileShader(gl,type,src){const sh=gl.createShader(type);if(!sh)return null;gl.shaderSource(sh,src);gl.compileShader(sh);if(!gl.getShaderParameter(sh,gl.COMPILE_STATUS)){const log=gl.getShaderInfoLog(sh);console.warn(\"[ParticleHoverButtonBlack] shader compile failed:\",log);gl.deleteShader(sh);return null;}return sh;}function createProgram(gl,vs,fs){const v=compileShader(gl,gl.VERTEX_SHADER,vs);const f=compileShader(gl,gl.FRAGMENT_SHADER,fs);if(!v||!f)return null;const p=gl.createProgram();if(!p)return null;gl.attachShader(p,v);gl.attachShader(p,f);gl.linkProgram(p);if(!gl.getProgramParameter(p,gl.LINK_STATUS)){const log=gl.getProgramInfoLog(p);console.warn(\"[ParticleHoverButtonBlack] program link failed:\",log);gl.deleteProgram(p);return null;}return p;}function parseColor(s){if(typeof document===\"undefined\")return[0,0,0,1];const tmp=document.createElement(\"canvas\");tmp.width=1;tmp.height=1;const ctx=tmp.getContext(\"2d\");if(!ctx)return[0,0,0,1];ctx.fillStyle=\"rgba(0,0,0,0)\";ctx.clearRect(0,0,1,1);ctx.fillStyle=s;ctx.fillRect(0,0,1,1);const d=ctx.getImageData(0,0,1,1).data;return[d[0]/255,d[1]/255,d[2]/255,d[3]/255];}/**\n * ParticleHoverButtonBlack\n *\n * Simplified single-theme variant of ParticleHoverButton. Renders text + an\n * optional arrow over a solid plate that disperses into colored particles on\n * hover. No theme-switching (light/dark section detection), alt colors, label,\n * or slide animation — just one color set.\n *\n * @framerDisableUnlink\n * @framerIntrinsicWidth 240\n * @framerIntrinsicHeight 84\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export default function ParticleHoverButtonBlack(props){const{text,showArrow,arrowChar,customArrow,arrowSize,font,textColor,particleColor,backgroundColor,borderRadius,paddingX,paddingY,sampleStep,particleSize,jitter,idleNoise,hoverDispersion,hoverSpeed,bgFloor,textHaloSize,fadeWithDistance,buttonHeight,mobileMode=false,style}=props;const containerRef=useRef(null);const canvasRef=useRef(null);const solidBgRef=useRef(null);const glStateRef=useRef(null);const sizeRef=useRef({w:0,h:0,pad:0,dpr:1});const hoverRef=useRef(0);const targetHoverRef=useRef(0);const rafRef=useRef(null);const startTimeRef=useRef(0);const visibleRef=useRef(true);const reduceMotionRef=useRef(false);const colorRef=useRef([0,0,0,1]);const resampleTimerRef=useRef(null);const computePad=()=>Math.max(8,Math.ceil(hoverDispersion*2+idleNoise+4));const buildVertexData=(w,h,pad)=>{const step=Math.max(.25,sampleStep);const cols=Math.max(1,Math.floor(w/step));const rows=Math.max(1,Math.floor(h/step));const total=cols*rows;const dropChance=.3;const stride=7;const scratch=new Float32Array(total*stride);let i=0;const xStart=(w-cols*step)/2+step/2;const yStart=(h-rows*step)/2+step/2;for(let ry=0;ry<rows;ry++){for(let cx=0;cx<cols;cx++){if(Math.random()<dropChance)continue;const jx=(Math.random()-.5)*jitter;const jy=(Math.random()-.5)*jitter;scratch[i++]=pad+xStart+cx*step+jx;scratch[i++]=pad+yStart+ry*step+jy;scratch[i++]=Math.random()*Math.PI*2;scratch[i++]=.3+Math.random()*.7;const r=Math.random();scratch[i++]=.4+r*r*1.6;const ang=Math.random()*Math.PI*2;const mag=.3+Math.random()*.9;scratch[i++]=Math.cos(ang)*mag;scratch[i++]=Math.sin(ang)*mag;}}return scratch.slice(0,i);};const initGL=()=>{if(mobileMode)return false;const canvas=canvasRef.current;if(!canvas)return false;let gl=null;try{gl=canvas.getContext(\"webgl\",{alpha:true,premultipliedAlpha:true})||canvas.getContext(\"experimental-webgl\",{alpha:true,premultipliedAlpha:true})||canvas.getContext(\"webgl\");}catch{return false;}if(!gl)return false;const program=createProgram(gl,VERT,FRAG);if(!program)return false;const buffer=gl.createBuffer();if(!buffer)return false;gl.useProgram(program);gl.enable(gl.BLEND);gl.blendFunc(gl.ONE,gl.ONE_MINUS_SRC_ALPHA);glStateRef.current={gl,program,buffer,locs:{a_home:gl.getAttribLocation(program,\"a_home\"),a_phase:gl.getAttribLocation(program,\"a_phase\"),a_alpha:gl.getAttribLocation(program,\"a_alpha\"),a_sizeVar:gl.getAttribLocation(program,\"a_sizeVar\"),a_drift:gl.getAttribLocation(program,\"a_drift\"),u_resolution:gl.getUniformLocation(program,\"u_resolution\"),u_rect:gl.getUniformLocation(program,\"u_rect\"),u_pad:gl.getUniformLocation(program,\"u_pad\"),u_time:gl.getUniformLocation(program,\"u_time\"),u_hover:gl.getUniformLocation(program,\"u_hover\"),u_idle:gl.getUniformLocation(program,\"u_idle\"),u_disp:gl.getUniformLocation(program,\"u_disp\"),u_size:gl.getUniformLocation(program,\"u_size\"),u_dpr:gl.getUniformLocation(program,\"u_dpr\"),u_color:gl.getUniformLocation(program,\"u_color\"),u_fade:gl.getUniformLocation(program,\"u_fade\"),u_feather:gl.getUniformLocation(program,\"u_feather\")},count:0};return true;};const uploadParticles=data=>{const state=glStateRef.current;if(!state)return;const{gl,buffer,locs}=state;gl.bindBuffer(gl.ARRAY_BUFFER,buffer);gl.bufferData(gl.ARRAY_BUFFER,data,gl.STATIC_DRAW);const stride=7*4;if(locs.a_home>=0){gl.enableVertexAttribArray(locs.a_home);gl.vertexAttribPointer(locs.a_home,2,gl.FLOAT,false,stride,0);}if(locs.a_phase>=0){gl.enableVertexAttribArray(locs.a_phase);gl.vertexAttribPointer(locs.a_phase,1,gl.FLOAT,false,stride,8);}if(locs.a_alpha>=0){gl.enableVertexAttribArray(locs.a_alpha);gl.vertexAttribPointer(locs.a_alpha,1,gl.FLOAT,false,stride,12);}if(locs.a_sizeVar>=0){gl.enableVertexAttribArray(locs.a_sizeVar);gl.vertexAttribPointer(locs.a_sizeVar,1,gl.FLOAT,false,stride,16);}if(locs.a_drift>=0){gl.enableVertexAttribArray(locs.a_drift);gl.vertexAttribPointer(locs.a_drift,2,gl.FLOAT,false,stride,20);}state.count=data.length/7;};const setupCanvas=()=>{const container=containerRef.current;const canvas=canvasRef.current;if(!container||!canvas)return;const rect=container.getBoundingClientRect();const w=rect.width;const h=rect.height;if(w<=0||h<=0)return;const pad=computePad();const dpr=Math.min(window.devicePixelRatio||1,2);sizeRef.current={w,h,pad,dpr};const cw=w+pad*2;const ch=h+pad*2;canvas.width=Math.max(1,Math.floor(cw*dpr));canvas.height=Math.max(1,Math.floor(ch*dpr));canvas.style.width=`${cw}px`;canvas.style.height=`${ch}px`;canvas.style.left=`${-pad}px`;canvas.style.top=`${-pad}px`;const state=glStateRef.current;if(!state)return;state.gl.viewport(0,0,canvas.width,canvas.height);const data=buildVertexData(w,h,pad);uploadParticles(data);};const draw=now=>{const state=glStateRef.current;if(!state)return;const{gl,locs,count}=state;const{w,h,pad,dpr}=sizeRef.current;const cw=w+pad*2;const ch=h+pad*2;hoverRef.current+=(targetHoverRef.current-hoverRef.current)*hoverSpeed;const hi=hoverRef.current;if(solidBgRef.current){const floor=Math.max(0,Math.min(1,bgFloor));const opacity=1-hi*(1-floor);solidBgRef.current.style.opacity=String(Math.max(0,Math.min(1,opacity)));}const reduce=reduceMotionRef.current;const idleAmp=reduce?0:idleNoise;const hoverAmp=reduce?0:hoverDispersion;gl.clearColor(0,0,0,0);gl.clear(gl.COLOR_BUFFER_BIT);if(count===0)return;const t=(now-startTimeRef.current)*.001;if(locs.u_resolution)gl.uniform2f(locs.u_resolution,cw,ch);if(locs.u_rect)gl.uniform2f(locs.u_rect,w,h);if(locs.u_pad)gl.uniform2f(locs.u_pad,pad,pad);if(locs.u_feather)gl.uniform1f(locs.u_feather,Math.min(w,h)*.18);if(locs.u_time)gl.uniform1f(locs.u_time,t);if(locs.u_hover)gl.uniform1f(locs.u_hover,hi);if(locs.u_idle)gl.uniform1f(locs.u_idle,idleAmp);if(locs.u_disp)gl.uniform1f(locs.u_disp,hoverAmp);if(locs.u_size)gl.uniform1f(locs.u_size,particleSize);if(locs.u_dpr)gl.uniform1f(locs.u_dpr,dpr);if(locs.u_color){const c=colorRef.current;gl.uniform4f(locs.u_color,c[0],c[1],c[2],c[3]);}if(locs.u_fade)gl.uniform1f(locs.u_fade,fadeWithDistance?1:0);gl.drawArrays(gl.POINTS,0,count);};const tick=now=>{if(!visibleRef.current){rafRef.current=null;return;}draw(now);rafRef.current=requestAnimationFrame(tick);};const startLoop=()=>{if(rafRef.current!=null)return;if(startTimeRef.current===0)startTimeRef.current=performance.now();rafRef.current=requestAnimationFrame(tick);};const stopLoop=()=>{if(rafRef.current!=null){cancelAnimationFrame(rafRef.current);rafRef.current=null;}};useEffect(()=>{const container=containerRef.current;if(!container)return;const mql=window.matchMedia(\"(prefers-reduced-motion: reduce)\");reduceMotionRef.current=mql.matches;const onMqlChange=()=>{reduceMotionRef.current=mql.matches;};mql.addEventListener?.(\"change\",onMqlChange);const ok=initGL();if(!ok){return()=>{mql.removeEventListener?.(\"change\",onMqlChange);};}colorRef.current=parseColor(particleColor);setupCanvas();startLoop();const ro=new ResizeObserver(()=>{if(resampleTimerRef.current!=null){window.clearTimeout(resampleTimerRef.current);}resampleTimerRef.current=window.setTimeout(setupCanvas,120);});ro.observe(container);const io=new IntersectionObserver(entries=>{for(const entry of entries){visibleRef.current=entry.isIntersecting;if(entry.isIntersecting)startLoop();}},{threshold:0});io.observe(container);return()=>{stopLoop();ro.disconnect();io.disconnect();mql.removeEventListener?.(\"change\",onMqlChange);if(resampleTimerRef.current!=null){window.clearTimeout(resampleTimerRef.current);}const state=glStateRef.current;if(state){const{gl,program,buffer}=state;gl.deleteBuffer(buffer);gl.deleteProgram(program);glStateRef.current=null;}};// eslint-disable-next-line react-hooks/exhaustive-deps\n},[]);useEffect(()=>{if(!glStateRef.current)return;setupCanvas();// eslint-disable-next-line react-hooks/exhaustive-deps\n},[sampleStep,jitter,hoverDispersion,idleNoise]);useEffect(()=>{colorRef.current=parseColor(particleColor);},[particleColor]);const isTouchEvent=e=>!!e&&e.pointerType===\"touch\";const handleEnter=e=>{if(mobileMode)return;// Skip the hover animation on touch — pointerEnter/Leave both fire\n// around a single tap, producing a flicker and competing with the\n// click on iOS Safari.\nif(isTouchEvent(e))return;targetHoverRef.current=1;startLoop();};const handleLeave=e=>{if(mobileMode)return;if(isTouchEvent(e))return;targetHoverRef.current=0;};const containerStyle={position:\"relative\",display:\"block\",width:\"100%\",height:buttonHeight,flexShrink:0,background:backgroundColor,borderRadius,cursor:\"inherit\",overflow:\"visible\",WebkitTapHighlightColor:\"transparent\",// Drop iOS tap delay and improve click reliability on touch.\ntouchAction:\"manipulation\",boxSizing:\"border-box\",pointerEvents:\"auto\",textDecoration:\"none\",...style};const canvasStyle={position:\"absolute\",pointerEvents:\"none\",display:\"block\",zIndex:0};const plateStyle={position:\"absolute\",inset:0,background:particleColor,borderRadius,pointerEvents:\"none\",zIndex:0};const contentStyle={position:\"absolute\",inset:0,display:\"flex\",alignItems:\"center\",justifyContent:showArrow?\"space-between\":\"center\",paddingLeft:paddingX,paddingRight:paddingX,paddingTop:paddingY,paddingBottom:paddingY,boxSizing:\"border-box\",zIndex:1,pointerEvents:\"none\"};const textStyle={display:\"inline-flex\",alignItems:\"center\",color:textColor,...font,textDecoration:\"none\",textShadow:textHaloSize>0?`0 0 ${textHaloSize*.5}px ${particleColor}, 0 0 ${textHaloSize}px ${particleColor}, 0 0 ${textHaloSize*1.5}px ${particleColor}`:undefined};const arrowImgStyle={width:arrowSize,height:arrowSize,objectFit:\"contain\",display:\"block\",filter:textHaloSize>0?`drop-shadow(0 0 ${textHaloSize*.5}px ${particleColor}) drop-shadow(0 0 ${textHaloSize}px ${particleColor})`:undefined};const inner=/*#__PURE__*/_jsxs(_Fragment,{children:[!mobileMode&&/*#__PURE__*/_jsx(\"canvas\",{ref:canvasRef,style:canvasStyle,\"aria-hidden\":true}),/*#__PURE__*/_jsx(\"div\",{ref:solidBgRef,style:plateStyle,\"aria-hidden\":true}),/*#__PURE__*/_jsxs(\"div\",{style:contentStyle,children:[/*#__PURE__*/_jsx(\"span\",{style:textStyle,children:text}),showArrow&&(customArrow?/*#__PURE__*/_jsx(\"img\",{src:customArrow,alt:\"\",style:arrowImgStyle}):/*#__PURE__*/_jsx(\"span\",{style:textStyle,children:arrowChar}))]})]});// Pure visual — no anchor, click handler, or keyboard role. Wrap this\n// component in a Framer frame and attach the link there.\nreturn /*#__PURE__*/_jsx(\"div\",{ref:containerRef,onPointerEnter:handleEnter,onPointerLeave:handleLeave,style:containerStyle,\"aria-hidden\":false,children:inner});}ParticleHoverButtonBlack.defaultProps={text:\"Reserve Now\",showArrow:false,arrowChar:\"↓\",customArrow:\"\",arrowSize:16,font:{fontFamily:\"PP Neue Montreal\",fontWeight:500,fontSize:\"15px\",letterSpacing:\"0em\",lineHeight:\"1em\"},textColor:\"#FFFFFF\",particleColor:\"#1A1A1A\",backgroundColor:\"rgba(0,0,0,0)\",borderRadius:0,paddingX:16,paddingY:13,sampleStep:1,particleSize:1.5,jitter:4,idleNoise:.5,hoverDispersion:22,hoverSpeed:.08,bgFloor:0,textHaloSize:8,fadeWithDistance:true,buttonHeight:42,mobileMode:false};addPropertyControls(ParticleHoverButtonBlack,{text:{type:ControlType.String,title:\"Text\",defaultValue:\"Reserve Now\"},showArrow:{type:ControlType.Boolean,title:\"Arrow\",defaultValue:false},arrowChar:{type:ControlType.String,title:\"Arrow Char\",defaultValue:\"↓\",hidden:p=>!p.showArrow||!!p.customArrow,description:\"Used when no custom image is uploaded.\"},customArrow:{type:ControlType.Image,title:\"Arrow Image\",hidden:p=>!p.showArrow,description:\"Optional. Overrides the unicode arrow.\"},arrowSize:{type:ControlType.Number,title:\"Arrow Size\",defaultValue:16,min:4,max:80,step:1,unit:\"px\",hidden:p=>!p.showArrow||!p.customArrow},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontFamily:\"PP Neue Montreal\",fontWeight:500,fontSize:\"15px\",letterSpacing:\"0em\",lineHeight:\"1em\"},displayTextAlignment:false},textColor:{type:ControlType.Color,title:\"Text\",defaultValue:\"#FFFFFF\"},particleColor:{type:ControlType.Color,title:\"Dust\",defaultValue:\"#1A1A1A\",description:\"Plate + particle color.\"},backgroundColor:{type:ControlType.Color,title:\"Base BG\",defaultValue:\"rgba(0,0,0,0)\",description:\"Solid layer behind particles. Usually transparent.\"},borderRadius:{type:ControlType.Number,title:\"Radius\",defaultValue:0,min:0,max:200,step:1,unit:\"px\"},paddingX:{type:ControlType.Number,title:\"Padding X\",defaultValue:16,min:0,max:80,step:1,unit:\"px\"},paddingY:{type:ControlType.Number,title:\"Padding Y\",defaultValue:13,min:0,max:80,step:1,unit:\"px\"},sampleStep:{type:ControlType.Number,title:\"Density\",defaultValue:1,min:.25,max:8,step:.25,description:\"Grid spacing in px. Lower = denser, heavier. <1 places multiple particles per pixel.\"},particleSize:{type:ControlType.Number,title:\"Particle Size\",defaultValue:1.5,min:.5,max:8,step:.1,unit:\"px\"},jitter:{type:ControlType.Number,title:\"Jitter\",defaultValue:4,min:0,max:6,step:.1,unit:\"px\",description:\"Random offset on home positions.\"},idleNoise:{type:ControlType.Number,title:\"Idle Drift\",defaultValue:.5,min:0,max:4,step:.05,unit:\"px\"},hoverDispersion:{type:ControlType.Number,title:\"Hover Dispersion\",defaultValue:22,min:0,max:80,step:1,unit:\"px\"},hoverSpeed:{type:ControlType.Number,title:\"Hover Ramp\",defaultValue:.08,min:.01,max:.5,step:.01},bgFloor:{type:ControlType.Number,title:\"Bg Floor\",defaultValue:0,min:0,max:1,step:.05,description:\"Residual fill behind text on hover. 0 = full dissolve.\"},textHaloSize:{type:ControlType.Number,title:\"Text Halo\",defaultValue:8,min:0,max:40,step:1,unit:\"px\",description:\"Soft glow around text matching particle color. Invisible at rest, reveals on hover.\"},fadeWithDistance:{type:ControlType.Boolean,title:\"Fade Edges\",defaultValue:true,description:\"Particles fade as they drift from home.\"},buttonHeight:{type:ControlType.Number,title:\"Button Height\",defaultValue:42,min:24,max:200,step:1,unit:\"px\"},mobileMode:{type:ControlType.Boolean,title:\"Mobile Mode\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\",description:\"Disables the particle canvas and hover effects. Use the mobile breakpoint variant of this component.\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ParticleHoverButtonBlack\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"auto\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"84\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerDisableUnlink\":\"* @framerIntrinsicWidth 240\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Particlehoverbuttonblack.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";/**\n * @framerIntrinsicWidth 200\n * @framerIntrinsicHeight 24\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function PersonName(props){const{firstName,lastName,salutation,font,color,style}=props;const fullName=[salutation,firstName,lastName].map(part=>(part??\"\").trim()).filter(Boolean).join(\" \");const isFillWidth=style?.width===\"100%\";return /*#__PURE__*/_jsx(\"div\",{style:{width:isFillWidth?\"100%\":\"max-content\",height:style?.height===\"100%\"?\"100%\":\"auto\",color,...font,...style,display:\"block\"},children:fullName});}addPropertyControls(PersonName,{firstName:{type:ControlType.String,title:\"First Name\",defaultValue:\"Jane\",placeholder:\"First name\"},lastName:{type:ControlType.String,title:\"Last Name\",defaultValue:\"Doe\",placeholder:\"Last name\"},salutation:{type:ControlType.String,title:\"Salutation\",defaultValue:\"\",placeholder:\"Dr., Mr., Ms., …\"},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"16px\",variant:\"Medium\",letterSpacing:\"-0.01em\",lineHeight:\"1.2em\",textAlign:\"left\"}},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#000000\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"PersonName\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"200\",\"framerIntrinsicHeight\":\"24\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Personname.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useLayoutEffect}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{motion,useMotionValue,useSpring,useTransform,useMotionTemplate}from\"framer-motion\";const DESIGN_REFERENCE_WIDTH=1440;const useIsomorphicLayoutEffect=typeof window!==\"undefined\"?useLayoutEffect:useEffect;/**\n * SectionFixedTitle\n *\n * Static title that scales with browser width (vw against a 1440px\n * reference). Optionally fades + blurs out on scroll using the same\n * trigger model as ImageToOval — set the same Trigger ID on both so\n * the title exits in unison with the image-to-oval shrink.\n *\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */export default function SectionFixedTitle(props){const{text,font,fontSizePx,color,lineHeight,letterSpacing,italic,triggerId,startViewportPercent,endViewportPercent,exitStart,exitEnd,mobileMode,mobileMinOpacity}=props;const isCanvas=RenderTarget.current()===RenderTarget.canvas;const fontSize=isCanvas||mobileMode?`${fontSizePx}px`:`${fontSizePx/DESIGN_REFERENCE_WIDTH*100}vw`;const trackingEm=letterSpacing/fontSizePx;// Exit progress: 0 = fully visible, 1 = fully hidden. Spring-smoothed\n// to match the TextBlurReveal vibe used elsewhere.\nconst exitRaw=useMotionValue(0);const exitProgress=useSpring(exitRaw,{stiffness:120,damping:30,mass:.4});const exitOpacity=useTransform(exitProgress,[0,1],[1,mobileMode?mobileMinOpacity:0]);const exitBlur=useTransform(exitProgress,[0,1],[0,mobileMode?0:20]);const exitY=useTransform(exitProgress,[0,1],[0,mobileMode?0:-40]);const exitScale=useTransform(exitProgress,[0,1],[1,mobileMode?1:.96]);const exitFilter=useMotionTemplate`blur(${exitBlur}px)`;useIsomorphicLayoutEffect(()=>{if(typeof window===\"undefined\")return;if(isCanvas)return;if(!triggerId)return;let triggerEl=null;const resolveTrigger=()=>triggerId?document.getElementById(triggerId):null;let rafId;const tick=()=>{if(!triggerEl||!triggerEl.isConnected){triggerEl=resolveTrigger();}if(!triggerEl){rafId=requestAnimationFrame(tick);return;}const triggerTop=triggerEl.getBoundingClientRect().top;const H=window.innerHeight;const startY=startViewportPercent/100*H;const endY=endViewportPercent/100*H;const span=startY-endY||1e-4;const p=Math.min(Math.max((startY-triggerTop)/span,0),1);// Map the active scroll window to an exit window so the title\n// can be tuned to fade earlier or later than the shrink itself.\nconst range=Math.max(exitEnd-exitStart,1e-4);const exitP=Math.min(Math.max((p-exitStart)/range,0),1);exitRaw.set(exitP);rafId=requestAnimationFrame(tick);};rafId=requestAnimationFrame(tick);return()=>cancelAnimationFrame(rafId);},[isCanvas,triggerId,startViewportPercent,endViewportPercent,exitStart,exitEnd]);const sharedTextStyle={width:\"100%\",height:\"100%\",fontFamily:font?.fontFamily,fontWeight:font?.fontWeight,fontStyle:italic?\"italic\":\"normal\",fontSize,lineHeight,letterSpacing:`${trackingEm}em`,color,whiteSpace:\"pre-line\"};if(isCanvas||!triggerId){return /*#__PURE__*/_jsx(\"div\",{style:sharedTextStyle,children:text});}return /*#__PURE__*/_jsx(motion.div,{style:{...sharedTextStyle,opacity:exitOpacity,filter:exitFilter,y:exitY,scale:exitScale,willChange:\"filter, opacity, transform\"},children:text});}SectionFixedTitle.defaultProps={text:\"Dr. Apa & His Method\",font:{fontFamily:\"Cormorant Garamond\",fontWeight:400},fontSizePx:86,color:\"#F0EDEA\",lineHeight:.9,letterSpacing:-3.44,italic:false,triggerId:\"\",startViewportPercent:100,endViewportPercent:0,exitStart:0,exitEnd:.6,mobileMode:false,mobileMinOpacity:.1};addPropertyControls(SectionFixedTitle,{mobileMode:{type:ControlType.Boolean,title:\"Mobile Mode\",defaultValue:false,description:\"Use exact px font size (no vw scaling) and exit only via opacity fade. Turn on for the mobile breakpoint.\"},mobileMinOpacity:{type:ControlType.Number,title:\"Mobile Min Opacity\",defaultValue:.1,min:0,max:1,step:.05,description:\"Final opacity at full scroll progress.\",hidden:p=>!p.mobileMode},text:{type:ControlType.String,title:\"Text\",defaultValue:\"Dr. Apa & His Method\",displayTextArea:true},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",defaultFontType:\"serif\",defaultValue:{fontFamily:\"Cormorant Garamond\",fontWeight:400},displayFontSize:false,displayLineHeight:false,displayLetterSpacing:false,displayTextAlignment:false},fontSizePx:{type:ControlType.Number,title:\"Font Size\",defaultValue:86,min:8,max:400,step:1,unit:\"px\",description:\"Pixel size at 1440px design width. Scales via vw.\"},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#F0EDEA\"},lineHeight:{type:ControlType.Number,title:\"Line Height\",defaultValue:.9,min:.5,max:3,step:.05},letterSpacing:{type:ControlType.Number,title:\"Tracking\",defaultValue:-3.44,min:-20,max:20,step:.01,unit:\"px\",description:\"Pixel tracking at 1440px design. Converted to em.\"},italic:{type:ControlType.Boolean,title:\"Italic\",defaultValue:false},triggerId:{type:ControlType.String,title:\"Trigger ID\",defaultValue:\"\",placeholder:\"e.g. oval-trigger\",description:\"Set the same Trigger ID as ImageToOval so the title fades/blurs out in unison with the shrink. Leave empty for a static title.\"},startViewportPercent:{type:ControlType.Number,title:\"Start Y%\",defaultValue:100,min:0,max:100,step:1,description:\"Viewport position of the trigger when the exit begins. Match ImageToOval.\",hidden:p=>!p.triggerId},endViewportPercent:{type:ControlType.Number,title:\"End Y%\",defaultValue:0,min:0,max:100,step:1,description:\"Viewport position of the trigger when the exit completes. Match ImageToOval.\",hidden:p=>!p.triggerId},exitStart:{type:ControlType.Number,title:\"Exit Start\",defaultValue:0,min:0,max:1,step:.05,description:\"Shrink progress at which the title begins to fade (0 = with shrink start, 1 = at shrink end).\",hidden:p=>!p.triggerId},exitEnd:{type:ControlType.Number,title:\"Exit End\",defaultValue:.6,min:0,max:1,step:.05,description:\"Shrink progress at which the title is fully gone. Default 0.6 = title clears before the oval finishes.\",hidden:p=>!p.triggerId}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"SectionFixedTitle\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any\",\"framerSupportedLayoutHeight\":\"any\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Sectionfixedtitle.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import React,{useEffect,useRef}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{motion,useScroll,useSpring,useTransform,useMotionTemplate,useMotionValue}from\"framer-motion\";const DESIGN_REFERENCE_WIDTH=1440;const escapeRegex=s=>s.replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");function renderItalicized(text,italicWords){const list=italicWords.split(\",\").map(w=>w.trim()).filter(Boolean);if(list.length===0)return text;const pattern=new RegExp(`\\\\b(${list.map(escapeRegex).join(\"|\")})\\\\b`,\"g\");const parts=text.split(pattern);const matches=new Set(list);return parts.map((part,i)=>matches.has(part)?/*#__PURE__*/_jsx(\"em\",{children:part},i):/*#__PURE__*/_jsx(React.Fragment,{children:part},i));}function ExitLine({text,align,font,color,italic,direction,progress,entranceEnd,exitStart,exitEnd,exitDistance,blurAmount,staggerOffset,italicWords,isCanvas}){// Shift this line's whole timeline forward by staggerOffset so lines\n// animate in/out in cascade rather than perfectly together.\nconst e0=Math.max(0,0+staggerOffset);const e1=Math.min(1,entranceEnd+staggerOffset);const x1=Math.min(1,exitStart+staggerOffset);const x2=Math.min(1,exitEnd+staggerOffset);// Mid-points for a \"camera focus pull\" blur curve — fast at the\n// extremes, gradual near focus. Mirrors TextBlurReveal's blur shape.\nconst eBlurMid=e0+(e1-e0)*.375;const xBlurMid=x1+(x2-x1)*.667;const x=useTransform(progress,[e0,e1,x1,x2],[direction*exitDistance,0,0,direction*exitDistance],{clamp:true});const opacity=useTransform(progress,[e0,e1,x1,x2],[0,1,1,0],{clamp:true});const blur=useTransform(progress,[e0,eBlurMid,e1,x1,xBlurMid,x2],[blurAmount,blurAmount*.4,0,0,blurAmount*.4,blurAmount],{clamp:true});const filter=useMotionTemplate`blur(${blur}px)`;return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",textAlign:align,whiteSpace:\"nowrap\",fontFamily:font?.fontFamily,fontWeight:font?.fontWeight,fontStyle:italic?\"italic\":\"normal\",color},children:/*#__PURE__*/_jsx(motion.span,{style:{display:\"inline-block\",x:isCanvas?0:x,opacity:isCanvas?1:opacity,filter:isCanvas?\"none\":filter,willChange:\"transform, opacity, filter\"},children:renderItalicized(text,italicWords)})});}/**\n * TextBlurExitLines\n *\n * Hero block with an icon, three offset text lines, and a caption.\n * Lines are visible as the section enters; once the section passes the\n * viewport center, line 1 slides right, line 2 slides left, line 3\n * slides right — each blurs and fades. The caption fades only.\n *\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */export default function TextBlurExitLines(props){const{icon,iconSizePx,line1,line1Align,line1Font,line1Color,line1Italic,line2,line2Align,line2Font,line2Color,line2Italic,line3,line3Align,line3Font,line3Color,line3Italic,fontSizePx,italicWords,lineHeight,letterSpacing,caption,captionFont,captionFontSizePx,captionColor,captionMaxWidthPx,contentWidthPx,iconGap,lineGap,captionGap,entranceEnd,exitStart,exitEnd,exitDistancePx,blurAmount,smoothing,lineStagger,mouseParallaxStrength,mobileMode}=props;const ref=useRef(null);const isCanvas=RenderTarget.current()===RenderTarget.canvas;const{scrollYProgress}=useScroll({target:ref,offset:[\"start end\",\"end start\"]});// Spring tuning. Centered on TextBlurReveal's values (120/30/0.4) which\n// already feel smooth at any scroll speed; smoothing slider just nudges\n// around that anchor instead of swinging dramatically.\nconst stiffness=200-smoothing*140;const damping=26+smoothing*8;const smoothProgress=useSpring(scrollYProgress,{stiffness,damping,mass:.4});const fadeOpacity=useTransform(smoothProgress,[0,entranceEnd,exitStart,exitEnd],[0,1,1,0],{clamp:true});const mouseX=useMotionValue(0);const mouseY=useMotionValue(0);const smoothMouseX=useSpring(mouseX,{stiffness:80,damping:20,mass:.6});const smoothMouseY=useSpring(mouseY,{stiffness:80,damping:20,mass:.6});useEffect(()=>{if(isCanvas||mouseParallaxStrength===0)return;const handleMouse=e=>{const nx=e.clientX/window.innerWidth*2-1;const ny=e.clientY/window.innerHeight*2-1;mouseX.set(nx*mouseParallaxStrength);mouseY.set(ny*mouseParallaxStrength);};window.addEventListener(\"mousemove\",handleMouse);return()=>window.removeEventListener(\"mousemove\",handleMouse);},[isCanvas,mouseParallaxStrength,mouseX,mouseY]);// Canvas and mobile mode keep raw px so sizes don't scale with viewport.\n// Runtime non-mobile converts px → vw at the 1440 design reference so\n// typography scales fluidly with the browser.\nconst toUnit=px=>isCanvas||mobileMode?`${px}px`:`${px/DESIGN_REFERENCE_WIDTH*100}vw`;const fontSize=toUnit(fontSizePx);const captionFontSize=toUnit(captionFontSizePx);const iconSize=toUnit(iconSizePx);const iconGapUnit=toUnit(iconGap);const lineGapUnit=toUnit(lineGap);const captionGapUnit=toUnit(captionGap);const exitDistance=isCanvas||mobileMode?exitDistancePx:exitDistancePx/DESIGN_REFERENCE_WIDTH*(typeof window!==\"undefined\"?window.innerWidth:DESIGN_REFERENCE_WIDTH);const captionMaxWidth=toUnit(captionMaxWidthPx);// Mobile mode: let the column fill its parent (typically a mobile\n// breakpoint variant in Framer constrains the width).\nconst contentWidth=mobileMode?\"100%\":toUnit(contentWidthPx);return /*#__PURE__*/_jsx(motion.div,{ref:ref,style:{width:\"100%\",height:\"100%\",display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"center\",fontSize,lineHeight,letterSpacing:`${letterSpacing}em`},children:/*#__PURE__*/_jsxs(motion.div,{style:{display:\"flex\",flexDirection:\"column\",alignItems:\"center\",width:contentWidth,maxWidth:\"100%\",x:isCanvas?0:smoothMouseX,y:isCanvas?0:smoothMouseY,willChange:\"transform\"},children:[icon?/*#__PURE__*/_jsx(motion.div,{style:{width:iconSize,height:iconSize,marginBottom:iconGapUnit,backgroundImage:`url(${icon})`,backgroundSize:\"contain\",backgroundRepeat:\"no-repeat\",backgroundPosition:\"center\",flexShrink:0,opacity:isCanvas?1:fadeOpacity,willChange:\"opacity\"}}):null,/*#__PURE__*/_jsx(ExitLine,{text:line1,align:line1Align,font:line1Font,color:line1Color,italic:line1Italic,direction:1,progress:smoothProgress,entranceEnd:entranceEnd,exitStart:exitStart,exitEnd:exitEnd,exitDistance:exitDistance,blurAmount:blurAmount,staggerOffset:0,italicWords:italicWords,isCanvas:isCanvas}),/*#__PURE__*/_jsx(\"div\",{style:{height:lineGapUnit}}),/*#__PURE__*/_jsx(ExitLine,{text:line2,align:line2Align,font:line2Font,color:line2Color,italic:line2Italic,direction:-1,progress:smoothProgress,entranceEnd:entranceEnd,exitStart:exitStart,exitEnd:exitEnd,exitDistance:exitDistance,blurAmount:blurAmount,staggerOffset:lineStagger,italicWords:italicWords,isCanvas:isCanvas}),/*#__PURE__*/_jsx(\"div\",{style:{height:lineGapUnit}}),/*#__PURE__*/_jsx(ExitLine,{text:line3,align:line3Align,font:line3Font,color:line3Color,italic:line3Italic,direction:1,progress:smoothProgress,entranceEnd:entranceEnd,exitStart:exitStart,exitEnd:exitEnd,exitDistance:exitDistance,blurAmount:blurAmount,staggerOffset:lineStagger*2,italicWords:italicWords,isCanvas:isCanvas}),caption?/*#__PURE__*/_jsx(motion.div,{style:{marginTop:captionGapUnit,maxWidth:captionMaxWidth,textAlign:\"left\",color:captionColor,fontFamily:captionFont?.fontFamily,fontWeight:captionFont?.fontWeight,fontSize:captionFontSize,lineHeight:1.4,opacity:isCanvas?1:fadeOpacity,willChange:\"opacity\"},children:caption}):null]})});}TextBlurExitLines.defaultProps={iconSizePx:32,line1:\"Two days.\",line1Align:\"center\",line1Font:{fontFamily:\"Cormorant Garamond\",fontWeight:400},line1Color:\"#FFFFFF\",line1Italic:true,line2:\"Two patients.\",line2Align:\"left\",line2Font:{fontFamily:\"Cormorant Garamond\",fontWeight:400},line2Color:\"#7A7A7A\",line2Italic:true,line3:\"One method.\",line3Align:\"right\",line3Font:{fontFamily:\"Cormorant Garamond\",fontWeight:400},line3Color:\"#7A7A7A\",line3Italic:true,fontSizePx:96,italicWords:\"\",lineHeight:1.05,letterSpacing:0,caption:\"* Pre-Event Office Tour — Only available to Experience Attendees\",captionFont:{fontFamily:\"Inter\",fontWeight:400},captionFontSizePx:14,captionColor:\"#A0A0A0\",captionMaxWidthPx:320,contentWidthPx:613,iconGap:32,lineGap:8,captionGap:40,entranceEnd:.35,exitStart:.65,exitEnd:.95,exitDistancePx:240,blurAmount:16,smoothing:.5,lineStagger:.04,mouseParallaxStrength:0,mobileMode:false};addPropertyControls(TextBlurExitLines,{icon:{type:ControlType.Image,title:\"Icon\"},iconSizePx:{type:ControlType.Number,title:\"Icon Size\",defaultValue:32,min:0,max:200,step:1,unit:\"px\",description:\"Pixel size at 1440 design width.\"},line1:{type:ControlType.String,title:\"Line 1\",defaultValue:\"Two days.\"},line1Align:{type:ControlType.Enum,title:\"L1 Align\",options:[\"left\",\"center\",\"right\"],optionTitles:[\"Left\",\"Center\",\"Right\"],defaultValue:\"center\"},line1Font:{type:ControlType.Font,title:\"L1 Font\",controls:\"extended\",defaultFontType:\"serif\",defaultValue:{fontFamily:\"Cormorant Garamond\",fontWeight:400},displayFontSize:false,displayLineHeight:false,displayLetterSpacing:false,displayTextAlignment:false},line1Color:{type:ControlType.Color,title:\"L1 Color\",defaultValue:\"#FFFFFF\"},line1Italic:{type:ControlType.Boolean,title:\"L1 Italic\",defaultValue:true},line2:{type:ControlType.String,title:\"Line 2\",defaultValue:\"Two patients.\"},line2Align:{type:ControlType.Enum,title:\"L2 Align\",options:[\"left\",\"center\",\"right\"],optionTitles:[\"Left\",\"Center\",\"Right\"],defaultValue:\"left\"},line2Font:{type:ControlType.Font,title:\"L2 Font\",controls:\"extended\",defaultFontType:\"serif\",defaultValue:{fontFamily:\"Cormorant Garamond\",fontWeight:400},displayFontSize:false,displayLineHeight:false,displayLetterSpacing:false,displayTextAlignment:false},line2Color:{type:ControlType.Color,title:\"L2 Color\",defaultValue:\"#7A7A7A\"},line2Italic:{type:ControlType.Boolean,title:\"L2 Italic\",defaultValue:true},line3:{type:ControlType.String,title:\"Line 3\",defaultValue:\"One method.\"},line3Align:{type:ControlType.Enum,title:\"L3 Align\",options:[\"left\",\"center\",\"right\"],optionTitles:[\"Left\",\"Center\",\"Right\"],defaultValue:\"right\"},line3Font:{type:ControlType.Font,title:\"L3 Font\",controls:\"extended\",defaultFontType:\"serif\",defaultValue:{fontFamily:\"Cormorant Garamond\",fontWeight:400},displayFontSize:false,displayLineHeight:false,displayLetterSpacing:false,displayTextAlignment:false},line3Color:{type:ControlType.Color,title:\"L3 Color\",defaultValue:\"#7A7A7A\"},line3Italic:{type:ControlType.Boolean,title:\"L3 Italic\",defaultValue:true},fontSizePx:{type:ControlType.Number,title:\"Line Size\",defaultValue:96,min:8,max:400,step:1,unit:\"px\",description:\"Shared size for all 3 lines (px @ 1440).\"},italicWords:{type:ControlType.String,title:\"Italic Words\",defaultValue:\"\",description:\"Comma-separated, whole-word match across all 3 lines.\"},lineHeight:{type:ControlType.Number,title:\"Line Height\",defaultValue:1.05,min:.5,max:3,step:.05},letterSpacing:{type:ControlType.Number,title:\"Letter Spacing\",defaultValue:0,min:-.1,max:1,step:.01,unit:\"em\"},caption:{type:ControlType.String,title:\"Caption\",defaultValue:\"* Pre-Event Office Tour — Only available to Experience Attendees\",displayTextArea:true},captionFont:{type:ControlType.Font,title:\"Caption Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontFamily:\"Inter\",fontWeight:400},displayFontSize:false,displayLineHeight:false,displayLetterSpacing:false,displayTextAlignment:false},captionFontSizePx:{type:ControlType.Number,title:\"Caption Size\",defaultValue:14,min:6,max:80,step:1,unit:\"px\"},captionColor:{type:ControlType.Color,title:\"Caption Color\",defaultValue:\"#A0A0A0\"},captionMaxWidthPx:{type:ControlType.Number,title:\"Caption Width\",defaultValue:320,min:80,max:1200,step:4,unit:\"px\"},contentWidthPx:{type:ControlType.Number,title:\"Content Width\",defaultValue:613,min:200,max:1440,step:1,unit:\"px\",description:\"Width of the inner column (px @ 1440). Per-row alignment staggers within this width.\"},iconGap:{type:ControlType.Number,title:\"Icon Gap\",defaultValue:32,min:0,max:400,step:1,unit:\"px\"},lineGap:{type:ControlType.Number,title:\"Line Gap\",defaultValue:8,min:-200,max:400,step:1,unit:\"px\",description:\"Vertical spacing between the three lines.\"},captionGap:{type:ControlType.Number,title:\"Caption Gap\",defaultValue:40,min:0,max:400,step:1,unit:\"px\"},entranceEnd:{type:ControlType.Number,title:\"Entrance End\",defaultValue:.35,min:0,max:1,step:.01,description:\"Scroll progress where entrance completes. 0 = section bottom of viewport.\"},exitStart:{type:ControlType.Number,title:\"Exit Start\",defaultValue:.65,min:0,max:1,step:.01,description:\"Scroll progress where exit begins. 0.5 = viewport center.\"},exitEnd:{type:ControlType.Number,title:\"Exit End\",defaultValue:.95,min:0,max:1,step:.01,description:\"Scroll progress where exit completes.\"},exitDistancePx:{type:ControlType.Number,title:\"Exit Distance\",defaultValue:240,min:0,max:1200,step:4,unit:\"px\",description:\"How far each line slides at full exit (1440 ref).\"},blurAmount:{type:ControlType.Number,title:\"Blur\",defaultValue:16,min:0,max:60,step:1,unit:\"px\"},smoothing:{type:ControlType.Number,title:\"Smoothing\",defaultValue:.5,min:0,max:1,step:.05,description:\"Spring smoothing on scroll progress. 0.5 matches TextBlurReveal. Higher = softer.\"},lineStagger:{type:ControlType.Number,title:\"Line Stagger\",defaultValue:.04,min:0,max:.15,step:.005,description:\"Cascade between lines, in scroll progress. 0 = all lines together.\"},mouseParallaxStrength:{type:ControlType.Number,title:\"Mouse Parallax\",defaultValue:0,min:0,max:40,step:1,unit:\"px\",description:\"Cursor drift on the whole block. 0 = off.\"},mobileMode:{type:ControlType.Boolean,title:\"Mobile Mode\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\",description:\"Lock font and content sizes to fixed px instead of scaling with viewport width. Content fills the parent. Use on a mobile breakpoint variant.\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"TextBlurExitLines\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any\",\"framerSupportedLayoutHeight\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Textblurexit.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import React,{useEffect,useRef}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{motion,useScroll,useSpring,useTransform,useMotionTemplate,useMotionValue}from\"framer-motion\";const DESIGN_REFERENCE_WIDTH=1440;const escapeRegex=s=>s.replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");function renderItalicized(text,italicWords){const list=italicWords.split(\",\").map(w=>w.trim()).filter(Boolean);if(list.length===0)return text;const pattern=new RegExp(`\\\\b(${list.map(escapeRegex).join(\"|\")})\\\\b`,\"g\");const parts=text.split(pattern);const matches=new Set(list);return parts.map((part,i)=>matches.has(part)?/*#__PURE__*/_jsx(\"em\",{children:part},i):/*#__PURE__*/_jsx(React.Fragment,{children:part},i));}function AnimatedLetter({char,progress,enterStart,enterEnd,exitStart,exitEnd,slide}){// Same in→hold→out curve as the main text, but on a narrow per-letter\n// window inside the parent's scroll progress. Slide is bigger.\n// Per-letter motion is just the emphasized slide. Blur / fade / scale\n// are applied to the whole block by the parent so the second line moves\n// in unison with the first line's reveal.\nconst y=useTransform(progress,[enterStart,enterEnd,exitStart,exitEnd],[slide,0,0,-slide*.4],{// easeOutQuart — letters decelerate into place for a smoother land\nease:[t=>1-Math.pow(1-t,4),t=>t,t=>Math.pow(t,4)]});return /*#__PURE__*/_jsx(motion.span,{style:{display:\"inline-block\",y,willChange:\"transform\"},children:char});}function AnimatedLine({text,italicWords,slidePx,isCanvas,scaleFactor,progress,revealStart,revealEnd,perLetterWindow,exitStart,exitEnd}){const list=italicWords.split(\",\").map(w=>w.trim()).filter(Boolean);const matches=new Set(list);// Tokenize into words so we can preserve word-wrapping while still\n// animating per-character. Whitespace runs become non-animated spans.\nconst tokens=text.split(/(\\s+)/);const slide=slidePx*scaleFactor;// Count animatable characters so we can space their reveal windows\n// evenly across [revealStart, revealEnd].\nlet totalChars=0;for(const t of tokens)if(!/^\\s+$/.test(t))totalChars+=Array.from(t).length;const safeTotal=Math.max(totalChars,1);// Per-letter window length is `perLetterWindow` (in progress units).\n// Letters start staggered so the last one begins at revealEnd - window.\nconst startSpan=Math.max(revealEnd-revealStart-perLetterWindow,1e-4);const exitSpan=Math.max(exitEnd-exitStart-perLetterWindow,1e-4);let charIndex=0;if(isCanvas){// Canvas: render as static text — no scroll context.\nreturn /*#__PURE__*/_jsx(\"span\",{style:{display:\"inline-block\",width:\"100%\"},children:renderItalicized(text,italicWords)});}return /*#__PURE__*/_jsx(\"span\",{style:{display:\"inline-block\",width:\"100%\"},children:tokens.map((token,ti)=>{if(/^\\s+$/.test(token)){return /*#__PURE__*/_jsx(\"span\",{style:{whiteSpace:\"pre\"},children:token},`s-${ti}`);}const isItalic=matches.has(token);const Wrapper=isItalic?\"em\":\"span\";return /*#__PURE__*/_jsx(Wrapper,{style:{display:\"inline-block\",whiteSpace:\"nowrap\"},children:Array.from(token).map(ch=>{const idx=charIndex++;const t=safeTotal===1?0:idx/(safeTotal-1);const enterStart=revealStart+t*startSpan;const enterEnd=enterStart+perLetterWindow;const lExitStart=exitStart+t*exitSpan;const lExitEnd=lExitStart+perLetterWindow;return /*#__PURE__*/_jsx(AnimatedLetter,{char:ch,progress:progress,enterStart:enterStart,enterEnd:enterEnd,exitStart:lExitStart,exitEnd:lExitEnd,slide:slide},`c-${idx}`);})},`w-${ti}`);})});}/**\n * TextBlurRevealV2\n *\n * Two stacked lines of text. The first line uses the same scroll-driven\n * blur/opacity/translate reveal as TextBlurReveal. The second line stacks\n * directly below and animates per-letter with a more emphasized staggered\n * slide-up (~100px at 1440 design width) plus blur-out, triggered when the\n * block enters the viewport.\n *\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */export default function TextBlurRevealV2(props){const{text,secondLineText,font,fontSizePx,italicWords,color,textAlign,lineHeight,letterSpacing,mouseParallaxStrength,secondLineSlidePx,secondLineGapPx,secondLineRevealStart,secondLineRevealEnd,secondLinePerLetterWindow,mobileFixed}=props;const ref=useRef(null);const isCanvas=RenderTarget.current()===RenderTarget.canvas;const useFixed=isCanvas||mobileFixed;const{scrollYProgress}=useScroll({target:ref,offset:[\"start end\",\"end start\"]});const smoothProgress=useSpring(scrollYProgress,{stiffness:120,damping:30,mass:.4});const blur=useTransform(smoothProgress,[0,.15,.4,.65,.85,1],[20,8,0,0,8,20]);const opacity=useTransform(smoothProgress,[0,.3,.7,1],[0,1,1,0]);const y=useTransform(smoothProgress,[0,.35,.65,1],[40,0,0,-40]);const scale=useTransform(smoothProgress,[0,.35,.65,1],[.96,1,1,.96]);const filter=useMotionTemplate`blur(${blur}px)`;const mouseX=useMotionValue(0);const mouseY=useMotionValue(0);const smoothMouseX=useSpring(mouseX,{stiffness:80,damping:20,mass:.6});const smoothMouseY=useSpring(mouseY,{stiffness:80,damping:20,mass:.6});useEffect(()=>{if(isCanvas||mouseParallaxStrength===0)return;const handleMouse=e=>{const nx=e.clientX/window.innerWidth*2-1;const ny=e.clientY/window.innerHeight*2-1;mouseX.set(nx*mouseParallaxStrength);mouseY.set(ny*mouseParallaxStrength);};window.addEventListener(\"mousemove\",handleMouse);return()=>window.removeEventListener(\"mousemove\",handleMouse);},[isCanvas,mouseParallaxStrength,mouseX,mouseY]);const fontSizeVw=fontSizePx/DESIGN_REFERENCE_WIDTH*100;// Canvas: vw resolves against the editor window, not the design width — use px instead.\n// Mobile Fixed: lock to px on mobile so text doesn't scale with viewport.\nconst fontSize=useFixed?`${fontSizePx}px`:`${fontSizeVw}vw`;// Scale the per-letter slide distance the same way as the font size so\n// the motion reads identically across viewport widths. When Mobile Fixed\n// is active, hold scale at 1 so slide stays in px.\nconst scaleFactor=useFixed?1:(typeof window!==\"undefined\"?window.innerWidth:DESIGN_REFERENCE_WIDTH)/DESIGN_REFERENCE_WIDTH;const gap=useFixed?`${secondLineGapPx}px`:`${secondLineGapPx/DESIGN_REFERENCE_WIDTH*100}vw`;return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",fontFamily:font?.fontFamily,fontWeight:font?.fontWeight,fontSize,lineHeight,letterSpacing:`${letterSpacing}em`,color,textAlign},children:/*#__PURE__*/_jsx(motion.div,{style:{width:\"100%\",display:\"flex\",flexDirection:\"column\",alignItems:textAlign===\"left\"?\"flex-start\":textAlign===\"right\"?\"flex-end\":\"center\",gap,filter:isCanvas?\"none\":filter,opacity:isCanvas?1:opacity,y:isCanvas?0:y,scale:isCanvas?1:scale,willChange:\"filter, opacity, transform\"},children:/*#__PURE__*/_jsxs(motion.div,{style:{width:\"100%\",x:isCanvas?0:smoothMouseX,y:isCanvas?0:smoothMouseY,willChange:\"transform\",display:\"flex\",flexDirection:\"column\",alignItems:textAlign===\"left\"?\"flex-start\":textAlign===\"right\"?\"flex-end\":\"center\",gap},children:[/*#__PURE__*/_jsx(\"span\",{style:{display:\"inline-block\"},children:renderItalicized(text,italicWords)}),secondLineText?/*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",overflow:\"visible\"},children:/*#__PURE__*/_jsx(AnimatedLine,{text:secondLineText,italicWords:italicWords,slidePx:secondLineSlidePx,isCanvas:isCanvas,scaleFactor:scaleFactor,progress:smoothProgress,revealStart:secondLineRevealStart,revealEnd:secondLineRevealEnd,perLetterWindow:secondLinePerLetterWindow,exitStart:Math.max(.7,secondLineRevealEnd+.1),exitEnd:1})}):null]})})});}TextBlurRevealV2.defaultProps={text:\"A short paragraph of text that reveals as you scroll into view.\",secondLineText:\"And a second line that slides up letter by letter.\",font:{fontFamily:\"Inter\",fontWeight:400},fontSizePx:40,italicWords:\"plans\",color:\"#FFFFFF\",textAlign:\"center\",lineHeight:1.3,letterSpacing:0,mouseParallaxStrength:8,secondLineSlidePx:100,secondLineGapPx:24,secondLineRevealStart:.1,secondLineRevealEnd:.5,secondLinePerLetterWindow:.2,mobileFixed:false};addPropertyControls(TextBlurRevealV2,{text:{type:ControlType.String,title:\"Text\",defaultValue:\"A short paragraph of text that reveals as you scroll into view.\",displayTextArea:true},secondLineText:{type:ControlType.String,title:\"Second Line\",defaultValue:\"And a second line that slides up letter by letter.\",displayTextArea:true,description:\"Animates per-letter with a staggered slide-up. Leave blank to hide.\"},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontFamily:\"Inter\",fontWeight:400},displayFontSize:false,displayLineHeight:false,displayLetterSpacing:false,displayTextAlignment:false},fontSizePx:{type:ControlType.Number,title:\"Font Size\",defaultValue:40,min:8,max:400,step:1,unit:\"px\",description:\"Pixel size at 1440px design width. Scales via vw.\"},italicWords:{type:ControlType.String,title:\"Italic Words\",defaultValue:\"plans\",description:\"Comma-separated, case-sensitive whole-word match.\"},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#FFFFFF\"},textAlign:{type:ControlType.Enum,title:\"Align\",options:[\"left\",\"center\",\"right\"],optionTitles:[\"Left\",\"Center\",\"Right\"],defaultValue:\"center\"},lineHeight:{type:ControlType.Number,title:\"Line Height\",defaultValue:1.3,min:.5,max:3,step:.05},letterSpacing:{type:ControlType.Number,title:\"Letter Spacing\",defaultValue:0,min:-.1,max:1,step:.01,unit:\"em\"},mouseParallaxStrength:{type:ControlType.Number,title:\"Mouse Parallax\",defaultValue:8,min:0,max:40,step:1,unit:\"px\",description:\"How far text drifts with cursor. 0 = off.\"},secondLineGapPx:{type:ControlType.Number,title:\"Line Gap\",defaultValue:24,min:0,max:200,step:1,unit:\"px\",description:\"Gap between the two lines at 1440px design width.\"},secondLineSlidePx:{type:ControlType.Number,title:\"L2 Slide\",defaultValue:100,min:10,max:400,step:1,unit:\"px\",description:\"Per-letter slide distance for the second line, at 1440px design width.\"},secondLineRevealStart:{type:ControlType.Number,title:\"L2 Start\",defaultValue:.1,min:0,max:1,step:.01,description:\"Scroll progress (0–1) at which the first letter begins. Main text peaks ~0.3.\"},secondLineRevealEnd:{type:ControlType.Number,title:\"L2 End\",defaultValue:.5,min:0,max:1,step:.01,description:\"Scroll progress at which the last letter finishes. Tighter = more overlap.\"},secondLinePerLetterWindow:{type:ControlType.Number,title:\"L2 Letter Span\",defaultValue:.2,min:.01,max:.4,step:.01,description:\"How much scroll each letter takes to fully reveal. Smaller = snappier per-letter.\"},mobileFixed:{type:ControlType.Boolean,title:\"Mobile Fixed\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\",description:\"Lock text to fixed px sizes instead of scaling with viewport width. Use on a mobile breakpoint variant.\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"TextBlurRevealV2\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Textblurreveal.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import React,{useEffect,useRef}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{motion,motionValue,useMotionTemplate,useMotionValue,useSpring,useTransform}from\"framer-motion\";const DESIGN_REFERENCE_WIDTH=1440;const stripWord=w=>w.replace(/^[^\\w]+|[^\\w]+$/g,\"\");function parseList(s){return s.split(\",\").map(w=>w.trim()).filter(Boolean).map(p=>p.split(/\\s+/));}function tokenize(text,italicWords,boldWords){const words=text.split(/\\s+/).filter(Boolean);const tokens=words.map(w=>({text:w,italic:false,bold:false}));const apply=(phrases,key)=>{for(const phrase of phrases){if(phrase.length===0)continue;const target=phrase.map(stripWord);for(let i=0;i<=words.length-phrase.length;i++){let match=true;for(let j=0;j<phrase.length;j++){if(stripWord(words[i+j])!==target[j]){match=false;break;}}if(match){for(let j=0;j<phrase.length;j++){tokens[i+j][key]=true;}}}}};apply(parseList(italicWords),\"italic\");apply(parseList(boldWords),\"bold\");return tokens;}function AnimatedBlock({tokens,progress,blurAmount,yOffset,isCanvas,style,registerRef}){const blur=useTransform(progress,[0,1],[blurAmount,0]);const opacity=useTransform(progress,[0,1],[0,1]);const y=useTransform(progress,[0,1],[yOffset,0]);const filter=useMotionTemplate`blur(${blur}px)`;// Split layout (outer) from effects (inner). The column wrapper has\n// mix-blend-mode + transform, which silently drops `filter: blur()`\n// when the filter sits on the same element as layout styles. Putting\n// the filter on a child element forces it to a separate compositing\n// layer that the blend mode can't trample.\nreturn /*#__PURE__*/_jsx(\"div\",{ref:registerRef,style:style,children:/*#__PURE__*/_jsx(motion.div,{style:{filter:isCanvas?\"none\":filter,opacity:isCanvas?1:opacity,y:isCanvas?0:y,willChange:\"filter, opacity, transform\"},children:tokens.map((token,j)=>/*#__PURE__*/_jsxs(React.Fragment,{children:[/*#__PURE__*/_jsx(\"span\",{style:{fontStyle:token.italic?\"italic\":\"normal\",fontWeight:token.bold?700:\"inherit\"},children:token.text}),\" \"]},j))})});}/**\n * TextBlurRevealColumn\n *\n * Right-anchored editorial column with two interleaved text styles —\n * large serif \"callouts\" and smaller sans-serif \"body\" paragraphs.\n * Each block reveals as a single unit when its top crosses the trigger\n * band near the bottom of the viewport. Block-level (not line-level)\n * reveal keeps the cascade calm in long-form copy.\n *\n * Configure the sequence in the Blocks property control: each item is\n * a callout, body, or body-indent paragraph with its own italic words.\n *\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */export default function TextBlurRevealColumn(props){const{mobileMode,mobileCaptionText,mobileCaptionFont,mobileCaptionSizePx,mobileCaptionColor,mobileCaptionItalic,mobileCaptionMaxWidthPx,mobileCaptionLetterSpacing,mobileCaptionLineHeight,mobileCaptionGapPx,mobileCaptionLogo,mobileCaptionLogoWidthPx,mobileCaptionLogoHeightPx,mobileCaptionLogoGapPx,columnSide,columnWidthPx,columnPaddingPx,blockGapPx,mixBlendDifference,calloutFont,calloutSizePx,calloutColor,calloutLineHeight,calloutLetterSpacing,calloutWidthPx,bodyFont,bodySizePx,bodyColor,bodyLineHeight,bodyLetterSpacing,bodyWidthPx,bodyIndentPx,bodyIndentDeepPx,revealOffset,revealDistance,smoothing,blurAmount,yOffset,mouseParallaxStrength,googleFontsUrl,blocks}=props;const isCanvas=RenderTarget.current()===RenderTarget.canvas;const mobileCaptionLogoSrc=typeof mobileCaptionLogo===\"string\"?mobileCaptionLogo:mobileCaptionLogo?.src??null;const blockEls=useRef([]);const blockMVs=useRef([]);const targetVals=useRef([]);const getBlockMV=i=>{while(blockMVs.current.length<=i){blockMVs.current.push(motionValue(isCanvas?1:0));targetVals.current.push(isCanvas?1:0);}return blockMVs.current[i];};const registerBlock=(el,i)=>{blockEls.current[i]=el;};// Per-frame loop: compute each block's reveal target from viewport position,\n// then lerp toward target for smoothing.\nuseEffect(()=>{if(isCanvas){blockMVs.current.forEach(mv=>mv.set(1));return;}let raf=0;const ease=Math.max(.02,Math.min(1,smoothing));const update=()=>{const vh=window.innerHeight;const start=vh*(1-revealOffset);const end=start-vh*revealDistance;const span=start-end||1;blockEls.current.forEach((el,i)=>{if(!el)return;const rect=el.getBoundingClientRect();const t=(start-rect.top)/span;targetVals.current[i]=Math.max(0,Math.min(1,t));});};const tick=()=>{update();for(let i=0;i<blockMVs.current.length;i++){const target=targetVals.current[i]??0;const mv=blockMVs.current[i];const current=mv.get();const next=current+(target-current)*ease;mv.set(Math.abs(target-next)<5e-4?target:next);}raf=requestAnimationFrame(tick);};tick();return()=>cancelAnimationFrame(raf);},[isCanvas,revealOffset,revealDistance,smoothing]);// Mouse parallax\nconst mouseX=useMotionValue(0);const mouseY=useMotionValue(0);const smoothMouseX=useSpring(mouseX,{stiffness:80,damping:20,mass:.6});const smoothMouseY=useSpring(mouseY,{stiffness:80,damping:20,mass:.6});useEffect(()=>{if(isCanvas||mouseParallaxStrength===0)return;const handleMouse=e=>{const nx=e.clientX/window.innerWidth*2-1;const ny=e.clientY/window.innerHeight*2-1;mouseX.set(nx*mouseParallaxStrength);mouseY.set(ny*mouseParallaxStrength);};window.addEventListener(\"mousemove\",handleMouse);return()=>window.removeEventListener(\"mousemove\",handleMouse);},[isCanvas,mouseParallaxStrength,mouseX,mouseY]);// Convert px → vw at the 1440 reference. Canvas keeps raw px so the editor\n// matches the prop value exactly; runtime scales fluidly with viewport.\nconst toVw=px=>isCanvas||mobileMode?`${px}px`:`${px/DESIGN_REFERENCE_WIDTH*100}vw`;// In mobile mode the component fills its parent and ignores design-reference\n// widths/indents — typography stays at exact px sizes, layout is fluid.\nconst columnWidth=mobileMode?\"100%\":toVw(columnWidthPx);const columnPadding=toVw(columnPaddingPx);const calloutSize=toVw(calloutSizePx);const bodySize=toVw(bodySizePx);const calloutWidth=mobileMode?\"100%\":toVw(calloutWidthPx);const bodyWidth=mobileMode?\"100%\":toVw(bodyWidthPx);const bodyIndent=mobileMode?0:toVw(bodyIndentPx);const bodyIndentDeep=mobileMode?0:toVw(bodyIndentDeepPx);const blockGap=toVw(blockGapPx);const list=blocks&&blocks.length>0?blocks:DEFAULT_BLOCKS;return /*#__PURE__*/_jsxs(\"div\",{style:{width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"flex-start\",justifyContent:columnSide===\"right\"?\"flex-end\":\"flex-start\",overflow:\"visible\",color:calloutColor},children:[googleFontsUrl?/*#__PURE__*/_jsx(\"link\",{rel:\"stylesheet\",href:googleFontsUrl}):null,/*#__PURE__*/_jsxs(motion.div,{style:{width:columnWidth,maxWidth:\"100%\",paddingLeft:columnPadding,paddingRight:columnPadding,overflow:\"visible\",mixBlendMode:mixBlendDifference?\"difference\":\"normal\",x:isCanvas?0:smoothMouseX,y:isCanvas?0:smoothMouseY,willChange:\"transform\"},children:[list.map((block,i)=>{const isCallout=block.kind===\"callout\";const isDeepIndent=block.kind===\"bodyIndent\";const tokens=tokenize(block.text||\"\",block.italicWords||\"\",block.boldWords||\"\");const progress=getBlockMV(i);const blockStyle=isCallout?{fontFamily:calloutFont?.fontFamily,fontWeight:calloutFont?.fontWeight,fontSize:calloutSize,lineHeight:calloutLineHeight,letterSpacing:`${calloutLetterSpacing}em`,color:calloutColor,width:calloutWidth,maxWidth:\"100%\",marginLeft:block.align===\"right\"?\"auto\":block.align===\"center\"?\"auto\":0,marginRight:block.align===\"center\"?\"auto\":0,textAlign:block.align,marginTop:i===0?0:blockGap}:{fontFamily:bodyFont?.fontFamily,fontWeight:bodyFont?.fontWeight,fontSize:bodySize,lineHeight:bodyLineHeight,letterSpacing:`${bodyLetterSpacing}em`,color:bodyColor,width:bodyWidth,maxWidth:\"100%\",marginLeft:isDeepIndent?bodyIndentDeep:bodyIndent,textAlign:\"left\",marginTop:i===0?0:blockGap};return /*#__PURE__*/_jsx(AnimatedBlock,{tokens:tokens,progress:progress,blurAmount:blurAmount,yOffset:yOffset,isCanvas:isCanvas,style:blockStyle,registerRef:el=>registerBlock(el,i)},i);}),mobileMode&&(mobileCaptionText||mobileCaptionLogoSrc)&&/*#__PURE__*/_jsx(MobileCaption,{text:mobileCaptionText,font:mobileCaptionFont,sizePx:mobileCaptionSizePx,color:mobileCaptionColor,italic:mobileCaptionItalic,maxWidthPx:mobileCaptionMaxWidthPx,letterSpacing:mobileCaptionLetterSpacing,lineHeight:mobileCaptionLineHeight,gapPx:mobileCaptionGapPx,logoSrc:mobileCaptionLogoSrc,logoWidthPx:mobileCaptionLogoWidthPx,logoHeightPx:mobileCaptionLogoHeightPx,logoGapPx:mobileCaptionLogoGapPx,progress:getBlockMV(list.length),blurAmount:blurAmount,yOffset:yOffset,isCanvas:isCanvas,registerRef:el=>registerBlock(el,list.length)})]})]});}function MobileCaption({text,font,sizePx,color,italic,maxWidthPx,letterSpacing,lineHeight,gapPx,logoSrc,logoWidthPx,logoHeightPx,logoGapPx,progress,blurAmount,yOffset,isCanvas,registerRef}){const blur=useTransform(progress,[0,1],[blurAmount,0]);const opacity=useTransform(progress,[0,1],[0,1]);const y=useTransform(progress,[0,1],[yOffset,0]);const filter=useMotionTemplate`blur(${blur}px)`;return /*#__PURE__*/_jsx(\"div\",{ref:registerRef,style:{marginTop:`${gapPx}px`,display:\"flex\",flexDirection:\"column\",alignItems:\"center\",gap:`${logoGapPx}px`},children:/*#__PURE__*/_jsxs(motion.div,{style:{filter:isCanvas?\"none\":filter,opacity:isCanvas?1:opacity,y:isCanvas?0:y,willChange:\"filter, opacity, transform\",display:\"flex\",flexDirection:\"column\",alignItems:\"center\",gap:`${logoGapPx}px`,width:\"100%\"},children:[text?/*#__PURE__*/_jsx(\"div\",{style:{fontFamily:font?.fontFamily,fontWeight:font?.fontWeight,fontStyle:italic?\"italic\":\"normal\",fontSize:`${sizePx}px`,color,textAlign:\"center\",lineHeight,letterSpacing:`${letterSpacing}em`,maxWidth:`${maxWidthPx}px`},children:text}):null,logoSrc?/*#__PURE__*/_jsx(\"img\",{src:logoSrc,alt:\"\",style:{display:\"block\",width:`${logoWidthPx}px`,height:`${logoHeightPx}px`,objectFit:\"contain\"}}):null]})});}const DEFAULT_BLOCKS=[{kind:\"body\",text:\"Dr. Apa’s methodology was not developed from textbooks or traditional cosmetic dentistry protocols. It was built through years of experimentation, frustration, and an obsession with creating smiles that feel completely individualized to the person wearing them.\",italicWords:\"\",boldWords:\"obsession, completely individualized\",align:\"left\"},{kind:\"body\",text:\"What emerged became the foundation of the hand-crafted smile design philosophy now performed inside Apa Aesthetic: a methodology rooted in real-time sculpting, facial harmony, and artistic control. Rather than designing from “golden proportions,” Dr. Apa developed a system centered around movement, asymmetry, personality, and arch form.\",italicWords:\"golden proportions\",boldWords:\"real-time sculpting, facial harmony, artistic control\",align:\"left\"},{kind:\"callout\",text:\"“Teeth and your smile and how you build a smile is very three dimensional. When someone is speaking, laughing, talking, half smiling… you can see all of the nuances of that individual person’s face in motion. That’s what you should be designing it for.”\",italicWords:\"\",boldWords:\"three dimensional, in motion\",align:\"left\"},{kind:\"body\",text:\"As Dr. Apa explains, “There was a process for me to learn. It did not come naturally. It was very uncomfortable, but once I unlearned the way my mind saw things, it became extremely enjoyable because it allowed me to have control.” That pursuit of control became central to the methodology itself. By learning to sculpt directly by hand, clinicians gain the ability to adjust function, aesthetics, contours, and proportion in real time rather than relying solely on interpretation through a laboratory.\",italicWords:\"\",boldWords:\"control, sculpt directly by hand, real time\",align:\"left\"},{kind:\"body\",text:\"For Dr. Apa, the process is ultimately about freedom inside the creative workflow.\",italicWords:\"\",boldWords:\"freedom\",align:\"left\"},{kind:\"callout\",text:\"“Ninety-nine percent of practicing cosmetic dentists will never try to use their hands to do their creation. But if you have this one skill, it controls every aspect of what we do in someone’s mouth. You will not walk in with fear.”\",italicWords:\"\",boldWords:\"this one skill, You will not walk in with fear\",align:\"left\"},{kind:\"body\",text:\"Design by Hand was created to pass down that philosophy directly: a system built on artistic control, technical precision, and the confidence to shape, refine, and evolve a smile with intention.\",italicWords:\"\",boldWords:\"Design by Hand, artistic control, technical precision, with intention\",align:\"left\"},{kind:\"body\",text:\"As with the method itself, the philosophy behind it was earned through years of discipline and persistence.\",italicWords:\"\",boldWords:\"discipline and persistence\",align:\"left\"},{kind:\"callout\",text:\"“None of these things happened easily. All of them took a lot of work and sacrifice. But in the end, if you have a strong vision and strong conviction toward something, then you go for it. Don’t let anything get in your way.”\",italicWords:\"\",boldWords:\"strong vision, strong conviction, Don’t let anything get in your way\",align:\"left\"}];TextBlurRevealColumn.defaultProps={blocks:DEFAULT_BLOCKS,mobileMode:false,mobileCaptionText:\"That is why I built this. That is why it will matter.\",mobileCaptionFont:{fontFamily:\"Cormorant Garamond\",fontWeight:600},mobileCaptionSizePx:28,mobileCaptionColor:\"#ede9e5\",mobileCaptionItalic:true,mobileCaptionMaxWidthPx:270,mobileCaptionLetterSpacing:-.03,mobileCaptionLineHeight:1,mobileCaptionGapPx:52,mobileCaptionLogo:null,mobileCaptionLogoWidthPx:80,mobileCaptionLogoHeightPx:18,mobileCaptionLogoGapPx:52,columnSide:\"right\",columnWidthPx:529,columnPaddingPx:0,blockGapPx:21,mixBlendDifference:true,calloutFont:{fontFamily:\"Cormorant Garamond\",fontWeight:600},calloutSizePx:22,calloutColor:\"#EDE9E5\",calloutLineHeight:1,calloutLetterSpacing:-.03,calloutWidthPx:340,bodyFont:{fontFamily:\"PP Neue Montreal\",fontWeight:500},bodySizePx:15,bodyColor:\"#2C2824\",bodyLineHeight:1.4,bodyLetterSpacing:0,bodyWidthPx:356,bodyIndentPx:113,bodyIndentDeepPx:173,revealOffset:.08,revealDistance:.18,smoothing:.18,blurAmount:8,yOffset:8,mouseParallaxStrength:6,googleFontsUrl:\"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap\"};addPropertyControls(TextBlurRevealColumn,{blocks:{type:ControlType.Array,title:\"Blocks\",defaultValue:DEFAULT_BLOCKS,control:{type:ControlType.Object,controls:{kind:{type:ControlType.Enum,title:\"Kind\",defaultValue:\"body\",options:[\"callout\",\"body\",\"bodyIndent\"],optionTitles:[\"Callout\",\"Body\",\"Body (deep indent)\"]},text:{type:ControlType.String,title:\"Text\",defaultValue:\"\",displayTextArea:true},italicWords:{type:ControlType.String,title:\"Italic Words\",defaultValue:\"\",description:\"Comma-separated words or phrases to italicize.\"},boldWords:{type:ControlType.String,title:\"Bold Words\",defaultValue:\"\",description:\"Comma-separated words or phrases to bold.\"},align:{type:ControlType.Enum,title:\"Align\",defaultValue:\"left\",options:[\"left\",\"center\",\"right\"],optionTitles:[\"Left\",\"Center\",\"Right\"],description:\"Only applies to callout blocks.\"}}}},mobileMode:{type:ControlType.Boolean,title:\"Mobile Mode\",defaultValue:false,description:\"Use exact px font sizes (no vw scaling) and let the column fill its parent width. Turn on for the mobile breakpoint.\"},mobileCaptionText:{type:ControlType.String,title:\"M Caption\",defaultValue:\"That is why I built this. That is why it will matter.\",displayTextArea:true,hidden:p=>!p.mobileMode},mobileCaptionFont:{type:ControlType.Font,title:\"M Caption Font\",controls:\"extended\",defaultFontType:\"serif\",defaultValue:{fontFamily:\"Cormorant Garamond\",fontWeight:600},displayFontSize:false,displayLineHeight:false,displayLetterSpacing:false,displayTextAlignment:false,hidden:p=>!p.mobileMode},mobileCaptionSizePx:{type:ControlType.Number,title:\"M Caption Size\",defaultValue:28,min:8,max:200,step:1,unit:\"px\",hidden:p=>!p.mobileMode},mobileCaptionColor:{type:ControlType.Color,title:\"M Caption Color\",defaultValue:\"#ede9e5\",hidden:p=>!p.mobileMode},mobileCaptionItalic:{type:ControlType.Boolean,title:\"M Italic\",defaultValue:true,hidden:p=>!p.mobileMode},mobileCaptionMaxWidthPx:{type:ControlType.Number,title:\"M Caption Width\",defaultValue:270,min:100,max:1440,step:1,unit:\"px\",hidden:p=>!p.mobileMode},mobileCaptionLetterSpacing:{type:ControlType.Number,title:\"M Tracking\",defaultValue:-.03,min:-.1,max:.5,step:.005,unit:\"em\",hidden:p=>!p.mobileMode},mobileCaptionLineHeight:{type:ControlType.Number,title:\"M Line Height\",defaultValue:1,min:.7,max:2,step:.05,hidden:p=>!p.mobileMode},mobileCaptionGapPx:{type:ControlType.Number,title:\"M Top Gap\",defaultValue:52,min:0,max:400,step:1,unit:\"px\",description:\"Gap above the caption (between last paragraph and quote).\",hidden:p=>!p.mobileMode},mobileCaptionLogo:{type:ControlType.ResponsiveImage,title:\"M Signature\",hidden:p=>!p.mobileMode},mobileCaptionLogoWidthPx:{type:ControlType.Number,title:\"M Sig W\",defaultValue:80,min:10,max:600,step:1,unit:\"px\",hidden:p=>!p.mobileMode},mobileCaptionLogoHeightPx:{type:ControlType.Number,title:\"M Sig H\",defaultValue:18,min:10,max:600,step:1,unit:\"px\",hidden:p=>!p.mobileMode},mobileCaptionLogoGapPx:{type:ControlType.Number,title:\"M Text → Sig\",defaultValue:52,min:0,max:400,step:1,unit:\"px\",hidden:p=>!p.mobileMode},columnSide:{type:ControlType.Enum,title:\"Column Side\",defaultValue:\"right\",options:[\"right\",\"left\"],optionTitles:[\"Right\",\"Left\"]},columnWidthPx:{type:ControlType.Number,title:\"Column Width\",defaultValue:529,min:200,max:1440,step:10,unit:\"px\",description:\"Total column width at 1440px design. Locked in vw so wrapping stays identical at all viewport sizes.\"},columnPaddingPx:{type:ControlType.Number,title:\"Column Padding\",defaultValue:0,min:0,max:200,step:4,unit:\"px\"},blockGapPx:{type:ControlType.Number,title:\"Block Gap\",defaultValue:21,min:0,max:200,step:1,unit:\"px\",description:\"Vertical space between paragraphs at 1440px design width. Scales via vw.\"},mixBlendDifference:{type:ControlType.Boolean,title:\"Blend Difference\",defaultValue:true,description:\"Inverts color against the background — readable on any image.\"},calloutFont:{type:ControlType.Font,title:\"Callout Font\",controls:\"extended\",defaultFontType:\"serif\",defaultValue:{fontFamily:\"Cormorant Garamond\",fontWeight:600},displayFontSize:false,displayLineHeight:false,displayLetterSpacing:false,displayTextAlignment:false},calloutSizePx:{type:ControlType.Number,title:\"Callout Size\",defaultValue:22,min:10,max:200,step:1,unit:\"px\"},calloutColor:{type:ControlType.Color,title:\"Callout Color\",defaultValue:\"#EDE9E5\"},calloutLineHeight:{type:ControlType.Number,title:\"Callout Line Height\",defaultValue:1,min:.5,max:3,step:.05},calloutLetterSpacing:{type:ControlType.Number,title:\"Callout Tracking\",defaultValue:-.03,min:-.1,max:.5,step:.005,unit:\"em\"},calloutWidthPx:{type:ControlType.Number,title:\"Callout Width\",defaultValue:340,min:100,max:1440,step:10,unit:\"px\"},bodyFont:{type:ControlType.Font,title:\"Body Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontFamily:\"PP Neue Montreal\",fontWeight:500},displayFontSize:false,displayLineHeight:false,displayLetterSpacing:false,displayTextAlignment:false},bodySizePx:{type:ControlType.Number,title:\"Body Size\",defaultValue:15,min:8,max:100,step:1,unit:\"px\"},bodyColor:{type:ControlType.Color,title:\"Body Color\",defaultValue:\"#2C2824\"},bodyLineHeight:{type:ControlType.Number,title:\"Body Line Height\",defaultValue:1.4,min:.5,max:3,step:.05},bodyLetterSpacing:{type:ControlType.Number,title:\"Body Tracking\",defaultValue:0,min:-.1,max:.5,step:.005,unit:\"em\"},bodyWidthPx:{type:ControlType.Number,title:\"Body Width\",defaultValue:356,min:100,max:1440,step:10,unit:\"px\"},bodyIndentPx:{type:ControlType.Number,title:\"Body Indent\",defaultValue:113,min:0,max:800,step:4,unit:\"px\",description:\"Left offset for default body paragraphs.\"},bodyIndentDeepPx:{type:ControlType.Number,title:\"Body Deep Indent\",defaultValue:173,min:0,max:800,step:4,unit:\"px\",description:\"Left offset for body paragraphs marked Deep Indent.\"},revealOffset:{type:ControlType.Number,title:\"Trigger Position\",defaultValue:.08,min:0,max:.5,step:.01,description:\"Distance from bottom of viewport where reveal starts. 0 = at the very bottom edge.\"},revealDistance:{type:ControlType.Number,title:\"Reveal Distance\",defaultValue:.18,min:.02,max:.5,step:.01,description:\"Scroll distance over which a block goes from blurred to clear.\"},smoothing:{type:ControlType.Number,title:\"Smoothing\",defaultValue:.18,min:.05,max:1,step:.01,description:\"Lower = softer / more lag. Higher = snappier.\"},blurAmount:{type:ControlType.Number,title:\"Blur\",defaultValue:8,min:0,max:32,step:1,unit:\"px\"},yOffset:{type:ControlType.Number,title:\"Y Offset\",defaultValue:8,min:0,max:80,step:1,unit:\"px\",description:\"How far each block rises into place.\"},mouseParallaxStrength:{type:ControlType.Number,title:\"Mouse Parallax\",defaultValue:6,min:0,max:40,step:1,unit:\"px\",description:\"How far text drifts with cursor. 0 = off.\"},googleFontsUrl:{type:ControlType.String,title:\"Fonts URL\",defaultValue:\"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap\",description:\"Google Fonts URL that loads the italic variant of the callout font. Without this, italic words use faux-italic which can look heavier. Leave blank to disable.\",displayTextArea:true}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"TextBlurRevealColumn\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any\",\"framerSupportedLayoutHeight\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Textblurrevealcolumn.map","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useEffect,useLayoutEffect,useRef,useState}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{motion,motionValue,useMotionTemplate,useMotionValue,useSpring,useTransform}from\"framer-motion\";const DESIGN_REFERENCE_WIDTH=1440;function tokenizeParagraph(text,italicWords){const list=italicWords.split(\",\").map(w=>w.trim()).filter(Boolean);const words=text.split(/\\s+/).filter(Boolean);if(list.length===0){return words.map(w=>({text:w,italic:false}));}const matches=new Set(list);return words.map(w=>{const stripped=w.replace(/^[^\\w]+|[^\\w]+$/g,\"\");return{text:w,italic:matches.has(stripped)};});}function WordSpan({token,progress,blurAmount,yOffset,isCanvas,registerEl,index}){const blur=useTransform(progress,[0,1],[blurAmount,0]);const opacity=useTransform(progress,[0,1],[0,1]);const y=useTransform(progress,[0,1],[yOffset,0]);const filter=useMotionTemplate`blur(${blur}px)`;return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(motion.span,{ref:el=>registerEl(el,index),style:{display:\"inline-block\",whiteSpace:\"pre\",paddingBottom:\"0.3em\",marginBottom:\"-0.3em\",filter:isCanvas?\"none\":filter,opacity:isCanvas?1:opacity,y:isCanvas?0:y,fontStyle:token.italic?\"italic\":\"normal\",willChange:\"filter, opacity, transform\"},children:token.text}),/*#__PURE__*/_jsx(\"span\",{style:{whiteSpace:\"pre\"},children:\" \"})]});}/**\n * TextBlurRevealLines\n *\n * Left-aligned multi-paragraph text. Each natural-wrapped line reveals\n * independently as its top crosses a narrow band near the bottom of the\n * viewport. Once revealed, lines stay clear — no exit blur. Content width\n * is locked in vw so wrapping is identical at all viewport sizes.\n *\n * Separate paragraphs with a blank line in the Text control.\n *\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */export default function TextBlurRevealLines(props){const{showEyebrow,eyebrowText,eyebrowFont,eyebrowFontSizePx,eyebrowColor,eyebrowLetterSpacing,eyebrowLineHeight,eyebrowUppercase,eyebrowGapPx,text,font,fontSizePx,italicWords,color,lineHeight,letterSpacing,paragraphGap,contentMaxWidthPx,revealOffset,revealDistance,smoothing,blurAmount,yOffset,mouseParallaxStrength,mobileMode}=props;const ref=useRef(null);const isCanvas=RenderTarget.current()===RenderTarget.canvas;const paragraphs=text.split(/\\n\\s*\\n/).map(p=>p.trim()).filter(Boolean);const wordEls=useRef([]);const[lineMap,setLineMap]=useState([]);const lineMVs=useRef([]);const targetVals=useRef([]);const getLineMV=i=>{while(lineMVs.current.length<=i){lineMVs.current.push(motionValue(isCanvas?1:0));targetVals.current.push(isCanvas?1:0);}return lineMVs.current[i];};const registerEl=(el,i)=>{wordEls.current[i]=el;};// Measure word offsetTop after layout to derive natural line indices.\nuseLayoutEffect(()=>{const measure=()=>{const tops=[];const map=[];wordEls.current.forEach(el=>{if(!el){map.push(0);return;}const top=el.offsetTop;let idx=tops.findIndex(t=>Math.abs(t-top)<2);if(idx===-1){tops.push(top);idx=tops.length-1;}map.push(idx);});const sortedTops=[...tops].sort((a,b)=>a-b);const remap=tops.map(t=>sortedTops.indexOf(t));setLineMap(map.map(i=>remap[i]));};measure();const ro=new ResizeObserver(measure);if(ref.current)ro.observe(ref.current);window.addEventListener(\"resize\",measure);return()=>{ro.disconnect();window.removeEventListener(\"resize\",measure);};},[text,italicWords,fontSizePx,font?.fontFamily,font?.fontWeight]);// Per-frame loop: compute each line's reveal target from viewport position,\n// then lerp the actual motion value toward target for soft smoothing.\nuseEffect(()=>{if(isCanvas){// Force everything revealed in canvas.\nlineMVs.current.forEach(mv=>mv.set(1));return;}let raf=0;const ease=Math.max(.02,Math.min(1,smoothing));const update=()=>{const vh=window.innerHeight;const start=vh*(1-revealOffset);const end=start-vh*revealDistance;const span=start-end||1;const seen=new Set;wordEls.current.forEach((el,i)=>{if(!el)return;const lineIdx=lineMap[i];if(lineIdx==null||seen.has(lineIdx))return;seen.add(lineIdx);const rect=el.getBoundingClientRect();const t=(start-rect.top)/span;targetVals.current[lineIdx]=Math.max(0,Math.min(1,t));});};const tick=()=>{update();for(let i=0;i<lineMVs.current.length;i++){const target=targetVals.current[i]??0;const mv=lineMVs.current[i];const current=mv.get();const next=current+(target-current)*ease;mv.set(Math.abs(target-next)<5e-4?target:next);}raf=requestAnimationFrame(tick);};tick();return()=>cancelAnimationFrame(raf);},[isCanvas,lineMap,revealOffset,revealDistance,smoothing]);// Mouse parallax\nconst mouseX=useMotionValue(0);const mouseY=useMotionValue(0);const smoothMouseX=useSpring(mouseX,{stiffness:80,damping:20,mass:.6});const smoothMouseY=useSpring(mouseY,{stiffness:80,damping:20,mass:.6});useEffect(()=>{if(isCanvas||mouseParallaxStrength===0)return;const handleMouse=e=>{const nx=e.clientX/window.innerWidth*2-1;const ny=e.clientY/window.innerHeight*2-1;mouseX.set(nx*mouseParallaxStrength);mouseY.set(ny*mouseParallaxStrength);};window.addEventListener(\"mousemove\",handleMouse);return()=>window.removeEventListener(\"mousemove\",handleMouse);},[isCanvas,mouseParallaxStrength,mouseX,mouseY]);// Canvas and mobile mode keep raw px so sizes don't scale with viewport.\n// Runtime non-mobile converts px → vw at the 1440 design reference so\n// typography scales fluidly with the browser.\nconst toResponsiveSize=px=>isCanvas||mobileMode?`${px}px`:`${px/DESIGN_REFERENCE_WIDTH*100}vw`;const fontSize=toResponsiveSize(fontSizePx);// Mobile mode: fill the parent container (a breakpoint variant in Framer\n// typically constrains this). Non-mobile runtime: lock width as a % of\n// the parent at the 1440 reference so wrapping is identical at every\n// viewport. Canvas keeps raw px so the editor matches the prop value.\nconst contentMaxWidthPct=contentMaxWidthPx/DESIGN_REFERENCE_WIDTH*100;const contentMaxWidth=mobileMode?\"100%\":isCanvas?`${contentMaxWidthPx}px`:`${contentMaxWidthPct}%`;const eyebrowFontSize=toResponsiveSize(eyebrowFontSizePx);const eyebrowGap=toResponsiveSize(eyebrowGapPx);let wordCounter=0;return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"flex-start\",justifyContent:\"flex-start\",overflow:\"visible\",fontFamily:font?.fontFamily,fontWeight:font?.fontWeight,fontSize,lineHeight,letterSpacing:`${letterSpacing}em`,color,textAlign:\"left\"},children:/*#__PURE__*/_jsxs(motion.div,{style:{width:\"100%\",maxWidth:contentMaxWidth,overflow:\"visible\",x:isCanvas?0:smoothMouseX,y:isCanvas?0:smoothMouseY,willChange:\"transform\"},children:[showEyebrow&&eyebrowText?/*#__PURE__*/_jsx(\"div\",{style:{fontFamily:eyebrowFont?.fontFamily,fontWeight:eyebrowFont?.fontWeight,fontSize:eyebrowFontSize,lineHeight:eyebrowLineHeight,letterSpacing:`${eyebrowLetterSpacing}em`,color:eyebrowColor,textTransform:eyebrowUppercase?\"uppercase\":\"none\",marginBottom:eyebrowGap},children:eyebrowText}):null,paragraphs.map((para,pIdx)=>{const tokens=tokenizeParagraph(para,italicWords);return /*#__PURE__*/_jsx(\"p\",{style:{margin:0,marginBottom:pIdx<paragraphs.length-1?`${paragraphGap}em`:0},children:tokens.map(token=>{const i=wordCounter++;const lineIdx=lineMap[i]??0;return /*#__PURE__*/_jsx(WordSpan,{index:i,token:token,progress:getLineMV(lineIdx),blurAmount:blurAmount,yOffset:yOffset,isCanvas:isCanvas,registerEl:registerEl},i);})},pIdx);})]})});}TextBlurRevealLines.defaultProps={showEyebrow:true,eyebrowText:\"Mission\",eyebrowFont:{fontFamily:\"Inter\",fontWeight:500},eyebrowFontSizePx:14,eyebrowColor:\"#FFFFFF\",eyebrowLetterSpacing:.08,eyebrowLineHeight:1.2,eyebrowUppercase:true,eyebrowGapPx:32,text:\"A short paragraph of text that reveals line by line as you scroll into view.\\n\\nA second paragraph follows, and continues the staggered reveal across natural line breaks.\",font:{fontFamily:\"Inter\",fontWeight:400},fontSizePx:28,italicWords:\"\",color:\"#FFFFFF\",lineHeight:1.4,letterSpacing:0,paragraphGap:1,contentMaxWidthPx:452,revealOffset:.08,revealDistance:.14,smoothing:.18,blurAmount:8,yOffset:8,mouseParallaxStrength:6,mobileMode:false};addPropertyControls(TextBlurRevealLines,{showEyebrow:{type:ControlType.Boolean,title:\"Show Eyebrow\",defaultValue:true},eyebrowText:{type:ControlType.String,title:\"Eyebrow Text\",defaultValue:\"Mission\",hidden:props=>!props.showEyebrow},eyebrowFont:{type:ControlType.Font,title:\"Eyebrow Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontFamily:\"Inter\",fontWeight:500},displayFontSize:false,displayLineHeight:false,displayLetterSpacing:false,displayTextAlignment:false,hidden:props=>!props.showEyebrow},eyebrowFontSizePx:{type:ControlType.Number,title:\"Eyebrow Size\",defaultValue:14,min:6,max:200,step:1,unit:\"px\",description:\"Pixel size at 1440px design width. Scales via vw.\",hidden:props=>!props.showEyebrow},eyebrowColor:{type:ControlType.Color,title:\"Eyebrow Color\",defaultValue:\"#FFFFFF\",hidden:props=>!props.showEyebrow},eyebrowLetterSpacing:{type:ControlType.Number,title:\"Eyebrow Tracking\",defaultValue:.08,min:-.1,max:1,step:.01,unit:\"em\",hidden:props=>!props.showEyebrow},eyebrowLineHeight:{type:ControlType.Number,title:\"Eyebrow Line Height\",defaultValue:1.2,min:.5,max:3,step:.05,hidden:props=>!props.showEyebrow},eyebrowUppercase:{type:ControlType.Boolean,title:\"Eyebrow Uppercase\",defaultValue:true,hidden:props=>!props.showEyebrow},eyebrowGapPx:{type:ControlType.Number,title:\"Eyebrow Gap\",defaultValue:32,min:0,max:200,step:1,unit:\"px\",description:\"Gap below eyebrow at 1440px design width. Scales via vw.\",hidden:props=>!props.showEyebrow},text:{type:ControlType.String,title:\"Text\",defaultValue:\"A short paragraph of text that reveals line by line as you scroll into view.\\n\\nA second paragraph follows, and continues the staggered reveal across natural line breaks.\",displayTextArea:true,description:\"Separate paragraphs with a blank line.\"},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontFamily:\"Inter\",fontWeight:400},displayFontSize:false,displayLineHeight:false,displayLetterSpacing:false,displayTextAlignment:false},fontSizePx:{type:ControlType.Number,title:\"Font Size\",defaultValue:28,min:8,max:400,step:1,unit:\"px\",description:\"Pixel size at 1440px design width. Scales via vw.\"},italicWords:{type:ControlType.String,title:\"Italic Words\",defaultValue:\"\",description:\"Comma-separated, case-sensitive whole-word match.\"},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#FFFFFF\"},lineHeight:{type:ControlType.Number,title:\"Line Height\",defaultValue:1.4,min:.5,max:3,step:.05},letterSpacing:{type:ControlType.Number,title:\"Letter Spacing\",defaultValue:0,min:-.1,max:1,step:.01,unit:\"em\"},paragraphGap:{type:ControlType.Number,title:\"Paragraph Gap\",defaultValue:1,min:0,max:4,step:.1,unit:\"em\"},contentMaxWidthPx:{type:ControlType.Number,title:\"Content Width\",defaultValue:452,min:200,max:1440,step:10,unit:\"px\",description:\"Max content width at 1440px design. Locked in vw so wrapping is identical at all viewport sizes.\"},revealOffset:{type:ControlType.Number,title:\"Trigger Position\",defaultValue:.08,min:0,max:.5,step:.01,description:\"Distance from bottom of viewport where reveal starts. 0 = at the very bottom edge.\"},revealDistance:{type:ControlType.Number,title:\"Reveal Distance\",defaultValue:.14,min:.02,max:.5,step:.01,description:\"Scroll distance over which a line goes from blurred to clear (fraction of viewport height).\"},smoothing:{type:ControlType.Number,title:\"Smoothing\",defaultValue:.18,min:.05,max:1,step:.01,description:\"Lower = softer / more lag. Higher = snappier.\"},blurAmount:{type:ControlType.Number,title:\"Blur\",defaultValue:8,min:0,max:32,step:1,unit:\"px\"},yOffset:{type:ControlType.Number,title:\"Y Offset\",defaultValue:8,min:0,max:80,step:1,unit:\"px\",description:\"How far each line rises into place.\"},mouseParallaxStrength:{type:ControlType.Number,title:\"Mouse Parallax\",defaultValue:6,min:0,max:40,step:1,unit:\"px\",description:\"How far text drifts with cursor. 0 = off.\"},mobileMode:{type:ControlType.Boolean,title:\"Mobile Mode\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\",description:\"Lock font and content sizes to fixed px instead of scaling with viewport width. Content fills the parent. Use on a mobile breakpoint variant.\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"TextBlurRevealLines\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Textblurreveallines.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useRef,useEffect,useId,useMemo,useState}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";/**\n * TimelineProgressLineSimple — Design x Hands\n *\n * Stripped-down backup of the timeline line. Just the wavy ribbon with a\n * scroll-driven fill. No entry animation, no pinpoints, no floating images,\n * no content panels.\n *\n * Two layered <path> elements:\n *  - Background path: dim cream at low opacity (default 20%)\n *  - Foreground path: white, visibility controlled by a horizontal SVG gradient\n *    mask. The mask's white→black transition zone follows the scroll position,\n *    creating a soft fade at the leading edge instead of a hard cutoff.\n *\n * Self-tracks via getBoundingClientRect on a rAF loop (Lenis-friendly, doesn't\n * rely on native scroll events).\n *\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n * @framerIntrinsicWidth 4453\n * @framerIntrinsicHeight 56\n */const DEFAULT_TIMELINE_PATH=\"M0.109375 55C0.109375 55 243.109 0.5 372.109 0.5C501.109 0.5 629.109 43.5 794.109 43.5C959.109 43.5 1039.61 0.5 1224.11 0.5C1408.61 0.5 1438.61 55 1558.11 55C1677.61 55 1807.11 0.5 1957.11 0.5C2107.11 0.5 2154.61 55 2296.61 55C2438.61 55 2607.11 0.5 2727.61 0.5C2848.11 0.5 2966.61 55 3088.11 55C3209.61 55 3360.11 0.5 3475.61 0.5C3591.11 0.5 3637.61 55 3772.61 55C3907.61 55 4025.11 0.5 4166.11 0.5C4307.11 0.5 4452.11 55 4452.11 55\";const DEFAULT_SVG_WIDTH=4453;const DEFAULT_SVG_HEIGHT=56;// Pull viewBox + path data out of pasted SVG markup. Falls back to defaults\n// when markup is empty / malformed / missing a <path d=\"…\">.\nfunction parseSvgMarkup(markup){if(!markup||typeof markup!==\"string\"){return{pathD:DEFAULT_TIMELINE_PATH,width:DEFAULT_SVG_WIDTH,height:DEFAULT_SVG_HEIGHT};}// Concatenate every <path d=\"…\"> in document order so multi-path SVGs\n// render as a single stroke (mask gradient covers the whole ribbon).\nconst dMatches=Array.from(markup.matchAll(/<path\\b[^>]*\\bd\\s*=\\s*\"([^\"]+)\"/gi));const pathD=dMatches.map(m=>m[1].trim()).join(\" \");const vbMatch=markup.match(/viewBox\\s*=\\s*\"([^\"]+)\"/i);let width=DEFAULT_SVG_WIDTH;let height=DEFAULT_SVG_HEIGHT;if(vbMatch){const parts=vbMatch[1].trim().split(/[\\s,]+/).map(Number);if(parts.length===4&&parts.every(n=>Number.isFinite(n))){width=parts[2];height=parts[3];}}else{const wMatch=markup.match(/\\bwidth\\s*=\\s*\"([\\d.]+)\"/i);const hMatch=markup.match(/\\bheight\\s*=\\s*\"([\\d.]+)\"/i);if(wMatch)width=parseFloat(wMatch[1])||width;if(hMatch)height=parseFloat(hMatch[1])||height;}return{pathD:pathD||DEFAULT_TIMELINE_PATH,width,height};}export default function TimelineProgressLineSimple(props){const{svgFile=\"\",svgMarkup=\"\",backgroundColor=\"rgba(240, 237, 234, 1)\",backgroundOpacity=.2,fillColor=\"rgba(255, 255, 255, 1)\",strokeWidth=1,fadeWidth=.05,anchorReference=\"viewport_center\",anchorOffsetVw=0,canvasPreviewProgress=.5}=props;// Fetch the uploaded SVG file's text. File upload takes priority over\n// pasted markup; if neither is set we fall back to the default path.\nconst[fetchedMarkup,setFetchedMarkup]=useState(\"\");useEffect(()=>{if(!svgFile){setFetchedMarkup(\"\");return;}let cancelled=false;fetch(svgFile).then(r=>r.text()).then(txt=>{if(!cancelled)setFetchedMarkup(txt);}).catch(()=>{if(!cancelled)setFetchedMarkup(\"\");});return()=>{cancelled=true;};},[svgFile]);const sourceMarkup=fetchedMarkup||svgMarkup;const{pathD,width:SVG_WIDTH,height:SVG_HEIGHT}=useMemo(()=>parseSvgMarkup(sourceMarkup),[sourceMarkup]);const VIEW_BOX=`0 0 ${SVG_WIDTH} ${SVG_HEIGHT}`;const containerRef=useRef(null);const lineRef=useRef(null);const stopVisibleRef=useRef(null);const stopFadeRef=useRef(null);const isCanvas=RenderTarget.current()===RenderTarget.canvas;const reactId=useId().replace(/:/g,\"\");const gradId=`tpls-grad-${reactId}`;const maskId=`tpls-mask-${reactId}`;// Set initial / canvas-preview state for the mask gradient\nuseEffect(()=>{const stopVisible=stopVisibleRef.current;const stopFade=stopFadeRef.current;if(!stopVisible||!stopFade)return;if(isCanvas){stopVisible.setAttribute(\"offset\",String(canvasPreviewProgress));stopFade.setAttribute(\"offset\",String(Math.min(1,canvasPreviewProgress+fadeWidth)));}else{stopVisible.setAttribute(\"offset\",\"0\");stopFade.setAttribute(\"offset\",String(fadeWidth));}},[isCanvas,canvasPreviewProgress,fadeWidth]);// Live scroll-driven update loop\nuseEffect(()=>{if(isCanvas)return;if(typeof window===\"undefined\")return;let rafId=null;let inView=false;const update=()=>{const lineEl=lineRef.current;const stopVisible=stopVisibleRef.current;const stopFade=stopFadeRef.current;if(!lineEl||!stopVisible||!stopFade){if(inView)rafId=requestAnimationFrame(update);return;}const vw=window.innerWidth;const lineRect=lineEl.getBoundingClientRect();const anchorOffsetPx=anchorOffsetVw/100*vw;const baseAnchorX=anchorReference===\"viewport_left\"?0:anchorReference===\"viewport_right\"?vw:vw/2;const anchorX=baseAnchorX+anchorOffsetPx;const distancePastLeft=anchorX-lineRect.left;const width=lineRect.width||1;const progress=Math.max(0,Math.min(1,distancePastLeft/width));stopVisible.setAttribute(\"offset\",String(progress));stopFade.setAttribute(\"offset\",String(Math.min(1,progress+fadeWidth)));if(inView){rafId=requestAnimationFrame(update);}};const observer=new IntersectionObserver(entries=>{entries.forEach(entry=>{if(entry.isIntersecting){if(!inView){inView=true;rafId=requestAnimationFrame(update);}}else{inView=false;if(rafId!==null){cancelAnimationFrame(rafId);rafId=null;}}});},{rootMargin:\"100% 100%\"});if(containerRef.current){observer.observe(containerRef.current);}return()=>{observer.disconnect();if(rafId!==null)cancelAnimationFrame(rafId);};},[isCanvas,anchorReference,anchorOffsetVw,fadeWidth]);return /*#__PURE__*/_jsx(\"div\",{ref:containerRef,style:{width:\"100%\",height:\"100%\",position:\"relative\",pointerEvents:\"none\",overflow:\"visible\"},children:/*#__PURE__*/_jsx(\"div\",{ref:lineRef,style:{width:\"100%\",height:\"100%\"},children:/*#__PURE__*/_jsxs(\"svg\",{width:\"100%\",height:\"100%\",viewBox:VIEW_BOX,preserveAspectRatio:\"none\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",style:{display:\"block\",overflow:\"visible\"},children:[/*#__PURE__*/_jsxs(\"defs\",{children:[/*#__PURE__*/_jsxs(\"linearGradient\",{id:gradId,x1:\"0\",y1:\"0\",x2:SVG_WIDTH,y2:\"0\",gradientUnits:\"userSpaceOnUse\",children:[/*#__PURE__*/_jsx(\"stop\",{offset:\"0\",stopColor:\"white\"}),/*#__PURE__*/_jsx(\"stop\",{ref:stopVisibleRef,offset:\"0\",stopColor:\"white\"}),/*#__PURE__*/_jsx(\"stop\",{ref:stopFadeRef,offset:String(fadeWidth),stopColor:\"black\"}),/*#__PURE__*/_jsx(\"stop\",{offset:\"1\",stopColor:\"black\"})]}),/*#__PURE__*/_jsx(\"mask\",{id:maskId,maskUnits:\"userSpaceOnUse\",x:\"-20\",y:\"-20\",width:SVG_WIDTH+40,height:SVG_HEIGHT+40,children:/*#__PURE__*/_jsx(\"rect\",{x:\"-20\",y:\"-20\",width:SVG_WIDTH+40,height:SVG_HEIGHT+40,fill:`url(#${gradId})`})})]}),/*#__PURE__*/_jsx(\"path\",{d:pathD,stroke:backgroundColor,strokeOpacity:backgroundOpacity,strokeWidth:strokeWidth,vectorEffect:\"non-scaling-stroke\",fill:\"none\"}),/*#__PURE__*/_jsx(\"path\",{d:pathD,stroke:fillColor,strokeWidth:strokeWidth,vectorEffect:\"non-scaling-stroke\",fill:\"none\",mask:`url(#${maskId})`})]})})});}addPropertyControls(TimelineProgressLineSimple,{svgFile:{type:ControlType.File,title:\"SVG File\",allowedFileTypes:[\"svg\"],description:\"Upload an SVG of the line. Its viewBox and every <path> are extracted automatically. Overrides SVG Markup if both are set.\"},svgMarkup:{type:ControlType.String,title:\"SVG Markup\",defaultValue:\"\",displayTextArea:true,description:'Paste the full <svg>…</svg> markup of your line. The viewBox and every <path d=\"…\"> are extracted automatically. Leave blank to use the default wavy line.'},backgroundColor:{type:ControlType.Color,title:\"Line Color\",defaultValue:\"rgba(240, 237, 234, 1)\",description:\"Color of the unfilled line\"},backgroundOpacity:{type:ControlType.Number,title:\"Line Opacity\",defaultValue:.2,min:0,max:1,step:.05,description:\"Opacity of the unfilled line\"},fillColor:{type:ControlType.Color,title:\"Fill Color\",defaultValue:\"rgba(255, 255, 255, 1)\",description:\"Color of the progress fill\"},strokeWidth:{type:ControlType.Number,title:\"Stroke Width\",defaultValue:1,min:.5,max:8,step:.5,unit:\"px\"},fadeWidth:{type:ControlType.Number,title:\"Fade Tail\",defaultValue:.05,min:0,max:.3,step:.01,description:\"Length of the soft fade at the leading edge, as a fraction of total width. 0 = hard cutoff, 0.05 ≈ 220px tail.\"},anchorReference:{type:ControlType.Enum,title:\"Anchor\",defaultValue:\"viewport_center\",options:[\"viewport_left\",\"viewport_center\",\"viewport_right\"],optionTitles:[\"Left Edge\",\"Center\",\"Right Edge\"],description:\"Where in the viewport the fill 'tip' tracks. Center is natural for most timelines.\"},anchorOffsetVw:{type:ControlType.Number,title:\"Anchor Offset\",defaultValue:0,min:-50,max:50,step:1,unit:\"vw\",description:\"Fine-tune anchor horizontally. Negative = fill earlier, Positive = fill later.\"},canvasPreviewProgress:{type:ControlType.Number,title:\"Canvas Preview\",defaultValue:.5,min:0,max:1,step:.05,description:\"Fill amount shown on the Framer canvas (no effect on published site).\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"TimelineProgressLineSimple\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Timelinescrollline.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useRef}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";const MOBILE_DPR_CAP=1.5;const HOLD_DELAY_MS=180;const HOLD_MOVE_THRESHOLD_PX=8;const VERT=`\nattribute vec2 aPos;\nvarying vec2 vUv;\nvoid main() {\n    vUv = aPos * 0.5 + 0.5;\n    gl_Position = vec4(aPos, 0.0, 1.0);\n}\n`;// Stamp pass: read previous accumulation, fade by persistence,\n// add a domain-warped capsule stamp from prev cursor to current cursor.\n// Writes to new accum.\nconst FRAG_STAMP=`\nprecision highp float;\nvarying vec2 vUv;\n\nuniform sampler2D uPrev;\nuniform vec2  uMouseA;         // previous smoothed cursor (canvas UV)\nuniform vec2  uMouseB;         // current  smoothed cursor (canvas UV)\nuniform float uActiveA;        // hover ramp at A\nuniform float uActiveB;        // hover ramp at B\nuniform float uBrush;\nuniform float uPersist;\nuniform float uEdgeRough;      // 0..1 edge irregularity\nuniform float uTime;\nuniform vec2  uCanvasSize;\n\nfloat hash(vec2 p) {\n    p = fract(p * vec2(123.34, 345.45));\n    p += dot(p, p + 34.345);\n    return fract(p.x * p.y);\n}\nfloat vnoise(vec2 p) {\n    vec2 i = floor(p);\n    vec2 f = fract(p);\n    float a = hash(i);\n    float b = hash(i + vec2(1.0, 0.0));\n    float c = hash(i + vec2(0.0, 1.0));\n    float d = hash(i + vec2(1.0, 1.0));\n    vec2 u = f * f * (3.0 - 2.0 * f);\n    return mix(mix(a, b, u.x), mix(c, d, u.x), u.y);\n}\nfloat fbm(vec2 p) {\n    float v = 0.0;\n    float a = 0.5;\n    for (int i = 0; i < 5; i++) {\n        v += a * vnoise(p);\n        p *= 2.03;\n        a *= 0.5;\n    }\n    return v;\n}\n\n// distance from point p to segment a-b, in the same space as inputs\nfloat segDist(vec2 p, vec2 a, vec2 b) {\n    vec2 pa = p - a;\n    vec2 ba = b - a;\n    float h = clamp(dot(pa, ba) / max(dot(ba, ba), 1e-6), 0.0, 1.0);\n    return length(pa - ba * h);\n}\n\nvoid main() {\n    vec4 prev = texture2D(uPrev, vUv);\n    float faded = prev.r * uPersist;\n\n    float stamp = 0.0;\n    bool hasA = uMouseA.x >= 0.0 && uActiveA > 0.001;\n    bool hasB = uMouseB.x >= 0.0 && uActiveB > 0.001;\n\n    if (hasA || hasB) {\n        // aspect-correct so the brush stays round regardless of canvas shape\n        float aspect = uCanvasSize.x / max(uCanvasSize.y, 1.0);\n        vec2 q = vUv * vec2(aspect, 1.0);\n        vec2 a = (hasA ? uMouseA : uMouseB) * vec2(aspect, 1.0);\n        vec2 b = (hasB ? uMouseB : uMouseA) * vec2(aspect, 1.0);\n\n        // domain warp the sample point itself — this breaks the *shape*,\n        // not just the edge. Two octaves at different scales give organic lobes.\n        float rough = uEdgeRough;\n        vec2 warp = vec2(\n            fbm(vUv * 3.2  + vec2(13.1, 7.7)),\n            fbm(vUv * 3.2  + vec2(91.3, 47.2))\n        ) - 0.5;\n        vec2 warpHi = vec2(\n            fbm(vUv * 9.0  + vec2(3.7, 22.1)),\n            fbm(vUv * 9.0  + vec2(61.5, 5.3))\n        ) - 0.5;\n        // amplitude scales with brush so warping is proportional\n        q += warp   * uBrush * rough * 1.10;\n        q += warpHi * uBrush * rough * 0.45;\n\n        float d = segDist(q, a, b);\n\n        // very mild radius wobble on top of the domain warp\n        float wob = (fbm(vUv * 6.0 + uTime * 0.03) - 0.5) * uBrush * rough * 0.20;\n        float r = uBrush + wob;\n\n        // soft inner falloff, slightly harder outer so the trail has body\n        float disc = 1.0 - smoothstep(r * 0.45, r, d);\n\n        // micro grain inside the stamp so the \"ink\" isn't uniform\n        float micro = fbm(vUv * 32.0) * 0.40 + 0.60;\n\n        // intensity follows the higher of the two endpoint hover ramps\n        float hov = max(uActiveA, uActiveB);\n        stamp = disc * micro * hov;\n    }\n\n    float v = max(faded, stamp);\n    gl_FragColor = vec4(v, v, v, 1.0);\n}\n`;// Copy pass: sample a source texture into the bound framebuffer.\n// Used to preserve the accumulation mask across canvas resizes.\nconst FRAG_COPY=`\nprecision highp float;\nvarying vec2 vUv;\nuniform sampler2D uSrc;\nvoid main() {\n    gl_FragColor = texture2D(uSrc, vUv);\n}\n`;// Composite pass: mix base + topper using accumulated mask, apply grain,\n// slight desat/lift on topper so it doesn't feel like a sticker.\nconst FRAG_COMP=`\nprecision highp float;\nvarying vec2 vUv;\n\nuniform sampler2D uBase;\nuniform sampler2D uTopper;\nuniform sampler2D uMask;\nuniform float uHasTopper;\nuniform float uImageAspect;\nuniform float uCanvasAspect;\nuniform float uGrain;\nuniform float uTopperDesat;\nuniform float uTime;\nuniform vec2  uCanvasSize;\n\nfloat hash(vec2 p) {\n    p = fract(p * vec2(123.34, 345.45));\n    p += dot(p, p + 34.345);\n    return fract(p.x * p.y);\n}\n\nvoid main() {\n    // object-fit: cover for the image samplers\n    vec2 uv = vUv;\n    float ratio = uImageAspect / uCanvasAspect;\n    if (ratio > 1.0) {\n        uv.x = (uv.x - 0.5) / ratio + 0.5;\n    } else {\n        uv.y = (uv.y - 0.5) * ratio + 0.5;\n    }\n\n    vec4 base = texture2D(uBase, uv);\n    vec4 topperCol = uHasTopper > 0.5 ? texture2D(uTopper, uv) : base;\n\n    // desat + lift blacks a touch on the topper inside the reveal,\n    // so the two materials blend instead of stacking\n    float lum = dot(topperCol.rgb, vec3(0.299, 0.587, 0.114));\n    vec3 topAdj = mix(topperCol.rgb, vec3(lum), uTopperDesat);\n    topAdj = mix(topAdj, topAdj * 0.92 + 0.04, 0.5);\n\n    float mask = clamp(texture2D(uMask, vUv).r, 0.0, 1.0);\n\n    vec3 outRgb = mix(base.rgb, topAdj, mask);\n\n    // dust / grain overlay — pixel-locked hash so it reads as screen dust\n    if (uGrain > 0.0) {\n        // slow drift so it doesn't feel like dead static; very subtle\n        vec2 gp = floor(vUv * uCanvasSize) + floor(uTime * 6.0);\n        float g = hash(gp) - 0.5;\n        // bias grain into shadows where it reads more naturally\n        float shadowBias = 1.0 - clamp(dot(outRgb, vec3(0.299, 0.587, 0.114)), 0.0, 1.0);\n        outRgb += g * uGrain * (0.55 + shadowBias * 0.45);\n    }\n\n    gl_FragColor = vec4(outRgb, base.a);\n}\n`;function compileShader(gl,type,src){const sh=gl.createShader(type);if(!sh)return null;gl.shaderSource(sh,src);gl.compileShader(sh);if(!gl.getShaderParameter(sh,gl.COMPILE_STATUS)){console.error(\"[WebGLRelief] shader compile:\",gl.getShaderInfoLog(sh));gl.deleteShader(sh);return null;}return sh;}function createProgram(gl,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(\"[WebGLRelief] program link:\",gl.getProgramInfoLog(p));gl.deleteProgram(p);return null;}return p;}function makePlaceholderTexture(gl,rgba){const tex=gl.createTexture();gl.bindTexture(gl.TEXTURE_2D,tex);gl.texImage2D(gl.TEXTURE_2D,0,gl.RGBA,1,1,0,gl.RGBA,gl.UNSIGNED_BYTE,new Uint8Array(rgba));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.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MIN_FILTER,gl.LINEAR);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MAG_FILTER,gl.LINEAR);return tex;}function loadImageTexture(gl,url,onLoad){const tex=gl.createTexture();gl.bindTexture(gl.TEXTURE_2D,tex);gl.texImage2D(gl.TEXTURE_2D,0,gl.RGBA,1,1,0,gl.RGBA,gl.UNSIGNED_BYTE,new Uint8Array([255,255,255,255]));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.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MIN_FILTER,gl.LINEAR);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MAG_FILTER,gl.LINEAR);const img=new Image;img.crossOrigin=\"anonymous\";img.onload=()=>{gl.bindTexture(gl.TEXTURE_2D,tex);gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL,true);gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL,true);gl.texImage2D(gl.TEXTURE_2D,0,gl.RGBA,gl.RGBA,gl.UNSIGNED_BYTE,img);onLoad(img);};img.onerror=()=>{console.error(\"[WebGLRelief] image failed to load:\",url);};img.src=url;return tex;}function makeFBO(gl,w,h){const tex=gl.createTexture();gl.bindTexture(gl.TEXTURE_2D,tex);gl.texImage2D(gl.TEXTURE_2D,0,gl.RGBA,w,h,0,gl.RGBA,gl.UNSIGNED_BYTE,null);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.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MIN_FILTER,gl.LINEAR);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MAG_FILTER,gl.LINEAR);const fbo=gl.createFramebuffer();gl.bindFramebuffer(gl.FRAMEBUFFER,fbo);gl.framebufferTexture2D(gl.FRAMEBUFFER,gl.COLOR_ATTACHMENT0,gl.TEXTURE_2D,tex,0);gl.bindFramebuffer(gl.FRAMEBUFFER,null);return{fbo,tex,w,h};}/**\n * WebGLRelief\n *\n * Cursor-driven brush reveal between two images: base shows by default,\n * the topper rubs in under the cursor on hover. The reveal accumulates\n * with a soft trail (rub-to-reveal), the brush silhouette is broken with\n * fbm noise so it doesn't read as a perfect spotlight, and a subtle grain\n * pass dusts the final output.\n *\n * @framerDisableUnlink\n * @framerIntrinsicWidth 480\n * @framerIntrinsicHeight 600\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */export default function WebGLRelief(props){const{baseImage,topper,brushSize,triggerOffsetX,triggerOffsetY,hoverEffect,edgeRoughness,grainAmount,trailPersistence,topperDesat,mobileBehavior,mobileBreakpointPx,style}=props;const wrapRef=useRef(null);const canvasRef=useRef(null);const isCanvas=RenderTarget.current()===RenderTarget.canvas;const stateRef=useRef({mouse:{x:-1,y:-1},smooth:{x:-1,y:-1},prevSmooth:{x:-1,y:-1},active:0,prevActive:0,imageAspect:1});const liveProps=useRef({brushSize,triggerOffsetX,triggerOffsetY,hoverEffect,edgeRoughness,grainAmount,trailPersistence,topperDesat,mobileBehavior,mobileBreakpointPx});liveProps.current={brushSize,triggerOffsetX,triggerOffsetY,hoverEffect,edgeRoughness,grainAmount,trailPersistence,topperDesat,mobileBehavior,mobileBreakpointPx};useEffect(()=>{const canvas=canvasRef.current;const wrap=wrapRef.current;if(!canvas||!wrap)return;const gl=canvas.getContext(\"webgl\",{alpha:true,premultipliedAlpha:true});if(!gl){console.error(\"[WebGLRelief] WebGL not supported\");return;}const vs=compileShader(gl,gl.VERTEX_SHADER,VERT);const fsStamp=compileShader(gl,gl.FRAGMENT_SHADER,FRAG_STAMP);const fsComp=compileShader(gl,gl.FRAGMENT_SHADER,FRAG_COMP);const fsCopy=compileShader(gl,gl.FRAGMENT_SHADER,FRAG_COPY);if(!vs||!fsStamp||!fsComp||!fsCopy)return;const progStamp=createProgram(gl,vs,fsStamp);const progComp=createProgram(gl,vs,fsComp);const progCopy=createProgram(gl,vs,fsCopy);if(!progStamp||!progComp||!progCopy)return;const cpLocs={aPos:gl.getAttribLocation(progCopy,\"aPos\"),uSrc:gl.getUniformLocation(progCopy,\"uSrc\")};const buf=gl.createBuffer();gl.bindBuffer(gl.ARRAY_BUFFER,buf);gl.bufferData(gl.ARRAY_BUFFER,new Float32Array([-1,-1,3,-1,-1,3]),gl.STATIC_DRAW);// stamp uniforms\nconst sLocs={aPos:gl.getAttribLocation(progStamp,\"aPos\"),uPrev:gl.getUniformLocation(progStamp,\"uPrev\"),uMouseA:gl.getUniformLocation(progStamp,\"uMouseA\"),uMouseB:gl.getUniformLocation(progStamp,\"uMouseB\"),uActiveA:gl.getUniformLocation(progStamp,\"uActiveA\"),uActiveB:gl.getUniformLocation(progStamp,\"uActiveB\"),uBrush:gl.getUniformLocation(progStamp,\"uBrush\"),uPersist:gl.getUniformLocation(progStamp,\"uPersist\"),uEdgeRough:gl.getUniformLocation(progStamp,\"uEdgeRough\"),uTime:gl.getUniformLocation(progStamp,\"uTime\"),uCanvasSize:gl.getUniformLocation(progStamp,\"uCanvasSize\")};// composite uniforms\nconst cLocs={aPos:gl.getAttribLocation(progComp,\"aPos\"),uBase:gl.getUniformLocation(progComp,\"uBase\"),uTopper:gl.getUniformLocation(progComp,\"uTopper\"),uMask:gl.getUniformLocation(progComp,\"uMask\"),uHasTopper:gl.getUniformLocation(progComp,\"uHasTopper\"),uImageAspect:gl.getUniformLocation(progComp,\"uImageAspect\"),uCanvasAspect:gl.getUniformLocation(progComp,\"uCanvasAspect\"),uGrain:gl.getUniformLocation(progComp,\"uGrain\"),uTopperDesat:gl.getUniformLocation(progComp,\"uTopperDesat\"),uTime:gl.getUniformLocation(progComp,\"uTime\"),uCanvasSize:gl.getUniformLocation(progComp,\"uCanvasSize\")};const whiteTex=makePlaceholderTexture(gl,[255,255,255,255]);let texBase=whiteTex;let texTopper=whiteTex;if(baseImage)texBase=loadImageTexture(gl,baseImage,img=>{if(img&&img.naturalWidth&&img.naturalHeight){stateRef.current.imageAspect=img.naturalWidth/img.naturalHeight;}});if(topper)texTopper=loadImageTexture(gl,topper,()=>{});// accumulation FBOs (ping-pong) for the rubbed-in mask\nlet fboA=makeFBO(gl,1,1);let fboB=makeFBO(gl,1,1);// clear both to zero so we don't start with garbage\nconst clearFBO=f=>{gl.bindFramebuffer(gl.FRAMEBUFFER,f.fbo);gl.viewport(0,0,f.w,f.h);gl.clearColor(0,0,0,1);gl.clear(gl.COLOR_BUFFER_BIT);};clearFBO(fboA);clearFBO(fboB);gl.bindFramebuffer(gl.FRAMEBUFFER,null);let raf=0;const t0=performance.now();function resizeFBOs(w,h){// Preserve the accumulation mask across resize: render the current\n// fboA contents into a fresh-sized FBO via the copy program, then\n// discard the old buffers. Without this, every resize tick wipes\n// the rubbed-in reveal and the topper visibly blinks out.\nconst newA=makeFBO(gl,w,h);const newB=makeFBO(gl,w,h);clearFBO(newB);gl.bindFramebuffer(gl.FRAMEBUFFER,newA.fbo);gl.viewport(0,0,w,h);gl.clearColor(0,0,0,1);gl.clear(gl.COLOR_BUFFER_BIT);gl.useProgram(progCopy);bindQuad(cpLocs.aPos);gl.activeTexture(gl.TEXTURE0);gl.bindTexture(gl.TEXTURE_2D,fboA.tex);gl.uniform1i(cpLocs.uSrc,0);gl.drawArrays(gl.TRIANGLES,0,3);[fboA,fboB].forEach(f=>{gl.deleteFramebuffer(f.fbo);gl.deleteTexture(f.tex);});fboA=newA;fboB=newB;gl.bindFramebuffer(gl.FRAMEBUFFER,null);}const isMobileNow=()=>window.innerWidth<=liveProps.current.mobileBreakpointPx;function resize(){const cssW=wrap.clientWidth;const cssH=wrap.clientHeight;// accumulation pass is fill-rate heavy at full DPR — cap tighter\n// than display. Mobile gets an extra-tight cap because mobile GPUs\n// bottleneck on fill rate well before fragment ALU.\nconst dprCap=isMobileNow()?MOBILE_DPR_CAP:2;const dpr=Math.min(window.devicePixelRatio||1,dprCap);const w=Math.max(1,Math.floor(cssW*dpr));const h=Math.max(1,Math.floor(cssH*dpr));if(canvas.width!==w||canvas.height!==h){canvas.width=w;canvas.height=h;resizeFBOs(w,h);// Paint immediately. Otherwise the just-resized default\n// framebuffer is transparent black until the next rAF tick,\n// which the user reads as a blink during a resize drag.\ndraw();}}const onPointerMove=e=>{// Mobile drives the cursor differently (scroll / loop / hold) —\n// skip pointer-driven hover so touch scrolling doesn't streak.\nif(isMobileNow())return;const rect=wrap.getBoundingClientRect();const{triggerOffsetX:tox,triggerOffsetY:toy}=liveProps.current;const x=e.clientX-rect.left;const y=e.clientY-rect.top;const inside=x>=-tox&&x<=rect.width+tox&&y>=-toy&&y<=rect.height+toy;if(!inside){stateRef.current.mouse.x=-1;stateRef.current.mouse.y=-1;return;}// canvas-space UV (origin bottom-left to match GL)\nstateRef.current.mouse.x=x/rect.width;stateRef.current.mouse.y=1-y/rect.height;};const onPointerLeave=()=>{if(isMobileNow())return;stateRef.current.mouse.x=-1;stateRef.current.mouse.y=-1;};// Tap-and-hold state for mobile `tapAndHold` mode. A short delay\n// before the relief starts capturing touches lets the user scroll\n// freely; only an intentional hold activates the reveal.\nlet holdTimer=null;let holding=false;const touchStart={x:0,y:0};const cancelHold=()=>{if(holdTimer!=null){clearTimeout(holdTimer);holdTimer=null;}};const onTouchStart=e=>{const lp=liveProps.current;if(!isMobileNow()||lp.mobileBehavior!==\"tapAndHold\")return;const t=e.touches[0];if(!t)return;const rect=wrap.getBoundingClientRect();touchStart.x=t.clientX-rect.left;touchStart.y=t.clientY-rect.top;cancelHold();holdTimer=window.setTimeout(()=>{holding=true;holdTimer=null;const r=wrap.getBoundingClientRect();stateRef.current.mouse.x=touchStart.x/r.width;stateRef.current.mouse.y=1-touchStart.y/r.height;},HOLD_DELAY_MS);};const onTouchMove=e=>{const lp=liveProps.current;if(!isMobileNow()||lp.mobileBehavior!==\"tapAndHold\")return;const t=e.touches[0];if(!t)return;const rect=wrap.getBoundingClientRect();const x=t.clientX-rect.left;const y=t.clientY-rect.top;if(!holding){// Before hold confirmed, large movement = user is scrolling\nconst dx=x-touchStart.x;const dy=y-touchStart.y;if(dx*dx+dy*dy>HOLD_MOVE_THRESHOLD_PX*HOLD_MOVE_THRESHOLD_PX){cancelHold();}return;}stateRef.current.mouse.x=x/rect.width;stateRef.current.mouse.y=1-y/rect.height;};const onTouchEnd=()=>{cancelHold();holding=false;stateRef.current.mouse.x=-1;stateRef.current.mouse.y=-1;};window.addEventListener(\"pointermove\",onPointerMove,{passive:true});wrap.addEventListener(\"pointerleave\",onPointerLeave);wrap.addEventListener(\"touchstart\",onTouchStart,{passive:true});wrap.addEventListener(\"touchmove\",onTouchMove,{passive:true});wrap.addEventListener(\"touchend\",onTouchEnd);wrap.addEventListener(\"touchcancel\",onTouchEnd);const ro=new ResizeObserver(resize);ro.observe(wrap);resize();function bindQuad(attribLoc){gl.bindBuffer(gl.ARRAY_BUFFER,buf);gl.enableVertexAttribArray(attribLoc);gl.vertexAttribPointer(attribLoc,2,gl.FLOAT,false,0,0);}function draw(){const s=stateRef.current;const lp=liveProps.current;// Mobile auto-driven cursor: `scrollDriven` ties the cursor to\n// the wrapping section's scroll progress through the viewport,\n// `autoLoop` runs a slow Lissajous so the relief animates with\n// no input. `tapAndHold` is event-driven and writes mouse.x\n// directly from touch handlers, so it doesn't override here.\nif(isMobileNow()&&lp.hoverEffect){if(lp.mobileBehavior===\"scrollDriven\"){// Use the wrap's parent (typically the sticky section)\n// for progress measurement. Pinned-sticky wraps stay at\n// the same rect, but the parent scrolls through.\nconst driver=wrap.parentElement||wrap;const dRect=driver.getBoundingClientRect();const vh=window.innerHeight||1;const total=dRect.height+vh;const tProgress=total>0?Math.max(0,Math.min(1,(vh-dRect.top)/total)):0;// Diagonal sweep across the relief: enters bottom-left,\n// exits top-right. Margins of 0.15 keep the brush from\n// hugging the corners.\ns.mouse.x=.15+.7*tProgress;s.mouse.y=.15+.7*tProgress;}else if(lp.mobileBehavior===\"autoLoop\"){const tSec=(performance.now()-t0)/1e3;s.mouse.x=.5+.32*Math.sin(tSec*.6);s.mouse.y=.5+.22*Math.sin(tSec*.45+1.1);}}const targetActive=s.mouse.x>=0&&lp.hoverEffect?1:0;// capture last frame's state BEFORE we update — these become endpoint A\ns.prevActive=s.active;s.prevSmooth.x=s.smooth.x;s.prevSmooth.y=s.smooth.y;s.active+=(targetActive-s.active)*.12;if(s.smooth.x<0){s.smooth.x=s.mouse.x;s.smooth.y=s.mouse.y;s.prevSmooth.x=s.mouse.x;s.prevSmooth.y=s.mouse.y;}else if(s.mouse.x>=0){// softer easing — fast cursor moves *trail* the pointer,\n// capsule stamp fills the gap so coverage stays continuous\ns.smooth.x+=(s.mouse.x-s.smooth.x)*.12;s.smooth.y+=(s.mouse.y-s.smooth.y)*.12;}const t=(performance.now()-t0)/1e3;// ---- Pass 1: stamp into fboB using fboA as previous ----\ngl.bindFramebuffer(gl.FRAMEBUFFER,fboB.fbo);gl.viewport(0,0,fboB.w,fboB.h);gl.useProgram(progStamp);bindQuad(sLocs.aPos);gl.activeTexture(gl.TEXTURE0);gl.bindTexture(gl.TEXTURE_2D,fboA.tex);gl.uniform1i(sLocs.uPrev,0);const inside=s.mouse.x>=0;const bx=inside?s.smooth.x:-1;const by=inside?s.smooth.y:-1;// endpoint A is last frame's smoothed position; if we just entered,\n// collapse the capsule to a point so we don't streak from -1,-1\nconst aValid=s.prevSmooth.x>=0&&inside;const ax=aValid?s.prevSmooth.x:bx;const ay=aValid?s.prevSmooth.y:by;gl.uniform2f(sLocs.uMouseA,ax,ay);gl.uniform2f(sLocs.uMouseB,bx,by);gl.uniform1f(sLocs.uActiveA,aValid?s.prevActive:s.active);gl.uniform1f(sLocs.uActiveB,s.active);gl.uniform1f(sLocs.uBrush,lp.brushSize);gl.uniform1f(sLocs.uPersist,lp.trailPersistence);gl.uniform1f(sLocs.uEdgeRough,lp.edgeRoughness);gl.uniform1f(sLocs.uTime,t);gl.uniform2f(sLocs.uCanvasSize,fboB.w,fboB.h);gl.drawArrays(gl.TRIANGLES,0,3);// swap so fboA holds the latest accumulation\nconst tmp=fboA;fboA=fboB;fboB=tmp;// ---- Pass 2: composite to default framebuffer ----\ngl.bindFramebuffer(gl.FRAMEBUFFER,null);gl.viewport(0,0,canvas.width,canvas.height);gl.clearColor(0,0,0,0);gl.clear(gl.COLOR_BUFFER_BIT);gl.useProgram(progComp);bindQuad(cLocs.aPos);gl.activeTexture(gl.TEXTURE0);gl.bindTexture(gl.TEXTURE_2D,texBase);gl.uniform1i(cLocs.uBase,0);gl.activeTexture(gl.TEXTURE1);gl.bindTexture(gl.TEXTURE_2D,texTopper);gl.uniform1i(cLocs.uTopper,1);gl.activeTexture(gl.TEXTURE2);gl.bindTexture(gl.TEXTURE_2D,fboA.tex);gl.uniform1i(cLocs.uMask,2);gl.uniform1f(cLocs.uHasTopper,topper?1:0);gl.uniform1f(cLocs.uImageAspect,s.imageAspect);const cAspect=canvas.height>0?canvas.width/canvas.height:1;gl.uniform1f(cLocs.uCanvasAspect,cAspect);gl.uniform1f(cLocs.uGrain,lp.grainAmount);gl.uniform1f(cLocs.uTopperDesat,lp.topperDesat);gl.uniform1f(cLocs.uTime,t);gl.uniform2f(cLocs.uCanvasSize,canvas.width,canvas.height);gl.drawArrays(gl.TRIANGLES,0,3);}// Pause the rAF loop when the component is offscreen or the tab is\n// hidden. On a sticky-scroll page with several Relief sections this\n// is a major battery / thermal win — only the visible section ticks.\nlet inView=true;const startLoop=()=>{if(raf||!inView||document.hidden)return;raf=requestAnimationFrame(render);};const stopLoop=()=>{if(raf){cancelAnimationFrame(raf);raf=0;}};function render(){raf=0;if(!inView||document.hidden)return;draw();raf=requestAnimationFrame(render);}const io=new IntersectionObserver(entries=>{const entry=entries[0];inView=entry?.isIntersecting??true;if(inView)startLoop();else stopLoop();},// Start drawing slightly before the section scrolls into view so\n// the first frame isn't a blank canvas as it appears.\n{rootMargin:\"200px 0px\"});io.observe(wrap);const onVisibility=()=>{if(document.hidden)stopLoop();else startLoop();};document.addEventListener(\"visibilitychange\",onVisibility);startLoop();return()=>{stopLoop();cancelHold();io.disconnect();document.removeEventListener(\"visibilitychange\",onVisibility);window.removeEventListener(\"pointermove\",onPointerMove);wrap.removeEventListener(\"pointerleave\",onPointerLeave);wrap.removeEventListener(\"touchstart\",onTouchStart);wrap.removeEventListener(\"touchmove\",onTouchMove);wrap.removeEventListener(\"touchend\",onTouchEnd);wrap.removeEventListener(\"touchcancel\",onTouchEnd);ro.disconnect();gl.deleteProgram(progStamp);gl.deleteProgram(progComp);gl.deleteProgram(progCopy);gl.deleteShader(vs);gl.deleteShader(fsStamp);gl.deleteShader(fsComp);gl.deleteShader(fsCopy);gl.deleteBuffer(buf);[whiteTex,texBase,texTopper].forEach(t=>{if(t)gl.deleteTexture(t);});[fboA,fboB].forEach(f=>{gl.deleteFramebuffer(f.fbo);gl.deleteTexture(f.tex);});};},[baseImage,topper]);return /*#__PURE__*/_jsxs(\"div\",{ref:wrapRef,style:{position:\"relative\",width:\"100%\",height:\"100%\",overflow:\"visible\",...style},children:[/*#__PURE__*/_jsx(\"canvas\",{ref:canvasRef,style:{width:\"100%\",height:\"100%\",display:\"block\",background:baseImage?\"transparent\":\"#222\"}}),isCanvas&&!baseImage&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",color:\"#888\",fontFamily:\"Inter, sans-serif\",fontSize:12,pointerEvents:\"none\"},children:\"Upload a Base Image\"})]});}WebGLRelief.displayName=\"WebGLRelief\";WebGLRelief.defaultProps={brushSize:.2,triggerOffsetX:400,triggerOffsetY:400,hoverEffect:true,edgeRoughness:.45,grainAmount:.08,trailPersistence:.9,topperDesat:.12,mobileBehavior:\"scrollDriven\",mobileBreakpointPx:810};addPropertyControls(WebGLRelief,{baseImage:{type:ControlType.Image,title:\"Base Image\"},topper:{type:ControlType.Image,title:\"Topper\",description:\"Image rubbed in under the cursor on hover.\"},brushSize:{type:ControlType.Number,title:\"Brush Size\",min:.05,max:1,step:.01,defaultValue:.2},edgeRoughness:{type:ControlType.Number,title:\"Edge Roughness\",description:\"How torn / dusty the brush silhouette looks. 0 = clean disc.\",min:0,max:1,step:.01,defaultValue:.45},trailPersistence:{type:ControlType.Number,title:\"Trail Persistence\",description:\"How long the rubbed-in reveal stays. 1 = permanent, 0.85 = quick fade.\",min:0,max:1,step:.005,defaultValue:.9},grainAmount:{type:ControlType.Number,title:\"Grain Amount\",description:\"Dust / film grain over the final image.\",min:0,max:.25,step:.005,defaultValue:.08},topperDesat:{type:ControlType.Number,title:\"Topper Desat\",description:\"Desaturate the topper inside the reveal so it blends with the base.\",min:0,max:1,step:.01,defaultValue:.12},triggerOffsetX:{type:ControlType.Number,title:\"Trigger Offset X\",min:0,max:2e3,step:10,unit:\"px\",defaultValue:400},triggerOffsetY:{type:ControlType.Number,title:\"Trigger Offset Y\",min:0,max:2e3,step:10,unit:\"px\",defaultValue:400},hoverEffect:{type:ControlType.Boolean,title:\"Hover Effect\",enabledTitle:\"Yes\",disabledTitle:\"No\",defaultValue:true},mobileBehavior:{type:ControlType.Enum,title:\"Mobile\",options:[\"scrollDriven\",\"autoLoop\",\"tapAndHold\"],optionTitles:[\"Scroll Driven\",\"Auto Loop\",\"Tap & Hold\"],defaultValue:\"scrollDriven\",description:\"How the reveal behaves on touch devices. Scroll Driven sweeps the cursor with section scroll progress (best for sticky-scroll). Auto Loop animates continuously. Tap & Hold waits for an intentional hold before tracking touch.\"},mobileBreakpointPx:{type:ControlType.Number,title:\"Mobile ≤\",defaultValue:810,min:320,max:1200,step:1,unit:\"px\",description:\"Viewport widths at or below this threshold use the mobile behavior. The render loop also pauses offscreen and drops to 1.5\\xd7 DPR on mobile.\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"WebGLRelief\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"600\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any\",\"framerDisableUnlink\":\"* @framerIntrinsicWidth 480\",\"framerSupportedLayoutHeight\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Webglrelief.map","// Generated by Framer (423a4cc)\nexport default function metadata(params,activeLocale){return{description:\"The first ever hands-on course in cosmetic dentistry led by Dr. Michael Apa.\",favicon:\"https://framerusercontent.com/assets/BZsBEQowImCTKRhHTqTm175iOA.svg\",robots:\"max-image-preview:large\",socialImage:\"https://framerusercontent.com/assets/ru3JYJkJjwugZXqDPji7aEIhCDg.png\",title:\"Design x Hand | September 18-19 | New York, NY\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (04346e4)\nimport siteMetadata from\"#framer/local/siteMetadata/siteMetadata/siteMetadata.js\";export default function metadata(params,activeLocale){return{breakpoints:[{hash:\"72rtr7\",mediaQuery:\"(min-width: 1440px)\"},{hash:\"19xy558\",mediaQuery:\"(min-width: 1024px) and (max-width: 1439.98px)\"},{hash:\"mz7xvm\",mediaQuery:\"(min-width: 810px) and (max-width: 1023.98px)\"},{hash:\"1bdl0cb\",mediaQuery:\"(max-width: 809.98px)\"}],description:siteMetadata(params,activeLocale).description,elements:{eJzjLAzgt:\"buffer1\",EVQHK_chQ:\"agenda-day-2\",EwLgsvPjV:\"horizontalscrollwrapper\",iCzM9Fyd8:\"unparralled experience buffer\",jo4sO8pVj:\"hero\",lfAh5TMjy:\"faq\",NeDIOE8Ef:\"drapa\",pHhbIF7ne:\"ovaltrigger\",R7QUZ8ZAE:\"ticket\",shWMa6odL:\"drapasticky\",tlfNlk38v:\"footer\",V801dzUrw:\"buffer2\",wpzGgnOhh:\"mission\",yIjYmwKFY:\"wheretostay\",yu4Gg1IDa:\"agenda\",Z2a2QlpiU:\"agenda-day-1\"},robots:\"max-image-preview:large\",serializationId:\"framer-MfAoC\",title:siteMetadata(params,activeLocale).title||\"Home\",viewport:\"width=device-width\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","var t,e=Object.create,r=Object.defineProperty,n=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,s=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(t,e,n)=>e in t?r(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,u=(t,e)=>function(){return e||(0,t[i(t)[0]])((e={exports:{}}).exports,e),e.exports;},l=(t,e,s,o)=>{if(e&&\"object\"==typeof e||\"function\"==typeof e)for(let u of i(e))a.call(t,u)||u===s||r(t,u,{get:()=>e[u],enumerable:!(o=n(e,u))||o.enumerable});return t;},h=(t,n,i)=>(i=null!=t?e(s(t)):{},l(// If the importer is in node compatibility mode or this is not an ESM\n    // file that has been converted to a CommonJS file using a Babel-\n    // compatible transform (i.e. \"__esModule\" has not been set), then set\n    // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n    !n&&t&&t.__esModule?i:r(i,\"default\",{value:t,enumerable:!0}),t)),c=(t,e,r)=>o(t,\"symbol\"!=typeof e?e+\"\":e,r),f=u({\"../../../node_modules/dataloader/index.js\"(t,e){var r,n=/* @__PURE__ */function(){function t(t,e){if(\"function\"!=typeof t)throw TypeError(\"DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but got: \"+t+\".\");this._batchLoadFn=t,this._maxBatchSize=function(t){if(!(!t||!1!==t.batch))return 1;var e=t&&t.maxBatchSize;if(void 0===e)return 1/0;if(\"number\"!=typeof e||e<1)throw TypeError(\"maxBatchSize must be a positive number: \"+e);return e;}(e),this._batchScheduleFn=function(t){var e=t&&t.batchScheduleFn;if(void 0===e)return i;if(\"function\"!=typeof e)throw TypeError(\"batchScheduleFn must be a function: \"+e);return e;}(e),this._cacheKeyFn=function(t){var e=t&&t.cacheKeyFn;if(void 0===e)return function(t){return t;};if(\"function\"!=typeof e)throw TypeError(\"cacheKeyFn must be a function: \"+e);return e;}(e),this._cacheMap=function(t){if(!(!t||!1!==t.cache))return null;var e=t&&t.cacheMap;if(void 0===e)return /* @__PURE__ */new Map;if(null!==e){var r=[\"get\",\"set\",\"delete\",\"clear\"].filter(function(t){return e&&\"function\"!=typeof e[t];});if(0!==r.length)throw TypeError(\"Custom cacheMap missing methods: \"+r.join(\", \"));}return e;}(e),this._batch=null,this.name=e&&e.name?e.name:null;}var e=t.prototype;return e.load=function(t){if(null==t)throw TypeError(\"The loader.load() function must be called with a value, but got: \"+String(t)+\".\");var e=function(t){var e=t._batch;if(null!==e&&!e.hasDispatched&&e.keys.length<t._maxBatchSize)return e;var r={hasDispatched:!1,keys:[],callbacks:[]};return t._batch=r,t._batchScheduleFn(function(){(function(t,e){var r;if(e.hasDispatched=!0,0===e.keys.length){a(e);return;}try{r=t._batchLoadFn(e.keys);}catch(r){return s(t,e,TypeError(\"DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function errored synchronously: \"+String(r)+\".\"));}if(!r||\"function\"!=typeof r.then)return s(t,e,TypeError(\"DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise: \"+String(r)+\".\"));r.then(function(t){if(!o(t))throw TypeError(\"DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise of an Array: \"+String(t)+\".\");if(t.length!==e.keys.length)throw TypeError(\"DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise of an Array of the same length as the Array of keys.\\n\\nKeys:\\n\"+String(e.keys)+\"\\n\\nValues:\\n\"+String(t));a(e);for(var r=0;r<e.callbacks.length;r++){var n=t[r];n instanceof Error?e.callbacks[r].reject(n):e.callbacks[r].resolve(n);}}).catch(function(r){s(t,e,r);});})(t,r);}),r;}(this),r=this._cacheMap,n=this._cacheKeyFn(t);if(r){var i=r.get(n);if(i){var u=e.cacheHits||(e.cacheHits=[]);return new Promise(function(t){u.push(function(){t(i);});});}}e.keys.push(t);var l=new Promise(function(t,r){e.callbacks.push({resolve:t,reject:r});});return r&&r.set(n,l),l;},e.loadMany=function(t){if(!o(t))throw TypeError(\"The loader.loadMany() function must be called with Array<key> but got: \"+t+\".\");for(var e=[],r=0;r<t.length;r++)e.push(this.load(t[r]).catch(function(t){return t;}));return Promise.all(e);},e.clear=function(t){var e=this._cacheMap;if(e){var r=this._cacheKeyFn(t);e.delete(r);}return this;},e.clearAll=function(){var t=this._cacheMap;return t&&t.clear(),this;},e.prime=function(t,e){var r=this._cacheMap;if(r){var n,i=this._cacheKeyFn(t);void 0===r.get(i)&&(e instanceof Error?(n=Promise.reject(e)).catch(function(){}):n=Promise.resolve(e),r.set(i,n));}return this;},t;}(),i=\"object\"==typeof process&&\"function\"==typeof process.nextTick?function(t){r||(r=Promise.resolve()),r.then(function(){process.nextTick(t);});}:\"function\"==typeof setImmediate?function(t){setImmediate(t);}:function(t){setTimeout(t);};function s(t,e,r){a(e);for(var n=0;n<e.keys.length;n++)t.clear(e.keys[n]),e.callbacks[n].reject(r);}function a(t){if(t.cacheHits)for(var e=0;e<t.cacheHits.length;e++)t.cacheHits[e]();}function o(t){return\"object\"==typeof t&&null!==t&&\"number\"==typeof t.length&&(0===t.length||t.length>0&&Object.prototype.hasOwnProperty.call(t,t.length-1));}e.exports=n;}}),d=h(f(),1),g={Uint8:1,Uint16:2,Uint32:4,BigUint64:8,Int8:1,Int16:2,Int32:4,BigInt64:8,Float32:4,Float64:8},p=class{getOffset(){return this.offset;}ensureLength(t){let e=this.bytes.length;if(!(this.offset+t<=e))throw Error(\"Reading out of bounds\");}readUint8(){let t=g.Uint8;this.ensureLength(t);let e=this.view.getUint8(this.offset);return this.offset+=t,e;}readUint16(){let t=g.Uint16;this.ensureLength(t);let e=this.view.getUint16(this.offset);return this.offset+=t,e;}readUint32(){let t=g.Uint32;this.ensureLength(t);let e=this.view.getUint32(this.offset);return this.offset+=t,e;}readUint64(){let t=this.readBigUint64();return Number(t);}readBigUint64(){let t=g.BigUint64;this.ensureLength(t);let e=this.view.getBigUint64(this.offset);return this.offset+=t,e;}readInt8(){let t=g.Int8;this.ensureLength(t);let e=this.view.getInt8(this.offset);return this.offset+=t,e;}readInt16(){let t=g.Int16;this.ensureLength(t);let e=this.view.getInt16(this.offset);return this.offset+=t,e;}readInt32(){let t=g.Int32;this.ensureLength(t);let e=this.view.getInt32(this.offset);return this.offset+=t,e;}readInt64(){let t=this.readBigInt64();return Number(t);}readBigInt64(){let t=g.BigInt64;this.ensureLength(t);let e=this.view.getBigInt64(this.offset);return this.offset+=t,e;}readFloat32(){let t=g.Float32;this.ensureLength(t);let e=this.view.getFloat32(this.offset);return this.offset+=t,e;}readFloat64(){let t=g.Float64;this.ensureLength(t);let e=this.view.getFloat64(this.offset);return this.offset+=t,e;}readBytes(t){let e=this.offset,r=e+t,n=this.bytes.subarray(e,r);return this.offset=r,n;}readString(){let t=this.readUint32(),e=this.readBytes(t);return this.decoder.decode(e);}readJson(){let t=this.readString();return JSON.parse(t);}constructor(t){this.bytes=t,c(this,\"offset\",0),c(this,\"view\"),c(this,\"decoder\",new TextDecoder),this.view=v(this.bytes);}};function v(t){return new DataView(t.buffer,t.byteOffset,t.byteLength);}// src/code-generation/components/cms/bundled/DatabaseDictionaryIndex.ts\nimport{ControlType as y}from\"framer\";// ../../library/src/utils/utils.ts\nvar m=\"undefined\"!=typeof window,w=m&&\"function\"==typeof window.requestIdleCallback;// src/code-generation/components/cms/bundled/assert.ts\nfunction I(t,...e){if(!t)throw Error(\"Assertion Error\"+(e.length>0?\": \"+e.join(\" \"):\"\"));}function b(t){throw Error(`Unexpected value: ${t}`);}// src/code-generation/components/cms/bundled/BufferWriter.ts\nvar U=1024,S=1.5,k=t=>2**t-1,L=t=>-(2**(t-1)),B=t=>2**(t-1)-1,E={Uint8:0,Uint16:0,Uint32:0,Uint64:0,BigUint64:0,Int8:L(8),Int16:L(16),Int32:L(32),Int64:Number.MIN_SAFE_INTEGER,BigInt64:-(BigInt(2)**BigInt(63))},M={Uint8:k(8),Uint16:k(16),Uint32:k(32),Uint64:Number.MAX_SAFE_INTEGER,BigUint64:BigInt(2)**BigInt(64)-BigInt(1),Int8:B(8),Int16:B(16),Int32:B(32),Int64:Number.MAX_SAFE_INTEGER,BigInt64:BigInt(2)**BigInt(63)-BigInt(1)};function T(t,e,r,n){I(t>=e,t,\"outside lower bound for\",n),I(t<=r,t,\"outside upper bound for\",n);}var F=class{getOffset(){return this.offset;}slice(t=0,e=this.offset){return this.bytes.slice(t,e);}subarray(t=0,e=this.offset){return this.bytes.subarray(t,e);}ensureLength(t){let e=this.bytes.length;if(this.offset+t<=e)return;let r=new Uint8Array(Math.ceil(e*S)+t);r.set(this.bytes),this.bytes=r,this.view=v(r);}writeUint8(t){T(t,E.Uint8,M.Uint8,\"Uint8\");let e=g.Uint8;this.ensureLength(e),this.view.setUint8(this.offset,t),this.offset+=e;}writeUint16(t){T(t,E.Uint16,M.Uint16,\"Uint16\");let e=g.Uint16;this.ensureLength(e),this.view.setUint16(this.offset,t),this.offset+=e;}writeUint32(t){T(t,E.Uint32,M.Uint32,\"Uint32\");let e=g.Uint32;this.ensureLength(e),this.view.setUint32(this.offset,t),this.offset+=e;}writeUint64(t){T(t,E.Uint64,M.Uint64,\"Uint64\");let e=BigInt(t);this.writeBigUint64(e);}writeBigUint64(t){T(t,E.BigUint64,M.BigUint64,\"BigUint64\");let e=g.BigUint64;this.ensureLength(e),this.view.setBigUint64(this.offset,t),this.offset+=e;}writeInt8(t){T(t,E.Int8,M.Int8,\"Int8\");let e=g.Int8;this.ensureLength(e),this.view.setInt8(this.offset,t),this.offset+=e;}writeInt16(t){T(t,E.Int16,M.Int16,\"Int16\");let e=g.Int16;this.ensureLength(e),this.view.setInt16(this.offset,t),this.offset+=e;}writeInt32(t){T(t,E.Int32,M.Int32,\"Int32\");let e=g.Int32;this.ensureLength(e),this.view.setInt32(this.offset,t),this.offset+=e;}writeInt64(t){T(t,E.Int64,M.Int64,\"Int64\");let e=BigInt(t);this.writeBigInt64(e);}writeBigInt64(t){T(t,E.BigInt64,M.BigInt64,\"BigInt64\");let e=g.BigInt64;this.ensureLength(e),this.view.setBigInt64(this.offset,t),this.offset+=e;}writeFloat32(t){let e=g.Float32;this.ensureLength(e),this.view.setFloat32(this.offset,t),this.offset+=e;}writeFloat64(t){let e=g.Float64;this.ensureLength(e),this.view.setFloat64(this.offset,t),this.offset+=e;}writeBytes(t){let e=t.length;this.ensureLength(e),this.bytes.set(t,this.offset),this.offset+=e;}encodeString(t){let e=this.encodedStrings.get(t);if(e)return e;let r=this.encoder.encode(t);return this.encodedStrings.set(t,r),r;}writeString(t){let e=this.encodeString(t),r=e.length;this.writeUint32(r),this.writeBytes(e);}writeJson(t){let e=JSON.stringify(t);this.writeString(e);}constructor(){c(this,\"offset\",0),c(this,\"bytes\",new Uint8Array(U)),c(this,\"view\",v(this.bytes)),c(this,\"encoder\",new TextEncoder),c(this,\"encodedStrings\",/* @__PURE__ */new Map);}};// src/utils/typeChecks.ts\nfunction x(t){return\"string\"==typeof t;}function N(t){return Number.isFinite(t);}function A(t){return null===t;}// src/code-generation/components/cms/bundled/models/DatabaseItemPointerModel.ts\nvar O=class t{static fromString(e){let[r,n,i]=e.split(\"/\").map(Number);return I(N(r),\"Invalid chunkId\"),I(N(n),\"Invalid offset\"),I(N(i),\"Invalid length\"),new t(r,n,i);}toString(){return`${this.chunkId}/${this.offset}/${this.length}`;}static read(e){let r=e.readUint16(),n=e.readUint32(),i=e.readUint32();return new t(r,n,i);}write(t){t.writeUint16(this.chunkId),t.writeUint32(this.offset),t.writeUint32(this.length);}compare(t){return this.chunkId<t.chunkId?-1:this.chunkId>t.chunkId?1:this.offset<t.offset?-1:this.offset>t.offset?1:(I(this.length===t.length),0);}constructor(t,e,r){this.chunkId=t,this.offset=e,this.length=r;}};// src/code-generation/components/cms/bundled/models/DatabaseValueModel.ts\nimport{ControlType as P}from\"framer\";function R(t){if(A(t))return 0/* Null */;switch(t.type){case P.Array:return 1/* Array */;case P.Boolean:return 2/* Boolean */;case P.Color:return 3/* Color */;case P.Date:return 4/* Date */;case P.Enum:return 5/* Enum */;case P.File:return 6/* File */;case P.ResponsiveImage:return 10/* ResponsiveImage */;case P.Link:return 7/* Link */;case P.Number:return 8/* Number */;case P.Object:return 9/* Object */;case P.RichText:return 11/* RichText */;case P.String:return 12/* String */;case P.VectorSetItem:return 13/* VectorSetItem */;default:b(t);}}function q(e){let r=e.readUint16(),n=[];for(let i=0;i<r;i++){let r=t.read(e);n.push(r);}return{type:P.Array,value:n};}function _(e,r){for(let n of(e.writeUint16(r.value.length),r.value))t.write(e,n);}function D(e,r,n){let i=e.value.length,s=r.value.length;if(i<s)return -1;if(i>s)return 1;for(let s=0;s<i;s++){let i=e.value[s],a=r.value[s],o=t.compare(i,a,n);if(0!==o)return o;}return 0;}function j(t){return{type:P.Boolean,value:0!==t.readUint8()};}function C(t,e){t.writeUint8(e.value?1:0);}function J(t,e){return t.value<e.value?-1:t.value>e.value?1:0;}function V(t){return{type:P.Color,value:t.readString()};}function W(t,e){t.writeString(e.value);}function $(t,e){return t.value<e.value?-1:t.value>e.value?1:0;}function z(t){let e=t.readInt64(),r=new Date(e);return{type:P.Date,value:r.toISOString()};}function G(t,e){let r=new Date(e.value),n=r.getTime();t.writeInt64(n);}function K(t,e){let r=new Date(t.value),n=new Date(e.value);return r<n?-1:r>n?1:0;}function H(t){return{type:P.Enum,value:t.readString()};}function X(t,e){t.writeString(e.value);}function Q(t,e){return t.value<e.value?-1:t.value>e.value?1:0;}function Y(t){return{type:P.File,value:t.readString()};}function Z(t,e){t.writeString(e.value);}function tt(t,e){return t.value<e.value?-1:t.value>e.value?1:0;}function te(t){return{type:P.Link,value:t.readJson()};}function tr(t,e){t.writeJson(e.value);}function tn(t,e){let r=JSON.stringify(t.value),n=JSON.stringify(e.value);return r<n?-1:r>n?1:0;}function ti(t){return{type:P.Number,value:t.readFloat64()};}function ts(t,e){t.writeFloat64(e.value);}function ta(t,e){return t.value<e.value?-1:t.value>e.value?1:0;}function to(e){let r=e.readUint16(),n={};for(let i=0;i<r;i++){let r=e.readString();n[r]=t.read(e);}return{type:P.Object,value:n};}function tu(e,r){let n=Object.entries(r.value);for(let[r,i]of(e.writeUint16(n.length),n))e.writeString(r),t.write(e,i);}function tl(e,r,n){let i=Object.keys(e.value).sort(),s=Object.keys(r.value).sort();if(i.length<s.length)return -1;if(i.length>s.length)return 1;for(let a=0;a<i.length;a++){let o=i[a],u=s[a];if(o<u)return -1;if(o>u)return 1;let l=e.value[o]??null,h=r.value[u]??null,c=t.compare(l,h,n);if(0!==c)return c;}return 0;}function th(t){return{type:P.ResponsiveImage,value:t.readJson()};}function tc(t,e){t.writeJson(e.value);}function tf(t,e){let r=JSON.stringify(t.value),n=JSON.stringify(e.value);return r<n?-1:r>n?1:0;}function td(t){let e=t.readInt8();if(0===e)return{type:P.RichText,value:t.readUint32()};if(1===e)return{type:P.RichText,value:t.readString()};throw Error(\"Invalid rich text pointer\");}function tg(t,e){if(N(e.value)){t.writeInt8(0),t.writeUint32(e.value);return;}if(x(e.value)){t.writeInt8(1),t.writeString(e.value);return;}throw Error(\"Invalid rich text pointer\");}function tp(t,e){let r=t.value,n=e.value;if(N(r)&&N(n)||x(r)&&x(n))return r<n?-1:r>n?1:0;throw Error(\"Invalid rich text pointer\");}function tv(t){return{type:P.String,value:t.readString()};}function ty(t,e){t.writeString(e.value);}function tm(t,e,r){let n=t.value,i=e.value;return(0/* CaseInsensitive */===r.type&&(n=t.value.toLowerCase(),i=e.value.toLowerCase()),n<i)?-1:n>i?1:0;}function tw(t){return{type:P.VectorSetItem,value:t.readUint32()};}function tI(t,e){t.writeUint32(e.value);}function tb(t,e){let r=t.value,n=e.value;return r<n?-1:r>n?1:0;}(t=>{t.read=function(t){let e=t.readUint8();switch(e){case 0/* Null */:return null;case 1/* Array */:return q(t);case 2/* Boolean */:return j(t);case 3/* Color */:return V(t);case 4/* Date */:return z(t);case 5/* Enum */:return H(t);case 6/* File */:return Y(t);case 7/* Link */:return te(t);case 8/* Number */:return ti(t);case 9/* Object */:return to(t);case 10/* ResponsiveImage */:return th(t);case 11/* RichText */:return td(t);case 12/* String */:return tv(t);case 13/* VectorSetItem */:return tw(t);default:b(e);}},t.write=function(t,e){let r=R(e);if(t.writeUint8(r),!A(e))switch(e.type){case P.Array:return _(t,e);case P.Boolean:return C(t,e);case P.Color:return W(t,e);case P.Date:return G(t,e);case P.Enum:return X(t,e);case P.File:return Z(t,e);case P.Link:return tr(t,e);case P.Number:return ts(t,e);case P.Object:return tu(t,e);case P.ResponsiveImage:return tc(t,e);case P.RichText:return tg(t,e);case P.VectorSetItem:return tI(t,e);case P.String:return ty(t,e);default:b(e);}},t.compare=function(t,e,r){let n=R(t),i=R(e);if(n<i)return -1;if(n>i)return 1;if(A(t)||A(e))return 0;switch(t.type){case P.Array:return I(e.type===P.Array),D(t,e,r);case P.Boolean:return I(e.type===P.Boolean),J(t,e);case P.Color:return I(e.type===P.Color),$(t,e);case P.Date:return I(e.type===P.Date),K(t,e);case P.Enum:return I(e.type===P.Enum),Q(t,e);case P.File:return I(e.type===P.File),tt(t,e);case P.Link:return I(e.type===P.Link),tn(t,e);case P.Number:return I(e.type===P.Number),ta(t,e);case P.Object:return I(e.type===P.Object),tl(t,e,r);case P.ResponsiveImage:return I(e.type===P.ResponsiveImage),tf(t,e);case P.RichText:return I(e.type===P.RichText),tp(t,e);case P.VectorSetItem:return I(e.type===P.VectorSetItem),tb(t,e);case P.String:return I(e.type===P.String),tm(t,e,r);default:b(t);}};})(t||(t={}));// src/code-generation/components/cms/bundled/models/DatabaseDictionaryIndexModel.ts\nvar tU=class e{sortEntries(){this.entries.sort((e,r)=>{for(let n=0;n<this.fieldNames.length;n++){let i=e.values[n],s=r.values[n],a=t.compare(i,s,this.options.collation);if(0!==a)return a;}return e.pointer.compare(r.pointer);});}static deserialize(r){let n=new p(r),i=n.readJson(),s=n.readUint8(),a=[];for(let t=0;t<s;t++){let t=n.readString();a.push(t);}let o=new e(a,{collation:i}),u=n.readUint32();for(let e=0;e<u;e++){let e=[];for(let r=0;r<s;r++){let r=t.read(n);e.push(r);}let r=O.read(n);o.entries.push({values:e,pointer:r});}return o;}serialize(){let e=new F;for(let t of(e.writeJson(this.options.collation),e.writeUint8(this.fieldNames.length),this.fieldNames))e.writeString(t);for(let r of(this.sortEntries(),e.writeUint32(this.entries.length),this.entries)){let{values:n,pointer:i}=r;for(let r of n)t.write(e,r);i.write(e);}return e.subarray();}addItem(t,e){let r=this.fieldNames.map(e=>t.getField(e)??null);this.entries.push({values:r,pointer:e});}constructor(t,e){this.fieldNames=t,this.options=e,c(this,\"entries\",[]);}},tS=3,tk=250,tL=[408,// Request Timeout\n429,// Too Many Requests\n500,// Internal Server Error\n502,// Bad Gateway\n503,// Service Unavailable\n504],tB=async(t,e)=>{let r=0;for(;;){try{let n=await fetch(t,e);if(!tL.includes(n.status)||++r>tS)return n;}catch(t){if(e?.signal?.aborted||++r>tS)throw t;}await tE(r);}};async function tE(t){let e=Math.floor(tk*(Math.random()+1)*2**(t-1));await new Promise(t=>{setTimeout(t,e);});}// src/code-generation/components/cms/bundled/rangeRequest.ts\nasync function tM(t,e){let r=tx(e),n=[],i=0;for(let t of r)n.push(`${t.from}-${t.to-1}`),i+=t.to-t.from;let s=new URL(t),a=n.join(\",\");s.searchParams.set(\"range\",a);let o=await tB(s);if(200!==o.status)throw Error(`Request failed: ${o.status} ${o.statusText}`);let u=await o.arrayBuffer(),l=new Uint8Array(u);if(l.length!==i)throw Error(\"Request failed: Unexpected response length\");let h=new tT,c=0;for(let t of r){let e=t.to-t.from,r=c+e,n=l.subarray(c,r);h.write(t.from,n),c=r;}return e.map(t=>h.read(t.from,t.to-t.from));}var tT=class{read(t,e){for(let r of this.chunks){if(t<r.start)break;if(t>r.end)continue;if(t+e>r.end)break;let n=t-r.start,i=n+e;return r.data.slice(n,i);}throw Error(\"Missing data\");}write(t,e){let r=t,n=r+e.length,i=0,s=this.chunks.length;for(;i<s;i++){let t=this.chunks[i];if(I(t,\"Missing chunk\"),!(r>t.end)){if(r>t.start){let n=r-t.start,i=t.data.subarray(0,n);e=tF(i,e),r=t.start;}break;}}for(;s>i;s--){let t=this.chunks[s-1];if(I(t,\"Missing chunk\"),!(n<t.start)){if(n<t.end){let r=n-t.start,i=t.data.subarray(r);e=tF(e,i),n=t.end;}break;}}let a={start:r,end:n,data:e},o=s-i;this.chunks.splice(i,o,a);}constructor(){c(this,\"chunks\",[]);}};function tF(t,e){let r=t.length+e.length,n=new Uint8Array(r);return n.set(t,0),n.set(e,t.length),n;}function tx(t){I(t.length>0,\"Must have at least one range\");let e=[...t].sort((t,e)=>t.from-e.from),r=[];for(let t of e){let e=r.length-1,n=r[e];n&&t.from<=n.to?r[e]={from:n.from,to:Math.max(n.to,t.to)}:r.push(t);}return r;}// src/code-generation/components/cms/bundled/DatabaseDictionaryIndex.ts\nvar tN=class{async loadModel(){let[t]=await tM(this.options.url,[this.options.range]);return I(t,\"Failed to load model\"),tU.deserialize(t);}async getModel(){return this.modelPromise??=this.loadModel(),this.model??=await this.modelPromise,this.model;}async lookupItems(t){I(t.length===this.fields.length,\"Invalid query length\");let e=await this.getModel(),r=t.reduce((t,e,r)=>t.flatMap(t=>{switch(e.type){case\"All\"/* All */:return[t];case\"Equals\"/* Equals */:return this.queryEquals(t,e,r);case\"NotEquals\"/* NotEquals */:return this.queryNotEquals(t,e,r);case\"LessThan\"/* LessThan */:return this.queryLessThan(t,e,r);case\"GreaterThan\"/* GreaterThan */:return this.queryGreaterThan(t,e,r);case\"Contains\"/* Contains */:return this.queryContains(t,e,r);case\"StartsWith\"/* StartsWith */:return this.queryStartsWith(t,e,r);case\"EndsWith\"/* EndsWith */:return this.queryEndsWith(t,e,r);default:b(e);}}),[e.entries]),n=[];for(let t of r)for(let e of t){let t={};for(let r=0;r<this.options.fieldNames.length;r++){let n=this.options.fieldNames[r],i=e.values[r];t[n]=i;}n.push({pointer:e.pointer.toString(),data:t});}return n;}queryEquals(t,e,r){let n=this.getLeftMost(t,r,e.value),i=this.getRightMost(t,r,e.value),s=t.slice(n,i+1);return s.length>0?[s]:[];}queryNotEquals(t,e,r){let n=this.getLeftMost(t,r,e.value),i=this.getRightMost(t,r,e.value),s=[],a=t.slice(0,n);a.length>0&&s.push(a);let o=t.slice(i+1);return o.length>0&&s.push(o),s;}queryLessThan(t,e,r){let n=this.getRightMost(t,r,null);if(t=t.slice(n+1),e.inclusive){let n=this.getRightMost(t,r,e.value),i=t.slice(0,n+1);return i.length>0?[i]:[];}let i=this.getLeftMost(t,r,e.value),s=t.slice(0,i);return s.length>0?[s]:[];}queryGreaterThan(t,e,r){let n=this.getRightMost(t,r,null);if(t=t.slice(n+1),e.inclusive){let n=this.getLeftMost(t,r,e.value),i=t.slice(n);return i.length>0?[i]:[];}let i=this.getRightMost(t,r,e.value),s=t.slice(i+1);return s.length>0?[s]:[];}queryContains(t,e,r){return this.findItems(t,r,t=>{if(t?.type!==y.String||e.value?.type!==y.String)return!1;let r=t.value,n=e.value.value;return 0/* CaseInsensitive */===this.collation.type&&(r=r.toLowerCase(),n=n.toLowerCase()),r.includes(n);});}queryStartsWith(t,e,r){return this.findItems(t,r,t=>{if(t?.type!==y.String||e.value?.type!==y.String)return!1;let r=t.value,n=e.value.value;return 0/* CaseInsensitive */===this.collation.type&&(r=r.toLowerCase(),n=n.toLowerCase()),r.startsWith(n);});}queryEndsWith(t,e,r){return this.findItems(t,r,t=>{if(t?.type!==y.String||e.value?.type!==y.String)return!1;let r=t.value,n=e.value.value;return 0/* CaseInsensitive */===this.collation.type&&(r=r.toLowerCase(),n=n.toLowerCase()),r.endsWith(n);});}/**\n   * Returns the index of the left most entry that is equal to the target.\n   *\n   * ```text\n   *   Left most\n   *       ↓\n   * ┌───┬───┬───┬───┬───┬───┐\n   * │ 1 │ 2 │ 2 │ 2 │ 2 │ 3 │\n   * └───┴───┴───┴───┴───┴───┘\n   * ```\n   *\n   * @param entries The entries array to search in.\n   * @param position The position of the value in the entry.\n   * @param target The target value to search for.\n   * @returns The index of the left most entry that is equal to the target.\n   */getLeftMost(e,r,n){let i=0,s=e.length;for(;i<s;){let a=i+s>>1,o=e[a],u=o.values[r];0>t.compare(u,n,this.collation)?i=a+1:s=a;}return i;}/**\n   * Returns the index of the right most entry that is equal to the target.\n   *\n   * ```text\n   *              Right most\n   *                   ↓\n   * ┌───┬───┬───┬───┬───┬───┐\n   * │ 1 │ 2 │ 2 │ 2 │ 2 │ 3 │\n   * └───┴───┴───┴───┴───┴───┘\n   * ```\n   *\n   * @param entries The entries array to search in.\n   * @param position The position of the value in the entry.\n   * @param target The target value to search for.\n   * @returns The index of the right most entry that is equal to the target.\n   */getRightMost(e,r,n){let i=0,s=e.length;for(;i<s;){let a=i+s>>1,o=e[a],u=o.values[r];t.compare(u,n,this.collation)>0?s=a:i=a+1;}return s-1;}/**\n   * Finds all items that are matching the predicate and groups adjacent items together.\n   *\n   * @param entries The entries array to search in.\n   * @param position The position of the value in the entry.\n   * @param predicate The predicate to match the values against.\n   * @returns An array of chunks that match the predicate.\n   */findItems(t,e,r){let n=[],i=0;for(let s=0;s<t.length;s++){let a=t[s],o=a.values[e],u=r(o);if(!u){if(i<s){let e=t.slice(i,s);n.push(e);}i=s+1;}}if(i<t.length){let e=t.slice(i);n.push(e);}return n;}constructor(t){this.options=t,c(this,\"schema\"),c(this,\"fields\"),c(this,\"supportedLookupTypes\",[\"All\"/* All */,\"Equals\"/* Equals */,\"NotEquals\"/* NotEquals */,\"LessThan\"/* LessThan */,\"GreaterThan\"/* GreaterThan */,\"Contains\"/* Contains */,\"StartsWith\"/* StartsWith */,\"EndsWith\"/* EndsWith */]),c(this,\"modelPromise\"),c(this,\"model\"),c(this,\"collation\");let e={},r=[];for(let t of this.options.fieldNames){let n=this.options.collectionSchema[t];I(n,\"Missing definition for field\",t),e[t]=n,r.push({type:\"Identifier\",name:t});}this.schema=e,this.fields=r,this.collation=this.options.collation;}},tA=class e{static read(r){let n=new e,i=r.readUint16();for(let e=0;e<i;e++){let e=r.readString(),i=t.read(r);n.setField(e,i);}return n;}write(e){for(let[r,n]of(e.writeUint16(this.fields.size),this.fields))e.writeString(r),t.write(e,n);}getData(){let t={};for(let[e,r]of this.fields)t[e]=r;return t;}setField(t,e){this.fields.set(t,e);}getField(t){return this.fields.get(t);}constructor(){c(this,\"fields\",/* @__PURE__ */new Map);}},tO=class{scanItems(){return this.itemsPromise??=tB(this.url).then(async t=>{if(!t.ok)throw Error(`Request failed: ${t.status} ${t.statusText}`);let e=await t.arrayBuffer(),r=new Uint8Array(e),n=new p(r),i=[],s=n.readUint32();for(let t=0;t<s;t++){let t=n.getOffset(),e=tA.read(n),r=n.getOffset()-t,s=new O(this.id,t,r),a=s.toString(),o={pointer:a,data:e.getData()};this.itemLoader.prime(a,o),i.push(o);}return i;}),this.itemsPromise;}resolveItem(t){return this.itemLoader.load(t);}constructor(t,e){this.id=t,this.url=e,c(this,\"itemsPromise\"),c(this,\"itemLoader\",new d.default(async t=>{let e=t.map(t=>{let e=O.fromString(t);return{from:e.offset,to:e.offset+e.length};}),r=await tM(this.url,e);return r.map((e,r)=>{let n=new p(e),i=tA.read(n),s=t[r];return I(s,\"Missing pointer\"),{pointer:s,data:i.getData()};});},{maxBatchSize:250}));}},tP=class{async scanItems(){let t=await Promise.all(this.chunks.map(async t=>t.scanItems()));return t.flat();}resolveItems(t){return Promise.all(t.map(t=>{let e=O.fromString(t),r=this.chunks[e.chunkId];return I(r,\"Missing chunk\"),r.resolveItem(t);}));}compareItems(t,e){let r=O.fromString(t.pointer),n=O.fromString(e.pointer);return r.compare(n);}compareValues(e,r,n){return t.compare(e,r,n);}constructor(t){this.options=t,c(this,\"id\"),c(this,\"schema\"),c(this,\"indexes\"),c(this,\"resolveRichText\"),c(this,\"resolveVectorSetItem\"),c(this,\"chunks\"),this.chunks=this.options.chunks.map((t,e)=>new tO(e,t)),this.schema=t.schema,this.indexes=t.indexes,this.resolveRichText=t.resolveRichText,this.resolveVectorSetItem=t.resolveVectorSetItem,this.id=t.id;}};export{tP as DatabaseCollection,tN as DatabaseDictionaryIndex};\nexport const __FramerMetadata__ = {\"exports\":{\"DatabaseCollection\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DatabaseDictionaryIndex\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// src/code-generation/components/cms/bundled/getRichTextJsonResolver.tsx?bundle\nimport{jsx as e}from\"react/jsx-runtime\";import{AutoBreakpointVariant as t,ComponentPresetsConsumer as r,Link as n,motion as o}from\"framer\";// ../../library/src/router/lazy.tsx\nimport{isValidElement as i}from\"react\";// ../../library/src/utils/utils.ts\nvar a,l=\"undefined\"!=typeof window,f=l&&\"function\"==typeof window.requestIdleCallback,u=\"preload\";function c(e){return\"object\"==typeof e&&null!==e&&!/*#__PURE__*/i(e)&&u in e;}// src/code-generation/components/cms/bundled/getRichTextJsonResolver.tsx?bundle\nimport{Fragment as p,createElement as s}from\"react\";// src/code-generation/components/cms/bundled/assert.ts\nfunction m(e,...t){if(!e)throw Error(\"Assertion Error\"+(t.length>0?\": \"+t.join(\" \"):\"\"));}// src/code-generation/components/cms/bundled/getRichTextJsonResolver.tsx?bundle\nvar d=((a=d||{})[a.Fragment=1]=\"Fragment\",a[a.Link=2]=\"Link\",a[a.Module=3]=\"Module\",a[a.Tag=4]=\"Tag\",a[a.Text=5]=\"Text\",a);function g(i){let a=/* @__PURE__ */new Map;return l=>{let f=a.get(l);if(f)return f;let u=JSON.parse(l),d=function a(l){switch(l[0]){case 1/* Fragment */:{let[,...e]=l,t=e.map(a);return /*#__PURE__*/s(p,void 0,...t);}case 2/* Link */:{let[,e,...t]=l,r=t.map(a);return /*#__PURE__*/s(n,e,...r);}case 3/* Module */:{let[,n,o,f,u]=l;for(let e of f){let t=o[e];t&&(o[e]=a(t));}for(let e of u){let t=o[e];if(\"string\"!=typeof t)continue;let r=i[t];r&&(c(r)&&r.preload(),o[e]=r);}let p=i[n];return m(p,\"Module not found\"),c(p)&&p.preload(),/*#__PURE__*/e(r,{componentIdentifier:n,children:r=>/*#__PURE__*/e(t,{component:p,props:{...r,...o}})});}case 4/* Tag */:{let[,e,t,...r]=l,n=r.map(a);if(\"a\"===e)return /*#__PURE__*/s(o.a,t,...n);return /*#__PURE__*/s(e,t,...n);}case 5/* Text */:{let[,e]=l;return e;}}}(u);return a.set(l,d),d;};}export{d as RichTextJsonType,g as getRichTextJsonResolver};\nexport const __FramerMetadata__ = {\"exports\":{\"getRichTextJsonResolver\":{\"type\":\"reactComponent\",\"name\":\"getRichTextJsonResolver\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"RichTextJsonType\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (167aefa)\nimport{addPropertyControls as e,ControlType as t,QueryEngine as l}from\"framer\";import{DatabaseCollection as a,DatabaseDictionaryIndex as r}from\"./NhZupx9Hu-0.js\";import{getRichTextJsonResolver as i}from\"./NhZupx9Hu-1.js\";let u={createdAt:{isNullable:!0,type:t.Date},EnlY3hWJM:{isNullable:!0,type:t.String},FtSUuC314:{isNullable:!0,type:t.String},id:{isNullable:!1,type:t.String},K8Tain_Ku:{isNullable:!0,type:t.String},nextItemId:{isNullable:!0,type:t.String},NY_MZRiD5:{isNullable:!0,type:t.String},pjU3xgh7a:{isNullable:!0,type:t.String},previousItemId:{isNullable:!0,type:t.String},updatedAt:{isNullable:!0,type:t.Date},yRfFTczOF:{isNullable:!0,type:t.String},zAVrk6U_c:{isNullable:!0,type:t.String}},m=[\"id\"],o={type:1},n=[\"previousItemId\"],c=[\"nextItemId\"],d=[\"id\",\"yRfFTczOF\"],f=[\"yRfFTczOF\",\"id\"],p=[\"NY_MZRiD5\"],s={type:0},y=[\"yRfFTczOF\"],h=[\"K8Tain_Ku\"],N=[\"FtSUuC314\"],x=[\"EnlY3hWJM\"],g=[\"pjU3xgh7a\"],S=[\"zAVrk6U_c\"],w=[],R=e=>{let t=w[e];if(t)return t().then(e=>e.default);},U={},I=i(U),F=new l,L={collectionByLocaleId:{default:new a({chunks:[new URL(\"./NhZupx9Hu-chunk-default-0.framercms\",\"https://framerusercontent.com/modules/Qm79rmqRbd78raJeb2O2/3I60CG340BD13W2kbBls/NhZupx9Hu.js\").href.replace(\"/modules/\",\"/cms/\")],id:\"1a76c76a-379e-40cc-a8f1-49c2f8a9b096default\",indexes:[new r({collation:o,collectionSchema:u,fieldNames:m,range:{from:0,to:13921},url:new URL(\"./NhZupx9Hu-indexes-default-0.framercms\",\"https://framerusercontent.com/modules/Qm79rmqRbd78raJeb2O2/3I60CG340BD13W2kbBls/NhZupx9Hu.js\").href.replace(\"/modules/\",\"/cms/\")}),new r({collation:o,collectionSchema:u,fieldNames:n,range:{from:13921,to:27841},url:new URL(\"./NhZupx9Hu-indexes-default-0.framercms\",\"https://framerusercontent.com/modules/Qm79rmqRbd78raJeb2O2/3I60CG340BD13W2kbBls/NhZupx9Hu.js\").href.replace(\"/modules/\",\"/cms/\")}),new r({collation:o,collectionSchema:u,fieldNames:c,range:{from:27841,to:41757},url:new URL(\"./NhZupx9Hu-indexes-default-0.framercms\",\"https://framerusercontent.com/modules/Qm79rmqRbd78raJeb2O2/3I60CG340BD13W2kbBls/NhZupx9Hu.js\").href.replace(\"/modules/\",\"/cms/\")}),new r({collation:o,collectionSchema:u,fieldNames:d,range:{from:41757,to:66551},url:new URL(\"./NhZupx9Hu-indexes-default-0.framercms\",\"https://framerusercontent.com/modules/Qm79rmqRbd78raJeb2O2/3I60CG340BD13W2kbBls/NhZupx9Hu.js\").href.replace(\"/modules/\",\"/cms/\")}),new r({collation:o,collectionSchema:u,fieldNames:f,range:{from:66551,to:91345},url:new URL(\"./NhZupx9Hu-indexes-default-0.framercms\",\"https://framerusercontent.com/modules/Qm79rmqRbd78raJeb2O2/3I60CG340BD13W2kbBls/NhZupx9Hu.js\").href.replace(\"/modules/\",\"/cms/\")}),new r({collation:s,collectionSchema:u,fieldNames:p,range:{from:91345,to:108009},url:new URL(\"./NhZupx9Hu-indexes-default-0.framercms\",\"https://framerusercontent.com/modules/Qm79rmqRbd78raJeb2O2/3I60CG340BD13W2kbBls/NhZupx9Hu.js\").href.replace(\"/modules/\",\"/cms/\")}),new r({collation:s,collectionSchema:u,fieldNames:y,range:{from:108009,to:124691},url:new URL(\"./NhZupx9Hu-indexes-default-0.framercms\",\"https://framerusercontent.com/modules/Qm79rmqRbd78raJeb2O2/3I60CG340BD13W2kbBls/NhZupx9Hu.js\").href.replace(\"/modules/\",\"/cms/\")}),new r({collation:s,collectionSchema:u,fieldNames:h,range:{from:124691,to:136874},url:new URL(\"./NhZupx9Hu-indexes-default-0.framercms\",\"https://framerusercontent.com/modules/Qm79rmqRbd78raJeb2O2/3I60CG340BD13W2kbBls/NhZupx9Hu.js\").href.replace(\"/modules/\",\"/cms/\")}),new r({collation:s,collectionSchema:u,fieldNames:N,range:{from:136874,to:149496},url:new URL(\"./NhZupx9Hu-indexes-default-0.framercms\",\"https://framerusercontent.com/modules/Qm79rmqRbd78raJeb2O2/3I60CG340BD13W2kbBls/NhZupx9Hu.js\").href.replace(\"/modules/\",\"/cms/\")}),new r({collation:s,collectionSchema:u,fieldNames:x,range:{from:149496,to:171117},url:new URL(\"./NhZupx9Hu-indexes-default-0.framercms\",\"https://framerusercontent.com/modules/Qm79rmqRbd78raJeb2O2/3I60CG340BD13W2kbBls/NhZupx9Hu.js\").href.replace(\"/modules/\",\"/cms/\")}),new r({collation:s,collectionSchema:u,fieldNames:g,range:{from:171117,to:181068},url:new URL(\"./NhZupx9Hu-indexes-default-0.framercms\",\"https://framerusercontent.com/modules/Qm79rmqRbd78raJeb2O2/3I60CG340BD13W2kbBls/NhZupx9Hu.js\").href.replace(\"/modules/\",\"/cms/\")}),new r({collation:s,collectionSchema:u,fieldNames:S,range:{from:181068,to:192061},url:new URL(\"./NhZupx9Hu-indexes-default-0.framercms\",\"https://framerusercontent.com/modules/Qm79rmqRbd78raJeb2O2/3I60CG340BD13W2kbBls/NhZupx9Hu.js\").href.replace(\"/modules/\",\"/cms/\")})],resolveRichText:I,resolveVectorSetItem:R,schema:u})},displayName:\"Invitation NYC\",id:\"1a76c76a-379e-40cc-a8f1-49c2f8a9b096\"};export default L;e(L,{NY_MZRiD5:{defaultValue:\"\",title:\"Title\",type:t.String},yRfFTczOF:{preventLocalization:!1,title:\"Slug\",type:t.String},K8Tain_Ku:{defaultValue:\"\",title:\"First Name\",type:t.String},FtSUuC314:{defaultValue:\"\",title:\"Last Name\",type:t.String},EnlY3hWJM:{defaultValue:\"\",title:\"Email\",type:t.String},pjU3xgh7a:{defaultValue:\"\",title:\"Salutation\",type:t.String},zAVrk6U_c:{defaultValue:\"\",title:\"Passcode\",type:t.String},createdAt:{title:\"Created\",type:t.Date},updatedAt:{title:\"Updated\",type:t.Date},previousItemId:{dataIdentifier:\"local-module:collection/NhZupx9Hu:default\",title:\"Previous\",type:t.CollectionReference},nextItemId:{dataIdentifier:\"local-module:collection/NhZupx9Hu:default\",title:\"Next\",type:t.CollectionReference}});export const enumToDisplayNameFunctions={};export const utils={async getSlugByRecordId(e,t){let[l]=await F.query({from:{data:L,type:\"Collection\"},limit:{type:\"LiteralValue\",value:1},select:[{name:\"yRfFTczOF\",type:\"Identifier\"}],where:{left:{name:\"id\",type:\"Identifier\"},operator:\"==\",right:{type:\"LiteralValue\",value:e},type:\"BinaryOperation\"}},t);return l?.yRfFTczOF;},async getRecordIdBySlug(e,t){let[l]=await F.query({from:{data:L,type:\"Collection\"},limit:{type:\"LiteralValue\",value:1},select:[{name:\"id\",type:\"Identifier\"}],where:{left:{name:\"yRfFTczOF\",type:\"Identifier\"},operator:\"==\",right:{type:\"LiteralValue\",value:e},type:\"BinaryOperation\"}},t);return l?.id;}};\nexport const __FramerMetadata__ = {\"exports\":{\"utils\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"enumToDisplayNameFunctions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"data\",\"name\":\"data\",\"annotations\":{\"framerContractVersion\":\"1\",\"framerData\":\"true\",\"framerEnumToDisplayNameUtils\":\"2\",\"framerCollectionUtils\":\"1\",\"framerCollectionId\":\"NhZupx9Hu\",\"framerRecordIdKey\":\"id\",\"framerColorSyntax\":\"false\",\"framerAutoSizeImages\":\"true\",\"framerSlug\":\"yRfFTczOF\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (04346e4)\nimport{getWhereExpressionFromPathVariables,QueryEngine}from\"framer\";import InvitationNYC from\"#framer/local/collection/NhZupx9Hu/NhZupx9Hu.js\";import siteMetadata from\"#framer/local/siteMetadata/siteMetadata/siteMetadata.js\";const toString=value=>{return typeof value===\"string\"?value:String(value);};export default function metadata(params,activeLocale){const K8Tain_Ku=params?.[\"K8Tain_Ku\"];return{breakpoints:[{hash:\"41w6q4\",mediaQuery:\"(min-width: 1440px)\"},{hash:\"19v5kwp\",mediaQuery:\"(min-width: 1024px) and (max-width: 1439.98px)\"},{hash:\"n6sq7d\",mediaQuery:\"(min-width: 810px) and (max-width: 1023.98px)\"},{hash:\"1ibqx4k\",mediaQuery:\"(max-width: 809.98px)\"}],description:`Hi ${K8Tain_Ku!==undefined?toString(K8Tain_Ku):\"{{K8Tain_Ku}}\"}, Your Invited to the first ever hands-on course in cosmetic dentistry led by Dr. Michael Apa.`,elements:{AKqxs8u5h:\"agenda\",AnHajnoQJ:\"footer\",Bi9SXGHfR:\"agenda-day-1\",DXsrNa6a7:\"faq\",dz_oOLlnc:\"mission\",en6_VCLJl:\"hero\",gGFfyYlfS:\"ticket\",gHnfPMTuQ:\"buffer1\",HiHARsZ9W:\"ovaltrigger\",IOLJ7DV0W:\"wheretostay\",mI_K6Qs1e:\"drapasticky\",Q2Q5NzMrg:\"drapa\",sDXYkzM4V:\"horizontalscrollwrapper\",vPfuy0Ac7:\"buffer2\",XjmC_FlVm:\"unparralled experience buffer\",zgbTKl32f:\"agenda-day-2\"},framerSearch:{index:true},robots:\"max-image-preview:large\",serializationId:\"framer-I6bc3\",title:siteMetadata(params,activeLocale).title||\"Invitation NYC Detail\",viewport:\"width=device-width\"};}export async function fetchMetadata(pathVariables,activeLocale){const queryEngine=new QueryEngine;const query={from:{alias:\"cgGqA9yCc\",data:InvitationNYC,type:\"Collection\"},select:[{collection:\"cgGqA9yCc\",name:\"K8Tain_Ku\",type:\"Identifier\"}],where:getWhereExpressionFromPathVariables(pathVariables,\"cgGqA9yCc\")};const result=await queryEngine.query(query,activeLocale);if(result.length===0){throw new Error(\"No data matches pathVariables\");}const params=result[0];return metadata(params,activeLocale);}export async function fetchAllMetadata(pathVariableKeys,activeLocale){const queryEngine=new QueryEngine;const query={from:{alias:\"cgGqA9yCc\",data:InvitationNYC,type:\"Collection\"},select:[{collection:\"cgGqA9yCc\",name:\"K8Tain_Ku\",type:\"Identifier\"}]};for(const pathVariableKey of pathVariableKeys){query.select.push({collection:\"cgGqA9yCc\",name:pathVariableKey,type:\"Identifier\"});}const results=await queryEngine.query(query,activeLocale);return results.map(result=>({metadata:metadata(result,activeLocale),pathVariables:Object.fromEntries(pathVariableKeys.map(pathVariableKey=>[pathVariableKey,result[pathVariableKey]]))}));}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fetchMetadata\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fetchAllMetadata\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}