{"id":27903,"date":"2025-12-22T16:35:54","date_gmt":"2025-12-22T08:35:54","guid":{"rendered":"http:\/\/43.155.104.53:8800\/?page_id=27903"},"modified":"2026-02-11T09:30:29","modified_gmt":"2026-02-11T01:30:29","slug":"about-us","status":"publish","type":"page","link":"https:\/\/cn.inffnitech.com\/zh\/about-us\/","title":{"rendered":"\u5173\u4e8e\u6211\u4eec"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"27903\" class=\"elementor elementor-27903\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1d9ef88 elementor-hidden-desktop elementor-hidden-tablet elementor-hidden-mobile e-flex e-con-boxed elementor-invisible e-con e-parent\" data-id=\"1d9ef88\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;animation&quot;:&quot;fadeInUp&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-a934ad8 e-con-full e-flex e-con e-child\" data-id=\"a934ad8\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a607ce7 elementor-widget elementor-widget-heading\" data-id=\"a607ce7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Live for Wonder<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-173a49b e-con-full viideo_bg e-flex elementor-invisible e-con e-parent\" data-id=\"173a49b\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;motion_fx_motion_fx_scrolling&quot;:&quot;yes&quot;,&quot;animation&quot;:&quot;fadeInUp&quot;,&quot;motion_fx_devices&quot;:[&quot;desktop&quot;,&quot;tablet&quot;,&quot;mobile&quot;]}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d597f24 elementor-widget elementor-widget-video\" data-id=\"d597f24\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;video_type&quot;:&quot;hosted&quot;,&quot;show_image_overlay&quot;:&quot;yes&quot;,&quot;image_overlay&quot;:{&quot;url&quot;:&quot;http:\\\/\\\/cn.inffnitech.com\\\/wp-content\\\/uploads\\\/2026\\\/01\\\/banner-1.png&quot;,&quot;id&quot;:29271,&quot;size&quot;:&quot;&quot;,&quot;alt&quot;:&quot;&quot;,&quot;source&quot;:&quot;library&quot;}}\" data-widget_type=\"video.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"e-hosted-video elementor-wrapper elementor-open-inline\">\n\t\t\t\t\t<video class=\"elementor-video\" src=\"http:\/\/cn.inffnitech.com\/wp-content\/uploads\/2025\/12\/Banner-\u89c6\u9891\u7247\u6bb5.mp4\" preload=\"auto\" controlsList=\"nodownload\"><\/video>\n\t\t\t\t\t\t<div class=\"elementor-custom-embed-image-overlay\" style=\"background-image: url(https:\/\/cn.inffnitech.com\/wp-content\/uploads\/2026\/01\/banner-1.png);\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-c93fcdf e-con-full e-flex e-con e-child\" data-id=\"c93fcdf\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;position&quot;:&quot;absolute&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-941d5e8 elementor-widget elementor-widget-heading\" data-id=\"941d5e8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Live for Wonder<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a149e9f e-flex e-con-boxed elementor-invisible e-con e-parent\" data-id=\"a149e9f\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;animation&quot;:&quot;fadeInUp&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-977e779 e-con-full e-flex e-con e-child\" data-id=\"977e779\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-371ae20 elementor-widget elementor-widget-heading\" data-id=\"371ae20\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Our Mission &amp; Vision<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0b2bc18 elementor-widget elementor-widget-heading\" data-id=\"0b2bc18\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Our vision is to bring embodied AI into everyday life, creating intelligent robots that inspire living, learning, and exploration\u2014from Rover's everyday companionship and Firstbreath's prehistoric revival to Hexplorer's hexapod robotics for industry.<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e35fe40 elementor-widget elementor-widget-heading\" data-id=\"e35fe40\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Our mission is to be the first brand to create a new era of consumer robotics\u2014from intelligent companions to lifelike prehistoric recreations.<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-c78900b e-flex e-con-boxed e-con e-parent\" data-id=\"c78900b\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;gradient&quot;,&quot;animation&quot;:&quot;none&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-c1bcf1d e-con-full e-flex e-con e-child\" data-id=\"c1bcf1d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e659690 stats-align-center elementor-widget__width-inherit elementor-widget elementor-widget-threejs_tech_globe_v43\" data-id=\"e659690\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"threejs_tech_globe_v43.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t            \n            <style>\n                .globe-widget-container { position: relative; width: 100%; overflow: hidden; background: transparent; box-sizing: border-box; }\n                \n                \/* [CRITICAL FIX] Device Specific Selector with ID for specificity *\/\n                                @media (max-height: 850px) and (min-width: 768px) {\n                    #globe-container-e659690 {\n                        height: 160vh !important;\n                        min-height: auto !important;\n                    }\n                }\n                \n                .globe-bg-overlay { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; height: 100%; background: radial-gradient(circle at center, rgba(0, 50, 100, 0.4) 0%, rgba(0, 0, 0, 0) 70%); z-index: 0; pointer-events: none; opacity: 0; }\n                .globe-canvas-wrapper { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; }\n                #three-canvas-e659690 { width: 100%; height: 100%; outline: none; display: block; }\n                \n                \/* Responsive Intro Container (REQ 3) *\/\n                .globe-intro-container { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 15; opacity: 0; text-align: center; pointer-events: none; display: flex; flex-direction: column; align-items: center; }\n                .globe-intro-title { margin: 0; }\n                .globe-intro-subtitle { margin: 0; display: block; }\n                .globe-intro-desc { margin-top: 15px; }\n                \n                .globe-content-col { position: absolute; z-index: 20; display: flex; flex-direction: column; opacity: 0; pointer-events: none; box-sizing: border-box; justify-content: center; }\n                .globe-content-inner { pointer-events: auto; width: 100%; }\n                \n                                                            .globe-content-col { bottom: 0; left: 0; width: 100%; height: auto; transform: translateY(150px); justify-content: flex-end; }\n                        .globe-stats-wrapper { display: flex; flex-direction: row; flex-wrap: wrap; gap: 20px; justify-content: space-between; }\n                                                    \n                .globe-subtitle { display: block; margin-bottom: 10px; }\n                .globe-title { display: block; margin-bottom: 20px; }\n                .globe-desc { display: block; line-height: 1.6; }\n                \/* Main Text Margin (REQ 4) - handled by selector in control *\/\n                \n                .globe-stat-item { display: flex; flex-direction: column; border-bottom: 1px solid rgba(255,255,255,0.1); padding-bottom: 15px; margin-bottom: 25px; box-sizing: border-box; }\n                .stat-number { display: block; font-weight: bold; }\n                .stat-label { display: block; }\n                .globe-stat-images { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }\n                .globe-stat-img { transition: transform 0.3s ease; cursor: pointer; object-fit: cover; }\n                \n                .globe-3d-label { position: absolute; top: 0; left: 0; color: #aaccff; font-size: 14px; font-weight: bold; text-shadow: 0 0 5px rgba(0,0,0,0.8); pointer-events: none; display: flex; flex-direction: column; align-items: center; opacity: 0; z-index: 100; will-change: transform, opacity; font-family: sans-serif; }\n                .globe-3d-label::after { content: ''; display: block; width: 2px; height: 50px; background: linear-gradient(to bottom, #ffffff 0%, #00ccff 50%, rgba(0, 204, 255, 0) 100%); margin-top: 4px; box-shadow: 0 0 8px rgba(0, 204, 255, 0.8); }\n                .globe-3d-label-dot { width: 4px; height: 4px; background-color: #88bbff; border: 1px solid #4488ff; border-radius: 50%; margin-bottom: 2px; }\n                \n                @media (max-width: 768px) {\n                    .globe-widget-container { height: auto !important; min-height: 100vh; overflow: visible; display: flex; flex-direction: column; }\n                    \/* [REQ 2] Mobile Canvas Height - Handled by Responsive Control, but we ensure position relative here *\/\n                    .globe-canvas-wrapper { position: relative !important; width: 100% !important; }\n                    .globe-intro-container { display: none !important; }\n                    .globe-content-col { position: relative !important; width: 100% !important; height: auto !important; top: auto !important; bottom: auto !important; left: auto !important; right: auto !important; transform: none !important; opacity: 1 !important; padding: 30px 20px !important; background: transparent !important; }\n                    \n                    \/* [REQ 1] Mobile Stats Grid Implementation *\/\n                    .globe-stats-wrapper { \n                        display: flex !important; \n                        flex-direction: row !important; \n                        flex-wrap: wrap !important;\n                        gap: 15px;\n                    }\n                    \/* 1 Per Row *\/\n                    .mobile-stats-1 .globe-stat-item { width: 100% !important; margin-bottom: 20px !important; }\n                    \/* 2 Per Row *\/\n                    .mobile-stats-2 .globe-stat-item { \n                        width: 48% !important; \n                        flex: 0 0 48% !important; \n                        margin-bottom: 20px !important; \n                    }\n                }\n            <\/style>\n\n            <div id=\"globe-container-e659690\" class=\"globe-widget-container globe-trigger-e659690 globe-layout-bottom mobile-stats-2\" data-config='{\"showContent\":true,\"position\":\"bottom\",\"globeScale\":{\"desktop\":1,\"tablet\":0.8,\"mobile\":1},\"overlayEnable\":true,\"globeOffset\":13,\"mapImage\":\"http:\\\/\\\/cn.inffnitech.com\\\/wp-content\\\/uploads\\\/2026\\\/01\\\/earth_lights_2048.png\",\"introPersist\":true,\"persistTop\":\"15%\",\"scrollDist\":150,\"offset\":{\"x\":{\"desktop\":13,\"tablet\":8,\"mobile\":0},\"y\":{\"desktop\":-3,\"tablet\":-5.5,\"mobile\":-3.5}}}'>\n                                <div class=\"globe-bg-overlay\" id=\"bg-overlay-e659690\"><\/div>\n                                <div class=\"globe-canvas-wrapper\" id=\"canvas-wrapper-e659690\">\n                    <div id=\"three-canvas-e659690\"><\/div>\n                <\/div>\n                <div class=\"globe-intro-container\" id=\"intro-wrap-e659690\">\n                    <h2 class=\"globe-intro-title\">How Was INFFNI Born?<\/h2>\n                                        <h3 class=\"globe-intro-subtitle\">Powered by DOBOT<\/h3>\n                                        <div class=\"globe-intro-desc\">Rooted in DOBOT\u2019s proven robotics legacy, INFFNI evolved from academic research into an embodied-AI platform\u2014bringing reliable robotic companions into everyday life.<\/div>\n                <\/div>\n                                <div class=\"globe-content-col\" id=\"content-col-e659690\">\n                    <div class=\"globe-content-inner\">\n                                                                        <div class=\"globe-stats-wrapper\">\n                                                                                                <div class=\"globe-stat-item\">\n                                                                                <span class=\"stat-number\" \n                                              data-target=\"80\" \n                                              data-suffix=\"+\">0<\/span>\n                                                                                    <div class=\"globe-stat-images\">\n                                                                                                    <img decoding=\"async\" class=\"globe-stat-img\" src=\"http:\/\/cn.inffnitech.com\/wp-content\/uploads\/2026\/01\/company_name-1.png\" alt=\"Stat Image\">\n                                                                                            <\/div>\n                                                                                <span class=\"stat-label\">Fortune 500 Companies<\/span>\n                                                                            <\/div>\n                                                                    <div class=\"globe-stat-item\">\n                                                                                <span class=\"stat-number\" \n                                              data-target=\"100\" \n                                              data-suffix=\"+\">0<\/span>\n                                                                                    <div class=\"globe-stat-images\">\n                                                                                                    <img decoding=\"async\" class=\"globe-stat-img\" src=\"http:\/\/cn.inffnitech.com\/wp-content\/uploads\/2026\/01\/\u5730\u533a\u7ba1\u7406-1.png\" alt=\"Stat Image\">\n                                                                                            <\/div>\n                                                                                <span class=\"stat-label\">100+ Countries &amp; Regions<\/span>\n                                                                            <\/div>\n                                                                    <div class=\"globe-stat-item\">\n                                                                                <span class=\"stat-number\" \n                                              data-target=\"973\" \n                                              data-suffix=\"+\">0<\/span>\n                                                                                    <div class=\"globe-stat-images\">\n                                                                                                    <img decoding=\"async\" class=\"globe-stat-img\" src=\"http:\/\/cn.inffnitech.com\/wp-content\/uploads\/2026\/01\/\u4e13\u5229-\u53d1\u660e\u4e13\u5229-1.png\" alt=\"Stat Image\">\n                                                                                            <\/div>\n                                                                                <span class=\"stat-label\">Patented Technologies<\/span>\n                                                                            <\/div>\n                                                                    <div class=\"globe-stat-item\">\n                                                                                <span class=\"stat-number\" \n                                              data-target=\"100000\" \n                                              data-suffix=\"+\">0<\/span>\n                                                                                    <div class=\"globe-stat-images\">\n                                                                                                    <img decoding=\"async\" class=\"globe-stat-img\" src=\"http:\/\/cn.inffnitech.com\/wp-content\/uploads\/2026\/01\/\u9500\u552e\u7edf\u8ba1-1.png\" alt=\"Stat Image\">\n                                                                                            <\/div>\n                                                                                <span class=\"stat-label\">Robots Sold<\/span>\n                                                                            <\/div>\n                                                                                    <\/div>\n                                            <\/div>\n                <\/div>\n                            <\/div>\n\n            <script>\njQuery(window).on('elementor\/frontend\/init', function() {\n    elementorFrontend.hooks.addAction('frontend\/element_ready\/threejs_tech_globe_v43.default', function($scope, $) {\n        \n        const container = $scope.find('.globe-widget-container');\n        if (!container.length) return;\n\n        const uid = container.attr('class').match(\/globe-trigger-(\\w+)\/)[1];\n        const config = container.data('config');\n        \n        const containerEl = document.getElementById(\"three-canvas-\" + uid);\n        const wrapperEl = document.getElementById(\"canvas-wrapper-\" + uid);\n        const contentEl = document.getElementById(\"content-col-\" + uid);\n        const introEl = document.getElementById(\"intro-wrap-\" + uid);\n        const bgOverlayEl = document.getElementById(\"bg-overlay-\" + uid);\n        const triggerEl = container[0];\n\n        if (!containerEl || typeof THREE === 'undefined') return;\n\n        \/\/ \u2705 \u7b49\u5f85\u5e03\u5c40\u7a33\u5b9a\n        const waitForLayout = () => {\n            return new Promise(resolve => {\n                requestAnimationFrame(() => {\n                    requestAnimationFrame(() => {\n                        resolve();\n                    });\n                });\n            });\n        };\n\n        \/\/ \u2705 \u786e\u4fdd\u5bb9\u5668\u6709\u5c3a\u5bf8\n        const ensureContainerSize = () => {\n            return new Promise(resolve => {\n                const checkSize = () => {\n                    const width = containerEl.clientWidth;\n                    const height = containerEl.clientHeight;\n                    \n                    if (width > 0 && height > 0) {\n                        \/\/console.log('\u2705 Container size ready:', width, 'x', height);\n                        resolve({ width, height });\n                    } else {\n                        requestAnimationFrame(checkSize);\n                    }\n                };\n                checkSize();\n            });\n        };\n\n        \/\/ \u2705 [HELPER] Get Current Device Settings\n        const getDeviceSettings = () => {\n            const width = window.innerWidth;\n            if (width <= 767) return 'mobile';\n            if (width <= 1440) return 'tablet';\n            return 'desktop';\n        };\n\n        const runNumberAnimation = () => {\n            if (typeof gsap !== 'undefined' && contentEl) {\n                const counters = contentEl.querySelectorAll('.stat-number');\n                counters.forEach(counter => {\n                    const t = parseFloat(counter.getAttribute('data-target'));\n                    const s = counter.getAttribute('data-suffix');\n                    gsap.to(counter, { \n                        innerHTML: t, \n                        duration: 2, \n                        snap: { innerHTML: 1 }, \n                        onUpdate: function() { \n                            this.targets()[0].innerHTML = Math.ceil(this.targets()[0].innerHTML) + s; \n                        } \n                    });\n                });\n            }\n        };\n\n        \/\/ \u2705 \u4e3b\u521d\u59cb\u5316\u51fd\u6570\n        const init = async () => {\n            try {\n                \/\/ \u7b49\u5f85\u5e03\u5c40\u548c\u5c3a\u5bf8\n                await waitForLayout();\n                const { width, height } = await ensureContainerSize();\n\n                const labels = [];\n\n                \/\/ --- 3D Scene Setup ---\n                const scene = new THREE.Scene();\n                const camera = new THREE.PerspectiveCamera(45, width \/ height, 0.1, 1000);\n                camera.position.set(0, 0, 45); \n                camera.lookAt(0, 0, 0);\n                \n                const renderer = new THREE.WebGLRenderer({ antialias: true, alpha: true });\n                renderer.setSize(width, height);\n                renderer.setPixelRatio(window.devicePixelRatio);\n                \n                while (containerEl.firstChild) containerEl.removeChild(containerEl.firstChild);\n                containerEl.appendChild(renderer.domElement);\n                \n                const existingLabels = wrapperEl.querySelectorAll('.globe-3d-label');\n                existingLabels.forEach(el => el.remove());\n                \n                const handleResize = () => {\n                    const rect = containerEl.getBoundingClientRect();\n                    const w = rect.width;\n                    const h = rect.height;\n                    \n                    if (w === 0 || h === 0) return;\n\n                    \/\/ --- \u4fee\u590d\u53d8\u5f62 ---\n                    camera.aspect = w \/ h;\n                    \n                    \/\/ --- \u4fee\u590d\u5927\u5c0f ---\n                    const baseHeight = 990; \/\/ \u8bbe\u8ba1\u57fa\u51c6\u9ad8\u5ea6\n                    const baseZ = 45;       \/\/ \u521d\u59cb\u8ddd\u79bb\n                    \n                    \/\/ Math.max \u786e\u4fdd\u76f8\u673a\u6c38\u8fdc\u4e0d\u4f1a\u6bd4 baseZ (45) \u66f4\u8fd1\u3002\n                    \/\/ 1. \u5f53\u6d4f\u89c8\u5668\u7f29\u5c0f(\u9ad8\u5ea6>800)\u65f6\uff0c\u540e\u534a\u90e8\u5206\u751f\u6548\uff0c\u76f8\u673a\u540e\u9000\uff0c\u5730\u7403\u53d8\u5c0f\u3002\n                    \/\/ 2. \u5f53\u6309F12(\u9ad8\u5ea6<800)\u65f6\uff0cMath.max \u53d6 45\uff0c\u76f8\u673a\u4f4d\u7f6e\u56fa\u5b9a\uff0c\u5730\u7403\u4f1a\u968f Canvas \u81ea\u52a8\u7f29\u5c0f\u3002\n                    const newZ = Math.max(baseZ, baseZ * (h \/ baseHeight));\n                    \n                    camera.position.z = newZ;\n                    camera.updateProjectionMatrix();\n\n                    \/\/ --- \u4fee\u590d\u6a21\u7cca\u548c\u5750\u6807 ---\n                    renderer.setPixelRatio(window.devicePixelRatio);\n                    renderer.setSize(w, h, false); \n                    \n                    renderer.domElement.style.width = \"100%\";\n                    renderer.domElement.style.height = \"100%\";\n\n                    \/\/ --- \u7acb\u5373\u91cd\u7ed8 ---\n                    renderer.render(scene, camera);\n                    \n                    \/\/ --- \u5f3a\u5236\u66f4\u65b0\u6807\u7b7e\u4f4d\u7f6e ---\n                    if (typeof labels !== 'undefined') {\n                         labels.forEach(item => {\n                            const tempV = new THREE.Vector3();\n                            item.anchor.getWorldPosition(tempV);\n                            tempV.project(camera);\n                            const x = (tempV.x * .5 + .5) * w;\n                            const y = (tempV.y * -.5 + .5) * h;\n                            item.element.style.transform = `translate(-50%, -100%) translate(${x}px, ${y}px)`;\n                        });\n                    }\n\n                    \/\/ \u5237\u65b0 ScrollTrigger\n                    if (typeof ScrollTrigger !== 'undefined') {\n                        ScrollTrigger.refresh();\n                    }\n                };\n\n                \/\/ 2. \u7b2c\u4e00\u9053\u4fdd\u9669\uff1aResizeObserver (\u76d1\u542c\u5bb9\u5668\u5c3a\u5bf8)\n                const resizeObserver = new ResizeObserver(() => {\n                    handleResize();\n                });\n                resizeObserver.observe(containerEl);\n\n                \/\/ 3. \u7b2c\u4e8c\u9053\u4fdd\u9669\uff1aWindow Resize (\u76d1\u542c\u6d4f\u89c8\u5668\u7a97\u53e3)\n                \/\/ \u52a0\u4e00\u4e2a\u7b80\u5355\u7684\u9632\u6296\uff0c\u786e\u4fdd\u7f29\u653e\u52a8\u753b\u7ed3\u675f\u540e\u518d\u6821\u51c6\u4e00\u6b21\n                let resizeTimeout;\n                window.addEventListener('resize', () => {\n                    handleResize(); \/\/ \u7acb\u5373\u54cd\u5e94\n                    clearTimeout(resizeTimeout);\n                    resizeTimeout = setTimeout(() => {\n                        handleResize(); \/\/ 200ms \u540e\u518d\u6b21\u54cd\u5e94\uff0c\u786e\u4fdd\u7a33\u5b9a\n                        \/\/ console.log('\u2705 Zoom settled, forced update.');\n                    }, 200);\n                });\n\n                \/\/ 4. \u7b2c\u4e09\u9053\u4fdd\u9669\uff1aPixelRatio \u8f6e\u8be2 (\u4e13\u95e8\u89e3\u51b3\u201c\u7f29\u653e\u540e\u4e0d\u5237\u65b0\u4e0d\u884c\u201d\u7684\u95ee\u9898)\n                \/\/ \u6d4f\u89c8\u5668\u7f29\u653e\u6709\u65f6\u4e0d\u4f1a\u89e6\u53d1 resize \u4e8b\u4ef6\uff0c\u6216\u8005\u89e6\u53d1\u987a\u5e8f\u5f88\u5947\u602a\n                \/\/ \u6211\u4eec\u68c0\u6d4b devicePixelRatio \u7684\u53d8\u5316\n                let lastDPR = window.devicePixelRatio;\n                setInterval(() => {\n                    if (window.devicePixelRatio !== lastDPR) {\n                        lastDPR = window.devicePixelRatio;\n                        handleResize(); \/\/ \u50cf\u7d20\u6bd4\u53d8\u4e86\uff0c\u5f3a\u5236\u91cd\u7b97\uff01\n                    }\n                }, 500); \/\/ \u6bcf0.5\u79d2\u68c0\u67e5\u4e00\u6b21\uff0c\u6027\u80fd\u6d88\u8017\u6781\u4f4e\n\n                \/\/ \u521d\u59cb\u5316\u8c03\u7528\u4e00\u6b21\n                handleResize();\n                \n                \/\/ --- Globe Construction ---\n                const mainGroup = new THREE.Group();\n                scene.add(mainGroup);\n                const earthGroup = new THREE.Group();\n                mainGroup.add(earthGroup);\n                const orbitGroup = new THREE.Group();\n                mainGroup.add(orbitGroup);\n                const globeRadius = 8;\n\n                const oceanMat = new THREE.MeshBasicMaterial({ \n                    color: 0x002244, \n                    transparent: true, \n                    opacity: 0.5, \n                    side: THREE.FrontSide, \n                    blending: THREE.AdditiveBlending \n                });\n                earthGroup.add(new THREE.Mesh(new THREE.SphereGeometry(globeRadius - 0.05, 64, 64), oceanMat));\n\n                const shieldMat = new THREE.ShaderMaterial({\n                    uniforms: { color: { value: new THREE.Color(0x00ffcc) } },\n                    vertexShader: `\n                        varying vec2 vUv; \n                        varying vec3 vNormal; \n                        varying vec3 vViewPosition; \n                        void main() { \n                            vUv = uv; \n                            vNormal = normalize(normalMatrix * normal); \n                            vec4 mvPosition = modelViewMatrix * vec4(position, 1.0); \n                            vViewPosition = -mvPosition.xyz; \n                            gl_Position = projectionMatrix * mvPosition; \n                        }\n                    `,\n                    fragmentShader: `\n                        uniform vec3 color; \n                        varying vec2 vUv; \n                        varying vec3 vNormal; \n                        varying vec3 vViewPosition; \n                        void main() { \n                            vec2 uv = vUv * 200.0; \n                            vec2 grid = fract(uv) - 0.5; \n                            float dist = length(grid); \n                            float dotPattern = smoothstep(0.4, 0.02, dist); \n                            vec3 normal = normalize(vNormal); \n                            vec3 viewDir = normalize(vViewPosition); \n                            float fresnel = 1.0 - abs(dot(normal, viewDir)); \n                            float direction = -(normal.x * 0.7 + normal.y * 0.7); \n                            float dirMask = smoothstep(-0.2, 0.8, direction); \n                            float cornerHaze = dirMask * pow(fresnel, 4.0) * 0.2; \n                            float dotAlpha = dotPattern * (0.05 + pow(fresnel, 7.0) * 2.0); \n                            gl_FragColor = vec4(color, dotAlpha + cornerHaze); \n                        }\n                    `,\n                    transparent: true, \n                    side: THREE.FrontSide, \n                    blending: THREE.AdditiveBlending, \n                    depthWrite: false\n                });\n                earthGroup.add(new THREE.Mesh(new THREE.SphereGeometry(globeRadius + 0.5, 64, 64), shieldMat));\n                \n                const blackSphereGeo = new THREE.SphereGeometry(globeRadius - 0.1, 64, 64);\n                const blackSphere = new THREE.Mesh(blackSphereGeo, new THREE.MeshBasicMaterial({ color: 0x000000 }));\n                earthGroup.add(blackSphere);\n                \n                const glowMat = new THREE.ShaderMaterial({\n                    uniforms: { \n                        glowColor: { value: new THREE.Color(0x001133) }, \n                        viewVector: { value: camera.position } \n                    },\n                    vertexShader: `\n                        uniform vec3 viewVector; \n                        varying float intensity; \n                        void main() { \n                            vec3 vNormal = normalize(normalMatrix * normal); \n                            vec3 vNormel = normalize(normalMatrix * viewVector); \n                            intensity = pow(1.0 - dot(vNormal, vNormel), 7.5); \n                            gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0); \n                        }\n                    `,\n                    fragmentShader: `\n                        uniform vec3 glowColor; \n                        varying float intensity; \n                        void main() { \n                            float a = clamp(intensity, 0.0, 1.0); \n                            gl_FragColor = vec4(glowColor, a); \n                        }\n                    `,\n                    side: THREE.BackSide, \n                    blending: THREE.AdditiveBlending, \n                    transparent: true, \n                    depthWrite: false\n                });\n                mainGroup.add(new THREE.Mesh(new THREE.SphereGeometry(globeRadius + 1.5, 64, 64), glowMat));\n\n                \/\/ --- Orbit and Photon System ---\n                function latLonToVector3(lat, lon, radius) {\n                    const phi = (90 - lat) * (Math.PI \/ 180); \n                    const theta = (lon + 90) * (Math.PI \/ 180);\n                    const x = -(radius * Math.sin(phi) * Math.cos(theta)); \n                    const z = (radius * Math.sin(phi) * Math.sin(theta)); \n                    const y = (radius * Math.cos(phi));\n                    return new THREE.Vector3(x, y, z);\n                }\n                \n                const activePhotons = [];\n                \n                function createOrbit(rX, rY, rot) {\n                    const curve = new THREE.EllipseCurve(0, 0, rX, rY, 0, 2 * Math.PI, false, 0);\n                    const pts = curve.getPoints(100).map(p => new THREE.Vector3(p.x, p.y, 0));\n                    const c3d = new THREE.CatmullRomCurve3(pts); \n                    c3d.closed = true;\n                    \n                    const mat = new THREE.ShaderMaterial({\n                        uniforms: { \n                            color1: { value: new THREE.Color(0x00ffff) }, \n                            color2: { value: new THREE.Color(0x004455) } \n                        },\n                        vertexShader: `\n                            varying vec2 vUv; \n                            void main() { \n                                vUv = uv; \n                                gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0); \n                            }\n                        `,\n                        fragmentShader: `\n                            uniform vec3 color1; \n                            uniform vec3 color2; \n                            varying vec2 vUv; \n                            void main() { \n                                float g = sin(vUv.x * 6.28) * 0.5 + 0.5; \n                                vec3 c = mix(color2, color1, g); \n                                float d = abs(vUv.y - 0.5) * 2.0; \n                                float a = pow(1.0 - smoothstep(0.0, 1.0, d), 3.0); \n                                gl_FragColor = vec4(c, a * 0.8); \n                            }\n                        `,\n                        transparent: true, \n                        blending: THREE.AdditiveBlending, \n                        side: THREE.DoubleSide, \n                        depthWrite: false\n                    });\n                    \n                    const mesh = new THREE.Mesh(new THREE.TubeGeometry(c3d, 64, 0.02, 8, true), mat);\n                    mesh.rotation.copy(rot);\n                    orbitGroup.add(mesh);\n                    \n                    if (Math.random() > 0.5) {\n                        const spd = 0.0001 + Math.random() * 0.0002; \n                        const st = Math.random();\n                        for (let i = 0; i < 3; i++) {\n                            const p = new THREE.Mesh(\n                                new THREE.SphereGeometry([0.09, 0.06, 0.04][i], 8, 8), \n                                new THREE.MeshBasicMaterial({ color: i===0?0xffffff:0x00ffff })\n                            );\n                            if (i===0) p.add(new THREE.PointLight(0x00ffff, 0.8, 2));\n                            mesh.add(p);\n                            let pos = st - (i*0.025); \n                            if(pos<0) pos+=1;\n                            activePhotons.push({ mesh: p, curve: curve, speed: spd, pos: pos });\n                        }\n                    }\n                }\n                \n                createOrbit(globeRadius + 0.5, globeRadius + 0.5, new THREE.Euler(Math.PI\/2, 0, 0));\n                for(let i=0; i<10; i++) {\n                    createOrbit(\n                        globeRadius+0.5+Math.random()*2.5, \n                        globeRadius+0.5+Math.random()*2.5, \n                        new THREE.Euler(Math.random()*Math.PI, Math.random()*Math.PI, 0)\n                    );\n                }\n\n                \/\/ --- Map Texture Loading ---\n                const mapUrl = config.mapImage ? config.mapImage : 'https:\/\/raw.githubusercontent.com\/mrdoob\/three.js\/master\/examples\/textures\/planets\/earth_lights_2048.png';\n                const img = new Image();\n                if (mapUrl.indexOf(window.location.hostname) === -1) { \n                    img.crossOrigin = \"Anonymous\"; \n                }\n                \n                const imageLoaded = new Promise(resolve => {\n                    img.onload = function() {\n                        const c = document.createElement('canvas'); \n                        c.width = img.width; \n                        c.height = img.height;\n                        const ctx = c.getContext('2d'); \n                        ctx.drawImage(img, 0, 0);\n                        const d = ctx.getImageData(0, 0, c.width, c.height).data;\n                        const p=[], cl=[]; \n                        const c1=new THREE.Color(0x0044aa), c2=new THREE.Color(0x00ccff);\n                        const step = 2;\n                        \n                        for(let y=0; y<c.height; y+=step) {\n                            for(let x=0; x<c.width; x+=step) {\n                                const i=(y*c.width+x)*4;\n                                if(d[i]>38) {\n                                    const lat=90-(y\/c.height)*180; \n                                    const lon=(x\/c.width)*360-180;\n                                    const v=latLonToVector3(lat, lon, globeRadius);\n                                    p.push(v.x, v.y, v.z);\n                                    let col=new THREE.Color(); \n                                    col.copy(c1).lerp(c2, d[i]\/255).multiplyScalar(1.5);\n                                    cl.push(col.r, col.g, col.b);\n                                }\n                            }\n                        }\n                        \n                        const geo=new THREE.BufferGeometry();\n                        geo.setAttribute('position', new THREE.Float32BufferAttribute(p, 3));\n                        geo.setAttribute('color', new THREE.Float32BufferAttribute(cl, 3));\n                        earthGroup.add(new THREE.Points(geo, new THREE.PointsMaterial({ \n                            size: 0.13, \n                            vertexColors: true, \n                            transparent: true, \n                            opacity: 0.8, \n                            blending: THREE.AdditiveBlending \n                        })));\n                        \n                        \/\/console.log('\u2705 Map texture loaded');\n                        resolve();\n                    };\n                    img.onerror = () => {\n                        \/\/console.warn('\u26a0\ufe0f Map texture failed to load');\n                        resolve();\n                    };\n                });\n                img.src = mapUrl;\n\n                \/\/ --- 3D Labels ---\n                const locations = [\n                    { name: \"Germany\", lat: 51.16, lon: 10.45 }, \n                    { name: \"China\", lat: 35.86, lon: 104.19 },\n                    { name: \"Japan\", lat: 36.20, lon: 138.25 }, \n                    { name: \"Malaysia\", lat: 4.21, lon: 101.97 },\n                    { name: \"Thailand\", lat: 15.87, lon: 100.99 }, \n                    { name: \"USA\", lat: 37.09, lon: -95.71 },\n                    { name: \"Mexico\", lat: 23.63, lon: -102.55 }\n                ];\n                \n                \/\/ const labels = [];\n                const tempV = new THREE.Vector3();\n                const raycaster = new THREE.Raycaster(); \n                \n                locations.forEach(loc => {\n                    const div = document.createElement('div'); \n                    div.className = 'globe-3d-label';\n                    div.innerHTML = `<div class=\"globe-3d-label-dot\"><\/div><div>${loc.name}<\/div>`;\n                    wrapperEl.appendChild(div);\n                    \n                    const anchor = new THREE.Mesh(\n                        new THREE.SphereGeometry(0.01), \n                        new THREE.MeshBasicMaterial({ visible: false })\n                    );\n                    anchor.position.copy(latLonToVector3(loc.lat, loc.lon, globeRadius));\n                    earthGroup.add(anchor);\n                    labels.push({ element: div, anchor: anchor });\n                });\n\n                \/\/ --- Animation Loop ---\n                function animate() {\n                    if (!document.body.contains(containerEl)) return;\n                    requestAnimationFrame(animate);\n                    \n                    earthGroup.rotation.y += 0.0006;\n                    orbitGroup.rotation.y -= 0.0002;\n                    orbitGroup.rotation.x = Math.sin(Date.now() * 0.00005) * 0.05;\n                    \n                    activePhotons.forEach(p => { \n                        p.pos += p.speed; \n                        if(p.pos>=1) p.pos-=1; \n                        const pt=p.curve.getPoint(p.pos); \n                        p.mesh.position.set(pt.x, pt.y, 0); \n                    });\n                    \n                    scene.updateMatrixWorld();\n                    \n                    labels.forEach(item => {\n                        item.anchor.getWorldPosition(tempV); \n                        const screenV = tempV.clone();\n                        screenV.project(camera);\n                        const x = (screenV.x * .5 + .5) * containerEl.clientWidth;\n                        const y = (screenV.y * -.5 + .5) * containerEl.clientHeight;\n                        \n                        raycaster.set(camera.position, tempV.clone().sub(camera.position).normalize());\n                        const intersects = raycaster.intersectObject(blackSphere);\n                        const distToAnchor = camera.position.distanceTo(tempV);\n                        let isVisible = true;\n                        \n                        if (intersects.length > 0) {\n                            if (intersects[0].distance < distToAnchor - 0.5) isVisible = false;\n                        }\n                        \n                        if (isVisible) {\n                            item.element.style.transform = `translate(-50%, -100%) translate(${x}px, ${y}px)`; \n                            item.element.style.opacity = 1;\n                        } else { \n                            item.element.style.opacity = 0; \n                        }\n                    });\n                    \n                    renderer.render(scene, camera);\n                }\n                \n                earthGroup.rotation.y = 4.5; \n                earthGroup.rotation.x = 0.5;\n                earthGroup.rotation.z = 0;\n\n                \/\/ \u2705 \u7b49\u5f85\u56fe\u7247\u52a0\u8f7d\u5b8c\u6210\n                await imageLoaded;\n\n                \/\/ --- Animation Logic ---\n                const deviceMode = getDeviceSettings();\n                const isMobile = deviceMode === 'mobile';\n                \n                \/\/ Resolve Responsive Values\n                const targetScale = config.globeScale[deviceMode];\n                const targetOffsetX = config.offset.x[deviceMode];\n                const targetOffsetY = config.offset.y[deviceMode];\n\n                if (elementorFrontend.isEditMode()) {\n                    \/\/ Editor Preview\n                    gsap.set(wrapperEl, { filter: \"blur(0px) brightness(1) hue-rotate(0deg)\", scale: 1 });\n                    if (bgOverlayEl) gsap.set(bgOverlayEl, { width: \"50%\", opacity: 1 }); \n                    \n                    let offset = config.offset.x.desktop;\n                    let offsetY = config.offset.y.desktop;\n                    let moveX = 0, moveY = offsetY, moveZ = 10;\n                    if (config.position === 'right') moveX = -offset;\n                    else if (config.position === 'left') moveX = offset;\n                    else if (config.position === 'top') { moveY = -6 + offsetY; moveZ = 10; }\n                    else if (config.position === 'bottom') { moveY = 6 + offsetY; moveZ = 10; }\n                    \n                    gsap.set(mainGroup.position, { x: moveX, y: moveY, z: moveZ });\n                    gsap.set(mainGroup.scale, { x: config.globeScale.desktop, y: config.globeScale.desktop, z: config.globeScale.desktop });\n                    gsap.set(contentEl, { opacity: 1, y: 0 });\n                    gsap.set(introEl, { opacity: 0 }); \n\n                } else {\n                    if (isMobile) {\n                        \/\/ Mobile Static Layout\n                        gsap.set(wrapperEl, { filter: \"blur(0px)\", scale: 1 });\n                        gsap.set(mainGroup.position, { x: targetOffsetX, y: targetOffsetY, z: 0 }); \n                        gsap.set(mainGroup.scale, { x: targetScale, y: targetScale, z: targetScale });\n                        gsap.set(contentEl, { opacity: 1, y: 0 });\n                        gsap.set(introEl, { display: 'none' }); \n                        \n                        if (typeof gsap !== 'undefined' && typeof ScrollTrigger !== 'undefined') {\n                            ScrollTrigger.create({\n                                trigger: contentEl,\n                                start: \"top 85%\",\n                                onEnter: () => runNumberAnimation()\n                            });\n                        }\n\n                    } else {\n                        \/\/ Desktop\/Tablet Animated Layout\n                        if (typeof gsap !== 'undefined' && typeof ScrollTrigger !== 'undefined') {\n                            gsap.registerPlugin(ScrollTrigger);\n                            \n                            const triggers = ScrollTrigger.getAll();\n                            triggers.forEach(t => { \n                                if(t.vars.trigger === triggerEl) t.kill(); \n                            });\n                            \n                            \/\/ Initial State (Center)\n                            gsap.set(mainGroup.position, { x:0, y: -10, z:0 });\n                            gsap.set(mainGroup.scale, { x: 0.5, y: 0.5, z: 0.5 });\n                            gsap.set(wrapperEl, { filter: \"blur(10px) brightness(1.2) hue-rotate(-10deg)\", scale: 1.1 });\n                            gsap.set(introEl, { opacity: 0, y: 50 });\n                            gsap.set(contentEl, { opacity: 0, y: 150 });\n                            if (bgOverlayEl) gsap.set(bgOverlayEl, { width: \"100%\", opacity: 0 });\n\n                            \/\/ \u2705 \u5f3a\u5236\u6e32\u67d3\u4e00\u5e27\n                            renderer.render(scene, camera);\n\n                            \/\/ \u2705 \u5ef6\u8fdf\u521b\u5efa ScrollTrigger\n                            await new Promise(resolve => setTimeout(resolve, 150));\n\n                            \/\/ \u2705 \u5237\u65b0\u540e\u521b\u5efa\n                            ScrollTrigger.refresh();\n\n                            const tl = gsap.timeline({\n                                scrollTrigger: {\n                                    trigger: triggerEl, \n                                    start: \"top top\", \n                                    end: \"+=\" + config.scrollDist + \"%\",\n                                    scrub: 1, \n                                    pin: true,\n                                    anticipatePin: 1,\n                                    invalidateOnRefresh: true,\n                                    onRefresh: () => {\n                                        \/\/console.log('\u2705 ScrollTrigger refreshed');\n                                    }\n                                }\n                            });\n\n                            \/\/ Stage 1: Intro\n                            tl.to(mainGroup.position, { y: 0, duration: 1 })\n                              .to(mainGroup.scale, { x: 1, y: 1, z: 1, duration: 1 }, \"<\")\n                              .to(wrapperEl, { filter: \"blur(0px) brightness(1) hue-rotate(0deg)\", duration: 1 }, \"<\")\n                              .to(introEl, { opacity: 1, y: 0, duration: 1 }, \"<\");\n                            \n                            if (bgOverlayEl) {\n                                tl.to(bgOverlayEl, { opacity: 1, width: \"100%\", duration: 1 }, \"<\");\n                            }\n                            tl.to({}, { duration: 0.5 }); \n\n                            \/\/ Stage 2: Layout\n                            if (config.showContent) {\n                                let moveX = 0, moveY = targetOffsetY, moveZ = 10;\n                                \n                                if (config.position === 'right') moveX = -targetOffsetX;\n                                else if (config.position === 'left') moveX = targetOffsetX;\n                                else if (config.position === 'top') { moveY = -6 + targetOffsetY; moveZ = 10; }\n                                else if (config.position === 'bottom') {\n                                    moveY = 6 + targetOffsetY; \n                                    moveZ = 10;\n                                    if (config.introPersist) moveY = 0 + targetOffsetY; \n                                }\n\n                                if (config.introPersist) {\n                                    tl.to(introEl, { top: config.persistTop, y: 0, duration: 1.5, ease: \"power2.inOut\" }, \"<\");\n                                } else {\n                                    tl.to(introEl, { opacity: 0, y: -50, duration: 1 }, \"<\");\n                                }\n                                \n                                if (bgOverlayEl) {\n                                    if (config.position === 'right' || config.position === 'left') {\n                                        tl.to(bgOverlayEl, { width: \"50%\", duration: 1.5, ease: \"power2.inOut\" }, \"<\");\n                                    }\n                                }\n                                \n                                tl.to(mainGroup.position, { x: moveX, y: moveY, z: moveZ, duration: 1.5, ease: \"power2.inOut\" }, \"<\")\n                                  .to(mainGroup.scale, { x: targetScale, y: targetScale, z: targetScale, duration: 1.5 }, \"<\")\n                                  .to(contentEl, { opacity: 1, y: 0, duration: 1.5, ease: \"power2.out\" }, \"<\");\n                            }\n                            tl.to({}, { duration: 2 }); \n\n                            ScrollTrigger.create({\n                                trigger: triggerEl, \n                                start: \"top top\",\n                                onEnter: () => runNumberAnimation()\n                            });\n\n                            \/\/ \u2705 \u6700\u7ec8\u5237\u65b0\n                            setTimeout(() => {\n                                ScrollTrigger.refresh();\n                                \/\/console.log('\u2705 Final ScrollTrigger refresh completed');\n                            }, 200);\n                        }\n                    }\n                }\n\n                \/\/ \u2705 \u542f\u52a8\u52a8\u753b\u5faa\u73af\n                animate();\n\n            } catch (error) {\n                console.error('\u274c Globe initialization error:', error);\n            }\n        };\n\n        \/\/ \u2705 \u542f\u52a8\u521d\u59cb\u5316\n        init();\n    });\n});\n<\/script>\n\n            \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-27c5dcc e-flex e-con-boxed e-con e-parent\" data-id=\"27c5dcc\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2f66367 elementor-widget elementor-widget-timelinedev_widget\" data-id=\"2f66367\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"timelinedev_widget.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t                <!-- \u50b3\u905e data-vis-* \u53c3\u6578 -->\n                <div class=\"timelinedev-main-wrapper\" \n                     id=\"timelinedev-2f66367\" \n                     data-vis-desktop=\"7\"\n                     data-vis-tablet=\"4\"\n                     data-vis-mobile=\"7\">\n                    \n                    <!-- Image Layer -->\n                    <div class=\"timelinedev-image-layer\">\n                                                     <div class=\"timelinedev-image-slider swiper\">\n                                <div class=\"swiper-wrapper\">\n                                                                            <div class=\"swiper-slide\">\n                                            <img decoding=\"async\" src=\"http:\/\/cn.inffnitech.com\/wp-content\/uploads\/2026\/01\/14.png\" alt=\"Timeline Img\">                                        <\/div>\n                                                                            <div class=\"swiper-slide\">\n                                            <img decoding=\"async\" src=\"http:\/\/cn.inffnitech.com\/wp-content\/uploads\/2026\/01\/14.png\" alt=\"Timeline Img\">                                        <\/div>\n                                                                            <div class=\"swiper-slide\">\n                                            <img decoding=\"async\" src=\"http:\/\/cn.inffnitech.com\/wp-content\/uploads\/2026\/01\/14.png\" alt=\"Timeline Img\">                                        <\/div>\n                                                                            <div class=\"swiper-slide\">\n                                            <img decoding=\"async\" src=\"http:\/\/cn.inffnitech.com\/wp-content\/uploads\/2026\/01\/14.png\" alt=\"Timeline Img\">                                        <\/div>\n                                                                            <div class=\"swiper-slide\">\n                                            <img decoding=\"async\" src=\"http:\/\/cn.inffnitech.com\/wp-content\/uploads\/2026\/01\/14.png\" alt=\"Timeline Img\">                                        <\/div>\n                                                                            <div class=\"swiper-slide\">\n                                            <img decoding=\"async\" src=\"http:\/\/cn.inffnitech.com\/wp-content\/uploads\/2026\/01\/14.png\" alt=\"Timeline Img\">                                        <\/div>\n                                                                    <\/div>\n                            <\/div>\n                                            <\/div>\n\n                    <!-- ARROWS (MOVED OUTSIDE OVERLAY) -->\n                                            <div class=\"timelinedev-arrow timelinedev-arrow-prev\">\n                            <i class=\"eicon-chevron-left\" aria-hidden=\"true\"><\/i>\n                        <\/div>\n                        <div class=\"timelinedev-arrow timelinedev-arrow-next\">\n                            <i class=\"eicon-chevron-right\" aria-hidden=\"true\"><\/i>\n                        <\/div>\n                    \n                    <!-- Overlay Group -->\n                    <div class=\"timelinedev-grouped-overlay\">\n                        \n                        <!-- Nav Section -->\n                        <div class=\"timelinedev-nav-section timelinedev-year-hover-none timelinedev-dot-hover-none\">\n                            \n                            <!-- Dots \/ Swiper -->\n                            <div class=\"timelinedev-nav swiper\">\n                                <div class=\"swiper-wrapper\">\n                                                                            <div class=\"swiper-slide timelinedev-slide timelinedev-active-year timelinedev-year-passed\" data-index=\"0\">\n                                            <div class=\"timelinedev-year-text\">2020<\/div>\n                                            <div class=\"timelinedev-dot-wrapper\">\n                                                <div class=\"timelinedev-dot\"><\/div>\n                                            <\/div>\n                                        <\/div>\n                                                                            <div class=\"swiper-slide timelinedev-slide \" data-index=\"1\">\n                                            <div class=\"timelinedev-year-text\">2021<\/div>\n                                            <div class=\"timelinedev-dot-wrapper\">\n                                                <div class=\"timelinedev-dot\"><\/div>\n                                            <\/div>\n                                        <\/div>\n                                                                            <div class=\"swiper-slide timelinedev-slide \" data-index=\"2\">\n                                            <div class=\"timelinedev-year-text\">2022<\/div>\n                                            <div class=\"timelinedev-dot-wrapper\">\n                                                <div class=\"timelinedev-dot\"><\/div>\n                                            <\/div>\n                                        <\/div>\n                                                                            <div class=\"swiper-slide timelinedev-slide \" data-index=\"3\">\n                                            <div class=\"timelinedev-year-text\">2023<\/div>\n                                            <div class=\"timelinedev-dot-wrapper\">\n                                                <div class=\"timelinedev-dot\"><\/div>\n                                            <\/div>\n                                        <\/div>\n                                                                            <div class=\"swiper-slide timelinedev-slide \" data-index=\"4\">\n                                            <div class=\"timelinedev-year-text\">2024<\/div>\n                                            <div class=\"timelinedev-dot-wrapper\">\n                                                <div class=\"timelinedev-dot\"><\/div>\n                                            <\/div>\n                                        <\/div>\n                                                                            <div class=\"swiper-slide timelinedev-slide \" data-index=\"5\">\n                                            <div class=\"timelinedev-year-text\">2025<\/div>\n                                            <div class=\"timelinedev-dot-wrapper\">\n                                                <div class=\"timelinedev-dot\"><\/div>\n                                            <\/div>\n                                        <\/div>\n                                                                    <\/div>\n                            <\/div>\n                            \n                            <!-- Line Container -->\n                            <div class=\"timelinedev-line-container\">\n                                    <div class=\"timelinedev-line\"><\/div>\n                                    <div class=\"timelinedev-line-progress\"><\/div>\n                            <\/div>\n                        <\/div>\n\n                        <!-- Content Section -->\n                        <div class=\"timelinedev-content-section timelinedev-anim-zoom_in\">\n                            <div class=\"timelinedev-content-slider swiper\">\n                                <div class=\"swiper-wrapper\">\n                                                                            <div class=\"swiper-slide\">\n                                            <div class=\"timelinedev-desc\">\n                                                Introduced MG400 desktop industrial cobot; expanded cobot payload range from 0.5\u201316 kg.\u2028                                            <\/div>\n                                        <\/div>\n                                                                            <div class=\"swiper-slide\">\n                                            <div class=\"timelinedev-desc\">\n                                                Introduced MG400 desktop industrial cobot; expanded cobot payload range from 0.5\u201316 kg.\u2028                                            <\/div>\n                                        <\/div>\n                                                                            <div class=\"swiper-slide\">\n                                            <div class=\"timelinedev-desc\">\n                                                Introduced MG400 desktop industrial cobot; expanded cobot payload range from 0.5\u201316 kg.\u2028                                            <\/div>\n                                        <\/div>\n                                                                            <div class=\"swiper-slide\">\n                                            <div class=\"timelinedev-desc\">\n                                                Introduced MG400 desktop industrial cobot; expanded cobot payload range from 0.5\u201316 kg.\u2028                                            <\/div>\n                                        <\/div>\n                                                                            <div class=\"swiper-slide\">\n                                            <div class=\"timelinedev-desc\">\n                                                Introduced MG400 desktop industrial cobot; expanded cobot payload range from 0.5\u201316 kg.\u2028                                            <\/div>\n                                        <\/div>\n                                                                            <div class=\"swiper-slide\">\n                                            <div class=\"timelinedev-desc\">\n                                                Introduced MG400 desktop industrial cobot; expanded cobot payload range from 0.5\u201316 kg.\u2028                                            <\/div>\n                                        <\/div>\n                                                                    <\/div>\n                            <\/div>\n                        <\/div>\n\n                    <\/div>\n                <\/div>\n\n                <script>\n                jQuery(document).ready(function($) {\n                    var widgetId = '#timelinedev-2f66367';\n                    var $widget = $(widgetId);\n                    var isModeB = false;\n                    \n                    \/\/ --- \u4fee\u6539\uff1a\u8b80\u53d6\u97ff\u61c9\u5f0f\u6578\u503c ---\n                    var vDesktop = parseFloat($widget.attr('data-vis-desktop')) || 6;\n                    var vTablet  = parseFloat($widget.attr('data-vis-tablet')) || 4;\n                    var vMobile  = parseFloat($widget.attr('data-vis-mobile')) || 2;\n\n                    \/\/ 1. Swipers\n                    var contentSwiper = new Swiper(widgetId + ' .timelinedev-content-slider', {\n                        effect: 'fade', fadeEffect: { crossFade: true }, speed: 600, allowTouchMove: false\n                    });\n\n                    var imageSwiper;\n                    if (!isModeB) {\n                        imageSwiper = new Swiper(widgetId + ' .timelinedev-image-slider', {\n                            effect: 'fade', fadeEffect: { crossFade: true }, speed: 500, allowTouchMove: false\n                        });\n                    }\n\n                    var navSwiper = new Swiper(widgetId + ' .timelinedev-nav', {\n                        \/\/ \u9810\u8a2d\u70ba\u624b\u6a5f (Mobile First)\n                        slidesPerView: vMobile, \n                        spaceBetween: 0,\n                        allowTouchMove: true, \n                        \/\/ --- \u4fee\u6539\uff1a\u4f7f\u7528\u8a2d\u5b9a\u7684 Breakpoints ---\n                        breakpoints: {\n                            768: { slidesPerView: vTablet },\n                            1024: { slidesPerView: vDesktop }\n                        },\n                        centeredSlides: false, \n                        slideToClickedSlide: false,\n                        on: {\n                            init: function() { setTimeout(function(){ updateTimeline(0, true); }, 150); },\n                            resize: function() { \n                                var activeIdx = $widget.find('.timelinedev-active-year').data('index') || 0;\n                                setTimeout(function(){ updateTimeline(activeIdx, true); }, 100);\n                            }\n                        }\n                    });\n\n                    \/\/ 2. Logic\n                    var $navSlides = $widget.find('.timelinedev-nav .swiper-slide');\n                    var $progressLine = $widget.find('.timelinedev-line-progress');\n                    var $highlights = $widget.find('.timelinedev-highlight-layer');\n                    var $lineContainer = $widget.find('.timelinedev-line-container');\n                    var totalItems = $navSlides.length;\n\n                    function updateTimeline(index, isInit) {\n                        \/\/ A. Handle \"Passed\" State Logic\n                        $navSlides.removeClass('timelinedev-active-year');\n                        \/\/ Loop through all slides to set passed state\n                        $navSlides.each(function(i) {\n                            if (i <= index) {\n                                $(this).addClass('timelinedev-year-passed');\n                            } else {\n                                $(this).removeClass('timelinedev-year-passed');\n                            }\n                        });\n                        \/\/ Set current active\n                        $navSlides.eq(index).addClass('timelinedev-active-year');\n\n                        \/\/ B. Blue Line Positioning\n                        if (index === totalItems - 1) {\n                            $progressLine.css({ 'left': '0px', 'width': '100%' });\n                        } else {\n                            var $currentSlide = $navSlides.eq(index);\n                            var $currentDot = $currentSlide.find('.timelinedev-dot');\n                            if ($currentDot.length) {\n                                var containerLeft = $lineContainer.offset().left;\n                                var endX = $currentDot.offset().left + ($currentDot.width() \/ 2);\n                                var progressWidth = endX - containerLeft;\n                                if(progressWidth < 0) progressWidth = 0;\n                                $progressLine.css({ 'left': '0px', 'width': progressWidth + 'px' });\n                            }\n                        }\n\n                        \/\/ C. Content Switching\n                        if (!isInit) {\n                            if (contentSwiper.initialized) contentSwiper.slideTo(index);\n                            if (imageSwiper && imageSwiper.initialized) imageSwiper.slideTo(index);\n                            \/\/ Slide Nav to ensure visibility\n                            if (navSwiper.initialized) navSwiper.slideTo(index); \n                            \n                            if(isModeB) {\n                                $highlights.removeClass('active');\n                                $highlights.filter('[data-index=\"' + index + '\"]').addClass('active');\n                            }\n                        }\n                    }\n\n                    $navSlides.on('click', function() {\n                        var index = $(this).data('index');\n                        updateTimeline(index);\n                    });\n\n                    \/\/ Arrow Click Events\n                    $widget.find('.timelinedev-arrow-prev').on('click', function() {\n                        var currentIdx = $widget.find('.timelinedev-active-year').data('index');\n                        if (currentIdx > 0) {\n                            updateTimeline(currentIdx - 1);\n                        }\n                    });\n\n                    $widget.find('.timelinedev-arrow-next').on('click', function() {\n                        var currentIdx = $widget.find('.timelinedev-active-year').data('index');\n                        if (currentIdx < totalItems - 1) {\n                            updateTimeline(currentIdx + 1);\n                        }\n                    });\n\n                    if(isModeB) {\n                        $highlights.filter('[data-index=\"0\"]').addClass('active');\n                    }\n                    setTimeout(function(){ updateTimeline(0, true); }, 100);\n                });\n                <\/script>\n                \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b3132cd e-flex e-con-boxed elementor-invisible e-con e-parent\" data-id=\"b3132cd\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;fadeInUp&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-06d704e e-con-full e-flex e-con e-child\" data-id=\"06d704e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e231c5a elementor-widget elementor-widget-heading\" data-id=\"e231c5a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Why INFFNI<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-13fc2c1 elementor-widget elementor-widget-heading\" data-id=\"13fc2c1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">INFFNI brings embodied AI into everyday life, evolving from DOBOT's decade of industrial precision to consumer-facing innovation. Built on proven robotics expertise and years of university research in legged mobility, we create lifelike robots\u2014from RoverSeries, Hexplorer hexapod to the Firstbreath Series\u2014that spark curiosity, inspire learning, and unlock new possibilities for people and industries alike.<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dc97730 elementor-align-center elementor-widget__width-initial elementor-widget elementor-widget-button\" data-id=\"dc97730\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"#\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Explor INFFNI Robotics<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-4a41774 e-flex e-con-boxed elementor-invisible e-con e-parent\" data-id=\"4a41774\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;fadeInUp&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-50d4e25 e-con-full e-flex e-con e-child\" data-id=\"50d4e25\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c7a70fb elementor-widget elementor-widget-heading\" data-id=\"c7a70fb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Endorsed By<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3ab8309 e-con-full e-flex e-con e-child\" data-id=\"3ab8309\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-408843c elementor-widget-mobile__width-initial elementor-widget elementor-widget-image\" data-id=\"408843c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"240\" height=\"99\" src=\"https:\/\/cn.inffnitech.com\/wp-content\/uploads\/2025\/12\/Frame-151.png\" class=\"attachment-full size-full wp-image-28175\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bbc0228 elementor-widget-mobile__width-initial elementor-widget elementor-widget-image\" data-id=\"bbc0228\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"240\" height=\"99\" src=\"https:\/\/cn.inffnitech.com\/wp-content\/uploads\/2025\/12\/Frame-152.png\" class=\"attachment-full size-full wp-image-28176\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-24156b7 elementor-widget-mobile__width-inherit elementor-widget elementor-widget-image\" data-id=\"24156b7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"240\" height=\"118\" src=\"https:\/\/cn.inffnitech.com\/wp-content\/uploads\/2025\/12\/Frame-153.png\" class=\"attachment-full size-full wp-image-28177\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-eec59c2 elementor-widget-mobile__width-inherit elementor-widget elementor-widget-image\" data-id=\"eec59c2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"240\" height=\"99\" src=\"https:\/\/cn.inffnitech.com\/wp-content\/uploads\/2025\/12\/Frame-154.png\" class=\"attachment-full size-full wp-image-28178\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7724746 e-flex e-con-boxed e-con e-parent\" data-id=\"7724746\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-ae14654 e-con-full e-flex e-con e-child\" data-id=\"ae14654\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e5cfa07 elementor-widget elementor-widget-heading\" data-id=\"e5cfa07\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">INFFNI (DOBOT) Global Branches<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-507b7c3 e-con-full e-flex e-con e-child\" data-id=\"507b7c3\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-23476ac e-con-full e-flex e-con e-child\" data-id=\"23476ac\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ddcc7cf elementor-widget elementor-widget-explore_inffni_carousel\" data-id=\"ddcc7cf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"explore_inffni_carousel.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t        \n        <div class=\"explore-inffni-carousel-wrapper\" data-widget-id=\"ddcc7cf\">\n            <div class=\"swiper explore-inffni-swiper-ddcc7cf\">\n                <div class=\"swiper-wrapper\">\n                                <div class=\"swiper-slide swiper-slide-duplicate\" data-swiper-slide-index=\"0\">\n                <div class=\"explore-inffni-slide-item\">\n                    <div class=\"explore-inffni-slide-image\">\n                        <img decoding=\"async\" src=\"http:\/\/cn.inffnitech.com\/wp-content\/uploads\/2026\/01\/\u672a\u6807\u9898-1.png\" alt=\"\" loading=\"lazy\">\n                        <div class=\"explore-inffni-slide-overlay\"><\/div>\n                    <\/div>\n                    <div class=\"explore-inffni-slide-content\">\n                        <div class=\"explore-inffni-slide-text\" data-animation=\"fadeInUp\">\n                                                                                        <p class=\"explore-inffni-slide-description\">Address\uff1aWerner-Heisenberg-Stra\u00dfe 2,63263 Neu-Isenburg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/p>\n                                                                                        <a href=\"#\" class=\"explore-inffni-slide-button\">\n                                    Tel\uff1a &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Email\uff1a                                <\/a>\n                                                    <\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n                        <div class=\"swiper-slide swiper-slide-duplicate\" data-swiper-slide-index=\"1\">\n                <div class=\"explore-inffni-slide-item\">\n                    <div class=\"explore-inffni-slide-image\">\n                        <img decoding=\"async\" src=\"http:\/\/cn.inffnitech.com\/wp-content\/uploads\/2026\/01\/16.png\" alt=\"\" loading=\"lazy\">\n                        <div class=\"explore-inffni-slide-overlay\"><\/div>\n                    <\/div>\n                    <div class=\"explore-inffni-slide-content\">\n                        <div class=\"explore-inffni-slide-text\" data-animation=\"fadeInUp\">\n                                                                                        <p class=\"explore-inffni-slide-description\">Address\uff1a2081 Hutton Drive, Suite 107, Carrollton, TX 75006, (877)362-6887\n\n<\/p>\n                                                                                        <a href=\"#\" class=\"explore-inffni-slide-button\">\n                                    Tel\uff1a+1(262)501-1568 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Email\uff1asales@dobot-robots.com                                <\/a>\n                                                    <\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n                        <div class=\"swiper-slide swiper-slide-duplicate\" data-swiper-slide-index=\"2\">\n                <div class=\"explore-inffni-slide-item\">\n                    <div class=\"explore-inffni-slide-image\">\n                        <img decoding=\"async\" src=\"http:\/\/cn.inffnitech.com\/wp-content\/uploads\/2026\/01\/17.png\" alt=\"\" loading=\"lazy\">\n                        <div class=\"explore-inffni-slide-overlay\"><\/div>\n                    <\/div>\n                    <div class=\"explore-inffni-slide-content\">\n                        <div class=\"explore-inffni-slide-text\" data-animation=\"fadeInUp\">\n                                                                                        <p class=\"explore-inffni-slide-description\">Address\uff1aFloor 9, 10, 14, 24, Building 2, Chongwen Park, Nanshan Zhiyuan, Liuxian Avenue, Nanshan District, Shenzhen, Guangdong<\/p>\n                                                                                        <a href=\"#\" class=\"explore-inffni-slide-button\">\n                                    Tel\uff1a &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Email\uff1a                                <\/a>\n                                                    <\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n                        <div class=\"swiper-slide\" data-swiper-slide-index=\"0\">\n                <div class=\"explore-inffni-slide-item\">\n                    <div class=\"explore-inffni-slide-image\">\n                        <img decoding=\"async\" src=\"http:\/\/cn.inffnitech.com\/wp-content\/uploads\/2026\/01\/\u672a\u6807\u9898-1.png\" alt=\"\" loading=\"lazy\">\n                        <div class=\"explore-inffni-slide-overlay\"><\/div>\n                    <\/div>\n                    <div class=\"explore-inffni-slide-content\">\n                        <div class=\"explore-inffni-slide-text\" data-animation=\"fadeInUp\">\n                                                                                        <p class=\"explore-inffni-slide-description\">Address\uff1aWerner-Heisenberg-Stra\u00dfe 2,63263 Neu-Isenburg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/p>\n                                                                                        <a href=\"#\" class=\"explore-inffni-slide-button\">\n                                    Tel\uff1a &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Email\uff1a                                <\/a>\n                                                    <\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n                        <div class=\"swiper-slide\" data-swiper-slide-index=\"1\">\n                <div class=\"explore-inffni-slide-item\">\n                    <div class=\"explore-inffni-slide-image\">\n                        <img decoding=\"async\" src=\"http:\/\/cn.inffnitech.com\/wp-content\/uploads\/2026\/01\/16.png\" alt=\"\" loading=\"lazy\">\n                        <div class=\"explore-inffni-slide-overlay\"><\/div>\n                    <\/div>\n                    <div class=\"explore-inffni-slide-content\">\n                        <div class=\"explore-inffni-slide-text\" data-animation=\"fadeInUp\">\n                                                                                        <p class=\"explore-inffni-slide-description\">Address\uff1a2081 Hutton Drive, Suite 107, Carrollton, TX 75006, (877)362-6887\n\n<\/p>\n                                                                                        <a href=\"#\" class=\"explore-inffni-slide-button\">\n                                    Tel\uff1a+1(262)501-1568 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Email\uff1asales@dobot-robots.com                                <\/a>\n                                                    <\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n                        <div class=\"swiper-slide\" data-swiper-slide-index=\"2\">\n                <div class=\"explore-inffni-slide-item\">\n                    <div class=\"explore-inffni-slide-image\">\n                        <img decoding=\"async\" src=\"http:\/\/cn.inffnitech.com\/wp-content\/uploads\/2026\/01\/17.png\" alt=\"\" loading=\"lazy\">\n                        <div class=\"explore-inffni-slide-overlay\"><\/div>\n                    <\/div>\n                    <div class=\"explore-inffni-slide-content\">\n                        <div class=\"explore-inffni-slide-text\" data-animation=\"fadeInUp\">\n                                                                                        <p class=\"explore-inffni-slide-description\">Address\uff1aFloor 9, 10, 14, 24, Building 2, Chongwen Park, Nanshan Zhiyuan, Liuxian Avenue, Nanshan District, Shenzhen, Guangdong<\/p>\n                                                                                        <a href=\"#\" class=\"explore-inffni-slide-button\">\n                                    Tel\uff1a &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Email\uff1a                                <\/a>\n                                                    <\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n                        <div class=\"swiper-slide swiper-slide-duplicate\" data-swiper-slide-index=\"0\">\n                <div class=\"explore-inffni-slide-item\">\n                    <div class=\"explore-inffni-slide-image\">\n                        <img decoding=\"async\" src=\"http:\/\/cn.inffnitech.com\/wp-content\/uploads\/2026\/01\/\u672a\u6807\u9898-1.png\" alt=\"\" loading=\"lazy\">\n                        <div class=\"explore-inffni-slide-overlay\"><\/div>\n                    <\/div>\n                    <div class=\"explore-inffni-slide-content\">\n                        <div class=\"explore-inffni-slide-text\" data-animation=\"fadeInUp\">\n                                                                                        <p class=\"explore-inffni-slide-description\">Address\uff1aWerner-Heisenberg-Stra\u00dfe 2,63263 Neu-Isenburg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/p>\n                                                                                        <a href=\"#\" class=\"explore-inffni-slide-button\">\n                                    Tel\uff1a &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Email\uff1a                                <\/a>\n                                                    <\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n                        <div class=\"swiper-slide swiper-slide-duplicate\" data-swiper-slide-index=\"1\">\n                <div class=\"explore-inffni-slide-item\">\n                    <div class=\"explore-inffni-slide-image\">\n                        <img decoding=\"async\" src=\"http:\/\/cn.inffnitech.com\/wp-content\/uploads\/2026\/01\/16.png\" alt=\"\" loading=\"lazy\">\n                        <div class=\"explore-inffni-slide-overlay\"><\/div>\n                    <\/div>\n                    <div class=\"explore-inffni-slide-content\">\n                        <div class=\"explore-inffni-slide-text\" data-animation=\"fadeInUp\">\n                                                                                        <p class=\"explore-inffni-slide-description\">Address\uff1a2081 Hutton Drive, Suite 107, Carrollton, TX 75006, (877)362-6887\n\n<\/p>\n                                                                                        <a href=\"#\" class=\"explore-inffni-slide-button\">\n                                    Tel\uff1a+1(262)501-1568 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Email\uff1asales@dobot-robots.com                                <\/a>\n                                                    <\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n                        <div class=\"swiper-slide swiper-slide-duplicate\" data-swiper-slide-index=\"2\">\n                <div class=\"explore-inffni-slide-item\">\n                    <div class=\"explore-inffni-slide-image\">\n                        <img decoding=\"async\" src=\"http:\/\/cn.inffnitech.com\/wp-content\/uploads\/2026\/01\/17.png\" alt=\"\" loading=\"lazy\">\n                        <div class=\"explore-inffni-slide-overlay\"><\/div>\n                    <\/div>\n                    <div class=\"explore-inffni-slide-content\">\n                        <div class=\"explore-inffni-slide-text\" data-animation=\"fadeInUp\">\n                                                                                        <p class=\"explore-inffni-slide-description\">Address\uff1aFloor 9, 10, 14, 24, Building 2, Chongwen Park, Nanshan Zhiyuan, Liuxian Avenue, Nanshan District, Shenzhen, Guangdong<\/p>\n                                                                                        <a href=\"#\" class=\"explore-inffni-slide-button\">\n                                    Tel\uff1a &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Email\uff1a                                <\/a>\n                                                    <\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n                            <\/div>\n                \n                                <div class=\"swiper-button-prev\"><\/div><div class=\"swiper-button-next\"><\/div>            <\/div>\n        <\/div>\n    \n        <script>\n        jQuery(document).ready(function($) {\n            var swiperSelector = '.explore-inffni-swiper-ddcc7cf';\n            var originalCount = 3;\n            var isCenterTwo = 'custom' === 'center_two';\n            var userWantsLoop = true;\n\n            \/\/ \u8a08\u7b97 Center Two \u6a21\u5f0f\u7684\u504f\u79fb\n            function calculateOffset(swiper, spv) {\n                if (!isCenterTwo || spv <= 2) return 0;\n                var containerWidth = swiper.el.offsetWidth;\n                var offsetSlides = (spv - 2) \/ 2;\n                return containerWidth * (offsetSlides \/ spv); \n            }\n    \n            var swiperOptions = {\n                slidesPerView: 1,\n                spaceBetween: 30,\n                \n                \/\/ \u6838\u5fc3\u8a2d\u5b9a\uff1a\u958b\u555f Loop\n                loop: userWantsLoop,\n                \n                \/\/ \u6838\u5fc3\u8a2d\u5b9a\uff1a\u544a\u8a34 Swiper \u6211\u5011\u6709\u591a\u5c11\u500b\u771f\u5be6 Slide\n                loopedSlides: originalCount,\n                \n                \/\/ \u6838\u5fc3\u8a2d\u5b9a\uff1a\u975e\u5e38\u91cd\u8981\uff01\n                \/\/ \u56e0\u70ba\u6211\u5011\u624b\u52d5\u5728\u524d\u9762\u63d2\u5165\u4e86\u4e00\u7d44 originalCount \u6578\u91cf\u7684 Duplicate\n                \/\/ \u6240\u4ee5\u521d\u59cb\u5316\u6642\uff0c\u6211\u5011\u8981\u8df3\u904e\u9019\u7d44 Duplicate\uff0c\u76f4\u63a5\u5f9e\u4e2d\u9593\u7684 Main Slide \u958b\u59cb\n                \/\/ \u9019\u6a23\u300c\u5de6\u908a\u300d\u5c31\u81ea\u7136\u6703\u6709\u5167\u5bb9\uff0c\u4e14\u90a3\u4e9b\u5167\u5bb9\u5e36\u6709 swiper-slide-duplicate class\n                initialSlide: userWantsLoop ? originalCount : 0,\n                \n                centeredSlides: true, \n                \n                                \n                                \n                                navigation: { \n                    nextEl: swiperSelector + ' .swiper-button-next', \n                    prevEl: swiperSelector + ' .swiper-button-prev' \n                },\n                    \n                breakpoints: {\n                    320: {\n                        slidesPerView: 1,\n                        centeredSlides: true,\n                    },\n                    768: {\n                        slidesPerView: 2,\n                        centeredSlides: true,\n                    },\n                    1024: {\n                        slidesPerView: 2.9,\n                        centeredSlides: true,\n                        slidesOffsetBefore: isCenterTwo ? calculateOffset({el: document.querySelector(swiperSelector)}, 2.9) : 0,\n                    }\n                },\n                \n                on: {\n                    init: function(swiper) {\n                        handleSlideClasses(swiper);\n                        swiper.update();\n                    },\n                    slideChange: function(swiper) {\n                        handleSlideClasses(swiper);\n                    },\n                    resize: function(swiper) {\n                        if (isCenterTwo && window.innerWidth >= 1024) {\n                            var newOffset = calculateOffset(swiper, 2.9);\n                            swiper.params.slidesOffsetBefore = newOffset;\n                            swiper.update();\n                        }\n                    }\n                }\n            };\n    \n            \/\/setTimeout(function() {\n                \/\/if (window['swiper_Instance_' + 'ddcc7cf']) {\n                     \/\/window['swiper_Instance_' + 'ddcc7cf'].destroy(true, true);\n                \/\/}\n                \/\/var mySwiper = new Swiper(swiperSelector, swiperOptions);\n                \/\/window['swiper_Instance_' + 'ddcc7cf'] = mySwiper;\n            \/\/}, 200);\n            \n            if (window['swiper_Instance_' + 'ddcc7cf']) {\n                 window['swiper_Instance_' + 'ddcc7cf'].destroy(true, true);\n            }\n            \/\/ \u786e\u4fdd DOM \u5143\u7d20\u5b58\u5728\u518d\u521d\u59cb\u5316\n            var swiperContainer = document.querySelector(swiperSelector);\n            if(swiperContainer) {\n                var mySwiper = new Swiper(swiperContainer, swiperOptions);\n                window['swiper_Instance_' + 'ddcc7cf'] = mySwiper;\n            }\n    \n            function handleSlideClasses(swiper) {\n                var $slides = $(swiper.slides);\n                var activeIndex = swiper.activeIndex;\n    \n                $slides.removeClass('explore-inffni-center-active');\n                $slides.find('.explore-inffni-slide-text').removeClass('animated');\n    \n                if (isCenterTwo && swiper.params.slidesPerView > 2) {\n                    var $leftSlide = $(swiper.slides[activeIndex]);\n                    var $rightSlide = $leftSlide.next(); \n                    if ($rightSlide.length === 0) $rightSlide = $(swiper.slides[0]);\n    \n                    $leftSlide.addClass('explore-inffni-center-active');\n                    $rightSlide.addClass('explore-inffni-center-active');\n    \n                    setTimeout(function() {\n                        if ($leftSlide.hasClass('explore-inffni-center-active')) {\n                            $leftSlide.find('.explore-inffni-slide-text').addClass('animated');\n                        }\n                        if ($rightSlide.hasClass('explore-inffni-center-active')) {\n                            $rightSlide.find('.explore-inffni-slide-text').addClass('animated');\n                        }\n                    }, 50);\n                } \n                else {\n                    var $activeSlide = $(swiper.slides[activeIndex]);\n                    setTimeout(function() {\n                        if ($activeSlide.hasClass('swiper-slide-active')) {\n                            $activeSlide.find('.explore-inffni-slide-text').addClass('animated');\n                        }\n                    }, 50);\n                }\n            }\n        });\n        <\/script>\n        \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7b00539 e-con-full elementor-hidden-desktop elementor-hidden-tablet elementor-hidden-mobile e-flex e-con e-child\" data-id=\"7b00539\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-b1a3eb3 e-con-full e-flex e-con e-child\" data-id=\"b1a3eb3\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f295267 elementor-widget elementor-widget-image\" data-id=\"f295267\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"575\" height=\"360\" src=\"https:\/\/cn.inffnitech.com\/wp-content\/uploads\/2025\/12\/17.png\" class=\"attachment-full size-full wp-image-28182\" alt=\"\" srcset=\"https:\/\/cn.inffnitech.com\/wp-content\/uploads\/2025\/12\/17.png 575w, https:\/\/cn.inffnitech.com\/wp-content\/uploads\/2025\/12\/17-400x250.png 400w, https:\/\/cn.inffnitech.com\/wp-content\/uploads\/2025\/12\/17-430x269.png 430w\" sizes=\"(max-width: 575px) 100vw, 575px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-2e778ed e-con-full e-flex e-con e-child\" data-id=\"2e778ed\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;position&quot;:&quot;absolute&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-95389a9 elementor-widget elementor-widget-heading\" data-id=\"95389a9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Headquater- China<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b389561 elementor-widget elementor-widget-heading\" data-id=\"b389561\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Address\uff1aFloor 9, 10, 14, 24, Building 2, Chongwen Park, Nanshan Zhiyuan, Liuxian Avenue, Nanshan District, Shenzhen, Guangdong<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b6ec4b2 e-con-full e-flex e-con e-child\" data-id=\"b6ec4b2\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-267a764 elementor-widget elementor-widget-image\" data-id=\"267a764\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"690\" height=\"360\" src=\"https:\/\/cn.inffnitech.com\/wp-content\/uploads\/2025\/12\/15-1.png\" class=\"attachment-full size-full wp-image-28180\" alt=\"\" srcset=\"https:\/\/cn.inffnitech.com\/wp-content\/uploads\/2025\/12\/15-1.png 690w, https:\/\/cn.inffnitech.com\/wp-content\/uploads\/2025\/12\/15-1-400x209.png 400w, https:\/\/cn.inffnitech.com\/wp-content\/uploads\/2025\/12\/15-1-430x224.png 430w\" sizes=\"(max-width: 690px) 100vw, 690px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7d824fd e-con-full e-flex e-con e-child\" data-id=\"7d824fd\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;position&quot;:&quot;absolute&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fd7f914 elementor-widget elementor-widget-heading\" data-id=\"fd7f914\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Germany<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cfb5e69 elementor-widget elementor-widget-heading\" data-id=\"cfb5e69\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Address\uff1aWerner-Heisenberg-Stra\u00dfe 2,63263 Neu-Isenburg<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0c138e7 elementor-widget__width-inherit elementor-widget elementor-widget-heading\" data-id=\"0c138e7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Tel\uff1a&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\nEmail\uff1a<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-81ed6c8 e-con-full e-flex e-con e-child\" data-id=\"81ed6c8\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3098457 elementor-widget elementor-widget-image\" data-id=\"3098457\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"575\" height=\"360\" src=\"https:\/\/cn.inffnitech.com\/wp-content\/uploads\/2025\/12\/16.png\" class=\"attachment-full size-full wp-image-28181\" alt=\"\" srcset=\"https:\/\/cn.inffnitech.com\/wp-content\/uploads\/2025\/12\/16.png 575w, https:\/\/cn.inffnitech.com\/wp-content\/uploads\/2025\/12\/16-400x250.png 400w, https:\/\/cn.inffnitech.com\/wp-content\/uploads\/2025\/12\/16-430x269.png 430w\" sizes=\"(max-width: 575px) 100vw, 575px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-2fb6ef3 e-con-full e-flex e-con e-child\" data-id=\"2fb6ef3\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;position&quot;:&quot;absolute&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-eb78b1e elementor-widget elementor-widget-heading\" data-id=\"eb78b1e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">North America<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a05342c elementor-widget elementor-widget-heading\" data-id=\"a05342c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Address\uff1a2081 Hutton Drive, Suite 107, Carrollton, TX 75006, (877)362-6887<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9de1b3a elementor-widget__width-inherit elementor-widget elementor-widget-heading\" data-id=\"9de1b3a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Tel\uff1a+1(262)501-1568&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\nEmail\uff1asales@dobot-robots.com<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Live for Wonder https:\/\/cn.inffnitech.com\/wp-content\/uploads\/2025\/12\/Banner-\u89c6\u9891\u7247\u6bb5.mp4 Live for Wonder Our Mission &amp; Vision Our vision is to bring embodied AI into everyday [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-27903","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/cn.inffnitech.com\/zh\/wp-json\/wp\/v2\/pages\/27903","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cn.inffnitech.com\/zh\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/cn.inffnitech.com\/zh\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/cn.inffnitech.com\/zh\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/cn.inffnitech.com\/zh\/wp-json\/wp\/v2\/comments?post=27903"}],"version-history":[{"count":483,"href":"https:\/\/cn.inffnitech.com\/zh\/wp-json\/wp\/v2\/pages\/27903\/revisions"}],"predecessor-version":[{"id":30905,"href":"https:\/\/cn.inffnitech.com\/zh\/wp-json\/wp\/v2\/pages\/27903\/revisions\/30905"}],"wp:attachment":[{"href":"https:\/\/cn.inffnitech.com\/zh\/wp-json\/wp\/v2\/media?parent=27903"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}