{"id":2501,"date":"2026-05-26T13:29:36","date_gmt":"2026-05-26T13:29:36","guid":{"rendered":"https:\/\/millepiani.com\/work-with-us\/"},"modified":"2026-09-14T18:27:18","modified_gmt":"2026-09-14T18:27:18","slug":"work-with-us","status":"publish","type":"page","link":"https:\/\/millepiani.com\/en\/work-with-us\/","title":{"rendered":"WORK WITH US"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"2501\" class=\"elementor elementor-2501 elementor-767\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-65860d8 e-con-full e-flex e-con e-parent\" data-id=\"65860d8\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8a903f4 elementor-widget elementor-widget-html\" data-id=\"8a903f4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin=\"\">\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Afacad+Flux:wght@100..1000&display=swap\" rel=\"stylesheet\">\r\n\r\n<!-- Google reCAPTCHA v2 -->\r\n<script src=\"https:\/\/www.google.com\/recaptcha\/api.js\" async=\"\" defer><\/script>\r\n\r\n<div class=\"mp-career-page\">\r\n\r\n  <!-- HERO -->\r\n  <section class=\"mp-career-hero\" id=\"top\">\r\n    <div class=\"mp-career-hero-bg\"><\/div>\r\n    <div class=\"mp-career-hero-overlay\"><\/div>\r\n\r\n    <div class=\"mp-career-hero-content mp-reveal\">\r\n      <p class=\"mp-kicker\">Careers<\/p>\r\n\r\n      <h1>Work<br\/>with us<\/h1>\r\n\r\n      <p>\r\n  Access the Millepiani Careers area, complete your online profile\r\n and apply to become part of our group.\r\n      <\/p>\r\n\r\n      <a href=\"#career-hub\" class=\"mp-outline-btn\">Submit application<\/a>\r\n    <\/div>\r\n\r\n    <a href=\"#career-hub\" class=\"mp-scroll-arrow\" aria-label=\"Scorri alla sezione successiva\">\r\n      <span><\/span>\r\n    <\/a>\r\n  <\/section>\r\n\r\n\r\n  <!-- SEZIONE SPECIALE CANDIDATURA -->\r\n  <section class=\"mp-career-hub\" id=\"career-hub\">\r\n    <canvas class=\"mp-career-canvas\" id=\"mpCareerCanvas\" aria-hidden=\"true\"><\/canvas>\r\n\r\n    <div class=\"mp-career-bg\"><\/div>\r\n    <div class=\"mp-career-grid-bg\"><\/div>\r\n\r\n    <div class=\"mp-career-inner\">\r\n\r\n      <div class=\"mp-career-heading mp-reveal\">\r\n        <p>Application area<\/p>\r\n\r\n        <h2>\r\n  Join<br\/> our group\r\n        <\/h2>\r\n\r\n        <span>\r\n  Millepiani invites candidates to complete their online profile to become\r\n part of the group. Selection is open to all candidates\r\n according to equal opportunity principles. \r\n        <\/span>\r\n      <\/div>\r\n\r\n      <div class=\"mp-career-layout\">\r\n\r\n        <div class=\"mp-career-experience mp-reveal\">\r\n\r\n          <div class=\"mp-career-orbit\">\r\n            <div class=\"mp-career-orbit-core\">\r\n              <span>JOB<\/span>\r\n              <strong>Application<br\/>area<\/strong>\r\n            <\/div>\r\n\r\n            <button type=\"button\" class=\"mp-career-node is-active\" data-career-topic=\"curriculum\">\r\n              <span><\/span>\r\n  Online profile\r\n            <\/button>\r\n\r\n            <button type=\"button\" class=\"mp-career-node\" data-career-topic=\"gruppo\">\r\n              <span><\/span>\r\n  Millepiani Group\r\n            <\/button>\r\n\r\n            <button type=\"button\" class=\"mp-career-node\" data-career-topic=\"opportunita\">\r\n              <span><\/span>\r\n  Equal opportunities\r\n            <\/button>\r\n\r\n            <button type=\"button\" class=\"mp-career-node\" data-career-topic=\"profilo\">\r\n              <span><\/span>\r\n  Candidate profile\r\n            <\/button>\r\n          <\/div>\r\n\r\n          <article class=\"mp-career-panel\" id=\"mpCareerPanel\">\r\n            <div class=\"mp-career-panel-number\" id=\"mpCareerNumber\">01<\/div>\r\n\r\n            <p id=\"mpCareerKicker\">Online profile<\/p>\r\n\r\n            <h3 id=\"mpCareerTitle\">\r\n  Complete<br\/> your profile\r\n            <\/h3>\r\n\r\n            <div class=\"mp-career-line\"><\/div>\r\n\r\n            <div class=\"mp-career-copy\" id=\"mpCareerText\">\r\n              <p>\r\n  The Careers area allows you to submit your application by\r\n completing an online profile.\r\n              <\/p>\r\n              <p>\r\n  Enter your personal details, contact information, experience, and skills, and attach\r\n your CV to present yourself fully.\r\n              <\/p>\r\n            <\/div>\r\n\r\n            <div class=\"mp-career-tags\" id=\"mpCareerTags\">\r\n              <span>Online CV<\/span>\r\n              <span>Application<\/span>\r\n              <span>Complete profile<\/span>\r\n            <\/div>\r\n          <\/article>\r\n\r\n        <\/div>\r\n\r\n\r\n        <!-- FORM CANDIDATURA -->\r\n        <div class=\"mp-career-form-card mp-reveal\">\r\n\r\n          <div class=\"mp-career-form-head\">\r\n            <p>Speculative application<\/p>\r\n\r\n            <h3>\r\n  Submit your<br\/> CV\r\n            <\/h3>\r\n\r\n            <span>\r\n  Fill in the required fields and attach your CV. This form is designed\r\n to collect the essential information for a professional application. \r\n            <\/span>\r\n          <\/div>\r\n\r\n          <form class=\"mp-career-form\" id=\"mpCareerForm\" action=\"\/wp-admin\/admin-post.php\" method=\"POST\" enctype=\"multipart\/form-data\">\r\n\r\n            <input type=\"hidden\" name=\"action\" value=\"mp_invia_candidatura\">\r\n\r\n            <div class=\"mp-career-status\" id=\"mpCareerStatus\" aria-live=\"polite\"><\/div>\r\n\r\n            <p class=\"mp-career-required-note\">\r\n  Fields marked with <strong>*<\/strong> are mandatory.\r\n            <\/p>\r\n\r\n            <div class=\"mp-career-grid\">\r\n\r\n              <div class=\"mp-career-field\">\r\n                <input type=\"text\" name=\"first_name\" id=\"careerFirstName\" required=\"\" autocomplete=\"given-name\">\r\n                <label for=\"careerFirstName\">First name *<\/label>\r\n              <\/div>\r\n\r\n              <div class=\"mp-career-field\">\r\n                <input type=\"text\" name=\"last_name\" id=\"careerLastName\" required=\"\" autocomplete=\"family-name\">\r\n                <label for=\"careerLastName\">Last name *<\/label>\r\n              <\/div>\r\n\r\n              <div class=\"mp-career-field\">\r\n                <input type=\"email\" name=\"email\" id=\"careerEmail\" required=\"\" autocomplete=\"email\">\r\n                <label for=\"careerEmail\">Email *<\/label>\r\n              <\/div>\r\n\r\n              <div class=\"mp-career-field\">\r\n                <input type=\"tel\" name=\"phone\" id=\"careerPhone\" required=\"\" autocomplete=\"tel\">\r\n                <label for=\"careerPhone\">Phone *<\/label>\r\n              <\/div>\r\n\r\n              <div class=\"mp-career-field\">\r\n                <input type=\"text\" name=\"province\" id=\"careerProvince\" autocomplete=\"address-level2\">\r\n                <label for=\"careerProvince\">Province<\/label>\r\n              <\/div>\r\n\r\n              <div class=\"mp-career-field\">\r\n                <select name=\"area\" id=\"careerArea\" required=\"\">\r\n                  <option value=\"\" selected disabled><\/option>\r\n                  <option value=\"Tecnico \/ manutenzione\">Technical \/ Maintenance<\/option>\r\n                  <option value=\"Commerciale\">Sales<\/option>\r\n                  <option value=\"Amministrazione\">Administration<\/option>\r\n                  <option value=\"Progettazione\">Design<\/option>\r\n                  <option value=\"Produzione\">Production<\/option>\r\n                  <option value=\"Altro\">Other<\/option>\r\n                <\/select>\r\n                <label for=\"careerArea\">Area of interest *<\/label>\r\n              <\/div>\r\n\r\n              <div class=\"mp-career-field\">\r\n                <select name=\"experience\" id=\"careerExperience\" required=\"\">\r\n                  <option value=\"\" selected disabled><\/option>\r\n                  <option value=\"Prima esperienza\">First experience<\/option>\r\n                  <option value=\"1-3 anni\">1-3 years<\/option>\r\n                  <option value=\"3-5 anni\">3-5 years<\/option>\r\n                  <option value=\"Oltre 5 anni\">Over 5 years<\/option>\r\n                <\/select>\r\n                <label for=\"careerExperience\">Experience *<\/label>\r\n              <\/div>\r\n\r\n              <div class=\"mp-career-field\">\r\n                <input type=\"url\" name=\"linkedin\" id=\"careerLinkedin\" autocomplete=\"url\">\r\n                <label for=\"careerLinkedin\">LinkedIn \/ Portfolio<\/label>\r\n              <\/div>\r\n\r\n            <\/div>\r\n\r\n            <div class=\"mp-career-field mp-career-full\">\r\n              <textarea name=\"message\" id=\"careerMessage\" rows=\"4\" required=\"\"><\/textarea>\r\n              <label for=\"careerMessage\">Introduction *<\/label>\r\n            <\/div>\r\n\r\n            <div class=\"mp-career-upload-note\">\r\n  Attach CV in PDF, DOC, or DOCX format. Maximum allowed size: 10MB. *\r\n            <\/div>\r\n\r\n            <label class=\"mp-career-upload\" for=\"careerCv\">\r\n              <input type=\"file\" name=\"cv\" id=\"careerCv\" accept=\".pdf,.doc,.docx\" required=\"\">\r\n              <span class=\"mp-career-upload-icon\">\u21a5<\/span>\r\n              <span class=\"mp-career-upload-text\">Upload CV *<\/span>\r\n              <span class=\"mp-career-upload-file\" id=\"careerCvName\"><\/span>\r\n            <\/label>\r\n\r\n            <label class=\"mp-career-consent\">\r\n              <input type=\"checkbox\" name=\"privacy\" required=\"\">\r\n              <span>\r\n  I declare that I have read the\r\n                <a href=\"https:\/\/millepiani.com\/privacy-policy\/\" target=\"_blank\" rel=\"noopener noreferrer\">\r\n privacy policy\r\n                <\/a>\r\n and I authorize the processing of my personal data for recruitment purposes. *\r\n              <\/span>\r\n            <\/label>\r\n\r\n            <!-- reCAPTCHA v2 -->\r\n            <div class=\"mp-career-recaptcha\">\r\n              <div class=\"g-recaptcha\" data-sitekey=\"6LcesxMtAAAAAOolGMoTWQRnkFxaajWY2qeLtHdn\"><\/div>\r\n            <\/div>\r\n\r\n            <!-- Campo invisibile anti-bot -->\r\n            <div class=\"mp-career-hp\" aria-hidden=\"true\">\r\n              <label for=\"careerWebsite\">Website<\/label>\r\n              <input type=\"text\" name=\"website\" id=\"careerWebsite\" tabindex=\"-1\" autocomplete=\"off\">\r\n            <\/div>\r\n\r\n            <button type=\"submit\" class=\"mp-career-submit\">\r\n              <span>Submit application<\/span>\r\n            <\/button>\r\n\r\n          <\/form>\r\n\r\n        <\/div>\r\n\r\n      <\/div>\r\n\r\n    <\/div>\r\n  <\/section>\r\n\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6ba44c1 elementor-hidden-desktop elementor-hidden-tablet elementor-hidden-mobile elementor-widget elementor-widget-shortcode\" data-id=\"6ba44c1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><script>document.documentElement.classList.add(\"mp-js-ready\");\r\n\r\ndocument.addEventListener(\"DOMContentLoaded\", function () {\r\n\r\n  \/*\r\n  |--------------------------------------------------------------------------\r\n  | Decode HTML entities\r\n  |--------------------------------------------------------------------------\r\n  | Serve per evitare che WordPress mostri testi come L&#8217;area\r\n  | invece di L\u2019area.\r\n  *\/\r\n\r\n  function decodeHtmlEntities(text) {\r\n    const textarea = document.createElement(\"textarea\");\r\n    textarea.innerHTML = text;\r\n    return textarea.value;\r\n  }\r\n\r\n\r\n  \/*\r\n  |--------------------------------------------------------------------------\r\n  | Reveal animation\r\n  |--------------------------------------------------------------------------\r\n  *\/\r\n\r\n  const revealItems = document.querySelectorAll(\".mp-reveal\");\r\n\r\n  if (\"IntersectionObserver\" in window) {\r\n    const revealObserver = new IntersectionObserver(function (entries, observer) {\r\n      entries.forEach(function (entry) {\r\n        if (!entry.isIntersecting) return;\r\n\r\n        entry.target.classList.add(\"is-visible\");\r\n        observer.unobserve(entry.target);\r\n      });\r\n    }, {\r\n      threshold: 0.16\r\n    });\r\n\r\n    revealItems.forEach(function (item) {\r\n      revealObserver.observe(item);\r\n    });\r\n  } else {\r\n    revealItems.forEach(function (item) {\r\n      item.classList.add(\"is-visible\");\r\n    });\r\n  }\r\n\r\n\r\n  \/*\r\n  |--------------------------------------------------------------------------\r\n  | Smooth scroll\r\n  |--------------------------------------------------------------------------\r\n  *\/\r\n\r\n  document.querySelectorAll('a[href^=\"#\"]').forEach(function (anchor) {\r\n    anchor.addEventListener(\"click\", function (event) {\r\n      const targetId = anchor.getAttribute(\"href\");\r\n\r\n      if (!targetId || targetId === \"#\") return;\r\n\r\n      const target = document.querySelector(targetId);\r\n\r\n      if (!target) return;\r\n\r\n      event.preventDefault();\r\n\r\n      target.scrollIntoView({\r\n        behavior: \"smooth\",\r\n        block: \"start\"\r\n      });\r\n    });\r\n  });\r\n\r\n\r\n  \/*\r\n  |--------------------------------------------------------------------------\r\n  | Language\r\n  |--------------------------------------------------------------------------\r\n  *\/\r\n\r\n  const pageLang = (document.documentElement.lang || \"it\")\r\n    .toLowerCase()\r\n    .split(\"-\")[0];\r\n\r\n\r\n  \/*\r\n  |--------------------------------------------------------------------------\r\n  | Career translations\r\n  |--------------------------------------------------------------------------\r\n  *\/\r\n\r\n  const careerTranslations = {\r\n\r\n    \/*\r\n    |--------------------------------------------------------------------------\r\n    | ITALIANO\r\n    |--------------------------------------------------------------------------\r\n    *\/\r\n\r\n    it: {\r\n      topics: {\r\n        curriculum: {\r\n          number: \"01\",\r\n          kicker: \"Curriculum online\",\r\n          title: \"Compila<br>il tuo profilo\",\r\n          paragraphs: [\r\n            \"L\u2019area Job consente di inviare la propria candidatura attraverso la compilazione del curriculum online.\",\r\n            \"Inserisci dati personali, contatti, esperienze, competenze e allega il tuo CV per presentarti in modo completo.\"\r\n          ],\r\n          tags: [\r\n            \"CV online\",\r\n            \"Candidatura\",\r\n            \"Profilo completo\"\r\n          ]\r\n        },\r\n\r\n        gruppo: {\r\n          number: \"02\",\r\n          kicker: \"Gruppo Millepiani\",\r\n          title: \"Entra<br>nel gruppo\",\r\n          paragraphs: [\r\n            \"La candidatura \u00e8 pensata per chi desidera entrare a far parte del gruppo Millepiani.\",\r\n            \"Il modulo consente di presentare il proprio percorso e l\u2019area professionale di interesse.\"\r\n          ],\r\n          tags: [\r\n            \"Gruppo\",\r\n            \"Percorso\",\r\n            \"Crescita\"\r\n          ]\r\n        },\r\n\r\n        opportunita: {\r\n          number: \"03\",\r\n          kicker: \"Pari opportunit\u00e0\",\r\n          title: \"Selezione<br>accessibile\",\r\n          paragraphs: [\r\n            \"La selezione \u00e8 accessibile ai candidati e alle candidate, secondo principi di pari opportunit\u00e0.\",\r\n            \"La candidatura viene costruita per valorizzare competenze, disponibilit\u00e0 e motivazione.\"\r\n          ],\r\n          tags: [\r\n            \"Pari opportunit\u00e0\",\r\n            \"Inclusione\",\r\n            \"Selezione\"\r\n          ]\r\n        },\r\n\r\n        profilo: {\r\n          number: \"04\",\r\n          kicker: \"Profilo candidato\",\r\n          title: \"Racconta<br>chi sei\",\r\n          paragraphs: [\r\n            \"Una candidatura efficace deve includere dati di contatto aggiornati, area di interesse, esperienza e una breve presentazione.\",\r\n            \"Il curriculum allegato permette di approfondire formazione, competenze tecniche, esperienze e disponibilit\u00e0.\"\r\n          ],\r\n          tags: [\r\n            \"Esperienza\",\r\n            \"Competenze\",\r\n            \"Motivazione\"\r\n          ]\r\n        }\r\n      },\r\n\r\n      messages: {\r\n        success: \"Candidatura inviata correttamente. Grazie per averci contattato.\",\r\n        genericError: \"Si \u00e8 verificato un errore durante l\u2019invio. Controlla i campi e riprova.\",\r\n        captchaError: \"Verifica reCAPTCHA non completata o non valida. Riprova.\",\r\n        invalidFormat: \"Formato non valido. Puoi allegare solo PDF, DOC o DOCX.\",\r\n        fileTooLarge: \"Il file supera il limite massimo di 10MB.\",\r\n        requiredFields: \"Compila tutti i campi obbligatori e allega il tuo curriculum.\",\r\n        captchaRequired: \"Completa la verifica reCAPTCHA prima di inviare la candidatura.\",\r\n        sending: \"Invio candidatura in corso...\",\r\n        submitLoading: \"Invio in corso...\"\r\n      }\r\n    },\r\n\r\n\r\n    \/*\r\n    |--------------------------------------------------------------------------\r\n    | ENGLISH\r\n    |--------------------------------------------------------------------------\r\n    *\/\r\n\r\n    en: {\r\n      topics: {\r\n        curriculum: {\r\n          number: \"01\",\r\n          kicker: \"Online CV\",\r\n          title: \"Complete<br>your profile\",\r\n          paragraphs: [\r\n            \"The Job area allows you to submit your application by completing your online CV.\",\r\n            \"Enter your personal details, contact information, experience and skills, and attach your CV to present a complete profile.\"\r\n          ],\r\n          tags: [\r\n            \"Online CV\",\r\n            \"Application\",\r\n            \"Complete profile\"\r\n          ]\r\n        },\r\n\r\n        gruppo: {\r\n          number: \"02\",\r\n          kicker: \"Millepiani Group\",\r\n          title: \"Join<br>our group\",\r\n          paragraphs: [\r\n            \"The application process is designed for those who would like to become part of the Millepiani Group.\",\r\n            \"The form allows you to present your professional background and indicate the area in which you are interested.\"\r\n          ],\r\n          tags: [\r\n            \"Group\",\r\n            \"Career path\",\r\n            \"Growth\"\r\n          ]\r\n        },\r\n\r\n        opportunita: {\r\n          number: \"03\",\r\n          kicker: \"Equal opportunities\",\r\n          title: \"Accessible<br>selection process\",\r\n          paragraphs: [\r\n            \"The selection process is open to all candidates in accordance with equal opportunity principles.\",\r\n            \"The application is designed to highlight skills, availability and motivation.\"\r\n          ],\r\n          tags: [\r\n            \"Equal opportunities\",\r\n            \"Inclusion\",\r\n            \"Selection\"\r\n          ]\r\n        },\r\n\r\n        profilo: {\r\n          number: \"04\",\r\n          kicker: \"Candidate profile\",\r\n          title: \"Tell us<br>who you are\",\r\n          paragraphs: [\r\n            \"An effective application should include up-to-date contact details, your area of interest, professional experience and a brief introduction.\",\r\n            \"Your attached CV provides further information about your education, technical skills, experience and availability.\"\r\n          ],\r\n          tags: [\r\n            \"Experience\",\r\n            \"Skills\",\r\n            \"Motivation\"\r\n          ]\r\n        }\r\n      },\r\n\r\n      messages: {\r\n        success: \"Your application has been submitted successfully. Thank you for contacting us.\",\r\n        genericError: \"An error occurred while submitting your application. Please check the fields and try again.\",\r\n        captchaError: \"The reCAPTCHA verification was not completed or is invalid. Please try again.\",\r\n        invalidFormat: \"Invalid file format. You can only attach PDF, DOC or DOCX files.\",\r\n        fileTooLarge: \"The file exceeds the maximum size limit of 10MB.\",\r\n        requiredFields: \"Please complete all required fields and attach your CV.\",\r\n        captchaRequired: \"Please complete the reCAPTCHA verification before submitting your application.\",\r\n        sending: \"Submitting your application...\",\r\n        submitLoading: \"Sending...\"\r\n      }\r\n    },\r\n\r\n\r\n    \/*\r\n    |--------------------------------------------------------------------------\r\n    | FRAN\u00c7AIS\r\n    |--------------------------------------------------------------------------\r\n    *\/\r\n\r\n    fr: {\r\n      topics: {\r\n        curriculum: {\r\n          number: \"01\",\r\n          kicker: \"CV en ligne\",\r\n          title: \"Compl\u00e9tez<br>votre profil\",\r\n          paragraphs: [\r\n            \"L\u2019espace Emploi vous permet d\u2019envoyer votre candidature en remplissant votre CV en ligne.\",\r\n            \"Renseignez vos donn\u00e9es personnelles, vos coordonn\u00e9es, vos exp\u00e9riences et vos comp\u00e9tences, puis joignez votre CV afin de pr\u00e9senter un profil complet.\"\r\n          ],\r\n          tags: [\r\n            \"CV en ligne\",\r\n            \"Candidature\",\r\n            \"Profil complet\"\r\n          ]\r\n        },\r\n\r\n        gruppo: {\r\n          number: \"02\",\r\n          kicker: \"Groupe Millepiani\",\r\n          title: \"Rejoignez<br>le groupe\",\r\n          paragraphs: [\r\n            \"La candidature s\u2019adresse \u00e0 celles et ceux qui souhaitent rejoindre le groupe Millepiani.\",\r\n            \"Le formulaire vous permet de pr\u00e9senter votre parcours professionnel et le domaine qui vous int\u00e9resse.\"\r\n          ],\r\n          tags: [\r\n            \"Groupe\",\r\n            \"Parcours\",\r\n            \"\u00c9volution\"\r\n          ]\r\n        },\r\n\r\n        opportunita: {\r\n          number: \"03\",\r\n          kicker: \"\u00c9galit\u00e9 des chances\",\r\n          title: \"S\u00e9lection<br>accessible\",\r\n          paragraphs: [\r\n            \"Le processus de s\u00e9lection est ouvert \u00e0 toutes les candidates et \u00e0 tous les candidats conform\u00e9ment aux principes d\u2019\u00e9galit\u00e9 des chances.\",\r\n            \"La candidature est con\u00e7ue pour mettre en valeur les comp\u00e9tences, la disponibilit\u00e9 et la motivation.\"\r\n          ],\r\n          tags: [\r\n            \"\u00c9galit\u00e9 des chances\",\r\n            \"Inclusion\",\r\n            \"S\u00e9lection\"\r\n          ]\r\n        },\r\n\r\n        profilo: {\r\n          number: \"04\",\r\n          kicker: \"Profil du candidat\",\r\n          title: \"Pr\u00e9sentez-nous<br>votre profil\",\r\n          paragraphs: [\r\n            \"Une candidature efficace doit comprendre des coordonn\u00e9es \u00e0 jour, le domaine qui vous int\u00e9resse, votre exp\u00e9rience ainsi qu\u2019une courte pr\u00e9sentation.\",\r\n            \"Le CV joint permet de d\u00e9tailler votre formation, vos comp\u00e9tences techniques, vos exp\u00e9riences et vos disponibilit\u00e9s.\"\r\n          ],\r\n          tags: [\r\n            \"Exp\u00e9rience\",\r\n            \"Comp\u00e9tences\",\r\n            \"Motivation\"\r\n          ]\r\n        }\r\n      },\r\n\r\n      messages: {\r\n        success: \"Votre candidature a \u00e9t\u00e9 envoy\u00e9e avec succ\u00e8s. Merci de nous avoir contact\u00e9s.\",\r\n        genericError: \"Une erreur s\u2019est produite lors de l\u2019envoi. V\u00e9rifiez les champs et r\u00e9essayez.\",\r\n        captchaError: \"La v\u00e9rification reCAPTCHA n\u2019a pas \u00e9t\u00e9 effectu\u00e9e ou n\u2019est pas valide. Veuillez r\u00e9essayer.\",\r\n        invalidFormat: \"Format de fichier non valide. Vous pouvez uniquement joindre des fichiers PDF, DOC ou DOCX.\",\r\n        fileTooLarge: \"Le fichier d\u00e9passe la taille maximale autoris\u00e9e de 10 Mo.\",\r\n        requiredFields: \"Veuillez remplir tous les champs obligatoires et joindre votre CV.\",\r\n        captchaRequired: \"Veuillez effectuer la v\u00e9rification reCAPTCHA avant d\u2019envoyer votre candidature.\",\r\n        sending: \"Envoi de votre candidature en cours...\",\r\n        submitLoading: \"Envoi en cours...\"\r\n      }\r\n    },\r\n\r\n\r\n    \/*\r\n    |--------------------------------------------------------------------------\r\n    | \u0420\u0423\u0421\u0421\u041a\u0418\u0419\r\n    |--------------------------------------------------------------------------\r\n    *\/\r\n\r\n    ru: {\r\n      topics: {\r\n        curriculum: {\r\n          number: \"01\",\r\n          kicker: \"\u0420\u0435\u0437\u044e\u043c\u0435 \u043e\u043d\u043b\u0430\u0439\u043d\",\r\n          title: \"\u0417\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u0435<br>\u0441\u0432\u043e\u0439 \u043f\u0440\u043e\u0444\u0438\u043b\u044c\",\r\n          paragraphs: [\r\n            \"\u0420\u0430\u0437\u0434\u0435\u043b \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0437\u0430\u044f\u0432\u043a\u0443, \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u0432 \u043e\u043d\u043b\u0430\u0439\u043d-\u0440\u0435\u0437\u044e\u043c\u0435.\",\r\n            \"\u0423\u043a\u0430\u0436\u0438\u0442\u0435 \u043b\u0438\u0447\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435, \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e, \u043e\u043f\u044b\u0442 \u0440\u0430\u0431\u043e\u0442\u044b \u0438 \u043d\u0430\u0432\u044b\u043a\u0438, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u0438\u043a\u0440\u0435\u043f\u0438\u0442\u0435 \u0441\u0432\u043e\u0451 \u0440\u0435\u0437\u044e\u043c\u0435, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043f\u043e\u043b\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u0441\u0435\u0431\u0435.\"\r\n          ],\r\n          tags: [\r\n            \"\u0420\u0435\u0437\u044e\u043c\u0435 \u043e\u043d\u043b\u0430\u0439\u043d\",\r\n            \"\u0417\u0430\u044f\u0432\u043a\u0430\",\r\n            \"\u041f\u043e\u043b\u043d\u044b\u0439 \u043f\u0440\u043e\u0444\u0438\u043b\u044c\"\r\n          ]\r\n        },\r\n\r\n        gruppo: {\r\n          number: \"02\",\r\n          kicker: \"\u0413\u0440\u0443\u043f\u043f\u0430 Millepiani\",\r\n          title: \"\u0421\u0442\u0430\u043d\u044c\u0442\u0435 \u0447\u0430\u0441\u0442\u044c\u044e<br>\u043d\u0430\u0448\u0435\u0439 \u0433\u0440\u0443\u043f\u043f\u044b\",\r\n          paragraphs: [\r\n            \"\u0424\u043e\u0440\u043c\u0430 \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0430 \u0434\u043b\u044f \u0442\u0435\u0445, \u043a\u0442\u043e \u0445\u043e\u0447\u0435\u0442 \u0441\u0442\u0430\u0442\u044c \u0447\u0430\u0441\u0442\u044c\u044e \u0433\u0440\u0443\u043f\u043f\u044b Millepiani.\",\r\n            \"\u041e\u043d\u0430 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043e \u0441\u0432\u043e\u0451\u043c \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u043c \u043e\u043f\u044b\u0442\u0435 \u0438 \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u044e\u0449\u0435\u0435 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0440\u0430\u0431\u043e\u0442\u044b.\"\r\n          ],\r\n          tags: [\r\n            \"\u0413\u0440\u0443\u043f\u043f\u0430\",\r\n            \"\u041a\u0430\u0440\u044c\u0435\u0440\u0430\",\r\n            \"\u0420\u0430\u0437\u0432\u0438\u0442\u0438\u0435\"\r\n          ]\r\n        },\r\n\r\n        opportunita: {\r\n          number: \"03\",\r\n          kicker: \"\u0420\u0430\u0432\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438\",\r\n          title: \"\u0414\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0439<br>\u043e\u0442\u0431\u043e\u0440 \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442\u043e\u0432\",\r\n          paragraphs: [\r\n            \"\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u043e\u0442\u0431\u043e\u0440\u0430 \u043e\u0442\u043a\u0440\u044b\u0442 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442\u043e\u0432 \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0430\u043c\u0438 \u0440\u0430\u0432\u043d\u044b\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439.\",\r\n            \"\u0417\u0430\u044f\u0432\u043a\u0430 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u043e\u0434\u0447\u0435\u0440\u043a\u043d\u0443\u0442\u044c \u0432\u0430\u0448\u0438 \u043d\u0430\u0432\u044b\u043a\u0438, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u044c \u0438 \u043c\u043e\u0442\u0438\u0432\u0430\u0446\u0438\u044e.\"\r\n          ],\r\n          tags: [\r\n            \"\u0420\u0430\u0432\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438\",\r\n            \"\u0418\u043d\u043a\u043b\u044e\u0437\u0438\u0432\u043d\u043e\u0441\u0442\u044c\",\r\n            \"\u041e\u0442\u0431\u043e\u0440\"\r\n          ]\r\n        },\r\n\r\n        profilo: {\r\n          number: \"04\",\r\n          kicker: \"\u041f\u0440\u043e\u0444\u0438\u043b\u044c \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442\u0430\",\r\n          title: \"\u0420\u0430\u0441\u0441\u043a\u0430\u0436\u0438\u0442\u0435<br>\u043e \u0441\u0435\u0431\u0435\",\r\n          paragraphs: [\r\n            \"\u042d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u0430\u044f \u0437\u0430\u044f\u0432\u043a\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435, \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u044e\u0449\u0435\u0435 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435, \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043f\u044b\u0442 \u0438 \u043a\u0440\u0430\u0442\u043a\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u0441\u0435\u0431\u0435.\",\r\n            \"\u041f\u0440\u0438\u043a\u0440\u0435\u043f\u043b\u0451\u043d\u043d\u043e\u0435 \u0440\u0435\u0437\u044e\u043c\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043e\u0431 \u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0438, \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043d\u0430\u0432\u044b\u043a\u0430\u0445, \u043e\u043f\u044b\u0442\u0435 \u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u0438.\"\r\n          ],\r\n          tags: [\r\n            \"\u041e\u043f\u044b\u0442\",\r\n            \"\u041d\u0430\u0432\u044b\u043a\u0438\",\r\n            \"\u041c\u043e\u0442\u0438\u0432\u0430\u0446\u0438\u044f\"\r\n          ]\r\n        }\r\n      },\r\n\r\n      messages: {\r\n        success: \"\u0412\u0430\u0448\u0430 \u0437\u0430\u044f\u0432\u043a\u0430 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0430. \u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u0438\u043c \u0437\u0430 \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0435.\",\r\n        genericError: \"\u041f\u0440\u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0435 \u0437\u0430\u044f\u0432\u043a\u0438 \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430 \u043e\u0448\u0438\u0431\u043a\u0430. \u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u044b\u0435 \u043f\u043e\u043b\u044f \u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u0435 \u043f\u043e\u043f\u044b\u0442\u043a\u0443.\",\r\n        captchaError: \"\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 reCAPTCHA \u043d\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0430 \u0438\u043b\u0438 \u043d\u0435\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u0430. \u041f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u0435 \u043f\u043e\u043f\u044b\u0442\u043a\u0443.\",\r\n        invalidFormat: \"\u041d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u0444\u0430\u0439\u043b\u0430. \u041c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u043a\u0440\u0435\u043f\u043b\u044f\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0444\u0430\u0439\u043b\u044b PDF, DOC \u0438\u043b\u0438 DOCX.\",\r\n        fileTooLarge: \"\u0420\u0430\u0437\u043c\u0435\u0440 \u0444\u0430\u0439\u043b\u0430 \u043f\u0440\u0435\u0432\u044b\u0448\u0430\u0435\u0442 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0435 10 \u041c\u0411.\",\r\n        requiredFields: \"\u0417\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u0432\u0441\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043f\u043e\u043b\u044f \u0438 \u043f\u0440\u0438\u043a\u0440\u0435\u043f\u0438\u0442\u0435 \u0441\u0432\u043e\u0451 \u0440\u0435\u0437\u044e\u043c\u0435.\",\r\n        captchaRequired: \"\u041f\u0440\u043e\u0439\u0434\u0438\u0442\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 reCAPTCHA \u043f\u0435\u0440\u0435\u0434 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u043e\u0439 \u0437\u0430\u044f\u0432\u043a\u0438.\",\r\n        sending: \"\u041e\u0442\u043f\u0440\u0430\u0432\u043a\u0430 \u0437\u0430\u044f\u0432\u043a\u0438...\",\r\n        submitLoading: \"\u041e\u0442\u043f\u0440\u0430\u0432\u043a\u0430...\"\r\n      }\r\n    }\r\n  };\r\n\r\n\r\n  \/*\r\n  |--------------------------------------------------------------------------\r\n  | Active language data\r\n  |--------------------------------------------------------------------------\r\n  *\/\r\n\r\n  const activeCareerTranslation =\r\n    careerTranslations[pageLang] ||\r\n    careerTranslations.it;\r\n\r\n  const careerTopics = activeCareerTranslation.topics;\r\n  const careerMessages = activeCareerTranslation.messages;\r\n\r\n\r\n  \/*\r\n  |--------------------------------------------------------------------------\r\n  | Career interactive panel\r\n  |--------------------------------------------------------------------------\r\n  *\/\r\n\r\n  const careerButtons = document.querySelectorAll(\"[data-career-topic]\");\r\n  const careerPanel = document.querySelector(\"#mpCareerPanel\");\r\n  const careerNumber = document.querySelector(\"#mpCareerNumber\");\r\n  const careerKicker = document.querySelector(\"#mpCareerKicker\");\r\n  const careerTitle = document.querySelector(\"#mpCareerTitle\");\r\n  const careerText = document.querySelector(\"#mpCareerText\");\r\n  const careerTags = document.querySelector(\"#mpCareerTags\");\r\n\r\n\r\n  function animateCareerPanel() {\r\n    if (!careerPanel) return;\r\n\r\n    careerPanel.animate([\r\n      {\r\n        opacity: 0.45,\r\n        transform: \"translateY(18px) scale(0.985)\"\r\n      },\r\n      {\r\n        opacity: 1,\r\n        transform: \"translateY(0) scale(1)\"\r\n      }\r\n    ], {\r\n      duration: 520,\r\n      easing: \"cubic-bezier(0.22, 1, 0.36, 1)\"\r\n    });\r\n  }\r\n\r\n\r\n  function setCareerTopic(topicKey) {\r\n    const topic = careerTopics[topicKey];\r\n\r\n    if (!topic) return;\r\n\r\n    if (careerNumber) {\r\n      careerNumber.textContent =\r\n        decodeHtmlEntities(topic.number);\r\n    }\r\n\r\n    if (careerKicker) {\r\n      careerKicker.textContent =\r\n        decodeHtmlEntities(topic.kicker);\r\n    }\r\n\r\n    if (careerTitle) {\r\n      careerTitle.innerHTML =\r\n        decodeHtmlEntities(topic.title);\r\n    }\r\n\r\n    if (careerText) {\r\n      careerText.innerHTML = \"\";\r\n\r\n      topic.paragraphs.forEach(function (paragraph) {\r\n        const p = document.createElement(\"p\");\r\n\r\n        p.textContent =\r\n          decodeHtmlEntities(paragraph);\r\n\r\n        careerText.appendChild(p);\r\n      });\r\n    }\r\n\r\n    if (careerTags) {\r\n      careerTags.innerHTML = \"\";\r\n\r\n      topic.tags.forEach(function (tag) {\r\n        const span =\r\n          document.createElement(\"span\");\r\n\r\n        span.textContent =\r\n          decodeHtmlEntities(tag);\r\n\r\n        careerTags.appendChild(span);\r\n      });\r\n    }\r\n\r\n    careerButtons.forEach(function (button) {\r\n      button.classList.toggle(\r\n        \"is-active\",\r\n        button.getAttribute(\"data-career-topic\") === topicKey\r\n      );\r\n    });\r\n\r\n    animateCareerPanel();\r\n  }\r\n\r\n\r\n  careerButtons.forEach(function (button) {\r\n    button.addEventListener(\"click\", function () {\r\n      setCareerTopic(\r\n        button.getAttribute(\"data-career-topic\")\r\n      );\r\n    });\r\n  });\r\n\r\n\r\n  \/*\r\n  |--------------------------------------------------------------------------\r\n  | Initial career topic\r\n  |--------------------------------------------------------------------------\r\n  *\/\r\n\r\n  setCareerTopic(\"curriculum\");\r\n\r\n\r\n  \/*\r\n  |--------------------------------------------------------------------------\r\n  | Career form UI\r\n  |--------------------------------------------------------------------------\r\n  *\/\r\n\r\n  const careerForm =\r\n    document.querySelector(\"#mpCareerForm\");\r\n\r\n  const careerStatus =\r\n    document.querySelector(\"#mpCareerStatus\");\r\n\r\n  const careerCv =\r\n    document.querySelector(\"#careerCv\");\r\n\r\n  const careerCvName =\r\n    document.querySelector(\"#careerCvName\");\r\n\r\n  const careerSubmit =\r\n    careerForm\r\n      ? careerForm.querySelector(\".mp-career-submit\")\r\n      : null;\r\n\r\n\r\n  function setCareerStatus(message, type) {\r\n    if (!careerStatus) return;\r\n\r\n    careerStatus.textContent =\r\n      decodeHtmlEntities(message);\r\n\r\n    careerStatus.className =\r\n      \"mp-career-status is-visible\";\r\n\r\n    if (type === \"success\") {\r\n      careerStatus.classList.add(\"is-success\");\r\n    }\r\n\r\n    if (type === \"error\") {\r\n      careerStatus.classList.add(\"is-error\");\r\n    }\r\n  }\r\n\r\n\r\n  function clearCareerStatus() {\r\n    if (!careerStatus) return;\r\n\r\n    careerStatus.textContent = \"\";\r\n    careerStatus.className = \"mp-career-status\";\r\n  }\r\n\r\n\r\n  function updateCareerLabels() {\r\n    if (!careerForm) return;\r\n\r\n    careerForm\r\n      .querySelectorAll(\".mp-career-field\")\r\n      .forEach(function (field) {\r\n\r\n        const input =\r\n          field.querySelector(\r\n            \"input, textarea, select\"\r\n          );\r\n\r\n        if (!input) return;\r\n\r\n        field.classList.toggle(\r\n          \"is-filled\",\r\n          input.value &&\r\n          input.value.trim() !== \"\"\r\n        );\r\n      });\r\n  }\r\n\r\n\r\n  \/*\r\n  |--------------------------------------------------------------------------\r\n  | Status from URL\r\n  |--------------------------------------------------------------------------\r\n  |\r\n  | I valori \"inviata\", \"errore\" e \"captcha\" NON vengono tradotti.\r\n  | Sono valori tecnici usati dal redirect PHP\/WordPress.\r\n  |--------------------------------------------------------------------------\r\n  *\/\r\n\r\n  function showStatusFromUrl() {\r\n    const params =\r\n      new URLSearchParams(window.location.search);\r\n\r\n    const candidaturaStatus =\r\n      params.get(\"candidatura\");\r\n\r\n    if (candidaturaStatus === \"inviata\") {\r\n      setCareerStatus(\r\n        careerMessages.success,\r\n        \"success\"\r\n      );\r\n    }\r\n\r\n    if (candidaturaStatus === \"errore\") {\r\n      setCareerStatus(\r\n        careerMessages.genericError,\r\n        \"error\"\r\n      );\r\n    }\r\n\r\n    if (candidaturaStatus === \"captcha\") {\r\n      setCareerStatus(\r\n        careerMessages.captchaError,\r\n        \"error\"\r\n      );\r\n    }\r\n  }\r\n\r\n\r\n  \/*\r\n  |--------------------------------------------------------------------------\r\n  | Career form\r\n  |--------------------------------------------------------------------------\r\n  *\/\r\n\r\n  if (careerForm) {\r\n\r\n    \/*\r\n    |--------------------------------------------------------------------------\r\n    | Inputs\r\n    |--------------------------------------------------------------------------\r\n    *\/\r\n\r\n    careerForm\r\n      .querySelectorAll(\"input, textarea\")\r\n      .forEach(function (input) {\r\n\r\n        if (\r\n          input.type !== \"file\" &&\r\n          input.type !== \"checkbox\"\r\n        ) {\r\n          input.setAttribute(\r\n            \"placeholder\",\r\n            \" \"\r\n          );\r\n        }\r\n\r\n        input.addEventListener(\r\n          \"input\",\r\n          updateCareerLabels\r\n        );\r\n\r\n        input.addEventListener(\r\n          \"blur\",\r\n          updateCareerLabels\r\n        );\r\n      });\r\n\r\n\r\n    \/*\r\n    |--------------------------------------------------------------------------\r\n    | Select\r\n    |--------------------------------------------------------------------------\r\n    *\/\r\n\r\n    careerForm\r\n      .querySelectorAll(\"select\")\r\n      .forEach(function (select) {\r\n\r\n        select.addEventListener(\r\n          \"change\",\r\n          updateCareerLabels\r\n        );\r\n\r\n        select.addEventListener(\r\n          \"blur\",\r\n          updateCareerLabels\r\n        );\r\n      });\r\n\r\n\r\n    \/*\r\n    |--------------------------------------------------------------------------\r\n    | Initial form state\r\n    |--------------------------------------------------------------------------\r\n    *\/\r\n\r\n    updateCareerLabels();\r\n    showStatusFromUrl();\r\n\r\n\r\n    \/*\r\n    |--------------------------------------------------------------------------\r\n    | CV upload\r\n    |--------------------------------------------------------------------------\r\n    *\/\r\n\r\n    if (careerCv && careerCvName) {\r\n      careerCv.addEventListener(\r\n        \"change\",\r\n        function () {\r\n\r\n          const file =\r\n            careerCv.files[0];\r\n\r\n          if (!file) {\r\n            careerCvName.textContent = \"\";\r\n            return;\r\n          }\r\n\r\n          const maxSize =\r\n            10 * 1024 * 1024;\r\n\r\n          const allowedExtensions = [\r\n            \"pdf\",\r\n            \"doc\",\r\n            \"docx\"\r\n          ];\r\n\r\n          const fileExtension =\r\n            file.name\r\n              .split(\".\")\r\n              .pop()\r\n              .toLowerCase();\r\n\r\n\r\n          \/*\r\n          |--------------------------------------------------------------------------\r\n          | File extension validation\r\n          |--------------------------------------------------------------------------\r\n          *\/\r\n\r\n          if (\r\n            !allowedExtensions.includes(\r\n              fileExtension\r\n            )\r\n          ) {\r\n            careerCv.value = \"\";\r\n            careerCvName.textContent = \"\";\r\n\r\n            setCareerStatus(\r\n              careerMessages.invalidFormat,\r\n              \"error\"\r\n            );\r\n\r\n            return;\r\n          }\r\n\r\n\r\n          \/*\r\n          |--------------------------------------------------------------------------\r\n          | File size validation\r\n          |--------------------------------------------------------------------------\r\n          *\/\r\n\r\n          if (file.size > maxSize) {\r\n            careerCv.value = \"\";\r\n            careerCvName.textContent = \"\";\r\n\r\n            setCareerStatus(\r\n              careerMessages.fileTooLarge,\r\n              \"error\"\r\n            );\r\n\r\n            return;\r\n          }\r\n\r\n\r\n          \/*\r\n          |--------------------------------------------------------------------------\r\n          | Valid file\r\n          |--------------------------------------------------------------------------\r\n          *\/\r\n\r\n          careerCvName.textContent =\r\n            file.name;\r\n\r\n          clearCareerStatus();\r\n        }\r\n      );\r\n    }\r\n\r\n\r\n    \/*\r\n    |--------------------------------------------------------------------------\r\n    | Form submit\r\n    |--------------------------------------------------------------------------\r\n    *\/\r\n\r\n    careerForm.addEventListener(\r\n      \"submit\",\r\n      function (event) {\r\n\r\n        clearCareerStatus();\r\n\r\n\r\n        \/*\r\n        |--------------------------------------------------------------------------\r\n        | HTML validation\r\n        |--------------------------------------------------------------------------\r\n        *\/\r\n\r\n        if (!careerForm.checkValidity()) {\r\n          event.preventDefault();\r\n\r\n          setCareerStatus(\r\n            careerMessages.requiredFields,\r\n            \"error\"\r\n          );\r\n\r\n          careerForm.reportValidity();\r\n\r\n          return;\r\n        }\r\n\r\n\r\n        \/*\r\n        |--------------------------------------------------------------------------\r\n        | reCAPTCHA validation\r\n        |--------------------------------------------------------------------------\r\n        *\/\r\n\r\n        if (\r\n          typeof grecaptcha !== \"undefined\" &&\r\n          grecaptcha.getResponse().length === 0\r\n        ) {\r\n          event.preventDefault();\r\n\r\n          setCareerStatus(\r\n            careerMessages.captchaRequired,\r\n            \"error\"\r\n          );\r\n\r\n          return;\r\n        }\r\n\r\n\r\n        \/*\r\n        |--------------------------------------------------------------------------\r\n        | Loading state\r\n        |--------------------------------------------------------------------------\r\n        *\/\r\n\r\n        if (careerSubmit) {\r\n          careerSubmit.disabled = true;\r\n\r\n          careerSubmit.classList.add(\r\n            \"is-loading\"\r\n          );\r\n\r\n          const submitText =\r\n            careerSubmit.querySelector(\"span\");\r\n\r\n          if (submitText) {\r\n            submitText.textContent =\r\n              careerMessages.submitLoading;\r\n          }\r\n        }\r\n\r\n\r\n        \/*\r\n        |--------------------------------------------------------------------------\r\n        | Sending status\r\n        |--------------------------------------------------------------------------\r\n        *\/\r\n\r\n        setCareerStatus(\r\n          careerMessages.sending,\r\n          \"success\"\r\n        );\r\n\r\n\r\n        \/*\r\n        Non usiamo event.preventDefault().\r\n        Il form deve essere inviato davvero a \/wp-admin\/admin-post.php\r\n        per attivare lo snippet PHP di WPCode.\r\n        *\/\r\n      }\r\n    );\r\n  }\r\n\r\n\r\n  \/*\r\n  |--------------------------------------------------------------------------\r\n  | Background canvas\r\n  |--------------------------------------------------------------------------\r\n  *\/\r\n\r\n  const canvas =\r\n    document.querySelector(\"#mpCareerCanvas\");\r\n\r\n  const section =\r\n    document.querySelector(\".mp-career-hub\");\r\n\r\n  const ctx =\r\n    canvas\r\n      ? canvas.getContext(\"2d\")\r\n      : null;\r\n\r\n  let width = 0;\r\n  let height = 0;\r\n\r\n  let dpr =\r\n    Math.min(\r\n      window.devicePixelRatio || 1,\r\n      2\r\n    );\r\n\r\n  let particles = [];\r\n  let lines = [];\r\n\r\n\r\n  \/*\r\n  |--------------------------------------------------------------------------\r\n  | Resize canvas\r\n  |--------------------------------------------------------------------------\r\n  *\/\r\n\r\n  function resizeCanvas() {\r\n    if (\r\n      !canvas ||\r\n      !ctx ||\r\n      !section\r\n    ) {\r\n      return;\r\n    }\r\n\r\n    const rect =\r\n      section.getBoundingClientRect();\r\n\r\n    width =\r\n      Math.max(\r\n        1,\r\n        rect.width\r\n      );\r\n\r\n    height =\r\n      Math.max(\r\n        1,\r\n        rect.height\r\n      );\r\n\r\n    dpr =\r\n      Math.min(\r\n        window.devicePixelRatio || 1,\r\n        2\r\n      );\r\n\r\n    canvas.width =\r\n      Math.floor(\r\n        width * dpr\r\n      );\r\n\r\n    canvas.height =\r\n      Math.floor(\r\n        height * dpr\r\n      );\r\n\r\n    canvas.style.width =\r\n      width + \"px\";\r\n\r\n    canvas.style.height =\r\n      height + \"px\";\r\n\r\n    ctx.setTransform(\r\n      dpr,\r\n      0,\r\n      0,\r\n      dpr,\r\n      0,\r\n      0\r\n    );\r\n\r\n    particles = [];\r\n    lines = [];\r\n\r\n    const amount =\r\n      Math.min(\r\n        150,\r\n        Math.max(\r\n          70,\r\n          Math.floor(width \/ 12)\r\n        )\r\n      );\r\n\r\n\r\n    \/*\r\n    |--------------------------------------------------------------------------\r\n    | Particles\r\n    |--------------------------------------------------------------------------\r\n    *\/\r\n\r\n    for (\r\n      let i = 0;\r\n      i < amount;\r\n      i += 1\r\n    ) {\r\n      particles.push({\r\n        x: Math.random() * width,\r\n        y: Math.random() * height,\r\n        vx: -0.18 + Math.random() * 0.36,\r\n        vy: -0.14 + Math.random() * 0.28,\r\n        r: 0.6 + Math.random() * 2.1,\r\n        alpha: 0.08 + Math.random() * 0.24,\r\n        phase: Math.random() * Math.PI * 2\r\n      });\r\n    }\r\n\r\n\r\n    \/*\r\n    |--------------------------------------------------------------------------\r\n    | Animated network packets\r\n    |--------------------------------------------------------------------------\r\n    *\/\r\n\r\n    for (\r\n      let i = 0;\r\n      i < 8;\r\n      i += 1\r\n    ) {\r\n      lines.push({\r\n        t: Math.random(),\r\n        speed:\r\n          0.0015 +\r\n          Math.random() * 0.0025,\r\n        from: i % 5,\r\n        to: (i + 2) % 5\r\n      });\r\n    }\r\n  }\r\n\r\n\r\n  \/*\r\n  |--------------------------------------------------------------------------\r\n  | Network points\r\n  |--------------------------------------------------------------------------\r\n  *\/\r\n\r\n  function getNetworkPoints() {\r\n    return [\r\n      {\r\n        x: width * 0.20,\r\n        y: height * 0.42\r\n      },\r\n      {\r\n        x: width * 0.38,\r\n        y: height * 0.26\r\n      },\r\n      {\r\n        x: width * 0.62,\r\n        y: height * 0.32\r\n      },\r\n      {\r\n        x: width * 0.78,\r\n        y: height * 0.58\r\n      },\r\n      {\r\n        x: width * 0.48,\r\n        y: height * 0.74\r\n      }\r\n    ];\r\n  }\r\n\r\n\r\n  \/*\r\n  |--------------------------------------------------------------------------\r\n  | Draw network line\r\n  |--------------------------------------------------------------------------\r\n  *\/\r\n\r\n  function drawNetworkLine(a, b, alpha) {\r\n    const gradient =\r\n      ctx.createLinearGradient(\r\n        a.x,\r\n        a.y,\r\n        b.x,\r\n        b.y\r\n      );\r\n\r\n    gradient.addColorStop(\r\n      0,\r\n      \"rgba(255,255,255,0)\"\r\n    );\r\n\r\n    gradient.addColorStop(\r\n      0.5,\r\n      \"rgba(255,255,255,\" +\r\n      alpha +\r\n      \")\"\r\n    );\r\n\r\n    gradient.addColorStop(\r\n      1,\r\n      \"rgba(255,255,255,0)\"\r\n    );\r\n\r\n    ctx.beginPath();\r\n\r\n    ctx.moveTo(\r\n      a.x,\r\n      a.y\r\n    );\r\n\r\n    ctx.lineTo(\r\n      b.x,\r\n      b.y\r\n    );\r\n\r\n    ctx.strokeStyle =\r\n      gradient;\r\n\r\n    ctx.lineWidth = 1;\r\n\r\n    ctx.stroke();\r\n  }\r\n\r\n\r\n  \/*\r\n  |--------------------------------------------------------------------------\r\n  | Draw canvas\r\n  |--------------------------------------------------------------------------\r\n  *\/\r\n\r\n  function drawCanvas(time) {\r\n    if (!ctx || !canvas) return;\r\n\r\n    ctx.clearRect(\r\n      0,\r\n      0,\r\n      width,\r\n      height\r\n    );\r\n\r\n\r\n    \/*\r\n    |--------------------------------------------------------------------------\r\n    | Background glow\r\n    |--------------------------------------------------------------------------\r\n    *\/\r\n\r\n    const centerX =\r\n      width * 0.5;\r\n\r\n    const centerY =\r\n      height * 0.52;\r\n\r\n    const glow =\r\n      ctx.createRadialGradient(\r\n        centerX,\r\n        centerY,\r\n        0,\r\n        centerX,\r\n        centerY,\r\n        Math.min(\r\n          width,\r\n          height\r\n        ) * 0.58\r\n      );\r\n\r\n    glow.addColorStop(\r\n      0,\r\n      \"rgba(255,255,255,0.11)\"\r\n    );\r\n\r\n    glow.addColorStop(\r\n      0.38,\r\n      \"rgba(255,255,255,0.04)\"\r\n    );\r\n\r\n    glow.addColorStop(\r\n      1,\r\n      \"rgba(255,255,255,0)\"\r\n    );\r\n\r\n    ctx.fillStyle = glow;\r\n\r\n    ctx.fillRect(\r\n      0,\r\n      0,\r\n      width,\r\n      height\r\n    );\r\n\r\n\r\n    \/*\r\n    |--------------------------------------------------------------------------\r\n    | Draw particles\r\n    |--------------------------------------------------------------------------\r\n    *\/\r\n\r\n    particles.forEach(function (p) {\r\n      p.x += p.vx;\r\n      p.y += p.vy;\r\n\r\n      p.x +=\r\n        Math.sin(\r\n          time * 0.0006 +\r\n          p.phase\r\n        ) * 0.08;\r\n\r\n      p.y +=\r\n        Math.cos(\r\n          time * 0.0005 +\r\n          p.phase\r\n        ) * 0.08;\r\n\r\n      if (p.x < -20) {\r\n        p.x = width + 20;\r\n      }\r\n\r\n      if (p.x > width + 20) {\r\n        p.x = -20;\r\n      }\r\n\r\n      if (p.y < -20) {\r\n        p.y = height + 20;\r\n      }\r\n\r\n      if (p.y > height + 20) {\r\n        p.y = -20;\r\n      }\r\n\r\n      ctx.beginPath();\r\n\r\n      ctx.arc(\r\n        p.x,\r\n        p.y,\r\n        p.r,\r\n        0,\r\n        Math.PI * 2\r\n      );\r\n\r\n      ctx.fillStyle =\r\n        \"rgba(255,255,255,\" +\r\n        p.alpha +\r\n        \")\";\r\n\r\n      ctx.fill();\r\n    });\r\n\r\n\r\n    \/*\r\n    |--------------------------------------------------------------------------\r\n    | Draw network\r\n    |--------------------------------------------------------------------------\r\n    *\/\r\n\r\n    const points =\r\n      getNetworkPoints();\r\n\r\n    for (\r\n      let i = 0;\r\n      i < points.length;\r\n      i += 1\r\n    ) {\r\n      drawNetworkLine(\r\n        points[i],\r\n        points[\r\n          (i + 1) %\r\n          points.length\r\n        ],\r\n        0.11\r\n      );\r\n\r\n      drawNetworkLine(\r\n        points[i],\r\n        points[\r\n          (i + 2) %\r\n          points.length\r\n        ],\r\n        0.055\r\n      );\r\n    }\r\n\r\n\r\n    \/*\r\n    |--------------------------------------------------------------------------\r\n    | Draw moving packets\r\n    |--------------------------------------------------------------------------\r\n    *\/\r\n\r\n    lines.forEach(function (line) {\r\n      const from =\r\n        points[line.from];\r\n\r\n      const to =\r\n        points[line.to];\r\n\r\n      line.t += line.speed;\r\n\r\n      if (line.t > 1) {\r\n        line.t = 0;\r\n\r\n        line.from =\r\n          Math.floor(\r\n            Math.random() *\r\n            points.length\r\n          );\r\n\r\n        line.to =\r\n          Math.floor(\r\n            Math.random() *\r\n            points.length\r\n          );\r\n      }\r\n\r\n      const x =\r\n        from.x +\r\n        (to.x - from.x) *\r\n        line.t;\r\n\r\n      const y =\r\n        from.y +\r\n        (to.y - from.y) *\r\n        line.t;\r\n\r\n      ctx.beginPath();\r\n\r\n      ctx.arc(\r\n        x,\r\n        y,\r\n        3.1,\r\n        0,\r\n        Math.PI * 2\r\n      );\r\n\r\n      ctx.fillStyle =\r\n        \"rgba(255,255,255,0.82)\";\r\n\r\n      ctx.shadowColor =\r\n        \"rgba(255,255,255,0.82)\";\r\n\r\n      ctx.shadowBlur = 16;\r\n\r\n      ctx.fill();\r\n\r\n      ctx.shadowBlur = 0;\r\n    });\r\n\r\n    requestAnimationFrame(\r\n      drawCanvas\r\n    );\r\n  }\r\n\r\n\r\n  \/*\r\n  |--------------------------------------------------------------------------\r\n  | Start canvas\r\n  |--------------------------------------------------------------------------\r\n  *\/\r\n\r\n  if (ctx) {\r\n    resizeCanvas();\r\n\r\n    window.addEventListener(\r\n      \"resize\",\r\n      resizeCanvas\r\n    );\r\n\r\n    requestAnimationFrame(\r\n      drawCanvas\r\n    );\r\n  }\r\n\r\n});<\/script><\/div>\n\t\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>Careers Workwith us Access the Millepiani Careers area, complete your online profile and apply to become part of our group. Submit application Application area Join our group Millepiani invites candidates to complete their online profile to become part of the group. Selection is open to all candidates according to equal opportunity principles. JOB Applicationarea Online [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-2501","page","type-page","status-publish","hentry"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"Join the Millepiani Group: complete your online profile, attach your CV, and submit your application to work in the elevator industry.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/millepiani.com\/en\/work-with-us\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"millepiani.com -\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Work with us | Millepiani Careers\" \/>\n\t\t<meta property=\"og:description\" content=\"Join the Millepiani Group: complete your online profile, attach your CV, and submit your application to work in the elevator industry.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/millepiani.com\/en\/work-with-us\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-05-26T13:29:36+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-09-14T18:27:18+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Work with us | Millepiani Careers\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Join the Millepiani Group: complete your online profile, attach your CV, and submit your application to work in the elevator industry.\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/millepiani.com\\\/en\\\/work-with-us\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/millepiani.com\\\/en\\\/#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/millepiani.com\\\/en\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/millepiani.com\\\/en\\\/work-with-us\\\/#listItem\",\"name\":\"WORK WITH US\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/millepiani.com\\\/en\\\/work-with-us\\\/#listItem\",\"position\":2,\"name\":\"WORK WITH US\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/millepiani.com\\\/en\\\/#listItem\",\"name\":\"Home\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/millepiani.com\\\/en\\\/#organization\",\"name\":\"millepiani.com\",\"url\":\"https:\\\/\\\/millepiani.com\\\/en\\\/\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/millepiani.com\\\/en\\\/work-with-us\\\/#webpage\",\"url\":\"https:\\\/\\\/millepiani.com\\\/en\\\/work-with-us\\\/\",\"name\":\"Work with us | Millepiani Careers\",\"description\":\"Join the Millepiani Group: complete your online profile, attach your CV, and submit your application to work in the elevator industry.\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/millepiani.com\\\/en\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/millepiani.com\\\/en\\\/work-with-us\\\/#breadcrumblist\"},\"datePublished\":\"2026-05-26T13:29:36+00:00\",\"dateModified\":\"2026-09-14T18:27:18+00:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/millepiani.com\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/millepiani.com\\\/en\\\/\",\"name\":\"millepiani.com\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/millepiani.com\\\/en\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Work with us | Millepiani Careers","description":"Join the Millepiani Group: complete your online profile, attach your CV, and submit your application to work in the elevator industry.","canonical_url":"https:\/\/millepiani.com\/en\/work-with-us\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BreadcrumbList","@id":"https:\/\/millepiani.com\/en\/work-with-us\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/millepiani.com\/en\/#listItem","position":1,"name":"Home","item":"https:\/\/millepiani.com\/en\/","nextItem":{"@type":"ListItem","@id":"https:\/\/millepiani.com\/en\/work-with-us\/#listItem","name":"WORK WITH US"}},{"@type":"ListItem","@id":"https:\/\/millepiani.com\/en\/work-with-us\/#listItem","position":2,"name":"WORK WITH US","previousItem":{"@type":"ListItem","@id":"https:\/\/millepiani.com\/en\/#listItem","name":"Home"}}]},{"@type":"Organization","@id":"https:\/\/millepiani.com\/en\/#organization","name":"millepiani.com","url":"https:\/\/millepiani.com\/en\/"},{"@type":"WebPage","@id":"https:\/\/millepiani.com\/en\/work-with-us\/#webpage","url":"https:\/\/millepiani.com\/en\/work-with-us\/","name":"Work with us | Millepiani Careers","description":"Join the Millepiani Group: complete your online profile, attach your CV, and submit your application to work in the elevator industry.","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/millepiani.com\/en\/#website"},"breadcrumb":{"@id":"https:\/\/millepiani.com\/en\/work-with-us\/#breadcrumblist"},"datePublished":"2026-05-26T13:29:36+00:00","dateModified":"2026-09-14T18:27:18+00:00"},{"@type":"WebSite","@id":"https:\/\/millepiani.com\/en\/#website","url":"https:\/\/millepiani.com\/en\/","name":"millepiani.com","inLanguage":"en-US","publisher":{"@id":"https:\/\/millepiani.com\/en\/#organization"}}]},"og:locale":"en_US","og:site_name":"millepiani.com -","og:type":"article","og:title":"Work with us | Millepiani Careers","og:description":"Join the Millepiani Group: complete your online profile, attach your CV, and submit your application to work in the elevator industry.","og:url":"https:\/\/millepiani.com\/en\/work-with-us\/","article:published_time":"2026-05-26T13:29:36+00:00","article:modified_time":"2026-09-14T18:27:18+00:00","twitter:card":"summary_large_image","twitter:title":"Work with us | Millepiani Careers","twitter:description":"Join the Millepiani Group: complete your online profile, attach your CV, and submit your application to work in the elevator industry."},"aioseo_meta_data":{"post_id":"2501","title":"Work with us | Millepiani Careers","description":"Join the Millepiani Group: complete your online profile, attach your CV, and submit your application to work in the elevator industry.","keywords":null,"keyphrases":{"focus":{"keyphrase":"lavora con noi Millepiani","score":0,"analysis":[]},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_custom_url":null,"og_image_custom_fields":null,"og_image_url":null,"og_image_width":null,"og_image_height":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_image_url":null,"twitter_title":null,"twitter_description":null,"schema_type":"default","schema_type_options":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"WebPage","isEnabled":true},"graphs":[]},"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","local_seo":null,"limit_modified_date":false,"ai":{"faqs":[],"keyPoints":[],"schemas":[],"titles":[],"descriptions":[],"socialPosts":{"email":{"subject":"","preview":"","content":""},"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"breadcrumb_settings":null,"seo_analyzer_scan_date":null,"created":"2026-09-14 18:27:18","updated":"2026-09-14 18:34:32","focus_keyword":"lavora con noi Millepiani","additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/millepiani.com\/en\/\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tWORK WITH US\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/millepiani.com\/en\/"},{"label":"WORK WITH US","link":"https:\/\/millepiani.com\/en\/work-with-us\/"}],"_hostinger_reach_plugin_has_subscription_block":false,"_hostinger_reach_plugin_is_elementor":false,"_links":{"self":[{"href":"https:\/\/millepiani.com\/en\/wp-json\/wp\/v2\/pages\/2501","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/millepiani.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/millepiani.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/millepiani.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/millepiani.com\/en\/wp-json\/wp\/v2\/comments?post=2501"}],"version-history":[{"count":1,"href":"https:\/\/millepiani.com\/en\/wp-json\/wp\/v2\/pages\/2501\/revisions"}],"predecessor-version":[{"id":2502,"href":"https:\/\/millepiani.com\/en\/wp-json\/wp\/v2\/pages\/2501\/revisions\/2502"}],"wp:attachment":[{"href":"https:\/\/millepiani.com\/en\/wp-json\/wp\/v2\/media?parent=2501"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}