{"version":3,"file":"MenuScrollLock.dacIXSYT.mjs","names":["useMemo","useMemo","useMemo","getProps","useRef","useCallback","useState","useMemo","settleHashScroll","useMemo","useRef","useState","makeBezier","useMemo","useRef","useState","clamp01","nowMs","lastTabAt","c","useMemo","useRef","useState","c","addPropertyOverrides","cycleOrder","serializationHash","variantClassNames","transition1","transition2","transformTemplate1","Transition","React.useContext","React.useMemo","humanReadableVariantMap","Variants","React.Fragment","getProps","createLayoutDependency","React.forwardRef","useRef","React.useId","RichText","SVG","HamburgerMenu","React.useContext","React.useMemo","React.Fragment","React.forwardRef","useRef","React.useId","useRef"],"sources":["https:/framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js","https:/framerusercontent.com/modules/D4TWeLfcxT6Tysr2BlYg/iZjmqdxVx1EOiM3k1FaW/useOnNavigationTargetChange.js","https:/framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js","https:/framerusercontent.com/modules/D2Lz5CmnNVPZFFiZXalt/QaCzPbriZBfXWZIIycFI/colorFromToken.js","https:/framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js","https:/framerusercontent.com/modules/xDiQsqBGXzmMsv7AlEVy/uhunpMiNsbXxzjlXsg1y/useUniqueClassName.js","https:/framerusercontent.com/modules/ETACN5BJyFTSo0VVDJfu/NHRqowOiXkF9UwOzczF7/variantUtils.js","https:/framerusercontent.com/modules/eMBrwoqQK7h6mEeGQUH8/GuplvPJVjmxpk9zqOTcb/isBrowser.js","https:/framerusercontent.com/modules/v9AWX2URmiYsHf7GbctE/XxKAZ9KlhWqf5x1JMyyF/useOnChange.js","https:/framerusercontent.com/modules/kNDwabfjDEb3vUxkQlZS/fSIr3AOAYbGlfSPgXpYu/useAutoMotionValue.js","https:/framerusercontent.com/modules/cuQH4dmpDnV8YK1mSgQX/KqRXqunFjE6ufhpc7ZRu/useFontControls.js","https:/framerusercontent.com/modules/afBE9Yx1W6bY5q32qPxe/m3q7puE2tbo1S2C0s0CT/useRenderTarget.js","https:/framerusercontent.com/modules/zGkoP8tPDCkoBzMdt5uq/0zFSjxIYliHxrQQnryFX/useControlledState.js","https:/framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/WXz9i6mVki0bBCrKdqB3/propUtils.js","https:/framerusercontent.com/modules/G4IfyjvwmaeSBpdb4TWu/OIjZRBmWDcIE2B6qgG1j/index.js","https:/framerusercontent.com/modules/lRDHiNWNVWmE0lqtoVHP/I6H5ZhUPA8PwvfVPIGXQ/Video.js","https:/framerusercontent.com/modules/Hc0ujMV3T7LkKvIWYg5X/ga3qUQCtJGEMrQHZbYCe/SpecularMenuLink.js","https:/framerusercontent.com/modules/AVQPtvFCuPGxC5EcjX4d/fBDFvOa0KKWceQxX8QvN/ScanRevealTextV2.js","https:/framerusercontent.com/modules/EoyFvFplu22OXlXXSTaK/fH730sLejsYXeByWrbn3/ScanRevealTextV3.js","https:/framerusercontent.com/modules/U7xiADgDkgEX8tFqeBsa/47llNHj4DeycX1HdK17H/iFaBAD1Yk.js","https:/framerusercontent.com/modules/z9OzFpm4RVUrh8pfLN4I/vvC7aTzdn1Svbpg2DUAz/ylkDQqABm.js","https:/framerusercontent.com/modules/rb6M2S0bwrfP5amQDwCB/odoG8XGlJrE2Tj0B0tiD/MenuScrollLock.js"],"sourcesContent":["import { ControlType } from \"framer\";\nexport const fontStack = `\"Inter\", system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"`;\nexport const containerStyles = {\n    position: \"relative\",\n    width: \"100%\",\n    height: \"100%\",\n    display: \"flex\",\n    justifyContent: \"center\",\n    alignItems: \"center\"\n};\nexport const emptyStateStyle = {\n    ...containerStyles,\n    borderRadius: 6,\n    background: \"rgba(136, 85, 255, 0.3)\",\n    color: \"#85F\",\n    border: \"1px dashed #85F\",\n    flexDirection: \"column\"\n};\nexport const defaultEvents = {\n    onClick: {\n        type: ControlType.EventHandler\n    },\n    onMouseEnter: {\n        type: ControlType.EventHandler\n    },\n    onMouseLeave: {\n        type: ControlType.EventHandler\n    }\n};\nexport const fontSizeOptions = {\n    type: ControlType.Number,\n    title: \"Font Size\",\n    min: 2,\n    max: 200,\n    step: 1,\n    displayStepper: true\n};\nexport const fontControls = {\n    font: {\n        type: ControlType.Boolean,\n        title: \"Font\",\n        defaultValue: false,\n        disabledTitle: \"Default\",\n        enabledTitle: \"Custom\"\n    },\n    fontFamily: {\n        type: ControlType.String,\n        title: \"Family\",\n        placeholder: \"Inter\",\n        hidden: ({ font  })=>!font\n    },\n    fontWeight: {\n        type: ControlType.Enum,\n        title: \"Weight\",\n        options: [\n            100,\n            200,\n            300,\n            400,\n            500,\n            600,\n            700,\n            800,\n            900\n        ],\n        optionTitles: [\n            \"Thin\",\n            \"Extra-light\",\n            \"Light\",\n            \"Regular\",\n            \"Medium\",\n            \"Semi-bold\",\n            \"Bold\",\n            \"Extra-bold\",\n            \"Black\", \n        ],\n        hidden: ({ font  })=>!font\n    }\n};\n// @TODO check if we're missing anything here — there doesn't seem to be a reliable browser API for this\nexport const localeOptions = {\n    af: \"Afrikaans\",\n    sq: \"Albanian\",\n    an: \"Aragonese\",\n    ar: \"Arabic (Standard)\",\n    \"ar-dz\": \"Arabic (Algeria)\",\n    \"ar-bh\": \"Arabic (Bahrain)\",\n    \"ar-eg\": \"Arabic (Egypt)\",\n    \"ar-iq\": \"Arabic (Iraq)\",\n    \"ar-jo\": \"Arabic (Jordan)\",\n    \"ar-kw\": \"Arabic (Kuwait)\",\n    \"ar-lb\": \"Arabic (Lebanon)\",\n    \"ar-ly\": \"Arabic (Libya)\",\n    \"ar-ma\": \"Arabic (Morocco)\",\n    \"ar-om\": \"Arabic (Oman)\",\n    \"ar-qa\": \"Arabic (Qatar)\",\n    \"ar-sa\": \"Arabic (Saudi Arabia)\",\n    \"ar-sy\": \"Arabic (Syria)\",\n    \"ar-tn\": \"Arabic (Tunisia)\",\n    \"ar-ae\": \"Arabic (U.A.E.)\",\n    \"ar-ye\": \"Arabic (Yemen)\",\n    hy: \"Armenian\",\n    as: \"Assamese\",\n    ast: \"Asturian\",\n    az: \"Azerbaijani\",\n    eu: \"Basque\",\n    bg: \"Bulgarian\",\n    be: \"Belarusian\",\n    bn: \"Bengali\",\n    bs: \"Bosnian\",\n    br: \"Breton\",\n    my: \"Burmese\",\n    ca: \"Catalan\",\n    ch: \"Chamorro\",\n    ce: \"Chechen\",\n    zh: \"Chinese\",\n    \"zh-hk\": \"Chinese (Hong Kong)\",\n    \"zh-cn\": \"Chinese (PRC)\",\n    \"zh-sg\": \"Chinese (Singapore)\",\n    \"zh-tw\": \"Chinese (Taiwan)\",\n    cv: \"Chuvash\",\n    co: \"Corsican\",\n    cr: \"Cree\",\n    hr: \"Croatian\",\n    cs: \"Czech\",\n    da: \"Danish\",\n    nl: \"Dutch (Standard)\",\n    \"nl-be\": \"Dutch (Belgian)\",\n    en: \"English\",\n    \"en-au\": \"English (Australia)\",\n    \"en-bz\": \"English (Belize)\",\n    \"en-ca\": \"English (Canada)\",\n    \"en-ie\": \"English (Ireland)\",\n    \"en-jm\": \"English (Jamaica)\",\n    \"en-nz\": \"English (New Zealand)\",\n    \"en-ph\": \"English (Philippines)\",\n    \"en-za\": \"English (South Africa)\",\n    \"en-tt\": \"English (Trinidad & Tobago)\",\n    \"en-gb\": \"English (United Kingdom)\",\n    \"en-us\": \"English (United States)\",\n    \"en-zw\": \"English (Zimbabwe)\",\n    eo: \"Esperanto\",\n    et: \"Estonian\",\n    fo: \"Faeroese\",\n    fa: \"Farsi\",\n    fj: \"Fijian\",\n    fi: \"Finnish\",\n    fr: \"French (Standard)\",\n    \"fr-be\": \"French (Belgium)\",\n    \"fr-ca\": \"French (Canada)\",\n    \"fr-fr\": \"French (France)\",\n    \"fr-lu\": \"French (Luxembourg)\",\n    \"fr-mc\": \"French (Monaco)\",\n    \"fr-ch\": \"French (Switzerland)\",\n    fy: \"Frisian\",\n    fur: \"Friulian\",\n    gd: \"Gaelic (Scots)\",\n    \"gd-ie\": \"Gaelic (Irish)\",\n    gl: \"Galacian\",\n    ka: \"Georgian\",\n    de: \"German (Standard)\",\n    \"de-at\": \"German (Austria)\",\n    \"de-de\": \"German (Germany)\",\n    \"de-li\": \"German (Liechtenstein)\",\n    \"de-lu\": \"German (Luxembourg)\",\n    \"de-ch\": \"German (Switzerland)\",\n    el: \"Greek\",\n    gu: \"Gujurati\",\n    ht: \"Haitian\",\n    he: \"Hebrew\",\n    hi: \"Hindi\",\n    hu: \"Hungarian\",\n    is: \"Icelandic\",\n    id: \"Indonesian\",\n    iu: \"Inuktitut\",\n    ga: \"Irish\",\n    it: \"Italian (Standard)\",\n    \"it-ch\": \"Italian (Switzerland)\",\n    ja: \"Japanese\",\n    kn: \"Kannada\",\n    ks: \"Kashmiri\",\n    kk: \"Kazakh\",\n    km: \"Khmer\",\n    ky: \"Kirghiz\",\n    tlh: \"Klingon\",\n    ko: \"Korean\",\n    \"ko-kp\": \"Korean (North Korea)\",\n    \"ko-kr\": \"Korean (South Korea)\",\n    la: \"Latin\",\n    lv: \"Latvian\",\n    lt: \"Lithuanian\",\n    lb: \"Luxembourgish\",\n    mk: \"FYRO Macedonian\",\n    ms: \"Malay\",\n    ml: \"Malayalam\",\n    mt: \"Maltese\",\n    mi: \"Maori\",\n    mr: \"Marathi\",\n    mo: \"Moldavian\",\n    nv: \"Navajo\",\n    ng: \"Ndonga\",\n    ne: \"Nepali\",\n    no: \"Norwegian\",\n    nb: \"Norwegian (Bokmal)\",\n    nn: \"Norwegian (Nynorsk)\",\n    oc: \"Occitan\",\n    or: \"Oriya\",\n    om: \"Oromo\",\n    \"fa-ir\": \"Persian/Iran\",\n    pl: \"Polish\",\n    pt: \"Portuguese\",\n    \"pt-br\": \"Portuguese (Brazil)\",\n    pa: \"Punjabi\",\n    \"pa-in\": \"Punjabi (India)\",\n    \"pa-pk\": \"Punjabi (Pakistan)\",\n    qu: \"Quechua\",\n    rm: \"Rhaeto-Romanic\",\n    ro: \"Romanian\",\n    \"ro-mo\": \"Romanian (Moldavia)\",\n    ru: \"Russian\",\n    \"ru-mo\": \"Russian (Moldavia)\",\n    sz: \"Sami (Lappish)\",\n    sg: \"Sango\",\n    sa: \"Sanskrit\",\n    sc: \"Sardinian\",\n    sd: \"Sindhi\",\n    si: \"Singhalese\",\n    sr: \"Serbian\",\n    sk: \"Slovak\",\n    sl: \"Slovenian\",\n    so: \"Somani\",\n    sb: \"Sorbian\",\n    es: \"Spanish\",\n    \"es-ar\": \"Spanish (Argentina)\",\n    \"es-bo\": \"Spanish (Bolivia)\",\n    \"es-cl\": \"Spanish (Chile)\",\n    \"es-co\": \"Spanish (Colombia)\",\n    \"es-cr\": \"Spanish (Costa Rica)\",\n    \"es-do\": \"Spanish (Dominican Republic)\",\n    \"es-ec\": \"Spanish (Ecuador)\",\n    \"es-sv\": \"Spanish (El Salvador)\",\n    \"es-gt\": \"Spanish (Guatemala)\",\n    \"es-hn\": \"Spanish (Honduras)\",\n    \"es-mx\": \"Spanish (Mexico)\",\n    \"es-ni\": \"Spanish (Nicaragua)\",\n    \"es-pa\": \"Spanish (Panama)\",\n    \"es-py\": \"Spanish (Paraguay)\",\n    \"es-pe\": \"Spanish (Peru)\",\n    \"es-pr\": \"Spanish (Puerto Rico)\",\n    \"es-es\": \"Spanish (Spain)\",\n    \"es-uy\": \"Spanish (Uruguay)\",\n    \"es-ve\": \"Spanish (Venezuela)\",\n    sx: \"Sutu\",\n    sw: \"Swahili\",\n    sv: \"Swedish\",\n    \"sv-fi\": \"Swedish (Finland)\",\n    \"sv-sv\": \"Swedish (Sweden)\",\n    ta: \"Tamil\",\n    tt: \"Tatar\",\n    te: \"Teluga\",\n    th: \"Thai\",\n    tig: \"Tigre\",\n    ts: \"Tsonga\",\n    tn: \"Tswana\",\n    tr: \"Turkish\",\n    tk: \"Turkmen\",\n    uk: \"Ukrainian\",\n    hsb: \"Upper Sorbian\",\n    ur: \"Urdu\",\n    ve: \"Venda\",\n    vi: \"Vietnamese\",\n    vo: \"Volapuk\",\n    wa: \"Walloon\",\n    cy: \"Welsh\",\n    xh: \"Xhosa\",\n    ji: \"Yiddish\",\n    zu: \"Zulu\"\n};\n\nexport const __FramerMetadata__ = {\"exports\":{\"fontSizeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontStack\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"emptyStateStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./constants.map","import { useIsInCurrentNavigationTarget } from \"framer\";\nimport { useEffect } from \"react\";\nexport function useOnEnter(onEnter, enabled) {\n    return useOnSpecificTargetChange(true, onEnter, enabled);\n}\nexport function useOnExit(onExit, enabled) {\n    return useOnSpecificTargetChange(false, onExit, enabled);\n}\nfunction useOnSpecificTargetChange(goal, callback, enabled = true) {\n    const isInTarget = useIsInCurrentNavigationTarget();\n    useEffect(()=>{\n        if (enabled && isInTarget === goal) callback();\n    }, [\n        isInTarget\n    ]);\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useOnEnter\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnExit\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useOnNavigationTargetChange.map","import { useRef } from \"react\";\n/**\n * Creates a constant value over the lifecycle of a component.\n *\n * Even if `useMemo` is provided an empty array as its final argument, it doesn't offer\n * a guarantee that it won't re-run for performance reasons later on. By using `useConstant`\n * you can ensure that initialisers don't execute twice or more.\n */ export function useConstant(init) {\n    const ref = useRef(null);\n    if (ref.current === null) {\n        ref.current = init();\n    }\n    return ref.current;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useConstant\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useConstant.map","import { Color } from \"framer\";\nexport function colorFromToken(color) {\n    if (color.startsWith(\"var(--token-\")) return \"rgb\" + color.split(\") /*\")[0].split(\", rgb\")[1];\n    return color;\n}\nexport function colorTokentoValue(color) {\n    return Color(colorFromToken(color)).toValue();\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"colorFromToken\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorTokentoValue\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./colorFromToken.map","import { MotionValue } from \"framer\";\nexport const isMotionValue = (v)=>v instanceof MotionValue\n;\n\nexport const __FramerMetadata__ = {\"exports\":{\"isMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./isMotionValue.map","import * as React from \"react\";\nconst letters = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\";\nconst l = ()=>letters[Math.floor(Math.random() * letters.length)]\n;\nexport const randomID = ()=>l() + l() + l() + l() + l() + l() + l() + l() + l()\n;\nfunction createUniqueClass(suffix) {\n    return `framer-${suffix}-${randomID()}`;\n}\nexport function useUniqueClassName(suffix, deps) {\n    const [className, setClassName] = React.useState(createUniqueClass(suffix));\n    React.useEffect(()=>{\n        setClassName(createUniqueClass(suffix));\n    }, [\n        suffix,\n        ...deps\n    ]);\n    return className;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useUniqueClassName\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"randomID\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useUniqueClassName.map","import { ControlType } from \"framer\";\n// I realize this only applies to select right now\n// but we can work on it in here\nexport function getVariantControls(Component, variant, additionalControls = {\n}) {\n    return {\n        [`${variant}TextColor`]: {\n            type: ControlType.Color,\n            title: \"Text Color\",\n            defaultValue: Component.defaultProps[`${variant}TextColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}IconColor`]: {\n            type: ControlType.Color,\n            title: \"Icon Color\",\n            defaultValue: Component.defaultProps[`${variant}IconColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}BackgroundColor`]: {\n            type: ControlType.Color,\n            title: \"Bg Color\",\n            defaultValue: Component.defaultProps[`${variant}BackgroundColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}BorderColor`]: {\n            type: ControlType.Color,\n            title: \"Border Color\",\n            defaultValue: Component.defaultProps[`${variant}BorderColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}BorderWidth`]: {\n            type: ControlType.Number,\n            title: \" \",\n            min: 0,\n            max: 5,\n            displayStepper: true,\n            defaultValue: Component.defaultProps[`${variant}BorderWidth`],\n            hidden: (props)=>props.variant !== variant\n        },\n        ...additionalControls\n    };\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"getVariantControls\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./variantUtils.map","import { useMemo } from \"react\";\nexport const isBrowserSafari = ()=>{\n    if (typeof navigator !== `undefined`) {\n        const userAgent = navigator.userAgent.toLowerCase();\n        const isSafari = (userAgent.indexOf(\"safari\") > -1 || userAgent.indexOf(\"framermobile\") > -1 || userAgent.indexOf(\"framerx\") > -1) && userAgent.indexOf(\"chrome\") < 0;\n        return isSafari;\n    } else return false;\n};\nexport const useIsBrowserSafari = ()=>useMemo(()=>isBrowserSafari()\n    , [])\n;\n\nexport const __FramerMetadata__ = {\"exports\":{\"useIsBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./isBrowser.map","import { useEffect } from \"react\";\n//@ts-ignore\nimport { isMotionValue } from \"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";\nexport function useOnChange(value, callback) {\n    useEffect(()=>// @ts-ignore this should be detected as a MV :shrug:\n        isMotionValue(value) ? value.onChange(callback) : undefined\n    );\n}\nexport function useMultiOnChange(values, handler) {\n    useEffect(()=>{\n        const subscriptions = values.map((value)=>value.onChange(handler)\n        );\n        return ()=>subscriptions.forEach((unsubscribe)=>unsubscribe()\n            )\n        ;\n    });\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"Subscriber\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnChange\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useMultiOnChange\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useOnChange.map","import { useCallback, useEffect, useRef } from \"react\";\nimport { motionValue, animate, RenderTarget } from \"framer\";\n// @ts-ignore\nimport { isMotionValue } from \"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";\n// @ts-ignore\nimport { useConstant } from \"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js\";\nexport function useAutoMotionValue(inputValue, options) {\n    var ref;\n    // Put options on a local ref\n    // Might wanna just memo instead but it works for now\n    const optionsRef = useRef(options);\n    const animation = useRef();\n    const didInitialMount = useRef(false);\n    const isOnCanvas = RenderTarget.current() === RenderTarget.canvas;\n    // in-progress - trying to figure out effect hooks\n    const onChangeDeps = (options === null || options === void 0 ? void 0 : options.onChangeDeps) ? options.onChangeDeps : [];\n    // Memoize the onChange handler\n    const onChange = useCallback(options === null || options === void 0 ? void 0 : options.onChange, [\n        ...onChangeDeps, \n    ]);\n    // Optionally scale the value from props\n    const transformer = useCallback((value)=>((ref = optionsRef.current) === null || ref === void 0 ? void 0 : ref.transform) ? optionsRef.current.transform(value) : value\n    , []);\n    // Create new MotionValue from inputValue\n    const value = useConstant(()=>isMotionValue(inputValue) ? inputValue : motionValue(transformer(inputValue))\n    );\n    // Setting value from prop change\n    useEffect(()=>{\n        if (!isMotionValue(inputValue) && didInitialMount.current) {\n            var ref1, ref2;\n            const newValue = transformer(inputValue);\n            (ref1 = animation.current) === null || ref1 === void 0 ? void 0 : ref1.stop();\n            // Call change callback\n            if (onChange) onChange(newValue, value);\n            // Trigger animation to new value\n            if (((ref2 = optionsRef.current) === null || ref2 === void 0 ? void 0 : ref2.animate) && !isOnCanvas) {\n                var ref3;\n                // @ts-ignore\n                animation.current = animate(value, newValue, (ref3 = optionsRef.current) === null || ref3 === void 0 ? void 0 : ref3.transition);\n            } else {\n                value.set(newValue);\n            }\n        }\n        didInitialMount.current = true;\n    }, [\n        inputValue,\n        ...onChangeDeps\n    ]);\n    return value;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useAutoMotionValue\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}","// @ts-ignore\nimport{fontStore}from\"framer\";import{useEffect}from\"react\";import{fontStack}from\"https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js\";const fontWeights={100:\"Thin\",200:\"Extra-light\",300:\"Light\",400:\"Regular\",500:\"Medium\",600:\"Semi-bold\",700:\"Bold\",800:\"Extra-bold\",900:\"Black\"};export function useFontControls(props){const{fontFamily=\"Inter\",fontSize=16,fontWeight=400,font=false}=props;const fontWeightName=fontWeights[fontWeight];const customFontStack=`\"${fontFamily} ${fontWeightName}\", \"${fontFamily}\", ${fontStack}`;const fontFamilyStyle=fontFamily?{fontSize,fontWeight,fontFamily:customFontStack}:{fontSize,fontWeight};const fetchCustomFonts=async()=>{await fontStore.loadWebFontsFromSelectors([`CUSTOM;${fontFamily}`,`CUSTOM;${fontFamily} ${fontWeightName}`,`GF;${fontFamily}-${fontWeightName.toLowerCase()}`,]).catch(e=>console.error(e));};useEffect(()=>{if(font)fetchCustomFonts();},[font,fontFamily,fontWeight]);return fontFamilyStyle;}\nexport const __FramerMetadata__ = {\"exports\":{\"useFontControls\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useFontControls.map","import { useMemo } from \"react\";\nimport { RenderTarget } from \"framer\";\nexport function useRenderTarget() {\n    const currentRenderTarget = useMemo(()=>RenderTarget.current()\n    , []);\n    return currentRenderTarget;\n}\nexport function useIsInPreview() {\n    const inPreview = useMemo(()=>RenderTarget.current() === RenderTarget.preview\n    , []);\n    return inPreview;\n}\nexport function useIsOnCanvas() {\n    const onCanvas = useMemo(()=>RenderTarget.current() === RenderTarget.canvas\n    , []);\n    return onCanvas;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useIsInPreview\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRenderTarget\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsOnCanvas\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useRenderTarget.map","import * as React from \"react\";\nexport function useControlledState(value) {\n    const [controlledValue, setValue] = React.useState(value);\n    React.useEffect(()=>{\n        setValue(value);\n    }, [\n        value\n    ]);\n    return [\n        controlledValue,\n        setValue\n    ];\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useControlledState\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useControlledState.map","import { useMemo } from \"react\";\nimport { ControlType } from \"framer\";\nexport function useRadius(props) {\n    const { borderRadius , isMixedBorderRadius , topLeftRadius , topRightRadius , bottomRightRadius , bottomLeftRadius ,  } = props;\n    const radiusValue = useMemo(()=>isMixedBorderRadius ? `${topLeftRadius}px ${topRightRadius}px ${bottomRightRadius}px ${bottomLeftRadius}px` : `${borderRadius}px`\n    , [\n        borderRadius,\n        isMixedBorderRadius,\n        topLeftRadius,\n        topRightRadius,\n        bottomRightRadius,\n        bottomLeftRadius, \n    ]);\n    return radiusValue;\n}\nexport const borderRadiusControl = {\n    borderRadius: {\n        title: \"Radius\",\n        type: ControlType.FusedNumber,\n        toggleKey: \"isMixedBorderRadius\",\n        toggleTitles: [\n            \"Radius\",\n            \"Radius per corner\"\n        ],\n        valueKeys: [\n            \"topLeftRadius\",\n            \"topRightRadius\",\n            \"bottomRightRadius\",\n            \"bottomLeftRadius\", \n        ],\n        valueLabels: [\n            \"TL\",\n            \"TR\",\n            \"BR\",\n            \"BL\"\n        ],\n        min: 0\n    }\n};\nexport function usePadding(props) {\n    const { padding , paddingPerSide , paddingTop , paddingRight , paddingBottom , paddingLeft ,  } = props;\n    const paddingValue = useMemo(()=>paddingPerSide ? `${paddingTop}px ${paddingRight}px ${paddingBottom}px ${paddingLeft}px` : padding\n    , [\n        padding,\n        paddingPerSide,\n        paddingTop,\n        paddingRight,\n        paddingBottom,\n        paddingLeft, \n    ]);\n    return paddingValue;\n}\nexport const paddingControl = {\n    padding: {\n        type: ControlType.FusedNumber,\n        toggleKey: \"paddingPerSide\",\n        toggleTitles: [\n            \"Padding\",\n            \"Padding per side\"\n        ],\n        valueKeys: [\n            \"paddingTop\",\n            \"paddingRight\",\n            \"paddingBottom\",\n            \"paddingLeft\", \n        ],\n        valueLabels: [\n            \"T\",\n            \"R\",\n            \"B\",\n            \"L\"\n        ],\n        min: 0,\n        title: \"Padding\"\n    }\n};\n\nexport const __FramerMetadata__ = {\"exports\":{\"borderRadiusControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRadius\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RadiusProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PaddingProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"usePadding\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"paddingControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./propUtils.map","import{defaultEvents,localeOptions,fontControls,fontSizeOptions,emptyStateStyle,containerStyles,fontStack}from\"https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js\";import{useOnEnter,useOnExit}from\"https://framerusercontent.com/modules/D4TWeLfcxT6Tysr2BlYg/iZjmqdxVx1EOiM3k1FaW/useOnNavigationTargetChange.js\";import{useConstant}from\"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js\";import{colorTokentoValue,colorFromToken}from\"https://framerusercontent.com/modules/D2Lz5CmnNVPZFFiZXalt/QaCzPbriZBfXWZIIycFI/colorFromToken.js\";import{isMotionValue}from\"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";import{useUniqueClassName,randomID}from\"https://framerusercontent.com/modules/xDiQsqBGXzmMsv7AlEVy/uhunpMiNsbXxzjlXsg1y/useUniqueClassName.js\";import{getVariantControls}from\"https://framerusercontent.com/modules/ETACN5BJyFTSo0VVDJfu/NHRqowOiXkF9UwOzczF7/variantUtils.js\";import{useIsBrowserSafari}from\"https://framerusercontent.com/modules/eMBrwoqQK7h6mEeGQUH8/GuplvPJVjmxpk9zqOTcb/isBrowser.js\";import{useMultiOnChange,useOnChange}from\"https://framerusercontent.com/modules/v9AWX2URmiYsHf7GbctE/XxKAZ9KlhWqf5x1JMyyF/useOnChange.js\";import{mstoMinAndSec,secondsToMinutes}from\"https://framerusercontent.com/modules/4zHZnO5JojN1PrIbu2jm/revv9QCWpkh8lPzi2jje/time.js\";import{useAutoMotionValue}from\"https://framerusercontent.com/modules/kNDwabfjDEb3vUxkQlZS/fSIr3AOAYbGlfSPgXpYu/useAutoMotionValue.js\";import{useFontControls}from\"https://framerusercontent.com/modules/cuQH4dmpDnV8YK1mSgQX/KqRXqunFjE6ufhpc7ZRu/useFontControls.js\";import{useRenderTarget,useIsInPreview,useIsOnCanvas}from\"https://framerusercontent.com/modules/afBE9Yx1W6bY5q32qPxe/m3q7puE2tbo1S2C0s0CT/useRenderTarget.js\";import{useControlledState}from\"https://framerusercontent.com/modules/zGkoP8tPDCkoBzMdt5uq/0zFSjxIYliHxrQQnryFX/useControlledState.js\";import{usePadding,useRadius,paddingControl,borderRadiusControl}from\"https://framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/WXz9i6mVki0bBCrKdqB3/propUtils.js\";import{detectAutoSizingAxis}from\"https://framerusercontent.com/modules/8CkHAZatUz1UR8jNTcfD/HwbnIAZlUmQ2oTpcLkaH/detectAutoSizingAxis.js\";export{useOnEnter,useOnExit,defaultEvents,isMotionValue,colorFromToken,colorTokentoValue,localeOptions,fontControls,fontSizeOptions,emptyStateStyle,containerStyles,fontStack,useUniqueClassName,getVariantControls,useIsBrowserSafari,randomID,useConstant,useMultiOnChange,useOnChange,usePadding,useRadius,paddingControl,borderRadiusControl,mstoMinAndSec,useFontControls,secondsToMinutes,useAutoMotionValue,useRenderTarget,useIsInPreview,useControlledState,detectAutoSizingAxis,useIsOnCanvas,};\nexport const __FramerMetadata__ = {\"exports\":{\"useConstant\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useUniqueClassName\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useMultiOnChange\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnChange\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsOnCanvas\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnExit\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontSizeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorTokentoValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRadius\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getVariantControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorFromToken\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"usePadding\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontStack\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useControlledState\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useFontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useAutoMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"emptyStateStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsInPreview\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"detectAutoSizingAxis\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"borderRadiusControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"mstoMinAndSec\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"randomID\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnEnter\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"secondsToMinutes\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRenderTarget\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"paddingControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}","// ⚠️⚠️⚠️⚠️⚠️\n// Edit these files in https://github.com/framer/FramerCodeComponents\n// ⚠️⚠️⚠️⚠️⚠️\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsInCurrentNavigationTarget,RenderTarget}from\"framer\";import{isMotionValue,useInView}from\"framer-motion\";import{borderRadiusControl,defaultEvents,useIsBrowserSafari,useIsOnCanvas,useOnEnter,useOnExit,useRadius,useRenderTarget}from\"https://framerusercontent.com/modules/G4IfyjvwmaeSBpdb4TWu/OIjZRBmWDcIE2B6qgG1j/index.js\";// https://framer.com/m/framer/default-utils.js@^0.45.0\nimport{memo,useCallback,useEffect,useMemo,useRef,useState}from\"react\";var ObjectFitType;(function(ObjectFitType){ObjectFitType[\"Fill\"]=\"fill\";ObjectFitType[\"Contain\"]=\"contain\";ObjectFitType[\"Cover\"]=\"cover\";ObjectFitType[\"None\"]=\"none\";ObjectFitType[\"ScaleDown\"]=\"scale-down\";})(ObjectFitType||(ObjectFitType={}));var SrcType;(function(SrcType){SrcType[\"Video\"]=\"Upload\";SrcType[\"Url\"]=\"URL\";})(SrcType||(SrcType={}));const defaultVideo=\"https://framerusercontent.com/assets/MLWPbW1dUQawJLhhun3dBwpgJak.mp4\";// Reduce renders\nfunction getProps(props){const{width,height,topLeft,topRight,bottomRight,bottomLeft,id,children,...rest}=props;return rest;}/**\n * VIDEO\n *\n * @framerIntrinsicWidth 200\n * @framerIntrinsicHeight 112\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n *\n * @framerComponentPresetProps borderRadius, backgroundColor\n */export function Video(props){const newProps=getProps(props);return /*#__PURE__*/_jsx(VideoMemo,{...newProps});}function usePlaybackControls(videoRef){const isInCurrentNavigationTarget=useIsInCurrentNavigationTarget();const requestingPlay=useRef(false);const isPlayingRef=useRef(false);const setProgress=useCallback(rawProgress=>{if(!videoRef.current)return;const newProgress=(rawProgress===1?.999:rawProgress)*videoRef.current.duration;const isAlreadySet=Math.abs(videoRef.current.currentTime-newProgress)<.1;if(videoRef.current.duration>0&&!isAlreadySet){videoRef.current.currentTime=newProgress;}},[]);const play=useCallback(()=>{const video=videoRef.current;if(!video)return;video.preload=\"auto\"// makes sure browsers don't throttle: https://html.spec.whatwg.org/multipage/media.html#:~:text=When%20the%20media%20resource%20is%20playing%2C%20hints%20to%20the%20user%20agent%20that%20bandwidth%20is%20to%20be%20considered%20scarce%2C%20e.g.%20suggesting%20throttling%20the%20download%20so%20that%20the%20media%20data%20is%20obtained%20at%20the%20slowest%20possible%20rate%20that%20still%20maintains%20consistent%20playback.\n;const isPlaying=video.currentTime>0&&video.onplaying&&!video.paused&&!video.ended&&video.readyState>=video.HAVE_CURRENT_DATA;if(!isPlaying&&video&&!requestingPlay.current&&isInCurrentNavigationTarget){requestingPlay.current=true;isPlayingRef.current=true;video.play().catch(e=>{})// It's likely fine, swallow error\n.finally(()=>requestingPlay.current=false);}},[]);const pause=useCallback(()=>{if(!videoRef.current||requestingPlay.current)return;videoRef.current.pause();isPlayingRef.current=false;},[]);return{play,pause,setProgress,isPlaying:isPlayingRef};}function useAutoplayBehavior({playingProp,muted,loop,playsinline,controls}){const[initialPlayingProp]=useState(playingProp);const[hasPlayingPropChanged,setHasPlayingPropChanged]=useState(false);if(playingProp!==initialPlayingProp&&!hasPlayingPropChanged){setHasPlayingPropChanged(true);}const behavesAsGif=// passing `playing === true` on mount indicates that the video should\n// autoplay, like a GIF\ninitialPlayingProp&&muted&&loop&&playsinline&&!controls&&// Some users of the <Video> component use it by wrapping it with\n// another smart component and adding their own controls on top. (The\n// controls use transitions to control the video: e.g., when clicking\n// the play button, the smart component will transition to a state with\n// <Video playing={true} />.) In this case, we don't want the video to\n// behave as a gif, as it will be weird if the video suddenly started\n// acting as such (and auto-pausing when leaving the viewport) as soon\n// as the site visitor mutes it and clicks “Play”.\n!hasPlayingPropChanged;let autoplay;if(behavesAsGif)autoplay=\"on-viewport\";else if(initialPlayingProp)autoplay=\"on-mount\";else autoplay=\"no-autoplay\";return autoplay;}const VideoMemo=/*#__PURE__*/memo(function VideoInner(props){const{// default props\nsrcType=\"URL\",srcUrl,srcFile=\"\",posterEnabled=false,controls=false,playing=true,loop=true,muted=true,playsinline=true,restartOnEnter=false,objectFit=\"cover\",backgroundColor=\"rgba(0,0,0,0)\",radius=0,volume=25,startTime:startTimeProp=0,poster,playing:playingProp,progress,onSeeked,onPause,onPlay,onEnd,onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp}=props;const videoRef=useRef();const isSafari=useIsBrowserSafari();const wasPausedOnLeave=useRef(null);const wasEndedOnLeave=useRef(null);const isOnCanvas=useIsOnCanvas();const renderTarget=useRenderTarget();const isStaticRenderer=isOnCanvas||renderTarget===RenderTarget.export;const borderRadius=useRadius(props);// Hard-coding `autoplayBehavior` and `isInViewport` when on canvas as a\n// tiny perf optimization. isStaticRenderer won’t change through the lifecycle of\n// the component, so using these hooks conditionally should be safe\nconst autoplayBehavior=isStaticRenderer?\"no-autoplay\":useAutoplayBehavior({playingProp,muted,loop,playsinline,controls});const isInViewport=isStaticRenderer?true:useInView(videoRef);const isCloseToViewport=isStaticRenderer?false:useInView(videoRef,{margin:\"10%\",once:true});// Video elements behave oddly at 100% duration\nconst startTime=startTimeProp===100?99.9:startTimeProp;const{play,pause,setProgress,isPlaying}=usePlaybackControls(videoRef);// Pause/play via props\nuseEffect(()=>{if(isStaticRenderer)return;if(autoplayBehavior===\"on-viewport\")return;if(playingProp)play();else pause();},[autoplayBehavior,playingProp]);// Pause/play via viewport\nuseEffect(()=>{if(isStaticRenderer)return;// this also explicitly retries playing for videos that play on-mount, which could fail if they're not muted for example\nif(isInViewport&&playingProp&&autoplayBehavior!==\"no-autoplay\")play();if(autoplayBehavior!==\"on-viewport\")return;pause();},[autoplayBehavior,isInViewport,playingProp]);useEffect(()=>{if(!isOnCanvas||poster||posterEnabled||startTime||!videoRef.current)return;// forces a poster to show up when the video is in an iframe; this is needed when `poster` changes\nvideoRef.current.currentTime=.01;},[posterEnabled,poster,startTime]);/**\n     * The Video component has some effects that sync the video element with props\n     * like `startTime`, `progress`, etc. React calls these effects whenever these\n     * props change. However, it also calls them on the first mount, and this is\n     * troublesome – if we’re doing SSR, and the user changed the video state before\n     * the video was hydrated, the initial `useEffect` call will reset the video\n     * state. To avoid this, we use this flag.\n     */const isMountedAndReadyForProgressChanges=useRef(false);// Allow scrubbling via progress prop\n// 1) Handle cases when the progress prop itself changes\nuseEffect(()=>{if(!isMountedAndReadyForProgressChanges.current){isMountedAndReadyForProgressChanges.current=true;return;}const rawProgressValue=isMotionValue(progress)?progress.get():(progress??0)*.01;setProgress(// When the progress value exists (e.g. <Video startTime={10}\n// progress={50} />), we respect the `progress` value over\n// `startTime`, even if `startTime` changes. That’s because\n// `startTime` == start == changing it shouldn’t affect the current\n// progress\n(rawProgressValue??0)||// Then why fall back to `startTime` when `progress` doesn’t exist,\n// you might ask? Now, that’s for\n// - canvas UX: we want the video progress to change when the user\n//   is scrobbling the “Start Time” in component settings.\n// - backwards compatibility: maybe some users *are* scrobbling\n//   using `startTime` instead of `progress`? We don’t know, and it\n//   always supported it, so let’s not break it\n(startTime??0)/100);},[startTime,srcFile,srcUrl,progress]);// 2) Handle cases when the motion value inside the progress prop changes\nuseEffect(()=>{if(!isMotionValue(progress))return;return progress.on(\"change\",value=>setProgress(value));},[progress]);// (Prototyping) Checking if we need to play on navigation enter\nuseOnEnter(()=>{if(wasPausedOnLeave.current===null)return;if(videoRef.current){// if (restartOnEnter) setProgress(0)\nif(!wasEndedOnLeave&&loop||!wasPausedOnLeave.current)play();}});// (Prototyping) Pausing & saving playing state on navigation exit\nuseOnExit(()=>{if(videoRef.current){wasEndedOnLeave.current=videoRef.current.ended;wasPausedOnLeave.current=videoRef.current.paused;pause();}});const src=useMemo(()=>{let fragment=\"\";// if (\n//     startTime > 0 &&\n//     videoRef.current &&\n//     !isNaN(videoRef.current.duration) &&\n//     !isStaticRenderer\n// ) {\n//     console.log(startTime, videoRef.current.duration)\n//     fragment = `#t=${startTime * videoRef.current.duration}`\n// }\nif(srcType===\"URL\")return srcUrl+fragment;if(srcType===\"Upload\")return srcFile+fragment;},[srcType,srcFile,srcUrl,startTime]);// Autoplay via JS to work in Safari\nuseEffect(()=>{if(isSafari&&videoRef.current&&autoplayBehavior===\"on-mount\"){setTimeout(()=>play(),50);}},[]);// Volume Control\nuseEffect(()=>{if(videoRef.current&&!muted)videoRef.current.volume=(volume??0)/100;},[volume]);// When video is ready, set start-time, then autoplay if needed\nconst handleReady=()=>{const video=videoRef.current;if(!video)return;if(video.currentTime<.3&&startTime>0)setProgress((startTime??0)*.01);if(// when the component updates (e.g. only srcFile/url changes), and the video was already playing, keep playing\nisPlaying.current||autoplayBehavior===\"on-mount\"||playingProp&&autoplayBehavior===\"on-viewport\"&&isInViewport)play();};return /*#__PURE__*/_jsx(\"video\",{onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp,src:src,loop:loop,ref:videoRef,onSeeked:e=>onSeeked?.(e),onPause:e=>onPause?.(e),onPlay:e=>onPlay?.(e),onEnded:e=>onEnd?.(e),autoPlay:isPlaying.current||autoplayBehavior===\"on-mount\"||playingProp&&autoplayBehavior===\"on-viewport\"&&isInViewport,preload:isPlaying.current?\"auto\":isStaticRenderer&&!poster?\"metadata\":autoplayBehavior!==\"on-mount\"&&!isCloseToViewport?\"none\":// `autoplay` overrides this too\n\"metadata\",poster:posterEnabled&&!srcFile&&srcUrl===defaultVideo?\"https://framerusercontent.com/images/5ILRvlYXf72kHSVHqpa3snGzjU.jpg\":posterEnabled&&poster?poster:undefined,onLoadedData:handleReady,controls:controls,muted:isStaticRenderer?true:muted,playsInline:playsinline,style:{cursor:!!onClick?\"pointer\":\"auto\",width:\"100%\",height:\"100%\",borderRadius,display:\"block\",objectFit:objectFit,backgroundColor:backgroundColor,objectPosition:\"50% 50%\"}});});Video.displayName=\"Video\";function capitalizeFirstLetter(value){return value.charAt(0).toUpperCase()+value.slice(1);}export function titleCase(value){const groups=value.match(/[A-Z]{2,}|[A-Z][a-z]+|[a-z]+|[A-Z]|\\d+/gu)||[];return groups.map(capitalizeFirstLetter).join(\" \");}const objectFitOptions=[\"cover\",\"fill\",\"contain\",\"scale-down\",\"none\"];addPropertyControls(Video,{srcType:{type:ControlType.Enum,displaySegmentedControl:true,title:\"Source\",options:[\"URL\",\"Upload\"]},srcUrl:{type:ControlType.String,title:\"URL\",defaultValue:\"https://framerusercontent.com/assets/MLWPbW1dUQawJLhhun3dBwpgJak.mp4\",hidden(props){return props.srcType===\"Upload\";}},srcFile:{type:ControlType.File,title:\"File\",allowedFileTypes:[\"mp4\",\"webm\"],hidden(props){return props.srcType===\"URL\";}},...borderRadiusControl,loop:{type:ControlType.Boolean,title:\"Loop\",enabledTitle:\"Yes\",disabledTitle:\"No\"},posterEnabled:{type:ControlType.Boolean,title:\"Poster\",enabledTitle:\"Yes\",disabledTitle:\"No\",hiddenWhenUnset:true,defaultValue:true},poster:{type:ControlType.Image,title:\"Image\",hidden:({posterEnabled})=>!posterEnabled,description:\"We recommend adding a poster. [Learn more](https://www.framer.com/help/articles/how-are-videos-optimized-in-framer/).\"},controls:{type:ControlType.Boolean,title:\"Controls\",enabledTitle:\"Show\",disabledTitle:\"Hide\",defaultValue:false,hiddenWhenUnset:true},muted:{type:ControlType.Boolean,title:\"Muted\",enabledTitle:\"Yes\",disabledTitle:\"No\",hiddenWhenUnset:true},objectFit:{type:ControlType.Enum,title:\"Fit\",options:objectFitOptions,optionTitles:objectFitOptions.map(titleCase),hiddenWhenUnset:true},playing:{type:ControlType.Boolean,title:\"Playing\",enabledTitle:\"Yes\",disabledTitle:\"No\",hiddenWhenUnset:true},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"rgba(0,0,0,0)\"},startTime:{title:\"Start Time\",type:ControlType.Number,min:0,max:100,step:.1,unit:\"%\",hiddenWhenUnset:true},// restartOnEnter: {\n//     type: ControlType.Boolean,\n//     title: \"On ReEnter\",\n//     enabledTitle: \"Restart\",\n//     disabledTitle: \"Resume\",\n// },\nvolume:{type:ControlType.Number,max:100,min:0,unit:\"%\",hidden:({muted})=>muted,defaultValue:25,hiddenWhenUnset:true},onEnd:{type:ControlType.EventHandler},onSeeked:{type:ControlType.EventHandler},onPause:{type:ControlType.EventHandler},onPlay:{type:ControlType.EventHandler},...defaultEvents});\nexport const __FramerMetadata__ = {\"exports\":{\"VideoProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"titleCase\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Video\":{\"type\":\"reactComponent\",\"name\":\"Video\",\"slots\":[],\"annotations\":{\"framerComponentPresetProps\":\"borderRadius, backgroundColor\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"200\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicHeight\":\"112\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Video.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useMemo,useRef,useState}from\"react\";import{addPropertyControls,ControlType,Link,RenderTarget}from\"framer\";// A travelling highlight must cross at a near-even speed. Borrowing the UI's\n// strong ease-out makes it rocket across in the first ~20% of its duration and\n// then crawl off-screen — which reads as \"the specular isn't visible\".\nconst SWEEP_EASE=\"cubic-bezier(0.37, 0, 0.63, 1)\";const EASINGS={smooth:\"cubic-bezier(0.23, 1, 0.32, 1)\",soft:\"cubic-bezier(0.33, 1, 0.68, 1)\",snappy:\"cubic-bezier(0.32, 0.72, 0, 1)\"};/**\n * Section links (\"/page#element-id\") route to the page but do not always land\n * on the section. This waits for the target to exist after the router has\n * swapped the page, then scrolls to it ONLY if it is nowhere near the viewport\n * — i.e. only when Framer did not already do it. If Framer handled the hash,\n * this does nothing and there is no double scroll.\n */function settleHashScroll(hash){if(!hash||typeof document===\"undefined\")return;const started=Date.now();const reduce=typeof window.matchMedia===\"function\"&&window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;const check=()=>{const el=document.getElementById(hash);if(!el){if(Date.now()-started<2500)requestAnimationFrame(check);return;}// let the router's own scroll (if any) settle before judging\nwindow.setTimeout(()=>{const top=el.getBoundingClientRect().top;const slack=window.innerHeight*.5;if(top>slack||top<-slack){el.scrollIntoView({behavior:reduce?\"auto\":\"smooth\",block:\"start\"});}},260);};requestAnimationFrame(check);}// The editor canvas must never follow a link when the component is clicked.\nfunction preventCanvasNav(e){e.preventDefault();}// Fallback ink ratios (uppercase display face) when metrics can't be measured.\nconst FALLBACK={inkAsc:.72,inkDesc:0,fbAsc:.8,fbDesc:.2};/* Static stylesheet — every tunable arrives as a CSS custom property, so all\n   instances share one identical sheet and nothing is rebuilt per render. */const CSS=`\n.pfsl{position:relative;display:inline-flex;align-items:center;margin:0;padding:0;\nborder:0;background:none;text-decoration:none;color:inherit;isolation:isolate;\n-webkit-tap-highlight-color:transparent;touch-action:manipulation;\n-webkit-user-select:none;user-select:none;cursor:pointer}\n.pfsl::after{content:\"\";position:absolute;inset:var(--pfsl-hit);display:block}\n.pfsl:focus{outline:none}\n.pfsl:focus-visible{outline:1px solid var(--pfsl-spec-c);outline-offset:6px}\n.pfsl-rig{position:relative;display:block;transform:scale(1);transform-origin:50% 50%;\ntransition:transform var(--pfsl-t) var(--pfsl-e)}\n.pfsl-box{position:relative;display:flow-root}\n.pfsl-l{display:block;margin:0;padding:0;white-space:pre;line-height:1;\nfont-variant-ligatures:none;-webkit-font-smoothing:antialiased}\n.pfsl-flow{margin-top:var(--pfsl-trim-t);margin-bottom:var(--pfsl-trim-b);\nmargin-right:var(--pfsl-trim-r)}\n.pfsl-over{position:absolute;left:0;top:var(--pfsl-trim-t);pointer-events:none}\n.pfsl-clip{color:transparent;-webkit-text-fill-color:transparent;\n-webkit-background-clip:text;background-clip:text}\n.pfsl-rest{opacity:var(--pfsl-rest-o);transition:opacity var(--pfsl-t) var(--pfsl-e)}\n.pfsl-hover{opacity:0;transition:opacity var(--pfsl-t) var(--pfsl-e)}\n.pfsl-spec{opacity:0;color:transparent;-webkit-text-fill-color:transparent;\n-webkit-text-stroke:var(--pfsl-spec-w) var(--pfsl-spec-c);\nfilter:drop-shadow(0 0 var(--pfsl-spec-g) var(--pfsl-spec-c));\n-webkit-mask-image:var(--pfsl-mask);mask-image:var(--pfsl-mask);\n-webkit-mask-size:300% 300%;mask-size:300% 300%;\n-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;\n-webkit-mask-position:var(--pfsl-sw-a) 50%;mask-position:var(--pfsl-sw-a) 50%;\ntransition:opacity calc(var(--pfsl-t) * 0.62) var(--pfsl-e)}\n@keyframes pfsl-sweep{\nfrom{-webkit-mask-position:var(--pfsl-sw-a) 50%;mask-position:var(--pfsl-sw-a) 50%}\nto{-webkit-mask-position:var(--pfsl-sw-b) 50%;mask-position:var(--pfsl-sw-b) 50%}}\n@media (hover:hover) and (pointer:fine){\n.pfsl:hover .pfsl-rig,.pfsl:focus-visible .pfsl-rig{transform:scale(var(--pfsl-zoom));\ntransition-delay:var(--pfsl-fill-d)}\n.pfsl:hover .pfsl-rest,.pfsl:focus-visible .pfsl-rest{opacity:0;\ntransition-delay:var(--pfsl-fill-d)}\n.pfsl:hover .pfsl-hover,.pfsl:focus-visible .pfsl-hover{opacity:var(--pfsl-hover-o);\ntransition-delay:var(--pfsl-fill-d)}\n.pfsl:hover .pfsl-spec,.pfsl:focus-visible .pfsl-spec{opacity:var(--pfsl-spec-o);\nanimation:pfsl-sweep var(--pfsl-sweep) var(--pfsl-e-sweep) 1 both}}\n.pfsl-lit .pfsl-rig{transform:scale(var(--pfsl-zoom))}\n.pfsl-lit .pfsl-rest{opacity:0}\n.pfsl-lit .pfsl-hover{opacity:var(--pfsl-hover-o)}\n.pfsl-lit .pfsl-spec{opacity:var(--pfsl-spec-o)}\n@media (hover:none){\n.pfsl-rest{opacity:var(--pfsl-rest-touch)}\n.pfsl-hover{opacity:var(--pfsl-hover-touch)}}\n@media (prefers-reduced-motion:reduce){\n.pfsl-rig{transition-duration:1ms}\n.pfsl:hover .pfsl-rig,.pfsl:focus-visible .pfsl-rig,.pfsl-lit .pfsl-rig{transform:scale(1)}\n.pfsl-spec{animation:none !important}\n.pfsl-rest,.pfsl-hover{transition-duration:160ms}}\n`;export default function SpecularMenuLink(props){const{text,font,link,newTab,restMode,restColor,restColorB,restAngle,restOpacity,hoverMode,hoverColor,hoverColorB,hoverAngle,hoverOpacity,specOn,specColor,specWidth,specOpacity,specHold,specBand,specAngle,specGlow,specDir,specDuration,duration,fillDelay,easing,zoom,fluid,fluidRef,fluidMin,hitPad,trim,touchLit,previewHover,clip,style}=props;const isCanvas=RenderTarget.current()===RenderTarget.canvas;// ControlType.Font returns unit strings (\"140px\") — parseFloat, never Number.\nconst fs=parseFloat(String(font?.fontSize??140))||140;const family=font?.fontFamily||\"sans-serif\";const weight=font?.fontWeight??900;const fstyle=font?.fontStyle||\"normal\";const lsRaw=font?.letterSpacing;const lsPx=useMemo(()=>{if(lsRaw==null)return 0;const s=String(lsRaw);const n=parseFloat(s);if(!isFinite(n))return 0;return s.indexOf(\"em\")>=0?n*fs:n;},[lsRaw,fs]);const flowRef=useRef(null);const[ink,setInk]=useState(FALLBACK);// ---- measure the real ink box (after the webfont has loaded) ----\nuseEffect(()=>{if(!trim){setInk(FALLBACK);return;}if(typeof document===\"undefined\")return;let dead=false;const run=()=>{if(dead)return;try{const canvas=document.createElement(\"canvas\");const ctx=canvas.getContext(\"2d\");if(!ctx)return;const probe=200// measure big, store ratios — stable across sizes\n;ctx.font=`${fstyle} ${weight} ${probe}px ${family}`;const anyCtx=ctx;if(\"letterSpacing\"in anyCtx&&lsPx){anyCtx.letterSpacing=`${lsPx/fs*probe}px`;}const m=ctx.measureText(text||\" \");const inkAsc=m.actualBoundingBoxAscent;const inkDesc=m.actualBoundingBoxDescent;const fbAsc=m.fontBoundingBoxAscent;const fbDesc=m.fontBoundingBoxDescent;if(!isFinite(inkAsc)||!isFinite(inkDesc)||!isFinite(fbAsc)||!isFinite(fbDesc)||inkAsc<=0){return;}// Guard: if the canvas resolved a different face than the DOM did,\n// its metrics would trim wrong — fall back to the safe ratios.\nconst el=flowRef.current;if(el){const renderedFs=parseFloat(getComputedStyle(el).fontSize)||fs;const domW=el.getBoundingClientRect().width+lsPx/fs*renderedFs;const canvasW=m.width/probe*renderedFs;if(domW>1&&Math.abs(domW-canvasW)/domW>.08)return;}const next={inkAsc:inkAsc/probe,inkDesc:inkDesc/probe,fbAsc:fbAsc/probe,fbDesc:fbDesc/probe};setInk(prev=>Math.abs(prev.inkAsc-next.inkAsc)<5e-4&&Math.abs(prev.inkDesc-next.inkDesc)<5e-4&&Math.abs(prev.fbAsc-next.fbAsc)<5e-4?prev:next);}catch(e){/* keep the fallback */}};run();const fonts=document.fonts;if(fonts?.ready?.then)fonts.ready.then(run);return()=>{dead=true;};},[text,family,weight,fstyle,fs,lsPx,trim]);// line-height:1 => line box = 1em, glyph box centred in it by half-leading.\n// Everything below is kept in em so the trim follows the RENDERED size\n// (which fluid scaling changes) instead of the base number.\nconst baseline=(1-(ink.fbAsc+ink.fbDesc))/2+ink.fbAsc;const trimTop=trim?-(baseline-ink.inkAsc):0;const trimBottom=trim?-(1-baseline-ink.inkDesc):0;const trimRight=trim&&lsPx>0?-(lsPx/fs):0;// Fluid type: shrink with the viewport, never above the set size, never\n// below Min %. Pure CSS — no measuring, and the node still hugs the word.\nconst fontSize=fluid?`clamp(${(fs*fluidMin/100).toFixed(2)}px, ${(fs/Math.max(320,fluidRef)*100).toFixed(4)}vw, ${fs}px)`:`${fs}px`;const fillOf=(mode,a,b,angle)=>mode===\"gradient\"?{backgroundImage:`linear-gradient(${angle}deg, ${a} 0%, ${b} 100%)`}:{color:a,WebkitTextFillColor:a};// ONE mask layer: alpha floor = the edge that holds while hovered, peak =\n// the travelling glint. (Two layers + mask-composite muddied the peak and\n// is the least portable part of the mask spec.)\nconst band=Math.max(.5,specBand/2);const hold=`rgba(0,0,0,${specHold})`;const mask=`linear-gradient(${specAngle}deg, ${hold} 0%, ${hold} ${(50-band).toFixed(2)}%, rgba(0,0,0,1) 50%, ${hold} ${(50+band).toFixed(2)}%, ${hold} 100%)`;// hit area grows exactly with the zoom so the pointer can't fall off mid-hover\nconst grow=Math.max(0,zoom/100/2);const hitInset=`calc(${(-grow*100).toFixed(2)}% - ${hitPad}px)`;const textStyle={fontFamily:family,fontWeight:weight,fontStyle:fstyle,fontSize,letterSpacing:lsRaw!=null?String(lsRaw):undefined};const vars={\"--pfsl-t\":`${duration}ms`,\"--pfsl-fill-d\":`${fillDelay}ms`,\"--pfsl-e\":EASINGS[easing]||EASINGS.smooth,\"--pfsl-e-sweep\":SWEEP_EASE,\"--pfsl-zoom\":1+zoom/100,\"--pfsl-hit\":hitInset,\"--pfsl-trim-t\":`${trimTop.toFixed(4)}em`,\"--pfsl-trim-b\":`${trimBottom.toFixed(4)}em`,\"--pfsl-trim-r\":`${trimRight.toFixed(4)}em`,\"--pfsl-rest-o\":restOpacity/100,\"--pfsl-hover-o\":hoverOpacity/100,\"--pfsl-rest-touch\":touchLit?0:restOpacity/100,\"--pfsl-hover-touch\":touchLit?hoverOpacity/100:0,\"--pfsl-spec-o\":specOn?specOpacity/100:0,\"--pfsl-spec-c\":specColor,\"--pfsl-spec-w\":`${specWidth}px`,\"--pfsl-spec-g\":`${specGlow}px`,\"--pfsl-mask\":mask,\"--pfsl-sw-a\":specDir===\"rtl\"?\"100%\":\"0%\",\"--pfsl-sw-b\":specDir===\"rtl\"?\"0%\":\"100%\",\"--pfsl-sweep\":`${specDuration}ms`};const label=text||\" \";const lit=isCanvas&&previewHover?\" pfsl-lit\":\"\";const hash=link&&link.indexOf(\"#\")>=0?link.split(\"#\")[1]:\"\";const onLinkClick=hash?()=>settleHashScroll(hash)// never preventDefault — Link still routes\n:undefined;// Framer's <Link> injects the href and the router-aware click handling on\n// the child anchor. Only fall back to a bare anchor on the editor canvas\n// (where nothing should navigate) or when no link is set yet.\nconst routed=!isCanvas&&!!link;const anchor=/*#__PURE__*/_jsxs(\"a\",{className:\"pfsl\"+lit,onClick:isCanvas?preventCanvasNav:onLinkClick,style:{...vars,overflow:clip?\"hidden\":\"visible\",...style},children:[/*#__PURE__*/_jsx(\"style\",{children:CSS}),/*#__PURE__*/_jsx(\"span\",{className:\"pfsl-rig\",children:/*#__PURE__*/_jsxs(\"span\",{className:\"pfsl-box\",children:[/*#__PURE__*/_jsx(\"span\",{ref:flowRef,className:\"pfsl-l pfsl-flow pfsl-rest\"+(restMode===\"gradient\"?\" pfsl-clip\":\"\"),style:{...textStyle,...fillOf(restMode,restColor,restColorB,restAngle)},children:label}),/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":\"true\",className:\"pfsl-l pfsl-over pfsl-hover\"+(hoverMode===\"gradient\"?\" pfsl-clip\":\"\"),style:{...textStyle,...fillOf(hoverMode,hoverColor,hoverColorB,hoverAngle)},children:label}),specOn&&/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":\"true\",className:\"pfsl-l pfsl-over pfsl-spec\",style:textStyle,children:label})]})})]});if(!routed)return anchor;return /*#__PURE__*/_jsx(Link,{href:link,openInNewTab:newTab,smoothScroll:!!hash,children:anchor});}SpecularMenuLink.displayName=\"Specular Menu Link\";addPropertyControls(SpecularMenuLink,{text:{type:ControlType.String,title:\"Text\",defaultValue:\"CONTACT US\"},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{variant:\"Black\",fontSize:140,lineHeight:1,letterSpacing:\"0.03em\"}},link:{type:ControlType.Link,title:\"Link\"},newTab:{type:ControlType.Boolean,title:\"New Tab\",enabledTitle:\"Yes\",disabledTitle:\"No\",defaultValue:false},restMode:{type:ControlType.Enum,title:\"Rest Fill\",options:[\"solid\",\"gradient\"],optionTitles:[\"Plain\",\"Gradient\"],defaultValue:\"gradient\",displaySegmentedControl:true},restColor:{type:ControlType.Color,title:\"Rest\",defaultValue:\"rgb(181, 181, 181)\"},restColorB:{type:ControlType.Color,title:\"Rest 2\",defaultValue:\"rgb(0, 0, 0)\",hidden:p=>p.restMode!==\"gradient\"},restAngle:{type:ControlType.Number,title:\"Rest Angle\",min:0,max:360,step:1,unit:\"\\xb0\",defaultValue:180,hidden:p=>p.restMode!==\"gradient\"},restOpacity:{type:ControlType.Number,title:\"Rest Opacity\",min:0,max:100,step:1,unit:\"%\",defaultValue:34},hoverMode:{type:ControlType.Enum,title:\"Lit Fill\",options:[\"solid\",\"gradient\"],optionTitles:[\"Plain\",\"Gradient\"],defaultValue:\"gradient\",displaySegmentedControl:true},hoverColor:{type:ControlType.Color,title:\"Lit\",defaultValue:\"rgb(214, 214, 214)\"},hoverColorB:{type:ControlType.Color,title:\"Lit 2\",defaultValue:\"rgb(64, 64, 64)\",hidden:p=>p.hoverMode!==\"gradient\"},hoverAngle:{type:ControlType.Number,title:\"Lit Angle\",min:0,max:360,step:1,unit:\"\\xb0\",defaultValue:180,hidden:p=>p.hoverMode!==\"gradient\"},hoverOpacity:{type:ControlType.Number,title:\"Lit Opacity\",min:0,max:100,step:1,unit:\"%\",defaultValue:100},specOn:{type:ControlType.Boolean,title:\"Specular\",enabledTitle:\"On\",disabledTitle:\"Off\",defaultValue:true},specColor:{type:ControlType.Color,title:\"Edge\",defaultValue:\"rgb(255, 255, 255)\",hidden:p=>!p.specOn},specWidth:{type:ControlType.Number,title:\"Edge Width\",min:.25,max:6,step:.25,unit:\"px\",defaultValue:3,hidden:p=>!p.specOn},specOpacity:{type:ControlType.Number,title:\"Edge Opacity\",min:0,max:100,step:1,unit:\"%\",defaultValue:100,hidden:p=>!p.specOn},specHold:{type:ControlType.Number,title:\"Edge Hold\",min:0,max:1,step:.02,defaultValue:.22,hidden:p=>!p.specOn},specBand:{type:ControlType.Number,title:\"Glint Width\",min:2,max:70,step:1,unit:\"%\",defaultValue:34,hidden:p=>!p.specOn},specAngle:{type:ControlType.Number,title:\"Glint Angle\",min:0,max:360,step:1,unit:\"\\xb0\",defaultValue:105,hidden:p=>!p.specOn},specDir:{type:ControlType.Enum,title:\"Glint Dir\",options:[\"ltr\",\"rtl\"],optionTitles:[\"→\",\"←\"],defaultValue:\"ltr\",displaySegmentedControl:true,hidden:p=>!p.specOn},specGlow:{type:ControlType.Number,title:\"Edge Glow\",min:0,max:24,step:1,unit:\"px\",defaultValue:8,hidden:p=>!p.specOn},specDuration:{type:ControlType.Number,title:\"Glint Speed\",min:200,max:2e3,step:20,unit:\"ms\",defaultValue:640,hidden:p=>!p.specOn},duration:{type:ControlType.Number,title:\"Speed\",min:80,max:900,step:10,unit:\"ms\",defaultValue:800},fillDelay:{type:ControlType.Number,title:\"Lead Time\",min:0,max:800,step:10,unit:\"ms\",defaultValue:220},easing:{type:ControlType.Enum,title:\"Easing\",options:[\"smooth\",\"soft\",\"snappy\"],optionTitles:[\"Smooth\",\"Soft\",\"Snappy\"],defaultValue:\"soft\"},zoom:{type:ControlType.Number,title:\"Zoom\",min:0,max:40,step:1,unit:\"%\",defaultValue:10},fluid:{type:ControlType.Boolean,title:\"Fluid Size\",enabledTitle:\"On\",disabledTitle:\"Off\",defaultValue:true},fluidRef:{type:ControlType.Number,title:\"Design Width\",min:320,max:2560,step:10,unit:\"px\",defaultValue:1440,hidden:p=>!p.fluid},fluidMin:{type:ControlType.Number,title:\"Min Size\",min:10,max:100,step:1,unit:\"%\",defaultValue:28,hidden:p=>!p.fluid},hitPad:{type:ControlType.Number,title:\"Hit Padding\",min:0,max:60,step:1,unit:\"px\",defaultValue:0},trim:{type:ControlType.Boolean,title:\"Trim Space\",enabledTitle:\"Ink\",disabledTitle:\"Line\",defaultValue:true},touchLit:{type:ControlType.Boolean,title:\"Touch Lit\",enabledTitle:\"Yes\",disabledTitle:\"No\",defaultValue:true},previewHover:{type:ControlType.Boolean,title:\"Canvas Hover\",enabledTitle:\"Lit\",disabledTitle:\"Rest\",defaultValue:false},clip:{type:ControlType.Boolean,title:\"Overflow\",enabledTitle:\"Clip\",disabledTitle:\"Visible\",defaultValue:false}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"SpecularMenuLink\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SpecularMenuLink.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useLayoutEffect,useRef,useState,useMemo}from\"react\";import{addPropertyControls,ControlType,Link,useIsStaticRenderer}from\"framer\";// Strong ease-out (fast start, soft land) — animate skill cubic-bezier(0.23,1,0.32,1)\nfunction makeBezier(x1,y1,x2,y2){const cx=3*x1;const bx=3*(x2-x1)-cx;const ax=1-cx-bx;const cy=3*y1;const by=3*(y2-y1)-cy;const ay=1-cy-by;const fx=t=>((ax*t+bx)*t+cx)*t;const dfx=t=>(3*ax*t+2*bx)*t+cx;const fy=t=>((ay*t+by)*t+cy)*t;return x=>{if(x<=0)return 0;if(x>=1)return 1;let t=x;for(let i=0;i<5;i++){const d=dfx(t);if(Math.abs(d)<1e-6)break;t-=(fx(t)-x)/d;t=t<0?0:t>1?1:t;}return fy(t);};}const easeOut=makeBezier(.23,1,.32,1);// A section pick from ControlType.Link arrives as \"/page#elementId\", but the\n// router takes the element id as a separate argument, so the hash in the path\n// is ignored and we land at the top. Never preventDefault — let <Link> route,\n// then nudge to the element only if the router did not already get us there.\nfunction settleHashScroll(hash){if(!hash||typeof document===\"undefined\")return;const started=Date.now();const reduce=typeof window!==\"undefined\"&&typeof window.matchMedia===\"function\"&&window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;const check=()=>{const el=document.getElementById(hash);if(!el){if(Date.now()-started<2500)requestAnimationFrame(check);return;}window.setTimeout(()=>{const top=el.getBoundingClientRect().top;const slack=window.innerHeight*.5;if(top>slack||top<-slack)el.scrollIntoView({behavior:reduce?\"auto\":\"smooth\",block:\"start\"});},260);};requestAnimationFrame(check);}// Keyboard-vs-pointer modality. A programmatic focus() — e.g. an overlay moving\n// focus to its first focusable child when a menu opens — must NOT fire the\n// reveal; only a real Tab may. Written by the listener below.\nlet lastTabAt=-1e9;const nowMs=()=>typeof performance!==\"undefined\"?performance.now():Date.now();const clamp01=v=>v<0?0:v>1?1:v;/**\n * ScanRevealTextV2 — hover-driven, per-character decode link.\n *\n * A dim monochrome \"before\" word with a vertical scan bar resting before it.\n * On hover the bar sweeps left→right; as its front reaches each glyph, that\n * character genuinely cycles random letters and lands on the lit \"after\"\n * glyph, while its cell width morphs from the before-glyph to the after-glyph\n * — real in-place decode, natural kerning at both ends, no layout jump.\n * Reversible, interruptible, GPU-composited bar. Fast-start ease-out curve.\n *\n * @framerIntrinsicWidth 240\n * @framerIntrinsicHeight 40\n *\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n */export default function ScanRevealTextV2(props){const{beforeText=\"PORTFOLIO\",afterText=\"VIEW WORK\",beforeFont={},afterFont={},beforeColor=\"rgb(120, 120, 120)\",afterColor=\"rgb(240, 240, 240)\",activeColor=\"rgb(255, 180, 94)\",lineThickness=2,lineHeight=.9,lineGap=8,lineRadius=2,lineBeforeColor=\"rgb(120, 120, 120)\",lineAfterColor=\"rgb(240, 240, 240)\",scramble=true,scrambleSpan=2.5,scrambleChars=\"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789/#*<>\",speed=560,link=\"\",newTab=false,padding=\"0px\",style}=props;const isStatic=useIsStaticRenderer();const cells=useMemo(()=>{const b=Array.from(beforeText??\"\");const a=Array.from(afterText??\"\");const n=Math.max(b.length,a.length);const out=[];for(let i=0;i<n;i++)out.push({before:b[i]??\"\",after:a[i]??\"\"});return out;},[beforeText,afterText]);const N=cells.length;const afterLen=Array.from(afterText??\"\").length;// Refs\nconst stageRef=useRef(null);const scaleRef=useRef(null);const cellRefs=useRef([]);const glyphRefs=useRef([]);const sBeforeRefs=useRef([]);const sAfterRefs=useRef([]);const barBeforeRef=useRef(null);const barAfterRef=useRef(null);// Animation state (refs → no per-frame re-render)\nconst pRef=useRef(0);const fromRef=useRef(0);const toRef=useRef(0);const startRef=useRef(0);const durRef=useRef(0);const rafRef=useRef(0);const runningRef=useRef(false);const starterRef=useRef(null);const stateRef=useRef([]);const beforeWRef=useRef([]);const afterWRef=useRef([]);const lastFlickRef=useRef(0);const measuredRef=useRef(false);const[pressed,setPressed]=useState(false);const charset=scrambleChars||\"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\";const rnd=useMemo(()=>()=>charset[Math.random()*charset.length|0],[charset]);const colDim=pressed?activeColor:beforeColor;const colLit=pressed?activeColor:afterColor;// Per-glyph widths for the morph, read off the hidden reserve row.\n// The BOX width is reserved in CSS by that same row (see markup) instead of\n// being written here in px — that is what keeps the canvas box and the\n// preview box identical. `scaleRef` is 100px of pure layout: it divides out\n// any ancestor transform (menu open/scale animations) and reads 0 while we\n// are hidden, in which case we refuse to measure rather than store zeroes.\nconst measure=useMemo(()=>()=>{const sp=scaleRef.current?.getBoundingClientRect().width??0;const k=sp>1?100/sp:0;if(!k){measuredRef.current=false;return false;}const bW=[];const aW=[];let total=0;for(let i=0;i<N;i++){const wb=(sBeforeRefs.current[i]?.getBoundingClientRect().width??0)*k;const wa=(sAfterRefs.current[i]?.getBoundingClientRect().width??0)*k;bW.push(wb);aW.push(wa);total+=wb+wa;}beforeWRef.current=bW;afterWRef.current=aW;measuredRef.current=total>0;return measuredRef.current;},[N]);const applyFrame=useMemo(()=>(p,now)=>{// no valid measurement yet (hidden variant / not laid out): leave the\n    // DOM at its CSS rest state instead of collapsing every cell to 0\n    if(!measuredRef.current)return;const pe=easeOut(p);const S=Math.max(.4,scrambleSpan);const drive=pe*(N+S);const bW=beforeWRef.current;const aW=afterWRef.current;const flick=now-lastFlickRef.current>40;if(flick)lastFlickRef.current=now;let acc=0;let frontX=0;let afterEndX=0;for(let i=0;i<N;i++){const local=drive-i;const rt=scramble?clamp01(local/S):local>0?1:0;const wb=bW[i]??0;const wa=aW[i]??0;const w=wb+(wa-wb)*rt;const cell=cellRefs.current[i];if(cell)cell.style.width=`${w}px`;// state: 0 before, 1 decoding, 2 after\n    const st=rt<=0?0:rt>=1?2:1;const el=glyphRefs.current[i];if(el){const prev=stateRef.current[i];if(st===1){if(flick||prev!==1){el.textContent=rnd();el.style.color=colLit;}}else if(st!==prev){el.textContent=st===0?cells[i].before:cells[i].after;el.style.color=st===0?colDim:colLit;}else if(prev===undefined){el.textContent=st===0?cells[i].before:cells[i].after;el.style.color=st===0?colDim:colLit;}stateRef.current[i]=st;}acc+=w;if(i+1===afterLen||afterLen>N&&i+1===N)afterEndX=acc;}if(afterLen===0)afterEndX=0;// front = interpolated cumulative width at `drive`\n    const fCells=Math.min(drive,N);{let x=0;const whole=Math.floor(fCells);for(let i=0;i<whole&&i<N;i++){const wb=bW[i]??0;const wa=aW[i]??0;const local=drive-i;const rt=scramble?clamp01(local/S):local>0?1:0;x+=wb+(wa-wb)*rt;}if(whole<N){const wb=bW[whole]??0;const wa=aW[whole]??0;const local=drive-whole;const rt=scramble?clamp01(local/S):local>0?1:0;x+=(wb+(wa-wb)*rt)*(fCells-whole);}frontX=x;}const barX=Math.min(frontX,afterEndX||acc);const shift=(pe-.5)*2*lineGap;const tf=`translate(calc(${barX}px - 50% + ${shift}px), -50%)`;if(barBeforeRef.current){barBeforeRef.current.style.transform=tf;barBeforeRef.current.style.opacity=`${1-pe}`;}if(barAfterRef.current){barAfterRef.current.style.transform=tf;barAfterRef.current.style.opacity=`${pe}`;}},[N,afterLen,scramble,scrambleSpan,lineGap,cells,rnd,colDim,colLit]);useLayoutEffect(()=>{if(isStatic)return;const sync=()=>{if(measure())applyFrame(pRef.current,0);};sync();if(typeof document!==\"undefined\"&&document.fonts?.ready){document.fonts.ready.then(sync).catch(()=>{});}// the component can mount inside a hidden variant (a closed menu) where\n// nothing is measurable; re-sync the moment it actually gets a size\nif(typeof ResizeObserver===\"undefined\"||!stageRef.current)return;const ro=new ResizeObserver(sync);ro.observe(stageRef.current);return()=>ro.disconnect();},[measure,applyFrame,isStatic]);useEffect(()=>{if(isStatic||typeof window===\"undefined\")return;const reduced=window.matchMedia?.(\"(prefers-reduced-motion: reduce)\").matches??false;const tick=now=>{const dur=durRef.current;let p;if(dur<=0)p=toRef.current;else{const t=Math.min(1,(now-startRef.current)/dur);p=fromRef.current+(toRef.current-fromRef.current)*t;if(t>=1)p=toRef.current;}pRef.current=p;applyFrame(p,now);if(dur>0&&p!==toRef.current){rafRef.current=requestAnimationFrame(tick);}else{runningRef.current=false;rafRef.current=0;}};starterRef.current=target=>{const from=pRef.current;if(from===target&&!runningRef.current)return;fromRef.current=from;toRef.current=target;startRef.current=typeof performance!==\"undefined\"?performance.now():Date.now();// retract (target < from) runs 2× faster than expand, no delay\nconst spd=target<from?speed/2:speed;durRef.current=reduced?0:spd*Math.abs(target-from);if(!runningRef.current){runningRef.current=true;rafRef.current=requestAnimationFrame(tick);}};const onKeyDownTab=e=>{if(e.key===\"Tab\")lastTabAt=nowMs();};window.addEventListener(\"keydown\",onKeyDownTab,{capture:true});return()=>{window.removeEventListener(\"keydown\",onKeyDownTab,{capture:true});if(rafRef.current)cancelAnimationFrame(rafRef.current);runningRef.current=false;starterRef.current=null;};},[isStatic,speed,applyFrame]);const play=t=>starterRef.current?.(t);const onEnter=()=>play(1);const onLeave=()=>{setPressed(false);play(0);};// keyboard focus reveals; a programmatic/mouse focus does not\nconst onFocus=()=>{if(nowMs()-lastTabAt>600)return;play(1);};const onBlur=()=>play(0);const onDown=e=>{setPressed(true);if(e.pointerType===\"touch\")play(1);};const onUp=()=>setPressed(false);const typeOf=f=>({fontFamily:f.fontFamily,fontWeight:f.fontWeight,fontStyle:f.fontStyle,fontSize:f.fontSize,letterSpacing:f.letterSpacing,lineHeight:f.lineHeight??1});const probe={position:\"absolute\",visibility:\"hidden\",whiteSpace:\"pre\",pointerEvents:\"none\",top:0,left:0};// Framer's <Link> is what hands the click to the router — a bare <a href>\n// navigates the document and 404s inside the editor preview, which is a\n// single page chosen by the EDITOR url. <Link> injects the href onto this\n// anchor, so it stays a real, crawlable link on the published site too.\nconst hash=link&&link.indexOf(\"#\")>=0?link.split(\"#\")[1]:\"\";const routed=!isStatic&&!!link;const anchor=/*#__PURE__*/_jsx(\"a\",{\"aria-label\":afterText||beforeText,onClick:isStatic?e=>e.preventDefault():hash?()=>settleHashScroll(hash):undefined,onMouseEnter:isStatic?undefined:onEnter,onMouseLeave:isStatic?undefined:onLeave,onFocus:isStatic?undefined:onFocus,onBlur:isStatic?undefined:onBlur,onPointerDown:isStatic?undefined:onDown,onPointerUp:isStatic?undefined:onUp,style:{position:\"relative\",display:\"inline-flex\",alignItems:\"center\",textDecoration:\"none\",cursor:link?\"pointer\":\"default\",lineHeight:1,margin:0,padding,paddingLeft:`calc(${lineThickness}px + ${lineGap}px)`,paddingRight:`calc(${lineThickness}px + ${lineGap}px)`,WebkitTapHighlightColor:\"transparent\",...style},children:/*#__PURE__*/_jsxs(\"span\",{ref:stageRef,style:{position:\"relative\",display:\"inline-block\",whiteSpace:\"nowrap\",userSelect:\"none\"},children:[/*#__PURE__*/_jsx(\"span\",{ref:scaleRef,\"aria-hidden\":\"true\",style:{...probe,width:100,height:1}}),/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":\"true\",style:{display:\"flex\",alignItems:\"center\",visibility:\"hidden\",pointerEvents:\"none\"},children:cells.map((c,i)=>/*#__PURE__*/_jsxs(\"span\",{style:{display:\"inline-grid\",flex:\"0 0 auto\"},children:[/*#__PURE__*/_jsx(\"span\",{ref:el=>{sBeforeRefs.current[i]=el;},style:{gridArea:\"1 / 1\",whiteSpace:\"pre\",...typeOf(beforeFont)},children:c.before||\"\"}),/*#__PURE__*/_jsx(\"span\",{ref:el=>{sAfterRefs.current[i]=el;},style:{gridArea:\"1 / 1\",whiteSpace:\"pre\",...typeOf(afterFont)},children:c.after||\"\"})]},i))}),/*#__PURE__*/_jsx(\"span\",{style:{position:\"absolute\",top:0,left:0,bottom:0,display:\"flex\",alignItems:\"center\",justifyContent:\"flex-start\"},children:cells.map((c,i)=>/*#__PURE__*/_jsx(\"span\",{ref:el=>{cellRefs.current[i]=el;},\"aria-hidden\":\"true\",style:{position:\"relative\",display:\"inline-flex\",justifyContent:\"center\",flex:\"0 0 auto\",overflow:\"hidden\",...typeOf(afterFont)},children:/*#__PURE__*/_jsx(\"span\",{ref:el=>{glyphRefs.current[i]=el;},style:{whiteSpace:\"pre\",color:colDim,textAlign:\"center\"},children:c.before})},i))}),/*#__PURE__*/_jsx(\"span\",{ref:barBeforeRef,\"aria-hidden\":\"true\",style:{position:\"absolute\",left:0,top:\"50%\",width:lineThickness,height:`${lineHeight}em`,borderRadius:lineRadius,background:lineBeforeColor,transform:`translate(calc(-50% - ${lineGap}px), -50%)`,opacity:1,pointerEvents:\"none\",willChange:\"transform, opacity\"}}),/*#__PURE__*/_jsx(\"span\",{ref:barAfterRef,\"aria-hidden\":\"true\",style:{position:\"absolute\",left:0,top:\"50%\",width:lineThickness,height:`${lineHeight}em`,borderRadius:lineRadius,background:lineAfterColor,transform:`translate(calc(-50% - ${lineGap}px), -50%)`,opacity:0,pointerEvents:\"none\",willChange:\"transform, opacity\"}})]})});if(!routed)return anchor;return /*#__PURE__*/_jsx(Link,{href:link,openInNewTab:newTab,smoothScroll:!!hash,children:anchor});}addPropertyControls(ScanRevealTextV2,{beforeText:{type:ControlType.String,title:\"Before\",defaultValue:\"HAVE AN IDEA WORTH MAKING?\"},afterText:{type:ControlType.String,title:\"After\",defaultValue:\"LET'S START A PROJECT\"},beforeFont:{type:ControlType.Font,title:\"Before Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{variant:\"Bold\",fontSize:\"14px\",letterSpacing:\"0.35em\",lineHeight:\"1em\"}},afterFont:{type:ControlType.Font,title:\"After Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{variant:\"Bold\",fontSize:\"14px\",letterSpacing:\"0.35em\",lineHeight:\"1em\"}},beforeColor:{type:ControlType.Color,title:\"Before Color\",defaultValue:\"rgb(87, 87, 87)\"},afterColor:{type:ControlType.Color,title:\"After Color\",defaultValue:\"rgb(179, 179, 179)\"},activeColor:{type:ControlType.Color,title:\"Active Color\",defaultValue:\"rgb(255, 255, 255)\",description:\"Text color while the link is pressed\"},lineThickness:{type:ControlType.Number,title:\"Line Thickness\",defaultValue:3,min:1,max:16,step:1,unit:\"px\"},lineHeight:{type:ControlType.Number,title:\"Line Height\",defaultValue:1.45,min:.1,max:2,step:.05,unit:\"em\"},lineGap:{type:ControlType.Number,title:\"Line Gap\",defaultValue:7,min:0,max:48,step:1,unit:\"px\",description:\"Space before / after the text at rest\"},lineRadius:{type:ControlType.Number,title:\"Line Radius\",defaultValue:3,min:0,max:12,step:1,unit:\"px\"},lineBeforeColor:{type:ControlType.Color,title:\"Line Before\",defaultValue:\"rgb(222, 222, 222)\"},lineAfterColor:{type:ControlType.Color,title:\"Line After\",defaultValue:\"rgb(222, 222, 222)\"},scramble:{type:ControlType.Boolean,title:\"Scramble\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},scrambleSpan:{type:ControlType.Number,title:\"Scramble Length\",defaultValue:2.5,min:.5,max:8,step:.5,hidden:p=>!p.scramble,description:\"How many characters decode at once (front width)\"},scrambleChars:{type:ControlType.String,title:\"Charset\",defaultValue:\"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789/#*<>\",hidden:p=>!p.scramble},speed:{type:ControlType.Number,title:\"Speed\",defaultValue:850,min:150,max:2e3,step:20,unit:\"ms\"},link:{type:ControlType.Link,title:\"Link\"},newTab:{type:ControlType.Boolean,title:\"New Tab\",defaultValue:false,hidden:p=>!p.link},padding:{type:ControlType.Padding,title:\"Padding\",defaultValue:\"0px\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ScanRevealTextV2\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"auto\",\"framerIntrinsicWidth\":\"240\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"auto\",\"framerIntrinsicHeight\":\"40\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ScanRevealTextV2.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useLayoutEffect,useRef,useState,useMemo}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";// Strong ease-out (fast start, soft land) — animate skill cubic-bezier(0.23,1,0.32,1)\nfunction makeBezier(x1,y1,x2,y2){const cx=3*x1;const bx=3*(x2-x1)-cx;const ax=1-cx-bx;const cy=3*y1;const by=3*(y2-y1)-cy;const ay=1-cy-by;const fx=t=>((ax*t+bx)*t+cx)*t;const dfx=t=>(3*ax*t+2*bx)*t+cx;const fy=t=>((ay*t+by)*t+cy)*t;return x=>{if(x<=0)return 0;if(x>=1)return 1;let t=x;for(let i=0;i<5;i++){const d=dfx(t);if(Math.abs(d)<1e-6)break;t-=(fx(t)-x)/d;t=t<0?0:t>1?1:t;}return fy(t);};}// Keyboard-vs-pointer modality. A programmatic focus() — e.g. an overlay moving\n// focus to its first focusable child when a menu opens — must NOT fire the\n// reveal; only a real Tab may. Written by the listener below.\nlet lastTabAt=-1e9;const nowMs=()=>typeof performance!==\"undefined\"?performance.now():Date.now();const clamp01=v=>v<0?0:v>1?1:v;/**\n * ScanRevealTextV3 — hover-driven, per-character decode copy-to-clipboard.\n *\n * Same decode as V2, but instead of a link: on hover a copy icon fades in at\n * the right of the line, and clicking anywhere copies the \"after\" text (e.g. an\n * email) to the clipboard with a small success message to the right.\n *\n * @framerIntrinsicWidth 240\n * @framerIntrinsicHeight 40\n *\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n */export default function ScanRevealTextV3(props){const{beforeText=\"PORTFOLIO\",afterText=\"VIEW WORK\",beforeFont={},afterFont={},beforeColor=\"rgb(92, 92, 92)\",afterColor=\"rgb(199, 199, 199)\",activeColor=\"rgb(255, 255, 255)\",lineThickness=2,lineHeight=1.45,lineGap=7,lineRadius=2,lineBeforeColor=\"rgb(222, 222, 222)\",lineAfterColor=\"rgb(222, 222, 222)\",scramble=true,scrambleSpan=2.5,scrambleChars=\"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789/#*<>\",speed=860,ease=.23,icon=\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23b3b3b3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='9' y='9' width='11' height='11' rx='2'/><path d='M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1'/></svg>\",iconSize=14,iconOpacity=.7,iconSpacing=22,successText=\"Mail Copied!\",successFont={},successColor=\"rgb(140, 140, 140)\",padding=\"0px\",style}=props;const isStatic=useIsStaticRenderer();const cells=useMemo(()=>{const b=Array.from(beforeText??\"\");const a=Array.from(afterText??\"\");const n=Math.max(b.length,a.length);const out=[];for(let i=0;i<n;i++)out.push({before:b[i]??\"\",after:a[i]??\"\"});return out;},[beforeText,afterText]);const N=cells.length;const afterLen=Array.from(afterText??\"\").length;// Refs\nconst stageRef=useRef(null);const scaleRef=useRef(null);const hitZoneRef=useRef(null);const beforeProbeRef=useRef(null);const cellRefs=useRef([]);const glyphRefs=useRef([]);const sBeforeRefs=useRef([]);const sAfterRefs=useRef([]);const barBeforeRef=useRef(null);const barAfterRef=useRef(null);const iconRef=useRef(null);// Animation state (refs → no per-frame re-render)\nconst pRef=useRef(0);const fromRef=useRef(0);const toRef=useRef(0);const startRef=useRef(0);const durRef=useRef(0);const rafRef=useRef(0);const runningRef=useRef(false);const starterRef=useRef(null);const stateRef=useRef([]);const beforeWRef=useRef([]);const afterWRef=useRef([]);const lastFlickRef=useRef(0);const measuredRef=useRef(false);const[pressed,setPressed]=useState(false);const[copied,setCopied]=useState(false);const charset=scrambleChars||\"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\";const rnd=useMemo(()=>()=>charset[Math.random()*charset.length|0],[charset]);const colDim=pressed?activeColor:beforeColor;const colLit=pressed?activeColor:afterColor;// fast-start ease-out; `ease` (first control-point x) tunes the snap\nconst easeOut=useMemo(()=>makeBezier(ease,1,.32,1),[ease]);// Per-glyph widths for the morph, read off the hidden reserve row.\n// The BOX width is reserved in CSS by that same row (see markup) instead of\n// being written here in px — that is what keeps the canvas box and the\n// preview box identical. `scaleRef` is 100px of pure layout: it divides out\n// any ancestor transform (menu open/scale animations) and reads 0 while we\n// are hidden, in which case we refuse to measure rather than store zeroes.\nconst measure=useMemo(()=>()=>{const sp=scaleRef.current?.getBoundingClientRect().width??0;const k=sp>1?100/sp:0;if(!k){measuredRef.current=false;return false;}const bW=[];const aW=[];let total=0;for(let i=0;i<N;i++){const wb=(sBeforeRefs.current[i]?.getBoundingClientRect().width??0)*k;const wa=(sAfterRefs.current[i]?.getBoundingClientRect().width??0)*k;bW.push(wb);aW.push(wa);total+=wb+wa;}beforeWRef.current=bW;afterWRef.current=aW;measuredRef.current=total>0;// Hover/tap trigger zone = the actual rendered \"before\" text\n    // width only (not the full reserved box, which is sized to the\n    // wider of before/after per cell) — so hovering empty reserved\n    // space past a short \"before\" word no longer fires the reveal.\n    // Measured off a standalone, unstretched probe span — NOT the\n    // per-character reserve-row cells above: those overlay before/\n    // after glyphs on the same CSS Grid area, and a grid item's\n    // default `justify-self: stretch` stretches BOTH children's\n    // measured box to the cell's (wider) track width, so an empty\n    // \"before\" glyph past index `beforeLen` still measures as wide\n    // as its \"after\" counterpart instead of 0.\n    if(hitZoneRef.current&&beforeProbeRef.current){const beforeTotal=beforeProbeRef.current.getBoundingClientRect().width*k;hitZoneRef.current.style.width=`${beforeTotal}px`;}return measuredRef.current;},[N]);const applyFrame=useMemo(()=>(p,now)=>{// no valid measurement yet (hidden variant / not laid out): leave the\n    // DOM at its CSS rest state instead of collapsing every cell to 0\n    if(!measuredRef.current)return;const pe=easeOut(p);const S=Math.max(.4,scrambleSpan);const drive=pe*(N+S);const bW=beforeWRef.current;const aW=afterWRef.current;const flick=now-lastFlickRef.current>40;if(flick)lastFlickRef.current=now;let acc=0;let frontX=0;let afterEndX=0;for(let i=0;i<N;i++){const local=drive-i;const rt=scramble?clamp01(local/S):local>0?1:0;const wb=bW[i]??0;const wa=aW[i]??0;const w=wb+(wa-wb)*rt;const cell=cellRefs.current[i];if(cell)cell.style.width=`${w}px`;// state: 0 before, 1 decoding, 2 after\n    const st=rt<=0?0:rt>=1?2:1;const el=glyphRefs.current[i];if(el){const prev=stateRef.current[i];if(st===1){if(flick||prev!==1){el.textContent=rnd();el.style.color=colLit;}}else if(st!==prev){el.textContent=st===0?cells[i].before:cells[i].after;el.style.color=st===0?colDim:colLit;}else if(prev===undefined){el.textContent=st===0?cells[i].before:cells[i].after;el.style.color=st===0?colDim:colLit;}stateRef.current[i]=st;}acc+=w;if(i+1===afterLen||afterLen>N&&i+1===N)afterEndX=acc;}if(afterLen===0)afterEndX=0;// front = interpolated cumulative width at `drive`\n    const fCells=Math.min(drive,N);{let x=0;const whole=Math.floor(fCells);for(let i=0;i<whole&&i<N;i++){const wb=bW[i]??0;const wa=aW[i]??0;const local=drive-i;const rt=scramble?clamp01(local/S):local>0?1:0;x+=wb+(wa-wb)*rt;}if(whole<N){const wb=bW[whole]??0;const wa=aW[whole]??0;const local=drive-whole;const rt=scramble?clamp01(local/S):local>0?1:0;x+=(wb+(wa-wb)*rt)*(fCells-whole);}frontX=x;}const barX=Math.min(frontX,afterEndX||acc);const shift=(pe-.5)*2*lineGap;const tf=`translate(calc(${barX}px - 50% + ${shift}px), -50%)`;if(barBeforeRef.current){barBeforeRef.current.style.transform=tf;barBeforeRef.current.style.opacity=`${1-pe}`;}if(barAfterRef.current){barAfterRef.current.style.transform=tf;barAfterRef.current.style.opacity=`${pe}`;}if(iconRef.current){iconRef.current.style.opacity=`${pe*iconOpacity}`;iconRef.current.style.pointerEvents=pe>.4?\"auto\":\"none\";}},[N,afterLen,scramble,scrambleSpan,lineGap,cells,rnd,colDim,colLit,iconOpacity,easeOut]);useLayoutEffect(()=>{if(isStatic)return;const sync=()=>{if(measure())applyFrame(pRef.current,0);};sync();if(typeof document!==\"undefined\"&&document.fonts?.ready){document.fonts.ready.then(sync).catch(()=>{});}// the component can mount inside a hidden variant (a closed menu) where\n// nothing is measurable; re-sync the moment it actually gets a size\nif(typeof ResizeObserver===\"undefined\"||!stageRef.current)return;const ro=new ResizeObserver(sync);ro.observe(stageRef.current);return()=>ro.disconnect();},[measure,applyFrame,isStatic]);useEffect(()=>{if(isStatic||typeof window===\"undefined\")return;const reduced=window.matchMedia?.(\"(prefers-reduced-motion: reduce)\").matches??false;const tick=now=>{const dur=durRef.current;let p;if(dur<=0)p=toRef.current;else{const t=Math.min(1,(now-startRef.current)/dur);p=fromRef.current+(toRef.current-fromRef.current)*t;if(t>=1)p=toRef.current;}pRef.current=p;applyFrame(p,now);if(dur>0&&p!==toRef.current){rafRef.current=requestAnimationFrame(tick);}else{runningRef.current=false;rafRef.current=0;}};starterRef.current=target=>{const from=pRef.current;if(from===target&&!runningRef.current)return;fromRef.current=from;toRef.current=target;startRef.current=typeof performance!==\"undefined\"?performance.now():Date.now();// retract (target < from) runs 2× faster than expand, no delay\nconst spd=target<from?speed/2:speed;durRef.current=reduced?0:spd*Math.abs(target-from);if(!runningRef.current){runningRef.current=true;rafRef.current=requestAnimationFrame(tick);}};const onKeyDownTab=e=>{if(e.key===\"Tab\")lastTabAt=nowMs();};window.addEventListener(\"keydown\",onKeyDownTab,{capture:true});return()=>{window.removeEventListener(\"keydown\",onKeyDownTab,{capture:true});if(rafRef.current)cancelAnimationFrame(rafRef.current);runningRef.current=false;starterRef.current=null;};},[isStatic,speed,applyFrame]);const play=t=>starterRef.current?.(t);const onEnter=()=>play(1);const onLeave=()=>{setPressed(false);play(0);};// keyboard focus reveals; a programmatic/mouse focus does not\nconst onFocus=()=>{if(nowMs()-lastTabAt>600)return;play(1);};const onBlur=()=>play(0);const onDown=e=>{setPressed(true);if(e.pointerType===\"touch\")play(1);};const onUp=()=>setPressed(false);// copy the \"after\" text (e.g. the email) to the clipboard\nconst doCopy=()=>{const text=afterText??\"\";if(!text||typeof document===\"undefined\")return;const fallback=()=>{try{const ta=document.createElement(\"textarea\");ta.value=text;ta.style.position=\"fixed\";ta.style.opacity=\"0\";document.body.appendChild(ta);ta.focus();ta.select();const ok=document.execCommand(\"copy\");document.body.removeChild(ta);return ok;}catch(e){return false;}};try{if(typeof navigator!==\"undefined\"&&navigator.clipboard&&window.isSecureContext){navigator.clipboard.writeText(text).then(()=>setCopied(true)).catch(()=>{if(fallback())setCopied(true);});return;}}catch(e){}if(fallback())setCopied(true);};const onKeyDown=e=>{if(e.key===\"Enter\"||e.key===\" \"){e.preventDefault();doCopy();}};// auto-hide the success message\nuseEffect(()=>{if(!copied||typeof window===\"undefined\")return;const id=window.setTimeout(()=>setCopied(false),1600);return()=>window.clearTimeout(id);},[copied]);const typeOf=f=>({fontFamily:f.fontFamily,fontWeight:f.fontWeight,fontStyle:f.fontStyle,fontSize:f.fontSize,letterSpacing:f.letterSpacing,lineHeight:f.lineHeight??1});const probe={position:\"absolute\",visibility:\"hidden\",whiteSpace:\"pre\",pointerEvents:\"none\",top:0,left:0};return /*#__PURE__*/_jsxs(\"span\",{role:\"button\",tabIndex:0,\"aria-label\":`Copy ${afterText||beforeText}`,onFocus:isStatic?undefined:onFocus,onBlur:isStatic?undefined:onBlur,onPointerDown:isStatic?undefined:onDown,onPointerUp:isStatic?undefined:onUp,onClick:isStatic?undefined:doCopy,onKeyDown:isStatic?undefined:onKeyDown,style:{position:\"relative\",display:\"inline-flex\",alignItems:\"center\",textDecoration:\"none\",lineHeight:1,margin:0,padding,paddingLeft:`calc(${lineThickness}px + ${lineGap}px)`,paddingRight:`calc(${lineThickness}px + ${lineGap}px)`,WebkitTapHighlightColor:\"transparent\",// Pass-through: the full box is sized to the wider of\n// before/after per cell, but only the hit-zone overlay below\n// (sized to the actual \"before\" text width) should respond\n// to the pointer. Descendants that need to stay interactive\n// (hit-zone, icon-on-reveal) set their own pointerEvents.\npointerEvents:\"none\",...style},children:[/*#__PURE__*/_jsxs(\"span\",{ref:stageRef,style:{position:\"relative\",display:\"inline-block\",whiteSpace:\"nowrap\",userSelect:\"none\"},children:[/*#__PURE__*/_jsx(\"span\",{ref:scaleRef,\"aria-hidden\":\"true\",style:{...probe,width:100,height:1}}),/*#__PURE__*/_jsx(\"span\",{ref:beforeProbeRef,\"aria-hidden\":\"true\",style:{...probe,...typeOf(beforeFont)},children:beforeText}),/*#__PURE__*/_jsx(\"span\",{ref:hitZoneRef,\"aria-hidden\":\"true\",onMouseEnter:isStatic?undefined:onEnter,onMouseLeave:isStatic?undefined:onLeave,style:{position:\"absolute\",top:0,left:0,bottom:0,width:0,pointerEvents:\"auto\",cursor:\"pointer\"}}),/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":\"true\",style:{display:\"flex\",alignItems:\"center\",visibility:\"hidden\",pointerEvents:\"none\"},children:cells.map((c,i)=>/*#__PURE__*/_jsxs(\"span\",{style:{display:\"inline-grid\",flex:\"0 0 auto\"},children:[/*#__PURE__*/_jsx(\"span\",{ref:el=>{sBeforeRefs.current[i]=el;},style:{gridArea:\"1 / 1\",whiteSpace:\"pre\",...typeOf(beforeFont)},children:c.before||\"\"}),/*#__PURE__*/_jsx(\"span\",{ref:el=>{sAfterRefs.current[i]=el;},style:{gridArea:\"1 / 1\",whiteSpace:\"pre\",...typeOf(afterFont)},children:c.after||\"\"})]},i))}),/*#__PURE__*/_jsx(\"span\",{style:{position:\"absolute\",top:0,left:0,bottom:0,display:\"flex\",alignItems:\"center\",justifyContent:\"flex-start\"},children:cells.map((c,i)=>/*#__PURE__*/_jsx(\"span\",{ref:el=>{cellRefs.current[i]=el;},\"aria-hidden\":\"true\",style:{position:\"relative\",display:\"inline-flex\",justifyContent:\"center\",flex:\"0 0 auto\",overflow:\"hidden\",...typeOf(afterFont)},children:/*#__PURE__*/_jsx(\"span\",{ref:el=>{glyphRefs.current[i]=el;},style:{whiteSpace:\"pre\",color:colDim,textAlign:\"center\"},children:c.before})},i))}),/*#__PURE__*/_jsx(\"span\",{ref:barBeforeRef,\"aria-hidden\":\"true\",style:{position:\"absolute\",left:0,top:\"50%\",width:lineThickness,height:`${lineHeight}em`,borderRadius:lineRadius,background:lineBeforeColor,transform:`translate(calc(-50% - ${lineGap}px), -50%)`,opacity:1,pointerEvents:\"none\",willChange:\"transform, opacity\"}}),/*#__PURE__*/_jsx(\"span\",{ref:barAfterRef,\"aria-hidden\":\"true\",style:{position:\"absolute\",left:0,top:\"50%\",width:lineThickness,height:`${lineHeight}em`,borderRadius:lineRadius,background:lineAfterColor,transform:`translate(calc(-50% - ${lineGap}px), -50%)`,opacity:0,pointerEvents:\"none\",willChange:\"transform, opacity\"}})]}),icon?/*#__PURE__*/_jsx(\"img\",{ref:iconRef,src:icon,alt:\"\",\"aria-hidden\":\"true\",draggable:false,style:{width:iconSize,height:iconSize,marginLeft:iconSpacing,flex:\"0 0 auto\",display:\"block\",objectFit:\"contain\",opacity:0,pointerEvents:\"none\",cursor:\"pointer\",willChange:\"opacity\"}}):null,/*#__PURE__*/_jsx(\"span\",{\"aria-live\":\"polite\",style:{position:\"absolute\",left:\"100%\",top:\"50%\",marginLeft:iconSpacing,transform:\"translateY(-50%)\",whiteSpace:\"nowrap\",pointerEvents:\"none\",color:successColor,...typeOf(successFont),opacity:copied?1:0,transition:\"opacity 0.2s ease-out\"},children:successText})]});}addPropertyControls(ScanRevealTextV3,{beforeText:{type:ControlType.String,title:\"Before\",defaultValue:\"EMAIL\"},afterText:{type:ControlType.String,title:\"After\",defaultValue:\"CONTACT@PIXELFOUNDRY.DESIGN\"},beforeFont:{type:ControlType.Font,title:\"Before Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{variant:\"Bold\",fontSize:\"14px\",letterSpacing:\"0.35em\",lineHeight:\"1em\"}},afterFont:{type:ControlType.Font,title:\"After Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{variant:\"Bold\",fontSize:\"14px\",letterSpacing:\"0.35em\",lineHeight:\"1em\"}},beforeColor:{type:ControlType.Color,title:\"Before Color\",defaultValue:\"rgb(92, 92, 92)\"},afterColor:{type:ControlType.Color,title:\"After Color\",defaultValue:\"rgb(199, 199, 199)\"},activeColor:{type:ControlType.Color,title:\"Active Color\",defaultValue:\"rgb(255, 255, 255)\",description:\"Text color while pressed\"},lineThickness:{type:ControlType.Number,title:\"Line Thickness\",defaultValue:3,min:1,max:16,step:1,unit:\"px\"},lineHeight:{type:ControlType.Number,title:\"Line Height\",defaultValue:1.45,min:.1,max:2,step:.05,unit:\"em\"},lineGap:{type:ControlType.Number,title:\"Line Gap\",defaultValue:7,min:0,max:48,step:1,unit:\"px\",description:\"Space before / after the text at rest\"},lineRadius:{type:ControlType.Number,title:\"Line Radius\",defaultValue:3,min:0,max:12,step:1,unit:\"px\"},lineBeforeColor:{type:ControlType.Color,title:\"Line Before\",defaultValue:\"rgb(222, 222, 222)\"},lineAfterColor:{type:ControlType.Color,title:\"Line After\",defaultValue:\"rgb(222, 222, 222)\"},scramble:{type:ControlType.Boolean,title:\"Scramble\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},scrambleSpan:{type:ControlType.Number,title:\"Scramble Length\",defaultValue:2.5,min:.5,max:8,step:.5,hidden:p=>!p.scramble,description:\"How many characters decode at once (front width)\"},scrambleChars:{type:ControlType.String,title:\"Charset\",defaultValue:\"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789/#*<>\",hidden:p=>!p.scramble},speed:{type:ControlType.Number,title:\"Speed\",defaultValue:860,min:150,max:2e3,step:20,unit:\"ms\"},ease:{type:ControlType.Number,title:\"Ease\",defaultValue:.23,min:.05,max:.6,step:.01,description:\"Ease-out curve — lower = snappier start\"},icon:{type:ControlType.File,title:\"Copy Icon\",allowedFileTypes:[\"svg\",\"png\"]},iconSize:{type:ControlType.Number,title:\"Icon Size\",defaultValue:14,min:8,max:48,step:1,unit:\"px\"},iconOpacity:{type:ControlType.Number,title:\"Icon Opacity\",defaultValue:.7,min:0,max:1,step:.05},iconSpacing:{type:ControlType.Number,title:\"Icon Spacing\",defaultValue:22,min:0,max:48,step:1,unit:\"px\"},successText:{type:ControlType.String,title:\"Success Text\",defaultValue:\"Mail Copied!\"},successFont:{type:ControlType.Font,title:\"Success Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"13px\",letterSpacing:\"0.1em\",lineHeight:\"1em\"}},successColor:{type:ControlType.Color,title:\"Success Color\",defaultValue:\"rgb(140, 140, 140)\"},padding:{type:ControlType.Padding,title:\"Padding\",defaultValue:\"0px\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ScanRevealTextV3\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"240\",\"framerIntrinsicHeight\":\"40\",\"framerSupportedLayoutWidth\":\"auto\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ScanRevealTextV3.map","// Generated by Framer (95da0c7)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,RichText,SVG,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const enabledGestures={asW_PdH9U:{hover:true}};const cycleOrder=[\"asW_PdH9U\",\"HplT9SjU1\"];const serializationHash=\"framer-41o56\";const variantClassNames={asW_PdH9U:\"framer-v-abbtd9\",HplT9SjU1:\"framer-v-6f9zm6\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const l_tmPMOed=undefined;const transition1={bounce:.5,delay:0,duration:.7,type:\"spring\"};const transition2={delay:0,duration:.2,ease:[.12,.23,.5,1],type:\"tween\"};const transformTemplate1=(_,t)=>`translateY(-50%) ${t}`;const transformTemplate2=(_,t)=>`translate(-50%, -50%) ${t}`;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={\"HAM CLOSED\":\"HplT9SjU1\",\"HAM OPEN\":\"asW_PdH9U\"};const Variants=motion.create(React.Fragment);const getProps=({click,height,id,width,...props})=>{return{...props,l_tmPMOed:click??props.l_tmPMOed,variant:humanReadableVariantMap[props.variant]??props.variant??\"asW_PdH9U\"};};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,l_tmPMOed,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"asW_PdH9U\",enabledGestures,ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTap1qoox4p=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});if(l_tmPMOed){const res=await l_tmPMOed(...args);if(res===false)return false;}});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,...addPropertyOverrides({HplT9SjU1:{value:transition2}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-abbtd9\",className,classNames),\"data-framer-name\":\"HAM OPEN\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"asW_PdH9U\",onTap:onTap1qoox4p,ref:refBinding,style:{...style},...addPropertyOverrides({\"asW_PdH9U-hover\":{\"data-framer-name\":undefined},HplT9SjU1:{\"data-framer-name\":\"HAM CLOSED\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1ju7brk\",\"data-framer-name\":\"Blur Container\",layoutDependency:layoutDependency,layoutId:\"ZMdOin_Zr\",style:{backdropFilter:\"blur(10px)\",backgroundColor:\"rgba(0, 0, 0, 0.25)\",borderBottomLeftRadius:5,borderBottomRightRadius:5,borderTopLeftRadius:5,borderTopRightRadius:5,WebkitBackdropFilter:\"blur(10px)\"},transformTemplate:transformTemplate1,children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"Q1VTVE9NVjI7T3duZXJzIFRSSUFMIFhOYXJyb3cgWEJsYWNr\",\"--framer-font-family\":'\"Owners TRIAL XNarrow XBlack\", \"Owners TRIAL XNarrow XBlack Placeholder\", sans-serif',\"--framer-font-size\":\"32px\",\"--framer-font-weight\":\"900\",\"--framer-line-height\":\"0.8em\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"MENU\"})}),className:\"framer-1kov518\",fonts:[\"CUSTOMV2;Owners TRIAL XNarrow XBlack\"],layoutDependency:layoutDependency,layoutId:\"qpHxfpwz5\",style:{\"--extracted-r6o4lv\":\"rgb(255, 255, 255)\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\",filter:\"blur(5px)\",opacity:0,WebkitFilter:\"blur(5px)\"},transformTemplate:transformTemplate2,variants:{\"asW_PdH9U-hover\":{\"--extracted-r6o4lv\":\"rgb(224, 224, 224)\",filter:\"blur(0px)\",opacity:1,WebkitFilter:\"blur(0px)\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({\"asW_PdH9U-hover\":{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"Q1VTVE9NVjI7T3duZXJzIFRSSUFMIFhOYXJyb3cgWEJsYWNr\",\"--framer-font-family\":'\"Owners TRIAL XNarrow XBlack\", \"Owners TRIAL XNarrow XBlack Placeholder\", sans-serif',\"--framer-font-size\":\"33px\",\"--framer-font-weight\":\"900\",\"--framer-letter-spacing\":\"0.03em\",\"--framer-line-height\":\"0.8em\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(224, 224, 224))\"},children:\"MENU\"})}),transformTemplate:transformTemplate1}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-19dfpaa\",\"data-framer-name\":\"Line\",layoutDependency:layoutDependency,layoutId:\"wytVVnvvN\",children:[/*#__PURE__*/_jsx(SVG,{className:\"framer-f8hwfo\",layoutDependency:layoutDependency,layoutId:\"fVoFbAvk2\",requiresOverflowVisible:true,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 30 1\" overflow=\"visible\"><path d=\"M 0 0 L 30 0\" fill=\"transparent\" stroke-width=\"9\" stroke=\"rgb(224, 224, 224)\" stroke-linecap=\"square\"></path></svg>',variants:{HplT9SjU1:{rotate:17}},withExternalLayout:true,...addPropertyOverrides({HplT9SjU1:{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 26 14\" overflow=\"visible\"><path d=\"M 0 0 L 26 14\" fill=\"transparent\" stroke-width=\"9\" stroke=\"rgb(224, 224, 224)\" stroke-linecap=\"square\"></path></svg>'}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(SVG,{className:\"framer-1dxp5wu\",layoutDependency:layoutDependency,layoutId:\"Z5u8Ym_Fz\",requiresOverflowVisible:true,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 30 1\" overflow=\"visible\"><path d=\"M 0 0 L 30 0\" fill=\"transparent\" stroke-width=\"9\" stroke=\"rgb(224, 224, 224)\" stroke-linecap=\"square\"></path></svg>',variants:{HplT9SjU1:{rotate:-20}},withExternalLayout:true,...addPropertyOverrides({HplT9SjU1:{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 26 13.757\" overflow=\"visible\"><path d=\"M 0 13.757 L 26 0\" fill=\"transparent\" stroke-width=\"9\" stroke=\"rgb(224, 224, 224)\" stroke-linecap=\"square\"></path></svg>'}},baseVariant,gestureVariant)})]})]})})})})});});const css=[\".framer-41o56.framer-gsztnv, .framer-41o56 .framer-gsztnv { display: block; }\",\".framer-41o56.framer-abbtd9 { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: flex-end; min-height: 56px; min-width: 200px; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: min-content; }\",\".framer-41o56 .framer-1ju7brk { align-content: flex-end; align-items: flex-end; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 13px; height: min-content; justify-content: flex-end; min-height: 51px; min-width: 66px; overflow: var(--overflow-clip-fallback, clip); padding: 15px; position: absolute; right: 0px; top: 50%; width: min-content; will-change: var(--framer-will-change-override, transform); z-index: 1; }\",\".framer-41o56 .framer-1kov518 { flex: none; height: auto; left: 50%; position: absolute; top: 49%; white-space: pre; width: auto; z-index: 1; }\",\".framer-41o56 .framer-19dfpaa { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; min-height: 15px; min-width: 30px; overflow: visible; padding: 0px; position: absolute; right: 6px; top: 7px; width: min-content; z-index: 1; }\",\".framer-41o56 .framer-f8hwfo { height: 1px; left: -11px; position: absolute; top: 11px; width: 30px; }\",\".framer-41o56 .framer-1dxp5wu { height: 1px; left: -11px; position: absolute; top: 25px; width: 30px; }\",\".framer-41o56.framer-v-6f9zm6 .framer-f8hwfo { height: 14px; left: -10px; width: 26px; }\",\".framer-41o56.framer-v-6f9zm6 .framer-1dxp5wu { height: 14px; left: -10px; top: 11px; width: 26px; }\",\".framer-41o56.framer-v-abbtd9.hover .framer-1ju7brk { min-width: unset; width: 139px; }\",\".framer-41o56.framer-v-abbtd9.hover .framer-1kov518 { left: 13px; top: 51%; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 56\n * @framerIntrinsicWidth 200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]},\"HplT9SjU1\":{\"layout\":[\"auto\",\"auto\"]},\"ykkcTkbvX\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerVariables {\"l_tmPMOed\":\"click\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FrameriFaBAD1Yk=withCSS(Component,css,\"framer-41o56\");export default FrameriFaBAD1Yk;FrameriFaBAD1Yk.displayName=\"hamburger menu\";FrameriFaBAD1Yk.defaultProps={height:56,width:200};addPropertyControls(FrameriFaBAD1Yk,{variant:{options:[\"asW_PdH9U\",\"HplT9SjU1\"],optionTitles:[\"HAM OPEN\",\"HAM CLOSED\"],title:\"Variant\",type:ControlType.Enum},l_tmPMOed:{title:\"Click\",type:ControlType.EventHandler}});addFonts(FrameriFaBAD1Yk,[{explicitInter:true,fonts:[{cssFamilyName:\"Owners TRIAL XNarrow XBlack\",source:\"custom\",style:\"normal\",uiFamilyName:\"Owners TRIAL XNarrow\",url:\"https://framerusercontent.com/assets/JOCH9rk0PbrV85HLdR0XqP7MqI.woff2\",weight:\"900\"}]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FrameriFaBAD1Yk\",\"slots\":[],\"annotations\":{\"framerDisplayContentsDiv\":\"false\",\"framerVariables\":\"{\\\"l_tmPMOed\\\":\\\"click\\\"}\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"HplT9SjU1\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"ykkcTkbvX\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerAutoSizeImages\":\"true\",\"framerIntrinsicWidth\":\"200\",\"framerIntrinsicHeight\":\"56\",\"framerContractVersion\":\"1\",\"framerImmutableVariables\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerColorSyntax\":\"true\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./iFaBAD1Yk.map","// Generated by Framer (31f3ac5)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,CycleVariantState,forwardLoader,getFonts,ResolveLinks,runTasksWithYield,SmartComponentScopedContainer,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useRouter,useVariantState,withCSS,withFX}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import ScanRevealTextV2 from\"https://framerusercontent.com/modules/AVQPtvFCuPGxC5EcjX4d/fBDFvOa0KKWceQxX8QvN/ScanRevealTextV2.js\";import ScanRevealTextV3 from\"https://framerusercontent.com/modules/EoyFvFplu22OXlXXSTaK/fH730sLejsYXeByWrbn3/ScanRevealTextV3.js\";import SpecularMenuLink from\"https://framerusercontent.com/modules/Hc0ujMV3T7LkKvIWYg5X/ga3qUQCtJGEMrQHZbYCe/SpecularMenuLink.js\";import HamburgerMenu from\"https://framerusercontent.com/modules/U7xiADgDkgEX8tFqeBsa/47llNHj4DeycX1HdK17H/iFaBAD1Yk.js\";const ScanRevealTextV3Fonts=getFonts(ScanRevealTextV3);const ScanRevealTextV2Fonts=getFonts(ScanRevealTextV2);const SpecularMenuLinkFonts=getFonts(SpecularMenuLink);const MotionDivWithFX=withFX(motion.div);const HamburgerMenuFonts=getFonts(HamburgerMenu);const cycleOrder=[\"XCJSrH82D\",\"gte9q1Tyc\"];const serializationHash=\"framer-Md7zy\";const variantClassNames={gte9q1Tyc:\"framer-v-126p26x\",XCJSrH82D:\"framer-v-17l3dzl\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={duration:0,type:\"tween\"};const transformTemplate1=(_,t)=>`translateX(-50%) ${t}`;const animation={opacity:0,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,x:0,y:20};const transition2={delay:0,duration:.7,ease:[.06,.78,.51,1.07],type:\"tween\"};const animation1={opacity:0,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition2,x:0,y:20};const transition3={delay:.1,duration:.7,ease:[.06,.78,.51,1.07],type:\"tween\"};const animation2={opacity:0,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition3,x:0,y:20};const transition4={delay:.2,duration:.7,ease:[.06,.78,.51,1.07],type:\"tween\"};const animation3={opacity:0,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition4,x:0,y:20};const transition5={delay:.3,duration:.7,ease:[.06,.78,.51,1.07],type:\"tween\"};const animation4={opacity:0,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition5,x:0,y:20};const matchVariant=(...args)=>{for(const arg of args){if(arg&&typeof arg===\"string\")return arg;}return undefined;};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={\"Closed Variant Navbar\":\"gte9q1Tyc\",\"Open Variant Navbar\":\"XCJSrH82D\"};const Variants=motion.create(React.Fragment);const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"XCJSrH82D\"};};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:\"XCJSrH82D\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTap1jvtfux=activeVariantCallback(async(...args)=>{setVariant(\"gte9q1Tyc\");});const router=useRouter();const l_tmPMOedgnqhaj=activeVariantCallback(async(...args)=>{setVariant(CycleVariantState);});return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-17l3dzl\",className,classNames),\"data-framer-name\":\"Open Variant Navbar\",layoutDependency:layoutDependency,layoutId:\"XCJSrH82D\",ref:refBinding,style:{...style},...addPropertyOverrides({gte9q1Tyc:{\"data-framer-name\":\"Closed Variant Navbar\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-ry9e2t\",\"data-framer-name\":\"Main content\",layoutDependency:layoutDependency,layoutId:\"vkq9Q4Wil\",style:{backgroundColor:\"rgb(0, 0, 0)\"},variants:{gte9q1Tyc:{backgroundColor:\"rgba(0, 0, 0, 0)\"}},children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-ciudzb\",\"data-framer-name\":\"Bottom\",layoutDependency:layoutDependency,layoutId:\"otYHVTBns\",transformTemplate:transformTemplate1,children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1g9l2ps\",\"data-framer-name\":\"Links\",layoutDependency:layoutDependency,layoutId:\"q3TmAsPgR\",children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1693pdn-container\",\"data-code-component-plugin-id\":\"api\",isAuthoredByUser:true,layoutDependency:layoutDependency,layoutId:\"y0pdGPjny-container\",nodeId:\"y0pdGPjny\",rendersWithMotion:true,scopeId:\"ylkDQqABm\",children:/*#__PURE__*/_jsx(ScanRevealTextV3,{activeColor:\"rgb(255, 255, 255)\",afterColor:\"rgb(199, 199, 199)\",afterFont:{fontFamily:'\"Geist\", \"Geist Placeholder\", sans-serif',fontSize:\"12px\",fontStyle:\"normal\",fontWeight:700,letterSpacing:\"0.35em\",lineHeight:\"1em\"},afterText:\"CONTACT@PIXELFOUNDRY.DESIGN\",beforeColor:\"rgb(92, 92, 92)\",beforeFont:{fontFamily:'\"Geist\", \"Geist Placeholder\", sans-serif',fontSize:\"12px\",fontStyle:\"normal\",fontWeight:700,letterSpacing:\"0.35em\",lineHeight:\"1em\"},beforeText:\"EMAIL\",ease:.23,height:\"100%\",iconOpacity:.7,iconSize:14,iconSpacing:22,id:\"y0pdGPjny\",layoutId:\"y0pdGPjny\",lineAfterColor:\"rgb(222, 222, 222)\",lineBeforeColor:\"rgb(222, 222, 222)\",lineGap:7,lineHeight:1.45,lineRadius:3,lineThickness:3,padding:\"0px\",scramble:true,scrambleChars:\"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789/#*<>\",scrambleSpan:2.5,speed:860,successColor:\"rgb(140, 140, 140)\",successFont:{fontFamily:'\"Proxima Soft Light Italic\", \"Proxima Soft Light Italic Placeholder\", sans-serif',fontSize:\"13px\",fontStyle:\"italic\",fontWeight:300,letterSpacing:\"0.1em\",lineHeight:\"1em\"},successText:\"Mail Copied!\",width:\"100%\"})})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-wbcpek\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"KXWvXA0Yh\",onTap:onTap1jvtfux,children:/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{webPageId:\"kXTAhPnP6\"},implicitPathVariables:undefined},{href:{webPageId:\"kXTAhPnP6\"},implicitPathVariables:undefined}],children:resolvedLinks=>/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1salocy-container\",\"data-code-component-plugin-id\":\"api\",isAuthoredByUser:true,layoutDependency:layoutDependency,layoutId:\"yyhIr2zVh-container\",nodeId:\"yyhIr2zVh\",rendersWithMotion:true,scopeId:\"ylkDQqABm\",children:/*#__PURE__*/_jsx(ScanRevealTextV2,{activeColor:\"rgb(255, 255, 255)\",afterColor:\"rgb(179, 179, 179)\",afterFont:{fontFamily:'\"Geist\", \"Geist Placeholder\", sans-serif',fontSize:\"12px\",fontStyle:\"normal\",fontWeight:700,letterSpacing:\"0.35em\",lineHeight:\"1em\",textAlign:\"left\"},afterText:\"LET'S START A PROJECT\",beforeColor:\"rgb(87, 87, 87)\",beforeFont:{fontFamily:'\"Geist\", \"Geist Placeholder\", sans-serif',fontSize:\"12px\",fontStyle:\"normal\",fontWeight:700,letterSpacing:\"0.35em\",lineHeight:\"1em\",textAlign:\"left\"},beforeText:\"HAVE AN IDEA WORTH MAKING?\",height:\"100%\",id:\"yyhIr2zVh\",layoutId:\"yyhIr2zVh\",lineAfterColor:\"rgb(222, 222, 222)\",lineBeforeColor:\"rgb(222, 222, 222)\",lineGap:7,lineHeight:1.45,lineRadius:3,lineThickness:3,link:resolvedLinks[0],newTab:false,padding:\"0px\",scramble:true,scrambleChars:\"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789/#*<>\",scrambleSpan:2.5,speed:850,width:\"100%\",...addPropertyOverrides({gte9q1Tyc:{link:resolvedLinks[1]}},baseVariant,gestureVariant)})})})})})]})}),/*#__PURE__*/_jsx(MotionDivWithFX,{__framer__animate:{transition:transition2},__framer__animateOnce:false,__framer__enter:animation,__framer__exit:animation1,__framer__styleAppearEffectEnabled:true,__framer__threshold:.5,__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,className:\"framer-1gp3z5v\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"pXDJsW0iN\",onTap:onTap1jvtfux,children:/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{webPageId:\"augiA20Il\"},implicitPathVariables:undefined},{href:{webPageId:\"augiA20Il\"},implicitPathVariables:undefined}],children:resolvedLinks1=>/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-hp3puj-container\",\"data-code-component-plugin-id\":\"api\",isAuthoredByUser:true,layoutDependency:layoutDependency,layoutId:\"T6LxWMHEc-container\",nodeId:\"T6LxWMHEc\",rendersWithMotion:true,scopeId:\"ylkDQqABm\",children:/*#__PURE__*/_jsx(SpecularMenuLink,{clip:false,duration:800,easing:\"soft\",fillDelay:300,fluid:true,fluidMin:30,fluidRef:1440,font:{fontFamily:'\"Owners TRIAL XNarrow XBlack\", \"Owners TRIAL XNarrow XBlack Placeholder\", sans-serif',fontSize:\"140px\",fontStyle:\"normal\",fontWeight:900,letterSpacing:\"0.03em\",lineHeight:\"0.8em\"},height:\"100%\",hitPad:0,hoverAngle:180,hoverColor:\"rgb(214, 214, 214)\",hoverColorB:\"rgb(64, 64, 64)\",hoverMode:\"gradient\",hoverOpacity:100,id:\"T6LxWMHEc\",layoutId:\"T6LxWMHEc\",link:resolvedLinks1[0],newTab:false,previewHover:false,restAngle:180,restColor:\"rgb(181, 181, 181)\",restColorB:\"rgb(0, 0, 0)\",restMode:\"gradient\",restOpacity:34,specAngle:105,specBand:34,specColor:\"rgb(255, 255, 255)\",specDir:\"rtl\",specDuration:640,specGlow:15,specHold:.22,specOn:true,specOpacity:100,specWidth:.25,text:\"HOME\",touchLit:true,trim:true,width:\"100%\",zoom:5,...addPropertyOverrides({gte9q1Tyc:{link:resolvedLinks1[1]}},baseVariant,gestureVariant)})})})})}),/*#__PURE__*/_jsx(MotionDivWithFX,{__framer__animate:{transition:transition3},__framer__animateOnce:false,__framer__enter:animation,__framer__exit:animation2,__framer__styleAppearEffectEnabled:true,__framer__threshold:.5,__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,className:\"framer-1vm43b7\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"r8hJP6F3q\",onTap:onTap1jvtfux,children:/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{webPageId:\"TaQSzIlvP\"},implicitPathVariables:undefined},{href:{webPageId:\"TaQSzIlvP\"},implicitPathVariables:undefined}],children:resolvedLinks2=>/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-mwrss3-container\",\"data-code-component-plugin-id\":\"api\",isAuthoredByUser:true,layoutDependency:layoutDependency,layoutId:\"FipCHUffN-container\",nodeId:\"FipCHUffN\",rendersWithMotion:true,scopeId:\"ylkDQqABm\",children:/*#__PURE__*/_jsx(SpecularMenuLink,{clip:false,duration:800,easing:\"soft\",fillDelay:300,fluid:true,fluidMin:30,fluidRef:1440,font:{fontFamily:'\"Owners TRIAL XNarrow XBlack\", \"Owners TRIAL XNarrow XBlack Placeholder\", sans-serif',fontSize:\"140px\",fontStyle:\"normal\",fontWeight:900,letterSpacing:\"0.03em\",lineHeight:\"0.8em\"},height:\"100%\",hitPad:0,hoverAngle:180,hoverColor:\"rgb(214, 214, 214)\",hoverColorB:\"rgb(64, 64, 64)\",hoverMode:\"gradient\",hoverOpacity:100,id:\"FipCHUffN\",layoutId:\"FipCHUffN\",link:resolvedLinks2[0],newTab:false,previewHover:false,restAngle:180,restColor:\"rgb(181, 181, 181)\",restColorB:\"rgb(0, 0, 0)\",restMode:\"gradient\",restOpacity:34,specAngle:105,specBand:34,specColor:\"rgb(255, 255, 255)\",specDir:\"rtl\",specDuration:640,specGlow:15,specHold:.22,specOn:true,specOpacity:100,specWidth:.25,text:\"ABOUT US\",touchLit:true,trim:true,width:\"100%\",zoom:5,...addPropertyOverrides({gte9q1Tyc:{link:resolvedLinks2[1]}},baseVariant,gestureVariant)})})})})}),/*#__PURE__*/_jsx(MotionDivWithFX,{__framer__animate:{transition:transition4},__framer__animateOnce:false,__framer__enter:animation,__framer__exit:animation3,__framer__styleAppearEffectEnabled:true,__framer__threshold:.5,__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,className:\"framer-g0oyks\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"FNxkLVFa7\",onTap:onTap1jvtfux,children:/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{webPageId:\"kXTAhPnP6\"},implicitPathVariables:undefined},{href:{webPageId:\"kXTAhPnP6\"},implicitPathVariables:undefined}],children:resolvedLinks3=>/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1dn093i-container\",\"data-code-component-plugin-id\":\"api\",isAuthoredByUser:true,layoutDependency:layoutDependency,layoutId:\"FqE5_pRKl-container\",nodeId:\"FqE5_pRKl\",rendersWithMotion:true,scopeId:\"ylkDQqABm\",children:/*#__PURE__*/_jsx(SpecularMenuLink,{clip:false,duration:800,easing:\"soft\",fillDelay:300,fluid:true,fluidMin:30,fluidRef:1440,font:{fontFamily:'\"Owners TRIAL XNarrow XBlack\", \"Owners TRIAL XNarrow XBlack Placeholder\", sans-serif',fontSize:\"140px\",fontStyle:\"normal\",fontWeight:900,letterSpacing:\"0.03em\",lineHeight:\"0.8em\"},height:\"100%\",hitPad:0,hoverAngle:180,hoverColor:\"rgb(214, 214, 214)\",hoverColorB:\"rgb(64, 64, 64)\",hoverMode:\"gradient\",hoverOpacity:100,id:\"FqE5_pRKl\",layoutId:\"FqE5_pRKl\",link:resolvedLinks3[0],newTab:false,previewHover:false,restAngle:180,restColor:\"rgb(181, 181, 181)\",restColorB:\"rgb(0, 0, 0)\",restMode:\"gradient\",restOpacity:34,specAngle:105,specBand:34,specColor:\"rgb(255, 255, 255)\",specDir:\"rtl\",specDuration:640,specGlow:15,specHold:.22,specOn:true,specOpacity:100,specWidth:.25,text:\"CONTACT US\",touchLit:true,trim:true,width:\"100%\",zoom:5,...addPropertyOverrides({gte9q1Tyc:{link:resolvedLinks3[1]}},baseVariant,gestureVariant)})})})})}),/*#__PURE__*/_jsx(MotionDivWithFX,{__framer__animate:{transition:transition5},__framer__animateOnce:false,__framer__enter:animation,__framer__exit:animation4,__framer__styleAppearEffectEnabled:true,__framer__threshold:.5,__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,className:\"framer-1c4gqa5\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"d09YfU_BC\",onTap:onTap1jvtfux,children:/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{hash:\":ZldokuxFX\",webPageId:\"augiA20Il\"},implicitPathVariables:undefined},{href:{hash:\":ZldokuxFX\",webPageId:\"augiA20Il\"},implicitPathVariables:undefined}],children:resolvedLinks4=>/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-94ruge-container\",\"data-code-component-plugin-id\":\"api\",isAuthoredByUser:true,layoutDependency:layoutDependency,layoutId:\"XUU69FAV_-container\",nodeId:\"XUU69FAV_\",rendersWithMotion:true,scopeId:\"ylkDQqABm\",children:/*#__PURE__*/_jsx(SpecularMenuLink,{clip:false,duration:800,easing:\"soft\",fillDelay:300,fluid:true,fluidMin:30,fluidRef:1440,font:{fontFamily:'\"Owners TRIAL XNarrow XBlack\", \"Owners TRIAL XNarrow XBlack Placeholder\", sans-serif',fontSize:\"140px\",fontStyle:\"normal\",fontWeight:900,letterSpacing:\"0.03em\",lineHeight:\"0.8em\"},height:\"100%\",hitPad:0,hoverAngle:180,hoverColor:\"rgb(214, 214, 214)\",hoverColorB:\"rgb(64, 64, 64)\",hoverMode:\"gradient\",hoverOpacity:100,id:\"XUU69FAV_\",layoutId:\"XUU69FAV_\",link:resolvedLinks4[0],newTab:false,previewHover:false,restAngle:180,restColor:\"rgb(181, 181, 181)\",restColorB:\"rgb(0, 0, 0)\",restMode:\"gradient\",restOpacity:34,specAngle:105,specBand:34,specColor:\"rgb(255, 255, 255)\",specDir:\"rtl\",specDuration:640,specGlow:15,specHold:.22,specOn:true,specOpacity:100,specWidth:.25,text:\"DESIGN LIBRARY\",touchLit:true,trim:true,width:\"100%\",zoom:5,...addPropertyOverrides({gte9q1Tyc:{link:resolvedLinks4[1]}},baseVariant,gestureVariant)})})})})})]}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-1apk1o0\",\"data-framer-name\":\"Top Bar\",layoutDependency:layoutDependency,layoutId:\"t7EWtLsPH\",style:{backgroundColor:\"rgba(0, 0, 0, 0)\"},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:56,y:(componentViewport?.y||0)+0+22,children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1r3zgwr-container\",layoutDependency:layoutDependency,layoutId:\"EAJWK7E05-container\",nodeId:\"EAJWK7E05\",rendersWithMotion:true,scopeId:\"ylkDQqABm\",children:/*#__PURE__*/_jsx(HamburgerMenu,{height:\"100%\",id:\"EAJWK7E05\",l_tmPMOed:l_tmPMOedgnqhaj,layoutId:\"EAJWK7E05\",variant:matchVariant(\"HplT9SjU1\"),width:\"100%\",...addPropertyOverrides({gte9q1Tyc:{variant:matchVariant(\"asW_PdH9U\")}},baseVariant,gestureVariant)})})})})]})})})});});const css=[\".framer-Md7zy.framer-1rne38s, .framer-Md7zy .framer-1rne38s { display: block; }\",\".framer-Md7zy.framer-17l3dzl { align-content: center; align-items: center; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: min-content; }\",\".framer-Md7zy .framer-ry9e2t { align-content: center; align-items: center; align-self: stretch; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 42px; height: calc(var(--framer-viewport-height, 100vh) * 1); justify-content: center; min-height: calc(var(--framer-viewport-height, 100vh) * 1); overflow: visible; padding: 0px; position: relative; width: auto; }\",\".framer-Md7zy .framer-ciudzb { align-content: center; align-items: center; bottom: 0px; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; left: 50%; max-width: 95%; overflow: visible; padding: 0px 0px 42px 0px; position: absolute; width: 95%; z-index: 1; }\",\".framer-Md7zy .framer-1g9l2ps { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 16px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-Md7zy .framer-1693pdn-container, .framer-Md7zy .framer-1salocy-container { flex: none; height: auto; position: relative; width: auto; z-index: 1; }\",\".framer-Md7zy .framer-wbcpek, .framer-Md7zy .framer-1gp3z5v, .framer-Md7zy .framer-1vm43b7, .framer-Md7zy .framer-g0oyks, .framer-Md7zy .framer-1c4gqa5 { align-content: center; align-items: center; cursor: pointer; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-Md7zy .framer-hp3puj-container, .framer-Md7zy .framer-mwrss3-container, .framer-Md7zy .framer-1dn093i-container, .framer-Md7zy .framer-94ruge-container { flex: none; height: auto; position: relative; width: auto; }\",\".framer-Md7zy .framer-1apk1o0 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: 100px; justify-content: flex-end; left: 48px; max-width: 95%; overflow: var(--overflow-clip-fallback, clip); padding: 0px 20px 0px 17px; position: absolute; right: 48px; top: 0px; z-index: 1; }\",\".framer-Md7zy .framer-1r3zgwr-container { -webkit-user-select: none; flex: none; height: auto; position: relative; user-select: none; width: auto; }\",\".framer-Md7zy.framer-v-126p26x.framer-17l3dzl { height: 100px; justify-content: flex-start; mix-blend-mode: difference; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 1080\n * @framerIntrinsicWidth 810\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]},\"gte9q1Tyc\":{\"layout\":[\"auto\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerylkDQqABm=withCSS(Component,css,\"framer-Md7zy\");export default FramerylkDQqABm;FramerylkDQqABm.displayName=\"Navbar Pixel draft\";FramerylkDQqABm.defaultProps={height:1080,width:810};addPropertyControls(FramerylkDQqABm,{variant:{options:[\"XCJSrH82D\",\"gte9q1Tyc\"],optionTitles:[\"Open Variant Navbar\",\"Closed Variant Navbar\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerylkDQqABm,[{explicitInter:true,fonts:[{cssFamilyName:\"Geist\",source:\"google\",style:\"normal\",uiFamilyName:\"Geist\",url:\"https://fonts.gstatic.com/s/geist/v5/gyBhhwUxId8gMGYQMKR3pzfaWI_Re-Q4mJPby1QNtA.woff2\",weight:\"700\"},{cssFamilyName:\"Proxima Soft Light Italic\",source:\"custom\",style:\"italic\",uiFamilyName:\"Proxima Soft\",url:\"https://framerusercontent.com/assets/C5dNbcvY7VJpr4weQyNO6jyNacI.woff2\",weight:\"300\"},{cssFamilyName:\"Owners TRIAL XNarrow XBlack\",source:\"custom\",style:\"normal\",uiFamilyName:\"Owners TRIAL XNarrow\",url:\"https://framerusercontent.com/assets/JOCH9rk0PbrV85HLdR0XqP7MqI.woff2\",weight:\"900\"}]},...ScanRevealTextV3Fonts,...ScanRevealTextV2Fonts,...SpecularMenuLinkFonts,...HamburgerMenuFonts],{supportsExplicitInterCodegen:true});FramerylkDQqABm.loader={load:(props,context)=>{return runTasksWithYield([()=>forwardLoader(HamburgerMenu,{},context)],context);}};\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerylkDQqABm\",\"slots\":[],\"annotations\":{\"framerColorSyntax\":\"true\",\"framerIntrinsicHeight\":\"1080\",\"framerImmutableVariables\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"gte9q1Tyc\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"fixed\\\"]}}}\",\"framerIntrinsicWidth\":\"810\",\"framerContractVersion\":\"1\",\"framerAutoSizeImages\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerDisplayContentsDiv\":\"false\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useRef}from\"react\";import{RenderTarget}from\"framer\";/**\n * MenuScrollLock — PixelFoundry\n *\n * Applied to the PLACED navbar instance (not the shared component), so nothing\n * inside \"Navbar Pixel draft\" — and no other component, style or asset — is touched.\n *\n * Open/closed is derived from the instance's own rendered height (≈100px closed,\n * ≈viewport open). That is self-synchronising: it cannot desync from the variant,\n * whatever opens or closes the menu (hamburger, link tap, a future control).\n *\n * While open:\n *   • wheel / touchmove are cancelled in the CAPTURE phase on window, so they are\n *     killed before Lenis (or any smooth-scroll lib) or the native scroller sees them.\n *     No body { position: fixed } hack → no scroll-position jump, no layout shift.\n *   • scroll keys (space, arrows, PageUp/Down, Home/End) are cancelled unless the\n *     user is typing in a field.\n *   • everything behind the overlay gets `inert` → not clickable, not tabbable, and\n *     hidden from screen readers. This is what actually stops interaction underneath;\n *     a transparent fill only blocks the mouse.\n *   • focus moves to the first menu link; on close it returns to the hamburger.\n *   • Escape closes the menu.\n *\n * Canvas-safe: all of this is skipped while rendering on the Framer canvas.\n */const SCROLL_KEYS=new Set([\"ArrowUp\",\"ArrowDown\",\"PageUp\",\"PageDown\",\"Home\",\"End\",\" \",\"Spacebar\"]);function isTypingTarget(target){const el=target;if(!el||!el.tagName)return false;if(el.isContentEditable)return true;return/^(INPUT|TEXTAREA|SELECT)$/.test(el.tagName);}/** Can this element (or an ancestor up to `stopAt`) actually scroll in `deltaY`? */function scrollableWithin(target,stopAt,deltaY){let el=target;while(el&&el!==stopAt.parentElement){const style=getComputedStyle(el);const canScroll=/(auto|scroll|overlay)/.test(style.overflowY)&&el.scrollHeight>el.clientHeight+1;if(canScroll){const atTop=el.scrollTop<=0;const atBottom=el.scrollTop+el.clientHeight>=el.scrollHeight-1;if(!(deltaY<0&&atTop||deltaY>0&&atBottom))return true;}el=el.parentElement;}return false;}export function withMenuScrollLock(Component){return props=>{const ref=useRef(null);useEffect(()=>{if(RenderTarget.current()===RenderTarget.canvas)return;if(typeof window===\"undefined\")return;// Resolve our own DOM element. Prefer the forwarded ref; fall back to\n// locating the fixed, high-z-index navbar so the lock still works even\n// if Framer does not forward a ref to this instance.\nconst resolveRoot=()=>{if(ref.current)return ref.current;const named=document.querySelector('[data-framer-name*=\"Navbar\" i]');if(named&&getComputedStyle(named).position===\"fixed\")return named;for(const el of Array.from(document.querySelectorAll(\"div\"))){const cs=getComputedStyle(el);if(cs.position===\"fixed\"&&parseInt(cs.zIndex||\"0\",10)>=9&&el.getBoundingClientRect().top<=1&&el.querySelector('[data-framer-name*=\"Top Bar\" i]'))return el;}return null;};let teardown=()=>{};let root=resolveRoot();let raf=0;if(!root){// Framer can hydrate a frame or two after our effect runs.\nlet tries=0;const retry=()=>{root=resolveRoot();if(root){start(root);}else if(++tries<30){raf=requestAnimationFrame(retry);}};raf=requestAnimationFrame(retry);return()=>{cancelAnimationFrame(raf);teardown();};}function start(root){let locked=false;let inerted=[];let lastFocused=null;const closeMenu=()=>{// Re-uses the existing hamburger toggle rather than touching variants.\nconst toggle=root.querySelector('[data-framer-name*=\"hamburger\" i], [data-framer-name*=\"Top Bar\" i] [tabindex], [data-framer-name*=\"Top Bar\" i] a, [data-framer-name*=\"Top Bar\" i] div[role]');toggle?.click();};const onWheel=e=>{if(scrollableWithin(e.target,root,e.deltaY))return;e.preventDefault();e.stopPropagation();};const onTouchMove=e=>{if(scrollableWithin(e.target,root,0))return;e.preventDefault();e.stopPropagation();};const onKeyDown=e=>{if(e.key===\"Escape\"){e.preventDefault();closeMenu();return;}if(isTypingTarget(e.target))return;if(SCROLL_KEYS.has(e.key)){e.preventDefault();e.stopPropagation();}};/** inert everything that is not on the overlay's own branch */const setBackgroundInert=()=>{inerted=[];let node=root;while(node&&node!==document.body&&node.parentElement){const parent=node.parentElement;for(const sib of Array.from(parent.children)){const el=sib;if(el===node)continue;if(el.hasAttribute(\"inert\"))continue;// leave pre-existing inert alone\nel.setAttribute(\"inert\",\"\");inerted.push(el);}node=parent;}};const clearBackgroundInert=()=>{for(const el of inerted)el.removeAttribute(\"inert\");inerted=[];};const lock=()=>{if(locked)return;locked=true;lastFocused=document.activeElement;root.style.overscrollBehavior=\"contain\";window.addEventListener(\"wheel\",onWheel,{passive:false,capture:true});window.addEventListener(\"touchmove\",onTouchMove,{passive:false,capture:true});window.addEventListener(\"keydown\",onKeyDown,{capture:true});setBackgroundInert();// move focus into the overlay\nconst first=root.querySelector('a[href], button, [tabindex]:not([tabindex=\"-1\"])');first?.focus({preventScroll:true});};const unlock=()=>{if(!locked)return;locked=false;root.style.overscrollBehavior=\"\";window.removeEventListener(\"wheel\",onWheel,{capture:true});window.removeEventListener(\"touchmove\",onTouchMove,{capture:true});window.removeEventListener(\"keydown\",onKeyDown,{capture:true});clearBackgroundInert();lastFocused?.focus?.({preventScroll:true});lastFocused=null;};// Open when the instance grows to fill the viewport.\nconst evaluate=()=>{const open=root.getBoundingClientRect().height>window.innerHeight*.5;if(open)lock();else unlock();};const ro=new ResizeObserver(evaluate);ro.observe(root);window.addEventListener(\"resize\",evaluate);evaluate();teardown=()=>{ro.disconnect();window.removeEventListener(\"resize\",evaluate);unlock();};}start(root);return()=>{cancelAnimationFrame(raf);teardown();};},[]);return /*#__PURE__*/_jsx(Component,{...props,ref:ref});};}\nexport const __FramerMetadata__ = {\"exports\":{\"withMenuScrollLock\":{\"type\":\"reactHoc\",\"name\":\"withMenuScrollLock\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./MenuScrollLock.map"],"mappings":"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"}