<!DOCTYPE html><html lang="ru" data-srcloc="/53d/index.tsx:54"><head data-srcloc="/53d/index.tsx:55"><script src="https://start.chatium.ru/static/.auto/ae28b09675337981d58ddb6bddd4d9cf0fcb17dc/plugin/static/botan.js"></script><script>window.__ugc_workspace = {"id":"ux1hmDDe3wuOxOtMF5B00053d","path":"53d"};</script><script type="importmap">{
  "imports": {
    "//chatium.ru/s/static/builtin/npm__date-fns-tz.js": "//53d.ru/s/static/builtin/npm__date-fns-tz.UWN65NCY.js",
    "//chatium.ru/s/static/builtin/npm__date-fns.js": "//53d.ru/s/static/builtin/npm__date-fns.RE6V272Q.js",
    "//chatium.ru/s/static/builtin/npm__date-fns__locale.js": "//53d.ru/s/static/builtin/npm__date-fns__locale.YYHVHNXN.js",
    "//chatium.ru/s/static/builtin/npm__json5.js": "//53d.ru/s/static/builtin/npm__json5.XRPGSYMK.js",
    "//chatium.ru/s/static/builtin/npm__lodash.js": "//53d.ru/s/static/builtin/npm__lodash.7JAAY6DN.js",
    "//chatium.ru/s/static/builtin/routingUtils.js": "//53d.ru/s/static/builtin/routingUtils.NV2ITN4E.js",
    "//chatium.ru/s/static/builtin/vue.js": "//53d.ru/s/static/builtin/vue.JYHCOVSN.js",
    "//chatium.ru/s/static/builtin/app__socket.js": "//53d.ru/s/static/builtin/app__socket.SX73Y6WF.js",
    "//chatium.ru/s/static/builtin/app__solid-js.js": "//53d.ru/s/static/builtin/app__solid-js.FODKI4DA.js",
    "//chatium.ru/s/static/builtin/app__solid-js__store.js": "//53d.ru/s/static/builtin/app__solid-js__store.NVWFJMN7.js",
    "//chatium.ru/s/static/builtin/app__solid-js__web.js": "//53d.ru/s/static/builtin/app__solid-js__web.YK7KVSQ2.js",
    "//chatium.ru/s/static/builtin/app__storage.js": "//53d.ru/s/static/builtin/app__storage.L35X2RHL.js",
    "//chatium.ru/s/static/builtin/app__ui.js": "//53d.ru/s/static/builtin/app__ui.N7USS7NN.js",
    "//chatium.ru/s/static/builtin/iso-client-runtime.js": "//53d.ru/s/static/builtin/iso-client-runtime.O73NWOTW.js",
    "//chatium.ru/s/static/builtin/moduleLoader.js": "//53d.ru/s/static/builtin/moduleLoader.HUVH3435.js",
    "//chatium.ru/s/static/builtin/app__errors.js": "//53d.ru/s/static/builtin/app__errors.Q6Q5TZYO.js",
    "//chatium.ru/s/static/builtin/app__heap.js": "//53d.ru/s/static/builtin/app__heap.GCUWPCSS.js",
    "//chatium.ru/s/static/builtin/app__html-jsx.js": "//53d.ru/s/static/builtin/app__html-jsx.44IAZIIC.js",
    "//chatium.ru/s/static/builtin/app__html-jsx__routing.js": "//53d.ru/s/static/builtin/app__html-jsx__routing.ZRQFCIQE.js",
    "//chatium.ru/s/static/builtin/app__html.js": "//53d.ru/s/static/builtin/app__html.AR7VYRS4.js",
    "//chatium.ru/s/static/builtin/app__i18n.js": "//53d.ru/s/static/builtin/app__i18n.WV2MMX4A.js",
    "//chatium.ru/s/static/builtin/app__nanoid.js": "//53d.ru/s/static/builtin/app__nanoid.77V4TBII.js",
    "//chatium.ru/s/static/builtin/app__request.js": "//53d.ru/s/static/builtin/app__request.5G6YLX3L.js",
    "vue": "//53d.ru/s/static/builtin/vue.JYHCOVSN.js"
  }
}</script><script type="module" src="//53d.ru/s/static/builtin/moduleLoader.HUVH3435.js"></script><meta charset="UTF-8" data-srcloc="/53d/index.tsx:56"><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=5.0" data-srcloc="/53d/index.tsx:57"><meta http-equiv="X-UA-Compatible" content="IE=edge" data-srcloc="/53d/index.tsx:58"><link rel="preconnect" href="https://fs.chatium.ru" crossorigin="anonymous" data-srcloc="/53d/index.tsx:61"><link rel="dns-prefetch" href="https://fs.chatium.ru" data-srcloc="/53d/index.tsx:62"><link rel="preconnect" href="https://fonts.googleapis.com" data-srcloc="/53d/index.tsx:63"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="anonymous" data-srcloc="/53d/index.tsx:64"><link rel="prefetch" href="/53d/api/products/list" as="fetch" crossorigin="anonymous" data-srcloc="/53d/index.tsx:67"><link rel="preload" as="image" href="https://fs.chatium.ru/get/image_msk_5Wl6Qc7fRU.1080x1080.png" fetchpriority="high" data-srcloc="/53d/index.tsx:70"><link rel="icon" type="image/png" href="https://fs.chatium.ru/get/image_msk_DQmod2ehID.32x32.png" data-srcloc="/53d/index.tsx:73"><link rel="apple-touch-icon" href="https://fs.chatium.ru/get/image_msk_5Wl6Qc7fRU.1080x1080.png" data-srcloc="/53d/index.tsx:74"><title data-srcloc="/53d/index.tsx:77">53D — 3D-фигурки и миниатюры в Великом Новгороде | 3D-печать на заказ</title><meta name="title" content="53D — 3D-фигурки и миниатюры в Великом Новгороде | 3D-печать на заказ" data-srcloc="/53d/index.tsx:78"><meta name="description" content="Готовые 3D-фигурки, миниатюры и декор. 3D-сканирование, моделирование и печать под запрос. Работаем в Великом Новгороде. Тел: 8 (816-2) 55-33-07" data-srcloc="/53d/index.tsx:79"><meta name="keywords" content="3D печать, 3D фигурки, миниатюры, 3D сканирование, 3D моделирование, Великий Новгород, купить фигурки, 3D принтер" data-srcloc="/53d/index.tsx:80"><meta name="author" content="53D" data-srcloc="/53d/index.tsx:81"><meta name="robots" content="index, follow" data-srcloc="/53d/index.tsx:82"><link rel="canonical" href="https://53d.ru/" data-srcloc="/53d/index.tsx:83"><meta property="og:type" content="website" data-srcloc="/53d/index.tsx:86"><meta property="og:url" content="https://53d.ru/" data-srcloc="/53d/index.tsx:87"><meta property="og:title" content="53D — 3D-фигурки и миниатюры в Великом Новгороде | 3D-печать на заказ" data-srcloc="/53d/index.tsx:88"><meta property="og:description" content="Готовые 3D-фигурки, миниатюры и декор. 3D-сканирование, моделирование и печать под запрос. Работаем в Великом Новгороде. Тел: 8 (816-2) 55-33-07" data-srcloc="/53d/index.tsx:89"><meta property="og:image" content="https://fs.chatium.ru/get/image_msk_5Wl6Qc7fRU.1080x1080.png" data-srcloc="/53d/index.tsx:90"><meta property="og:locale" content="ru_RU" data-srcloc="/53d/index.tsx:91"><meta property="og:site_name" content="53D" data-srcloc="/53d/index.tsx:92"><meta property="twitter:card" content="summary_large_image" data-srcloc="/53d/index.tsx:95"><meta property="twitter:url" content="https://53d.ru/" data-srcloc="/53d/index.tsx:96"><meta property="twitter:title" content="53D — 3D-фигурки и миниатюры в Великом Новгороде | 3D-печать на заказ" data-srcloc="/53d/index.tsx:97"><meta property="twitter:description" content="Готовые 3D-фигурки, миниатюры и декор. 3D-сканирование, моделирование и печать под запрос. Работаем в Великом Новгороде. Тел: 8 (816-2) 55-33-07" data-srcloc="/53d/index.tsx:98"><meta property="twitter:image" content="https://fs.chatium.ru/get/image_msk_5Wl6Qc7fRU.1080x1080.png" data-srcloc="/53d/index.tsx:99"><script type="application/ld+json" data-srcloc="/53d/index.tsx:102">{"@context":"https://schema.org","@type":"LocalBusiness","name":"53D","description":"3D-печать фигурок и миниатюр, 3D-сканирование и моделирование","url":"https://53d.ru/","telephone":"+78162553307","address":{"@type":"PostalAddress","addressLocality":"Великий Новгород","addressCountry":"RU"},"geo":{"@type":"GeoCoordinates","latitude":"58.5215","longitude":"31.2767"},"openingHoursSpecification":{"@type":"OpeningHoursSpecification","dayOfWeek":["Monday","Tuesday","Wednesday","Thursday","Friday"],"opens":"09:00","closes":"18:00"},"priceRange":"$$","image":"https://fs.chatium.ru/get/image_msk_5Wl6Qc7fRU.1080x1080.png"}</script><link rel="preconnect" href="https://fonts.googleapis.com" data-srcloc="/53d/styles.tsx:21"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="anonymous" data-srcloc="/53d/styles.tsx:22"><link href="https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&amp;display=swap" rel="stylesheet" data-srcloc="/53d/styles.tsx:23"><link href="/s/static/lib/fontawesome/6.7.2/css/all.min.css" rel="stylesheet" data-srcloc="/53d/styles.tsx:24"><script src="/s/static/lib/tailwind.3.4.16.min.js" data-srcloc="/53d/styles.tsx:25"></script><script data-srcloc="/53d/styles.tsx:26">
        tailwind.config = {
          theme: {
            extend: {
              colors: {
                primary: '#34A5D5',
                secondary: '#74B853',
                accent: '#34A5D5',
                dark: '#1a1a2e',
                light: '#f8fafc',
                success: '#74B853',
                warning: '#f59e0b',
                danger: '#ef4444',
              },
              fontFamily: {
                sans: ['Manrope', 'system-ui', 'sans-serif'],
              },
            }
          }
        }
      </script><style data-srcloc="/53d/styles.tsx:47">
        /* Performance optimizations */
        * {
          font-family: 'Manrope', system-ui, sans-serif;
        }
        
        /* Image optimization */
        img {
          max-width: 100%;
          height: auto;
        }
        
        /* Reduce motion for users who prefer it */
        @media (prefers-reduced-motion: reduce) {
          *, *::before, *::after {
            animation-duration: 0.01ms !important;
            animation-iteration-count: 1 !important;
            transition-duration: 0.01ms !important;
          }
        }
        
        .gradient-text {
          background: linear-gradient(135deg, #34A5D5 0%, #74B853 100%);
          -webkit-background-clip: text;
          -webkit-text-fill-color: transparent;
          background-clip: text;
        }
        .gradient-bg {
          background: linear-gradient(135deg, #34A5D5 0%, #74B853 100%);
        }
        .gradient-border {
          position: relative;
        }
        .gradient-border::before {
          content: '';
          position: absolute;
          inset: 0;
          border-radius: inherit;
          padding: 2px;
          background: linear-gradient(135deg, #34A5D5 0%, #74B853 100%);
          -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
          mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
          -webkit-mask-composite: xor;
          mask-composite: exclude;
        }
        .hover-lift {
          transition: transform 0.3s ease, box-shadow 0.3s ease;
        }
        .hover-lift:hover {
          transform: translateY(-4px);
          box-shadow: 0 20px 40px rgba(52, 165, 213, 0.15);
        }
        .glass {
          background: rgba(255, 255, 255, 0.9);
          backdrop-filter: blur(12px);
        }
        .glass-dark {
          background: rgba(26, 26, 46, 0.9);
          backdrop-filter: blur(12px);
        }
        /* Hide Chatium template widget */
        [class*="template"],
        [class*="chatium"],
        [data-chatium],
        #chatium-template-widget,
        .chatium-template-promo {
          display: none !important;
        }
      </style><script type="module" data-jsx-ugc-internals="">
      import { createAccountUrlMethod } from '//53d.ru/s/static/builtin/routingUtils.NV2ITN4E.js';
      window.__ugc_internals__ = {
        out: {
          fileService: {
            fileServiceCdnHost: "https://slt.cdn-chatium.io",
            fileServiceHost: "https://fs.chatium.ru",
          }
        },
        helpers: {
          httpConfDomain: "chatium.ru",
          socketDomain: "app.msk.chatium.io",
          socketClientLibUrls: ["https://chatium.ru/s/static/lib/socket.io.2.3.1.min.js","https://chatium.ru/s/static/lib/socket-client.4.min.js"],
          fsGetPutUrl: "https://53d.ru/s/fs/u/v2.eyJpYXQiOjE3ODA5OTI2NDh9.jnIohEQpk2ZdYXQ6yCtMm6FoYL_uGDuO_YdOucfJ_qI",
          accountUrl: createAccountUrlMethod({"accountName":"5-3d","accountHost":"53d.ru","accountPathPrefix":""}),
          vmModulesLoadFrom: "db",
        }
      };
      window.__accountFullCodePublishedVersion = "c8393a33d81a1fbfe65e6c1b7d9d86ce3a9ac940";
      window.__externalDependenciesActualVersions = {"https://html.chatium.ru":"e7b04e4277bac3328847561bb3f9f6d8a40f815a","https://lms.chatium.ru":"50c14822205455cd43913c039f2cd7a3d54584bf","https://solid.chatium.ru":"87286eed58eb8590c0d74c258314bb7d5113f702","https://start.chatium.ru":"ae28b09675337981d58ddb6bddd4d9cf0fcb17dc"};
    </script><script type="module" data-jsx-ugc-ctx="">
      import { t } from '//53d.ru/s/static/builtin/iso-client-runtime.O73NWOTW.js';
      window.__jsx_app_ctx = {
        t,
        location: {"country":"US","region":"","timeZone":"America/Chicago","city":"","coordinates":{"latitude":37.751,"longitude":-97.822}},
        lang: "en",
        __effectiveLangs__: ["en"],
        account: {
          id: 14852,
          url: window.__ugc_internals__.helpers.accountUrl,
          name: "5-3d",
          publishedVersion: null,
        },
        user: undefined,
        req: {"params":{},"query":{"feed":"rss2"},"path":""},
        log: function(...args) {
          console.log(...args)
        },
      };
      
    </script></head><body class="bg-white" data-srcloc="/53d/index.tsx:108"><div data-vue-component-id="idcBAhVzcBLRkkBAdnE_kpr"></div><script type="module">
          const Vue = __lazyImport("*", r => import(r("//" + window.__ugc_internals__.helpers.httpConfDomain + "/s/static/builtin/vue.js")));
          const ComponentModule = __lazyImport("*", r => import(r("https://53d.ru/static/.client/db/53d/components/Header.vue?lang=en")))
          __resolveModules([], [ComponentModule, Vue], async ([ComponentModule, Vue]) => {
            const props = {};
            
            const Component = await ComponentModule.default;
            const __chatiumPrepareVueApp = await ComponentModule.__chatiumPrepareVueApp
            let vueApp = Vue.createApp(Component, props);
            vueApp.config.globalProperties.ctx = window.__jsx_app_ctx;
            if (typeof __chatiumPrepareVueApp === "function") {
              vueApp =  __chatiumPrepareVueApp(vueApp)
              if (!(vueApp && typeof vueApp.mount === "function")) {
                throw new Error("__chatiumPrepareVueApp should return vueApp, received " + typeof vueApp)
              }
            }
            vueApp.mount('[data-vue-component-id="idcBAhVzcBLRkkBAdnE_kpr"]');
          })
        </script><main data-srcloc="/53d/index.tsx:110"><div data-vue-component-id="idAE8gDI50zJgrMQ8xxlCv9"></div><script type="module">
          const Vue = __lazyImport("*", r => import(r("//" + window.__ugc_internals__.helpers.httpConfDomain + "/s/static/builtin/vue.js")));
          const ComponentModule = __lazyImport("*", r => import(r("https://53d.ru/static/.client/db/53d/components/CatalogSection.vue?lang=en")))
          __resolveModules([], [ComponentModule, Vue], async ([ComponentModule, Vue]) => {
            const props = {};
            
            const Component = await ComponentModule.default;
            const __chatiumPrepareVueApp = await ComponentModule.__chatiumPrepareVueApp
            let vueApp = Vue.createApp(Component, props);
            vueApp.config.globalProperties.ctx = window.__jsx_app_ctx;
            if (typeof __chatiumPrepareVueApp === "function") {
              vueApp =  __chatiumPrepareVueApp(vueApp)
              if (!(vueApp && typeof vueApp.mount === "function")) {
                throw new Error("__chatiumPrepareVueApp should return vueApp, received " + typeof vueApp)
              }
            }
            vueApp.mount('[data-vue-component-id="idAE8gDI50zJgrMQ8xxlCv9"]');
          })
        </script><div data-vue-component-id="id2u281RDZZ9xoQoR062Sc5"></div><script type="module">
          const Vue = __lazyImport("*", r => import(r("//" + window.__ugc_internals__.helpers.httpConfDomain + "/s/static/builtin/vue.js")));
          const ComponentModule = __lazyImport("*", r => import(r("https://53d.ru/static/.client/db/53d/components/AboutSection.vue?lang=en")))
          __resolveModules([], [ComponentModule, Vue], async ([ComponentModule, Vue]) => {
            const props = {};
            
            const Component = await ComponentModule.default;
            const __chatiumPrepareVueApp = await ComponentModule.__chatiumPrepareVueApp
            let vueApp = Vue.createApp(Component, props);
            vueApp.config.globalProperties.ctx = window.__jsx_app_ctx;
            if (typeof __chatiumPrepareVueApp === "function") {
              vueApp =  __chatiumPrepareVueApp(vueApp)
              if (!(vueApp && typeof vueApp.mount === "function")) {
                throw new Error("__chatiumPrepareVueApp should return vueApp, received " + typeof vueApp)
              }
            }
            vueApp.mount('[data-vue-component-id="id2u281RDZZ9xoQoR062Sc5"]');
          })
        </script><div data-vue-component-id="idM7MYaYx6z1aSblV2nWL2C"></div><script type="module">
          const Vue = __lazyImport("*", r => import(r("//" + window.__ugc_internals__.helpers.httpConfDomain + "/s/static/builtin/vue.js")));
          const ComponentModule = __lazyImport("*", r => import(r("https://53d.ru/static/.client/db/53d/components/ContactSection.vue?lang=en")))
          __resolveModules([], [ComponentModule, Vue], async ([ComponentModule, Vue]) => {
            const props = {};
            
            const Component = await ComponentModule.default;
            const __chatiumPrepareVueApp = await ComponentModule.__chatiumPrepareVueApp
            let vueApp = Vue.createApp(Component, props);
            vueApp.config.globalProperties.ctx = window.__jsx_app_ctx;
            if (typeof __chatiumPrepareVueApp === "function") {
              vueApp =  __chatiumPrepareVueApp(vueApp)
              if (!(vueApp && typeof vueApp.mount === "function")) {
                throw new Error("__chatiumPrepareVueApp should return vueApp, received " + typeof vueApp)
              }
            }
            vueApp.mount('[data-vue-component-id="idM7MYaYx6z1aSblV2nWL2C"]');
          })
        </script><div data-vue-component-id="id0TrdWwatygHKDOIKKNW0J"></div><script type="module">
          const Vue = __lazyImport("*", r => import(r("//" + window.__ugc_internals__.helpers.httpConfDomain + "/s/static/builtin/vue.js")));
          const ComponentModule = __lazyImport("*", r => import(r("https://53d.ru/static/.client/db/53d/components/SubscribeSection.vue?lang=en")))
          __resolveModules([], [ComponentModule, Vue], async ([ComponentModule, Vue]) => {
            const props = {};
            
            const Component = await ComponentModule.default;
            const __chatiumPrepareVueApp = await ComponentModule.__chatiumPrepareVueApp
            let vueApp = Vue.createApp(Component, props);
            vueApp.config.globalProperties.ctx = window.__jsx_app_ctx;
            if (typeof __chatiumPrepareVueApp === "function") {
              vueApp =  __chatiumPrepareVueApp(vueApp)
              if (!(vueApp && typeof vueApp.mount === "function")) {
                throw new Error("__chatiumPrepareVueApp should return vueApp, received " + typeof vueApp)
              }
            }
            vueApp.mount('[data-vue-component-id="id0TrdWwatygHKDOIKKNW0J"]');
          })
        </script></main><div data-vue-component-id="idrFSUzMb1mznfd-tPFVpgC"></div><script type="module">
          const Vue = __lazyImport("*", r => import(r("//" + window.__ugc_internals__.helpers.httpConfDomain + "/s/static/builtin/vue.js")));
          const ComponentModule = __lazyImport("*", r => import(r("https://53d.ru/static/.client/db/53d/components/Footer.vue?lang=en")))
          __resolveModules([], [ComponentModule, Vue], async ([ComponentModule, Vue]) => {
            const props = {};
            
            const Component = await ComponentModule.default;
            const __chatiumPrepareVueApp = await ComponentModule.__chatiumPrepareVueApp
            let vueApp = Vue.createApp(Component, props);
            vueApp.config.globalProperties.ctx = window.__jsx_app_ctx;
            if (typeof __chatiumPrepareVueApp === "function") {
              vueApp =  __chatiumPrepareVueApp(vueApp)
              if (!(vueApp && typeof vueApp.mount === "function")) {
                throw new Error("__chatiumPrepareVueApp should return vueApp, received " + typeof vueApp)
              }
            }
            vueApp.mount('[data-vue-component-id="idrFSUzMb1mznfd-tPFVpgC"]');
          })
        </script><div data-vue-component-id="idOUFNacGAbAxt1djEmaItV"></div><script type="module">
          const Vue = __lazyImport("*", r => import(r("//" + window.__ugc_internals__.helpers.httpConfDomain + "/s/static/builtin/vue.js")));
          const ComponentModule = __lazyImport("*", r => import(r("https://53d.ru/static/.client/db/53d/components/CookieBanner.vue?lang=en")))
          __resolveModules([], [ComponentModule, Vue], async ([ComponentModule, Vue]) => {
            const props = {};
            
            const Component = await ComponentModule.default;
            const __chatiumPrepareVueApp = await ComponentModule.__chatiumPrepareVueApp
            let vueApp = Vue.createApp(Component, props);
            vueApp.config.globalProperties.ctx = window.__jsx_app_ctx;
            if (typeof __chatiumPrepareVueApp === "function") {
              vueApp =  __chatiumPrepareVueApp(vueApp)
              if (!(vueApp && typeof vueApp.mount === "function")) {
                throw new Error("__chatiumPrepareVueApp should return vueApp, received " + typeof vueApp)
              }
            }
            vueApp.mount('[data-vue-component-id="idOUFNacGAbAxt1djEmaItV"]');
          })
        </script><script type="application/json" id="utm-params" data-srcloc="/53d/index.tsx:119">{"source":"","medium":"","campaign":""}</script><script data-srcloc="/53d/index.tsx:122">
          // Handle anchor scroll after Vue mounts
          if (window.location.hash) {
            const scrollToAnchor = () => {
              const element = document.querySelector(window.location.hash);
              if (element) {
                setTimeout(() => {
                  element.scrollIntoView({ behavior: 'smooth' });
                }, 100);
              }
            };
            // Try immediately and after a delay for Vue hydration
            scrollToAnchor();
            setTimeout(scrollToAnchor, 500);
          }
        </script></body></html>