{"id":117306,"date":"2026-06-08T17:26:50","date_gmt":"2026-06-08T17:26:50","guid":{"rendered":"https:\/\/ohmycad.com\/?page_id=117306"},"modified":"2026-07-12T12:28:29","modified_gmt":"2026-07-12T12:28:29","slug":"preisrechner","status":"publish","type":"page","link":"https:\/\/ohmycad.com\/de\/simulateur-de-prix\/","title":{"rendered":"Preisrechner"},"content":{"rendered":"<main id='bde-main'><section class=\"bde-section-117306-100 bde-section\">\n  \n  \n\t\n\n\n\n<div class=\"section-container\"><div class=\"bde-code-block-117306-101 bde-code-block\">\n\n  <!-- ============================================================\n     Ohmycad \u2014 Simulateur v3 \u00ab Configurateur progressif \u00bb\n     (maquette projet Claude Design 816d39e2, port\u00e9e vanilla)\n     Page 117306 \u00b7 CodeBlock 101 \u00b7 scope .omcsim\n     Tracking : pages virtuelles HubSpot (_hsq) par \u00e9tape\n     + dataLayer (sim_*) + soumission HubSpot Forms API (r\u00e9cap complet).\n     ============================================================ -->\n<div class=\"omcsim\" id=\"omcsim\">\n  <div class=\"omc-sim-hero\" style=\"display:flex;flex-direction:column;align-items:center;text-align:center;margin-top:46px;\"><h1 style=\"font-size:clamp(32px,6.2vw,52px);font-weight:800;line-height:1.06;letter-spacing:-.03em;color:#fff;margin:0;max-width:780px;\">Combien co\u00fbte vraiment votre licence&nbsp;?<\/h1><p style=\"font-size:clamp(16px,2.2vw,19px);line-height:1.6;color:rgba(255,255,255,.88);margin:18px 0 0;max-width:520px;\">Une question \u00e0 la fois. Commencez par choisir votre logiciel.<\/p><\/div>\n  <img src=\"\/wp-content\/uploads\/2026\/07\/cluster-05.webp\" alt=\"\" loading=\"lazy\" decoding=\"async\" class=\"os-bgshapes\">\n  <img src=\"\/wp-content\/uploads\/2026\/07\/omc-obj-reacteur.webp\" alt=\"R\u00e9acteur mod\u00e9lis\u00e9 en 3D\" loading=\"lazy\" decoding=\"async\" class=\"os-bgobj\">\n  <div class=\"os-wrap\">\n    <div id=\"os-app\"><\/div>\n    <div class=\"os-foot\">\n      <span class=\"os-legal\">Prix officiels Dassault Syst\u00e8mes. Vos donn\u00e9es restent confidentielles (RGPD).<\/span>\n      <button type=\"button\" class=\"os-chatlink\" data-act=\"chat\">\n        <svg viewBox=\"0 0 24 24\" width=\"18\" height=\"18\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"flex:none;\"><path d=\"M21 12a8 8 0 0 1-8 8H8l-4 3v-5.5A8 8 0 0 1 13 4a8 8 0 0 1 8 8z\"><\/path><path d=\"M9 11h.01M13 11h.01M17 11h.01\"><\/path><\/svg>\n        Vous pr\u00e9f\u00e9rez \u00e9changer directement avec nous ?\n      <\/button>\n    <\/div>\n  <\/div>\n<\/div>\n\n<style>\n\/* trio centrage : le CodeBlock occupe toute la largeur *\/\n.bde-section-117306-100>.section-container{max-width:none!important;padding:0!important}\n.bde-code-block-117306-101{width:100%!important;max-width:none!important;align-self:stretch!important;padding:0!important;margin:0!important}\n.omcsim{width:100%!important;margin:0!important}\n.omcsim{position:relative;min-height:100vh;background:#06283D;overflow:hidden;padding-bottom:40px;font-family:Inter,'Segoe UI',Arial,sans-serif;-webkit-font-smoothing:antialiased;color:#06283D}\n.omcsim *{box-sizing:border-box}\n.omcsim input[type=range]{accent-color:#008CDF}\n.omcsim input::placeholder{color:#8A8F98}\n.omcsim button{font-family:inherit}\n@keyframes omcRise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}\n.os-bgshapes{position:absolute;left:0;right:0;top:0;width:100%;height:58vh;object-fit:cover;opacity:.13;filter:brightness(1.75) grayscale(1);pointer-events:none}\n.os-bgobj{position:fixed;right:-190px;bottom:-140px;width:700px;height:auto;max-width:50vw;opacity:.2;filter:brightness(1.75) grayscale(1) drop-shadow(0 0 1px rgba(127,208,255,.9));pointer-events:none}\n.os-wrap{position:relative;max-width:896px;margin:0 auto;padding:26px 28px 40px}\n.os-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:30px}\n.os-legal{flex:1 1 320px;font-size:13px;color:rgba(255,255,255,.72);line-height:1.55;max-width:560px}\n.os-chatlink{display:flex;align-items:center;gap:9px;background:transparent;border:none;padding:0;font-size:14px;font-weight:700;color:#fff;cursor:pointer;text-align:left}\n.os-chatlink:hover{color:#7fd0ff}\n\/* boutons r\u00e9currents *\/\n.os-cta{display:flex;align-items:center;gap:9px;background:#fff;color:#0070C0;border:none;border-radius:9px;height:48px;padding:0 26px;font-size:15px;font-weight:700;cursor:pointer;transition:background .15s ease}\n.os-cta:hover{background:rgba(255,255,255,.88)}\n.os-blue{display:flex;align-items:center;justify-content:center;gap:9px;background:#008CDF;color:#fff;border:none;border-radius:9px;height:54px;padding:0 28px;font-size:16px;font-weight:700;cursor:pointer;transition:background .15s ease;text-decoration:none}\n.os-blue:hover{background:#0070C0}\n.os-bluesm{background:#008CDF;color:#fff;border:none;border-radius:9px;height:50px;padding:0 24px;font-size:15px;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .15s ease}\n.os-bluesm:hover{background:#0070C0}\n.os-out{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:#fff;color:#008CDF;border:1px solid #008CDF;border-radius:9px;font-size:14.5px;font-weight:700;cursor:pointer;text-decoration:none}\n.os-out:hover{background:rgba(0,140,223,.06)}\n.os-card-opt{display:flex;align-items:center;gap:15px;width:100%;background:transparent;border:1px solid rgba(255,255,255,.17);border-radius:10px;padding:13px 16px;cursor:pointer;text-align:left;transition:border-color .16s ease,background .16s ease}\n.os-card-opt:hover{border-color:#7fd0ff;background:rgba(127,208,255,.08)}\n.omcsim a[data-act=\"outbound\"]{transition:border-color .16s ease,background .16s ease}\n.omcsim a[data-act=\"outbound\"]:hover{border-color:#7fd0ff!important;background:rgba(127,208,255,.1)}\n.os-prodbtn{display:flex;align-items:center;justify-content:center;padding:52px 30px;background:#fff;border:1px solid #E3E6EB;border-radius:10px;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}\n.os-prodbtn:hover{border-color:#008CDF;box-shadow:0 8px 24px rgba(6,40,61,.10);transform:translateY(-3px)}\n.os-ghostw{display:flex;align-items:center;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.5);border-radius:9px;height:48px;padding:0 22px;font-size:14.5px;font-weight:700;cursor:pointer;transition:border-color .15s ease,background .15s ease}\n.os-ghostw:hover{border-color:#fff;background:rgba(255,255,255,.12)}\n.os-back{align-self:flex-start;display:flex;align-items:center;gap:8px;background:transparent;border:none;padding:4px 0;margin-bottom:4px;font-size:14px;font-weight:600;color:rgba(255,255,255,.85);cursor:pointer;transition:color .15s ease}\n.os-back:hover{color:#fff}\n.os-restart{margin-left:auto;display:flex;align-items:center;gap:7px;background:transparent;border:1px solid rgba(255,255,255,.42);border-radius:9px;height:34px;padding:0 13px;font-size:12.5px;font-weight:600;color:rgba(255,255,255,.9);cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease}\n.os-restart:hover{background:rgba(255,255,255,.12);border-color:#fff;color:#fff}\n.omcsim .os-field{width:100%;height:46px;padding:0 14px;background:#fff;border:1px solid #E3E6EB;border-radius:9px;font-size:14.5px;color:#06283D;outline:none;font-family:inherit}\n.omcsim .os-field:focus{border-color:#008CDF;box-shadow:0 0 0 3px rgba(0,140,223,.16)}\n.os-white-card{display:flex;flex-direction:column;gap:20px;background:#fff;border-radius:10px;padding:clamp(20px,3.4vw,32px) clamp(18px,3.6vw,34px) clamp(24px,3.6vw,34px);box-shadow:0 18px 40px rgba(6,40,61,.18);animation:omcRise .36s ease both}\n<\/style>\n\n<script>\n(function () {\n  \"use strict\";\n  var app = document.getElementById('os-app');\n  if (!app || app.dataset.init) return;\n  app.dataset.init = '1';\n  var U = '\/wp-content\/uploads\/2026\/07\/';\n\n  \/* ---------- donn\u00e9es ---------- *\/\n  var NEED_DEFS = [\n    ['cad3d', 'Conception 3D', 'Pi\u00e8ces, assemblages, plans'],\n    ['rendering', 'Rendu photor\u00e9aliste', 'Visualisation, animations'],\n    ['simlin', 'Simulation lin\u00e9aire', 'FEA, pr\u00e9dimensionnement'],\n    ['simadv', 'Simulation avanc\u00e9e', 'CFD, non lin\u00e9aire, EM'],\n    ['multiuser', 'Travail collaboratif', 'Multiposte, partage'],\n    ['pdm', 'Gestion de donn\u00e9es', 'PDM, versions, workflow'],\n    ['bom', 'Nomenclature \/ BOM', 'Costing, ERP'],\n    ['cam', 'Fabrication CAM \/ FAO', 'Usinage, trajectoires'],\n    ['electrical', '\u00c9lectrique \/ routing', 'Sch\u00e9matique, harnais'],\n    ['sheet', 'T\u00f4lerie \/ m\u00e9cano-soud\u00e9', 'Pliage, soudures'],\n    ['surface', 'Surfacique avanc\u00e9', 'Formes complexes'],\n    ['other', 'Autre besoin', '\u00c0 pr\u00e9ciser avec un expert']\n  ];\n  var DETAIL_DEFS = {\n    simlin: ['Simulation structurelle', 'Simulation fluidique', 'Simulation structurelle avanc\u00e9e', 'Autre \/ je ne sais pas'],\n    simadv: ['Simulation structurelle', 'Simulation fluidique', 'Simulation structurelle avanc\u00e9e', 'Autre \/ je ne sais pas'],\n    electrical: ['Sch\u00e9matique', 'Routing 3D', 'Harnais', 'Je ne sais pas'],\n    cam: ['Fraisage 2.5-3 axes', 'Tournage', 'Multi-axes', 'Je ne sais pas']\n  };\n  var DETAIL_LABELS = { simlin: 'Simulation lin\u00e9aire', simadv: 'Simulation avanc\u00e9e', electrical: '\u00c9lectrique', cam: 'Fabrication CAM \/ FAO' };\n  var CATIA_ROWS = [\n    ['Annotations & tol\u00e9rancement 3D g\u00e9n\u00e9ratif', 'master'],\n    ['Simulation statique (comportement structurel)', 'master'],\n    [\"Conception centr\u00e9e sur l'humain\", 'master'],\n    ['M\u00e9canismes complexes (cin\u00e9matique)', 'elite'],\n    ['Surfaces fonctionnelles g\u00e9n\u00e9ratives', 'elite'],\n    ['Forme libre & surfaces complexes', 'elite'],\n    ['R\u00e9tro-ing\u00e9nierie (nuages de points)', 'elite'],\n    ['R\u00e9paration & nettoyage de mod\u00e8les CAO', 'elite']\n  ];\n  var CATIA_BASE = ['Conception pi\u00e8ces & assemblages m\u00e9caniques avanc\u00e9s', 'Formes g\u00e9n\u00e9ratives filaires & surfaciques', 'Revue de maquette 3D & t\u00f4lerie', 'IA LEO, AURA et MARIE', 'PDM Standard 3DEXPERIENCE'];\n  \/* Prix annuels FD03 (arbitrage Victor 30\/07) *\/\n  var CATIA_EDITIONS = [\n    { key: 'essential', name: 'CATIA Essential', logo: U + 'catia-essential.webp', annual: 6640, desc: 'Conception m\u00e9canique avanc\u00e9e, formes g\u00e9n\u00e9ratives filaires & surfaciques, revue de maquette 3D & t\u00f4lerie.' },\n    { key: 'master', name: 'CATIA Master', logo: U + 'catia-master.webp', annual: 7850, desc: 'Essential + tol\u00e9rancement 3D g\u00e9n\u00e9ratif, simulation statique, conception centr\u00e9e sur l\\'humain.' },\n    { key: 'elite', name: 'CATIA Elite', logo: U + 'catia-elite.webp', annual: 16460, desc: 'Master + cin\u00e9matique, surfaces fonctionnelles g\u00e9n\u00e9ratives, forme libre, r\u00e9tro-ing\u00e9nierie, r\u00e9paration CAO.' }\n  ];\n  var CATIA_EQUIP_LABELS = { v5: 'CATIA V5 \u00b7 perp\u00e9tuelle sans maintenance', v5m: 'CATIA V5 \u00b7 sous maintenance', x3d: 'CATIA sur 3DEXPERIENCE', unknown: '\u00c0 pr\u00e9ciser avec un expert' };\n  var ALL_EDITIONS = [\n    { name: 'Design Standard', monthly: 290, annual: 3480, desc: 'Mod\u00e9lisation 3D, mises en plan, t\u00f4lerie, SimulationXpress.' },\n    { name: 'Design Professional', monthly: 346, annual: 4152, desc: 'Standard + Toolbox, PDM, rendu PhotoView 360, Costing.' },\n    { name: 'Design Premium', monthly: 458, annual: 5496, desc: 'Professional + simulation avanc\u00e9e, Motion, routing.' }\n  ];\n  var PHASES = { product: 1, profil: 1, team: 2, step2: 2, licence: 2, satisfaction: 2, company: 2, needs: 3, needsDetail: 3, offers: 4, maint: 4, startupOk: 4, sent: 4, probe: 2, catiaUsage: 2, catiaEquip: 2, catiaRoles: 3, catiaRecap: 4 };\n  var FORM_PHASE = { newclient: 4, rappel: 4, trial: 4, startup: 4, startupCall: 4, mini: 4, maint: 4, bilan: 4, custom: 4, catia: 4, discover: 4 };\n  var COUNTRIES = [\n    { code: 'FR', name: 'France', dial: '+33' },\n    { code: 'BE', name: 'Belgique', dial: '+32' },\n    { code: 'CH', name: 'Suisse', dial: '+41' },\n    { code: 'LU', name: 'Luxembourg', dial: '+352' },\n    { code: 'MC', name: 'Monaco', dial: '+377' },\n    { code: 'CA', name: 'Canada', dial: '+1' },\n    { code: 'MA', name: 'Maroc', dial: '+212' },\n    { code: 'TN', name: 'Tunisie', dial: '+216' },\n    { code: 'DZ', name: 'Alg\u00e9rie', dial: '+213' },\n    { code: 'DE', name: 'Allemagne', dial: '+49' },\n    { code: 'ES', name: 'Espagne', dial: '+34' },\n    { code: 'IT', name: 'Italie', dial: '+39' },\n    { code: 'GB', name: 'Royaume-Uni', dial: '+44' },\n    { code: 'NL', name: 'Pays-Bas', dial: '+31' },\n    { code: 'PT', name: 'Portugal', dial: '+351' },\n    { code: 'US', name: '\u00c9tats-Unis', dial: '+1' },\n    { code: 'other', name: 'Autre pays', dial: '+' }\n  ];\n  var ROLE_LABELS = { founder: 'Fondateur \/ dirigeant', rnd: 'Responsable BE', designer: 'Designer \/ concepteur', it: 'IT \/ achats', na: 'Non pr\u00e9cis\u00e9' };\n  var CAD_LABELS = { solidworks: 'SOLIDWORKS', catia: 'CATIA', other: 'Autre logiciel (Inventor, Fusion, Creo, Onshape\u2026)', none: 'Aucun (d\u00e9couverte)' };\n  var CHOICE = { profil: 1, step2: 1, licence: 1, satisfaction: 1, catiaUsage: 1, catiaEquip: 1 };\n  var FORMS = {\n    catia: { kicker: 'CATIA \u00b7 prix', title: 'Afficher mes prix CATIA', sub: 'Vos coordonn\u00e9es pour d\u00e9bloquer les tarifs annuels des trois versions, appliqu\u00e9s \u00e0 votre \u00e9quipe.', cta: 'D\u00e9bloquer les prix', company: true },\n    rappel: { kicker: 'Derni\u00e8re \u00e9tape', title: 'Se faire rappeler', sub: 'Un expert vous rappelle pour finaliser votre offre.', cta: '\u00catre rappel\u00e9', company: true },\n    trial: { kicker: 'Essai gratuit', title: 'Tester SOLIDWORKS gratuitement', sub: \"On vous ouvre un acc\u00e8s d'essai et on vous accompagne au d\u00e9marrage.\", cta: 'Recevoir mon acc\u00e8s', company: true },\n    newclient: { kicker: 'Avant votre offre', title: 'Voir mon offre personnalis\u00e9e', sub: 'Vos coordonn\u00e9es pour afficher votre recommandation, le prix appara\u00eet juste apr\u00e8s.', cta: 'Voir mon offre', company: true },\n    startup: { kicker: 'Programme Startup', title: 'V\u00e9rifier mon \u00e9ligibilit\u00e9 Startup', sub: 'Licences gratuites si votre dossier est valid\u00e9.', cta: 'V\u00e9rifier mon \u00e9ligibilit\u00e9', company: true },\n    discover: { kicker: 'Offre d\u00e9couverte', title: 'Activer mes 3 mois d\u00e9couverte', sub: 'Trois mois pour lancer vos premiers projets, accompagn\u00e9s par un ing\u00e9nieur Ohmycad.', cta: 'Activer mes 3 mois', company: true },\n    startupCall: { kicker: 'Programme Startup', title: 'R\u00e9server un appel de validation', sub: 'Derni\u00e8re \u00e9tape pour activer vos licences gratuites.', cta: 'R\u00e9server mon appel', company: true },\n    mini: { kicker: 'D\u00e9blocage', title: 'D\u00e9bloquer le d\u00e9tail exact', sub: \"Vos chiffres pr\u00e9cis (arri\u00e9r\u00e9, projection, remises) s'affichent imm\u00e9diatement.\", cta: 'D\u00e9bloquer le d\u00e9tail', company: true },\n    maint: { kicker: 'Mise \u00e0 jour', title: 'Recevoir mon offre sur mesure', sub: 'Un expert vous contacte avec une proposition selon votre configuration.', cta: 'Recevoir mon offre', company: true },\n    bilan: { kicker: 'Bilan gratuit', title: \"R\u00e9server mon bilan d'usage\", sub: 'Tout roule ? Un ing\u00e9nieur Ohmycad fait le point : versions, optimisations, \u00e9volutions.', cta: 'R\u00e9server mon bilan', company: true },\n    custom: { kicker: 'Offre sur mesure', title: 'Demande de contact', sub: 'Un expert vous rappelle avec une offre adapt\u00e9e \u00e0 votre situation.', cta: 'Envoyer ma demande', company: true }\n  };\n  var ENDS = {\n    sent: { title: 'Demande envoy\u00e9e', text: 'Un expert Ohmycad vous recontacte sous 24 h ouvr\u00e9es avec une proposition personnalis\u00e9e.', link: false }\n  };\n  var CA_BANDS = ['< 50 k\u20ac', '50-100 k\u20ac', '100-250 k\u20ac', '250-500 k\u20ac', '500 k-1 M\u20ac', '1-2 M\u20ac', '2-5 M\u20ac', '5-10 M\u20ac', '10-20 M\u20ac', '20-50 M\u20ac', '50 M\u20ac et +'];\n  var FUND_BANDS = ['Autofinanc\u00e9', '< 200 k\u20ac', '200 k-1 M\u20ac', '1-5 M\u20ac', '5 M\u20ac et +'];\n  var STEP_LABELS = ['Profil', 'Situation', 'Besoins', 'Offre'];\n  var CHIP_ON = 'border:1px solid #008CDF;background:rgba(0,140,223,.08);color:#0070C0;border-radius:4px;padding:9px 14px;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;';\n  var CHIP_OFF = 'border:1px solid #E3E6EB;background:#fff;color:#5C5C5C;border-radius:4px;padding:9px 14px;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;';\n  var SEG_ON = 'flex:1;border:1px solid #008CDF;background:rgba(0,140,223,.08);color:#0070C0;border-radius:9px;padding:13px;font-size:14px;font-weight:700;cursor:pointer;';\n  var SEG_OFF = 'flex:1;border:1px solid #E3E6EB;background:#fff;color:#5C5C5C;border-radius:9px;padding:13px;font-size:14px;font-weight:500;cursor:pointer;';\n  var KICK = 'font-family:Archivo,Inter,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;';\n  var H2W = 'font-size:26px;font-weight:800;line-height:1.18;letter-spacing:-.02em;color:#fff;margin:0;';\n  var H2D = 'font-size:26px;font-weight:800;line-height:1.18;letter-spacing:-.02em;color:#06283D;margin:0;';\n  var SUBW = 'font-size:15px;line-height:1.55;color:rgba(255,255,255,.82);margin:0;';\n  var ARROW = '<svg viewBox=\"0 0 16 16\" width=\"15\" height=\"15\" fill=\"none\"><path d=\"M3 8h10M9 4l4 4-4 4\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path><\/svg>';\n  var IC = {\n    pro: ['M9 9h.01M15 9h.01M9 13h.01M15 13h.01M9 21v-4h6v4', 'M4 3h16v18H4z'],\n    founder: ['M12 11.5a4 4 0 1 0 0-8 4 4 0 0 0 0 8', 'M4.5 21a7.5 7.5 0 0 1 15 0'],\n    team: ['M9.5 11a3.4 3.4 0 1 0 0-6.8 3.4 3.4 0 0 0 0 6.8', 'M3 20.5a6.5 6.5 0 0 1 13 0', 'M16.8 4.6a3.4 3.4 0 0 1 0 6.8', 'M18 14.4a6.5 6.5 0 0 1 3 6.1'],\n    pen: ['M4.5 19.5l4.2-1L19.4 7.8a2.2 2.2 0 0 0-3.2-3.2L5.5 15.3z', 'M14.6 6.2l3.2 3.2'],\n    cart: ['M3 5h2.2l2.3 10.2h10L20 8H6', 'M9.5 20a1.2 1.2 0 1 0 0-2.4 1.2 1.2 0 0 0 0 2.4', 'M17 20a1.2 1.2 0 1 0 0-2.4 1.2 1.2 0 0 0 0 2.4'],\n    na: ['M9.3 9.2a2.9 2.9 0 1 1 4 2.7c-.8.4-1.3 1-1.3 1.9v.4', 'M12 17.6h.01'],\n    cube: ['M12 2.8l8.4 4.7v9L12 21.2 3.6 16.5v-9z', 'M3.6 7.5L12 12.2l8.4-4.7', 'M12 12.2v9'],\n    yes: ['M8.5 12.5l2.5 2.5 4.5-5'],\n    no: ['M15.5 8.5l-2 5-5 2 2-5z'],\n    sub: ['M19 9a8 8 0 0 0-14-3M5 15a8 8 0 0 0 14 3', 'M4 4v5h5M20 20v-5h-5'],\n    shield: ['M12 3l7 3v6c0 4-3 6.5-7 8-4-1.5-7-4-7-8V6z', 'M9 12l2 2 4-4'],\n    shieldx: ['M12 3l7 3v6c0 4-3 6.5-7 8-4-1.5-7-4-7-8V6z', 'M10 10l4 4M14 10l-4 4'],\n    happy: ['M8 14s1.5 2 4 2 4-2 4-2', 'M9 9h.01M15 9h.01'],\n    sad: ['M8 16s1.5-2 4-2 4 2 4 2', 'M9 9h.01M15 9h.01'],\n    cloud: ['M7 18a4 4 0 0 1 0-8 5 5 0 0 1 9.6-1.5A3.5 3.5 0 0 1 18 18z']\n  };\n  var IC_CIRCLE = { yes: 1, no: 1, happy: 1, sad: 1 };\n  function icon(name) {\n    var body = (IC[name] || []).map(function (d) { return '<path d=\"' + d + '\"><\/path>'; }).join('');\n    if (IC_CIRCLE[name]) body = '<circle cx=\"12\" cy=\"' + (name === 'home' ? 7 : 12) + '\" r=\"' + (name === 'home' ? 4 : 9) + '\"><\/circle>' + body;\n    return '<svg viewBox=\"0 0 24 24\" width=\"22\" height=\"22\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\">' + body + '<\/svg>';\n  }\n  function esc(s) { return String(s).replace(\/&\/g, '&amp;').replace(\/<\/g, '&lt;').replace(\/>\/g, '&gt;').replace(\/\"\/g, '&quot;'); }\n  function fmt(n) { return Math.round(n).toLocaleString('fr-FR').replace(\/\u202f\/g, ' '); }\n\n  \/* ---------- \u00e9tat ---------- *\/\n  function freshState() {\n    return {\n      screen: 'product', history: ['product'], data: {}, usersCount: 2, seatsUnknown: false,\n      company: { foundYear: null, caIdx: null, fundIdx: null, declined: false }, needs: {}, serviceOnly: null, detail: {},\n      catiaRoleSel: {}, catiaUnlocked: false, mLic: 5, mYear: 2021, maintUnlocked: false, formType: null, contact: null\n    };\n  }\n  var S = freshState();\n\n  \/* ---------- tracking ---------- *\/\n  function dl(o) { try { window.dataLayer = window.dataLayer || []; window.dataLayer.push(o); } catch (e) {} }\n  function hsq() { return (window._hsq = window._hsq || []); }\n  function trackScreen(screen) {\n    dl({ event: 'sim_screen', sim_screen: screen });\n    try {\n      hsq().push(['setPath', '\/simulateur-de-prix\/etape\/' + screen]);\n      hsq().push(['trackPageView']);\n    } catch (e) {}\n  }\n  function getHutk() { var m = document.cookie.match(\/hubspotutk=([^;]+)\/); return m ? m[1] : undefined; }\n\n  \/* ---------- logique ---------- *\/\n  function go(screen, patch) {\n    if (patch) Object.keys(patch).forEach(function (k) { S[k] = patch[k]; });\n    S.screen = screen;\n    S.history.push(screen);\n    trackScreen(screen);\n    render();\n  }\n  function setD(kv, next) {\n    Object.keys(kv).forEach(function (k) { S.data[k] = kv[k]; });\n    if (next) go(next); else render();\n  }\n  function back() {\n    if (S.history.length < 2) return;\n    S.history.pop();\n    S.screen = S.history[S.history.length - 1];\n    render();\n  }\n  function restart() { S = freshState(); dl({ event: 'sim_restart' }); trackScreen('product'); render(); }\n  function reco() {\n    var n = S.needs;\n    if (n.simlin || n.simadv || n.pdm || n.electrical) return { name: 'Design Premium', annual: 5496, monthly: 458, slug: 'premium', key: 'prem', features: ['Simulation structurelle et Motion', 'Routing : tuyauterie, c\u00e2blage & harnais', 'Tout Professional inclus'] };\n    if (n.rendering || n.multiuser || n.bom) return { name: 'Design Professional', annual: 4152, monthly: 346, slug: 'professional', key: 'pro', features: ['Toolbox, visserie & standards, PDM Standard', 'Rendu photor\u00e9aliste Visualize', 'Costing, Design Checker, eDrawings Pro'] };\n    return { name: 'Design Standard', annual: 3480, monthly: 290, slug: 'standard', key: 'std', features: ['Mod\u00e9lisation 3D pi\u00e8ces & assemblages + mises en plan', 'T\u00f4lerie, m\u00e9cano-soud\u00e9, moules, surfacique essentiel', 'V\u00e9rifications simples + SimulationXpress'] };\n  }\n  function startupTier() {\n    var age = 2026 - (S.company.foundYear || 2020);\n    var caIdx = S.company.caIdx == null ? 3 : S.company.caIdx;\n    var fundIdx = S.company.fundIdx == null ? 0 : S.company.fundIdx;\n    if (S.serviceOnly === 'yes' || S.company.declined) return null;\n    if (caIdx > 6 || fundIdx > 3) return null;\n    if (age < 3) return 1;\n    if (age < 5) return 2;\n    return null;\n  }\n  \/* FD03 : maintenance ALC Design Standard = 1 824 \u20ac\/an ; arri\u00e9r\u00e9 plafonn\u00e9 3 ans (base 2026) *\/\n  function maintCalc() {\n    var lic = S.mLic, ay = Math.min(Math.max(2026 - S.mYear, 0), 3);\n    var ALC = 1824;\n    var tm = lic * ay * ALC + lic * 3 * ALC;\n    var s3 = 3480 * 0.6 * lic, sAfter = 3480 * 0.75 * lic;\n    var classic = [tm, tm, tm, tm + lic * ALC, tm + lic * ALC * 2];\n    var ohmy = [s3, s3 * 2, s3 * 3, s3 * 3 + sAfter, s3 * 3 + sAfter * 2];\n    var max = Math.max.apply(null, classic.concat(ohmy));\n    var savings = classic[4] - ohmy[4];\n    return { tm: tm, s3: s3, classic: classic, ohmy: ohmy, max: max, savings: savings, pct: Math.round(savings \/ classic[4] * 100) };\n  }\n  function catiaTier() {\n    var sel = CATIA_ROWS.filter(function (r) { return S.catiaRoleSel[r[0]]; });\n    if (sel.some(function (r) { return r[1] === 'elite'; })) return 'elite';\n    if (sel.some(function (r) { return r[1] === 'master'; })) return 'master';\n    return 'essential';\n  }\n  function openChat() {\n    dl({ event: 'sim_open_chat', sim_screen: S.screen });\n    var w = window;\n    if (w.HubSpotConversations && w.HubSpotConversations.widget) {\n      w.HubSpotConversations.widget.load();\n      w.HubSpotConversations.widget.open();\n      return;\n    }\n    w.hsConversationsOnReady = w.hsConversationsOnReady || [];\n    w.hsConversationsOnReady.push(function () { w.HubSpotConversations.widget.open(); });\n  }\n\n  \/* ---------- soumission HubSpot ---------- *\/\n  \/* Formulaire HubSpot d\u00e9di\u00e9 \u00ab Simulateur de prix \u2014 site web \u00bb (cr\u00e9\u00e9 par Victor 30\/07) *\/\n  var HS_PORTAL = '8764694', HS_FORM = '2fcf78e7-5a1d-4323-b500-e768a1255545';\n  function siteLang() {\n    var l = (document.documentElement.lang || 'fr').slice(0, 2).toLowerCase();\n    var m = location.pathname.match(\/^\\\/(en|es|pt|nl|de)\\\/\/);\n    return m ? m[1] : l;\n  }\n  function recapText() {\n    \/* R\u00e9cap en ANGLAIS pour l'\u00e9quipe commerciale (d\u00e9cision Victor 30\/07), quelle que soit la langue du visiteur *\/\n    var EN_ROLE = { founder: 'Founder \/ executive', rnd: 'Design office manager', designer: 'Designer \/ engineer', it: 'IT \/ purchasing', na: 'Not specified' };\n    var EN_CAD = { solidworks: 'SOLIDWORKS', catia: 'CATIA', other: 'Other software (Inventor, Fusion, Creo, Onshape\u2026)', none: 'None (first 3D tool)' };\n    var EN_EQUIP = { v5: 'CATIA V5 \u00b7 perpetual without maintenance', v5m: 'CATIA V5 \u00b7 under maintenance', x3d: 'CATIA on 3DEXPERIENCE', unknown: 'To be clarified with an expert' };\n    var EN_NEED = { cad3d: '3D design', rendering: 'Photorealistic rendering', simlin: 'Linear simulation', simadv: 'Advanced simulation', multiuser: 'Collaboration \/ multi-seat', pdm: 'Data management (PDM)', bom: 'BOM \/ costing', cam: 'CAM manufacturing', electrical: 'Electrical \/ routing', sheet: 'Sheet metal \/ welded structures', surface: 'Advanced surfacing', other: 'Other need' };\n    var EN_DETAIL_LABEL = { simlin: 'Linear simulation', simadv: 'Advanced simulation', electrical: 'Electrical', cam: 'CAM' };\n    var EN_DETAIL_OPT = { 'Simulation structurelle': 'Structural', 'Simulation fluidique': 'Fluid (CFD)', 'Simulation structurelle avanc\u00e9e': 'Advanced structural', 'Autre \/ je ne sais pas': 'Other \/ unknown', 'Sch\u00e9matique': 'Schematics', 'Routing 3D': '3D routing', 'Harnais': 'Harnesses', 'Je ne sais pas': 'Unknown', 'Fraisage 2.5-3 axes': '2.5-3 axis milling', 'Tournage': 'Turning', 'Multi-axes': 'Multi-axis' };\n    var EN_CATIA_ROW = { 'Annotations & tol\u00e9rancement 3D g\u00e9n\u00e9ratif': '3D generative annotations & tolerancing', 'Simulation statique (comportement structurel)': 'Static simulation (structural behavior)', \"Conception centr\u00e9e sur l'humain\": 'Human-centered design', 'M\u00e9canismes complexes (cin\u00e9matique)': 'Complex mechanisms (kinematics)', 'Surfaces fonctionnelles g\u00e9n\u00e9ratives': 'Generative functional surfaces', 'Forme libre & surfaces complexes': 'Freeform & complex surfaces', 'R\u00e9tro-ing\u00e9nierie (nuages de points)': 'Reverse engineering (point clouds)', 'R\u00e9paration & nettoyage de mod\u00e8les CAO': 'CAD model repair & cleanup' };\n    var EN_COUNTRY = { FR: 'France', BE: 'Belgium', CH: 'Switzerland', LU: 'Luxembourg', MC: 'Monaco', CA: 'Canada', MA: 'Morocco', TN: 'Tunisia', DZ: 'Algeria', DE: 'Germany', ES: 'Spain', IT: 'Italy', GB: 'United Kingdom', NL: 'Netherlands', PT: 'Portugal', US: 'United States', other: 'Other country' };\n    var d = S.data, parts = [];\n    parts.push('[Price simulator] Path: ' + (S.formType || '?'));\n    parts.push('Site language: ' + siteLang());\n    if (S.country && EN_COUNTRY[S.country]) parts.push('Country: ' + EN_COUNTRY[S.country]);\n    else if (S.contact && S.contact.country) parts.push('Country: ' + S.contact.country);\n    if (d.product) parts.push('Software: ' + (d.product === 'catia' ? 'CATIA' : 'SOLIDWORKS'));\n    if (d.role) parts.push('Profile: ' + (EN_ROLE[d.role] || 'Professional'));\n    if (d.currentCad) parts.push('Current 3D software: ' + (EN_CAD[d.currentCad] || d.currentCad));\n    else if (d.usesSW !== undefined) parts.push('Already on SOLIDWORKS: ' + (d.usesSW ? 'yes' : 'no'));\n    if (d.catiaUsage) parts.push('Already on CATIA: ' + (d.catiaUsage === 'oui' ? 'yes' : 'no') + (d.catiaEquip ? ' (' + (EN_EQUIP[d.catiaEquip] || d.catiaEquip) + ')' : ''));\n    if (d.usersSet) parts.push('Users\/licenses: ' + (S.seatsUnknown ? 'TBD' : S.usersCount + (S.usersCount >= 10 ? '+' : '')));\n    if (d.licence) parts.push('Current license: ' + (d.licence === 'sub' ? 'active subscription' : d.licence === 'perp-maint' ? 'perpetual under maintenance' : 'perpetual without maintenance'));\n    if (S.company.foundYear) parts.push('Year founded: ' + S.company.foundYear);\n    if (S.company.caIdx != null) parts.push('Annual revenue: ' + CA_BANDS[S.company.caIdx].replace(' et +', ' and up'));\n    if (S.company.fundIdx != null) parts.push('Funding raised: ' + FUND_BANDS[S.company.fundIdx].replace('Autofinanc\u00e9', 'Self-funded').replace(' et +', ' and up'));\n    if (S.company.declined) parts.push('Company info: not shared');\n    if (S.serviceOnly) parts.push('Services only: ' + (S.serviceOnly === 'yes' ? 'yes' : 'no'));\n    var needsSel = NEED_DEFS.filter(function (nd) { return S.needs[nd[0]]; }).map(function (nd) { return EN_NEED[nd[0]] || nd[1]; });\n    if (S.needs.noidea) needsSel = ['No idea - advise me'];\n    if (needsSel.length) parts.push('Needs: ' + needsSel.join(', '));\n    Object.keys(DETAIL_DEFS).forEach(function (k) {\n      var dd = S.detail[k];\n      if (!dd) return;\n      var sel = Object.keys(dd).filter(function (o) { return dd[o]; }).map(function (o) { return EN_DETAIL_OPT[o] || o; });\n      if (sel.length) parts.push('Details ' + (EN_DETAIL_LABEL[k] || k) + ': ' + sel.join(', '));\n    });\n    var roles = CATIA_ROWS.filter(function (r) { return S.catiaRoleSel[r[0]]; }).map(function (r) { return EN_CATIA_ROW[r[0]] || r[0]; });\n    if (roles.length) parts.push('CATIA modules: ' + roles.join(', ') + ' >> recommended edition: ' + catiaTier());\n    if (d.product === 'solidworks' && d.clientType === 'pro' && d.usesSW === false) {\n      var ed = reco();\n      parts.push('Recommended edition: ' + ed.name + ' (' + ed.monthly + ' \u20ac\/month, ' + ed.annual + ' \u20ac\/year\/license)');\n      var t = startupTier();\n      if (S.history.indexOf('probe') >= 0) parts.push('Startup eligibility: ' + (t ? 'YES, year-' + t + ' tier' : 'no'));\n    }\n    if (S.screen === 'maint' || S.formType === 'mini' || S.formType === 'maint') {\n      var m = maintCalc();\n      parts.push('Update calculator: ' + S.mLic + ' licenses, last version ' + S.mYear + ', classic ~' + fmt(m.tm) + ' \u20ac, alternative ~' + fmt(m.s3) + ' \u20ac\/year, 5-year savings ~' + fmt(m.savings) + ' \u20ac');\n    }\n    return parts.join('\\n');\n  }\n  \/* Propri\u00e9t\u00e9s contact custom cr\u00e9\u00e9es par Victor (valeurs = options exactes des enums HubSpot) *\/\n  var HS_ROLE = { founder: 'Founder', rnd: 'CTO', designer: 'Engineer | Designer', it: 'IT \/ Buyer' };\n  var HS_TIER = { 1: 'Palier 1 - < 3 ans - < 5M', 2: 'Palier 2 - < 5 ans < 5' };\n  function hsStatus() {\n    var d = S.data;\n    if (d.licence === 'sub' || d.catiaEquip === 'x3d') return 'Under subscription';\n    if (d.licence === 'perp-maint' || d.catiaEquip === 'v5m') return 'Under maintenance';\n    if (d.licence === 'perp-nomaint' || d.catiaEquip === 'v5') return 'Without maintenance';\n    if (d.currentCad === 'none' || d.catiaUsage === 'non') return 'Not using cad';\n    return null;\n  }\n  function submitToHubSpot(contact) {\n    var d = S.data;\n    var fields = [\n      { objectTypeId: '0-1', name: 'firstname', value: contact.fn },\n      { objectTypeId: '0-1', name: 'lastname', value: contact.ln },\n      { objectTypeId: '0-1', name: 'email', value: contact.email },\n      { objectTypeId: '0-1', name: 'message', value: recapText() },\n      { objectTypeId: '0-1', name: 'hs_language', value: siteLang() }\n    ];\n    if (contact.phone) fields.push({ objectTypeId: '0-1', name: 'mobilephone', value: contact.phone });\n    \/* cb_billingcountry = enum HubSpot : valeurs internes = codes ISO 2 lettres (FR, DE...), pas les libell\u00e9s *\/\n    if (contact.countryCode && contact.countryCode !== 'other') fields.push({ objectTypeId: '0-1', name: 'cb_billingcountry', value: contact.countryCode });\n    if (d.role && HS_ROLE[d.role]) fields.push({ objectTypeId: '0-1', name: 'simulation_profile', value: HS_ROLE[d.role] });\n    if (d.product) fields.push({ objectTypeId: '0-1', name: 'simulation_produit', value: d.product === 'catia' ? 'Catia' : 'Solidworks' });\n    if (d.usersSet && !S.seatsUnknown) fields.push({ objectTypeId: '0-1', name: 'simulation_users', value: String(S.usersCount) });\n    if (S.history.indexOf('probe') >= 0) {\n      var tier = startupTier();\n      fields.push({ objectTypeId: '0-1', name: 'simulation_eligibilite', value: tier ? HS_TIER[tier] : 'Non \u00e9ligible' });\n    }\n    var st = hsStatus();\n    if (st) fields.push({ objectTypeId: '0-1', name: 'simulation_status', value: st });\n    var body = {\n      fields: fields,\n      context: {\n        pageUri: location.href,\n        pageName: 'Price simulator \u00b7 ' + (S.formType || ''),\n        hutk: getHutk()\n      }\n    };\n    if (!body.context.hutk) delete body.context.hutk;\n    try { hsq().push(['identify', { email: contact.email, firstname: contact.fn, lastname: contact.ln }]); } catch (e) {}\n    return fetch('https:\/\/api.hsforms.com\/submissions\/v3\/integration\/submit\/' + HS_PORTAL + '\/' + HS_FORM, {\n      method: 'POST', headers: { 'Content-Type': 'application\/json' }, body: JSON.stringify(body)\n    });\n  }\n\n  \/* ---------- config des questions ---------- *\/\n  function choiceConfig(scr) {\n    var pickRole = function (role) {\n      return function () { setD({ clientType: 'pro', role: role }, S.data.product === 'catia' ? 'catiaUsage' : 'step2'); };\n    };\n    if (scr === 'profil') return { title: 'Quel est votre profil ?', opts: [\n      { label: 'Fondateur \/ dirigeant', sub: '', icon: 'founder', run: pickRole('founder') },\n      { label: 'Responsable bureau d\u2019\u00e9tudes', sub: '', icon: 'team', run: pickRole('rnd') },\n      { label: 'Designer \/ concepteur', sub: '', icon: 'pen', run: pickRole('designer') },\n      { label: 'IT \/ achats', sub: '', icon: 'cart', run: pickRole('it') },\n      { label: 'Je ne veux pas pr\u00e9ciser', sub: '', icon: 'na', run: pickRole('na') }\n    ], small: [\n      { label: '\u00c9tudiant', sub: '\u00c9cole, universit\u00e9', href: 'https:\/\/www.solidworks.com\/fr\/product\/students' },\n      { label: 'Particulier', sub: 'Usage personnel, hobby', href: 'https:\/\/hub.ohmycad.com\/fr\/solidworks-for-makers' }\n    ] };\n    if (scr === 'step2') return { title: 'Utilisez-vous d\u00e9j\u00e0 un logiciel de conception 3D ?', opts: [\n      { label: 'Oui, SOLIDWORKS', sub: 'Nous avons des licences', img: U + 'dsx-solidworks.webp', run: function () { setD({ usesSW: true, currentCad: 'solidworks' }, 'team'); } },\n      { label: 'Oui, CATIA', sub: 'Licences ou abonnements en cours', img: U + 'dsx-catia.webp', run: function () { setD({ usesSW: false, currentCad: 'catia' }, 'team'); } },\n      { label: 'Oui, un autre logiciel', sub: 'Inventor, Fusion, Creo, Onshape\u2026', icon: 'cube', run: function () { setD({ usesSW: false, currentCad: 'other' }, 'team'); } },\n      { label: 'Non, nous d\u00e9couvrons', sub: 'Premier outil de conception 3D', icon: 'no', run: function () { setD({ usesSW: false, currentCad: 'none' }, 'team'); } }\n    ] };\n    if (scr === 'licence') return { title: \"Comment \u00eates-vous \u00e9quip\u00e9 aujourd'hui ?\", opts: [\n      { label: 'Abonnement en cours', sub: 'Licence term \/ cloud active', icon: 'sub', run: function () { setD({ licence: 'sub' }, 'satisfaction'); } },\n      { label: 'Perp\u00e9tuelle sous maintenance', sub: 'Maintenance active', icon: 'shield', run: function () { setD({ licence: 'perp-maint' }, 'satisfaction'); } },\n      { label: 'Perp\u00e9tuelle sans maintenance', sub: 'Maintenance expir\u00e9e', icon: 'shieldx', run: function () { setD({ licence: 'perp-nomaint' }, 'maint'); } }\n    ] };\n    if (scr === 'satisfaction') return { title: 'Tout se passe bien avec SOLIDWORKS ?', opts: [\n      { label: 'Oui, parfait', sub: 'Tout va bien', icon: 'happy', run: function () { go('form', { formType: 'bilan' }); } },\n      { label: 'Non, des soucis', sub: \"Besoin d'aide\", icon: 'sad', run: function () { S.data.satisfied = false; go('form', { formType: 'custom' }); } }\n    ] };\n    if (scr === 'catiaUsage') return { title: 'Utilisez-vous d\u00e9j\u00e0 CATIA ?', opts: [\n      { label: 'Oui', sub: '', icon: 'yes', run: function () { setD({ catiaUsage: 'oui' }, 'catiaEquip'); } },\n      { label: 'Non', sub: '', icon: 'no', run: function () { setD({ catiaUsage: 'non' }, 'team'); } }\n    ] };\n    if (scr === 'catiaEquip') return { title: \"Comment \u00eates-vous \u00e9quip\u00e9 aujourd'hui ?\", opts: [\n      { label: 'CATIA V5, licence perp\u00e9tuelle', sub: 'Sans maintenance active', icon: 'shieldx', run: function () { setD({ catiaEquip: 'v5' }, 'team'); } },\n      { label: 'CATIA V5 sous maintenance', sub: 'Contrat Dassault Syst\u00e8mes en cours', icon: 'shield', run: function () { setD({ catiaEquip: 'v5m' }, 'team'); } },\n      { label: 'CATIA sur 3DEXPERIENCE', sub: 'Abonnement cloud en cours', icon: 'cloud', run: function () { setD({ catiaEquip: 'x3d' }, 'team'); } },\n      { label: 'Je ne sais pas exactement', sub: 'On fait le point ensemble', icon: 'sub', run: function () { setD({ catiaEquip: 'unknown' }, 'team'); } }\n    ] };\n    return { title: '', opts: [] };\n  }\n  var choiceRuns = [];\n\n  \/* ---------- rendu ---------- *\/\n  function header() {\n    var scr = S.screen;\n    var isEnd = scr === 'sent';\n    var started = scr !== 'product';\n    if (!started) return '';\n    var phase = scr === 'form' ? (FORM_PHASE[S.formType] || 4) : (isEnd && scr !== 'sent' ? 1 : (PHASES[scr] || 1));\n    var steps = STEP_LABELS.map(function (label, i) {\n      var n = i + 1;\n      var st = 'font-family:Archivo,Inter,sans-serif;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border-radius:4px;padding:6px 12px;' + (n === phase ? 'background:#fff;color:#06283D;' : n < phase ? 'color:#7fd0ff;' : 'color:rgba(255,255,255,.62);');\n      return '<span style=\"' + st + '\">' + (n < phase ? '\u00b7 ' : '') + label + '<\/span>';\n    }).join('');\n    var backBtn = (started && !isEnd && S.history.length > 1)\n      ? '<button type=\"button\" class=\"os-back\" data-act=\"back\"><svg viewBox=\"0 0 16 16\" width=\"15\" height=\"15\" fill=\"none\" style=\"flex:none;\"><path d=\"M13 8H3M7 4L3 8l4 4\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path><\/svg>Retour<\/button>' : '';\n    return '<div style=\"display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:26px;\"><div style=\"display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center;\">' + steps + '<\/div><\/div>' +\n      '<div style=\"height:2px;border-radius:2px;background:rgba(255,255,255,.28);margin-top:12px;max-width:340px;margin-left:auto;margin-right:auto;overflow:hidden;\"><i style=\"display:block;height:2px;border-radius:2px;background:#fff;transition:width .45s ease;width:' + (phase * 25) + '%;\"><\/i><\/div>' +\n      '<div style=\"margin-top:24px;display:flex;align-items:center;gap:14px;\">' + backBtn +\n      '<button type=\"button\" class=\"os-restart\" data-act=\"restart\"><svg viewBox=\"0 0 24 24\" width=\"14\" height=\"14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"flex:none;\"><path d=\"M4 5v5h5\"><\/path><path d=\"M4.6 14a8 8 0 1 0 1.3-6.7L4 10\"><\/path><\/svg>Red\u00e9marrer<\/button><\/div>';\n  }\n\n  function render() {\n    choiceRuns = [];\n    var scr = S.screen, d = S.data, out = '';\n    var body = '';\n    if (scr === 'product') {\n      body = '<div style=\"display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:34px;animation:omcRise .36s ease both;\">' +\n        '<button type=\"button\" class=\"os-prodbtn\" data-act=\"pick-sw\" aria-label=\"SOLIDWORKS\"><img decoding=\"async\" src=\"' + U + 'solidworks-wordmark.webp\" alt=\"SOLIDWORKS\" style=\"width:100%;max-width:250px;height:auto;display:block;\"><\/button>' +\n        '<button type=\"button\" class=\"os-prodbtn\" data-act=\"pick-catia\" aria-label=\"CATIA\"><img decoding=\"async\" src=\"' + U + 'catia-wordmark.webp\" alt=\"CATIA\" style=\"width:100%;max-width:190px;height:auto;display:block;\"><\/button><\/div>' +\n        '<div style=\"display:flex;align-items:center;justify-content:center;gap:30px;flex-wrap:wrap;margin-top:30px;\">' +\n        ['1 500+ clients accompagn\u00e9s', '4,9\/5 sur Google', '#1 revendeur cloud mondial Dassault Syst\u00e8mes 2025-2026'].map(function (t) {\n          return '<span style=\"display:flex;align-items:center;gap:9px;font-size:14.5px;color:rgba(255,255,255,.9);\"><i style=\"display:block;width:7px;height:7px;border-radius:50%;background:#12B67A;flex:none;\"><\/i>' + t + '<\/span>';\n        }).join('') + '<\/div>';\n    } else if (CHOICE[scr]) {\n      var cfg = choiceConfig(scr);\n      var TONE = { happy: 'pos', shield: 'pos', sad: 'neg', shieldx: 'neg' };\n      body = '<div style=\"display:flex;flex-direction:column;gap:18px;padding-top:8px;animation:omcRise .36s ease both;\">' +\n        '<h2 style=\"' + H2W + '\">' + cfg.title + '<\/h2><div style=\"display:flex;flex-direction:column;gap:10px;\">' +\n        cfg.opts.map(function (o, i) {\n          choiceRuns.push(o.run);\n          var t = TONE[o.icon];\n          var c = t === 'pos' ? '#5FD3A6' : t === 'neg' ? '#E0A93A' : '#7CC4F0';\n          var bg = t === 'pos' ? 'rgba(18,182,122,.16)' : t === 'neg' ? 'rgba(212,147,10,.18)' : 'rgba(0,140,223,.22)';\n          var tile = o.img\n            ? '<span style=\"display:block;width:40px;height:40px;flex:none;border-radius:9px;overflow:hidden;\"><img loading=\"lazy\" decoding=\"async\" src=\"' + o.img + '\" alt=\"\" width=\"40\" height=\"40\" style=\"width:100%;height:100%;display:block;border-radius:9px;\"><\/span>'\n            : '<span style=\"display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex:none;border-radius:9px;background:' + bg + ';color:' + c + ';\">' + icon(o.icon) + '<\/span>';\n          return '<button type=\"button\" class=\"os-card-opt\" data-act=\"choice\" data-i=\"' + i + '\">' + tile +\n            '<span style=\"display:flex;flex-direction:column;gap:1px;flex:1;min-width:0;\"><span style=\"font-size:16px;font-weight:700;color:#fff;letter-spacing:-.005em;\">' + esc(o.label) + '<\/span>' + (o.sub ? '<span style=\"font-size:12.5px;color:rgba(255,255,255,.58);\">' + esc(o.sub) + '<\/span>' : '') + '<\/span>' +\n            '<svg viewBox=\"0 0 16 16\" width=\"15\" height=\"15\" fill=\"none\" style=\"flex:none;color:#7fd0ff;\"><path d=\"M3 8h10M9 4l4 4-4 4\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path><\/svg><\/button>';\n        }).join('') + '<\/div>' +\n        (cfg.small && cfg.small.length\n          ? '<div style=\"display:flex;flex-direction:column;gap:9px;margin-top:2px;\"><span style=\"font-family:Archivo,Inter,sans-serif;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.55);\">Autres profils \u00b7 offres Dassault Syst\u00e8mes d\u00e9di\u00e9es<\/span><div style=\"display:flex;gap:10px;flex-wrap:wrap;\">' +\n            cfg.small.map(function (o) {\n              return '<a href=\"' + o.href + '\" target=\"_blank\" rel=\"noopener\" data-act=\"outbound\" data-label=\"' + esc(o.label) + '\" style=\"display:flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.34);border-radius:9px;padding:9px 14px;text-decoration:none;\">' +\n                '<span style=\"font-size:13.5px;font-weight:700;color:#fff;\">' + esc(o.label) + '<\/span><span style=\"font-size:12px;color:rgba(255,255,255,.6);\">' + esc(o.sub) + '<\/span>' +\n                '<svg viewBox=\"0 0 16 16\" width=\"12\" height=\"12\" fill=\"none\" style=\"flex:none;color:#7fd0ff;\"><path d=\"M6 10L11 5M7 5h4v4\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path><\/svg><\/a>';\n            }).join('') + '<\/div><\/div>'\n          : '') + '<\/div>';\n    } else if (scr === 'team') {\n      var isCatia = d.product === 'catia';\n      var eq = d.usesSW === true || d.catiaUsage === 'oui';\n      var word = S.seatsUnknown ? '\u00e0 d\u00e9finir' : eq ? (S.usersCount > 1 ? 'licences' : 'licence') : (S.usersCount > 1 ? 'utilisateurs' : 'utilisateur');\n      body = '<div style=\"display:flex;flex-direction:column;gap:22px;padding-top:8px;animation:omcRise .36s ease both;\">' +\n        '<div style=\"display:flex;flex-direction:column;gap:6px;\"><h2 style=\"' + H2W + '\">' + (eq ? 'Combien de licences ' + (isCatia ? 'CATIA' : 'SOLIDWORKS') + ' avez-vous aujourd\u2019hui ?' : 'Combien serez-vous \u00e0 utiliser ' + (isCatia ? 'CATIA' : 'SOLIDWORKS') + ' ?') + '<\/h2>' +\n        '<p style=\"' + SUBW + '\">' + (eq ? 'On part de votre parc actuel pour calibrer la suite.' : \"On calibre tout de suite l'offre pour votre \u00e9quipe.\") + '<\/p><\/div>' +\n        '<div style=\"display:flex;align-items:center;gap:24px;flex-wrap:wrap;' + (S.seatsUnknown ? 'opacity:.4;' : '') + '\" id=\"os-seats-row\">' +\n        '<span style=\"display:flex;align-items:baseline;gap:6px;flex:none;min-width:112px;\"><span id=\"os-seats-num\" style=\"font-size:clamp(38px,8vw,56px);font-weight:800;line-height:1;letter-spacing:-.03em;color:#fff;\">' + (S.seatsUnknown ? '?' : (S.usersCount >= 10 ? '10+' : S.usersCount)) + '<\/span><span id=\"os-seats-word\" style=\"font-size:14px;font-weight:600;color:rgba(255,255,255,.75);\">' + word + '<\/span><\/span>' +\n        '<span style=\"flex:1;display:flex;flex-direction:column;gap:6px;min-width:0;\"><input type=\"range\" min=\"1\" max=\"10\" step=\"1\" value=\"' + S.usersCount + '\" data-slider=\"seats\" aria-label=\"Nombre d\\'utilisateurs\" style=\"width:100%;height:20px;margin:0;cursor:pointer;\">' +\n        '<span style=\"display:flex;justify-content:space-between;font-size:12px;color:rgba(255,255,255,.6);\"><span>1<\/span><span>5<\/span><span>10 et +<\/span><\/span><\/span><\/div>' +\n        '<div style=\"display:flex;align-items:center;gap:12px;flex-wrap:wrap;\">' +\n        '<button type=\"button\" class=\"os-cta\" data-act=\"team-next\">Continuer ' + ARROW + '<\/button>' +\n        '<button type=\"button\" data-act=\"seats-unknown\" style=\"display:flex;align-items:center;height:48px;padding:0 22px;border:1px solid ' + (S.seatsUnknown ? '#7fd0ff' : 'rgba(255,255,255,.5)') + ';background:' + (S.seatsUnknown ? 'rgba(127,208,255,.16)' : 'transparent') + ';color:' + (S.seatsUnknown ? '#7fd0ff' : '#fff') + ';border-radius:9px;font-size:14.5px;font-weight:700;cursor:pointer;\">Je ne sais pas encore<\/button><\/div><\/div>';\n    } else if (scr === 'company') {\n      var fy = S.company.foundYear || 2020;\n      var age = 2026 - fy;\n      var caIdx = S.company.caIdx == null ? 3 : S.company.caIdx;\n      body = '<div style=\"display:flex;flex-direction:column;gap:24px;padding-top:8px;animation:omcRise .36s ease both;\">' +\n        '<div style=\"display:flex;flex-direction:column;gap:6px;\"><h2 style=\"' + H2W + '\">Parlez-nous de votre entreprise<\/h2><p style=\"' + SUBW + '\">Deux rep\u00e8res pour adapter l\\'offre \u00e0 votre contexte.<\/p><\/div>' +\n        '<div style=\"display:flex;flex-direction:column;gap:12px;\"><span style=\"display:flex;align-items:baseline;justify-content:space-between;gap:12px;\"><span style=\"' + KICK + 'color:rgba(255,255,255,.65);font-size:10.5px;\">Ann\u00e9e de cr\u00e9ation<\/span>' +\n        '<span style=\"display:flex;align-items:baseline;gap:8px;\"><span id=\"os-fy\" style=\"font-size:26px;font-weight:800;letter-spacing:-.02em;color:#fff;\">' + fy + '<\/span><span id=\"os-age\" style=\"font-size:12.5px;font-weight:600;color:#7fd0ff;\">' + (age <= 0 ? 'cette ann\u00e9e' : age === 1 ? '1 an' : age + ' ans') + '<\/span><\/span><\/span>' +\n        '<input type=\"range\" min=\"1985\" max=\"2026\" step=\"1\" value=\"' + fy + '\" data-slider=\"foundYear\" aria-label=\"Ann\u00e9e de cr\u00e9ation\" style=\"width:100%;height:20px;margin:0;cursor:pointer;\">' +\n        '<span style=\"display:flex;justify-content:space-between;font-size:12px;color:rgba(255,255,255,.6);\"><span>1985<\/span><span>2005<\/span><span>2026<\/span><\/span><\/div>' +\n        '<div style=\"display:flex;flex-direction:column;gap:12px;\"><span style=\"display:flex;align-items:baseline;justify-content:space-between;gap:12px;\"><span style=\"' + KICK + 'color:rgba(255,255,255,.65);font-size:10.5px;\">Chiffre d\\'affaires annuel<\/span><span id=\"os-ca\" style=\"font-size:18px;font-weight:800;letter-spacing:-.01em;color:#7fd0ff;\">' + CA_BANDS[caIdx] + '<\/span><\/span>' +\n        '<input type=\"range\" min=\"0\" max=\"' + (CA_BANDS.length - 1) + '\" step=\"1\" value=\"' + caIdx + '\" data-slider=\"caIdx\" aria-label=\"Chiffre d\\'affaires annuel\" style=\"width:100%;height:20px;margin:0;cursor:pointer;\"><\/div>' +\n        '<div style=\"display:flex;flex-direction:column;gap:10px;\"><div style=\"display:flex;align-items:center;gap:12px;flex-wrap:wrap;\">' +\n        '<button type=\"button\" class=\"os-cta\" data-act=\"company-next\">Continuer ' + ARROW + '<\/button>' +\n        '<button type=\"button\" class=\"os-ghostw\" data-act=\"company-skip\">Je ne souhaite pas communiquer<\/button><\/div>' +\n        '<span style=\"display:flex;align-items:flex-start;gap:8px;font-size:12.5px;line-height:1.5;color:rgba(255,255,255,.75);\"><svg viewBox=\"0 0 16 16\" width=\"15\" height=\"15\" fill=\"none\" style=\"flex:none;margin-top:1px;\"><path d=\"M8 2.5l6 11H2z\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linejoin=\"round\"><\/path><path d=\"M8 6.5v3.2M8 11.6h.01\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\"><\/path><\/svg>Attention : sans ces deux rep\u00e8res, la simulation sera moins pr\u00e9cise<\/span><\/div><\/div>';\n    } else if (scr === 'probe') {\n      var fundIdx = S.company.fundIdx == null ? 0 : S.company.fundIdx;\n      body = '<div style=\"display:flex;flex-direction:column;gap:24px;padding-top:8px;animation:omcRise .36s ease both;\">' +\n        '<div style=\"display:flex;flex-direction:column;gap:6px;\"><span style=\"' + KICK + 'color:#7fd0ff;font-size:10.5px;\">Programmes d\\'aide<\/span><h2 style=\"' + H2W + '\">Deux derni\u00e8res pr\u00e9cisions<\/h2><\/div>' +\n        '<div style=\"display:flex;flex-direction:column;gap:12px;\"><span style=\"display:flex;align-items:baseline;justify-content:space-between;gap:12px;\"><span style=\"' + KICK + 'color:rgba(255,255,255,.65);font-size:10.5px;\">Financements lev\u00e9s \u00e0 ce jour<\/span><span id=\"os-fund\" style=\"font-size:18px;font-weight:800;letter-spacing:-.01em;color:#7fd0ff;\">' + FUND_BANDS[fundIdx] + '<\/span><\/span>' +\n        '<input type=\"range\" min=\"0\" max=\"' + (FUND_BANDS.length - 1) + '\" step=\"1\" value=\"' + fundIdx + '\" data-slider=\"fundIdx\" aria-label=\"Financements lev\u00e9s\" style=\"width:100%;height:20px;margin:0;cursor:pointer;\">' +\n        '<span style=\"font-size:12px;color:rgba(255,255,255,.7);line-height:1.5;\">Lev\u00e9es, subventions, pr\u00eats d\\'amor\u00e7age : laissez sur \u00ab Autofinanc\u00e9 \u00bb si vous n\\'\u00eates pas concern\u00e9.<\/span><\/div>' +\n        '<div style=\"display:flex;flex-direction:column;gap:10px;\"><span style=\"' + KICK + 'color:rgba(255,255,255,.65);font-size:10.5px;\">Faites-vous uniquement de la prestation de service&nbsp;?<\/span>' +\n        '<div style=\"display:flex;gap:10px;\"><button type=\"button\" data-act=\"svc-yes\" style=\"' + (S.serviceOnly === 'yes' ? SEG_ON : SEG_OFF) + '\">Oui, uniquement<\/button>' +\n        '<button type=\"button\" data-act=\"svc-no\" style=\"' + (S.serviceOnly === 'no' ? SEG_ON : SEG_OFF) + '\">Non, je d\u00e9veloppe mon propre produit<\/button><\/div><\/div>' +\n        '<button type=\"button\" class=\"os-cta\" style=\"align-self:flex-end;\" data-act=\"probe-next\">Continuer ' + ARROW + '<\/button><\/div>';\n    } else if (scr === 'needs') {\n      var detailKeys = Object.keys(DETAIL_DEFS).filter(function (k) { return S.needs[k]; });\n      body = '<div style=\"display:flex;flex-direction:column;gap:22px;padding-top:8px;animation:omcRise .36s ease both;\">' +\n        '<div style=\"display:flex;flex-direction:column;gap:6px;\"><h2 style=\"' + H2W + '\">Que devez-vous faire avec le logiciel&nbsp;?<\/h2><p style=\"' + SUBW + '\">Plusieurs r\u00e9ponses possibles. C\\'est ce qui d\u00e9termine l\\'\u00e9dition recommand\u00e9e.<\/p><\/div>' +\n        '<div style=\"display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:9px;\">' +\n        NEED_DEFS.map(function (nd) {\n          var on = !!S.needs[nd[0]];\n          return '<button type=\"button\" data-act=\"need\" data-key=\"' + nd[0] + '\" style=\"display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid ' + (on ? '#008CDF' : '#E3E6EB') + ';background:' + (on ? '#EAF5FD' : '#fff') + ';border-radius:9px;cursor:pointer;width:100%;text-align:left;\">' +\n            '<span style=\"display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex:none;border-radius:4px;background:' + (on ? '#008CDF' : '#fff') + ';border:' + (on ? 'none' : '1.5px solid #C7D0D8') + ';\"><svg viewBox=\"0 0 16 16\" width=\"12\" height=\"12\" fill=\"none\"><path d=\"M3.5 8.5l3 3 6-7\" stroke=\"#fff\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path><\/svg><\/span>' +\n            '<span style=\"display:flex;flex-direction:column;gap:1px;text-align:left;min-width:0;\"><span style=\"font-size:14px;font-weight:700;color:#06283D;\">' + esc(nd[1]) + '<\/span><span style=\"font-size:12px;color:#6B7280;\">' + esc(nd[2]) + '<\/span><\/span><\/button>';\n        }).join('') + '<\/div>' +\n        '<button type=\"button\" data-act=\"noidea\" style=\"width:100%;border:1px ' + (S.needs.noidea ? 'solid #008CDF' : 'dashed #C7D0D8') + ';background:' + (S.needs.noidea ? 'rgba(0,140,223,.06)' : '#fff') + ';color:' + (S.needs.noidea ? '#0070C0' : '#5C5C5C') + ';border-radius:9px;padding:13px;font-size:13.5px;font-weight:700;cursor:pointer;\">Aucune id\u00e9e, conseillez-moi<\/button>' +\n        '<button type=\"button\" class=\"os-cta\" style=\"align-self:flex-end;\" data-act=\"needs-next\">' + (detailKeys.length ? 'Continuer ' : 'Voir mon offre ') + ARROW + '<\/button><\/div>';\n    } else if (scr === 'needsDetail') {\n      var dk = Object.keys(DETAIL_DEFS).filter(function (k) { return S.needs[k]; });\n      body = '<div style=\"display:flex;flex-direction:column;gap:24px;padding-top:8px;animation:omcRise .36s ease both;\">' +\n        '<div style=\"display:flex;flex-direction:column;gap:6px;\"><h2 style=\"' + H2W + '\">Pr\u00e9cisons vos besoins<\/h2><p style=\"' + SUBW + '\">Juste ce que vous avez coch\u00e9, pour recommander la bonne brique.<\/p><\/div>' +\n        dk.map(function (k) {\n          return '<div style=\"display:flex;flex-direction:column;gap:10px;\"><span style=\"' + KICK + 'color:#7fd0ff;font-size:10.5px;\">' + DETAIL_LABELS[k] + '<\/span><div style=\"display:flex;gap:8px;flex-wrap:wrap;\">' +\n            DETAIL_DEFS[k].map(function (opt) {\n              var on = S.detail[k] && S.detail[k][opt];\n              return '<button type=\"button\" data-act=\"detail\" data-key=\"' + k + '\" data-opt=\"' + esc(opt) + '\" style=\"' + (on ? CHIP_ON : CHIP_OFF) + '\">' + esc(opt) + '<\/button>';\n            }).join('') + '<\/div><\/div>';\n        }).join('') +\n        '<button type=\"button\" class=\"os-cta\" style=\"align-self:flex-start;\" data-act=\"detail-next\">Voir mon offre ' + ARROW + '<\/button><\/div>';\n    } else if (scr === 'catiaRoles') {\n      body = '<div style=\"display:flex;flex-direction:column;gap:24px;padding-top:8px;animation:omcRise .36s ease both;\">' +\n        '<div style=\"display:flex;flex-direction:column;gap:6px;\"><h2 style=\"' + H2W + '\">Quels modules souhaitez-vous&nbsp;?<\/h2><p style=\"' + SUBW + '\">S\u00e9lectionnez les modules dont vous avez besoin : la configuration 3DEXPERIENCE s\\'ajuste en cons\u00e9quence.<\/p><\/div>' +\n        '<div style=\"display:flex;flex-direction:column;gap:10px;\"><span style=\"' + KICK + 'color:rgba(255,255,255,.65);font-size:10.5px;\">Modules &amp; r\u00f4les 3DEXPERIENCE<\/span>' +\n        '<div style=\"display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px;\">' +\n        CATIA_ROWS.map(function (r) {\n          var on = !!S.catiaRoleSel[r[0]];\n          return '<button type=\"button\" data-act=\"role\" data-key=\"' + esc(r[0]) + '\" style=\"' + (on ? SEG_ON : SEG_OFF) + 'flex:none;width:100%;\">' + esc(r[0]) + '<\/button>';\n        }).join('') + '<\/div><\/div>' +\n        '<button type=\"button\" class=\"os-cta\" style=\"align-self:flex-start;\" data-act=\"roles-next\">Voir ma configuration ' + ARROW + '<\/button><\/div>';\n    } else if (scr === 'catiaRecap') {\n      var tier = catiaTier();\n      var selRoles = CATIA_ROWS.filter(function (r) { return S.catiaRoleSel[r[0]]; }).map(function (r) { return r[0]; });\n      var rows = [\n        ['D\u00e9j\u00e0 sur CATIA', d.catiaUsage === 'oui' ? 'Oui' : d.catiaUsage === 'non' ? 'Non' : '\u00c0 d\u00e9finir'],\n        ['\u00c9quipement actuel', d.catiaUsage === 'oui' ? (CATIA_EQUIP_LABELS[d.catiaEquip] || '\u00c0 d\u00e9finir') : 'Aucun'],\n        ['Utilisateurs', S.seatsUnknown ? '\u00c0 d\u00e9finir' : String(S.usersCount)],\n        ['Modules', selRoles.length ? selRoles.join(', ') : '\u00c0 d\u00e9finir']\n      ];\n      body = '<div class=\"os-white-card\" style=\"gap:22px;\">' +\n        '<div style=\"display:flex;flex-direction:column;gap:6px;\"><span style=\"' + KICK + 'color:#8A8F98;font-size:10.5px;\">Votre configuration<\/span><h2 style=\"' + H2D + '\">CATIA sur 3DEXPERIENCE, \u00e0 votre p\u00e9rim\u00e8tre<\/h2><\/div>' +\n        '<div style=\"display:flex;flex-direction:column;\">' + rows.map(function (r) {\n          return '<div style=\"display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid #E3E6EB;\"><span style=\"font-size:14px;color:#5C5C5C;\">' + r[0] + '<\/span><span style=\"font-size:14px;font-weight:700;color:#06283D;text-align:right;\">' + esc(r[1]) + '<\/span><\/div>';\n        }).join('') + '<\/div>' +\n        '<div style=\"display:flex;flex-direction:column;gap:10px;\"><span style=\"' + KICK + 'color:#8A8F98;font-size:10.5px;\">Les trois versions \u00b7 abonnement annuel<\/span><div style=\"display:flex;gap:12px;flex-wrap:wrap;\">' +\n        CATIA_EDITIONS.map(function (e) {\n          var isReco = e.key === tier;\n          var price = e.annual ? fmt(e.annual * (S.seatsUnknown ? 1 : S.usersCount)) + ' \u20ac' : 'Sur devis';\n          var note = e.annual ? 'par an \u00b7 ' + (S.seatsUnknown ? '1 licence' : (S.usersCount + (S.usersCount > 1 ? ' licences' : ' licence'))) : 'chiffrage apr\u00e8s \u00e9change';\n          var blur = S.catiaUnlocked ? '' : 'filter:blur(7px);user-select:none;';\n          return '<div style=\"flex:1 1 240px;display:flex;flex-direction:column;gap:9px;background:#fff;border:' + (isReco ? '1.5px solid #008CDF' : '1px solid #E3E6EB') + ';border-radius:10px;padding:18px 20px;\">' +\n            (isReco ? '<span style=\"align-self:flex-start;' + KICK + 'font-size:9.5px;letter-spacing:.12em;color:#0070C0;background:rgba(0,140,223,.1);border-radius:4px;padding:4px 8px;\">Recommand\u00e9 pour vos modules<\/span>' : '') +\n            '<span style=\"display:block;width:190px;max-width:100%;height:26px;margin:2px 0;background:url(' + e.logo + ') left center \/ contain no-repeat;\" role=\"img\" aria-label=\"' + e.name + '\"><\/span>' +\n            '<span style=\"font-size:30px;font-weight:800;line-height:1;letter-spacing:-.02em;color:#06283D;' + blur + '\">' + price + '<\/span>' +\n            '<span style=\"font-size:12.5px;font-weight:700;color:#0070C0;\">' + note + '<\/span>' +\n            '<span style=\"font-size:12.5px;color:#6B7280;line-height:1.55;\">' + e.desc + '<\/span><\/div>';\n        }).join('') + '<\/div><\/div>' +\n        '<div style=\"display:flex;flex-direction:column;gap:9px;background:#F3F4F6;border-radius:9px;padding:16px 20px;\"><span style=\"' + KICK + 'font-size:10px;letter-spacing:.12em;color:#0070C0;\">Inclus dans toutes les versions<\/span>' +\n        CATIA_BASE.map(function (t) {\n          return '<span style=\"display:flex;gap:9px;font-size:13.5px;color:#5C5C5C;line-height:1.5;\"><svg viewBox=\"0 0 16 16\" width=\"15\" height=\"15\" fill=\"none\" style=\"flex:none;margin-top:2px;\"><path d=\"M3 8.5l3.2 3.2L13 4.5\" stroke=\"#008CDF\" stroke-width=\"2.1\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path><\/svg>' + t + '<\/span>';\n        }).join('') + '<\/div>' +\n        (!S.catiaUnlocked\n          ? '<div style=\"display:flex;align-items:center;gap:16px;flex-wrap:wrap;border:1px solid rgba(0,140,223,.3);background:rgba(0,140,223,.05);border-radius:10px;padding:18px 20px;\"><span style=\"flex:1;min-width:220px;font-size:14px;color:#5C5C5C;line-height:1.55;\"><strong style=\"color:#06283D;\">Prix verrouill\u00e9s.<\/strong> Renseignez vos coordonn\u00e9es pour afficher les trois tarifs annuels appliqu\u00e9s \u00e0 votre nombre d\\'utilisateurs.<\/span><button type=\"button\" class=\"os-bluesm\" data-act=\"recap-next\">D\u00e9bloquer les prix<\/button><\/div>'\n          : '<div style=\"display:flex;align-items:center;gap:16px;flex-wrap:wrap;border-top:1px solid #E3E6EB;padding-top:18px;\"><span style=\"flex:1;min-width:220px;font-size:13.5px;color:#5C5C5C;line-height:1.55;\">Prix officiels Dassault Syst\u00e8mes. Le p\u00e9rim\u00e8tre exact (r\u00f4les, stockage, migration V5) se cadre avec un expert.<\/span><button type=\"button\" class=\"os-bluesm\" data-act=\"go-rappel\">Se faire rappeler<\/button><\/div>') +\n        '<\/div>';\n    } else if (scr === 'form') {\n      var f = FORMS[S.formType] || FORMS.custom;\n      body = '<div class=\"os-white-card\" style=\"max-width:600px;width:100%;margin:0 auto;\">' +\n        '<div style=\"display:flex;flex-direction:column;gap:6px;\"><span style=\"' + KICK + 'color:#008CDF;font-size:10.5px;\">' + f.kicker + '<\/span><h2 style=\"' + H2D + '\">' + f.title + '<\/h2><p style=\"font-size:15px;line-height:1.55;color:#5C5C5C;margin:0;\">' + f.sub + '<\/p><\/div>' +\n        '<div id=\"os-form\" style=\"display:flex;flex-direction:column;gap:11px;width:100%;\">' +\n        '<div style=\"display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:11px;\"><input class=\"os-field\" type=\"text\" name=\"fn\" placeholder=\"Pr\u00e9nom\" required><input class=\"os-field\" type=\"text\" name=\"ln\" placeholder=\"Nom\" required><\/div>' +\n        (f.company ? '<input class=\"os-field\" type=\"text\" name=\"company\" placeholder=\"Soci\u00e9t\u00e9\">' : '') +\n        '<input class=\"os-field\" type=\"email\" name=\"email\" placeholder=\"Email\" required>' +\n        '<div style=\"display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:11px;\">' +\n        '<label style=\"display:flex;flex-direction:column;gap:5px;min-width:0;\"><span style=\"' + KICK + 'font-size:10px;color:#8A8F98;\">Pays<\/span>' +\n        '<select name=\"country\" required data-sel=\"country\" style=\"width:100%;height:46px;padding:0 12px;background:#fff;border:1px solid #E3E6EB;border-radius:9px;font-family:inherit;font-size:14.5px;color:#06283D;outline:none;cursor:pointer;\">' +\n        COUNTRIES.map(function (c) { return '<option value=\"' + c.code + '\"' + ((S.country || 'FR') === c.code ? ' selected' : '') + '>' + esc(c.name) + '<\/option>'; }).join('') +\n        '<\/select><\/label>' +\n        '<label style=\"display:flex;flex-direction:column;gap:5px;min-width:0;\"><span style=\"' + KICK + 'font-size:10px;color:#8A8F98;\">T\u00e9l\u00e9phone<\/span>' +\n        '<span style=\"display:flex;align-items:stretch;border:1px solid #E3E6EB;border-radius:9px;overflow:hidden;background:#fff;\">' +\n        '<span id=\"os-dial\" style=\"display:flex;align-items:center;padding:0 12px;background:#F3F4F6;border-right:1px solid #E3E6EB;font-size:14.5px;font-weight:700;color:#5C5C5C;white-space:nowrap;\">' + (COUNTRIES.filter(function (c) { return c.code === (S.country || 'FR'); })[0] || COUNTRIES[0]).dial + '<\/span>' +\n        '<input type=\"tel\" name=\"phone\" placeholder=\"6 12 34 56 78\" style=\"flex:1;min-width:0;height:44px;padding:0 12px;background:#fff;border:none;font-family:inherit;font-size:14.5px;color:#06283D;outline:none;\">' +\n        '<\/span><\/label><\/div>' +\n        '<label style=\"display:flex;align-items:flex-start;gap:9px;font-size:12.5px;color:#5C5C5C;line-height:1.5;cursor:pointer;margin-top:2px;\"><input type=\"checkbox\" name=\"consent\" required style=\"margin:2px 0 0;accent-color:#008CDF;flex:none;\"> J\\'autorise Ohmycad \u00e0 me recontacter concernant cette demande.<\/label>' +\n        '<button type=\"button\" class=\"os-blue\" style=\"margin-top:6px;\" id=\"os-submit\" data-act=\"sim-submit\">' + f.cta + '<\/button>' +\n        '<div style=\"display:flex;gap:20px;flex-wrap:wrap;margin-top:4px;\"><span style=\"display:flex;align-items:center;gap:7px;font-size:12.5px;color:#6B7280;\"><svg viewBox=\"0 0 24 24\" width=\"14\" height=\"14\" fill=\"none\" stroke=\"#12B67A\" stroke-width=\"2\" style=\"flex:none;\"><rect x=\"5\" y=\"11\" width=\"14\" height=\"9\" rx=\"2\"><\/rect><path d=\"M8 11V7a4 4 0 0 1 8 0\" stroke-linecap=\"round\"><\/path><\/svg>Donn\u00e9es confidentielles<\/span><span style=\"display:flex;align-items:center;gap:7px;font-size:12.5px;color:#6B7280;\"><svg viewBox=\"0 0 24 24\" width=\"14\" height=\"14\" fill=\"none\" stroke=\"#12B67A\" stroke-width=\"2\" style=\"flex:none;\"><circle cx=\"12\" cy=\"12\" r=\"9\"><\/circle><path d=\"M12 7v5l3 2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path><\/svg>R\u00e9ponse sous 24 h ouvr\u00e9es<\/span><\/div>' +\n        '<\/div><\/div>';\n    } else if (scr === 'offers') {\n      var ed = reco();\n      var notEligible = S.history.indexOf('probe') >= 0 && !startupTier();\n      var logo = ed.key === 'std' ? 'sw-design-standard.webp' : ed.key === 'pro' ? 'sw-design-pro.webp' : 'sw-design-premium.webp';\n      var word = S.usersCount > 1 ? 'utilisateurs' : 'utilisateur';\n      body = '<div class=\"os-white-card\">' +\n        '<div style=\"display:flex;flex-direction:column;gap:6px;\"><span style=\"' + KICK + 'color:#8A8F98;font-size:10.5px;\">\u00c9dition recommand\u00e9e<\/span><h2 style=\"' + H2D + '\">Pour votre p\u00e9rim\u00e8tre : ' + ed.name + '<\/h2><\/div>' +\n        (notEligible\n          ? '<div style=\"display:flex;flex-direction:column;gap:16px;border:1px solid rgba(0,140,223,.3);background:rgba(0,140,223,.05);border-radius:10px;padding:24px;\">' +\n            '<div style=\"display:flex;flex-direction:column;gap:7px;\"><span style=\"' + KICK + 'color:#0070C0;font-size:10.5px;\">D\u00e9marrer sans engagement<\/span>' +\n            '<span style=\"font-size:19px;font-weight:800;line-height:1.3;letter-spacing:-.01em;color:#06283D;\">Le programme Startup ne s\\'applique pas \u00e0 votre situation : deux autres fa\u00e7ons de d\u00e9marrer<\/span>' +\n            '<span style=\"font-size:14px;line-height:1.6;color:#5C5C5C;\">Vous travaillez sur le m\u00eame logiciel, sans avancer le budget d\\'une licence annuelle.<\/span><\/div>' +\n            '<div style=\"display:flex;gap:14px;flex-wrap:wrap;\">' +\n            '<div style=\"flex:1 1 250px;display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid #E3E6EB;border-radius:10px;padding:18px 20px;\"><span style=\"' + KICK + 'font-size:10px;letter-spacing:.12em;color:#12B67A;\">Offre d\u00e9couverte<\/span><span style=\"font-size:30px;font-weight:800;line-height:1;letter-spacing:-.02em;color:#06283D;\">3 mois<\/span><span style=\"font-size:13px;line-height:1.55;color:#5C5C5C;\">Licence compl\u00e8te, tarif d\\'entr\u00e9e, accompagnement par un ing\u00e9nieur Ohmycad. De quoi livrer vos premiers projets avant de vous engager.<\/span><button type=\"button\" class=\"os-bluesm\" style=\"margin-top:6px;align-self:flex-start;height:44px;\" data-act=\"go-discover\">Activer mes 3 mois<\/button><\/div>' +\n            '<div style=\"flex:1 1 250px;display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid #E3E6EB;border-radius:10px;padding:18px 20px;\"><span style=\"' + KICK + 'font-size:10px;letter-spacing:.12em;color:#0070C0;\">Essai gratuit<\/span><span style=\"font-size:30px;font-weight:800;line-height:1;letter-spacing:-.02em;color:#06283D;\">1 mois<\/span><span style=\"font-size:13px;line-height:1.55;color:#5C5C5C;\">Acc\u00e8s offert, aucune carte bancaire. On ouvre l\\'environnement et on vous met en route sur vos propres fichiers.<\/span><button type=\"button\" class=\"os-out\" style=\"margin-top:6px;align-self:flex-start;height:44px;padding:0 20px;\" data-act=\"go-trial\">D\u00e9marrer l\\'essai<\/button><\/div><\/div><\/div>' +\n            '<span style=\"font-size:13px;color:#8A8F98;line-height:1.55;\">Le prix plein de l\\'\u00e9dition recommand\u00e9e reste affich\u00e9 ci-dessous, pour r\u00e9f\u00e9rence.<\/span>'\n          : '') +\n        '<div style=\"display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;\"><img decoding=\"async\" src=\"' + U + logo + '\" alt=\"SOLIDWORKS ' + ed.name + '\" style=\"height:32px;width:auto;display:block;\">' +\n        '<span style=\"display:flex;align-items:flex-end;gap:9px;\"><span style=\"font-size:clamp(36px,7vw,52px);font-weight:800;line-height:.92;letter-spacing:-.03em;color:#06283D;\">' + fmt(ed.monthly) + ' \u20ac<\/span><span style=\"font-size:14px;font-weight:600;color:#6B7280;padding-bottom:5px;\">\/mois \/ licence<\/span><\/span><\/div>' +\n        '<span style=\"font-size:13.5px;color:#6B7280;\">' + fmt(ed.annual) + ' \u20ac par an et par licence \u00b7 prix officiel Dassault Syst\u00e8mes<\/span>' +\n        '<div style=\"display:flex;flex-direction:column;gap:10px;\">' + ed.features.map(function (t) {\n          return '<span style=\"display:flex;gap:10px;font-size:14.5px;color:#5C5C5C;line-height:1.5;\"><svg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\" fill=\"none\" style=\"flex:none;margin-top:2px;\"><path d=\"M3 8.5l3.2 3.2L13 4.5\" stroke=\"#008CDF\" stroke-width=\"2.1\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path><\/svg>' + t + '<\/span>';\n        }).join('') + '<\/div>' +\n        '<div style=\"display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:#F3F4F6;border-radius:9px;padding:14px 18px;\"><span style=\"font-size:14px;color:#5C5C5C;\">Votre \u00e9quipe \u00b7 <strong style=\"color:#06283D;\">' + (S.seatsUnknown ? '? ' + word : S.usersCount + ' ' + word) + '<\/strong><\/span><span style=\"font-size:15px;font-weight:800;color:#06283D;\">' + fmt(ed.monthly * S.usersCount) + ' \u20ac\/mois \u00b7 ' + fmt(ed.annual * S.usersCount) + ' \u20ac\/an<\/span><\/div>' +\n        '<div style=\"display:flex;gap:12px;flex-wrap:wrap;\"><button type=\"button\" class=\"os-blue\" style=\"flex:1 1 200px;\" data-act=\"go-rappel\">Se faire rappeler<\/button>' +\n        '<a href=\"\/produit\/solidworks-design-' + ed.slug + '\/\" target=\"_blank\" rel=\"noopener\" class=\"os-out\" style=\"flex:1 1 200px;height:54px;font-size:16px;\">Acheter sur le shop<\/a><\/div>' +\n        '<div style=\"display:flex;gap:14px;flex-wrap:wrap;\">' + ALL_EDITIONS.filter(function (o) { return o.name !== ed.name; }).map(function (a) {\n          return '<div style=\"flex:1 1 220px;border:1px solid #E3E6EB;border-radius:10px;padding:16px 18px;display:flex;flex-direction:column;gap:5px;\"><span style=\"display:flex;align-items:baseline;justify-content:space-between;gap:10px;\"><span style=\"font-size:14px;font-weight:800;color:#06283D;\">' + a.name + '<\/span><span style=\"font-size:14.5px;font-weight:800;color:#06283D;\">' + fmt(a.monthly) + ' \u20ac\/mois<\/span><\/span><span style=\"font-size:12.5px;color:#6B7280;line-height:1.5;\">' + a.desc + '<\/span><\/div>';\n        }).join('') + '<\/div>' +\n        '<div style=\"display:flex;align-items:center;gap:14px;flex-wrap:wrap;border-top:1px solid #E3E6EB;padding-top:18px;\"><span style=\"display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex:none;border-radius:9px;background:rgba(18,182,122,.12);\"><svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#12B67A\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"8\" r=\"4\"><\/circle><path d=\"M20 21a8 8 0 1 0-16 0\"><\/path><\/svg><\/span>' +\n        '<span style=\"flex:1;min-width:220px;font-size:13.5px;color:#5C5C5C;line-height:1.55;\"><strong style=\"color:#06283D;\">Ohmycare, un ing\u00e9nieur d\u00e9di\u00e9 et certifi\u00e9<\/strong> : ni support ni formation, un co-engagement de r\u00e9ussite. 600+ entreprises suivies.<\/span>' +\n        '<a href=\"\/pack-ohmycare\/\" target=\"_blank\" rel=\"noopener\" style=\"font-size:13.5px;font-weight:700;color:#008CDF;white-space:nowrap;text-decoration:none;\">D\u00e9couvrir<\/a><\/div>' +\n        (!notEligible\n          ? '<div style=\"display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:#F3F4F6;border-radius:9px;padding:15px 18px;\"><span style=\"flex:1;min-width:220px;font-size:13.5px;color:#5C5C5C;line-height:1.55;\"><strong style=\"color:#06283D;\">Pas encore d\u00e9cid\u00e9 ?<\/strong> 1 mois d\\'essai gratuit, ou 3 mois d\u00e9couverte pour lancer vos projets.<\/span><div style=\"display:flex;gap:9px;flex-wrap:wrap;\"><button type=\"button\" class=\"os-out\" style=\"height:42px;padding:0 18px;font-size:13.5px;\" data-act=\"go-trial\">Essai 1 mois<\/button><button type=\"button\" class=\"os-out\" style=\"height:42px;padding:0 18px;font-size:13.5px;\" data-act=\"go-discover\">D\u00e9couverte 3 mois<\/button><\/div><\/div>'\n          : '') + '<\/div>';\n    } else if (scr === 'maint') {\n      var m = maintCalc();\n      var blur = S.maintUnlocked ? '' : 'filter:blur(7px);user-select:none;';\n      body = '<div class=\"os-white-card\" style=\"gap:22px;\">' +\n        '<div style=\"display:flex;flex-direction:column;gap:6px;\"><span style=\"' + KICK + 'color:#8A8F98;font-size:10.5px;\">Calculateur de mise \u00e0 jour<\/span><h2 style=\"' + H2D + '\">Votre co\u00fbt de remise \u00e0 niveau<\/h2><\/div>' +\n        '<div style=\"display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;\">' +\n        '<div style=\"display:flex;flex-direction:column;gap:8px;\"><span style=\"display:flex;justify-content:space-between;gap:10px;\"><span style=\"font-size:13.5px;font-weight:600;color:#06283D;\">Nombre de licences<\/span><span id=\"os-mlic\" style=\"font-size:14px;font-weight:800;color:#008CDF;\">' + S.mLic + '<\/span><\/span><input type=\"range\" min=\"1\" max=\"20\" step=\"1\" value=\"' + S.mLic + '\" data-slider=\"mLic\" aria-label=\"Nombre de licences\" style=\"width:100%;height:20px;margin:0;cursor:pointer;\"><\/div>' +\n        '<div style=\"display:flex;flex-direction:column;gap:8px;\"><span style=\"display:flex;justify-content:space-between;gap:10px;\"><span style=\"font-size:13.5px;font-weight:600;color:#06283D;\">Derni\u00e8re version utilis\u00e9e<\/span><span id=\"os-myear\" style=\"font-size:14px;font-weight:800;color:#008CDF;\">' + S.mYear + '<\/span><\/span><input type=\"range\" min=\"2015\" max=\"2025\" step=\"1\" value=\"' + S.mYear + '\" data-slider=\"mYear\" aria-label=\"Derni\u00e8re version utilis\u00e9e\" style=\"width:100%;height:20px;margin:0;cursor:pointer;\"><\/div><\/div>' +\n        '<div style=\"display:flex;gap:14px;flex-wrap:wrap;\">' +\n        '<div style=\"flex:1 1 220px;border:1px solid #E3E6EB;border-radius:10px;padding:18px;display:flex;flex-direction:column;gap:3px;\"><span style=\"font-size:13px;color:#6B7280;\">Mise \u00e0 jour classique<\/span><span id=\"os-mclassic\" style=\"font-size:24px;font-weight:800;color:#6B7280;letter-spacing:-.02em;' + blur + '\">\u2248 ' + fmt(m.tm) + ' \u20ac<\/span><span style=\"font-size:12px;color:#6B7280;\">sur 3 ans obligatoires<\/span><\/div>' +\n        '<div style=\"flex:1 1 220px;border:1px solid #008CDF;border-radius:10px;padding:18px;background:rgba(0,140,223,.05);display:flex;flex-direction:column;gap:3px;\"><span style=\"font-size:13px;font-weight:700;color:#0070C0;\">Alternative Ohmycad<\/span><span id=\"os-mohmy\" style=\"font-size:24px;font-weight:800;color:#06283D;letter-spacing:-.02em;' + blur + '\">\u2248 ' + fmt(m.s3) + ' \u20ac<span style=\"font-size:13px;font-weight:600;color:#6B7280;\">\/an<\/span><\/span><span id=\"os-msav\" style=\"display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:700;color:#12B67A;' + blur + '\"><i style=\"display:block;width:6px;height:6px;border-radius:50%;background:#12B67A;flex:none;\"><\/i>\u2248 ' + fmt(m.savings) + ' \u20ac \u00e9conomis\u00e9s sur 5 ans<\/span><\/div><\/div>' +\n        '<span style=\"font-size:12.5px;color:#8A8F98;line-height:1.5;\">' + (S.maintUnlocked ? 'Estimation sur base de licences Standard. Le d\u00e9tail exact d\u00e9pend de votre configuration.' : 'Chiffres masqu\u00e9s : d\u00e9bloquez le d\u00e9tail exact pour les afficher.') + '<\/span>' +\n        (!S.maintUnlocked\n          ? '<button type=\"button\" class=\"os-out\" style=\"align-self:flex-start;height:48px;padding:0 22px;font-size:14px;gap:9px;\" data-act=\"go-mini\"><svg viewBox=\"0 0 24 24\" width=\"15\" height=\"15\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" style=\"flex:none;\"><rect x=\"5\" y=\"11\" width=\"14\" height=\"9\" rx=\"2\"><\/rect><path d=\"M8 11V7a4 4 0 0 1 8 0\" stroke-linecap=\"round\"><\/path><\/svg>Voir le d\u00e9tail exact (arri\u00e9r\u00e9, projection, remises)<\/button>'\n          : '<div style=\"display:flex;flex-direction:column;gap:12px;border-top:1px solid #E3E6EB;padding-top:18px;\"><span style=\"' + KICK + 'color:#8A8F98;font-size:10.5px;\">D\u00e9tail exact \u00b7 projection cumul\u00e9e 5 ans<\/span>' +\n            '<div style=\"display:flex;align-items:flex-end;gap:16px;height:150px;\">' + m.classic.map(function (c, i) {\n              return '<div style=\"flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end;\"><div style=\"display:flex;align-items:flex-end;justify-content:center;gap:5px;width:100%;height:100%;\"><i style=\"display:block;width:16px;border-radius:3px 3px 0 0;background:#C7D0D8;height:' + Math.max(6, Math.round(c \/ m.max * 100)) + '%;\"><\/i><i style=\"display:block;width:16px;border-radius:3px 3px 0 0;background:#008CDF;height:' + Math.max(6, Math.round(m.ohmy[i] \/ m.max * 100)) + '%;\"><\/i><\/div><span style=\"font-size:11px;color:#8A8F98;\">An ' + (i + 1) + '<\/span><\/div>';\n            }).join('') + '<\/div>' +\n            '<div style=\"display:flex;gap:18px;flex-wrap:wrap;\"><span style=\"display:flex;align-items:center;gap:7px;font-size:12.5px;color:#6B7280;\"><i style=\"display:block;width:10px;height:10px;border-radius:2px;background:#C7D0D8;flex:none;\"><\/i>Mise \u00e0 jour classique<\/span><span style=\"display:flex;align-items:center;gap:7px;font-size:12.5px;color:#6B7280;\"><i style=\"display:block;width:10px;height:10px;border-radius:2px;background:#008CDF;flex:none;\"><\/i>Alternative Ohmycad<\/span><\/div>' +\n            '<div style=\"display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:#F3F4F6;border-radius:9px;padding:13px 16px;\"><span style=\"font-size:13.5px;color:#5C5C5C;\">\u00c9conomies exactes sur 5 ans<\/span><span style=\"font-size:17px;font-weight:800;color:#06283D;\">' + fmt(m.savings) + ' \u20ac <span style=\"font-size:12.5px;font-weight:700;color:#0070C0;\">(\u2212' + m.pct + ' %)<\/span><\/span><\/div><\/div>') +\n        '<button type=\"button\" class=\"os-blue\" style=\"align-self:flex-start;\" data-act=\"go-maintform\">Recevoir mon offre sur mesure ' + ARROW + '<\/button><\/div>';\n    } else if (scr === 'startupOk') {\n      var t2 = startupTier();\n      body = '<div class=\"os-white-card\">' +\n        '<div style=\"display:flex;flex-direction:column;gap:8px;\"><h2 style=\"font-size:28px;font-weight:800;line-height:1.16;letter-spacing:-.02em;color:#06283D;margin:0;\">Vous \u00eates \u00e9ligible au programme Startup<\/h2>' +\n        '<p style=\"font-size:15.5px;line-height:1.6;color:#5C5C5C;margin:0;\">' + (t2 === 2 ? 'Moins de 5 ans, moins de 5 M\u20ac de chiffre d\u2019affaires et moins de 5 M\u20ac lev\u00e9s : vous entrez au palier ann\u00e9e 2 du programme Startup Dassault Syst\u00e8mes.' : 'Moins de 3 ans, moins de 5 M\u20ac de chiffre d\u2019affaires et moins de 5 M\u20ac lev\u00e9s : vous entrez au palier ann\u00e9e 1 du programme Startup Dassault Syst\u00e8mes.') + ' Licences gratuites, sous r\u00e9serve de validation de votre dossier.<\/p><\/div>' +\n        '<div style=\"border:1px solid rgba(0,140,223,.3);background:rgba(0,140,223,.05);border-radius:10px;padding:24px;display:flex;flex-direction:column;gap:6px;\">' +\n        '<span style=\"' + KICK + 'color:#0070C0;font-size:10.5px;\">Offre startup \u00b7 ' + (t2 === 2 ? 'Palier ann\u00e9e 2' : 'Palier ann\u00e9e 1') + '<\/span>' +\n        '<img decoding=\"async\" src=\"' + U + 'sw-design-premium.webp\" alt=\"SOLIDWORKS Design Premium\" style=\"height:30px;width:auto;display:block;align-self:flex-start;margin:6px 0;\">' +\n        '<span style=\"font-size:15px;color:#6B7280;text-decoration:line-through;\">5 496 \u20ac\/an<\/span>' +\n        '<span style=\"display:flex;align-items:baseline;gap:10px;\"><span style=\"font-size:46px;font-weight:800;line-height:1;letter-spacing:-.03em;color:#06283D;\">' + (t2 === 2 ? '1 649 \u20ac' : '0 \u20ac') + '<\/span><span style=\"font-size:13.5px;font-weight:700;color:#0070C0;\">' + (t2 === 2 ? 'la 2\u1d49 ann\u00e9e du programme' : 'la 1\u02b3\u1d49 ann\u00e9e du programme') + '<\/span><\/span>' +\n        '<span style=\"font-size:13.5px;line-height:1.55;color:#5C5C5C;margin-top:6px;padding-top:12px;border-top:1px solid rgba(0,140,223,.22);\">' + (t2 === 2 ? 'Palier ann\u00e9e 2 : \u221270 % sur tous les abonnements 3DEXPERIENCE, quel que soit le r\u00f4le.' : 'Palier ann\u00e9e 1 : \u2212100 % sur les r\u00f4les SOLIDWORKS (gratuits) et \u221290 % sur tous les autres r\u00f4les.') + '<\/span><\/div>' +\n        '<button type=\"button\" class=\"os-blue\" style=\"align-self:flex-start;\" data-act=\"go-startupcall\">R\u00e9server un appel de validation ' + ARROW + '<\/button><\/div>';\n    } else {\n      var end = ENDS[scr] || ENDS.sent;\n      body = '<div class=\"os-white-card\">' +\n        '<span style=\"display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:9px;background:rgba(18,182,122,.12);\"><svg viewBox=\"0 0 24 24\" width=\"26\" height=\"26\" fill=\"none\" stroke=\"#12B67A\" stroke-width=\"1.9\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M4.5 12.5l4.5 4.5L19.5 6.5\"><\/path><\/svg><\/span>' +\n        '<div style=\"display:flex;flex-direction:column;gap:8px;\"><h2 style=\"font-size:28px;font-weight:800;line-height:1.16;letter-spacing:-.02em;color:#06283D;margin:0;\">' + end.title + '<\/h2><p style=\"font-size:15.5px;line-height:1.6;color:#5C5C5C;margin:0;\">' + end.text + '<\/p><\/div>' +\n        (end.code ? '<div style=\"border:1px dashed #008CDF;background:rgba(0,140,223,.05);border-radius:9px;padding:16px 20px;display:flex;flex-direction:column;gap:2px;align-self:flex-start;\"><span style=\"font-size:12px;color:#6B7280;\">Votre code promo<\/span><span style=\"font-family:Archivo,Inter,sans-serif;font-size:26px;font-weight:700;letter-spacing:.12em;color:#06283D;\">OHMY20<\/span><\/div>' : '') +\n        (end.link ? '<a href=\"' + end.href + '\" target=\"_blank\" rel=\"noopener\" class=\"os-blue\" style=\"align-self:flex-start;\">' + end.cta + ' <svg viewBox=\"0 0 16 16\" width=\"15\" height=\"15\" fill=\"none\"><path d=\"M6 10L11 5M7 5h4v4\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path><\/svg><\/a>' : '') +\n        '<button type=\"button\" class=\"os-out\" style=\"align-self:flex-start;height:48px;padding:0 22px;\" data-act=\"restart\">Refaire une simulation<\/button><\/div>';\n    }\n    app.innerHTML = header() + '<div style=\"margin:24px auto 0;max-width:840px;width:100%;display:flex;flex-direction:column;gap:14px;\">' + body + '<\/div>';\n  }\n\n  \/* ---------- soumission (pas de <form> : invisible pour la collecte\n     automatique HubSpot des formulaires non-HubSpot, validation manuelle) ---------- *\/\n  function doSubmit() {\n    var box = document.getElementById('os-form');\n    if (!box) return;\n    var inputs = box.querySelectorAll('input');\n    for (var i = 0; i < inputs.length; i++) {\n      if (!inputs[i].checkValidity()) { inputs[i].reportValidity(); return; }\n    }\n    var v = function (n) { var el = box.querySelector('[name=\"' + n + '\"]'); return el ? el.value.trim() : ''; };\n    var cSel = COUNTRIES.filter(function (c) { return c.code === v('country'); })[0] || COUNTRIES[0];\n    var contact = { fn: v('fn'), ln: v('ln'), email: v('email'), phone: v('phone') ? (cSel.dial !== '+' ? cSel.dial + ' ' : '') + v('phone') : '', company: v('company'), country: cSel.name, countryCode: cSel.code };\n    S.country = cSel.code;\n    if (contact.company) S.data.company = contact.company;\n    S.contact = contact;\n    var btn = document.getElementById('os-submit');\n    if (btn) { btn.disabled = true; btn.style.opacity = '.6'; }\n    dl({ event: 'sim_submit', sim_form_type: S.formType, sim_product: S.data.product || '', sim_client_type: S.data.clientType || '' });\n    var t = S.formType;\n    submitToHubSpot(contact).catch(function () {}).then(function () {\n      if (t === 'newclient' || t === 'startup') {\n        var tier = startupTier();\n        if (tier) dl({ event: 'sim_startup_eligible', sim_tier: tier });\n        go(tier ? 'startupOk' : 'offers');\n      }\n      else if (t === 'catia') { S.catiaUnlocked = true; go('catiaRecap'); }\n      else if (t === 'mini') { S.maintUnlocked = true; go('maint'); }\n      else go('sent');\n      window.scrollTo(0, 0);\n    });\n  }\n\n  \/* ---------- \u00e9v\u00e9nements ---------- *\/\n  document.addEventListener('click', function (e) {\n    var t = e.target.closest('[data-act]');\n    if (!t || !document.getElementById('omcsim').contains(t)) return;\n    var act = t.getAttribute('data-act');\n    if (act === 'chat') { openChat(); return; }\n    if (act === 'back') { back(); return; }\n    if (act === 'restart') { restart(); window.scrollTo(0, 0); return; }\n    if (act === 'pick-sw') { dl({ event: 'sim_product', sim_product: 'solidworks' }); setD({ product: 'solidworks' }, 'profil'); return; }\n    if (act === 'pick-catia') { dl({ event: 'sim_product', sim_product: 'catia' }); setD({ product: 'catia' }, 'profil'); return; }\n    if (act === 'choice') { var run = choiceRuns[+t.getAttribute('data-i')]; if (run) run(); return; }\n    if (act === 'seats-unknown') { S.seatsUnknown = !S.seatsUnknown; render(); return; }\n    if (act === 'team-next') { S.data.usersSet = true; go(S.data.product === 'catia' ? 'company' : (S.data.usesSW ? 'licence' : 'company')); return; }\n    if (act === 'company-next') {\n      if (S.data.product === 'catia') { go('catiaRoles'); return; }\n      var age = 2026 - (S.company.foundYear || 2020);\n      go(age < 5 ? 'probe' : 'needs'); return;\n    }\n    if (act === 'company-skip') { S.company.declined = true; go(S.data.product === 'catia' ? 'catiaRoles' : 'needs'); return; }\n    if (act === 'probe-next') { go('needs'); return; }\n    if (act === 'svc-yes') { S.serviceOnly = 'yes'; render(); return; }\n    if (act === 'svc-no') { S.serviceOnly = 'no'; render(); return; }\n    if (act === 'need') { var k = t.getAttribute('data-key'); S.needs[k] = !S.needs[k]; if (S.needs[k]) S.needs.noidea = false; render(); return; }\n    if (act === 'noidea') { S.needs = S.needs.noidea ? {} : { noidea: true }; render(); return; }\n    if (act === 'needs-next') {\n      var dk = Object.keys(DETAIL_DEFS).filter(function (k) { return S.needs[k]; });\n      dl({ event: 'sim_reco', sim_edition: reco().name });\n      if (dk.length) go('needsDetail'); else go('form', { formType: 'newclient' });\n      return;\n    }\n    if (act === 'detail') { var kk = t.getAttribute('data-key'), oo = t.getAttribute('data-opt'); S.detail[kk] = S.detail[kk] || {}; S.detail[kk][oo] = !S.detail[kk][oo]; render(); return; }\n    if (act === 'detail-next') { dl({ event: 'sim_reco', sim_edition: reco().name }); go('form', { formType: 'newclient' }); return; }\n    if (act === 'role') { var rk = t.getAttribute('data-key'); S.catiaRoleSel[rk] = !S.catiaRoleSel[rk]; render(); return; }\n    if (act === 'roles-next') { dl({ event: 'sim_reco', sim_edition: 'CATIA ' + catiaTier() }); go('catiaRecap'); return; }\n    if (act === 'recap-next') { go('form', { formType: 'catia' }); return; }\n    if (act === 'go-rappel') { go('form', { formType: 'rappel' }); return; }\n    if (act === 'go-trial') { go('form', { formType: 'trial' }); return; }\n    if (act === 'go-discover') { go('form', { formType: 'discover' }); return; }\n    if (act === 'go-mini') { go('form', { formType: 'mini' }); return; }\n    if (act === 'go-maintform') { go('form', { formType: 'maint' }); return; }\n    if (act === 'go-startupcall') { go('form', { formType: 'startupCall' }); return; }\n    if (act === 'sim-submit') { doSubmit(); return; }\n    if (act === 'outbound') { dl({ event: 'sim_outbound', sim_label: t.getAttribute('data-label') }); return; }\n  });\n\n  \/* select pays du formulaire : indicatif synchronis\u00e9 *\/\n  document.addEventListener('change', function (e) {\n    if (!e.target.matches || !e.target.matches('[data-sel=\"country\"]')) return;\n    S.country = e.target.value;\n    var c = COUNTRIES.filter(function (x) { return x.code === S.country; })[0] || COUNTRIES[0];\n    var dial = document.getElementById('os-dial');\n    if (dial) dial.textContent = c.dial;\n  });\n\n  \/* sliders : mise \u00e0 jour cibl\u00e9e, pas de re-render pendant le drag *\/\n  document.addEventListener('input', function (e) {\n    var sl = e.target.getAttribute && e.target.getAttribute('data-slider');\n    if (!sl) return;\n    var v = +e.target.value;\n    if (sl === 'seats') {\n      S.usersCount = v; S.seatsUnknown = false;\n      var eq = S.data.usesSW === true || S.data.catiaUsage === 'oui';\n      var num = document.getElementById('os-seats-num'), w = document.getElementById('os-seats-word'), row = document.getElementById('os-seats-row');\n      if (num) num.textContent = v >= 10 ? '10+' : v;\n      if (w) w.textContent = eq ? (v > 1 ? 'licences' : 'licence') : (v > 1 ? 'utilisateurs' : 'utilisateur');\n      if (row) row.style.opacity = '';\n    } else if (sl === 'foundYear') {\n      S.company.foundYear = v;\n      var a = 2026 - v;\n      var fy = document.getElementById('os-fy'), ag = document.getElementById('os-age');\n      if (fy) fy.textContent = v;\n      if (ag) ag.textContent = a <= 0 ? 'cette ann\u00e9e' : a === 1 ? '1 an' : a + ' ans';\n    } else if (sl === 'caIdx') {\n      S.company.caIdx = v;\n      var ca = document.getElementById('os-ca');\n      if (ca) ca.textContent = CA_BANDS[v];\n    } else if (sl === 'fundIdx') {\n      S.company.fundIdx = v;\n      var fu = document.getElementById('os-fund');\n      if (fu) fu.textContent = FUND_BANDS[v];\n    } else if (sl === 'mLic' || sl === 'mYear') {\n      if (sl === 'mLic') S.mLic = v; else S.mYear = v;\n      var m = maintCalc();\n      var a1 = document.getElementById('os-mlic'), a2 = document.getElementById('os-myear'), c1 = document.getElementById('os-mclassic'), c2 = document.getElementById('os-mohmy'), c3 = document.getElementById('os-msav');\n      if (a1) a1.textContent = S.mLic;\n      if (a2) a2.textContent = S.mYear;\n      if (c1) c1.textContent = '\u2248 ' + fmt(m.tm) + ' \u20ac';\n      if (c2) c2.innerHTML = '\u2248 ' + fmt(m.s3) + ' \u20ac<span style=\"font-size:13px;font-weight:600;color:#6B7280;\">\/an<\/span>';\n      if (c3) c3.innerHTML = '<i style=\"display:block;width:6px;height:6px;border-radius:50%;background:#12B67A;flex:none;\"><\/i>\u2248 ' + fmt(m.savings) + ' \u20ac \u00e9conomis\u00e9s sur 5 ans';\n    }\n  });\n\n  trackScreen('product');\n  render();\n})();\n<\/script>\n\n<script>\n\/* ============================================================\n   Simulateur \u2014 couche i18n (30\/07\/2026)\n   Traduit le DOM rendu par l'app (#os-app) selon la langue de\n   l'URL (\/en\/ \/es\/ \/pt\/ \/nl\/ \/de\/). Aucune modification de la\n   logique de l'app : dictionnaire exact + r\u00e8gles dynamiques,\n   appliqu\u00e9s via MutationObserver \u00e0 chaque rendu.\n   Ordre des traductions : [en, es, pt, nl, de]\n   ============================================================ *\/\n(function () {\n  \"use strict\";\n  var m = location.pathname.match(\/^\\\/(en|es|pt|nl|de)\\\/\/);\n  if (!m) return;\n  var L = { en: 0, es: 1, pt: 2, nl: 3, de: 4 }[m[1]];\n  var app = document.getElementById('os-app');\n  if (!app) return;\n\n  var TR = {\n    \"Combien co\u00fbte vraiment votre licence ?\": [\"What does your license really cost?\", \"\u00bfCu\u00e1nto cuesta realmente su licencia?\", \"Quanto custa realmente a sua licen\u00e7a?\", \"Wat kost uw licentie werkelijk?\", \"Was kostet Ihre Lizenz wirklich?\"],\n    \"Une question \u00e0 la fois. Commencez par choisir votre logiciel.\": [\"One question at a time. Start by choosing your software.\", \"Una pregunta a la vez. Empiece por elegir su software.\", \"Uma pergunta de cada vez. Comece por escolher o seu software.\", \"E\u00e9n vraag tegelijk. Kies eerst uw software.\", \"Eine Frage nach der anderen. W\u00e4hlen Sie zuerst Ihre Software.\"],\n    \"1 500+ clients accompagn\u00e9s\": [\"1,500+ clients supported\", \"M\u00e1s de 1.500 clientes acompa\u00f1ados\", \"Mais de 1.500 clientes acompanhados\", \"1.500+ begeleide klanten\", \"1.500+ betreute Kunden\"],\n    \"4,9\/5 sur Google\": [\"4.9\/5 on Google\", \"4,9\/5 en Google\", \"4,9\/5 no Google\", \"4,9\/5 op Google\", \"4,9\/5 bei Google\"],\n    \"#1 revendeur cloud mondial Dassault Syst\u00e8mes 2025-2026\": [\"#1 Dassault Syst\u00e8mes global cloud reseller 2025-2026\", \"Distribuidor cloud n.\u00ba 1 mundial de Dassault Syst\u00e8mes 2025-2026\", \"Revendedor cloud n.\u00ba 1 mundial da Dassault Syst\u00e8mes 2025-2026\", \"#1 wereldwijde cloudreseller van Dassault Syst\u00e8mes 2025-2026\", \"Weltweiter Cloud-Reseller Nr. 1 von Dassault Syst\u00e8mes 2025-2026\"],\n    \"Profil\": [\"Profile\", \"Perfil\", \"Perfil\", \"Profiel\", \"Profil\"],\n    \"Situation\": [\"Situation\", \"Situaci\u00f3n\", \"Situa\u00e7\u00e3o\", \"Situatie\", \"Situation\"],\n    \"Besoins\": [\"Needs\", \"Necesidades\", \"Necessidades\", \"Behoeften\", \"Bedarf\"],\n    \"Offre\": [\"Offer\", \"Oferta\", \"Oferta\", \"Aanbod\", \"Angebot\"],\n    \"Retour\": [\"Back\", \"Atr\u00e1s\", \"Voltar\", \"Terug\", \"Zur\u00fcck\"],\n    \"Red\u00e9marrer\": [\"Restart\", \"Reiniciar\", \"Recome\u00e7ar\", \"Opnieuw\", \"Neu starten\"],\n    \"Quel est votre profil ?\": [\"What is your profile?\", \"\u00bfCu\u00e1l es su perfil?\", \"Qual \u00e9 o seu perfil?\", \"Wat is uw profiel?\", \"Was ist Ihr Profil?\"],\n    \"Fondateur \/ dirigeant\": [\"Founder \/ executive\", \"Fundador \/ directivo\", \"Fundador \/ dirigente\", \"Oprichter \/ directeur\", \"Gr\u00fcnder \/ Gesch\u00e4ftsf\u00fchrer\"],\n    \"Responsable bureau d\u2019\u00e9tudes\": [\"Design office manager\", \"Responsable de oficina t\u00e9cnica\", \"Respons\u00e1vel do gabinete de projeto\", \"Hoofd engineering\", \"Leiter Konstruktionsb\u00fcro\"],\n    \"Designer \/ concepteur\": [\"Designer \/ engineer\", \"Dise\u00f1ador \/ proyectista\", \"Designer \/ projetista\", \"Ontwerper \/ constructeur\", \"Designer \/ Konstrukteur\"],\n    \"IT \/ achats\": [\"IT \/ purchasing\", \"IT \/ compras\", \"IT \/ compras\", \"IT \/ inkoop\", \"IT \/ Einkauf\"],\n    \"Je ne veux pas pr\u00e9ciser\": [\"I'd rather not say\", \"Prefiero no especificar\", \"Prefiro n\u00e3o especificar\", \"Zeg ik liever niet\", \"Keine Angabe\"],\n    \"\u00c9tudiant\": [\"Student\", \"Estudiante\", \"Estudante\", \"Student\", \"Student\"],\n    \"\u00c9cole, universit\u00e9\": [\"School, university\", \"Escuela, universidad\", \"Escola, universidade\", \"School, universiteit\", \"Schule, Universit\u00e4t\"],\n    \"Particulier\": [\"Individual\", \"Particular\", \"Particular\", \"Particulier\", \"Privatperson\"],\n    \"Usage personnel, hobby\": [\"Personal use, hobby\", \"Uso personal, hobby\", \"Uso pessoal, hobby\", \"Persoonlijk gebruik, hobby\", \"Privatnutzung, Hobby\"],\n    \"Autres profils \u00b7 offres Dassault Syst\u00e8mes d\u00e9di\u00e9es\": [\"Other profiles \u00b7 dedicated Dassault Syst\u00e8mes offers\", \"Otros perfiles \u00b7 ofertas dedicadas de Dassault Syst\u00e8mes\", \"Outros perfis \u00b7 ofertas dedicadas da Dassault Syst\u00e8mes\", \"Andere profielen \u00b7 speciale Dassault Syst\u00e8mes-aanbiedingen\", \"Andere Profile \u00b7 spezielle Dassault Syst\u00e8mes-Angebote\"],\n    \"Utilisez-vous d\u00e9j\u00e0 un logiciel de conception 3D ?\": [\"Do you already use 3D design software?\", \"\u00bfYa utiliza un software de dise\u00f1o 3D?\", \"J\u00e1 utiliza um software de conce\u00e7\u00e3o 3D?\", \"Gebruikt u al 3D-ontwerpsoftware?\", \"Nutzen Sie bereits eine 3D-Konstruktionssoftware?\"],\n    \"Oui, SOLIDWORKS\": [\"Yes, SOLIDWORKS\", \"S\u00ed, SOLIDWORKS\", \"Sim, SOLIDWORKS\", \"Ja, SOLIDWORKS\", \"Ja, SOLIDWORKS\"],\n    \"Nous avons des licences\": [\"We have licenses\", \"Tenemos licencias\", \"Temos licen\u00e7as\", \"We hebben licenties\", \"Wir haben Lizenzen\"],\n    \"Oui, CATIA\": [\"Yes, CATIA\", \"S\u00ed, CATIA\", \"Sim, CATIA\", \"Ja, CATIA\", \"Ja, CATIA\"],\n    \"Licences ou abonnements en cours\": [\"Active licenses or subscriptions\", \"Licencias o suscripciones activas\", \"Licen\u00e7as ou subscri\u00e7\u00f5es ativas\", \"Lopende licenties of abonnementen\", \"Laufende Lizenzen oder Abos\"],\n    \"Oui, un autre logiciel\": [\"Yes, another software\", \"S\u00ed, otro software\", \"Sim, outro software\", \"Ja, andere software\", \"Ja, eine andere Software\"],\n    \"Non, nous d\u00e9couvrons\": [\"No, we're just starting\", \"No, estamos empezando\", \"N\u00e3o, estamos a come\u00e7ar\", \"Nee, we beginnen net\", \"Nein, wir fangen gerade an\"],\n    \"Premier outil de conception 3D\": [\"First 3D design tool\", \"Primera herramienta de dise\u00f1o 3D\", \"Primeira ferramenta de conce\u00e7\u00e3o 3D\", \"Eerste 3D-ontwerptool\", \"Erstes 3D-Konstruktionstool\"],\n    \"Comment \u00eates-vous \u00e9quip\u00e9 aujourd'hui ?\": [\"How are you equipped today?\", \"\u00bfC\u00f3mo est\u00e1 equipado actualmente?\", \"Como est\u00e1 equipado atualmente?\", \"Hoe bent u momenteel uitgerust?\", \"Wie sind Sie heute ausgestattet?\"],\n    \"Abonnement en cours\": [\"Active subscription\", \"Suscripci\u00f3n activa\", \"Subscri\u00e7\u00e3o ativa\", \"Lopend abonnement\", \"Laufendes Abo\"],\n    \"Licence term \/ cloud active\": [\"Active term \/ cloud license\", \"Licencia term \/ cloud activa\", \"Licen\u00e7a term \/ cloud ativa\", \"Actieve term-\/cloudlicentie\", \"Aktive Term-\/Cloud-Lizenz\"],\n    \"Perp\u00e9tuelle sous maintenance\": [\"Perpetual under maintenance\", \"Perpetua con mantenimiento\", \"Perp\u00e9tua com manuten\u00e7\u00e3o\", \"Permanent met onderhoud\", \"Kauflizenz mit Wartung\"],\n    \"Maintenance active\": [\"Active maintenance\", \"Mantenimiento activo\", \"Manuten\u00e7\u00e3o ativa\", \"Actief onderhoud\", \"Aktive Wartung\"],\n    \"Perp\u00e9tuelle sans maintenance\": [\"Perpetual without maintenance\", \"Perpetua sin mantenimiento\", \"Perp\u00e9tua sem manuten\u00e7\u00e3o\", \"Permanent zonder onderhoud\", \"Kauflizenz ohne Wartung\"],\n    \"Maintenance expir\u00e9e\": [\"Expired maintenance\", \"Mantenimiento caducado\", \"Manuten\u00e7\u00e3o expirada\", \"Onderhoud verlopen\", \"Wartung abgelaufen\"],\n    \"Tout se passe bien avec SOLIDWORKS ?\": [\"Is everything going well with SOLIDWORKS?\", \"\u00bfTodo va bien con SOLIDWORKS?\", \"Est\u00e1 tudo a correr bem com o SOLIDWORKS?\", \"Gaat alles goed met SOLIDWORKS?\", \"L\u00e4uft alles gut mit SOLIDWORKS?\"],\n    \"Oui, parfait\": [\"Yes, perfect\", \"S\u00ed, perfecto\", \"Sim, perfeito\", \"Ja, prima\", \"Ja, alles bestens\"],\n    \"Tout va bien\": [\"All good\", \"Todo bien\", \"Tudo bem\", \"Alles goed\", \"Alles gut\"],\n    \"Non, des soucis\": [\"No, some issues\", \"No, hay problemas\", \"N\u00e3o, h\u00e1 problemas\", \"Nee, wat problemen\", \"Nein, es gibt Probleme\"],\n    \"Besoin d'aide\": [\"Need help\", \"Necesito ayuda\", \"Preciso de ajuda\", \"Hulp nodig\", \"Hilfe ben\u00f6tigt\"],\n    \"Utilisez-vous d\u00e9j\u00e0 CATIA ?\": [\"Do you already use CATIA?\", \"\u00bfYa utiliza CATIA?\", \"J\u00e1 utiliza o CATIA?\", \"Gebruikt u al CATIA?\", \"Nutzen Sie bereits CATIA?\"],\n    \"Oui\": [\"Yes\", \"S\u00ed\", \"Sim\", \"Ja\", \"Ja\"],\n    \"Non\": [\"No\", \"No\", \"N\u00e3o\", \"Nee\", \"Nein\"],\n    \"CATIA V5, licence perp\u00e9tuelle\": [\"CATIA V5, perpetual license\", \"CATIA V5, licencia perpetua\", \"CATIA V5, licen\u00e7a perp\u00e9tua\", \"CATIA V5, permanente licentie\", \"CATIA V5, Kauflizenz\"],\n    \"Sans maintenance active\": [\"No active maintenance\", \"Sin mantenimiento activo\", \"Sem manuten\u00e7\u00e3o ativa\", \"Zonder actief onderhoud\", \"Ohne aktive Wartung\"],\n    \"CATIA V5 sous maintenance\": [\"CATIA V5 under maintenance\", \"CATIA V5 con mantenimiento\", \"CATIA V5 com manuten\u00e7\u00e3o\", \"CATIA V5 met onderhoud\", \"CATIA V5 mit Wartung\"],\n    \"Contrat Dassault Syst\u00e8mes en cours\": [\"Active Dassault Syst\u00e8mes contract\", \"Contrato Dassault Syst\u00e8mes activo\", \"Contrato Dassault Syst\u00e8mes ativo\", \"Lopend Dassault Syst\u00e8mes-contract\", \"Laufender Dassault Syst\u00e8mes-Vertrag\"],\n    \"CATIA sur 3DEXPERIENCE\": [\"CATIA on 3DEXPERIENCE\", \"CATIA en 3DEXPERIENCE\", \"CATIA no 3DEXPERIENCE\", \"CATIA op 3DEXPERIENCE\", \"CATIA auf 3DEXPERIENCE\"],\n    \"Abonnement cloud en cours\": [\"Active cloud subscription\", \"Suscripci\u00f3n cloud activa\", \"Subscri\u00e7\u00e3o cloud ativa\", \"Lopend cloudabonnement\", \"Laufendes Cloud-Abo\"],\n    \"Je ne sais pas exactement\": [\"I'm not sure exactly\", \"No lo s\u00e9 exactamente\", \"N\u00e3o sei exatamente\", \"Ik weet het niet precies\", \"Ich wei\u00df es nicht genau\"],\n    \"On fait le point ensemble\": [\"We'll figure it out together\", \"Lo revisamos juntos\", \"Analisamos juntos\", \"We bekijken het samen\", \"Wir kl\u00e4ren das gemeinsam\"],\n    \"Combien de licences SOLIDWORKS avez-vous aujourd\u2019hui ?\": [\"How many SOLIDWORKS licenses do you have today?\", \"\u00bfCu\u00e1ntas licencias de SOLIDWORKS tiene actualmente?\", \"Quantas licen\u00e7as SOLIDWORKS tem atualmente?\", \"Hoeveel SOLIDWORKS-licenties heeft u momenteel?\", \"Wie viele SOLIDWORKS-Lizenzen haben Sie heute?\"],\n    \"Combien de licences CATIA avez-vous aujourd\u2019hui ?\": [\"How many CATIA licenses do you have today?\", \"\u00bfCu\u00e1ntas licencias de CATIA tiene actualmente?\", \"Quantas licen\u00e7as CATIA tem atualmente?\", \"Hoeveel CATIA-licenties heeft u momenteel?\", \"Wie viele CATIA-Lizenzen haben Sie heute?\"],\n    \"Combien serez-vous \u00e0 utiliser SOLIDWORKS ?\": [\"How many of you will use SOLIDWORKS?\", \"\u00bfCu\u00e1ntos usar\u00e1n SOLIDWORKS?\", \"Quantos v\u00e3o utilizar o SOLIDWORKS?\", \"Met hoeveel gaat u SOLIDWORKS gebruiken?\", \"Wie viele werden SOLIDWORKS nutzen?\"],\n    \"Combien serez-vous \u00e0 utiliser CATIA ?\": [\"How many of you will use CATIA?\", \"\u00bfCu\u00e1ntos usar\u00e1n CATIA?\", \"Quantos v\u00e3o utilizar o CATIA?\", \"Met hoeveel gaat u CATIA gebruiken?\", \"Wie viele werden CATIA nutzen?\"],\n    \"On part de votre parc actuel pour calibrer la suite.\": [\"We start from your current installed base to size what comes next.\", \"Partimos de su parque actual para calibrar lo siguiente.\", \"Partimos do seu parque atual para calibrar o resto.\", \"We vertrekken vanuit uw huidige situatie om het vervolg te bepalen.\", \"Wir gehen von Ihrem aktuellen Bestand aus, um das Weitere zu kalibrieren.\"],\n    \"On calibre tout de suite l'offre pour votre \u00e9quipe.\": [\"We size the offer for your team right away.\", \"Calibramos la oferta para su equipo de inmediato.\", \"Calibramos j\u00e1 a oferta para a sua equipa.\", \"We stemmen het aanbod meteen af op uw team.\", \"Wir kalibrieren das Angebot sofort f\u00fcr Ihr Team.\"],\n    \"utilisateur\": [\"user\", \"usuario\", \"utilizador\", \"gebruiker\", \"Nutzer\"],\n    \"utilisateurs\": [\"users\", \"usuarios\", \"utilizadores\", \"gebruikers\", \"Nutzer\"],\n    \"licence\": [\"license\", \"licencia\", \"licen\u00e7a\", \"licentie\", \"Lizenz\"],\n    \"licences\": [\"licenses\", \"licencias\", \"licen\u00e7as\", \"licenties\", \"Lizenzen\"],\n    \"\u00e0 d\u00e9finir\": [\"to be defined\", \"por definir\", \"a definir\", \"nader te bepalen\", \"noch offen\"],\n    \"10 et +\": [\"10 and up\", \"10 o m\u00e1s\", \"10 ou mais\", \"10 en meer\", \"10 und mehr\"],\n    \"Continuer\": [\"Continue\", \"Continuar\", \"Continuar\", \"Doorgaan\", \"Weiter\"],\n    \"Je ne sais pas encore\": [\"I don't know yet\", \"A\u00fan no lo s\u00e9\", \"Ainda n\u00e3o sei\", \"Weet ik nog niet\", \"Wei\u00df ich noch nicht\"],\n    \"Parlez-nous de votre entreprise\": [\"Tell us about your company\", \"H\u00e1blenos de su empresa\", \"Fale-nos da sua empresa\", \"Vertel ons over uw bedrijf\", \"Erz\u00e4hlen Sie uns von Ihrem Unternehmen\"],\n    \"Deux rep\u00e8res pour adapter l'offre \u00e0 votre contexte.\": [\"Two data points to tailor the offer to your context.\", \"Dos referencias para adaptar la oferta a su contexto.\", \"Duas refer\u00eancias para adaptar a oferta ao seu contexto.\", \"Twee gegevens om het aanbod op uw context af te stemmen.\", \"Zwei Angaben, um das Angebot an Ihren Kontext anzupassen.\"],\n    \"Ann\u00e9e de cr\u00e9ation\": [\"Year founded\", \"A\u00f1o de creaci\u00f3n\", \"Ano de funda\u00e7\u00e3o\", \"Oprichtingsjaar\", \"Gr\u00fcndungsjahr\"],\n    \"cette ann\u00e9e\": [\"this year\", \"este a\u00f1o\", \"este ano\", \"dit jaar\", \"dieses Jahr\"],\n    \"1 an\": [\"1 year\", \"1 a\u00f1o\", \"1 ano\", \"1 jaar\", \"1 Jahr\"],\n    \"Chiffre d'affaires annuel\": [\"Annual revenue\", \"Facturaci\u00f3n anual\", \"Volume de neg\u00f3cios anual\", \"Jaaromzet\", \"Jahresumsatz\"],\n    \"Je ne souhaite pas communiquer\": [\"I'd rather not share\", \"Prefiero no comunicarlo\", \"Prefiro n\u00e3o divulgar\", \"Deel ik liever niet\", \"M\u00f6chte ich nicht angeben\"],\n    \"Attention : sans ces deux rep\u00e8res, la simulation sera moins pr\u00e9cise\": [\"Note: without these two data points, the simulation will be less accurate\", \"Atenci\u00f3n: sin estas dos referencias, la simulaci\u00f3n ser\u00e1 menos precisa\", \"Aten\u00e7\u00e3o: sem estas duas refer\u00eancias, a simula\u00e7\u00e3o ser\u00e1 menos precisa\", \"Let op: zonder deze twee gegevens is de simulatie minder nauwkeurig\", \"Hinweis: Ohne diese beiden Angaben ist die Simulation weniger genau\"],\n    \"Programmes d'aide\": [\"Support programs\", \"Programas de ayuda\", \"Programas de apoio\", \"Steunprogramma's\", \"F\u00f6rderprogramme\"],\n    \"Deux derni\u00e8res pr\u00e9cisions\": [\"Two last details\", \"Dos \u00faltimos detalles\", \"Dois \u00faltimos detalhes\", \"Twee laatste details\", \"Zwei letzte Angaben\"],\n    \"Financements lev\u00e9s \u00e0 ce jour\": [\"Funding raised to date\", \"Financiaci\u00f3n captada hasta hoy\", \"Financiamento angariado at\u00e9 hoje\", \"Opgehaalde financiering tot nu toe\", \"Bisher eingeworbene Finanzierung\"],\n    \"Financements lev\u00e9s\": [\"Funding raised\", \"Financiaci\u00f3n captada\", \"Financiamento angariado\", \"Opgehaalde financiering\", \"Eingeworbene Finanzierung\"],\n    \"Lev\u00e9es, subventions, pr\u00eats d'amor\u00e7age : laissez sur \u00ab Autofinanc\u00e9 \u00bb si vous n'\u00eates pas concern\u00e9.\": [\"Fundraising, grants, seed loans: leave on \u201cSelf-funded\u201d if this doesn't apply to you.\", \"Rondas, subvenciones, pr\u00e9stamos semilla: deje \u00abAutofinanciado\u00bb si no le aplica.\", \"Rondas, subs\u00eddios, empr\u00e9stimos iniciais: deixe em \u00abAutofinanciado\u00bb se n\u00e3o se aplicar.\", \"Rondes, subsidies, startleningen: laat op \u201cZelfgefinancierd\u201d staan als dit niet van toepassing is.\", \"Runden, Zusch\u00fcsse, Startdarlehen: Lassen Sie \u201eEigenfinanziert\u201c, wenn nicht zutreffend.\"],\n    \"Faites-vous uniquement de la prestation de service ?\": [\"Do you only provide services?\", \"\u00bfSe dedica \u00fanicamente a la prestaci\u00f3n de servicios?\", \"Dedica-se apenas \u00e0 presta\u00e7\u00e3o de servi\u00e7os?\", \"Levert u uitsluitend diensten?\", \"Erbringen Sie ausschlie\u00dflich Dienstleistungen?\"],\n    \"Oui, uniquement\": [\"Yes, only services\", \"S\u00ed, \u00fanicamente\", \"Sim, apenas\", \"Ja, uitsluitend\", \"Ja, ausschlie\u00dflich\"],\n    \"Non, je d\u00e9veloppe mon propre produit\": [\"No, I develop my own product\", \"No, desarrollo mi propio producto\", \"N\u00e3o, desenvolvo o meu pr\u00f3prio produto\", \"Nee, ik ontwikkel mijn eigen product\", \"Nein, ich entwickle ein eigenes Produkt\"],\n    \"Autofinanc\u00e9\": [\"Self-funded\", \"Autofinanciado\", \"Autofinanciado\", \"Zelfgefinancierd\", \"Eigenfinanziert\"],\n    \"5 M\u20ac et +\": [\"\u20ac5M and up\", \"5 M\u20ac o m\u00e1s\", \"5 M\u20ac ou mais\", \"5 M\u20ac en meer\", \"5 Mio. \u20ac und mehr\"],\n    \"50 M\u20ac et +\": [\"\u20ac50M and up\", \"50 M\u20ac o m\u00e1s\", \"50 M\u20ac ou mais\", \"50 M\u20ac en meer\", \"50 Mio. \u20ac und mehr\"],\n    \"Que devez-vous faire avec le logiciel ?\": [\"What do you need to do with the software?\", \"\u00bfQu\u00e9 necesita hacer con el software?\", \"O que precisa de fazer com o software?\", \"Wat moet u met de software doen?\", \"Was m\u00fcssen Sie mit der Software tun?\"],\n    \"Plusieurs r\u00e9ponses possibles. C'est ce qui d\u00e9termine l'\u00e9dition recommand\u00e9e.\": [\"Multiple answers possible. This determines the recommended edition.\", \"Varias respuestas posibles. Esto determina la edici\u00f3n recomendada.\", \"V\u00e1rias respostas poss\u00edveis. \u00c9 isto que determina a edi\u00e7\u00e3o recomendada.\", \"Meerdere antwoorden mogelijk. Dit bepaalt de aanbevolen editie.\", \"Mehrere Antworten m\u00f6glich. Das bestimmt die empfohlene Edition.\"],\n    \"Aucune id\u00e9e, conseillez-moi\": [\"No idea, advise me\", \"Ni idea, acons\u00e9jenme\", \"N\u00e3o fa\u00e7o ideia, aconselhem-me\", \"Geen idee, adviseer mij\", \"Keine Ahnung, beraten Sie mich\"],\n    \"Conception 3D\": [\"3D design\", \"Dise\u00f1o 3D\", \"Conce\u00e7\u00e3o 3D\", \"3D-ontwerp\", \"3D-Konstruktion\"],\n    \"Pi\u00e8ces, assemblages, plans\": [\"Parts, assemblies, drawings\", \"Piezas, ensamblajes, planos\", \"Pe\u00e7as, montagens, desenhos\", \"Onderdelen, samenstellingen, tekeningen\", \"Teile, Baugruppen, Zeichnungen\"],\n    \"Rendu photor\u00e9aliste\": [\"Photorealistic rendering\", \"Renderizado fotorrealista\", \"Renderiza\u00e7\u00e3o fotorrealista\", \"Fotorealistische rendering\", \"Fotorealistisches Rendering\"],\n    \"Visualisation, animations\": [\"Visualization, animations\", \"Visualizaci\u00f3n, animaciones\", \"Visualiza\u00e7\u00e3o, anima\u00e7\u00f5es\", \"Visualisatie, animaties\", \"Visualisierung, Animationen\"],\n    \"Simulation lin\u00e9aire\": [\"Linear simulation\", \"Simulaci\u00f3n lineal\", \"Simula\u00e7\u00e3o linear\", \"Lineaire simulatie\", \"Lineare Simulation\"],\n    \"FEA, pr\u00e9dimensionnement\": [\"FEA, pre-sizing\", \"FEA, predimensionamiento\", \"FEA, pr\u00e9-dimensionamento\", \"FEA, voordimensionering\", \"FEA, Vorauslegung\"],\n    \"Simulation avanc\u00e9e\": [\"Advanced simulation\", \"Simulaci\u00f3n avanzada\", \"Simula\u00e7\u00e3o avan\u00e7ada\", \"Geavanceerde simulatie\", \"Erweiterte Simulation\"],\n    \"CFD, non lin\u00e9aire, EM\": [\"CFD, nonlinear, EM\", \"CFD, no lineal, EM\", \"CFD, n\u00e3o linear, EM\", \"CFD, niet-lineair, EM\", \"CFD, nichtlinear, EM\"],\n    \"Travail collaboratif\": [\"Collaborative work\", \"Trabajo colaborativo\", \"Trabalho colaborativo\", \"Samenwerken\", \"Zusammenarbeit\"],\n    \"Multiposte, partage\": [\"Multi-seat, sharing\", \"Multipuesto, uso compartido\", \"Multiposto, partilha\", \"Meerdere werkplekken, delen\", \"Mehrplatz, Freigabe\"],\n    \"Gestion de donn\u00e9es\": [\"Data management\", \"Gesti\u00f3n de datos\", \"Gest\u00e3o de dados\", \"Databeheer\", \"Datenmanagement\"],\n    \"PDM, versions, workflow\": [\"PDM, versions, workflow\", \"PDM, versiones, flujos\", \"PDM, vers\u00f5es, workflow\", \"PDM, versies, workflow\", \"PDM, Versionen, Workflow\"],\n    \"Nomenclature \/ BOM\": [\"Bill of materials \/ BOM\", \"Lista de materiales \/ BOM\", \"Lista de materiais \/ BOM\", \"Stuklijst \/ BOM\", \"St\u00fcckliste \/ BOM\"],\n    \"Costing, ERP\": [\"Costing, ERP\", \"Costing, ERP\", \"Custeio, ERP\", \"Costing, ERP\", \"Kalkulation, ERP\"],\n    \"Fabrication CAM \/ FAO\": [\"CAM manufacturing\", \"Fabricaci\u00f3n CAM\", \"Fabrico CAM\", \"CAM-productie\", \"CAM-Fertigung\"],\n    \"Usinage, trajectoires\": [\"Machining, toolpaths\", \"Mecanizado, trayectorias\", \"Maquinagem, trajet\u00f3rias\", \"Verspaning, gereedschapsbanen\", \"Zerspanung, Werkzeugwege\"],\n    \"\u00c9lectrique \/ routing\": [\"Electrical \/ routing\", \"El\u00e9ctrico \/ routing\", \"El\u00e9trico \/ routing\", \"Elektrisch \/ routing\", \"Elektrik \/ Routing\"],\n    \"Sch\u00e9matique, harnais\": [\"Schematics, harnesses\", \"Esquemas, arneses\", \"Esquemas, cablagens\", \"Schema's, kabelbomen\", \"Schaltpl\u00e4ne, Kabelb\u00e4ume\"],\n    \"T\u00f4lerie \/ m\u00e9cano-soud\u00e9\": [\"Sheet metal \/ welded structures\", \"Chapa \/ estructuras soldadas\", \"Chapa \/ estruturas soldadas\", \"Plaatwerk \/ laswerk\", \"Blech \/ Schwei\u00dfkonstruktionen\"],\n    \"Pliage, soudures\": [\"Bending, welds\", \"Plegado, soldaduras\", \"Quinagem, soldaduras\", \"Buigen, lassen\", \"Biegen, Schwei\u00dfn\u00e4hte\"],\n    \"Surfacique avanc\u00e9\": [\"Advanced surfacing\", \"Superficies avanzadas\", \"Superf\u00edcies avan\u00e7adas\", \"Geavanceerde oppervlaktemodellering\", \"Erweiterte Fl\u00e4chenmodellierung\"],\n    \"Formes complexes\": [\"Complex shapes\", \"Formas complejas\", \"Formas complexas\", \"Complexe vormen\", \"Komplexe Formen\"],\n    \"Autre besoin\": [\"Other need\", \"Otra necesidad\", \"Outra necessidade\", \"Andere behoefte\", \"Anderer Bedarf\"],\n    \"\u00c0 pr\u00e9ciser avec un expert\": [\"To be defined with an expert\", \"Por concretar con un experto\", \"A definir com um especialista\", \"Nader te bepalen met een expert\", \"Mit einem Experten zu kl\u00e4ren\"],\n    \"Pr\u00e9cisons vos besoins\": [\"Let's refine your needs\", \"Concretemos sus necesidades\", \"Vamos detalhar as suas necessidades\", \"Laten we uw behoeften verfijnen\", \"Pr\u00e4zisieren wir Ihren Bedarf\"],\n    \"Juste ce que vous avez coch\u00e9, pour recommander la bonne brique.\": [\"Only what you checked, to recommend the right building block.\", \"Solo lo que ha marcado, para recomendar el m\u00f3dulo adecuado.\", \"Apenas o que assinalou, para recomendar o m\u00f3dulo certo.\", \"Alleen wat u heeft aangevinkt, om de juiste module aan te bevelen.\", \"Nur was Sie angekreuzt haben, um den richtigen Baustein zu empfehlen.\"],\n    \"Simulation structurelle\": [\"Structural simulation\", \"Simulaci\u00f3n estructural\", \"Simula\u00e7\u00e3o estrutural\", \"Structurele simulatie\", \"Struktursimulation\"],\n    \"Simulation fluidique\": [\"Fluid simulation\", \"Simulaci\u00f3n de fluidos\", \"Simula\u00e7\u00e3o de fluidos\", \"Stromingssimulatie\", \"Str\u00f6mungssimulation\"],\n    \"Simulation structurelle avanc\u00e9e\": [\"Advanced structural simulation\", \"Simulaci\u00f3n estructural avanzada\", \"Simula\u00e7\u00e3o estrutural avan\u00e7ada\", \"Geavanceerde structurele simulatie\", \"Erweiterte Struktursimulation\"],\n    \"Autre \/ je ne sais pas\": [\"Other \/ I don't know\", \"Otro \/ no lo s\u00e9\", \"Outro \/ n\u00e3o sei\", \"Anders \/ weet ik niet\", \"Anderes \/ wei\u00df ich nicht\"],\n    \"Sch\u00e9matique\": [\"Schematics\", \"Esquemas\", \"Esquemas\", \"Schema's\", \"Schaltpl\u00e4ne\"],\n    \"Routing 3D\": [\"3D routing\", \"Routing 3D\", \"Routing 3D\", \"3D-routing\", \"3D-Routing\"],\n    \"Harnais\": [\"Harnesses\", \"Arneses\", \"Cablagens\", \"Kabelbomen\", \"Kabelb\u00e4ume\"],\n    \"Je ne sais pas\": [\"I don't know\", \"No lo s\u00e9\", \"N\u00e3o sei\", \"Weet ik niet\", \"Wei\u00df ich nicht\"],\n    \"Fraisage 2.5-3 axes\": [\"2.5-3 axis milling\", \"Fresado 2,5-3 ejes\", \"Fresagem 2,5-3 eixos\", \"2,5-3-assig frezen\", \"2,5-3-Achs-Fr\u00e4sen\"],\n    \"Tournage\": [\"Turning\", \"Torneado\", \"Torneamento\", \"Draaien\", \"Drehen\"],\n    \"Multi-axes\": [\"Multi-axis\", \"Multieje\", \"Multieixo\", \"Meerassig\", \"Mehrachsig\"],\n    \"\u00c9lectrique\": [\"Electrical\", \"El\u00e9ctrico\", \"El\u00e9trico\", \"Elektrisch\", \"Elektrik\"],\n    \"Quels modules souhaitez-vous ?\": [\"Which modules do you need?\", \"\u00bfQu\u00e9 m\u00f3dulos necesita?\", \"Que m\u00f3dulos precisa?\", \"Welke modules wenst u?\", \"Welche Module ben\u00f6tigen Sie?\"],\n    \"S\u00e9lectionnez les modules dont vous avez besoin : la configuration 3DEXPERIENCE s'ajuste en cons\u00e9quence.\": [\"Select the modules you need: the 3DEXPERIENCE configuration adjusts accordingly.\", \"Seleccione los m\u00f3dulos que necesita: la configuraci\u00f3n 3DEXPERIENCE se ajusta en consecuencia.\", \"Selecione os m\u00f3dulos de que precisa: a configura\u00e7\u00e3o 3DEXPERIENCE ajusta-se em conformidade.\", \"Selecteer de modules die u nodig heeft: de 3DEXPERIENCE-configuratie past zich hierop aan.\", \"W\u00e4hlen Sie die ben\u00f6tigten Module: Die 3DEXPERIENCE-Konfiguration passt sich entsprechend an.\"],\n    \"Modules & r\u00f4les 3DEXPERIENCE\": [\"3DEXPERIENCE modules & roles\", \"M\u00f3dulos y roles 3DEXPERIENCE\", \"M\u00f3dulos e pap\u00e9is 3DEXPERIENCE\", \"3DEXPERIENCE-modules & rollen\", \"3DEXPERIENCE-Module & Rollen\"],\n    \"Voir ma configuration\": [\"See my configuration\", \"Ver mi configuraci\u00f3n\", \"Ver a minha configura\u00e7\u00e3o\", \"Mijn configuratie bekijken\", \"Meine Konfiguration ansehen\"],\n    \"Annotations & tol\u00e9rancement 3D g\u00e9n\u00e9ratif\": [\"3D generative annotations & tolerancing\", \"Anotaciones y tolerancias 3D generativas\", \"Anota\u00e7\u00f5es e toleranciamento 3D generativo\", \"Generatieve 3D-annotaties & toleranties\", \"Generative 3D-Bema\u00dfung & Tolerierung\"],\n    \"Simulation statique (comportement structurel)\": [\"Static simulation (structural behavior)\", \"Simulaci\u00f3n est\u00e1tica (comportamiento estructural)\", \"Simula\u00e7\u00e3o est\u00e1tica (comportamento estrutural)\", \"Statische simulatie (structureel gedrag)\", \"Statische Simulation (Strukturverhalten)\"],\n    \"Conception centr\u00e9e sur l'humain\": [\"Human-centered design\", \"Dise\u00f1o centrado en el ser humano\", \"Conce\u00e7\u00e3o centrada no ser humano\", \"Mensgericht ontwerp\", \"Menschzentrierte Konstruktion\"],\n    \"M\u00e9canismes complexes (cin\u00e9matique)\": [\"Complex mechanisms (kinematics)\", \"Mecanismos complejos (cinem\u00e1tica)\", \"Mecanismos complexos (cinem\u00e1tica)\", \"Complexe mechanismen (kinematica)\", \"Komplexe Mechanismen (Kinematik)\"],\n    \"Surfaces fonctionnelles g\u00e9n\u00e9ratives\": [\"Generative functional surfaces\", \"Superficies funcionales generativas\", \"Superf\u00edcies funcionais generativas\", \"Generatieve functionele oppervlakken\", \"Generative Funktionsfl\u00e4chen\"],\n    \"Forme libre & surfaces complexes\": [\"Freeform & complex surfaces\", \"Forma libre y superficies complejas\", \"Forma livre e superf\u00edcies complexas\", \"Vrije vormen & complexe oppervlakken\", \"Freiform & komplexe Fl\u00e4chen\"],\n    \"R\u00e9tro-ing\u00e9nierie (nuages de points)\": [\"Reverse engineering (point clouds)\", \"Ingenier\u00eda inversa (nubes de puntos)\", \"Engenharia inversa (nuvens de pontos)\", \"Reverse engineering (puntenwolken)\", \"Reverse Engineering (Punktwolken)\"],\n    \"R\u00e9paration & nettoyage de mod\u00e8les CAO\": [\"CAD model repair & cleanup\", \"Reparaci\u00f3n y limpieza de modelos CAD\", \"Repara\u00e7\u00e3o e limpeza de modelos CAD\", \"Reparatie & opschonen van CAD-modellen\", \"Reparatur & Bereinigung von CAD-Modellen\"],\n    \"Votre configuration\": [\"Your configuration\", \"Su configuraci\u00f3n\", \"A sua configura\u00e7\u00e3o\", \"Uw configuratie\", \"Ihre Konfiguration\"],\n    \"CATIA sur 3DEXPERIENCE, \u00e0 votre p\u00e9rim\u00e8tre\": [\"CATIA on 3DEXPERIENCE, scoped to you\", \"CATIA en 3DEXPERIENCE, a su medida\", \"CATIA no 3DEXPERIENCE, \u00e0 sua medida\", \"CATIA op 3DEXPERIENCE, op uw maat\", \"CATIA auf 3DEXPERIENCE, auf Sie zugeschnitten\"],\n    \"D\u00e9j\u00e0 sur CATIA\": [\"Already on CATIA\", \"Ya en CATIA\", \"J\u00e1 no CATIA\", \"Al op CATIA\", \"Bereits auf CATIA\"],\n    \"\u00c9quipement actuel\": [\"Current setup\", \"Equipamiento actual\", \"Equipamento atual\", \"Huidige uitrusting\", \"Aktuelle Ausstattung\"],\n    \"Utilisateurs\": [\"Users\", \"Usuarios\", \"Utilizadores\", \"Gebruikers\", \"Nutzer\"],\n    \"Modules\": [\"Modules\", \"M\u00f3dulos\", \"M\u00f3dulos\", \"Modules\", \"Module\"],\n    \"\u00c0 d\u00e9finir\": [\"To be defined\", \"Por definir\", \"A definir\", \"Nader te bepalen\", \"Noch offen\"],\n    \"Aucun\": [\"None\", \"Ninguno\", \"Nenhum\", \"Geen\", \"Keine\"],\n    \"Les trois versions \u00b7 abonnement annuel\": [\"The three versions \u00b7 annual subscription\", \"Las tres versiones \u00b7 suscripci\u00f3n anual\", \"As tr\u00eas vers\u00f5es \u00b7 subscri\u00e7\u00e3o anual\", \"De drie versies \u00b7 jaarabonnement\", \"Die drei Versionen \u00b7 Jahresabo\"],\n    \"Recommand\u00e9 pour vos modules\": [\"Recommended for your modules\", \"Recomendado para sus m\u00f3dulos\", \"Recomendado para os seus m\u00f3dulos\", \"Aanbevolen voor uw modules\", \"Empfohlen f\u00fcr Ihre Module\"],\n    \"Sur devis\": [\"On quote\", \"Bajo presupuesto\", \"Sob or\u00e7amento\", \"Op offerte\", \"Auf Anfrage\"],\n    \"chiffrage apr\u00e8s \u00e9change\": [\"priced after a call\", \"presupuesto tras conversaci\u00f3n\", \"or\u00e7amento ap\u00f3s conversa\", \"prijs na overleg\", \"Preis nach Gespr\u00e4ch\"],\n    \"Inclus dans toutes les versions\": [\"Included in all versions\", \"Incluido en todas las versiones\", \"Inclu\u00eddo em todas as vers\u00f5es\", \"Inbegrepen in alle versies\", \"In allen Versionen enthalten\"],\n    \"Prix verrouill\u00e9s.\": [\"Prices locked.\", \"Precios bloqueados.\", \"Pre\u00e7os bloqueados.\", \"Prijzen vergrendeld.\", \"Preise gesperrt.\"],\n    \"Renseignez vos coordonn\u00e9es pour afficher les trois tarifs annuels appliqu\u00e9s \u00e0 votre nombre d'utilisateurs.\": [\"Enter your details to display the three annual prices applied to your number of users.\", \"Introduzca sus datos para mostrar las tres tarifas anuales aplicadas a su n\u00famero de usuarios.\", \"Introduza os seus dados para mostrar os tr\u00eas pre\u00e7os anuais aplicados ao seu n\u00famero de utilizadores.\", \"Vul uw gegevens in om de drie jaarprijzen voor uw aantal gebruikers te tonen.\", \"Geben Sie Ihre Daten ein, um die drei Jahrespreise f\u00fcr Ihre Nutzerzahl anzuzeigen.\"],\n    \"Prix officiels Dassault Syst\u00e8mes. Le p\u00e9rim\u00e8tre exact (r\u00f4les, stockage, migration V5) se cadre avec un expert.\": [\"Official Dassault Syst\u00e8mes prices. The exact scope (roles, storage, V5 migration) is defined with an expert.\", \"Precios oficiales de Dassault Syst\u00e8mes. El alcance exacto (roles, almacenamiento, migraci\u00f3n V5) se define con un experto.\", \"Pre\u00e7os oficiais da Dassault Syst\u00e8mes. O \u00e2mbito exato (pap\u00e9is, armazenamento, migra\u00e7\u00e3o V5) \u00e9 definido com um especialista.\", \"Offici\u00eble Dassault Syst\u00e8mes-prijzen. De exacte scope (rollen, opslag, V5-migratie) wordt met een expert bepaald.\", \"Offizielle Dassault Syst\u00e8mes-Preise. Der genaue Umfang (Rollen, Speicher, V5-Migration) wird mit einem Experten festgelegt.\"],\n    \"Se faire rappeler\": [\"Request a callback\", \"Solicitar una llamada\", \"Pedir uma chamada\", \"Teruggebeld worden\", \"R\u00fcckruf anfordern\"],\n    \"D\u00e9bloquer les prix\": [\"Unlock prices\", \"Desbloquear los precios\", \"Desbloquear os pre\u00e7os\", \"Prijzen ontgrendelen\", \"Preise freischalten\"],\n    \"Conception pi\u00e8ces & assemblages m\u00e9caniques avanc\u00e9s\": [\"Advanced mechanical part & assembly design\", \"Dise\u00f1o avanzado de piezas y ensamblajes mec\u00e1nicos\", \"Conce\u00e7\u00e3o avan\u00e7ada de pe\u00e7as e montagens mec\u00e2nicas\", \"Geavanceerd ontwerp van onderdelen & samenstellingen\", \"Erweiterte Teile- & Baugruppenkonstruktion\"],\n    \"Formes g\u00e9n\u00e9ratives filaires & surfaciques\": [\"Generative wireframe & surface shapes\", \"Formas generativas al\u00e1mbricas y de superficie\", \"Formas generativas de arame e superf\u00edcie\", \"Generatieve draad- & oppervlaktevormen\", \"Generative Draht- & Fl\u00e4chenformen\"],\n    \"Revue de maquette 3D & t\u00f4lerie\": [\"3D mockup review & sheet metal\", \"Revisi\u00f3n de maqueta 3D y chapa\", \"Revis\u00e3o de maquete 3D e chapa\", \"3D-modelreview & plaatwerk\", \"3D-Modellpr\u00fcfung & Blech\"],\n    \"IA LEO, AURA et MARIE\": [\"LEO, AURA and MARIE AI\", \"IA LEO, AURA y MARIE\", \"IA LEO, AURA e MARIE\", \"LEO, AURA en MARIE AI\", \"KI LEO, AURA und MARIE\"],\n    \"PDM Standard 3DEXPERIENCE\": [\"3DEXPERIENCE Standard PDM\", \"PDM Standard 3DEXPERIENCE\", \"PDM Standard 3DEXPERIENCE\", \"3DEXPERIENCE Standard PDM\", \"3DEXPERIENCE Standard-PDM\"],\n    \"Conception m\u00e9canique avanc\u00e9e, formes g\u00e9n\u00e9ratives filaires & surfaciques, revue de maquette 3D & t\u00f4lerie.\": [\"Advanced mechanical design, generative wireframe & surface shapes, 3D mockup review & sheet metal.\", \"Dise\u00f1o mec\u00e1nico avanzado, formas generativas al\u00e1mbricas y de superficie, revisi\u00f3n de maqueta 3D y chapa.\", \"Conce\u00e7\u00e3o mec\u00e2nica avan\u00e7ada, formas generativas de arame e superf\u00edcie, revis\u00e3o de maquete 3D e chapa.\", \"Geavanceerd mechanisch ontwerp, generatieve draad- & oppervlaktevormen, 3D-modelreview & plaatwerk.\", \"Erweiterte Mechanikkonstruktion, generative Draht- & Fl\u00e4chenformen, 3D-Modellpr\u00fcfung & Blech.\"],\n    \"Essential + tol\u00e9rancement 3D g\u00e9n\u00e9ratif, simulation statique, conception centr\u00e9e sur l'humain.\": [\"Essential + 3D generative tolerancing, static simulation, human-centered design.\", \"Essential + tolerancias 3D generativas, simulaci\u00f3n est\u00e1tica, dise\u00f1o centrado en el ser humano.\", \"Essential + toleranciamento 3D generativo, simula\u00e7\u00e3o est\u00e1tica, conce\u00e7\u00e3o centrada no ser humano.\", \"Essential + generatieve 3D-toleranties, statische simulatie, mensgericht ontwerp.\", \"Essential + generative 3D-Tolerierung, statische Simulation, menschzentrierte Konstruktion.\"],\n    \"Master + cin\u00e9matique, surfaces fonctionnelles g\u00e9n\u00e9ratives, forme libre, r\u00e9tro-ing\u00e9nierie, r\u00e9paration CAO.\": [\"Master + kinematics, generative functional surfaces, freeform, reverse engineering, CAD repair.\", \"Master + cinem\u00e1tica, superficies funcionales generativas, forma libre, ingenier\u00eda inversa, reparaci\u00f3n CAD.\", \"Master + cinem\u00e1tica, superf\u00edcies funcionais generativas, forma livre, engenharia inversa, repara\u00e7\u00e3o CAD.\", \"Master + kinematica, generatieve functionele oppervlakken, vrije vormen, reverse engineering, CAD-reparatie.\", \"Master + Kinematik, generative Funktionsfl\u00e4chen, Freiform, Reverse Engineering, CAD-Reparatur.\"],\n    \"CATIA V5 \u00b7 perp\u00e9tuelle sans maintenance\": [\"CATIA V5 \u00b7 perpetual without maintenance\", \"CATIA V5 \u00b7 perpetua sin mantenimiento\", \"CATIA V5 \u00b7 perp\u00e9tua sem manuten\u00e7\u00e3o\", \"CATIA V5 \u00b7 permanent zonder onderhoud\", \"CATIA V5 \u00b7 Kauflizenz ohne Wartung\"],\n    \"CATIA V5 \u00b7 sous maintenance\": [\"CATIA V5 \u00b7 under maintenance\", \"CATIA V5 \u00b7 con mantenimiento\", \"CATIA V5 \u00b7 com manuten\u00e7\u00e3o\", \"CATIA V5 \u00b7 met onderhoud\", \"CATIA V5 \u00b7 mit Wartung\"],\n    \"CATIA \u00b7 prix\": [\"CATIA \u00b7 prices\", \"CATIA \u00b7 precios\", \"CATIA \u00b7 pre\u00e7os\", \"CATIA \u00b7 prijzen\", \"CATIA \u00b7 Preise\"],\n    \"Afficher mes prix CATIA\": [\"Show my CATIA prices\", \"Mostrar mis precios de CATIA\", \"Mostrar os meus pre\u00e7os CATIA\", \"Mijn CATIA-prijzen tonen\", \"Meine CATIA-Preise anzeigen\"],\n    \"Vos coordonn\u00e9es pour d\u00e9bloquer les tarifs annuels des trois versions, appliqu\u00e9s \u00e0 votre \u00e9quipe.\": [\"Your details to unlock the annual prices of the three versions, applied to your team.\", \"Sus datos para desbloquear las tarifas anuales de las tres versiones, aplicadas a su equipo.\", \"Os seus dados para desbloquear os pre\u00e7os anuais das tr\u00eas vers\u00f5es, aplicados \u00e0 sua equipa.\", \"Uw gegevens om de jaarprijzen van de drie versies te ontgrendelen, toegepast op uw team.\", \"Ihre Daten, um die Jahrespreise der drei Versionen f\u00fcr Ihr Team freizuschalten.\"],\n    \"Derni\u00e8re \u00e9tape\": [\"Last step\", \"\u00daltimo paso\", \"\u00daltima etapa\", \"Laatste stap\", \"Letzter Schritt\"],\n    \"Un expert vous rappelle pour finaliser votre offre.\": [\"An expert calls you back to finalize your offer.\", \"Un experto le llama para finalizar su oferta.\", \"Um especialista liga-lhe para finalizar a sua oferta.\", \"Een expert belt u terug om uw aanbod af te ronden.\", \"Ein Experte ruft Sie zur\u00fcck, um Ihr Angebot abzuschlie\u00dfen.\"],\n    \"\u00catre rappel\u00e9\": [\"Get a callback\", \"Recibir una llamada\", \"Receber uma chamada\", \"Teruggebeld worden\", \"R\u00fcckruf erhalten\"],\n    \"Essai gratuit\": [\"Free trial\", \"Prueba gratuita\", \"Teste gratuito\", \"Gratis proefperiode\", \"Kostenlose Testversion\"],\n    \"Tester SOLIDWORKS gratuitement\": [\"Try SOLIDWORKS for free\", \"Probar SOLIDWORKS gratis\", \"Testar o SOLIDWORKS gratuitamente\", \"SOLIDWORKS gratis uitproberen\", \"SOLIDWORKS kostenlos testen\"],\n    \"On vous ouvre un acc\u00e8s d'essai et on vous accompagne au d\u00e9marrage.\": [\"We open a trial access and support you as you get started.\", \"Le abrimos un acceso de prueba y le acompa\u00f1amos en el arranque.\", \"Abrimos-lhe um acesso de teste e acompanhamos o seu arranque.\", \"We openen proeftoegang en begeleiden u bij de start.\", \"Wir richten einen Testzugang ein und begleiten Sie beim Start.\"],\n    \"Recevoir mon acc\u00e8s\": [\"Get my access\", \"Recibir mi acceso\", \"Receber o meu acesso\", \"Mijn toegang ontvangen\", \"Meinen Zugang erhalten\"],\n    \"Avant votre offre\": [\"Before your offer\", \"Antes de su oferta\", \"Antes da sua oferta\", \"V\u00f3\u00f3r uw aanbod\", \"Vor Ihrem Angebot\"],\n    \"Voir mon offre personnalis\u00e9e\": [\"See my personalized offer\", \"Ver mi oferta personalizada\", \"Ver a minha oferta personalizada\", \"Mijn gepersonaliseerde aanbod bekijken\", \"Mein individuelles Angebot ansehen\"],\n    \"Vos coordonn\u00e9es pour afficher votre recommandation, le prix appara\u00eet juste apr\u00e8s.\": [\"Your details to display your recommendation\u2014the price appears right after.\", \"Sus datos para mostrar su recomendaci\u00f3n; el precio aparece justo despu\u00e9s.\", \"Os seus dados para mostrar a recomenda\u00e7\u00e3o; o pre\u00e7o aparece logo a seguir.\", \"Uw gegevens om uw aanbeveling te tonen; de prijs verschijnt direct daarna.\", \"Ihre Daten zur Anzeige der Empfehlung \u2013 der Preis erscheint direkt danach.\"],\n    \"Voir mon offre\": [\"See my offer\", \"Ver mi oferta\", \"Ver a minha oferta\", \"Mijn aanbod bekijken\", \"Mein Angebot ansehen\"],\n    \"Programme Startup\": [\"Startup Program\", \"Programa Startup\", \"Programa Startup\", \"Startup-programma\", \"Startup-Programm\"],\n    \"V\u00e9rifier mon \u00e9ligibilit\u00e9 Startup\": [\"Check my Startup eligibility\", \"Verificar mi elegibilidad Startup\", \"Verificar a minha elegibilidade Startup\", \"Mijn Startup-geschiktheid controleren\", \"Meine Startup-Berechtigung pr\u00fcfen\"],\n    \"Licences gratuites si votre dossier est valid\u00e9.\": [\"Free licenses if your application is approved.\", \"Licencias gratuitas si su expediente es validado.\", \"Licen\u00e7as gratuitas se o seu processo for validado.\", \"Gratis licenties als uw dossier wordt goedgekeurd.\", \"Kostenlose Lizenzen bei best\u00e4tigter Berechtigung.\"],\n    \"V\u00e9rifier mon \u00e9ligibilit\u00e9\": [\"Check my eligibility\", \"Verificar mi elegibilidad\", \"Verificar a minha elegibilidade\", \"Mijn geschiktheid controleren\", \"Meine Berechtigung pr\u00fcfen\"],\n    \"Offre d\u00e9couverte\": [\"Introductory offer\", \"Oferta de descubrimiento\", \"Oferta de descoberta\", \"Kennismakingsaanbod\", \"Einstiegsangebot\"],\n    \"Activer mes 3 mois d\u00e9couverte\": [\"Activate my 3 introductory months\", \"Activar mis 3 meses de descubrimiento\", \"Ativar os meus 3 meses de descoberta\", \"Mijn 3 kennismakingsmaanden activeren\", \"Meine 3 Einstiegsmonate aktivieren\"],\n    \"Trois mois pour lancer vos premiers projets, accompagn\u00e9s par un ing\u00e9nieur Ohmycad.\": [\"Three months to launch your first projects, supported by an Ohmycad engineer.\", \"Tres meses para lanzar sus primeros proyectos, acompa\u00f1ado por un ingeniero de Ohmycad.\", \"Tr\u00eas meses para lan\u00e7ar os seus primeiros projetos, acompanhado por um engenheiro Ohmycad.\", \"Drie maanden om uw eerste projecten te starten, begeleid door een Ohmycad-ingenieur.\", \"Drei Monate f\u00fcr Ihre ersten Projekte, begleitet von einem Ohmycad-Ingenieur.\"],\n    \"Activer mes 3 mois\": [\"Activate my 3 months\", \"Activar mis 3 meses\", \"Ativar os meus 3 meses\", \"Mijn 3 maanden activeren\", \"Meine 3 Monate aktivieren\"],\n    \"R\u00e9server un appel de validation\": [\"Book a validation call\", \"Reservar una llamada de validaci\u00f3n\", \"Marcar uma chamada de valida\u00e7\u00e3o\", \"Een validatiegesprek inplannen\", \"Einen Validierungsanruf buchen\"],\n    \"Derni\u00e8re \u00e9tape pour activer vos licences gratuites.\": [\"Last step to activate your free licenses.\", \"\u00daltimo paso para activar sus licencias gratuitas.\", \"\u00daltima etapa para ativar as suas licen\u00e7as gratuitas.\", \"Laatste stap om uw gratis licenties te activeren.\", \"Letzter Schritt zur Aktivierung Ihrer kostenlosen Lizenzen.\"],\n    \"R\u00e9server mon appel\": [\"Book my call\", \"Reservar mi llamada\", \"Marcar a minha chamada\", \"Mijn gesprek inplannen\", \"Meinen Anruf buchen\"],\n    \"D\u00e9blocage\": [\"Unlock\", \"Desbloqueo\", \"Desbloqueio\", \"Ontgrendeling\", \"Freischaltung\"],\n    \"D\u00e9bloquer le d\u00e9tail exact\": [\"Unlock the exact breakdown\", \"Desbloquear el detalle exacto\", \"Desbloquear o detalhe exato\", \"De exacte details ontgrendelen\", \"Die genaue Aufschl\u00fcsselung freischalten\"],\n    \"Vos chiffres pr\u00e9cis (arri\u00e9r\u00e9, projection, remises) s'affichent imm\u00e9diatement.\": [\"Your exact figures (backlog, projection, discounts) are displayed immediately.\", \"Sus cifras exactas (atrasos, proyecci\u00f3n, descuentos) se muestran de inmediato.\", \"Os seus n\u00fameros exatos (atrasados, proje\u00e7\u00e3o, descontos) aparecem imediatamente.\", \"Uw exacte cijfers (achterstand, projectie, kortingen) verschijnen direct.\", \"Ihre genauen Zahlen (R\u00fcckstand, Projektion, Rabatte) werden sofort angezeigt.\"],\n    \"D\u00e9bloquer le d\u00e9tail\": [\"Unlock the breakdown\", \"Desbloquear el detalle\", \"Desbloquear o detalhe\", \"Details ontgrendelen\", \"Aufschl\u00fcsselung freischalten\"],\n    \"Mise \u00e0 jour\": [\"Update\", \"Actualizaci\u00f3n\", \"Atualiza\u00e7\u00e3o\", \"Update\", \"Aktualisierung\"],\n    \"Recevoir mon offre sur mesure\": [\"Get my tailored offer\", \"Recibir mi oferta a medida\", \"Receber a minha oferta \u00e0 medida\", \"Mijn aanbod op maat ontvangen\", \"Mein ma\u00dfgeschneidertes Angebot erhalten\"],\n    \"Un expert vous contacte avec une proposition selon votre configuration.\": [\"An expert contacts you with a proposal based on your configuration.\", \"Un experto le contacta con una propuesta seg\u00fan su configuraci\u00f3n.\", \"Um especialista contacta-o com uma proposta conforme a sua configura\u00e7\u00e3o.\", \"Een expert neemt contact op met een voorstel op basis van uw configuratie.\", \"Ein Experte kontaktiert Sie mit einem Vorschlag zu Ihrer Konfiguration.\"],\n    \"Recevoir mon offre\": [\"Get my offer\", \"Recibir mi oferta\", \"Receber a minha oferta\", \"Mijn aanbod ontvangen\", \"Mein Angebot erhalten\"],\n    \"Bilan gratuit\": [\"Free check-up\", \"Revisi\u00f3n gratuita\", \"Balan\u00e7o gratuito\", \"Gratis check-up\", \"Kostenloser Check\"],\n    \"R\u00e9server mon bilan d'usage\": [\"Book my usage review\", \"Reservar mi revisi\u00f3n de uso\", \"Marcar o meu balan\u00e7o de utiliza\u00e7\u00e3o\", \"Mijn gebruiksreview inplannen\", \"Meinen Nutzungscheck buchen\"],\n    \"Tout roule ? Un ing\u00e9nieur Ohmycad fait le point : versions, optimisations, \u00e9volutions.\": [\"All running smoothly? An Ohmycad engineer takes stock: versions, optimizations, upgrades.\", \"\u00bfTodo va bien? Un ingeniero de Ohmycad hace balance: versiones, optimizaciones, evoluciones.\", \"Tudo a correr bem? Um engenheiro Ohmycad faz o ponto: vers\u00f5es, otimiza\u00e7\u00f5es, evolu\u00e7\u00f5es.\", \"Loopt alles goed? Een Ohmycad-ingenieur maakt de balans op: versies, optimalisaties, evoluties.\", \"L\u00e4uft alles rund? Ein Ohmycad-Ingenieur zieht Bilanz: Versionen, Optimierungen, Weiterentwicklungen.\"],\n    \"R\u00e9server mon bilan\": [\"Book my review\", \"Reservar mi revisi\u00f3n\", \"Marcar o meu balan\u00e7o\", \"Mijn review inplannen\", \"Meinen Check buchen\"],\n    \"Offre sur mesure\": [\"Tailored offer\", \"Oferta a medida\", \"Oferta \u00e0 medida\", \"Aanbod op maat\", \"Ma\u00dfgeschneidertes Angebot\"],\n    \"Demande de contact\": [\"Contact request\", \"Solicitud de contacto\", \"Pedido de contacto\", \"Contactverzoek\", \"Kontaktanfrage\"],\n    \"Un expert vous rappelle avec une offre adapt\u00e9e \u00e0 votre situation.\": [\"An expert calls you back with an offer suited to your situation.\", \"Un experto le llama con una oferta adaptada a su situaci\u00f3n.\", \"Um especialista liga-lhe com uma oferta adaptada \u00e0 sua situa\u00e7\u00e3o.\", \"Een expert belt u terug met een aanbod dat bij uw situatie past.\", \"Ein Experte ruft Sie mit einem passenden Angebot zur\u00fcck.\"],\n    \"Envoyer ma demande\": [\"Send my request\", \"Enviar mi solicitud\", \"Enviar o meu pedido\", \"Mijn aanvraag versturen\", \"Meine Anfrage senden\"],\n    \"Pr\u00e9nom\": [\"First name\", \"Nombre\", \"Nome pr\u00f3prio\", \"Voornaam\", \"Vorname\"],\n    \"Nom\": [\"Last name\", \"Apellidos\", \"Apelido\", \"Achternaam\", \"Nachname\"],\n    \"Soci\u00e9t\u00e9\": [\"Company\", \"Empresa\", \"Empresa\", \"Bedrijf\", \"Unternehmen\"],\n    \"Email\": [\"Email\", \"Email\", \"Email\", \"E-mail\", \"E-Mail\"],\n    \"Pays\": [\"Country\", \"Pa\u00eds\", \"Pa\u00eds\", \"Land\", \"Land\"],\n    \"T\u00e9l\u00e9phone\": [\"Phone\", \"Tel\u00e9fono\", \"Telefone\", \"Telefoon\", \"Telefon\"],\n    \"J'autorise Ohmycad \u00e0 me recontacter concernant cette demande.\": [\"I authorize Ohmycad to contact me about this request.\", \"Autorizo a Ohmycad a contactarme sobre esta solicitud.\", \"Autorizo a Ohmycad a contactar-me sobre este pedido.\", \"Ik geef Ohmycad toestemming om contact op te nemen over dit verzoek.\", \"Ich erlaube Ohmycad, mich zu dieser Anfrage zu kontaktieren.\"],\n    \"Donn\u00e9es confidentielles\": [\"Confidential data\", \"Datos confidenciales\", \"Dados confidenciais\", \"Vertrouwelijke gegevens\", \"Vertrauliche Daten\"],\n    \"R\u00e9ponse sous 24 h ouvr\u00e9es\": [\"Reply within 24 business hours\", \"Respuesta en 24 h laborables\", \"Resposta em 24 h \u00fateis\", \"Antwoord binnen 24 werkuren\", \"Antwort innerhalb von 24 Arbeitsstunden\"],\n    \"\u00c9dition recommand\u00e9e\": [\"Recommended edition\", \"Edici\u00f3n recomendada\", \"Edi\u00e7\u00e3o recomendada\", \"Aanbevolen editie\", \"Empfohlene Edition\"],\n    \"Simulation structurelle et Motion\": [\"Structural simulation and Motion\", \"Simulaci\u00f3n estructural y Motion\", \"Simula\u00e7\u00e3o estrutural e Motion\", \"Structurele simulatie en Motion\", \"Struktursimulation und Motion\"],\n    \"Routing : tuyauterie, c\u00e2blage & harnais\": [\"Routing: piping, wiring & harnesses\", \"Routing: tuber\u00edas, cableado y arneses\", \"Routing: tubagens, cablagem e cablagens el\u00e9tricas\", \"Routing: leidingen, bekabeling & kabelbomen\", \"Routing: Rohrleitungen, Verkabelung & Kabelb\u00e4ume\"],\n    \"Tout Professional inclus\": [\"Everything in Professional included\", \"Todo Professional incluido\", \"Tudo do Professional inclu\u00eddo\", \"Alles van Professional inbegrepen\", \"Alles aus Professional enthalten\"],\n    \"Toolbox, visserie & standards, PDM Standard\": [\"Toolbox, fasteners & standards, Standard PDM\", \"Toolbox, torniller\u00eda y est\u00e1ndares, PDM Standard\", \"Toolbox, parafusaria e normas, PDM Standard\", \"Toolbox, bevestigingsmiddelen & normen, Standard PDM\", \"Toolbox, Normteile & Standards, Standard-PDM\"],\n    \"Rendu photor\u00e9aliste Visualize\": [\"Visualize photorealistic rendering\", \"Renderizado fotorrealista Visualize\", \"Renderiza\u00e7\u00e3o fotorrealista Visualize\", \"Fotorealistische Visualize-rendering\", \"Fotorealistisches Visualize-Rendering\"],\n    \"Costing, Design Checker, eDrawings Pro\": [\"Costing, Design Checker, eDrawings Pro\", \"Costing, Design Checker, eDrawings Pro\", \"Costing, Design Checker, eDrawings Pro\", \"Costing, Design Checker, eDrawings Pro\", \"Costing, Design Checker, eDrawings Pro\"],\n    \"Mod\u00e9lisation 3D pi\u00e8ces & assemblages + mises en plan\": [\"3D part & assembly modeling + drawings\", \"Modelado 3D de piezas y ensamblajes + planos\", \"Modela\u00e7\u00e3o 3D de pe\u00e7as e montagens + desenhos\", \"3D-modellering van onderdelen & samenstellingen + tekeningen\", \"3D-Modellierung von Teilen & Baugruppen + Zeichnungen\"],\n    \"T\u00f4lerie, m\u00e9cano-soud\u00e9, moules, surfacique essentiel\": [\"Sheet metal, welded structures, molds, essential surfacing\", \"Chapa, estructuras soldadas, moldes, superficies esenciales\", \"Chapa, estruturas soldadas, moldes, superf\u00edcies essenciais\", \"Plaatwerk, laswerk, matrijzen, basisoppervlakken\", \"Blech, Schwei\u00dfkonstruktionen, Formen, Basis-Fl\u00e4chen\"],\n    \"V\u00e9rifications simples + SimulationXpress\": [\"Simple checks + SimulationXpress\", \"Verificaciones simples + SimulationXpress\", \"Verifica\u00e7\u00f5es simples + SimulationXpress\", \"Eenvoudige controles + SimulationXpress\", \"Einfache Pr\u00fcfungen + SimulationXpress\"],\n    \"Mod\u00e9lisation 3D, mises en plan, t\u00f4lerie, SimulationXpress.\": [\"3D modeling, drawings, sheet metal, SimulationXpress.\", \"Modelado 3D, planos, chapa, SimulationXpress.\", \"Modela\u00e7\u00e3o 3D, desenhos, chapa, SimulationXpress.\", \"3D-modellering, tekeningen, plaatwerk, SimulationXpress.\", \"3D-Modellierung, Zeichnungen, Blech, SimulationXpress.\"],\n    \"Standard + Toolbox, PDM, rendu PhotoView 360, Costing.\": [\"Standard + Toolbox, PDM, PhotoView 360 rendering, Costing.\", \"Standard + Toolbox, PDM, renderizado PhotoView 360, Costing.\", \"Standard + Toolbox, PDM, renderiza\u00e7\u00e3o PhotoView 360, Costing.\", \"Standard + Toolbox, PDM, PhotoView 360-rendering, Costing.\", \"Standard + Toolbox, PDM, PhotoView 360-Rendering, Costing.\"],\n    \"Professional + simulation avanc\u00e9e, Motion, routing.\": [\"Professional + advanced simulation, Motion, routing.\", \"Professional + simulaci\u00f3n avanzada, Motion, routing.\", \"Professional + simula\u00e7\u00e3o avan\u00e7ada, Motion, routing.\", \"Professional + geavanceerde simulatie, Motion, routing.\", \"Professional + erweiterte Simulation, Motion, Routing.\"],\n    \"\/mois \/ licence\": [\"\/month \/ license\", \"\/mes \/ licencia\", \"\/m\u00eas \/ licen\u00e7a\", \"\/maand \/ licentie\", \"\/Monat \/ Lizenz\"],\n    \"Votre \u00e9quipe \u00b7\": [\"Your team \u00b7\", \"Su equipo \u00b7\", \"A sua equipa \u00b7\", \"Uw team \u00b7\", \"Ihr Team \u00b7\"],\n    \"Acheter sur le shop\": [\"Buy on the shop\", \"Comprar en la tienda\", \"Comprar na loja\", \"Kopen in de shop\", \"Im Shop kaufen\"],\n    \"Ohmycare, un ing\u00e9nieur d\u00e9di\u00e9 et certifi\u00e9\": [\"Ohmycare, a dedicated certified engineer\", \"Ohmycare, un ingeniero dedicado y certificado\", \"Ohmycare, um engenheiro dedicado e certificado\", \"Ohmycare, een toegewijde gecertificeerde ingenieur\", \"Ohmycare, ein dedizierter zertifizierter Ingenieur\"],\n    \": ni support ni formation, un co-engagement de r\u00e9ussite. 600+ entreprises suivies.\": [\": neither support nor training\u2014a shared commitment to success. 600+ companies supported.\", \": ni soporte ni formaci\u00f3n, un compromiso compartido de \u00e9xito. M\u00e1s de 600 empresas acompa\u00f1adas.\", \": nem suporte nem forma\u00e7\u00e3o, um compromisso partilhado de sucesso. Mais de 600 empresas acompanhadas.\", \": geen support of training, maar een gedeeld succesengagement. 600+ begeleide bedrijven.\", \": weder Support noch Schulung \u2013 ein gemeinsames Erfolgsengagement. 600+ betreute Unternehmen.\"],\n    \"D\u00e9couvrir\": [\"Discover\", \"Descubrir\", \"Descobrir\", \"Ontdekken\", \"Entdecken\"],\n    \"Pas encore d\u00e9cid\u00e9 ?\": [\"Not decided yet?\", \"\u00bfA\u00fan no lo tiene claro?\", \"Ainda n\u00e3o decidiu?\", \"Nog niet besloten?\", \"Noch unentschlossen?\"],\n    \"1 mois d'essai gratuit, ou 3 mois d\u00e9couverte pour lancer vos projets.\": [\"1 month free trial, or 3 introductory months to launch your projects.\", \"1 mes de prueba gratuita, o 3 meses de descubrimiento para lanzar sus proyectos.\", \"1 m\u00eas de teste gratuito, ou 3 meses de descoberta para lan\u00e7ar os seus projetos.\", \"1 maand gratis proberen, of 3 kennismakingsmaanden om uw projecten te starten.\", \"1 Monat kostenlos testen oder 3 Einstiegsmonate f\u00fcr Ihre Projekte.\"],\n    \"Essai 1 mois\": [\"1-month trial\", \"Prueba de 1 mes\", \"Teste de 1 m\u00eas\", \"1 maand proberen\", \"1 Monat testen\"],\n    \"D\u00e9couverte 3 mois\": [\"3-month intro\", \"Descubrimiento 3 meses\", \"Descoberta 3 meses\", \"3 maanden kennismaken\", \"3 Einstiegsmonate\"],\n    \"D\u00e9marrer sans engagement\": [\"Start with no commitment\", \"Empezar sin compromiso\", \"Come\u00e7ar sem compromisso\", \"Starten zonder verplichting\", \"Unverbindlich starten\"],\n    \"Le programme Startup ne s'applique pas \u00e0 votre situation : deux autres fa\u00e7ons de d\u00e9marrer\": [\"The Startup program doesn't apply to your situation: two other ways to get started\", \"El programa Startup no se aplica a su situaci\u00f3n: dos formas m\u00e1s de empezar\", \"O programa Startup n\u00e3o se aplica \u00e0 sua situa\u00e7\u00e3o: duas outras formas de come\u00e7ar\", \"Het Startup-programma is niet van toepassing op uw situatie: twee andere manieren om te starten\", \"Das Startup-Programm gilt nicht f\u00fcr Ihre Situation: zwei andere Wege zum Start\"],\n    \"Vous travaillez sur le m\u00eame logiciel, sans avancer le budget d'une licence annuelle.\": [\"You work on the same software, without fronting the budget of an annual license.\", \"Trabaja con el mismo software, sin adelantar el presupuesto de una licencia anual.\", \"Trabalha no mesmo software, sem adiantar o or\u00e7amento de uma licen\u00e7a anual.\", \"U werkt met dezelfde software, zonder het budget van een jaarlicentie voor te schieten.\", \"Sie arbeiten mit derselben Software, ohne das Budget einer Jahreslizenz vorzustrecken.\"],\n    \"3 mois\": [\"3 months\", \"3 meses\", \"3 meses\", \"3 maanden\", \"3 Monate\"],\n    \"1 mois\": [\"1 month\", \"1 mes\", \"1 m\u00eas\", \"1 maand\", \"1 Monat\"],\n    \"Licence compl\u00e8te, tarif d'entr\u00e9e, accompagnement par un ing\u00e9nieur Ohmycad. De quoi livrer vos premiers projets avant de vous engager.\": [\"Full license, entry price, support from an Ohmycad engineer. Enough to deliver your first projects before committing.\", \"Licencia completa, tarifa de entrada, acompa\u00f1amiento de un ingeniero de Ohmycad. Para entregar sus primeros proyectos antes de comprometerse.\", \"Licen\u00e7a completa, pre\u00e7o de entrada, acompanhamento por um engenheiro Ohmycad. Para entregar os primeiros projetos antes de se comprometer.\", \"Volledige licentie, instaptarief, begeleiding door een Ohmycad-ingenieur. Genoeg om uw eerste projecten op te leveren v\u00f3\u00f3r u zich vastlegt.\", \"Volllizenz, Einstiegspreis, Begleitung durch einen Ohmycad-Ingenieur. Genug, um erste Projekte zu liefern, bevor Sie sich binden.\"],\n    \"Acc\u00e8s offert, aucune carte bancaire. On ouvre l'environnement et on vous met en route sur vos propres fichiers.\": [\"Free access, no credit card. We open the environment and get you started on your own files.\", \"Acceso gratuito, sin tarjeta bancaria. Abrimos el entorno y le ponemos en marcha con sus propios archivos.\", \"Acesso gratuito, sem cart\u00e3o banc\u00e1rio. Abrimos o ambiente e pomo-lo a trabalhar nos seus pr\u00f3prios ficheiros.\", \"Gratis toegang, geen creditcard. We openen de omgeving en helpen u op weg met uw eigen bestanden.\", \"Kostenloser Zugang, keine Kreditkarte. Wir \u00f6ffnen die Umgebung und bringen Sie mit Ihren eigenen Dateien in Gang.\"],\n    \"D\u00e9marrer l'essai\": [\"Start the trial\", \"Empezar la prueba\", \"Iniciar o teste\", \"Proefperiode starten\", \"Test starten\"],\n    \"Le prix plein de l'\u00e9dition recommand\u00e9e reste affich\u00e9 ci-dessous, pour r\u00e9f\u00e9rence.\": [\"The full price of the recommended edition remains displayed below, for reference.\", \"El precio completo de la edici\u00f3n recomendada se muestra abajo, como referencia.\", \"O pre\u00e7o completo da edi\u00e7\u00e3o recomendada continua abaixo, para refer\u00eancia.\", \"De volledige prijs van de aanbevolen editie blijft hieronder staan, ter referentie.\", \"Der volle Preis der empfohlenen Edition bleibt unten als Referenz sichtbar.\"],\n    \"Calculateur de mise \u00e0 jour\": [\"Update calculator\", \"Calculadora de actualizaci\u00f3n\", \"Calculadora de atualiza\u00e7\u00e3o\", \"Update-calculator\", \"Update-Rechner\"],\n    \"Votre co\u00fbt de remise \u00e0 niveau\": [\"Your catch-up cost\", \"Su coste de actualizaci\u00f3n\", \"O seu custo de atualiza\u00e7\u00e3o\", \"Uw bijwerkkosten\", \"Ihre Aktualisierungskosten\"],\n    \"Nombre de licences\": [\"Number of licenses\", \"N\u00famero de licencias\", \"N\u00famero de licen\u00e7as\", \"Aantal licenties\", \"Anzahl der Lizenzen\"],\n    \"Derni\u00e8re version utilis\u00e9e\": [\"Last version used\", \"\u00daltima versi\u00f3n utilizada\", \"\u00daltima vers\u00e3o utilizada\", \"Laatst gebruikte versie\", \"Zuletzt genutzte Version\"],\n    \"Mise \u00e0 jour classique\": [\"Traditional update\", \"Actualizaci\u00f3n cl\u00e1sica\", \"Atualiza\u00e7\u00e3o cl\u00e1ssica\", \"Klassieke update\", \"Klassische Aktualisierung\"],\n    \"sur 3 ans obligatoires\": [\"over 3 mandatory years\", \"en 3 a\u00f1os obligatorios\", \"em 3 anos obrigat\u00f3rios\", \"over 3 verplichte jaren\", \"\u00fcber 3 Pflichtjahre\"],\n    \"Alternative Ohmycad\": [\"Ohmycad alternative\", \"Alternativa Ohmycad\", \"Alternativa Ohmycad\", \"Ohmycad-alternatief\", \"Ohmycad-Alternative\"],\n    \"Estimation sur base de licences Standard. Le d\u00e9tail exact d\u00e9pend de votre configuration.\": [\"Estimate based on Standard licenses. The exact breakdown depends on your configuration.\", \"Estimaci\u00f3n basada en licencias Standard. El detalle exacto depende de su configuraci\u00f3n.\", \"Estimativa com base em licen\u00e7as Standard. O detalhe exato depende da sua configura\u00e7\u00e3o.\", \"Schatting op basis van Standard-licenties. De exacte details hangen af van uw configuratie.\", \"Sch\u00e4tzung auf Basis von Standard-Lizenzen. Die genauen Zahlen h\u00e4ngen von Ihrer Konfiguration ab.\"],\n    \"Chiffres masqu\u00e9s : d\u00e9bloquez le d\u00e9tail exact pour les afficher.\": [\"Figures hidden: unlock the exact breakdown to display them.\", \"Cifras ocultas: desbloquee el detalle exacto para mostrarlas.\", \"N\u00fameros ocultos: desbloqueie o detalhe exato para os mostrar.\", \"Cijfers verborgen: ontgrendel de exacte details om ze te tonen.\", \"Zahlen verborgen: Schalten Sie die genaue Aufschl\u00fcsselung frei.\"],\n    \"Voir le d\u00e9tail exact (arri\u00e9r\u00e9, projection, remises)\": [\"See the exact breakdown (backlog, projection, discounts)\", \"Ver el detalle exacto (atrasos, proyecci\u00f3n, descuentos)\", \"Ver o detalhe exato (atrasados, proje\u00e7\u00e3o, descontos)\", \"Bekijk de exacte details (achterstand, projectie, kortingen)\", \"Genaue Aufschl\u00fcsselung ansehen (R\u00fcckstand, Projektion, Rabatte)\"],\n    \"D\u00e9tail exact \u00b7 projection cumul\u00e9e 5 ans\": [\"Exact breakdown \u00b7 5-year cumulative projection\", \"Detalle exacto \u00b7 proyecci\u00f3n acumulada a 5 a\u00f1os\", \"Detalhe exato \u00b7 proje\u00e7\u00e3o acumulada a 5 anos\", \"Exacte details \u00b7 cumulatieve 5-jaarsprojectie\", \"Genaue Aufschl\u00fcsselung \u00b7 kumulierte 5-Jahres-Projektion\"],\n    \"\u00c9conomies exactes sur 5 ans\": [\"Exact savings over 5 years\", \"Ahorro exacto en 5 a\u00f1os\", \"Poupan\u00e7a exata em 5 anos\", \"Exacte besparing over 5 jaar\", \"Exakte Ersparnis \u00fcber 5 Jahre\"],\n    \"Vous \u00eates \u00e9ligible au programme Startup\": [\"You are eligible for the Startup program\", \"Es elegible para el programa Startup\", \"\u00c9 eleg\u00edvel para o programa Startup\", \"U komt in aanmerking voor het Startup-programma\", \"Sie sind f\u00fcr das Startup-Programm berechtigt\"],\n    \"Moins de 3 ans, moins de 5 M\u20ac de chiffre d\u2019affaires et moins de 5 M\u20ac lev\u00e9s : vous entrez au palier ann\u00e9e 1 du programme Startup Dassault Syst\u00e8mes. Licences gratuites, sous r\u00e9serve de validation de votre dossier.\": [\"Under 3 years old, under \u20ac5M revenue and under \u20ac5M raised: you enter year-1 tier of the Dassault Syst\u00e8mes Startup program. Free licenses, subject to application approval.\", \"Menos de 3 a\u00f1os, menos de 5 M\u20ac de facturaci\u00f3n y menos de 5 M\u20ac captados: entra en el nivel a\u00f1o 1 del programa Startup de Dassault Syst\u00e8mes. Licencias gratuitas, sujetas a la validaci\u00f3n de su expediente.\", \"Menos de 3 anos, menos de 5 M\u20ac de volume de neg\u00f3cios e menos de 5 M\u20ac angariados: entra no patamar ano 1 do programa Startup da Dassault Syst\u00e8mes. Licen\u00e7as gratuitas, sujeitas \u00e0 valida\u00e7\u00e3o do processo.\", \"Jonger dan 3 jaar, minder dan 5 M\u20ac omzet en minder dan 5 M\u20ac opgehaald: u komt in jaar-1-niveau van het Dassault Syst\u00e8mes Startup-programma. Gratis licenties, onder voorbehoud van goedkeuring.\", \"Unter 3 Jahre, unter 5 Mio. \u20ac Umsatz und unter 5 Mio. \u20ac eingeworben: Sie steigen in Stufe Jahr 1 des Dassault Syst\u00e8mes Startup-Programms ein. Kostenlose Lizenzen, vorbehaltlich der Best\u00e4tigung.\"],\n    \"Moins de 5 ans, moins de 5 M\u20ac de chiffre d\u2019affaires et moins de 5 M\u20ac lev\u00e9s : vous entrez au palier ann\u00e9e 2 du programme Startup Dassault Syst\u00e8mes. Licences gratuites, sous r\u00e9serve de validation de votre dossier.\": [\"Under 5 years old, under \u20ac5M revenue and under \u20ac5M raised: you enter year-2 tier of the Dassault Syst\u00e8mes Startup program. Free licenses, subject to application approval.\", \"Menos de 5 a\u00f1os, menos de 5 M\u20ac de facturaci\u00f3n y menos de 5 M\u20ac captados: entra en el nivel a\u00f1o 2 del programa Startup de Dassault Syst\u00e8mes. Licencias gratuitas, sujetas a la validaci\u00f3n de su expediente.\", \"Menos de 5 anos, menos de 5 M\u20ac de volume de neg\u00f3cios e menos de 5 M\u20ac angariados: entra no patamar ano 2 do programa Startup da Dassault Syst\u00e8mes. Licen\u00e7as gratuitas, sujeitas \u00e0 valida\u00e7\u00e3o do processo.\", \"Jonger dan 5 jaar, minder dan 5 M\u20ac omzet en minder dan 5 M\u20ac opgehaald: u komt in jaar-2-niveau van het Dassault Syst\u00e8mes Startup-programma. Gratis licenties, onder voorbehoud van goedkeuring.\", \"Unter 5 Jahre, unter 5 Mio. \u20ac Umsatz und unter 5 Mio. \u20ac eingeworben: Sie steigen in Stufe Jahr 2 des Dassault Syst\u00e8mes Startup-Programms ein. Kostenlose Lizenzen, vorbehaltlich der Best\u00e4tigung.\"],\n    \"Offre startup \u00b7 Palier ann\u00e9e 1\": [\"Startup offer \u00b7 Year-1 tier\", \"Oferta startup \u00b7 Nivel a\u00f1o 1\", \"Oferta startup \u00b7 Patamar ano 1\", \"Startup-aanbod \u00b7 Jaar-1-niveau\", \"Startup-Angebot \u00b7 Stufe Jahr 1\"],\n    \"Offre startup \u00b7 Palier ann\u00e9e 2\": [\"Startup offer \u00b7 Year-2 tier\", \"Oferta startup \u00b7 Nivel a\u00f1o 2\", \"Oferta startup \u00b7 Patamar ano 2\", \"Startup-aanbod \u00b7 Jaar-2-niveau\", \"Startup-Angebot \u00b7 Stufe Jahr 2\"],\n    \"la 1\u02b3\u1d49 ann\u00e9e du programme\": [\"for year 1 of the program\", \"el 1.\u00ba a\u00f1o del programa\", \"no 1.\u00ba ano do programa\", \"in jaar 1 van het programma\", \"im 1. Programmjahr\"],\n    \"la 2\u1d49 ann\u00e9e du programme\": [\"for year 2 of the program\", \"el 2.\u00ba a\u00f1o del programa\", \"no 2.\u00ba ano do programa\", \"in jaar 2 van het programma\", \"im 2. Programmjahr\"],\n    \"Palier ann\u00e9e 1 : \u2212100 % sur les r\u00f4les SOLIDWORKS (gratuits) et \u221290 % sur tous les autres r\u00f4les.\": [\"Year-1 tier: \u2212100% on SOLIDWORKS roles (free) and \u221290% on all other roles.\", \"Nivel a\u00f1o 1: \u2212100 % en los roles SOLIDWORKS (gratuitos) y \u221290 % en todos los dem\u00e1s.\", \"Patamar ano 1: \u2212100 % nos pap\u00e9is SOLIDWORKS (gratuitos) e \u221290 % em todos os outros.\", \"Jaar-1-niveau: \u2212100% op SOLIDWORKS-rollen (gratis) en \u221290% op alle andere rollen.\", \"Stufe Jahr 1: \u2212100 % auf SOLIDWORKS-Rollen (kostenlos) und \u221290 % auf alle anderen Rollen.\"],\n    \"Palier ann\u00e9e 2 : \u221270 % sur tous les abonnements 3DEXPERIENCE, quel que soit le r\u00f4le.\": [\"Year-2 tier: \u221270% on all 3DEXPERIENCE subscriptions, whatever the role.\", \"Nivel a\u00f1o 2: \u221270 % en todas las suscripciones 3DEXPERIENCE, sea cual sea el rol.\", \"Patamar ano 2: \u221270 % em todas as subscri\u00e7\u00f5es 3DEXPERIENCE, seja qual for o papel.\", \"Jaar-2-niveau: \u221270% op alle 3DEXPERIENCE-abonnementen, ongeacht de rol.\", \"Stufe Jahr 2: \u221270 % auf alle 3DEXPERIENCE-Abos, unabh\u00e4ngig von der Rolle.\"],\n    \"Demande envoy\u00e9e\": [\"Request sent\", \"Solicitud enviada\", \"Pedido enviado\", \"Aanvraag verzonden\", \"Anfrage gesendet\"],\n    \"Un expert Ohmycad vous recontacte sous 24 h ouvr\u00e9es avec une proposition personnalis\u00e9e.\": [\"An Ohmycad expert will get back to you within 24 business hours with a personalized proposal.\", \"Un experto de Ohmycad le contactar\u00e1 en 24 h laborables con una propuesta personalizada.\", \"Um especialista Ohmycad contacta-o em 24 h \u00fateis com uma proposta personalizada.\", \"Een Ohmycad-expert neemt binnen 24 werkuren contact op met een persoonlijk voorstel.\", \"Ein Ohmycad-Experte meldet sich innerhalb von 24 Arbeitsstunden mit einem individuellen Vorschlag.\"],\n    \"Refaire une simulation\": [\"Run another simulation\", \"Hacer otra simulaci\u00f3n\", \"Fazer outra simula\u00e7\u00e3o\", \"Nog een simulatie doen\", \"Neue Simulation starten\"],\n    \"Votre code promo\": [\"Your promo code\", \"Su c\u00f3digo promocional\", \"O seu c\u00f3digo promocional\", \"Uw promocode\", \"Ihr Promo-Code\"],\n    \"Nombre d'utilisateurs\": [\"Number of users\", \"N\u00famero de usuarios\", \"N\u00famero de utilizadores\", \"Aantal gebruikers\", \"Anzahl der Nutzer\"],\n    \"Belgique\": [\"Belgium\", \"B\u00e9lgica\", \"B\u00e9lgica\", \"Belgi\u00eb\", \"Belgien\"],\n    \"Suisse\": [\"Switzerland\", \"Suiza\", \"Su\u00ed\u00e7a\", \"Zwitserland\", \"Schweiz\"],\n    \"Allemagne\": [\"Germany\", \"Alemania\", \"Alemanha\", \"Duitsland\", \"Deutschland\"],\n    \"Espagne\": [\"Spain\", \"Espa\u00f1a\", \"Espanha\", \"Spanje\", \"Spanien\"],\n    \"Italie\": [\"Italy\", \"Italia\", \"It\u00e1lia\", \"Itali\u00eb\", \"Italien\"],\n    \"Royaume-Uni\": [\"United Kingdom\", \"Reino Unido\", \"Reino Unido\", \"Verenigd Koninkrijk\", \"Vereinigtes K\u00f6nigreich\"],\n    \"Pays-Bas\": [\"Netherlands\", \"Pa\u00edses Bajos\", \"Pa\u00edses Baixos\", \"Nederland\", \"Niederlande\"],\n    \"\u00c9tats-Unis\": [\"United States\", \"Estados Unidos\", \"Estados Unidos\", \"Verenigde Staten\", \"USA\"],\n    \"Maroc\": [\"Morocco\", \"Marruecos\", \"Marrocos\", \"Marokko\", \"Marokko\"],\n    \"Tunisie\": [\"Tunisia\", \"T\u00fanez\", \"Tun\u00edsia\", \"Tunesi\u00eb\", \"Tunesien\"],\n    \"Alg\u00e9rie\": [\"Algeria\", \"Argelia\", \"Arg\u00e9lia\", \"Algerije\", \"Algerien\"],\n    \"Autre pays\": [\"Other country\", \"Otro pa\u00eds\", \"Outro pa\u00eds\", \"Ander land\", \"Anderes Land\"]\n  };\n\n  \/* r\u00e8gles dynamiques (nombre interpol\u00e9) *\/\n  var RX = [\n    [\/^(\\d+) ans$\/, [\"$1 years\", \"$1 a\u00f1os\", \"$1 anos\", \"$1 jaar\", \"$1 Jahre\"]],\n    [\/^An ([1-9])$\/, [\"Year $1\", \"A\u00f1o $1\", \"Ano $1\", \"Jaar $1\", \"Jahr $1\"]],\n    [\/^Pour votre p\u00e9rim\u00e8tre : (.+)$\/, [\"For your scope: $1\", \"Para su per\u00edmetro: $1\", \"Para o seu \u00e2mbito: $1\", \"Voor uw scope: $1\", \"F\u00fcr Ihren Umfang: $1\"]],\n    [\/^par an \u00b7 (\\d+) licences$\/, [\"per year \u00b7 $1 licenses\", \"al a\u00f1o \u00b7 $1 licencias\", \"por ano \u00b7 $1 licen\u00e7as\", \"per jaar \u00b7 $1 licenties\", \"pro Jahr \u00b7 $1 Lizenzen\"]],\n    [\/^par an \u00b7 1 licence$\/, [\"per year \u00b7 1 license\", \"al a\u00f1o \u00b7 1 licencia\", \"por ano \u00b7 1 licen\u00e7a\", \"per jaar \u00b7 1 licentie\", \"pro Jahr \u00b7 1 Lizenz\"]]\n  ];\n  \/* remplacements d'unit\u00e9s dans les cha\u00eenes compos\u00e9es avec des montants *\/\n  var SUB = [\n    [\" \u20ac \u00e9conomis\u00e9s sur 5 ans\", [\" \u20ac saved over 5 years\", \" \u20ac ahorrados en 5 a\u00f1os\", \" \u20ac poupados em 5 anos\", \" \u20ac bespaard over 5 jaar\", \" \u20ac gespart \u00fcber 5 Jahre\"]],\n    [\" \u20ac par an et par licence \u00b7 prix officiel Dassault Syst\u00e8mes\", [\" \u20ac per year per license \u00b7 official Dassault Syst\u00e8mes price\", \" \u20ac al a\u00f1o por licencia \u00b7 precio oficial de Dassault Syst\u00e8mes\", \" \u20ac por ano e por licen\u00e7a \u00b7 pre\u00e7o oficial da Dassault Syst\u00e8mes\", \" \u20ac per jaar per licentie \u00b7 offici\u00eble Dassault Syst\u00e8mes-prijs\", \" \u20ac pro Jahr und Lizenz \u00b7 offizieller Dassault Syst\u00e8mes-Preis\"]],\n    [\" \u20ac\/mois \u00b7 \", [\" \u20ac\/month \u00b7 \", \" \u20ac\/mes \u00b7 \", \" \u20ac\/m\u00eas \u00b7 \", \" \u20ac\/maand \u00b7 \", \" \u20ac\/Monat \u00b7 \"]],\n    [\" \u20ac\/mois\", [\" \u20ac\/month\", \" \u20ac\/mes\", \" \u20ac\/m\u00eas\", \" \u20ac\/maand\", \" \u20ac\/Monat\"]],\n    [\" \u20ac\/an\", [\" \u20ac\/year\", \" \u20ac\/a\u00f1o\", \" \u20ac\/ano\", \" \u20ac\/jaar\", \" \u20ac\/Jahr\"]]\n  ];\n\n  function trStr(t) {\n    var lead = t.match(\/^\\s*\/)[0], trail = t.match(\/\\s*$\/)[0];\n    var key = t.trim().replace(\/\u00a0\/g, ' ').replace(\/\\s+\/g, ' ');\n    if (!key) return null;\n    var pre = '';\n    if (key.slice(0, 2) === '\u00b7 ') { pre = '\u00b7 '; key = key.slice(2); }\n    var hit = TR[key];\n    if (hit) return lead + pre + hit[L] + trail;\n    for (var i = 0; i < RX.length; i++) {\n      if (RX[i][0].test(key)) return lead + pre + key.replace(RX[i][0], RX[i][1][L]) + trail;\n    }\n    var out = key, changed = false;\n    for (var j = 0; j < SUB.length; j++) {\n      if (out.indexOf(SUB[j][0]) !== -1) { out = out.split(SUB[j][0]).join(SUB[j][1][L]); changed = true; }\n    }\n    return changed ? lead + pre + out + trail : null;\n  }\n\n  var ATTRS = ['placeholder', 'aria-label', 'alt', 'title', 'data-label'];\n  function walk(root) {\n    if (root.nodeType === 3) {\n      var nv = trStr(root.nodeValue);\n      if (nv !== null && nv !== root.nodeValue) root.nodeValue = nv;\n      return;\n    }\n    if (root.nodeType !== 1) return;\n    for (var a = 0; a < ATTRS.length; a++) {\n      var v = root.getAttribute && root.getAttribute(ATTRS[a]);\n      if (v) { var nv2 = trStr(v); if (nv2 !== null && nv2 !== v) root.setAttribute(ATTRS[a], nv2); }\n    }\n    for (var c = root.firstChild; c; c = c.nextSibling) walk(c);\n  }\n\n  var busy = false;\n  var mo = new MutationObserver(function () {\n    if (busy) return;\n    busy = true;\n    try { walk(app); } catch (e) {}\n    mo.takeRecords();\n    busy = false;\n  });\n  mo.observe(app, { childList: true, subtree: true, characterData: true });\n  try { walk(app); } catch (e) {}\n})();\n<\/script>\n\n\n\n<\/div><\/div>\n<\/section><\/main>","protected":false},"excerpt":{"rendered":"<p>Combien co\u00fbte vraiment votre licence&nbsp;?Une question \u00e0 la fois. Commencez par choisir votre logiciel. Prix officiels Dassault Syst\u00e8mes. Vos donn\u00e9es restent confidentielles (RGPD). Vous pr\u00e9f\u00e9rez \u00e9changer directement avec nous ?<\/p>","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_breakdance_hide_in_design_set":false,"_breakdance_tags":"","footnotes":""},"class_list":["post-117306","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/ohmycad.com\/de\/wp-json\/wp\/v2\/pages\/117306","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ohmycad.com\/de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ohmycad.com\/de\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ohmycad.com\/de\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/ohmycad.com\/de\/wp-json\/wp\/v2\/comments?post=117306"}],"version-history":[{"count":0,"href":"https:\/\/ohmycad.com\/de\/wp-json\/wp\/v2\/pages\/117306\/revisions"}],"wp:attachment":[{"href":"https:\/\/ohmycad.com\/de\/wp-json\/wp\/v2\/media?parent=117306"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}