{"version":3,"file":"script_main.D-2v3IPW.mjs","names":["css","addPropertyOverrides","enabledGestures","cycleOrder","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","Variants","React.Fragment","humanReadableVariantMap","getProps","createLayoutDependency","useRef","React.useId","sharedStyle.className","className","RichText","sharedStyle.css","sharedStyle.fonts","addPropertyOverrides","cycleOrder","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","Variants","React.Fragment","humanReadableVariantMap","getProps","createLayoutDependency","useRef","React.useId","className","addPropertyOverrides","MenuIcon","enabledGestures","cycleOrder","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","Variants","React.Fragment","humanReadableVariantMap","getProps","createLayoutDependency","useRef","React.useId","className","serializationHash","variantClassNames","React.useContext","React.useMemo","React.Fragment","getProps","useRef","React.useId","sharedStyle.className","className","RichText","sharedStyle.css","sharedStyle.fonts","NavNavLink","SecondaryButton","useRef","React.useId","className","MenuButton","React.createElement","Template1","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/gBHYrQYsFMBleL4rnv3t/aztrOD6kArCNQax2llf7/BqZNshx9b.js","https:/framerusercontent.com/modules/q7hYarRFSKSI50sTKsF7/6bnmqpEcZVr5dFjvCWTw/XJF7PW3wp.js","https:/framerusercontent.com/modules/1XZEBlDCE3onjywDpewQ/fXJAyzoG9eqSlwQH3uzG/MmHwaI6bc.js","https:/framerusercontent.com/modules/ddBuLZYWJ6Hrj0x2UkJK/6uBrJDTtHgiN9r2SR8Cm/Lh3Jwp5NL.js","https:/framerusercontent.com/modules/xFBzCrG5yqt0wvDa8LPt/IEUbJgZAs8IxbbZRnYFx/qMV5jssFV.js","https:/framerusercontent.com/modules/pOxYeNwCtvRC9PDZBifE/A9QFVguKfVmZH9twolfC/Logo_3.js","https:/framerusercontent.com/modules/721Obl9XbJzCtXmUR9IM/uPOCBOGaHW3zcFOD8dLh/pd3OPEPIO.js","framer:toplevel/main"],"sourcesContent":["// Generated by Framer (9045c1a)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"Inter\",\"Inter-Bold\",\"Inter-BoldItalic\",\"Inter-Italic\"]);export const fonts=[{explicitInter:true,fonts:[{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/vQyevYAyHtARFwPqUzQGpnDs.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/DpPBYI0sL4fYLgAkX8KXOPVt7c.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/4RAEQdEOrcnDkhHiiCbJOw92Lk.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/1K3W8DizY3v4emK8Mb08YHxTbs.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/tUSCtfYVM1I1IchuyCwz9gDdQ.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/VgYFWiwsAC5OYxAycRXXvhze58.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/DXD0Q7LSl7HEvDzucnyLnGBHM.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/GIryZETIX4IFypco5pYZONKhJIo.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/H89BbHkbHDzlxZzxi8uPzTsp90.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/u6gJwDuwB143kpNK1T1MDKDWkMc.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/43sJ6MfOPh1LCJt46OvyDuSbA6o.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/wccHG0r4gBDAIRhfHiOlq6oEkqw.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/WZ367JPwf9bRW6LdTHN8rXgSjw.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/QxmhnWTzLtyjIiZcfaLIJ8EFBXU.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/2A4Xx7CngadFGlVV4xrO06OBHY.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/CfMzU8w2e7tHgF4T4rATMPuWosA.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/867QObYax8ANsfX4TGEVU9YiCM.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Oyn2ZbENFdnW7mt2Lzjk1h9Zb9k.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/cdAe8hgZ1cMyLu9g005pAW3xMo.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/DOfvtmE1UplCq161m6Hj8CSQYg.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/vFzuJY0c65av44uhEKB6vyjFMg.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/tKtBcDnBMevsEEJKdNGhhkLzYo.woff2\",weight:\"400\"}]}];export const css=['.framer-w6ZLN .framer-styles-preset-1af6am0:not(.rich-text-wrapper), .framer-w6ZLN .framer-styles-preset-1af6am0.rich-text-wrapper p { --framer-font-family: \"Inter\", sans-serif; --framer-font-family-bold: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 15px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 400; --framer-letter-spacing: -0.02em; --framer-line-height: 1.5em; --framer-paragraph-spacing: 20px; --framer-text-alignment: center; --framer-text-color: var(--token-42cff841-0b54-4377-bc4a-66e7d7690432, rgba(255, 255, 255, 0.6)); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }'];export const className=\"framer-w6ZLN\";\nexport const __FramerMetadata__ = {\"exports\":{\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (890879b)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,getFontsFromSharedStyle,Link,RichText,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import*as sharedStyle from\"https://framerusercontent.com/modules/gBHYrQYsFMBleL4rnv3t/aztrOD6kArCNQax2llf7/BqZNshx9b.js\";const enabledGestures={yCw1HxrAb:{hover:true}};const cycleOrder=[\"yCw1HxrAb\",\"TFpF3Z2Ce\"];const serializationHash=\"framer-5jbIf\";const variantClassNames={TFpF3Z2Ce:\"framer-v-orelne\",yCw1HxrAb:\"framer-v-1vlj733\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:1.3,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={mobile:\"TFpF3Z2Ce\",Primary:\"yCw1HxrAb\"};const getProps=({click,height,id,link,newTab,resume,width,...props})=>{return{...props,Ou2Q7KKjz:newTab??props.Ou2Q7KKjz??true,sYyykisRy:click??props.sYyykisRy,tIpm2Fclc:resume??props.tIpm2Fclc??\"Resume\",vabCwIWAm:link??props.vabCwIWAm,variant:humanReadableVariantMap[props.variant]??props.variant??\"yCw1HxrAb\"};};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,vabCwIWAm,tIpm2Fclc,Ou2Q7KKjz,sYyykisRy,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"yCw1HxrAb\",enabledGestures,ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTap1mwxidk=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});if(sYyykisRy){const res=await sYyykisRy(...args);if(res===false)return false;}});const sharedStyleClassNames=[sharedStyle.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(Link,{href:vabCwIWAm,motionChild:true,nodeId:\"yCw1HxrAb\",openInNewTab:Ou2Q7KKjz,scopeId:\"XJF7PW3wp\",children:/*#__PURE__*/_jsx(motion.a,{...restProps,...gestureHandlers,className:`${cx(scopingClassNames,\"framer-1vlj733\",className,classNames)} framer-1z0enj7`,\"data-border\":true,\"data-framer-name\":\"Primary\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"yCw1HxrAb\",onTap:onTap1mwxidk,ref:refBinding,style:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"var(--token-b2b2cec5-8316-4f9c-8fd9-5fdfc3c24032, rgba(255, 255, 255, 0.1))\",\"--border-left-width\":\"1px\",\"--border-right-width\":\"1px\",\"--border-style\":\"solid\",\"--border-top-width\":\"1px\",backdropFilter:\"blur(5px)\",background:\"linear-gradient(180deg, var(--token-0c62d1bb-1ac3-4cd6-8f0f-8ee3950e02c0, rgb(13, 13, 13)) -74%, var(--token-b2b2cec5-8316-4f9c-8fd9-5fdfc3c24032, rgba(255, 255, 255, 0.1)) 183%)\",borderBottomLeftRadius:120,borderBottomRightRadius:120,borderTopLeftRadius:120,borderTopRightRadius:120,boxShadow:\"inset 0px -0.48174984141951427px 0.48174984141951427px -1.25px rgba(0, 0, 0, 0.68), inset 0px -1.8308266425947657px 1.8308266425947657px -2.5px rgba(0, 0, 0, 0.6), inset 0px -8px 8px -3.75px rgba(0, 0, 0, 0.24)\",WebkitBackdropFilter:\"blur(5px)\",...style},variants:{\"yCw1HxrAb-hover\":{background:\"linear-gradient(0deg, var(--token-0c62d1bb-1ac3-4cd6-8f0f-8ee3950e02c0, rgb(13, 13, 13)) -74%, var(--token-b2b2cec5-8316-4f9c-8fd9-5fdfc3c24032, rgba(255, 255, 255, 0.1)) 183%)\"}},...addPropertyOverrides({\"yCw1HxrAb-hover\":{\"data-framer-name\":undefined},TFpF3Z2Ce:{\"data-framer-name\":\"mobile\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1af6am0\",\"data-styles-preset\":\"BqZNshx9b\",children:\"Remix for free\"})}),className:\"framer-2ise0\",\"data-framer-name\":\"Label\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"ZO3fONYWN\",style:{\"--framer-paragraph-spacing\":\"0px\"},text:tIpm2Fclc,variants:{\"yCw1HxrAb-hover\":{\"--extracted-r6o4lv\":\"var(--token-67527bae-cc15-4839-8636-c9b28351e4d7, rgb(255, 255, 255))\"},TFpF3Z2Ce:{\"--extracted-r6o4lv\":\"var(--token-67527bae-cc15-4839-8636-c9b28351e4d7, rgb(255, 255, 255))\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({\"yCw1HxrAb-hover\":{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1af6am0\",\"data-styles-preset\":\"BqZNshx9b\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-67527bae-cc15-4839-8636-c9b28351e4d7, rgb(255, 255, 255)))\"},children:\"Remix for free\"})})},TFpF3Z2Ce:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1af6am0\",\"data-styles-preset\":\"BqZNshx9b\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-67527bae-cc15-4839-8636-c9b28351e4d7, rgb(255, 255, 255)))\"},children:\"Remix for free\"})})}},baseVariant,gestureVariant)})})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-5jbIf.framer-1z0enj7, .framer-5jbIf .framer-1z0enj7 { display: block; }\",\".framer-5jbIf.framer-1vlj733 { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 6px; height: min-content; justify-content: center; overflow: hidden; padding: 10px 20px 10px 20px; position: relative; text-decoration: none; width: min-content; will-change: var(--framer-will-change-override, transform); }\",\".framer-5jbIf .framer-2ise0 { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",...sharedStyle.css,'.framer-5jbIf[data-border=\"true\"]::after, .framer-5jbIf [data-border=\"true\"]::after { content: \"\"; border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0); border-color: var(--border-color, none); border-style: var(--border-style, none); width: 100%; height: 100%; position: absolute; box-sizing: border-box; left: 0; top: 0; border-radius: inherit; pointer-events: none; }'];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 43\n * @framerIntrinsicWidth 95\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]},\"TFpF3Z2Ce\":{\"layout\":[\"auto\",\"auto\"]},\"gcOPGhCff\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerVariables {\"vabCwIWAm\":\"link\",\"tIpm2Fclc\":\"resume\",\"Ou2Q7KKjz\":\"newTab\",\"sYyykisRy\":\"click\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerXJF7PW3wp=withCSS(Component,css,\"framer-5jbIf\");export default FramerXJF7PW3wp;FramerXJF7PW3wp.displayName=\"secondary button\";FramerXJF7PW3wp.defaultProps={height:43,width:95};addPropertyControls(FramerXJF7PW3wp,{variant:{options:[\"yCw1HxrAb\",\"TFpF3Z2Ce\"],optionTitles:[\"Primary\",\"mobile\"],title:\"Variant\",type:ControlType.Enum},vabCwIWAm:{title:\"Link\",type:ControlType.Link},tIpm2Fclc:{defaultValue:\"Resume\",displayTextArea:false,title:\"Resume\",type:ControlType.String},Ou2Q7KKjz:{defaultValue:true,title:\"New Tab\",type:ControlType.Boolean},sYyykisRy:{title:\"Click\",type:ControlType.EventHandler}});addFonts(FramerXJF7PW3wp,[{explicitInter:true,fonts:[{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/vQyevYAyHtARFwPqUzQGpnDs.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]},...getFontsFromSharedStyle(sharedStyle.fonts)],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerXJF7PW3wp\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"43\",\"framerAutoSizeImages\":\"true\",\"framerColorSyntax\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"TFpF3Z2Ce\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"gcOPGhCff\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerImmutableVariables\":\"true\",\"framerVariables\":\"{\\\"vabCwIWAm\\\":\\\"link\\\",\\\"tIpm2Fclc\\\":\\\"resume\\\",\\\"Ou2Q7KKjz\\\":\\\"newTab\\\",\\\"sYyykisRy\\\":\\\"click\\\"}\",\"framerIntrinsicWidth\":\"95\",\"framerComponentViewportWidth\":\"true\",\"framerDisplayContentsDiv\":\"false\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./XJF7PW3wp.map","// Generated by Framer (9045c1a)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const cycleOrder=[\"CPbzKAr6L\",\"JrHCHZ8vy\"];const serializationHash=\"framer-CFeeQ\";const variantClassNames={CPbzKAr6L:\"framer-v-zh8s9o\",JrHCHZ8vy:\"framer-v-12pev7f\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={damping:20,delay:0,mass:1,stiffness:300,type:\"spring\"};const radiusForCorner=(value,cornerIndex)=>{if(typeof value===\"number\"&&Number.isFinite(value))return Math.max(0,value)+\"px\";if(typeof value!==\"string\"||typeof cornerIndex!==\"number\")return undefined;const segments=value.split(\" \");return segments[cornerIndex]||segments[cornerIndex-2]||segments[0];};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={Close:\"JrHCHZ8vy\",Hamburger:\"CPbzKAr6L\"};const getProps=({height,id,radius,width,...props})=>{return{...props,d2WdKj7yR:radius??props.d2WdKj7yR,variant:humanReadableVariantMap[props.variant]??props.variant??\"CPbzKAr6L\"};};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,d2WdKj7yR,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"CPbzKAr6L\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTap1jed072=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});setVariant(\"JrHCHZ8vy\");});const onTap13q1h6c=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});setVariant(\"CPbzKAr6L\");});const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-zh8s9o\",className,classNames),\"data-framer-name\":\"Hamburger\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"CPbzKAr6L\",onTap:onTap1jed072,ref:refBinding,style:{...style},...addPropertyOverrides({JrHCHZ8vy:{\"data-framer-name\":\"Close\",onTap:onTap13q1h6c}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-bciays\",layoutDependency:layoutDependency,layoutId:\"D8g0i2TPu\",style:{backgroundColor:\"var(--token-7a7ce709-7970-4e23-97d8-1ae0355d02f0, rgb(255, 255, 255))\",borderBottomLeftRadius:radiusForCorner(d2WdKj7yR,3),borderBottomRightRadius:radiusForCorner(d2WdKj7yR,2),borderTopLeftRadius:radiusForCorner(d2WdKj7yR,0),borderTopRightRadius:radiusForCorner(d2WdKj7yR,1),rotate:0},variants:{JrHCHZ8vy:{backgroundColor:\"rgb(255, 255, 255)\",rotate:45}}}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-8e3nfd\",layoutDependency:layoutDependency,layoutId:\"S4N9rAXvt\",style:{backgroundColor:\"var(--token-7a7ce709-7970-4e23-97d8-1ae0355d02f0, rgb(255, 255, 255))\",borderBottomLeftRadius:radiusForCorner(d2WdKj7yR,3),borderBottomRightRadius:radiusForCorner(d2WdKj7yR,2),borderTopLeftRadius:radiusForCorner(d2WdKj7yR,0),borderTopRightRadius:radiusForCorner(d2WdKj7yR,1),rotate:0},variants:{JrHCHZ8vy:{backgroundColor:\"rgb(255, 255, 255)\",rotate:-45}}})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-CFeeQ.framer-nebkpz, .framer-CFeeQ .framer-nebkpz { display: block; }\",\".framer-CFeeQ.framer-zh8s9o { cursor: pointer; height: 30px; overflow: hidden; position: relative; width: 30px; }\",\".framer-CFeeQ .framer-bciays { flex: none; height: 2px; left: calc(50.00000000000002% - 20px / 2); overflow: visible; position: absolute; top: 10px; width: 20px; }\",\".framer-CFeeQ .framer-8e3nfd { bottom: 10px; flex: none; height: 2px; left: calc(50.00000000000002% - 20px / 2); overflow: visible; position: absolute; width: 20px; }\",\".framer-CFeeQ.framer-v-12pev7f.framer-zh8s9o { aspect-ratio: 1 / 1; height: var(--framer-aspect-ratio-supported, 30px); }\",\".framer-CFeeQ.framer-v-12pev7f .framer-bciays { top: calc(50.00000000000002% - 2px / 2); }\",\".framer-CFeeQ.framer-v-12pev7f .framer-8e3nfd { bottom: unset; top: calc(50.00000000000002% - 2px / 2); }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 30\n * @framerIntrinsicWidth 30\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"JrHCHZ8vy\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerVariables {\"d2WdKj7yR\":\"radius\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const FramerMmHwaI6bc=withCSS(Component,css,\"framer-CFeeQ\");export default FramerMmHwaI6bc;FramerMmHwaI6bc.displayName=\"Menu Icon\";FramerMmHwaI6bc.defaultProps={height:30,width:30};addPropertyControls(FramerMmHwaI6bc,{variant:{options:[\"CPbzKAr6L\",\"JrHCHZ8vy\"],optionTitles:[\"Hamburger\",\"Close\"],title:\"Variant\",type:ControlType.Enum},d2WdKj7yR:{defaultValue:0,displayStepper:true,max:1,min:0,title:\"Radius\",type:ControlType.Number}});addFonts(FramerMmHwaI6bc,[{explicitInter:true,fonts:[]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerMmHwaI6bc\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerImmutableVariables\":\"true\",\"framerVariables\":\"{\\\"d2WdKj7yR\\\":\\\"radius\\\"}\",\"framerIntrinsicHeight\":\"30\",\"framerDisplayContentsDiv\":\"false\",\"framerComponentViewportWidth\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"JrHCHZ8vy\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerIntrinsicWidth\":\"30\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./MmHwaI6bc.map","// Generated by Framer (9045c1a)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,SmartComponentScopedContainer,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import MenuIcon from\"https://framerusercontent.com/modules/1XZEBlDCE3onjywDpewQ/fXJAyzoG9eqSlwQH3uzG/MmHwaI6bc.js\";const MenuIconFonts=getFonts(MenuIcon);const enabledGestures={j1WMMaZqL:{hover:true},zTQ0RAefI:{hover:true}};const cycleOrder=[\"j1WMMaZqL\",\"zTQ0RAefI\"];const serializationHash=\"framer-qg9d6\";const variantClassNames={j1WMMaZqL:\"framer-v-q0ivfn\",zTQ0RAefI:\"framer-v-1ipdp97\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={damping:60,delay:0,mass:1,stiffness:500,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={Default:\"j1WMMaZqL\",Open:\"zTQ0RAefI\"};const getProps=({height,id,tap,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"j1WMMaZqL\",wFtRaEcWB:tap??props.wFtRaEcWB};};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,wFtRaEcWB,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"j1WMMaZqL\",enabledGestures,ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTap1ni2hzt=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});if(wFtRaEcWB){const res=await wFtRaEcWB(...args);if(res===false)return false;}});const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-q0ivfn\",className,classNames),\"data-framer-name\":\"Default\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"j1WMMaZqL\",onTap:onTap1ni2hzt,ref:refBinding,style:{...style},...addPropertyOverrides({\"j1WMMaZqL-hover\":{\"data-framer-name\":undefined},\"zTQ0RAefI-hover\":{\"data-framer-name\":undefined},zTQ0RAefI:{\"data-framer-name\":\"Open\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{height:30,y:(componentViewport?.y||0)+(3+((componentViewport?.height||36)-6-30)/2),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-vf6k5h-container\",layoutDependency:layoutDependency,layoutId:\"m1jz9D7YU-container\",nodeId:\"m1jz9D7YU\",rendersWithMotion:true,scopeId:\"Lh3Jwp5NL\",children:/*#__PURE__*/_jsx(MenuIcon,{d2WdKj7yR:1,height:\"100%\",id:\"m1jz9D7YU\",layoutId:\"m1jz9D7YU\",variant:\"CPbzKAr6L\",width:\"100%\",...addPropertyOverrides({zTQ0RAefI:{variant:\"JrHCHZ8vy\"}},baseVariant,gestureVariant)})})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-m1yynn\",\"data-framer-name\":\"Background\",layoutDependency:layoutDependency,layoutId:\"h6uzh2NpS\",style:{backgroundColor:\"var(--token-f5646347-2529-487d-8af1-d99f05c5451c, rgb(10, 10, 10))\",borderBottomLeftRadius:8,borderBottomRightRadius:8,borderTopLeftRadius:8,borderTopRightRadius:8,opacity:0},variants:{\"j1WMMaZqL-hover\":{opacity:1},\"zTQ0RAefI-hover\":{opacity:1}}})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-qg9d6.framer-7bgghv, .framer-qg9d6 .framer-7bgghv { display: block; }\",\".framer-qg9d6.framer-q0ivfn { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 8px; height: min-content; justify-content: flex-start; overflow: hidden; padding: 3px; position: relative; width: min-content; }\",\".framer-qg9d6 .framer-vf6k5h-container { flex: none; height: auto; position: relative; width: auto; z-index: 1; }\",\".framer-qg9d6 .framer-m1yynn { bottom: 2px; flex: none; left: 4px; overflow: hidden; position: absolute; right: 4px; top: 2px; will-change: var(--framer-will-change-override, transform); z-index: 0; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-qg9d6.framer-q0ivfn { gap: 0px; } .framer-qg9d6.framer-q0ivfn > * { margin: 0px; margin-left: calc(8px / 2); margin-right: calc(8px / 2); } .framer-qg9d6.framer-q0ivfn > :first-child { margin-left: 0px; } .framer-qg9d6.framer-q0ivfn > :last-child { margin-right: 0px; } }\",\".framer-qg9d6.framer-v-q0ivfn.hover .framer-m1yynn, .framer-qg9d6.framer-v-1ipdp97.hover .framer-m1yynn { bottom: 0px; left: 0px; right: 0px; top: 0px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 36\n * @framerIntrinsicWidth 36\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]},\"zTQ0RAefI\":{\"layout\":[\"auto\",\"auto\"]},\"vw2eQXq8J\":{\"layout\":[\"auto\",\"auto\"]},\"ikTRA9C7C\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerVariables {\"wFtRaEcWB\":\"tap\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const FramerLh3Jwp5NL=withCSS(Component,css,\"framer-qg9d6\");export default FramerLh3Jwp5NL;FramerLh3Jwp5NL.displayName=\"Menu Button\";FramerLh3Jwp5NL.defaultProps={height:36,width:36};addPropertyControls(FramerLh3Jwp5NL,{variant:{options:[\"j1WMMaZqL\",\"zTQ0RAefI\"],optionTitles:[\"Default\",\"Open\"],title:\"Variant\",type:ControlType.Enum},wFtRaEcWB:{title:\"Tap\",type:ControlType.EventHandler}});addFonts(FramerLh3Jwp5NL,[{explicitInter:true,fonts:[]},...MenuIconFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerLh3Jwp5NL\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"36\",\"framerComponentViewportWidth\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"zTQ0RAefI\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"vw2eQXq8J\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"ikTRA9C7C\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerImmutableVariables\":\"true\",\"framerVariables\":\"{\\\"wFtRaEcWB\\\":\\\"tap\\\"}\",\"framerIntrinsicWidth\":\"36\",\"framerDisplayContentsDiv\":\"false\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Lh3Jwp5NL.map","// Generated by Framer (89f6630)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,getFontsFromSharedStyle,Link,RichText,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import*as sharedStyle from\"https://framerusercontent.com/modules/hIqfRDlCkyvODPw7PbID/0BLenM3eKu6637U9NawH/BqZNshx9b.js\";const enabledGestures={nROVkDgJS:{hover:true}};const cycleOrder=[\"nROVkDgJS\",\"FSxTE68Q_\"];const serializationHash=\"framer-cv9TM\";const variantClassNames={FSxTE68Q_:\"framer-v-1vpux1t\",nROVkDgJS:\"framer-v-17afoay\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const kwWR1ZLuI=undefined;const Mm9yYAj7D=undefined;const fF32h_OBQ=undefined;const transition1={damping:60,delay:0,mass:1,stiffness:500,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={mobile:\"FSxTE68Q_\",primary:\"nROVkDgJS\"};const getProps=({height,id,link,tap,text,width,...props})=>{return{...props,fF32h_OBQ:text??props.fF32h_OBQ??\"Link\",kwWR1ZLuI:tap??props.kwWR1ZLuI,Mm9yYAj7D:link??props.Mm9yYAj7D,variant:humanReadableVariantMap[props.variant]??props.variant??\"nROVkDgJS\"};};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,Mm9yYAj7D,fF32h_OBQ,kwWR1ZLuI,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"nROVkDgJS\",enabledGestures,ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTaplhzzwy=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});if(kwWR1ZLuI){const res=await kwWR1ZLuI(...args);if(res===false)return false;}});const sharedStyleClassNames=[sharedStyle.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(Link,{href:Mm9yYAj7D,motionChild:true,nodeId:\"nROVkDgJS\",scopeId:\"qMV5jssFV\",smoothScroll:true,children:/*#__PURE__*/_jsx(motion.a,{...restProps,...gestureHandlers,className:`${cx(scopingClassNames,\"framer-17afoay\",className,classNames)} framer-1yuh7ai`,\"data-framer-name\":\"primary\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"nROVkDgJS\",onTap:onTaplhzzwy,ref:refBinding,style:{...style},...addPropertyOverrides({\"nROVkDgJS-hover\":{\"data-framer-name\":undefined},FSxTE68Q_:{\"data-framer-name\":\"mobile\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1af6am0\",\"data-styles-preset\":\"BqZNshx9b\",children:\"Link\"})}),className:\"framer-rxe1kv\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"CF1YKsbFL\",text:fF32h_OBQ,variants:{\"nROVkDgJS-hover\":{\"--extracted-r6o4lv\":\"var(--token-67527bae-cc15-4839-8636-c9b28351e4d7, rgb(255, 255, 255))\"},FSxTE68Q_:{\"--extracted-r6o4lv\":\"var(--token-67527bae-cc15-4839-8636-c9b28351e4d7, rgb(255, 255, 255))\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({\"nROVkDgJS-hover\":{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1af6am0\",\"data-styles-preset\":\"BqZNshx9b\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-67527bae-cc15-4839-8636-c9b28351e4d7, rgb(255, 255, 255)))\"},children:\"Link\"})})},FSxTE68Q_:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1af6am0\",\"data-styles-preset\":\"BqZNshx9b\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-67527bae-cc15-4839-8636-c9b28351e4d7, rgb(255, 255, 255)))\"},children:\"Link\"})})}},baseVariant,gestureVariant)})})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-cv9TM.framer-1yuh7ai, .framer-cv9TM .framer-1yuh7ai { display: block; }\",\".framer-cv9TM.framer-17afoay { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 6px; height: 64px; justify-content: flex-start; overflow: hidden; padding: 6px 12px 6px 12px; position: relative; text-decoration: none; width: min-content; }\",\".framer-cv9TM .framer-rxe1kv { -webkit-user-select: none; flex: none; height: auto; overflow: visible; position: relative; user-select: none; white-space: pre; width: auto; z-index: 1; }\",...sharedStyle.css];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 64\n * @framerIntrinsicWidth 52\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"fixed\"]},\"FSxTE68Q_\":{\"layout\":[\"auto\",\"fixed\"]},\"CUmjqm3Ur\":{\"layout\":[\"auto\",\"fixed\"]}}}\n * @framerVariables {\"Mm9yYAj7D\":\"link\",\"fF32h_OBQ\":\"text\",\"kwWR1ZLuI\":\"tap\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerqMV5jssFV=withCSS(Component,css,\"framer-cv9TM\");export default FramerqMV5jssFV;FramerqMV5jssFV.displayName=\"Nav / Nav Link\";FramerqMV5jssFV.defaultProps={height:64,width:52};addPropertyControls(FramerqMV5jssFV,{variant:{options:[\"nROVkDgJS\",\"FSxTE68Q_\"],optionTitles:[\"primary\",\"mobile\"],title:\"Variant\",type:ControlType.Enum},Mm9yYAj7D:{title:\"Link\",type:ControlType.Link},fF32h_OBQ:{defaultValue:\"Link\",displayTextArea:false,title:\"Text\",type:ControlType.String},kwWR1ZLuI:{title:\"Tap\",type:ControlType.EventHandler}});addFonts(FramerqMV5jssFV,[{explicitInter:true,fonts:[{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]},...getFontsFromSharedStyle(sharedStyle.fonts)],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerqMV5jssFV\",\"slots\":[],\"annotations\":{\"framerColorSyntax\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicHeight\":\"64\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"fixed\\\"]},\\\"FSxTE68Q_\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"fixed\\\"]},\\\"CUmjqm3Ur\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"fixed\\\"]}}}\",\"framerImmutableVariables\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerIntrinsicWidth\":\"52\",\"framerVariables\":\"{\\\"Mm9yYAj7D\\\":\\\"link\\\",\\\"fF32h_OBQ\\\":\\\"text\\\",\\\"kwWR1ZLuI\\\":\\\"tap\\\"}\",\"framerContractVersion\":\"1\",\"framerComponentViewportWidth\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./qMV5jssFV.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{motion}from\"framer-motion\";import{Link}from\"framer\";const HOME_PATH=\"/\";export default function BrandLogo(){const isHome=()=>{if(typeof window===\"undefined\")return false;const pathname=window.location.pathname.replace(/\\/$/,\"\");const home=HOME_PATH.replace(/\\/$/,\"\");return pathname===home||pathname===\"\";};// On home: smooth scroll to top, no URL change\n// Off home: let <Link> below handle navigation\nconst handleClick=e=>{if(typeof window===\"undefined\")return;if(isHome()){if(e)e.preventDefault();window.scrollTo({top:0,behavior:\"smooth\"});return;}// Otherwise <Link> handles routing — do nothing here\n};const content=/*#__PURE__*/_jsxs(motion.div,{onClick:handleClick,role:\"link\",\"aria-label\":\"Go to homepage\",tabIndex:0,onKeyDown:e=>{if(e.key===\"Enter\"||e.key===\" \")handleClick();},style:{height:\"44px\",display:\"flex\",alignItems:\"stretch\",gap:\"14px\",cursor:\"pointer\",userSelect:\"none\",fontFamily:'\"Inter\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif'},initial:\"rest\",whileHover:\"hover\",animate:\"rest\",children:[/*#__PURE__*/_jsx(\"style\",{children:`\n                .brand-logo-text { display: none; flex-direction: column; }\n                @media (min-width: 640px) {\n                  .brand-logo-text { display: flex; }\n                }\n            `}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",height:\"100%\",width:\"auto\",aspectRatio:\"1/1\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:/*#__PURE__*/_jsxs(\"svg\",{width:\"100%\",height:\"100%\",viewBox:\"0 0 100 100\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",style:{overflow:\"visible\"},children:[/*#__PURE__*/_jsx(motion.path,{d:\"M 12 76 C 12 76 16 82 20 85 C 16 88 12 94 12 94 C 12 94 8 88 4 85 C 8 82 12 76 12 76 Z\",variants:{rest:{fill:\"#FFFFFF\",scale:1,opacity:1},hover:{fill:\"#FCD34D\",scale:1.15,filter:\"drop-shadow(0px 0px 6px rgba(252, 211, 77, 0.6))\"}},transition:{type:\"spring\",stiffness:300,damping:20}}),/*#__PURE__*/_jsx(motion.path,{d:\"M 82 0 L 82 70 C 82 92 72 100 38 100 C 52 98 62 88 62 68 L 62 0 L 82 0 Z\",variants:{rest:{fill:\"#FFFFFF\"},hover:{fill:\"#FFFFFF\",filter:\"drop-shadow(0px 0px 8px rgba(255, 255, 255, 0.3))\"}},transition:{duration:.3}})]})}),/*#__PURE__*/_jsxs(\"div\",{className:\"brand-logo-text\",style:{justifyContent:\"space-between\",paddingTop:\"4px\"},children:[/*#__PURE__*/_jsx(motion.span,{style:{fontWeight:800,fontSize:\"20px\",lineHeight:.8,color:\"#FFFFFF\"},children:\"J. HUANG\"}),/*#__PURE__*/_jsx(motion.span,{style:{fontFamily:'Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace',fontSize:\"10px\",textTransform:\"uppercase\",letterSpacing:\"0.2em\",lineHeight:1,color:\"#737373\"},variants:{rest:{color:\"#737373\"},hover:{color:\"#FCD34D\"}},children:\"Product Designer\"})]})]});// Off home: wrap in <Link> for soft routing\n// On home: just return content (onClick handles scroll)\nif(typeof window!==\"undefined\"&&!isHome()){return /*#__PURE__*/_jsx(Link,{href:HOME_PATH,style:{textDecoration:\"none\"},children:content});}return content;}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"BrandLogo\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Logo_3.map","// Generated by Framer (b135809)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,Container,ControlType,cx,forwardLoader,GeneratedComponentContext,getFonts,Link,RenderTarget,ResolveLinks,useCustomCursors,useHydratedBreakpointVariants,useIsOnFramerCanvas,useLocaleInfo,useRouter,withCSS}from\"framer\";import{LayoutGroup,motion}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import Embed from\"https://framerusercontent.com/modules/o1PI5S8YtkA5bP5g4dFz/cAPMVEI6osbJ1UvICgTq/Embed.js\";import SecondaryButton from\"https://framerusercontent.com/modules/q7hYarRFSKSI50sTKsF7/6bnmqpEcZVr5dFjvCWTw/XJF7PW3wp.js\";import MenuButton from\"#framer/local/canvasComponent/Lh3Jwp5NL/Lh3Jwp5NL.js\";import NavNavLink from\"#framer/local/canvasComponent/qMV5jssFV/qMV5jssFV.js\";import BrandLogo from\"#framer/local/codeFile/hVxr76S/Logo_3.js\";const BrandLogoFonts=getFonts(BrandLogo);const NavNavLinkFonts=getFonts(NavNavLink);const SecondaryButtonFonts=getFonts(SecondaryButton);const EmbedFonts=getFonts(Embed);const breakpoints={};const isBrowser=()=>typeof document!==\"undefined\";const serializationHash=\"framer-nhlvU\";const variantClassNames={nImJAvKuG:\"framer-v-povseb\"};const pPRCIBFru=undefined;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=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-nhlvU.framer-1ssxf18, .framer-nhlvU .framer-1ssxf18 { display: block; }\",\".framer-nhlvU.framer-povseb { align-content: center; align-items: center; background-color: var(--token-f50a08ee-89ba-45ba-bd59-521f4e9cdc51, #000000); 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-nhlvU .framer-1xzocl3 { align-content: center; align-items: center; background-color: rgba(14, 14, 14, 0.5); display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; left: 0px; order: -1000; overflow: visible; padding: 4px 0px 4px 0px; position: var(--framer-canvas-fixed-position, fixed); right: 0px; top: 0px; z-index: 10; }\",\".framer-nhlvU .framer-17dir24 { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: row; flex-wrap: nowrap; gap: 32px; height: min-content; justify-content: flex-start; max-width: 1680px; overflow: visible; padding: 0px 40px 0px 40px; position: relative; width: 1px; z-index: 10; }\",\".framer-nhlvU .framer-14wyixe { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: 44px; justify-content: center; overflow: visible; padding: 0px; position: relative; text-decoration: none; width: 187px; }\",\".framer-nhlvU .framer-151bbeb-container, .framer-nhlvU .framer-bjgim8-container, .framer-nhlvU .framer-1sekalb-container, .framer-nhlvU .framer-1hfw9hy-container { flex: none; height: auto; position: relative; width: auto; }\",\".framer-nhlvU .framer-12hgm2c { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: 1px; }\",\".framer-nhlvU .framer-m5faw7 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 16px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-nhlvU .framer-1w3g1xb { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 8px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-nhlvU .framer-8cfs7q { background: transparent; flex-grow: 1; height: 0px; margin: 0px; margin-bottom: -0px; position: relative; width: 0px; }\",\".framer-nhlvU .framer-1tl7ilz { align-content: center; align-items: center; background-color: var(--token-f50a08ee-89ba-45ba-bd59-521f4e9cdc51, #000000); display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: 810px; justify-content: center; order: 1002; overflow: hidden; padding: 0px 80px 0px 80px; position: relative; width: 100%; z-index: 1; }\",\".framer-nhlvU .framer-1rtht74-container { flex: none; height: 810px; position: relative; width: 1440px; }\",'[data-layout-template=\"true\"] > #overlay { margin-bottom: -0px; }'];const HTMLStyle=({value})=>{const onCanvas=useIsOnFramerCanvas();if(onCanvas)return null;return /*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:value},\"data-framer-html-style\":\"\"});};const getProps=({footer,height,id,width,...props})=>{return{...props,pPRCIBFru:footer??props.pPRCIBFru??true};};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,pPRCIBFru,children,...restProps}=getProps(props);const[baseVariant,hydratedBaseVariant]=useHydratedBreakpointVariants(variant,breakpoints,false);const gestureVariant=undefined;const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const router=useRouter();useCustomCursors({});return /*#__PURE__*/_jsx(GeneratedComponentContext.Provider,{value:{activeVariantId:baseVariant,isLayoutTemplate:true,primaryVariantId:\"nImJAvKuG\",variantClassNames},children:/*#__PURE__*/_jsxs(LayoutGroup,{id:layoutId??defaultLayoutId,children:[/*#__PURE__*/_jsx(HTMLStyle,{value:\":root body { background: var(--token-f50a08ee-89ba-45ba-bd59-521f4e9cdc51, rgb(0, 0, 0)); }\"}),/*#__PURE__*/_jsxs(motion.div,{...restProps,className:cx(scopingClassNames,\"framer-povseb\",className),\"data-layout-template\":true,ref:refBinding,style:{...style},children:[/*#__PURE__*/_jsx(motion.header,{className:\"framer-1xzocl3\",\"data-framer-name\":\"Nav\",tabIndex:0,children:/*#__PURE__*/_jsxs(\"div\",{className:\"framer-17dir24\",\"data-framer-name\":\"Nav Wrapper\",children:[/*#__PURE__*/_jsx(Link,{href:{webPageId:\"eAXW4TQ8Z\"},motionChild:true,nodeId:\"gn2IdSA0L\",openInNewTab:false,scopeId:\"pd3OPEPIO\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-14wyixe framer-1ssxf18\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-151bbeb-container\",isAuthoredByUser:true,nodeId:\"CKYq3YrqE\",scopeId:\"pd3OPEPIO\",children:/*#__PURE__*/_jsx(BrandLogo,{height:\"100%\",id:\"CKYq3YrqE\",layoutId:\"CKYq3YrqE\",width:\"100%\"})})})})}),/*#__PURE__*/_jsx(\"div\",{className:\"framer-12hgm2c\",\"data-framer-name\":\"Wrapper\"}),/*#__PURE__*/_jsx(\"div\",{className:\"framer-m5faw7\",\"data-framer-name\":\"Right container\",children:/*#__PURE__*/_jsxs(\"nav\",{className:\"framer-1w3g1xb\",\"data-framer-name\":\"nav links\",children:[/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{hash:\":CVA2LaQDG\",webPageId:\"eAXW4TQ8Z\"},implicitPathVariables:undefined}],children:resolvedLinks=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:64,y:4,children:/*#__PURE__*/_jsx(Container,{className:\"framer-bjgim8-container\",nodeId:\"DUDecBXoF\",scopeId:\"pd3OPEPIO\",children:/*#__PURE__*/_jsx(NavNavLink,{fF32h_OBQ:\"Work\",height:\"100%\",id:\"DUDecBXoF\",layoutId:\"DUDecBXoF\",Mm9yYAj7D:resolvedLinks[0],variant:matchVariant(\"nROVkDgJS\"),width:\"100%\"})})})}),/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{hash:\":xZii3mxi7\",webPageId:\"eAXW4TQ8Z\"},implicitPathVariables:undefined}],children:resolvedLinks1=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:64,y:4,children:/*#__PURE__*/_jsx(Container,{className:\"framer-1sekalb-container\",nodeId:\"NViCjBg2m\",scopeId:\"pd3OPEPIO\",children:/*#__PURE__*/_jsx(NavNavLink,{fF32h_OBQ:\"About\",height:\"100%\",id:\"NViCjBg2m\",layoutId:\"NViCjBg2m\",Mm9yYAj7D:resolvedLinks1[0],variant:matchVariant(\"nROVkDgJS\"),width:\"100%\"})})})}),/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{webPageId:\"Eruf035Lt\"},implicitPathVariables:undefined}],children:resolvedLinks2=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:43,y:14.5,children:/*#__PURE__*/_jsx(Container,{className:\"framer-1hfw9hy-container\",isModuleExternal:true,nodeId:\"pXULVcGfD\",scopeId:\"pd3OPEPIO\",children:/*#__PURE__*/_jsx(SecondaryButton,{height:\"100%\",id:\"pXULVcGfD\",layoutId:\"pXULVcGfD\",Ou2Q7KKjz:false,tIpm2Fclc:\"Resume\",vabCwIWAm:resolvedLinks2[0],variant:matchVariant(\"yCw1HxrAb\"),width:\"100%\"})})})})]})})]})}),children,/*#__PURE__*/_jsx(\"div\",{className:\"framer-8cfs7q\"}),pPRCIBFru!==false&&/*#__PURE__*/_jsx(motion.footer,{className:\"framer-1tl7ilz\",\"data-framer-name\":\"Footer\",style:{transformPerspective:1200},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-1rtht74-container\",isModuleExternal:true,nodeId:\"lRzcv3O2T\",scopeId:\"pd3OPEPIO\",children:/*#__PURE__*/_jsx(Embed,{height:\"100%\",html:'<div class=\"jh-portfolio\">\\n\\n<style>\\n  .jh-portfolio {\\n    --bg: #000000;\\n    --bg-elevated: #111111;\\n    --bg-card: #141414;\\n    --line: #1f1f1f;\\n    --line-bright: #2a2a2a;\\n    --text: #f5f5f2;\\n    --text-dim: #888880;\\n    --text-faint: #54544f;\\n    --accent: #d4ff00;\\n    --accent-hover: #FCD34D;\\n\\n    --display: \\'Syne\\', \\'Inter\\', -apple-system, BlinkMacSystemFont, sans-serif;\\n    --sans: \\'Inter\\', -apple-system, BlinkMacSystemFont, sans-serif;\\n    --mono: \\'JetBrains Mono\\', Menlo, Monaco, Consolas, monospace;\\n\\n    --grid: 72px;\\n\\n    background: var(--bg);\\n    color: var(--text);\\n    font-family: var(--sans);\\n    font-weight: 400;\\n    line-height: 1.5;\\n    width: 100%;\\n    position: relative;\\n    overflow-x: hidden;\\n    -webkit-font-smoothing: antialiased;\\n  }\\n\\n  .jh-portfolio * { margin: 0; padding: 0; box-sizing: border-box; }\\n  .jh-portfolio ::selection { background: var(--accent); color: var(--bg); }\\n\\n  /* ===== Grid background — starts at 72px offset to match shell padding ===== */\\n  .jh-portfolio .grid-bg {\\n    position: absolute;\\n    inset: 0;\\n    z-index: 0;\\n    pointer-events: none;\\n    background-image:\\n      linear-gradient(to right, rgba(255,255,255,0.04) 1px, transparent 1px),\\n      linear-gradient(to bottom, rgba(255,255,255,0.04) 1px, transparent 1px);\\n    background-size: 72px 72px;\\n    background-position: 72px 0;\\n    -webkit-mask-image: radial-gradient(ellipse at center top, black 20%, transparent 80%);\\n    mask-image: radial-gradient(ellipse at center top, black 20%, transparent 80%);\\n  }\\n\\n  @media (max-width: 768px) {\\n    .jh-portfolio .grid-bg {\\n      background-position: 36px 0;\\n    }\\n  }\\n\\n  /* ===== Hover crosshair light with radial gradient decay ===== */\\n  .jh-portfolio .grid-light {\\n    position: fixed;\\n    top: 0;\\n    left: 0;\\n    width: 360px;  /* 5 cells wide */\\n    height: 360px;\\n    pointer-events: none;\\n    z-index: 3;\\n    opacity: 0;\\n    transition: opacity 0.2s ease-out;\\n    will-change: transform, opacity;\\n    margin-left: -180px;\\n    margin-top: -180px;\\n    /* Radial gradient mask — fully opaque at center, fades to transparent */\\n    -webkit-mask-image: radial-gradient(circle, rgba(0,0,0,1) 0%, rgba(0,0,0,0.7) 25%, rgba(0,0,0,0) 55%);\\n    mask-image: radial-gradient(circle, rgba(0,0,0,1) 0%, rgba(0,0,0,0.7) 25%, rgba(0,0,0,0) 55%);\\n  }\\n  .jh-portfolio .grid-light.active { opacity: 1; }\\n  .jh-portfolio .grid-light.hidden { opacity: 0 !important; }\\n\\n  /* Crosshair lines — open-ended (井字) */\\n  .jh-portfolio .grid-light .xhair {\\n    position: absolute;\\n    background: rgba(212, 255, 0, 0.9);\\n    box-shadow: 0 0 4px rgba(212, 255, 0, 0.6);\\n  }\\n\\n  /* 1 vertical line — crosshair through center */\\n  .jh-portfolio .grid-light .xhair.v1 {\\n    left: 180px;  /* center of 360px container */\\n    top: 0;\\n    width: 1px;\\n    height: 100%;\\n  }\\n\\n  /* 1 horizontal line — crosshair through center */\\n  .jh-portfolio .grid-light .xhair.h1 {\\n    top: 180px;  /* center of 360px container */\\n    left: 0;\\n    height: 1px;\\n    width: 100%;\\n  }\\n\\n  /* Center glow */\\n  .jh-portfolio .grid-light .glow {\\n    position: absolute;\\n    left: 36px;\\n    top: 36px;\\n    width: 288px;\\n    height: 288px;\\n    background: radial-gradient(\\n      circle,\\n      rgba(212, 255, 0, 0.22) 0%,\\n      rgba(212, 255, 0, 0.12) 15%,\\n      rgba(212, 255, 0, 0.05) 35%,\\n      rgba(212, 255, 0, 0.02) 60%,\\n      transparent 100%\\n    );\\n    filter: blur(24px);\\n    pointer-events: none;\\n  }\\n\\n  /* ===== Shell — padding = 72px (1 grid cell) horizontal, 144px top to clear nav with breathing room ===== */\\n  .jh-portfolio .shell {\\n    position: relative;\\n    z-index: 2;\\n    max-width: 1440px;\\n    margin: 0 auto;\\n    padding: 0 72px;\\n  }\\n\\n  @media (max-width: 768px) {\\n    .jh-portfolio .shell { padding: 0 36px; }\\n  }\\n\\n  /* ===== HERO ===== */\\n  .jh-portfolio .hero {\\n    padding: 0 0 144px;\\n    position: relative;\\n  }\\n\\n  .jh-portfolio .hero-eyebrow {\\n    display: inline-flex;\\n    align-items: center;\\n    gap: 18px;\\n    margin-bottom: 36px;\\n    font-family: var(--sans);\\n    font-style: italic;\\n    font-weight: 400;\\n    font-size: 18px;\\n    letter-spacing: -0.01em;\\n  }\\n\\n  .jh-portfolio .status-dot {\\n    width: 8px;\\n    height: 8px;\\n    border-radius: 50%;\\n    background: var(--accent);\\n    box-shadow: 0 0 0 4px rgba(212,255,0,0.15);\\n    animation: jh-pulse 2s infinite;\\n    flex-shrink: 0;\\n  }\\n\\n  @keyframes jh-pulse {\\n    0%, 100% { box-shadow: 0 0 0 4px rgba(212,255,0,0.15); }\\n    50% { box-shadow: 0 0 0 8px rgba(212,255,0,0.05); }\\n  }\\n\\n  .jh-portfolio .eyebrow-shimmer {\\n    background: linear-gradient(\\n      90deg,\\n      var(--text-dim) 0%,\\n      var(--text-dim) 35%,\\n      var(--accent) 48%,\\n      #ffffff 50%,\\n      var(--accent) 52%,\\n      var(--text-dim) 65%,\\n      var(--text-dim) 100%\\n    );\\n    background-size: 300% 100%;\\n    background-position: 150% 0;\\n    -webkit-background-clip: text;\\n    background-clip: text;\\n    color: transparent;\\n    -webkit-text-fill-color: transparent;\\n    animation: jh-shimmer 6s linear infinite;\\n  }\\n\\n  @keyframes jh-shimmer {\\n    0% { background-position: 150% 0; }\\n    100% { background-position: -150% 0; }\\n  }\\n\\n  .jh-portfolio .hero-title {\\n    font-family: var(--display);\\n    font-weight: 500;\\n    font-size: clamp(44px, 6.2vw, 88px);\\n    line-height: 1.05;\\n    letter-spacing: -0.055em;\\n    margin-bottom: 54px;\\n    max-width: 1296px;\\n    color: var(--text);\\n  }\\n\\n  .jh-portfolio .hero-title .emphasis {\\n    font-style: italic;\\n    font-weight: 600;\\n    color: var(--accent);\\n  }\\n\\n  .jh-portfolio .hero-title .line {\\n    display: block;\\n  }\\n\\n  .jh-portfolio .hero-title .nowrap {\\n    white-space: nowrap;\\n  }\\n\\n  .jh-portfolio .hero-sub {\\n    font-family: var(--sans);\\n    font-size: 17px;\\n    line-height: 1.6;\\n    color: var(--text-dim);\\n    max-width: 720px;\\n    font-weight: 400;\\n  }\\n\\n  .jh-portfolio .hero-sub b {\\n    color: var(--text);\\n    font-weight: 500;\\n  }\\n\\n  .jh-portfolio .hero-sub-second {\\n    margin-top: 18px;\\n  }\\n\\n  .jh-portfolio .hero-cta-row {\\n    display: flex;\\n    gap: 18px;\\n    margin-top: 54px;\\n    flex-wrap: wrap;\\n  }\\n\\n  .jh-portfolio .btn {\\n    display: inline-flex;\\n    align-items: center;\\n    gap: 10px;\\n    padding: 14px 22px;\\n    border-radius: 999px;\\n    font-size: 14px;\\n    font-weight: 500;\\n    text-decoration: none;\\n    transition: all 0.2s;\\n    cursor: pointer;\\n    border: none;\\n    font-family: var(--sans);\\n  }\\n\\n  .jh-portfolio .btn-primary {\\n    background: var(--accent);\\n    color: var(--bg);\\n  }\\n  .jh-portfolio .btn-primary:hover { background: #e6ff33; transform: translateY(-1px); }\\n\\n  .jh-portfolio .btn-ghost {\\n    background: transparent;\\n    color: var(--text);\\n    border: 1px solid var(--line-bright);\\n  }\\n  .jh-portfolio .btn-ghost:hover { border-color: var(--text); background: var(--bg-elevated); }\\n\\n  .jh-portfolio .btn svg { width: 14px; height: 14px; }\\n\\n  .jh-portfolio .sec-header {\\n    height: 72px;\\n    padding: 0;\\n    border-bottom: 1px solid var(--line);\\n    margin-bottom: 72px;\\n    font-family: var(--mono);\\n    font-size: 12px;\\n    color: var(--text-dim);\\n    text-transform: uppercase;\\n    letter-spacing: 0.15em;\\n    display: flex;\\n    justify-content: space-between;\\n    align-items: center;\\n  }\\n\\n  .jh-portfolio .sec-header strong {\\n    color: var(--text);\\n    font-weight: 500;\\n  }\\n\\n  .jh-portfolio .work { padding: 72px 0 144px; }\\n\\n  .jh-portfolio .project-list {\\n    display: flex;\\n    flex-direction: column;\\n    gap: 144px;\\n  }\\n\\n  .jh-portfolio .project {\\n    display: grid;\\n    grid-template-columns: 1fr 1fr;\\n    gap: 72px;\\n    align-items: center;\\n    text-decoration: none;\\n    color: inherit;\\n  }\\n\\n  .jh-portfolio .project:nth-child(even) .project-image { order: 2; }\\n  .jh-portfolio .project:nth-child(even) .project-info { order: 1; }\\n\\n  @media (max-width: 900px) {\\n    .jh-portfolio .project {\\n      grid-template-columns: 1fr;\\n      gap: 36px;\\n    }\\n    .jh-portfolio .project:nth-child(even) .project-image { order: 0; }\\n    .jh-portfolio .project:nth-child(even) .project-info { order: 1; }\\n    .jh-portfolio .project-list { gap: 72px; }\\n  }\\n\\n  .jh-portfolio .project-image {\\n    position: relative;\\n    aspect-ratio: 1.1 / 1;\\n    overflow: hidden;\\n    border-radius: 8px;\\n    background: var(--bg-card);\\n    border: 1px solid var(--line);\\n  }\\n\\n  .jh-portfolio .project-image img {\\n    width: 100%;\\n    height: 100%;\\n    object-fit: cover;\\n    transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);\\n    display: block;\\n  }\\n\\n  .jh-portfolio .project:hover .project-image img { transform: scale(1.04); }\\n\\n  .jh-portfolio .project-image::after {\\n    content: \\'\\';\\n    position: absolute;\\n    inset: 0;\\n    background: linear-gradient(180deg, transparent 65%, rgba(10,10,10,0.35) 100%);\\n    pointer-events: none;\\n  }\\n\\n  .jh-portfolio .project-info {\\n    display: flex;\\n    flex-direction: column;\\n    gap: 18px;\\n  }\\n\\n  .jh-portfolio .project-index {\\n    font-family: var(--mono);\\n    font-size: 12px;\\n    color: var(--text-faint);\\n    letter-spacing: 0.05em;\\n    display: flex;\\n    align-items: center;\\n    gap: 12px;\\n  }\\n\\n  .jh-portfolio .project-index::after {\\n    content: \\'\\';\\n    flex: 1;\\n    height: 1px;\\n    background: var(--line);\\n    max-width: 72px;\\n  }\\n\\n  .jh-portfolio .project-title {\\n    font-family: var(--display);\\n    font-size: clamp(36px, 4.2vw, 56px);\\n    font-weight: 500;\\n    letter-spacing: -0.025em;\\n    line-height: 1;\\n    margin-bottom: 6px;\\n    color: var(--text);\\n  }\\n\\n  .jh-portfolio .project-subtitle {\\n    font-family: var(--sans);\\n    font-size: clamp(15px, 1.3vw, 17px);\\n    font-weight: 400;\\n    color: var(--text-dim);\\n    line-height: 1.5;\\n    letter-spacing: -0.01em;\\n  }\\n\\n  .jh-portfolio .project-meta {\\n    display: flex;\\n    flex-wrap: wrap;\\n    gap: 6px;\\n    margin-top: 12px;\\n  }\\n\\n  .jh-portfolio .project-meta .tag {\\n    padding: 4px 10px;\\n    border: 1px solid var(--line-bright);\\n    border-radius: 4px;\\n    font-size: 11px;\\n    letter-spacing: 0.02em;\\n    font-family: var(--mono);\\n    color: var(--text-dim);\\n    transition: color 0.3s, border-color 0.3s, background 0.3s;\\n  }\\n\\n  /* Tags subtly highlight when project is hovered — text + border turn white, no green to avoid competing with CTA */\\n  .jh-portfolio .project:hover .project-meta .tag {\\n    color: var(--text);\\n    border-color: rgba(245, 245, 242, 0.4);\\n  }\\n\\n  .jh-portfolio .project-cta {\\n    display: inline-flex;\\n    align-items: center;\\n    gap: 10px;\\n    font-family: var(--mono);\\n    font-size: 13px;\\n    color: var(--text);\\n    margin-top: 24px;\\n    transition: gap 0.3s, color 0.3s;\\n  }\\n\\n  .jh-portfolio .project:hover .project-cta {\\n    color: var(--accent);\\n    gap: 16px;\\n  }\\n\\n  .jh-portfolio .project-cta svg {\\n    width: 14px;\\n    height: 14px;\\n    transition: transform 0.3s;\\n  }\\n\\n  .jh-portfolio .project:hover .project-cta svg {\\n    transform: translate(2px, -2px);\\n  }\\n\\n  .jh-portfolio .about { padding: 144px 0 72px; }\\n\\n  .jh-portfolio .about-grid {\\n    display: grid;\\n    grid-template-columns: 1fr 1fr;\\n    gap: 144px;\\n    align-items: start;\\n  }\\n\\n  @media (max-width: 900px) {\\n    .jh-portfolio .about-grid { grid-template-columns: 1fr; gap: 72px; }\\n  }\\n\\n  .jh-portfolio .about-lead {\\n    font-family: var(--display);\\n    font-size: clamp(22px, 2.2vw, 28px);\\n    font-weight: 500;\\n    line-height: 1.4;\\n    letter-spacing: -0.015em;\\n    color: var(--text);\\n    margin-bottom: 36px;\\n  }\\n\\n  .jh-portfolio .about-lead em {\\n    font-style: italic;\\n    color: var(--accent);\\n  }\\n\\n  .jh-portfolio .about-body {\\n    font-family: var(--sans);\\n    font-size: 16px;\\n    line-height: 1.65;\\n    color: var(--text-dim);\\n    font-weight: 400;\\n  }\\n\\n  .jh-portfolio .about-body em {\\n    font-style: italic;\\n    color: var(--text);\\n  }\\n\\n  .jh-portfolio .about-body + .about-body {\\n    margin-top: 18px;\\n  }\\n\\n  .jh-portfolio .cv-block { margin-bottom: 54px; }\\n\\n  .jh-portfolio .cv-block h4 {\\n    height: 36px;\\n    font-family: var(--mono);\\n    font-size: 11px;\\n    color: var(--text-faint);\\n    text-transform: uppercase;\\n    letter-spacing: 0.15em;\\n    margin-bottom: 18px;\\n    padding: 0;\\n    border-bottom: 1px solid var(--line);\\n    display: flex;\\n    align-items: flex-start;\\n  }\\n\\n  .jh-portfolio .cv-row {\\n    display: grid;\\n    grid-template-columns: 1fr 1fr 100px;\\n    gap: 24px;\\n    padding: 14px 0;\\n    font-size: 14px;\\n    align-items: baseline;\\n  }\\n\\n  .jh-portfolio .cv-row .role { font-weight: 500; color: var(--text); text-align: left; }\\n  .jh-portfolio .cv-row .company { color: var(--text-dim); text-align: left; font-weight: 400; }\\n  .jh-portfolio .cv-row .date {\\n    font-family: var(--mono);\\n    font-size: 12px;\\n    color: var(--text-faint);\\n    text-align: right;\\n    white-space: nowrap;\\n  }\\n  .jh-portfolio .cv-row .sub {\\n    grid-column: 1 / -1;\\n    font-size: 12px;\\n    color: var(--text-faint);\\n    margin-top: -4px;\\n    padding-bottom: 4px;\\n    font-style: italic;\\n  }\\n\\n  @media (max-width: 600px) {\\n    .jh-portfolio .cv-row {\\n      grid-template-columns: 1fr auto;\\n      gap: 4px 16px;\\n    }\\n    .jh-portfolio .cv-row .company { grid-column: 1 / 2; }\\n    .jh-portfolio .cv-row .date { grid-column: 2 / 3; grid-row: 1 / 3; align-self: start; }\\n  }\\n\\n  .jh-portfolio .cta {\\n    padding: 144px 0;\\n    min-height: 720px;\\n    text-align: center;\\n    position: relative;\\n    border-top: 1px solid var(--line);\\n    display: flex;\\n    flex-direction: column;\\n    justify-content: center;\\n    align-items: center;\\n  }\\n\\n  .jh-portfolio .cta > * {\\n    width: 100%;\\n  }\\n\\n  .jh-portfolio .cta::before {\\n    content: \\'\\';\\n    position: absolute;\\n    top: 0;\\n    bottom: 0;\\n    left: 50%;\\n    width: 100vw;\\n    transform: translateX(-50%);\\n    background: radial-gradient(ellipse 60% 50% at 50% 50%, rgba(212,255,0,0.14) 0%, rgba(212,255,0,0.07) 30%, rgba(212,255,0,0.025) 60%, rgba(212,255,0,0.005) 85%, transparent 100%);\\n    pointer-events: none;\\n    z-index: 0;\\n  }\\n\\n  .jh-portfolio .cta-eyebrow {\\n    font-family: var(--mono);\\n    font-size: 12px;\\n    color: var(--accent);\\n    letter-spacing: 0.15em;\\n    text-transform: uppercase;\\n    margin-bottom: 36px;\\n    display: flex;\\n    justify-content: center;\\n    gap: 12px;\\n    align-items: center;\\n  }\\n\\n  .jh-portfolio .cta h2 {\\n    font-family: var(--display);\\n    font-size: clamp(40px, 5.5vw, 76px);\\n    font-weight: 500;\\n    letter-spacing: -0.03em;\\n    line-height: 1.05;\\n    margin-bottom: 54px;\\n    color: var(--text);\\n  }\\n\\n  .jh-portfolio .cta h2 em {\\n    font-style: italic;\\n    font-weight: 600;\\n    color: var(--text-dim);\\n  }\\n\\n  .jh-portfolio .contact-grid {\\n    display: flex;\\n    justify-content: center;\\n    align-items: center;\\n    gap: 36px;\\n    flex-wrap: wrap;\\n    font-family: var(--mono);\\n    font-size: 14px;\\n    color: var(--text-dim);\\n  }\\n\\n  .jh-portfolio .contact-item {\\n    display: inline-flex;\\n    align-items: center;\\n    gap: 10px;\\n    color: var(--text);\\n    text-decoration: none;\\n    transition: color 0.2s;\\n  }\\n\\n  .jh-portfolio .contact-item:hover { color: var(--accent); }\\n  .jh-portfolio .contact-item:hover svg { stroke: var(--accent); }\\n\\n  .jh-portfolio .contact-item svg {\\n    width: 18px;\\n    height: 18px;\\n    stroke: var(--text-dim);\\n    stroke-width: 1.5;\\n    fill: none;\\n    transition: stroke 0.2s;\\n    flex-shrink: 0;\\n  }\\n\\n  .jh-portfolio .contact-icon-only {\\n    display: inline-flex;\\n    align-items: center;\\n    justify-content: center;\\n    color: var(--text-dim);\\n    text-decoration: none;\\n    transition: color 0.2s;\\n  }\\n  .jh-portfolio .contact-icon-only:hover { color: var(--accent); }\\n  .jh-portfolio .contact-icon-only:hover svg { fill: var(--accent); }\\n  .jh-portfolio .contact-icon-only svg {\\n    width: 18px;\\n    height: 18px;\\n    fill: var(--text-dim);\\n    transition: fill 0.2s;\\n  }\\n\\n  .jh-portfolio .jh-footer {\\n    padding: 36px 0;\\n    border-top: 1px solid var(--line);\\n    display: flex;\\n    justify-content: space-between;\\n    align-items: center;\\n    font-family: var(--mono);\\n    font-size: 11px;\\n    color: var(--text-faint);\\n    letter-spacing: 0.1em;\\n    text-transform: uppercase;\\n  }\\n\\n  @media (max-width: 600px) {\\n    .jh-portfolio .jh-footer { flex-direction: column; gap: 12px; text-align: center; }\\n  }\\n</style>\\n\\n<link rel=\"preconnect\" href=\"https://fonts.googleapis.com\">\\n<link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\\n<link href=\"https://fonts.googleapis.com/css2?family=Syne:wght@400;500;600;700;800&family=Inter:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400;1,500&family=JetBrains+Mono:wght@400;500&display=swap\" rel=\"stylesheet\">\\n\\n<div class=\"grid-bg\" id=\"jh-grid-bg\" style=\"display:none\"></div>\\n\\n<div class=\"shell\">\\n\\n\\n  <!-- CTA -->\\n  <section class=\"cta\" id=\"jh-contact\">\\n    <div class=\"cta-eyebrow\">\\n      <span class=\"status-dot\"></span>\\n      Open to work\\n    </div>\\n    <h2>\\n      Let\\'s build<br>\\n      <em>something together</em>.\\n    </h2>\\n\\n    <div class=\"contact-grid\">\\n      <a href=\"mailto:joannejingyuan@gmail.com\" target=\"_top\" class=\"contact-item\">\\n        <svg viewBox=\"0 0 24 24\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\\n          <rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\"/>\\n          <path d=\"M3 7l9 6 9-6\"/>\\n        </svg>\\n        joannejingyuan@gmail.com\\n      </a>\\n      <a href=\"tel:+18572688371\" target=\"_top\" class=\"contact-item\">\\n        <svg viewBox=\"0 0 24 24\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\\n          <path d=\"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z\"/>\\n        </svg>\\n        +1 857-268-8371\\n      </a>\\n      <a href=\"https://jhuang.art\" target=\"_top\" class=\"contact-item\">\\n        <svg viewBox=\"0 0 24 24\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\\n          <circle cx=\"12\" cy=\"12\" r=\"10\"/>\\n          <line x1=\"2\" y1=\"12\" x2=\"22\" y2=\"12\"/>\\n          <path d=\"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z\"/>\\n        </svg>\\n        jhuang.art\\n      </a>\\n      <a href=\"https://www.linkedin.com/in/jingyuan-huang-633743125/\" class=\"contact-icon-only\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"LinkedIn\">\\n        <svg viewBox=\"0 0 24 24\" fill=\"currentColor\" stroke=\"none\">\\n          <path d=\"M19 3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14zM8.5 18.5v-9h-3v9h3zM7 8a1.75 1.75 0 1 0 0-3.5 1.75 1.75 0 0 0 0 3.5zm11.5 10.5v-5.05c0-2.6-1.4-3.8-3.27-3.8-1.5 0-2.18.83-2.55 1.4v-1.2h-2.83c.04.85 0 9 0 9h2.83v-5.03c0-.25.02-.5.1-.68.2-.5.66-1.02 1.43-1.02 1.01 0 1.42.77 1.42 1.9v4.83h2.87z\"/>\\n        </svg>\\n      </a>\\n    </div>\\n  </section>\\n\\n  <div class=\"jh-footer\">\\n    <div>\\xa9 2026 Joanne Huang</div>\\n    <div>jhuang.art</div>\\n  </div>\\n\\n</div>\\n\\n\\n\\n\\n</div>\\n\\n\\n',id:\"lRzcv3O2T\",layoutId:\"lRzcv3O2T\",radius:\"0px\",style:{height:\"100%\",width:\"100%\"},type:\"html\",url:\"\",width:\"100%\",zoom:1})})})})]}),/*#__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=breakpointRules[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 1507\n * @framerIntrinsicWidth 1440\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerVariables {\"pPRCIBFru\":\"footer\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n * @framerHitTargets {\"nImJAvKuG\":[\".framer-1xzocl3\",\".framer-1tl7ilz\"]}\n * @framerBreakpoints {\"nImJAvKuG\":{\"canvasClassName\":\"framer-povseb-override\",\"minHeight\":1507,\"name\":\"Desktop\",\"width\":1440,\"rootFontSize\":16}}\n * @framerDefaultVariant nImJAvKuG\n * @framerLayoutTemplate true\n */const Framerpd3OPEPIO=withCSS(Component,css,\"framer-nhlvU\");export default Framerpd3OPEPIO;Framerpd3OPEPIO.displayName=\"Template\";Framerpd3OPEPIO.defaultProps={height:1507,width:1440};addPropertyControls(Framerpd3OPEPIO,{pPRCIBFru:{defaultValue:true,title:\"footer\",type:ControlType.Boolean}});addFonts(Framerpd3OPEPIO,[{explicitInter:true,fonts:[]},...BrandLogoFonts,...NavNavLinkFonts,...SecondaryButtonFonts,...EmbedFonts],{supportsExplicitInterCodegen:true});Framerpd3OPEPIO.loader={load:(props,context)=>{const locale=context.locale;return Promise.allSettled([forwardLoader(MenuButton,{},context),forwardLoader(NavNavLink,{},context),forwardLoader(SecondaryButton,{},context)]);}};\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Framerpd3OPEPIO\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerAutoSizeImages\":\"true\",\"framerLayoutTemplate\":\"true\",\"framerImmutableVariables\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicWidth\":\"1440\",\"framerVariables\":\"{\\\"pPRCIBFru\\\":\\\"footer\\\"}\",\"framerIntrinsicHeight\":\"1507\",\"framerBreakpoints\":\"{\\\"nImJAvKuG\\\":{\\\"canvasClassName\\\":\\\"framer-povseb-override\\\",\\\"minHeight\\\":1507,\\\"name\\\":\\\"Desktop\\\",\\\"width\\\":1440,\\\"rootFontSize\\\":16}}\",\"framerDefaultVariant\":\"nImJAvKuG\",\"framerHitTargets\":\"{\\\"nImJAvKuG\\\":[\\\".framer-1xzocl3\\\",\\\".framer-1tl7ilz\\\"]}\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerColorSyntax\":\"true\",\"framerDisplayContentsDiv\":\"false\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__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/721Obl9XbJzCtXmUR9IM/uPOCBOGaHW3zcFOD8dLh/pd3OPEPIO.js\";\r\n\r\n\t\tconst routes = {eAXW4TQ8Z: {elements: {CVA2LaQDG: \"work\", xZii3mxi7: \"about\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/uJaWiv643Oqxko2AhKyh/HYat2CYDzdZGJVkMqPC4/eAXW4TQ8Z.js\")), path: \"/\"}, gSWbG5WG4: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/qFOM7VIBE5HdBJg6A8Fj/rg5zxlRycw7n9z4XEj4p/gSWbG5WG4.js\")), path: \"/404\"}, AJ4MdDLj5: {elements: {D7oTywXuc: \"hero\", SYlLPSii3: \"projects\", yYLkrKM5X: \"about-me\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/m29A3YOFDP4XRdkBdp4i/5EUJx2tgNyh6ODEPljIq/AJ4MdDLj5.js\")), path: \"/works\"}, cCekHw2iz: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/sCuj93S37OvT5b3rSzyj/cHj1KoQAXJ7KctBGDZsj/cCekHw2iz.js\")), path: \"/works/careerlink\"}, Nbj7ZO6If: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/UaWvQBpXXhVYJY4cOWJz/bkCbsptbimI3igMJFFnX/Nbj7ZO6If.js\")), path: \"/works/govalley\"}, wJr8wkDL3: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/PXuiTfJSiEsPh3NOerda/CJugtsJSu9et0tAo1yOO/wJr8wkDL3.js\")), path: \"/works/xbuild-adu\"}, UIZ_WWOHj: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/xQGLQ5VAKXORM4cyYkwN/Twk3eFppmcorK0FND49J/UIZ_WWOHj.js\")), path: \"/works/xbuild-go\"}, Eruf035Lt: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/TcmuSHT5AUpBCV6UN5Bd/2LX65rh0kUeAMY0y7Zqq/Eruf035Lt.js\")), path: \"/resume\"}}\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 = \"8d8cc09869a3727a911d87cf86e97d31582fbe65dda3347e0c46988829cf51fd\"\r\n\t\tfunction Template({webPageId, children, style, ...rest}) {const props1 = {pPRCIBFru: false}\r\nconst props2 = {...props1, pPRCIBFru: true}\r\nconst templateProps = {AJ4MdDLj5: props1, cCekHw2iz: props2, eAXW4TQ8Z: props1, Eruf035Lt: props1, gSWbG5WG4: props1, Nbj7ZO6If: props2, UIZ_WWOHj: props2, wJr8wkDL3: props2}\r\nconst props = templateProps[webPageId] ?? {}\r\nswitch (webPageId) {case \"eAXW4TQ8Z\":\r\ncase \"gSWbG5WG4\":\r\ncase \"AJ4MdDLj5\":\r\ncase \"cCekHw2iz\":\r\ncase \"Nbj7ZO6If\":\r\ncase \"wJr8wkDL3\":\r\ncase \"UIZ_WWOHj\":\r\ncase \"Eruf035Lt\":\r\nreturn React.createElement(Template1, {...props, key: \"Template1\", style}, children(true));\r\ndefault: { return children(false) }}}\r\nexport function getLayoutTemplateBreakpoints(routeId) {switch (routeId) {case \"eAXW4TQ8Z\":\r\ncase \"gSWbG5WG4\":\r\ncase \"AJ4MdDLj5\":\r\ncase \"cCekHw2iz\":\r\ncase \"Nbj7ZO6If\":\r\ncase \"wJr8wkDL3\":\r\ncase \"UIZ_WWOHj\":\r\ncase \"Eruf035Lt\":\r\nreturn [{hash: \"povseb\"}]\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/qFOM7VIBE5HdBJg6A8Fj/rg5zxlRycw7n9z4XEj4p/gSWbG5WG4.js\")),\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://jhuang.art\",\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/2hh02xqKXC3lLK5AwLS6/IrC8C5ra7TbdZRh0PAQ4/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, disableCustomCode: false, 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\t\r\n\t\t\tconst page = React.createElement(Framer.PageEffectsProvider, {\r\n\t\t\t\tchildren: contentWithGracefullyDegradingErrorBoundary,\r\n\t\t\t\tvalue: {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\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\t\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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"}