{"version":3,"file":"SiteNav.m7d_AwGe.mjs","names":["mask","Base","MotionSVG","SVG","svg","getProps","Icon","React.forwardRef","mask","Base","MotionSVG","SVG","svg","getProps","Icon","React.forwardRef","mask","Base","MotionSVG","SVG","svg","getProps","Icon","React.forwardRef","mask","Base","MotionSVG","SVG","svg","getProps","Icon","React.forwardRef","getProps","React.forwardRef","React.useState","fonts","css","className","fonts","css","className","fonts","css","className","css","LinkedinLogo","Article","EnvelopeSimple","React.useContext","React.useMemo","React.Fragment","useRef","React.useId","sharedStyle.className","sharedStyle1.className","sharedStyle2.className","sharedStyle3.className","className","List","X","SVG","sharedStyle.css","sharedStyle1.css","sharedStyle2.css","sharedStyle3.css","sharedStyle.fonts","sharedStyle1.fonts","sharedStyle2.fonts","sharedStyle3.fonts","useState","useRef","_Fragment","useState","useId","useRef","_Fragment","c","Framer.useRouter","__esmMin","pe","init_npm_react_18_3_1","init_ssg_sandbox_shims","navigator","window","x","ie","le","init_npm_react_dom_18_3_1","l","_e","Ha","oe","p","c","J","init_jsx_runtime","motion","useMotionValue","MotionConfigContext","AnimatePresence","animate","LayoutGroup","init_framer_motion_DhsWWWsN","useReducedMotion","getFonts","fontStore","init_framer_BWFVvmND","useComponentViewport","cx","useActiveVariantCallback","SVG$5","useLocaleInfo","addPropertyControls","Instance","useRouter$1","withCSS","RichText","getFontsFromSharedStyle","useSVGTemplate","ControlType","ComponentViewportProvider","Link","useVariantState","SmartComponentScopedContainer","addFonts","mask$4","Base$4","MotionSVG$4","SVG$4","svg$4","getProps$5","Icon$4","init_itu1soPCZ","props","rest","animated","color","width1","alpha","restProps","href","className","qxTvv_EBh","ezTt3ayMo","lschgej4H","style","mask$3","Base$3","MotionSVG$3","SVG$3","svg$3","getProps$4","Icon$3","init_cO5t5X04q","mask$2","Base$2","MotionSVG$2","SVG$2","svg$2","getProps$3","Icon$2","init_hNcHJzSkR","mask$1","Base$1","MotionSVG$1","SVG$1","svg$1","getProps$2","Icon$1","init_sYXjYwbRE","mask","Base","MotionSVG","SVG","svg","getProps$1","Icon","init_q95pf4lLL","Tooltip","pos","setPos","visible","setVisible","tooltipText","setTooltipText","text","hovering","setHovering","copyable","copyText","copyValue","copiedText","err","content","offsetY","offsetX","bg","init_Tooltip","fonts$3","css$4","className$3","init_dVEcTAXnl","fonts$2","css$3","className$2","init_LBtJjaFrd","fonts$1","css$2","className$1","init_mk0pHsloN","fonts","css$1","init_MX5bC9hJI","addPropertyOverrides","variants","nextOverrides","variant","overrides","LinkedinLogoFonts","TooltipFonts","ArticleFonts","EnvelopeSimpleFonts","cycleOrder","serializationHash","variantClassNames","transition1","transition2","transformTemplate1","animation","Transition","humanReadableVariantMap","Variants","getProps","createLayoutDependency","Component","css","Framerq37E8wCND","init_q37E8wCND","config","transition","value","contextValue","fallbackRef","de","refBinding","ref","defaultLayoutId","className$4","layoutDependency","scopingClassNames","isDisplayed","baseVariant","onTap1s3v249","activeVariantCallback","args","setVariant","onTapd6kuwo","isDisplayed1","layoutId","gestureVariant","gestureHandlers","classNames","CustomCursor","hidden","setHidden","linkHovered","setLinkHovered","clicked","setClicked","textMode","setTextMode","flash","setFlash","ce","id","on","d","e","label","showText","hiddenRef","linkRef","textRef","D","square","mouseX","mouseY","animDur","textDur","measureRef","pill","setPill","el","w","h","styleEl","lastTarget","onRaw","onMove","t","overTrigger","overLink","onLeave","onDown","onUp","raw","ringScale","baseVisible","radiusValue","pillRadius","H","inverting","g","init_Circle_Cursor","ensureSFPro","CSS","ensureTheme","getTheme","applyTheme","next","themeReveal","doc","swap","vtCss","st","W","T","TILE_PX","cols","rows","ox","from","oy","delay","maxD","r","i","n","smooth","clip","pts","rect","x0","y0","x1","y1","run","ms","cy","vt","t0","tick","now","pageParts","nav","frame","pageOut","slide","dir","SHIFT","HOLD","pageIn","note","usePosters","set","root","v","posterFor","mo","m","muts","useCaseStudyReveal","navRef","reduce","picked","els","o","queue","timer","flush","a","b","k","io","entries","left","sweep","page","useCaseStudyToc","TOC_CSS","links","scan","slug","heads","hash","spy","offset","current","lastScan","best","bestTop","reached","key","onClick","hit","y","t1","t2","rt","onResize","useTocAlign","raf","align","lead","target","shift","box","row","rb","timers","ro","ProjectMark","project","size","Hoverable","Tag","hover","setHover","elRef","hoverStyle","ok","MailClip","EASE","copied","GREEN","SwapWord","word","ContactIcon","common","name","ThemeToggle","theme","setTheme","ready","setReady","clipId","toggle","night","still","iconBtn","INK","HOVER","RAYS","BULB","PagePills","shown","setShown","open","setOpen","back","setBackRaw","setBack","chip","copy","anim","apply","s","width","cur","measure","to","c0","workEl","fromLive","TRAVEL","SLING","f0","first","onPage","CHIP","EASE_CSS","PAGE","pages","pillStyle","FIXED","FoldIcon","lines","bubble","dur","touched","dy","turn","flipFrom","MiniPlayer","track","setTrack","playing","setPlaying","host","setHost","parked","setParked","glassEl","discEl","btnEl","seen","spinDelay","touch","setTouch","sync","landing","setLanding","f","show","carry","disc","btn","s0","tries","ease","step","d0","b0","btnInk","p0","place","skipExit","parts","pb","ink","close","openX","glass","INK_2","installSfx","ctx","noise","lastAt","AC","len","burst","src","fl","play","toNight","up","at","mark","installGrain","installClickTracking","siteId","send","trackingId","route","cvLine","ResumeText","MUTED","SERIF","CV","sec","it","j","ResumeViewer","narrow","setNarrow","read","closeBtn","opener","pdf","image","prev","onKey","download","blob","url","small","CV_BTN","CV_LINKS","SiteNav","router","useRouter","uid","listId","panelId","path","fromPath","arrive","leaving","setLeaving","setCarry","PROJECTS","setCurrent","phoneInset","setPhoneInset","col","touchUI","setTouchUI","mq","check","contactOpen","setContactOpen","menuOpen","setMenuOpen","menuRef","go","navEl","change","ORDER","changeRef","onNav","onGo","tLayout","contacts","linkedin","resume","email","pageLink","setCopied","copyTimer","onEmail","contactLinks","c$1","withLabels","SANS","POSTERS","init_SiteNav","video"],"sources":["https:/framerusercontent.com/modules/4xJsJPc59it6XmHEERsh/koUifyDPwJ9ohyYl3uMd/itu1soPCZ.js","https:/framerusercontent.com/modules/c6djO2P0KGXV7cScNokP/5XgwtcRReJrsilT42RB4/cO5t5X04q.js","https:/framerusercontent.com/modules/JNI0unvKLnSNOjYgWQPe/cFK4x7HnGbxoZXkZNw5W/hNcHJzSkR.js","https:/framerusercontent.com/modules/Uzqkv2OV8vOM0tvVJuKZ/Wcbds34669567Myvr1Km/sYXjYwbRE.js","https:/framerusercontent.com/modules/wbL0GysLpUpZOLelXsKU/7IhRlKXIvqCTv7OUjGRe/q95pf4lLL.js","https:/framerusercontent.com/modules/vYVPop8Ctya3DJ2Q7Miy/DQtTgXqCE8Npnzn3y2e1/Tooltip.js","https:/framerusercontent.com/modules/bvjgVaDDydMb6oTnSe4X/uwOuSqk4Zlfukykku3ua/dVEcTAXnl.js","https:/framerusercontent.com/modules/xxpEGZN0Y9h5XMC0YL72/FP8IlZ13FoY1kd1RV0CE/LBtJjaFrd.js","https:/framerusercontent.com/modules/mNjA27unSRQ2VNBp0dAB/KvYtiSJYf3NZEpOvqpAw/mk0pHsloN.js","https:/framerusercontent.com/modules/pOQ8eWsw40e4UKRgXJK5/1Mb6hvtuCCsXI2wtm3Li/MX5bC9hJI.js","https:/framerusercontent.com/modules/z9W4xk9tmUH29uST1mJS/WnI4AoNbfl3hjil2DeuM/q37E8wCND.js","https:/framerusercontent.com/modules/jUjhHqGem4kPs2mFtfFV/h9lSxr37nQzOkpn4GpZF/Circle_Cursor.js","https:/framerusercontent.com/modules/csEMbn39LNIpLNJMQZ60/X0YwSysbQnOnUyzWVtq6/SiteNav.js"],"sourcesContent":["// Generated by Framer (6ca5d98)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,useSVGTemplate,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask=\"var(--framer-icon-mask)\";const Base=/*#__PURE__*/forwardRef(function(props,ref){return /*#__PURE__*/_jsx(\"svg\",{...props,ref:ref,children:props.children});});const MotionSVG=motion.create(Base);const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(MotionSVG,{...rest,layoutId:layoutId,ref:ref,children:children}):/*#__PURE__*/_jsx(\"svg\",{...rest,ref:ref,children:children});});const svg='<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 0 12 L 0 0 L 16.5 0 L 16.5 12 Z\" fill-opacity=\"var(--1m6trwb, 0)\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"12px\" id=\"gwB_ZdJt6\" transform=\"translate(3.75 6)\" width=\"16.5px\"/><path d=\"M 0 0 L 16.5 0\" fill=\"transparent\" height=\"1px\" id=\"xGkn4qbwc\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(3.75 12)\" width=\"16.5px\"/><path d=\"M 0 0 L 16.5 0\" fill=\"transparent\" height=\"1px\" id=\"uQ9bOFKFt\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(3.75 6)\" width=\"16.5px\"/><path d=\"M 0 0 L 16.5 0\" fill=\"transparent\" height=\"1px\" id=\"hrURkUe9P\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(3.75 18)\" width=\"16.5px\"/></svg>';const getProps=({alpha,color,height,id,width,width1,...props})=>{return{...props,ezTt3ayMo:color??props.ezTt3ayMo??\"rgb(0, 0, 0)\",lschgej4H:width1??props.lschgej4H??1.5,qxTvv_EBh:alpha??props.qxTvv_EBh};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,ezTt3ayMo,lschgej4H,qxTvv_EBh,...restProps}=getProps(props);const href=useSVGTemplate(\"3559153988\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-iZmZi\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{\"--1m6trwb\":qxTvv_EBh,\"--21h8s6\":ezTt3ayMo,\"--pgex8v\":lschgej4H,...style},viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-iZmZi { -webkit-mask: ${mask}; aspect-ratio: 1; display: block; mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"ezTt3ayMo\":\"color\",\"lschgej4H\":\"width1\",\"qxTvv_EBh\":\"alpha\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"List\",\"color\":{\"type\":\"variable\",\"value\":\"21h8s6\"},\"set\":{\"localId\":\"vectorSet/NGVKdicsm\",\"id\":\"NGVKdicsm\",\"moduleId\":\"omX0gWFPqDwhaiWwf6ab\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-iZmZi\");Icon.displayName=\"List\";export default Icon;addPropertyControls(Icon,{ezTt3ayMo:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Color\",type:ControlType.Color},lschgej4H:{defaultValue:1.5,displayStepper:true,hidden:false,max:6,min:0,step:.5,title:\"Width\",type:ControlType.Number},qxTvv_EBh:{defaultValue:0,displayStepper:true,hidden:false,max:1,min:0,step:.1,title:\"Alpha\",type:ControlType.Number}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"24\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerImmutableVariables\":\"true\",\"framerVariables\":\"{\\\"ezTt3ayMo\\\":\\\"color\\\",\\\"lschgej4H\\\":\\\"width1\\\",\\\"qxTvv_EBh\\\":\\\"alpha\\\"}\",\"framerVector\":\"{\\\"name\\\":\\\"List\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"21h8s6\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/NGVKdicsm\\\",\\\"id\\\":\\\"NGVKdicsm\\\",\\\"moduleId\\\":\\\"omX0gWFPqDwhaiWwf6ab\\\"}}\",\"framerDisableUnlink\":\"true\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"24\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (6ca5d98)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,useSVGTemplate,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask=\"var(--framer-icon-mask)\";const Base=/*#__PURE__*/forwardRef(function(props,ref){return /*#__PURE__*/_jsx(\"svg\",{...props,ref:ref,children:props.children});});const MotionSVG=motion.create(Base);const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(MotionSVG,{...rest,layoutId:layoutId,ref:ref,children:children}):/*#__PURE__*/_jsx(\"svg\",{...rest,ref:ref,children:children});});const svg='<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 0.75 15 C 0.336 15 0 14.664 0 14.25 L 0 0.75 C 0 0.336 0.336 0 0.75 0 L 17.25 0 C 17.664 0 18 0.336 18 0.75 L 18 14.25 C 18 14.664 17.664 15 17.25 15 Z\" fill-opacity=\"var(--1m6trwb, 0)\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"15px\" id=\"cWJHtsWMe\" transform=\"translate(3 4.5)\" width=\"18px\"/><path d=\"M 0.75 15 C 0.336 15 0 14.664 0 14.25 L 0 0.75 C 0 0.336 0.336 0 0.75 0 L 17.25 0 C 17.664 0 18 0.336 18 0.75 L 18 14.25 C 18 14.664 17.664 15 17.25 15 Z\" fill=\"transparent\" height=\"15px\" id=\"SpmVnQyDX\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(3 4.5)\" width=\"18px\"/><path d=\"M 0 0 L 9 0\" fill=\"transparent\" height=\"1px\" id=\"oC1H5Lwyu\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(7.5 9)\" width=\"9px\"/><path d=\"M 0 0 L 9 0\" fill=\"transparent\" height=\"1px\" id=\"UdWdkzrOt\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(7.5 12)\" width=\"9px\"/><path d=\"M 0 0 L 9 0\" fill=\"transparent\" height=\"1px\" id=\"iVIU69vMU\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(7.5 15)\" width=\"9px\"/></svg>';const getProps=({alpha,color,height,id,width,width1,...props})=>{return{...props,ezTt3ayMo:color??props.ezTt3ayMo??\"rgb(0, 0, 0)\",lschgej4H:width1??props.lschgej4H??1.5,qxTvv_EBh:alpha??props.qxTvv_EBh};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,ezTt3ayMo,lschgej4H,qxTvv_EBh,...restProps}=getProps(props);const href=useSVGTemplate(\"2153243942\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-VyMrl\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{\"--1m6trwb\":qxTvv_EBh,\"--21h8s6\":ezTt3ayMo,\"--pgex8v\":lschgej4H,...style},viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-VyMrl { -webkit-mask: ${mask}; aspect-ratio: 1; display: block; mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"ezTt3ayMo\":\"color\",\"lschgej4H\":\"width1\",\"qxTvv_EBh\":\"alpha\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Article\",\"color\":{\"type\":\"variable\",\"value\":\"21h8s6\"},\"set\":{\"localId\":\"vectorSet/NGVKdicsm\",\"id\":\"NGVKdicsm\",\"moduleId\":\"omX0gWFPqDwhaiWwf6ab\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-VyMrl\");Icon.displayName=\"Article\";export default Icon;addPropertyControls(Icon,{ezTt3ayMo:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Color\",type:ControlType.Color},lschgej4H:{defaultValue:1.5,displayStepper:true,hidden:false,max:6,min:0,step:.5,title:\"Width\",type:ControlType.Number},qxTvv_EBh:{defaultValue:0,displayStepper:true,hidden:false,max:1,min:0,step:.1,title:\"Alpha\",type:ControlType.Number}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerImmutableVariables\":\"true\",\"framerVector\":\"{\\\"name\\\":\\\"Article\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"21h8s6\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/NGVKdicsm\\\",\\\"id\\\":\\\"NGVKdicsm\\\",\\\"moduleId\\\":\\\"omX0gWFPqDwhaiWwf6ab\\\"}}\",\"framerIntrinsicHeight\":\"24\",\"framerContractVersion\":\"1\",\"framerVariables\":\"{\\\"ezTt3ayMo\\\":\\\"color\\\",\\\"lschgej4H\\\":\\\"width1\\\",\\\"qxTvv_EBh\\\":\\\"alpha\\\"}\",\"framerIntrinsicWidth\":\"24\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerDisableUnlink\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (6ca5d98)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,useSVGTemplate,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask=\"var(--framer-icon-mask)\";const Base=/*#__PURE__*/forwardRef(function(props,ref){return /*#__PURE__*/_jsx(\"svg\",{...props,ref:ref,children:props.children});});const MotionSVG=motion.create(Base);const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(MotionSVG,{...rest,layoutId:layoutId,ref:ref,children:children}):/*#__PURE__*/_jsx(\"svg\",{...rest,ref:ref,children:children});});const svg='<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 0.75 18 C 0.336 18 0 17.664 0 17.25 L 0 0.75 C 0 0.336 0.336 0 0.75 0 L 17.25 0 C 17.664 0 18 0.336 18 0.75 L 18 17.25 C 18 17.664 17.664 18 17.25 18 Z\" fill-opacity=\"var(--1m6trwb, 0)\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"18px\" id=\"ubm8tT7Gs\" transform=\"translate(3 3)\" width=\"18px\"/><path d=\"M 0.75 18 C 0.336 18 0 17.664 0 17.25 L 0 0.75 C 0 0.336 0.336 0 0.75 0 L 17.25 0 C 17.664 0 18 0.336 18 0.75 L 18 17.25 C 18 17.664 17.664 18 17.25 18 Z\" fill=\"transparent\" height=\"18px\" id=\"uLIbokj1X\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(3 3)\" width=\"18px\"/><path d=\"M 0 0 L 0 6\" fill=\"transparent\" height=\"6px\" id=\"wcL4Xtw6S\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(11.25 10.5)\" width=\"1px\"/><path d=\"M 0 0 L 0 6\" fill=\"transparent\" height=\"6px\" id=\"haFqKG9T6\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(8.25 10.5)\" width=\"1px\"/><path d=\"M 0 2.625 C 0 1.175 1.175 0 2.625 0 C 4.075 0 5.25 1.175 5.25 2.625 L 5.25 6\" fill=\"transparent\" height=\"6px\" id=\"ldXP7NTX2\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(11.25 10.5)\" width=\"5.25px\"/><path d=\"M 0 1.125 C 0 0.504 0.504 0 1.125 0 C 1.746 0 2.25 0.504 2.25 1.125 C 2.25 1.746 1.746 2.25 1.125 2.25 C 0.504 2.25 0 1.746 0 1.125 Z\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"2.25px\" id=\"M86o3vn0T\" transform=\"translate(7.125 6.75)\" width=\"2.25px\"/></svg>';const getProps=({alpha,color,height,id,width,width1,...props})=>{return{...props,ezTt3ayMo:color??props.ezTt3ayMo??\"rgb(0, 0, 0)\",lschgej4H:width1??props.lschgej4H??1.5,qxTvv_EBh:alpha??props.qxTvv_EBh};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,ezTt3ayMo,lschgej4H,qxTvv_EBh,...restProps}=getProps(props);const href=useSVGTemplate(\"4033599021\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-qVh2c\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{\"--1m6trwb\":qxTvv_EBh,\"--21h8s6\":ezTt3ayMo,\"--pgex8v\":lschgej4H,...style},viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-qVh2c { -webkit-mask: ${mask}; aspect-ratio: 1; display: block; mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"ezTt3ayMo\":\"color\",\"lschgej4H\":\"width1\",\"qxTvv_EBh\":\"alpha\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Linkedin Logo\",\"color\":{\"type\":\"variable\",\"value\":\"21h8s6\"},\"set\":{\"localId\":\"vectorSet/NGVKdicsm\",\"id\":\"NGVKdicsm\",\"moduleId\":\"omX0gWFPqDwhaiWwf6ab\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-qVh2c\");Icon.displayName=\"Linkedin Logo\";export default Icon;addPropertyControls(Icon,{ezTt3ayMo:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Color\",type:ControlType.Color},lschgej4H:{defaultValue:1.5,displayStepper:true,hidden:false,max:6,min:0,step:.5,title:\"Width\",type:ControlType.Number},qxTvv_EBh:{defaultValue:0,displayStepper:true,hidden:false,max:1,min:0,step:.1,title:\"Alpha\",type:ControlType.Number}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"true\",\"framerVariables\":\"{\\\"ezTt3ayMo\\\":\\\"color\\\",\\\"lschgej4H\\\":\\\"width1\\\",\\\"qxTvv_EBh\\\":\\\"alpha\\\"}\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"24\",\"framerIntrinsicHeight\":\"24\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerImmutableVariables\":\"true\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerVector\":\"{\\\"name\\\":\\\"Linkedin Logo\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"21h8s6\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/NGVKdicsm\\\",\\\"id\\\":\\\"NGVKdicsm\\\",\\\"moduleId\\\":\\\"omX0gWFPqDwhaiWwf6ab\\\"}}\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (6ca5d98)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,useSVGTemplate,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask=\"var(--framer-icon-mask)\";const Base=/*#__PURE__*/forwardRef(function(props,ref){return /*#__PURE__*/_jsx(\"svg\",{...props,ref:ref,children:props.children});});const MotionSVG=motion.create(Base);const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(MotionSVG,{...rest,layoutId:layoutId,ref:ref,children:children}):/*#__PURE__*/_jsx(\"svg\",{...rest,ref:ref,children:children});});const svg='<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 18 0 L 9 8.25 L 0 0 Z\" fill-opacity=\"var(--1m6trwb, 0)\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"8.25px\" id=\"vcLsrdoR2\" transform=\"translate(3 5.25)\" width=\"18px\"/><path d=\"M 0 0 L 18 0 L 18 0 L 18 12.75 C 18 13.164 17.664 13.5 17.25 13.5 L 0.75 13.5 C 0.336 13.5 0 13.164 0 12.75 L 0 0 Z\" fill=\"transparent\" height=\"13.5px\" id=\"IQRHKCjuC\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(3 5.25)\" width=\"18px\"/><path d=\"M 18 0 L 9 8.25 L 0 0\" fill=\"transparent\" height=\"8.25px\" id=\"qKAGBBtCQ\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(3 5.25)\" width=\"18px\"/></svg>';const getProps=({alpha,color,height,id,width,width1,...props})=>{return{...props,ezTt3ayMo:color??props.ezTt3ayMo??\"rgb(0, 0, 0)\",lschgej4H:width1??props.lschgej4H??1.5,qxTvv_EBh:alpha??props.qxTvv_EBh};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,ezTt3ayMo,lschgej4H,qxTvv_EBh,...restProps}=getProps(props);const href=useSVGTemplate(\"99690465\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-kKX2d\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{\"--1m6trwb\":qxTvv_EBh,\"--21h8s6\":ezTt3ayMo,\"--pgex8v\":lschgej4H,...style},viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-kKX2d { -webkit-mask: ${mask}; aspect-ratio: 1; display: block; mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"ezTt3ayMo\":\"color\",\"lschgej4H\":\"width1\",\"qxTvv_EBh\":\"alpha\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Envelope Simple\",\"color\":{\"type\":\"variable\",\"value\":\"21h8s6\"},\"set\":{\"localId\":\"vectorSet/NGVKdicsm\",\"id\":\"NGVKdicsm\",\"moduleId\":\"omX0gWFPqDwhaiWwf6ab\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-kKX2d\");Icon.displayName=\"Envelope Simple\";export default Icon;addPropertyControls(Icon,{ezTt3ayMo:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Color\",type:ControlType.Color},lschgej4H:{defaultValue:1.5,displayStepper:true,hidden:false,max:6,min:0,step:.5,title:\"Width\",type:ControlType.Number},qxTvv_EBh:{defaultValue:0,displayStepper:true,hidden:false,max:1,min:0,step:.1,title:\"Alpha\",type:ControlType.Number}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"24\",\"framerVector\":\"{\\\"name\\\":\\\"Envelope Simple\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"21h8s6\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/NGVKdicsm\\\",\\\"id\\\":\\\"NGVKdicsm\\\",\\\"moduleId\\\":\\\"omX0gWFPqDwhaiWwf6ab\\\"}}\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerImmutableVariables\":\"true\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicHeight\":\"24\",\"framerVariables\":\"{\\\"ezTt3ayMo\\\":\\\"color\\\",\\\"lschgej4H\\\":\\\"width1\\\",\\\"qxTvv_EBh\\\":\\\"alpha\\\"}\",\"framerDisableUnlink\":\"true\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (6ca5d98)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,useSVGTemplate,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask=\"var(--framer-icon-mask)\";const Base=/*#__PURE__*/forwardRef(function(props,ref){return /*#__PURE__*/_jsx(\"svg\",{...props,ref:ref,children:props.children});});const MotionSVG=motion.create(Base);const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(MotionSVG,{...rest,layoutId:layoutId,ref:ref,children:children}):/*#__PURE__*/_jsx(\"svg\",{...rest,ref:ref,children:children});});const svg='<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 1.5 16.5 C 0.672 16.5 0 15.828 0 15 L 0 1.5 C 0 0.672 0.672 0 1.5 0 L 15 0 C 15.828 0 16.5 0.672 16.5 1.5 L 16.5 15 C 16.5 15.828 15.828 16.5 15 16.5 Z\" fill-opacity=\"var(--1m6trwb, 0)\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"16.5px\" id=\"LjE0Ycn76\" transform=\"translate(3.75 3.75)\" width=\"16.5px\"/><path d=\"M 13.5 0 L 0 13.5\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"13.5px\" id=\"oSDwjLCvX\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(5.25 5.25)\" width=\"13.5px\"/><path d=\"M 13.5 13.5 L 0 0\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"13.5px\" id=\"H9XwXWiXU\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(5.25 5.25)\" width=\"13.5px\"/></svg>';const getProps=({alpha,color,height,id,width,width1,...props})=>{return{...props,ezTt3ayMo:color??props.ezTt3ayMo??\"rgb(0, 0, 0)\",lschgej4H:width1??props.lschgej4H??1.5,qxTvv_EBh:alpha??props.qxTvv_EBh};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,ezTt3ayMo,lschgej4H,qxTvv_EBh,...restProps}=getProps(props);const href=useSVGTemplate(\"2202960551\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-AhL2C\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{\"--1m6trwb\":qxTvv_EBh,\"--21h8s6\":ezTt3ayMo,\"--pgex8v\":lschgej4H,...style},viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-AhL2C { -webkit-mask: ${mask}; aspect-ratio: 1; display: block; mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"ezTt3ayMo\":\"color\",\"lschgej4H\":\"width1\",\"qxTvv_EBh\":\"alpha\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"X\",\"color\":{\"type\":\"variable\",\"value\":\"21h8s6\"},\"set\":{\"localId\":\"vectorSet/NGVKdicsm\",\"id\":\"NGVKdicsm\",\"moduleId\":\"omX0gWFPqDwhaiWwf6ab\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-AhL2C\");Icon.displayName=\"X\";export default Icon;addPropertyControls(Icon,{ezTt3ayMo:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Color\",type:ControlType.Color},lschgej4H:{defaultValue:1.5,displayStepper:true,hidden:false,max:6,min:0,step:.5,title:\"Width\",type:ControlType.Number},qxTvv_EBh:{defaultValue:0,displayStepper:true,hidden:false,max:1,min:0,step:.1,title:\"Alpha\",type:ControlType.Number}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerImmutableVariables\":\"true\",\"framerDisableUnlink\":\"true\",\"framerVector\":\"{\\\"name\\\":\\\"X\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"21h8s6\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/NGVKdicsm\\\",\\\"id\\\":\\\"NGVKdicsm\\\",\\\"moduleId\\\":\\\"omX0gWFPqDwhaiWwf6ab\\\"}}\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"24\",\"framerIntrinsicHeight\":\"24\",\"framerContractVersion\":\"1\",\"framerVariables\":\"{\\\"ezTt3ayMo\\\":\\\"color\\\",\\\"lschgej4H\\\":\\\"width1\\\",\\\"qxTvv_EBh\\\":\\\"alpha\\\"}\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{createPortal}from\"react-dom\";export default function Tooltip(props){const{text,offsetX,offsetY,content,bg,color,copyable,copyValue=\"\",copyText=\"Copy to clipboard\",copiedText=\"Copied\"}=props;const[pos,setPos]=React.useState({x:0,y:0});const[visible,setVisible]=React.useState(false);const[tooltipText,setTooltipText]=React.useState(text);const[hovering,setHovering]=React.useState(false);const onMove=e=>setPos({x:e.clientX,y:e.clientY});const handleClick=async()=>{if(copyable&&copyValue){try{await navigator.clipboard.writeText(copyValue);setTooltipText(copiedText);setTimeout(()=>{setTooltipText(copyText);},1500);}catch(err){console.error(\"Failed to copy!\",err);}}};return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"inline-block\",position:\"relative\",cursor:hovering?\"pointer\":\"default\"},onMouseEnter:()=>{setVisible(true);setHovering(true);if(copyable)setTooltipText(copyText);},onMouseLeave:()=>{setVisible(false);setHovering(false);},onMouseMove:onMove,onClick:handleClick,children:[content,visible&&typeof document!==\"undefined\"&&/*#__PURE__*/createPortal(/*#__PURE__*/_jsx(\"div\",{style:{position:\"fixed\",top:pos.y+offsetY,left:pos.x+offsetX,background:bg,color,fontSize:12,padding:\"8px 12px\",borderRadius:0,pointerEvents:\"none\",whiteSpace:\"nowrap\",zIndex:99999},children:tooltipText}),document.body)]});}Tooltip.defaultProps={text:\"Tooltip\",offsetX:24,offsetY:12,bg:\"rgba(0,0,0,0.9)\",color:\"#ffffff\",copyable:false,copyValue:\"\",copyText:\"Copy to clipboard\",copiedText:\"Copied\"};addPropertyControls(Tooltip,{text:{type:ControlType.String,title:\"Text\",defaultValue:\"Home\"},offsetX:{type:ControlType.Number,title:\"Offset X\",defaultValue:24,min:0,max:200,unit:\"px\"},offsetY:{type:ControlType.Number,title:\"Offset Y\",defaultValue:12,min:0,max:200,unit:\"px\"},bg:{type:ControlType.Color,title:\"Background\",defaultValue:\"rgba(0,0,0,0.9)\"},color:{type:ControlType.Color,title:\"Text\",defaultValue:\"#ffffff\"},content:{type:ControlType.ComponentInstance,title:\"Child\"},copyable:{type:ControlType.Boolean,title:\"Copyable\",defaultValue:false},copyValue:{type:ControlType.String,title:\"Copy Value\",defaultValue:\"\"},copyText:{type:ControlType.String,title:\"Hover Text\",defaultValue:\"Copy to clipboard\"},copiedText:{type:ControlType.String,title:\"Clicked Text\",defaultValue:\"Copied\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Tooltip\",\"slots\":[\"content\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Tooltip.map","// Generated by Framer (c23da9b)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"GF;Newsreader-regular\",\"GF;Newsreader-700\",\"GF;Newsreader-700italic\",\"GF;Newsreader-italic\"]);export const fonts=[{explicitInter:true,fonts:[{cssFamilyName:\"Newsreader\",source:\"google\",style:\"normal\",uiFamilyName:\"Newsreader\",url:\"https://fonts.gstatic.com/s/newsreader/v26/cY9qfjOCX1hbuyalUrK49dLac06G1ZGsZBtoBCzBDXXD9JVF438weI_ACexEPjCggA.woff2\",weight:\"400\"},{cssFamilyName:\"Newsreader\",source:\"google\",style:\"normal\",uiFamilyName:\"Newsreader\",url:\"https://fonts.gstatic.com/s/newsreader/v26/cY9qfjOCX1hbuyalUrK49dLac06G1ZGsZBtoBCzBDXXD9JVF438wn4jACexEPjCggA.woff2\",weight:\"700\"},{cssFamilyName:\"Newsreader\",source:\"google\",style:\"italic\",uiFamilyName:\"Newsreader\",url:\"https://fonts.gstatic.com/s/newsreader/v26/cY9kfjOCX1hbuyalUrK439vogqC9yFZCYg7oRZaLP4obnf7fTXglsMzPSOZFHDWwgECi.woff2\",weight:\"700\"},{cssFamilyName:\"Newsreader\",source:\"google\",style:\"italic\",uiFamilyName:\"Newsreader\",url:\"https://fonts.gstatic.com/s/newsreader/v26/cY9kfjOCX1hbuyalUrK439vogqC9yFZCYg7oRZaLP4obnf7fTXglsMwoT-ZFHDWwgECi.woff2\",weight:\"400\"}]}];export const css=['.framer-5Or57 .framer-styles-preset-f0nhia:not(.rich-text-wrapper), .framer-5Or57 .framer-styles-preset-f0nhia.rich-text-wrapper h1 { --framer-font-family: \"Newsreader\", \"Newsreader Placeholder\", serif; --framer-font-family-bold: \"Newsreader\", \"Newsreader Placeholder\", serif; --framer-font-family-bold-italic: \"Newsreader\", \"Newsreader Placeholder\", serif; --framer-font-family-italic: \"Newsreader\", \"Newsreader Placeholder\", serif; --framer-font-open-type-features: normal; --framer-font-size: 32px; --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.15em; --framer-paragraph-spacing: 0px; --framer-text-alignment: start; --framer-text-color: var(--token-27b46205-b31d-4226-9b6d-d7c614a8f9cb, #1b1917); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }','@media (max-width: 1199px) and (min-width: 810px) { .framer-5Or57 .framer-styles-preset-f0nhia:not(.rich-text-wrapper), .framer-5Or57 .framer-styles-preset-f0nhia.rich-text-wrapper h1 { --framer-font-family: \"Newsreader\", \"Newsreader Placeholder\", serif; --framer-font-family-bold: \"Newsreader\", \"Newsreader Placeholder\", serif; --framer-font-family-bold-italic: \"Newsreader\", \"Newsreader Placeholder\", serif; --framer-font-family-italic: \"Newsreader\", \"Newsreader Placeholder\", serif; --framer-font-open-type-features: normal; --framer-font-size: 30px; --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.15em; --framer-paragraph-spacing: 0px; --framer-text-alignment: start; --framer-text-color: var(--token-27b46205-b31d-4226-9b6d-d7c614a8f9cb, #1b1917); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }','@media (max-width: 809px) and (min-width: 0px) { .framer-5Or57 .framer-styles-preset-f0nhia:not(.rich-text-wrapper), .framer-5Or57 .framer-styles-preset-f0nhia.rich-text-wrapper h1 { --framer-font-family: \"Newsreader\", \"Newsreader Placeholder\", serif; --framer-font-family-bold: \"Newsreader\", \"Newsreader Placeholder\", serif; --framer-font-family-bold-italic: \"Newsreader\", \"Newsreader Placeholder\", serif; --framer-font-family-italic: \"Newsreader\", \"Newsreader Placeholder\", serif; --framer-font-open-type-features: normal; --framer-font-size: 26px; --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.15em; --framer-paragraph-spacing: 0px; --framer-text-alignment: start; --framer-text-color: var(--token-27b46205-b31d-4226-9b6d-d7c614a8f9cb, #1b1917); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }'];export const className=\"framer-5Or57\";\nexport const __FramerMetadata__ = {\"exports\":{\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (c23da9b)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"Inter-Light\",\"Inter\",\"Inter-Italic\",\"Inter-LightItalic\"]);export const fonts=[{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/BkDpl4ghaqvMi1btKFyG2tdbec.woff2\",weight:\"300\"},{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/zAMK70AQRFSShJgUiaR5IiIhgzk.woff2\",weight:\"300\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/IETjvc5qzUaRoaruDpPSwCUM8.woff2\",weight:\"300\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/oLCoaT3ioA0fHdJnWR9W6k7NY.woff2\",weight:\"300\"},{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/Sj0PCHQSBjFmEp6NBWg6FNaKc.woff2\",weight:\"300\"},{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/aqiiD4LUKkKzXdjGL5UzHq8bo5w.woff2\",weight:\"300\"},{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/H4TfENUY1rh8R9UaSD6vngjJP3M.woff2\",weight:\"300\"},{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\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",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/CfMzU8w2e7tHgF4T4rATMPuWosA.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/867QObYax8ANsfX4TGEVU9YiCM.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Oyn2ZbENFdnW7mt2Lzjk1h9Zb9k.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/cdAe8hgZ1cMyLu9g005pAW3xMo.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",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/DOfvtmE1UplCq161m6Hj8CSQYg.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",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/pKRFNWFoZl77qYCAIp84lN1h944.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",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/tKtBcDnBMevsEEJKdNGhhkLzYo.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",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/YYB6GZmCWnZq3RWZOghuZIOxQY.woff2\",weight:\"300\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/miJTzODdiyIr3tRo9KEoqXXk2PM.woff2\",weight:\"300\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/6ZMhcggRFfEfbf7lncCpaUbA.woff2\",weight:\"300\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/8sCN6PGUr4I8q5hC5twAXfcwqV0.woff2\",weight:\"300\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",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/aUYDUTztS7anQw5JuwCncXeLOBY.woff2\",weight:\"300\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",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/8mwKwShtYEXIZ5diRBT74yn9jdQ.woff2\",weight:\"300\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",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/yDiPvYxioBHsicnYxpPW35WQmx8.woff2\",weight:\"300\"}]}];export const css=['.framer-GwcsT .framer-styles-preset-atzm4u:not(.rich-text-wrapper), .framer-GwcsT .framer-styles-preset-atzm4u.rich-text-wrapper p { --framer-font-family: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 16px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 300; --framer-font-weight-bold: 400; --framer-font-weight-bold-italic: 400; --framer-font-weight-italic: 300; --framer-letter-spacing: 0em; --framer-line-height: 1.55em; --framer-paragraph-spacing: 14px; --framer-text-alignment: start; --framer-text-color: var(--token-27b46205-b31d-4226-9b6d-d7c614a8f9cb, #1b1917); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }','@media (max-width: 1199px) and (min-width: 810px) { .framer-GwcsT .framer-styles-preset-atzm4u:not(.rich-text-wrapper), .framer-GwcsT .framer-styles-preset-atzm4u.rich-text-wrapper p { --framer-font-family: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 16px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 300; --framer-font-weight-bold: 400; --framer-font-weight-bold-italic: 400; --framer-font-weight-italic: 300; --framer-letter-spacing: 0em; --framer-line-height: 1.55em; --framer-paragraph-spacing: 14px; --framer-text-alignment: start; --framer-text-color: var(--token-27b46205-b31d-4226-9b6d-d7c614a8f9cb, #1b1917); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }','@media (max-width: 809px) and (min-width: 0px) { .framer-GwcsT .framer-styles-preset-atzm4u:not(.rich-text-wrapper), .framer-GwcsT .framer-styles-preset-atzm4u.rich-text-wrapper p { --framer-font-family: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 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: 300; --framer-font-weight-bold: 400; --framer-font-weight-bold-italic: 400; --framer-font-weight-italic: 300; --framer-letter-spacing: 0em; --framer-line-height: 1.55em; --framer-paragraph-spacing: 14px; --framer-text-alignment: start; --framer-text-color: var(--token-27b46205-b31d-4226-9b6d-d7c614a8f9cb, #1b1917); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }'];export const className=\"framer-GwcsT\";\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 (c23da9b)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"Inter\",\"Inter-Bold\",\"Inter-BoldItalic\",\"Inter-Italic\"]);export const fonts=[{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\"},{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/DpPBYI0sL4fYLgAkX8KXOPVt7c.woff2\",weight:\"700\"},{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/4RAEQdEOrcnDkhHiiCbJOw92Lk.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/1K3W8DizY3v4emK8Mb08YHxTbs.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/tUSCtfYVM1I1IchuyCwz9gDdQ.woff2\",weight:\"700\"},{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/VgYFWiwsAC5OYxAycRXXvhze58.woff2\",weight:\"700\"},{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/syRNPWzAMIrcJ3wIlPIP43KjQs.woff2\",weight:\"700\"},{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/GIryZETIX4IFypco5pYZONKhJIo.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",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/H89BbHkbHDzlxZzxi8uPzTsp90.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/u6gJwDuwB143kpNK1T1MDKDWkMc.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/43sJ6MfOPh1LCJt46OvyDuSbA6o.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/wccHG0r4gBDAIRhfHiOlq6oEkqw.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",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/WZ367JPwf9bRW6LdTHN8rXgSjw.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",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/ia3uin3hQWqDrVloC1zEtYHWw.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",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/2A4Xx7CngadFGlVV4xrO06OBHY.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",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/CfMzU8w2e7tHgF4T4rATMPuWosA.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/867QObYax8ANsfX4TGEVU9YiCM.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Oyn2ZbENFdnW7mt2Lzjk1h9Zb9k.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/cdAe8hgZ1cMyLu9g005pAW3xMo.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",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/DOfvtmE1UplCq161m6Hj8CSQYg.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",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/pKRFNWFoZl77qYCAIp84lN1h944.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",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/tKtBcDnBMevsEEJKdNGhhkLzYo.woff2\",weight:\"400\"}]}];export const css=['.framer-Dmag9 .framer-styles-preset-bc8qni:not(.rich-text-wrapper), .framer-Dmag9 .framer-styles-preset-bc8qni.rich-text-wrapper p { --framer-font-family: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 24px; --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.3em; --framer-paragraph-spacing: 14px; --framer-text-alignment: start; --framer-text-color: var(--token-27b46205-b31d-4226-9b6d-d7c614a8f9cb, #1b1917); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }','@media (max-width: 1199px) and (min-width: 810px) { .framer-Dmag9 .framer-styles-preset-bc8qni:not(.rich-text-wrapper), .framer-Dmag9 .framer-styles-preset-bc8qni.rich-text-wrapper p { --framer-font-family: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 22px; --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.3em; --framer-paragraph-spacing: 14px; --framer-text-alignment: start; --framer-text-color: var(--token-27b46205-b31d-4226-9b6d-d7c614a8f9cb, #1b1917); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }','@media (max-width: 809px) and (min-width: 0px) { .framer-Dmag9 .framer-styles-preset-bc8qni:not(.rich-text-wrapper), .framer-Dmag9 .framer-styles-preset-bc8qni.rich-text-wrapper p { --framer-font-family: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 20px; --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.3em; --framer-paragraph-spacing: 14px; --framer-text-alignment: start; --framer-text-color: var(--token-27b46205-b31d-4226-9b6d-d7c614a8f9cb, #1b1917); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }'];export const className=\"framer-Dmag9\";\nexport const __FramerMetadata__ = {\"exports\":{\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (c23da9b)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"Inter-Light\",\"Inter\",\"Inter-Italic\",\"Inter-LightItalic\"]);export const fonts=[{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/BkDpl4ghaqvMi1btKFyG2tdbec.woff2\",weight:\"300\"},{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/zAMK70AQRFSShJgUiaR5IiIhgzk.woff2\",weight:\"300\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/IETjvc5qzUaRoaruDpPSwCUM8.woff2\",weight:\"300\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/oLCoaT3ioA0fHdJnWR9W6k7NY.woff2\",weight:\"300\"},{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/Sj0PCHQSBjFmEp6NBWg6FNaKc.woff2\",weight:\"300\"},{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/aqiiD4LUKkKzXdjGL5UzHq8bo5w.woff2\",weight:\"300\"},{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/H4TfENUY1rh8R9UaSD6vngjJP3M.woff2\",weight:\"300\"},{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\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",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/CfMzU8w2e7tHgF4T4rATMPuWosA.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/867QObYax8ANsfX4TGEVU9YiCM.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Oyn2ZbENFdnW7mt2Lzjk1h9Zb9k.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/cdAe8hgZ1cMyLu9g005pAW3xMo.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",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/DOfvtmE1UplCq161m6Hj8CSQYg.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",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/pKRFNWFoZl77qYCAIp84lN1h944.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",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/tKtBcDnBMevsEEJKdNGhhkLzYo.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",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/YYB6GZmCWnZq3RWZOghuZIOxQY.woff2\",weight:\"300\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/miJTzODdiyIr3tRo9KEoqXXk2PM.woff2\",weight:\"300\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/6ZMhcggRFfEfbf7lncCpaUbA.woff2\",weight:\"300\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/8sCN6PGUr4I8q5hC5twAXfcwqV0.woff2\",weight:\"300\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",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/aUYDUTztS7anQw5JuwCncXeLOBY.woff2\",weight:\"300\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",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/8mwKwShtYEXIZ5diRBT74yn9jdQ.woff2\",weight:\"300\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",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/yDiPvYxioBHsicnYxpPW35WQmx8.woff2\",weight:\"300\"}]}];export const css=['.framer-Mn28I .framer-styles-preset-1y1myow:not(.rich-text-wrapper), .framer-Mn28I .framer-styles-preset-1y1myow.rich-text-wrapper p { --framer-font-family: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 14px; --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: 300; --framer-font-weight-bold: 400; --framer-font-weight-bold-italic: 400; --framer-font-weight-italic: 300; --framer-letter-spacing: 0em; --framer-line-height: 1.45em; --framer-paragraph-spacing: 10px; --framer-text-alignment: start; --framer-text-color: var(--token-1eb67fc9-ab8d-4e4e-82b0-12438f67c1cd, #45403c); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }','@media (max-width: 1199px) and (min-width: 810px) { .framer-Mn28I .framer-styles-preset-1y1myow:not(.rich-text-wrapper), .framer-Mn28I .framer-styles-preset-1y1myow.rich-text-wrapper p { --framer-font-family: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 14px; --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: 300; --framer-font-weight-bold: 400; --framer-font-weight-bold-italic: 400; --framer-font-weight-italic: 300; --framer-letter-spacing: 0em; --framer-line-height: 1.45em; --framer-paragraph-spacing: 10px; --framer-text-alignment: start; --framer-text-color: var(--token-1eb67fc9-ab8d-4e4e-82b0-12438f67c1cd, #45403c); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }','@media (max-width: 809px) and (min-width: 0px) { .framer-Mn28I .framer-styles-preset-1y1myow:not(.rich-text-wrapper), .framer-Mn28I .framer-styles-preset-1y1myow.rich-text-wrapper p { --framer-font-family: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 13px; --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: 300; --framer-font-weight-bold: 400; --framer-font-weight-bold-italic: 400; --framer-font-weight-italic: 300; --framer-letter-spacing: 0em; --framer-line-height: 1.45em; --framer-paragraph-spacing: 10px; --framer-text-alignment: start; --framer-text-color: var(--token-1eb67fc9-ab8d-4e4e-82b0-12438f67c1cd, #45403c); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }'];export const className=\"framer-Mn28I\";\nexport const __FramerMetadata__ = {\"exports\":{\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (1f371ea)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,getFontsFromSharedStyle,Instance,Link,RichText,SmartComponentScopedContainer,SVG,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import List from\"https://framerusercontent.com/modules/4xJsJPc59it6XmHEERsh/koUifyDPwJ9ohyYl3uMd/itu1soPCZ.js\";import Article from\"https://framerusercontent.com/modules/c6djO2P0KGXV7cScNokP/5XgwtcRReJrsilT42RB4/cO5t5X04q.js\";import LinkedinLogo from\"https://framerusercontent.com/modules/JNI0unvKLnSNOjYgWQPe/cFK4x7HnGbxoZXkZNw5W/hNcHJzSkR.js\";import EnvelopeSimple from\"https://framerusercontent.com/modules/Uzqkv2OV8vOM0tvVJuKZ/Wcbds34669567Myvr1Km/sYXjYwbRE.js\";import X from\"https://framerusercontent.com/modules/wbL0GysLpUpZOLelXsKU/7IhRlKXIvqCTv7OUjGRe/q95pf4lLL.js\";import Tooltip from\"https://framerusercontent.com/modules/vYVPop8Ctya3DJ2Q7Miy/DQtTgXqCE8Npnzn3y2e1/Tooltip.js\";import*as sharedStyle2 from\"https://framerusercontent.com/modules/bvjgVaDDydMb6oTnSe4X/uwOuSqk4Zlfukykku3ua/dVEcTAXnl.js\";import*as sharedStyle3 from\"https://framerusercontent.com/modules/xxpEGZN0Y9h5XMC0YL72/FP8IlZ13FoY1kd1RV0CE/LBtJjaFrd.js\";import*as sharedStyle1 from\"https://framerusercontent.com/modules/mNjA27unSRQ2VNBp0dAB/KvYtiSJYf3NZEpOvqpAw/mk0pHsloN.js\";import*as sharedStyle from\"https://framerusercontent.com/modules/pOQ8eWsw40e4UKRgXJK5/1Mb6hvtuCCsXI2wtm3Li/MX5bC9hJI.js\";const LinkedinLogoFonts=getFonts(LinkedinLogo);const TooltipFonts=getFonts(Tooltip);const ArticleFonts=getFonts(Article);const EnvelopeSimpleFonts=getFonts(EnvelopeSimple);const cycleOrder=[\"gf0p1IaTV\",\"PI8l6r3pa\",\"D_BTNN1PJ\"];const serializationHash=\"framer-UrVCs\";const variantClassNames={D_BTNN1PJ:\"framer-v-jhlu1n\",gf0p1IaTV:\"framer-v-e9s1vh\",PI8l6r3pa:\"framer-v-103luic\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const transition2={bounce:0,delay:0,duration:.75,type:\"spring\"};const transformTemplate1=(_,t)=>`translateX(-50%) ${t}`;const transition3={bounce:0,delay:0,duration:.25,type:\"spring\"};const animation={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1.1,skewX:0,skewY:0,transition:transition3};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const humanReadableVariantMap={\"Mobile - Open\":\"D_BTNN1PJ\",Default:\"gf0p1IaTV\",Mobile:\"PI8l6r3pa\"};const Variants=motion.create(React.Fragment);const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"gf0p1IaTV\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"gf0p1IaTV\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[sharedStyle.className,sharedStyle1.className,sharedStyle2.className,sharedStyle3.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if([\"PI8l6r3pa\",\"D_BTNN1PJ\"].includes(baseVariant))return true;return false;};const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTap1s3v249=activeVariantCallback(async(...args)=>{setVariant(\"D_BTNN1PJ\");});const onTapd6kuwo=activeVariantCallback(async(...args)=>{setVariant(\"PI8l6r3pa\");});const isDisplayed1=()=>{if([\"PI8l6r3pa\",\"D_BTNN1PJ\"].includes(baseVariant))return false;return true;};return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,...addPropertyOverrides({D_BTNN1PJ:{value:transition2},PI8l6r3pa:{value:transition2}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-e9s1vh\",className,classNames),\"data-framer-name\":\"Default\",layoutDependency:layoutDependency,layoutId:\"gf0p1IaTV\",ref:refBinding,style:{boxShadow:\"0px -2px 0.5px 0px rgba(255, 255, 255, 0.5), 0px 2px 3px 0px rgba(0, 0, 0, 0.1)\",...style},...addPropertyOverrides({D_BTNN1PJ:{\"data-framer-name\":\"Mobile - Open\"},PI8l6r3pa:{\"data-framer-name\":\"Mobile\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-286zdl\",\"data-framer-name\":\"Top\",layoutDependency:layoutDependency,layoutId:\"aQBaKfjaF\",...addPropertyOverrides({PI8l6r3pa:{transformTemplate:transformTemplate1}},baseVariant,gestureVariant),children:isDisplayed()&&/*#__PURE__*/_jsx(motion.div,{className:\"framer-1btpiut\",layoutDependency:layoutDependency,layoutId:\"ezokjt2cE\",...addPropertyOverrides({D_BTNN1PJ:{\"data-highlight\":true,onTap:onTapd6kuwo},PI8l6r3pa:{\"data-highlight\":true,onTap:onTap1s3v249}},baseVariant,gestureVariant),children:isDisplayed()&&/*#__PURE__*/_jsx(Instance,{animated:true,className:\"framer-dq5v3e\",Component:List,layoutDependency:layoutDependency,layoutId:\"NqpywXncG\",style:{\"--1m6trwb\":0,\"--21h8s6\":\"var(--token-1eb67fc9-ab8d-4e4e-82b0-12438f67c1cd, rgb(69, 64, 60))\",\"--pgex8v\":1.5},...addPropertyOverrides({D_BTNN1PJ:{Component:X}},baseVariant,gestureVariant)})})}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-zv7nq8\",\"data-framer-name\":\"Links\",layoutDependency:layoutDependency,layoutId:\"VZSFRTIwl\",style:{opacity:1},variants:{D_BTNN1PJ:{opacity:1},PI8l6r3pa:{opacity:0}},children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-u5zjjz\",\"data-framer-name\":\"Pages\",layoutDependency:layoutDependency,layoutId:\"WRdKF14iA\",children:[/*#__PURE__*/_jsx(Link,{href:{webPageId:\"augiA20Il\"},motionChild:true,nodeId:\"kHZzVaoa1\",openInNewTab:false,scopeId:\"q37E8wCND\",smoothScroll:true,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-9d7n69 framer-1uqybav\",layoutDependency:layoutDependency,layoutId:\"kHZzVaoa1\",whileHover:animation,children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1y1myow\",\"data-styles-preset\":\"MX5bC9hJI\",dir:\"auto\",children:\"Home\"})}),className:\"framer-16hm6k3\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"OXbjWm6Il\",style:{\"--framer-paragraph-spacing\":\"0px\"},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({D_BTNN1PJ:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h1,{className:\"framer-styles-preset-f0nhia\",\"data-styles-preset\":\"dVEcTAXnl\",dir:\"auto\",children:\"Home\"})})},PI8l6r3pa:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-bc8qni\",\"data-styles-preset\":\"mk0pHsloN\",dir:\"auto\",children:\"Home\"})})}},baseVariant,gestureVariant)})})}),/*#__PURE__*/_jsx(Link,{href:{hash:\":bxwppkSic\",webPageId:\"augiA20Il\"},motionChild:true,nodeId:\"diKZG63KP\",openInNewTab:false,scopeId:\"q37E8wCND\",smoothScroll:true,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-1nux2k7 framer-1uqybav\",layoutDependency:layoutDependency,layoutId:\"diKZG63KP\",whileHover:animation,children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1y1myow\",\"data-styles-preset\":\"MX5bC9hJI\",dir:\"auto\",children:\"Work\"})}),className:\"framer-16wq0rd\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"kRQr3dLMd\",style:{\"--framer-paragraph-spacing\":\"0px\"},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({D_BTNN1PJ:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h1,{className:\"framer-styles-preset-f0nhia\",\"data-styles-preset\":\"dVEcTAXnl\",dir:\"auto\",children:\"Work\"})})},PI8l6r3pa:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-bc8qni\",\"data-styles-preset\":\"mk0pHsloN\",dir:\"auto\",children:\"Work\"})})}},baseVariant,gestureVariant)})})}),/*#__PURE__*/_jsx(Link,{href:{webPageId:\"uY8l9AQe6\"},motionChild:true,nodeId:\"x9_bEfSSB\",openInNewTab:false,scopeId:\"q37E8wCND\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-1vh7gta framer-1uqybav\",layoutDependency:layoutDependency,layoutId:\"x9_bEfSSB\",whileHover:animation,children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1y1myow\",\"data-styles-preset\":\"MX5bC9hJI\",dir:\"auto\",children:\"Play\"})}),className:\"framer-1r9eipq\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"l81tYPGlN\",style:{\"--framer-paragraph-spacing\":\"0px\"},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({D_BTNN1PJ:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h1,{className:\"framer-styles-preset-f0nhia\",\"data-styles-preset\":\"dVEcTAXnl\",dir:\"auto\",children:\"Play\"})})},PI8l6r3pa:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-bc8qni\",\"data-styles-preset\":\"mk0pHsloN\",dir:\"auto\",children:\"Play\"})})}},baseVariant,gestureVariant)})})}),/*#__PURE__*/_jsx(Link,{href:{webPageId:\"t3f16QkEU\"},motionChild:true,nodeId:\"qQosO2tqN\",openInNewTab:false,scopeId:\"q37E8wCND\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-x1lc0r framer-1uqybav\",layoutDependency:layoutDependency,layoutId:\"qQosO2tqN\",whileHover:animation,children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1y1myow\",\"data-styles-preset\":\"MX5bC9hJI\",dir:\"auto\",children:\"About\"})}),className:\"framer-1hu32iv\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"sZcdbAMNn\",style:{\"--framer-paragraph-spacing\":\"0px\"},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({D_BTNN1PJ:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h1,{className:\"framer-styles-preset-f0nhia\",\"data-styles-preset\":\"dVEcTAXnl\",dir:\"auto\",children:\"About\"})})},PI8l6r3pa:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-bc8qni\",\"data-styles-preset\":\"mk0pHsloN\",dir:\"auto\",children:\"About\"})})}},baseVariant,gestureVariant)})})})]}),isDisplayed1()&&/*#__PURE__*/_jsx(SVG,{className:\"framer-1o3t\",layoutDependency:layoutDependency,layoutId:\"DWDHSnJCA\",requiresOverflowVisible:true,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 1 32\" overflow=\"visible\"><path d=\"M 0 0 L 0 32\" fill=\"transparent\" stroke-width=\"0.5\" stroke=\"var(--token-485b5e83-4820-429c-ab78-3aa279610f6f, rgb(166, 160, 155)) /* {&quot;name&quot;:&quot;stone-400&quot;} */\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-klhl4e\",\"data-framer-name\":\"Icons\",layoutDependency:layoutDependency,layoutId:\"CHbXeYSdX\",children:[/*#__PURE__*/_jsx(Link,{href:\"https://www.linkedin.com/in/justin-mason7/\",motionChild:true,nodeId:\"CeqXtrOCf\",openInNewTab:true,scopeId:\"q37E8wCND\",children:/*#__PURE__*/_jsxs(motion.a,{className:\"framer-cr0vnp framer-1uqybav\",layoutDependency:layoutDependency,layoutId:\"CeqXtrOCf\",children:[isDisplayed1()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-fpx2do-container\",isAuthoredByUser:true,layoutDependency:layoutDependency,layoutId:\"uTTsGNUbw-container\",nodeId:\"uTTsGNUbw\",rendersWithMotion:true,scopeId:\"q37E8wCND\",children:/*#__PURE__*/_jsx(Tooltip,{bg:\"var(--token-27b46205-b31d-4226-9b6d-d7c614a8f9cb, rgb(27, 25, 23))\",color:\"var(--token-41960ea3-2b43-404a-844c-c42b026ee3fe, rgb(245, 245, 244))\",content:[/*#__PURE__*/_jsx(LinkedinLogo,{animated:true,className:\"framer-b07ryn\",layoutDependency:layoutDependency,layoutId:\"mZ9QpKfNL\",style:{\"--1m6trwb\":0,\"--21h8s6\":\"var(--token-1eb67fc9-ab8d-4e4e-82b0-12438f67c1cd, rgb(69, 64, 60))\",\"--pgex8v\":1.5}})],copiedText:\"Copied\",copyable:false,copyText:\"Copy to clipboard\",copyValue:\"\",height:\"100%\",id:\"uTTsGNUbw\",layoutId:\"uTTsGNUbw\",offsetX:24,offsetY:12,style:{width:\"100%\"},text:\"LinkedIn\",width:\"100%\"})})}),isDisplayed()&&/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-atzm4u\",\"data-styles-preset\":\"LBtJjaFrd\",children:\"LinkedIn\"})}),className:\"framer-ifiv1h\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"LQsNpvmnR\",style:{\"--framer-paragraph-spacing\":\"0px\"},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({D_BTNN1PJ:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-atzm4u\",\"data-styles-preset\":\"LBtJjaFrd\",dir:\"auto\",children:\"LinkedIn\"})})}},baseVariant,gestureVariant)})]})}),/*#__PURE__*/_jsx(Link,{href:\"https://drive.google.com/file/d/1ho2DoosW05Ofx0leITswrqh8WQuenTdj/view?usp=sharing\",motionChild:true,nodeId:\"a4BYGgJ2A\",openInNewTab:true,scopeId:\"q37E8wCND\",children:/*#__PURE__*/_jsxs(motion.a,{className:\"framer-1opov1n framer-1uqybav\",layoutDependency:layoutDependency,layoutId:\"a4BYGgJ2A\",children:[isDisplayed1()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1hk1rdu-container\",isAuthoredByUser:true,layoutDependency:layoutDependency,layoutId:\"xc2L0mppf-container\",nodeId:\"xc2L0mppf\",rendersWithMotion:true,scopeId:\"q37E8wCND\",children:/*#__PURE__*/_jsx(Tooltip,{bg:\"var(--token-27b46205-b31d-4226-9b6d-d7c614a8f9cb, rgb(27, 25, 23))\",color:\"var(--token-41960ea3-2b43-404a-844c-c42b026ee3fe, rgb(245, 245, 244))\",content:[/*#__PURE__*/_jsx(Article,{animated:true,className:\"framer-my442u\",layoutDependency:layoutDependency,layoutId:\"kD11fuP1b\",style:{\"--1m6trwb\":0,\"--21h8s6\":\"var(--token-1eb67fc9-ab8d-4e4e-82b0-12438f67c1cd, rgb(69, 64, 60))\",\"--pgex8v\":1.5}})],copiedText:\"Copied\",copyable:false,copyText:\"Copy to clipboard\",copyValue:\"\",height:\"100%\",id:\"xc2L0mppf\",layoutId:\"xc2L0mppf\",offsetX:24,offsetY:12,text:\"Resume\",width:\"100%\"})})}),isDisplayed()&&/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-atzm4u\",\"data-styles-preset\":\"LBtJjaFrd\",children:\"Resume\"})}),className:\"framer-1mbtrdv\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"hRo5vPZgr\",style:{\"--framer-paragraph-spacing\":\"0px\"},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({D_BTNN1PJ:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-atzm4u\",\"data-styles-preset\":\"LBtJjaFrd\",dir:\"auto\",children:\"Resume\"})})}},baseVariant,gestureVariant)})]})}),/*#__PURE__*/_jsx(Link,{motionChild:true,nodeId:\"Nw5p5JFTW\",scopeId:\"q37E8wCND\",...addPropertyOverrides({D_BTNN1PJ:{href:\"mailto:jusmas@umich.edu\",openInNewTab:true}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(motion.a,{className:\"framer-10wl82x framer-1uqybav\",layoutDependency:layoutDependency,layoutId:\"Nw5p5JFTW\",children:[isDisplayed1()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-p00g3o-container\",isAuthoredByUser:true,layoutDependency:layoutDependency,layoutId:\"inR3oKTO_-container\",nodeId:\"inR3oKTO_\",rendersWithMotion:true,scopeId:\"q37E8wCND\",children:/*#__PURE__*/_jsx(Tooltip,{bg:\"var(--token-27b46205-b31d-4226-9b6d-d7c614a8f9cb, rgb(27, 25, 23))\",color:\"var(--token-41960ea3-2b43-404a-844c-c42b026ee3fe, rgb(245, 245, 244))\",content:[/*#__PURE__*/_jsx(EnvelopeSimple,{animated:true,className:\"framer-42a0f3\",layoutDependency:layoutDependency,layoutId:\"acRUwQcrz\",style:{\"--1m6trwb\":0,\"--21h8s6\":\"var(--token-1eb67fc9-ab8d-4e4e-82b0-12438f67c1cd, rgb(69, 64, 60))\",\"--pgex8v\":1.5}})],copiedText:\"Copied :P\",copyable:true,copyText:\"Copy to clipboard\",copyValue:\"jusmas@umich.edu\",height:\"100%\",id:\"inR3oKTO_\",layoutId:\"inR3oKTO_\",offsetX:24,offsetY:12,text:\"Copy to clipboard\",width:\"100%\"})})}),isDisplayed()&&/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-atzm4u\",\"data-styles-preset\":\"LBtJjaFrd\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\"},children:\"Email me\"})}),className:\"framer-1w8w64s\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"HraHbH6pV\",style:{\"--framer-paragraph-spacing\":\"0px\"},verticalAlignment:\"top\",withExternalLayout:true})]})})]})]}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-epu8c3\",\"data-framer-name\":\"BG\",layoutDependency:layoutDependency,layoutId:\"eZZWgbFVt\",style:{backdropFilter:\"blur(4px)\",backgroundColor:\"rgba(250, 250, 249, 0.8)\",WebkitBackdropFilter:\"blur(4px)\"}})]})})})});});const css=[\".framer-UrVCs.framer-1uqybav, .framer-UrVCs .framer-1uqybav { display: block; }\",\".framer-UrVCs.framer-e9s1vh { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-UrVCs .framer-286zdl { 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: center; min-height: 20px; overflow: visible; padding: 0px; position: relative; width: 1px; }\",\".framer-UrVCs .framer-1btpiut { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; min-height: 200px; min-width: 172px; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-UrVCs .framer-dq5v3e { flex: none; height: auto; position: relative; }\",\".framer-UrVCs .framer-zv7nq8 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-UrVCs .framer-u5zjjz { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 24px; height: min-content; justify-content: center; overflow: visible; padding: 8px 18px 8px 18px; position: relative; width: min-content; z-index: 2; }\",\".framer-UrVCs .framer-9d7n69, .framer-UrVCs .framer-1nux2k7, .framer-UrVCs .framer-1vh7gta, .framer-UrVCs .framer-x1lc0r { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: visible; padding: 6px; position: relative; text-decoration: none; width: min-content; will-change: var(--framer-will-change-effect-override, transform); }\",\".framer-UrVCs .framer-16hm6k3, .framer-UrVCs .framer-16wq0rd, .framer-UrVCs .framer-1r9eipq, .framer-UrVCs .framer-1hu32iv, .framer-UrVCs .framer-ifiv1h, .framer-UrVCs .framer-1mbtrdv, .framer-UrVCs .framer-1w8w64s { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-UrVCs .framer-1o3t { height: 32px; position: relative; width: 1px; }\",\".framer-UrVCs .framer-klhl4e { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 24px; height: min-content; justify-content: center; overflow: visible; padding: 12px 24px 12px 24px; position: relative; width: min-content; z-index: 2; }\",\".framer-UrVCs .framer-cr0vnp, .framer-UrVCs .framer-1opov1n { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: visible; padding: 3px 0px 0px 0px; position: relative; text-decoration: none; width: min-content; }\",\".framer-UrVCs .framer-fpx2do-container { flex: none; height: auto; position: relative; width: 20px; }\",\".framer-UrVCs .framer-b07ryn, .framer-UrVCs .framer-my442u, .framer-UrVCs .framer-42a0f3 { height: auto; position: relative; width: 20px; }\",\".framer-UrVCs .framer-1hk1rdu-container, .framer-UrVCs .framer-p00g3o-container { flex: none; height: auto; position: relative; width: auto; }\",\".framer-UrVCs .framer-10wl82x { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: visible; padding: 3px 0px 0px 0px; position: relative; width: min-content; }\",\".framer-UrVCs .framer-epu8c3 { bottom: 0px; flex: none; left: 0px; overflow: var(--overflow-clip-fallback, clip); position: absolute; right: 0px; top: 0px; z-index: -1; }\",\".framer-UrVCs.framer-v-103luic.framer-e9s1vh { flex-direction: column; height: 50px; overflow: hidden; width: 50px; }\",\".framer-UrVCs.framer-v-103luic .framer-286zdl { flex: none; left: 50%; min-height: unset; padding: 12px; position: absolute; top: 0px; width: min-content; z-index: 1; }\",\".framer-UrVCs.framer-v-103luic .framer-1btpiut, .framer-UrVCs.framer-v-jhlu1n .framer-1btpiut { cursor: pointer; min-height: unset; min-width: unset; order: 1; }\",\".framer-UrVCs.framer-v-103luic .framer-zv7nq8 { align-content: flex-start; align-items: flex-start; flex-direction: column; justify-content: flex-start; padding: 24px 0px 96px 0px; width: 100%; }\",\".framer-UrVCs.framer-v-103luic .framer-u5zjjz, .framer-UrVCs.framer-v-jhlu1n .framer-klhl4e { align-content: flex-start; align-items: flex-start; flex-direction: column; gap: 12px; }\",\".framer-UrVCs.framer-v-103luic .framer-klhl4e { align-content: flex-start; align-items: flex-start; flex-direction: column; gap: 6px; }\",\".framer-UrVCs.framer-v-jhlu1n.framer-e9s1vh { flex-direction: column; max-height: calc(var(--framer-viewport-height, 100vh) * 1); overflow: var(--overflow-clip-fallback, clip); width: 340px; }\",\".framer-UrVCs.framer-v-jhlu1n .framer-286zdl { flex: none; justify-content: flex-end; min-height: unset; order: 0; padding: 12px 12px 0px 24px; width: 100%; }\",\".framer-UrVCs.framer-v-jhlu1n .framer-zv7nq8 { align-content: flex-start; align-items: flex-start; flex-direction: column; justify-content: flex-start; order: 1; padding: 0px 0px 12px 0px; width: 100%; }\",\".framer-UrVCs.framer-v-jhlu1n .framer-u5zjjz { align-content: flex-start; align-items: flex-start; flex-direction: column; gap: 6px; justify-content: flex-start; }\",\".framer-UrVCs.framer-v-jhlu1n .framer-10wl82x { text-decoration: none; }\",\".framer-UrVCs.framer-v-jhlu1n .framer-epu8c3 { order: 2; }\",...sharedStyle.css,...sharedStyle1.css,...sharedStyle2.css,...sharedStyle3.css];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 50\n * @framerIntrinsicWidth 446\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]},\"PI8l6r3pa\":{\"layout\":[\"fixed\",\"fixed\"]},\"D_BTNN1PJ\":{\"layout\":[\"fixed\",\"auto\"],\"constraints\":[null,null,null,\"100vh\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const Framerq37E8wCND=withCSS(Component,css,\"framer-UrVCs\");export default Framerq37E8wCND;Framerq37E8wCND.displayName=\"Navbar\";Framerq37E8wCND.defaultProps={height:50,width:446};addPropertyControls(Framerq37E8wCND,{variant:{options:[\"gf0p1IaTV\",\"PI8l6r3pa\",\"D_BTNN1PJ\"],optionTitles:[\"Default\",\"Mobile\",\"Mobile - Open\"],title:\"Variant\",type:ControlType.Enum}});addFonts(Framerq37E8wCND,[{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\"}]},...LinkedinLogoFonts,...TooltipFonts,...ArticleFonts,...EnvelopeSimpleFonts,...getFontsFromSharedStyle(sharedStyle.fonts),...getFontsFromSharedStyle(sharedStyle1.fonts),...getFontsFromSharedStyle(sharedStyle2.fonts),...getFontsFromSharedStyle(sharedStyle3.fonts)],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Framerq37E8wCND\",\"slots\":[],\"annotations\":{\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"PI8l6r3pa\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"D_BTNN1PJ\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"],\\\"constraints\\\":[null,null,null,\\\"100vh\\\"]}}}\",\"framerContractVersion\":\"1\",\"framerColorSyntax\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerImmutableVariables\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicHeight\":\"50\",\"framerIntrinsicWidth\":\"446\",\"framerAutoSizeImages\":\"true\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./q37E8wCND.map","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useState,useEffect,useRef}from\"react\";import{motion,useMotionValue}from\"framer-motion\";import{addPropertyControls,ControlType}from\"framer\";export default function CustomCursor(props){const[hidden,setHidden]=useState(true);const[linkHovered,setLinkHovered]=useState(false);const[clicked,setClicked]=useState(false);const[textMode,setTextMode]=useState(false);// A short message the page can ask for (e.g. \"Copied\"); it takes over the label.\nconst[flash,setFlash]=useState(null);useEffect(()=>{let id=0;const on=e=>{const d=e.detail||{};setFlash(d.text||null);clearTimeout(id);id=window.setTimeout(()=>setFlash(null),d.ms||1500);};window.addEventListener(\"jm:cursor-text\",on);return()=>{clearTimeout(id);window.removeEventListener(\"jm:cursor-text\",on);};},[]);const label=flash??props.cursorText;const showText=textMode||!!flash;const hiddenRef=useRef(true);const linkRef=useRef(false);const textRef=useRef(false);const D=props.ringSize;const square=props.shape!==\"circle\";const mouseX=useMotionValue(-100);const mouseY=useMotionValue(-100);const animDur=props.animationDuration/1e3;const textDur=props.textDuration/1e3;const measureRef=useRef(null);const[pill,setPill]=useState({w:D,h:D});useEffect(()=>{const el=measureRef.current;if(!el)return;const w=el.offsetWidth;const h=el.offsetHeight;setPill(p=>p.w===w&&p.h===h?p:{w,h});});useEffect(()=>{const isMobile=/iPhone|iPad|iPod|Android/i.test(navigator.userAgent);if(isMobile&&props.hideOnMobile)return;const styleEl=document.createElement(\"style\");styleEl.innerHTML=`* { cursor: none !important; }`;document.head.appendChild(styleEl);const interactiveSel='a, button, [role=\"button\"], input, textarea, select, [data-framer-name*=\"button\" i]';// Position comes straight from the pointer; the hover checks only run when the\n// element under the pointer changes.\nlet lastTarget=null;const onRaw=e=>{mouseX.set(e.clientX);mouseY.set(e.clientY);};const onMove=e=>{mouseX.set(e.clientX);mouseY.set(e.clientY);if(hiddenRef.current){hiddenRef.current=false;setHidden(false);}const t=e.target;if(t===lastTarget)return;lastTarget=t;let overTrigger=false;let overLink=false;if(t instanceof Element){try{overTrigger=!!props.triggerSelector&&!!t.closest(props.triggerSelector);}catch(err){overTrigger=false;}overLink=!!t.closest(interactiveSel);}if(overTrigger!==textRef.current){textRef.current=overTrigger;setTextMode(overTrigger);}if(overLink!==linkRef.current){linkRef.current=overLink;setLinkHovered(overLink);}};const onLeave=()=>{hiddenRef.current=true;setHidden(true);};const onDown=()=>setClicked(true);const onUp=()=>setClicked(false);window.addEventListener(\"mousemove\",onMove);const raw=\"onpointerrawupdate\"in window;if(raw)window.addEventListener(\"pointerrawupdate\",onRaw);document.addEventListener(\"mouseleave\",onLeave);window.addEventListener(\"blur\",onLeave);window.addEventListener(\"mousedown\",onDown);window.addEventListener(\"mouseup\",onUp);return()=>{window.removeEventListener(\"mousemove\",onMove);if(raw)window.removeEventListener(\"pointerrawupdate\",onRaw);document.removeEventListener(\"mouseleave\",onLeave);window.removeEventListener(\"blur\",onLeave);window.removeEventListener(\"mousedown\",onDown);window.removeEventListener(\"mouseup\",onUp);styleEl.remove();};},[props.hideOnMobile,props.triggerSelector]);if(typeof window===\"undefined\")return null;const isMobile=/iPhone|iPad|iPod|Android/i.test(navigator.userAgent);if(isMobile&&props.hideOnMobile)return null;const ringScale=linkHovered?props.hoverScale:clicked?props.clickScale:1;const baseVisible=hidden?0:props.opacity;// \"0px\" must mean square corners, so only fall back to a full pill when the value is empty.\nconst radiusValue=parseFloat(props.textRadius);const pillRadius=Math.min(Number.isFinite(radiusValue)?radiusValue:9999,pill.h/2);const H=showText?pill.h:D;// The inverting blend is only switched on while the ring or label shows; the plain\n// dot is simply drawn in the ink colour, which costs nothing to composite.\nconst inverting=linkHovered||showText;const corner=2;return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{ref:measureRef,\"aria-hidden\":true,style:{position:\"fixed\",left:-99999,top:-99999,visibility:\"hidden\",pointerEvents:\"none\",whiteSpace:\"nowrap\",boxSizing:\"border-box\",borderStyle:\"solid\",borderWidth:props.ringBorderWidth,borderColor:\"transparent\",padding:props.textPadding,...props.textFont},children:label}),/*#__PURE__*/_jsx(motion.div,{style:{position:\"fixed\",left:0,top:0,width:props.dotSize,height:props.dotSize,backgroundColor:inverting?props.dotColor:\"var(--jm-ink, #0D0D0E)\",borderRadius:square?corner:\"50%\",pointerEvents:\"none\",zIndex:1e4,mixBlendMode:inverting?props.blendMode:\"normal\",x:mouseX,y:mouseY},transformTemplate:(_,g)=>`${g} translate(-50%, -50%)`,animate:{opacity:showText?0:baseVisible},transition:{opacity:{duration:animDur,ease:\"easeOut\"}}}),/*#__PURE__*/_jsx(motion.div,{style:{position:\"fixed\",left:0,top:0,boxSizing:\"border-box\",borderStyle:\"solid\",borderWidth:props.ringBorderWidth,overflow:\"hidden\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",padding:showText?props.textPadding:0,transformOrigin:\"center\",mixBlendMode:inverting?props.blendMode:\"normal\",pointerEvents:\"none\",zIndex:9999,// Same motion values as the dot, so the ring never lags behind it.\nx:mouseX,y:mouseY},animate:{// Grows out from the pointer in both directions.\nwidth:showText?pill.w:D,marginLeft:-(showText?pill.w:D)/2,height:H,marginTop:-H/2,borderRadius:showText?Math.min(pillRadius,corner):square?corner:D/2,backgroundColor:showText?props.textBackground:\"rgba(0,0,0,0)\",// The ring only exists over interactive elements. Going into the label it\n// drops its outline at once; coming out it stays hidden until it is a square again.\nborderColor:showText?\"rgba(0,0,0,0)\":props.ringColor,scale:showText?1:ringScale,opacity:showText||linkHovered?baseVisible:0},transition:{default:{duration:textDur,ease:[.22,1,.36,1]},borderColor:showText?{duration:0}:{duration:animDur,delay:textDur},scale:{duration:animDur,ease:\"easeOut\"},opacity:showText||linkHovered?{duration:animDur,ease:\"easeOut\"}:{duration:animDur*.6,ease:\"easeOut\"}},children:/*#__PURE__*/_jsx(motion.span,{style:{display:\"block\",whiteSpace:\"nowrap\",color:props.textColor,...props.textFont},initial:false,animate:{opacity:showText?1:0},transition:{duration:textDur*.7,ease:\"easeOut\",delay:showText?textDur*.3:0},children:label})})]});}addPropertyControls(CustomCursor,{shape:{type:ControlType.Enum,title:\"Shape\",defaultValue:\"square\",options:[\"square\",\"circle\"],optionTitles:[\"Square\",\"Circle\"],displaySegmentedControl:true},cursorText:{type:ControlType.String,title:\"Cursor Text\",defaultValue:\"Reach out for more details\"},triggerSelector:{type:ControlType.String,title:\"Trigger\",defaultValue:'[data-framer-name=\"Reach Out\"]',description:\"CSS selector for the area. Name the section's layer, then use [data-framer-name='Your Layer Name'].\"},textDuration:{type:ControlType.Number,title:\"Text Morph (ms)\",defaultValue:450,min:50,max:1500,step:25,displayStepper:true},textFont:{type:ControlType.Font,title:\"Text Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:16,variant:\"Medium\",lineHeight:\"1.2em\"}},textColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#111111\"},textBackground:{type:ControlType.Color,title:\"Text BG\",defaultValue:\"#FFFFFF\"},textPadding:{type:ControlType.Padding,title:\"Text Padding\",defaultValue:\"14px 28px\"},textRadius:{type:ControlType.BorderRadius,title:\"Text Radius\",defaultValue:\"0px\"},dotSize:{type:ControlType.Number,defaultValue:6,min:2,max:20,step:1,displayStepper:true,title:\"Dot Size\"},dotColor:{type:ControlType.Color,defaultValue:\"#ffffff\",title:\"Dot Color\"},ringSize:{type:ControlType.Number,defaultValue:32,min:10,max:100,step:2,displayStepper:true,title:\"Ring Size\"},ringColor:{type:ControlType.Color,defaultValue:\"#ffffff\",title:\"Ring Color\"},ringBorderWidth:{type:ControlType.Number,defaultValue:1,min:1,max:5,step:1,displayStepper:true,title:\"Ring Border Width\"},hoverScale:{type:ControlType.Number,defaultValue:1.5,min:.5,max:3,step:.1,displayStepper:true,title:\"Hover Scale\"},clickScale:{type:ControlType.Number,defaultValue:.75,min:.2,max:2,step:.05,displayStepper:true,title:\"Click Scale\"},animationDuration:{type:ControlType.Number,defaultValue:150,min:50,max:1e3,step:25,displayStepper:true,title:\"Dot/Ring Anim (ms)\"},blendMode:{type:ControlType.Enum,defaultValue:\"difference\",options:[\"normal\",\"multiply\",\"screen\",\"overlay\",\"darken\",\"lighten\",\"color-dodge\",\"color-burn\",\"hard-light\",\"soft-light\",\"difference\",\"exclusion\"],optionTitles:[\"Normal\",\"Multiply\",\"Screen\",\"Overlay\",\"Darken\",\"Lighten\",\"Color Dodge\",\"Color Burn\",\"Hard Light\",\"Soft Light\",\"Difference\",\"Exclusion\"],title:\"Blend Mode\"},opacity:{type:ControlType.Number,defaultValue:1,min:0,max:1,step:.1,displayStepper:true,title:\"Opacity\"},hideOnMobile:{type:ControlType.Boolean,defaultValue:true,title:\"Hide on Mobile\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CustomCursor\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Circle_Cursor.map","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useEffect,useId,useLayoutEffect,useRef,useState}from\"react\";import{animate,AnimatePresence,motion,useReducedMotion}from\"framer-motion\";import{createPortal}from\"react-dom\";import*as Framer from\"framer\";import{addPropertyControls,ControlType}from\"framer\";// Framer's router hook is available at runtime but not in its typings; fall back to full page loads.\nconst useRouter=Framer.useRouter??(()=>null);// Site nav. Work, Play, Me and Contact sit top left with the music player beside them; day/night sits top right. The current\n// page's ink background slides between items. Contact (a chat bubble) opens the contact\n// links inside the pill; on small screens a two-line menu button opens a panel instead.\n// Both icons fold their two lines into an x. Theme colors come from --jm-* variables.\nconst EASE=[.2,.7,.1,1];const EASE_CSS=\"cubic-bezier(.2,.7,.1,1)\";const PAPER={light:\"rgb(250, 250, 250)\",dark:\"#0D0D0E\"};const INK=\"var(--jm-ink, #0D0D0E)\";const INK_2=\"var(--jm-ink-2, #63656A)\";const PAGE=\"var(--jm-page, #FAFAFA)\";const SERIF='\"Newsreader\", \"Newsreader Placeholder\", Georgia, serif';const HOVER=\"color-mix(in srgb, var(--jm-ink, #0D0D0E) 6%, transparent)\";const SANS='\"SF Pro Text\", -apple-system, BlinkMacSystemFont, \"Inter\", \"Inter Placeholder\", system-ui, sans-serif';// SF Pro (Text and Display; 400, 500, 600), Latin subset. The nav is on every page, so it\n// adds the faces for the other code components too. Hosted files (preloaded in the site head) keep them out of this bundle.\nconst CSS='@font-face{font-family:\"SF Pro Text\";font-style:normal;font-weight:400;font-display:swap;src:url(https://framerusercontent.com/assets/KN3DD0gCnBhThngKYEYpQFSb3gw.woff2) format(\"woff2\")}@font-face{font-family:\"SF Pro Text\";font-style:normal;font-weight:500;font-display:swap;src:url(https://framerusercontent.com/assets/rOypWpZEwTgEW7NiSYSrNrOuJA.woff2) format(\"woff2\")}@font-face{font-family:\"SF Pro Text\";font-style:normal;font-weight:600;font-display:swap;src:url(https://framerusercontent.com/assets/qQ00MvbgWlj7KZLX7JC8EDzva7M.woff2) format(\"woff2\")}@font-face{font-family:\"SF Pro Display\";font-style:normal;font-weight:400;font-display:swap;src:url(https://framerusercontent.com/assets/niRXDlOfcVf6WAaWnCZ1p5wH2Z8.woff2) format(\"woff2\")}@font-face{font-family:\"SF Pro Display\";font-style:normal;font-weight:500;font-display:swap;src:url(https://framerusercontent.com/assets/vuicS6MzJ64t3sp0UIigwAYiuhs.woff2) format(\"woff2\")}@font-face{font-family:\"SF Pro Display\";font-style:normal;font-weight:600;font-display:swap;src:url(https://framerusercontent.com/assets/Kn7lH0S7xNOXWKEpisIWLTsCeE.woff2) format(\"woff2\")}';function ensureSFPro(){if(typeof document===\"undefined\"||document.getElementById(\"jm-sf-pro\"))return;const style=document.createElement(\"style\");style.id=\"jm-sf-pro\";style.textContent=CSS;document.head.appendChild(style);}// The theme colors, also in the site's head code. Framer's preview doesn't always run head\n// code, so the nav adds them too; otherwise text set in --jm-ink falls back to the day color\n// and disappears at night.\n// The scrollbar's space is always reserved, so the fixed nav sits in exactly the same place\n// on pages that scroll and pages that don't.\nconst THEME_CSS='html{scrollbar-gutter:stable}:root{--jm-page:rgb(250,250,250);--jm-ink:#0D0D0E;--jm-ink-2:#63656A;--jm-glass-edge:rgba(255,255,255,0.55)}html[data-theme=\"dark\"]{--jm-page:#0D0D0E;--jm-ink:#F3F3F4;--jm-ink-2:#9B9DA3;--jm-glass-edge:rgba(255,255,255,0.12);--jm-glass-hi:rgba(255,255,255,0.16);--jm-glass-glow:rgba(255,255,255,0.04);--jm-sheen:0.35;color-scheme:dark}html[data-theme=\"dark\"] body{--token-fa84be5c-42a4-4253-8b86-4f4d2b1de41c:#0D0D0E;--token-41960ea3-2b43-404a-844c-c42b026ee3fe:#151517;--token-91701b38-e012-446b-bc59-4489c90fea2a:#1F2023;--token-7d8a7559-321d-4783-a637-c2467c15e54e:#2E2F33;--token-485b5e83-4820-429c-ab78-3aa279610f6f:#6B6D73;--token-d035ea26-95a1-46d3-bbc7-ff0d7860c088:#9B9DA3;--token-3427128f-2e10-4a8c-b257-bd23521799c0:#B3B5BA;--token-1eb67fc9-ab8d-4e4e-82b0-12438f67c1cd:#C8C9CD;--token-23dc508d-eb39-453d-bd33-b58864b4e1f0:#DCDDE0;--token-27b46205-b31d-4226-9b6d-d7c614a8f9cb:#F3F3F4;--token-f83e2bbc-d1ca-446d-9efb-b1913622f323:#F3F3F4;--token-10baa835-8aba-4a72-89ce-3fff79911f52:#5C5E64;--token-b0fedf8c-fc37-40d3-af43-44fff71e74df:#141415;--token-95a9e475-b603-4a85-9760-9e6c3e643ab8:#F3F3F4;--token-419394a1-565d-4952-8ba3-b4f1eb92339c:#F3F3F4;background:#0D0D0E}';function ensureTheme(){if(typeof document===\"undefined\"||document.getElementById(\"jm-theme\"))return;const style=document.createElement(\"style\");style.id=\"jm-theme\";style.textContent=THEME_CSS+':root{--jm-green:#12924A}html[data-theme=\"dark\"]{--jm-green:#4ADE80}'+// Images with dark text on a clear background (layers named \"on-light\") sit on a soft\n// light card at night, so their text stays readable.\n'html[data-theme=\"dark\"] [data-framer-name=\"on-light\"]{background-color:#E9E9EB !important;border-radius:12px;box-shadow:0 0 0 12px #E9E9EB}';document.head.appendChild(style);if(!document.documentElement.dataset.theme){// Every visit starts in day; a switch holds for the rest of that visit only.\nlet t=null;try{t=sessionStorage.getItem(\"jm-theme\");}catch{}if(t!==\"light\"&&t!==\"dark\")t=\"light\";document.documentElement.dataset.theme=t;}}if(typeof window!==\"undefined\"){ensureSFPro();ensureTheme();}const HOLD=.07;const TRAVEL=.45;const SLING=[.7,0,.2,1];function getTheme(){if(typeof document===\"undefined\")return\"light\";return document.documentElement.dataset.theme===\"dark\"?\"dark\":\"light\";}function applyTheme(next){document.documentElement.dataset.theme=next;try{sessionStorage.setItem(\"jm-theme\",next);}catch{}}// Switching theme: the new theme, fully drawn (text, images and all), is revealed through a\n// field of small squares that grow out from just under the toggle in a wave, each with 2px\n// corners, turning from a small diamond into a square as it grows. It uses the browser's\n// view transition snapshot, so there is never a blank page in between. Without view\n// transitions the theme simply switches.\nconst TILE_PX=24;let vtCss=false;function themeReveal(from,swap){const doc=document;if(!doc.startViewTransition)return swap();if(!vtCss){vtCss=true;const st=document.createElement(\"style\");st.textContent=\"::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}::view-transition-group(root){animation-duration:0s}\";document.head.appendChild(st);}// Small squares grow out from under the toggle in a soft, wide band: each square's growth\n// is offset by its distance (plus a little noise), and squares already full are merged\n// into one strip per row, so the clip stays light and every frame renders.\nconst W=innerWidth;const H=innerHeight;const T=TILE_PX;const cols=Math.ceil(W/T);const rows=Math.ceil(H/T);const ox=from.left+from.width/2;const oy=from.top+from.height/2;const delay=new Float32Array(cols*rows);let maxD=1;for(let r=0;r<rows;r++)for(let c=0;c<cols;c++){const d=Math.hypot(c*T+T/2-ox,r*T+T/2-oy);maxD=Math.max(maxD,d);delay[r*cols+c]=d;}const TOTAL=900;const EACH=420;for(let i=0;i<delay.length;i++){const n=Math.sin(i*12.9898)*43758.5453;delay[i]=delay[i]/maxD*(TOTAL-EACH-60)+(n-Math.floor(n))*60;}const smooth=x=>x<=0?0:x>=1?1:x*x*(3-2*x);const clip=ms=>{const pts=[];const rect=(x0,y0,x1,y1)=>pts.push(`M${x0} ${y0}H${x1}V${y1}H${x0}Z`);for(let r=0;r<rows;r++){let run=-1;for(let c=0;c<=cols;c++){const p=c<cols?smooth((ms-delay[r*cols+c])/EACH):0;if(p>=1){if(run<0)run=c;continue;}if(run>=0)rect(run*T,r*T,c*T,r*T+T),run=-1;if(p>0&&c<cols){const h=T/2*p+.25;const cx=c*T+T/2,cy=r*T+T/2;rect(+(cx-h).toFixed(1),+(cy-h).toFixed(1),+(cx+h).toFixed(1),+(cy+h).toFixed(1));}}}return pts.length?`path(\"${pts.join(\"\")}\")`:\"path('M0 0Z')\";};const style=document.createElement(\"style\");style.textContent=\"::view-transition-new(root){clip-path:path('M0 0Z')}\";document.head.appendChild(style);const vt=doc.startViewTransition(()=>swap());vt.ready.then(()=>{// Keeps the transition alive while the clip is drawn frame by frame.\ndocument.documentElement.animate([{opacity:1},{opacity:1}],{duration:TOTAL+40,pseudoElement:\"::view-transition-new(root)\"});const t0=performance.now();const tick=now=>{const ms=now-t0;style.textContent=`::view-transition-new(root){clip-path:${clip(ms)}}`;if(ms<TOTAL)requestAnimationFrame(tick);else style.textContent=\"\";};requestAnimationFrame(tick);}).catch(()=>{});vt.finished.finally(()=>style.remove());}// Page changes from the nav. The page slides the same way the ink box travels: going right\n// (Work → Play → Me) the page leaves to the left and the next one comes in from the right;\n// going back reverses. On phones it is a plain crossfade. The nav and cursor stay put.\nconst ORDER={work:0,play:1,about:2};const SHIFT=32;function pageParts(nav){// The page's sections are the siblings of the nav's container in the page frame.\nlet el=nav;while(el&&el.parentElement&&el.parentElement.children.length<3)el=el.parentElement;const frame=el?.parentElement;if(!frame||!el)return[];return Array.from(frame.children).filter(c=>{if(c===el||!(c instanceof HTMLElement))return false;const pos=getComputedStyle(c).position;return pos!==\"fixed\"&&c.offsetHeight>0;});}function pageOut(nav,dir,slide,ms){const parts=pageParts(nav);parts.forEach(p=>p.animate([{opacity:1,transform:\"none\"},{opacity:0,transform:slide?`translateX(${-dir*SHIFT}px)`:\"none\"}],{duration:ms,delay:HOLD*1e3,easing:\"cubic-bezier(.7,0,.2,1)\",fill:\"forwards\"}));}function pageIn(nav){let note=null;try{note=JSON.parse(sessionStorage.getItem(\"jm-enter\")||\"null\");sessionStorage.removeItem(\"jm-enter\");}catch{}if(!note||Date.now()-note.at>2500)return;window.__jmEnterUntil=performance.now()+460;pageParts(nav).forEach(p=>p.animate([{opacity:0,transform:note.slide?`translateX(${note.dir*SHIFT}px)`:\"none\"},{opacity:1,transform:\"none\"}],{duration:420,easing:\"cubic-bezier(.2,.7,.1,1)\",fill:\"backwards\"}));}const pillStyle={position:\"relative\",isolation:\"isolate\",display:\"block\",padding:\"6px 11px\",borderRadius:4,fontFamily:SANS,fontSize:15,lineHeight:1.2,fontWeight:500,letterSpacing:\"-0.01em\",textDecoration:\"none\",whiteSpace:\"nowrap\",border:0,background:\"transparent\",cursor:\"pointer\",transition:`color 200ms ${EASE_CSS}, background-color 200ms ${EASE_CSS}`};// Every page link is the same width, so the pill never changes size from page to page.\nconst FIXED={width:58,boxSizing:\"border-box\",textAlign:\"center\",padding:\"6px 0\"};// First frames of the site's videos, shown until each video can play.\nconst POSTERS=Object.fromEntries(\"KWHfiEhzUzcG6bqxkSNVi8Xn54g:jlwPNCVwTLfraIr8wqS6OeLAA,OjgrU8mL8OtjBiF9XQXEuQZxKo:Ws985eNeu0bZ1n8dzpGdl1U5Dc,MmjIuoWqPyoy2LqsbOkcvX4LRw:J5aOgQwbfT7uavo0APxVQZoZeXY,32rJ586VfhCcAvVSysyhXPwFUY:A1n9RCGyuX44oEIRCIAhUjir2w,MLWPbW1dUQawJLhhun3dBwpgJak:UBbylxuQwyZZcsRbTTWdiRjKw68,xNxGbpOu21qCuKiiz7OyTcxeIlM:2oBgQg4UodDnPhyx9gBS2Zv1bE,n15f5KXOlh2aGM6EcCvV5KcQDw:4vXUaZTuvTe8PwaYgDiRbAEPgHI,ctSqfjPDRLx0up4jOaO5IWXAzk:qZ2fgIBtfi22Z0fpROee2FdTRTQ,OrR15GD4CDDiiOoqrgxxvjhTIeI:XWyOs8gTbTc8SY1oLVkkTWCPM,5XRmZoQZ9F3WNMo64SEtMw1450:0fMf7X2hHVUjSP3c5MOd6HBEJ4,hmE8rFhlJOKQePXyUqWJMO5Qo:jk4BI6GcUNLlA5AuEWI7ESbV9Ik,UTjGOYThPferHfeWymxtjiXoxSk:XvDag3xI3crXrbsthSuBlt3eeKQ,Mn8Dv7zIZcYiYZFgd1N3nNCiADw:wghxDOvHsQmry1veCcecDV1VE,Hx0cKPEQa6rcVkzWKO4wSM7DNk:wWgSdXTz41ZUpB1QHqSqOxUE6E,9CiSfalcQaTCIX5vAYIuRzX2s:mBjHTv79DVLP233i5IrP8fYjm4,pPfKe572MH0NkHU1jHZnoTXp6J0:lRKxKUC7KGxD9fiYVGHZjWjkGo,IYHZBFhCFOj3utinhQlY64JoR0:d6L29eNtQxYFDGN2ID6FcRpr8,ZYWVsZ5WemS0mLduByvHxd2udEA:Pl6oWtEItJJiVk7UeF2MW6R9NM,nteLev028gBT9qrlPKBMwEI8ew:H8HpxpjMCjGo6zG0wTov0QuZvQ,qkTcgx9Lw0vV8K8sy7L2XPLve5o:cH0Hxu12xt9cPxu0IefCwnCyOH8,06o6NKqL5jYtCHczFM2XDddfjPE:hajJeOrRD0YTgxUPD5cJIhlMwC4,IaXJTu9zYVeCTrwrAFXqHb64bQ:811ZDCidUBeFKUUzLcE1AdVDWg,WwkXFMu4qE6FTnt0xpVgstbQ:U5BVGaK2nkDW7kp0KE0zVIRv9M,N7jQh1kLh00kHdUolc6kYgYZwQ:Sku6BFIbBYvHNTf4qK6iPv744w,TjfwpG6jkujx2HqzQ2t5v0jg:LRkCFNxN2B0hXSSbgINQBlzsXE0,lmF7iSY6WMy6ETR1GcR88YK7RQ:DNbZDqOG6x94LanLycmbtt8VSWw,JIjNRKDHs7H2YXohd70TSa137PI:B1qrX1oPasUIH1KGHh08FILc,XbiWNcMcFhQMeU2ljv1JNhFFWX0:LLuUpEOHJ7qoMGz3771QMTLqezY,WQwfBgCobnTjC96XpW0xq4MIXAw:MK55rlT8xMfyfjZjipNFT4BmjC0,pyIZRiJCO85NJQt69iP8lH8BDa8:JTX731kdDaxewi3CNWeBuIS0M,8ycJBmYOicdc4CfK4hyiJQlZj80:kGUB8Bgn0aFF59QmWHySfKcb0E,nmv8nEDBPcp1XKHIvg0fCmqs:WrnpH8WYlObI94to28UdM1XDEI,idjFwiSG5s5cmb1e8eMPVFwYqcE:jBfJujLmvfJ2S1KCALAwzHsIzx4,RV5oJRr7jrSMgAkGvWzQSs1Bk:j78JfwALaelRV99v8joX0X1s5k,FHEAcLsYH9SEVXoYam6eIWNHZo:woEnsFEgAKb57TVdoWsFeac6V0,dNI3V7XqhZIp0XubsIu9dZIvwwM:0FE20E0tUonyJPCd8OiIIGT76Qo,5lXslCnX7HGZ04AGdcRz7LH48Wc:jxPJPHlup5UFbq6rzTwdtuPEzVM,P56WKl3wHaXH8V1Krr3vFDWZWw:KnsHOWhSjORL00hf60tGbpJHOo,OYw0xRFqOTwmeiEQzsnH9Q8phU:9sVpvTyzkdBnz0jpBRYLTqx1ecc,DjoLtyay7HDbzKhM9m3kfCxvBwM:JqKMitUALHE9gqI0lsxl9o,IVRzpNOuAT81smZW9EREFl8JJBk:XopV4jW28m9l1kAA8aLU534dXo,b1O91iTaDA7TzYe94GMPDBxz2ms:6nKaQzX5eHvEEFqcAGJQlURSw8Y,YsYLqcRTOUWNxSBJaNW0Mk0De0U:GjPOvNbT8w4dYUlGEctEV4nmkNY,Z27rIJlwFKTiAqWV5ZRJW4as7s:B0dr2VDAUuUKJ3laDotRVFl4Wc,QpIzbhQ2WwZsaIqaU2TISEPUtk:pH54OPo6Jp9yWcJSCQ4YQVs3Go,V6aHAhuC1ZNHErwJRoMvydH6UQ:QoqUrS5vVtZp0tOVhNAgF1Pv7s,BuL6f4eDR1UECus3fkHzC53hWc:cnzWQe7JY0g5yvavYyuhSJB4os,elzZ22ClIcUTvEdtYR0RVY9OCCU:DBW2NUHnXPgZUltn4rQIzfSKFPg,0OrMX01kgwUZEYZWMWuWzRE2SkE:oqmtltujdA9G27u8k2lr5x6OdE,A6O4le9QuJErEE0c0bPf5ea1ko:GdqPUwfEIJPvpTn5aCPZLWVRhRo\".split(\",\").map(p=>p.split(\":\")));const posterFor=video=>{const id=(video||\"\").split(\"/\").pop()?.split(/[.?]/)[0]??\"\";return POSTERS[id]?`https://framerusercontent.com/images/${POSTERS[id]}.jpg`:\"\";};// Every video on the site gets its first frame as a poster, so nothing shows as a black box\n// while it loads (the nav is on every page, so it does this for the page's videos too).\nfunction usePosters(){useEffect(()=>{const set=root=>root.querySelectorAll?.(\"video\").forEach(v=>{if(v.getAttribute(\"poster\"))return;const p=posterFor(v.getAttribute(\"src\")||v.querySelector(\"source\")?.getAttribute(\"src\")||\"\");if(p)v.setAttribute(\"poster\",p);});set(document);const mo=new MutationObserver(muts=>{for(const m of muts)m.addedNodes.forEach(n=>{if(n instanceof HTMLVideoElement)set(n.parentElement??document);else if(n instanceof Element)set(n);});});mo.observe(document.body,{childList:true,subtree:true});return()=>mo.disconnect();},[]);}// Case studies: the page's text and media fade up into place, top to bottom, as they come\n// into view. The summary panel (a layer named TLDR) comes in as one piece, box and text together. Uses the separate translate property so it never fights the layout's transforms.\nfunction useCaseStudyReveal(on,reduce,navRef,page){useLayoutEffect(()=>{const nav=navRef.current;if(!on||reduce||typeof IntersectionObserver===\"undefined\")return;const root=document.getElementById(\"main\")??document.body;const picked=Array.from(root.querySelectorAll('[data-framer-component-type=\"RichTextContainer\"], img, video, [data-framer-name=\"TLDR\"], ul[aria-label^=\"Tools:\"], [data-jm-reveal]')).filter(el=>!nav?.contains(el)&&!el.closest(\"nav, footer\")&&getComputedStyle(el).position!==\"fixed\");const els=picked.filter(el=>!picked.some(o=>o!==el&&o.contains(el)));els.forEach(el=>el.style.opacity=\"0\");let queue=[];let timer=0;const flush=()=>{timer=0;queue.sort((a,b)=>a.getBoundingClientRect().top-b.getBoundingClientRect().top||a.getBoundingClientRect().left-b.getBoundingClientRect().left);queue.forEach((el,k)=>{el.style.opacity=\"\";el.animate([{opacity:0,translate:\"0 6px\"},{opacity:1,translate:\"0 0\"}],{duration:520,delay:Math.min(k,6)*50,easing:\"cubic-bezier(.25,.6,.3,1)\",fill:\"backwards\"});});queue=[];};const io=new IntersectionObserver(entries=>{for(const e of entries){// Reveal on entering view, or if it was scrolled past without being seen.\nif(!e.isIntersecting&&e.boundingClientRect.bottom>0)continue;io.unobserve(e.target);queue.push(e.target);}if(queue.length&&!timer)timer=window.setTimeout(flush,30);},{rootMargin:\"0px 0px -6% 0px\",threshold:.05});els.forEach(el=>io.observe(el));// A fast jump can skip past an element without it ever intersecting.\nconst left=new Set(els);const sweep=()=>{for(const el of left){if(el.style.opacity!==\"0\"){left.delete(el);continue;}if(el.getBoundingClientRect().top<innerHeight){io.unobserve(el);left.delete(el);queue.push(el);}}if(queue.length&&!timer)timer=window.setTimeout(flush,30);};addEventListener(\"scroll\",sweep,{passive:true});return()=>{removeEventListener(\"scroll\",sweep);io.disconnect();clearTimeout(timer);els.forEach(el=>el.style.opacity=\"\");};},[on,page])// a fresh pass for every case study, also when one opens straight from another\n;}// Case study table of contents: its links scroll smoothly to their section, and the section\n// you're reading shows in ink while the rest sit in light grey (like the Me page's list).\nconst TOC_CSS=\"a[data-jm-toc]{color:color-mix(in srgb,var(--jm-ink,#0D0D0E) 34%,var(--jm-page,#FAFAFA))!important;text-decoration:none!important;transition:color 300ms cubic-bezier(.2,.7,.1,1);cursor:pointer}a[data-jm-toc][data-on]{color:var(--jm-ink,#0D0D0E)!important}a[data-jm-toc]:hover{color:var(--jm-ink,#0D0D0E)!important}\"+\"[data-jm-toc-col]{transition:opacity 420ms cubic-bezier(.2,.7,.1,1)}[data-jm-toc-hide]{opacity:0!important;pointer-events:none!important}@media (prefers-reduced-motion: reduce){[data-jm-toc-col]{transition:none}}\";function useCaseStudyToc(on,page){useEffect(()=>{if(!on)return;if(!document.getElementById(\"jm-toc-css\")){const st=document.createElement(\"style\");st.id=\"jm-toc-css\";st.textContent=TOC_CSS;document.head.appendChild(st);}let links=[];let cols=new Set;const scan=()=>{links=[];current=null;// A contents link is one whose words name a section on this page: by its #anchor if\n// it has one, otherwise by a section id or heading with the same name.\nconst slug=t=>t.trim().toLowerCase().replace(/&/g,\"and\").replace(/[^a-z0-9]+/g,\"-\").replace(/^-|-$/g,\"\");const heads=Array.from(document.querySelectorAll(\"h1, h2, h3\"));document.querySelectorAll(\"a\").forEach(a=>{if(a.closest(\"nav, footer\"))return;const text=(a.textContent||\"\").trim();if(!text||text.length>40)return;const hash=decodeURIComponent((a.getAttribute(\"href\")||\"\").split(\"#\")[1]||\"\");let el=hash&&document.getElementById(hash)||document.getElementById(slug(text));if(!el)el=heads.find(h=>!a.contains(h)&&!h.contains(a)&&(h.textContent||\"\").trim().toLowerCase()===text.toLowerCase())??null;if(!el||el.contains(a))return;a.setAttribute(\"data-jm-toc\",\"\");a.setAttribute(\"data-jm-key\",slug(text));links.push({a,el});});// The sticky columns holding the lists, which fade with it.\ncols=new Set;for(const{a}of links){for(let n=a.parentElement;n&&n!==document.body;n=n.parentElement){if(getComputedStyle(n).position===\"sticky\"){cols.add(n);break;}}}spy();};const offset=()=>Math.min(140,innerHeight*.18);// A section counts as the one being read once its heading passes this line, a little above the middle of\n// the screen, so the contents follow the section filling the view rather than waiting for it to reach the top.\nconst READ_LINE=343;let current=null;let lastScan=0;const spy=()=>{// Framer swaps in a fresh contents list when the page crosses a breakpoint; scan again when the links\n// we hold are gone, or the new ones would show the component's own colours\nconst stale=!links.length||links.some(l=>!l.a.isConnected||!l.el.isConnected);if(stale&&performance.now()-lastScan>300){lastScan=performance.now();scan();return;}let best=null;let bestTop=-Infinity;for(const{a,el}of links){const t=el.getBoundingClientRect().top-READ_LINE;if(t<=0&&t>bestTop)bestTop=t,best=a;}// Over the hero and title (no section reached yet) the column is hidden.\nconst reached=!!best;cols.forEach(c=>reached?c.removeAttribute(\"data-jm-toc-hide\"):c.setAttribute(\"data-jm-toc-hide\",\"\"));if(!best&&links.length)best=links[0].a;if(best===current)return;current=best;// A section can be listed more than once (desktop and phone lists): mark every link to it.\nconst key=best?.getAttribute(\"data-jm-key\");for(const{a}of links){if(a.getAttribute(\"data-jm-key\")===key)a.setAttribute(\"data-on\",\"\");else a.removeAttribute(\"data-on\");}};const onClick=e=>{const a=e.target?.closest?.(\"a[data-jm-toc]\");if(!a||e.metaKey||e.ctrlKey||e.shiftKey||e.button!==0)return;const hit=links.find(l=>l.a===a);if(!hit)return;e.preventDefault();e.stopPropagation();const reduce=matchMedia(\"(prefers-reduced-motion: reduce)\").matches;const y=hit.el.getBoundingClientRect().top+scrollY-offset();scrollTo({top:y,behavior:reduce?\"auto\":\"smooth\"});};const t1=window.setTimeout(scan,300);const t2=window.setTimeout(scan,1500);scan();document.addEventListener(\"click\",onClick,true);addEventListener(\"scroll\",spy,{passive:true});let rt=0;const onResize=()=>{spy();clearTimeout(rt);rt=window.setTimeout(scan,250);};addEventListener(\"resize\",onResize);return()=>{clearTimeout(t1);clearTimeout(t2);clearTimeout(rt);document.removeEventListener(\"click\",onClick,true);cols.forEach(c=>c.removeAttribute(\"data-jm-toc-hide\"));removeEventListener(\"scroll\",spy);removeEventListener(\"resize\",onResize);};},[on,page]);}// The contents column sits in the page's centred container while the nav is pinned to the\n// window edge, so the gap between them changes with the window width. Slide the column so\n// its left edge always lines up with the nav's.\nfunction useTocAlign(on,navRef,page){useEffect(()=>{if(!on)return;let raf=0;const cols=new Set;const rows=new Set;const align=()=>{raf=0;const lead=Array.from(navRef.current?.children??[]).find(n=>n.tagName!==\"STYLE\");if(!lead)return;cols.forEach(c=>!c.isConnected&&cols.delete(c));// The column is the sticky box holding the contents links.\ndocument.querySelectorAll(\"a[data-jm-toc]\").forEach(a=>{for(let n=a.parentElement;n&&n!==document.body;n=n.parentElement){if(getComputedStyle(n).position===\"sticky\"){cols.add(n);break;}}});const target=lead.getBoundingClientRect().left;cols.forEach(c=>{const shift=parseFloat(c.style.translate)||0;const box=c.getBoundingClientRect();const row=c.parentElement;// Each row also holds an invisible copy of the contents on the right that keeps the page\n// centred; leave it where it is, or it lands on top of the real list and takes its clicks.\n// (Told apart by side, not opacity: the real one is see-through while it fades.)\nconst rb=row?.getBoundingClientRect();if(!c.getClientRects().length||!rb||box.left-shift+box.width/2>rb.left+rb.width/2){c.style.translate=\"\";return;}c.setAttribute(\"data-jm-toc-col\",\"\");const left=box.left-shift;const next=Math.round(target-left);if(next!==Math.round(shift))c.style.translate=next?`${next}px 0`:\"\";// The row clips its edges; a column slid past them would be cut off on wide screens.\nif(row){row.style.overflow=next?\"visible\":\"\";rows.add(row);}});};const queue=()=>{if(!raf)raf=requestAnimationFrame(align);};// The contents links are marked a moment after the page mounts, and again after a breakpoint swap.\nconst timers=[0,320,1600].map(t=>window.setTimeout(queue,t));let rt=0;const onResize=()=>{queue();clearTimeout(rt);rt=window.setTimeout(queue,400);};addEventListener(\"resize\",onResize);const ro=new ResizeObserver(queue);if(navRef.current)ro.observe(navRef.current);return()=>{timers.forEach(clearTimeout);clearTimeout(rt);cancelAnimationFrame(raf);removeEventListener(\"resize\",onResize);ro.disconnect();cols.forEach(c=>{c.style.translate=\"\";c.removeAttribute(\"data-jm-toc-col\");});rows.forEach(r=>r.style.overflow=\"\");};},[on,page]);}const PROJECTS={\"/projects/umich\":{name:\"University of Michigan\",logo:\"https://framerusercontent.com/images/8Nizr8eCCTogXtr28ZtDCCXfw.png\"},\"/projects/handshake\":{name:\"Handshake\",logo:\"https://framerusercontent.com/images/A5FHAJ39rqg5naO4UINY9F1Ci8.png\"},\"/projects/handshake-product\":{name:\"Handshake\",logo:\"https://framerusercontent.com/images/A5FHAJ39rqg5naO4UINY9F1Ci8.png\"},\"/projects/playsmart\":{name:\"PlaySmart\",icon:\"🏀\"},\"/projects/homebase\":{name:\"Homebase\",logo:\"https://framerusercontent.com/images/tsipNLvLmEhcvN0JivOokWLGfO4.png\"}};const CHIP=30;function ProjectMark({project,size}){return project.logo?/*#__PURE__*/_jsx(\"img\",{src:project.logo,alt:\"\",width:size,height:size,style:{display:\"block\",width:size,height:size,objectFit:\"contain\",borderRadius:2}}):/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":\"true\",style:{fontSize:size*.85,lineHeight:1},children:project.icon});}const iconBtn={display:\"grid\",placeItems:\"center\",width:34,height:34,borderRadius:4,border:0,padding:0,background:\"transparent\",cursor:\"pointer\",transition:`color 200ms ${EASE_CSS}, background-color 200ms ${EASE_CSS}`};function Hoverable(props){const{as:Tag,style,hoverStyle,elRef,...rest}=props;const[hover,setHover]=useState(false);return /*#__PURE__*/_jsx(Tag,{...rest,ref:elRef,style:{...style,...hover?hoverStyle:null},onMouseEnter:e=>{setHover(true);rest.onMouseEnter?.(e);},onMouseLeave:e=>{setHover(false);rest.onMouseLeave?.(e);}});}// Email copies the address instead of opening a mail app. The envelope folds into a\n// clipboard with a green check, then back again; the cursor says \"Copied\" (on phones the\n// label flips to \"Copied\" instead).\nasync function copyText(text){try{await navigator.clipboard.writeText(text);return true;}catch{const t=document.createElement(\"textarea\");t.value=text;t.style.position=\"fixed\";t.style.opacity=\"0\";document.body.appendChild(t);t.select();const ok=document.execCommand(\"copy\");t.remove();return ok;}}const GREEN=\"var(--jm-green, #12924A)\";function MailClip({copied,reduce}){const t=(d=0)=>reduce?{duration:0}:{duration:.3,ease:EASE,delay:d};return /*#__PURE__*/_jsxs(\"svg\",{width:18,height:18,viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:1.6,strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsxs(motion.g,{initial:false,animate:{opacity:copied?0:1,scale:copied?.7:1},transition:t(copied?0:.15),style:{transformOrigin:\"12px 12px\"},children:[/*#__PURE__*/_jsx(\"rect\",{x:3.5,y:5.5,width:17,height:13,rx:2}),/*#__PURE__*/_jsx(\"path\",{d:\"M4 6.5l8 6 8-6\"})]}),/*#__PURE__*/_jsx(motion.path,{d:\"M5.5 12.5l4.2 4.2 8.8-9.2\",stroke:GREEN,strokeWidth:2.2,initial:false,animate:{pathLength:copied?1:0,opacity:copied?1:0},transition:t(copied?.12:0)})]});}// The label swaps word for word: the old one rises out, the new one rises in.\nfunction SwapWord({word}){return /*#__PURE__*/_jsx(\"span\",{style:{position:\"relative\",display:\"inline-grid\",overflow:\"hidden\"},children:/*#__PURE__*/_jsx(AnimatePresence,{initial:false,mode:\"popLayout\",children:/*#__PURE__*/_jsx(motion.span,{initial:{y:\"100%\",opacity:0},animate:{y:\"0%\",opacity:1},exit:{y:\"-100%\",opacity:0},transition:{duration:.32,ease:EASE},style:{gridArea:\"1 / 1\",color:word===\"Copied\"?GREEN:undefined},children:word},word)})});}function ContactIcon({name}){const common={width:18,height:18,viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:1.6,strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":true};if(name===\"LinkedIn\")return /*#__PURE__*/_jsxs(\"svg\",{...common,children:[/*#__PURE__*/_jsx(\"rect\",{x:\"3.5\",y:\"3.5\",width:\"17\",height:\"17\",rx:\"3\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M8.2 10.5v6M12 16.5v-6M12 13.2a2.4 2.4 0 0 1 4.8 0v3.3\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"8.2\",cy:\"7.6\",r:\"0.9\",fill:\"currentColor\",stroke:\"none\"})]});if(name===\"Resume\")return /*#__PURE__*/_jsxs(\"svg\",{...common,children:[/*#__PURE__*/_jsx(\"path\",{d:\"M6.5 3.5h7.5l4 4v13h-11.5z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M13.5 3.5v4.5h4.5M9.5 12.5h5M9.5 16h5\"})]});return /*#__PURE__*/_jsxs(\"svg\",{...common,children:[/*#__PURE__*/_jsx(\"rect\",{x:\"3.5\",y:\"5.5\",width:\"17\",height:\"13\",rx:\"2\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M4 6.5l8 6 8-6\"})]});}// A lightbulb. Day: an outlined bulb giving off five short rays. To night, the rays draw\n// back in one after another, then the bulb fills from its base up. Back to day it empties,\n// then the rays draw out again. Two steps, like the menu icon.\nconst RAYS=[\"M12 1.6v2\",\"M5.2 4.3l1.4 1.4\",\"M18.8 4.3l-1.4 1.4\",\"M2.8 10.5h2\",\"M19.2 10.5h2\"];const BULB=\"M12 6a4.6 4.6 0 0 0-2.7 8.3c.45.33.7.8.7 1.35V16.4h4v-.75c0-.55.25-1.02.7-1.35A4.6 4.6 0 0 0 12 6z\";function ThemeToggle({reduce}){const[theme,setTheme]=useState(\"light\");const[ready,setReady]=useState(false);const clipId=`bulb-${useId().replace(/:/g,\"\")}`;useEffect(()=>{setTheme(getTheme());setReady(true);},[]);const toggle=e=>{const next=getTheme()===\"dark\"?\"light\":\"dark\";setTheme(next);if(reduce)return applyTheme(next);const r=e.currentTarget.getBoundingClientRect();themeReveal(r,()=>applyTheme(next));};const night=theme===\"dark\";const still=reduce||!ready;return /*#__PURE__*/_jsx(Hoverable,{as:\"button\",type:\"button\",onClick:toggle,\"data-sfx\":\"theme\",\"aria-label\":night?\"Switch to day\":\"Switch to night\",\"aria-pressed\":night,title:night?\"Switch to day\":\"Switch to night\",style:{...iconBtn,color:INK},hoverStyle:{background:HOVER},children:/*#__PURE__*/_jsxs(\"svg\",{viewBox:\"0 0 24 24\",width:18,height:18,\"aria-hidden\":\"true\",fill:\"none\",stroke:\"currentColor\",strokeWidth:1.5,strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[/*#__PURE__*/_jsx(\"defs\",{children:/*#__PURE__*/_jsx(\"clipPath\",{id:clipId,children:/*#__PURE__*/_jsx(motion.rect,{x:\"0\",width:\"24\",height:\"24\",initial:false,animate:{y:night?5:16.4},transition:{duration:still?0:.34,ease:EASE,delay:still||!night?0:.26}})})}),RAYS.map((d,i)=>/*#__PURE__*/_jsx(motion.path,{d:d,initial:false,animate:{pathLength:night?0:1,opacity:night?0:1},transition:{duration:still?0:.2,ease:EASE,delay:still?0:night?i*.04:.3+i*.05}},d)),/*#__PURE__*/_jsx(\"path\",{d:BULB}),/*#__PURE__*/_jsx(\"path\",{d:BULB,fill:\"currentColor\",stroke:\"none\",clipPath:`url(#${clipId})`}),/*#__PURE__*/_jsx(\"path\",{d:\"M10 18.6h4M10.7 20.7h2.6\"})]})});}const glass={pointerEvents:\"auto\",background:`color-mix(in srgb, ${PAGE} 72%, transparent)`,backdropFilter:\"blur(14px) saturate(1.4)\",WebkitBackdropFilter:\"blur(14px) saturate(1.4)\",border:`1px solid color-mix(in srgb, ${INK} 8%, transparent)`,borderRadius:6,boxShadow:\"0 10px 28px -18px rgba(0,0,0,0.35)\"};// Desktop page links. The ink box is one element behind every label; a second copy of the\n// labels in the page color sits on top, clipped to the box, so a label is light exactly\n// where the box is under it, at every moment of the slide. Text can never go ink on ink.\n// Box and clip are written together from one place on every frame, so they can't drift.\nfunction PagePills(props){const{pages,current,reduce,onPage}=props;// The mark slides out from behind Work and Work's box widens to take it in; leaving,\n// it folds back in.\nconst[shown,setShown]=useState(props.project);const[open,setOpen]=useState(false);const[back,setBackRaw]=useState(false);const setBack=on=>setBackRaw(on&&!!props.project);const chip=useRef(null);useEffect(()=>{if(props.project){setShown(props.project);const t1=window.setTimeout(()=>setOpen(true),30);return()=>clearTimeout(t1);}setOpen(false);},[props.project]);const row=useRef(null);const box=useRef(null);const copy=useRef(null);const links=useRef({});const st=useRef({x:0,w:0,s:1,on:false});const anim=useRef(null);const apply=()=>{const r=row.current;const b=box.current;const c=copy.current;if(!r||!b||!c)return;const{x,w,s,on}=st.current;const left=x-(s-1)*w/2;const width=w*s;b.style.transform=`translateX(${left}px)`;b.style.width=`${width}px`;b.style.opacity=on?\"1\":\"0\";c.style.clipPath=`inset(0px ${Math.max(0,r.offsetWidth-left-width)}px 0px ${Math.max(0,left)}px)`;c.style.opacity=on?\"1\":\"0\";};const cur=useRef(current);cur.current=current;const measure=slide=>{const el=cur.current?links.current[cur.current]:null;anim.current?.stop();anim.current=null;if(!el){st.current.on=false;return apply();}// On a case study, Work's box widens to take in the project's mark beside it. Read\n// fresh on every frame: when the mark folds away (leaving a case study) the links\n// shift left while the box is in flight, and it has to land where they end up.\nconst target=()=>{const c=chip.current;const withMark=cur.current===\"work\"&&c&&c.offsetWidth>0;return withMark?{x:c.offsetLeft,w:el.offsetLeft+el.offsetWidth-c.offsetLeft}:{x:el.offsetLeft,w:el.offsetWidth};};const to=target();if(!slide||reduce||!st.current.on){st.current={...to,s:1,on:true};return apply();}// Slingshot: a short hold, a fast exit, a soft landing, stretched in flight.\nconst from={x:st.current.x,w:st.current.w};// Leaving a case study: the box starts as Work plus the folding mark, so it narrows\n// with the mark instead of staying wide over the next link.\nconst c0=chip.current;const workEl=links.current.work;const fromLive=c0&&workEl&&cur.current!==\"work\"&&c0.offsetWidth>0?()=>({x:c0.offsetLeft,w:workEl.offsetLeft+workEl.offsetWidth-c0.offsetLeft}):()=>from;anim.current=animate(0,1,{duration:TRAVEL,delay:HOLD,ease:SLING,onUpdate:t=>{const now=target();const f0=fromLive();st.current.x=f0.x+(now.x-f0.x)*t;st.current.w=f0.w+(now.w-f0.w)*t;st.current.s=1+.08*Math.sin(Math.PI*t);apply();},onComplete:()=>{anim.current=null;measure(false);}});};const first=useRef(true);useLayoutEffect(()=>{measure(!first.current);first.current=false;},[current]);useEffect(()=>{const r=row.current;if(!r)return;// Re-measure when anything changes size (fonts arriving, resizes), unless the box\n// is mid-slide; it measures again when it lands.\nconst ro=new ResizeObserver(()=>{if(!anim.current)measure(false);});ro.observe(r);Object.values(links.current).forEach(l=>l&&ro.observe(l));chip.current&&ro.observe(chip.current);document.fonts?.ready?.then(()=>{if(!anim.current)measure(false);});return()=>{ro.disconnect();anim.current?.stop();};},[]);return /*#__PURE__*/_jsxs(\"div\",{ref:row,style:{position:\"relative\",display:\"flex\",alignItems:\"center\",gap:4},children:[/*#__PURE__*/_jsx(\"span\",{ref:box,\"aria-hidden\":\"true\",style:{position:\"absolute\",top:0,bottom:0,left:0,width:0,opacity:0,borderRadius:4,background:INK,pointerEvents:\"none\"}}),/*#__PURE__*/_jsx(\"span\",{ref:chip,\"aria-hidden\":!open,role:open?\"button\":undefined,tabIndex:open?0:-1,\"aria-label\":open?\"Back to Work\":undefined,onKeyDown:e=>{if(open&&(e.key===\"Enter\"||e.key===\" \")){e.preventDefault();onPage({metaKey:false,ctrlKey:false,shiftKey:false,button:0,preventDefault(){}},\"work\",\"/\");}},title:shown?`Back to Work`:undefined,onMouseEnter:()=>setBack(true),onMouseLeave:()=>setBack(false),onClick:e=>open&&onPage(e,\"work\",\"/\"),style:{cursor:open?\"pointer\":\"default\",position:\"relative\",zIndex:2,display:\"flex\",alignItems:\"center\",justifyContent:\"flex-end\",height:31,width:open?CHIP:0,marginRight:open?0:-4,overflow:\"hidden\",flex:\"none\",transition:reduce?\"none\":`width 240ms ${EASE_CSS}, margin 240ms ${EASE_CSS}`},children:shown&&/*#__PURE__*/_jsxs(\"span\",{role:\"img\",\"aria-label\":`${shown.name} case study`,style:{position:\"relative\",display:\"grid\",placeItems:\"center\",transform:open?\"none\":\"translateX(24px)\",opacity:open?1:0,transition:reduce?\"none\":`transform 240ms ${EASE_CSS}, opacity 200ms ${EASE_CSS}`},children:[/*#__PURE__*/_jsx(\"span\",{style:{display:\"grid\",placeItems:\"center\",opacity:back?0:1,transform:back?\"translateX(4px) scale(0.85)\":\"none\",transition:`opacity 200ms ${EASE_CSS}, transform 260ms ${EASE_CSS}`},children:/*#__PURE__*/_jsx(ProjectMark,{project:shown,size:20})}),/*#__PURE__*/_jsx(\"svg\",{\"aria-hidden\":\"true\",width:\"16\",height:\"16\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:PAGE,strokeWidth:2,strokeLinecap:\"round\",strokeLinejoin:\"round\",style:{position:\"absolute\",opacity:back?1:0,transform:back?\"none\":\"translateX(-5px)\",transition:`opacity 200ms ${EASE_CSS}, transform 260ms ${EASE_CSS}`},children:/*#__PURE__*/_jsx(\"path\",{d:\"M19 12H5M11 6l-6 6 6 6\"})})]})}),pages.map(p=>/*#__PURE__*/_jsx(Hoverable,{as:\"a\",elRef:el=>links.current[p.key]=el,href:p.href,\"data-sfx\":\"none\",onClick:e=>onPage(e,p.key,p.href),onMouseEnter:p.key===\"work\"?()=>setBack(true):undefined,onMouseLeave:p.key===\"work\"?()=>setBack(false):undefined,\"aria-current\":current===p.key?\"page\":undefined,style:{...pillStyle,...FIXED,color:INK,background:\"transparent\"},hoverStyle:current===p.key?{}:{background:HOVER},children:p.label},p.key)),/*#__PURE__*/_jsxs(\"div\",{ref:copy,\"aria-hidden\":\"true\",style:{position:\"absolute\",inset:0,display:\"flex\",alignItems:\"center\",gap:4,opacity:0,pointerEvents:\"none\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{width:open?CHIP:0,marginRight:open?0:-4,flex:\"none\",transition:reduce?\"none\":`width 240ms ${EASE_CSS}, margin 240ms ${EASE_CSS}`}}),pages.map(p=>/*#__PURE__*/_jsx(\"span\",{style:{...pillStyle,...FIXED,color:PAGE,background:\"transparent\"},children:p.label},p.key))]})]});}// Two lines that fold into an x: first they slide to the middle, then they turn 45°.\n// Closing plays the same steps backwards. With a bubble around them it reads as chat.\nfunction FoldIcon({open,bubble,reduce}){const lines=bubble?{x1:8,x2:16,ys:[9.4,13.2],arm:6.5}:{x1:4.5,x2:19.5,ys:[9,15],arm:7.5};const mid=12;const dur=reduce?0:.42;// A fresh nav (after a page change) starts closed and still; the close animation only\n// plays after the menu has been opened here.\nconst touched=useRef(false);if(open)touched.current=true;return /*#__PURE__*/_jsxs(\"svg\",{width:18,height:18,viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:1.5,strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":\"true\",children:[bubble&&/*#__PURE__*/_jsx(motion.path,{d:\"M6 4.5h12a2 2 0 0 1 2 2v8.5a2 2 0 0 1-2 2h-7.5l-4.5 3.5v-3.5h0a2 2 0 0 1-2-2V6.5a2 2 0 0 1 2-2z\",initial:false,animate:{pathLength:open?0:1,opacity:open?0:1},transition:{duration:reduce?0:.3,ease:EASE,delay:open||reduce?0:.12}}),lines.ys.map((y,i)=>{const dy=mid-y;const turn=i===0?45:-45;return /*#__PURE__*/_jsx(motion.line,{x1:lines.x1,x2:lines.x2,y1:y,y2:y,style:{transformBox:\"fill-box\",originX:\"50%\",originY:\"50%\"},initial:false,animate:open?{y:[null,dy,dy],rotate:[null,0,turn],x1:[null,lines.x1,12-lines.arm],x2:[null,lines.x2,12+lines.arm]}:touched.current?{y:[null,dy,0],rotate:[null,0,0],x1:[null,lines.x1,lines.x1],x2:[null,lines.x2,lines.x2]}:{y:0,rotate:0,x1:lines.x1,x2:lines.x2},transition:{duration:dur,ease:EASE,times:[0,.45,1]}},i);})]});}/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight auto\n */// Phone: the project's mark in ink, sliding left out from behind the menu button.\nfunction PhoneMark({project,reduce}){const[shown,setShown]=useState(project);const[open,setOpen]=useState(false);useEffect(()=>{if(project){setShown(project);const t=window.setTimeout(()=>setOpen(true),30);return()=>clearTimeout(t);}setOpen(false);},[project]);return /*#__PURE__*/_jsx(\"span\",{style:{width:open?36:0,marginRight:open?4:0,height:36,overflow:\"hidden\",flex:\"none\",transition:reduce?\"none\":`width 240ms ${EASE_CSS}, margin 240ms ${EASE_CSS}`},children:shown&&/*#__PURE__*/_jsx(\"span\",{role:\"img\",\"aria-label\":`${shown.name} case study`,style:{width:36,height:36,borderRadius:4,background:INK,display:\"grid\",placeItems:\"center\",transform:open?\"none\":\"translateX(30px)\",opacity:open?1:0,transition:reduce?\"none\":`transform 240ms ${EASE_CSS}, opacity 200ms ${EASE_CSS}`},children:/*#__PURE__*/_jsx(ProjectMark,{project:shown,size:20})})});}// Shared-element moves: an element that has just been laid out animates from (or to) another\n// element's box, by translating and scaling about its top-left corner.\nfunction flipFrom(el,from,ms){const to=el.getBoundingClientRect();return el.animate([{transformOrigin:\"0 0\",transform:`translate(${from.left-to.left}px, ${from.top-to.top}px) scale(${from.width/Math.max(1,to.width)}, ${from.height/Math.max(1,to.height)})`},{transformOrigin:\"0 0\",transform:\"none\"}],{duration:ms,easing:\"cubic-bezier(.6,0,.2,1)\"});}function flipTo(el,to,ms){const from=el.getBoundingClientRect();return el.animate([{transformOrigin:\"0 0\",transform:\"none\"},{transformOrigin:\"0 0\",transform:`translate(${to.left-from.left}px, ${to.top-from.top}px) scale(${to.width/Math.max(1,from.width)}, ${to.height/Math.max(1,from.height)})`}],{duration:ms,easing:\"cubic-bezier(.6,0,.2,1)\",fill:\"forwards\"});}// Leaving the Me page with the song on, the record player there flies into this spot\n// (carry); after that it stays put from page to page, like the nav, with no fade.\nfunction MiniPlayer({reduce,carry}){const W=typeof window!==\"undefined\"?window:null;const[track,setTrack]=useState(()=>W?.__jmTrack??null);const[playing,setPlaying]=useState(()=>!!W?.__jmTrack&&!W.__jmTrack.audio.paused);const[host,setHost]=useState(()=>W?(W.__jmHost||0)>0:true);// Left on Me while paused: the song stays there and the nav shows nothing until it plays again.\nconst[parked,setParked]=useState(()=>!!W?.__jmMiniParked);const box=useRef(null);const glassEl=useRef(null);const discEl=useRef(null);const btnEl=useRef(null);const seen=useRef(!!W?.__jmMiniSeen);// The same shared clock as the Me page's record, so the cover never jumps on hand-over.\nconst spinDelay=useRef(-(Date.now()%3200)).current;const[hover,setHover]=useState(false);const[touch,setTouch]=useState(false);useEffect(()=>{if(!document.getElementById(\"jm-spin-css\")){const st=document.createElement(\"style\");st.id=\"jm-spin-css\";st.textContent=\"@keyframes jm-spin{to{transform:rotate(360deg)}}\";document.head.appendChild(st);}setTouch(matchMedia(\"(hover: none)\").matches);const sync=()=>{const t=window.__jmTrack??null;setTrack(t);setPlaying(!!t&&!t.audio.paused);if(t&&!t.audio.paused)window.__jmMiniParked=false;setParked(!!window.__jmMiniParked);setHost((window.__jmHost||0)>0);};sync();window.addEventListener(\"jm:audio\",sync);return()=>window.removeEventListener(\"jm:audio\",sync);},[]);// Landing: arriving on Me from a page with the mini player, it flies into the record\n// player's spot there and hands over.\nconst[landing,setLanding]=useState(()=>{const f=W?.__jmMiniFrom;return!!f&&Date.now()-f.at<2500&&!reduce;});const show=!!track&&!parked&&(!host||carry||landing);useEffect(()=>{W.__jmMiniRect=()=>box.current?.getBoundingClientRect();},[]);useLayoutEffect(()=>{if(!landing)return;W.__jmMiniFrom=null;// The disc and the button travel into the record player's own, following it every frame\n// (the Me page is still sliding in), so the hand-over lands exactly; the glass fades.\nconst disc=discEl.current;const btn=btnEl.current;if(!disc||!btn){W.__jmVinylShow?.();setLanding(false);return;}// Phones: the whole player slides from the nav to the Me page's spot, then hands over.\nif(innerWidth<810&&box.current){const el=box.current;const s0=el.getBoundingClientRect();let raf=0;let t0=0;let tries=0;const ease=x=>x<.5?4*x*x*x:1-Math.pow(-2*x+2,3)/2;const step=now=>{const to=W.__jmVinylRect?.();if(!to||!to.width){if(++tries>40){W.__jmVinylShow?.();setLanding(false);return;}raf=requestAnimationFrame(step);return;}if(!t0)t0=now;const e=ease(Math.min(1,(now-t0)/600));el.style.transform=`translate(${(to.left-s0.left)*e}px, ${(to.top-s0.top)*e}px)`;if(e<1)raf=requestAnimationFrame(step);else{W.__jmVinylShow?.();W.__jmVinylBox?.(true);el.style.visibility=\"hidden\";el.style.transform=\"\";skipExit.current=true;setLanding(false);}};raf=requestAnimationFrame(step);return()=>cancelAnimationFrame(raf);}const d0=disc.getBoundingClientRect();const b0=btn.getBoundingClientRect();const btnInk=getComputedStyle(btn).color;const D=600;let raf=0;let t0=0;let p0;let tries=0;const ease=x=>x<.5?4*x*x*x:1-Math.pow(-2*x+2,3)/2;const place=(el,from,to,e)=>{if(!to)return;el.style.transformOrigin=\"0 0\";el.style.transform=`translate(${(to.left-from.left)*e}px, ${(to.top-from.top)*e}px) scale(${1+(to.width/from.width-1)*e}, ${1+(to.height/from.height-1)*e})`;};const step=now=>{// Wait (a few frames at most) for the Me page's record player to be ready.\nif(!p0){p0=W.__jmVinylParts?.();if(!p0?.disc){p0=undefined;if(++tries>40){W.__jmVinylShow?.();skipExit.current=false;setLanding(false);return;}raf=requestAnimationFrame(step);return;}t0=now;glassEl.current?.animate([{opacity:1},{opacity:0}],{duration:D*.5,easing:\"ease-out\",fill:\"forwards\"});}const a=Math.min(1,(now-t0)/D);const e=ease(a);const p=(W.__jmVinylParts?.())??p0;place(disc,d0,p.disc,e);place(btn,b0,p.btn,e);if(p0.btnBg){btn.style.borderRadius=\"2px\";btn.style.background=`color-mix(in srgb, ${p0.btnBg} ${Math.round(e*100)}%, transparent)`;btn.style.color=`color-mix(in srgb, ${p0.btnColor} ${Math.round(e*100)}%, ${btnInk})`;}if(a<1)raf=requestAnimationFrame(step);else{W.__jmVinylShow?.();if(box.current)box.current.style.visibility=\"hidden\";skipExit.current=true;setLanding(false);}};raf=requestAnimationFrame(step);return()=>{cancelAnimationFrame(raf);};},[landing]);const skipExit=useRef(false);useLayoutEffect(()=>{const f=W?.__jmMiniFromMe;if(!f||!show||!box.current)return;W.__jmMiniFromMe=null;if(reduce||Date.now()-f.at>2500)return;const to=box.current.getBoundingClientRect();box.current.animate([{transform:`translate(${f.r.left-to.left}px, ${f.r.top-to.top}px)`},{transform:\"none\"}],{duration:650,delay:60,easing:\"cubic-bezier(.6,0,.2,1)\",fill:\"backwards\"});},[show]);// The flight: the record player's disc and button on the Me page travel into this one's\n// (growing or shrinking as they go); only the glass around them fades in.\nuseLayoutEffect(()=>{if(!show||!box.current)return;const parts=carry?(W?.__jmVinylParts?.()):undefined;W.__jmMiniSeen=true;if(!parts?.disc||reduce||!discEl.current||!btnEl.current)return;// Phones: the Me page's player (one glass button, centred) slides across into the nav\n// as a whole, same size, so it reads as one object moving.\nconst from=innerWidth<810?(W.__jmVinylRect?.()):undefined;if(from){W.__jmVinylHide?.();W.__jmVinylBox?.(false);const to=box.current.getBoundingClientRect();box.current.animate([{transform:`translate(${from.left-to.left}px, ${from.top-to.top}px)`},{transform:\"none\"}],{duration:(HOLD+TRAVEL)*1e3,easing:\"cubic-bezier(.6,0,.2,1)\"});return;}W.__jmVinylHide?.();const D=(HOLD+TRAVEL)*1e3;flipFrom(discEl.current,parts.disc,D);if(parts.btn)flipFrom(btnEl.current,parts.btn,D);const pb=parts;if(pb.btnBg){const ink=getComputedStyle(btnEl.current).color;btnEl.current.animate([{background:pb.btnBg,color:pb.btnColor,borderRadius:\"2px\"},{background:\"rgba(0,0,0,0)\",color:ink,borderRadius:\"2px\"}],{duration:D,easing:\"cubic-bezier(.6,0,.2,1)\"});}glassEl.current?.animate([{opacity:0},{opacity:1}],{duration:D*.55,delay:D*.45,easing:\"ease-out\",fill:\"backwards\"});},[show,carry]);const toggle=()=>{const a=track?.audio;if(!a)return;if(a.paused){a.play().catch(()=>{});window.__jmEvent?.(\"song-play\");}else a.pause();};const close=()=>{track?.audio.pause();window.__jmTrack=null;window.dispatchEvent(new CustomEvent(\"jm:audio\"));};const openX=hover||touch;return /*#__PURE__*/_jsx(AnimatePresence,{children:show&&track&&/*#__PURE__*/_jsxs(motion.div,{ref:box,layout:\"position\",transition:{layout:reduce?{duration:0}:{duration:.24,ease:EASE}},onMouseEnter:()=>setHover(true),onMouseLeave:()=>setHover(false),initial:reduce||carry||seen.current?false:{opacity:0,scale:.9,y:-4},animate:{opacity:1,scale:1,y:0,transition:reduce?{duration:0}:{duration:.4,ease:EASE}},exit:skipExit.current?{opacity:0,transition:{duration:0}}:{opacity:0,scale:.9,transition:reduce?{duration:0}:{duration:.25,ease:EASE}},style:{position:\"relative\",pointerEvents:\"auto\",display:\"flex\",alignItems:\"center\",padding:\"0 4px\",minHeight:42,boxSizing:\"border-box\"},children:[/*#__PURE__*/_jsx(\"div\",{ref:glassEl,\"aria-hidden\":\"true\",style:{...glass,position:\"absolute\",inset:0}}),/*#__PURE__*/_jsx(motion.div,{initial:false,animate:{width:openX?30:0,opacity:openX?1:0,transition:reduce?{duration:0}:{duration:.3,ease:EASE}},style:{position:\"relative\",overflow:\"hidden\",display:\"flex\",flex:\"none\"},children:/*#__PURE__*/_jsx(Hoverable,{as:\"button\",type:\"button\",\"aria-label\":`Stop ${track.title}`,onClick:close,tabIndex:openX?0:-1,style:{...iconBtn,width:28,height:34,color:INK_2},hoverStyle:{color:INK,background:HOVER},children:/*#__PURE__*/_jsx(\"svg\",{width:\"12\",height:\"12\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:2,strokeLinecap:\"round\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M6 6l12 12M18 6L6 18\"})})})}),/*#__PURE__*/_jsxs(\"button\",{type:\"button\",onClick:toggle,\"aria-label\":playing?`Pause ${track.title} by ${track.artist}`:`Play ${track.title} by ${track.artist}`,\"aria-pressed\":playing,title:`${track.title}, ${track.artist}`,style:{all:\"unset\",position:\"relative\",cursor:\"pointer\",display:\"flex\",alignItems:\"center\",gap:2,paddingLeft:3,borderRadius:2},children:[/*#__PURE__*/_jsxs(\"span\",{ref:discEl,style:{display:\"block\",flex:\"none\",position:\"relative\",borderRadius:\"50%\"},children:[/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":\"true\",style:{display:\"block\",width:26,height:26,borderRadius:\"50%\",background:`radial-gradient(circle, ${PAGE} 0 7%, transparent 8%), url(${track.cover}) center / cover`,boxShadow:\"inset 0 0 0 1px rgba(0,0,0,0.35)\",animation:reduce?\"none\":\"jm-spin 3.2s linear infinite\",animationDelay:`${spinDelay}ms`,animationPlayState:playing?\"running\":\"paused\"}}),/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":\"true\",style:{position:\"absolute\",inset:0,borderRadius:\"50%\",background:\"repeating-radial-gradient(circle at 50% 50%, rgba(0,0,0,0.16) 0 0.6px, rgba(255,255,255,0.05) 0.6px 1.2px, rgba(0,0,0,0) 1.2px 2.4px)\",mixBlendMode:\"multiply\",pointerEvents:\"none\"}}),/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":\"true\",style:{position:\"absolute\",inset:0,borderRadius:\"50%\",background:\"conic-gradient(from 20deg, rgba(255,255,255,0) 0deg, rgba(255,255,255,0.32) 28deg, rgba(255,255,255,0) 70deg, rgba(255,255,255,0) 180deg, rgba(255,255,255,0.22) 208deg, rgba(255,255,255,0) 250deg)\",mixBlendMode:\"screen\",pointerEvents:\"none\"}}),/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":\"true\",style:{position:\"absolute\",inset:0,borderRadius:\"50%\",boxShadow:\"inset 0 0 0 1.5px rgba(0,0,0,0.55)\",pointerEvents:\"none\"}})]}),/*#__PURE__*/_jsx(\"span\",{ref:btnEl,\"aria-hidden\":\"true\",style:{width:30,height:34,display:\"grid\",placeItems:\"center\",color:INK},children:/*#__PURE__*/_jsx(\"svg\",{width:\"12\",height:\"12\",viewBox:\"0 0 24 24\",fill:\"currentColor\",children:playing?/*#__PURE__*/_jsx(\"path\",{d:\"M6 4h4v16H6zM14 4h4v16h-4z\"}):/*#__PURE__*/_jsx(\"path\",{d:\"M7 4l13 8-13 8z\"})})})]})]},\"mini\")});}function installSfx(){const W=window;if(W.__jmSfx)return;let ctx=null;let noise=null;let lastAt={};const ready=()=>{if(!ctx){const AC=W.AudioContext||W.webkitAudioContext;if(!AC)return null;ctx=new AC;const len=Math.floor(ctx.sampleRate*1);noise=ctx.createBuffer(1,len,ctx.sampleRate);const d=noise.getChannelData(0);for(let i=0;i<len;i++)d[i]=Math.random()*2-1;}if(ctx.state===\"suspended\")ctx.resume().catch(()=>{});return ctx;};// Every sound runs through here, so this one number sets how loud the site is (1.5 = about 3.5 dB up).\nconst SFX_GAIN=1.5;// One burst of noise through a filter, with a fast attack and a short fall.\nconst burst=(c,o)=>{const t=c.currentTime+(o.at??0);const src=c.createBufferSource();src.buffer=noise;const fl=c.createBiquadFilter();fl.type=o.type;fl.Q.value=o.q;fl.frequency.setValueAtTime(o.f,t);if(o.f2)fl.frequency.exponentialRampToValueAtTime(o.f2,t+o.dur);const g=c.createGain();g.gain.setValueAtTime(1e-4,t);g.gain.exponentialRampToValueAtTime(o.gain*SFX_GAIN,t+(o.attack??.002));g.gain.exponentialRampToValueAtTime(1e-4,t+o.dur);src.connect(fl).connect(g).connect(c.destination);src.start(t,Math.random()*.2);src.stop(t+o.dur+.02);};const play=(name,dir=1)=>{const c=ready();if(!c||!noise)return;// the same sound twice within a few ms (one press seen twice) plays once\nconst now=performance.now();if(now-(lastAt[name]||0)<(name===\"tick\"?45:70))return;lastAt[name]=now;if(name===\"tap\"){burst(c,{type:\"bandpass\",f:2600,q:1.1,dur:.018,gain:.09});burst(c,{type:\"bandpass\",f:900,q:.9,dur:.035,gain:.07});}else if(name===\"dead\"){burst(c,{type:\"lowpass\",f:520,q:.7,dur:.05,gain:.12});}else if(name===\"tick\"){burst(c,{type:\"bandpass\",f:3600,q:1.6,dur:.011,gain:.024});}else if(name===\"swipe\"||name===\"slide\"){// a soft, low breath of air: muffled, slow to swell and slow to go, no hiss on top\nburst(c,{type:\"lowpass\",f:240,f2:760,q:.4,dur:.34,gain:.045,attack:.12});burst(c,{type:\"bandpass\",f:420,f2:620,q:.6,dur:.26,gain:.012,attack:.1,at:.04});}else if(name===\"theme\"){// a sweep that falls into night or rises into day, then lands on a soft click\nconst toNight=document.documentElement.dataset.theme!==\"dark\";burst(c,{type:\"bandpass\",f:toNight?3200:450,f2:toNight?420:3400,q:1.6,dur:.26,gain:.05,attack:.03});burst(c,{type:\"lowpass\",f:toNight?900:2600,q:.8,dur:.06,gain:.07,at:.05});burst(c,{type:\"bandpass\",f:toNight?700:2400,q:1.4,dur:.03,gain:.1,at:.27});burst(c,{type:\"bandpass\",f:toNight?1400:4200,q:2,dur:.015,gain:.04,at:.31});}else if(name===\"nav\"){const up=dir>=0;burst(c,{type:\"lowpass\",f:1100,q:.9,dur:.03,gain:.1});burst(c,{type:\"bandpass\",f:2600,q:1.4,dur:.012,gain:.05});burst(c,{type:\"bandpass\",f:up?800:2600,f2:up?2600:800,q:2.4,dur:.2,gain:.03,attack:.05,at:.08});burst(c,{type:\"bandpass\",f:up?3e3:1900,q:1.8,dur:.018,gain:.06,at:.46});burst(c,{type:\"lowpass\",f:700,q:.8,dur:.035,gain:.05,at:.46});}else if(name===\"statue\"){// a hollow knock on bronze\nburst(c,{type:\"bandpass\",f:420,q:2.6,dur:.07,gain:.16});burst(c,{type:\"bandpass\",f:1800,q:1.2,dur:.014,gain:.04});}else if(name===\"plaque\"){// a little celebration: a quick run of rising taps, a bright whoosh, then a spray of\n// tiny sparkle clicks scattered like confetti\nconst run=[900,1250,1700,2300,3100];run.forEach((f,k)=>burst(c,{type:\"bandpass\",f,q:1.6,dur:.028,gain:.08,at:k*.06}));burst(c,{type:\"highpass\",f:2500,f2:8e3,q:.7,dur:.5,gain:.035,attack:.06,at:.26});for(let k=0;k<14;k++){const at=.3+k*.035+Math.random()*.03;burst(c,{type:\"bandpass\",f:3500+Math.random()*4500,q:3,dur:.012,gain:.05*(1-k/18),at});}burst(c,{type:\"bandpass\",f:1500,q:1.2,dur:.04,gain:.07,at:.3});}};W.__jmSfx=play;// Any link or button sounds on press; data-sfx picks another sound (\"dead\", \"theme\"…),\n// and data-sfx=\"none\" stays silent (things that play their own).\ndocument.addEventListener(\"click\",e=>{const el=e.target;const mark=el?.closest?.(\"[data-sfx]\");if(mark){const v=mark.dataset.sfx;if(v&&v!==\"none\")play(v);return;}if(el?.closest?.('a[href], button, [role=\"button\"], [role=\"option\"], [role=\"tab\"], [role=\"switch\"], summary, label, select'))play(\"tap\");},true);}// ---------- click analytics ----------\n// Framer's analytics records clicks only on its own links (they carry a \"framer-\" class). The\n// site's links live in code components (nav, footer, home cards, Play, Me), so their clicks are\n// reported here in the same form. Contact links get names, to count them as goals: email\n// (which copies the address rather than opening mail), resume and linkedin.\n// A whisper of texture over every page: fine, warm grain, like frosted glass. One static layer,\n// no blending, so it costs nothing while the pages animate. Open pieces (above it) stay clean.\nfunction installGrain(){const W=window;if(W.__jmGrain||!document.body)return;W.__jmGrain=true;const noise=ink=>`url(\"data:image/svg+xml,${encodeURIComponent(`<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 ${ink[0]} 0 0 0 0 ${ink[1]} 0 0 0 0 ${ink[2]} 0 0 0 1.4 -0.55'/></filter><rect width='100%' height='100%' filter='url(#n)'/></svg>`)}\")`;const css=document.createElement(\"style\");css.textContent=// It shifts a few pixels at a time, a gentle shimmer (a single moving layer, so it stays cheap).\n`@keyframes jm-grain{0%{transform:translate(0,0)}12%{transform:translate(-37px,22px)}25%{transform:translate(51px,-14px)}37%{transform:translate(-18px,-46px)}50%{transform:translate(29px,39px)}62%{transform:translate(-55px,8px)}75%{transform:translate(12px,-31px)}87%{transform:translate(44px,17px)}100%{transform:translate(0,0)}}`+`.jm-grain{position:fixed;inset:-90px;pointer-events:none;z-index:40;will-change:transform;animation:jm-grain 1.1s steps(1) infinite;background-image:${noise([.42,.33,.24])};background-size:180px 180px;opacity:.06}`+`html[data-theme=dark] .jm-grain{background-image:${noise([1,1,1])};opacity:.045}`+`@media (prefers-reduced-motion: reduce){.jm-grain{animation:none}}`+`@media print{.jm-grain{display:none}}`;document.head.appendChild(css);const el=document.createElement(\"div\");el.className=\"jm-grain\";el.setAttribute(\"aria-hidden\",\"true\");document.body.appendChild(el);}function installClickTracking(){const W=window;if(W.__jmClickTracking)return;W.__jmClickTracking=true;const siteId=document.querySelector(\"script[data-fid]\")?.getAttribute(\"data-fid\")??null;document.addEventListener(\"click\",e=>{const a=e.target?.closest?.(\"a[href]\");if(!a||/(^|\\s)framer-/.test(a.getAttribute(\"class\")||\"\"))return;const raw=a.getAttribute(\"href\")||\"\";const trackingId=raw.startsWith(\"mailto:\")?\"email\":/drive\\.google|resume|\\.pdf(\\?|#|$)/i.test(raw)?\"resume\":/linkedin\\.com/i.test(raw)?\"linkedin\":null;send(raw,trackingId);},true);W.__jmEvent=trackingId=>send(null,trackingId);function send(raw,trackingId){const l=location;const route=W.__jmRoute||{};const q=W.__framer_events||(W.__framer_events=[]);q.push([\"published_site_click\",{version:2,framerSiteId:siteId,webPageId:route.id??null,routePath:route.path??l.pathname,collectionItemId:null,framerLocale:document.documentElement.lang||null,referrer:null,url:l.href,hostname:l.hostname,pathname:l.pathname,search:l.search||null,hash:l.hash||null,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone??null,locale:navigator.language||null,href:raw,nodeId:null,trackingId,targetRoutePath:raw&&raw.startsWith(\"/\")?raw.split(\"#\")[0]:null,targetWebPageId:null,targetCollectionItemId:null},\"eager\"]);}}// The résumé opens over the page instead of sending people to another site: the page dims and the\n// one-page résumé shows as an image (every phone can show an image; not every phone can show a PDF\n// inside a page), with the PDF one tap away. Any link to the résumé, in the nav or the footer, opens it.\nconst CV_BTN={all:\"unset\",boxSizing:\"border-box\",display:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",gap:8,height:36,padding:\"0 14px\",borderRadius:4,background:\"#FAFAFA\",color:\"#0D0D0E\",fontFamily:'\"Inter\", sans-serif',fontSize:14,fontWeight:500,cursor:\"pointer\",boxShadow:\"0 1px 2px rgba(0,0,0,.14)\"};// The résumé as text, for phones, where a page image shrinks to unreadable type. Keep it in step with the PDF.\nconst CV={name:\"Justin Mason\",links:[{label:\"justinmasondesign.com\",href:\"https://www.justinmasondesign.com\"},{label:\"justinmason744@gmail.com\",href:\"mailto:justinmason744@gmail.com\"},{label:\"linkedin.com/in/justin-mason7\",href:\"https://www.linkedin.com/in/justin-mason7/\"}],sections:[{title:\"Education\",items:[{role:\"University of Michigan\",place:\"Ann Arbor, MI\",lines:[[\"Master of Science in User Experience Design\",\"April 2026\"],[\"Bachelor of Science in User Experience Design\",\"April 2025\"]],bullets:[\"**Awards:** Notable Capital NextGen AI Fellowship, $20,000 U-M LEAD Scholar\",\"**Relevant Coursework:** GenAI in UX, Advanced Interaction Design, Accessible Web Design\"]}]},{title:\"Work Experience\",items:[{role:\"Product Design Intern\",when:\"May 2026 - Dec 2026\",org:\"Homebase\",place:\"San Francisco, CA\",bullets:[\"Led the end-to-end overhaul of employee availability (shipping Q4 2026) by building high-fidelity interactive prototypes in Claude Code, conducting and analyzing a 15-participant usability study, and handing off the final spec to engineering against targets of 35% coverage and 19% data freshness.\",\"Restructured employee availability as separate reason-based entries that each have their own recurrence inputs, replacing a single weekly request that had to be resubmitted for any changes.\",\"Co-defined foundational interaction patterns for Homebase Assistant, standardizing how AI suggestions surface across Homebase's digital products and establishing shared design standards.\",\"Ran user research and usability testing across internal testers, manager, and employee interviews.\"]},{role:\"Product Designer (Digital Accessibility)\",when:\"Jan 2026 - Apr 2026\",org:\"University of Michigan\",place:\"Ann Arbor, MI\",bullets:[\"Designed, built, and shipped an AI tool that auto-remediates WCAG violations across slide structure, alt text, and formatting, reducing manual remediation time by more than 80%.\",\"Co-owned digital accessibility strategy across 50+ Canvas course sites by translating compliance requirements into prioritized, scalable remediation workflows.\"]},{role:\"Product Design Intern\",when:\"Jun 2025 - Aug 2025\",org:\"Handshake\",place:\"San Francisco, CA\",bullets:[\"Owned the core engagement email sent to 7M+ students end to end, leading user research, A/B testing, and the visual design of multiple variants, producing a 22.5% higher student rating for trust and clarity in testing, which informed the updated job digest email Handshake later shipped.\",\"Designed QA-ready prototypes for the job Promotion creation flow using internal design system components, partnering cross-functionally with engineering through spec and implementation.\"]}]},{title:\"Project Experience\",items:[{role:\"Product Designer\",when:\"Sept 2024 - Apr 2025\",org:\"PlaySmart (SportsTech Startup)\",place:\"Ann Arbor, MI\",bullets:[\"Led 3 designers on a cross-functional team with 2 PMs and 6 engineers to design and launch a youth-athlete data platform, synthesizing product testing across 35+ schools and 300+ athletes into usability fixes and feature prioritization. Drew on prior work experience to shape design workflow.\"]}]},{title:\"Skills\",items:[{bullets:[\"**AI-Native:** Claude Code, ChatGPT, Cursor (high-fidelity prototypes built in React & HTML/CSS, deployed to Vercel), Great Question (AI-moderated research), Databricks CLI (behavioral data analysis)\",\"**Design:** Figma, design systems, interaction design, visual design, motion design (Jitter), user flows, information architecture, prototyping, iOS and responsive web, accessibility (WCAG 2.1 AA)\",\"**Research:** Usability testing, A/B testing, user interviews, journey mapping, competitive analysis\",\"**Collaboration:** cross-functional product teams, product and digital strategy, systems thinking, user-centered problem-solving, attention to detail\"],plain:true}]}]};// \"**Label:** rest\" shows the label in bold, as in the PDF\nfunction cvLine(t){const m=/^\\*\\*(.+?)\\*\\*\\s*(.*)$/.exec(t);return m?/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"strong\",{style:{fontWeight:600},children:m[1]}),\" \",m[2]]}):t;}function ResumeText(){const INKC=\"var(--jm-ink, #0D0D0E)\",MUTED=\"var(--jm-ink-2, #63656A)\",RULE=\"color-mix(in srgb, var(--jm-ink, #0D0D0E) 14%, transparent)\";const sans='\"Inter\", sans-serif';return /*#__PURE__*/_jsxs(\"article\",{style:{fontFamily:sans,color:INKC,fontSize:15,lineHeight:\"22px\",padding:\"4px 20px 40px\"},children:[/*#__PURE__*/_jsx(\"h1\",{style:{margin:\"8px 0 6px\",fontFamily:SERIF,fontWeight:400,fontSize:30,lineHeight:\"34px\",letterSpacing:\"-0.01em\"},children:CV.name}),/*#__PURE__*/_jsx(\"p\",{style:{margin:0,display:\"flex\",flexWrap:\"wrap\",columnGap:12,rowGap:2,fontSize:14},children:CV.links.map(l=>/*#__PURE__*/_jsx(\"a\",{href:l.href,style:{color:MUTED,textDecoration:\"underline\",textUnderlineOffset:2},children:l.label},l.href))}),CV.sections.map(sec=>/*#__PURE__*/_jsxs(\"section\",{style:{marginTop:28},children:[/*#__PURE__*/_jsx(\"h2\",{style:{margin:\"0 0 12px\",paddingBottom:6,borderBottom:`1px solid ${RULE}`,fontSize:13,lineHeight:\"18px\",fontWeight:500,color:MUTED,textTransform:\"none\"},children:sec.title}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:20},children:sec.items.map((it,k)=>/*#__PURE__*/_jsxs(\"div\",{children:[it.role&&/*#__PURE__*/_jsx(\"div\",{style:{fontWeight:600},children:it.role}),(it.org||it.when||it.place)&&/*#__PURE__*/_jsxs(\"div\",{style:{color:MUTED,fontSize:14,lineHeight:\"20px\"},children:[[it.org,it.place].filter(Boolean).map((x,j)=>/*#__PURE__*/_jsxs(\"span\",{children:[j?\" \\xb7 \":\"\",/*#__PURE__*/_jsx(\"span\",{style:{whiteSpace:\"nowrap\"},children:x})]},j)),it.when&&/*#__PURE__*/_jsx(\"div\",{style:{whiteSpace:\"nowrap\"},children:it.when})]}),it.lines?.map(([a,b])=>/*#__PURE__*/_jsxs(\"div\",{style:{fontSize:14,lineHeight:\"20px\",marginTop:6},children:[a,/*#__PURE__*/_jsx(\"div\",{style:{color:MUTED},children:b})]},a)),/*#__PURE__*/_jsx(\"ul\",{style:{margin:it.plain?0:\"8px 0 0\",padding:it.plain?0:\"0 0 0 18px\",listStyle:it.plain?\"none\":\"disc\",display:\"flex\",flexDirection:\"column\",gap:it.plain?10:6},children:it.bullets.map(b=>/*#__PURE__*/_jsx(\"li\",{children:cvLine(b)},b))})]},k))})]},sec.title))]});}// Where the PDF's header links sit on the page image, as shares of its width (from the 2318 x 3000 render).\nconst CV_LINKS=[{label:\"justinmasondesign.com\",href:\"https://www.justinmasondesign.com\",x0:15.2,x1:35},{label:\"Email justinmason744@gmail.com\",href:\"mailto:justinmason744@gmail.com\",x0:35.2,x1:59.7},{label:\"linkedin.com/in/justin-mason7\",href:\"https://www.linkedin.com/in/justin-mason7/\",x0:59.9,x1:84.6}];function ResumeViewer({pdf,image}){const[open,setOpen]=useState(false);const reduce=!!useReducedMotion();// phones get the résumé as text in a full screen sheet; wider screens get the page itself\nconst[narrow,setNarrow]=useState(false);useEffect(()=>{const read=()=>setNarrow(innerWidth<700);read();addEventListener(\"resize\",read);return()=>removeEventListener(\"resize\",read);},[]);const closeBtn=useRef(null);const opener=useRef(null);useEffect(()=>{if(!pdf||!image)return;const onClick=e=>{const a=e.target?.closest?.(\"a[href]\");if(!a||a.closest(\"[data-jm-cv]\")||(a.getAttribute(\"href\")||\"\").split(\"#\")[0]!==pdf)return;if(e.metaKey||e.ctrlKey||e.shiftKey||e.button!==0)return;e.preventDefault();opener.current=a;setOpen(true);};document.addEventListener(\"click\",onClick);return()=>document.removeEventListener(\"click\",onClick);},[pdf,image]);useEffect(()=>{if(!open)return;const root=document.documentElement,prev=root.style.overflow;root.style.overflow=\"hidden\";const onKey=e=>{if(e.key===\"Escape\")setOpen(false);};addEventListener(\"keydown\",onKey);closeBtn.current?.focus({preventScroll:true});return()=>{root.style.overflow=prev;removeEventListener(\"keydown\",onKey);opener.current?.focus?.({preventScroll:true});};},[open]);// Saves the file straight away (the file host allows it); if that fails, the browser opens the PDF instead.\nconst download=async e=>{e.preventDefault();e.stopPropagation();window.__jmEvent?.(\"resume-download\");try{const blob=await (await fetch(pdf)).blob();const url=URL.createObjectURL(blob),a=document.createElement(\"a\");a.href=url;a.download=\"JustinMason_Resume.pdf\";document.body.appendChild(a);a.click();a.remove();setTimeout(()=>URL.revokeObjectURL(url),4e3);}catch{window.open(pdf,\"_blank\",\"noopener\");}};if(typeof document===\"undefined\"||!image)return null;const t=reduce?{duration:0}:{duration:.22,ease:EASE};const small={...CV_BTN,height:32,padding:\"0 12px\",fontSize:14,boxShadow:\"inset 0 0 0 1px color-mix(in srgb, var(--jm-ink, #0D0D0E) 14%, transparent)\",background:\"transparent\",color:\"var(--jm-ink, #0D0D0E)\"};if(narrow)return /*#__PURE__*/createPortal(/*#__PURE__*/_jsx(AnimatePresence,{children:open&&/*#__PURE__*/_jsxs(motion.div,{\"data-jm-cv\":\"\",role:\"dialog\",\"aria-modal\":\"true\",\"aria-label\":\"R\\xe9sum\\xe9\",initial:reduce?{opacity:0}:{y:\"100%\"},animate:reduce?{opacity:1}:{y:0},exit:reduce?{opacity:0}:{y:\"100%\"},transition:reduce?{duration:0}:{type:\"tween\",duration:.36,ease:[.32,.72,0,1]},style:{position:\"fixed\",inset:0,zIndex:9998,background:\"var(--jm-page, #FAFAFA)\",overflowY:\"auto\",overscrollBehavior:\"contain\",WebkitOverflowScrolling:\"touch\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{position:\"sticky\",top:0,zIndex:1,display:\"flex\",alignItems:\"center\",gap:8,padding:\"max(12px, env(safe-area-inset-top)) 16px 12px\",background:\"var(--jm-page, #FAFAFA)\",borderBottom:\"1px solid color-mix(in srgb, var(--jm-ink, #0D0D0E) 10%, transparent)\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{flex:1,fontFamily:'\"Inter\", sans-serif',fontSize:15,fontWeight:500,color:\"var(--jm-ink, #0D0D0E)\"},children:\"R\\xe9sum\\xe9\"}),/*#__PURE__*/_jsxs(\"a\",{href:pdf,onClick:download,\"aria-label\":\"Download PDF\",style:small,children:[/*#__PURE__*/_jsx(\"svg\",{width:\"16\",height:\"16\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"1.5\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M12 4v11M7 10.5 12 15.5 17 10.5M5 20h14\"})}),\"PDF\"]}),/*#__PURE__*/_jsx(\"button\",{ref:closeBtn,type:\"button\",\"aria-label\":\"Close r\\xe9sum\\xe9\",onClick:()=>setOpen(false),style:{...small,width:32,padding:0},children:/*#__PURE__*/_jsx(\"svg\",{width:\"16\",height:\"16\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"1.5\",strokeLinecap:\"round\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M6 6l12 12M18 6 6 18\"})})})]}),/*#__PURE__*/_jsx(ResumeText,{})]},\"cv-sheet\")}),document.body);return /*#__PURE__*/createPortal(/*#__PURE__*/_jsx(AnimatePresence,{children:open&&/*#__PURE__*/_jsx(motion.div,{\"data-jm-cv\":\"\",role:\"dialog\",\"aria-modal\":\"true\",\"aria-label\":\"R\\xe9sum\\xe9\",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:t,onClick:()=>setOpen(false),style:{position:\"fixed\",inset:0,zIndex:9998,background:\"rgba(13,13,14,.55)\",backdropFilter:\"blur(6px)\",WebkitBackdropFilter:\"blur(6px)\",overflowY:\"auto\",overscrollBehavior:\"contain\"},children:/*#__PURE__*/_jsx(\"div\",{style:{minHeight:\"100%\",boxSizing:\"border-box\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",padding:\"20px 16px\"},children:/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:12,maxWidth:\"100%\"},children:[/*#__PURE__*/_jsxs(\"div\",{onClick:e=>e.stopPropagation(),style:{display:\"flex\",justifyContent:\"flex-end\",gap:8},children:[/*#__PURE__*/_jsxs(\"a\",{href:pdf,onClick:download,\"aria-label\":\"Download PDF\",style:CV_BTN,children:[/*#__PURE__*/_jsx(\"svg\",{width:\"16\",height:\"16\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"1.5\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M12 4v11M7 10.5 12 15.5 17 10.5M5 20h14\"})}),\"Download PDF\"]}),/*#__PURE__*/_jsx(\"button\",{ref:closeBtn,type:\"button\",\"aria-label\":\"Close r\\xe9sum\\xe9\",onClick:()=>setOpen(false),style:{...CV_BTN,width:36,padding:0},children:/*#__PURE__*/_jsx(\"svg\",{width:\"16\",height:\"16\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"1.5\",strokeLinecap:\"round\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M6 6l12 12M18 6 6 18\"})})})]}),/*#__PURE__*/_jsxs(motion.div,{onClick:e=>e.stopPropagation(),initial:reduce?false:{y:12,scale:.985},animate:{y:0,scale:1},exit:reduce?undefined:{y:6,scale:.99},transition:reduce?{duration:0}:{duration:.32,ease:EASE},style:{position:\"relative\",alignSelf:\"center\",lineHeight:0},children:[/*#__PURE__*/_jsx(\"img\",{src:image,alt:\"Justin Mason's r\\xe9sum\\xe9. Download the PDF for selectable text.\",style:{display:\"block\",width:\"auto\",height:\"auto\",maxWidth:\"min(820px, calc(100vw - 32px))\",maxHeight:\"calc(100dvh - 88px)\",borderRadius:4,background:\"#fff\",boxShadow:\"0 24px 60px -24px rgba(0,0,0,.5)\"}}),CV_LINKS.map(l=>/*#__PURE__*/_jsx(\"a\",{href:l.href,target:l.href.startsWith(\"mailto:\")?undefined:\"_blank\",rel:\"noopener noreferrer\",\"aria-label\":l.label,title:l.label,className:\"jm-cv-hot\",style:{position:\"absolute\",left:`${l.x0}%`,width:`${l.x1-l.x0}%`,top:\"4.4%\",height:\"2.2%\",borderRadius:2}},l.href)),/*#__PURE__*/_jsx(\"style\",{children:\".jm-cv-hot{outline:none}.jm-cv-hot:focus-visible{outline:1.5px solid #2F6FD9;outline-offset:1px}\"})]})]})})},\"cv\")}),document.body);}export default function SiteNav(props){const{linkedin,resume,email}=props;const reduce=!!useReducedMotion();const router=useRouter();const uid=useId().replace(/:/g,\"\");const listId=`nav-contact-${uid}`;const panelId=`nav-menu-${uid}`;const routePath=router?.currentRouteId?router.routes?.[router.currentRouteId]?.path:undefined;const path=routePath??(typeof window!==\"undefined\"?window.location.pathname:\"/\");const fromPath=path===\"/\"||path.startsWith(\"/projects\")?\"work\":path.startsWith(\"/play\")?\"play\":path.startsWith(\"/about\")?\"about\":null;// On the first load of the home page the nav arrives with the headline.\nconst[arrive]=useState(()=>path===\"/\"&&(typeof window===\"undefined\"||!window.__jmNavShown));useEffect(()=>{window.__jmNavShown=true;installSfx();installClickTracking();installGrain();},[]);useEffect(()=>{window.__jmRoute={id:router?.currentRouteId??null,path};},[router?.currentRouteId,path]);usePosters();const[leaving,setLeaving]=useState(false);const[carry,setCarry]=useState(false);const project=!leaving?PROJECTS[path.replace(/\\/$/,\"\")]??null:null;const[current,setCurrent]=useState(fromPath);useEffect(()=>setCurrent(fromPath),[path]);// Known from the first frame (a page change mounts a new nav), so phones never flash the\n// desktop pills.\nconst[narrow,setNarrow]=useState(()=>typeof window!==\"undefined\"&&innerWidth<810);// On a phone the bar lines up with the page's text: 20 in on the other pages, and on a case study\n// the edge of its content column, which scales with the screen.\nconst[phoneInset,setPhoneInset]=useState(20);useEffect(()=>{if(!narrow||!project)return setPhoneInset(20);const measure=()=>{const col=Array.from(document.querySelectorAll('[data-framer-name=\"Right-Project\"]')).find(e=>e.getClientRects().length);const x=col?Math.round(col.getBoundingClientRect().left):0;if(x>=12&&x<=80)setPhoneInset(x);};measure();const t=window.setTimeout(measure,400);addEventListener(\"resize\",measure);return()=>{clearTimeout(t);removeEventListener(\"resize\",measure);};},[narrow,!!project,path]);// Touch screens have no hover to reveal the case study's mark sliding out of Work, so there Work stays a\n// plain, unselected link on a case study: it reads as the way back to the work page.\nconst[touchUI,setTouchUI]=useState(false);useEffect(()=>{const mq=window.matchMedia?.(\"(hover: none) and (pointer: coarse)\");if(!mq)return;const read=()=>setTouchUI(mq.matches);read();mq.addEventListener?.(\"change\",read);return()=>mq.removeEventListener?.(\"change\",read);},[]);useLayoutEffect(()=>{const check=()=>setNarrow(innerWidth<810);check();addEventListener(\"resize\",check);return()=>removeEventListener(\"resize\",check);},[]);const[contactOpen,setContactOpen]=useState(false);const[menuOpen,setMenuOpen]=useState(false);useEffect(()=>{setContactOpen(false);setMenuOpen(false);},[path]);// Work without a case study (Homebase) asks people to get in touch: open Contact.\nuseEffect(()=>{const open=()=>innerWidth<810?setMenuOpen(true):setContactOpen(true);window.addEventListener(\"jm:contact\",open);return()=>window.removeEventListener(\"jm:contact\",open);},[]);useEffect(()=>{if(!contactOpen&&!menuOpen)return;const onKey=e=>{if(e.key!==\"Escape\")return;setContactOpen(false);setMenuOpen(false);};document.addEventListener(\"keydown\",onKey);return()=>document.removeEventListener(\"keydown\",onKey);},[contactOpen,menuOpen]);const menuRef=useRef(null);useEffect(()=>{if(!menuOpen)return;const onDown=e=>{if(menuRef.current&&!menuRef.current.contains(e.target))setMenuOpen(false);};document.addEventListener(\"pointerdown\",onDown);return()=>document.removeEventListener(\"pointerdown\",onDown);},[menuOpen]);const go=href=>{const id=Object.keys(router?.routes??{}).find(k=>router.routes[k]?.path===href);if(id&&router?.navigate)router.navigate(id,\"\");else window.location.assign(href);};// The ink box slides; the page slides out the same way during the box's flight, the\n// new page comes in from the other side once the box lands.\nconst navEl=useRef(null);useCaseStudyReveal(path.startsWith(\"/projects\"),reduce,navEl,path);useCaseStudyToc(path.startsWith(\"/projects\"),path);useTocAlign(path.startsWith(\"/projects\"),navEl,path);const change=(key,href)=>{if(current===key&&!project){window.__jmSfx?.(\"tap\");return setMenuOpen(false);}window.__jmSfx?.(\"nav\",project?key===\"work\"?-1:1:current?ORDER[key]-ORDER[current]:1);// Phones: the menu folds away as the page changes, rather than vanishing with it.\nsetMenuOpen(false);// Leaving a case study (for any page): the mark gives the box back and folds away.\nif(project)setLeaving(true);// Leaving Me with the song playing: the record player comes along into the nav.\n// Paused, it stays behind on Me.\nif(current===\"about\"&&window.__jmTrack){if(window.__jmTrack.audio.paused){window.__jmMiniParked=true;window.dispatchEvent(new CustomEvent(\"jm:audio\"));}else if(innerWidth<810){// Phones leave through the menu, which covers the page: the player slides across\n// on the next page instead, from where Me's player sat.\nconst r=window.__jmVinylRect?.();if(r)window.__jmMiniFromMe={r,at:Date.now()};}else setCarry(true);}// Going to Me with the song on: the record player there flies out of the mini player.\nif(key===\"about\"&&window.__jmTrack&&!window.__jmMiniParked){const r=window.__jmMiniRect?.();if(r)window.__jmMiniFrom={r,at:Date.now()};}const dir=project&&key===\"work\"?-1:project?1:current?Math.sign(ORDER[key]-ORDER[current])||1:1;const slide=innerWidth>=810;setCurrent(key);setContactOpen(false);if(reduce)return go(href);pageOut(navEl.current,dir,slide,TRAVEL*1e3);try{sessionStorage.setItem(\"jm-enter\",JSON.stringify({dir,slide,at:Date.now()}));}catch{}window.setTimeout(()=>go(href),(HOLD+TRAVEL)*1e3);};const onPage=(e,key,href)=>{if(e.metaKey||e.ctrlKey||e.shiftKey||e.button!==0)return;e.preventDefault();change(key,href);};// The footer's page links ask the nav to do the move.\nconst changeRef=useRef(change);changeRef.current=change;useEffect(()=>{const onNav=e=>{const d=e.detail;if(d?.key)changeRef.current(d.key,d.href);};// Other links (the next-project card) ask for the same page move to any address.\nconst onGo=e=>{const href=e.detail?.href;if(!href)return;const slide=innerWidth>=810;if(reduce)return go(href);pageOut(navEl.current,1,slide,TRAVEL*1e3);try{sessionStorage.setItem(\"jm-enter\",JSON.stringify({dir:1,slide,at:Date.now()}));}catch{}window.setTimeout(()=>go(href),(HOLD+TRAVEL)*1e3);};window.addEventListener(\"jm:navigate\",onNav);window.addEventListener(\"jm:goto\",onGo);return()=>{window.removeEventListener(\"jm:navigate\",onNav);window.removeEventListener(\"jm:goto\",onGo);};},[]);// Arriving from a nav move: bring the page in from the side it was headed.\nuseLayoutEffect(()=>{if(!reduce)pageIn(navEl.current);},[]);const tLayout=reduce?{duration:0}:{duration:.2,ease:EASE};const contacts=[{label:\"LinkedIn\",href:linkedin,external:true},{label:\"Resume\",href:resume,external:true},{label:\"Email\",href:`mailto:${email}`,external:false}];const pages=[{key:\"work\",label:\"Work\",href:\"/\"},{key:\"play\",label:\"Play\",href:\"/play\"},{key:\"about\",label:\"Me\",href:\"/about\"}];// Mobile panel links: the current page is simply shown inverted. On a case study none is, so\n// Work reads as a way back.\nconst pageLink=p=>{const on=current===p.key&&!project;return /*#__PURE__*/_jsx(Hoverable,{as:\"a\",href:p.href,\"data-sfx\":\"none\",onClick:e=>onPage(e,p.key,p.href),\"aria-current\":on?\"page\":undefined,style:{...pillStyle,fontFamily:SERIF,fontWeight:400,fontSize:30,lineHeight:1.1,letterSpacing:\"-0.01em\",padding:\"8px 12px\",color:on?PAGE:INK,background:on?INK:\"transparent\"},hoverStyle:on?{}:{background:HOVER},children:p.label},p.key);};const[copied,setCopied]=useState(false);const copyTimer=useRef(0);const onEmail=async e=>{if(e.metaKey||e.ctrlKey||e.shiftKey)return;e.preventDefault();await copyText(email);setCopied(true);window.dispatchEvent(new CustomEvent(\"jm:cursor-text\",{detail:{text:\"Copied\",ms:1600}}));clearTimeout(copyTimer.current);copyTimer.current=window.setTimeout(()=>setCopied(false),1600);};const contactLinks=withLabels=>contacts.map(c=>/*#__PURE__*/_jsxs(Hoverable,{as:\"a\",href:c.href,\"aria-label\":withLabels?undefined:c.label,title:c.label,...c.external?{target:\"_blank\",rel:\"noopener noreferrer\"}:{},style:{...iconBtn,color:INK_2,...withLabels?{width:\"auto\",height:36,display:\"flex\",gap:8,padding:\"0 10px\",fontFamily:SANS,fontSize:15,fontWeight:500,textDecoration:\"none\"}:null},hoverStyle:{color:INK,background:HOVER},...c.label===\"Email\"?{onClick:onEmail,\"aria-label\":copied?\"Email copied\":`Copy email address ${email}`,title:copied?\"Copied\":\"Copy email\"}:{},children:[c.label===\"Email\"?/*#__PURE__*/_jsx(MailClip,{copied:copied,reduce:reduce}):/*#__PURE__*/_jsx(ContactIcon,{name:c.label}),withLabels&&(c.label===\"Email\"?/*#__PURE__*/_jsx(SwapWord,{word:copied?\"Copied\":\"Email\"}):c.label)]},c.label));return /*#__PURE__*/_jsxs(\"nav\",{ref:navEl,\"aria-label\":\"Main\",className:arrive?\"jm-nav-arrive\":undefined,style:{...props.style,position:\"relative\",width:\"100%\",display:\"flex\",justifyContent:\"space-between\",alignItems:\"flex-start\",// the same side inset as the page copy (\"Justin is ...\" sits 48 in, 20 on phones)\npadding:narrow?`0 ${phoneInset}px`:\"0 48px\",boxSizing:\"border-box\",// The bar spans the page; only the controls take the pointer.\npointerEvents:\"none\"},children:[arrive&&/*#__PURE__*/_jsx(\"style\",{children:\"@keyframes jm-nav-arrive{from{opacity:0}to{opacity:1}}.jm-nav-arrive>*{animation:jm-nav-arrive 700ms cubic-bezier(0.2,0.8,0.2,1) 550ms both}@media (prefers-reduced-motion: reduce){.jm-nav-arrive>*{animation:none}}\"}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"stretch\",gap:8},children:[narrow?/*#__PURE__*/_jsxs(\"div\",{ref:menuRef,style:{position:\"relative\",pointerEvents:\"auto\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{...glass,padding:4,display:\"flex\",alignItems:\"center\"},children:/*#__PURE__*/_jsx(Hoverable,{as:\"button\",type:\"button\",\"aria-label\":menuOpen?\"Close menu\":\"Menu\",\"aria-expanded\":menuOpen,\"aria-controls\":panelId,onClick:()=>setMenuOpen(o=>!o),style:{...iconBtn,color:menuOpen?PAGE:INK,background:menuOpen?INK:\"transparent\"},hoverStyle:menuOpen?{}:{background:HOVER},children:/*#__PURE__*/_jsx(FoldIcon,{open:menuOpen,bubble:false,reduce:reduce})})}),/*#__PURE__*/_jsx(AnimatePresence,{children:menuOpen&&/*#__PURE__*/_jsxs(motion.div,{id:panelId,initial:reduce?false:{opacity:0,y:-6,scale:.98,filter:\"blur(4px)\"},animate:{opacity:1,y:0,scale:1,filter:\"blur(0px)\",transition:reduce?{duration:0}:{duration:.32,ease:EASE}},exit:{opacity:0,y:-6,scale:.98,filter:\"blur(4px)\",transition:reduce?{duration:0}:{duration:.2,ease:EASE}},style:{...glass,position:\"absolute\",left:0,top:52,width:\"min(300px, calc(100vw - 24px))\",padding:8,transformOrigin:\"top left\",display:\"grid\",gap:4},children:[pages.map((p,i)=>/*#__PURE__*/_jsx(motion.div,{initial:reduce?false:{y:10,opacity:0,filter:\"blur(6px)\"},animate:{y:0,opacity:1,filter:\"blur(0px)\",transition:reduce?{duration:0}:{duration:.42,ease:EASE,delay:.08+i*.065}},style:{display:\"flex\"},children:pageLink(p)},p.key)),/*#__PURE__*/_jsx(motion.span,{\"aria-hidden\":\"true\",initial:reduce?false:{scaleX:0},animate:{scaleX:1,transition:reduce?{duration:0}:{duration:.46,ease:EASE,delay:.08+pages.length*.065}},style:{height:1,margin:\"6px 4px\",background:`color-mix(in srgb, ${INK} 12%, transparent)`,originX:0}}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexWrap:\"wrap\",gap:2},children:contactLinks(true).map((el,i)=>/*#__PURE__*/_jsx(motion.div,{initial:reduce?false:{y:6,opacity:0,filter:\"blur(4px)\"},animate:{y:0,opacity:1,filter:\"blur(0px)\",transition:reduce?{duration:0}:{duration:.38,ease:EASE,delay:.22+pages.length*.065+i*.05}},children:el},i))})]})})]}):/*#__PURE__*/_jsxs(motion.div,{layout:true,transition:tLayout,style:{...glass,display:\"flex\",alignItems:\"center\",gap:4,padding:4,overflow:\"hidden\"},children:[/*#__PURE__*/_jsx(PagePills,{pages:pages,current:project&&touchUI?null:current,reduce:reduce,onPage:onPage,project:touchUI?null:project}),/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":\"true\",style:{width:1,height:16,margin:\"0 3px\",background:`color-mix(in srgb, ${INK} 15%, transparent)`}}),/*#__PURE__*/_jsx(AnimatePresence,{initial:false,children:contactOpen&&/*#__PURE__*/_jsx(motion.ul,{id:listId,\"aria-label\":\"Contact\",style:{display:\"flex\",alignItems:\"center\",gap:2,margin:0,padding:0,listStyle:\"none\",overflow:\"hidden\"},initial:{width:0,opacity:0},animate:{width:\"auto\",opacity:1,transition:reduce?{duration:0}:{duration:.45,ease:EASE}},exit:{width:0,opacity:0,transition:reduce?{duration:0}:{duration:.25,ease:EASE}},children:contactLinks(false).map((el,i)=>/*#__PURE__*/_jsx(motion.li,{initial:reduce?false:{x:10,opacity:0,filter:\"blur(4px)\"},animate:{x:0,opacity:1,filter:\"blur(0px)\",transition:reduce?{duration:0}:{duration:.4,ease:EASE,delay:.06+i*.05}},children:el},i))})}),/*#__PURE__*/_jsx(Hoverable,{as:\"button\",type:\"button\",\"aria-label\":\"Contact\",title:\"Contact\",\"aria-expanded\":contactOpen,\"aria-controls\":listId,onClick:()=>setContactOpen(o=>!o),style:{...iconBtn,color:contactOpen?PAGE:INK,background:contactOpen?INK:\"transparent\"},hoverStyle:contactOpen?{}:{background:HOVER},children:/*#__PURE__*/_jsx(FoldIcon,{open:contactOpen,bubble:true,reduce:reduce})})]}),/*#__PURE__*/_jsx(MiniPlayer,{reduce:reduce,carry:carry})]}),/*#__PURE__*/_jsx(\"div\",{style:{...glass,padding:4},children:/*#__PURE__*/_jsx(ThemeToggle,{reduce:reduce})}),/*#__PURE__*/_jsx(ResumeViewer,{pdf:resume,image:props.resumeImage})]});}addPropertyControls(SiteNav,{linkedin:{type:ControlType.String,title:\"LinkedIn\",defaultValue:\"https://www.linkedin.com/in/justin-mason7/\"},resumeImage:{type:ControlType.String,title:\"Resume image\",description:\"The r\\xe9sum\\xe9 as an image. When set, r\\xe9sum\\xe9 links open it over the page instead of leaving the site.\",defaultValue:\"\"},resume:{type:ControlType.String,title:\"Resume\",defaultValue:\"https://drive.google.com/file/d/1ho2DoosW05Ofx0leITswrqh8WQuenTdj/view?usp=sharing\"},email:{type:ControlType.String,title:\"Email\",defaultValue:\"justinmason744@gmail.com\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"SiteNav\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SiteNav.map"],"mappings":"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"}