{"version":3,"file":"shared-lib.DFpEvmv2.mjs","names":[],"sources":["https:/framerusercontent.com/modules/9yzXQ0l5MrzFHvrgyVKL/DqwVD3F0Cg27KYUlMQew/siteMetadata.js"],"sourcesContent":["// Generated by Framer (5e8f756)\nexport default function metadata(params,activeLocale){return{customHTMLBodyEnd:'<!-- Google Tag Manager (noscript) -->\\n<noscript><iframe src=\"https://www.googletagmanager.com/ns.html?id=GTM-MTNTQMR5\" height=\"0\" width=\"0\" style=\"display:none;visibility:hidden\"></iframe></noscript>\\n<!-- End Google Tag Manager (noscript) -->\\n<script>\\n// This will inject the HTML when DOM is ready\\ndocument.addEventListener(\\'DOMContentLoaded\\', function() {\\n  const callButtonHTML = `\\n    <a href=\"tel:(212) 660-0078\" class=\"floating-call-button\" aria-label=\"Call Us\">\\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"white\">\\n        <path d=\"M20.01 15.38c-1.23 0-2.42-.2-3.53-.56-.35-.12-.74-.03-1.01.24l-1.57 1.97c-2.83-1.35-5.48-3.9-6.89-6.83l1.95-1.66c.27-.28.35-.67.24-1.02-.37-1.11-.56-2.3-.56-3.53 0-.54-.45-.99-.99-.99H4.19C3.65 3 3 3.24 3 3.99 3 13.28 10.73 21 20.01 21c.71 0 .99-.63.99-1.18v-3.45c0-.54-.45-.99-.99-.99z\"/>\\n      </svg>\\n    </a>\\n  `;\\n  \\n  document.body.insertAdjacentHTML(\\'beforeend\\', callButtonHTML);\\n});\\n</script>\\n\\n\\n <script>\\n    !function(t,e){var o,n,p,r;e.__SV||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(\".\");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement(\"script\")).type=\"text/javascript\",p.crossOrigin=\"anonymous\",p.async=!0,p.src=s.api_host.replace(\".i.posthog.com\",\"-assets.i.posthog.com\")+\"/static/array.js\",(r=t.getElementsByTagName(\"script\")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a=\"posthog\",u.people=u.people||[],u.toString=function(t){var e=\"posthog\";return\"posthog\"!==a&&(e+=\".\"+a),t||(e+=\" (stub)\"),e},u.people.toString=function(){return u.toString(1)+\".people (stub)\"},o=\"init Ee Ps Rs xe ks Is capture We calculateEventProperties Cs register register_once register_for_session unregister unregister_for_session Ds getFeatureFlag getFeatureFlagPayload isFeatureEnabled reloadFeatureFlags updateEarlyAccessFeatureEnrollment getEarlyAccessFeatures on onFeatureFlags onSurveysLoaded onSessionId getSurveys getActiveMatchingSurveys renderSurvey canRenderSurvey canRenderSurveyAsync identify setPersonProperties group resetGroups setPersonPropertiesForFlags resetPersonPropertiesForFlags setGroupPropertiesForFlags resetGroupPropertiesForFlags reset get_distinct_id getGroups get_session_id get_session_replay_url alias set_config startSessionRecording stopSessionRecording sessionRecordingStarted captureException loadToolbar get_property getSessionProperty Fs Ms createPersonProfile As Es opt_in_capturing opt_out_capturing has_opted_in_capturing has_opted_out_capturing clear_opt_in_out_capturing Ts debug Os getPageViewId captureTraceFeedback captureTraceMetric\".split(\" \"),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[]);\\n    posthog.init(\\'phc_Nfh8sWav8EoyfiICq1KtzkwFi2aXGg5tKu6n6UWgFrD\\', {\\n        api_host: \\'https://us.i.posthog.com\\',\\n        defaults: \\'2025-05-24\\',\\n        person_profiles: \\'identified_only\\', // or \\'always\\' to create profiles for anonymous users as well\\n    })\\n</script>\\n<script>\\n(function () {\\n  // Map URL params -> form field names\\n  // For \"campaignid\", we write to both \"campaignid\" and your \"campaigned\".\\n  const paramToFieldNames = {\\n    gclid:       [\"gclid\"],\\n    utm_source:  [\"utm_source\"],\\n    utm_medium:  [\"utm_medium\"],\\n    utm_campaign:[\"utm_campaign\"],\\n    utm_term:    [\"utm_term\"],\\n    utm_content: [\"utm_content\"],\\n    keyword:     [\"keyword\"],\\n    matchtype:   [\"matchtype\"],\\n    adgroupid:   [\"adgroupid\"],\\n    campaignid:  [\"campaigned\", \"campaignid\"] // support your current column name\\n  };\\n\\n  const params = new URLSearchParams(window.location.search);\\n\\n  function fill(scope = document) {\\n    const inputs = scope.querySelectorAll(\\'input[name], textarea[name], select[name]\\');\\n    const byName = {};\\n    inputs.forEach(i => { if (i.name) byName[i.name] = i; });\\n\\n    Object.entries(paramToFieldNames).forEach(([param, fieldNames]) => {\\n      const v = params.get(param);\\n      if (v == null) return;\\n      fieldNames.forEach(name => {\\n        if (byName[name]) byName[name].value = v;\\n      });\\n    });\\n  }\\n\\n  document.addEventListener(\"DOMContentLoaded\", function () {\\n    fill();\\n\\n    // Re-fill on SPA navigation and just before submit\\n    window.addEventListener(\"popstate\", fill);\\n    document.body.addEventListener(\"click\", () => setTimeout(fill, 50));\\n    document.addEventListener(\"submit\", function (e) {\\n      fill(e.target);\\n    }, true);\\n  });\\n})();\\n</script>\\n',customHTMLHeadStart:\"<!-- Google Tag Manager -->\\n<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':\\nnew Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],\\nj=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=\\n'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);\\n})(window,document,'script','dataLayer','GTM-MTNTQMR5');</script>\\n<!-- End Google Tag Manager -->\\n<script type=\\\"text/javascript\\\">\\n    (function(c,l,a,r,i,t,y){\\n        c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};\\n        t=l.createElement(r);t.async=1;t.src=\\\"https://www.clarity.ms/tag/\\\"+i;\\n        y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);\\n    })(window, document, \\\"clarity\\\", \\\"script\\\", \\\"qevjq3kmi0\\\");\\n</script>\\n<script>\\n// This JavaScript will be properly placed in head\\ndocument.addEventListener('DOMContentLoaded', function() {\\n  // Will execute after page loads\\n});\\n</script>\\n\\n<style>\\n  /* Floating Call Button Styles */\\n  .floating-call-button {\\n    position: fixed;\\n    bottom: 20px;\\n    right: 20px;\\n    width: 60px;\\n    height: 60px;\\n    background-color: #000;\\n    border-radius: 50%;\\n    display: flex;\\n    align-items: center;\\n    justify-content: center;\\n    box-shadow: 0 4px 12px rgba(0,0,0,0.2);\\n    z-index: 9999;\\n    transition: all 0.3s ease;\\n  }\\n  \\n  .floating-call-button:hover {\\n    background-color: #333;\\n    transform: scale(1.1);\\n  }\\n  \\n  .floating-call-button svg {\\n    width: 24px;\\n    height: 24px;\\n  }\\n</style>\\n\",description:\"2MO Studio in New York creates and builds brands and spaces, offering design, construction, and site management to bring your vision to life.\",favicon:\"https://framerusercontent.com/assets/ps7LNjyItm2fV7crZXUbZe5Ge2I.svg\",robots:\"max-image-preview:large\",socialImage:\"https://framerusercontent.com/assets/tXwYC43ZVnkM6VmvLqueXAtfHM.jpg\",title:\"2MO Studio\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"2DACA,SAAwB,EAAS,EAAO,EAAa,CAAC,MAAM,CAAC,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAs9I,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAwhD,YAAY,gJAAgJ,QAAQ,uEAAuE,OAAO,0BAA0B,YAAY,sEAAsE,MAAM,aAAa"}