{"version":3,"file":"SiteNav.CBDETo-T.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","MotionConfigContext","AnimatePresence","animate","LayoutGroup","init_framer_motion_DhsWWWsN","useReducedMotion","getFonts","fontStore","init_framer_D6uXRwWs","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","layerRef","animDur","textDur","measureRef","pill","setPill","el","w","h","styleEl","lastTarget","px","py","vx","vy","lastT","settleId","lastMove","leadMs","measureId","measure","gaps","prev","step","t","a","b","LEAD_MIN","LEAD_CAP","remeasure","pvx","pvy","predAt","put","y","settle","idle","SETTLE_MS","track","dt","usePred","PRED_FRESH_MS","ux","uy","lx","LEAD_MAX","ly","raw","holdId","setLink","HOLD_MS","onRaw","readPrediction","pred","last","onMove","overTrigger","overLink","onLeave","onDown","onUp","ringScale","baseVisible","radiusValue","pillRadius","H","OUT_SLOW","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","useCaseStudyVideos","start","s","stop","io","entries","onPlay","onPause","onReady","take","page","useCaseStudyToc","TOC_CSS","links","scan","slug","heads","hash","spy","offset","current","lastScan","best","bestTop","reached","key","onClick","hit","reduce","t1","t2","rt","onResize","useTocAlign","raf","align","lead","navRef","target","shift","box","row","rb","left","queue","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","width","cur","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","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","d0","b0","btnInk","p0","place","skipExit","parts","pb","ink","close","openX","glass","INK_2","installSfx","ctx","noise","lastAt","AC","len","burst","o","src","fl","g","play","toNight","up","k","at","mark","installGrain","installClickTracking","siteId","send","trackingId","route","cvLine","ResumeText","MUTED","SERIF","CV","sec","it","j","ResumeViewer","narrow","setNarrow","read","closeBtn","opener","pdf","image","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/8qAxqElWPiEwoiQEwhPo/Circle_Cursor.js","https:/framerusercontent.com/modules/csEMbn39LNIpLNJMQZ60/AOUeLMHj2Kr45irqt5xY/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}from\"framer-motion\";import{addPropertyControls,ControlType}from\"framer\";// Leaving a link holds the ring this long, so sliding along a row of links (the nav) keeps one steady\n// ring instead of shrinking and regrowing at every gap. The shrink then runs slower than the grow.\nconst HOLD_MS=140;const OUT_SLOW=1.6;// The cursor is drawn one frame ahead of the pointer, along its current direction, to make up for the\n// frame the browser draws behind the system pointer. A frame is measured from the screen (about 8 ms at\n// 120 Hz, 16 ms at 60 Hz). It drops back onto the pointer when it stops.\nconst LEAD_MIN=6;const LEAD_CAP=17;const LEAD_MAX=24;// Chrome's own prediction of where the pointer is heading, when it has one, sets the direction and speed.\nconst PRED_FRESH_MS=24;const SETTLE_MS=40;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\";// One fixed layer carries both shapes. Its transform is written straight from the pointer event,\n// so moving the cursor never goes through React or the animation loop, only the compositor.\nconst layerRef=useRef(null);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;let px=-100,py=-100,vx=0,vy=0,lastT=0,settleId=0,lastMove=0;// one frame, measured as the median gap between animation frames\nlet leadMs=8;let measureId=0;const measure=()=>{cancelAnimationFrame(measureId);const gaps=[];let prev=0;const step=t=>{if(prev)gaps.push(t-prev);prev=t;if(gaps.length<30){measureId=requestAnimationFrame(step);return;}gaps.sort((a,b)=>a-b);leadMs=Math.max(LEAD_MIN,Math.min(LEAD_CAP,gaps[15]));};measureId=requestAnimationFrame(step);};measure();// the window may have moved to a screen with a different refresh rate\nconst remeasure=()=>{if(document.visibilityState===\"visible\")measure();};// Chrome's predicted velocity, and when it was given\nlet pvx=0,pvy=0,predAt=-1e9;const put=(x,y)=>{const el=layerRef.current;if(el)el.style.transform=`translate3d(${x}px, ${y}px, 0)`;};const settle=()=>{const idle=performance.now()-lastMove;if(idle<SETTLE_MS){settleId=window.setTimeout(settle,SETTLE_MS-idle);return;}settleId=0;vx=vy=0;put(px,py);};const track=e=>{const t=e.timeStamp;if(lastT&&t>lastT){const dt=Math.min(50,t-lastT);vx=vx*.5+(e.clientX-px)/dt*.5;vy=vy*.5+(e.clientY-py)/dt*.5;}px=e.clientX;py=e.clientY;lastT=t;lastMove=performance.now();const usePred=t-predAt<PRED_FRESH_MS;const ux=usePred?pvx:vx;const uy=usePred?pvy:vy;const lx=Math.max(-LEAD_MAX,Math.min(LEAD_MAX,ux*leadMs));const ly=Math.max(-LEAD_MAX,Math.min(LEAD_MAX,uy*leadMs));put(px+lx,py+ly);if(!settleId)settleId=window.setTimeout(settle,SETTLE_MS);};const raw=\"onpointerrawupdate\"in window;let holdId=0;const setLink=on=>{if(on===linkRef.current){clearTimeout(holdId);holdId=0;return;}if(on){clearTimeout(holdId);holdId=0;linkRef.current=true;setLinkHovered(true);return;}if(holdId)return;holdId=window.setTimeout(()=>{holdId=0;linkRef.current=false;setLinkHovered(false);},HOLD_MS);};const onRaw=e=>track(e);const readPrediction=e=>{const pe=e;const pred=typeof pe.getPredictedEvents===\"function\"?pe.getPredictedEvents():[];const last=pred.length?pred[pred.length-1]:null;const dt=last?last.timeStamp-e.timeStamp:0;if(!last||dt<=0)return;pvx=(last.clientX-e.clientX)/dt;pvy=(last.clientY-e.clientY)/dt;predAt=e.timeStamp;};const onMove=e=>{readPrediction(e);if(!raw)track(e);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);}setLink(overLink);};const onLeave=()=>{hiddenRef.current=true;setHidden(true);};const onDown=()=>setClicked(true);const onUp=()=>setClicked(false);window.addEventListener(\"pointermove\",onMove);document.addEventListener(\"visibilitychange\",remeasure);window.addEventListener(\"focus\",remeasure);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(\"pointermove\",onMove);document.removeEventListener(\"visibilitychange\",remeasure);window.removeEventListener(\"focus\",remeasure);cancelAnimationFrame(measureId);if(raw)window.removeEventListener(\"pointerrawupdate\",onRaw);document.removeEventListener(\"mouseleave\",onLeave);window.removeEventListener(\"blur\",onLeave);window.removeEventListener(\"mousedown\",onDown);window.removeEventListener(\"mouseup\",onUp);styleEl.remove();clearTimeout(settleId);clearTimeout(holdId);};},[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;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__*/_jsxs(\"div\",{ref:layerRef,\"aria-hidden\":true,style:{position:\"fixed\",left:0,top:0,width:0,height:0,pointerEvents:\"none\",zIndex:1e4,mixBlendMode:props.blendMode,transform:\"translate3d(-100px, -100px, 0)\",willChange:\"transform\"},children:[/*#__PURE__*/_jsx(motion.div,{style:{position:\"absolute\",left:-props.dotSize/2,top:-props.dotSize/2,width:props.dotSize,height:props.dotSize,backgroundColor:props.dotColor,borderRadius:square?corner:\"50%\"},animate:{opacity:showText?0:baseVisible},transition:{opacity:{duration:animDur,ease:\"easeOut\"}}}),/*#__PURE__*/_jsx(motion.div,{style:{position:\"absolute\",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\"},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:linkHovered||showText?{duration:animDur,ease:\"easeOut\"}:{duration:animDur*OUT_SLOW,ease:[.4,0,.2,1]},opacity:showText||linkHovered?{duration:animDur,ease:\"easeOut\"}:{duration:animDur*OUT_SLOW,ease:\"easeIn\"}},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: everything is on the page from the start (no fade-in on scroll). Videos that would\n// autoplay wait until they're in view, then start from the beginning, so each one starts when it's seen.\n// They pause once scrolled away and pick up again on return, unless the viewer paused them.\nfunction useCaseStudyVideos(on,page){useEffect(()=>{if(!on||typeof IntersectionObserver===\"undefined\")return;const root=document.getElementById(\"main\")??document.body;const st=new Map;const start=(v,s)=>{if(!s.inView||s.manual||!v.paused)return;if(!s.seen){s.seen=true;try{v.currentTime=0;}catch(e){}}v.play().catch(()=>{});};const stop=(v,s)=>{if(v.paused)return;s.ours=true;v.pause();};// In view means some of it sits in the middle 70% of the screen, which works for short and tall videos alike.\nconst io=new IntersectionObserver(entries=>{for(const e of entries){const v=e.target;const s=st.get(v);if(!s)continue;s.inView=e.isIntersecting;if(s.inView)start(v,s);else stop(v,s);}},{rootMargin:\"-15% 0px -15% 0px\",threshold:0});const onPlay=e=>{const v=e.target;const s=st.get(v);// something tried to start it early (the player's own autoplay): hold it until it's seen\nif(s&&!s.inView)stop(v,s);};const onPause=e=>{const s=st.get(e.target);if(!s)return;if(s.ours)s.ours=false;else if(s.inView)s.manual=true;};// a video whose file arrives late (the next project's) starts once it can, if it's in view\nconst onReady=e=>{const v=e.target;const s=st.get(v);if(s)start(v,s);};const take=v=>{if(st.has(v)||!v.autoplay||v.closest(\"nav, footer\"))return;v.autoplay=false;v.removeAttribute(\"autoplay\");const s={seen:false,inView:false,manual:false,ours:false};st.set(v,s);stop(v,s);v.addEventListener(\"play\",onPlay);v.addEventListener(\"pause\",onPause);v.addEventListener(\"loadeddata\",onReady);io.observe(v);};root.querySelectorAll(\"video\").forEach(take);const mo=new MutationObserver(muts=>{for(const m of muts)m.addedNodes.forEach(n=>{if(n instanceof HTMLVideoElement)take(n);else if(n instanceof Element)n.querySelectorAll(\"video\").forEach(take);});});mo.observe(root,{childList:true,subtree:true});return()=>{mo.disconnect();io.disconnect();st.forEach((_,v)=>{v.removeEventListener(\"play\",onPlay);v.removeEventListener(\"pause\",onPause);v.removeEventListener(\"loadeddata\",onReady);});};},[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=()=>{// the Me page's listening tracker reads this, so the close counts as closed rather than paused\nif(track)track.audio.__jmClosing=true;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);useCaseStudyVideos(path.startsWith(\"/projects\"),path);useCaseStudyToc(path.startsWith(\"/projects\"),path);// Changing page with the song on: counted once per page, so it shows where people keep listening\nuseEffect(()=>{const t=window.__jmTrack;if(t&&t.audio&&!t.audio.paused)window.__jmEvent?.(\"song-playing-on-page\");},[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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"}