{"version":3,"file":"script_main.BY2LIcu5.mjs","names":["React.useCallback","React.useState","React.useMemo","fonts","css","className","css","serializationHash","variantClassNames","React.useContext","React.useMemo","humanReadableVariantMap","React.Fragment","getProps","React.forwardRef","useRef","React.useId","sharedStyle.className","sharedStyle1.className","sharedStyle2.className","className","RichText","sharedStyle.css","sharedStyle1.css","sharedStyle2.css","sharedStyle.fonts","sharedStyle1.fonts","sharedStyle2.fonts","useState","useRef","startTransition","NavigationFooterFonts","NavigationFooter","AIChatWidgetFonts","breakpoints","serializationHash","variantClassNames","matchVariant","breakpointRules","breakpointKeys","rules","mediaQueries","humanReadableVariantMap","HTMLStyle","getProps","Component","useRef","React.useId","PropertyOverrides","css","NavigationFooter","useRef","React.useId","PropertyOverrides","React.createElement","Template1","Template2","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.GracefullyDegradingErrorBoundary","Framer.PageEffectsProvider","Framer.patchRoutesForABTesting","Framer.inferInitialRouteFromPath","Framer.yieldToMain","React.startTransition","Framer.ErrorPlaceholder"],"sources":["https:/framerusercontent.com/modules/ieky6L3ivAFFV2MqQ59P/Adl7smunN3s5MmSnEYwa/LocalTime.js","https:/framerusercontent.com/modules/N6LXmMQYcpR7TrKDj6YD/gyLkNa9Cdtgpi7pbhZPz/F0f1UNzmV.js","https:/framerusercontent.com/modules/W6WdQXdrSYzhyML0X2RL/DzeqYnThymqXyvdqzjWs/UE6X59lqg.js","https:/framerusercontent.com/modules/vw9lCJghueJVSODCvajx/SIRF5dUvKmqyEo9Ocl5G/fmPhz2JYS.js","https:/framerusercontent.com/modules/oepDz5kPYfLd6A105EvA/uoagODeboEEzMo7ZUM5V/AIChatWidget.js","https:/framerusercontent.com/modules/Rr9jhUEHZAyiMni3rfsZ/BuQbYMjBBM332a0jU2QW/MaVNXnngr.js","https:/framerusercontent.com/modules/XZSajX83gIP6rRwqVqkz/h3epT4EJklEr6OK7ZtUj/mKYl2m0AF.js","framer:toplevel/main"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";function getTimeZoneSafe(){if(typeof window!==\"undefined\"){try{return Intl.DateTimeFormat().resolvedOptions().timeZone??null;}catch{return null;}}else{try{return Intl.DateTimeFormat().resolvedOptions().timeZone??null;}catch{return null;}}}function getCityFromTimeZone(timeZone,fallbackCity){if(!timeZone||!timeZone.includes(\"/\"))return fallbackCity;const parts=timeZone.split(\"/\");const last=parts[parts.length-1];if(!last)return fallbackCity;return last.replace(/_/g,\" \");}function formatLocalTime(date,showSeconds){return new Intl.DateTimeFormat(\"en-US\",{hour:\"numeric\",minute:\"2-digit\",second:showSeconds?\"2-digit\":undefined,hour12:true}).format(date);}function createDisplayText(now,showSeconds,separator,fallbackCity){const timeZone=getTimeZoneSafe();const city=getCityFromTimeZone(timeZone,fallbackCity);const time=formatLocalTime(now,showSeconds);return`${city}${separator}${time}`;}/**\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n */export default function LocalTime(props){const{showSeconds=false,separator=\" \",fallbackCity=\"Earth\",color=\"#999999\",tabularNumbers=true,font={fontSize:\"15px\",fontWeight:500,letterSpacing:\"-0.01em\",lineHeight:\"1.3em\"},style}=props;const computeText=React.useCallback(()=>{return createDisplayText(new Date,showSeconds,separator,fallbackCity);},[showSeconds,separator,fallbackCity]);const[text,setText]=React.useState(()=>computeText());React.useEffect(()=>{React.startTransition(()=>{setText(computeText());});},[computeText]);React.useEffect(()=>{if(typeof window===\"undefined\")return;let intervalId=null;let timeoutId=null;const tick=()=>{React.startTransition(()=>{setText(computeText());});};const now=Date.now();const delayToNextSecond=1e3-now%1e3;timeoutId=window.setTimeout(()=>{tick();intervalId=window.setInterval(tick,1e3);},delayToNextSecond);return()=>{if(timeoutId!==null)window.clearTimeout(timeoutId);if(intervalId!==null)window.clearInterval(intervalId);};},[computeText]);const textStyle=React.useMemo(()=>{return{position:\"relative\",display:\"inline-block\",width:\"max-content\",minWidth:\"max-content\",whiteSpace:\"nowrap\",color,fontSize:font.fontSize,lineHeight:font.lineHeight,letterSpacing:font.letterSpacing,textAlign:font.textAlign,fontFamily:font.fontFamily,fontWeight:font.fontWeight,fontStyle:font.fontStyle,fontVariantNumeric:tabularNumbers?\"tabular-nums\":undefined,...style};},[color,font,tabularNumbers,style]);return /*#__PURE__*/_jsx(\"span\",{style:textStyle,children:text});}addPropertyControls(LocalTime,{showSeconds:{type:ControlType.Boolean,title:\"Show Seconds\",defaultValue:false},separator:{type:ControlType.String,title:\"Separator\",defaultValue:\" \"},fallbackCity:{type:ControlType.String,title:\"Fallback City\",defaultValue:\"Earth\"},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"15px\",variant:\"Medium\",letterSpacing:\"-0.01em\",lineHeight:\"1.3em\"}},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#999999\"},tabularNumbers:{type:ControlType.Boolean,title:\"Tabular\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"LocalTime\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"auto\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./LocalTime.map","// Generated by Framer (ae08463)\nimport{fontStore}from\"framer\";fontStore.loadFonts([]);export const fonts=[{explicitInter:true,fonts:[]}];export const css=[\".framer-7JyA9 .framer-styles-preset-hodsly:not(.rich-text-wrapper), .framer-7JyA9 .framer-styles-preset-hodsly.rich-text-wrapper a { --framer-link-current-text-color: var(--token-fced369f-125f-4711-bdec-d563f2dc0435, #060606); --framer-link-current-text-decoration: underline; --framer-link-hover-text-color: rgba(6, 6, 6, 0.6); --framer-link-text-color: var(--token-fced369f-125f-4711-bdec-d563f2dc0435, #060606); --framer-link-text-decoration: none; transition-delay: 0s; transition-duration: 0.2s; transition-property: color; transition-timing-function: cubic-bezier(0.44, 0, 0.56, 1); }\"];export const className=\"framer-7JyA9\";\nexport const __FramerMetadata__ = {\"exports\":{\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (80f113d)\nimport{fontStore}from\"framer\";fontStore.loadFonts([]);export const fonts=[{explicitInter:true,fonts:[]}];export const css=[\".framer-bUpn4 .framer-styles-preset-xp2mpe:not(.rich-text-wrapper), .framer-bUpn4 .framer-styles-preset-xp2mpe.rich-text-wrapper a { --framer-link-hover-text-color: var(--token-6bfc9c9f-b3bc-4bd5-96e2-0f7185bcbd6f, #ffffff); --framer-link-text-color: var(--token-afada70f-c8a5-4303-b10c-0f27dcfe2bd9, #bfbfbf); }\"];export const className=\"framer-bUpn4\";\nexport const __FramerMetadata__ = {\"exports\":{\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (ae08463)\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 LocalTime from\"https://framerusercontent.com/modules/ieky6L3ivAFFV2MqQ59P/Adl7smunN3s5MmSnEYwa/LocalTime.js\";import*as sharedStyle2 from\"https://framerusercontent.com/modules/N6LXmMQYcpR7TrKDj6YD/gyLkNa9Cdtgpi7pbhZPz/F0f1UNzmV.js\";import*as sharedStyle1 from\"https://framerusercontent.com/modules/W6WdQXdrSYzhyML0X2RL/DzeqYnThymqXyvdqzjWs/UE6X59lqg.js\";import*as sharedStyle from\"https://framerusercontent.com/modules/xEmYteRp3o0rFJQRnNdc/HcRIutkPqmEqTRwc0NeC/XPdiP9GKo.js\";const LocalTimeFonts=getFonts(LocalTime);const cycleOrder=[\"rhZ9NuCH_\",\"YUCYBE75e\",\"gLaBxC3_l\",\"NqgjWV5MK\",\"uk2iHf6K8\",\"aSqPUqWmb\"];const serializationHash=\"framer-8YqRY\";const variantClassNames={aSqPUqWmb:\"framer-v-rp9e8m\",gLaBxC3_l:\"framer-v-v42acv\",NqgjWV5MK:\"framer-v-195dol1\",rhZ9NuCH_:\"framer-v-1ifbkce\",uk2iHf6K8:\"framer-v-10r0ow7\",YUCYBE75e:\"framer-v-1y8q96h\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const humanReadableVariantMap={Desktop:\"rhZ9NuCH_\",Mobile:\"aSqPUqWmb\",Tablet:\"uk2iHf6K8\",Variant:\"NqgjWV5MK\"};const Variants=motion.create(React.Fragment);const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"rhZ9NuCH_\"};};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:\"rhZ9NuCH_\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[sharedStyle.className,sharedStyle1.className,sharedStyle2.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.footer,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-1ifbkce\",className,classNames),\"data-framer-name\":\"Desktop\",layoutDependency:layoutDependency,layoutId:\"rhZ9NuCH_\",ref:refBinding,style:{backgroundColor:\"rgba(0, 0, 0, 0)\",...style},variants:{aSqPUqWmb:{backgroundColor:\"var(--token-6bfc9c9f-b3bc-4bd5-96e2-0f7185bcbd6f, rgb(255, 255, 255))\"},NqgjWV5MK:{backgroundColor:\"var(--token-6bfc9c9f-b3bc-4bd5-96e2-0f7185bcbd6f, rgb(255, 255, 255))\"},uk2iHf6K8:{backgroundColor:\"var(--token-6bfc9c9f-b3bc-4bd5-96e2-0f7185bcbd6f, rgb(255, 255, 255))\"}},...addPropertyOverrides({aSqPUqWmb:{\"data-framer-name\":\"Mobile\"},gLaBxC3_l:{\"data-framer-name\":\"Mobile\"},NqgjWV5MK:{\"data-framer-name\":undefined},uk2iHf6K8:{\"data-framer-name\":\"Tablet\"},YUCYBE75e:{\"data-framer-name\":\"Tablet\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(motion.nav,{className:\"framer-4lejy9\",\"data-framer-name\":\"Content Container\",layoutDependency:layoutDependency,layoutId:\"OrF7_litT\",children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-cbgdiz-container\",isAuthoredByUser:true,layoutDependency:layoutDependency,layoutId:\"RLwvaFFVU-container\",nodeId:\"RLwvaFFVU\",rendersWithMotion:true,scopeId:\"fmPhz2JYS\",style:{opacity:.5},children:/*#__PURE__*/_jsx(LocalTime,{color:\"var(--token-afada70f-c8a5-4303-b10c-0f27dcfe2bd9, rgb(191, 191, 191))\",fallbackCity:\"Earth\",font:{fontFamily:'\"Switzer\", \"Switzer Placeholder\", sans-serif',fontSize:\"16px\",fontStyle:\"normal\",fontWeight:500,letterSpacing:\"-0.01em\",lineHeight:\"1.3em\"},height:\"100%\",id:\"RLwvaFFVU\",layoutId:\"RLwvaFFVU\",separator:\" \",showSeconds:false,tabularNumbers:true,width:\"100%\",...addPropertyOverrides({aSqPUqWmb:{color:\"var(--token-15e0a2cf-5a36-4b28-b112-37dceeb9e192, rgb(20, 20, 20))\"},NqgjWV5MK:{color:\"var(--token-15e0a2cf-5a36-4b28-b112-37dceeb9e192, rgb(20, 20, 20))\"},uk2iHf6K8:{color:\"var(--token-15e0a2cf-5a36-4b28-b112-37dceeb9e192, rgb(20, 20, 20))\"}},baseVariant,gestureVariant)})})}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-11nvf89\",\"data-framer-name\":\"Social Links\",layoutDependency:layoutDependency,layoutId:\"snTpgHYTy\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-w26rmg\",\"data-styles-preset\":\"XPdiP9GKo\",dir:\"auto\",children:/*#__PURE__*/_jsx(Link,{href:\"https://x.com/ramishdotdesign\",motionChild:true,nodeId:\"nCmOY1cYO\",openInNewTab:true,relValues:[],scopeId:\"fmPhz2JYS\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-xp2mpe\",\"data-styles-preset\":\"UE6X59lqg\",children:\"X (Twitter)\"})})})}),className:\"framer-cdtyzp\",\"data-framer-name\":\"Heading\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"nCmOY1cYO\",verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({aSqPUqWmb:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-w26rmg\",\"data-styles-preset\":\"XPdiP9GKo\",dir:\"auto\",children:/*#__PURE__*/_jsx(Link,{href:\"https://x.com/ramishdotdesign\",motionChild:true,nodeId:\"nCmOY1cYO\",openInNewTab:true,relValues:[],scopeId:\"fmPhz2JYS\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-hodsly\",\"data-styles-preset\":\"F0f1UNzmV\",children:\"X (Twitter)\"})})})})},NqgjWV5MK:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-w26rmg\",\"data-styles-preset\":\"XPdiP9GKo\",dir:\"auto\",children:/*#__PURE__*/_jsx(Link,{href:\"https://x.com/ramishdotdesign\",motionChild:true,nodeId:\"nCmOY1cYO\",openInNewTab:true,relValues:[],scopeId:\"fmPhz2JYS\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-hodsly\",\"data-styles-preset\":\"F0f1UNzmV\",children:\"X (Twitter)\"})})})})},uk2iHf6K8:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-w26rmg\",\"data-styles-preset\":\"XPdiP9GKo\",dir:\"auto\",children:/*#__PURE__*/_jsx(Link,{href:\"https://x.com/ramishdotdesign\",motionChild:true,nodeId:\"nCmOY1cYO\",openInNewTab:true,relValues:[],scopeId:\"fmPhz2JYS\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-hodsly\",\"data-styles-preset\":\"F0f1UNzmV\",children:\"X (Twitter)\"})})})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-w26rmg\",\"data-styles-preset\":\"XPdiP9GKo\",dir:\"auto\",children:/*#__PURE__*/_jsx(Link,{href:\"https://www.youtube.com/@ramish.design\",motionChild:true,nodeId:\"WK1aGkcp1\",openInNewTab:true,relValues:[],scopeId:\"fmPhz2JYS\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-xp2mpe\",\"data-styles-preset\":\"UE6X59lqg\",children:\"YouTube\"})})})}),className:\"framer-4s6cdy\",\"data-framer-name\":\"Heading\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"WK1aGkcp1\",verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({aSqPUqWmb:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-w26rmg\",\"data-styles-preset\":\"XPdiP9GKo\",dir:\"auto\",children:/*#__PURE__*/_jsx(Link,{href:\"https://www.youtube.com/@ramish.design\",motionChild:true,nodeId:\"WK1aGkcp1\",openInNewTab:true,relValues:[],scopeId:\"fmPhz2JYS\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-hodsly\",\"data-styles-preset\":\"F0f1UNzmV\",children:\"YouTube\"})})})})},NqgjWV5MK:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-w26rmg\",\"data-styles-preset\":\"XPdiP9GKo\",dir:\"auto\",children:/*#__PURE__*/_jsx(Link,{href:\"https://www.youtube.com/@ramish.design\",motionChild:true,nodeId:\"WK1aGkcp1\",openInNewTab:true,relValues:[],scopeId:\"fmPhz2JYS\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-hodsly\",\"data-styles-preset\":\"F0f1UNzmV\",children:\"YouTube\"})})})})},uk2iHf6K8:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-w26rmg\",\"data-styles-preset\":\"XPdiP9GKo\",dir:\"auto\",children:/*#__PURE__*/_jsx(Link,{href:\"https://www.youtube.com/@ramish.design\",motionChild:true,nodeId:\"WK1aGkcp1\",openInNewTab:true,relValues:[],scopeId:\"fmPhz2JYS\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-hodsly\",\"data-styles-preset\":\"F0f1UNzmV\",children:\"YouTube\"})})})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-w26rmg\",\"data-styles-preset\":\"XPdiP9GKo\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\"},children:/*#__PURE__*/_jsx(Link,{href:\"https://www.linkedin.com/in/ramish-aziz/\",motionChild:true,nodeId:\"PnjiPz3Ap\",openInNewTab:true,relValues:[],scopeId:\"fmPhz2JYS\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-xp2mpe\",\"data-styles-preset\":\"UE6X59lqg\",children:\"LinkedIn\"})})})}),className:\"framer-1nooa6c\",\"data-framer-name\":\"Heading\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"PnjiPz3Ap\",verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({aSqPUqWmb:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-w26rmg\",\"data-styles-preset\":\"XPdiP9GKo\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\"},children:/*#__PURE__*/_jsx(Link,{href:\"https://www.linkedin.com/in/ramish-aziz/\",motionChild:true,nodeId:\"PnjiPz3Ap\",openInNewTab:true,relValues:[],scopeId:\"fmPhz2JYS\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-hodsly\",\"data-styles-preset\":\"F0f1UNzmV\",children:\"LinkedIn\"})})})})},NqgjWV5MK:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-w26rmg\",\"data-styles-preset\":\"XPdiP9GKo\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\"},children:/*#__PURE__*/_jsx(Link,{href:\"https://www.linkedin.com/in/ramish-aziz/\",motionChild:true,nodeId:\"PnjiPz3Ap\",openInNewTab:true,relValues:[],scopeId:\"fmPhz2JYS\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-hodsly\",\"data-styles-preset\":\"F0f1UNzmV\",children:\"LinkedIn\"})})})})},uk2iHf6K8:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-w26rmg\",\"data-styles-preset\":\"XPdiP9GKo\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\"},children:/*#__PURE__*/_jsx(Link,{href:\"https://www.linkedin.com/in/ramish-aziz/\",motionChild:true,nodeId:\"PnjiPz3Ap\",openInNewTab:true,relValues:[],scopeId:\"fmPhz2JYS\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-hodsly\",\"data-styles-preset\":\"F0f1UNzmV\",children:\"LinkedIn\"})})})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-w26rmg\",\"data-styles-preset\":\"XPdiP9GKo\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\"},children:/*#__PURE__*/_jsx(Link,{href:\"mailto:ramish@ramish.design\",motionChild:true,nodeId:\"WBYBhXOzB\",openInNewTab:false,relValues:[],scopeId:\"fmPhz2JYS\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{children:\"Email\"})})})}),className:\"framer-1lb2s1t\",\"data-framer-name\":\"Heading\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"WBYBhXOzB\",verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({aSqPUqWmb:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-w26rmg\",\"data-styles-preset\":\"XPdiP9GKo\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\"},children:/*#__PURE__*/_jsx(Link,{href:\"mailto:ramish@ramish.design\",motionChild:true,nodeId:\"WBYBhXOzB\",openInNewTab:false,relValues:[],scopeId:\"fmPhz2JYS\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-hodsly\",\"data-styles-preset\":\"F0f1UNzmV\",children:\"Email\"})})})})},NqgjWV5MK:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-w26rmg\",\"data-styles-preset\":\"XPdiP9GKo\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\"},children:/*#__PURE__*/_jsx(Link,{href:\"mailto:ramish@ramish.design\",motionChild:true,nodeId:\"WBYBhXOzB\",openInNewTab:false,relValues:[],scopeId:\"fmPhz2JYS\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-hodsly\",\"data-styles-preset\":\"F0f1UNzmV\",children:\"Email\"})})})})},uk2iHf6K8:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-w26rmg\",\"data-styles-preset\":\"XPdiP9GKo\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\"},children:/*#__PURE__*/_jsx(Link,{href:\"mailto:ramish@ramish.design\",motionChild:true,nodeId:\"WBYBhXOzB\",openInNewTab:false,relValues:[],scopeId:\"fmPhz2JYS\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-hodsly\",\"data-styles-preset\":\"F0f1UNzmV\",children:\"Email\"})})})})}},baseVariant,gestureVariant)})]})]})})})})});});const css=[\".framer-8YqRY.framer-bfa5k6, .framer-8YqRY .framer-bfa5k6 { display: block; }\",\".framer-8YqRY.framer-1ifbkce { align-content: center; align-items: center; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 32px; height: min-content; justify-content: center; padding: 20px 40px 20px 40px; position: relative; width: 1200px; }\",\".framer-8YqRY .framer-4lejy9 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; height: min-content; justify-content: space-between; max-width: 1120px; padding: 0px; position: relative; width: 100%; }\",\".framer-8YqRY .framer-cbgdiz-container { flex: none; height: auto; position: relative; width: auto; }\",\".framer-8YqRY .framer-11nvf89 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 32px; height: min-content; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: min-content; }\",\".framer-8YqRY .framer-cdtyzp, .framer-8YqRY .framer-4s6cdy, .framer-8YqRY .framer-1nooa6c, .framer-8YqRY .framer-1lb2s1t { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-8YqRY.framer-v-1y8q96h.framer-1ifbkce, .framer-8YqRY.framer-v-10r0ow7.framer-1ifbkce { width: 830px; }\",\".framer-8YqRY.framer-v-1y8q96h .framer-4lejy9, .framer-8YqRY.framer-v-10r0ow7 .framer-4lejy9 { max-width: 730px; }\",\".framer-8YqRY.framer-v-v42acv.framer-1ifbkce, .framer-8YqRY.framer-v-rp9e8m.framer-1ifbkce { padding: 20px; width: 390px; }\",\".framer-8YqRY.framer-v-v42acv .framer-4lejy9, .framer-8YqRY.framer-v-rp9e8m .framer-4lejy9 { flex-direction: column; gap: 32px; justify-content: flex-start; max-width: 350px; }\",\".framer-8YqRY.framer-v-v42acv .framer-cbgdiz-container, .framer-8YqRY.framer-v-rp9e8m .framer-cbgdiz-container { order: 1; }\",\".framer-8YqRY.framer-v-v42acv .framer-11nvf89, .framer-8YqRY.framer-v-rp9e8m .framer-11nvf89 { flex-direction: column; order: 0; }\",...sharedStyle.css,...sharedStyle1.css,...sharedStyle2.css];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 69\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"YUCYBE75e\":{\"layout\":[\"fixed\",\"auto\"]},\"gLaBxC3_l\":{\"layout\":[\"fixed\",\"auto\"]},\"NqgjWV5MK\":{\"layout\":[\"fixed\",\"auto\"]},\"uk2iHf6K8\":{\"layout\":[\"fixed\",\"auto\"]},\"aSqPUqWmb\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerfmPhz2JYS=withCSS(Component,css,\"framer-8YqRY\");export default FramerfmPhz2JYS;FramerfmPhz2JYS.displayName=\"Navigation/Footer\";FramerfmPhz2JYS.defaultProps={height:69,width:1200};addPropertyControls(FramerfmPhz2JYS,{variant:{options:[\"rhZ9NuCH_\",\"YUCYBE75e\",\"gLaBxC3_l\",\"NqgjWV5MK\",\"uk2iHf6K8\",\"aSqPUqWmb\"],optionTitles:[\"Desktop\",\"Tablet\",\"Mobile\",\"Variant\",\"Tablet\",\"Mobile\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerfmPhz2JYS,[{explicitInter:true,fonts:[{cssFamilyName:\"Switzer\",source:\"fontshare\",style:\"normal\",uiFamilyName:\"Switzer\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/OYB4CXKJQXKTNSLJMTDQOIVUL2V5EL7S/WYO2P7DQVV5RNXGMCUO2HL4RJP4VFUAS/6XPIMU23OJVRY676OG5YVJMWEHWICATX.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]},...LocalTimeFonts,...getFontsFromSharedStyle(sharedStyle.fonts),...getFontsFromSharedStyle(sharedStyle1.fonts),...getFontsFromSharedStyle(sharedStyle2.fonts)],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerfmPhz2JYS\",\"slots\":[],\"annotations\":{\"framerColorSyntax\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerImmutableVariables\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicHeight\":\"69\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"1200\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"YUCYBE75e\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"gLaBxC3_l\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"NqgjWV5MK\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"uk2iHf6K8\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"aSqPUqWmb\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useRef,useState,startTransition}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";const STORAGE_KEY=\"ramish-ai-chat-v1\";/*\n * Design source of truth: the \"Chat Widget Design\" page in this project\n * (the dark and light \"My design\" frames). Theme palettes reuse the authored\n * color styles; state, chat behavior and server connection stay shared.\n * Structure/spacing changes still go through the design page + implementation.\n */const PRIMARY=\"var(--token-6bfc9c9f-b3bc-4bd5-96e2-0f7185bcbd6f, rgb(255, 255, 255))\";const GLASS_BORDER=\"1px solid var(--token-a8a2e9b0-cf29-4b27-b2e7-1ede22d6af7b, rgba(255, 255, 255, 0.06))\";const GLASS_BLUR=\"blur(12px)\";const HAIRLINE=\"1px solid var(--token-8f07094d-f29b-4212-87f9-fc157415244e, rgba(255, 255, 255, 0.09))\";const SOFT_TEXT=\"var(--token-9cb63f59-b64b-483e-8a3f-4e56b61e09d4, rgba(255, 255, 255, 0.55))\";// Appearance only: both themes use the same state, streaming and review pipeline.\nconst DARK_THEME={primary:PRIMARY,text:\"#FFFFFF\",softText:SOFT_TEXT,footerText:SOFT_TEXT,panel:\"#0A0A0A\",panelBorder:GLASS_BORDER,launcher:\"#0A0A0A\",launcherBorder:GLASS_BORDER,input:\"#0A0A0A\",controlBorder:HAIRLINE,badgeBorder:HAIRLINE,avatarBadge:\"#1C1C1C\",visitor:\"#1A1A1A\",sendBackground:\"#FFFFFF\",sendForeground:\"#0A0A0A\",placeholder:\"#8C8C8C\",chipHover:\"#1C1C1C\"};const LIGHT_PRIMARY=\"var(--token-fced369f-125f-4711-bdec-d563f2dc0435, rgb(6, 6, 6))\";const LIGHT_BORDER=\"1px solid var(--token-05230984-c72c-4f13-97d7-e3ff42e9fe88, rgb(201, 201, 201))\";const LIGHT_THEME={primary:LIGHT_PRIMARY,text:LIGHT_PRIMARY,softText:\"rgba(0, 0, 0, 0.55)\",footerText:\"var(--token-ddee9b29-ceb0-490b-bef3-4e4a53da402a, rgb(69, 69, 69))\",panel:\"rgba(255, 255, 255, 0.7)\",panelBorder:GLASS_BORDER,launcher:\"rgba(255, 255, 255, 0.2)\",launcherBorder:LIGHT_BORDER,input:\"rgba(255, 255, 255, 0.7)\",controlBorder:LIGHT_BORDER,badgeBorder:\"1px solid rgba(0, 0, 0, 0.09)\",avatarBadge:\"#EDEDED\",visitor:\"rgba(0, 0, 0, 0.06)\",sendBackground:LIGHT_PRIMARY,sendForeground:PRIMARY,placeholder:\"rgba(0, 0, 0, 0.55)\",chipHover:\"rgba(0, 0, 0, 0.06)\"};const FONT_STACK='\"Inter\", \"Inter Placeholder\", -apple-system, BlinkMacSystemFont, sans-serif';const DEFAULT_AVATAR=\"https://framerusercontent.com/images/8Q3wD9sC3p4rB8rfGijPKdgNiRw.jpeg\";function Sparkles({size=24}){return /*#__PURE__*/_jsx(\"svg\",{width:size,height:size,viewBox:\"0 0 32 32\",fill:\"none\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M12 7l3.2 7.8L23 18l-7.8 3.2L12 29l-3.2-7.8L1 18l7.8-3.2L12 7Z M25 2l1.8 4.2L31 8l-4.2 1.8L25 14l-1.8-4.2L19 8l4.2-1.8L25 2Z M24 23l1.2 2.8L28 27l-2.8 1.2L24 31l-1.2-2.8L20 27l2.8-1.2L24 23Z\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinejoin:\"round\"})});}/**\n * AI Chat Widget\n *\n * Floating chat launcher that opens a glass panel where visitors talk to\n * an AI version of Ramish, streamed from a private relay endpoint.\n *\n * @framerIntrinsicWidth 64\n * @framerIntrinsicHeight 64\n *\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n */export default function AIChatWidget(props){const{apiUrl=\"\",agentName=\"Ramish\",subtitle=\"Ask me anything about my work\",avatar,greeting=\"Hey! I'm Ramish's AI twin. Ask me about my work, my process, or whether I'm the right fit for your project.\",suggestions=[],openOnCanvas=false,theme=\"dark\"}=props;const{placeholder=\"Ask me anything…\",footerText=\"AI answers can be imperfect \\xb7 the real me:\",contactEmail=\"ramish@ramish.design\"}=props.copy??{};const colors=theme===\"light\"?LIGHT_THEME:DARK_THEME;const themeStyle={\"--rmsh-placeholder\":colors.placeholder,\"--rmsh-chip-hover\":colors.chipHover};const avatarSrc=avatar?.src||DEFAULT_AVATAR;const isStatic=useIsStaticRenderer();const[open,setOpen]=useState(false);const[messages,setMessages]=useState([]);const[draft,setDraft]=useState(\"\");const[busy,setBusy]=useState(false);const scrollRef=useRef(null);const inputRef=useRef(null);const launcherRef=useRef(null);const conversationIdRef=useRef(\"\");function closeChat(){setOpen(false);launcherRef.current?.focus();}const emailNudge=contactEmail?` — or email ${contactEmail}`:\"\";const offlineReply=`I'm not fully wired up yet — my human needs to add the Relay URL in my settings. Meanwhile, the real ${agentName} is one email away${contactEmail?`: ${contactEmail}`:\".\"}`;const errorReply=`Hmm, I couldn't reach my brain just now. Try again in a moment${emailNudge}`;// Let the portfolio CTA open this same chat window.\nuseEffect(()=>{if(typeof window===\"undefined\"||isStatic)return;const openChat=()=>startTransition(()=>setOpen(true));window.addEventListener(\"ramish:open-ai-chat\",openChat);return()=>window.removeEventListener(\"ramish:open-ai-chat\",openChat);},[isStatic]);// Restore a previous conversation for this browser tab\nuseEffect(()=>{if(typeof window===\"undefined\")return;try{const saved=window.sessionStorage.getItem(STORAGE_KEY);if(saved){const parsed=JSON.parse(saved);if(Array.isArray(parsed))startTransition(()=>setMessages(parsed));}}catch{// ignore corrupted storage\n}},[]);// Persist the conversation\nuseEffect(()=>{if(typeof window===\"undefined\"||messages.length===0)return;try{window.sessionStorage.setItem(STORAGE_KEY,JSON.stringify(messages));}catch{// storage full or blocked — fine\n}},[messages]);// Keep the newest message in view\nuseEffect(()=>{const el=scrollRef.current;if(el)el.scrollTop=el.scrollHeight;},[messages,busy,open]);// Focus the input when the panel opens; close on Escape\nuseEffect(()=>{if(!open||typeof window===\"undefined\")return;inputRef.current?.focus();const onKey=e=>{if(e.key===\"Escape\")closeChat();};window.addEventListener(\"keydown\",onKey);return()=>window.removeEventListener(\"keydown\",onKey);},[open]);async function send(text){if(!conversationIdRef.current&&typeof window!==\"undefined\"){try{const key=STORAGE_KEY+\"-conversation\";conversationIdRef.current=window.sessionStorage.getItem(key)||crypto.randomUUID();window.sessionStorage.setItem(key,conversationIdRef.current);}catch{conversationIdRef.current=crypto.randomUUID();}}const trimmed=text.trim();if(!trimmed||busy)return;setDraft(\"\");const history=[...messages,{role:\"user\",content:trimmed}];if(!apiUrl){startTransition(()=>setMessages([...history,{role:\"assistant\",content:offlineReply}]));return;}startTransition(()=>{setMessages(history);setBusy(true);});let reply=\"\";const show=content=>setMessages([...history,{role:\"assistant\",content}]);try{const payload=[{role:\"assistant\",content:greeting},...history].map(m=>({role:m.role,content:m.content}));const res=await fetch(apiUrl,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify({messages:payload,conversationId:conversationIdRef.current,reviewNoticeSeen:true})});if(!res.ok||!res.body){let msg=errorReply;try{const err=await res.json();if(typeof err?.error===\"string\")msg=err.error;}catch{// non-JSON error body\n}startTransition(()=>{show(msg);setBusy(false);});return;}const reader=res.body.getReader();const decoder=new TextDecoder;let buffer=\"\";while(true){const{done,value}=await reader.read();if(done)break;buffer+=decoder.decode(value,{stream:true});const lines=buffer.split(\"\\n\");buffer=lines.pop()??\"\";for(const line of lines){if(!line.startsWith(\"data:\"))continue;const data=line.slice(5).trim();if(!data)continue;let evt;try{evt=JSON.parse(data);}catch{continue;}if(evt.type===\"content_block_delta\"&&evt.delta?.type===\"text_delta\"){reply+=evt.delta.text;show(reply);}}}startTransition(()=>{if(!reply.trim())show(errorReply);setBusy(false);});}catch{startTransition(()=>{show(reply.trim()?reply:errorReply);setBusy(false);});}}function onInputKey(e){if(e.key===\"Enter\"&&!e.shiftKey){e.preventDefault();send(draft);}}const panelVisible=isStatic?openOnCanvas:open;const conversation=[{role:\"assistant\",content:greeting},...messages];const showChips=suggestions.length>0&&!messages.some(message=>message.role===\"user\");const showFooter=Boolean(footerText||contactEmail);const textBase={flexShrink:0,fontSize:16,lineHeight:\"24px\",whiteSpace:\"pre-wrap\",wordBreak:\"break-word\",fontFamily:FONT_STACK};return /*#__PURE__*/_jsxs(\"div\",{className:\"rmsh-chat\",\"data-theme\":theme,style:{position:\"relative\",display:\"flex\",flexDirection:\"column\",alignItems:\"flex-end\",gap:12,width:\"fit-content\",height:\"fit-content\",fontFamily:FONT_STACK,...props.style,...themeStyle},children:[/*#__PURE__*/_jsx(\"style\",{children:`\n                @keyframes rmshChatIn {\n                    from { opacity: 0; transform: translateY(8px) scale(0.98); }\n                    to { opacity: 1; transform: translateY(0) scale(1); }\n                }\n                @keyframes rmshDot {\n                    0%, 60%, 100% { opacity: 0.25; transform: translateY(0); }\n                    30% { opacity: 1; transform: translateY(-4px); }\n                }\n                .rmsh-chat *, .rmsh-chat *::before, .rmsh-chat *::after { box-sizing: border-box; }\n                .rmsh-chat button:focus-visible, .rmsh-chat input:focus-visible, .rmsh-chat a:focus-visible { outline: 4px solid #888; outline-offset: 4px; }\n                .rmsh-chat input::placeholder { color: var(--rmsh-placeholder); opacity: 1; }\n                .rmsh-chat .rmsh-chip:hover:not(:disabled) { background: var(--rmsh-chip-hover) !important; }\n                .rmsh-chat .rmsh-launcher:hover { transform: scale(1.04); }\n                @media (prefers-reduced-motion: reduce) { .rmsh-chat * { animation: none !important; transition: none !important; } }\n            `}),panelVisible&&/*#__PURE__*/_jsxs(\"div\",{role:\"dialog\",\"aria-label\":`Chat with ${agentName} (AI)`,style:{display:\"flex\",flexDirection:\"column\",width:\"min(408px, calc(100vw - 48px))\",height:\"min(536px, calc(100dvh - 124px))\",background:colors.panel,backdropFilter:GLASS_BLUR,WebkitBackdropFilter:GLASS_BLUR,color:colors.text,border:colors.panelBorder,borderRadius:24,boxShadow:\"0px 24px 60px 0px rgba(0,0,0,0.45)\",overflow:\"hidden\",animation:isStatic?undefined:\"rmshChatIn 0.25s cubic-bezier(0.2, 0.8, 0.2, 1)\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:12,padding:\"16px\",flexShrink:0},children:[/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",flexShrink:0},children:[/*#__PURE__*/_jsx(\"img\",{src:avatarSrc,srcSet:avatar?.srcSet,alt:avatar?.alt||agentName,style:{width:40,height:40,borderRadius:\"50%\",objectFit:\"cover\",display:\"block\"}}),/*#__PURE__*/_jsx(\"span\",{style:{position:\"absolute\",right:0,bottom:0,width:16,height:16,borderRadius:\"50%\",background:colors.avatarBadge,color:colors.primary,display:\"grid\",placeItems:\"center\"},children:/*#__PURE__*/_jsx(Sparkles,{size:8})})]}),/*#__PURE__*/_jsxs(\"div\",{style:{flex:1,minWidth:0},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:8,fontSize:16,lineHeight:\"20px\",fontWeight:600},children:[agentName,/*#__PURE__*/_jsx(\"span\",{style:{fontSize:12,lineHeight:\"16px\",fontWeight:700,letterSpacing:0,padding:\"0 4px\",borderRadius:100,border:colors.badgeBorder,color:colors.softText},children:\"AI\"})]}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:12,lineHeight:\"20px\",color:colors.softText,overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\"},children:subtitle})]}),/*#__PURE__*/_jsx(\"button\",{\"aria-label\":\"Close chat\",onClick:closeChat,style:{width:32,height:32,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",background:\"transparent\",border:\"none\",borderRadius:8,color:colors.softText,cursor:\"pointer\"},children:/*#__PURE__*/_jsx(\"svg\",{width:\"16\",height:\"16\",viewBox:\"0 0 16 16\",fill:\"none\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M3 3l10 10M13 3L3 13\",stroke:\"currentColor\",strokeWidth:\"1.6\",strokeLinecap:\"round\"})})})]}),/*#__PURE__*/_jsxs(\"div\",{ref:scrollRef,role:\"log\",\"aria-label\":\"Conversation\",\"aria-live\":\"polite\",style:{flex:1,minHeight:0,overflowY:\"auto\",overscrollBehavior:\"contain\",padding:\"16px 16px 24px\",display:\"flex\",flexDirection:\"column\",gap:32},children:[conversation.map((m,i)=>m.role===\"assistant\"?/*#__PURE__*/_jsx(\"div\",{style:{...textBase,alignSelf:\"flex-start\",maxWidth:\"100%\",color:colors.text},children:m.content},i):/*#__PURE__*/_jsx(\"div\",{style:{...textBase,alignSelf:\"flex-end\",maxWidth:\"82%\",background:colors.visitor,color:colors.primary,padding:\"12px 16px\",borderRadius:\"20px 20px 4px 20px\"},children:m.content},i)),busy&&conversation[conversation.length-1]?.role!==\"assistant\"&&/*#__PURE__*/_jsx(\"div\",{style:{alignSelf:\"flex-start\",display:\"flex\",gap:4,padding:\"0\"},\"aria-label\":\"Thinking\",children:[0,1,2].map(d=>/*#__PURE__*/_jsx(\"span\",{style:{width:4,height:4,borderRadius:\"50%\",background:colors.text,animation:`rmshDot 1.1s ${d*.18}s infinite`}},d))}),showChips&&/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexWrap:\"wrap\",gap:8,marginTop:0},children:suggestions.map((s,i)=>/*#__PURE__*/_jsx(\"button\",{className:\"rmsh-chip\",onClick:()=>send(s),disabled:busy,style:{padding:\"4px 8px\",minHeight:32,background:\"transparent\",color:colors.text,border:colors.controlBorder,borderRadius:100,cursor:\"pointer\",fontFamily:FONT_STACK,fontSize:16,lineHeight:\"24px\"},children:s},i))})]}),/*#__PURE__*/_jsxs(\"div\",{style:{flexShrink:0,padding:12,display:\"flex\",flexDirection:\"column\",gap:12},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",gap:8,alignItems:\"center\"},children:[/*#__PURE__*/_jsx(\"input\",{ref:inputRef,value:draft,onChange:e=>setDraft(e.target.value),onKeyDown:onInputKey,placeholder:placeholder,maxLength:1e3,\"aria-label\":\"Your message\",style:{flex:1,height:44,minWidth:0,padding:\"0 16px\",background:colors.input,color:colors.text,border:colors.controlBorder,borderRadius:12,outline:\"none\",fontSize:16,lineHeight:\"24px\",fontFamily:FONT_STACK}}),/*#__PURE__*/_jsx(\"button\",{\"aria-label\":\"Send message\",onClick:()=>send(draft),disabled:busy||!draft.trim(),style:{width:44,height:44,flexShrink:0,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",background:colors.sendBackground,color:colors.sendForeground,border:\"none\",borderRadius:12,cursor:busy||!draft.trim()?\"default\":\"pointer\",opacity:busy?.6:1,transition:\"opacity 0.15s ease\"},children:/*#__PURE__*/_jsx(\"svg\",{width:\"20\",height:\"20\",viewBox:\"0 0 18 18\",fill:\"none\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M9 14.5v-11m0 0L4.5 8M9 3.5L13.5 8\",stroke:\"currentColor\",strokeWidth:\"1.8\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})})})]}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:12,lineHeight:\"16px\",color:colors.softText,textAlign:\"left\"},children:\"Chats may be reviewed to improve replies. Please avoid private details.\"}),showFooter&&/*#__PURE__*/_jsxs(\"div\",{style:{fontSize:12,lineHeight:\"16px\",textAlign:\"left\",color:colors.footerText},children:[footerText,footerText&&contactEmail?\" \":\"\",contactEmail&&/*#__PURE__*/_jsx(\"a\",{href:`mailto:${contactEmail}`,style:{color:\"inherit\",textDecoration:\"none\"},children:contactEmail})]})]})]}),/*#__PURE__*/_jsx(\"button\",{ref:launcherRef,className:\"rmsh-launcher\",\"aria-label\":panelVisible?\"Close chat\":`Chat with ${agentName} (AI)`,\"aria-expanded\":panelVisible,onClick:()=>startTransition(()=>setOpen(!open)),style:{width:64,height:64,borderRadius:\"50%\",background:colors.launcher,color:colors.primary,backdropFilter:GLASS_BLUR,WebkitBackdropFilter:GLASS_BLUR,border:colors.launcherBorder,padding:0,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",overflow:\"hidden\",cursor:\"pointer\",boxShadow:\"0px 12px 32px 0px rgba(0,0,0,0.4)\",transition:\"transform 0.2s cubic-bezier(0.2, 0.8, 0.2, 1)\"},children:panelVisible?/*#__PURE__*/_jsx(\"svg\",{width:\"24\",height:\"24\",viewBox:\"0 0 24 24\",fill:\"none\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M5 5l14 14M19 5L5 19\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\"})}):/*#__PURE__*/_jsx(Sparkles,{size:24})})]});}addPropertyControls(AIChatWidget,{theme:{type:ControlType.Enum,title:\"Theme\",options:[\"dark\",\"light\"],optionTitles:[\"Dark\",\"Light\"],defaultValue:\"dark\",displaySegmentedControl:true},apiUrl:{type:ControlType.String,title:\"Relay URL\",defaultValue:\"\",placeholder:\"https://….workers.dev\"},agentName:{type:ControlType.String,title:\"Name\",defaultValue:\"Ramish\"},subtitle:{type:ControlType.String,title:\"Subtitle\",defaultValue:\"Ask me anything about my work\"},avatar:{type:ControlType.ResponsiveImage,title:\"Avatar\"},greeting:{type:ControlType.String,title:\"Greeting\",displayTextArea:true,defaultValue:\"Hey! I'm Ramish's AI twin. Ask me about my work, my process, or whether I'm the right fit for your project.\"},suggestions:{type:ControlType.Array,title:\"Suggestions\",control:{type:ControlType.String,defaultValue:\"What do you do?\"},defaultValue:[\"What do you do?\",\"Are you available for hire?\",\"How do you work?\"],maxCount:4},copy:{type:ControlType.Object,title:\"Copy\",icon:\"object\",controls:{placeholder:{type:ControlType.String,title:\"Placeholder\",defaultValue:\"Ask me anything…\"},footerText:{type:ControlType.String,title:\"Footer\",defaultValue:\"AI answers can be imperfect \\xb7 the real me:\"},contactEmail:{type:ControlType.String,title:\"Email\",defaultValue:\"ramish@ramish.design\"}},defaultValue:{placeholder:\"Ask me anything…\",footerText:\"AI answers can be imperfect \\xb7 the real me:\",contactEmail:\"ramish@ramish.design\"}},openOnCanvas:{type:ControlType.Boolean,title:\"Open on Canvas\",defaultValue:false}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"AIChatWidget\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"64\",\"framerSupportedLayoutWidth\":\"auto\",\"framerIntrinsicWidth\":\"64\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./AIChatWidget.map","// Generated by Framer (f03650d)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,ComponentViewportProvider,Container,cx,forwardLoader,GeneratedComponentContext,getFonts,PropertyOverrides,RenderTarget,useCustomCursors,useHydratedBreakpointVariants,useIsOnFramerCanvas,useLocaleInfo,withCSS}from\"framer\";import{LayoutGroup,motion}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import NavigationFooter from\"#framer/local/canvasComponent/fmPhz2JYS/fmPhz2JYS.js\";import AIChatWidget from\"#framer/local/codeFile/zdVfu87/AIChatWidget.js\";const NavigationFooterFonts=getFonts(NavigationFooter);const AIChatWidgetFonts=getFonts(AIChatWidget);const breakpoints={c9uCf5EHO:\"(min-width: 810px) and (max-width: 1199.98px)\",jq_yKEEHI:\"(min-width: 1200px)\",WnaNPjsMC:\"(max-width: 809.98px)\"};const isBrowser=()=>typeof document!==\"undefined\";const serializationHash=\"framer-gLprI\";const variantClassNames={c9uCf5EHO:\"framer-v-xlc3jx\",jq_yKEEHI:\"framer-v-hrpc6r\",WnaNPjsMC:\"framer-v-1suwqng\"};const matchVariant=(...args)=>{for(const arg of args){if(arg&&typeof arg===\"string\")return arg;}return undefined;};const breakpointRules={};const breakpointKeys=Object.keys(breakpointRules);const rules=[\".framer-gLprI.framer-1unfed4, .framer-gLprI .framer-1unfed4 { display: block; }\",\".framer-gLprI.framer-hrpc6r { align-content: center; align-items: center; background-color: var(--token-fced369f-125f-4711-bdec-d563f2dc0435, #060606); 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-gLprI .framer-11ebs4 { background: transparent; flex-grow: 1; height: 0px; margin: 0px; margin-bottom: -0px; position: relative; width: 0px; }\",\".framer-gLprI .framer-1if21dr-container { flex: none; height: auto; order: 1001; position: relative; width: 100%; }\",\".framer-gLprI .framer-qk3uf9-container { bottom: calc(calc(100% - min(var(--framer-viewport-height, 100%), 100%)) + 24px); flex: none; height: auto; order: 1002; position: var(--framer-canvas-fixed-position, fixed); right: 24px; width: auto; z-index: 10; }\",'[data-layout-template=\"true\"] > #overlay { margin-bottom: -0px; }'];const mediaQueries={c9uCf5EHO:\"(min-width: 810px) and (max-width: 1199.98px)\",jq_yKEEHI:\"(min-width: 1200px)\",WnaNPjsMC:\"(max-width: 809.98px)\"};const humanReadableVariantMap={Desktop:\"jq_yKEEHI\",Phone:\"WnaNPjsMC\",Tablet:\"c9uCf5EHO\"};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,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"jq_yKEEHI\"};};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,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:\"jq_yKEEHI\",variantClassNames},children:/*#__PURE__*/_jsxs(LayoutGroup,{id:layoutId??defaultLayoutId,children:[/*#__PURE__*/_jsx(HTMLStyle,{value:\":root body { background: var(--token-fced369f-125f-4711-bdec-d563f2dc0435, rgb(6, 6, 6)); }\"}),/*#__PURE__*/_jsxs(motion.div,{...restProps,className:cx(scopingClassNames,\"framer-hrpc6r\",className),\"data-layout-template\":true,ref:refBinding,style:{...style},children:[children,/*#__PURE__*/_jsx(\"div\",{className:\"framer-11ebs4\"}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:65,width:\"100vw\",y:1e3,children:/*#__PURE__*/_jsx(Container,{className:\"framer-1if21dr-container\",nodeId:\"t_ry2TIJi\",scopeId:\"MaVNXnngr\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{c9uCf5EHO:{variant:matchVariant(\"YUCYBE75e\")},WnaNPjsMC:{variant:matchVariant(\"gLaBxC3_l\")}},children:/*#__PURE__*/_jsx(NavigationFooter,{height:\"100%\",id:\"t_ry2TIJi\",layoutId:\"t_ry2TIJi\",style:{width:\"100%\"},variant:matchVariant(\"rhZ9NuCH_\"),width:\"100%\"})})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-qk3uf9-container\",\"data-code-component-plugin-id\":\"api\",\"data-framer-name\":\"AI Chat Widget\",isAuthoredByUser:true,layoutScroll:true,name:\"AI Chat Widget\",nodeId:\"yF339jsko\",scopeId:\"MaVNXnngr\",children:/*#__PURE__*/_jsx(AIChatWidget,{agentName:\"Ramish\",apiUrl:\"https://ramish-ai-relay.ramish-ai-relay.workers.dev\",copy:{contactEmail:\"ramish@ramish.design\",footerText:\"AI answers can be imperfect \\xb7 the real me:\",placeholder:\"Ask me anything…\"},greeting:\"Hey! I'm Ramish's AI twin. Ask me about my work, my process, or whether I'm the right fit for your project.\",height:\"100%\",id:\"yF339jsko\",layoutId:\"yF339jsko\",name:\"AI Chat Widget\",openOnCanvas:false,subtitle:\"Ask me anything about my work\",suggestions:[\"What do you do?\",\"Are you available for hire?\",\"How do you work?\"],width:\"100%\"})})})]}),/*#__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=breakpointRules[key];return breakpointRules[key].map(rule=>`${selector} {${rule}}`);})];};/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 1000\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"c9uCf5EHO\":{\"layout\":[\"fixed\",\"fixed\"]},\"WnaNPjsMC\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n * @framerHitTargets {\"jq_yKEEHI\":[\".framer-1if21dr-container\",\".framer-qk3uf9-container\"],\"c9uCf5EHO\":[\".framer-1if21dr-container\",\".framer-qk3uf9-container\"],\"WnaNPjsMC\":[\".framer-1if21dr-container\",\".framer-qk3uf9-container\"]}\n * @framerBreakpoints {\"jq_yKEEHI\":{\"min\":1200,\"canvasClassName\":\"framer-hrpc6r-override\",\"minHeight\":1000,\"name\":\"Desktop\",\"width\":1200,\"rootFontSize\":16},\"c9uCf5EHO\":{\"min\":810,\"max\":1199,\"canvasClassName\":\"framer-xlc3jx-override\",\"minHeight\":1000,\"viewportHeight\":800,\"name\":\"Tablet\",\"width\":810,\"rootFontSize\":16},\"WnaNPjsMC\":{\"max\":809,\"canvasClassName\":\"framer-1suwqng-override\",\"minHeight\":1000,\"viewportHeight\":800,\"name\":\"Phone\",\"width\":390,\"rootFontSize\":16}}\n * @framerDefaultVariant jq_yKEEHI\n * @framerLayoutTemplate true\n */const FramerMaVNXnngr=withCSS(Component,css,\"framer-gLprI\");export default FramerMaVNXnngr;FramerMaVNXnngr.displayName=\"Template\";FramerMaVNXnngr.defaultProps={height:1e3,width:1200};addFonts(FramerMaVNXnngr,[{explicitInter:true,fonts:[]},...NavigationFooterFonts,...AIChatWidgetFonts],{supportsExplicitInterCodegen:true});FramerMaVNXnngr.loader={load:(props,context)=>{const locale=context.locale;return Promise.allSettled([forwardLoader(NavigationFooter,{},context)]);}};\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerMaVNXnngr\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerBreakpoints\":\"{\\\"jq_yKEEHI\\\":{\\\"min\\\":1200,\\\"canvasClassName\\\":\\\"framer-hrpc6r-override\\\",\\\"minHeight\\\":1000,\\\"name\\\":\\\"Desktop\\\",\\\"width\\\":1200,\\\"rootFontSize\\\":16},\\\"c9uCf5EHO\\\":{\\\"min\\\":810,\\\"max\\\":1199,\\\"canvasClassName\\\":\\\"framer-xlc3jx-override\\\",\\\"minHeight\\\":1000,\\\"viewportHeight\\\":800,\\\"name\\\":\\\"Tablet\\\",\\\"width\\\":810,\\\"rootFontSize\\\":16},\\\"WnaNPjsMC\\\":{\\\"max\\\":809,\\\"canvasClassName\\\":\\\"framer-1suwqng-override\\\",\\\"minHeight\\\":1000,\\\"viewportHeight\\\":800,\\\"name\\\":\\\"Phone\\\",\\\"width\\\":390,\\\"rootFontSize\\\":16}}\",\"framerComponentViewportWidth\":\"true\",\"framerDefaultVariant\":\"jq_yKEEHI\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicHeight\":\"1000\",\"framerDisplayContentsDiv\":\"false\",\"framerColorSyntax\":\"true\",\"framerHitTargets\":\"{\\\"jq_yKEEHI\\\":[\\\".framer-1if21dr-container\\\",\\\".framer-qk3uf9-container\\\"],\\\"c9uCf5EHO\\\":[\\\".framer-1if21dr-container\\\",\\\".framer-qk3uf9-container\\\"],\\\"WnaNPjsMC\\\":[\\\".framer-1if21dr-container\\\",\\\".framer-qk3uf9-container\\\"]}\",\"framerLayoutTemplate\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerIntrinsicWidth\":\"1200\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"c9uCf5EHO\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"WnaNPjsMC\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (6783177)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,ComponentViewportProvider,Container,cx,forwardLoader,GeneratedComponentContext,getFonts,PropertyOverrides,RenderTarget,runTasksWithYield,useCustomCursors,useHydratedBreakpointVariants,useIsOnFramerCanvas,useLocaleInfo,withCSS}from\"framer\";import{LayoutGroup,motion}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import NavigationFooter from\"#framer/local/canvasComponent/fmPhz2JYS/fmPhz2JYS.js\";import AIChatWidget from\"#framer/local/codeFile/zdVfu87/AIChatWidget.js\";const NavigationFooterFonts=getFonts(NavigationFooter);const AIChatWidgetFonts=getFonts(AIChatWidget);const breakpoints={FXgUk4cv7:\"(min-width: 810px) and (max-width: 1199.98px)\",RtMM9lW6h:\"(max-width: 809.98px)\",TVR1bnmfI:\"(min-width: 1200px)\"};const isBrowser=()=>typeof document!==\"undefined\";const serializationHash=\"framer-zBQMs\";const variantClassNames={FXgUk4cv7:\"framer-v-1kpuj0o\",RtMM9lW6h:\"framer-v-z2jtvd\",TVR1bnmfI:\"framer-v-ech9v1\"};const matchVariant=(...args)=>{for(const arg of args){if(arg&&typeof arg===\"string\")return arg;}return undefined;};const breakpointRules={};const breakpointKeys=Object.keys(breakpointRules);const rules=[\".framer-zBQMs.framer-zeh2q4, .framer-zBQMs .framer-zeh2q4 { display: block; }\",\".framer-zBQMs.framer-ech9v1 { align-content: center; align-items: center; background-color: var(--token-6bfc9c9f-b3bc-4bd5-96e2-0f7185bcbd6f, #ffffff); 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-zBQMs .framer-1qxlvma { background: transparent; flex-grow: 1; height: 0px; margin: 0px; margin-bottom: -0px; position: relative; width: 0px; }\",\".framer-zBQMs .framer-j9jkvw-container { flex: none; height: auto; order: 1001; position: relative; width: 100%; }\",\".framer-zBQMs .framer-1hepyk8-container { bottom: calc(calc(100% - min(var(--framer-viewport-height, 100%), 100%)) + 24px); flex: none; height: auto; order: 1002; position: var(--framer-canvas-fixed-position, fixed); right: 24px; width: auto; z-index: 10; }\",'[data-layout-template=\"true\"] > #overlay { margin-bottom: -0px; }'];const mediaQueries={FXgUk4cv7:\"(min-width: 810px) and (max-width: 1199.98px)\",RtMM9lW6h:\"(max-width: 809.98px)\",TVR1bnmfI:\"(min-width: 1200px)\"};const humanReadableVariantMap={Desktop:\"TVR1bnmfI\",Phone:\"RtMM9lW6h\",Tablet:\"FXgUk4cv7\"};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,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"TVR1bnmfI\"};};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,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:\"TVR1bnmfI\",variantClassNames},children:/*#__PURE__*/_jsxs(LayoutGroup,{id:layoutId??defaultLayoutId,children:[/*#__PURE__*/_jsx(HTMLStyle,{value:\":root body { background: var(--token-6bfc9c9f-b3bc-4bd5-96e2-0f7185bcbd6f, rgb(255, 255, 255)); }\"}),/*#__PURE__*/_jsxs(motion.div,{...restProps,className:cx(scopingClassNames,\"framer-ech9v1\",className),\"data-layout-template\":true,ref:refBinding,style:{...style},children:[children,/*#__PURE__*/_jsx(\"div\",{className:\"framer-1qxlvma\"}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:69,width:\"100vw\",y:1e3,children:/*#__PURE__*/_jsx(Container,{className:\"framer-j9jkvw-container\",nodeId:\"tULAGWkST\",scopeId:\"mKYl2m0AF\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{FXgUk4cv7:{variant:matchVariant(\"uk2iHf6K8\")},RtMM9lW6h:{variant:matchVariant(\"aSqPUqWmb\")}},children:/*#__PURE__*/_jsx(NavigationFooter,{height:\"100%\",id:\"tULAGWkST\",layoutId:\"tULAGWkST\",style:{width:\"100%\"},variant:matchVariant(\"NqgjWV5MK\"),width:\"100%\"})})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-1hepyk8-container\",\"data-code-component-plugin-id\":\"api\",\"data-framer-name\":\"AI Chat Widget\",isAuthoredByUser:true,layoutScroll:true,name:\"AI Chat Widget\",nodeId:\"qsnJZQSo7\",scopeId:\"mKYl2m0AF\",children:/*#__PURE__*/_jsx(AIChatWidget,{agentName:\"Ramish\",apiUrl:\"https://ramish-ai-relay.ramish-ai-relay.workers.dev\",copy:{contactEmail:\"ramish@ramish.design\",footerText:\"AI answers can be imperfect \\xb7 the real me:\",placeholder:\"Ask me anything…\"},greeting:\"Hey! I'm Ramish's AI twin. Ask me about my work, my process, or whether I'm the right fit for your project.\",height:\"100%\",id:\"qsnJZQSo7\",layoutId:\"qsnJZQSo7\",name:\"AI Chat Widget\",openOnCanvas:false,subtitle:\"Ask me anything about my work\",suggestions:[\"What do you do?\",\"Are you available for hire?\",\"How do you work?\"],theme:\"light\",width:\"100%\"})})})]}),/*#__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=breakpointRules[key];return breakpointRules[key].map(rule=>`${selector} {${rule}}`);})];};/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 1000\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"FXgUk4cv7\":{\"layout\":[\"fixed\",\"fixed\"]},\"RtMM9lW6h\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n * @framerHitTargets {\"TVR1bnmfI\":[\".framer-j9jkvw-container\",\".framer-1hepyk8-container\"],\"FXgUk4cv7\":[\".framer-j9jkvw-container\",\".framer-1hepyk8-container\"],\"RtMM9lW6h\":[\".framer-j9jkvw-container\",\".framer-1hepyk8-container\"]}\n * @framerBreakpoints {\"TVR1bnmfI\":{\"min\":1200,\"canvasClassName\":\"framer-ech9v1-override\",\"minHeight\":1000,\"name\":\"Desktop\",\"width\":1200,\"rootFontSize\":16},\"FXgUk4cv7\":{\"min\":810,\"max\":1199,\"canvasClassName\":\"framer-1kpuj0o-override\",\"minHeight\":1000,\"viewportHeight\":800,\"name\":\"Tablet\",\"width\":810,\"rootFontSize\":16},\"RtMM9lW6h\":{\"max\":809,\"canvasClassName\":\"framer-z2jtvd-override\",\"minHeight\":1000,\"viewportHeight\":800,\"name\":\"Phone\",\"width\":390,\"rootFontSize\":16}}\n * @framerDefaultVariant TVR1bnmfI\n * @framerLayoutTemplate true\n */const FramermKYl2m0AF=withCSS(Component,css,\"framer-zBQMs\");export default FramermKYl2m0AF;FramermKYl2m0AF.displayName=\"Template 2\";FramermKYl2m0AF.defaultProps={height:1e3,width:1200};addFonts(FramermKYl2m0AF,[{explicitInter:true,fonts:[]},...NavigationFooterFonts,...AIChatWidgetFonts],{supportsExplicitInterCodegen:true});FramermKYl2m0AF.loader={load:(props,context)=>{return runTasksWithYield([()=>forwardLoader(NavigationFooter,{},context)],context);}};\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramermKYl2m0AF\",\"slots\":[],\"annotations\":{\"framerLayoutTemplate\":\"true\",\"framerIntrinsicWidth\":\"1200\",\"framerAutoSizeImages\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"FXgUk4cv7\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"RtMM9lW6h\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerImmutableVariables\":\"true\",\"framerContractVersion\":\"1\",\"framerDisplayContentsDiv\":\"false\",\"framerColorSyntax\":\"true\",\"framerBreakpoints\":\"{\\\"TVR1bnmfI\\\":{\\\"min\\\":1200,\\\"canvasClassName\\\":\\\"framer-ech9v1-override\\\",\\\"minHeight\\\":1000,\\\"name\\\":\\\"Desktop\\\",\\\"width\\\":1200,\\\"rootFontSize\\\":16},\\\"FXgUk4cv7\\\":{\\\"min\\\":810,\\\"max\\\":1199,\\\"canvasClassName\\\":\\\"framer-1kpuj0o-override\\\",\\\"minHeight\\\":1000,\\\"viewportHeight\\\":800,\\\"name\\\":\\\"Tablet\\\",\\\"width\\\":810,\\\"rootFontSize\\\":16},\\\"RtMM9lW6h\\\":{\\\"max\\\":809,\\\"canvasClassName\\\":\\\"framer-z2jtvd-override\\\",\\\"minHeight\\\":1000,\\\"viewportHeight\\\":800,\\\"name\\\":\\\"Phone\\\",\\\"width\\\":390,\\\"rootFontSize\\\":16}}\",\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicHeight\":\"1000\",\"framerDefaultVariant\":\"TVR1bnmfI\",\"framerHitTargets\":\"{\\\"TVR1bnmfI\\\":[\\\".framer-j9jkvw-container\\\",\\\".framer-1hepyk8-container\\\"],\\\"FXgUk4cv7\\\":[\\\".framer-j9jkvw-container\\\",\\\".framer-1hepyk8-container\\\"],\\\"RtMM9lW6h\\\":[\\\".framer-j9jkvw-container\\\",\\\".framer-1hepyk8-container\\\"]}\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","\r\n\t\timport * as Framer from \"framer\";\r\nimport * as React from \"react\";\r\nimport { createPortal } from \"react-dom\";\r\nimport * as ReactDOM from \"react-dom/client\";\r\nimport Template1 from \"https://framerusercontent.com/modules/Rr9jhUEHZAyiMni3rfsZ/BuQbYMjBBM332a0jU2QW/MaVNXnngr.js\";\r\nimport Template2 from \"https://framerusercontent.com/modules/XZSajX83gIP6rRwqVqkz/h3epT4EJklEr6OK7ZtUj/mKYl2m0AF.js\";\r\n\r\n\t\tconst routes = {augiA20Il: {elements: {WkNBupxXZ: \"contact\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/eEinMCXXq42xvQxJIjC2/MV5CE9BEiVrPu0LuJs38/augiA20Il.js\")), path: \"/\"}, vl40CfGbr: {elements: {BuErxcTA_: \"th1-approach\", HsXlZj834: \"th1-overview\", MsUT7w6fL: \"th1-outcomes\", UmxYwDWKX: \"th1-solution\", WdCLGlgkf: \"th1-problem\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/pgao6rY4CJKvW32wqVhJ/76443SDB4YAb8GcVsOeu/vl40CfGbr.js\")), path: \"/work/th1-ai-assistant\"}}\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 serverDatabaseClient = undefined\r\n\t\tconst framerSiteId = \"ef3f0778c51480c8a8b918e65fc219499f750453e24aad92de30f84647e6eb57\"\r\n\t\tfunction Template({webPageId, children, style, ...rest}) {const templateProps = {}\r\nconst props = templateProps[webPageId] ?? {}\r\nswitch (webPageId) {case \"augiA20Il\":\r\nreturn React.createElement(Template1, {...props, key: \"Template1\", style}, children(true));\r\ncase \"vl40CfGbr\":\r\nreturn React.createElement(Template2, {...props, key: \"Template2\", style}, children(true));\r\ndefault: { return children(false) }}}\r\nexport function getLayoutTemplateBreakpoints(routeId) {switch (routeId) {case \"augiA20Il\":\r\nreturn [{hash: \"hrpc6r\", mediaQuery: \"(min-width: 1200px)\"}, {hash: \"xlc3jx\", mediaQuery: \"(min-width: 810px) and (max-width: 1199.98px)\"}, {hash: \"1suwqng\", mediaQuery: \"(max-width: 809.98px)\"}]\r\ncase \"vl40CfGbr\":\r\nreturn [{hash: \"ech9v1\", mediaQuery: \"(min-width: 1200px)\"}, {hash: \"1kpuj0o\", mediaQuery: \"(min-width: 810px) and (max-width: 1199.98px)\"}, {hash: \"z2jtvd\", mediaQuery: \"(max-width: 809.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\t\r\n\t\t\r\n\r\n\t\texport async function getPageRoot({\r\n\t\t\trouteId,\r\n\t\t\tpathVariables,\r\n\t\t\tcanonicalPathVariables,\r\n\t\t\tlocaleId,\r\n\t\t\tcollectionItemId,\r\n\t\t\tcontentLocaleId,\r\n\t\t\tshouldResolveInitialRouteContentState = false,\r\n\t\t}) {\r\n\t\t\tconst rootPreload = routes[routeId].page.preload()\r\n\r\n\t\t\t\r\n\r\n\t\t\tFramer.setLibraryFeatures({checkServerSideRouter: true, disableCustomCode: false, disableHoverOnMobile: false, editorBarDisableFrameAncestorsSecurity: false, motionDivToDiv: false, onPageLocalizationSupport: true, onPageMoveTool: true, onPageRichTextBlockSelection: true, scrollRestoration: true, synchronousNavigationOnDesktop: false, yieldOnTap: false})\r\n\t\t\tFramer.setCurrentSiteId(framerSiteId)\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\tcanonicalPathVariables,\r\n\t\t\t\t\troutes,\r\n\t\t\t\t\tcollectionUtils,\r\n\t\t\t\t\tserverDatabaseClient,\r\n\t\t\t\t\tframerSiteId,\r\n\t\t\t\t\tnotFoundPage: Framer.lazy(() => import(\"__framer-not-found-page\")),\r\n\t\t\t\t\tisReducedMotion: undefined,\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://ramish.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: true,\r\n\t\t\t\t\tLayoutTemplate: Template,\r\n\t\t\t\t\tloadSnippetsModule: new Framer.LazyValue(() => import(\"https://framerusercontent.com/modules/Q74MFx2K23ViC3DeZN0e/xAAkGd02j0ebN0yhJdxb/snippets.js\")),\r\n\t\t\t\t\tinitialCollectionItemId: collectionItemId,\r\n\t\t\t\t\tinitialContentLocaleIdOverride: contentLocaleId,\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: content\r\n\t\t\t})\r\n\r\n\t\t\t\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: {opacity: 0, rotate: 0, rotate3d: false, rotateX: 0, rotateY: 0, scale: 1, transition: {bounce: 0.2, damping: 40, delay: 0, duration: 0.2, durationBasedSpring: false, ease: [0.27, 0, 0.51, 1], mass: 1, stiffness: 300, type: \"spring\"}, x: \"0px\", y: \"0px\"}}, routes: {}}\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\t\r\n\r\n\t\tif (isBrowser) {\r\n\t\t\t// Note: HTTPArchive also uses this function to detect Framer sites; see https://github.com/HTTPArchive/wappalyzer/blob/371a17583f74fd9171b9077f59a5619b24062891/src/technologies/f.json#L1722-L1748.\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\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, contentLocaleId, pathVariables, canonicalPathVariables, 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\tcontentLocaleId = routeData.contentLocaleId\r\n\t\t\t\t\tpathVariables = routeData.pathVariables\r\n\t\t\t\t\tcanonicalPathVariables = routeData.canonicalPathVariables\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 serverRoute = 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\tcontentLocaleId,\r\n\t\t\t\t\tpathVariables,\r\n\t\t\t\t\tcanonicalPathVariables,\r\n\t\t\t\t\tcollectionItemId: shouldHydrate ? routeData?.collectionItemId : undefined,\r\n\t\t\t\t\tshouldResolveInitialRouteContentState: !shouldHydrate,\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\t\r\n\t\tlet collectionItemId = routeData?.collectionItemId ?? null\r\n\t\tif (collectionItemId === null && route?.collectionId && collectionUtils) {\r\n\t\t\tconst utils = await collectionUtils[route.collectionId]?.()\r\n\t\t\tconst [slug] = Object.values(pathVariables)\r\n\t\t\tif (utils && typeof slug === \"string\") {\r\n\t\t\t\tcollectionItemId = (await utils.getRecordIdBySlug(slug, framerLocale || undefined)) ?? null\r\n\t\t\t}\r\n\t\t}\r\n\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,\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\tFramer.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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"}