{"id":1893,"date":"2026-02-09T11:09:39","date_gmt":"2026-02-09T03:09:39","guid":{"rendered":"https:\/\/nenghui.com\/?page_id=1893"},"modified":"2026-03-25T11:00:21","modified_gmt":"2026-03-25T03:00:21","slug":"join-us","status":"publish","type":"page","link":"https:\/\/nenghui.com\/de\/join-us\/","title":{"rendered":"Begleiten Sie uns"},"content":{"rendered":"<style>\n       \n        .swiper-slide {\n            height: auto;\n            transform: translateZ(0);\n        }\n        \n        .swiper-wrapper {\n            align-items: stretch;\ndisplay: flex;\n \n    justify-content: center;\n        }\n\n        .swiper-scrollbar {\n            background: rgba(0, 0, 0, 0.06) !important;\n            height: 6px !important;\n            border-radius: 999px;\n            width: 100%;\n        }\n        .dark .swiper-scrollbar {\n            background: rgba(255, 255, 255, 0.1) !important;\n        }\n        .swiper-scrollbar-drag {\n            background: #2b8cee !important;\n            border-radius: 9999px;\n            cursor: grab;\n        }\n\n        .swiper-button-disabled {\n            opacity: 0.3 !important;\n            cursor: not-allowed !important;\n            pointer-events: none;\n            box-shadow: none !important;\n            filter: grayscale(100%);\n            transform: none !important;\n            border-color: transparent !important;\n        }\n        \n        .dark .swiper-button-disabled {\n            opacity: 0.2 !important;\n            background-color: #1f2937 !important;\n        }\n\n        .search-container:focus-within {\n            box-shadow: 0 0 0 2px var(--tw-ring-offset-color, #fff), 0 0 0 4px rgba(43, 140, 238, 0.5);\n        }\n\n        .card-image-bg {\n            transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);\n        }\n        .group:hover .card-image-bg {\n            transform: scale(1.1);\n        }\n\n        \/* Modal Styles *\/\n        .modal-overlay {\n            opacity: 0;\n            visibility: hidden;\n            transition: all 0.3s ease-in-out;\n        }\n        .modal-overlay.open {\n            opacity: 1;\n            visibility: visible;\n        }\n        \n        .modal-container {\n            transform: translateY(20px) scale(0.95);\n            opacity: 0;\n            transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);\n        }\n        .modal-overlay.open .modal-container {\n            transform: translateY(0) scale(1);\n            opacity: 1;\n        }\n\n        \/* \u9690\u85cf\u6eda\u52a8\u6761\u4f46\u4fdd\u7559\u529f\u80fd *\/\n        .no-scrollbar::-webkit-scrollbar {\n            display: none;\n        }\n        .no-scrollbar {\n            -ms-overflow-style: none;\n            scrollbar-width: none;\n        }\n    <\/style>\n\n\n\n<div class=\"relative flex h-auto min-h-screen w-full flex-col group\/design-root overflow-x-hidden\">\n\n    <!-- Header -->\n    <!-- <header class=\"sticky top-0 z-40 flex items-center justify-between border-b border-solid border-[#e5e7eb] dark:border-gray-800 bg-white\/80 dark:bg-[#101922]\/80 backdrop-blur-md px-4 sm:px-6 lg:px-10 py-3 transition-all duration-300\">\n        <div class=\"flex items-center gap-4 text-[#111418] dark:text-white\">\n            <div class=\"size-8 flex items-center justify-center text-primary flex-shrink-0\">\n                <span class=\"material-symbols-outlined text-3xl\">&#xea25<\/span>\n            <\/div>\n            <h2 class=\"text-[#111418] dark:text-white text-lg  leading-tight tracking-[-0.015em] truncate\">TechCorp<\/h2>\n        <\/div>\n        <div class=\"hidden md:flex flex-1 justify-end gap-8\">\n            <div class=\"flex items-center gap-9\">\n                <a class=\"text-[#111418] dark:text-gray-200 text-sm font-medium hover:text-primary transition-colors\" href=\"#\">Jobs<\/a>\n                <a class=\"text-[#111418] dark:text-gray-200 text-sm font-medium hover:text-primary transition-colors\" href=\"#\">Culture<\/a>\n                <a class=\"text-[#111418] dark:text-gray-200 text-sm font-medium hover:text-primary transition-colors\" href=\"#\">About Us<\/a>\n            <\/div>\n            <button class=\"flex min-w-[84px] items-center justify-center rounded-lg h-10 px-6 bg-primary text-white text-sm  hover:bg-blue-600 transition-colors shadow-sm\">\n                Login\n            <\/button>\n        <\/div>\n        <div class=\"md:hidden p-2 -mr-2 cursor-pointer text-[#111418] dark:text-white\">\n            <span class=\"material-symbols-outlined text-2xl\">&#xe5d2;<\/span>\n        <\/div>\n    <\/header> -->\n\n    <main class=\"layout-container flex h-full grow flex-col pt-6 sm:pt-10 pb-20 w-full overflow-x-hidden\">\n        <div class=\"w-full flex flex-1 justify-center\">\n            <div class=\"layout-content-container flex flex-col w-full max-w-[1400px] flex-1\">\n\n                <!-- Heading & Search Section -->\n                <div class=\"flex flex-col gap-6 px-4 sm:px-6 lg:px-40 mb-6 sm:mb-8 w-full max-w-[100vw] overflow-hidden\">\n                    <div class=\"flex flex-wrap items-end justify-between gap-6\">\n                        <div class=\"flex min-w-full md:min-w-[400px] flex-col gap-3 max-w-2xl\" data-aos=\"fade-right\" data-aos-duration=\"1000\">\n                            <h1 class=\"text-[#111418] dark:text-white text-4xl md:text-[2.66rem]  leading-tight tracking-[-0.033em]\">\n                                Gestalte die Zukunft <br\/><span class=\"text-primary bg-clip-text text-transparent bg-gradient-to-r from-blue-500 to-cyan-400\">mit uns.<\/span>\n                            <\/h1>\n                            <p class=\"text-[#617589] dark:text-gray-400 text-[1rem] leading-normal max-w-lg mt-1 sm:mt-2\">\n                                Wir suchen Denker, Macher und Umsetzer f\u00fcr unser dynamisches Team.\n                            <\/p>\n                        <\/div>\n                        \n                        <div class=\"flex flex-col sm:flex-row items-end sm:items-center gap-4 w-full sm:w-auto\" data-aos=\"fade-left\" data-aos-delay=\"200\">\n                            <div class=\"search-container relative w-full sm:w-64 group transition-all duration-300 rounded-full\">\n                                <span class=\"material-symbols-outlined absolute left-4 top-1\/2 -translate-y-1\/2 text-gray-400 group-focus-within:text-primary transition-colors\">\ue8b6<\/span>\n                                <input id=\"job-search\" type=\"text\" placeholder=\"Positionen suchen...\" \n                                    class=\"w-full h-11 sm:h-12 pl-12 pr-4 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-full text-sm outline-none focus:border-primary dark:focus:border-primary transition-colors text-[#111418] dark:text-white shadow-sm\"\n                                >\n                            <\/div>\n\n                            <div class=\"hidden sm:flex gap-3\">\n                                <button class=\"swiper-button-prev-custom size-12 rounded-full border border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-800 flex items-center justify-center hover:bg-gray-50 dark:hover:bg-gray-700 hover:border-primary\/50 text-[#111418] dark:text-white transition-all duration-300 shadow-sm hover:shadow-md active:scale-95 z-10 group cursor-pointer\">\n                                    <span class=\"material-symbols-outlined group-hover:text-primary transition-colors\">\ue5c4<\/span>\n                                <\/button>\n                                <button class=\"swiper-button-next-custom size-12 rounded-full border border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-800 flex items-center justify-center hover:bg-gray-50 dark:hover:bg-gray-700 hover:border-primary\/50 text-[#111418] dark:text-white transition-all duration-300 shadow-sm hover:shadow-md active:scale-95 z-10 group cursor-pointer\">\n                                    <span class=\"material-symbols-outlined group-hover:text-primary transition-colors\">\ue5c8<\/span>\n                                <\/button>\n                            <\/div>\n                        <\/div>\n                    <\/div>\n                <\/div>\n\n                <!-- Job Slider Area -->\n                <div class=\"relative w-full min-h-[400px]\">\n                    <div class=\"swiper mySwiper w-full pb-14 !overflow-visible\">\n                        <div class=\"swiper-wrapper\" id=\"jobs-container\">\n                            <!-- JS will inject slides here -->\n                        <\/div>\n                    <\/div>\n                    \n                    <div id=\"no-results\" class=\"hidden absolute inset-0 flex flex-col items-center justify-center text-center p-8 z-0 mt-12\">\n                        <span class=\"material-symbols-outlined text-5xl sm:text-6xl text-gray-300 dark:text-gray-700 mb-4\">\uea76<\/span>\n                        <h3 class=\"text-lg sm:text-xl  text-[#111418] dark:text-white\">Keine Positionen gefunden<\/h3>\n                        <p class=\"text-sm sm:text-base text-[#617589] dark:text-gray-400 mt-2\">Versuchen Sie, Ihre Suchkriterien anzupassen.<\/p>\n                    <\/div>\n                <\/div>\n\n                <!-- Progress Section -->\n                <div class=\"w-full flex justify-center px-4 sm:px-6 lg:px-40 mt-4 max-w-[100vw]\" data-aos=\"fade-in\" data-aos-delay=\"500\">\n                    <div class=\"w-full flex flex-col gap-4\">\n                        <div class=\"flex justify-between items-end\">\n                             <div class=\"flex flex-col gap-0.5\">\n                                <p class=\"text-[10px] sm:text-xs  tracking-[0.15em] text-primary uppercase\">Erkunden<\/p>\n                                <p class=\"text-[#111418] dark:text-white text-sm sm:text-base\">Offene Stellen<\/p>\n                             <\/div>\n                             <p class=\"text-[#617589] dark:text-gray-400 text-sm sm:text-base font-medium tabular-nums font-mono\">\n                                <span id=\"slide-current\" class=\"text-[#111418] dark:text-white  text-lg\">01<\/span> \n                                <span class=\"mx-1 text-gray-300 dark:text-gray-600\">\/<\/span> \n                                <span id=\"slide-total\">00<\/span>\n                             <\/p>\n                        <\/div>\n                        <div class=\"w-full h-1.5 rounded-full bg-gray-100 dark:bg-gray-800 overflow-hidden relative\">\n                            <div class=\"swiper-scrollbar !static !w-full !h-full !bg-transparent\"><\/div>\n                        <\/div>\n                    <\/div>\n                <\/div>\n\n            <\/div>\n        <\/div>\n\n<\/div>\n\n<!-- [New] Job Detail Modal -->\n<div id=\"job-detail-modal\" class=\"modal-overlay fixed inset-0 z-50 flex items-end sm:items-center justify-center bg-black\/60 backdrop-blur-sm p-0 sm:p-4\">\n    <div class=\"absolute inset-0 cursor-pointer\" onclick=\"closeJobModal()\"><\/div>\n    \n    <div class=\"modal-container relative w-full max-w-2xl bg-white dark:bg-[#1a2632] rounded-t-2xl sm:rounded-2xl shadow-2xl flex flex-col max-h-[90vh] sm:max-h-[85vh] border border-white\/10 overflow-hidden\">\n        \n        <!-- Header -->\n        <div class=\"flex items-start justify-between p-6 border-b border-gray-100 dark:border-gray-700 bg-white\/50 dark:bg-[#1a2632]\/50 backdrop-blur-sm sticky top-0 z-10\">\n            <div>\n                <div class=\"flex items-center gap-3 mb-2\">\n                    <span id=\"modal-tag\" class=\"inline-flex items-center justify-center px-2.5 py-0.5 rounded-full text-xs font-semibold bg-primary\/20 text-primary border border-primary\/10\">Produkt<\/span>\n                    <span class=\"text-xs text-gray-400 font-mono\" id=\"modal-location\">Fernbedienung<\/span>\n                <\/div>\n                <h2 id=\"modal-title\" class=\"text-2xl  text-[#111418] dark:text-white leading-tight\">Senior Produktdesigner<\/h2>\n            <\/div>\n            <button onclick=\"closeJobModal()\" class=\"size-8 rounded-full bg-gray-100 dark:bg-gray-700 flex items-center justify-center text-gray-500 hover:text-gray-900 dark:text-gray-300 dark:hover:text-white transition-colors\">\n                <span class=\"material-symbols-outlined text-xl\">\ue5cd<\/span>\n            <\/button>\n        <\/div>\n\n        <!-- Body (Scrollable) -->\n        <!-- [\u4fee\u590d] \u6dfb\u52a0 ID 'modal-body' \u7528\u4e8e JS \u63a7\u5236 -->\n        <div id=\"modal-body\" class=\"p-6 overflow-y-auto no-scrollbar flex-1 scroll-smooth\">\n            <div class=\"prose dark:prose-invert max-w-none\">\n                <div class=\"mb-6\">\n                    <h3 class=\"text-lg  text-[#111418] dark:text-white mb-2\">\u00dcber die Rolle<\/h3>\n                    <p id=\"modal-desc\" class=\"text-[#617589] dark:text-gray-400 text-sm leading-relaxed\">\n                        Leitung von Designinitiativen f\u00fcr unsere Kernprodukte\u2026\n                    <\/p>\n                <\/div>\n                \n                <div class=\"mb-6\">\n                    <h3 class=\"text-lg  text-[#111418] dark:text-white mb-2\">Hauptverantwortlichkeiten<\/h3>\n                    <ul id=\"modal-responsibilities\" class=\"list-disc pl-5 text-[#617589] dark:text-gray-400 text-sm leading-relaxed space-y-1\"><\/ul>\n                <\/div>\n\n                <div class=\"mb-6\">\n                    <h3 class=\"text-lg  text-[#111418] dark:text-white mb-2\">Anforderungen<\/h3>\n                    <ul id=\"modal-requirements\" class=\"list-disc pl-5 text-[#617589] dark:text-gray-400 text-sm leading-relaxed space-y-1\"><\/ul>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <!-- Footer -->\n        <!-- Job Detail Modal Footer (\u4fee\u6539\u90e8\u5206) -->\n        <div class=\"p-5 border-t border-gray-100 dark:border-gray-700 bg-gray-50\/80 dark:bg-[#151f28]\/80 backdrop-blur-md flex flex-col gap-3\">\n            <!-- \u4e3b\u6309\u94ae -->\n            <a id=\"modal-apply-btn\" href=\"#\" class=\"flex w-full cursor-pointer items-center justify-center gap-2 rounded-lg h-12 bg-primary hover:bg-blue-600 text-white text-base  transition-all shadow-md active:scale-[0.98] group\">\n                <span class=\"material-symbols-outlined\">\ue159<\/span>\n                Bewerbung per E-Mail\n            <\/a>\n            \n            <!-- \u65b0\u589e\uff1a\u90ae\u7bb1\u6587\u672c\u63d0\u793a (\u515c\u5e95\u65b9\u6848) -->\n            <p class=\"text-center text-xs text-[#617589] dark:text-gray-400\">\n                Oder senden Sie uns direkt eine E-Mail an \n                <!-- select-all \u5141\u8bb8\u7528\u6237\u70b9\u51fb\u4e00\u6b21\u5373\u53ef\u5168\u9009\u90ae\u7bb1 -->\n                <span class=\"text-[#111418] dark:text-white font-mono font-medium select-all cursor-text hover:text-primary transition-colors\" id=\"email-link\">zhoushu@nenghui.com<\/span>\n            <\/p>\n        <\/div>\n\n    <\/div>\n<\/div>\n\n\n\n<script>\n    \/\/ --- Enhanced Data Source ---\n    const jobsData = [\n        { \n            id: 1,\n            title: \"Photovoltaic Field Engineer\", \n            type: \"Engineering\", \n            dept: \"Eng\", \n            location: \"Iraq\", \n            image: \"https:\/\/nenghui.com\/wp-content\/uploads\/2026\/02\/job-1.avif\", \n            color: \"bg-primary\/90 border-white\/10 text-white\",\n            desc: \"\",\n            responsibilities: [\"Responsible for on-site supervision, installation guidance, and problem-solving for photovoltaic and energy storage projects, ensuring construction complies with design specifications and safety standards.\",\n                \"Inspect the construction site, coordinate the installation team, and conduct system commissioning and performance testing.\",\n                \"Collect on-site data and report project progress, quality issues, and customer feedback.\",\n                \"Provide customer training and technical support to ensure normal system operation and customer satisfaction.\",\n                \"Responsible for site surveys and technical solution design.\",\n                \"xResponsible for after-sales troubleshooting.\"\n            ],\n            requirements: [\n                \"Full-time college diploma or above, majoring in electrical engineering or related fields, with basic conversational English skills;\",\n                \"At least 1 year of experience in photovoltaic construction, understanding of photovoltaic construction details, and experience in on-site construction guidance;\",\n                \"Responsible, meticulous, and with good professional ethics and communication and coordination skills;\",\n                \"Able to accept long-term relocation to the Middle East; the company provides accommodation and overseas commercial insurance.\"\n            ]\n        },\n          { \n            id: 11,\n            title: \"Overseas Sales Manager\", \n            type: \"Sales\", \n            dept: \"Sale\", \n            location: \"ShangHai\", \n            image: \"https:\/\/nenghui.com\/wp-content\/uploads\/2026\/02\/job-2.avif\", \n            color: \"bg-primary\/90 border-white\/10 text-white\",\n            desc: \"\",\n            responsibilities: [\"Develop the commercial and industrial energy storage and large-scale energy storage markets in Europe, identify and secure overseas energy storage orders and projects, and achieve company business goals, in accordance with the company's business strategy.\",\n            \"Travel overseas as arranged by the company and as needed to conduct market research and customer visits, track and evaluate customer creditworthiness and purchasing intentions, and establish and maintain a regional customer resource pool.\",\n            \"Participate in overseas industry exhibitions and seminars to develop customer resources and expand business channels.\",\n            \"Assist the company in organizing overseas product launches and promoting brand marketing.\",\n\n\n            ],\n            requirements: [\n                \"Bachelor's degree or above, with preference given to candidates majoring in international trade, English, or German.\",\n                \"At least 3 years of experience in the new energy industry trade, with preference given to candidates with experience in electrical, photovoltaic, or lithium battery energy storage related products.\",\n                \"Fluent in spoken English and proficient in written communication, including international business emails.\",\n                \"Familiar with various international trade terms and risk control, and proficient in using international social media and foreign trade customer acquisition software.\",\n                \"Excellent communication and teamwork skills.\",\n            ]\n        },\n        \/\/ { \n        \/\/     id: 2,\n        \/\/     title: \"Lead Backend Engineer\", \n        \/\/     type: \"Engineering\", \n        \/\/     dept: \"Eng\", \n        \/\/     location: \"San Francisco\", \n        \/\/     image: \"https:\/\/images.unsplash.com\/photo-1555099962-4199c345e5dd?ixlib=rb-4.0.3&auto=format&fit=crop&w=1000&q=80\", \n        \/\/     color: \"bg-emerald-500\/20 border-white\/10 text-emerald-100\",\n        \/\/     desc: \"Join our backend team to architect scalable systems that handle millions of requests. You will be responsible for the core infrastructure and API development.\",\n        \/\/     responsibilities: [\"Design and implement scalable APIs.\", \"Optimize database performance and queries.\", \"Mentor junior engineers and review code.\"],\n        \/\/     requirements: [\"Strong proficiency in Python, Go, or Java.\", \"Experience with distributed systems and microservices.\", \"Familiarity with AWS or Google Cloud.\"]\n        \/\/ },\n        { \n            id: 3,\n            title: \"Business Development Manager \", \n            type: \"Development\", \n            dept: \"Development\", \n            location: \"Cambodia\", \n            image: \"https:\/\/nenghui.com\/wp-content\/uploads\/2026\/02\/job-3.avif\", \n            color: \"bg-purple-500\/90 border-white\/10 text-purple-100\",\n            desc: \"\",\n            responsibilities: [\"Develop commercial and industrial photovoltaic (PV) projects within the assigned region, establishing strong client relationships, in accordance with the company's business strategy and development requirements.\",\n                \"Handle all necessary procedures for project approval and grid connection, including preliminary data collection, site visits, and initial assessments of compliance and economic feasibility.\",\n                \"Establish and improve distribution channels for commercial and industrial PV and energy storage projects within the assigned region, fostering a favorable development environment.\",\n                \"Maintain relationships with local government\/power grid authorities and relevant departments to promote project cooperation.\"\n            ],\n            requirements: [\"Bachelor's degree or above, any major, at least 2 years of experience in PV projects; experienced business professionals with large-scale project development experience are preferred.\",\n            \"Familiar with the local\/industry PV market and proficient in the development process of commercial and industrial power plants.\",\n            \"Strong communication and execution skills, and excellent teamwork ability.\",\n            \"Keen market insight, existing social or industry client resources, and strong ability to acquire project opportunities\/leads are preferred.\"\n        ]\n        },\n        \/\/ { \n        \/\/     id: 4,\n        \/\/     title: \"Financing Director\/Manager\", \n        \/\/     type: \"Financing\", \n        \/\/     dept: \"Financing\", \n        \/\/     location: \"ShangHai\", \n        \/\/     image: \"https:\/\/nenghui.com\/wp-content\/uploads\/2026\/02\/job-1.avif\", \n        \/\/     color: \"bg-blue-500\/90 border-white\/10 text-blue-100\",\n        \/\/     desc: \"\",\n        \/\/     responsibilities: [\"Build and deploy machine learning models.\", \"Perform exploratory data analysis.\", \"Create data visualizations for stakeholders.\"],\n        \/\/     requirements: [\"Master's or PhD in Statistics, CS, or related field.\", \"Proficiency in Python, R, and SQL.\", \"Experience with TensorFlow or PyTorch.\"]\n        \/\/ }\n    ];\n    const email = 'zhoushu@nenghui.com'\n    const emailLink = document.getElementById('email-link');\n    if (emailLink) {\n        emailLink.innerText = email;\n    }\n    let swiperInstance = null;\n    const container = document.getElementById('jobs-container');\n    const noResultsEl = document.getElementById('no-results');\n    const searchInput = document.getElementById('job-search');\n\n    const modal = document.getElementById('job-detail-modal');\n\n    function openJobModal(jobId) {\n        const job = jobsData.find(j => j.id === jobId);\n        if (!job) return;\n\n        \/\/ Populate Data\n        document.getElementById('modal-title').textContent = job.title;\n        document.getElementById('modal-location').textContent = job.location;\n        document.getElementById('modal-desc').textContent = job.desc;\n        \n        const tag = document.getElementById('modal-tag');\n        tag.textContent = job.type;\n        tag.className = `inline-flex items-center justify-center px-2.5 py-0.5 rounded-full text-xs font-semibold border ${job.color}`;\n\n        const respList = document.getElementById('modal-responsibilities');\n        respList.innerHTML = job.responsibilities.map(item => `<li>${item}<\/li>`).join('');\n        \n        const reqList = document.getElementById('modal-requirements');\n        reqList.innerHTML = job.requirements.map(item => `<li>${item}<\/li>`).join('');\n\n        const subject = encodeURIComponent(`Application for ${job.title} - [Your Name]`);\n        const body = encodeURIComponent(`Dear Hiring Team,\\n\\nI am writing to express my interest in the ${job.title} position.\\n\\nPlease find my resume attached.\\n\\nBest regards,\\n[Your Name]`);\n        document.getElementById('modal-apply-btn').href = `mailto:${email}?subject=${subject}&body=${body}`;\n\n        \/\/ [\u4fee\u590d] \u5f3a\u5236\u91cd\u7f6e\u6eda\u52a8\u6761\u4f4d\u7f6e\u5230\u9876\u90e8\n        document.getElementById('modal-body').scrollTop = 0;\n\n        modal.classList.add('open');\n        document.body.style.overflow = 'hidden';\n    }\n\n    function closeJobModal() {\n        modal.classList.remove('open');\n        document.body.style.overflow = '';\n    }\n\n    document.addEventListener('keydown', (e) => {\n        if (e.key === 'Escape' && modal.classList.contains('open')) {\n            closeJobModal();\n        }\n    });\n\n    function renderJobs(data) {\n        container.innerHTML = ''; \n\n        if (data.length === 0) {\n            noResultsEl.classList.remove('hidden');\n            return;\n        } else {\n            noResultsEl.classList.add('hidden');\n        }\n\n        data.forEach((job, index) => {\n            const slide = document.createElement('div');\n            slide.className = 'swiper-slide w-[85vw] sm:w-[320px] md:w-[380px]';\n            slide.setAttribute('data-aos', 'fade-up');\n            slide.setAttribute('data-aos-delay', window.innerWidth < 640 ? 0 : (index % 5) * 100); \n\n            slide.innerHTML = `\n                <div class=\"flex flex-col h-full rounded-xl bg-white dark:bg-[#1a2632] shadow-[0_4px_20px_rgb(0,0,0,0.06)] hover:shadow-[0_20px_40px_rgb(0,0,0,0.1)] dark:shadow-none dark:hover:shadow-[0_20px_40px_rgba(0,0,0,0.4)] overflow-hidden group transition-all duration-300 border border-gray-100 dark:border-gray-800 hover:border-gray-200 dark:hover:border-gray-700\">\n                    <div class=\"h-40 sm:h-48 w-full relative overflow-hidden\">\n                        <div class=\"card-image-bg absolute inset-0 bg-cover bg-center\" style='background-image: url(\"${job.image}\");'><\/div>\n                        <div class=\"absolute inset-0 bg-gradient-to-t from-black\/80 via-black\/20 to-transparent\"><\/div>\n                        <div class=\"absolute bottom-4 left-4 z-10\">\n                            <span class=\"inline-flex items-center justify-center px-2.5 py-0.5 sm:px-3 sm:py-1 rounded-full text-xs font-semibold ${job.color} backdrop-blur-md shadow-sm border border-white\/10\">${job.type}<\/span>\n                        <\/div>\n                    <\/div>\n                    <div class=\"p-5 sm:p-6 flex flex-col flex-1 gap-3 sm:gap-4\">\n                        <div class=\"flex-1\">\n                            <h3 class=\"text-xl sm:text-2xl  text-[#111418] dark:text-white leading-tight mb-2 group-hover:text-primary transition-colors\">${job.title}<\/h3>\n                            <div class=\"flex items-center gap-2 text-[#617589] dark:text-gray-400 text-xs sm:text-sm mb-3 sm:mb-4\">\n                                <span class=\"material-symbols-outlined text-sm sm:text-base\">&#xe0c8;<\/span><span>${job.location}<\/span>\n                                <span class=\"w-1 h-1 bg-gray-300 rounded-full mx-1\"><\/span>\n                                <span class=\"material-symbols-outlined text-sm sm:text-base\">&#xe8b5;<\/span><span>Full-time<\/span>\n                            <\/div>\n                            <p class=\"text-[#617589] dark:text-gray-400 text-sm line-clamp-2 leading-relaxed\">${job.desc}<\/p>\n                        <\/div>\n                        <button onclick=\"openJobModal(${job.id})\" class=\"mt-auto w-full flex items-center justify-center gap-2 rounded-lg h-10 sm:h-12 bg-white dark:bg-gray-800 border-2 border-gray-100 dark:border-gray-700 text-[#111418] dark:text-white text-sm  hover:border-primary hover:text-primary dark:hover:border-primary dark:hover:text-primary transition-all duration-300 group\/btn active:scale-95\">\n                            View Details\n                        <\/button>\n                    <\/div>\n                <\/div>\n            `;\n            container.appendChild(slide);\n        });\n    }\n\n    function initSwiper() {\n        if (swiperInstance) {\n            swiperInstance.destroy(true, true);\n        }\n\n        swiperInstance = new Swiper(\".mySwiper\", {\n            slidesPerView: \"auto\",\n            centeredSlides: window.innerWidth < 640, \n            spaceBetween: 16,\n            grabCursor: true,\n            speed: 600,\n            resistance: true,\n            resistanceRatio: 0.65,\n            observer: true,\n            observeParents: true,\n            breakpoints: {\n                640: {\n                    centeredSlides: false,\n                    spaceBetween: 24,\n                }\n            },\n            navigation: {\n                nextEl: \".swiper-button-next-custom\",\n                prevEl: \".swiper-button-prev-custom\",\n            },\n            scrollbar: {\n                el: \".swiper-scrollbar\",\n                draggable: true,\n                snapOnRelease: false,\n            },\n            mousewheel: {\n                forceToAxis: true,\n            },\n            keyboard: {\n                enabled: true,\n                onlyInViewport: true,\n            },\n            on: {\n                init: function(sw) { updateCounter(sw); },\n                slideChange: function(sw) { updateCounter(sw); },\n                slidesLengthChange: function(sw) { updateCounter(sw); },\n                resize: function(sw) {\n                    sw.params.centeredSlides = window.innerWidth < 640;\n                    sw.update();\n                }\n            }\n        });\n    }\n\n    function updateCounter(sw) {\n        const currentEl = document.getElementById('slide-current');\n        const totalEl = document.getElementById('slide-total');\n        \n        let count = sw.slides.length;\n        if(count === 0) {\n            currentEl.textContent = \"00\";\n            totalEl.textContent = \"00\";\n            return;\n        }\n        let current = sw.activeIndex + 1;\n        currentEl.textContent = String(current).padStart(2, '0');\n        totalEl.textContent = String(count).padStart(2, '0');\n    }\n\n    searchInput.addEventListener('input', (e) => {\n        const query = e.target.value.toLowerCase().trim();\n        const filtered = jobsData.filter(job => \n            job.title.toLowerCase().includes(query) || \n            job.type.toLowerCase().includes(query)\n        );\n        renderJobs(filtered);\n        initSwiper();\n        setTimeout(() => { AOS.refresh(); }, 100);\n    });\n\n    document.addEventListener('DOMContentLoaded', () => {\n      \n        renderJobs(jobsData);\n        initSwiper();\n    });\n<\/script>","protected":false},"excerpt":{"rendered":"<p>Shape the future with us. We are looking for thinkers, makers, and doers to join our high-energy team. &#xe8b6; &#xe5c4; &#xe5c8; &#xea76; No positions found Try adjusting your search criteria Explore Open Positions 01 \/ 00 Product Remote Senior Product Designer &#xe5cd; About the Role Lead design initiatives across our core products&#8230; Key Responsibilities Requirements [&hellip;]<\/p>","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-1893","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/nenghui.com\/de\/wp-json\/wp\/v2\/pages\/1893","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nenghui.com\/de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/nenghui.com\/de\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/nenghui.com\/de\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/nenghui.com\/de\/wp-json\/wp\/v2\/comments?post=1893"}],"version-history":[{"count":5,"href":"https:\/\/nenghui.com\/de\/wp-json\/wp\/v2\/pages\/1893\/revisions"}],"predecessor-version":[{"id":2067,"href":"https:\/\/nenghui.com\/de\/wp-json\/wp\/v2\/pages\/1893\/revisions\/2067"}],"wp:attachment":[{"href":"https:\/\/nenghui.com\/de\/wp-json\/wp\/v2\/media?parent=1893"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}