{"version":3,"file":"shared-lib.DMM1d5Zq.mjs","names":["fonts","css","className","css","React.useContext","React.useMemo","React.Fragment","useRef","React.useId","sharedStyle.className","sharedStyle1.className","sharedStyle2.className","className","sharedStyle.css","sharedStyle1.css","sharedStyle2.css","sharedStyle.fonts","sharedStyle1.fonts","sharedStyle2.fonts","__esmMin","oe","window","ie","x","init_ssg_sandbox_shims","pe","p","J","init_jsx_runtime","ce","init_npm_react_18_3_1","de","navigator","motion","MotionConfigContext","LayoutGroup","init_framer_motion_DhsWWWsN","addFonts","fontStore","RenderTarget","cx","getFontsFromSharedStyle","init_framer_B6PCHH0A","RichText","Link","useLocaleInfo","useComponentViewport","ControlType","useVariantState","addPropertyControls","withCSS","className$2","init_Gcz6w3w9Y","css$3","fonts$2","isPhoneDevice","canScrollBy","limit","node","delta","findNestedScroller","path","style","measureHeader","width","height","band","rows","y","seen","bottom","hit","rect","centred","top","stick","parent","range","SmoothScroll","props","isCanvas","enabled","motionQuery","rootStyle","previousPadding","authoredPadding","current","target","frame","previousTime","stopped","gesture","normalized","clamp","intensity","response","writeScroll","pendingFrames","requestOwnedFrame","id","callback","time","scrollEndHeld","onScrollEnd","event","flushScrollEnd","stop","hasStopScroll","htmlOverflow","bodyOverflow","syncStoppedState","nextStopped","scheduleFrame","advanceFrame","deltaTime","step","mix","cachedLimit","scrollLimit","jumpTo","nextTarget","animateTo","applyHeaderOffset","value","alignHashTarget","element","padding","margin","resolveScrollTarget","onWheel","multiplier","continuing","owner","onScroll","actual","onClick","clickable","url","currentUrl","hash","onHashChange","onClickCapture","resizeTimer","onResize","alignFrame","attributeObserver","records","record","markerObserver","release","init_SmoothScroll_Prod","min","max","fonts$1","css$2","className$1","init_gDlktsChz","fonts","css$1","className","init_ro7OPezbn","addPropertyOverrides","variants","nextOverrides","variant","overrides","cycleOrder","serializationHash","variantClassNames","transition1","Transition","Variants","humanReadableVariantMap","getProps","createLayoutDependency","Component","css","FramerL_oO6tjFx","init_L_oO6tjFx","config","transition","contextValue","fallbackRef","refBinding","ref","defaultLayoutId","className$3","restProps","layoutDependency","scopingClassNames","layoutId","gestureHandlers","classNames","baseVariant","gestureVariant"],"sources":["https:/framerusercontent.com/modules/Yppqt3Cs3Y8TZqvASnXl/VCjqndCnvtR7DP1njQil/SmoothScroll_Prod.js","https:/framerusercontent.com/modules/prFjS7YBAdeAvnC8JS0F/jN2bFRSmI4NbHXaiLXGa/gDlktsChz.js","https:/framerusercontent.com/modules/4soQmafIYEGgeQ7GNO9V/TluMZV6B8oCF37BzVgKS/ro7OPezbn.js","https:/framerusercontent.com/modules/3sPZ6hH2QdvaUMxM3xTp/inuWvyZNZVeqV6vjrBVM/L_oO6tjFx.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";const clamp=(value,min,max)=>Math.max(min,Math.min(max,value));function isPhoneDevice(){return window.matchMedia(\"(max-width: 767px)\").matches||/iPhone|iPod|Android.+Mobile|Windows Phone|webOS|BlackBerry/i.test(navigator.userAgent);}function canScrollBy(node,delta){const limit=node.scrollHeight-node.clientHeight;return delta>0&&node.scrollTop<limit-1||delta<0&&node.scrollTop>1;}// Walks composedPath() so panels inside shadow DOM still count.\n// Returns the first nested scroller that can move in this direction, or one\n// at its edge whose overscroll-behavior forbids chaining to the page.\nfunction findNestedScroller(path,delta){for(const node of path){if(!(node instanceof HTMLElement))continue;if(node===document.documentElement||node===document.body)break;if(node.scrollHeight-node.clientHeight<1)continue;const style=getComputedStyle(node);if(!/^(auto|scroll|overlay)$/.test(style.overflowY))continue;if(canScrollBy(node,delta))return node;if(/^(contain|none)$/.test(style.overscrollBehaviorY))return node;}return null;}// How much of the viewport top is covered by fixed or sticky bars (headers,\n// banners, floating nav pills), so anchors land below them with zero\n// configuration. Hit-tests dense rows through the top band (compact floating\n// bars) plus a few lower rows, and walks ancestors, so a sticky header that\n// sits below a banner and has not stuck yet still counts at its stuck spot.\nfunction measureHeader(){const width=window.innerWidth;const height=window.innerHeight;const band=height*.1;const rows=[height*.12,height*.2,height*.3];for(let y=1;y<=band+12;y+=12)rows.push(y);const seen=new Set;let bottom=0;for(const y of rows){for(const x of[.25,.5,.75]){for(const hit of document.elementsFromPoint(width*x,y)){for(let node=hit;node;node=node.parentElement){if(node===document.body||seen.has(node))break;seen.add(node);const style=getComputedStyle(node);if(style.position!==\"fixed\"&&style.position!==\"sticky\")continue;if(style.visibility===\"hidden\"||style.opacity===\"0\")continue;const rect=node.getBoundingClientRect();if(rect.height<=0||rect.height>=height*.4)continue;// Wide bars, or a nav pill across the centre line.\nconst centred=rect.left<=width/2&&rect.right>=width/2&&rect.width>=120;if(rect.width<width*.4&&!centred)continue;let top=rect.top;if(style.position===\"sticky\"){// Pinned to the top (not `top: auto`), in a containing\n// block that starts in the first screen of the page\n// and is at least a screen taller than the bar: a site\n// header, not a section title. Judged on the whole\n// block, not the part left below the current scroll\n// position, so it still counts near the page end.\nconst stick=Number.parseFloat(style.top);// Skip `display: contents` wrappers, which have no\n// box of their own.\nlet parent=node.parentElement;while(parent&&getComputedStyle(parent).display===\"contents\"){parent=parent.parentElement;}if(Number.isNaN(stick)||!parent)continue;const range=parent.getBoundingClientRect();if(range.top+window.scrollY>height)continue;if(range.height-rect.height<height)continue;top=stick;}if(top>band||top+rect.height<=0)continue;bottom=Math.max(bottom,top+rect.height);}}}}return Math.round(bottom);}/**\n * @framerDisableUnlink\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n */export default function SmoothScroll(props){const{enabled=true,intensity=50}=props;const isCanvas=RenderTarget.current()===RenderTarget.canvas;React.useEffect(()=>{if(!enabled||isCanvas||typeof window===\"undefined\")return;window.__framerUniversitySmoothScroll?.release();if(isPhoneDevice())return;const motionQuery=window.matchMedia(\"(prefers-reduced-motion: reduce)\");const rootStyle=document.documentElement.style;const previousPadding=rootStyle.scrollPaddingTop;// A site that already sets scroll-padding-top keeps it.\nconst authoredPadding=!previousPadding&&(Number.parseFloat(getComputedStyle(document.documentElement).scrollPaddingTop)||0)>0;let current=window.scrollY;let target=current;let frame=0;let previousTime=0;let stopped=false;let gesture=null;const normalized=clamp(intensity,0,100)/100;const response=normalized<=.5?.22-.12*(normalized/.5):.1-.07*((normalized-.5)/.5);const writeScroll=top=>{window.scrollTo({top,behavior:\"instant\"});};// Chrome fires `scrollend` after every instant programmatic scroll,\n// so a glide would fire one per frame, and Framer's router saves the\n// position with history.replaceState on each. Hold them while the\n// page glides and deliver one when it ends, like a native smooth\n// scroll.\nconst pendingFrames=new Set;const requestOwnedFrame=callback=>{const id=requestAnimationFrame(time=>{pendingFrames.delete(id);callback(time);});pendingFrames.add(id);return id;};let scrollEndHeld=false;const onScrollEnd=event=>{if(event.target!==document)return;if(frame&&event.isTrusted){event.stopImmediatePropagation();scrollEndHeld=true;return;}scrollEndHeld=false;};// A glide that stopped without a later write of its own gets the held\n// scrollend delivered after this frame's scroll events.\nconst flushScrollEnd=()=>{if(!scrollEndHeld)return;requestOwnedFrame(()=>{if(!scrollEndHeld||frame)return;scrollEndHeld=false;document.dispatchEvent(new Event(\"scrollend\",{bubbles:true}));});};const stop=()=>{if(frame)cancelAnimationFrame(frame);frame=0;previousTime=0;current=target=window.scrollY;flushScrollEnd();};const hasStopScroll=()=>{if(document.querySelector(\"style[data-frameruni-stop-scroll]\")){return true;}const htmlOverflow=getComputedStyle(document.documentElement).overflowY;const bodyOverflow=getComputedStyle(document.body).overflowY;return htmlOverflow===\"hidden\"||htmlOverflow===\"clip\"||bodyOverflow===\"hidden\"||bodyOverflow===\"clip\";};const syncStoppedState=()=>{const nextStopped=hasStopScroll();if(nextStopped&&!stopped)stop();if(!nextStopped&&stopped){current=target=window.scrollY;}stopped=nextStopped;};const scheduleFrame=()=>{frame=requestAnimationFrame(advanceFrame);};const advanceFrame=time=>{if(stopped||motionQuery.matches){stop();return;}// Real elapsed time, uncapped: when the main thread is starved the\n// glide catches up on the next frame instead of running in slow\n// motion (the exponential mix stays bounded for any delta).\nconst deltaTime=previousTime?Math.max(0,(time-previousTime)/1e3):1/60;previousTime=time;if(step(deltaTime))scheduleFrame();else{frame=0;previousTime=0;flushScrollEnd();}};// One interpolation step; returns true while still gliding.\nconst step=deltaTime=>{const mix=1-Math.exp(-response*60*deltaTime);current+=(target-current)*mix;if(Math.abs(target-current)<.35)current=target;writeScroll(current);return current!==target;};// Page scroll range, read once per gesture (and again at the cached\n// edge or after a resize) so the wheel path does not force layout on\n// every event.\nlet cachedLimit=-1;const scrollLimit=()=>{if(cachedLimit<0){cachedLimit=Math.max(0,document.documentElement.scrollHeight-window.innerHeight);}return cachedLimit;};const jumpTo=nextTarget=>{if(frame)cancelAnimationFrame(frame);frame=0;previousTime=0;current=target=nextTarget;writeScroll(nextTarget);flushScrollEnd();};const animateTo=nextTarget=>{if(motionQuery.matches){jumpTo(nextTarget);return;}current=window.scrollY;target=nextTarget;previousTime=0;if(current===target)return;if(!frame)scheduleFrame();};// Applied as scroll-padding-top so Framer's own anchor links, the\n// browser's deep-link jump, and our click handler all share it.\nconst applyHeaderOffset=()=>{if(previousPadding||authoredPadding)return;const value=measureHeader();rootStyle.scrollPaddingTop=value?`${value}px`:previousPadding;};// Fixes a hash target that landed flush with the top, under the header.\nconst alignHashTarget=()=>{if(stopped||!window.location.hash)return;let id=window.location.hash.slice(1);try{id=decodeURIComponent(id);}catch{return;}const element=document.getElementById(id);if(!element)return;applyHeaderOffset();const padding=Number.parseFloat(getComputedStyle(document.documentElement).scrollPaddingTop)||0;const margin=Number.parseFloat(getComputedStyle(element).scrollMarginTop)||0;if(padding<1)return;if(Math.abs(element.getBoundingClientRect().top-margin)>2)return;jumpTo(resolveScrollTarget(element));};const resolveScrollTarget=value=>{const limit=Math.max(0,document.documentElement.scrollHeight-window.innerHeight);if(typeof value===\"number\")return clamp(value,0,limit);const element=value instanceof HTMLElement?value:value===\"#\"||value===\"#top\"?null:document.getElementById(value.replace(/^#/,\"\"));if(!element)return 0;const style=getComputedStyle(element);const rootStyle=getComputedStyle(document.documentElement);const margin=Number.parseFloat(style.scrollMarginTop)||0;const padding=Number.parseFloat(rootStyle.scrollPaddingTop)||0;return clamp(element.getBoundingClientRect().top+window.scrollY-margin-padding,0,limit);};const onWheel=event=>{if(stopped||motionQuery.matches||event.ctrlKey||!event.cancelable)return;const multiplier=event.deltaMode===WheelEvent.DOM_DELTA_LINE?16:event.deltaMode===WheelEvent.DOM_DELTA_PAGE?window.innerHeight:1;const delta=event.deltaY*multiplier;if(!delta)return;// Native-style latching: a gesture stays with the scroller it\n// started on. A nested panel at its edge only chains to the page\n// on the next gesture, and page momentum is not hijacked by a\n// panel that slides under the pointer.\nconst path=event.composedPath();const continuing=gesture&&event.timeStamp-gesture.time<150&&(!gesture.node||path.includes(gesture.node));const owner=continuing?gesture.node:findNestedScroller(path,delta);gesture={node:owner,time:event.timeStamp};if(owner){if(!canScrollBy(owner,delta))event.preventDefault();return;}// Once this page gesture is ours, keep ownership even when the\n// clamped target cannot move. Letting edge events fall through lets\n// native scrolling race the active interpolation and causes bounce.\nevent.preventDefault();// Re-read the range at a gesture start or at the cached edge\n// (lazy content may have grown); otherwise reuse it.\nif(!continuing||target+delta>scrollLimit())cachedLimit=-1;const nextTarget=clamp(target+delta,0,scrollLimit());if(nextTarget===target)return;target=nextTarget;if(frame)return;// Idle: take the first step now, inside the wheel event, so the\n// page moves this frame instead of waiting for the next rAF. The\n// next frame integrates from this handler, so the curve is the\n// same, just one frame earlier.\ncurrent=window.scrollY;scheduleFrame();// rAF time is the frame start: a frame that began before this\n// handler ran is the same frame, so it adds no second step.\npreviousTime=performance.now();if(!step(1/60)){cancelAnimationFrame(frame);frame=0;previousTime=0;flushScrollEnd();}};const onScroll=()=>{const actual=window.scrollY;if(frame&&Math.abs(actual-current)<=1)return;if(frame)cancelAnimationFrame(frame);frame=0;previousTime=0;current=target=actual;flushScrollEnd();};const onClick=event=>{const clickable=event.composedPath().find(node=>node instanceof HTMLElement&&node.matches(\"a[href], button\"));if(!clickable)return;stop();if(!(clickable instanceof HTMLAnchorElement))return;if(event.defaultPrevented)return;if(event.button!==0)return;if(event.metaKey||event.ctrlKey||event.shiftKey||event.altKey)return;if(clickable.hasAttribute(\"download\"))return;if(clickable.target&&clickable.target!==\"\"&&clickable.target!==\"_self\"){return;}const url=new URL(clickable.href,window.location.href);const currentUrl=new URL(window.location.href);const isSamePage=url.origin===currentUrl.origin&&url.pathname===currentUrl.pathname&&url.search===currentUrl.search;if(!isSamePage||!url.hash)return;let hash=url.hash;try{hash=decodeURIComponent(url.hash);}catch{return;}const element=document.getElementById(hash.slice(1));if(!element&&hash!==\"#top\"&&hash!==\"#\")return;event.preventDefault();if(window.location.hash===url.hash){history.replaceState(history.state,\"\",url.hash);}else{history.pushState(history.state,\"\",url.hash);}animateTo(resolveScrollTarget(element??hash));};const onHashChange=()=>requestOwnedFrame(alignHashTarget);// Re-measure before any same-page hash link runs (ours, Framer's\n// Links, or the browser's), so breakpoint and late headers count.\nconst onClickCapture=event=>{const link=event.composedPath().find(node=>node instanceof HTMLAnchorElement&&node.hash);if(link)applyHeaderOffset();};let resizeTimer=0;const onResize=()=>{cachedLimit=-1;clearTimeout(resizeTimer);resizeTimer=window.setTimeout(applyHeaderOffset,100);};let alignFrame=requestAnimationFrame(()=>{alignFrame=requestAnimationFrame(alignHashTarget);});const attributeObserver=new MutationObserver(records=>{const relevant=records.some(record=>record.type===\"attributes\"&&(record.target===document.documentElement||record.target===document.body));if(relevant)syncStoppedState();});const markerObserver=new MutationObserver(records=>{const relevant=records.some(record=>[...record.addedNodes,...record.removedNodes].some(node=>node instanceof Element&&(node.matches(\"style[data-frameruni-stop-scroll]\")||Boolean(node.querySelector(\"style[data-frameruni-stop-scroll]\")))));if(relevant)syncStoppedState();});attributeObserver.observe(document.documentElement,{attributes:true,attributeFilter:[\"style\",\"class\"]});attributeObserver.observe(document.body,{attributes:true,attributeFilter:[\"style\",\"class\"]});markerObserver.observe(document.head,{subtree:true,childList:true});markerObserver.observe(document.body,{subtree:true,childList:true});const release=()=>{stop();cancelAnimationFrame(alignFrame);pendingFrames.forEach(cancelAnimationFrame);pendingFrames.clear();clearTimeout(resizeTimer);rootStyle.scrollPaddingTop=previousPadding;window.removeEventListener(\"hashchange\",onHashChange);window.removeEventListener(\"popstate\",onHashChange);window.removeEventListener(\"resize\",onResize);window.removeEventListener(\"load\",onResize);window.removeEventListener(\"click\",onClickCapture,true);attributeObserver.disconnect();markerObserver.disconnect();window.removeEventListener(\"wheel\",onWheel);window.removeEventListener(\"scroll\",onScroll);window.removeEventListener(\"scrollend\",onScrollEnd,true);window.removeEventListener(\"touchstart\",stop);window.removeEventListener(\"click\",onClick);motionQuery.removeEventListener(\"change\",stop);if(window.__framerUniversitySmoothScroll?.release===release){delete window.__framerUniversitySmoothScroll;}};window.__framerUniversitySmoothScroll={release};window.addEventListener(\"wheel\",onWheel,{passive:false});window.addEventListener(\"scroll\",onScroll,{passive:true});window.addEventListener(\"scrollend\",onScrollEnd,true);window.addEventListener(\"touchstart\",stop,{passive:true});window.addEventListener(\"click\",onClick);window.addEventListener(\"hashchange\",onHashChange);window.addEventListener(\"popstate\",onHashChange);window.addEventListener(\"resize\",onResize);window.addEventListener(\"load\",onResize);window.addEventListener(\"click\",onClickCapture,true);motionQuery.addEventListener(\"change\",stop);syncStoppedState();applyHeaderOffset();return release;},[enabled,intensity,isCanvas]);return /*#__PURE__*/_jsx(\"div\",{\"data-build\":\"smooth-scroll-prod-20261005-01\",\"aria-hidden\":\"true\",\"data-smooth-scroll-host\":\"\",style:{position:\"relative\",width:\"100%\",height:\"100%\",minWidth:isCanvas?24:0,minHeight:isCanvas?24:0,boxSizing:\"border-box\",border:\"none\",borderRadius:0,pointerEvents:\"none\"}});}addPropertyControls(SmoothScroll,{enabled:{type:ControlType.Boolean,title:\"Enabled\",defaultValue:true,enabledTitle:\"Yes\",disabledTitle:\"No\"},intensity:{type:ControlType.Number,title:\"Intensity\",min:0,max:100,step:1,defaultValue:50,unit:\"%\",displayStepper:true,description:\"More components at [Framer University](https://frameruni.link/cc).\"}});SmoothScroll.displayName=\"Smooth Scroll\";\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"SmoothScroll\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"24\",\"framerIntrinsicHeight\":\"24\",\"framerDisableUnlink\":\"* @framerSupportedLayoutWidth any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SmoothScroll_Prod.map","// Generated by Framer (7e0329e)\nimport{fontStore}from\"framer\";fontStore.loadFonts([]);export const fonts=[{explicitInter:true,fonts:[]}];export const css=[\".framer-DhoWF .framer-styles-preset-1m0yyz8:not(.rich-text-wrapper), .framer-DhoWF .framer-styles-preset-1m0yyz8.rich-text-wrapper a { --framer-link-current-text-decoration: none; --framer-link-hover-text-color: var(--token-4fb42c33-113c-4a31-b240-1fbb97f47fe5, rgba(0, 0, 0, 0.48)); --framer-link-hover-text-decoration: none; --framer-link-text-color: var(--token-2007957d-a074-4c0c-8a33-8d85ed1ba0fd, #000000); --framer-link-text-decoration: none; transition: color 0.4s cubic-bezier(0.44, 0, 0.56, 1) 0s; }\"];export const className=\"framer-DhoWF\";\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 (98a2bb2)\nimport{fontStore}from\"framer\";fontStore.loadFonts([]);export const fonts=[{explicitInter:true,fonts:[]}];export const css=[\".framer-NzxIO .framer-styles-preset-1wicq5s:not(.rich-text-wrapper), .framer-NzxIO .framer-styles-preset-1wicq5s.rich-text-wrapper a { --framer-link-current-text-decoration: none; --framer-link-hover-text-color: var(--token-2007957d-a074-4c0c-8a33-8d85ed1ba0fd, #000000); --framer-link-hover-text-decoration: none; --framer-link-text-color: var(--token-4fb42c33-113c-4a31-b240-1fbb97f47fe5, rgba(0, 0, 0, 0.48)); --framer-link-text-decoration: none; transition: color 0.4s cubic-bezier(0.44, 0, 0.56, 1) 0s; }\"];export const className=\"framer-NzxIO\";\nexport const __FramerMetadata__ = {\"exports\":{\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (656a448)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,getFontsFromSharedStyle,Link,RichText,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import*as sharedStyle1 from\"https://framerusercontent.com/modules/e2ezKrrdO4NX9BCUaU95/IGOX2cMoVYtvHMSsOc7W/Gcz6w3w9Y.js\";import*as sharedStyle from\"https://framerusercontent.com/modules/prFjS7YBAdeAvnC8JS0F/jN2bFRSmI4NbHXaiLXGa/gDlktsChz.js\";import*as sharedStyle2 from\"https://framerusercontent.com/modules/4soQmafIYEGgeQ7GNO9V/TluMZV6B8oCF37BzVgKS/ro7OPezbn.js\";const cycleOrder=[\"o228GOjPi\",\"lEuamQb7B\"];const serializationHash=\"framer-6hNPo\";const variantClassNames={lEuamQb7B:\"framer-v-1lmb0ol\",o228GOjPi:\"framer-v-755gr8\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:0,delay:0,duration:.3,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={Desktop:\"o228GOjPi\",Mobile:\"lEuamQb7B\"};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"o228GOjPi\"};};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:\"o228GOjPi\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[sharedStyle.className,sharedStyle1.className,sharedStyle2.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__*/_jsxs(motion.footer,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-755gr8\",className,classNames),\"data-framer-name\":\"Desktop\",layoutDependency:layoutDependency,layoutId:\"o228GOjPi\",ref:refBinding,style:{...style},...addPropertyOverrides({lEuamQb7B:{\"data-framer-name\":\"Mobile\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7U291cmNlIFNlcmlmIDQtNTAwaXRhbGlj\",\"--framer-font-family\":'\"Source Serif 4\", \"Source Serif 4 Placeholder\", serif',\"--framer-font-size\":\"28px\",\"--framer-font-style\":\"italic\",\"--framer-font-weight\":\"500\",\"--framer-letter-spacing\":\"-0.07em\",\"--framer-line-height\":\"100%\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(235, 67, 19))\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"augiA20Il\"},motionChild:true,nodeId:\"ZVQBd_I5l\",openInNewTab:false,relValues:[],scopeId:\"L_oO6tjFx\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1m0yyz8\",\"data-styles-preset\":\"gDlktsChz\",children:\"Yawalabs\"})})})}),className:\"framer-4nd8eu\",fonts:[\"GF;Source Serif 4-500italic\"],layoutDependency:layoutDependency,layoutId:\"ZVQBd_I5l\",style:{\"--extracted-r6o4lv\":\"rgb(235, 67, 19)\"},verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-wxaxe1\",layoutDependency:layoutDependency,layoutId:\"NQ6rlrsek\",children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1yvxvsb\",\"data-framer-name\":\"Links\",layoutDependency:layoutDependency,layoutId:\"TmYdjZjgn\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-174its8\",\"data-styles-preset\":\"Gcz6w3w9Y\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"augiA20Il\"},motionChild:true,nodeId:\"C5d4bdxTO\",openInNewTab:false,relValues:[],scopeId:\"L_oO6tjFx\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1wicq5s\",\"data-styles-preset\":\"ro7OPezbn\",children:\"Pagina iniziale\"})})})}),className:\"framer-7burq7\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"C5d4bdxTO\",style:{\"--framer-paragraph-spacing\":\"0px\"},verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-174its8\",\"data-styles-preset\":\"Gcz6w3w9Y\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"iHXbsrJnQ\"},motionChild:true,nodeId:\"Oj8nIsHQU\",openInNewTab:false,relValues:[],scopeId:\"L_oO6tjFx\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1wicq5s\",\"data-styles-preset\":\"ro7OPezbn\",children:\"Chi sono\"})})})}),className:\"framer-9pr46i\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"Oj8nIsHQU\",style:{\"--framer-paragraph-spacing\":\"0px\"},verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-174its8\",\"data-styles-preset\":\"Gcz6w3w9Y\",children:/*#__PURE__*/_jsx(Link,{href:{hash:\":KPqQg8_RG\",webPageId:\"augiA20Il\"},motionChild:true,nodeId:\"AeQQCO8Y_\",openInNewTab:false,relValues:[],scopeId:\"L_oO6tjFx\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1wicq5s\",\"data-styles-preset\":\"ro7OPezbn\",children:\"Disegni\"})})})}),className:\"framer-1ujyb33\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"AeQQCO8Y_\",style:{\"--framer-paragraph-spacing\":\"0px\"},verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-174its8\",\"data-styles-preset\":\"Gcz6w3w9Y\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"lThC3RMOv\"},motionChild:true,nodeId:\"yt_lvfknX\",openInNewTab:false,relValues:[],scopeId:\"L_oO6tjFx\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1wicq5s\",\"data-styles-preset\":\"ro7OPezbn\",children:\"404\"})})})}),className:\"framer-1vki68i\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"yt_lvfknX\",style:{\"--framer-paragraph-spacing\":\"0px\"},verticalAlignment:\"top\",withExternalLayout:true})]}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-174its8\",\"data-styles-preset\":\"Gcz6w3w9Y\",children:/*#__PURE__*/_jsx(motion.span,{style:{\"--framer-text-color\":\"var(--extracted-1w3ko1f, var(--token-4fb42c33-113c-4a31-b240-1fbb97f47fe5, rgba(0, 0, 0, 0.48)))\"},children:\"\\xa9 2026 Yawalabs - Tutti i diritti riservati\"})})}),className:\"framer-1cgv8u3\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"iwUivwJAG\",style:{\"--extracted-1w3ko1f\":\"var(--token-4fb42c33-113c-4a31-b240-1fbb97f47fe5, rgba(0, 0, 0, 0.48))\",\"--framer-paragraph-spacing\":\"0px\"},verticalAlignment:\"top\",withExternalLayout:true})]})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-6hNPo.framer-xbome7, .framer-6hNPo .framer-xbome7 { display: block; }\",\".framer-6hNPo.framer-755gr8 { align-content: center; align-items: center; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 24px; height: min-content; justify-content: center; overflow: visible; padding: 0px 36px 40px 36px; position: relative; width: 960px; }\",\".framer-6hNPo .framer-4nd8eu, .framer-6hNPo .framer-7burq7, .framer-6hNPo .framer-9pr46i, .framer-6hNPo .framer-1ujyb33, .framer-6hNPo .framer-1vki68i, .framer-6hNPo .framer-1cgv8u3 { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-6hNPo .framer-wxaxe1 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 20px; height: min-content; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 100%; }\",\".framer-6hNPo .framer-1yvxvsb { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 24px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-6hNPo.framer-v-1lmb0ol.framer-755gr8 { padding: 0px 36px 120px 36px; width: 390px; }\",...sharedStyle.css,...sharedStyle1.css,...sharedStyle2.css];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 136\n * @framerIntrinsicWidth 960\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"lEuamQb7B\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerL_oO6tjFx=withCSS(Component,css,\"framer-6hNPo\");export default FramerL_oO6tjFx;FramerL_oO6tjFx.displayName=\"Footer\";FramerL_oO6tjFx.defaultProps={height:136,width:960};addPropertyControls(FramerL_oO6tjFx,{variant:{options:[\"o228GOjPi\",\"lEuamQb7B\"],optionTitles:[\"Desktop\",\"Mobile\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerL_oO6tjFx,[{explicitInter:true,fonts:[{cssFamilyName:\"Source Serif 4\",source:\"google\",style:\"italic\",uiFamilyName:\"Source Serif 4\",url:\"https://fonts.gstatic.com/s/sourceserif4/v14/vEF02_tTDB4M7-auWDN0ahZJW1ge6NmXpVAHV83Bfb_US2D2QYxoUKIkn98pdF9dDs4DrjXEXw.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]},...getFontsFromSharedStyle(sharedStyle.fonts),...getFontsFromSharedStyle(sharedStyle1.fonts),...getFontsFromSharedStyle(sharedStyle2.fonts)],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerL_oO6tjFx\",\"slots\":[],\"annotations\":{\"framerColorSyntax\":\"true\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"136\",\"framerComponentViewportWidth\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicWidth\":\"960\",\"framerAutoSizeImages\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"lEuamQb7B\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./L_oO6tjFx.map"],"mappings":"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"}