{"version":3,"file":"shared-lib.DLMmU6Sw.mjs","names":["fonts","css","className","useRef","useRef","addPropertyOverrides","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","Variants","React.Fragment","getProps","createLayoutDependency","React.forwardRef","useRef","React.useId","RichText","Image1","GetInTouch","React.useContext","React.useMemo","React.Fragment","React.forwardRef","useRef","React.useId","RichText","useRef","useState","_Fragment","useState","useRef"],"sources":["https:/framerusercontent.com/modules/PsoopeUAYw5H8eRGciiw/zRw1Y6Q6oMJs2UAYERVg/AGvUp5H5Y.js","https:/framerusercontent.com/modules/tw2nk9NOaktgJlpDIWHK/1eiVrJfy5sQj5XHbkbb5/pV_LlGRVy.js","https:/framerusercontent.com/modules/9P5L4MemSYlP4MA59IKK/OU275ZOCSFsPDT733WRZ/CursorGlow.js","https:/framerusercontent.com/modules/vxGRyBWuIrNLJDPahkSC/LjSM00bMZR7FvsXA0IIH/MobileMailto.js","https:/framerusercontent.com/modules/RjGpSfveNSWrQoNpceQD/qzpOhcCaYrtl78x0Zw5R/yiPpkBbVU.js","https:/framerusercontent.com/modules/xwbnO2K3NXo9U1mlSfmM/jdwZ2p2hacyiDLG7sNBc/G0SbHWZE7.js","https:/framerusercontent.com/modules/7OauKVD9wsUkJ5PSDNUR/P3gAvFl7OueeyNqjC7EL/PageLoader.js","https:/framerusercontent.com/modules/z0iE6dunEU5Fc88HyGQa/a9DyW5eq9Y51Do3sf0OU/UFOCursor.js","https:/framerusercontent.com/modules/uitIKtOSAvYW30EvGnlz/PP0KhKmMTCqlhB2pzW1m/siteMetadata.js"],"sourcesContent":["// Generated by Framer (e56d21e)\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-oWfFp .framer-styles-preset-s038cv:not(.rich-text-wrapper), .framer-oWfFp .framer-styles-preset-s038cv.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: 0em; --framer-line-height: 32px; --framer-paragraph-spacing: 20px; --framer-text-alignment: start; --framer-text-color: #a3a3a3; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }'];export const className=\"framer-oWfFp\";\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 (e56d21e)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"Inter-Bold\",\"Inter-Black\",\"Inter-BlackItalic\",\"Inter-BoldItalic\"]);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/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:\"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/mkY5Sgyq51ik0AMrSBwhm9DJg.woff2\",weight:\"900\"},{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/X5hj6qzcHUYv7h1390c8Rhm6550.woff2\",weight:\"900\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/gQhNpS3tN86g8RcVKYUUaKt2oMQ.woff2\",weight:\"900\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/cugnVhSraaRyANCaUtI5FV17wk.woff2\",weight:\"900\"},{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/5HcVoGak8k5agFJSaKa4floXVu0.woff2\",weight:\"900\"},{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/rZ5DdENNqIdFTIyQQiP5isO7M.woff2\",weight:\"900\"},{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/P2Bw01CtL0b9wqygO0sSVogWbo.woff2\",weight:\"900\"},{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/05KsVHGDmqXSBXM4yRZ65P8i0s.woff2\",weight:\"900\"},{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/ky8ovPukK4dJ1Pxq74qGhOqCYI.woff2\",weight:\"900\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/vvNSqIj42qeQ2bvCRBIWKHscrc.woff2\",weight:\"900\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/3ZmXbBKToJifDV9gwcifVd1tEY.woff2\",weight:\"900\"},{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/FNfhX3dt4ChuLJq2PwdlxHO7PU.woff2\",weight:\"900\"},{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/gcnfba68tfm7qAyrWRCf9r34jg.woff2\",weight:\"900\"},{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/efTfQcBJ53kM2pB1hezSZ3RDUFs.woff2\",weight:\"900\"},{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\"}]}];export const css=['.framer-58hDh .framer-styles-preset-19p8hrc:not(.rich-text-wrapper), .framer-58hDh .framer-styles-preset-19p8hrc.rich-text-wrapper h3 { --framer-font-family: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold: \"Inter\", sans-serif; --framer-font-family-bold-italic: \"Inter\", sans-serif; --framer-font-family-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-open-type-features: \\'blwf\\' on, \\'cv09\\' on, \\'cv03\\' on, \\'cv04\\' on, \\'cv11\\' on; --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: 700; --framer-font-weight-bold: 900; --framer-font-weight-bold-italic: 900; --framer-font-weight-italic: 700; --framer-letter-spacing: -0.04em; --framer-line-height: 1.4em; --framer-paragraph-spacing: 40px; --framer-text-alignment: start; --framer-text-color: #000000; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }'];export const className=\"framer-58hDh\";\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\"}}}","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useRef}from\"react\";// ─────────────────────────────────────────────────────────────\n// CursorGlow — dot grid cursor proximity effect for footer\n// ─────────────────────────────────────────────────────────────\nexport function CursorGlow(Component){return props=>{const wrapperRef=useRef(null);const gridRef=useRef(null);useEffect(()=>{const wrapper=wrapperRef.current;const grid=gridRef.current;if(!wrapper||!grid)return;const prefersReducedMotion=window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;if(prefersReducedMotion){const m=\"radial-gradient(circle 55% at 50% 50%, black 0%, transparent 100%)\";grid.style.maskImage=m;grid.style.webkitMaskImage=m;grid.style.opacity=\"0.12\";return;}const isMobile=window.matchMedia(\"(max-width: 768px)\").matches;if(isMobile){const observer=new IntersectionObserver(entries=>{for(const entry of entries){if(entry.isIntersecting){const m=\"radial-gradient(circle 55% at 50% 80%, black 0%, transparent 100%)\";grid.style.maskImage=m;grid.style.webkitMaskImage=m;grid.style.transition=\"opacity 800ms ease-in-out\";grid.style.opacity=\"0.4\";observer.disconnect();}}},{threshold:.4});observer.observe(wrapper);return()=>observer.disconnect();}// Cache the wrapper rect — getBoundingClientRect() forces a synchronous\n// layout reflow, so calling it inside mousemove would stall the main\n// thread on every pointer event. Update only on resize/scroll instead.\nlet wrapperRect=wrapper.getBoundingClientRect();const updateRect=()=>{wrapperRect=wrapper.getBoundingClientRect();};window.addEventListener(\"resize\",updateRect,{passive:true});window.addEventListener(\"scroll\",updateRect,{passive:true});const setMask=(mx,my)=>{const m=`radial-gradient(circle 240px at ${mx}px ${my}px, black 0%, transparent 100%)`;grid.style.maskImage=m;grid.style.webkitMaskImage=m;};const onMouseEnter=e=>{updateRect();setMask(e.clientX-wrapperRect.left,e.clientY-wrapperRect.top);grid.style.transition=\"opacity 300ms ease-out\";grid.style.opacity=\"1\";};const onMouseMove=e=>{// Use cached rect — no forced reflow on every mousemove\nconst mx=e.clientX-wrapperRect.left;const my=e.clientY-wrapperRect.top;wrapper.style.setProperty(\"--mx\",`${mx}px`);wrapper.style.setProperty(\"--my\",`${my}px`);grid.style.transition=\"opacity 300ms ease-out\";setMask(mx,my);};const onMouseLeave=()=>{grid.style.transition=\"opacity 500ms ease-out\";grid.style.opacity=\"0\";};wrapper.addEventListener(\"mouseenter\",onMouseEnter);wrapper.addEventListener(\"mousemove\",onMouseMove);wrapper.addEventListener(\"mouseleave\",onMouseLeave);return()=>{wrapper.removeEventListener(\"mouseenter\",onMouseEnter);wrapper.removeEventListener(\"mousemove\",onMouseMove);wrapper.removeEventListener(\"mouseleave\",onMouseLeave);window.removeEventListener(\"resize\",updateRect);window.removeEventListener(\"scroll\",updateRect);};},[]);return /*#__PURE__*/_jsxs(\"div\",{ref:wrapperRef,style:{position:\"relative\",width:\"100%\",display:\"flex\",flexDirection:\"column\"},children:[/*#__PURE__*/_jsx(\"div\",{ref:gridRef,style:{position:\"absolute\",inset:\"0\",width:\"100%\",height:\"100%\",zIndex:0,pointerEvents:\"none\",opacity:0,backgroundImage:\"radial-gradient(circle 1px at 1px 1px, rgba(255,255,255,0.25) 1px, transparent 0)\",backgroundSize:\"28px 28px\"}}),/*#__PURE__*/_jsx(Component,{...props})]});};}// ─────────────────────────────────────────────────────────────\n// HeroEntrance — staggered page-load entrance for hero elements\n// ─────────────────────────────────────────────────────────────\nfunction heroItem(desktopDelay,center=false){return function(Component){return props=>{const elRef=useRef(null);useEffect(()=>{const el=elRef.current;if(!el)return;const prefersReduced=window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;if(prefersReduced){el.style.opacity=\"1\";el.style.transform=\"translateY(0)\";return;}const isMobile=window.matchMedia(\"(max-width: 768px)\").matches;const yPx=isMobile?10:18;const durationMs=isMobile?500:700;const delayMs=isMobile?200:Math.round(desktopDelay*1e3);el.style.opacity=\"0\";el.style.transform=`translateY(${yPx}px)`;const timer=setTimeout(()=>{el.style.transition=`opacity ${durationMs}ms cubic-bezier(0.22, 1, 0.36, 1), transform ${durationMs}ms cubic-bezier(0.22, 1, 0.36, 1)`;el.style.opacity=\"1\";el.style.transform=\"translateY(0)\";},delayMs);return()=>clearTimeout(timer);},[]);return /*#__PURE__*/_jsx(\"div\",{ref:elRef,style:{display:center?\"flex\":\"block\",justifyContent:center?\"center\":undefined,width:\"100%\",opacity:0,transform:\"translateY(18px)\",willChange:\"opacity, transform\"},children:/*#__PURE__*/_jsx(Component,{...props})});};};}export function HeroLabel(Component){return heroItem(.2)(Component);}export function HeroName(Component){return heroItem(.29)(Component);}export function HeroTagline(Component){return heroItem(.38,true)(Component);}export function HeroSocial(Component){return heroItem(.47)(Component);}// ─────────────────────────────────────────────────────────────\n// CharacterHover — hover interaction on the hero image\n//\n// Gravity-style drop-in entrance on page load:\n// - 0 → 800ms:    nothing visible (opacity 0, held above the fold)\n// - 800ms:        falls from top, overshoots slightly like landing,\n//                 wobbles side-to-side with decaying amplitude\n// - on settle:    hands off to the existing continuous idle float\n// Runs once per mount.\n//\n// Hover lifts the character slightly and brings up a soft glow behind\n// it — no \"Available for work\" bubble anymore, just the lift + glow.\n// ─────────────────────────────────────────────────────────────\nconst CHAR_ENTRANCE_DELAY_MS=800;export function CharacterHover(Component){return props=>{const wrapperRef=useRef(null);const charRef=useRef(null);const glowRef=useRef(null);const entranceRef=useRef(null);const{style:framStyleProp={},...rest}=props;useEffect(()=>{const STYLE_ID=\"character-hover-styles\";if(!document.getElementById(STYLE_ID)){const s=document.createElement(\"style\");s.id=STYLE_ID;s.textContent=`\n                    @keyframes charIdleFloat {\n                        0%,100% { transform: translateY(0px); }\n                        50%     { transform: translateY(-8px); }\n                    }\n                    @media (prefers-reduced-motion: no-preference) {\n                        .char-idle-float {\n                            animation: charIdleFloat 4000ms ease-in-out infinite;\n                            will-change: transform;\n                        }\n                    }\n                    @media (prefers-reduced-motion: no-preference) and (max-width: 768px) {\n                        .char-idle-float {\n                            animation: charIdleFloat 5000ms ease-in-out infinite;\n                        }\n                    }\n                    @keyframes charDropSettleDesktop {\n                        0%   { transform: translateY(-150px) rotate(0deg); opacity: 0; }\n                        8%   { opacity: 1; }\n                        44%  { transform: translateY(6px) rotate(-4deg); }\n                        58%  { transform: translateY(-3px) rotate(3deg); }\n                        70%  { transform: translateY(1px) rotate(-1.6deg); }\n                        82%  { transform: translateY(0px) rotate(0.9deg); }\n                        92%  { transform: translateY(0px) rotate(-0.3deg); }\n                        100% { transform: translateY(0px) rotate(0deg); opacity: 1; }\n                    }\n                    @keyframes charDropSettleMobile {\n                        0%   { transform: translateY(-80px) rotate(0deg); opacity: 0; }\n                        10%  { opacity: 1; }\n                        48%  { transform: translateY(4px) rotate(-2.5deg); }\n                        64%  { transform: translateY(-2px) rotate(1.8deg); }\n                        80%  { transform: translateY(0px) rotate(-0.6deg); }\n                        100% { transform: translateY(0px) rotate(0deg); opacity: 1; }\n                    }\n                    .char-pre-entrance {\n                        opacity: 0;\n                        transform: translateY(-150px);\n                    }\n                    @media (max-width: 768px) {\n                        .char-pre-entrance {\n                            transform: translateY(-80px);\n                        }\n                    }\n                    @media (prefers-reduced-motion: no-preference) {\n                        .char-drop-settle {\n                            animation: charDropSettleDesktop 1150ms cubic-bezier(0.32, 0, 0.2, 1) both;\n                            transform-origin: 50% 100%;\n                        }\n                    }\n                    @media (prefers-reduced-motion: no-preference) and (max-width: 768px) {\n                        .char-drop-settle {\n                            animation: charDropSettleMobile 850ms cubic-bezier(0.32, 0, 0.2, 1) both;\n                        }\n                    }\n                `;document.head.appendChild(s);}const wrapper=wrapperRef.current;const char=charRef.current;const glow=glowRef.current;const entrance=entranceRef.current;if(!wrapper||!char||!glow||!entrance)return;const prefersReduced=window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;const isMobile=window.matchMedia(\"(max-width: 768px)\").matches;let cleanupEntrance=()=>{};if(prefersReduced){// Skip the hidden hold + fall entirely, land straight in place.\nentrance.classList.remove(\"char-pre-entrance\");entrance.classList.add(\"char-idle-float\");}else{// Hold invisible above the fold for CHAR_ENTRANCE_DELAY_MS,\n// then drop-and-settle, then hand off to the idle float loop.\nentrance.classList.add(\"char-pre-entrance\");const startFall=()=>{entrance.classList.remove(\"char-pre-entrance\");entrance.classList.add(\"char-drop-settle\");const durationMs=isMobile?850:1150;const onEntranceDone=()=>{entrance.classList.remove(\"char-drop-settle\");entrance.classList.add(\"char-idle-float\");};entrance.addEventListener(\"animationend\",onEntranceDone,{once:true});// Fallback in case animationend doesn't fire (e.g. tab backgrounded)\nconst fallback=setTimeout(onEntranceDone,durationMs+150);cleanupEntrance=()=>{entrance.removeEventListener(\"animationend\",onEntranceDone);clearTimeout(fallback);};};const delayTimer=setTimeout(startFall,CHAR_ENTRANCE_DELAY_MS);const prevCleanup=cleanupEntrance;cleanupEntrance=()=>{clearTimeout(delayTimer);prevCleanup();};}if(isMobile){return()=>cleanupEntrance();}let settleTimer;const onEnter=()=>{clearTimeout(settleTimer);if(!prefersReduced){char.style.transition=\"transform 350ms cubic-bezier(0.34, 1.56, 0.64, 1)\";char.style.transform=\"translateY(-4px)\";}glow.style.transition=\"opacity 500ms ease-out\";glow.style.opacity=\"1\";};const onLeave=()=>{settleTimer=setTimeout(()=>{if(!prefersReduced){char.style.transition=\"transform 400ms ease-out\";char.style.transform=\"translateY(0px)\";}glow.style.transition=\"opacity 400ms ease-out\";glow.style.opacity=\"0\";},150);};wrapper.addEventListener(\"mouseenter\",onEnter);wrapper.addEventListener(\"mouseleave\",onLeave);return()=>{clearTimeout(settleTimer);wrapper.removeEventListener(\"mouseenter\",onEnter);wrapper.removeEventListener(\"mouseleave\",onLeave);cleanupEntrance();};},[]);return /*#__PURE__*/_jsx(\"div\",{style:{...framStyleProp,position:\"relative\",overflow:\"visible\"},children:/*#__PURE__*/_jsx(\"div\",{ref:entranceRef,style:{width:\"100%\",height:\"100%\"},children:/*#__PURE__*/_jsxs(\"div\",{ref:wrapperRef,style:{position:\"relative\",width:\"100%\",height:\"100%\"},children:[/*#__PURE__*/_jsx(\"div\",{ref:glowRef,style:{position:\"absolute\",bottom:\"-20px\",left:\"50%\",transform:\"translateX(-50%)\",width:\"280px\",height:\"180px\",zIndex:0,pointerEvents:\"none\",opacity:0,background:\"radial-gradient(ellipse at center, rgba(147,112,219,0.35) 0%, rgba(100,80,200,0.15) 45%, transparent 72%)\",filter:\"blur(28px)\",borderRadius:\"50%\",willChange:\"opacity\"}}),/*#__PURE__*/_jsx(\"div\",{ref:charRef,style:{position:\"relative\",zIndex:1,width:\"100%\",height:\"100%\",willChange:\"transform\"},children:/*#__PURE__*/_jsx(Component,{...rest,style:{width:\"100%\",height:\"100%\"}})})]})})});};}\nexport const __FramerMetadata__ = {\"exports\":{\"HeroTagline\":{\"type\":\"reactHoc\",\"name\":\"HeroTagline\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"HeroLabel\":{\"type\":\"reactHoc\",\"name\":\"HeroLabel\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"CursorGlow\":{\"type\":\"reactHoc\",\"name\":\"CursorGlow\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"CharacterHover\":{\"type\":\"reactHoc\",\"name\":\"CharacterHover\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"HeroName\":{\"type\":\"reactHoc\",\"name\":\"HeroName\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"HeroSocial\":{\"type\":\"reactHoc\",\"name\":\"HeroSocial\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CursorGlow.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useRef}from\"react\";// ─────────────────────────────────────────────────────────────\n// MobileMailCTA\n// Apply to: \"Get In Touch\" button (Variant1 — yR7rEVS2U) in the footer\n//\n// Problem: Framer's linkOpenInNewTab adds target=\"_blank\" to the anchor,\n// which prevents some mobile browsers (especially iOS Safari) from handing\n// the mailto: href off to the native Mail app.\n//\n// Fix (mobile only): after mount, strip target + rel from any mailto anchor\n// inside the component so the OS can intercept and open the mail app directly.\n// Desktop is untouched — target=\"_blank\" stays for normal mail-client pop-up.\n// ─────────────────────────────────────────────────────────────\nexport function MobileMailCTA(Component){return props=>{const ref=useRef(null);useEffect(()=>{const el=ref.current;if(!el)return;const isMobile=window.matchMedia(\"(max-width: 768px)\").matches;if(!isMobile)return;const fix=()=>{el.querySelectorAll(\"a[href^='mailto:']\").forEach(a=>{a.removeAttribute(\"target\");a.removeAttribute(\"rel\");});};// Run immediately + one frame later to catch any delayed hydration\nfix();const raf=requestAnimationFrame(fix);return()=>cancelAnimationFrame(raf);},[]);return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{display:\"contents\"},children:/*#__PURE__*/_jsx(Component,{...props})});};}\nexport const __FramerMetadata__ = {\"exports\":{\"MobileMailCTA\":{\"type\":\"reactHoc\",\"name\":\"MobileMailCTA\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./MobileMailto.map","// Generated by Framer (1a21bd5)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,getLoadingLazyAtYPosition,Image as Image1,Link,RichText,useComponentViewport,useLocaleInfo,useVariantState,withCodeBoundaryForOverrides,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import{MobileMailCTA}from\"https://framerusercontent.com/modules/vxGRyBWuIrNLJDPahkSC/LjSM00bMZR7FvsXA0IIH/MobileMailto.js\";const MotionAMobileMailCTAtwwb4s=withCodeBoundaryForOverrides(motion.a,{nodeId:\"yR7rEVS2U\",override:MobileMailCTA,scopeId:\"yiPpkBbVU\"});const enabledGestures={yR7rEVS2U:{hover:true}};const serializationHash=\"framer-ly7z6\";const variantClassNames={yR7rEVS2U:\"framer-v-twwb4s\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const gQrDj1f7N=undefined;const yT_ZDx7n6=undefined;const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const getProps=({height,id,link,width,...props})=>{return{...props,yT_ZDx7n6:link??props.yT_ZDx7n6};};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,yT_ZDx7n6,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({defaultVariant:\"yR7rEVS2U\",enabledGestures,ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if(gestureVariant===\"yR7rEVS2U-hover\")return true;return false;};return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(Link,{href:yT_ZDx7n6,motionChild:true,nodeId:\"yR7rEVS2U\",openInNewTab:true,scopeId:\"yiPpkBbVU\",children:/*#__PURE__*/_jsxs(MotionAMobileMailCTAtwwb4s,{...restProps,...gestureHandlers,className:`${cx(scopingClassNames,\"framer-twwb4s\",className,classNames)} framer-dqt63z`,\"data-framer-cursor\":gQrDj1f7N,\"data-framer-name\":\"Variant 1\",layoutDependency:layoutDependency,layoutId:\"yR7rEVS2U\",ref:refBinding,style:{backgroundColor:\"rgb(255, 255, 255)\",borderBottomLeftRadius:48,borderBottomRightRadius:48,borderTopLeftRadius:48,borderTopRightRadius:48,...style},variants:{\"yR7rEVS2U-hover\":{backgroundColor:\"rgb(15, 14, 14)\"}},...addPropertyOverrides({\"yR7rEVS2U-hover\":{\"data-framer-name\":undefined}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--framer-font-size\":\"28px\",\"--framer-line-height\":\"40px\"},children:\"Drop a Mail\"})}),className:\"framer-9puun7\",\"data-framer-name\":\"Get In Touch\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"qHv4AVTNq\",style:{\"--framer-paragraph-spacing\":\"0px\"},variants:{\"yR7rEVS2U-hover\":{\"--extracted-r6o4lv\":\"rgb(255, 255, 255)\"}},verticalAlignment:\"center\",withExternalLayout:true,...addPropertyOverrides({\"yR7rEVS2U-hover\":{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--framer-font-size\":\"28px\",\"--framer-line-height\":\"40px\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"Drop a Mail\"})})}},baseVariant,gestureVariant)}),isDisplayed()&&/*#__PURE__*/_jsx(Image1,{background:{alt:\"\",fit:\"fill\",intrinsicHeight:256,intrinsicWidth:256,pixelHeight:512,pixelWidth:512,src:\"https://framerusercontent.com/images/JLsI2JlchEKNF8zKtyDT1s0fzSs.png?width=512&height=512\"},className:\"framer-gufik3\",\"data-framer-name\":\"Email\",layoutDependency:layoutDependency,layoutId:\"kySUimgCq\",...addPropertyOverrides({\"yR7rEVS2U-hover\":{background:{alt:\"\",fit:\"fill\",intrinsicHeight:256,intrinsicWidth:256,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+(16+((componentViewport?.height||72)-32-40)/2)),pixelHeight:512,pixelWidth:512,sizes:\"40px\",src:\"https://framerusercontent.com/images/JLsI2JlchEKNF8zKtyDT1s0fzSs.png?width=512&height=512\"}}},baseVariant,gestureVariant)})]})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-ly7z6.framer-dqt63z, .framer-ly7z6 .framer-dqt63z { display: block; }\",\".framer-ly7z6.framer-twwb4s { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 12px; height: min-content; justify-content: center; overflow: visible; padding: 16px 32px 16px 32px; position: relative; text-decoration: none; width: 280px; }\",\".framer-ly7z6 .framer-9puun7 { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-ly7z6 .framer-gufik3 { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 40px); overflow: visible; position: relative; width: 40px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 72\n * @framerIntrinsicWidth 280\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"i4zaTrJxV\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerVariables {\"yT_ZDx7n6\":\"link\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FrameryiPpkBbVU=withCSS(Component,css,\"framer-ly7z6\");export default FrameryiPpkBbVU;FrameryiPpkBbVU.displayName=\"Get-In-touch\";FrameryiPpkBbVU.defaultProps={height:72,width:280};addPropertyControls(FrameryiPpkBbVU,{yT_ZDx7n6:{title:\"Link\",type:ControlType.Link}});addFonts(FrameryiPpkBbVU,[{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\"}]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FrameryiPpkBbVU\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"280\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"i4zaTrJxV\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerVariables\":\"{\\\"yT_ZDx7n6\\\":\\\"link\\\"}\",\"framerImmutableVariables\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicHeight\":\"72\",\"framerAutoSizeImages\":\"true\",\"framerContractVersion\":\"1\",\"framerColorSyntax\":\"true\",\"framerComponentViewportWidth\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./yiPpkBbVU.map","// Generated by Framer (1a21bd5)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,forwardLoader,getFonts,RichText,SmartComponentScopedContainer,useComponentViewport,useLocaleInfo,useVariantState,withCodeBoundaryForOverrides,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import{CursorGlow}from\"https://framerusercontent.com/modules/9P5L4MemSYlP4MA59IKK/OU275ZOCSFsPDT733WRZ/CursorGlow.js\";import GetInTouch from\"https://framerusercontent.com/modules/RjGpSfveNSWrQoNpceQD/qzpOhcCaYrtl78x0Zw5R/yiPpkBbVU.js\";const GetInTouchFonts=getFonts(GetInTouch);const MotionDivCursorGlowcegqb5=withCodeBoundaryForOverrides(motion.div,{nodeId:\"zvV5Tksol\",override:CursorGlow,scopeId:\"G0SbHWZE7\"});const cycleOrder=[\"zvV5Tksol\",\"gICIRNexP\"];const serializationHash=\"framer-c0j0R\";const variantClassNames={gICIRNexP:\"framer-v-13f7fij\",zvV5Tksol:\"framer-v-cegqb5\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const siGu3EyJv=undefined;const transition1={damping:60,delay:0,mass:1,stiffness:500,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const humanReadableVariantMap={\"Footer/Default\":\"zvV5Tksol\",\"Mobile/Footer\":\"gICIRNexP\"};const Variants=motion.create(React.Fragment);const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"zvV5Tksol\"};};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:\"zvV5Tksol\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(MotionDivCursorGlowcegqb5,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-cegqb5\",className,classNames),\"data-framer-name\":\"Footer/Default\",layoutDependency:layoutDependency,layoutId:\"zvV5Tksol\",ref:refBinding,style:{...style},...addPropertyOverrides({gICIRNexP:{\"data-framer-name\":\"Mobile/Footer\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-ius02t\",\"data-framer-name\":\"Heading-text\",layoutDependency:layoutDependency,layoutId:\"P5_tfMFOc\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"R0Y7Um9ib3RvIE1vbm8tcmVndWxhcg==\",\"--framer-font-family\":'\"Roboto Mono\", monospace',\"--framer-font-size\":\"20px\",\"--framer-line-height\":\"24px\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(163, 163, 163))\",\"--framer-text-transform\":\"uppercase\"},children:\"Discuss about work or just WANT TO SAY HI?\"})}),className:\"framer-1mnvz3y\",\"data-framer-name\":\"case studies or just WANT TO SAY HI?\",fonts:[\"GF;Roboto Mono-regular\"],layoutDependency:layoutDependency,layoutId:\"V5YzwmZQ5\",style:{\"--extracted-r6o4lv\":\"rgb(163, 163, 163)\",\"--framer-paragraph-spacing\":\"0px\"},variants:{gICIRNexP:{\"--extracted-2gxw0f\":\"rgb(163, 163, 163)\"}},verticalAlignment:\"center\",withExternalLayout:true,...addPropertyOverrides({gICIRNexP:{children:/*#__PURE__*/_jsxs(React.Fragment,{children:[/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"R0Y7Um9ib3RvIE1vbm8tcmVndWxhcg==\",\"--framer-font-family\":'\"Roboto Mono\", monospace',\"--framer-font-size\":\"20px\",\"--framer-line-height\":\"24px\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(163, 163, 163))\",\"--framer-text-transform\":\"uppercase\"},children:\"Discuss about work or \"}),/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"R0Y7Um9ib3RvIE1vbm8tcmVndWxhcg==\",\"--framer-font-family\":'\"Roboto Mono\", monospace',\"--framer-font-size\":\"20px\",\"--framer-line-height\":\"24px\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-2gxw0f, rgb(163, 163, 163))\",\"--framer-text-transform\":\"uppercase\"},children:\"just WANT TO SAY HI?\"})]})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-1ch1538\",\"data-framer-name\":\"Frame 18\",layoutDependency:layoutDependency,layoutId:\"KpHKbhQcA\",children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"SW50ZXItRXh0cmFCb2xk\",\"--framer-font-size\":\"90px\",\"--framer-font-weight\":\"800\",\"--framer-letter-spacing\":\"-2px\",\"--framer-line-height\":\"115.2px\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\",\"--framer-text-transform\":\"uppercase\"},children:\"LET'S CHAT\"})}),className:\"framer-ld2823\",\"data-framer-name\":\"LET'S CHAT\",fonts:[\"Inter-ExtraBold\"],layoutDependency:layoutDependency,layoutId:\"D_y5qd2CN\",style:{\"--extracted-r6o4lv\":\"rgb(255, 255, 255)\",\"--framer-paragraph-spacing\":\"0px\"},verticalAlignment:\"center\",withExternalLayout:true,...addPropertyOverrides({gICIRNexP:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--framer-font-size\":\"48px\",\"--framer-letter-spacing\":\"-2px\",\"--framer-line-height\":\"62.4px\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\",\"--framer-text-transform\":\"uppercase\"},children:\"LET'S CHAT\"})}),fonts:[\"Inter\"]}},baseVariant,gestureVariant)})})]}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:72,y:(componentViewport?.y||0)+200+768,...addPropertyOverrides({gICIRNexP:{y:(componentViewport?.y||0)+80+616}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1up20ty-container\",\"data-framer-cursor\":siGu3EyJv,layoutDependency:layoutDependency,layoutId:\"lRtJFTdlK-container\",nodeId:\"lRtJFTdlK\",rendersWithMotion:true,scopeId:\"G0SbHWZE7\",children:/*#__PURE__*/_jsx(GetInTouch,{height:\"100%\",id:\"lRtJFTdlK\",layoutId:\"lRtJFTdlK\",width:\"100%\",yT_ZDx7n6:\"mailto:harishp.design@gmail.com\"})})})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-c0j0R.framer-iz20uv, .framer-c0j0R .framer-iz20uv { display: block; }\",\".framer-c0j0R.framer-cegqb5 { align-content: center; align-items: center; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 24px; height: min-content; justify-content: flex-start; overflow: visible; padding: 200px 0px 120px 0px; position: relative; width: min-content; }\",\".framer-c0j0R .framer-ius02t { align-content: center; align-items: center; align-self: stretch; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 24px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: auto; }\",\".framer-c0j0R .framer-1mnvz3y { flex: none; height: auto; position: relative; white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\",\".framer-c0j0R .framer-1ch1538 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 8px; height: min-content; justify-content: center; overflow: visible; padding: 0px 40px 24px 40px; position: relative; width: 1440px; }\",\".framer-c0j0R .framer-ld2823 { flex: 1 0 0px; height: auto; position: relative; white-space: pre-wrap; width: 1px; word-break: break-word; word-wrap: break-word; }\",\".framer-c0j0R .framer-1up20ty-container { flex: none; height: auto; position: relative; width: auto; }\",\".framer-c0j0R.framer-v-13f7fij.framer-cegqb5 { gap: 32px; padding: 80px 0px 80px 0px; width: 390px; }\",\".framer-c0j0R.framer-v-13f7fij .framer-ius02t { align-self: unset; gap: 32px; width: 100%; }\",\".framer-c0j0R.framer-v-13f7fij .framer-1ch1538 { padding: 0px 40px 0px 40px; width: 100%; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 603\n * @framerIntrinsicWidth 1440\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]},\"gICIRNexP\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerG0SbHWZE7=withCSS(Component,css,\"framer-c0j0R\");export default FramerG0SbHWZE7;FramerG0SbHWZE7.displayName=\"Footer-Section\";FramerG0SbHWZE7.defaultProps={height:603,width:1440};addPropertyControls(FramerG0SbHWZE7,{variant:{options:[\"zvV5Tksol\",\"gICIRNexP\"],optionTitles:[\"Footer/Default\",\"Mobile/Footer\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerG0SbHWZE7,[{explicitInter:true,fonts:[{cssFamilyName:\"Roboto Mono\",source:\"google\",style:\"normal\",uiFamilyName:\"Roboto Mono\",url:\"https://fonts.gstatic.com/s/robotomono/v31/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vqPRu-5Ip2sSQ.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/PONfPc6h4EPYwJliXQBmjVx7QxI.woff2\",weight:\"800\"},{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/zsnJN7Z1wdzUvepJniD3rbvJIyU.woff2\",weight:\"800\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/UrzZBOy7RyJEWAZGduzOeHiHuY.woff2\",weight:\"800\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/996sR9SfSDuYELz8oHhDOcErkY.woff2\",weight:\"800\"},{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/ftN1HpyPVJEoEb4q36SOrNdLXU.woff2\",weight:\"800\"},{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/Mput0MSwESKlJ6TMz9MPDXhgrk.woff2\",weight:\"800\"},{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/JAur4lGGSGRGyrFi59JSIKqVgU.woff2\",weight:\"800\"},{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\"}]},...GetInTouchFonts],{supportsExplicitInterCodegen:true});FramerG0SbHWZE7.loader={load:(props,context)=>{const locale=context.locale;return Promise.allSettled([forwardLoader(GetInTouch,{},context)]);}};\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerG0SbHWZE7\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"603\",\"framerIntrinsicWidth\":\"1440\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"gICIRNexP\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerAutoSizeImages\":\"true\",\"framerImmutableVariables\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerColorSyntax\":\"true\",\"framerContractVersion\":\"1\",\"framerDisplayContentsDiv\":\"false\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useEffect,useRef,useState}from\"react\";import{createPortal}from\"react-dom\";const LOADING_MESSAGES=[\"Crafting experiences\",\"Designing systems\",\"Loading portfolio\",\"Almost there\"];function nonLinearProgress(elapsed,total){const t=Math.min(elapsed/total,1);if(t<.3)return t/.3*.6;if(t<.7)return .6+(t-.3)/.4*.2;return .8+(t-.7)/.3*.2;}/**\n * PageLoader — full-screen 3D character glitch materialisation loader.\n *\n * Place on the home page AND on each case-study page. The loader runs once\n * per PAGE PATH per session — gated by a sessionStorage key scoped to\n * window.location.pathname, not a single blanket flag — so the homepage\n * shows it once, and each case-study page independently shows it once the\n * first time you land on that specific page in a session, then skips it if\n * you navigate back to a page you've already visited. It exits with an\n * upward wipe.\n *\n * Rendered via a portal directly into document.body: Framer wraps every\n * layer in its own positioning container, and this loader must cover the\n * true browser viewport exactly (no gaps at the edges, no dependency on a\n * parent's width/height/transform). Portaling out of that wrapper is what\n * guarantees full, gapless coverage on every breakpoint and device.\n */export function PageLoader({characterImage=\"\"}){const containerRef=useRef(null);const charBlockRef=useRef(null);const charImgRef=useRef(null);const redImgRef=useRef(null);const blueImgRef=useRef(null);const slice1Ref=useRef(null);const slice2Ref=useRef(null);const slice3Ref=useRef(null);const flashRef=useRef(null);const glowRef=useRef(null);const progressFillRef=useRef(null);const progressCountRef=useRef(null);const progressWrapRef=useRef(null);const messageRef=useRef(null);const dotGridRef=useRef(null);const textBlockRef=useRef(null);const bottomLabelRef=useRef(null);const scrollUnlockedRef=useRef(false);// null = not yet decided (SSR / before first effect), false = skip\n// (already seen this session), true = play the loader.\nconst[shouldRender,setShouldRender]=useState(null);// ── Decide once, before anything paints, whether to show the loader ──\n// Scoped per page path so each case-study page gets its own \"seen it\n// this session\" flag instead of sharing one global flag with the\n// homepage (and with every other case-study page).\nuseEffect(()=>{try{const storageKey=`loader-seen:${window.location.pathname}`;if(sessionStorage.getItem(storageKey)===\"1\"){setShouldRender(false);return;}}catch{}setShouldRender(true);},[]);// ── Run the full animation timeline only once the loader is mounted ──\nuseEffect(()=>{if(shouldRender!==true)return;const prefersReduced=window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;const timers=[];const add=(fn,ms)=>timers.push(setTimeout(fn,ms));let rafId=0;// ── Lock the page underneath while the loader is up ────────────────\n// Prevents wheel/touch scroll (or restored scroll position) from\n// landing on a different section — e.g. the work section — once the\n// loader wipes away. The real page is always revealed pinned to top.\n//\n// Always unlocks back to the CSS default (removeProperty) rather\n// than \"whatever was there before\" — capturing and restoring a\n// snapshot is what let this get stuck permanently locked if the\n// component ever re-mounted while a previous instance's lock was\n// still active (e.g. a hot-reload mid-animation): the second\n// instance would snapshot \"hidden\" as its own \"previous\" value and\n// later \"restore\" straight back into the locked state. Always\n// clearing to the default sidesteps that class of bug entirely.\ndocument.documentElement.style.overflow=\"hidden\";document.body.style.overflow=\"hidden\";window.scrollTo(0,0);const unlockScroll=()=>{if(scrollUnlockedRef.current)return;scrollUnlockedRef.current=true;document.documentElement.style.removeProperty(\"overflow\");document.body.style.removeProperty(\"overflow\");};// ── Safety net: never block the page for more than MAX_BLOCK_MS,\n// no matter what — if any timer above stalls for some reason, the\n// user must still be able to click through AND scroll the real\n// page. Unlocking scroll here too (not just pointer-events) is the\n// hard guarantee that this can never stay locked indefinitely. ──\nconst MAX_BLOCK_MS=4200;const forceUnblock=()=>{const c=containerRef.current;if(c)c.style.pointerEvents=\"none\";unlockScroll();};// ── Phase 1: Materialise ──────────────────────────────────────────\nadd(()=>{const b=charBlockRef.current;if(!b)return;b.style.opacity=\"1\";b.style.transform=\"scale(1)\";b.style.filter=\"blur(0px)\";},50);// ── Glitch helpers ────────────────────────────────────────────────\nconst OFFSETS=[-8,-6,-5,4,5,6,7];const pick=()=>OFFSETS[Math.floor(Math.random()*OFFSETS.length)];const clearGlitch=()=>{const r=redImgRef.current,b=blueImgRef.current;const s1=slice1Ref.current,s2=slice2Ref.current,s3=slice3Ref.current;const img=charImgRef.current;if(r){r.style.transition=\"none\";r.style.transform=\"translateX(0)\";r.style.opacity=\"0\";}if(b){b.style.transition=\"none\";b.style.transform=\"translateX(0)\";b.style.opacity=\"0\";}if(s1){s1.style.transition=\"none\";s1.style.opacity=\"0\";s1.style.transform=\"translateX(0)\";}if(s2){s2.style.transition=\"none\";s2.style.opacity=\"0\";s2.style.transform=\"translateX(0)\";}if(s3){s3.style.transition=\"none\";s3.style.opacity=\"0\";s3.style.transform=\"translateX(0)\";}if(img){img.style.transition=\"none\";img.style.filter=\"none\";}};const triggerGlitch=durationMs=>{const r=redImgRef.current,b=blueImgRef.current;const s1=slice1Ref.current,s2=slice2Ref.current,s3=slice3Ref.current;const img=charImgRef.current;// RGB channel split\nconst rgbStep=`${Math.round(durationMs/4)}ms steps(1)`;if(r){r.style.transition=`transform ${rgbStep}`;r.style.transform=\"translateX(5px)\";r.style.opacity=\"1\";}if(b){b.style.transition=`transform ${rgbStep}`;b.style.transform=\"translateX(-5px)\";b.style.opacity=\"1\";}// Horizontal slice displacement\nconst sliceStep=`${Math.round(durationMs/3)}ms steps(2)`;if(s1){s1.style.transition=`transform ${sliceStep}`;s1.style.opacity=\"1\";s1.style.transform=`translateX(${pick()}px)`;}if(s2){s2.style.transition=`transform ${sliceStep}`;s2.style.opacity=\"1\";s2.style.transform=`translateX(${pick()}px)`;}if(s3){s3.style.transition=`transform ${sliceStep}`;s3.style.opacity=\"1\";s3.style.transform=`translateX(${pick()}px)`;}// Brightness spike\nif(img){img.style.transition=`filter ${Math.round(durationMs/5)}ms steps(1)`;img.style.filter=\"brightness(1.4)\";}};// ── Phase 2: Glitch bursts [start, end] ───────────────────────────\nif(!prefersReduced){const bursts=[[400,600],[700,900],[1100,1200],[1500,1700]];bursts.forEach(([start,end])=>{add(()=>triggerGlitch(end-start),start);add(clearGlitch,end);});// ── Phase 3: Resolve (2000–2400ms) ───────────────────────────\nadd(()=>{const r=redImgRef.current,b=blueImgRef.current,img=charImgRef.current;if(r){r.style.transform=\"translateX(7px)\";r.style.opacity=\"1\";}if(b){b.style.transform=\"translateX(-7px)\";b.style.opacity=\"1\";}if(img)img.style.filter=\"brightness(1.6)\";},2e3);add(()=>{const flash=flashRef.current;if(flash){flash.style.transition=\"opacity 60ms steps(1)\";flash.style.opacity=\"0.15\";}},2060);// Hard snap clean → activate glow\nadd(()=>{clearGlitch();const flash=flashRef.current;if(flash){flash.style.transition=\"none\";flash.style.opacity=\"0\";}const glow=glowRef.current;if(glow)glow.style.opacity=\"1\";},2200);}else{// Reduced motion: just fade in glow\nadd(()=>{const glow=glowRef.current;if(glow)glow.style.opacity=\"1\";},2200);}// ── Rotating messages ─────────────────────────────────────────────\nlet msgIdx=0;const nextMsg=()=>{const el=messageRef.current;if(!el)return;el.style.opacity=\"0\";add(()=>{msgIdx=(msgIdx+1)%LOADING_MESSAGES.length;const m=messageRef.current;if(m){m.textContent=LOADING_MESSAGES[msgIdx];m.style.opacity=\"1\";}},250);};[500,1e3,1500,2100].forEach(ms=>add(nextMsg,ms));// ── Progress counter + line ───────────────────────────────────────\nconst startTime=performance.now();const TOTAL_MS=2700;const tick=()=>{const pct=Math.round(nonLinearProgress(performance.now()-startTime,TOTAL_MS)*100);if(progressCountRef.current)progressCountRef.current.textContent=String(pct);if(progressFillRef.current)progressFillRef.current.style.width=`${pct*1.2}px`;if(pct<100)rafId=requestAnimationFrame(tick);};rafId=requestAnimationFrame(tick);// ── Bottom label letter-spacing pulse ─────────────────────────────\nconst pulse=()=>{const el=bottomLabelRef.current;if(!el)return;el.style.letterSpacing=\"0.32em\";add(()=>{if(bottomLabelRef.current)bottomLabelRef.current.style.letterSpacing=\"0.22em\";},280);};[800,1600,2400].forEach(ms=>add(pulse,ms));// ── Exit sequence ─────────────────────────────────────────────────\n// 2700ms — progress has reached 100%. Fade the progress UI AND stop\n// blocking clicks right here — the loading work is done, so there's\n// no reason to keep intercepting interaction for the remaining ~1.2s\n// of purely cosmetic wipe-out animation.\nadd(()=>{const w=progressWrapRef.current;if(w){w.style.transition=\"opacity 200ms ease-out\";w.style.opacity=\"0\";}const c=containerRef.current;if(c)c.style.pointerEvents=\"none\";},2700);// 2800ms — micro-glitch\nadd(()=>{if(!prefersReduced){const r=redImgRef.current,b=blueImgRef.current;if(r){r.style.transition=\"none\";r.style.transform=\"translateX(3px)\";r.style.opacity=\"0.7\";}if(b){b.style.transition=\"none\";b.style.transform=\"translateX(-3px)\";b.style.opacity=\"0.7\";}}},2800);// 2900ms — character scale out + text fade\nadd(()=>{const block=charBlockRef.current;if(block){block.style.transition=\"transform 300ms cubic-bezier(0.22,1,0.36,1), opacity 300ms ease-out\";block.style.transform=\"scale(0.88)\";block.style.opacity=\"0\";}const txt=textBlockRef.current;if(txt){txt.style.transition=\"opacity 250ms ease-out\";txt.style.opacity=\"0\";}},2900);// 3050ms — dot grid fade\nadd(()=>{const dots=dotGridRef.current;if(dots){dots.style.transition=\"opacity 300ms ease-out\";dots.style.opacity=\"0\";}},3050);// 3200ms — unlock the real page (pinned at top) then wipe the\n// loader up and out, revealing the page strictly after 100%.\nadd(()=>{unlockScroll();const c=containerRef.current;if(c){c.style.transition=\"transform 700ms cubic-bezier(0.76,0,0.24,1)\";c.style.transform=\"translateY(-100vh)\";}},3200);// 3900ms — unmount from the portal\nadd(()=>{cancelAnimationFrame(rafId);try{sessionStorage.setItem(`loader-seen:${window.location.pathname}`,\"1\");}catch{}setShouldRender(false);},3900);// Absolute safety net — guarantees the page is clickable AND\n// scrollable again no later than MAX_BLOCK_MS after mount,\n// independent of every timer above (covers e.g. a tab being\n// backgrounded and timers throttled, or the component re-mounting\n// mid-animation during development).\nadd(forceUnblock,MAX_BLOCK_MS);return()=>{timers.forEach(clearTimeout);cancelAnimationFrame(rafId);unlockScroll();};},[shouldRender]);const charSize=\"clamp(140px, 20vw, 180px)\";return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{children:`html, body { background-color: #0a0a0a !important; }`}),shouldRender&&typeof document!==\"undefined\"&&/*#__PURE__*/createPortal(/*#__PURE__*/_jsxs(\"div\",{ref:containerRef,role:\"status\",\"aria-live\":\"polite\",\"aria-label\":\"Loading harish.design portfolio\",style:{position:\"fixed\",// Slightly overscan past the viewport edges instead of\n// sitting exactly flush (inset: 0) as extra insurance\n// against a 1-2px rounding/toolbar-recalculation seam.\ntop:\"-4px\",left:\"-4px\",right:\"-4px\",bottom:\"-4px\",zIndex:2147483647,background:\"#0a0a0a\",display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"center\",overflow:\"hidden\",fontFamily:\"'Inter', 'Helvetica Neue', sans-serif\"},children:[/*#__PURE__*/_jsx(\"svg\",{\"aria-hidden\":\"true\",style:{position:\"absolute\",width:0,height:0,overflow:\"hidden\"},children:/*#__PURE__*/_jsxs(\"defs\",{children:[/*#__PURE__*/_jsx(\"filter\",{id:\"pl-red\",children:/*#__PURE__*/_jsx(\"feColorMatrix\",{type:\"matrix\",values:\"1 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 1 0\"})}),/*#__PURE__*/_jsx(\"filter\",{id:\"pl-blue\",children:/*#__PURE__*/_jsx(\"feColorMatrix\",{type:\"matrix\",values:\"0 0 0 0 0  0 0 0 0 0  0 0 1 0 0  0 0 0 1 0\"})})]})}),/*#__PURE__*/_jsx(\"div\",{ref:dotGridRef,\"aria-hidden\":\"true\",style:{position:\"absolute\",inset:0,backgroundImage:\"radial-gradient(circle, rgba(255,255,255,0.06) 1px, transparent 1px)\",backgroundSize:\"28px 28px\",pointerEvents:\"none\"}}),/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",style:{position:\"absolute\",top:32,left:\"50%\",transform:\"translateX(-50%)\",fontSize:11,letterSpacing:\"0.15em\",color:\"rgba(255,255,255,0.3)\",fontWeight:500,textTransform:\"uppercase\",whiteSpace:\"nowrap\"},children:\"harish.design\"}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",alignItems:\"center\",gap:32,position:\"relative\",zIndex:1},children:[/*#__PURE__*/_jsx(\"div\",{ref:charBlockRef,\"aria-hidden\":\"true\",style:{// Initial state: invisible + scaled down + blurred\ntransform:\"scale(0.88)\",opacity:0,filter:\"blur(6px)\",transition:\"opacity 400ms cubic-bezier(0.22,1,0.36,1), transform 400ms cubic-bezier(0.22,1,0.36,1), filter 400ms cubic-bezier(0.22,1,0.36,1)\",width:charSize,height:charSize,flexShrink:0},children:/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",width:\"100%\",height:\"100%\"},children:[/*#__PURE__*/_jsx(\"img\",{ref:charImgRef,src:characterImage,alt:\"3D character head loading animation\",style:{width:\"100%\",height:\"100%\",objectFit:\"contain\",display:\"block\"}}),/*#__PURE__*/_jsx(\"div\",{ref:glowRef,\"aria-hidden\":\"true\",style:{position:\"absolute\",inset:\"-30px\",background:\"radial-gradient(circle, rgba(147,112,219,0.25) 0%, transparent 65%)\",filter:\"drop-shadow(0 0 20px rgba(147,112,219,0.3))\",opacity:0,transition:\"opacity 600ms ease-out\",pointerEvents:\"none\"}}),/*#__PURE__*/_jsx(\"div\",{ref:flashRef,\"aria-hidden\":\"true\",style:{position:\"absolute\",inset:0,background:\"white\",opacity:0,pointerEvents:\"none\",mixBlendMode:\"overlay\"}}),/*#__PURE__*/_jsx(\"img\",{ref:redImgRef,src:characterImage,\"aria-hidden\":\"true\",alt:\"\",style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",objectFit:\"contain\",filter:\"url(#pl-red)\",mixBlendMode:\"screen\",opacity:0,pointerEvents:\"none\"}}),/*#__PURE__*/_jsx(\"img\",{ref:blueImgRef,src:characterImage,\"aria-hidden\":\"true\",alt:\"\",style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",objectFit:\"contain\",filter:\"url(#pl-blue)\",mixBlendMode:\"screen\",opacity:0,pointerEvents:\"none\"}}),/*#__PURE__*/_jsx(\"img\",{ref:slice1Ref,src:characterImage,\"aria-hidden\":\"true\",alt:\"\",style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",objectFit:\"contain\",clipPath:\"inset(0 0 67% 0)\",opacity:0,pointerEvents:\"none\"}}),/*#__PURE__*/_jsx(\"img\",{ref:slice2Ref,src:characterImage,\"aria-hidden\":\"true\",alt:\"\",style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",objectFit:\"contain\",clipPath:\"inset(33% 0 34% 0)\",opacity:0,pointerEvents:\"none\"}}),/*#__PURE__*/_jsx(\"img\",{ref:slice3Ref,src:characterImage,\"aria-hidden\":\"true\",alt:\"\",style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",objectFit:\"contain\",clipPath:\"inset(67% 0 0 0)\",opacity:0,pointerEvents:\"none\"}})]})}),/*#__PURE__*/_jsxs(\"div\",{ref:textBlockRef,style:{display:\"flex\",flexDirection:\"column\",alignItems:\"center\",gap:16},children:[/*#__PURE__*/_jsx(\"div\",{ref:messageRef,\"aria-live\":\"polite\",style:{fontSize:12,color:\"rgba(255,255,255,0.4)\",fontWeight:400,letterSpacing:\"0.04em\",transition:\"opacity 200ms ease-out\",textAlign:\"center\",whiteSpace:\"nowrap\"},children:LOADING_MESSAGES[0]}),/*#__PURE__*/_jsxs(\"div\",{ref:progressWrapRef,style:{display:\"flex\",flexDirection:\"column\",alignItems:\"center\",gap:8},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"baseline\",gap:1},children:[/*#__PURE__*/_jsx(\"span\",{ref:progressCountRef,style:{fontSize:11,color:\"rgba(255,255,255,0.25)\",fontWeight:500,fontVariantNumeric:\"tabular-nums\"},children:\"0\"}),/*#__PURE__*/_jsx(\"span\",{style:{fontSize:9,color:\"rgba(255,255,255,0.15)\"},children:\"%\"})]}),/*#__PURE__*/_jsx(\"div\",{style:{width:120,height:1,background:\"rgba(255,255,255,0.08)\",position:\"relative\",overflow:\"hidden\"},children:/*#__PURE__*/_jsx(\"div\",{ref:progressFillRef,style:{position:\"absolute\",left:0,top:0,height:\"100%\",width:0,background:\"rgba(255,255,255,0.45)\"}})})]}),/*#__PURE__*/_jsx(\"span\",{ref:bottomLabelRef,\"aria-hidden\":\"true\",style:{fontSize:10,fontWeight:600,letterSpacing:\"0.22em\",color:\"rgba(255,255,255,0.12)\",textTransform:\"uppercase\",transition:\"letter-spacing 280ms cubic-bezier(0.22,1,0.36,1)\"},children:\"HARISH\"})]})]})]}),document.body)]});}addPropertyControls(PageLoader,{characterImage:{type:ControlType.Image,title:\"Character Image\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"PageLoader\":{\"type\":\"reactComponent\",\"name\":\"PageLoader\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./PageLoader.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useRef,useState}from\"react\";import{addPropertyControls,useIsStaticRenderer}from\"framer\";const POS_STORE_KEY=\"ufo-cursor-pos\";const POS_STORE_THROTTLE_MS=150;// Any element carrying this attribute counts as \"landable\" — the project\n// cards already get this attribute from the StackCard scroll-stack override,\n// so no extra markup is needed to detect hovering over one.\nconst LANDABLE_SELECTOR=\"[data-stack-index]\";// HTML id expected on the wrapping frame around the project cards (set this\n// as the layer's ID in Framer, same convention as \"footer-section\" below).\nconst PROJECT_SECTION_ID=\"project-section\";// \"Launch sequence\" intro bubble — appears once above the UFO shortly\n// after it first mounts, typed out character by character, then chains\n// through two more typed messages before fading out.\nconst LAUNCH_MESSAGE=\"Launch sequence\";const SECOND_MESSAGE=\"Powering up quickly\";const THIRD_MESSAGE=\"Analyzing touchdown vectors...\";const LAUNCH_DELAY_MS=1e3// mount → bubble appears, starts typing LAUNCH_MESSAGE\n;const SECOND_MESSAGE_DELAY_MS=2e3// bubble appears → starts typing SECOND_MESSAGE\n;const THIRD_MESSAGE_DELAY_MS=5e3// SECOND_MESSAGE appears → starts typing THIRD_MESSAGE\n;const LAUNCH_TYPE_SPEED_MS=55;const LAUNCH_HOLD_MS=1600// after THIRD_MESSAGE finishes typing → fade out\n;// Tooltip messages while inside / hovering the project section.\nconst LOCKING_MESSAGE=\"Locking landing site...\";const LANDING_MESSAGE=\"Landing sequence\";const LOCK_TYPE_SPEED_MS=45;function getStoredPos(){try{const raw=sessionStorage.getItem(POS_STORE_KEY);if(!raw)return null;const parsed=JSON.parse(raw);if(typeof parsed.x===\"number\"&&typeof parsed.y===\"number\"){return parsed;}}catch{}return null;}function storePos(x,y){try{sessionStorage.setItem(POS_STORE_KEY,JSON.stringify({x,y}));}catch{}}/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function UFOCursor(_){const isStaticRenderer=useIsStaticRenderer();const[isTouchDevice]=useState(()=>{if(typeof window===\"undefined\")return true;return\"ontouchstart\"in window||navigator.maxTouchPoints>0;});const wrapperRef=useRef(null);const tooltipRef=useRef(null);const launchBubbleRef=useRef(null);const rafRef=useRef(0);const lastTimeRef=useRef(0);const lastStoreTimeRef=useRef(0);const rawXRef=useRef(0);const rawYRef=useRef(0);const prevRawXRef=useRef(0);const lerpedXRef=useRef(0);const lerpedYRef=useRef(0);const tiltRef=useRef(0);const lockedOnRef=useRef(false);const opacitySetRef=useRef(false);const launchActiveRef=useRef(false);// Tooltip state: whether the cursor is currently inside the project\n// section wrapper, whether the \"Locking landing site...\" message has\n// already finished typing once during this visit (so re-entering the\n// section from a card doesn't re-type it from scratch), and which\n// message the tooltip is currently showing.\nconst inSectionRef=useRef(false);const lockTypedOnceRef=useRef(false);const tooltipModeRef=useRef(\"hidden\");useEffect(()=>{if(typeof window===\"undefined\"||typeof document===\"undefined\")return;if(isStaticRenderer)return;if(isTouchDevice)return;const body=document.body;const previousCursor=body.style.cursor;body.style.cursor=\"none\";// Resume from the last known mouse position (persisted across page\n// navigations via sessionStorage) instead of always starting at the\n// middle of the screen on every new page load.\nconst stored=getStoredPos();const startX=stored?.x??window.innerWidth*.5;const startY=stored?.y??window.innerHeight*.5;rawXRef.current=startX;rawYRef.current=startY;prevRawXRef.current=startX;lerpedXRef.current=startX;lerpedYRef.current=startY;// Cache button rect — only updated on resize/scroll, never inside the RAF loop\nlet cachedBtnRect=null;const updateBtnRect=()=>{const btn=document.getElementById(\"get-in-touch-btn\");if(btn)cachedBtnRect=btn.getBoundingClientRect();};updateBtnRect();window.addEventListener(\"resize\",updateBtnRect,{passive:true});window.addEventListener(\"scroll\",updateBtnRect,{passive:true});const onMouseMove=event=>{rawXRef.current=event.clientX;rawYRef.current=event.clientY;};const footerSection=document.getElementById(\"footer-section\");const onFooterMouseEnter=()=>{lockedOnRef.current=true;updateBtnRect();};const onFooterMouseLeave=()=>{lockedOnRef.current=false;};if(footerSection){footerSection.addEventListener(\"mouseenter\",onFooterMouseEnter);footerSection.addEventListener(\"mouseleave\",onFooterMouseLeave);}const projectSection=document.getElementById(PROJECT_SECTION_ID);const onProjectSectionEnter=()=>{inSectionRef.current=true;lockTypedOnceRef.current=false;};const onProjectSectionLeave=()=>{inSectionRef.current=false;};if(projectSection){projectSection.addEventListener(\"mouseenter\",onProjectSectionEnter);projectSection.addEventListener(\"mouseleave\",onProjectSectionLeave);}window.addEventListener(\"mousemove\",onMouseMove,{passive:true});// Persist the last position right before the page unloads too, so a\n// click-through navigation captures the freshest point, not just the\n// last throttled write from the animate loop.\nconst onBeforeUnload=()=>{storePos(rawXRef.current,rawYRef.current);};window.addEventListener(\"beforeunload\",onBeforeUnload);const prefersReducedMotion=window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;// ─── \"Locking landing site...\" / \"Landing sequence\" tooltip ───\n// Typed out once when the cursor enters the project section; swaps\n// instantly (no re-typing) to \"Landing sequence\" while hovering an\n// actual card, and back again when it moves off one. Hidden the\n// moment the cursor leaves the section entirely.\nconst lockTimers=[];const clearLockTimers=()=>{lockTimers.forEach(clearTimeout);lockTimers.length=0;};const typeLockingMessage=()=>{const tooltip=tooltipRef.current;if(!tooltip)return;clearLockTimers();tooltip.textContent=\"\";let i=0;const step=()=>{i++;tooltip.textContent=LOCKING_MESSAGE.slice(0,i);if(i<LOCKING_MESSAGE.length){lockTimers.push(setTimeout(step,LOCK_TYPE_SPEED_MS));}else{lockTypedOnceRef.current=true;}};step();};// ─── \"Launch sequence\" intro bubble ───\n// Fires once per mount: after LAUNCH_DELAY_MS the bubble appears and\n// types LAUNCH_MESSAGE. SECOND_MESSAGE_DELAY_MS after it appears, it\n// clears and types SECOND_MESSAGE. THIRD_MESSAGE_DELAY_MS after\n// SECOND_MESSAGE appears, it clears and types THIRD_MESSAGE. Once\n// that finishes typing, it holds for LAUNCH_HOLD_MS, then fades out.\nconst launchTimers=[];const hideLaunch=()=>{const bubble=launchBubbleRef.current;if(!bubble)return;bubble.style.opacity=\"0\";bubble.style.transform=\"translate3d(-50%, 4px, 0) scale(0.92)\";launchActiveRef.current=false;};const typeMessage=(message,onDone)=>{const bubble=launchBubbleRef.current;if(!bubble)return;bubble.textContent=\"\";let charIndex=0;const step=()=>{charIndex++;bubble.textContent=message.slice(0,charIndex);if(charIndex<message.length){launchTimers.push(setTimeout(step,LAUNCH_TYPE_SPEED_MS));}else if(onDone){onDone();}};step();};const showLaunch=()=>{const bubble=launchBubbleRef.current;if(!bubble)return;launchActiveRef.current=true;bubble.style.opacity=\"1\";bubble.style.transform=\"translate3d(-50%, 0, 0) scale(1)\";if(prefersReducedMotion){bubble.textContent=LAUNCH_MESSAGE;launchTimers.push(setTimeout(()=>{bubble.textContent=SECOND_MESSAGE;launchTimers.push(setTimeout(()=>{bubble.textContent=THIRD_MESSAGE;launchTimers.push(setTimeout(hideLaunch,LAUNCH_HOLD_MS));},THIRD_MESSAGE_DELAY_MS));},SECOND_MESSAGE_DELAY_MS));return;}typeMessage(LAUNCH_MESSAGE);launchTimers.push(setTimeout(()=>{typeMessage(SECOND_MESSAGE,()=>{launchTimers.push(setTimeout(()=>{typeMessage(THIRD_MESSAGE,()=>{launchTimers.push(setTimeout(hideLaunch,LAUNCH_HOLD_MS));});},THIRD_MESSAGE_DELAY_MS));});},SECOND_MESSAGE_DELAY_MS));};launchTimers.push(setTimeout(showLaunch,LAUNCH_DELAY_MS));// Target smoothing at 60 fps. DECAY = 1 - smoothing.\n// Frame-rate-independent lerp: alpha = 1 - DECAY^(dt / 16.667)\n// — same perceived lag on 60 / 90 / 120 / 144 Hz displays.\nconst DECAY=.78// equivalent to smoothing 0.22 at 60 fps\n;const animate=time=>{const wrapper=wrapperRef.current;if(!wrapper){rafRef.current=window.requestAnimationFrame(animate);return;}if(lockedOnRef.current&&cachedBtnRect){rawXRef.current=cachedBtnRect.left+cachedBtnRect.width*.5;rawYRef.current=cachedBtnRect.top+cachedBtnRect.height*.5;}// Frame-rate-independent lerp\nconst dt=lastTimeRef.current?Math.min(time-lastTimeRef.current,50):16.667;lastTimeRef.current=time;const alpha=1-Math.pow(DECAY,dt/16.667);lerpedXRef.current+=(rawXRef.current-lerpedXRef.current)*alpha;lerpedYRef.current+=(rawYRef.current-lerpedYRef.current)*alpha;const velocityX=rawXRef.current-prevRawXRef.current;prevRawXRef.current=rawXRef.current;const targetTilt=Math.max(-18,Math.min(18,velocityX*.35));tiltRef.current+=(targetTilt-tiltRef.current)*.1;const elapsedSeconds=time/1e3;const bob=Math.sin(elapsedSeconds*Math.PI*2/1.5)*4;const x=lerpedXRef.current-32;const y=lerpedYRef.current-24+bob;wrapper.style.transform=`translate3d(${x}px, ${y}px, 0px) rotate(${tiltRef.current}deg)`;// Tooltip — tracks the raw cursor point directly (not the\n// rotating UFO wrapper) so it always stays upright. Mode is\n// derived fresh each frame: \"card\" wins over \"section\", which\n// wins over \"hidden\". Only touches the DOM when the mode\n// actually changes.\nconst tooltip=tooltipRef.current;if(tooltip){const overCard=document.elementFromPoint(rawXRef.current,rawYRef.current)?.closest(LANDABLE_SELECTOR)!=null;const mode=overCard?\"card\":inSectionRef.current?\"section\":\"hidden\";if(mode!==tooltipModeRef.current){tooltipModeRef.current=mode;if(mode===\"card\"){clearLockTimers();tooltip.textContent=LANDING_MESSAGE;tooltip.style.opacity=\"1\";tooltip.style.transform=\"translate3d(-50%, 0, 0) scale(1)\";}else if(mode===\"section\"){tooltip.style.opacity=\"1\";tooltip.style.transform=\"translate3d(-50%, 0, 0) scale(1)\";if(lockTypedOnceRef.current||prefersReducedMotion){tooltip.textContent=LOCKING_MESSAGE;lockTypedOnceRef.current=true;}else{typeLockingMessage();}}else{clearLockTimers();tooltip.style.opacity=\"0\";tooltip.style.transform=\"translate3d(-50%, 4px, 0) scale(0.92)\";}}if(mode!==\"hidden\"){tooltip.style.left=`${lerpedXRef.current}px`;tooltip.style.top=`${lerpedYRef.current-58+bob}px`;}}// \"Launch sequence\" intro bubble — sits higher than the\n// section/card tooltip so the two never overlap if both are\n// visible.\nconst launchBubble=launchBubbleRef.current;if(launchBubble&&launchActiveRef.current){launchBubble.style.left=`${lerpedXRef.current}px`;launchBubble.style.top=`${lerpedYRef.current-84+bob}px`;}// Opacity only needs to be set once — skip the style write every frame\nif(!opacitySetRef.current){wrapper.style.opacity=\"1\";opacitySetRef.current=true;}// Throttled position persistence for the next page load\nif(time-lastStoreTimeRef.current>POS_STORE_THROTTLE_MS){lastStoreTimeRef.current=time;storePos(rawXRef.current,rawYRef.current);}rafRef.current=window.requestAnimationFrame(animate);};rafRef.current=window.requestAnimationFrame(animate);return()=>{window.removeEventListener(\"mousemove\",onMouseMove);window.removeEventListener(\"resize\",updateBtnRect);window.removeEventListener(\"scroll\",updateBtnRect);window.removeEventListener(\"beforeunload\",onBeforeUnload);if(footerSection){footerSection.removeEventListener(\"mouseenter\",onFooterMouseEnter);footerSection.removeEventListener(\"mouseleave\",onFooterMouseLeave);}if(projectSection){projectSection.removeEventListener(\"mouseenter\",onProjectSectionEnter);projectSection.removeEventListener(\"mouseleave\",onProjectSectionLeave);}if(rafRef.current)window.cancelAnimationFrame(rafRef.current);launchTimers.forEach(clearTimeout);clearLockTimers();storePos(rawXRef.current,rawYRef.current);body.style.cursor=previousCursor||\"auto\";opacitySetRef.current=false;launchActiveRef.current=false;inSectionRef.current=false;lockTypedOnceRef.current=false;tooltipModeRef.current=\"hidden\";};},[isStaticRenderer,isTouchDevice]);if(isStaticRenderer)return null;if(isTouchDevice)return null;return /*#__PURE__*/_jsxs(\"div\",{style:{position:\"fixed\",top:0,left:0,width:\"100vw\",height:\"100vh\",pointerEvents:\"none\",zIndex:9999,overflow:\"hidden\"},\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"style\",{children:`\n                @keyframes ufoPulseLight {\n                    0%, 100% { opacity: 0.5; }\n                    50% { opacity: 1; }\n                }\n                @keyframes ufoBeamFlicker {\n                    0%, 100% { opacity: 0.12; }\n                    50% { opacity: 0.22; }\n                }\n                @keyframes ufoTooltipTwinkle {\n                    0%, 100% { opacity: 0.35; }\n                    50% { opacity: 1; }\n                }\n            `}),/*#__PURE__*/_jsx(\"div\",{ref:launchBubbleRef,style:{position:\"absolute\",top:0,left:0,transform:\"translate3d(-50%, 4px, 0) scale(0.92)\",opacity:0,transition:\"opacity 220ms ease, transform 220ms ease\",willChange:\"transform, opacity\",padding:\"6px 14px\",borderRadius:999,whiteSpace:\"nowrap\",background:\"#EDE3D0\",boxShadow:\"0 4px 14px rgba(0,0,0,0.28), inset 0 1px 0 rgba(255,255,255,0.5)\",fontFamily:\"'Roboto Mono', 'Inter', -apple-system, BlinkMacSystemFont, monospace\",fontSize:12,fontWeight:600,letterSpacing:\"0.04em\",textTransform:\"uppercase\",color:\"#2B2926\"}}),/*#__PURE__*/_jsx(\"div\",{ref:tooltipRef,style:{position:\"absolute\",top:0,left:0,transform:\"translate3d(-50%, 4px, 0) scale(0.92)\",opacity:0,transition:\"opacity 220ms ease, transform 220ms ease\",willChange:\"transform, opacity\",padding:\"6px 14px\",borderRadius:999,whiteSpace:\"nowrap\",background:\"#EDE3D0\",boxShadow:\"0 4px 14px rgba(0,0,0,0.28), inset 0 1px 0 rgba(255,255,255,0.5)\",fontFamily:\"'Inter', -apple-system, BlinkMacSystemFont, sans-serif\",fontSize:12,fontWeight:600,letterSpacing:\"0.04em\",textTransform:\"uppercase\",color:\"#2B2926\"}}),/*#__PURE__*/_jsxs(\"div\",{ref:wrapperRef,style:{position:\"absolute\",top:0,left:0,width:64,height:168,transform:\"translate3d(-1000px, -1000px, 0)\",transformOrigin:\"50% 24px\",willChange:\"transform\",opacity:0},children:[/*#__PURE__*/_jsxs(\"svg\",{width:\"64\",height:\"48\",viewBox:\"0 0 64 48\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",style:{display:\"block\",overflow:\"visible\"},children:[/*#__PURE__*/_jsxs(\"defs\",{children:[/*#__PURE__*/_jsxs(\"linearGradient\",{id:\"ufoBodyGradient\",x1:\"8\",y1:\"24\",x2:\"56\",y2:\"24\",gradientUnits:\"userSpaceOnUse\",children:[/*#__PURE__*/_jsx(\"stop\",{offset:\"0%\",stopColor:\"#9CA3AF\"}),/*#__PURE__*/_jsx(\"stop\",{offset:\"50%\",stopColor:\"#D1D5DB\"}),/*#__PURE__*/_jsx(\"stop\",{offset:\"100%\",stopColor:\"#6B7280\"})]}),/*#__PURE__*/_jsxs(\"radialGradient\",{id:\"ufoDomeGradient\",cx:\"0\",cy:\"0\",r:\"1\",gradientUnits:\"userSpaceOnUse\",gradientTransform:\"translate(32 17) rotate(90) scale(12 18)\",children:[/*#__PURE__*/_jsx(\"stop\",{offset:\"0%\",stopColor:\"rgba(203, 213, 225, 0.9)\"}),/*#__PURE__*/_jsx(\"stop\",{offset:\"100%\",stopColor:\"rgba(148, 163, 184, 0.55)\"})]})]}),/*#__PURE__*/_jsx(\"ellipse\",{cx:\"32\",cy:\"18\",rx:\"15\",ry:\"10\",fill:\"url(#ufoDomeGradient)\"}),/*#__PURE__*/_jsx(\"ellipse\",{cx:\"27\",cy:\"14\",rx:\"6\",ry:\"3\",fill:\"rgba(255,255,255,0.3)\"}),/*#__PURE__*/_jsx(\"ellipse\",{cx:\"32\",cy:\"28\",rx:\"28\",ry:\"10\",fill:\"url(#ufoBodyGradient)\"}),/*#__PURE__*/_jsx(\"ellipse\",{cx:\"32\",cy:\"24.5\",rx:\"24\",ry:\"5.5\",fill:\"rgba(255,255,255,0.18)\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"24\",cy:\"34\",r:\"2.1\",fill:\"#FB923C\",style:{animation:\"ufoPulseLight 1.2s ease-in-out infinite\"}}),/*#__PURE__*/_jsx(\"circle\",{cx:\"40\",cy:\"34\",r:\"2.1\",fill:\"#FB923C\",style:{animation:\"ufoPulseLight 1.2s ease-in-out 0.6s infinite\"}})]}),/*#__PURE__*/_jsxs(\"svg\",{width:\"80\",height:\"120\",viewBox:\"0 0 80 120\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",style:{position:\"absolute\",left:\"50%\",top:42,transform:\"translateX(-50%)\",animation:\"ufoBeamFlicker 2s ease-in-out infinite\"},children:[/*#__PURE__*/_jsx(\"defs\",{children:/*#__PURE__*/_jsxs(\"linearGradient\",{id:\"ufoBeamGradient\",x1:\"0\",y1:\"0\",x2:\"0\",y2:\"1\",children:[/*#__PURE__*/_jsx(\"stop\",{offset:\"0%\",stopColor:\"rgba(74,222,128,0.26)\"}),/*#__PURE__*/_jsx(\"stop\",{offset:\"35%\",stopColor:\"rgba(74,222,128,0.16)\"}),/*#__PURE__*/_jsx(\"stop\",{offset:\"100%\",stopColor:\"rgba(74,222,128,0)\"})]})}),/*#__PURE__*/_jsx(\"polygon\",{points:\"33.6,0 46.4,0 80,120 0,120\",fill:\"url(#ufoBeamGradient)\"})]})]})]});}addPropertyControls(UFOCursor,{});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"UFOCursor\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./UFOCursor.map","// Generated by Framer (fe01371)\nexport default function metadata(params,activeLocale){return{description:\"Made with Framer\",robots:\"max-image-preview:large\",title:\"Harish Portfolio\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}