{"version":3,"file":"9DDDDjc5QAyEV60XIYCDYknpQCA_LYvYxTxDkSwG5jA.DzaDAr1L.mjs","names":["useMemo","useState","props","useRef","Navigation","Feather","CatalogueItem","Footer","props","useRef","React.useId","Ai_articles","React.useMemo","metadataProvider","sharedStyle.className","sharedStyle1.className","sharedStyle2.className","sharedStyle3.className","sharedStyle4.className","sharedStyle5.className","sharedStyle6.className","sharedStyle7.className","sharedStyle8.className","sharedStyle9.className","sharedStyle10.className","React.useRef","className","PropertyOverrides","RichText","React.Fragment","\"aAbJo1xAm\"","sharedStyle.css","sharedStyle1.css","sharedStyle2.css","sharedStyle3.css","sharedStyle4.css","sharedStyle5.css","sharedStyle6.css","sharedStyle7.css","sharedStyle8.css","sharedStyle9.css","sharedStyle10.css","sharedStyle.fonts","sharedStyle1.fonts","sharedStyle2.fonts","sharedStyle3.fonts","sharedStyle4.fonts","sharedStyle5.fonts","sharedStyle6.fonts","sharedStyle7.fonts","sharedStyle8.fonts","sharedStyle9.fonts","sharedStyle10.fonts"],"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:/framer.com/m/framer/default-utils.js","https:/framerusercontent.com/modules/o1PI5S8YtkA5bP5g4dFz/s801VqobGI0Gkh3K9b41/Embed.js","https:/framerusercontent.com/modules/tLtlvmfkKOyngnypNCY1/ajgDIAHEUscLFvRmyVeu/Drc71hSfG.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 * index (framer/default-utils@0.45.0)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/G4IfyjvwmaeSBpdb4TWu/OIjZRBmWDcIE2B6qgG1j/index.js\"\n","import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useRef,useState}from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{useIsOnCanvas,emptyStateStyle,containerStyles}from\"https://framer.com/m/framer/default-utils.js\";/**\n * @framerIntrinsicWidth 600\n * @framerIntrinsicHeight 400\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n *\n * @framerDisableUnlink\n */export default function Embed({type,url,html,zoom,radius,border,style={}}){if(type===\"url\"&&url){return /*#__PURE__*/_jsx(EmbedUrl,{url:url,zoom:zoom,radius:radius,border:border,style:style});}if(type===\"html\"&&html){return /*#__PURE__*/_jsx(EmbedHtml,{html:html,style:style});}return /*#__PURE__*/_jsx(Instructions,{style:style});}addPropertyControls(Embed,{type:{type:ControlType.Enum,defaultValue:\"url\",displaySegmentedControl:true,options:[\"url\",\"html\"],optionTitles:[\"URL\",\"HTML\"]},url:{title:\"URL\",type:ControlType.String,description:\"Some websites don’t support embedding.\",hidden(props){return props.type!==\"url\";}},html:{title:\"HTML\",type:ControlType.String,displayTextArea:true,hidden(props){return props.type!==\"html\";}},border:{title:\"Border\",type:ControlType.Border,optional:true,hidden(props){return props.type!==\"url\";}},radius:{type:ControlType.BorderRadius,title:\"Radius\",hidden(props){return props.type!==\"url\";}},zoom:{title:\"Zoom\",defaultValue:1,type:ControlType.Number,hidden(props){return props.type!==\"url\";},min:.1,max:1,step:.1,displayStepper:true}});function Instructions({style}){return /*#__PURE__*/_jsx(\"div\",{style:{minHeight:getMinHeight(style),...emptyStateStyle,overflow:\"hidden\",...style},children:/*#__PURE__*/_jsx(\"div\",{style:centerTextStyle,children:\"To embed a website or widget, add it to the properties\\xa0panel.\"})});}function EmbedUrl({url,zoom,radius,border,style}){const hasAutoHeight=!style.height;// Add https:// if the URL does not have a protocol.\nif(!/[a-z]+:\\/\\//.test(url)){url=\"https://\"+url;}const onCanvas=useIsOnCanvas();// We need to check if the url is blocked inside an iframe by the X-Frame-Options\n// or Content-Security-Policy headers on the backend.\nconst[state,setState]=useState(onCanvas?undefined:false);useEffect(()=>{// We only want to check on the canvas.\n// On the website we want to avoid the additional delay.\nif(!onCanvas)return;// TODO: We could also use AbortController here.\nlet isLastEffect=true;setState(undefined);async function load(){const response=await fetch(\"https://api.framer.com/functions/check-iframe-url?url=\"+encodeURIComponent(url));if(response.status==200){const{isBlocked}=await response.json();if(isLastEffect){setState(isBlocked);}}else{const message=await response.text();console.error(message);const error=new Error(\"This site can’t be reached.\");setState(error);}}load().catch(error=>{console.error(error);setState(error);});return()=>{isLastEffect=false;};},[url]);if(onCanvas&&hasAutoHeight){return /*#__PURE__*/_jsx(ErrorMessage,{message:\"URL embeds do not support auto height.\",style:style});}if(!url.startsWith(\"https://\")){return /*#__PURE__*/_jsx(ErrorMessage,{message:\"Unsupported protocol.\",style:style});}if(state===undefined){return /*#__PURE__*/_jsx(LoadingIndicator,{});}if(state instanceof Error){return /*#__PURE__*/_jsx(ErrorMessage,{message:state.message,style:style});}if(state===true){const message=`Can’t embed ${url} due to its content security policy.`;return /*#__PURE__*/_jsx(ErrorMessage,{message:message,style:style});}return /*#__PURE__*/_jsx(\"iframe\",{src:url,style:{...iframeStyle,...style,...border,zoom:zoom,borderRadius:radius,transformOrigin:\"top center\"},loading:\"lazy\",// @ts-ignore\nfetchPriority:onCanvas?\"low\":\"auto\",referrerPolicy:\"no-referrer\",sandbox:getSandbox(onCanvas)});}const iframeStyle={width:\"100%\",height:\"100%\",border:\"none\"};function getSandbox(onCanvas){const result=[\"allow-same-origin\",\"allow-scripts\"];if(!onCanvas){result.push(\"allow-downloads\",\"allow-forms\",\"allow-modals\",\"allow-orientation-lock\",\"allow-pointer-lock\",\"allow-popups\",\"allow-popups-to-escape-sandbox\",\"allow-presentation\",\"allow-storage-access-by-user-activation\",\"allow-top-navigation-by-user-activation\");}return result.join(\" \");}function EmbedHtml({html,...props}){const hasScript=html.includes(\"</script>\");if(hasScript){const hasSplineViewer=html.includes(\"</spline-viewer>\");const hasComment=html.includes(\"<!-- framer-direct-embed -->\");if(hasSplineViewer||hasComment){return /*#__PURE__*/_jsx(EmbedHtmlWithScripts,{html:html,...props});}return /*#__PURE__*/_jsx(EmbedHtmlInsideIframe,{html:html,...props});}return /*#__PURE__*/_jsx(EmbedHtmlWithoutScripts,{html:html,...props});}function EmbedHtmlInsideIframe({html,style}){const ref=useRef();const[iframeHeight,setIframeHeight]=useState(0);// Handle auto sizing\nuseEffect(()=>{const iframeWindow=ref.current?.contentWindow;function handleMessage(event){if(event.source!==iframeWindow)return;const data=event.data;if(typeof data!==\"object\"||data===null)return;const height=data.embedHeight;if(typeof height!==\"number\")return;setIframeHeight(height);}window.addEventListener(\"message\",handleMessage);// After SSG the iframe loads before we attach the event handler,\n// therefore we need to request the latest height from the iframe.\niframeWindow?.postMessage(\"getEmbedHeight\",\"*\");return()=>{window.removeEventListener(\"message\",handleMessage);};},[]);// The CSS is mainly copied from:\n// FramerStudio/src/app/vekter/src/renderer/setDefaultFont.ts\n// FramerStudio/src/app/vekter/src/export/globalStylesForExport.ts\nconst srcDoc=`\n<html>\n    <head>\n        <style>\n            html, body {\n                margin: 0;\n                padding: 0;\n            }\n\n            body {\n                display: flex;\n                justify-content: center;\n                align-items: center;\n            }\n\n            :root {\n                -webkit-font-smoothing: antialiased;\n                -moz-osx-font-smoothing: grayscale;\n            }\n\n            * {\n                box-sizing: border-box;\n                -webkit-font-smoothing: inherit;\n            }\n\n            h1, h2, h3, h4, h5, h6, p, figure {\n                margin: 0;\n            }\n\n            body, input, textarea, select, button {\n                font-size: 12px;\n                font-family: sans-serif;\n            }\n        </style>\n    </head>\n    <body>\n        ${html}\n        <script type=\"module\">\n            let height = 0\n\n            function sendEmbedHeight() {\n                window.parent.postMessage({\n                    embedHeight: height\n                }, \"*\")\n            }\n\n            const observer = new ResizeObserver((entries) => {\n                if (entries.length !== 1) return\n                const entry = entries[0]\n                if (entry.target !== document.body) return\n\n                height = entry.contentRect.height\n                sendEmbedHeight()\n            })\n\n            observer.observe(document.body)\n\n            window.addEventListener(\"message\", (event) => {\n                if (event.source !== window.parent) return\n                if (event.data !== \"getEmbedHeight\") return\n                sendEmbedHeight()\n            })\n        </script>\n    <body>\n</html>\n`;const currentStyle={...iframeStyle,...style};const hasAutoHeight=!style.height;if(hasAutoHeight){currentStyle.height=iframeHeight+\"px\";}return /*#__PURE__*/_jsx(\"iframe\",{ref:ref,style:currentStyle,srcDoc:srcDoc});}function EmbedHtmlWithScripts({html,style}){const ref=useRef();useEffect(()=>{const div=ref.current;if(!div)return;div.innerHTML=html;executeScripts(div);return()=>{div.innerHTML=\"\";};},[html]);return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{...htmlStyle,...style}});}function EmbedHtmlWithoutScripts({html,style}){return /*#__PURE__*/_jsx(\"div\",{style:{...htmlStyle,...style},dangerouslySetInnerHTML:{__html:html}});}const htmlStyle={width:\"100%\",height:\"100%\",display:\"flex\",flexDirection:\"column\",justifyContent:\"center\",alignItems:\"center\"};// This function replaces scripts with executable ones.\n// https://stackoverflow.com/questions/1197575/can-scripts-be-inserted-with-innerhtml\nfunction executeScripts(node){if(node instanceof Element&&node.tagName===\"SCRIPT\"){const script=document.createElement(\"script\");script.text=node.innerHTML;for(const{name,value}of node.attributes){script.setAttribute(name,value);}node.parentElement.replaceChild(script,node);}else{for(const child of node.childNodes){executeScripts(child);}}}// Generic components\nfunction LoadingIndicator(){return /*#__PURE__*/_jsx(\"div\",{className:\"framerInternalUI-componentPlaceholder\",style:{...containerStyles,overflow:\"hidden\"},children:/*#__PURE__*/_jsx(\"div\",{style:centerTextStyle,children:\"Loading…\"})});}function ErrorMessage({message,style}){return /*#__PURE__*/_jsx(\"div\",{className:\"framerInternalUI-errorPlaceholder\",style:{minHeight:getMinHeight(style),...containerStyles,overflow:\"hidden\",...style},children:/*#__PURE__*/_jsx(\"div\",{style:centerTextStyle,children:message})});}const centerTextStyle={textAlign:\"center\",minWidth:140};// Returns a min-height if the component is using auto-height.\nfunction getMinHeight(style){const hasAutoHeight=!style.height;if(hasAutoHeight)return 200;}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Embed\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicHeight\":\"400\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\",\"framerIntrinsicWidth\":\"600\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Embed.map","// Generated by Framer (98b71dc)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,ComponentPresetsProvider,ComponentViewportProvider,Container,cx,GeneratedComponentContext,getFonts,getFontsFromComponentPreset,getFontsFromSharedStyle,getWhereExpressionFromPathVariables,Link,NotFoundError,PropertyOverrides,ResolveLinks,RichText,useComponentViewport,useCurrentPathVariables,useCustomCursors,useHydratedBreakpointVariants,useIsOnFramerCanvas,useLocaleCode,useLocaleInfo,useMetadata,useQueryData,useRouteElementId,useRouter,withCSS,withVariantAppearEffect}from\"framer\";import{LayoutGroup,motion}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import{Icon as Feather}from\"https://framerusercontent.com/modules/f0DboytQenYh21kfme7W/zb1zVBMZJKgPMiedOi0y/Feather.js\";import Embed from\"https://framerusercontent.com/modules/o1PI5S8YtkA5bP5g4dFz/s801VqobGI0Gkh3K9b41/Embed.js\";import Navigation from\"#framer/local/canvasComponent/EPAIANdsY/EPAIANdsY.js\";import Footer from\"#framer/local/canvasComponent/kVcZEIGIG/kVcZEIGIG.js\";import CatalogueItem from\"#framer/local/canvasComponent/v7dx1kUam/v7dx1kUam.js\";import Ai_articles from\"#framer/local/collection/yyUIvPhdN/yyUIvPhdN.js\";import*as componentPresets from\"#framer/local/componentPresets/componentPresets/componentPresets.js\";import*as sharedStyle9 from\"#framer/local/css/FAlb20k6F/FAlb20k6F.js\";import*as sharedStyle10 from\"#framer/local/css/g1EQ5_jDj/g1EQ5_jDj.js\";import*as sharedStyle1 from\"#framer/local/css/IEFmcWX0p/IEFmcWX0p.js\";import*as sharedStyle7 from\"#framer/local/css/IfTDuJzpA/IfTDuJzpA.js\";import*as sharedStyle6 from\"#framer/local/css/MMN39Gng_/MMN39Gng_.js\";import*as sharedStyle4 from\"#framer/local/css/QvaSYfupT/QvaSYfupT.js\";import*as sharedStyle8 from\"#framer/local/css/tuPmTM88F/tuPmTM88F.js\";import*as sharedStyle3 from\"#framer/local/css/txuTfJYND/txuTfJYND.js\";import*as sharedStyle2 from\"#framer/local/css/wfJ8S86p1/wfJ8S86p1.js\";import*as sharedStyle from\"#framer/local/css/WP6eAjcnm/WP6eAjcnm.js\";import*as sharedStyle5 from\"#framer/local/css/yln8Mad20/yln8Mad20.js\";import metadataProvider from\"#framer/local/webPageMetadata/Drc71hSfG/Drc71hSfG.js\";const NavigationFonts=getFonts(Navigation);const FeatherFonts=getFonts(Feather);const CatalogueItemFonts=getFonts(CatalogueItem);const CatalogueItemWithVariantAppearEffect=withVariantAppearEffect(CatalogueItem);const EmbedFonts=getFonts(Embed);const FooterFonts=getFonts(Footer);const breakpoints={IO5pMORrz:\"(max-width: 809.98px)\",rP7Y_rlWD:\"(min-width: 1200px)\",WqpURBq0T:\"(min-width: 810px) and (max-width: 1199.98px)\"};const isBrowser=()=>typeof document!==\"undefined\";const serializationHash=\"framer-otAFf\";const variantClassNames={IO5pMORrz:\"framer-v-1ib99a3\",rP7Y_rlWD:\"framer-v-nbpzli\",WqpURBq0T:\"framer-v-1gv95u9\"};const negate=value=>{return!value;};const sharedDateFormatter=(value,formatOptions,locale)=>{if(typeof value!==\"string\")return\"\";const date=new Date(value);if(isNaN(date.getTime()))return\"\";const fallbackLocale=\"en-US\";try{return date.toLocaleString(locale||fallbackLocale,formatOptions);}catch{return date.toLocaleString(fallbackLocale,formatOptions);}};const dateOptions={dateStyle:\"medium\",timeZone:\"UTC\"};const toDateString=(value,activeLocale)=>{return sharedDateFormatter(value,dateOptions,activeLocale);};const isSet=value=>{if(Array.isArray(value))return value.length>0;return value!==undefined&&value!==null&&value!==\"\";};const HTMLStyle=({value})=>{const onCanvas=useIsOnFramerCanvas();if(onCanvas)return null;return /*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:value},\"data-framer-html-style\":\"\"});};const humanReadableVariantMap={Desktop:\"rP7Y_rlWD\",Phone:\"IO5pMORrz\",Tablet:\"WqpURBq0T\"};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"rP7Y_rlWD\"};};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 currentPathVariables=useCurrentPathVariables();const[currentRouteData]=useQueryData({from:{alias:\"Drc71hSfG\",data:Ai_articles,type:\"Collection\"},select:[{collection:\"Drc71hSfG\",name:\"KItigw8W6\",type:\"Identifier\"},{collection:\"Drc71hSfG\",name:\"S9cy1Y1Q4\",type:\"Identifier\"},{collection:\"Drc71hSfG\",name:\"gmnavdZQk\",type:\"Identifier\"},{collection:\"Drc71hSfG\",name:\"Mw0gJkeB5\",type:\"Identifier\"},{collection:\"Drc71hSfG\",name:\"J48ccZpFf\",type:\"Identifier\"},{collection:\"Drc71hSfG\",name:\"AYcRN0PqW\",type:\"Identifier\"},{collection:\"Drc71hSfG\",name:\"nB5S9YSV6\",type:\"Identifier\"},{collection:\"Drc71hSfG\",name:\"nQUYC6mnP\",type:\"Identifier\"},{collection:\"Drc71hSfG\",name:\"XCwhQma0O\",type:\"Identifier\"},{collection:\"Drc71hSfG\",name:\"SU2PUf8pX\",type:\"Identifier\"},{collection:\"Drc71hSfG\",name:\"frzfpj1Y8\",type:\"Identifier\"},{collection:\"Drc71hSfG\",name:\"oEumFTnir\",type:\"Identifier\"},{collection:\"Drc71hSfG\",name:\"s6xPVwjGU\",type:\"Identifier\"},{collection:\"Drc71hSfG\",name:\"fnQbrXkL2\",type:\"Identifier\"},{collection:\"Drc71hSfG\",name:\"KI4yZjP1_\",type:\"Identifier\"},{collection:\"Drc71hSfG\",name:\"CqU1vLEE3\",type:\"Identifier\"},{collection:\"Drc71hSfG\",name:\"ijuYv3HWp\",type:\"Identifier\"},{collection:\"Drc71hSfG\",name:\"yIizV2H8O\",type:\"Identifier\"},{collection:\"Drc71hSfG\",name:\"njMhPACt9\",type:\"Identifier\"},{collection:\"Drc71hSfG\",name:\"ERKu4tqzH\",type:\"Identifier\"},{collection:\"Drc71hSfG\",name:\"RXomL2YUE\",type:\"Identifier\"},{collection:\"Drc71hSfG\",name:\"MRsBYHojc\",type:\"Identifier\"},{collection:\"Drc71hSfG\",name:\"lGedh3BqW\",type:\"Identifier\"},{collection:\"Drc71hSfG\",name:\"D96NLM4Ug\",type:\"Identifier\"},{collection:\"Drc71hSfG\",name:\"Fodes4I6a\",type:\"Identifier\"}],where:getWhereExpressionFromPathVariables(currentPathVariables,\"Drc71hSfG\")});const getFromCurrentRouteData=key=>{if(!currentRouteData)throw new NotFoundError(`No data matches path variables: ${JSON.stringify(currentPathVariables)}`);return currentRouteData[key];};const{style,className,layoutId,variant,AYcRN0PqW=getFromCurrentRouteData(\"AYcRN0PqW\")??true,KItigw8W6=getFromCurrentRouteData(\"KItigw8W6\")??\"\",gmnavdZQk=getFromCurrentRouteData(\"gmnavdZQk\"),J48ccZpFf=getFromCurrentRouteData(\"J48ccZpFf\")??\"\",nB5S9YSV6=getFromCurrentRouteData(\"nB5S9YSV6\")??\"\",nQUYC6mnP=getFromCurrentRouteData(\"nQUYC6mnP\")??\"\",XCwhQma0O=getFromCurrentRouteData(\"XCwhQma0O\")??\"\",SU2PUf8pX=getFromCurrentRouteData(\"SU2PUf8pX\")??\"\",frzfpj1Y8=getFromCurrentRouteData(\"frzfpj1Y8\")??\"\",oEumFTnir=getFromCurrentRouteData(\"oEumFTnir\")??\"\",s6xPVwjGU=getFromCurrentRouteData(\"s6xPVwjGU\")??\"\",fnQbrXkL2=getFromCurrentRouteData(\"fnQbrXkL2\")??\"\",KI4yZjP1_=getFromCurrentRouteData(\"KI4yZjP1_\")??\"\",CqU1vLEE3=getFromCurrentRouteData(\"CqU1vLEE3\")??\"\",ijuYv3HWp=getFromCurrentRouteData(\"ijuYv3HWp\")??\"\",yIizV2H8O=getFromCurrentRouteData(\"yIizV2H8O\")??\"\",njMhPACt9=getFromCurrentRouteData(\"njMhPACt9\")??\"\",ERKu4tqzH=getFromCurrentRouteData(\"ERKu4tqzH\")??\"\",RXomL2YUE=getFromCurrentRouteData(\"RXomL2YUE\")??\"\",MRsBYHojc=getFromCurrentRouteData(\"MRsBYHojc\")??\"\",lGedh3BqW=getFromCurrentRouteData(\"lGedh3BqW\")??\"\",D96NLM4Ug=getFromCurrentRouteData(\"D96NLM4Ug\")??\"\",Fodes4I6a=getFromCurrentRouteData(\"Fodes4I6a\")??\"\",H6IKibm0ZBbQAHJ66k,S9cy1Y1Q4=getFromCurrentRouteData(\"S9cy1Y1Q4\")??\"\",Mw0gJkeB5=getFromCurrentRouteData(\"Mw0gJkeB5\")??\"\",...restProps}=getProps(props);const metadata=React.useMemo(()=>metadataProvider({KItigw8W6,Mw0gJkeB5},activeLocale),[KItigw8W6,Mw0gJkeB5,activeLocale]);useMetadata(metadata);const[baseVariant,hydratedBaseVariant]=useHydratedBreakpointVariants(variant,breakpoints,false);const gestureVariant=undefined;const sharedStyleClassNames=[sharedStyle.className,sharedStyle1.className,sharedStyle2.className,sharedStyle3.className,sharedStyle4.className,sharedStyle5.className,sharedStyle6.className,sharedStyle7.className,sharedStyle8.className,sharedStyle9.className,sharedStyle10.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const visible=negate(AYcRN0PqW);const activeLocaleCode=useLocaleCode();const textContent=toDateString(gmnavdZQk,activeLocaleCode);const visible1=isSet(J48ccZpFf);const elementId=useRouteElementId(\"YGdyhUxQa\");const ref1=React.useRef(null);const visible2=isSet(nQUYC6mnP);const elementId1=useRouteElementId(\"x6Yc0L38I\");const ref2=React.useRef(null);const visible3=isSet(SU2PUf8pX);const elementId2=useRouteElementId(\"g0dec6OoR\");const ref3=React.useRef(null);const visible4=isSet(oEumFTnir);const elementId3=useRouteElementId(\"mE2s_Fx7W\");const ref4=React.useRef(null);const visible5=isSet(fnQbrXkL2);const elementId4=useRouteElementId(\"dKFcJq4O0\");const ref5=React.useRef(null);const visible6=isSet(CqU1vLEE3);const elementId5=useRouteElementId(\"xshaOIY41\");const ref6=React.useRef(null);const visible7=isSet(yIizV2H8O);const elementId6=useRouteElementId(\"vYl6YJgX5\");const ref7=React.useRef(null);const visible8=isSet(ERKu4tqzH);const elementId7=useRouteElementId(\"Pmrpx6kLK\");const ref8=React.useRef(null);const visible9=isSet(MRsBYHojc);const elementId8=useRouteElementId(\"jZVlsiekn\");const ref9=React.useRef(null);const visible10=isSet(D96NLM4Ug);const elementId9=useRouteElementId(\"kBAtFIroB\");const ref10=React.useRef(null);const isDisplayed=()=>{if(!isBrowser())return true;if(baseVariant===\"IO5pMORrz\")return false;return true;};const router=useRouter();useCustomCursors({});return /*#__PURE__*/_jsx(GeneratedComponentContext.Provider,{value:{primaryVariantId:\"rP7Y_rlWD\",variantClassNames},children:/*#__PURE__*/_jsxs(LayoutGroup,{id:layoutId??defaultLayoutId,children:[/*#__PURE__*/_jsx(HTMLStyle,{value:\"html body { background: var(--token-8e5d656c-bbcb-436e-8a66-65e27b1212a0, rgb(250, 250, 250)); }\"}),/*#__PURE__*/_jsxs(motion.div,{...restProps,className:cx(scopingClassNames,\"framer-nbpzli\",className),ref:refBinding,style:{...style},children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{height:128,width:componentViewport?.width||\"100vw\",y:(componentViewport?.y||0)+0+0,children:/*#__PURE__*/_jsx(Container,{className:\"framer-40ijtl-container\",nodeId:\"kmaNmCGU4\",scopeId:\"Drc71hSfG\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{IO5pMORrz:{variant:\"g8NwpS4PK\"},WqpURBq0T:{variant:\"g8NwpS4PK\"}},children:/*#__PURE__*/_jsx(Navigation,{height:\"100%\",id:\"kmaNmCGU4\",layoutId:\"kmaNmCGU4\",style:{width:\"100%\"},variant:\"PyXTl02V6\",width:\"100%\"})})})}),/*#__PURE__*/_jsx(\"div\",{className:\"framer-1cr29cy\",\"data-framer-name\":\"Body\",children:/*#__PURE__*/_jsxs(\"div\",{className:\"framer-w8wm82\",\"data-framer-name\":\"Content\",children:[visible&&/*#__PURE__*/_jsxs(\"div\",{className:\"framer-1cwjq1p\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"framer-jflpw3\",\"data-framer-name\":\"Content\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"framer-8myx9s\",\"data-border\":true,\"data-framer-name\":\"Title Box\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"h1\",{className:\"framer-styles-preset-3z8xb3\",\"data-styles-preset\":\"WP6eAjcnm\",style:{\"--framer-text-alignment\":\"left\"},children:\"Comprehensive CCPA/CPRA Compliance Checklist\"})}),className:\"framer-1j4m6t\",\"data-framer-name\":\"Title\",fonts:[\"Inter\"],text:KItigw8W6,verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-bpkisf\",\"data-styles-preset\":\"IEFmcWX0p\",style:{\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"rgb(170, 170, 170)\"},children:\"Content\"})}),className:\"framer-1qj9rbj\",\"data-framer-name\":\"Date\",fonts:[\"Inter\"],text:textContent,verticalAlignment:\"top\",withExternalLayout:true})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"framer-jjn3ai\",\"data-framer-name\":\"Content\",children:[visible1&&/*#__PURE__*/_jsx(ComponentPresetsProvider,{presets:{\"module:pVk4QsoHxASnVtUBp6jr/HTBsNkEMAb7TUGaO3DBy/CodeBlock.js:default\":componentPresets.props[\"aAbJo1xAm\"]},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:nB5S9YSV6,className:\"framer-10iky4x\",\"data-framer-name\":\"S1\",fonts:[\"Inter\"],id:elementId,ref:ref1,stylesPresetsClassNames:{a:\"framer-styles-preset-1ptvw2m\",blockquote:\"framer-styles-preset-qoixl0\",code:\"framer-styles-preset-1l9l3y5\",h1:\"framer-styles-preset-3z8xb3\",h2:\"framer-styles-preset-n0upds\",h3:\"framer-styles-preset-tj9x6z\",h4:\"framer-styles-preset-17cpddb\",h5:\"framer-styles-preset-sdqm5e\",h6:\"framer-styles-preset-ifr51b\",p:\"framer-styles-preset-bpkisf\",table:\"framer-styles-preset-skvunr\"},verticalAlignment:\"top\",withExternalLayout:true})}),visible2&&/*#__PURE__*/_jsx(ComponentPresetsProvider,{presets:{\"module:pVk4QsoHxASnVtUBp6jr/HTBsNkEMAb7TUGaO3DBy/CodeBlock.js:default\":componentPresets.props[\"aAbJo1xAm\"]},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:XCwhQma0O,className:\"framer-n8hsre\",\"data-framer-name\":\"S2\",fonts:[\"Inter\"],id:elementId1,ref:ref2,stylesPresetsClassNames:{a:\"framer-styles-preset-1ptvw2m\",blockquote:\"framer-styles-preset-qoixl0\",code:\"framer-styles-preset-1l9l3y5\",h1:\"framer-styles-preset-3z8xb3\",h2:\"framer-styles-preset-n0upds\",h3:\"framer-styles-preset-tj9x6z\",h4:\"framer-styles-preset-17cpddb\",h5:\"framer-styles-preset-sdqm5e\",h6:\"framer-styles-preset-ifr51b\",p:\"framer-styles-preset-bpkisf\",table:\"framer-styles-preset-skvunr\"},verticalAlignment:\"top\",withExternalLayout:true})}),visible3&&/*#__PURE__*/_jsx(ComponentPresetsProvider,{presets:{\"module:pVk4QsoHxASnVtUBp6jr/HTBsNkEMAb7TUGaO3DBy/CodeBlock.js:default\":componentPresets.props[\"aAbJo1xAm\"]},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:frzfpj1Y8,className:\"framer-1thipxv\",\"data-framer-name\":\"S3\",fonts:[\"Inter\"],id:elementId2,ref:ref3,stylesPresetsClassNames:{a:\"framer-styles-preset-1ptvw2m\",blockquote:\"framer-styles-preset-qoixl0\",code:\"framer-styles-preset-1l9l3y5\",h1:\"framer-styles-preset-3z8xb3\",h2:\"framer-styles-preset-n0upds\",h3:\"framer-styles-preset-tj9x6z\",h4:\"framer-styles-preset-17cpddb\",h5:\"framer-styles-preset-sdqm5e\",h6:\"framer-styles-preset-ifr51b\",p:\"framer-styles-preset-bpkisf\",table:\"framer-styles-preset-skvunr\"},verticalAlignment:\"top\",withExternalLayout:true})}),visible4&&/*#__PURE__*/_jsx(ComponentPresetsProvider,{presets:{\"module:pVk4QsoHxASnVtUBp6jr/HTBsNkEMAb7TUGaO3DBy/CodeBlock.js:default\":componentPresets.props[\"aAbJo1xAm\"]},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:s6xPVwjGU,className:\"framer-l0xl74\",\"data-framer-name\":\"S4\",fonts:[\"Inter\"],id:elementId3,ref:ref4,stylesPresetsClassNames:{a:\"framer-styles-preset-1ptvw2m\",blockquote:\"framer-styles-preset-qoixl0\",code:\"framer-styles-preset-1l9l3y5\",h1:\"framer-styles-preset-3z8xb3\",h2:\"framer-styles-preset-n0upds\",h3:\"framer-styles-preset-tj9x6z\",h4:\"framer-styles-preset-17cpddb\",h5:\"framer-styles-preset-sdqm5e\",h6:\"framer-styles-preset-ifr51b\",p:\"framer-styles-preset-bpkisf\",table:\"framer-styles-preset-skvunr\"},verticalAlignment:\"top\",withExternalLayout:true})}),visible5&&/*#__PURE__*/_jsx(ComponentPresetsProvider,{presets:{\"module:pVk4QsoHxASnVtUBp6jr/HTBsNkEMAb7TUGaO3DBy/CodeBlock.js:default\":componentPresets.props[\"aAbJo1xAm\"]},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:KI4yZjP1_,className:\"framer-1veuvbq\",\"data-framer-name\":\"S5\",fonts:[\"Inter\"],id:elementId4,ref:ref5,stylesPresetsClassNames:{a:\"framer-styles-preset-1ptvw2m\",blockquote:\"framer-styles-preset-qoixl0\",code:\"framer-styles-preset-1l9l3y5\",h1:\"framer-styles-preset-3z8xb3\",h2:\"framer-styles-preset-n0upds\",h3:\"framer-styles-preset-tj9x6z\",h4:\"framer-styles-preset-17cpddb\",h5:\"framer-styles-preset-sdqm5e\",h6:\"framer-styles-preset-ifr51b\",p:\"framer-styles-preset-bpkisf\",table:\"framer-styles-preset-skvunr\"},verticalAlignment:\"top\",withExternalLayout:true})}),visible6&&/*#__PURE__*/_jsx(ComponentPresetsProvider,{presets:{\"module:pVk4QsoHxASnVtUBp6jr/HTBsNkEMAb7TUGaO3DBy/CodeBlock.js:default\":componentPresets.props[\"aAbJo1xAm\"]},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:ijuYv3HWp,className:\"framer-1u59eib\",\"data-framer-name\":\"S6\",fonts:[\"Inter\"],id:elementId5,ref:ref6,stylesPresetsClassNames:{a:\"framer-styles-preset-1ptvw2m\",blockquote:\"framer-styles-preset-qoixl0\",code:\"framer-styles-preset-1l9l3y5\",h1:\"framer-styles-preset-3z8xb3\",h2:\"framer-styles-preset-n0upds\",h3:\"framer-styles-preset-tj9x6z\",h4:\"framer-styles-preset-17cpddb\",h5:\"framer-styles-preset-sdqm5e\",h6:\"framer-styles-preset-ifr51b\",p:\"framer-styles-preset-bpkisf\",table:\"framer-styles-preset-skvunr\"},verticalAlignment:\"top\",withExternalLayout:true})}),visible7&&/*#__PURE__*/_jsx(ComponentPresetsProvider,{presets:{\"module:pVk4QsoHxASnVtUBp6jr/HTBsNkEMAb7TUGaO3DBy/CodeBlock.js:default\":componentPresets.props[\"aAbJo1xAm\"]},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:njMhPACt9,className:\"framer-n2rfjf\",\"data-framer-name\":\"S7\",fonts:[\"Inter\"],id:elementId6,ref:ref7,stylesPresetsClassNames:{a:\"framer-styles-preset-1ptvw2m\",blockquote:\"framer-styles-preset-qoixl0\",code:\"framer-styles-preset-1l9l3y5\",h1:\"framer-styles-preset-3z8xb3\",h2:\"framer-styles-preset-n0upds\",h3:\"framer-styles-preset-tj9x6z\",h4:\"framer-styles-preset-17cpddb\",h5:\"framer-styles-preset-sdqm5e\",h6:\"framer-styles-preset-ifr51b\",p:\"framer-styles-preset-bpkisf\",table:\"framer-styles-preset-skvunr\"},verticalAlignment:\"top\",withExternalLayout:true})}),visible8&&/*#__PURE__*/_jsx(ComponentPresetsProvider,{presets:{\"module:pVk4QsoHxASnVtUBp6jr/HTBsNkEMAb7TUGaO3DBy/CodeBlock.js:default\":componentPresets.props[\"aAbJo1xAm\"]},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:RXomL2YUE,className:\"framer-1tlz5qa\",\"data-framer-name\":\"S8\",fonts:[\"Inter\"],id:elementId7,ref:ref8,stylesPresetsClassNames:{a:\"framer-styles-preset-1ptvw2m\",blockquote:\"framer-styles-preset-qoixl0\",code:\"framer-styles-preset-1l9l3y5\",h1:\"framer-styles-preset-3z8xb3\",h2:\"framer-styles-preset-n0upds\",h3:\"framer-styles-preset-tj9x6z\",h4:\"framer-styles-preset-17cpddb\",h5:\"framer-styles-preset-sdqm5e\",h6:\"framer-styles-preset-ifr51b\",p:\"framer-styles-preset-bpkisf\",table:\"framer-styles-preset-skvunr\"},verticalAlignment:\"top\",withExternalLayout:true})}),visible9&&/*#__PURE__*/_jsx(ComponentPresetsProvider,{presets:{\"module:pVk4QsoHxASnVtUBp6jr/HTBsNkEMAb7TUGaO3DBy/CodeBlock.js:default\":componentPresets.props[\"aAbJo1xAm\"]},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:lGedh3BqW,className:\"framer-smxigo\",\"data-framer-name\":\"S9\",fonts:[\"Inter\"],id:elementId8,ref:ref9,stylesPresetsClassNames:{a:\"framer-styles-preset-1ptvw2m\",blockquote:\"framer-styles-preset-qoixl0\",code:\"framer-styles-preset-1l9l3y5\",h1:\"framer-styles-preset-3z8xb3\",h2:\"framer-styles-preset-n0upds\",h3:\"framer-styles-preset-tj9x6z\",h4:\"framer-styles-preset-17cpddb\",h5:\"framer-styles-preset-sdqm5e\",h6:\"framer-styles-preset-ifr51b\",p:\"framer-styles-preset-bpkisf\",table:\"framer-styles-preset-skvunr\"},verticalAlignment:\"top\",withExternalLayout:true})}),visible10&&/*#__PURE__*/_jsx(ComponentPresetsProvider,{presets:{\"module:pVk4QsoHxASnVtUBp6jr/HTBsNkEMAb7TUGaO3DBy/CodeBlock.js:default\":componentPresets.props[\"aAbJo1xAm\"]},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:Fodes4I6a,className:\"framer-vtkla9\",\"data-framer-name\":\"S10\",fonts:[\"Inter\"],id:elementId9,ref:ref10,stylesPresetsClassNames:{a:\"framer-styles-preset-1ptvw2m\",blockquote:\"framer-styles-preset-qoixl0\",code:\"framer-styles-preset-1l9l3y5\",h1:\"framer-styles-preset-3z8xb3\",h2:\"framer-styles-preset-n0upds\",h3:\"framer-styles-preset-tj9x6z\",h4:\"framer-styles-preset-17cpddb\",h5:\"framer-styles-preset-sdqm5e\",h6:\"framer-styles-preset-ifr51b\",p:\"framer-styles-preset-bpkisf\",table:\"framer-styles-preset-skvunr\"},verticalAlignment:\"top\",withExternalLayout:true})})]})]}),isDisplayed()&&/*#__PURE__*/_jsx(\"div\",{className:\"framer-9up4go hidden-1ib99a3\",\"data-framer-name\":\"SideBar\",children:/*#__PURE__*/_jsxs(\"div\",{className:\"framer-dd3w3x\",\"data-framer-name\":\"Catalogue\",children:[/*#__PURE__*/_jsx(Link,{href:{pathVariables:{H6IKibm0Z:H6IKibm0ZBbQAHJ66k},webPageId:\"BbQAHJ66k\"},motionChild:true,nodeId:\"oB89ACLb4\",openInNewTab:false,scopeId:\"Drc71hSfG\",children:/*#__PURE__*/_jsxs(motion.a,{className:\"framer-b9ljdr framer-f0mjpz\",\"data-framer-name\":\"Title Box\",children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-9drs6c-container\",isAuthoredByUser:true,isModuleExternal:true,nodeId:\"RQlL8uZ_E\",scopeId:\"Drc71hSfG\",children:/*#__PURE__*/_jsx(Feather,{color:\"rgb(0, 0, 0)\",height:\"100%\",iconSearch:\"Home\",iconSelection:\"list\",id:\"RQlL8uZ_E\",layoutId:\"RQlL8uZ_E\",mirrored:false,selectByList:true,style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"h4\",{className:\"framer-styles-preset-17cpddb\",\"data-styles-preset\":\"QvaSYfupT\",style:{\"--framer-text-color\":\"rgb(0, 0, 0)\"},children:\"Catalogue\"})}),className:\"framer-15j9dun\",\"data-framer-name\":\"Title\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true})]})}),/*#__PURE__*/_jsxs(\"div\",{className:\"framer-152jdqv\",\"data-framer-name\":\"List\",children:[visible1&&/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{hash:\":YGdyhUxQa\",pathVariables:{S9cy1Y1Q4},webPageId:\"Drc71hSfG\"},implicitPathVariables:undefined},{href:{hash:\":YGdyhUxQa\",pathVariables:{S9cy1Y1Q4},webPageId:\"Drc71hSfG\"},implicitPathVariables:undefined}],children:resolvedLinks=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:30,width:`calc(max((min(${componentViewport?.width||\"100vw\"}, ${componentViewport?.width||\"100vw\"} * 0.95) - 20px) / 4, 1px) - 5px)`,y:(componentViewport?.y||0)+0+128+0+0+0+0+20+0+0+0+83+0+2.5,children:/*#__PURE__*/_jsx(Container,{className:\"framer-5u4d99-container\",nodeId:\"HDcaguSYn\",rendersWithMotion:true,scopeId:\"Drc71hSfG\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{WqpURBq0T:{exhOLLpRS:resolvedLinks[1]}},children:/*#__PURE__*/_jsx(CatalogueItemWithVariantAppearEffect,{__framer__animateOnce:false,__framer__targets:[{offset:0,ref:ref2,target:\"dXND4pzZ7\"}],__framer__threshold:0,__framer__variantAppearEffectEnabled:true,exhOLLpRS:resolvedLinks[0],height:\"100%\",id:\"HDcaguSYn\",layoutId:\"HDcaguSYn\",style:{width:\"100%\"},Tw9n7YL8P:J48ccZpFf,variant:\"BGolMcFpH\",width:\"100%\"})})})})}),visible2&&/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{hash:\":x6Yc0L38I\",pathVariables:{S9cy1Y1Q4},webPageId:\"Drc71hSfG\"},implicitPathVariables:undefined},{href:{hash:\":x6Yc0L38I\",pathVariables:{S9cy1Y1Q4},webPageId:\"Drc71hSfG\"},implicitPathVariables:undefined}],children:resolvedLinks1=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:30,width:`calc(max((min(${componentViewport?.width||\"100vw\"}, ${componentViewport?.width||\"100vw\"} * 0.95) - 20px) / 4, 1px) - 5px)`,y:(componentViewport?.y||0)+0+128+0+0+0+0+20+0+0+0+83+0+2.5,children:/*#__PURE__*/_jsx(Container,{className:\"framer-enwruy-container\",nodeId:\"w9Svx4Sro\",rendersWithMotion:true,scopeId:\"Drc71hSfG\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{WqpURBq0T:{exhOLLpRS:resolvedLinks1[1]}},children:/*#__PURE__*/_jsx(CatalogueItemWithVariantAppearEffect,{__framer__animateOnce:false,__framer__targets:[{offset:0,ref:ref2,target:\"BGolMcFpH\"},{offset:0,ref:ref3,target:\"dXND4pzZ7\"}],__framer__threshold:0,__framer__variantAppearEffectEnabled:true,exhOLLpRS:resolvedLinks1[0],height:\"100%\",id:\"w9Svx4Sro\",layoutId:\"w9Svx4Sro\",style:{width:\"100%\"},Tw9n7YL8P:nQUYC6mnP,variant:\"dXND4pzZ7\",width:\"100%\"})})})})}),visible3&&/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{hash:\":g0dec6OoR\",pathVariables:{S9cy1Y1Q4},webPageId:\"Drc71hSfG\"},implicitPathVariables:undefined},{href:{hash:\":g0dec6OoR\",pathVariables:{S9cy1Y1Q4},webPageId:\"Drc71hSfG\"},implicitPathVariables:undefined}],children:resolvedLinks2=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:30,width:`calc(max((min(${componentViewport?.width||\"100vw\"}, ${componentViewport?.width||\"100vw\"} * 0.95) - 20px) / 4, 1px) - 5px)`,y:(componentViewport?.y||0)+0+128+0+0+0+0+20+0+0+0+83+0+2.5,children:/*#__PURE__*/_jsx(Container,{className:\"framer-1lhekp-container\",nodeId:\"EA2cqruQ9\",rendersWithMotion:true,scopeId:\"Drc71hSfG\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{WqpURBq0T:{exhOLLpRS:resolvedLinks2[1]}},children:/*#__PURE__*/_jsx(CatalogueItemWithVariantAppearEffect,{__framer__animateOnce:false,__framer__targets:[{offset:0,ref:ref3,target:\"BGolMcFpH\"},{offset:0,ref:ref4,target:\"dXND4pzZ7\"}],__framer__threshold:0,__framer__variantAppearEffectEnabled:true,exhOLLpRS:resolvedLinks2[0],height:\"100%\",id:\"EA2cqruQ9\",layoutId:\"EA2cqruQ9\",style:{width:\"100%\"},Tw9n7YL8P:SU2PUf8pX,variant:\"dXND4pzZ7\",width:\"100%\"})})})})}),visible4&&/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{hash:\":mE2s_Fx7W\",pathVariables:{S9cy1Y1Q4},webPageId:\"Drc71hSfG\"},implicitPathVariables:undefined},{href:{hash:\":mE2s_Fx7W\",pathVariables:{S9cy1Y1Q4},webPageId:\"Drc71hSfG\"},implicitPathVariables:undefined}],children:resolvedLinks3=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:30,width:`calc(max((min(${componentViewport?.width||\"100vw\"}, ${componentViewport?.width||\"100vw\"} * 0.95) - 20px) / 4, 1px) - 5px)`,y:(componentViewport?.y||0)+0+128+0+0+0+0+20+0+0+0+83+0+2.5,children:/*#__PURE__*/_jsx(Container,{className:\"framer-dunv39-container\",nodeId:\"NDD8GSFa1\",rendersWithMotion:true,scopeId:\"Drc71hSfG\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{WqpURBq0T:{exhOLLpRS:resolvedLinks3[1]}},children:/*#__PURE__*/_jsx(CatalogueItemWithVariantAppearEffect,{__framer__animateOnce:false,__framer__targets:[{offset:0,ref:ref4,target:\"BGolMcFpH\"},{offset:0,ref:ref5,target:\"dXND4pzZ7\"}],__framer__threshold:0,__framer__variantAppearEffectEnabled:true,exhOLLpRS:resolvedLinks3[0],height:\"100%\",id:\"NDD8GSFa1\",layoutId:\"NDD8GSFa1\",style:{width:\"100%\"},Tw9n7YL8P:oEumFTnir,variant:\"dXND4pzZ7\",width:\"100%\"})})})})}),visible5&&/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{hash:\":dKFcJq4O0\",pathVariables:{S9cy1Y1Q4},webPageId:\"Drc71hSfG\"},implicitPathVariables:undefined},{href:{hash:\":dKFcJq4O0\",pathVariables:{S9cy1Y1Q4},webPageId:\"Drc71hSfG\"},implicitPathVariables:undefined}],children:resolvedLinks4=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:30,width:`calc(max((min(${componentViewport?.width||\"100vw\"}, ${componentViewport?.width||\"100vw\"} * 0.95) - 20px) / 4, 1px) - 5px)`,y:(componentViewport?.y||0)+0+128+0+0+0+0+20+0+0+0+83+0+2.5,children:/*#__PURE__*/_jsx(Container,{className:\"framer-y03ek4-container\",nodeId:\"O0imuEuHJ\",rendersWithMotion:true,scopeId:\"Drc71hSfG\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{WqpURBq0T:{exhOLLpRS:resolvedLinks4[1]}},children:/*#__PURE__*/_jsx(CatalogueItemWithVariantAppearEffect,{__framer__animateOnce:false,__framer__targets:[{offset:0,ref:ref5,target:\"BGolMcFpH\"},{offset:0,ref:ref6,target:\"dXND4pzZ7\"}],__framer__threshold:0,__framer__variantAppearEffectEnabled:true,exhOLLpRS:resolvedLinks4[0],height:\"100%\",id:\"O0imuEuHJ\",layoutId:\"O0imuEuHJ\",style:{width:\"100%\"},Tw9n7YL8P:fnQbrXkL2,variant:\"dXND4pzZ7\",width:\"100%\"})})})})}),visible6&&/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{hash:\":xshaOIY41\",pathVariables:{S9cy1Y1Q4},webPageId:\"Drc71hSfG\"},implicitPathVariables:undefined},{href:{hash:\":xshaOIY41\",pathVariables:{S9cy1Y1Q4},webPageId:\"Drc71hSfG\"},implicitPathVariables:undefined}],children:resolvedLinks5=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:30,width:`calc(max((min(${componentViewport?.width||\"100vw\"}, ${componentViewport?.width||\"100vw\"} * 0.95) - 20px) / 4, 1px) - 5px)`,y:(componentViewport?.y||0)+0+128+0+0+0+0+20+0+0+0+83+0+2.5,children:/*#__PURE__*/_jsx(Container,{className:\"framer-14tnimg-container\",nodeId:\"S7copWGob\",rendersWithMotion:true,scopeId:\"Drc71hSfG\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{WqpURBq0T:{exhOLLpRS:resolvedLinks5[1]}},children:/*#__PURE__*/_jsx(CatalogueItemWithVariantAppearEffect,{__framer__animateOnce:false,__framer__targets:[{offset:0,ref:ref6,target:\"BGolMcFpH\"},{offset:0,ref:ref7,target:\"dXND4pzZ7\"}],__framer__threshold:0,__framer__variantAppearEffectEnabled:true,exhOLLpRS:resolvedLinks5[0],height:\"100%\",id:\"S7copWGob\",layoutId:\"S7copWGob\",style:{width:\"100%\"},Tw9n7YL8P:CqU1vLEE3,variant:\"dXND4pzZ7\",width:\"100%\"})})})})}),visible7&&/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{hash:\":vYl6YJgX5\",pathVariables:{S9cy1Y1Q4},webPageId:\"Drc71hSfG\"},implicitPathVariables:undefined},{href:{hash:\":vYl6YJgX5\",pathVariables:{S9cy1Y1Q4},webPageId:\"Drc71hSfG\"},implicitPathVariables:undefined}],children:resolvedLinks6=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:30,width:`calc(max((min(${componentViewport?.width||\"100vw\"}, ${componentViewport?.width||\"100vw\"} * 0.95) - 20px) / 4, 1px) - 5px)`,y:(componentViewport?.y||0)+0+128+0+0+0+0+20+0+0+0+83+0+2.5,children:/*#__PURE__*/_jsx(Container,{className:\"framer-or27cs-container\",nodeId:\"oDAH1w378\",rendersWithMotion:true,scopeId:\"Drc71hSfG\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{WqpURBq0T:{exhOLLpRS:resolvedLinks6[1]}},children:/*#__PURE__*/_jsx(CatalogueItemWithVariantAppearEffect,{__framer__animateOnce:false,__framer__targets:[{offset:0,ref:ref7,target:\"BGolMcFpH\"},{offset:0,ref:ref8,target:\"dXND4pzZ7\"}],__framer__threshold:0,__framer__variantAppearEffectEnabled:true,exhOLLpRS:resolvedLinks6[0],height:\"100%\",id:\"oDAH1w378\",layoutId:\"oDAH1w378\",style:{width:\"100%\"},Tw9n7YL8P:yIizV2H8O,variant:\"dXND4pzZ7\",width:\"100%\"})})})})}),visible8&&/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{hash:\":Pmrpx6kLK\",pathVariables:{S9cy1Y1Q4},webPageId:\"Drc71hSfG\"},implicitPathVariables:undefined},{href:{hash:\":Pmrpx6kLK\",pathVariables:{S9cy1Y1Q4},webPageId:\"Drc71hSfG\"},implicitPathVariables:undefined}],children:resolvedLinks7=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:30,width:`calc(max((min(${componentViewport?.width||\"100vw\"}, ${componentViewport?.width||\"100vw\"} * 0.95) - 20px) / 4, 1px) - 5px)`,y:(componentViewport?.y||0)+0+128+0+0+0+0+20+0+0+0+83+0+2.5,children:/*#__PURE__*/_jsx(Container,{className:\"framer-23dgka-container\",nodeId:\"vIZgXzCDs\",rendersWithMotion:true,scopeId:\"Drc71hSfG\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{WqpURBq0T:{exhOLLpRS:resolvedLinks7[1]}},children:/*#__PURE__*/_jsx(CatalogueItemWithVariantAppearEffect,{__framer__animateOnce:false,__framer__targets:[{offset:0,ref:ref8,target:\"BGolMcFpH\"},{offset:0,ref:ref9,target:\"dXND4pzZ7\"}],__framer__threshold:0,__framer__variantAppearEffectEnabled:true,exhOLLpRS:resolvedLinks7[0],height:\"100%\",id:\"vIZgXzCDs\",layoutId:\"vIZgXzCDs\",style:{width:\"100%\"},Tw9n7YL8P:ERKu4tqzH,variant:\"dXND4pzZ7\",width:\"100%\"})})})})}),visible9&&/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{hash:\":jZVlsiekn\",pathVariables:{S9cy1Y1Q4},webPageId:\"Drc71hSfG\"},implicitPathVariables:undefined},{href:{hash:\":jZVlsiekn\",pathVariables:{S9cy1Y1Q4},webPageId:\"Drc71hSfG\"},implicitPathVariables:undefined}],children:resolvedLinks8=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:30,width:`calc(max((min(${componentViewport?.width||\"100vw\"}, ${componentViewport?.width||\"100vw\"} * 0.95) - 20px) / 4, 1px) - 5px)`,y:(componentViewport?.y||0)+0+128+0+0+0+0+20+0+0+0+83+0+2.5,children:/*#__PURE__*/_jsx(Container,{className:\"framer-1axn9a6-container\",nodeId:\"U4lP9ut4I\",rendersWithMotion:true,scopeId:\"Drc71hSfG\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{WqpURBq0T:{exhOLLpRS:resolvedLinks8[1]}},children:/*#__PURE__*/_jsx(CatalogueItemWithVariantAppearEffect,{__framer__animateOnce:false,__framer__targets:[{offset:0,ref:ref9,target:\"BGolMcFpH\"},{offset:0,ref:ref10,target:\"dXND4pzZ7\"}],__framer__threshold:0,__framer__variantAppearEffectEnabled:true,exhOLLpRS:resolvedLinks8[0],height:\"100%\",id:\"U4lP9ut4I\",layoutId:\"U4lP9ut4I\",style:{width:\"100%\"},Tw9n7YL8P:MRsBYHojc,variant:\"dXND4pzZ7\",width:\"100%\"})})})})}),visible10&&/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{hash:\":kBAtFIroB\",pathVariables:{S9cy1Y1Q4},webPageId:\"Drc71hSfG\"},implicitPathVariables:undefined},{href:{hash:\":kBAtFIroB\",pathVariables:{S9cy1Y1Q4},webPageId:\"Drc71hSfG\"},implicitPathVariables:undefined}],children:resolvedLinks9=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:30,width:`calc(max((min(${componentViewport?.width||\"100vw\"}, ${componentViewport?.width||\"100vw\"} * 0.95) - 20px) / 4, 1px) - 5px)`,y:(componentViewport?.y||0)+0+128+0+0+0+0+20+0+0+0+83+0+2.5,children:/*#__PURE__*/_jsx(Container,{className:\"framer-srekgk-container\",nodeId:\"s7vKpjdjN\",rendersWithMotion:true,scopeId:\"Drc71hSfG\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{WqpURBq0T:{exhOLLpRS:resolvedLinks9[1]}},children:/*#__PURE__*/_jsx(CatalogueItemWithVariantAppearEffect,{__framer__animateOnce:false,__framer__targets:[{offset:0,ref:ref10,target:\"BGolMcFpH\"},{offset:0,ref:ref9,target:\"dXND4pzZ7\"}],__framer__threshold:0,__framer__variantAppearEffectEnabled:true,exhOLLpRS:resolvedLinks9[0],height:\"100%\",id:\"s7vKpjdjN\",layoutId:\"s7vKpjdjN\",style:{width:\"100%\"},Tw9n7YL8P:D96NLM4Ug,variant:\"dXND4pzZ7\",width:\"100%\"})})})})})]})]})})]}),AYcRN0PqW&&/*#__PURE__*/_jsx(\"div\",{className:\"framer-1xssm16\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-s0r7nt-container\",isAuthoredByUser:true,isModuleExternal:true,nodeId:\"PIMZSBMLv\",scopeId:\"Drc71hSfG\",children:/*#__PURE__*/_jsx(Embed,{height:\"100%\",html:\"<!DOCTYPE html>\\n<html lang=\\\"en\\\" class=\\\"scroll-smooth\\\">\\n\\n<head>\\n    <meta charset=\\\"UTF-8\\\">\\n    <meta name=\\\"viewport\\\" content=\\\"width=device-width, initial-scale=1.0\\\">\\n    <!-- Tailwind CSS for rapid styling -->\\n    <script src=\\\"https://cdn.tailwindcss.com\\\"></script>\\n    <!-- Chart.js for interactive charts -->\\n    <script src=\\\"https://cdn.jsdelivr.net/npm/chart.js\\\"></script>\\n    <style>\\n        /* Custom Styles */\\n        body {\\n            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;\\n            font-size: 18px;\\n            line-height: 1.6;\\n        }\\n\\n        /* 标题层级样式 */\\n        .content h1 { font-size: 42px; line-height: 1.1; font-weight: 800; margin-top: 0.67em; margin-bottom: 0.5em; }\\n        .content h2 { font-size: 32px; line-height: 1.25; font-weight: 700; margin-top: 0.9em; margin-bottom: 0.45em; }\\n        .content h3 { font-size: 24px; line-height: 1.3; font-weight: 600; margin-top: 0.8em; margin-bottom: 0.35em; }\\n        .content h4 { font-size: 20px; line-height: 1.3; font-weight: 600; margin-top: 0.75em; margin-bottom: 0.3em; }\\n\\n        /* 正文内容样式 */\\n        .content p,\\n        .content ul,\\n        .content ol {\\n            font-size: 18px;\\n            line-height: 1.6;\\n        }\\n\\n        /* Style for active link in Table of Contents */\\n        .toc-link.active {\\n            color: #3b82f6;\\n            /* blue-500 */\\n            font-weight: 600;\\n            border-left-color: #3b82f6;\\n        }\\n\\n        .toc-h3 {\\n            padding-left: 1rem;\\n            /* Indent H3 links */\\n        }\\n\\n        /* Offset for fixed header */\\n        .content h2,\\n        .content h3 {\\n            scroll-margin-top: 80px;\\n        }\\n\\n        /* Table styling */\\n        .content table {\\n            width: 100%;\\n            border-collapse: collapse;\\n            margin: 1.5em 0;\\n            font-size: 16px;\\n            line-height: 1.5;\\n        }\\n\\n        .content th,\\n        .content td {\\n            border: 1px solid #e5e7eb;\\n            /* gray-200 */\\n            padding: 0.75rem 1rem;\\n            text-align: left;\\n            font-size: 16px;\\n        }\\n\\n        .content th {\\n            background-color: #f9fafb;\\n            /* gray-50 */\\n            font-weight: 600;\\n        }\\n\\n        .content tbody tr:nth-child(odd) {\\n            background-color: #f9fafb;\\n            /* gray-50 */\\n        }\\n\\n        /* Section separators and breathing space */\\n        .content section {\\n            padding: 1.25rem 0;\\n            border-bottom: 1px solid #eef2f7;\\n            margin-bottom: 1.5rem;\\n        }\\n\\n        .content section:last-of-type {\\n            border-bottom: none;\\n            margin-bottom: 0;\\n            padding-bottom: 0;\\n        }\\n\\n        .content hr {\\n            border: none;\\n            border-top: 1px solid #eef2f7;\\n            margin: 2rem 0;\\n        }\\n\\n        /* TOC styling */\\n        .toc {\\n            padding: 1.5rem;\\n            background-color: #f3f4f6; /* gray-100 */\\n            border-radius: 0.5rem;\\n            margin-bottom: 2rem;\\n        }\\n\\n        .toc a {\\n            text-decoration: none;\\n            color: #374151; /* gray-700 */\\n            display: block;\\n            padding: 0.25rem 0;\\n            font-size: 16px;\\n            line-height: 1.5;\\n        }\\n\\n        .toc h2 {\\n            font-size: 20px;\\n            font-weight: 600;\\n            margin-bottom: 1rem;\\n            color: #1f2937;\\n        }\\n    </style>\\n</head>\\n\\n<body class=\\\"bg-gray-50 text-gray-800\\\">\\n\\n    <div class=\\\"container mx-auto px-4 py-8 lg:py-12\\\" style=\\\"max-width:1100px;\\\">\\n        <div class=\\\"grid grid-cols-1\\\">\\n            <!-- Sidebar removed: TOC will be placed above the article content -->\\n\\n            <!-- Main Article Content (centered) -->\\n            <main class=\\\"w-full\\\">\\n                <article class=\\\"prose max-w-none content mx-auto\\\" style=\\\"max-width:1200px;\\\">\\n                    <!-- Article Header -->\\n                    <header class=\\\"mb-10\\\">\\n                        <h1>SoulGen AI In-Depth Review (Updated 17 October, 2025)</h1>\\n                        <div class=\\\"text-sm text-gray-500 mt-4\\\">\\n                            <span><strong>Author:</strong> Joson Brank</span> |\\n                            <span><strong>Published:</strong> October 17, 2025</span>\\n                        </div>\\n                    </header>\\n\\n                    <!-- Tag block inserted between header and TOC (improved layout) -->\\n                    <div class=\\\"mb-4\\\">\\n                        <div class=\\\"flex flex-wrap items-center gap-2\\\" aria-label=\\\"Article tags\\\">\\n                            <span class=\\\"inline-flex items-center px-3 py-1 rounded-full text-sm font-medium bg-blue-50 text-blue-700 border border-blue-100\\\">AI Video Toolkit</span>\\n                            <span class=\\\"inline-flex items-center px-3 py-1 rounded-full text-sm font-medium bg-gray-50 text-gray-700 border border-gray-100\\\">AI Image Toolkit</span>\\n                            <span class=\\\"inline-flex items-center px-3 py-1 rounded-full text-sm font-medium bg-red-50 text-red-700 border border-red-100\\\">NSFW AI</span>\\n                            <span class=\\\"inline-flex items-center px-3 py-1 rounded-full text-sm font-medium bg-red-50 text-red-700 border border-red-100\\\">NSFW AI Image to Video</span>\\n                            <span class=\\\"inline-flex items-center px-3 py-1 rounded-full text-sm font-medium bg-yellow-50 text-yellow-700 border border-yellow-100\\\">Smart Editing Tools</span>\\n                        </div>\\n                    </div>\\n\\n                    <!-- Inserted Table of Contents (title -> toc -> article body) -->\\n                        <nav id=\\\"toc-container\\\" class=\\\"w-full bg-white p-4 rounded-lg shadow-sm border border-gray-100 mb-6\\\" aria-label=\\\"Table of contents\\\">\\n                            <div class=\\\"flex items-center justify-between mb-3\\\">\\n                                <h3 class=\\\"text-sm font-semibold\\\">Contents (Updated 17 October, 2025)</h3>\\n                                <button id=\\\"toc-toggle\\\" aria-expanded=\\\"true\\\" class=\\\"text-xs text-gray-500 hover:text-gray-700\\\">Collapse</button>\\n                            </div>\\n                            <div id=\\\"toc-list\\\" class=\\\"text-sm space-y-1\\\"></div>\\n                        </nav>\\n\\n                    <!-- Article Sections -->\\n                    <section id=\\\"market-frontier\\\">\\n                        <h2>The AI Video Generation Market: A New Frontier (Updated 17 October, 2025)</h2>\\n                        <p>The AI video generation market is experiencing explosive growth, transforming content\\n                            creation across industries. Valued at USD 3.86 billion in 2024, the market is projected to\\n                            reach an astounding USD 42.29 billion by 2033, expanding at a compound annual growth rate\\n                            (CAGR) of 32.2% from 2025 to 2033 [1]. This rapid expansion is fueled by advancements in\\n                            machine learning, increased demand for personalized content, and the democratization of\\n                            video production tools.</p>\\n                        <div class=\\\"my-8 bg-white p-4 rounded-lg shadow-md\\\" style=\\\"height:320px;\\\">\\n                            <canvas id=\\\"market-trend-chart\\\" style=\\\"width:100%; height:100%;\\\"></canvas>\\n                        </div>\\n                        <p class=\\\"text-sm italic text-gray-600\\\">Note: This chart shows the projected market size for AI video generation from 2024 to 2033.</p>\\n                        <p>Within this burgeoning market, a significant niche has emerged: NSFW (Not Safe for Work)\\n                            content creation. This sub-market caters to a diverse user base, from artists and\\n                            storytellers exploring adult themes to the adult entertainment industry seeking to innovate\\n                            and produce niche content. Users in this space have a distinct set of priorities when\\n                            selecting an AI video generator, with <strong>realism and customization</strong> and\\n                            <strong>output quality</strong> being paramount. This is closely followed by concerns about\\n                            <strong>privacy and data policy</strong> and the presence of <strong>safety filters and\\n                                consent-based models</strong>. The following chart illustrates the hierarchy of these\\n                            user priorities:\\n                        </p>\\n                        <div class=\\\"my-8 bg-white p-4 rounded-lg shadow-md\\\" style=\\\"height:220px;\\\">\\n                            <canvas id=\\\"user-priorities-chart\\\" style=\\\"width:100%; height:100%;\\\"></canvas>\\n                        </div>\\n                        <p class=\\\"text-sm italic text-gray-600\\\">Note: This bar chart ranks user priorities when choosing NSFW AI content generators.</p>\\n                    </section>\\n\\n                    <section id=\\\"hands-on-review\\\">\\n                        <h2>My Experience with SoulGen: A Hands-On Review (Updated 17 October, 2025)</h2>\\n                        <p>As a seasoned product reviewer, I've had my hands on countless AI tools. SoulGen, however,\\n                            offers a uniquely compelling experience. The platform is intuitively designed, making it\\n                            accessible to both beginners and experienced creators. From the moment you land on the\\n                            creation page, the process is straightforward. You are greeted with a clean interface, with\\n                            clear options for generating images of a 'Real Girl', 'DreamTwin Girl', or 'Anime Girl'.</p>\\n\\n                        <h3 id=\\\"features-performance\\\">Key Features and Performance (Updated 17 October, 2025)</h3>\\n                        <p>My journey with SoulGen was a deep dive into its capabilities. Here's a breakdown of my\\n                            experience:</p>\\n                        <table>\\n                            <thead>\\n                                <tr>\\n                                    <th>Feature</th>\\n                                    <th>My Experience</th>\\n                                    <th>Applicable Scenarios</th>\\n                                </tr>\\n                            </thead>\\n                            <tbody>\\n                                <tr>\\n                                    <td><strong>AI Girl/Image Generation</strong></td>\\n                                    <td>The image generation is impressive. I was able to create a wide variety of\\n                                        characters with just a few text prompts. The different styles, from 'Visionary\\n                                        Girl 2.0' to 'Realistic Girl', offer a great range of creative possibilities.\\n                                        The 'Looks like' feature, which allows you to upload a face for reference, is a\\n                                        game-changer for character consistency.</td>\\n                                    <td>Creating character concepts, generating avatars, producing artwork for stories\\n                                        or games.</td>\\n                                </tr>\\n                                <tr>\\n                                    <td><strong>Video Generator (Beta)</strong></td>\\n                                    <td>The video generation tools are where SoulGen truly shines. The 'Image to Video'\\n                                        feature is incredibly powerful, bringing still images to life with dynamic\\n                                        motion. The 'Video Extend' and 'Text to Video' options further expand the\\n                                        creative possibilities, allowing for the creation of short, engaging video\\n                                        clips.</td>\\n                                    <td>Animating still images, creating short video stories, producing dynamic content\\n                                        for social media.</td>\\n                                </tr>\\n                                <tr>\\n                                    <td><strong>Face Swap</strong></td>\\n                                    <td>The face swap feature is both fun and surprisingly accurate. I was able to\\n                                        seamlessly swap faces in various images, creating humorous and interesting\\n                                        results.</td>\\n                                    <td>Creating memes, producing entertaining content, experimenting with different\\n                                        looks.</td>\\n                                </tr>\\n                                <tr>\\n                                    <td><strong>Soul Chat</strong></td>\\n                                    <td>The Soul Chat feature adds an interactive dimension to the platform. Engaging in\\n                                        conversations with AI-generated characters is a unique and immersive experience.\\n                                    </td>\\n                                    <td>Role-playing, storytelling, interactive entertainment.</td>\\n                                </tr>\\n                            </tbody>\\n                        </table>\\n                        <div class=\\\"my-8 bg-white p-4 rounded-lg shadow-md\\\" style=\\\"height:260px;\\\">\\n                            <canvas id=\\\"tools-chart\\\" style=\\\"width:100%; height:100%;\\\"></canvas>\\n                        </div>\\n                        <p class=\\\"text-sm italic text-gray-600\\\">Note: This chart compares core SoulGen tools and their rated performance.</p>\\n\\n                        <h3 id=\\\"standout-features\\\">Standout Features (Updated 17 October, 2025)</h3>\\n                        <p>Two features, in particular, stood out to me as major selling points for SoulGen:</p>\\n                        <ol class=\\\"list-decimal list-inside space-y-2\\\">\\n                            <li><strong>ID Consistency in Video Generation:</strong> SoulGen's ability to maintain\\n                                character identity across video frames is a significant technological feat. This 'ID\\n                                consistency' is crucial for creating coherent and believable video narratives, a\\n                                challenge that many other AI video generators struggle with.</li>\\n                            <li><strong>'Looks Like' Feature for Image Generation:</strong> The 'Looks like' feature,\\n                                which allows users to upload a reference face, is a powerful tool for achieving\\n                                character consistency in both images and videos. This is a huge advantage for creators\\n                                who want to develop a specific character or maintain a consistent aesthetic across their\\n                                work.</li>\\n                        </ol>\\n                        <p>In summary, my experience with SoulGen was overwhelmingly positive. The platform is powerful,\\n                            versatile, and easy to use, making it an excellent choice for anyone interested in AI image\\n                            and video generation.</p>\\n                    </section>\\n\\n                    <section id=\\\"why-soulgen\\\">\\n                        <h2>Why Choose AI Video Generation and the NSFW Niche? And How SoulGen Delivers (Updated 17 October, 2025)</h2>\\n                        <p>The desire to create and consume video content is at an all-time high. AI video generation\\n                            tools have democratized the creation process, empowering individuals to produce high-quality\\n                            videos without the need for expensive equipment or technical expertise. This has led to a\\n                            surge in demand for AI video generators across various domains, including marketing,\\n                            education, and entertainment.</p>\\n                        <p>The NSFW niche, in particular, has seen a significant increase in interest. This is driven by\\n                            a desire for more personalized and immersive adult content, as well as the need for a safe\\n                            and ethical way to explore adult themes. SoulGen is uniquely positioned to meet the demands\\n                            of this growing market.</p>\\n                        <p>SoulGen's powerful video generation capabilities, combined with its focus on character\\n                            consistency and customization, make it an ideal tool for creating high-quality NSFW content.\\n                            The platform's intuitive interface and straightforward workflow allow users to easily bring\\n                            their creative visions to life, while its commitment to privacy and data security provides a\\n                            safe and secure environment for exploring adult themes.</p>\\n                    </section>\\n\\n                    <section id=\\\"mastering-soulgen\\\">\\n                        <h2>Mastering SoulGen: A Guide to Better Results (Updated 17 October, 2025)</h2>\\n                        <p>Getting started with SoulGen is easy, but mastering its tools can elevate your creations from\\n                            good to great. Here are some pro tips to help you get the best possible results:</p>\\n                        <div class=\\\"my-8 bg-white p-4 rounded-lg shadow-md\\\" style=\\\"height:220px;\\\">\\n                            <canvas id=\\\"prompt-impact-chart\\\" style=\\\"width:100%; height:100%;\\\"></canvas>\\n                        </div>\\n                        <p class=\\\"text-sm italic text-gray-600\\\">Note: This chart illustrates how different prompt elements impact output quality.</p>\\n\\n                        <h3 id=\\\"prompt-crafting\\\">1. Crafting Effective Prompts (Updated 17 October, 2025)</h3>\\n                        <p>The quality of your text prompt directly impacts the output. Be specific and descriptive.</p>\\n                        <ul class=\\\"list-disc list-inside space-y-2\\\">\\n                            <li><strong>Go Beyond the Basics:</strong> Instead of \\\"a woman smiling,\\\" try \\\"photo of a\\n                                joyful woman with windswept brown hair, laughing in a sunlit field of wildflowers,\\n                                golden hour lighting.\\\"</li>\\n                            <li><strong>Use Keywords:</strong> Include words related to style (e.g., `photorealistic`,\\n                                `cinematic`, `fantasy art`), composition (`close-up`, `wide shot`), and mood (`serene`,\\n                                `energetic`).</li>\\n                            <li><strong>Negative Prompts:</strong> Use the negative prompt feature to exclude things you\\n                                don't want, such as `blurry background`, `extra fingers`, or `low quality`.</li>\\n                        </ul>\\n\\n                        <h3 id=\\\"looks-like-feature\\\">2. Leveraging the 'Looks Like' Feature (Updated 17 October, 2025)</h3>\\n                        <p>This is your key to character consistency. To ensure the AI accurately captures the likeness,\\n                            follow these best practices for your reference photo:</p>\\n                        <ul class=\\\"list-disc list-inside space-y-2\\\">\\n                            <li><strong>High Resolution is a Must:</strong> Use a clear, high-resolution image. A blurry\\n                                or pixelated photo will lead to poor results.</li>\\n                            <li><strong>Clear Facial Features:</strong> The face should be well-lit, facing forward, and\\n                                free of obstructions like shadows, sunglasses, or hair covering the eyes.</li>\\n                            <li><strong>Neutral Expression:</strong> A neutral expression often works best as a\\n                                baseline, allowing the AI to apply new expressions from your text prompt more\\n                                effectively.</li>\\n                        </ul>\\n\\n                        <h3 id=\\\"video-generation-tips\\\">3. Maximizing the Video Generator (Updated 17 October, 2025)</h3>\\n                        <ul class=\\\"list-disc list-inside space-y-2\\\">\\n                            <li><strong>Start with a Quality Image:</strong> The 'Image to Video' feature works best\\n                                with a high-quality, detailed source image. A strong starting point is crucial for a\\n                                dynamic result.</li>\\n                            <li><strong>Control the Motion:</strong> Use the motion control settings to guide the\\n                                animation. You can often specify the intensity and direction of movement to better match\\n                                your creative vision.</li>\\n                            <li><strong>Use 'Video Extend' Iteratively:</strong> To create longer clips, use the 'Video\\n                                Extend' feature in steps. This can give you more control over the narrative flow of your\\n                                short video.</li>\\n                        </ul>\\n                    </section>\\n\\n                    <section id=\\\"competitor-analysis\\\">\\n                        <h2>SoulGen vs. The Competition: A Comparative Analysis (Updated 17 October, 2025)</h2>\\n                        <p>SoulGen is not the only NSFW AI video generator on the market. Here's a look at how it stacks\\n                            up against some of its main competitors:</p>\\n                        <table>\\n                            <thead>\\n                                <tr>\\n                                    <th>Feature</th>\\n                                    <th>SoulGen</th>\\n                                    <th>Midjourney</th>\\n                                    <th>Candy.ai</th>\\n                                    <th>DeepSwap</th>\\n                                </tr>\\n                            </thead>\\n                            <tbody>\\n                                <tr>\\n                                    <td><strong>NSFW Video Generation</strong></td>\\n                                    <td>Yes</td>\\n                                    <td>No</td>\\n                                    <td>Yes</td>\\n                                    <td>Yes</td>\\n                                </tr>\\n                                <tr>\\n                                    <td><strong>ID Consistency</strong></td>\\n                                    <td>High</td>\\n                                    <td>N/A</td>\\n                                    <td>Moderate</td>\\n                                    <td>Moderate</td>\\n                                </tr>\\n                                <tr>\\n                                    <td><strong>'Looks Like' Feature</strong></td>\\n                                    <td>Yes</td>\\n                                    <td>No</td>\\n                                    <td>No</td>\\n                                    <td>No</td>\\n                                </tr>\\n                                <tr>\\n                                    <td><strong>Face Swap</strong></td>\\n                                    <td>Yes</td>\\n                                    <td>No</td>\\n                                    <td>No</td>\\n                                    <td>Yes</td>\\n                                </tr>\\n                                <tr>\\n                                    <td><strong>Pricing</strong></td>\\n                                    <td>Subscription-based</td>\\n                                    <td>Subscription-based</td>\\n                                    <td>Subscription-based</td>\\n                                    <td>Credit-based/Subscription</td>\\n                                </tr>\\n                            </tbody>\\n                        </table>\\n                        <div class=\\\"my-8 bg-white p-4 rounded-lg shadow-md\\\" style=\\\"height:300px;\\\">\\n                            <canvas id=\\\"competitor-radar-chart\\\" style=\\\"width:100%; height:100%;\\\"></canvas>\\n                        </div>\\n                        <p class=\\\"text-sm italic text-gray-600\\\">Note: Radar comparison of SoulGen and competitors across selected features.</p>\\n                        <p>As the table and chart show, SoulGen has a clear advantage over its competitors in several\\n                            key areas. Its high ID consistency and 'Looks like' feature set it apart from the\\n                            competition, making it the go-to choice for creators who value character consistency and\\n                            creative control.</p>\\n                    </section>\\n\\n                    <section id=\\\"pricing\\\">\\n                        <h2>SoulGen Pricing (Updated 17 October, 2025)</h2>\\n                        <p>SoulGen offers a simple and transparent pricing model. Here's a breakdown of the available\\n                            plans:</p>\\n                        <table>\\n                            <thead>\\n                                <tr>\\n                                    <th>Plan</th>\\n                                    <th>Price (USD)</th>\\n                                    <th>Features</th>\\n                                </tr>\\n                            </thead>\\n                            <tbody>\\n                                <tr>\\n                                    <td><strong>Monthly</strong></td>\\n                                    <td>$12.99/month</td>\\n                                    <td>100 image generation credits, 10 video generation credits, access to all\\n                                        features</td>\\n                                </tr>\\n                                <tr>\\n                                    <td><strong>Yearly</strong></td>\\n                                    <td>$90.99/year</td>\\n                                    <td>1200 image generation credits, 120 video generation credits, access to all\\n                                        features</td>\\n                                </tr>\\n                            </tbody>\\n                        </table>\\n                        <div class=\\\"my-8 bg-white p-4 rounded-lg shadow-md\\\" style=\\\"height:240px;\\\">\\n                            <canvas id=\\\"pricing-comparison-chart\\\" style=\\\"width:100%; height:100%;\\\"></canvas>\\n                        </div>\\n                        <p class=\\\"text-sm italic text-gray-600\\\">Note: Annual cost comparison between the Yearly plan and the equivalent annualized Monthly plan.</p>\\n                    </section>\\n\\n                    <section id=\\\"conclusion\\\">\\n                        <h2>Conclusion: A Worthy Contender in the AI Video Generation Arena (Updated 17 October, 2025)</h2>\\n\\n                        <div class=\\\"bg-white p-6 rounded-lg shadow-lg my-8 text-center\\\">\\n                            <p class=\\\"mt-2 text-gray-600\\\">SoulGen is, in essence, a potent and remarkably accessible\\n                                engine for visual creation. Its strengths lie in its all-in-one convenience, its\\n                                user-friendly interface, and its standout video generation capabilities. It empowers\\n                                creators of all skill levels to translate complex ideas into compelling visual media,\\n                                offering a level of creative freedom that is increasingly rare on mainstream platforms.\\n                            </p>\\n                            <div class=\\\"my-6\\\">\\n                                <p class=\\\"text-5xl font-bold text-blue-600\\\" style=\\\"font-size:2.5rem\\\">85/100</p>\\n                                <p class=\\\"text-lg font-semibold text-gray-700 mt-1\\\">Overall Rating</p>\\n                            </div>\\n                            <p class=\\\"text-gray-600 italic\\\">SoulGen represents a compelling option in the AI generation\\n                                space, offering powerful video capabilities and creative freedom. While it has areas for\\n                                improvement, it successfully balances accessibility with advanced features for its\\n                                target audience.</p>\\n                        </div>\\n\\n                        <p>In the rapidly evolving landscape of AI video generation, SoulGen has emerged as a powerful\\n                            and versatile tool. Its unique combination of high-quality image and video generation,\\n                            intuitive user interface, and focus on character consistency makes it a worthy contender in\\n                            both the general and NSFW AI video generation markets. Whether you're a seasoned creator or\\n                            just starting, SoulGen is a tool that is well worth exploring. As with any AI tool, it is\\n                            important to use it responsibly and ethically.</p>\\n                    </section>\\n\\n                    <section id=\\\"faq\\\">\\n                        <h2>Frequently Asked Questions (FAQ) (Updated 17 October, 2025)</h2>\\n                        <div class=\\\"my-8 bg-white p-4 rounded-lg shadow-md\\\" style=\\\"height:220px;\\\">\\n                            <canvas id=\\\"faq-chart\\\" style=\\\"width:100%; height:100%;\\\"></canvas>\\n                        </div>\\n                        <p class=\\\"text-sm italic text-gray-600\\\">Note: Distribution of FAQ topics by category, showing common user concerns.</p>\\n                        <p><strong>Q: How do I maintain character consistency across different creations?</strong></p>\\n                        <p>A: The key is using the 'Looks Like' feature. By uploading a clear, high-quality reference\\n                            photo of a face, you train the AI on your character's appearance. SoulGen's high 'ID\\n                            Consistency' in its video generator then helps maintain this look in animations, which is a\\n                            major advantage over competitors.</p>\\n\\n                        <p><strong>Q: What's the most budget-friendly option for a regular user?</strong></p>\\n                        <p>A: For users who plan to use the service regularly, the Yearly plan offers the best value. It\\n                            significantly reduces the monthly cost and provides a large bulk of credits (1200 images /\\n                            120 videos) upfront, making it more cost-effective than paying month-to-month.</p>\\n\\n                        <p><strong>Q: Is SoulGen suitable for someone with no prior AI generation experience?</strong>\\n                        </p>\\n                        <p>A: Absolutely. The platform is designed with a straightforward and intuitive user interface.\\n                            Additionally, our 'Mastering SoulGen' guide provides clear, step-by-step tips on writing\\n                            effective prompts and using key features, making it easy for beginners to get started and\\n                            achieve high-quality results quickly.</p>\\n\\n                        <p><strong>Q: Is SoulGen safe to use?</strong></p>\\n                        <p>A: Yes, SoulGen is safe to use. The platform has a strong focus on privacy and data security,\\n                            and it does not share user data with third parties.</p>\\n\\n                        <p><strong>Q: Can I use SoulGen for free?</strong></p>\\n                        <p>A: SoulGen offers a free trial that allows you to generate a limited number of images. To\\n                            access all the features and generate more content, you will need to subscribe to a paid\\n                            plan.</p>\\n\\n                        <p><strong>Q: What is the difference between the 'Real Girl', 'DreamTwin Girl', and 'Anime Girl'\\n                                options?</strong></p>\\n                        <p>A: These options refer to the different styles of images that you can generate. 'Real Girl'\\n                            generates realistic images of women, 'DreamTwin Girl' creates a more stylized and dreamlike\\n                            version of a real person, and 'Anime Girl' generates images in an anime style.</p>\\n                    </section>\\n\\n                    <footer class=\\\"mt-12 pt-6 border-t border-gray-200\\\">\\n                        <h2 id=\\\"references\\\">References (Updated 17 October, 2025)</h2>\\n                        <ul class=\\\"text-sm text-gray-600 space-y-2 list-none p-0\\\">\\n                            <li>[1] Grand View Research. (2023). <em>Artificial Intelligence (AI) Video Generator Market\\n                                    Size, Share & Trends Analysis Report...</em></li>\\n                            <li>[2] LitMedia.ai. (2025). <em>Explore the Top 5 NSFW AI Video Generators in 2025</em>.\\n                            </li>\\n                            <li>[3] AIjourn.com. (2025). <em>Top 7 NSFW AI Generator Options for Realistic Images & AI\\n                                    Art...</em></li>\\n                            <li>[4] Artiverse.ca. (2025). <em>Candy AI NSFW AI Video Generator: My Unfiltered\\n                                    Thoughts</em>.</li>\\n                            <li>[5] Deepswap.ai. (n.d.). <em>NSFW AI Video Generator: Image/Text To Video</em>.</li>\\n                        </ul>\\n                    </footer>\\n                </article>\\n            </main>\\n        </div>\\n    </div>\\n\\n    <script>\\n        // Chart.js global defaults: compact legends and responsive behavior\\n        if (window.Chart) {\\n            Chart.defaults.plugins.legend.labels.boxWidth = 12;\\n            Chart.defaults.plugins.legend.labels.padding = 8;\\n            Chart.defaults.plugins.legend.position = 'bottom';\\n            Chart.defaults.responsive = true;\\n            Chart.defaults.maintainAspectRatio = false;\\n        }\\n\\n        document.addEventListener('DOMContentLoaded', function () {\\n            // --- 1. Dynamically Generate Table of Contents ---\\n            (function generateTOC() {\\n                const content = document.querySelector('article.content');\\n                const tocContainer = document.getElementById('toc-container');\\n                if (!content || !tocContainer) return;\\n\\n                // Select heading levels to include, but exclude any headings that are inside the TOC itself\\n                const allHeadings = Array.from(content.querySelectorAll('h1, h2, h3'));\\n                const header = content.querySelector('header');\\n                const headerTitleText = header && header.querySelector('h1') ? header.querySelector('h1').textContent.trim() : null;\\n                let headings = allHeadings.filter(h => !tocContainer.contains(h));\\n\\n                // Further filter out: any heading inside the header, any heading whose text equals the header title,\\n                // and any heading that literally says 'Contents' (case-insensitive)\\n                headings = headings.filter(h => {\\n                    const txt = (h.textContent || '').trim();\\n                    if (!txt) return false;\\n                    if (header && header.contains(h)) return false;\\n                    if (headerTitleText && txt === headerTitleText) return false;\\n                    if (/^contents$/i.test(txt)) return false;\\n                    return true;\\n                });\\n                if (!headings.length) return;\\n\\n                const tocList = document.getElementById('toc-list');\\n                const tocToggle = document.getElementById('toc-toggle');\\n\\n                // Create document fragment for better performance\\n                const frag = document.createDocumentFragment();\\n\\n                // Ensure each heading has an id\\n                // ensure each heading has an id\\n                headings.forEach((h, i) => {\\n                    if (!h.id) {\\n                        // generate slug from text\\n                        const slug = h.textContent.trim().toLowerCase().replace(/[^a-z0-9\\\\s-]/g, '').replace(/\\\\s+/g, '-');\\n                        let id = slug || `heading-${i}`;\\n                        // avoid duplicates\\n                        let counter = 1;\\n                        while (document.getElementById(id)) {\\n                            id = `${slug || 'heading'}-${counter++}`;\\n                        }\\n                        h.id = id;\\n                    }\\n                });\\n\\n                // Build nested list (h1 > h2 > h3)\\n                let currentH1 = null;\\n                let currentH2 = null;\\n\\n                headings.forEach(h => {\\n                    const level = parseInt(h.tagName.substring(1), 10);\\n                    const link = document.createElement('a');\\n                    link.href = `#${h.id}`;\\n                    link.className = 'toc-link block text-gray-700 hover:text-blue-600 py-1';\\n                    // style smaller for deeper levels\\n                    if (level === 3) link.classList.add('toc-h3', 'pl-4', 'text-sm');\\n                    if (level === 2) link.classList.add('pl-2');\\n                    link.textContent = h.textContent;\\n\\n                    const item = document.createElement('div');\\n                    item.appendChild(link);\\n\\n                    // place item in nested structure\\n                    if (level === 1) {\\n                        const wrapper = document.createElement('div');\\n                        wrapper.className = 'toc-group';\\n                        wrapper.appendChild(item);\\n                        frag.appendChild(wrapper);\\n                        currentH1 = wrapper;\\n                        currentH2 = null;\\n                    } else if (level === 2) {\\n                        if (!currentH1) {\\n                            // if no h1 yet, append at root\\n                            frag.appendChild(item);\\n                        } else {\\n                            // find or create container for h2s under current h1\\n                            let sub = currentH1.querySelector('.toc-sub-2');\\n                            if (!sub) {\\n                                sub = document.createElement('div');\\n                                sub.className = 'toc-sub-2 ml-2 border-l border-gray-100 pl-2 mt-1';\\n                                currentH1.appendChild(sub);\\n                            }\\n                            sub.appendChild(item);\\n                            currentH2 = item;\\n                        }\\n                    } else { // h3\\n                        if (currentH2) {\\n                            let sub3 = currentH2.querySelector('.toc-sub-3');\\n                            if (!sub3) {\\n                                sub3 = document.createElement('div');\\n                                sub3.className = 'toc-sub-3 ml-4 pl-2 mt-1 border-l border-gray-100';\\n                                currentH2.appendChild(sub3);\\n                            }\\n                            sub3.appendChild(item);\\n                        } else if (currentH1) {\\n                            let sub = currentH1.querySelector('.toc-sub-2');\\n                            if (!sub) {\\n                                sub = document.createElement('div');\\n                                sub.className = 'toc-sub-2 ml-2 pl-2 mt-1 border-l border-gray-100';\\n                                currentH1.appendChild(sub);\\n                            }\\n                            sub.appendChild(item);\\n                        } else {\\n                            frag.appendChild(item);\\n                        }\\n                    }\\n                });\\n\\n                tocList.appendChild(frag);\\n\\n                // Smooth scrolling behavior for links\\n                tocList.querySelectorAll('a.toc-link').forEach(a => {\\n                    a.addEventListener('click', (e) => {\\n                        e.preventDefault();\\n                        const target = document.getElementById(a.getAttribute('href').slice(1));\\n                        if (!target) return;\\n                        window.history.pushState(null, '', `#${target.id}`);\\n                        target.scrollIntoView({ behavior: 'smooth', block: 'start' });\\n                    });\\n                });\\n\\n                // Toggle collapse\\n                tocToggle.addEventListener('click', () => {\\n                    const expanded = tocToggle.getAttribute('aria-expanded') === 'true';\\n                    tocToggle.setAttribute('aria-expanded', String(!expanded));\\n                    document.getElementById('toc-list').classList.toggle('hidden');\\n                    tocToggle.textContent = expanded ? 'Expand' : 'Collapse';\\n                });\\n\\n                // --- 2. Implement Scrollspy ---\\n                const tocLinks = Array.from(tocList.querySelectorAll('a.toc-link'));\\n\\n                const headingTops = headings.map(h => ({ id: h.id, offset: h.getBoundingClientRect().top + window.scrollY }));\\n\\n                function onScrollSpy() {\\n                    const scrollPos = window.scrollY + 100; // offset to trigger earlier\\n                    let currentId = null;\\n                    for (let i = headingTops.length - 1; i >= 0; i--) {\\n                        if (scrollPos >= headingTops[i].offset - 40) {\\n                            currentId = headingTops[i].id;\\n                            break;\\n                        }\\n                    }\\n\\n                    tocLinks.forEach(l => l.classList.toggle('active', l.getAttribute('href') === `#${currentId}`));\\n                }\\n\\n                // Recompute offsets on resize (or when images load)\\n                function recomputeHeadingTops() {\\n                    for (let i = 0; i < headings.length; i++) {\\n                        headingTops[i].offset = headings[i].getBoundingClientRect().top + window.scrollY;\\n                    }\\n                }\\n\\n                window.addEventListener('scroll', onScrollSpy, { passive: true });\\n                window.addEventListener('resize', () => { recomputeHeadingTops(); onScrollSpy(); });\\n\\n                // Run once in case page already scrolled\\n                // Wait a tick for layout\\n                setTimeout(() => { recomputeHeadingTops(); onScrollSpy(); }, 200);\\n            })();\\n            \\n\\n            // --- 3. Render Charts ---\\n            // Chart 1: Market Trend\\n            new Chart(document.getElementById('market-trend-chart').getContext('2d'), {\\n                type: 'line', data: { labels: ['2024', '2025', '2026', '2027', '2028', '2029', '2030', '2031', '2032', '2033'], datasets: [{ label: 'Market Size (in Billion USD)', data: [3.86, 5.10, 6.74, 8.91, 11.78, 15.57, 20.58, 27.21, 35.97, 47.55], borderColor: 'rgb(59, 130, 246)', backgroundColor: 'rgba(59, 130, 246, 0.1)', fill: true, tension: 0.3 }] }, options: { responsive: true, plugins: { title: { display: true, text: 'AI Video Generation Market Growth Forecast (2024-2033)', font: { size: 16 } }, legend: { position: 'bottom' } }, scales: { y: { beginAtZero: true, title: { display: true, text: 'Value (Billion USD)' } } } }\\n            });\\n\\n            // Chart 2: User Priorities\\n            new Chart(document.getElementById('user-priorities-chart').getContext('2d'), {\\n                type: 'bar', data: { labels: ['Realism & Customization', 'Output Quality', 'Privacy & Data Policy', 'Safety Filters & Consent Models'], datasets: [{ label: 'Importance Score', data: [95, 90, 75, 70], backgroundColor: ['rgba(239, 68, 68, 0.7)', 'rgba(249, 115, 22, 0.7)', 'rgba(234, 179, 8, 0.7)', 'rgba(132, 204, 22, 0.7)'], borderColor: ['rgb(239, 68, 68)', 'rgb(249, 115, 22)', 'rgb(234, 179, 8)', 'rgb(132, 204, 22)'], borderWidth: 1 }] }, options: { indexAxis: 'y', responsive: true, plugins: { title: { display: true, text: 'User Priorities for NSFW AI Content Generators', font: { size: 16 } }, legend: { display: false } }, scales: { x: { beginAtZero: true, title: { display: true, text: 'Relative Importance' } } } }\\n            });\\n\\n            // Chart 3:Tools\\n            new Chart(document.getElementById('tools-chart').getContext('2d'), {\\n                type: 'bar', data: { labels: ['AI Girl/Image Generation', 'Video Generator (Beta)', 'Face Swap', 'Soul Chat'], datasets: [{ label: 'Rate Score', data: [100, 90, 80, 70], backgroundColor: ['rgba(239, 68, 68, 0.7)', 'rgba(249, 115, 22, 0.7)', 'rgba(234, 179, 8, 0.7)', 'rgba(132, 204, 22, 0.7)'], borderColor: ['rgb(239, 68, 68)', 'rgb(249, 115, 22)', 'rgb(234, 179, 8)', 'rgb(132, 204, 22)'], borderWidth: 1 }] }, options: { indexAxis: 'x', responsive: true, plugins: { title: { display: true, text: 'SoulGen AI\\\\'s Core Toolkit', font: { size: 16 } }, legend: { display: false } }, scales: { x: { beginAtZero: true, title: { display: true, text: 'Tool Score' } } } }\\n            });\\n\\n\\n            // Chart 4: Prompt Impact Analysis\\n            new Chart(document.getElementById('prompt-impact-chart').getContext('2d'), {\\n                type: 'bar',\\n                data: {\\n                    labels: ['Detailed Descriptions', 'High-Res Reference Photo', 'Specific Style Keywords', 'Negative Prompts'],\\n                    datasets: [{\\n                        label: 'Impact Score',\\n                        data: [95, 90, 80, 70],\\n                        backgroundColor: [\\n                            'rgba(239, 68, 68, 0.7)',\\n                            'rgba(249, 115, 22, 0.7)',\\n                            'rgba(59, 130, 246, 0.7)',\\n                            'rgba(34, 197, 94, 0.7)'\\n                        ],\\n                        borderColor: [\\n                            'rgb(239, 68, 68)',\\n                            'rgb(249, 115, 22)',\\n                            'rgb(59, 130, 246)',\\n                            'rgb(34, 197, 94)'\\n                        ],\\n                        borderWidth: 1\\n                    }]\\n                },\\n                options: {\\n                    indexAxis: 'y',\\n                    responsive: true,\\n                    plugins: {\\n                        title: {\\n                            display: true,\\n                            text: 'Impact of Prompt Elements on Output Quality',\\n                            font: { size: 16 }\\n                        },\\n                        legend: { display: false }\\n                    },\\n                    scales: {\\n                        x: {\\n                            beginAtZero: true,\\n                            title: {\\n                                display: true,\\n                                text: 'Relative Impact'\\n                            }\\n                        }\\n                    }\\n                }\\n            });\\n\\n            // Chart 5: Competitor Comparison\\n            new Chart(document.getElementById('competitor-radar-chart').getContext('2d'), {\\n                type: 'radar', data: { labels: ['NSFW Video', 'ID Consistency', \\\"'Looks Like' Feature\\\", 'Face Swap','NSFW Image','NSFW Chat'], datasets: [{ label: 'SoulGen', data: [3, 3, 3, 2, 3, 2], fill: true, backgroundColor: 'rgba(239, 68, 68, 0.2)', borderColor: 'rgb(239, 68, 68)', pointBackgroundColor: 'rgb(239, 68, 68)' }, { label: 'Candy.ai', data: [1, 1, 2, 1, 2, 3], fill: true, backgroundColor: 'rgba(59, 130, 246, 0.2)', borderColor: 'rgb(59, 130, 246)', pointBackgroundColor: 'rgb(59, 130, 246)' }, { label: 'DeepSwap', data: [2, 2, 1, 3, 1, 1], fill: true, backgroundColor: 'rgba(34, 197, 94, 0.2)', borderColor: 'rgb(34, 197, 94)', pointBackgroundColor: 'rgb(34, 197, 94)' }] }, options: { responsive: true, plugins: { title: { display: true, text: 'Feature Comparison (Rated 1-3)', font: { size: 16 } }, legend: { position: 'bottom' } }, scales: { r: { angleLines: { display: false }, suggestedMin: 0, suggestedMax: 3, ticks: { stepSize: 1 } } } }\\n            });\\n\\n            // Chart 6: Pricing Comparison\\n            new Chart(document.getElementById('pricing-comparison-chart').getContext('2d'), {\\n                type: 'doughnut', data: { labels: ['Yearly Plan ($90.99)', 'Monthly Plan (Annualized Cost)'], datasets: [{ label: 'Annual Cost Comparison', data: [90.99, (12.99 * 12).toFixed(2)], backgroundColor: ['rgba(34, 197, 94, 0.8)', 'rgba(249, 115, 22, 0.8)'], borderColor: ['#FFFFFF'], borderWidth: 2 }] }, options: { responsive: true, plugins: { title: { display: true, text: 'Annual Cost Comparison (USD)', font: { size: 16 } }, legend: { position: 'bottom' } } }\\n            });\\n\\n            // Chart 7: FAQ Topics Analysis\\n            new Chart(document.getElementById('faq-chart').getContext('2d'), {\\n                type: 'bar',\\n                data: {\\n                    labels: ['Usage & Quality', 'Pricing & Access', 'Safety & Privacy'],\\n                    datasets: [{\\n                        label: 'Number of Questions',\\n                        data: [3, 2, 1],\\n                        backgroundColor: [\\n                            'rgba(59, 130, 246, 0.7)',\\n                            'rgba(249, 115, 22, 0.7)',\\n                            'rgba(34, 197, 94, 0.7)'\\n                        ],\\n                        borderColor: [\\n                            'rgb(59, 130, 246)',\\n                            'rgb(249, 115, 22)',\\n                            'rgb(34, 197, 94)'\\n                        ],\\n                        borderWidth: 1\\n                    }]\\n                },\\n                options: {\\n                    responsive: true,\\n                    plugins: {\\n                        title: {\\n                            display: true,\\n                            text: 'Analysis of Common User Questions by Category',\\n                            font: { size: 16 }\\n                        },\\n                        legend: { display: false }\\n                    },\\n                    scales: {\\n                        y: {\\n                            beginAtZero: true,\\n                            ticks: {\\n                                stepSize: 1\\n                            },\\n                            title: {\\n                                display: true,\\n                                text: 'Number of Questions'\\n                            }\\n                        }\\n                    }\\n                }\\n            });\\n        });\\n    </script>\\n</body>\\n\\n</html>\",id:\"PIMZSBMLv\",layoutId:\"PIMZSBMLv\",radius:\"0px\",style:{width:\"100%\"},type:\"html\",url:\"\",width:\"100%\",zoom:1})})})})]})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:114,width:componentViewport?.width||\"100vw\",y:(componentViewport?.y||0)+0+618,children:/*#__PURE__*/_jsx(Container,{className:\"framer-1kzcq3u-container\",nodeId:\"p1vnUV8IK\",scopeId:\"Drc71hSfG\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{IO5pMORrz:{variant:\"DJmPg87w2\"},WqpURBq0T:{variant:\"C9o_mZPyJ\"}},children:/*#__PURE__*/_jsx(Footer,{height:\"100%\",id:\"p1vnUV8IK\",layoutId:\"p1vnUV8IK\",style:{width:\"100%\"},variant:\"jg944CaTtgpXuTyoce\",width:\"100%\"})})})})]}),/*#__PURE__*/_jsx(\"div\",{id:\"overlay\"})]})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-otAFf.framer-f0mjpz, .framer-otAFf .framer-f0mjpz { display: block; }\",\".framer-otAFf.framer-nbpzli { align-content: center; align-items: center; background-color: var(--token-8e5d656c-bbcb-436e-8a66-65e27b1212a0, #fafafa); display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: 1200px; }\",\".framer-otAFf .framer-40ijtl-container, .framer-otAFf .framer-5u4d99-container, .framer-otAFf .framer-enwruy-container, .framer-otAFf .framer-1lhekp-container, .framer-otAFf .framer-dunv39-container, .framer-otAFf .framer-y03ek4-container, .framer-otAFf .framer-14tnimg-container, .framer-otAFf .framer-or27cs-container, .framer-otAFf .framer-23dgka-container, .framer-otAFf .framer-1axn9a6-container, .framer-otAFf .framer-srekgk-container, .framer-otAFf .framer-1kzcq3u-container { flex: none; height: auto; position: relative; width: 100%; }\",\".framer-otAFf .framer-1cr29cy { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; overflow: visible; padding: 0px 0px 50px 0px; position: relative; width: 100%; }\",\".framer-otAFf .framer-w8wm82 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 60px; height: min-content; justify-content: flex-start; max-width: 95%; padding: 0px; position: relative; width: 100%; }\",\".framer-otAFf .framer-1cwjq1p, .framer-otAFf .framer-1xssm16 { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 20px; height: min-content; justify-content: flex-start; max-width: 100%; padding: 20px 0px 20px 0px; position: relative; width: 100%; }\",\".framer-otAFf .framer-jflpw3 { align-content: center; align-items: center; background-color: #ffffff; border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; border-top-left-radius: 5px; border-top-right-radius: 5px; display: flex; flex: 3 0 0px; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: flex-start; overflow: hidden; padding: 10px 40px 30px 40px; position: relative; width: 1px; will-change: var(--framer-will-change-override, transform); }\",\".framer-otAFf .framer-8myx9s { --border-bottom-width: 2px; --border-color: #dddddd; --border-left-width: 0px; --border-right-width: 0px; --border-style: solid; --border-top-width: 0px; align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; height: min-content; justify-content: space-around; min-height: 200px; padding: 0px; position: relative; width: 100%; }\",\".framer-otAFf .framer-1j4m6t, .framer-otAFf .framer-1qj9rbj { flex: none; height: auto; position: relative; white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\",\".framer-otAFf .framer-jjn3ai { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 20px; height: min-content; justify-content: flex-start; overflow: hidden; padding: 0px; position: relative; width: 100%; }\",\".framer-otAFf .framer-10iky4x, .framer-otAFf .framer-n8hsre, .framer-otAFf .framer-1thipxv, .framer-otAFf .framer-l0xl74, .framer-otAFf .framer-1veuvbq, .framer-otAFf .framer-1u59eib, .framer-otAFf .framer-n2rfjf, .framer-otAFf .framer-1tlz5qa, .framer-otAFf .framer-smxigo, .framer-otAFf .framer-vtkla9 { --framer-paragraph-spacing: 34px; flex: none; height: auto; position: relative; white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\",\".framer-otAFf .framer-9up4go { align-content: center; align-items: center; border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; border-top-left-radius: 5px; border-top-right-radius: 5px; display: flex; flex: 1 0 0px; flex-direction: column; flex-wrap: nowrap; gap: 20px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: sticky; top: 20px; width: 1px; z-index: 1; }\",\".framer-otAFf .framer-dd3w3x { align-content: flex-start; align-items: flex-start; background-color: #ffffff; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: flex-start; max-height: 500px; overflow: auto; padding: 0px; position: relative; width: 100%; }\",\".framer-otAFf .framer-b9ljdr { align-content: center; align-items: center; background-color: var(--token-bd95edf6-cdbd-4ec6-b63c-294427de4af0, rgba(35, 64, 110, 0.5)); display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 5px; height: min-content; justify-content: flex-start; overflow: hidden; padding: 5px; position: relative; text-decoration: none; width: 100%; }\",\".framer-otAFf .framer-9drs6c-container { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 63px); position: relative; width: 30px; }\",\".framer-otAFf .framer-15j9dun { --framer-link-text-color: #0099ff; --framer-link-text-decoration: underline; flex: none; height: 33px; position: relative; white-space: pre; width: auto; }\",\".framer-otAFf .framer-152jdqv { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 5px; height: min-content; justify-content: center; overflow: hidden; padding: 0px 0px 0px 5px; position: relative; width: 100%; }\",\".framer-otAFf .framer-s0r7nt-container { flex: 1 0 0px; height: auto; position: relative; width: 1px; }\",...sharedStyle.css,...sharedStyle1.css,...sharedStyle2.css,...sharedStyle3.css,...sharedStyle4.css,...sharedStyle5.css,...sharedStyle6.css,...sharedStyle7.css,...sharedStyle8.css,...sharedStyle9.css,...sharedStyle10.css,'.framer-otAFf[data-border=\"true\"]::after, .framer-otAFf [data-border=\"true\"]::after { content: \"\"; border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0); border-color: var(--border-color, none); border-style: var(--border-style, none); width: 100%; height: 100%; position: absolute; box-sizing: border-box; left: 0; top: 0; border-radius: inherit; pointer-events: none; }',\"@media (min-width: 810px) and (max-width: 1199.98px) { .framer-otAFf.framer-nbpzli { width: 810px; }}\",\"@media (max-width: 809.98px) { .framer-otAFf.framer-nbpzli { width: 390px; }}\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 9588\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"WqpURBq0T\":{\"layout\":[\"fixed\",\"auto\"]},\"IO5pMORrz\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n * @framerAcceptsLayoutTemplate true\n * @framerScrollSections {\"YGdyhUxQa\":{\"pattern\":\":YGdyhUxQa\",\"name\":\"section1\"},\"x6Yc0L38I\":{\"pattern\":\":x6Yc0L38I\",\"name\":\"section2\"},\"g0dec6OoR\":{\"pattern\":\":g0dec6OoR\",\"name\":\"section3\"},\"mE2s_Fx7W\":{\"pattern\":\":mE2s_Fx7W\",\"name\":\"section4\"},\"dKFcJq4O0\":{\"pattern\":\":dKFcJq4O0\",\"name\":\"section5\"},\"xshaOIY41\":{\"pattern\":\":xshaOIY41\",\"name\":\"section6\"},\"vYl6YJgX5\":{\"pattern\":\":vYl6YJgX5\",\"name\":\"section7\"},\"Pmrpx6kLK\":{\"pattern\":\":Pmrpx6kLK\",\"name\":\"section8\"},\"jZVlsiekn\":{\"pattern\":\":jZVlsiekn\",\"name\":\"section9\"},\"kBAtFIroB\":{\"pattern\":\":kBAtFIroB\",\"name\":\"section10\"}}\n * @framerResponsiveScreen\n */const FramerDrc71hSfG=withCSS(Component,css,\"framer-otAFf\");export default FramerDrc71hSfG;FramerDrc71hSfG.displayName=\"ai_articles\";FramerDrc71hSfG.defaultProps={height:9588,width:1200};addFonts(FramerDrc71hSfG,[{explicitInter:true,fonts:[{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]},...NavigationFonts,...FeatherFonts,...CatalogueItemFonts,...EmbedFonts,...FooterFonts,...getFontsFromSharedStyle(sharedStyle.fonts),...getFontsFromSharedStyle(sharedStyle1.fonts),...getFontsFromSharedStyle(sharedStyle2.fonts),...getFontsFromSharedStyle(sharedStyle3.fonts),...getFontsFromSharedStyle(sharedStyle4.fonts),...getFontsFromSharedStyle(sharedStyle5.fonts),...getFontsFromSharedStyle(sharedStyle6.fonts),...getFontsFromSharedStyle(sharedStyle7.fonts),...getFontsFromSharedStyle(sharedStyle8.fonts),...getFontsFromSharedStyle(sharedStyle9.fonts),...getFontsFromSharedStyle(sharedStyle10.fonts),...componentPresets.fonts?.[\"aAbJo1xAm\"]?getFontsFromComponentPreset(componentPresets.fonts?.[\"aAbJo1xAm\"]):[]],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerDrc71hSfG\",\"slots\":[],\"annotations\":{\"framerScrollSections\":\"{\\\"YGdyhUxQa\\\":{\\\"pattern\\\":\\\":YGdyhUxQa\\\",\\\"name\\\":\\\"section1\\\"},\\\"x6Yc0L38I\\\":{\\\"pattern\\\":\\\":x6Yc0L38I\\\",\\\"name\\\":\\\"section2\\\"},\\\"g0dec6OoR\\\":{\\\"pattern\\\":\\\":g0dec6OoR\\\",\\\"name\\\":\\\"section3\\\"},\\\"mE2s_Fx7W\\\":{\\\"pattern\\\":\\\":mE2s_Fx7W\\\",\\\"name\\\":\\\"section4\\\"},\\\"dKFcJq4O0\\\":{\\\"pattern\\\":\\\":dKFcJq4O0\\\",\\\"name\\\":\\\"section5\\\"},\\\"xshaOIY41\\\":{\\\"pattern\\\":\\\":xshaOIY41\\\",\\\"name\\\":\\\"section6\\\"},\\\"vYl6YJgX5\\\":{\\\"pattern\\\":\\\":vYl6YJgX5\\\",\\\"name\\\":\\\"section7\\\"},\\\"Pmrpx6kLK\\\":{\\\"pattern\\\":\\\":Pmrpx6kLK\\\",\\\"name\\\":\\\"section8\\\"},\\\"jZVlsiekn\\\":{\\\"pattern\\\":\\\":jZVlsiekn\\\",\\\"name\\\":\\\"section9\\\"},\\\"kBAtFIroB\\\":{\\\"pattern\\\":\\\":kBAtFIroB\\\",\\\"name\\\":\\\"section10\\\"}}\",\"framerAcceptsLayoutTemplate\":\"true\",\"framerResponsiveScreen\":\"\",\"framerIntrinsicWidth\":\"1200\",\"framerAutoSizeImages\":\"true\",\"framerImmutableVariables\":\"true\",\"framerContractVersion\":\"1\",\"framerColorSyntax\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerComponentViewportWidth\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"WqpURBq0T\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"IO5pMORrz\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerIntrinsicHeight\":\"9588\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}