{"version":3,"file":"script_main.C2G_m3LD.mjs","names":["React.useRef","React.useState","React.useMemo","x","React.useCallback","p","addPropertyOverrides","cycleOrder","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","humanReadableVariantMap","Variants","React.Fragment","getProps","createLayoutDependency","useRef","React.useId","sharedStyle.className","sharedStyle1.className","className","RichText","sharedStyle.css","sharedStyle1.css","sharedStyle.fonts","sharedStyle1.fonts","useCallback","useRef","useState","addPropertyOverrides","RichText","Link","cycleOrder","serializationHash","variantClassNames","transition1","matchVariant","Transition","React.useContext","React.useMemo","humanReadableVariantMap","Variants","React.Fragment","getProps","createLayoutDependency","useRef","React.useId","className","FootLink","TimeDate","serializationHash","variantClassNames","matchVariant","React.useContext","React.useMemo","humanReadableVariantMap","React.Fragment","getProps","useRef","React.useId","className","RichText","Navigation","FOOT","useRef","React.useId","className","PropertyOverrides","React.createElement","Home","Framer.PageRoot","Framer.lazy","Framer.useCurrentRoute","Framer.useLocaleInfo","Framer.useRouter","React.Fragment","React.memo","React.useCallback","React.useEffect","React.useRef","React.useState","React.useLayoutEffect","Framer.LazyValue","Framer.LibraryFeaturesProvider","Framer.GracefullyDegradingErrorBoundary","Framer.PageEffectsProvider","breakpoints","Framer.patchRoutesForABTesting","routeData","Framer.inferInitialRouteFromPath","Framer.yieldToMain","React.startTransition","Framer.ErrorPlaceholder"],"sources":["https:/framerusercontent.com/modules/ldkbWzucphIxLS3cNGx5/Kp6p4hNcclpGjlJ66h7J/SCRAMLELOGO.js","https:/framerusercontent.com/modules/SEE0dZyOb0WYTq8ICnyw/trGc1jlKKGkZSIOP61iI/oa8941imD.js","https:/framerusercontent.com/modules/HYcHVPAbe8jLEeU7c4mp/QiycTxX7vdblEOi3o00G/Time.js","https:/framerusercontent.com/modules/33qw490J27beDPXFUg7r/TvuiDaqrqcs4LtduD7V6/TT5faAo3r.js","https:/framerusercontent.com/modules/S7HuKvuO5nwTaINMPhnr/7gQbL1AvCKoAkkJNdKnN/UsRI__LJy.js","https:/framerusercontent.com/modules/Bk8a2Z4ESvmQtQCF0oyp/fuem6w0S90iz5qcTJlL6/Lg8c78aO9.js","framer:toplevel/main"],"sourcesContent":["/** @jsxRuntime classic *//** @jsx React.createElement */import*as React from\"react\";import{motion,useMotionValue,useMotionValueEvent,useTransform,animate,useVelocity}from\"framer-motion\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";const PARALLAX_SLICES=[{id:\"tt\",top:0,bottom:90,lagFactor:.012},{id:\"tm\",top:10,bottom:70,lagFactor:.006},{id:\"cc\",top:30,bottom:30,lagFactor:0},{id:\"bm\",top:70,bottom:10,lagFactor:-.006},{id:\"bb\",top:90,bottom:0,lagFactor:-.012}];function ScrambleLetter({char,delay,hold,appearDelay,appearDuration,hoverDuration,scrambleOnAppear,scrambleString,fontSize,font,color,isOutline,outlineColor,strokeWidth,charIndex,slotWidthMV,overrideDelta,clippingWidthMV,reelSpacingMV,scrambleKey,returnClip,returnReel}){const xValue=useMotionValue(0);const velocity=useVelocity(xValue);const directionRef=React.useRef(charIndex%2===0?1:-1);// Ref so the ResizeObserver closure always reads the latest value\nconst scrambleOnAppearRef=React.useRef(scrambleOnAppear);scrambleOnAppearRef.current=scrambleOnAppear;// True while a hover keyframe animation is in flight.\n// Suppresses baseline-tracking snaps so the clip/reel MV changes from\n// scramble overrides don't clobber the keyframe's landing position.\nconst isHoverAnimatingRef=React.useRef(false);// True while the initial appear animation (including its delay) is running.\n// The step RAF loop animates clippingWidthMV/reelSpacingMV simultaneously,\n// which would otherwise trigger baseline tracking on every frame and fight\n// the appear animation — preventing the reel from ever scrambling in.\nconst isAppearAnimatingRef=React.useRef(false);// Stable refs for animation state so ResizeObserver/timer closures always\n// read the latest values without needing to be inside a useEffect dep array.\nconst appearTimerRef=React.useRef(null);const appearAnimRef=React.useRef(null);const holdRef=React.useRef(hold);holdRef.current=hold;const appearDelayRef=React.useRef(appearDelay);appearDelayRef.current=appearDelay;const appearDurationRef=React.useRef(appearDuration);appearDurationRef.current=appearDuration;const targetIdx=5;const hasAppeared=React.useRef(false);const containerRef=React.useRef(null);const[measuredWidth,setMeasuredWidth]=React.useState(0);const[showReel,setShowReel]=React.useState(false);// Refs so MotionValue event callbacks always see latest values\nconst measuredWidthRef=React.useRef(measuredWidth);measuredWidthRef.current=measuredWidth;const overrideDeltaRef=React.useRef(overrideDelta);overrideDeltaRef.current=overrideDelta;// ── Per-letter effective slot width: shared slotWidthMV + per-char delta ──\n// Updated via MotionValue subscription (no React render needed for animation)\nconst effectiveSlotWidthMV=useMotionValue(slotWidthMV.get()+overrideDelta);useMotionValueEvent(slotWidthMV,\"change\",v=>{effectiveSlotWidthMV.set(v+overrideDeltaRef.current);});// Also re-sync when overrideDelta changes (from React state update)\nReact.useEffect(()=>{effectiveSlotWidthMV.set(slotWidthMV.get()+overrideDelta);},[overrideDelta]);// ── Reel cell width: measuredWidth + reelSpacing ──────────────────────────\nconst rsMV=useMotionValue((measuredWidth||fontSize)+reelSpacingMV.get());useMotionValueEvent(reelSpacingMV,\"change\",rs=>{rsMV.set((measuredWidthRef.current||fontSize)+rs);});React.useEffect(()=>{rsMV.set((measuredWidth||fontSize)+reelSpacingMV.get());},[measuredWidth]);const getBaseline=(cw,step)=>cw/2-(targetIdx+.5)*step;const reelChars=React.useMemo(()=>{const base=(scrambleString||\"TOBYS\").split(\"\");const finalChar=char||\" \";const R=()=>base[Math.floor(Math.random()*base.length)];return[R(),finalChar,R(),R(),R(),finalChar,R(),R(),R(),finalChar,R()];},[scrambleString,char]);const textStyle={color,fontFamily:font?.fontFamily??\"Inter, sans-serif\",fontWeight:font?.fontWeight??900,fontStyle:font?.fontStyle??\"normal\",fontVariationSettings:font?.fontVariationSettings??undefined,letterSpacing:font?.letterSpacing??undefined,WebkitTextStroke:isOutline?`${strokeWidth}px ${outlineColor}`:\"none\",WebkitTextFillColor:isOutline?\"transparent\":color};// ── Measure glyph width ───────────────────────────────────────────────────\nReact.useLayoutEffect(()=>{// Cancel any in-flight appear animation from a prior run (font/char change or\n// React StrictMode's intentional mount → cleanup → remount cycle).\nclearTimeout(appearTimerRef.current);appearAnimRef.current?.stop?.();isAppearAnimatingRef.current=false;hasAppeared.current=false;setShowReel(false);setMeasuredWidth(0);// Detect Framer's canvas editor so we can skip the reel animation there.\n// Animating a scramble every time you edit a property is unusable in the editor;\n// in canvas mode we simply show the settled (final) position instantly instead.\nlet isCanvasRender=false;try{const rt=RenderTarget.current();isCanvasRender=rt===RenderTarget.canvas;}catch(_){}const measure=containerRef.current?.querySelector(\".measure\");if(!measure)return;const observer=new ResizeObserver(entries=>{for(const entry of entries){const w=entry.contentRect.width;if(w>0){setMeasuredWidth(w);if(!hasAppeared.current){hasAppeared.current=true;const step=w+reelSpacingMV.get();const baseline=getBaseline(clippingWidthMV.get(),step);if(scrambleOnAppearRef.current&&!isCanvasRender){// Put reel off-screen then animate to baseline.\n// Triggering directly from the ResizeObserver (rather than from\n// a useEffect) avoids React StrictMode's double-invocation which\n// was silently cancelling the animation before it could complete.\nisAppearAnimatingRef.current=true;clearTimeout(appearTimerRef.current);appearAnimRef.current?.stop?.();const delayMs=((appearDelayRef.current||0)+(holdRef.current||0))*1e3;appearTimerRef.current=setTimeout(()=>{// Re-sample live MV values — the step animation may have\n// moved clippingWidthMV / reelSpacingMV during the delay.\nconst lw=measuredWidthRef.current;const lStep=lw+reelSpacingMV.get();const lBaseline=getBaseline(clippingWidthMV.get(),lStep);// Place reel off-screen then reveal — keeps the letter invisible\n// during the stagger delay so it doesn't flash at an off-screen\n// position while waiting to animate in (now that ancestor overflow\n// is visible, that off-screen position would otherwise be seen).\nxValue.set(lBaseline+3*directionRef.current*lStep);setShowReel(true);appearAnimRef.current=animate(xValue,lBaseline,{duration:appearDurationRef.current||1.5,ease:\"easeInOut\",onComplete:()=>{isAppearAnimatingRef.current=false;if(!isHoverAnimatingRef.current){const fw=measuredWidthRef.current;if(fw>0)xValue.set(getBaseline(clippingWidthMV.get(),fw+reelSpacingMV.get()));}}});},delayMs);}else{// Canvas or scrambleOnAppear=false: snap directly to settled position\nxValue.set(baseline);setShowReel(true);}}}}});observer.observe(measure);return()=>{observer.disconnect();// Cancel pending animation so StrictMode's cleanup → remount cycle\n// doesn't leave two animations running simultaneously.\nclearTimeout(appearTimerRef.current);appearAnimRef.current?.stop?.();isAppearAnimatingRef.current=false;hasAppeared.current=false;};},[fontSize,JSON.stringify(font),char]);// ── Baseline tracking via MotionValue subscriptions ───────────────────────\n// clippingWidth changes → re-centre reel\nuseMotionValueEvent(clippingWidthMV,\"change\",cw=>{if(!hasAppeared.current||measuredWidthRef.current===0)return;// Skip while appear or hover animation is running — MV changes during those\n// animations must not overwrite the animated xValue.\nif(isHoverAnimatingRef.current||isAppearAnimatingRef.current)return;xValue.set(getBaseline(cw,measuredWidthRef.current+reelSpacingMV.get()));});// reelSpacing changes → cell size changes, re-centre\nuseMotionValueEvent(reelSpacingMV,\"change\",rs=>{if(!hasAppeared.current||measuredWidthRef.current===0)return;if(isHoverAnimatingRef.current||isAppearAnimatingRef.current)return;xValue.set(getBaseline(clippingWidthMV.get(),measuredWidthRef.current+rs));});// measuredWidth changes (React state) → re-centre\nReact.useEffect(()=>{if(!hasAppeared.current||measuredWidth===0)return;if(isHoverAnimatingRef.current||isAppearAnimatingRef.current)return;xValue.set(getBaseline(clippingWidthMV.get(),measuredWidth+reelSpacingMV.get()));},[measuredWidth]);// ── Hover re-scramble ─────────────────────────────────────────────────────\n// Two-phase chained animation to avoid the \"jump at end\" when scramble overrides\n// (scrambleClipWidth / scrambleCharGap) change the MotionValues during the animation.\n//\n// The problem with a single keyframe [start → far → baseline]:\n//   • baseline is computed ONCE at effect-fire time, using the current MV values\n//   • but scramble overrides quickly animate clippingWidthMV / reelSpacingMV away\n//     from their step values → the true landing baseline shifts\n//   • the reel ends up visually off-centre → visible jump\n//\n// Two-phase fix:\n//   Phase 1  (35% of duration):  current → farPos  — forward spin, easeOut\n//   Phase 2  (65% of duration):  farPos → baseline — settle; baseline uses the\n//                                 step-value snapshot (scrambleBase) so it lands at\n//                                 the correct position even while MV restore is pending\nReact.useEffect(()=>{if(scrambleKey===0||!hasAppeared.current||measuredWidth===0)return;const totalDur=hoverDuration||1.5;const p1Dur=totalDur*.35;const p2Dur=totalDur*.65;let anim1=null,anim2=null;// Use setTimeout for the stagger delay rather than Framer's delay option.\n// This keeps isHoverAnimatingRef=false during the wait so baseline tracking\n// stays active — letters remain correctly positioned as scramble overrides\n// change the MVs, preventing the \"blank letters staggering on\" glitch.\nconst timer=setTimeout(()=>{// Snapshot current xValue and MV state now that we're actually starting.\n// Baseline tracking has been running up to this point, so values are correct.\nisHoverAnimatingRef.current=true;const step0=measuredWidthRef.current+reelSpacingMV.get();const base0=getBaseline(clippingWidthMV.get(),step0);const farPos=base0+3*directionRef.current*step0;anim1=animate(xValue,[xValue.get(),farPos],{duration:p1Dur,ease:\"easeOut\",onComplete:()=>{// Phase 2: land on the correct *step* baseline.\n//\n// The naive approach — reading clippingWidthMV/reelSpacingMV live\n// right now — is wrong when scramble overrides are active: phase 1\n// ends before the MV restore timer fires (p1Dur=35% < inDur=40%),\n// so those MVs are still at their scramble-override values and the\n// reel would be aimed at the wrong position, leaving O/B partially\n// off-centre and appearing to overlap their neighbours.\n//\n// Fix: use the last step's clip/reel values directly.\n// Hover is gated until the step animation finishes, so the reel\n// must always return to exactly these values — no MV sampling needed.\nconst liveBaseline=getBaseline(returnClip,measuredWidthRef.current+returnReel);anim2=animate(xValue,liveBaseline,{duration:p2Dur,ease:\"easeInOut\",onComplete:()=>{isHoverAnimatingRef.current=false;// Final snap to the exact last-step baseline — guarantees\n// pixel-perfect landing regardless of any MV restore timing.\nconst fw=measuredWidthRef.current;if(fw>0)xValue.set(getBaseline(returnClip,fw+returnReel));}});}});},delay*1e3);return()=>{clearTimeout(timer);anim1?.stop?.();anim2?.stop?.();isHoverAnimatingRef.current=false;};},[scrambleKey]);return /*#__PURE__*/React.createElement(motion.div,{ref:containerRef,style:{position:\"relative\",display:\"inline-flex\",width:effectiveSlotWidthMV,height:\"1.2em\",alignItems:\"center\",justifyContent:\"center\",overflow:\"visible\"}},/*#__PURE__*/React.createElement(\"span\",{className:\"measure\",style:{visibility:\"hidden\",pointerEvents:\"none\",display:\"inline-block\",whiteSpace:\"pre\",padding:0,...textStyle}},char===\" \"?\"\\xa0\":char),/*#__PURE__*/React.createElement(motion.div,{style:{position:\"absolute\",left:\"50%\",top:\"50%\",width:clippingWidthMV,height:\"140%\",transform:\"translate(-50%,-50%)\",overflow:\"hidden\",pointerEvents:\"none\",mixBlendMode:\"difference\"}},/*#__PURE__*/React.createElement(motion.div,{style:{position:\"absolute\",inset:0,display:\"flex\",flexDirection:\"row\",x:xValue,willChange:\"transform\",opacity:showReel?1:0}},reelChars.map((c,i)=>/*#__PURE__*/React.createElement(motion.span,{key:`b${i}`,style:{width:rsMV,display:\"flex\",justifyContent:\"center\",alignItems:\"center\",height:\"100%\",flexShrink:0,whiteSpace:\"pre\",...textStyle}},c===\" \"?\"\\xa0\":c))),/*#__PURE__*/React.createElement(\"div\",{style:{opacity:showReel?.8:0,position:\"absolute\",inset:0,isolation:\"isolate\"}},PARALLAX_SLICES.map(slice=>/*#__PURE__*/React.createElement(SliceLayer,{key:slice.id,slice:slice,xValue:xValue,velocity:velocity,shearIntensity:2,rsMV:rsMV,textStyle:textStyle,reelChars:reelChars})))));}// ─── SliceLayer ───────────────────────────────────────────────────────────────\nfunction SliceLayer({slice,xValue,velocity,shearIntensity,rsMV,textStyle,reelChars}){const shearOffset=useTransform(velocity,v=>v*slice.lagFactor*(shearIntensity||1));const finalX=useTransform([xValue,shearOffset],([x,s])=>x+s);return /*#__PURE__*/React.createElement(motion.div,{style:{position:\"absolute\",inset:0,willChange:\"transform\",clipPath:`inset(${slice.top}% 0% ${slice.bottom}% 0%)`,x:finalX,mixBlendMode:\"difference\"}},/*#__PURE__*/React.createElement(\"div\",{style:{display:\"flex\",flexDirection:\"row\",height:\"100%\"}},reelChars.map((c,i)=>/*#__PURE__*/React.createElement(motion.span,{key:`s${i}`,style:{width:rsMV,display:\"flex\",justifyContent:\"center\",alignItems:\"center\",height:\"100%\",flexShrink:0,whiteSpace:\"pre\",...textStyle}},c===\" \"?\"\\xa0\":c))));}// ─── ScrambleTumbler ──────────────────────────────────────────────────────────\nconst DEFAULT_STEP1={fontSize:270,slotWidth:255,spacing:-116,clippingWidth:153,reelSpacing:347,duration:2,widthOverrides:\"\",offsetX:0,offsetY:0,fillViewport:false};const DEFAULT_STEP2={fontSize:735,slotWidth:144,spacing:-308,clippingWidth:576,reelSpacing:174,duration:2,widthOverrides:\"\",offsetX:0,offsetY:0,fillViewport:false};const DEFAULT_STEP3={fontSize:1200,slotWidth:33,spacing:-500,clippingWidth:999,reelSpacing:0,duration:2,widthOverrides:\"\",offsetX:0,offsetY:0,fillViewport:false};// Shared easing curve — cubic ease-in-out\nconst cubicEaseInOut=x=>{const t=Math.max(0,Math.min(1,x));return t<.5?4*t*t*t:1-Math.pow(-2*t+2,3)/2;};// Parse \"Y:-50, W:-30\" → { Y: -50, W: -30 }\nfunction parseOverrides(str){const map={};if(!str)return map;str.split(\",\").forEach(part=>{const m=part.trim().match(/^(.):([+-]?\\d+(?:\\.\\d+)?)$/);if(m)map[m[1]]=parseFloat(m[2]);});return map;}// Lerp two parsed override maps — missing key treated as 0\nfunction lerpOverrides(fromStr,toStr,e){const from=parseOverrides(fromStr||\"\");const to=parseOverrides(toStr||\"\");const keys=new Set([...Object.keys(from),...Object.keys(to)]);const result={};keys.forEach(k=>{result[k]=(from[k]??0)+((to[k]??0)-(from[k]??0))*e;});return result;}const DEFAULT_STEPS=[DEFAULT_STEP1,DEFAULT_STEP2,DEFAULT_STEP3];export default function ScrambleTumbler({text=\"TOBYS.DESIGN\",color=\"#ABABAB\",font,isOutline=false,outlineColor=\"#000\",strokeWidth=1,stagger=.12,scrambleHold=.3,appearDelay=0,appearDuration=1.5,scrambleDuration=1.5,scrambleOnAppear=true,hoverDelay=0,stepDelay=.5,// Scramble-specific overrides — applied during hover, restored after\nscrambleClipWidth,scrambleCharGap,scrambleSlotWidth,scrollProgress,stepsState,fillViewport=false,previewStep=0}){// Merge incoming array with defaults; fall back to built-in 3-step sequence\nconst steps=stepsState&&stepsState.length>0?stepsState:DEFAULT_STEPS;// Scroll mode: when scrollProgress is wired, scrub replaces RAF transitions.\nconst scrollMode=scrollProgress!==null&&scrollProgress!==undefined;const scrollProgressRef=React.useRef(scrollProgress);scrollProgressRef.current=scrollProgress;// Refs so the RAF closure always reads the latest values\nconst stepsRef=React.useRef(steps);stepsRef.current=steps;const holdRef=React.useRef(scrambleHold);holdRef.current=scrambleHold;const stepDelayRef=React.useRef(stepDelay);stepDelayRef.current=stepDelay;const scrollModeRef=React.useRef(scrollMode);scrollModeRef.current=scrollMode;// fillViewport must be a ref because runAnimation is wrapped in useCallback([])\n// — without this the RAF closure would capture the initial (false) value and\n// never see prop updates from Framer.\nconst fillViewportRef=React.useRef(fillViewport);fillViewportRef.current=fillViewport;// Ref to the root div — used by the DOM-walk effect to escape Framer's own\n// overflow:hidden frames when fillActive is true.\nconst rootRef=React.useRef(null);// Tracks whether the initial appear animation has finished.\n// Used to let canvas prop edits update values without re-running the animation.\nconst animDoneRef=React.useRef(false);// Hover gate — hover scramble is blocked until this is true.\n// Becomes true when the step animation finishes (animDoneRef) OR when the\n// manual hoverDelay timer elapses, whichever comes first.\nconst hoverReadyRef=React.useRef(false);React.useEffect(()=>{hoverReadyRef.current=false;if(hoverDelay>0){const t=setTimeout(()=>{hoverReadyRef.current=true;},hoverDelay*1e3);return()=>clearTimeout(t);}},[]);// Timer that restores step MV values after a hover scramble completes\nconst scrambleReturnTimerRef=React.useRef(null);// Snapshot of MV values before scramble — so rapid re-hovers return to the\n// correct step values, not to mid-scramble values\nconst scrambleBaseRef=React.useRef(null);const isScramblingRef=React.useRef(false);// Motion values — ALL layout properties drive CSS directly via MotionValues,\n// bypassing React's render scheduler entirely for 60fps animation.\nconst firstStep=steps[0];const fontSizeMV=useMotionValue(firstStep.fontSize);const spacingMV=useMotionValue(firstStep.spacing);const slotWidthMV=useMotionValue(firstStep.slotWidth);const clippingWidthMV=useMotionValue(firstStep.clippingWidth);const reelSpacingMV=useMotionValue(firstStep.reelSpacing);const offsetXMV=useMotionValue(firstStep.offsetX??0);const offsetYMV=useMotionValue(firstStep.offsetY??0);// Synthetic progress value: 0 → totalDurationMs, driven by Framer Motion's\n// animate() so the step animation uses the same engine as the scramble effect.\nconst progressMV=useMotionValue(0);// React state only for per-char width overrides — these are a map of char→delta and\n// can't be a plain MotionValue; they update at step boundaries (infrequent).\n// When both from/to steps have empty widthOverrides (most users), setOverrides\n// is never called inside the RAF tick, so no React renders happen during animation.\nconst[overrides,setOverrides]=React.useState(parseOverrides(firstStep.widthOverrides||\"\"));const overridesRef=React.useRef(parseOverrides(firstStep.widthOverrides||\"\"));// Tracks whether the component should escape its Framer frame and fill the viewport.\n// Activated when the step animation finishes at a step with fillViewport:true.\n// Stays false on the main editor canvas so the canvas remains usable.\nconst[fillActive,setFillActive]=React.useState(false);// Declared early so snapTo and the RAF loop can reference it.\n// isEditorCanvas: fillViewport is blocked on the canvas so editing stays usable.\n// Preview, share links, and published sites all get overflow:visible when fill is active.\nconst rt=RenderTarget.current();const isEditorCanvas=rt===RenderTarget.canvas;// ── Core animation runner ────────────────────────────────────────────────\n// Drives Step[0] → Step[1] → … → Step[n-1] in a single RAF loop.\n// Each transition takes that step's own Duration; stepDelay pauses between them.\nconst runAnimation=React.useCallback(()=>{const del=holdRef.current*1e3;animDoneRef.current=false;// Snapshot steps and stepDelay at animation start.\n// Reading stepsRef.current live inside the tick caused a race in Framer's\n// preview: props can arrive slightly after mount, so on the very first tick\n// stepsRef.current could be empty/single-item → n<=1 early-exit fires →\n// animDoneRef=true before a single frame renders → animation never plays.\n// Snapshotting here guarantees the tick always sees the full step list.\nconst ss=stepsRef.current.length>0?stepsRef.current:DEFAULT_STEPS;const sdl=stepDelayRef.current*1e3;const first=ss[0];fontSizeMV.set(first.fontSize);spacingMV.set(first.spacing);slotWidthMV.set(first.slotWidth);clippingWidthMV.set(first.clippingWidth);reelSpacingMV.set(first.reelSpacing);offsetXMV.set(first.offsetX??0);offsetYMV.set(first.offsetY??0);const firstOvr=parseOverrides(first.widthOverrides||\"\");overridesRef.current=firstOvr;setOverrides(firstOvr);// Scroll mode: letters still scramble on mount, but layout stays at\n// step 0 — scroll scrubs the transitions instead of time.\nif(scrollModeRef.current){animDoneRef.current=true;return()=>{};}const n=ss.length;if(n<=1){animDoneRef.current=true;if(n===1)setFillActive(!isEditorCanvas&&(fillViewportRef.current||!!ss[0].fillViewport));return()=>{};}// Compute total animation duration in ms\nlet totalDur=0;for(let i=0;i<n-1;i++){totalDur+=(ss[i].duration??2)*1e3;if(i<n-2)totalDur+=sdl;}// Interpolate all layout MVs for a given elapsed time (ms).\n// Same segment logic as before — extracted so it's reusable.\nconst applyElapsed=elapsed=>{let from=ss[n-1],to=ss[n-1],e=1;let cursor=0;for(let i=0;i<n-1;i++){const segDur=(ss[i].duration??2)*1e3;const isLast=i===n-2;const transEnd=cursor+segDur;const segEnd=isLast?transEnd:transEnd+sdl;if(elapsed<transEnd){from=ss[i];to=ss[i+1];e=cubicEaseInOut((elapsed-cursor)/segDur);break;}else if(!isLast&&elapsed<segEnd){from=to=ss[i+1];e=0;break;}cursor=segEnd;}const lerp=(a,b)=>a+(b-a)*e;fontSizeMV.set(lerp(from.fontSize,to.fontSize));spacingMV.set(lerp(from.spacing,to.spacing));slotWidthMV.set(lerp(from.slotWidth,to.slotWidth));clippingWidthMV.set(lerp(from.clippingWidth,to.clippingWidth));reelSpacingMV.set(lerp(from.reelSpacing,to.reelSpacing));offsetXMV.set(lerp(from.offsetX??0,to.offsetX??0));offsetYMV.set(lerp(from.offsetY??0,to.offsetY??0));const fromOvr=from.widthOverrides||\"\";const toOvr=to.widthOverrides||\"\";if(fromOvr||toOvr){const newOvr=lerpOverrides(fromOvr,toOvr,e);overridesRef.current=newOvr;setOverrides(newOvr);}else if(Object.keys(overridesRef.current).length>0){overridesRef.current={};setOverrides({});}};// Drive the step animation via Framer Motion's animate() instead of a\n// manual RAF loop. The custom RAF was unreliable in Framer's preview —\n// it could be cancelled before a single frame fired (e.g. StrictMode\n// double-invoke or Framer's own preview mounting sequence).\n// Using the same engine as the scramble (animate()) is always reliable.\nprogressMV.set(0);const stepAnim=animate(progressMV,totalDur,{duration:totalDur/1e3,ease:\"linear\",delay:del/1e3,onUpdate:applyElapsed,onComplete:()=>{animDoneRef.current=true;const lastS=ss[n-1];setFillActive(!isEditorCanvas&&(fillViewportRef.current||!!lastS.fillViewport));}});return()=>{stepAnim.stop();};},[]);// ── Appear animation — runs once on mount ────────────────────────────────\nReact.useEffect(()=>runAnimation(),[]);// ── Canvas editing: snap to whichever step was just changed ─────────────\nconst snapTo=s=>{fontSizeMV.set(s.fontSize);spacingMV.set(s.spacing);slotWidthMV.set(s.slotWidth);clippingWidthMV.set(s.clippingWidth);reelSpacingMV.set(s.reelSpacing);offsetXMV.set(s.offsetX??0);offsetYMV.set(s.offsetY??0);const ovr=parseOverrides(s.widthOverrides||\"\");overridesRef.current=ovr;setOverrides(ovr);// fillViewport: global prop overrides per-step; both blocked on editor canvas\nsetFillActive(!isEditorCanvas&&(fillViewport||!!s.fillViewport));};// ── Scroll scrub ─────────────────────────────────────────────────────────\n// Maps a 0–1 progress value across the step transitions, weighted by each\n// step's duration so a longer duration = more scroll range for that segment.\nconst scrubToProgress=React.useCallback(p=>{const ss=stepsRef.current;const n=ss.length;if(n<=1)return;// Each of the n-1 transitions gets a weight proportional to the FROM step's duration.\nconst weights=ss.slice(0,n-1).map(s=>Math.max(.01,s.duration??2));const totalW=weights.reduce((a,b)=>a+b,0);const clamped=Math.max(0,Math.min(1,p));let cursor=0;let from=ss[0],to=ss[Math.min(1,n-1)],e=0;for(let i=0;i<n-1;i++){const segEnd=cursor+weights[i]/totalW;if(clamped<=segEnd||i===n-2){from=ss[i];to=ss[i+1];const localT=(clamped-cursor)/(weights[i]/totalW);// Scroll-driven: use linear mapping — the user's hand already controls\n// pacing. Applying easing here makes the ends of each segment feel\n// unresponsive, especially when scrolling back (scale-down direction).\ne=Math.max(0,Math.min(1,localT));break;}cursor=segEnd;}const lerp=(a,b)=>a+(b-a)*e;fontSizeMV.set(lerp(from.fontSize,to.fontSize));spacingMV.set(lerp(from.spacing,to.spacing));slotWidthMV.set(lerp(from.slotWidth,to.slotWidth));clippingWidthMV.set(lerp(from.clippingWidth,to.clippingWidth));reelSpacingMV.set(lerp(from.reelSpacing,to.reelSpacing));offsetXMV.set(lerp(from.offsetX??0,to.offsetX??0));offsetYMV.set(lerp(from.offsetY??0,to.offsetY??0));const fromOvr=from.widthOverrides||\"\";const toOvr=to.widthOverrides||\"\";if(fromOvr||toOvr){const newOvr=lerpOverrides(fromOvr,toOvr,e);overridesRef.current=newOvr;setOverrides(newOvr);}else if(Object.keys(overridesRef.current).length>0){overridesRef.current={};setOverrides({});}},[]);// Drive scrub whenever scrollProgress prop changes\nReact.useEffect(()=>{if(!scrollMode)return;scrubToProgress(scrollProgress);},[scrollProgress,scrollMode]);// Increments on each hover to trigger a re-scramble in every ScrambleLetter\nconst[scrambleKey,setScrambleKey]=React.useState(0);const prevStepsJsonRef=React.useRef(\"\");React.useEffect(()=>{// Canvas editor only — this effect must never touch preview/published.\n// In preview the RAF animation owns the MotionValues; any snapTo call\n// here would freeze or skip the animation.\nif(!isEditorCanvas)return;const currJson=JSON.stringify(stepsState);prevStepsJsonRef.current=currJson;if(!animDoneRef.current)return;const ss=stepsRef.current;if(ss.length===0)return;// Snap to whichever step the user is currently previewing.\n// previewStep is 1-indexed; 0 (default) = last step.\nconst idx=previewStep>=1&&previewStep<=ss.length?previewStep-1:ss.length-1;snapTo(ss[idx]);},[JSON.stringify(stepsState),previewStep]);const reelBase=React.useMemo(()=>(text||\"TOBYS\").replace(/\\s/g,\"\")||\"OTYWSLE\",[text]);const handleMouseEnter=()=>{// Block hover while step animation is running, or until hoverDelay elapses.\nconst ready=hoverReadyRef.current||animDoneRef.current;if(!ready)return;hoverReadyRef.current=true// once open, stays open\n;setScrambleKey(k=>k+1);const hasOverrides=scrambleClipWidth!=null||scrambleCharGap!=null||scrambleSlotWidth!=null;if(!hasOverrides)return;// Only snapshot step values on first hover (not on rapid re-hover)\nif(!isScramblingRef.current){scrambleBaseRef.current={clip:clippingWidthMV.get(),reel:reelSpacingMV.get(),slot:slotWidthMV.get()};}isScramblingRef.current=true;clearTimeout(scrambleReturnTimerRef.current);// Clip/reel/slot animate IN over 40% of the hover duration,\n// then sweep back out over another 40% — symmetric ease-in-out arc.\nconst totalDur=scrambleDuration||1.5;const inDur=totalDur*.4;const outDur=totalDur*.4;if(scrambleClipWidth!=null)animate(clippingWidthMV,scrambleClipWidth,{duration:inDur,ease:\"easeInOut\"});if(scrambleCharGap!=null)animate(reelSpacingMV,scrambleCharGap,{duration:inDur,ease:\"easeInOut\"});if(scrambleSlotWidth!=null)animate(slotWidthMV,scrambleSlotWidth,{duration:inDur,ease:\"easeInOut\"});// Return fires exactly when the in-animation completes\nscrambleReturnTimerRef.current=setTimeout(()=>{const base=scrambleBaseRef.current;if(!base)return;isScramblingRef.current=false;if(scrambleClipWidth!=null)animate(clippingWidthMV,base.clip,{duration:outDur,ease:\"easeInOut\"});if(scrambleCharGap!=null)animate(reelSpacingMV,base.reel,{duration:outDur,ease:\"easeInOut\"});if(scrambleSlotWidth!=null)animate(slotWidthMV,base.slot,{duration:outDur,ease:\"easeInOut\"});},inDur*1e3);};// The letters —\nconst motionContent=/*#__PURE__*/React.createElement(motion.div,{style:{fontSize:fontSizeMV,display:\"flex\",flexDirection:\"row\",alignItems:\"center\",justifyContent:\"flex-start\",whiteSpace:\"nowrap\",x:offsetXMV,y:offsetYMV}},(text||\"\").split(\"\").map((c,i)=>/*#__PURE__*/React.createElement(motion.div,{key:i,style:{flexShrink:0,marginRight:i<(text||\"\").length-1?spacingMV:0}},/*#__PURE__*/React.createElement(ScrambleLetter,{char:c,fontSize:steps[0]?.fontSize??DEFAULT_STEP1.fontSize,font:font,color:color,outlineColor:outlineColor,delay:i*stagger,hold:scrambleHold,appearDelay:appearDelay+i*stagger,appearDuration:appearDuration,hoverDuration:scrambleDuration,scrambleOnAppear:scrambleOnAppear,scrambleString:reelBase,isOutline:isOutline,strokeWidth:strokeWidth,charIndex:i,slotWidthMV:slotWidthMV,overrideDelta:overrides[c]??0,clippingWidthMV:clippingWidthMV,reelSpacingMV:reelSpacingMV,scrambleKey:scrambleKey,returnClip:steps[steps.length-1].clippingWidth,returnReel:steps[steps.length-1].reelSpacing}))));// DOM ancestor walk — runs once on mount (non-editor only).\n// Framer wraps every code component in its own frame divs that have overflow:hidden.\n// A plain inline style can be beaten by stylesheet rules; using setProperty with\n// \"important\" guarantees nothing overrides it, including Framer's own stylesheets.\n// Covers overflow, overflow-x, and overflow-y separately so nothing slips through.\n// Cleanup restores the original value + priority on unmount.\nReact.useEffect(()=>{if(isEditorCanvas||!rootRef.current)return;const restoreList=[];let el=rootRef.current.parentElement;while(el&&el!==document.body){const computed=window.getComputedStyle(el);if(computed.overflow!==\"visible\"||computed.overflowX!==\"visible\"||computed.overflowY!==\"visible\"){const node=el;// Save current inline value + priority for each axis\nconst prev=node.style.getPropertyValue(\"overflow\");const prevPr=node.style.getPropertyPriority(\"overflow\");const prevX=node.style.getPropertyValue(\"overflow-x\");const prevXPr=node.style.getPropertyPriority(\"overflow-x\");const prevY=node.style.getPropertyValue(\"overflow-y\");const prevYPr=node.style.getPropertyPriority(\"overflow-y\");node.style.setProperty(\"overflow\",\"visible\",\"important\");node.style.setProperty(\"overflow-x\",\"visible\",\"important\");node.style.setProperty(\"overflow-y\",\"visible\",\"important\");restoreList.push(()=>{if(prev)node.style.setProperty(\"overflow\",prev,prevPr);else node.style.removeProperty(\"overflow\");if(prevX)node.style.setProperty(\"overflow-x\",prevX,prevXPr);else node.style.removeProperty(\"overflow-x\");if(prevY)node.style.setProperty(\"overflow-y\",prevY,prevYPr);else node.style.removeProperty(\"overflow-y\");});}el=el.parentElement;}return()=>restoreList.forEach(fn=>fn());},[]);// Editor canvas: keep overflow:hidden so the canvas stays tidy.\n// Preview / published: always visible — each ScrambleLetter's clipper div already\n// handles reel clipping, so there's no need for a second boundary here.\n// The fillViewport DOM-walk handles escaping Framer's own ancestor frames.\nconst overflow=isEditorCanvas?\"hidden\":\"visible\";return /*#__PURE__*/React.createElement(\"div\",{ref:rootRef,style:{width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"flex-start\",overflow},onMouseEnter:handleMouseEnter},motionContent);}// ─── Property controls ────────────────────────────────────────────────────────\nconst layoutControls=defaults=>({duration:{type:ControlType.Number,title:\"Duration\",description:\"Transition time from this step to the next (ignored on the last step)\",defaultValue:defaults.duration,min:.1,max:20,step:.1},fontSize:{type:ControlType.Number,title:\"Size\",defaultValue:defaults.fontSize,min:10,max:1200},slotWidth:{type:ControlType.Number,title:\"Letter Width\",description:\"Width of each letter's container box. Letter Gap adds space between box edges. Clip Width can overflow this box on both sides to create the blend overlap effect.\",defaultValue:defaults.slotWidth,min:0,max:800,unit:\"px\"},spacing:{type:ControlType.Number,title:\"Letter Gap\",description:\"Gap between letter containers\",defaultValue:defaults.spacing,min:-500,max:500},clippingWidth:{type:ControlType.Number,title:\"Clip Width\",description:\"Visual window per letter — if wider than Letter Width, the reel overflows into neighbouring slots creating the blend overlap effect\",defaultValue:defaults.clippingWidth,min:0,max:1e3,unit:\"px\"},reelSpacing:{type:ControlType.Number,title:\"Char Gap\",description:\"Distance between characters within each reel\",defaultValue:defaults.reelSpacing,min:0,max:500,unit:\"px\"},widthOverrides:{type:ControlType.String,title:\"Width Overrides\",defaultValue:defaults.widthOverrides??\"\",placeholder:\"Y:-50, W:-30\",description:'Per-character letter width delta for this step. Format: char:delta — e.g. \"Y:-50\" makes Y 50px narrower. Comma-separate multiple entries.'},offsetX:{type:ControlType.Number,title:\"Offset X\",description:\"Horizontal position of the text block within the component (px from left edge). Lerps smoothly between steps.\",defaultValue:0,min:-2e3,max:2e3,step:1},offsetY:{type:ControlType.Number,title:\"Offset Y\",description:\"Vertical offset from the component's vertical centre (px). Negative moves up, positive moves down. Lerps smoothly between steps.\",defaultValue:0,min:-2e3,max:2e3,step:1},fillViewport:{type:ControlType.Boolean,title:\"Fill Viewport\",description:\"When on, the component escapes its Framer frame and fills the full browser viewport once the animation reaches this step. Only the main canvas is excluded — works in preview and on the published site.\",defaultValue:false}});addPropertyControls(ScrambleTumbler,{text:{type:ControlType.String,title:\"Text\",defaultValue:\"TOBYS.DESIGN\"},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#ABABAB\"},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",defaultValue:{fontFamily:\"Inter\",fontWeight:900,fontStyle:\"normal\"}},// ── Scroll scrub ─────────────────────────────────────────────────────\nscrollProgress:{type:ControlType.Number,title:\"Scroll Progress\",description:\"Connect to a Framer Scroll component's scrollYProgress (0–1). When wired, scroll scrubs the step transitions instead of time. Each step's Duration controls how much scroll range its transition occupies.\",defaultValue:undefined,min:0,max:1,step:.001,optional:true},// ── Fill viewport ────────────────────────────────────────────────────\nfillViewport:{type:ControlType.Boolean,title:\"Fill Viewport\",description:\"When on, removes the component's overflow clipping once the animation finishes — text at large step sizes spills beyond the frame boundary and fills the viewport. Requires parent containers to be overflow:visible (Framer's default for sticky sections). Blocked on the editor canvas.\",defaultValue:false},// ── Steps array — add/remove steps freely ────────────────────────────\nstepsState:{type:ControlType.Array,title:\"Steps\",control:{type:ControlType.Object,controls:layoutControls(DEFAULT_STEP1)},defaultValue:DEFAULT_STEPS},// ── Canvas step preview selector ──────────────────────────────────────\npreviewStep:{type:ControlType.Number,title:\"Preview Step\",description:\"Which step to display in the canvas editor so you can design each one. 1 = first step, 0 = last step (default). Has no effect on the published animation — that always plays all steps in order.\",defaultValue:0,min:0,max:20,step:1},// ── Hover scramble overrides ──────────────────────────────────────────\n// When set, these temporarily replace the step values during hover scramble,\n// then smoothly restore to the step values once all letters finish.\nscrambleClipWidth:{type:ControlType.Number,title:\"Scramble Clip Width\",description:\"Clip Width during hover scramble. Leave unset to use the current step value. Widens the visible window while letters spin, then snaps back.\",defaultValue:undefined,min:0,max:4e3,step:1,unit:\"px\",optional:true},scrambleCharGap:{type:ControlType.Number,title:\"Scramble Char Gap\",description:\"Char Gap during hover scramble. Leave unset to use the current step value.\",defaultValue:undefined,min:0,max:500,step:1,unit:\"px\",optional:true},scrambleSlotWidth:{type:ControlType.Number,title:\"Scramble Letter Width\",description:\"Letter Width during hover scramble. Leave unset to use the current step value.\",defaultValue:undefined,min:0,max:800,step:1,unit:\"px\",optional:true},// ── Timing ───────────────────────────────────────────────────────────\nscrambleOnAppear:{type:ControlType.Boolean,title:\"Scramble on Appear\",description:\"When off, letters snap directly to their settled position on load — no reel spin. Hover scramble is unaffected.\",defaultValue:true},appearDelay:{type:ControlType.Number,title:\"Appear Delay\",description:\"Seconds to wait before the first letter starts appearing. Per-letter stagger is controlled by the Stagger setting. Has no effect when Scramble on Appear is off.\",defaultValue:0,min:0,max:10,step:.1,hidden:p=>!p.scrambleOnAppear},appearDuration:{type:ControlType.Number,title:\"Appear Duration\",description:\"Speed of the initial reel fly-in animation in seconds. Has no effect when Scramble on Appear is off.\",defaultValue:1.5,min:.1,max:10,step:.1,hidden:p=>!p.scrambleOnAppear},scrambleDuration:{type:ControlType.Number,title:\"Hover Duration\",description:\"Speed of the hover re-scramble reel animation in seconds\",defaultValue:1.5,min:.1,max:10,step:.1},hoverDelay:{type:ControlType.Number,title:\"Hover Lock\",description:\"Seconds after load before hover scramble is enabled. Set this to match your total step animation time to prevent hover triggering mid-animation. Leave at 0 to auto-unlock when the step animation finishes.\",defaultValue:0,min:0,max:30,step:.5},stepDelay:{type:ControlType.Number,title:\"Step Pause\",description:\"Pause at Step 2 before continuing to Step 3\",defaultValue:.5,min:0,max:5,step:.1},stagger:{type:ControlType.Number,title:\"Stagger\",defaultValue:.12,step:.01},scrambleHold:{type:ControlType.Number,title:\"Initial Hold\",defaultValue:.3,min:0,max:2,step:.1},// ── Outline ───────────────────────────────────────────────────────────\nisOutline:{type:ControlType.Boolean,title:\"Outline\",defaultValue:false},outlineColor:{type:ControlType.Color,title:\"Stroke Color\",defaultValue:\"#000\",hidden:p=>!p.isOutline},strokeWidth:{type:ControlType.Number,title:\"Stroke Width\",defaultValue:1,min:1,max:10,step:.5,hidden:p=>!p.isOutline}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ScrambleTumbler\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SCRAMLELOGO.map","// Generated by Framer (b6e2e7c)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,getFontsFromSharedStyle,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 ScrambleTumbler from\"https://framerusercontent.com/modules/ldkbWzucphIxLS3cNGx5/Kp6p4hNcclpGjlJ66h7J/SCRAMLELOGO.js\";import*as sharedStyle1 from\"https://framerusercontent.com/modules/frUdjlHtJiRiJwccOcRb/inQq7FUATirNJIJDAXFf/WRCqY_KV9.js\";import*as sharedStyle from\"https://framerusercontent.com/modules/4lRykfiMIwcrVGZlsT2L/HPUNOe3JUcXRoTDljt0k/WxcrrcAVO.js\";const ScrambleTumblerFonts=getFonts(ScrambleTumbler);const cycleOrder=[\"mMrQtusR5\",\"j0R2k6hlu\",\"v9thSKazV\",\"q4Rn8DyuA\"];const serializationHash=\"framer-XGJwd\";const variantClassNames={j0R2k6hlu:\"framer-v-1lh2nr0\",mMrQtusR5:\"framer-v-1uxiaqi\",q4Rn8DyuA:\"framer-v-gv2v2p\",v9thSKazV:\"framer-v-2bepge\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.4,delay:0,duration:.9,type:\"spring\"};const transformTemplate1=(_,t)=>`translateY(-50%) ${t}`;const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const humanReadableVariantMap={\"Variant 4\":\"v9thSKazV\",Home:\"mMrQtusR5\",Scrolled:\"q4Rn8DyuA\",Tablet:\"j0R2k6hlu\"};const Variants=motion.create(React.Fragment);const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"mMrQtusR5\"};};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:\"mMrQtusR5\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[sharedStyle.className,sharedStyle1.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.nav,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-1uxiaqi\",className,classNames),\"data-framer-name\":\"Home\",layoutDependency:layoutDependency,layoutId:\"mMrQtusR5\",ref:refBinding,style:{...style},...addPropertyOverrides({j0R2k6hlu:{\"data-framer-name\":\"Tablet\"},q4Rn8DyuA:{\"data-framer-name\":\"Scrolled\"},v9thSKazV:{\"data-framer-name\":\"Variant 4\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1t5io17\",\"data-framer-name\":\"HeaderContainer\",layoutDependency:layoutDependency,layoutId:\"s9D7rYuRx\",style:{backgroundColor:\"rgba(43, 43, 43, 0.43)\",borderBottomLeftRadius:24,borderBottomRightRadius:24,borderTopLeftRadius:24,borderTopRightRadius:24},children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-f3lxff\",\"data-framer-name\":\"Left Part\",layoutDependency:layoutDependency,layoutId:\"XGN3SG7v_\",style:{borderBottomLeftRadius:12,borderBottomRightRadius:12,borderTopLeftRadius:12,borderTopRightRadius:12},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-16pcr5x-container\",isAuthoredByUser:true,layoutDependency:layoutDependency,layoutId:\"v3gGW0vBQ-container\",nodeId:\"v3gGW0vBQ\",rendersWithMotion:true,scopeId:\"oa8941imD\",style:{scale:1},variants:{q4Rn8DyuA:{originX:.15,scale:.2},v9thSKazV:{originX:0,scale:.1}},...addPropertyOverrides({q4Rn8DyuA:{transformTemplate:transformTemplate1}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(ScrambleTumbler,{appearDelay:2,appearDuration:3,color:\"var(--token-8ce07430-19aa-464f-83d7-2b4eb92ebb52, rgb(255, 255, 255))\",fillViewport:true,font:{fontFamily:'\"BDO Grotesk Variable\", sans-serif',fontFeatureSettings:\"'dlig' on, 'ss05' on, 'ss04' on, 'ss03' on, 'ss02' on, 'ss01' on\",fontSize:\"12px\",fontStyle:\"normal\",fontWeight:1e3,letterSpacing:\"0em\",lineHeight:\"1em\"},height:\"100%\",hoverDelay:6,id:\"v3gGW0vBQ\",isOutline:false,layoutId:\"v3gGW0vBQ\",outlineColor:\"rgb(0, 0, 0)\",scrambleDuration:2,scrambleHold:0,scrambleOnAppear:true,stagger:.3,stepDelay:.3,stepsState:[{clippingWidth:6,duration:.3,fillViewport:false,fontSize:50,offsetX:545,offsetY:0,reelSpacing:0,slotWidth:89,spacing:-85,widthOverrides:\"\"},{clippingWidth:6,duration:.3,fillViewport:false,fontSize:780,offsetX:545,offsetY:0,reelSpacing:0,slotWidth:89,spacing:-86,widthOverrides:\"\"},{clippingWidth:1e3,duration:.3,fillViewport:true,fontSize:1200,offsetX:590,offsetY:-110,reelSpacing:500,slotWidth:0,spacing:7,widthOverrides:\"\"},{clippingWidth:1e3,duration:.3,fillViewport:false,fontSize:959,offsetX:1,offsetY:0,reelSpacing:0,slotWidth:233,spacing:-65,widthOverrides:\"\"},{clippingWidth:237,duration:.3,fillViewport:false,fontSize:167,offsetX:113,offsetY:0,reelSpacing:416,slotWidth:133,spacing:0,widthOverrides:\"O:-50,Y:-65\"}],strokeWidth:1,style:{height:\"100%\",width:\"100%\"},text:\"TOBYS\",width:\"100%\",...addPropertyOverrides({j0R2k6hlu:{style:{width:\"100%\"}},q4Rn8DyuA:{style:{width:\"100%\"}}},baseVariant,gestureVariant)})})})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-1a8gt69\",\"data-framer-name\":\"Right part\",layoutDependency:layoutDependency,layoutId:\"T89VW74fC\",style:{borderBottomLeftRadius:12,borderBottomRightRadius:12,borderTopLeftRadius:12,borderTopRightRadius:12},children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-97cey3\",layoutDependency:layoutDependency,layoutId:\"A6XULYp1t\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"Qkk7QkRPIEdyb3Rlc2svdmFyaWFibGUvdjBWRj1JbmRuYUhRaUlEa3dNQT09\",\"--framer-font-family\":'\"BDO Grotesk Variable\", sans-serif',\"--framer-font-size\":\"14px\",\"--framer-font-variation-axes\":'var(--extracted-2gg91v, \"wght\" 900)',\"--framer-font-weight\":\"1000\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(190, 184, 204))\",\"--framer-text-decoration-color\":\"var(--token-f545687d-e035-42c5-a445-8a235b5e4d61, rgb(179, 148, 109))\",\"--framer-text-decoration\":\"underline\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"augiA20Il\"},motionChild:true,nodeId:\"IhA39BGzB\",openInNewTab:false,relValues:[],scopeId:\"oa8941imD\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-4hnw4u\",\"data-styles-preset\":\"WxcrrcAVO\",children:\"Home\"})})})}),className:\"framer-128gz9s\",fonts:[\"BI;BDO Grotesk/variable/v0\"],layoutDependency:layoutDependency,layoutId:\"IhA39BGzB\",style:{\"--extracted-2gg91v\":'\"wght\" 900',\"--extracted-r6o4lv\":\"rgb(190, 184, 204)\"},verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-6hxowg\",layoutDependency:layoutDependency,layoutId:\"mO4aTHjlV\",style:{backgroundColor:\"rgb(64, 64, 64)\"}}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"Qkk7QkRPIEdyb3Rlc2svdmFyaWFibGUvdjA=\",\"--framer-font-family\":'\"BDO Grotesk Variable\", sans-serif',\"--framer-font-size\":\"14px\",\"--framer-font-weight\":\"1000\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(190, 184, 204))\",\"--framer-text-decoration-color\":\"var(--token-f545687d-e035-42c5-a445-8a235b5e4d61, rgb(179, 148, 109))\",\"--framer-text-decoration\":\"underline\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"augiA20Il\"},motionChild:true,nodeId:\"OBVZN2PP_\",openInNewTab:false,relValues:[],scopeId:\"oa8941imD\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1ogo7qf\",\"data-styles-preset\":\"WRCqY_KV9\",children:\"About\"})})})}),className:\"framer-1h86ciz\",fonts:[\"BI;BDO Grotesk/variable/v0\"],layoutDependency:layoutDependency,layoutId:\"OBVZN2PP_\",style:{\"--extracted-r6o4lv\":\"rgb(190, 184, 204)\"},verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-1evh9g3\",layoutDependency:layoutDependency,layoutId:\"k5ldO07L4\",style:{backgroundColor:\"rgb(64, 64, 64)\"}}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"Qkk7QkRPIEdyb3Rlc2svdmFyaWFibGUvdjA=\",\"--framer-font-family\":'\"BDO Grotesk Variable\", sans-serif',\"--framer-font-size\":\"14px\",\"--framer-font-weight\":\"1000\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(190, 184, 204))\",\"--framer-text-decoration-color\":\"var(--token-f545687d-e035-42c5-a445-8a235b5e4d61, rgb(179, 148, 109))\",\"--framer-text-decoration\":\"underline\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"augiA20Il\"},motionChild:true,nodeId:\"uGv30RoaX\",openInNewTab:false,relValues:[],scopeId:\"oa8941imD\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1ogo7qf\",\"data-styles-preset\":\"WRCqY_KV9\",children:\"Work\"})})})}),className:\"framer-11o3urb\",fonts:[\"BI;BDO Grotesk/variable/v0\"],layoutDependency:layoutDependency,layoutId:\"uGv30RoaX\",style:{\"--extracted-r6o4lv\":\"rgb(190, 184, 204)\"},verticalAlignment:\"top\",withExternalLayout:true})]})})]})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-XGJwd.framer-3ru2l, .framer-XGJwd .framer-3ru2l { display: block; }\",\".framer-XGJwd.framer-1uxiaqi { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: 72px; justify-content: center; overflow: visible; padding: 12px 20px 12px 20px; position: relative; width: 1020px; }\",\".framer-XGJwd .framer-1t5io17 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 48px; justify-content: center; overflow: visible; padding: 4px 24px 4px 24px; position: relative; width: 980px; }\",\".framer-XGJwd .framer-f3lxff { align-content: flex-start; align-items: flex-start; bottom: -473px; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 8px; justify-content: flex-start; left: 24px; mix-blend-mode: exclusion; overflow: visible; padding: 0px; position: absolute; top: -473px; width: 702px; z-index: 1; }\",\".framer-XGJwd .framer-16pcr5x-container { flex: none; height: calc(var(--framer-viewport-height, 100vh) * 1); left: -134px; mix-blend-mode: difference; position: absolute; top: 426px; width: 1200px; z-index: 8; }\",\".framer-XGJwd .framer-1a8gt69 { align-content: flex-start; align-items: flex-start; 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: 220px; z-index: 1; }\",\".framer-XGJwd .framer-97cey3 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 24px; height: 18px; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 194px; }\",\".framer-XGJwd .framer-128gz9s, .framer-XGJwd .framer-1h86ciz, .framer-XGJwd .framer-11o3urb { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-XGJwd .framer-6hxowg, .framer-XGJwd .framer-1evh9g3 { flex: none; height: 10px; overflow: visible; position: relative; width: 1px; }\",\".framer-XGJwd.framer-v-1lh2nr0 .framer-16pcr5x-container { height: auto; width: 310px; }\",\".framer-XGJwd.framer-v-2bepge .framer-f3lxff { bottom: unset; height: min-content; left: unset; position: relative; top: unset; }\",\".framer-XGJwd.framer-v-2bepge .framer-16pcr5x-container { left: unset; position: relative; top: unset; }\",\".framer-XGJwd.framer-v-gv2v2p .framer-f3lxff { bottom: unset; flex: 1 0 0px; gap: 0px; height: 100%; left: unset; position: relative; top: unset; width: 1px; }\",\".framer-XGJwd.framer-v-gv2v2p .framer-16pcr5x-container { height: auto; top: 50%; width: 320px; }\",\".framer-XGJwd.framer-v-gv2v2p .framer-1a8gt69 { align-content: center; align-items: center; flex: 5 0 0px; gap: 0px; justify-content: flex-end; padding: 0px 20px 0px 0px; width: 1px; }\",...sharedStyle.css,...sharedStyle1.css];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 72\n * @framerIntrinsicWidth 1020\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"j0R2k6hlu\":{\"layout\":[\"fixed\",\"fixed\"]},\"v9thSKazV\":{\"layout\":[\"fixed\",\"fixed\"]},\"q4Rn8DyuA\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const Frameroa8941imD=withCSS(Component,css,\"framer-XGJwd\");export default Frameroa8941imD;Frameroa8941imD.displayName=\"Navigation\";Frameroa8941imD.defaultProps={height:72,width:1020};addPropertyControls(Frameroa8941imD,{variant:{options:[\"mMrQtusR5\",\"j0R2k6hlu\",\"v9thSKazV\",\"q4Rn8DyuA\"],optionTitles:[\"Home\",\"Tablet\",\"Variant 4\",\"Scrolled\"],title:\"Variant\",type:ControlType.Enum}});const variationAxes=[{defaultValue:400,maxValue:900,minValue:300,name:\"Weight\",tag:\"wght\"}];addFonts(Frameroa8941imD,[{explicitInter:true,fonts:[{cssFamilyName:\"BDO Grotesk Variable\",source:\"builtIn\",style:\"normal\",uiFamilyName:\"BDO Grotesk\",url:\"https://framerusercontent.com/assets/FcybOZJ2ipUdK2dQmwN3gFVAvuk.woff2\",variationAxes,weight:\"1000\"}]},...ScrambleTumblerFonts,...getFontsFromSharedStyle(sharedStyle.fonts),...getFontsFromSharedStyle(sharedStyle1.fonts)],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"Frameroa8941imD\",\"slots\":[],\"annotations\":{\"framerImmutableVariables\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"j0R2k6hlu\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"v9thSKazV\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"q4Rn8DyuA\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerIntrinsicWidth\":\"1020\",\"framerContractVersion\":\"1\",\"framerAutoSizeImages\":\"true\",\"framerIntrinsicHeight\":\"72\",\"framerColorSyntax\":\"true\",\"framerComponentViewportWidth\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget,useLocaleCode}from\"framer\";import{startTransition,useCallback,useEffect,useRef,useState}from\"react\";const fontStack=`\"Inter\", system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"`;function formatTimeOrDate(outputType,{showYear,showMonth,showWeekday,showMinutes,showSeconds},timeFormat,monthFormat,localCode){const date=new Date;const onlyYearIsShown=!showWeekday&&!showMonth&&showYear;switch(outputType){case\"date\":return new Intl.DateTimeFormat(localCode,{weekday:showWeekday?\"long\":undefined,day:onlyYearIsShown?undefined:\"numeric\",month:showMonth?monthFormat:undefined,year:showYear?\"numeric\":undefined}).format(date);case\"time\":return new Intl.DateTimeFormat(localCode,{hour:\"numeric\",minute:showMinutes?\"numeric\":undefined,second:showSeconds&&showMinutes?\"numeric\":undefined,hour12:timeFormat===\"12h\"}).format(date);default:return new Intl.DateTimeFormat(localCode).format(date);}}const defaultProps={height:20,width:140,outputType:\"time\",color:\"#999\",timeFormat:\"24h\",showYear:true,showMonth:true,showWeekday:true,showMinutes:true,showSeconds:true,monthFormat:\"long\",alignment:\"center\"};/**\n * TIME AND DATE\n * FORKED FROM PROTOTYPING\n *\n * @framerIntrinsicWidth 140\n * @framerIntrinsicHeight 20\n *\n * @framerDisableUnlink\n *\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */export function Time(props){const mergedProps={...defaultProps,...props};const{outputType,timeFormat,showYear,showMonth,showWeekday,// showHours,\nshowMinutes,showSeconds,monthFormat,color,font,tabularFont}=mergedProps;const localCode=useLocaleCode();const getTextContent=useCallback(()=>formatTimeOrDate(outputType,{showYear,showMonth,showWeekday,// showHours,\n    showMinutes,showSeconds},timeFormat,monthFormat,localCode),[localCode,monthFormat,outputType,showMinutes,showMonth,showSeconds,showWeekday,showYear,timeFormat]);const timeoutRef=useRef()// FIXME: With React 19, we can remove this and return a cleanup from the ref callback\n;const updateCountdown=useCallback(node=>{if(node===null){// React calls w/ `null` on unmount or if the ref function changes.\nclearTimeout(timeoutRef.current);return;}let prev;const tick=()=>{const date=new Date;const next=new Date().setSeconds(date.getSeconds()+1,0)-+date;timeoutRef.current=setTimeout(tick,next);const textContent=getTextContent();if(prev!==textContent){node.textContent=textContent;prev=textContent;}};tick();},[getTextContent]);const[visible,setIsVisible]=useState(false);const isCanvas=RenderTarget.current()===RenderTarget.canvas;useEffect(()=>{startTransition(()=>setIsVisible(true));// Don’t want real time on Canvas\nif(isCanvas)return;},[isCanvas]);return /*#__PURE__*/_jsx(\"p\",{suppressHydrationWarning:true,style:{margin:0,padding:0,color,fontFamily:fontStack,fontWeight:500,fontSize:16,lineHeight:1,visibility:visible?\"visible\":\"hidden\",...font,fontVariantNumeric:tabularFont?\"tabular-nums\":\"normal\",whiteSpace:\"nowrap\"},ref:isCanvas?undefined:updateCountdown,children:getTextContent()});}Time.displayName=\"Time & Date\";addPropertyControls(Time,{outputType:{title:\"Type\",type:ControlType.Enum,displaySegmentedControl:true,options:[\"date\",\"time\"],optionTitles:[\"Date\",\"Time\"],defaultValue:defaultProps.outputType},showWeekday:{title:\"Day\",type:ControlType.Boolean,enabledTitle:\"Show\",disabledTitle:\"Hide\",defaultValue:defaultProps.showWeekday,hidden:props=>props.outputType!==\"date\"},showMonth:{title:\"Month\",type:ControlType.Boolean,enabledTitle:\"Show\",disabledTitle:\"Hide\",defaultValue:defaultProps.showMonth,hidden:props=>props.outputType!==\"date\"},monthFormat:{title:\"Format\",type:ControlType.Enum,options:[\"short\",\"long\",\"numeric\"],optionTitles:[\"Short\",\"Long\",\"Numeric\"],defaultValue:defaultProps.monthFormat,hidden:props=>props.outputType!==\"date\"||!props.showMonth},showYear:{title:\"Year\",type:ControlType.Boolean,enabledTitle:\"Show\",disabledTitle:\"Hide\",defaultValue:defaultProps.showYear,hidden:props=>props.outputType!==\"date\"},timeFormat:{title:\"Format\",type:ControlType.Enum,options:[\"12h\",\"24h\"],optionTitles:[\"12h\",\"24h\"],displaySegmentedControl:true,defaultValue:defaultProps.timeFormat,hidden:props=>props.outputType!==\"time\"},// showHours: {\n//     title: \"Hours\",\n//     type: ControlType.Boolean,\n//     enabledTitle: \"Show\",\n//     disabledTitle: \"Hide\",\n//     defaultValue: defaultProps.showHours,\n//     hidden: (props) => props.outputType !== \"time\",\n// },\nshowMinutes:{title:\"Minutes\",type:ControlType.Boolean,enabledTitle:\"Show\",disabledTitle:\"Hide\",defaultValue:defaultProps.showMinutes,hidden:props=>props.outputType!==\"time\"},showSeconds:{title:\"Seconds\",type:ControlType.Boolean,enabledTitle:\"Show\",disabledTitle:\"Hide\",defaultValue:defaultProps.showSeconds,hidden:props=>props.outputType!==\"time\"||!props.showMinutes},font:{type:ControlType.Font,controls:\"extended\"},tabularFont:{title:\"Tabular\",type:ControlType.Boolean,defaultValue:true},color:{type:ControlType.Color,defaultValue:defaultProps.color}});\nexport const __FramerMetadata__ = {\"exports\":{\"Time\":{\"type\":\"reactComponent\",\"name\":\"Time\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"20\",\"framerSupportedLayoutHeight\":\"any\",\"framerDisableUnlink\":\"*\",\"framerSupportedLayoutWidth\":\"any\",\"framerIntrinsicWidth\":\"140\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Time.map","// Generated by Framer (4a2adb5)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,forwardLoader,getFonts,RichText,SmartComponentScopedContainer,useComponentViewport,useLocaleInfo,useVariantState,withCSS,withFX}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import Link from\"https://framerusercontent.com/modules/kZbIUpIRvztQczSQUHdc/WrgIfkKe7n4Nn0IZsaFa/yzJSw3SAN.js\";const RichTextWithFX=withFX(RichText);const LinkFonts=getFonts(Link);const cycleOrder=[\"T28S0M2pv\",\"iJ1uZYjbm\"];const serializationHash=\"framer-z7Bvc\";const variantClassNames={iJ1uZYjbm:\"framer-v-17lv7pv\",T28S0M2pv:\"framer-v-akjzth\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const Ew0KFUASw=undefined;const transition1={damping:60,delay:0,mass:1,stiffness:500,type:\"spring\"};const animation={filter:\"blur(0.3px)\",opacity:.2,rotate:0,rotateX:180,rotateY:0,scale:1,skewX:0,skewY:0,x:-20,y:20};const transition2={bounce:0,delay:.1,duration:1,type:\"spring\"};const textEffect={effect:animation,startDelay:1,tokenization:\"character\",transition:transition2,trigger:\"onMount\",type:\"appear\"};const matchVariant=(...args)=>{for(const arg of args){if(arg&&typeof arg===\"string\")return arg;}return undefined;};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={Desktop:\"T28S0M2pv\",Tablet:\"iJ1uZYjbm\"};const Variants=motion.create(React.Fragment);const getProps=({height,id,links,width,...props})=>{return{...props,Ew0KFUASw:links??props.Ew0KFUASw,variant:humanReadableVariantMap[props.variant]??props.variant??\"T28S0M2pv\"};};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,Ew0KFUASw,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"T28S0M2pv\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.footer,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-akjzth\",className,classNames),\"data-framer-name\":\"Desktop\",layoutDependency:layoutDependency,layoutId:\"T28S0M2pv\",ref:refBinding,style:{...style},...addPropertyOverrides({iJ1uZYjbm:{\"data-framer-name\":\"Tablet\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-82xfol\",\"data-framer-name\":\"Connect\",layoutDependency:layoutDependency,layoutId:\"IjFuCkDIT\",children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-1ce3h0x\",\"data-framer-name\":\"More\",layoutDependency:layoutDependency,layoutId:\"TdLqMwx1o\",children:/*#__PURE__*/_jsx(RichTextWithFX,{__framer__styleTransformEffectEnabled:true,__framer__transformTargets:[{target:{opacity:.5,rotate:0,rotateX:0,rotateY:0,scale:.1,skewX:0,skewY:0,x:0,y:0}},{target:{opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,x:0,y:0}}],__framer__transformTrigger:\"onScroll\",__fromCanvasComponent:true,__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"R0Y7U291cmNlIENvZGUgUHJvLXJlZ3VsYXI=\",\"--framer-font-family\":'\"Source Code Pro\", monospace',\"--framer-font-open-type-features\":\"'salt' on\",\"--framer-font-size\":\"13px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(128, 128, 128))\"},children:\"CONTACT\"})}),className:\"framer-li7wig\",effect:textEffect,fonts:[\"GF;Source Code Pro-regular\"],layoutDependency:layoutDependency,layoutId:\"HMMcf0n5J\",style:{\"--extracted-r6o4lv\":\"rgb(128, 128, 128)\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},verticalAlignment:\"center\",withExternalLayout:true,...addPropertyOverrides({iJ1uZYjbm:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"R0Y7U291cmNlIENvZGUgUHJvLXJlZ3VsYXI=\",\"--framer-font-family\":'\"Source Code Pro\", monospace',\"--framer-font-open-type-features\":\"'salt' on\",\"--framer-font-size\":\"13px\",\"--framer-line-height\":\"1em\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(128, 128, 128))\"},children:\"CONTACT\"})}),verticalAlignment:\"bottom\"}},baseVariant,gestureVariant)})}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1ho3r36\",layoutDependency:layoutDependency,layoutId:\"JA0M8q0mT\",children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{height:28,y:(componentViewport?.y||0)+(0+((componentViewport?.height||200)-0-40)/2)+0+6,...addPropertyOverrides({iJ1uZYjbm:{height:40,y:(componentViewport?.y||0)+0+0+0+0}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-54vc0l-container\",\"data-framer-cursor\":Ew0KFUASw,layoutDependency:layoutDependency,layoutId:\"IrK2x_vO8-container\",nodeId:\"IrK2x_vO8\",rendersWithMotion:true,scopeId:\"TT5faAo3r\",children:/*#__PURE__*/_jsx(Link,{height:\"100%\",id:\"IrK2x_vO8\",layoutId:\"IrK2x_vO8\",M1FWFeBTO:\"Email\",QX2HS1G_9:20,variant:matchVariant(\"Xt8WY9Whg\"),width:\"100%\",ZQHdTNpJf:\"mailto:hello@tobys.design\",...addPropertyOverrides({iJ1uZYjbm:{style:{height:\"100%\"}}},baseVariant,gestureVariant)})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:28,y:(componentViewport?.y||0)+(0+((componentViewport?.height||200)-0-40)/2)+0+6,...addPropertyOverrides({iJ1uZYjbm:{height:40,y:(componentViewport?.y||0)+0+0+0+0}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-w7sapf-container\",\"data-framer-cursor\":Ew0KFUASw,layoutDependency:layoutDependency,layoutId:\"NhdadGC3w-container\",nodeId:\"NhdadGC3w\",rendersWithMotion:true,scopeId:\"TT5faAo3r\",children:/*#__PURE__*/_jsx(Link,{height:\"100%\",id:\"NhdadGC3w\",layoutId:\"NhdadGC3w\",M1FWFeBTO:\"Phone\",QX2HS1G_9:20,variant:matchVariant(\"Xt8WY9Whg\"),width:\"100%\",ZQHdTNpJf:\"+tel:61404322297\",...addPropertyOverrides({iJ1uZYjbm:{style:{height:\"100%\"}}},baseVariant,gestureVariant)})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:28,y:(componentViewport?.y||0)+(0+((componentViewport?.height||200)-0-40)/2)+0+6,...addPropertyOverrides({iJ1uZYjbm:{height:40,y:(componentViewport?.y||0)+0+0+0+0}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-ufpmgp-container\",\"data-framer-cursor\":Ew0KFUASw,layoutDependency:layoutDependency,layoutId:\"h5g_CxNHi-container\",nodeId:\"h5g_CxNHi\",rendersWithMotion:true,scopeId:\"TT5faAo3r\",children:/*#__PURE__*/_jsx(Link,{height:\"100%\",id:\"h5g_CxNHi\",layoutId:\"h5g_CxNHi\",M1FWFeBTO:\"LinkedIn\",QX2HS1G_9:20,variant:matchVariant(\"Xt8WY9Whg\"),width:\"100%\",ZQHdTNpJf:\"https://www.linkedin.com/in/ybot/\",...addPropertyOverrides({iJ1uZYjbm:{style:{height:\"100%\"}}},baseVariant,gestureVariant)})})})]})]})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-z7Bvc.framer-9ft65o, .framer-z7Bvc .framer-9ft65o { display: block; }\",\".framer-z7Bvc.framer-akjzth { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-z7Bvc .framer-82xfol { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 12px; height: 40px; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: 329px; }\",\".framer-z7Bvc .framer-1ce3h0x { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 100%; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-z7Bvc .framer-li7wig { flex: none; height: 100%; position: relative; white-space: pre; width: auto; }\",\".framer-z7Bvc .framer-1ho3r36 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 12px; height: 100%; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-z7Bvc .framer-54vc0l-container, .framer-z7Bvc .framer-w7sapf-container, .framer-z7Bvc .framer-ufpmgp-container { flex: none; height: auto; position: relative; width: auto; }\",\".framer-z7Bvc.framer-v-17lv7pv.framer-akjzth { align-content: flex-start; align-items: flex-start; flex-direction: column; gap: 24px; justify-content: flex-start; }\",\".framer-z7Bvc.framer-v-17lv7pv .framer-82xfol { gap: 24px; width: min-content; }\",\".framer-z7Bvc.framer-v-17lv7pv .framer-1ce3h0x { align-content: flex-end; align-items: flex-end; }\",\".framer-z7Bvc.framer-v-17lv7pv .framer-li7wig { height: 24px; }\",\".framer-z7Bvc.framer-v-17lv7pv .framer-54vc0l-container, .framer-z7Bvc.framer-v-17lv7pv .framer-w7sapf-container, .framer-z7Bvc.framer-v-17lv7pv .framer-ufpmgp-container { height: 100%; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 40\n * @framerIntrinsicWidth 329\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]},\"iJ1uZYjbm\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerVariables {\"Ew0KFUASw\":\"links\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerTT5faAo3r=withCSS(Component,css,\"framer-z7Bvc\");export default FramerTT5faAo3r;FramerTT5faAo3r.displayName=\"FootLink\";FramerTT5faAo3r.defaultProps={height:40,width:329};addPropertyControls(FramerTT5faAo3r,{variant:{options:[\"T28S0M2pv\",\"iJ1uZYjbm\"],optionTitles:[\"Desktop\",\"Tablet\"],title:\"Variant\",type:ControlType.Enum},Ew0KFUASw:{description:\"\",title:\"Links\",type:ControlType.CustomCursor}});addFonts(FramerTT5faAo3r,[{explicitInter:true,fonts:[{cssFamilyName:\"Source Code Pro\",openType:true,source:\"google\",style:\"normal\",uiFamilyName:\"Source Code Pro\",url:\"https://fonts.gstatic.com/s/sourcecodepro/v31/HI_diYsKILxRpg3hIP6sJ7fM7PqPMcMnZFqUwX28DMyQhMthTXUcdJg.woff2\",weight:\"400\"}]},...LinkFonts],{supportsExplicitInterCodegen:true});FramerTT5faAo3r.loader={load:(props,context)=>{const locale=context.locale;return Promise.allSettled([forwardLoader(Link,{},context)]);}};\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerTT5faAo3r\",\"slots\":[],\"annotations\":{\"framerImmutableVariables\":\"true\",\"framerColorSyntax\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicHeight\":\"40\",\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicWidth\":\"329\",\"framerVariables\":\"{\\\"Ew0KFUASw\\\":\\\"links\\\"}\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"iJ1uZYjbm\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (4a2adb5)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,forwardLoader,getFonts,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{Time as TimeDate}from\"https://framerusercontent.com/modules/HYcHVPAbe8jLEeU7c4mp/QiycTxX7vdblEOi3o00G/Time.js\";import FootLink from\"https://framerusercontent.com/modules/33qw490J27beDPXFUg7r/TvuiDaqrqcs4LtduD7V6/TT5faAo3r.js\";const FootLinkFonts=getFonts(FootLink);const TimeDateFonts=getFonts(TimeDate);const cycleOrder=[\"qihqjyNUQ\",\"bxqdMWhcs\"];const serializationHash=\"framer-QfYDI\";const variantClassNames={bxqdMWhcs:\"framer-v-6bligq\",qihqjyNUQ:\"framer-v-10g6xxb\"};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 matchVariant=(...args)=>{for(const arg of args){if(arg&&typeof arg===\"string\")return arg;}return undefined;};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={Desktop:\"qihqjyNUQ\",Mobile:\"bxqdMWhcs\"};const Variants=motion.create(React.Fragment);const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"qihqjyNUQ\"};};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:\"qihqjyNUQ\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-10g6xxb\",className,classNames),\"data-framer-name\":\"Desktop\",layoutDependency:layoutDependency,layoutId:\"qihqjyNUQ\",ref:refBinding,style:{...style},...addPropertyOverrides({bxqdMWhcs:{\"data-framer-name\":\"Mobile\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1f32gju\",\"data-framer-name\":\"----FOOTER----\",layoutDependency:layoutDependency,layoutId:\"Uga6RP9s0\",style:{borderBottomLeftRadius:0,transformPerspective:1200},variants:{bxqdMWhcs:{borderBottomLeftRadius:48}},children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{height:40,width:\"1200px\",...addPropertyOverrides({bxqdMWhcs:{width:\"1160px\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-b5v5gi-container\",layoutDependency:layoutDependency,layoutId:\"Azc_UcAh_-container\",nodeId:\"Azc_UcAh_\",rendersWithMotion:true,scopeId:\"UsRI__LJy\",children:/*#__PURE__*/_jsx(FootLink,{height:\"100%\",id:\"Azc_UcAh_\",layoutId:\"Azc_UcAh_\",style:{height:\"100%\",maxWidth:\"100%\"},variant:matchVariant(\"T28S0M2pv\"),width:\"100%\",...addPropertyOverrides({bxqdMWhcs:{style:{height:\"100%\",maxWidth:\"100%\",width:\"100%\"},variant:matchVariant(\"iJ1uZYjbm\")}},baseVariant,gestureVariant)})})}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-10y7ut2\",layoutDependency:layoutDependency,layoutId:\"thBBst6ug\",children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1ucfnu7\",layoutDependency:layoutDependency,layoutId:\"EbvnWRVdS\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"RlM7U2F0b3NoaS1yZWd1bGFy\",\"--framer-font-family\":'\"Satoshi\", \"Satoshi Placeholder\", sans-serif',\"--framer-font-size\":\"10px\",\"--framer-line-height\":\"1.6em\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(128, 128, 128))\"},children:\"\\xa9\"})}),className:\"framer-1228imb\",\"data-framer-name\":\"\\xa9\",fonts:[\"FS;Satoshi-regular\"],layoutDependency:layoutDependency,layoutId:\"TVhLw6KgS\",style:{\"--extracted-r6o4lv\":\"rgb(128, 128, 128)\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-d547n7-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"a5bsflkiO-container\",nodeId:\"a5bsflkiO\",rendersWithMotion:true,scopeId:\"UsRI__LJy\",children:/*#__PURE__*/_jsx(TimeDate,{color:\"rgb(128, 128, 128)\",font:{fontFamily:'\"Satoshi\", \"Satoshi Placeholder\", sans-serif',fontSize:\"10px\",fontStyle:\"normal\",fontWeight:400,letterSpacing:\"0em\",lineHeight:\"1em\"},height:\"100%\",id:\"a5bsflkiO\",layoutId:\"a5bsflkiO\",monthFormat:\"long\",outputType:\"date\",showMinutes:true,showMonth:false,showSeconds:false,showWeekday:false,showYear:true,tabularFont:false,timeFormat:\"12h\",width:\"100%\"})})})]}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"RlM7U2F0b3NoaS1yZWd1bGFy\",\"--framer-font-family\":'\"Satoshi\", \"Satoshi Placeholder\", sans-serif',\"--framer-font-size\":\"10px\",\"--framer-line-height\":\"1.6em\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(128, 128, 128))\"},children:\"Toby Skyring\"})}),className:\"framer-rp4tl9\",\"data-framer-name\":\"TOBYS.design\",fonts:[\"FS;Satoshi-regular\"],layoutDependency:layoutDependency,layoutId:\"HfDZlFesS\",style:{\"--extracted-r6o4lv\":\"rgb(128, 128, 128)\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},verticalAlignment:\"center\",withExternalLayout:true})]})]})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-QfYDI.framer-19yniy9, .framer-QfYDI .framer-19yniy9 { display: block; }\",\".framer-QfYDI.framer-10g6xxb { align-content: center; align-items: center; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: 40px; justify-content: flex-end; overflow: visible; padding: 36px 0px 0px 0px; position: relative; width: 1200px; }\",\".framer-QfYDI .framer-1f32gju { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: wrap; height: min-content; justify-content: space-between; overflow: visible; padding: 0px 115px 0px 115px; position: relative; transform-style: preserve-3d; width: 1200px; z-index: 1; }\",\".framer-QfYDI .framer-b5v5gi-container { flex: none; height: 40px; max-width: 1200px; position: relative; width: auto; z-index: 1; }\",\".framer-QfYDI .framer-10y7ut2 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 5px; height: 40px; justify-content: flex-end; overflow: visible; padding: 0px; position: relative; width: 198px; }\",\".framer-QfYDI .framer-1ucfnu7 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 3px; height: 29px; justify-content: center; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-QfYDI .framer-1228imb { flex: none; height: auto; position: relative; white-space: pre; width: auto; z-index: 1; }\",\".framer-QfYDI .framer-d547n7-container { flex: none; height: auto; position: relative; width: auto; z-index: 2; }\",\".framer-QfYDI .framer-rp4tl9 { flex: none; height: 29px; position: relative; white-space: pre; width: auto; z-index: 1; }\",\".framer-QfYDI.framer-v-6bligq.framer-10g6xxb { padding: 30px 10px 30px 10px; width: 480px; }\",\".framer-QfYDI.framer-v-6bligq .framer-1f32gju { align-content: flex-start; align-items: flex-start; gap: 0px; justify-content: flex-start; padding: 60px 20px 60px 20px; }\",\".framer-QfYDI.framer-v-6bligq .framer-b5v5gi-container { flex: 1 0 0px; order: 0; width: 1px; }\",\".framer-QfYDI.framer-v-6bligq .framer-10y7ut2 { justify-content: flex-start; order: 1; width: min-content; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 40\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"bxqdMWhcs\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerUsRI__LJy=withCSS(Component,css,\"framer-QfYDI\");export default FramerUsRI__LJy;FramerUsRI__LJy.displayName=\"--FOOT--\";FramerUsRI__LJy.defaultProps={height:40,width:1200};addPropertyControls(FramerUsRI__LJy,{variant:{options:[\"qihqjyNUQ\",\"bxqdMWhcs\"],optionTitles:[\"Desktop\",\"Mobile\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerUsRI__LJy,[{explicitInter:true,fonts:[{cssFamilyName:\"Satoshi\",source:\"fontshare\",style:\"normal\",uiFamilyName:\"Satoshi\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/TTX2Z3BF3P6Y5BQT3IV2VNOK6FL22KUT/7QYRJOI3JIMYHGY6CH7SOIFRQLZOLNJ6/KFIAZD4RUMEZIYV6FQ3T3GP5PDBDB6JY.woff2\",weight:\"400\"}]},...FootLinkFonts,...TimeDateFonts],{supportsExplicitInterCodegen:true});FramerUsRI__LJy.loader={load:(props,context)=>{const locale=context.locale;return Promise.allSettled([forwardLoader(FootLink,{},context)]);}};\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerUsRI__LJy\",\"slots\":[],\"annotations\":{\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"bxqdMWhcs\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"1200\",\"framerIntrinsicHeight\":\"40\",\"framerColorSyntax\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerImmutableVariables\":\"true\",\"framerDisplayContentsDiv\":\"false\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (b6e2e7c)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,Container,ControlType,cx,forwardLoader,GeneratedComponentContext,getFonts,PropertyOverrides,RenderTarget,useCustomCursors,useHydratedBreakpointVariants,useIsOnFramerCanvas,useLocaleInfo,withCSS,withFX,withOptimizedAppearEffect,withVariantAppearEffect}from\"framer\";import{LayoutGroup,motion}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import Navigation from\"#framer/local/canvasComponent/oa8941imD/oa8941imD.js\";import FOOT from\"#framer/local/canvasComponent/UsRI__LJy/UsRI__LJy.js\";const NavigationFonts=getFonts(Navigation);const NavigationWithVariantAppearEffect=withVariantAppearEffect(Navigation);const ContainerWithOptimizedAppearEffect=withOptimizedAppearEffect(Container);const FOOTFonts=getFonts(FOOT);const ContainerWithFX=withFX(Container);const MotionDivWithOptimizedAppearEffect=withOptimizedAppearEffect(motion.div);const breakpoints={J_KHJ0ASU:\"(min-width: 1200px)\",XSDGgokPc:\"(max-width: 1199.98px)\"};const isBrowser=()=>typeof document!==\"undefined\";const serializationHash=\"framer-KkrNe\";const variantClassNames={J_KHJ0ASU:\"framer-v-r7046d\",XSDGgokPc:\"framer-v-1tn7q3s\"};const ttIGU8hiX=undefined;const transition1={bounce:.5,delay:.1,duration:.6,type:\"spring\"};const animation={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transformPerspective:1200,transition:transition1,x:0,y:0};const animation1={opacity:1,rotate:0,rotateX:-93,rotateY:0,scale:1,skewX:0,skewY:0,transformPerspective:1200,x:0,y:0};const matchVariant=(...args)=>{for(const arg of args){if(arg&&typeof arg===\"string\")return arg;}return undefined;};const transition2={bounce:.2,delay:0,duration:3,type:\"spring\"};const animation2={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition2,x:0,y:0};const animation3={opacity:.001,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,x:0,y:50};const breakpointRules={XSDGgokPc:[\".framer-KkrNe .framer-obdxgs-container { left: calc(50.00000000000002% - 100% / 2); width: 100%; }\",\".framer-KkrNe .framer-1gsjzd3-container { height: 630px; }\",\".framer-KkrNe .framer-ifweyr { width: 100%; }\"]};const breakpointKeys=Object.keys(breakpointRules);const selectors={XSDGgokPc:\".framer-1tn7q3s-override\"};const rules=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-KkrNe.framer-13ewnrp, .framer-KkrNe .framer-13ewnrp { display: block; }\",'.framer-KkrNe.framer-r7046d { --selection-background-color: var(--token-04ae2048-da19-472a-9faf-5fd06232e080, #d9d9d9) /* {\"name\":\"Headings\"} */; --selection-color: var(--token-7b3bf30e-65f7-4cb4-ba22-c3ecbe3743d5, #ff0077) /* {\"name\":\"Vivid\"} */; align-content: center; align-items: center; background-color: var(--token-0581d3a0-a21e-4efe-b918-9b7748922940, #2b2b2b); display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 100%; }',\".framer-KkrNe .framer-obdxgs-container { flex: none; height: 48px; left: calc(50.00000000000002% - 981px / 2); order: -1000; position: var(--framer-canvas-fixed-position, fixed); top: 41px; transform-style: preserve-3d; width: 981px; will-change: var(--framer-will-change-effect-override, transform); z-index: 10; }\",\".framer-KkrNe .framer-15not8p { background: transparent; flex-grow: 1; height: 0px; margin: 0px; margin-bottom: -0px; position: relative; width: 0px; }\",\".framer-KkrNe .framer-1gsjzd3-container { flex: none; height: auto; order: 1002; position: relative; width: 100%; z-index: 1; }\",\".framer-KkrNe .framer-ifweyr { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; order: 1003; overflow: visible; padding: 0px; position: relative; width: 980px; }\",\".framer-KkrNe .framer-epib88 { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 0px 0px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: 100%; will-change: var(--framer-will-change-effect-override, transform); }\",\".framer-KkrNe .framer-1m9ayw1 { align-content: flex-end; align-items: flex-end; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 0px 0px 0px 2px; position: relative; width: 100%; }\",\".framer-KkrNe .framer-jcniqa { background-color: #23113d; flex: none; height: 4px; overflow: visible; position: relative; width: 1px; }\",'[data-layout-template=\"true\"] > #overlay { margin-bottom: -0px; }','.framer-KkrNe[data-selection=\"true\"] * ::selection, .framer-KkrNe [data-selection=\"true\"] * ::selection { color: var(--selection-color, none); background-color: var(--selection-background-color, none); }'];const mediaQueries={J_KHJ0ASU:\"(min-width: 1200px)\",XSDGgokPc:\"(max-width: 1199.98px)\"};const humanReadableVariantMap={Desktop:\"J_KHJ0ASU\",Tablet:\"XSDGgokPc\"};const HTMLStyle=({value})=>{const onCanvas=useIsOnFramerCanvas();if(onCanvas)return null;return /*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:value},\"data-framer-html-style\":\"\"});};const getProps=({height,id,navchange,width,...props})=>{return{...props,ttIGU8hiX:navchange??props.ttIGU8hiX,variant:humanReadableVariantMap[props.variant]??props.variant??\"J_KHJ0ASU\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,ttIGU8hiX,children,...restProps}=getProps(props);const[baseVariant,hydratedBaseVariant]=useHydratedBreakpointVariants(variant,breakpoints,false);const gestureVariant=undefined;const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);useCustomCursors({});return /*#__PURE__*/_jsx(GeneratedComponentContext.Provider,{value:{activeVariantId:baseVariant,humanReadableVariantMap,isLayoutTemplate:true,primaryVariantId:\"J_KHJ0ASU\",variantClassNames},children:/*#__PURE__*/_jsxs(LayoutGroup,{id:layoutId??defaultLayoutId,children:[/*#__PURE__*/_jsx(HTMLStyle,{value:\":root body { background: var(--token-0581d3a0-a21e-4efe-b918-9b7748922940, rgb(43, 43, 43)); }\"}),/*#__PURE__*/_jsxs(motion.div,{...restProps,className:cx(scopingClassNames,\"framer-r7046d\",className),\"data-layout-template\":true,\"data-selection\":true,ref:refBinding,style:{...style},children:[/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{XSDGgokPc:{width:\"100vw\"}},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:48,width:\"981px\",y:40.5,children:/*#__PURE__*/_jsx(ContainerWithOptimizedAppearEffect,{animate:animation,className:\"framer-obdxgs-container\",\"data-framer-appear-id\":\"obdxgs\",initial:animation1,layoutScroll:true,nodeId:\"TzpkgxZfS\",optimized:true,rendersWithMotion:true,scopeId:\"Lg8c78aO9\",style:{originY:0,transformPerspective:1200},children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{XSDGgokPc:{variant:matchVariant(\"j0R2k6hlu\")}},children:/*#__PURE__*/_jsx(NavigationWithVariantAppearEffect,{__framer__animateOnce:false,__framer__targets:[{ref:ttIGU8hiX,target:\"v9thSKazV\"}],__framer__threshold:0,__framer__variantAppearEffectEnabled:true,height:\"100%\",id:\"TzpkgxZfS\",layoutId:\"TzpkgxZfS\",style:{height:\"100%\",width:\"100%\"},variant:matchVariant(\"mMrQtusR5\"),width:\"100%\"})})})})}),children,/*#__PURE__*/_jsx(\"div\",{className:\"framer-15not8p\"}),/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{XSDGgokPc:{height:630}},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:40,width:\"100vw\",y:1e3,children:/*#__PURE__*/_jsx(ContainerWithFX,{__framer__spring:{damping:60,delay:0,duration:.3,ease:[.44,0,.56,1],mass:1,stagger:0,stiffness:500,type:\"spring\"},__framer__styleTransformEffectEnabled:true,__framer__transformTargets:[{target:{opacity:0,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,x:0,y:40}},{target:{opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,x:0,y:0}}],__framer__transformTrigger:\"onScroll\",__perspectiveFX:false,__targetOpacity:1,className:\"framer-1gsjzd3-container\",nodeId:\"A7Z4Cs2Pq\",rendersWithMotion:true,scopeId:\"Lg8c78aO9\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{XSDGgokPc:{style:{height:\"100%\",width:\"100%\"}}},children:/*#__PURE__*/_jsx(FOOT,{height:\"100%\",id:\"A7Z4Cs2Pq\",layoutId:\"A7Z4Cs2Pq\",style:{width:\"100%\"},variant:matchVariant(\"qihqjyNUQ\"),width:\"100%\"})})})})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-ifweyr\",\"data-framer-name\":\"Row\",children:/*#__PURE__*/_jsx(MotionDivWithOptimizedAppearEffect,{animate:animation2,className:\"framer-epib88\",\"data-framer-appear-id\":\"epib88\",initial:animation3,optimized:true,children:/*#__PURE__*/_jsx(\"div\",{className:\"framer-1m9ayw1\",\"data-framer-name\":\"PL\",children:/*#__PURE__*/_jsx(\"div\",{className:\"framer-jcniqa\"})})})})]}),/*#__PURE__*/_jsx(\"div\",{id:\"template-overlay\"})]})});});const css=target=>{const isStaticRenderer=target===RenderTarget.canvas||target===RenderTarget.export;if(!isStaticRenderer){return[...rules,...breakpointKeys.map(key=>{const query=mediaQueries[key];return`@media ${query} { ${breakpointRules[key].join(\" \")} }`;})];}return[...rules,...breakpointKeys.flatMap(key=>{const selector=selectors[key];return breakpointRules[key].map(rule=>`${selector} {${rule}}`);})];};/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 800\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"XSDGgokPc\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerVariables {\"ttIGU8hiX\":\"navchange\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n * @framerHitTargets {\"J_KHJ0ASU\":[\".framer-obdxgs-container\",\".framer-1gsjzd3-container\",\".framer-ifweyr\"],\"XSDGgokPc\":[\".framer-obdxgs-container\",\".framer-1gsjzd3-container\",\".framer-ifweyr\"]}\n * @framerBreakpoints {\"J_KHJ0ASU\":{\"min\":1200,\"canvasClassName\":\"framer-r7046d-override\",\"minHeight\":800,\"name\":\"Desktop\",\"width\":1200,\"rootFontSize\":16},\"XSDGgokPc\":{\"max\":1199,\"canvasClassName\":\"framer-1tn7q3s-override\",\"minHeight\":800,\"name\":\"Tablet\",\"width\":810,\"rootFontSize\":16}}\n * @framerDefaultVariant J_KHJ0ASU\n * @framerLayoutTemplate true\n */const FramerLg8c78aO9=withCSS(Component,css,\"framer-KkrNe\");export default FramerLg8c78aO9;FramerLg8c78aO9.displayName=\"Home\";FramerLg8c78aO9.defaultProps={height:800,width:1200};addPropertyControls(FramerLg8c78aO9,{ttIGU8hiX:{title:\"navchange\",type:ControlType.ScrollSectionRef}});addFonts(FramerLg8c78aO9,[{explicitInter:true,fonts:[]},...NavigationFonts,...FOOTFonts],{supportsExplicitInterCodegen:true});FramerLg8c78aO9.loader={load:(props,context)=>{const locale=context.locale;return Promise.allSettled([forwardLoader(Navigation,{},context),forwardLoader(FOOT,{},context)]);}};\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerLg8c78aO9\",\"slots\":[],\"annotations\":{\"framerAutoSizeImages\":\"true\",\"framerColorSyntax\":\"true\",\"framerContractVersion\":\"1\",\"framerVariables\":\"{\\\"ttIGU8hiX\\\":\\\"navchange\\\"}\",\"framerLayoutTemplate\":\"true\",\"framerIntrinsicWidth\":\"1200\",\"framerDefaultVariant\":\"J_KHJ0ASU\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicHeight\":\"800\",\"framerBreakpoints\":\"{\\\"J_KHJ0ASU\\\":{\\\"min\\\":1200,\\\"canvasClassName\\\":\\\"framer-r7046d-override\\\",\\\"minHeight\\\":800,\\\"name\\\":\\\"Desktop\\\",\\\"width\\\":1200,\\\"rootFontSize\\\":16},\\\"XSDGgokPc\\\":{\\\"max\\\":1199,\\\"canvasClassName\\\":\\\"framer-1tn7q3s-override\\\",\\\"minHeight\\\":800,\\\"name\\\":\\\"Tablet\\\",\\\"width\\\":810,\\\"rootFontSize\\\":16}}\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"XSDGgokPc\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerHitTargets\":\"{\\\"J_KHJ0ASU\\\":[\\\".framer-obdxgs-container\\\",\\\".framer-1gsjzd3-container\\\",\\\".framer-ifweyr\\\"],\\\"XSDGgokPc\\\":[\\\".framer-obdxgs-container\\\",\\\".framer-1gsjzd3-container\\\",\\\".framer-ifweyr\\\"]}\",\"framerComponentViewportWidth\":\"true\",\"framerDisplayContentsDiv\":\"false\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","\r\n\t\timport * as Framer from \"framer\";\r\nimport { ResolveLinks, useSiteRefs } from \"framer\";\r\nimport * as React from \"react\";\r\nimport { createPortal } from \"react-dom\";\r\nimport * as ReactDOM from \"react-dom/client\";\r\nimport Home from \"https://framerusercontent.com/modules/Bk8a2Z4ESvmQtQCF0oyp/fuem6w0S90iz5qcTJlL6/Lg8c78aO9.js\";\r\n\r\n\t\tconst routes = {augiA20Il: {elements: {aqzkacRQF: \"work3\", B0CnPidQH: \"222\", CBGvvZP50: \"projects-1\", CxM_e54JB: \"sidework\", Fh3CLHB7K: \"projtitle\", G_SI7Ayo1: \"trigWond\", hZYyo_H2p: \"ss\", iFoUxoqFn: \"sidetitle\", iTmfFSMiD: \"thanks\", JD5PPsXem: \"projects\", jkjfFjs5x: \"gogo\", PafCKP7vl: \"work1\", pIish5rPo: \"111\", QAI8v2fMM: \"trigPipe\", TmmgGkXpW: \"trigysk\", tv1bwQvSr: \"work2\", xlyOw5Q_X: \"balloontrig\", XqPBXhGId: \"333\", XvWNgeEGH: \"working\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/d4xWT7kF1VrtqX8weNIi/xWlH0NN0CdlAQq0F6aLZ/augiA20Il.js\")), path: \"/\"}, ygkaIHCP7: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/R2c07ZM7uQy9nNHAZWAh/8P8dzL1dXJlGkJtGtWAY/ygkaIHCP7.js\")), path: \"/homenaway\"}, nun0I7r8v: {elements: {FFyKXBhQj: \"trigysk\", mFpzPNemm: \"projects\", N3PquA0yf: \"working\", Paz_VuCwh: \"projects-1\", uyF9FUFpN: \"ss\", Ve9Y7H2dO: \"trigPipe\", zuuaOIl7n: \"trigWond\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/NPdRQ9pkWXi2laHHOmag/2sOAiucvcG1mmDlk9BTe/nun0I7r8v.js\")), path: \"/homes\"}, FCRf6duyC: {elements: {gVXZTJlR1: \"footloose\", ovC5XkpuW: \"menu-trigger\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/bDitxJtaXWUiqYVS1JlC/vdobJShvjJuv2snwhHSj/FCRf6duyC.js\")), path: \"/about\"}, GVWfso1kU: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/5s2hNB0tX8a3s2sJxfHX/f2rndCJWF9LscnmtocJ5/GVWfso1kU.js\")), path: \"/404\"}, vhY8Su0H2: {elements: {bnM7f58HW: \"hero\", D3bL9dwis: \"context\", EbeDjOBCF: \"solu2\", fkeDVFbMp: \"discovery\", JWx_i85u4: \"solu2-1\", m2gJ7dirl: \"goals-1\", MSRaRYBIB: \"goals\", nSGCHYvOa: \"intro\", QBFZV6uxz: \"g1\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/x7L5eO0v7Wz6YjVHq2HL/nc4qkKcGNeEcnjlVPPkK/vhY8Su0H2.js\")), path: \"/work/pipeline-2\"}, jSCUILc2E: {elements: {c8YOLuYfZ: \"context\", ckvcuqYlK: \"solu2\", d1DGHMygR: \"solu2-12\", DFCPLJLAK: \"goals\", ghnv4E20J: \"goals-1\", Hjau5eqEi: \"solu2-2\", hZLIK7pyn: \"solu2-4\", JzjGmeyON: \"images\", KEi7tzApF: \"intro\", mCzkVEnIv: \"solu2-8\", p4Vx3VxJ4: \"solu2-7\", p9Get3DAV: \"solu2-9\", QREeDrmOI: \"hero\", rpY3jrHF5: \"solu2-6\", sdxiF7aTo: \"2\", t8y9OW3Tz: \"3\", tcOYTaoaY: \"solu2-3\", tn9T4uchj: \"solu2-5\", vbp5lD0Iv: \"solu2-13\", wivTMpVqR: \"solu2-1\", XwvgYU8BU: \"discovery\", Z1jQqBDeu: \"solu2-10\", z8PvYRTI1: \"solu2-11\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/jNa1UWbGxJOoIeI7wE4g/Y87jQ0msL3Msg4AlYvq5/jSCUILc2E.js\")), path: \"/work/ysk\"}, T0F4P4SP3: {elements: {cDnKLSK5z: \"solu2-1\", jjLPSk4BK: \"solu2\", VlUWsudKl: \"hero\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/2smCi7Zw9IxiYffrUnO9/f2wEIfjat2YkPdA6eSLh/T0F4P4SP3.js\")), path: \"/work/westpactwonder\"}, gF221M8yu: {elements: {hRRaLV6ls: \"work\", ioYbZNpSt: \"trigy1\", RKp3uXnhd: \"trigger2\", ynfzFIOnE: \"menu-trigger\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/u6JGXPCHYMu49mtTHv10/WQJSOLfDrITXScdfKidB/gF221M8yu.js\")), path: \"/work/pipeline-2/shaping\"}, B0uxd6NqR: {elements: {Jg7mnHQgI: \"menu-trigger\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/ouZDZHtMAggUwb4u4WgK/OFBxxCqfwHFKn5bRYmS0/B0uxd6NqR.js\")), path: \"/work/pipeline-2/delivery\"}, PCeclxI0Y: {elements: {btMsUBVty: \"menu-trigger\", hXIzmG8mB: \"1\", JOgB15doZ: \"1-1\", PircvQDeP: \"1-2\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/0YrIK5b9oy7PBWWZHwKy/gMdNaUE9qWU15f4jPSTD/PCeclxI0Y.js\")), path: \"/work/pipeline-2/discovery\"}, YujJd7vHO: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/YzXqqzrM0MvWNN2paq98/LdBfGnRZFIZYysTPoY0j/YujJd7vHO.js\")), path: \"/gfx/doppler\"}}\r\n\r\n\t\tconst locales = [{code: \"en\", id: \"default\", name: \"English\", slug: \"\", textDirection: \"ltr\"}]\r\n\t\tconst collectionUtils = {}\r\n\t\tconst framerSiteId = \"690ef957d2ec5a49256bb4eeb39c1169cc0a6d3a114fe296b4ba364b0b1a4e58\"\r\n\t\tfunction Template({webPageId, children, style, ...rest}) {const props1 = {ttIGU8hiX: {href: {hash: \":jkjfFjs5x\", webPageId: \"augiA20Il\"}, refKey: true}}\r\nconst props2 = {...props1, ttIGU8hiX: {href: {hash: \":xhbQ31zeP\", webPageId: \"S2PEMtvj9\"}, refKey: true}}\r\nconst props3 = {...props1, ttIGU8hiX: undefined}\r\nconst siteRef = useSiteRefs()\r\nconst templateProps = {augiA20Il: props1, B0uxd6NqR: props3, FCRf6duyC: props3, gF221M8yu: props3, GVWfso1kU: props3, iBUE4k16r: props3, iIIFLOzCR: props3, jSCUILc2E: props3, PCeclxI0Y: props3, S2PEMtvj9: props2, T0F4P4SP3: props3, TltfVGIRh: props3, vhY8Su0H2: props3, VOd_hxs8g: props3, YtFybAlYx: props3, YujJd7vHO: props3}\r\nconst props = templateProps[webPageId] ?? {}\r\nswitch (webPageId) {case \"augiA20Il\":\r\ncase \"S2PEMtvj9\":\r\ncase \"FCRf6duyC\":\r\ncase \"GVWfso1kU\":\r\ncase \"iBUE4k16r\":\r\ncase \"TltfVGIRh\":\r\ncase \"iIIFLOzCR\":\r\ncase \"vhY8Su0H2\":\r\ncase \"jSCUILc2E\":\r\ncase \"T0F4P4SP3\":\r\ncase \"gF221M8yu\":\r\ncase \"B0uxd6NqR\":\r\ncase \"PCeclxI0Y\":\r\ncase \"VOd_hxs8g\":\r\ncase \"YujJd7vHO\":\r\ncase \"YtFybAlYx\":\r\nreturn React.createElement(ResolveLinks, {links: [props[\"ttIGU8hiX\"]]}, (resolvedLinks) => React.createElement(Home, {...props, key: \"Home\", style, ttIGU8hiX: siteRef(resolvedLinks[0])}, children(true)));\r\ndefault: { return children(false) }}}\r\nexport function getLayoutTemplateBreakpoints(routeId) {switch (routeId) {case \"augiA20Il\":\r\ncase \"S2PEMtvj9\":\r\ncase \"FCRf6duyC\":\r\ncase \"GVWfso1kU\":\r\ncase \"iBUE4k16r\":\r\ncase \"TltfVGIRh\":\r\ncase \"iIIFLOzCR\":\r\ncase \"vhY8Su0H2\":\r\ncase \"jSCUILc2E\":\r\ncase \"T0F4P4SP3\":\r\ncase \"gF221M8yu\":\r\ncase \"B0uxd6NqR\":\r\ncase \"PCeclxI0Y\":\r\ncase \"VOd_hxs8g\":\r\ncase \"YujJd7vHO\":\r\ncase \"YtFybAlYx\":\r\nreturn [{hash: \"r7046d\", mediaQuery: \"(min-width: 1200px)\"}, {hash: \"1tn7q3s\", mediaQuery: \"(max-width: 1199.98px)\"}]\r\ndefault: { return undefined }}}\r\n\r\n\t\tconst isBrowser = typeof document !== \"undefined\"\r\n\t\tconst isBot = isBrowser && /bot|-google|google-|yandex|ia_archiver|crawl|spider/iu.test(navigator.userAgent)\r\n\r\n\t\texport async function getPageRoot({ routeId, pathVariables, localeId, collectionItemId }) {\r\n\t\t\tconst rootPreload = routes[routeId].page.preload()\r\n\r\n\t\t\tconst content = React.createElement(\r\n\t\t\t\tFramer.PageRoot,\r\n\t\t\t\t{\r\n\t\t\t\t\tisWebsite: true,\r\n\t\t\t\t\tenvironment: \"site\",\r\n\t\t\t\t\trouteId,\r\n\t\t\t\t\tpathVariables,\r\n\t\t\t\t\troutes,\r\n\t\t\t\t\tcollectionUtils,\r\n\t\t\t\t\tframerSiteId,\r\n\t\t\t\t\tnotFoundPage: Framer.lazy(() => import(\"https://framerusercontent.com/modules/5s2hNB0tX8a3s2sJxfHX/f2rndCJWF9LscnmtocJ5/GVWfso1kU.js\")),\r\n\t\t\t\t\tisReducedMotion: true,\r\n\t\t\t\t\tlocaleId,\r\n\t\t\t\t\tlocales,\r\n\t\t\t\t\tpreserveQueryParams: undefined,\r\n\t\t\t\t\tsiteCanonicalURL: \"https://tobys.design\",\r\n\t\t\t\t\tEditorBar: \r\n\t\t\ttypeof window !== \"undefined\" ? (() => {\r\n\t\t\t\tif (isBot) {\r\n\t\t\t\t\tconsole.log(\"[Framer On-Page Editing] Unavailable because navigator is bot\")\r\n\t\t\t\t\treturn\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn Framer.lazy(async () => {\r\n\t\t\t\t\tconst dependencies = {\r\n\t\t\t\t\t\t__version: 3,\r\n\t\t\t\t\t\tframer: {\r\n\t\t\t\t\t\t\tuseCurrentRoute: Framer.useCurrentRoute,\r\n\t\t\t\t\t\t\tuseLocaleInfo: Framer.useLocaleInfo,\r\n\t\t\t\t\t\t\tuseRouter: Framer.useRouter,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\treact: {\r\n\t\t\t\t\t\t\tcreateElement: React.createElement,\r\n\t\t\t\t\t\t\tFragment: React.Fragment,\r\n\t\t\t\t\t\t\tmemo: React.memo,\r\n\t\t\t\t\t\t\tuseCallback: React.useCallback,\r\n\t\t\t\t\t\t\tuseEffect: React.useEffect,\r\n\t\t\t\t\t\t\tuseRef: React.useRef,\r\n\t\t\t\t\t\t\tuseState: React.useState,\r\n\t\t\t\t\t\t\tuseLayoutEffect: React.useLayoutEffect,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\"react-dom\": { createPortal },\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\twindow.__framer_editorBarDependencies = dependencies\r\n\r\n\t\t\t\t\tconst { createEditorBar } = await import(\"https://framer.com/edit/init.mjs\")\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tdefault: createEditorBar(),\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t})() : undefined\r\n\t\t,\r\n\t\t\t\t\tadaptLayoutToTextDirection: false,\r\n\t\t\t\t\tLayoutTemplate: Template,\r\n\t\t\t\t\tloadSnippetsModule: new Framer.LazyValue(() => import(\"https://framerusercontent.com/modules/Wu0xqFOlLfNkY27VZhAL/d3dO62FVn7r3rGcqmHqd/snippets.js\")),\r\n\t\t\t\t\tinitialCollectionItemId: collectionItemId,\r\n\t\t\t\t}\r\n\t\t\t)\r\n\r\n\t\t\tconst contentWithFeaturesContext = React.createElement(\r\n\t\t\t\tFramer.LibraryFeaturesProvider,\r\n\t\t\t\t{\r\n\t\t\t\t\tchildren: content,\r\n\t\t\t\t\tvalue: {autobahnNavigation: true, editorBarDisableFrameAncestorsSecurity: false, motionDivToDiv: false, onPageLocalizationSupport: true, onPageMoveTool: true, synchronousNavigationOnDesktop: false, yieldOnTap: false}\r\n\t\t\t\t}\r\n\t\t\t)\r\n\r\n\t\t\tconst contentWithGracefullyDegradingErrorBoundary = React.createElement(Framer.GracefullyDegradingErrorBoundary, {\r\n\t\t\t\tchildren: contentWithFeaturesContext\r\n\t\t\t})\r\n\r\n\t\t\tconst effect = {enter: {opacity: 1, rotate: 0, rotate3d: false, rotateX: 0, rotateY: 0, scale: 1, transition: {damping: 30, delay: 0, duration: 0.4, ease: [0.27, 0, 0.51, 1], mass: 1, stiffness: 400, type: \"tween\"}, x: \"100%\", y: \"0px\"}, exit: {opacity: 1, rotate: 0, rotate3d: false, rotateX: 0, rotateY: 0, scale: 1, transition: {damping: 30, delay: 0, duration: 0.4, ease: [0.27, 0, 0.51, 1], mass: 1, stiffness: 400, type: \"tween\"}, x: \"-100%\", y: \"0px\"}}\r\nconst effect1 = {enter: {opacity: 1, rotate: 0, rotate3d: false, rotateX: 0, rotateY: 0, scale: 1, transition: {damping: 30, delay: 0, duration: 0.4, ease: [0.27, 0, 0.51, 1], mass: 1, stiffness: 400, type: \"tween\"}, x: \"-100%\", y: \"0px\"}, exit: {opacity: 1, rotate: 0, rotate3d: false, rotateX: 0, rotateY: 0, scale: 1, transition: {damping: 30, delay: 0, duration: 0.4, ease: [0.27, 0, 0.51, 1], mass: 1, stiffness: 400, type: \"tween\"}, x: \"100%\", y: \"0px\"}}\r\nconst effect2 = {enter: {opacity: 0, rotate: 0, rotate3d: false, rotateX: 0, rotateY: 0, scale: 1, transition: {damping: 30, delay: 0, duration: 0.2, ease: [0.27, 0, 0.51, 1], mass: 1, stiffness: 400, type: \"tween\"}, x: \"0px\", y: \"0px\"}, exit: {opacity: 0, rotate: 0, rotate3d: false, rotateX: 0, rotateY: 0, scale: 1, transition: {damping: 30, delay: 0.2, duration: 0.2, ease: [0.27, 0, 0.51, 1], mass: 1, stiffness: 400, type: \"tween\"}, x: \"0px\", y: \"0px\"}}\r\n\t\t\tconst page = React.createElement(Framer.PageEffectsProvider, {\r\n\t\t\t\tchildren: contentWithGracefullyDegradingErrorBoundary,\r\n\t\t\t\tvalue: {global: {enter: {mask: {angle: 270, type: \"wipe\", width: \"0%\"}, opacity: 0, rotate: 0, rotate3d: false, rotateX: 0, rotateY: 0, scale: 1, transition: {damping: 30, delay: 0.6, duration: 0.6, ease: [0.73, 0, 0.33, 1], mass: 1, stiffness: 400, type: \"tween\"}, x: \"0px\", y: \"30%\"}, exit: {mask: {angle: 270, type: \"wipe\", width: \"0%\"}, opacity: 0, rotate: 0, rotate3d: false, rotateX: 0, rotateY: 0, scale: 1, transition: {damping: 30, delay: 0, duration: 0.7, ease: [0.73, 0, 0.33, 1], mass: 1, stiffness: 400, type: \"tween\"}, x: \"0px\", y: \"-30%\"}}, routes: {B0uxd6NqR: {augiA20Il: effect2}, FCRf6duyC: {augiA20Il: effect}, jSCUILc2E: {augiA20Il: effect1}, vhY8Su0H2: {augiA20Il: effect1}}}\r\n\t\t\t})\r\n\r\n\t\t\t// We don't want the initial render to immediately have to suspend.\r\n\t\t\tawait rootPreload\r\n\t\t\treturn page\r\n\t\t}\r\n\r\n\t\tif (isBrowser) {\r\n\t\t\twindow.__framer_importFromPackage = (packageAndFilename, exportIdentifier) => () => {\r\n\t\t\t\treturn React.createElement(Framer.ErrorPlaceholder, { error: 'Package component not supported: \"' + exportIdentifier + '\" in \"' + packageAndFilename + '\"' })\r\n\t\t\t}\r\n\r\n\t\t\twindow.__framer_events = window.__framer_events || []\r\n\r\n\t\t\t// Initialize lazy modules cache for hydration\r\n\t\t\tFramer.initLazyModulesCache()\r\n\r\n\t\t\t// Fallback support for stack gaps\r\n\t\t\tFramer.installFlexboxGapWorkaroundIfNeeded()\r\n\r\n\t\t\tconst container = document.getElementById(\"main\")\r\n\t\t\t// We know that #main is parsed before this script, so we don't need to wait for DOMContentLoaded or similar events.\r\n\t\t\tif (\"framerHydrateV2\" in container.dataset) main(true, container)\r\n\t\t\telse main(false, container)\r\n\t\t}\r\n\r\n\t\tfunction track() {\r\n\t\t\tif (!isBrowser) return\r\n\t\t\twindow.__framer_events.push(arguments)\r\n\t\t}\r\n\r\n\t\tasync function main(shouldHydrate, container) {\r\n\t\t\tfunction handleError(error, errorInfo, recoverable = true) {\r\n\t\t\t\tif (error.caught || window.__framer_hadFatalError) return // we already logged it\r\n\r\n\t\t\t\tconst componentStack = errorInfo?.componentStack\r\n\t\t\t\tif (recoverable) {\r\n\t\t\t\t\tconsole.warn(\"Caught a recoverable error. The site is still functional, but might have some UI flickering or degraded page load performance. If you are the author of this website, update external components and check recently added custom code or code overrides to fix the following server/client mismatches:\\n\", error, componentStack)\r\n\t\t\t\t\t// we only want to collect 1%, because this can be quite noisy (floods the data pipeline)\r\n\t\t\t\t\tif (Math.random() > 0.01) return\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconsole.error(\"Caught a fatal error. Please report the following to the Framer team via https://www.framer.com/contact/:\\n\", error, componentStack)\r\n\t\t\t\t}\r\n\t\t\t\ttrack(recoverable ? \"published_site_load_recoverable_error\" : \"published_site_load_error\", {\r\n\t\t\t\t\tmessage: String(error),\r\n\t\t\t\t\tcomponentStack, // componentStack is more useful\r\n\t\t\t\t\tstack: componentStack ? undefined : error instanceof Error && typeof error.stack === \"string\" ? error.stack : null,\r\n\t\t\t\t})\r\n\t\t\t}\r\n\r\n\t\t\ttry {\r\n\t\t\t\tlet routeId, localeId, pathVariables, breakpoints, routeData\r\n\t\t\t\tif (shouldHydrate) {\r\n\t\t\t\t\trouteData = JSON.parse(container.dataset[\"framerHydrateV2\"])\r\n\t\t\t\t\trouteId = routeData.routeId\r\n\t\t\t\t\tlocaleId = routeData.localeId\r\n\t\t\t\t\tpathVariables = routeData.pathVariables\r\n\t\t\t\t\tbreakpoints = routeData.breakpoints\r\n\r\n\t\t\t\t\trouteId = Framer.patchRoutesForABTesting(routes, routeId) // Prioritize optimized route id to avoid flickering in browsers not supporting the server-timing header (Safari older than 16.4)\r\n\t\t\t\t} else {\r\n\t\t\t\t\tFramer.patchRoutesForABTesting(routes, undefined) // This must happen before inferInitialRouteFromPath\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\tconst serverRouteExperimentEnabled = true\r\n\t\t\t\t\tconst serverRoute = serverRouteExperimentEnabled && performance.getEntriesByType(\"navigation\")[0]?.serverTiming?.find(e => e.name === \"route\")?.description\r\n\t\t\t\t\tif (serverRoute) {\r\n\t\t\t\t\t\tconst routeData = new URLSearchParams(serverRoute)\r\n\t\t\t\t\t\trouteId = routeData.get(\"id\")\r\n\t\t\t\t\t\tlocaleId = routeData.get(\"locale\")\r\n\t\t\t\t\t\tfor (const [key, value] of routeData.entries()) {\r\n\t\t\t\t\t\t\tif (!key.startsWith(\"var.\")) continue\r\n\t\t\t\t\t\t\tpathVariables ??= {}\r\n\t\t\t\t\t\t\tpathVariables[key.slice(4)] = value\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (!routeId || !localeId) {\r\n\t\t\t\t\t\tconst routeData = Framer.inferInitialRouteFromPath(routes, decodeURIComponent(location.pathname), true, locales)\r\n\t\t\t\t\t\trouteId = routeData.routeId\r\n\t\t\t\t\t\tlocaleId = routeData.localeId\r\n\t\t\t\t\t\tpathVariables = routeData.pathVariables\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst pagePromise = getPageRoot({\r\n\t\t\t\t\trouteId,\r\n\t\t\t\t\tlocaleId,\r\n\t\t\t\t\tpathVariables,\r\n\t\t\t\t\tcollectionItemId: routeData?.collectionItemId,\r\n\t\t\t\t})\r\n\r\n\t\t\t\t\r\nif (typeof window !== \"undefined\") {\r\n\tvoid (async () => {\r\n\t\tconst route = routes[routeId]\r\n\r\n\t\tconst defaultLocaleId = \"default\"\r\n\t\tconst framerLocale = locales.find(({ id }) => !localeId ? id === defaultLocaleId : id === localeId).code\r\n\r\n\t\tlet collectionItemId = routeData?.collectionItemId ?? null\r\n\t\tif (collectionItemId === null && route?.collectionId && collectionUtils) {\r\n\t\t\t  const utils = await collectionUtils[route.collectionId]?.()\r\n\t\t\t  const [slug] = Object.values(pathVariables)\r\n\t\t\t  if (utils && typeof slug === \"string\") {\r\n\t\t\t\t  collectionItemId = (await utils.getRecordIdBySlug(slug, framerLocale || undefined)) ?? null\r\n\t\t\t  }\r\n\t\t}\r\n\r\n\t\tconst resolvedDateTimeOptions = Intl.DateTimeFormat().resolvedOptions()\r\n\t\tconst timezone = resolvedDateTimeOptions.timeZone\r\n\t\tconst locale = resolvedDateTimeOptions.locale\r\n\r\n\t\t// wait for the page to be activated before sending the pageview event\r\n\t\t// https://developer.chrome.com/docs/web-platform/prerender-pages#impact-on-analytics\r\n\t\tawait new Promise((resolve) => {\r\n\t\t\tif (document.prerendering) {\r\n\t\t\t\tdocument.addEventListener(\"prerenderingchange\", resolve, { once: true })\r\n\t\t\t} else {\r\n\t\t\t\tresolve()\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\twindow.__framer_events.push([\r\n\t\t\t\"published_site_pageview\",\r\n\t\t\t{\r\n\t\t\t\tframerSiteId: framerSiteId ?? null,\r\n\t\t\t\tversion: 2,\r\n\t\t\t\troutePath: route?.path || \"/\",\r\n\t\t\t\tcollectionItemId,\r\n\t\t\t\tframerLocale: framerLocale || null,\r\n\t\t\t\twebPageId: route?.abTestingVariantId ?? routeId,\r\n\t\t\t\tabTestId: route?.abTestId,\r\n\t\t\t\treferrer: document.referrer || null,\r\n\t\t\t\turl: window.location.href,\r\n\t\t\t\thostname: window.location.hostname || null,\r\n\t\t\t\tpathname: window.location.pathname || null,\r\n\t\t\t\thash: window.location.hash || null,\r\n\t\t\t\tsearch: window.location.search || null,\r\n\t\t\t\ttimezone,\r\n\t\t\t\tlocale,\r\n\t\t\t},\r\n\t\t\t\"eager\"\r\n\t\t])\r\n\r\n\t\t// Yield to avoid blocking the main thread with the user code\r\n\t\tawait Framer.yieldToMain({ priority: \"background\", ensureContinueBeforeUnload: true, continueAfter: \"paint\" })\r\n\r\n\t\tdocument.dispatchEvent(new CustomEvent(\"framer:pageview\", {\r\n\t\t\tdetail: { framerLocale: framerLocale || null }\r\n\t\t}))\r\n\t})()\r\n}\r\n\r\n\r\n\t\t\t\tconst page = await pagePromise\r\n\t\t\t\tif (shouldHydrate) {\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\tFramer.withPerformanceMarks(\"framer-rewrite-breakpoints\", () => {\r\n\t\t\t\t\t\tFramer.removeHiddenBreakpointLayersV2(breakpoints)\r\n\t\t\t\t\t\twindow.__framer_onRewriteBreakpoints?.(breakpoints)\r\n\t\t\t\t\t})\r\n\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\tconst startTransition = isBot ? cb => cb() : React.startTransition\r\n\t\t\t\t\tstartTransition(() => {\r\n\t\t\t\t\t\tFramer.markHydrationStart()\r\n\t\t\t\t\t\tif (true) Framer.turnOffReactEventHandling()\r\n\t\t\t\t\t\tReactDOM.hydrateRoot(container, page, { onRecoverableError: handleError })\r\n\t\t\t\t\t})\r\n\t\t\t\t} else {\r\n\t\t\t\t\t\r\n\t\t\t\t\tReactDOM.createRoot(container, { onRecoverableError: handleError }).render(page)\r\n\t\t\t\t}\r\n\t\t\t} catch (error) {\r\n\t\t\t\thandleError(error, undefined, false)\r\n\t\t\t\tthrow error\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t\r\n\r\n\t\t\r\n\t"],"mappings":"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"}