{"id":1346,"date":"2024-11-13T21:36:02","date_gmt":"2024-11-13T20:36:02","guid":{"rendered":"https:\/\/www.prismia.ch\/contact\/"},"modified":"2026-08-14T19:24:52","modified_gmt":"2026-08-14T18:24:52","slug":"contact","status":"publish","type":"page","link":"https:\/\/www.prismia.ch\/en\/contact\/","title":{"rendered":"Contact"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1346\" class=\"elementor elementor-1346 elementor-576\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-399f92b e-flex e-con-full pia-wrap pia-nav e-con e-parent\" data-id=\"399f92b\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-410f1e4 elementor-widget elementor-widget-html\" data-id=\"410f1e4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\n\/* ============================================================\n   PrismIA \u2014 mockup-v2 \u00b7 Design system \"sharp & clair\"\n   Tokens \u2192 base \u2192 composants \u2192 sections \u2192 responsive\n============================================================ *\/\n\n:root {\n  \/* Couleurs charte *\/\n  --p: #1929DD;          \/* primaire *\/\n  --a: #2C55FB;          \/* accent *\/\n  --lav: #91B1FF;        \/* secondaire lavande *\/\n  --dark: #04071b;       \/* navy hero\/footer *\/\n  --deep: #0A1240;\n  --ink: #0A0F2E;        \/* texte *\/\n  --muted: #4E5A85;      \/* texte secondaire *\/\n  --faint: #8B95BC;\n  --border: #E4E9F7;\n  --pale: #F7F9FF;       \/* fond section altern\u00e9 *\/\n  --pale2: #EEF1FF;      \/* fond section soutenu *\/\n  --white: #ffffff;\n\n  \/* Typo *\/\n  --sans: \"Plus Jakarta Sans\", system-ui, -apple-system, \"Segoe UI\", sans-serif;\n  --mono: \"Geist Mono\", ui-monospace, \"Cascadia Code\", Consolas, monospace;\n\n  \/* Layout *\/\n  --container: 1200px;\n  --radius-card: 10px;  \/* 16\u219210 le 12\/07 (Fran\u00e7ois : rendu plus pro\/action) *\/\n  --radius-btn: 8px;    \/* 12\u21928 idem *\/\n\n  \/* Ombres (teint\u00e9es bleu, jamais gris) *\/\n  --sh-sm: 0 2px 10px rgba(10, 18, 64, .06);\n  --sh-md: 0 10px 30px rgba(10, 18, 64, .10);\n  --sh-hover: 0 18px 44px rgba(25, 41, 221, .14);\n  --sh-cta: 0 10px 28px rgba(25, 41, 221, .28);\n}\n\n\/* ---------- Base ---------- *\/\n* { box-sizing: border-box; margin: 0; padding: 0; }\nhtml { scroll-behavior: smooth; }\n[id] { scroll-margin-top: 110px; } \/* les ancres atterrissent sous la nav fixe *\/\nbody {\n  font-family: var(--sans);\n  color: var(--ink);\n  background: var(--white);\n  line-height: 1.6;\n  font-size: 17px;\n  -webkit-font-smoothing: antialiased;\n}\nimg { max-width: 100%; display: block; }\na { color: inherit; }\n::selection { background: rgba(44, 85, 251, .18); }\n\n.container { max-width: var(--container); margin: 0 auto; padding: 0 28px; }\n\n\/* ---------- Typo helpers ---------- *\/\n.overline {\n  font-family: var(--mono);\n  font-size: 12.5px;\n  font-weight: 500;\n  letter-spacing: .14em;\n  text-transform: uppercase;\n  color: var(--a);\n  display: flex;\n  align-items: center;\n  gap: 9px;\n  margin-bottom: 16px;\n}\n\/* triangle-prisme d\u00e9grad\u00e9 (signature PrismIA, remplace le \"\/\" h\u00e9rit\u00e9) *\/\n.overline::before {\n  content: \"\"; width: 10px; height: 9px; flex: 0 0 auto;\n  background: linear-gradient(120deg, var(--p), var(--a) 55%, var(--lav));\n  clip-path: polygon(50% 0, 100% 100%, 0 100%);\n}\n\nh2 {\n  font-size: clamp(30px, 3.6vw, 44px);\n  font-weight: 750;\n  letter-spacing: -0.015em;\n  line-height: 1.12;\n  text-wrap: balance;\n  color: var(--ink);\n}\nh2 em, h1 em { font-style: italic; font-weight: 700; color: var(--a); }\nh3 { font-size: 21px; font-weight: 700; letter-spacing: -0.01em; color: var(--ink); }\n.lead { color: var(--muted); font-size: 18px; max-width: 62ch; }\n\n.section { padding: 112px 0; }\n.section-head { max-width: 760px; margin-bottom: 56px; }\n.section-head p { margin-top: 18px; }\n\n\/* ---------- Boutons (sharp & modernes) ---------- *\/\n.btn {\n  display: inline-flex; align-items: center; gap: 10px;\n  font-family: var(--sans); font-weight: 700; font-size: 15.5px;\n  padding: 15px 26px; border-radius: var(--radius-btn);\n  text-decoration: none; cursor: pointer; border: 0;\n  transition: transform .2s ease, box-shadow .25s ease, background .2s ease, color .2s ease, border-color .2s ease;\n}\n.btn svg { transition: transform .2s ease; flex: 0 0 auto; }\n.btn:hover svg { transform: translateX(4px); }\n\n.btn-primary { background: var(--p); color: #fff; box-shadow: var(--sh-cta); }\n.btn-primary:hover { background: var(--a); transform: translateY(-2px); box-shadow: 0 16px 36px rgba(25, 41, 221, .38); }\n\n.btn-light { background: #fff; color: var(--p); box-shadow: 0 10px 28px rgba(4, 7, 27, .35); }\n.btn-light:hover { background: var(--pale2); transform: translateY(-2px); }\n\n.btn-ghost { background: transparent; color: var(--ink); border: 1.5px solid var(--border); }\n.btn-ghost:hover { border-color: var(--a); color: var(--a); transform: translateY(-2px); }\n\n\/* CTA Maturity Assessment : \u00ab prisme vivant \u00bb (2026-07-13, remplace la rotation conique 2 tons)\n   Signature IA multi-couleur : le spectre COULE le long du liser\u00e9 (translation, jamais de\n   rotation), une aurora multicolore respire sous le bouton, une \u00e9tincelle scintille avant\n   le label. Boucle exacte : 1re et derni\u00e8re teinte identiques + glissement d'un multiple\n   entier de tuile (300%). *\/\n.btn-maturity {\n  position: relative; isolation: isolate;\n  background: #fff; color: var(--p); border: 0;\n  animation: pia-aurora 5.6s ease-in-out infinite;\n}\n.btn-maturity::before { \/* liser\u00e9 : flux spectral 6 teintes *\/\n  content: \"\"; position: absolute; inset: 0; border-radius: inherit; padding: 2px;\n  background: linear-gradient(90deg,\n    #2C55FB, #7B5CFF, #E14FF6, #FF6B5B, #F5A524, #37C8F5, #2C55FB) 0 50% \/ 300% 100%;\n  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);\n  -webkit-mask-composite: xor; mask-composite: exclude;\n  pointer-events: none; z-index: -1;\n  animation: pia-flow 7s linear infinite;\n  transition: filter .25s ease;\n}\n\/* Ic\u00f4ne PODIUM anim\u00e9e (span .podium + 3 <i> dans les 3 boutons maturit\u00e9) :\n   cycle 6.5s partag\u00e9 par tous les \u00e9l\u00e9ments (synchro par pourcentages) \u2014\n   intro : les 3 marches jaillissent du sol en cascade (gauche, droite,\n   centre) puis l'\u00e9toile dor\u00e9e surgit du sol en tournoyant et rebondit ;\n   ~3s o\u00f9 seule l'\u00e9toile tourne lentement ; outro : \u00e9toile en vrille +\n   marches qui redescendent ; courte pause avant de reboucler. *\/\n.btn-maturity .podium {\n  position: relative; width: 22px; height: 25px; flex: 0 0 auto;\n  overflow: hidden; \/* les \u00e9l\u00e9ments \"sous le sol\" sont r\u00e9ellement invisibles *\/\n}\n.btn-maturity .podium i {\n  position: absolute; bottom: 0; width: 6px;\n  border-radius: 1.5px 1.5px 0 0;\n  background: linear-gradient(180deg, #5B84FF, #2C55FB); \/* bleu satur\u00e9, plus de lavande blanch\u00e2tre *\/\n  transform: scaleY(0); transform-origin: bottom;\n}\n.btn-maturity .podium i:nth-child(1) { left: 0;    height: 10px; animation: pia-pod-g 6.5s infinite; }\n.btn-maturity .podium i:nth-child(2) { left: 8px;  height: 14px; animation: pia-pod-c 6.5s infinite; } \/* centre : sort en dernier, 2px sous l'\u00e9toile *\/\n.btn-maturity .podium i:nth-child(3) { left: 16px; height: 12px; animation: pia-pod-d 6.5s infinite; }\n.btn-maturity .podium::before { \/* \u00e9toile dor\u00e9e *\/\n  content: \"\"; position: absolute; top: 0; left: 50%; margin-left: -4.5px;\n  width: 9px; height: 9px;\n  background: linear-gradient(135deg, #FFC24B, #F5A524);\n  -webkit-mask: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1.8l3 6.4 7 .8-5.2 4.8 1.4 6.9-6.2-3.5-6.2 3.5 1.4-6.9L2 9l7-.8 3-6.4z'\/%3E%3C\/svg%3E\") center \/ contain no-repeat;\n  mask: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1.8l3 6.4 7 .8-5.2 4.8 1.4 6.9-6.2-3.5-6.2 3.5 1.4-6.9L2 9l7-.8 3-6.4z'\/%3E%3C\/svg%3E\") center \/ contain no-repeat;\n  transform: translateY(28px) rotate(-160deg) scale(.4);\n  animation: pia-pod-star 6.5s infinite;\n}\n.btn-maturity:hover { transform: translateY(-2px); }\n.btn-maturity:hover::before { filter: brightness(1.22) saturate(1.25); }\n.btn-maturity:hover .podium { filter: brightness(1.15); }\n.btn-maturity.on-dark { background: rgba(6,12,44,.36); color: #fff; backdrop-filter: blur(8px); } \/* vitre bleut\u00e9e, moins noire *\/\n.btn-maturity.on-dark .podium i { background: linear-gradient(180deg, #B8CCFF, #6E93FF); } \/* barres \u00e9claircies : contraste sur la vitre sombre *\/\n\n\/* Aurora : les teintes du halo \u00e9changent leurs places (d\u00e9rive, pas de rotation) *\/\n@keyframes pia-aurora {\n  0%, 100% { box-shadow: -22px 12px 42px -6px rgba(44,85,251,.62), 0 14px 44px -4px rgba(225,79,246,.42), 22px 12px 42px -6px rgba(245,165,36,.52); }\n  33%      { box-shadow: -22px 12px 42px -6px rgba(245,165,36,.54), 0 14px 44px -4px rgba(44,85,251,.58), 22px 12px 42px -6px rgba(225,79,246,.50); }\n  66%      { box-shadow: -22px 12px 42px -6px rgba(225,79,246,.52), 0 14px 44px -4px rgba(245,165,36,.40), 22px 12px 42px -6px rgba(44,85,251,.62); }\n}\n@keyframes pia-flow { to { background-position: 300% 50%; } }\n\/* Podium \u2014 cycle 6.5s : intro 0-36% (2.3s) \u00b7 \u00e9toile seule qui tourne 36-82% (~3s) \u00b7\n   outro 82-92% \u00b7 pause 92-100%. D\u00e9passement \u00e9lastique (1.18) \u00e0 chaque mont\u00e9e. *\/\n@keyframes pia-pod-g { \/* marche gauche *\/\n  0%, 3% { transform: scaleY(0); }\n  9%     { transform: scaleY(1.18); }\n  13%, 82% { transform: scaleY(1); }\n  88%, 100% { transform: scaleY(0); }\n}\n@keyframes pia-pod-d { \/* marche droite *\/\n  0%, 9% { transform: scaleY(0); }\n  15%    { transform: scaleY(1.18); }\n  19%, 84% { transform: scaleY(1); }\n  90%, 100% { transform: scaleY(0); }\n}\n@keyframes pia-pod-c { \/* marche centrale (la plus haute, sort en dernier) *\/\n  0%, 15% { transform: scaleY(0); }\n  22%     { transform: scaleY(1.2); }\n  26%, 86% { transform: scaleY(1); }\n  92%, 100% { transform: scaleY(0); }\n}\n@keyframes pia-pod-star { \/* surgit du sol en tournoyant, rebond, rotation lente, vrille de sortie *\/\n  0%, 26% { transform: translateY(28px) rotate(-160deg) scale(.4); }\n  32%     { transform: translateY(-2.5px) rotate(12deg) scale(1.18); } \/* rebond au-dessus du perchoir *\/\n  36%     { transform: translateY(0) rotate(0deg) scale(1); }\n  59%     { transform: translateY(0) rotate(180deg) scale(1.08); }     \/* rotation lente + micro-pulse *\/\n  82%     { transform: translateY(0) rotate(360deg) scale(1); }\n  90%, 100% { transform: translateY(3px) rotate(540deg) scale(0); }    \/* vrille de sortie *\/\n}\n@media (prefers-reduced-motion: reduce) {\n  .btn-maturity, .btn-maturity::before,\n  .btn-maturity .podium i, .btn-maturity .podium::before { animation: none; }\n  .btn-maturity { box-shadow: 0 12px 36px -10px rgba(124,92,255,.40); }\n  .btn-maturity::before { background-size: 100% 100%; } \/* spectre complet visible en statique *\/\n  \/* podium fig\u00e9 \u00e0 l'\u00e9tat final (les transforms de base cachent tout sinon) *\/\n  .btn-maturity .podium i { transform: scaleY(1); }\n  .btn-maturity .podium::before { transform: none; }\n}\n\n.link-arrow {\n  display: inline-flex; align-items: center; gap: 8px;\n  font-weight: 700; font-size: 15.5px; color: var(--p); text-decoration: none;\n}\n.link-arrow svg { transition: transform .2s ease; }\n.link-arrow:hover svg { transform: translateX(4px); }\n.link-arrow:hover { color: var(--a); }\n\n\/* ============================================================\n   NAV\n============================================================ *\/\n.nav {\n  position: fixed; inset: 0 0 auto 0; z-index: 100;\n  transition: background .3s ease, box-shadow .3s ease;\n}\n.nav-inner {\n  max-width: 1320px; margin: 0 auto; padding: 14px 28px;\n  display: flex; align-items: center; gap: 34px;\n}\n.nav-logo img { height: 34px; width: auto; filter: brightness(0) invert(1); transition: filter .3s ease; }\n.nav-links { display: flex; align-items: center; gap: 6px; margin-left: auto; }\n.nav-link {\n  display: flex; align-items: center; gap: 7px;\n  color: rgba(255,255,255,.88); text-decoration: none;\n  font-weight: 600; font-size: 15px; padding: 10px 14px; border-radius: 10px;\n  transition: color .2s ease, background .2s ease;\n  background: none; border: 0; cursor: pointer; font-family: var(--sans);\n}\n.nav-link:hover { color: #fff; background: rgba(255,255,255,.08); }\n.nav-toggle-symbol {\n  font-weight: 500; font-size: 16px; line-height: 1;\n  transition: transform .25s ease; display: inline-block;\n}\n.nav-item.open .nav-toggle-symbol { transform: rotate(45deg); }\n.nav-lang {\n  font-family: var(--mono); font-size: 11.5px; letter-spacing: .06em;\n  color: rgba(255,255,255,.65); padding: 7px 12px;\n  border: 1px solid rgba(255,255,255,.22); border-radius: 999px;\n  margin: 0 6px; white-space: nowrap; transition: color .3s ease, border-color .3s ease;\n}\n.nav-lang b { color: #fff; font-weight: 600; }\n.nav-cta { margin-left: 4px; padding: 12px 22px; font-size: 14.5px; }\n\n\/* \u00e9tat scroll\u00e9 : fond blanc *\/\n.nav.is-scrolled { background: rgba(255,255,255,.92); backdrop-filter: blur(14px); box-shadow: 0 1px 0 var(--border), var(--sh-sm); }\n.nav.is-scrolled .nav-logo img { filter: none; }\n.nav.is-scrolled .nav-link { color: var(--ink); }\n.nav.is-scrolled .nav-link:hover { color: var(--p); background: var(--pale2); }\n.nav.is-scrolled .nav-lang { color: var(--muted); border-color: var(--border); }\n.nav.is-scrolled .nav-lang b { color: var(--ink); }\n\n\/* dropdowns *\/\n.nav-item { position: relative; }\n.dropdown {\n  position: absolute; top: calc(100% + 12px); left: 50%; transform: translateX(-50%) translateY(8px);\n  background: #fff; border: 1px solid var(--border); border-radius: 18px;\n  box-shadow: 0 24px 60px rgba(10, 18, 64, .18);\n  padding: 28px; display: flex; gap: 36px;\n  opacity: 0; visibility: hidden; pointer-events: none;\n  transition: opacity .22s ease, transform .22s ease, visibility .22s;\n}\n.nav-item.open .dropdown { opacity: 1; visibility: visible; pointer-events: auto; transform: translateX(-50%) translateY(0); }\n.dd-group { min-width: 185px; }\n.dd-tag {\n  font-family: var(--mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase;\n  color: var(--faint); margin-bottom: 14px;\n}\n.dd-links { display: flex; flex-direction: column; gap: 3px; }\n.dd-links a {\n  color: var(--ink); text-decoration: none; font-size: 14.5px; font-weight: 600;\n  padding: 7px 10px; margin: 0 -10px; border-radius: 8px;\n  transition: background .15s ease, color .15s ease;\n}\n.dd-links a:hover { background: var(--pale2); color: var(--p); }\n.dd-links .dd-more { color: var(--a); margin-top: 6px; }\n.dd-desc {\n  width: 250px; background: var(--pale); border-radius: 14px; padding: 20px;\n  font-size: 13.5px; color: var(--muted); display: flex; flex-direction: column; gap: 14px;\n}\n.dd-desc .link-arrow { font-size: 14px; }\n\n\/* burger mobile *\/\n.nav-burger {\n  display: none; margin-left: auto; background: none; border: 0; cursor: pointer;\n  width: 44px; height: 44px; border-radius: 10px; position: relative;\n}\n.nav-burger span {\n  position: absolute; left: 11px; right: 11px; height: 2px; border-radius: 2px;\n  background: #fff; transition: transform .25s ease, opacity .2s ease, background .3s ease;\n}\n.nav.is-scrolled .nav-burger span, .nav.menu-open .nav-burger span { background: var(--ink); }\n.nav-burger span:nth-child(1) { top: 16px; }\n.nav-burger span:nth-child(2) { top: 22px; }\n.nav-burger span:nth-child(3) { top: 28px; }\n.nav.menu-open .nav-burger span:nth-child(1) { transform: translateY(6px) rotate(45deg); }\n.nav.menu-open .nav-burger span:nth-child(2) { opacity: 0; }\n.nav.menu-open .nav-burger span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }\n\n.mobile-menu {\n  display: none; position: fixed; inset: 62px 0 0 0; z-index: 99;\n  background: #fff; overflow-y: auto; padding: 24px 28px 48px;\n}\n.nav.menu-open ~ .mobile-menu { display: block; }\n.mm-group { border-bottom: 1px solid var(--border); padding: 14px 0; }\n.mm-group > .mm-title { font-weight: 700; font-size: 17px; padding: 8px 0; }\n.mm-links { display: flex; flex-direction: column; }\n.mm-links a { text-decoration: none; color: var(--muted); font-size: 15.5px; padding: 9px 0 9px 14px; }\n.mm-links a:active { color: var(--p); }\n.mobile-menu .btn { margin-top: 22px; width: 100%; justify-content: center; }\n\n\/* ============================================================\n   HERO\n============================================================ *\/\n.hero {\n  position: relative; min-height: 100svh; background: var(--dark);\n  display: flex; align-items: center; justify-content: center; overflow: hidden;\n}\n.hero canvas { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; transition: opacity 1.2s ease; }\n.hero canvas.on { opacity: 1; }\n.hero::after {\n  content: \"\"; position: absolute; left: -5%; right: -5%; bottom: -40px; height: 130px;\n  background: linear-gradient(180deg, rgba(255,255,255,0), #fafeff 55%, #fff);\n  filter: blur(15px); pointer-events: none; z-index: 2;\n}\n.hero-inner { position: relative; z-index: 3; text-align: center; padding: 140px 28px 170px; max-width: 1260px; }\n.hero h1 {\n  color: #fff; font-weight: 800; line-height: 1.12; letter-spacing: -0.02em;\n  font-size: clamp(36px, 4.7vw, 66px); text-wrap: balance;\n  \/* lisibilit\u00e9 sur le c\u0153ur clair du halo *\/\n  text-shadow: 0 2px 30px rgba(4, 7, 27, .60), 0 1px 4px rgba(4, 7, 27, .45);\n}\n\/* em du hero : blanc (lisible quel que soit l'\u00e9tat du halo\/souris),\n   l'accent lavande passe dans un glow autour des lettres *\/\n.hero h1 em {\n  color: #fff;\n  text-shadow:\n    0 0 22px rgba(145, 177, 255, .55),\n    0 0 44px rgba(145, 177, 255, .30),\n    0 2px 30px rgba(4, 7, 27, .60),\n    0 1px 4px rgba(4, 7, 27, .45);\n}\n.hero .lead {\n  color: rgba(255,255,255,.87); margin: 26px auto 0; max-width: 640px; font-size: 18px;\n  text-shadow: 0 1px 18px rgba(4, 7, 27, .55), 0 1px 3px rgba(4, 7, 27, .4);\n}\n.hero .btn { margin-top: 38px; }\n\n\/* ============================================================\n   PAGES INT\u00c9RIEURES\n============================================================ *\/\n.page-hero {\n  background:\n    radial-gradient(55% 75% at 88% -25%, rgba(145,177,255,.28), transparent 70%),\n    radial-gradient(45% 60% at 8% -15%, rgba(44,85,251,.12), transparent 70%),\n    var(--pale);\n  padding: 168px 0 72px;\n}\n.page-hero .crumb { font-family: var(--mono); font-size: 12px; color: var(--faint); margin-bottom: 20px; display: block; letter-spacing: .04em; }\n.page-hero .crumb a { color: var(--muted); text-decoration: none; }\n.page-hero .crumb a:hover { color: var(--p); }\n.page-hero h1 { font-size: clamp(34px, 4.2vw, 54px); font-weight: 800; letter-spacing: -0.02em; line-height: 1.08; text-wrap: balance; color: var(--ink); }\n.page-hero .lead { margin-top: 20px; }\n.page-hero .btn { margin-top: 30px; }\n.badges { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }\n.badge {\n  font-family: var(--mono); font-size: 12.5px; color: var(--p);\n  background: #fff; border: 1px solid var(--border); border-radius: 999px; padding: 8px 16px;\n}\n.check-list { display: grid; gap: 13px; padding: 0; list-style: none; }\n.check-list li { display: flex; gap: 12px; color: var(--muted); font-size: 15.5px; line-height: 1.55; }\n.check-list li::before {\n  content: \"\u2713\"; flex: 0 0 22px; height: 22px; border-radius: 7px;\n  display: grid; place-items: center; font-size: 12px; font-weight: 700;\n  background: var(--pale2); color: var(--p); margin-top: 2px;\n}\n.prose { max-width: 72ch; }\n.prose p + p { margin-top: 16px; }\n.prose h3 { margin: 32px 0 12px; }\n.prose { color: var(--muted); font-size: 16.5px; }\n.prose strong { color: var(--ink); }\n\n\/* ============================================================\n   SECTIONS\n============================================================ *\/\n\n\/* --- Services : 3 cards --- *\/\n.services-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }\n.card {\n  background: #fff; border: 1px solid var(--border); border-radius: var(--radius-card);\n  padding: 32px 30px; display: flex; flex-direction: column; gap: 14px;\n  text-decoration: none;\n  transition: transform .25s cubic-bezier(.2,.7,.3,1), box-shadow .25s ease, border-color .25s ease;\n}\n.card:hover { transform: translateY(-4px); box-shadow: var(--sh-hover); border-color: rgba(44,85,251,.35); }\n.card p { color: var(--muted); font-size: 15.5px; flex: 1; }\n.card .link-arrow { margin-top: 4px; }\n\n\/* --- Cards \u00ab facettes \u00bb du trio services (home + services, 2026-07-13) ---\n   Remplace les blocs froids : ar\u00eate spectrale au sommet (signature prisme),\n   picto par service dans une tuile d\u00e9grad\u00e9e, lueur d'angle ; au hover la\n   tuile s'embrase (d\u00e9grad\u00e9 + picto blanc) et l'ar\u00eate s'allume. *\/\n.card-svc { padding: 36px 32px 30px; gap: 16px; overflow: hidden; }\n.card-svc::before, .skill-card::before { \/* ar\u00eate de lumi\u00e8re spectrale *\/\n  content: \"\"; position: absolute; top: 0; left: 0; right: 0; height: 2.5px;\n  background: linear-gradient(90deg, var(--p), var(--a) 42%, var(--lav) 74%, #E14FF6);\n  opacity: .5; transition: opacity .3s ease;\n}\n.card-svc::after, .skill-card::after { \/* lueur d'angle haut-droite, PROPORTIONNELLE \u00e0 la carte\n  (une taille fixe lavait enti\u00e8rement les petites cartes, ex. \u00e9quipe d'\u00e0-propos) *\/\n  content: \"\"; position: absolute; inset: 0;\n  background: radial-gradient(circle at 100% 0, rgba(145,177,255,.20), transparent 46%);\n  pointer-events: none;\n}\n.card-svc h3 { font-size: 22px; }\n.card-svc:hover::before, .skill-card:hover::before { opacity: 1; }\n.svc-icon, .skill-icon {\n  width: 54px; height: 54px; border-radius: 14px; flex: 0 0 auto;\n  display: grid; place-items: center; margin-bottom: 4px;\n  background: linear-gradient(135deg, var(--pale2), #fff);\n  border: 1px solid var(--border); color: var(--p);\n  transition: background .3s ease, color .3s ease, transform .3s ease,\n              border-color .3s ease, box-shadow .3s ease;\n}\n.svc-icon svg, .skill-icon svg { width: 25px; height: 25px; display: block; }\n.card-svc:hover .svc-icon, .skill-card:hover .skill-icon {\n  background: linear-gradient(135deg, var(--p), var(--a));\n  color: #fff; border-color: transparent;\n  transform: scale(1.07) rotate(-4deg);\n  box-shadow: 0 10px 24px rgba(25, 41, 221, .30);\n}\n\/* m\u00e9ta formation : dur\u00e9e + niveau (+ tag populaire) *\/\n.fmeta { display: flex; flex-wrap: wrap; gap: 7px; margin: -2px 0 2px; }\n.fmeta span {\n  font-family: var(--mono); font-size: 11.5px; letter-spacing: .02em;\n  color: var(--p); background: var(--pale); border: 1px solid var(--border);\n  border-radius: 999px; padding: 4px 11px;\n}\n.fmeta .hot { color: #fff; background: var(--p); border-color: var(--p); }\n\/* bulle de d\u00e9tail formation (hover) *\/\n.fpop {\n  position: absolute; left: -1px; right: -1px; top: -1px; z-index: 6;\n  min-height: calc(100% + 2px); \/* couvre toute la card (les cards ont grandi avec les ic\u00f4nes) *\/\n  background: #fff; border: 1.5px solid rgba(44,85,251,.35); border-radius: var(--radius-card);\n  box-shadow: 0 26px 60px rgba(10,18,64,.22);\n  padding: 24px; display: flex; flex-direction: column; gap: 12px;\n  opacity: 0; visibility: hidden; transform: translateY(6px);\n  transition: opacity .2s ease, transform .2s ease, visibility .2s;\n  pointer-events: none;\n}\n.card:hover .fpop, .card:focus-within .fpop {\n  opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto;\n}\n.fpop strong { font-size: 17px; letter-spacing: -0.01em; }\n.fpop .fformat { font-size: 12.5px; color: var(--faint); font-family: var(--mono); line-height: 1.5; }\n.fpop .check-list { gap: 9px; }\n.fpop .check-list li { font-size: 13.5px; }\n.fpop .btn { padding: 11px 18px; font-size: 14px; margin-top: auto; align-self: flex-start; } \/* bouton ancr\u00e9 en bas de la bulle *\/\n@media (hover: none) { .fpop { display: none; } }\n\n\/* --- Ic\u00f4nes des cards formations (logo outil ou pictogramme th\u00e8me) --- *\/\n.ficon {\n  width: 48px; height: 48px; border-radius: 12px; flex: 0 0 auto;\n  display: grid; place-items: center; margin-bottom: 2px;\n  background: var(--pale); border: 1px solid var(--border);\n}\n.ficon svg { width: 26px; height: 26px; display: block; }\n.ficon-pia { color: var(--p); }        \/* pictos maison : bleu charte *\/\n.ficon-openai { color: #0A0F2E; }      \/* knot OpenAI : encre *\/\n.ficon-hero { width: 56px; height: 56px; background: #fff; margin-bottom: 20px; }\n.ficon-hero svg { width: 30px; height: 30px; }\n\n\/* --- Chips dur\u00e9e \/ niveau : ic\u00f4nes int\u00e9gr\u00e9es, scan visuel --- *\/\n.fmeta span { display: inline-flex; align-items: center; gap: 6px; }\n.fmeta span::before {\n  content: \"\"; width: 11px; height: 11px; flex: 0 0 auto; background: currentColor;\n  -webkit-mask: var(--chipicon) center \/ contain no-repeat;\n  mask: var(--chipicon) center \/ contain no-repeat;\n}\n\/* chip 1 = dur\u00e9e (horloge) *\/\n.fmeta span:nth-child(1) { --chipicon: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='8.6'\/%3E%3Cpath d='M12 7.4v4.6l3 1.9'\/%3E%3C\/svg%3E\"); }\n\/* chip 2 = niveau (jauge) : fond soutenu pour se distinguer d'un \u0153il *\/\n.fmeta span:nth-child(2) {\n  --chipicon: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='black'%3E%3Crect x='3' y='14' width='4.6' height='7' rx='1'\/%3E%3Crect x='9.7' y='9' width='4.6' height='12' rx='1'\/%3E%3Crect x='16.4' y='4' width='4.6' height='17' rx='1'\/%3E%3C\/svg%3E\");\n  background: var(--pale2); border-color: rgba(44,85,251,.18);\n}\n\n\/* --- \u00ab La plus demand\u00e9e \u00bb : \u00e9toile discr\u00e8te en coin de card --- *\/\n.card { position: relative; }\n.fstar {\n  position: absolute; top: 16px; right: 16px; z-index: 2;\n  width: 30px; height: 30px; border-radius: 999px;\n  display: grid; place-items: center; cursor: help;\n  background: #fff; border: 1px solid var(--border); box-shadow: var(--sh-sm);\n  color: #F5A524;\n}\n.fstar svg { width: 15px; height: 15px; display: block; }\n.fpop .fstar { box-shadow: none; }\n\n\/* --- Valeur ajout\u00e9e : 4 cards num\u00e9rot\u00e9es --- *\/\n.bg-pale { background: var(--pale); }\n.bg-pale2 { background: var(--pale2); }\n.valeur-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }\n.valeur-card {\n  background: #fff; border: 1px solid var(--border); border-radius: var(--radius-card);\n  padding: 30px 26px;\n  transition: transform .25s cubic-bezier(.2,.7,.3,1), box-shadow .25s ease;\n}\n.valeur-card:hover { transform: translateY(-4px); box-shadow: var(--sh-hover); }\n.valeur-num {\n  font-family: var(--mono); font-weight: 500; font-size: 15px;\n  background: linear-gradient(120deg, var(--p), var(--a) 55%, var(--lav));\n  -webkit-background-clip: text; background-clip: text; color: transparent;\n  margin-bottom: 18px; display: block;\n}\n.valeur-card h3 { font-size: 19px; margin-bottom: 10px; }\n.valeur-card p { color: var(--muted); font-size: 14.5px; }\n\n\/* --- Split (formation \/ audit \/ int\u00e9gration \/ cabinet) --- *\/\n.split { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }\n.split.rev .split-media { order: -1; }\n.split-media img { border-radius: 20px; box-shadow: var(--sh-md); width: 100%; object-fit: cover; }\n.split .btn { margin-top: 30px; }\n.split p + p { margin-top: 14px; }\n.split .lead { font-size: 16.5px; }\n\n\/* --- \u00c9quipes apprennent : 3 cards ic\u00f4nes \u2014 align\u00e9es sur les \u00ab facettes \u00bb\n   du trio services (ar\u00eate spectrale, tuile p\u00e2le -> embras\u00e9e au hover, lueur\n   d'angle : r\u00e8gles partag\u00e9es avec .card-svc\/.svc-icon plus haut) --- *\/\n.skills-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }\n.skill-card {\n  position: relative; overflow: hidden;\n  background: #fff; border: 1px solid var(--border); border-radius: var(--radius-card);\n  padding: 36px 32px 30px;\n  transition: transform .25s cubic-bezier(.2,.7,.3,1), box-shadow .25s ease, border-color .25s ease;\n}\n.skill-card:hover { transform: translateY(-4px); box-shadow: var(--sh-hover); border-color: rgba(44,85,251,.35); }\n.skill-icon { margin-bottom: 20px; }\n.skill-card h3 { font-size: 19px; margin-bottom: 10px; }\n.skill-card p { color: var(--muted); font-size: 14.5px; }\n\n\/* --- Outils : bandeau de chips (centr\u00e9, logos officiels 2026-07-13) --- *\/\n.tools-band { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }\n.tool-chip {\n  display: inline-flex; align-items: center; gap: 9px;\n  font-family: var(--mono); font-size: 14px; font-weight: 500; color: var(--p);\n  background: #fff; border: 1px solid var(--border); border-radius: 999px;\n  padding: 11px 20px; transition: border-color .2s ease, background .2s ease, transform .2s ease, box-shadow .2s ease;\n}\n.tool-chip img { width: 17px; height: 17px; display: block; flex: 0 0 auto; }\n.band-break { flex-basis: 100%; height: 0; } \/* rupture de ligne : \u00e9quilibre 5 + 4 *\/\n.tool-chip:hover { border-color: rgba(44,85,251,.4); background: var(--pale2); transform: translateY(-2px); box-shadow: var(--sh-sm); }\n\n\/* --- Outils : grille 3\u00d73 (h\u00e9rit\u00e9e, plus utilis\u00e9e sur la home) --- *\/\n.tools-grid {\n  display: grid; grid-template-columns: repeat(3, 1fr);\n  border: 1px solid var(--border); border-radius: var(--radius-card); overflow: hidden;\n}\n.tool-cell {\n  padding: 26px 26px 28px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border);\n  transition: background .2s ease;\n}\n.tool-cell:nth-child(3n) { border-right: 0; }\n.tool-cell:nth-child(n+7) { border-bottom: 0; }\n.tool-cell:hover { background: var(--pale2); }\n.tool-name { font-family: var(--mono); font-size: 14px; font-weight: 500; color: var(--p); margin-bottom: 10px; }\n.tool-desc { font-size: 13.5px; color: var(--muted); line-height: 1.55; }\n.tools-footer { margin-top: 32px; }\n\n\/* --- CTA interm\u00e9diaire (panneau dark) --- *\/\n.cta-panel {\n  position: relative; overflow: hidden;\n  background: var(--dark); border-radius: 28px;\n  padding: 84px 40px; text-align: center; color: #fff;\n}\n.cta-panel canvas {\n  position: absolute; inset: 0; width: 100%; height: 100%;\n  opacity: 0; transition: opacity 1.2s ease;\n}\n.cta-panel canvas.on { opacity: 1; }\n.cta-panel > *:not(canvas) { position: relative; z-index: 2; }\n.cta-panel h2 { color: #fff; }\n\/* m\u00eame recette que le hero : l'em accent se noyait dans le halo -> blanc + lueur lavande *\/\n.cta-panel h2 em {\n  color: #fff;\n  text-shadow: 0 0 22px rgba(145,177,255,.55), 0 0 44px rgba(145,177,255,.30),\n               0 2px 30px rgba(4,7,27,.60), 0 1px 4px rgba(4,7,27,.45);\n}\n.cta-panel p { color: rgba(255,255,255,.82); margin: 16px auto 0; max-width: 56ch; }\n.cta-panel .btn { margin-top: 34px; }\n\n\/* --- M\u00e9thodologie : timeline 4 \u00e9tapes --- *\/\n.method-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; position: relative; }\n.method-step { position: relative; padding-top: 26px; }\n.method-step::before {\n  content: \"\"; position: absolute; top: 0; left: 0; right: -32px; height: 2px;\n  background: linear-gradient(90deg, var(--a), var(--lav));\n  opacity: .35;\n}\n.method-step:last-child::before { right: 0; }\n.method-step::after {\n  content: \"\"; position: absolute; top: -4px; left: 0; width: 10px; height: 10px;\n  border-radius: 50%; background: var(--a);\n  box-shadow: 0 0 0 5px rgba(44,85,251,.15);\n}\n.method-num { font-family: var(--mono); font-size: 13px; color: var(--a); display: block; margin-bottom: 12px; }\n.method-step h3 { font-size: 20px; margin-bottom: 10px; }\n.method-step p { color: var(--muted); font-size: 14.5px; }\n\n\/* --- FAQ --- *\/\n.faq-wrap { max-width: 820px; margin: 0 auto; }\n.faq-item { border-bottom: 1px solid var(--border); }\n.faq-item summary {\n  list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 20px;\n  padding: 22px 4px; font-weight: 700; font-size: 17px;\n  transition: color .2s ease;\n}\n.faq-item summary::-webkit-details-marker { display: none; }\n.faq-item summary:hover { color: var(--p); }\n.faq-plus {\n  flex: 0 0 auto; width: 26px; height: 26px; border-radius: 8px;\n  position: relative; border: 1.5px solid var(--border);\n  transition: transform .25s ease, background .2s ease, border-color .2s ease;\n}\n.faq-plus::before, .faq-plus::after {\n  content: \"\"; position: absolute; top: 50%; left: 50%;\n  background: var(--a); border-radius: 1px;\n  transition: background .2s ease;\n}\n.faq-plus::before { width: 11px; height: 2px; transform: translate(-50%, -50%); }\n.faq-plus::after { width: 2px; height: 11px; transform: translate(-50%, -50%); }\n.faq-item[open] .faq-plus { transform: rotate(45deg); background: var(--p); border-color: var(--p); }\n.faq-item[open] .faq-plus::before, .faq-item[open] .faq-plus::after { background: #fff; }\n.faq-item .faq-a { padding: 0 44px 24px 4px; color: var(--muted); font-size: 15.5px; }\n\n\/* --- Newsletters --- *\/\n.news-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; flex-wrap: wrap; margin-bottom: 48px; }\n.news-count {\n  font-family: var(--mono); font-size: 12.5px; color: var(--p);\n  background: #fff; border: 1px solid var(--border); border-radius: 999px; padding: 9px 16px;\n  white-space: nowrap;\n}\n.news-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }\n.news-card {\n  background: #fff; border: 1px solid var(--border); border-radius: var(--radius-card);\n  padding: 28px; text-decoration: none; display: flex; flex-direction: column; gap: 14px;\n  transition: transform .25s cubic-bezier(.2,.7,.3,1), box-shadow .25s ease, border-color .25s ease;\n}\n.news-card:hover { transform: translateY(-4px); box-shadow: var(--sh-hover); border-color: rgba(44,85,251,.35); }\n.news-badge {\n  font-family: var(--mono); font-size: 12px; color: var(--a);\n  background: var(--pale2); border-radius: 8px; padding: 6px 10px; align-self: flex-start;\n}\n.news-card h3 { font-size: 19px; }\n.news-card p { color: var(--muted); font-size: 14.5px; flex: 1; }\n\n\/* Cards avec vignette (visuels des \u00e9ditions, servis depuis prismia.ch) *\/\n.news-card.has-thumb { padding: 0; overflow: hidden; gap: 0; }\n.news-thumb { display: block; overflow: hidden; background: var(--pale2); aspect-ratio: 1 \/ 1; }\n.news-thumb img {\n  width: 100%; height: 100%; object-fit: cover; display: block;\n  transition: transform .45s cubic-bezier(.2,.7,.3,1);\n}\n.news-card:hover .news-thumb img { transform: scale(1.05); }\n.news-body { display: flex; flex-direction: column; gap: 14px; padding: 20px 22px 24px; flex: 1; }\n.news-meta-line { display: flex; align-items: center; justify-content: space-between; gap: 10px; }\n.news-date { font-family: var(--mono); font-size: 12px; color: var(--faint); white-space: nowrap; }\n\n\/* Grille archive : les 24 \u00e9ditions sur la page newsletters *\/\n.news-grid.news-archive { grid-template-columns: repeat(4, 1fr); gap: 20px; }\n.news-archive .news-body { padding: 15px 16px 17px; gap: 0; }\n@media (max-width: 1024px) { .news-grid.news-archive { grid-template-columns: repeat(3, 1fr); } }\n@media (max-width: 820px) { .news-grid.news-archive { grid-template-columns: repeat(2, 1fr); gap: 14px; } }\n\n\/* Popover sommaire au survol des cards newsletters (m\u00eame esprit que .fpop formations) *\/\n.news-card.has-thumb { position: relative; }\n.npop {\n  position: absolute; inset: -1px; z-index: 6; overflow: hidden;\n  display: flex; flex-direction: column; gap: 10px;\n  background: #fff; border: 1px solid rgba(44,85,251,.35); border-radius: var(--radius-card);\n  padding: 18px 18px 15px; box-shadow: var(--sh-hover);\n  opacity: 0; visibility: hidden; transform: translateY(4px);\n  transition: opacity .22s ease, transform .22s ease, visibility 0s linear .22s;\n}\n.news-card:hover .npop, .news-card:focus-visible .npop {\n  opacity: 1; visibility: visible; transform: translateY(0);\n  transition: opacity .22s ease, transform .22s ease;\n}\n.npop-t { font-family: var(--mono); font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--a); }\n.npop-list { display: flex; flex-direction: column; gap: 5px; }\n.npop-list > span { display: block; font-size: 11px; line-height: 1.38; color: var(--muted); padding-left: 12px; position: relative; }\n.npop-list > span::before {\n  content: \"\"; position: absolute; left: 0; top: 5px; width: 5px; height: 5px;\n  border-radius: 2px; background: var(--lav);\n}\n.npop-list > .npop-more { color: var(--faint); font-style: italic; }\n.npop-list > .npop-more::before { background: transparent; }\n@media (hover: none) { .npop { display: none; } }\n\n\/* ============================================================\n   FOOTER (\u00e9quivalent hero : dark + canvas)\n============================================================ *\/\n.footer {\n  position: relative; background: var(--dark); color: #fff; overflow: hidden;\n  margin-top: 120px;\n}\n.footer::before {\n  content: \"\"; position: absolute; left: -5%; right: -5%; top: -40px; height: 130px; z-index: 2;\n  background: linear-gradient(0deg, rgba(255,255,255,0), #fafeff 55%, #fff);\n  filter: blur(15px); pointer-events: none;\n}\n\/* voile sombre : assombrit l\u00e9g\u00e8rement tout le footer (lisibilit\u00e9 sur le halo) *\/\n.footer::after {\n  content: \"\"; position: absolute; inset: 0; z-index: 1; pointer-events: none;\n  background: linear-gradient(180deg, rgba(4,7,27,.42) 0%, rgba(4,7,27,.18) 45%, rgba(4,7,27,.55) 100%);\n}\n.footer canvas { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; transition: opacity 1.2s ease; }\n.footer canvas.on { opacity: 1; }\n.footer-inner { position: relative; z-index: 3; padding: 150px 0 0; }\n\n.footer-nl { max-width: 640px; }\n.footer-nl h2 { color: #fff; font-size: clamp(26px, 3vw, 36px); }\n.footer-nl h2 em { color: var(--lav); }\n.nl-form { display: flex; gap: 12px; margin-top: 28px; flex-wrap: wrap; }\n.nl-form input[type=\"email\"] {\n  flex: 1 1 280px; font-family: var(--sans); font-size: 15px; color: #fff;\n  background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.22);\n  border-radius: var(--radius-btn); padding: 14px 18px; outline: none;\n  transition: border-color .2s ease, background .2s ease;\n}\n.nl-form input[type=\"email\"]::placeholder { color: rgba(255,255,255,.5); }\n.nl-form input[type=\"email\"]:focus { border-color: var(--lav); background: rgba(255,255,255,.12); }\n.nl-consent {\n  display: flex; gap: 10px; align-items: flex-start; margin-top: 16px;\n  font-size: 13px; color: rgba(255,255,255,.65); max-width: 560px;\n}\n.nl-consent a { color: #fff; }\n.nl-consent input { margin-top: 3px; accent-color: var(--a); width: 18px; height: 18px; flex: 0 0 auto; } \/* cible tactile confortable *\/\n\n.footer-cols {\n  display: grid; grid-template-columns: repeat(5, 1fr) 1.3fr; gap: 32px;\n  margin-top: 72px; padding-top: 48px; border-top: 1px solid rgba(255,255,255,.12);\n}\n.fcol .dd-tag { color: var(--lav); opacity: .85; }\n.fcol a {\n  display: block; color: rgba(255,255,255,.82); text-decoration: none;\n  font-size: 14.5px; padding: 5px 0; transition: color .2s ease;\n}\n.fcol a:hover { color: var(--lav); }\n.fcontact { display: flex; flex-direction: column; gap: 10px; font-size: 14.5px; color: rgba(255,255,255,.85); }\n.fcontact a { color: rgba(255,255,255,.85); text-decoration: none; }\n.fcontact a:hover { color: var(--lav); }\n.fcontact .btn { margin-top: 14px; align-self: flex-start; }\n.footer .btn-light, .fcontact a.btn-light { color: var(--p); }\n\n.footer-bottom {\n  display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap;\n  margin-top: 56px; padding: 26px 0 34px; border-top: 1px solid rgba(255,255,255,.12);\n}\n.footer-bottom img { height: 30px; width: auto; filter: brightness(0) invert(1); opacity: .92; }\n.footer-bottom .copy { font-size: 12.5px; color: rgba(255,255,255,.55); }\n\n\/* --- Variantes de grilles par page (remplacent des styles inline NON responsives) --- *\/\n.services-grid.grid-2cols { grid-template-columns: 1fr 1fr; }\n.valeur-grid.valeur-3 { grid-template-columns: repeat(3, 1fr); }\n.check-list.check-2col { display: grid; grid-template-columns: 1fr 1fr; column-gap: 32px; }\n.form-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }\n@media (max-width: 1080px) {\n  .services-grid.grid-2cols, .valeur-grid.valeur-3 { grid-template-columns: 1fr 1fr; }\n}\n@media (max-width: 640px) {\n  .services-grid.grid-2cols, .valeur-grid.valeur-3, .check-list.check-2col, .form-grid-2 { grid-template-columns: 1fr; }\n}\n\n\/* ============================================================\n   RESPONSIVE\n============================================================ *\/\n@media (max-width: 1080px) {\n  .section { padding: 88px 0; }\n  .services-grid, .skills-grid { grid-template-columns: 1fr 1fr; }\n  .valeur-grid { grid-template-columns: 1fr 1fr; row-gap: 24px; }\n  .method-grid { grid-template-columns: 1fr 1fr; row-gap: 44px; }\n  .method-step::before { right: 0; }\n  .footer-cols { grid-template-columns: repeat(3, 1fr); }\n  .fcontact { grid-column: span 3; }\n}\n\n@media (max-width: 900px) {\n  .nav-links { display: none; }\n  .nav-burger { display: block; }\n  .split { grid-template-columns: 1fr; gap: 36px; }\n  .split-media { order: -1; }\n  .tools-grid { grid-template-columns: 1fr 1fr; }\n  .tool-cell:nth-child(3n) { border-right: 1px solid var(--border); }\n  .tool-cell:nth-child(2n) { border-right: 0; }\n  .tool-cell:nth-child(n+7) { border-bottom: 1px solid var(--border); }\n  .tool-cell:nth-child(n+8) { border-bottom: 0; }\n}\n\n@media (max-width: 640px) {\n  body { font-size: 16px; }\n  .section { padding: 64px 0; }\n  .container { padding: 0 20px; }\n  .section-head { margin-bottom: 36px; }\n  .services-grid, .skills-grid, .valeur-grid, .news-grid, .method-grid { grid-template-columns: 1fr; }\n  .tools-grid { grid-template-columns: 1fr; }\n  .tool-cell { border-right: 0 !important; border-bottom: 1px solid var(--border) !important; }\n  .tool-cell:last-child { border-bottom: 0 !important; }\n  .cta-panel { padding: 60px 24px; border-radius: 20px; }\n  .hero-inner { padding: 120px 20px 150px; }\n  .footer-cols { grid-template-columns: 1fr 1fr; }\n  .fcontact { grid-column: span 2; }\n  .footer-inner { padding-top: 120px; }\n}\n\n@media (prefers-reduced-motion: reduce) {\n  * { transition: none !important; scroll-behavior: auto !important; }\n}\n\n\/* ---------- Reveals au scroll + entr\u00e9e hero (2026-07-13) ----------\n   Classes pos\u00e9es par app.js (z\u00e9ro HTML modifi\u00e9 ; sans JS rien n'est masqu\u00e9).\n   .rv est retir\u00e9e par app.js en fin de transition : les hovers des cards\n   (transform) reprennent leurs droits, aucune collision de cascade. *\/\n.rv { opacity: 0; transform: translateY(22px); }\n.rv.in {\n  opacity: 1; transform: translateY(0);\n  transition: opacity .65s ease, transform .75s cubic-bezier(.16, 1, .3, 1);\n  transition-delay: var(--rvd, 0s);\n}\n@media (prefers-reduced-motion: reduce) { .rv { opacity: 1; transform: none; } }\n\/* ============================================================\n   ADAPTATIONS ELEMENTOR (pages de test r\u00e9plication maquette v2)\n   Elementor 4.x pilote les containers via des variables PHYSIQUES\n   (--display, --padding-top\u2026) pos\u00e9es par un CSS g\u00e9n\u00e9r\u00e9 par \u00e9l\u00e9ment\n   (sp\u00e9cificit\u00e9 0,3,0). On gagne avec des propri\u00e9t\u00e9s simples plac\u00e9es\n   apr\u00e8s dans l'ordre, + !important sur le display des grilles.\n============================================================ *\/\n.e-con.pia-wrap { padding: 0; gap: 0; max-width: 100%; --width: 100%; --content-width: 100%; }\n.pia-wrap .elementor-widget { margin-block-end: 0; width: 100%; }\n.elementor-widget-html .elementor-widget-container { width: 100%; }\n.e-con.section { max-width: 100%; --width: 100%; --content-width: 100%; gap: 0; }\n.e-con.container { width: 100%; max-width: 1200px; margin-inline: auto; gap: 0; }\n.e-con.services-grid, .e-con.method-grid, .e-con.valeur-grid { display: grid !important; padding: 0; width: 100%; max-width: 100%; }\na.e-con.card { display: flex !important; }\n.e-con.card, .e-con.valeur-card, .e-con.method-step { width: 100%; max-width: 100%; }\n.e-con.method-step { padding: 26px 0 0 0; }\n.e-con.valeur-card { padding: 30px 26px; }\n.card .e-con-inner { display: flex; flex-direction: column; flex: 1; width: 100%; max-width: 100%; }\n.valeur-card .e-con-inner, .method-step .e-con-inner { width: 100%; max-width: 100%; }\n.card .elementor-widget-text-editor { display: flex; flex: 1; }\n.card .elementor-widget-text-editor .elementor-widget-container { display: flex; flex-direction: column; gap: 14px; flex: 1; width: 100%; }\n.valeur-card .elementor-widget-container, .method-step .elementor-widget-container { width: 100%; }\n.elementor-widget-text-editor h2, .elementor-widget-text-editor h3, .elementor-widget-text-editor p { margin: 0; }\n.section.pt0 { padding-top: 0; }\n.e-con.section.pt0 { padding-top: 0 !important; }\nbody.admin-bar .nav { top: 32px; }\nbody.admin-bar .mobile-menu { inset: 94px 0 0 0; }\nh2,h3,.hero h1{margin:0}\n.hero-inner{margin:0 auto}\n<\/style>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d73c4f3 elementor-widget elementor-widget-html\" data-id=\"d73c4f3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Plus+Jakarta+Sans:ital,wght@0,400;0,600;0,700;0,800;1,700&family=Geist+Mono:wght@500&display=swap\" rel=\"stylesheet\">\n\n<header class=\"nav\" id=\"nav\" data-solid>\n  <div class=\"nav-inner\">\n    <a href=\"https:\/\/www.prismia.ch\/en\/\" class=\"nav-logo\" aria-label=\"PrismIA, home\">\n      <img decoding=\"async\" src=\"https:\/\/www.prismia.ch\/wp-content\/uploads\/2024\/11\/PRISMIA_logo_couleur_20241105.svg\" alt=\"PrismIA\">\n    <\/a>\n\n    <nav class=\"nav-links\" aria-label=\"Main navigation\">\n      <div class=\"nav-item\" data-dd>\n        <button class=\"nav-link\" aria-expanded=\"false\">Services <span class=\"nav-toggle-symbol\">+<\/span><\/button>\n        <div class=\"dropdown\">\n          <div class=\"dd-group\">\n            <div class=\"dd-tag\">What we do<\/div>\n            <div class=\"dd-links\">\n              <a href=\"https:\/\/www.prismia.ch\/en\/ai-training\/\">AI training<\/a>\n              <a href=\"https:\/\/www.prismia.ch\/en\/audit-consulting\/\">Audit &amp; consulting<\/a><a href=\"https:\/\/www.prismia.ch\/en\/audit-consulting\/journey-to-ai\/\" class=\"dd-sub\">Journey to AI&nbsp;<span class=\"nav-star\" aria-hidden=\"true\">\u2605<\/span><\/a>\n              <a href=\"https:\/\/www.prismia.ch\/en\/integration\/\">Integration<\/a>\n              <a class=\"dd-more\" href=\"https:\/\/www.prismia.ch\/en\/services\/\">All our services \u2192<\/a>\n            <\/div>\n          <\/div>\n          <div class=\"dd-group\">\n            <div class=\"dd-tag\">AI training<\/div>\n            <div class=\"dd-links\">\n              <a href=\"https:\/\/www.prismia.ch\/en\/ai-training\/\">AI Initiate<\/a>\n              <a href=\"https:\/\/www.prismia.ch\/en\/ai-training\/\">C-Level Coaching<\/a>\n              <a href=\"https:\/\/www.prismia.ch\/en\/ai-training\/\">Microsoft Copilot Advanced&nbsp;<span class=\"nav-star\" aria-hidden=\"true\">\u2605<\/span><\/a>\n              <a href=\"https:\/\/www.prismia.ch\/en\/formation\/chatgpt-advanced\/\">ChatGPT Advanced<\/a>\n              <a href=\"https:\/\/www.prismia.ch\/en\/ai-training\/\">Claude Advanced<\/a>\n              <a class=\"dd-more\" href=\"https:\/\/www.prismia.ch\/en\/ai-training\/\">All our training courses \u2192<\/a>\n            <\/div>\n          <\/div>\n          <div class=\"dd-group\">\n            <div class=\"dd-tag\">Turnkey solutions<\/div>\n            <div class=\"dd-links\">\n              <a href=\"https:\/\/www.prismia.ch\/en\/solutions\/voice-ai-agent\/\">Voice AI<\/a>\n              <a href=\"https:\/\/www.prismia.ch\/en\/solutions\/advanced-local-transcription\/\">Local Transcription<\/a>\n              <a href=\"https:\/\/www.prismia.ch\/en\/solutions\/veille-ia-agentique\/\">AI-augmented sector watch<\/a>\n              <a href=\"https:\/\/www.prismia.ch\/en\/solutions\/newsletter-augmentee\/\">Augmented Newsletter<\/a>\n              <a href=\"https:\/\/www.prismia.ch\/en\/solutions\/anonymisation-donnees\/\">AI Anonymisation<\/a>\n              <a class=\"dd-more\" href=\"https:\/\/www.prismia.ch\/en\/solutions\/\">All our solutions \u2192<\/a>\n            <\/div>\n          <\/div>\n          <div class=\"dd-desc\">\n            <span>PrismIA is an AI consulting firm and training organisation based in Geneva. Strategic advice and hands-on training for Swiss companies.<\/span>\n            <a class=\"link-arrow\" href=\"https:\/\/www.prismia.ch\/en\/contact\/\">Book a free 30-minute consultation\n              <svg width=\"15\" height=\"15\" viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\"><path d=\"M3 8h10M9 4l4 4-4 4\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\n            <\/a>\n          <\/div>\n        <\/div>\n      <\/div>\n\n      <a class=\"nav-link\" href=\"https:\/\/www.prismia.ch\/en\/newsletter\/\">Newsletter<\/a>\n\n      <div class=\"nav-item\" data-dd>\n        <button class=\"nav-link\" aria-expanded=\"false\">Our Lab <span class=\"nav-toggle-symbol\">+<\/span><\/button>\n        <div class=\"dropdown\">\n          <div class=\"dd-group\">\n            <div class=\"dd-tag\">Free tools<\/div>\n            <div class=\"dd-links\">\n              <a href=\"https:\/\/www.prismia.ch\/en\/local-pii-filter\/\">Local PII Filter<\/a>\n              <a href=\"https:\/\/www.prismia.ch\/en\/bullshitometer\/\">Bullshitometer<\/a>\n            <\/div>\n          <\/div>\n          <div class=\"dd-desc\">\n            <span>Our interactive tools are designed to help you explore AI safely. Try them for free, straight from your browser.<\/span>\n            <a class=\"link-arrow\" href=\"https:\/\/www.prismia.ch\/en\/contact\/\">Discuss a custom project\n              <svg width=\"15\" height=\"15\" viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\"><path d=\"M3 8h10M9 4l4 4-4 4\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\n            <\/a>\n          <\/div>\n        <\/div>\n      <\/div>\n\n      <a class=\"nav-link\" href=\"https:\/\/www.prismia.ch\/en\/case-studies\/\">Case studies<\/a><a class=\"nav-link\" href=\"https:\/\/www.prismia.ch\/en\/about-us\/\">About us<\/a>\n      <span class=\"nav-lang\"><b>EN<\/b> \/ FR<\/span>\n      <a class=\"btn btn-light nav-cta\" href=\"https:\/\/www.prismia.ch\/en\/contact\/\">Contact us<\/a>\n    <\/nav>\n\n    <button class=\"nav-burger\" id=\"burger\" aria-label=\"Menu\" aria-expanded=\"false\">\n      <span><\/span><span><\/span><span><\/span>\n    <\/button>\n  <\/div>\n<\/header>\n\n<div class=\"mobile-menu\" id=\"mobileMenu\">\n  <div class=\"mm-group\">\n    <div class=\"mm-title\">Services<\/div>\n    <div class=\"mm-links\">\n      <a href=\"https:\/\/www.prismia.ch\/en\/ai-training\/\">AI training<\/a>\n      <a href=\"https:\/\/www.prismia.ch\/en\/audit-consulting\/\">Audit &amp; consulting<\/a><a href=\"https:\/\/www.prismia.ch\/en\/audit-consulting\/journey-to-ai\/\" class=\"dd-sub\">Journey to AI&nbsp;<span class=\"nav-star\" aria-hidden=\"true\">\u2605<\/span><\/a>\n      <a href=\"https:\/\/www.prismia.ch\/en\/integration\/\">Integration<\/a>\n      <a href=\"https:\/\/www.prismia.ch\/en\/solutions\/\">Turnkey solutions<\/a>\n    <\/div>\n  <\/div>\n  <div class=\"mm-group\">\n    <div class=\"mm-title\">Our Lab<\/div>\n    <div class=\"mm-links\">\n      <a href=\"https:\/\/www.prismia.ch\/en\/local-pii-filter\/\">Local PII Filter<\/a>\n      <a href=\"https:\/\/www.prismia.ch\/en\/bullshitometer\/\">Bullshitometer<\/a>\n    <\/div>\n  <\/div>\n  <div class=\"mm-group\">\n    <div class=\"mm-links\">\n      <a href=\"https:\/\/www.prismia.ch\/en\/newsletter\/\">Newsletter<\/a>\n      <a href=\"https:\/\/www.prismia.ch\/en\/case-studies\/\">Case studies<\/a>\n      <a href=\"https:\/\/www.prismia.ch\/en\/about-us\/\">About us<\/a>\n    <\/div>\n  <\/div>\n  <a class=\"btn btn-primary\" href=\"https:\/\/www.prismia.ch\/en\/contact\/\">Contact us<\/a>\n<\/div>\n<script>\n(function(){var L=document.querySelectorAll('.nav-lang');if(!L.length)return;var cur=(document.documentElement.lang||'fr').slice(0,2).toLowerCase();var o=cur==='en'?'fr':'en';var alt=document.querySelector('link[rel=\"alternate\"][hreflang^=\"'+o+'\"]');if(!alt)return;L.forEach(function(e){e.innerHTML='<b>'+cur.toUpperCase()+'<\/b> \/ <a href=\"'+alt.href+'\" hreflang=\"'+o+'\" style=\"color:inherit;text-decoration:none\">'+o.toUpperCase()+'<\/a>';});})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-d9357e0 e-flex e-con-full pia-wrap pia-hero e-con e-parent\" data-id=\"d9357e0\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c34c756 elementor-widget elementor-widget-html\" data-id=\"c34c756\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<section class=\"page-hero\">\n  <div class=\"container\">\n    <span class=\"crumb\"><a href=\"https:\/\/www.prismia.ch\/en\/\">Home<\/a> \/ Contact<\/span>\n    <h1>Contact <em>PrismIA<\/em><\/h1>\n    <p class=\"lead\">We look forward to sharing our passion for artificial intelligence with you. A question, a training or audit project? Write to us, or call us directly.<\/p><div class=\"contact-offer\" style=\"margin-top:24px;display:inline-flex;align-items:center;gap:11px;padding:11px 18px;border-radius:999px;background:var(--pale2);border:1px solid var(--border);font-weight:700;color:var(--p);font-size:15px;line-height:1.35\"><svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" style=\"flex:0 0 auto\"><circle cx=\"12\" cy=\"12\" r=\"9\"\/><path d=\"M12 7v5l3 2\"\/><\/svg> Your first 30-minute conversation is free.<\/div>\n  <\/div>\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6bf40b2 e-flex e-con-full pia-wrap pia-intro e-con e-parent\" data-id=\"6bf40b2\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-84d10f4 elementor-widget elementor-widget-html\" data-id=\"84d10f4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<section class=\"section\">\n  <div class=\"container\">\n    <div class=\"section-head\">\n      <span class=\"overline\">Write to us<\/span>\n      <h2>Tell us about <em>your project<\/em><\/h2>\n    <\/div>\n\n    <div class=\"split\" style=\"align-items:start\">\n\n      <!-- Formulaire (maquette, non fonctionnel) -->\n      <form id=\"pia-contact-form\" action=\"#\" onsubmit=\"return false\" novalidate style=\"display:grid;gap:16px\">\n        <div class=\"form-grid-2\">\n          <div>\n            <label for=\"c-prenom\" style=\"display:block;font-weight:600;font-size:14px;margin-bottom:7px\">First name<\/label>\n            <input id=\"c-prenom\" name=\"prenom\" type=\"text\" autocomplete=\"given-name\" style=\"width:100%;padding:13px 16px;border:1.5px solid var(--border);border-radius:12px;font:inherit;background:#fff\">\n          <\/div>\n          <div>\n            <label for=\"c-nom\" style=\"display:block;font-weight:600;font-size:14px;margin-bottom:7px\">Last name<\/label>\n            <input id=\"c-nom\" name=\"nom\" type=\"text\" autocomplete=\"family-name\" style=\"width:100%;padding:13px 16px;border:1.5px solid var(--border);border-radius:12px;font:inherit;background:#fff\">\n          <\/div>\n        <\/div>\n        <div>\n          <label for=\"c-email\" style=\"display:block;font-weight:600;font-size:14px;margin-bottom:7px\">Professional email<\/label>\n          <input id=\"c-email\" name=\"email\" type=\"email\" autocomplete=\"email\" style=\"width:100%;padding:13px 16px;border:1.5px solid var(--border);border-radius:12px;font:inherit;background:#fff\">\n        <\/div>\n        <div>\n          <label for=\"c-societe\" style=\"display:block;font-weight:600;font-size:14px;margin-bottom:7px\">Company<\/label>\n          <input id=\"c-societe\" name=\"societe\" type=\"text\" autocomplete=\"organization\" style=\"width:100%;padding:13px 16px;border:1.5px solid var(--border);border-radius:12px;font:inherit;background:#fff\">\n        <\/div>\n        <div>\n          <label for=\"c-message\" style=\"display:block;font-weight:600;font-size:14px;margin-bottom:7px\">Message<\/label>\n          <textarea id=\"c-message\" name=\"message\" rows=\"6\" style=\"width:100%;padding:13px 16px;border:1.5px solid var(--border);border-radius:12px;font:inherit;background:#fff;resize:vertical\"><\/textarea>\n        <\/div>\n        <label class=\"c-consent\">\n          <input type=\"checkbox\" name=\"consent\">\n          <span>I agree to my data being used to process my request, in accordance with the <a href=\"https:\/\/www.prismia.ch\/en\/privacy-policy\/\" target=\"_blank\" rel=\"noopener\">Privacy Statement<\/a>.<\/span>\n        <\/label>\n        <div>\n          <button class=\"btn btn-primary\" type=\"submit\">Send\n            <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\"><path d=\"M3 8h10M9 4l4 4-4 4\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\n          <\/button>\n        <\/div>\n        <p style=\"font-size:14px;color:var(--muted);margin-top:2px\">Give us a moment to review it, and we'll get back to you!<\/p>\n      <\/form>\n\n      <!-- Coordonn\u00e9es -->\n      <div class=\"card\">\n        <h3>Our contact details<\/h3>\n        <p style=\"flex:0\">PrismIA S\u00e0rl<br>Ch. Frank-Thomas 32, 1208 Geneva<br>Rue de l'Avenir 28, 1020 Renens<br>Switzerland<\/p>\n        <a href=\"tel:+41225669400\" style=\"font-weight:600;color:var(--p);text-decoration:none\">+41 22 566 94 00<\/a>\n        <a href=\"mailto:info@prismia.ch\" style=\"font-weight:600;color:var(--p);text-decoration:none\">info@prismia.ch<\/a>\n        <a href=\"https:\/\/www.linkedin.com\/company\/prismia-ch\" target=\"_blank\" rel=\"noopener\" style=\"font-weight:600;color:var(--p);text-decoration:none\">LinkedIn<\/a>\n      <\/div>\n\n    <\/div>\n  <\/div>\n<\/section>\n<style>\n#pia-contact-form input.c-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}\n\/* le th\u00e8me\/Elementor arrondit trop les <button> submit : on force le radius de la charte *\/\n#pia-contact-form button.btn{border-radius:var(--radius-btn)!important}\n#pia-contact-form .c-err{border-color:#e5484d!important;background:#fff6f5!important}\n.c-consent{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.55;color:var(--muted)}\n.c-consent a{color:var(--p)}\n.c-consent input{margin-top:3px;accent-color:var(--a);width:18px;height:18px;flex:0 0 auto}\n.c-consent.c-err,.c-consent.c-err a{color:#c0392b}\n.c-consent.c-err input{outline:1.5px solid #e5484d;outline-offset:2px;border-radius:4px}\n.c-msg{display:none;color:#c0392b;font-size:13.5px;font-weight:600;margin-top:2px}\n.c-msg.show{display:block}\n.cx{display:none;flex-direction:column;align-items:flex-start;gap:11px;padding:8px 0 4px}\n.cx-line{width:58px;height:2px;border-radius:2px;background:linear-gradient(90deg,#2C55FB,#7B5CFF 55%,#91B1FF);transform:scaleX(0);transform-origin:left;animation:cxLine .55s .05s forwards cubic-bezier(.2,.8,.2,1)}\n.cx-over{display:inline-flex;align-items:center;gap:9px;font-family:\"Geist Mono\",ui-monospace,monospace;font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--p);opacity:0;transform:translateY(8px);animation:cxIn .5s .16s forwards cubic-bezier(.2,.8,.2,1)}\n.cx-over svg{width:16px;height:16px;flex:0 0 auto;fill:none;stroke:var(--p);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:24;stroke-dashoffset:24;animation:cxDraw .5s .34s forwards ease}\n@keyframes cxDraw{to{stroke-dashoffset:0}}\n.cx-title{font-family:\"Plus Jakarta Sans\",system-ui,sans-serif;font-size:22px;font-weight:800;line-height:1.2;letter-spacing:-.01em;color:var(--ink);margin:0;opacity:0;transform:translateY(8px);animation:cxIn .5s .28s forwards cubic-bezier(.2,.8,.2,1)}\n.cx-title em{font-style:normal;color:var(--a)}\n.cx-sub{font-family:\"Plus Jakarta Sans\",system-ui,sans-serif;font-size:15px;line-height:1.55;color:var(--muted);max-width:46ch;opacity:0;transform:translateY(8px);animation:cxIn .5s .40s forwards cubic-bezier(.2,.8,.2,1)}\n@keyframes cxLine{to{transform:scaleX(1)}}\n@keyframes cxIn{to{opacity:1;transform:none}}\n@media (prefers-reduced-motion:reduce){.cx-line,.cx-over,.cx-over svg,.cx-title,.cx-sub{animation:none!important}.cx-line{transform:none}.cx-over,.cx-title,.cx-sub{opacity:1;transform:none}.cx-over svg{stroke-dashoffset:0}}\n<\/style>\n<script>\n(function(){\nfunction boot(){\n var form=document.getElementById('pia-contact-form'); if(!form||form.dataset.piaC) return; form.dataset.piaC='1';\n var hp=document.createElement('input');hp.type='text';hp.name='website';hp.className='c-hp';hp.tabIndex=-1;hp.autocomplete='off';hp.setAttribute('aria-hidden','true');form.appendChild(hp);\n var F={prenom:form.querySelector('[name=prenom]'),nom:form.querySelector('[name=nom]'),email:form.querySelector('[name=email]'),societe:form.querySelector('[name=societe]'),message:form.querySelector('[name=message]')};\n var cons=form.querySelector('[name=consent]');\n var lbl=form.querySelector('.c-consent');\n var msg=document.createElement('p');msg.className='c-msg';msg.textContent='Please complete the fields highlighted in red.';\n form.appendChild(msg);\n var EP=window.PIA_C_ENDPOINT||'\/wp-json\/prismia\/v1\/contact';var MODE=window.PIA_C_MODE||'live';\n function clr(){Object.keys(F).forEach(function(k){if(F[k])F[k].classList.remove('c-err');});if(lbl)lbl.classList.remove('c-err');msg.classList.remove('show');}\n Object.keys(F).forEach(function(k){if(F[k])F[k].addEventListener('input',function(){F[k].classList.remove('c-err');});});\n if(cons)cons.addEventListener('change',function(){if(cons.checked&&lbl)lbl.classList.remove('c-err');});\n function done(prenom){\n   var wrap=form.parentNode;\n   var cx=document.createElement('div');cx.className='cx';\n   cx.innerHTML='<span class=\"cx-line\"><\/span><span class=\"cx-over\"><svg viewBox=\"0 0 20 20\" aria-hidden=\"true\"><path d=\"M4 10.5l4 4 8-9\"\/><\/svg>Message sent<\/span><strong class=\"cx-title\">Thank you'+(prenom?' '+prenom:'')+', <em>well received<\/em>.<\/strong><span class=\"cx-sub\">Give us a moment to review it, and we\u2019ll get back to you very soon.<\/span>';\n   form.style.display='none';cx.style.display='flex';wrap.insertBefore(cx,form);try{cx.scrollIntoView({behavior:'smooth',block:'center'});}catch(e){cx.scrollIntoView();}\n }\n form.addEventListener('submit',function(e){\n  e.preventDefault();clr();\n  var bad=false;\n  ['prenom','nom','message'].forEach(function(k){if(F[k]&&!F[k].value.trim()){F[k].classList.add('c-err');bad=true;}});\n  var email=F.email?F.email.value.trim():'';\n  if(!\/^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$\/.test(email)){if(F.email)F.email.classList.add('c-err');bad=true;}\n  if(cons&&!cons.checked){if(lbl)lbl.classList.add('c-err');bad=true;}\n  if(bad){msg.classList.add('show');var first=form.querySelector('.c-err');if(first&&first.focus)first.focus();return;}\n  if(hp.value)return;\n  var payload={firstname:F.prenom.value.trim(),name:F.nom.value.trim(),email:email,company:F.societe?F.societe.value.trim():'',phone:'',message:F.message.value.trim(),consent:true,website:hp.value};try{var O=(window.PIA_ORIGINE&&window.PIA_ORIGINE.get())||{};payload.origin_page=O.page||'';payload.origin_titre=O.titre||'';payload.origin_label=O.label||'';payload.origin_zone=O.zone||'';payload.origin_intent=O.intent||'';payload.origin_src=O.src||'';}catch(e){}\n  var ok=function(){done(payload.firstname);};\n  if(MODE==='demo'){setTimeout(ok,300);return;}\n  var btn=form.querySelector('button[type=submit]');if(btn)btn.disabled=true;\n  fetch(EP,{method:'POST',headers:{'Content-Type':'application\/json'},body:JSON.stringify(payload)})\n   .then(function(r){return r.ok?r.json():Promise.reject();}).then(ok)\n   .catch(function(){if(btn)btn.disabled=false;msg.textContent='Oops, sending failed. Please try again in a moment.';msg.classList.add('show');});\n });\n}\nif(document.readyState==='loading')document.addEventListener('DOMContentLoaded',boot);else boot();\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-958a760 e-flex e-con-full pia-wrap pia-prestations e-con e-parent\" data-id=\"958a760\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d8b6733 elementor-widget elementor-widget-html\" data-id=\"d8b6733\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<section class=\"section bg-pale\">\n  <div class=\"container\">\n    <div class=\"section-head\">\n      <span class=\"overline\">FAQ<\/span>\n      <h2>Practical <em>questions<\/em><\/h2>\n    <\/div>\n\n    <div class=\"faq-wrap\">\n      <details class=\"faq-item\">\n        <summary>How does the first conversation go? <span class=\"faq-plus\" aria-hidden=\"true\"><\/span><\/summary>\n        <div class=\"faq-a\">A first 30-minute conversation. We listen to your context, your challenges and your ideas, then we tell you honestly how we can help you.<\/div>\n      <\/details>\n      <details class=\"faq-item\">\n        <summary>Do you travel to companies? <span class=\"faq-plus\" aria-hidden=\"true\"><\/span><\/summary>\n        <div class=\"faq-a\">Yes. Based in Geneva and Renens, we work on-site across French-speaking Switzerland, from Geneva to Lausanne, for both training courses and consulting engagements. Video conferencing remains an option when it is more convenient for your teams.<\/div>\n      <\/details>\n      <details class=\"faq-item\">\n        <summary>What language do you work in? <span class=\"faq-plus\" aria-hidden=\"true\"><\/span><\/summary>\n        <div class=\"faq-a\">Our conversations, training courses and deliverables are conducted in French or English, whichever you prefer.<\/div>\n      <\/details>\n    <\/div>\n  <\/div>\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-86b1ec5 e-flex e-con-full pia-wrap pia-footer e-con e-parent\" data-id=\"86b1ec5\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c2522b2 elementor-widget elementor-widget-html\" data-id=\"c2522b2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<footer class=\"footer\">\n  <canvas id=\"glFooter\" aria-hidden=\"true\"><\/canvas>\n  <div class=\"footer-inner\">\n    <div class=\"container\">\n\n      <div class=\"footer-nl\">\n        <span class=\"overline\" style=\"color:var(--lav)\">Newsletter<\/span>\n        <h2>With <em>\u00ab Plongez dans le grand bAIn \u00bb<\/em>, stay on top of AI news every month.<\/h2>\n        <form class=\"nl-form\" action=\"https:\/\/www.prismia.ch\/#newsletter\" method=\"post\" novalidate>\n          <input type=\"email\" name=\"email\" placeholder=\"your@email.com\" aria-label=\"Email address for the newsletter\" required>\n          <button type=\"submit\" class=\"btn btn-light\">Subscribe<\/button>\n        <\/form>\n        <label class=\"nl-consent\">\n          <input type=\"checkbox\" name=\"consent\" required>\n          <span>I agree to the processing of this data in accordance with the <a href=\"https:\/\/www.prismia.ch\/en\/privacy-policy\/\" target=\"_blank\" rel=\"noopener\">Privacy Statement<\/a>.<\/span>\n        <\/label>\n      <\/div>\n\n      <div class=\"footer-cols\">\n        <div class=\"fcol\">\n          <div class=\"dd-tag\">Services<\/div>\n          <a href=\"https:\/\/www.prismia.ch\/en\/ai-training\/\">AI training<\/a>\n          <a href=\"https:\/\/www.prismia.ch\/en\/audit-consulting\/\">Audit &amp; consulting<\/a>\n          <a href=\"https:\/\/www.prismia.ch\/en\/integration\/\">Integration<\/a>\n        <\/div>\n        <div class=\"fcol\">\n          <div class=\"dd-tag\">PrismIA<\/div>\n          <a href=\"https:\/\/www.prismia.ch\/en\/case-studies\/\">Case studies<\/a>\n      <a href=\"https:\/\/www.prismia.ch\/en\/about-us\/\">About us<\/a>\n          <a href=\"https:\/\/www.prismia.ch\/en\/about-us\/#equipe\">Our team<\/a>\n          <a href=\"https:\/\/www.prismia.ch\/en\/contact\/\">Contact<\/a>\n        <\/div>\n        <div class=\"fcol\">\n          <div class=\"dd-tag\">AI tools<\/div>\n          <a href=\"https:\/\/www.prismia.ch\/en\/local-pii-filter\/\">Local PII Filter<\/a>\n          <a href=\"https:\/\/www.prismia.ch\/en\/bullshitometer\/\">Bullshitometer<\/a>\n        <\/div>\n        <div class=\"fcol\">\n          <div class=\"dd-tag\">Insights<\/div>\n          <a href=\"https:\/\/www.prismia.ch\/en\/newsletter\/\">Newsletters<\/a>\n          <a href=\"https:\/\/www.prismia.ch\/en\/webinars\/\">Webinars<\/a>\n        <\/div>\n        <div class=\"fcol\">\n          <div class=\"dd-tag\">Legal<\/div>\n          <a href=\"https:\/\/www.prismia.ch\/en\/privacy-policy\/\">Privacy<\/a>\n        <\/div>\n        <div class=\"fcontact\">\n          <div class=\"dd-tag\">Contact<\/div>\n          <span>PrismIA S\u00e0rl<br>Ch. Frank-Thomas 32, 1208 Geneva<br>Rue de l'Avenir 28, 1020 Renens<br>Switzerland<\/span>\n          <a href=\"tel:+41225669400\">+41 22 566 94 00<\/a>\n          <a href=\"mailto:info@prismia.ch\">info@prismia.ch<\/a>\n          <a href=\"https:\/\/www.linkedin.com\/company\/prismia-ch\" target=\"_blank\" rel=\"noopener\">LinkedIn<\/a>\n          <a class=\"btn btn-light\" href=\"https:\/\/www.prismia.ch\/en\/contact\/\">Contact us<\/a>\n        <\/div>\n      <\/div>\n\n      <div class=\"footer-bottom\">\n        <img decoding=\"async\" src=\"https:\/\/www.prismia.ch\/wp-content\/uploads\/2024\/11\/PRISMIA_logo_couleur_20241105.svg\" alt=\"PrismIA\">\n        <span class=\"copy\">\u00a9 2026 PrismIA S\u00e0rl, all rights reserved \u00b7 Made with care in Geneva<\/span>\n      <\/div>\n\n    <\/div>\n  <\/div>\n<\/footer>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cf58467 elementor-widget elementor-widget-html\" data-id=\"cf58467\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\n.nl-form input.nl-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}\n\/* le th\u00e8me arrondit trop les <button> submit : on force le radius de la charte (2026-07-16) *\/\n.footer-nl .nl-form button,.footer-nl .nl-form .btn{border-radius:var(--radius-btn)!important}\n.nl-form.nl-shake{animation:nlShake .4s}\n@keyframes nlShake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-5px)}40%,80%{transform:translateX(5px)}}\n\/* --- feedback rouge doux (champ fautif) --- *\/\n.nl-form input.nl-err{border-color:#ff7a68!important;color:#ffb4a8}\n.nl-form input.nl-err::placeholder{color:#ff9d90}\n.nl-emsg{display:none;color:#ff9d90;font-size:12.5px;margin-top:9px;font-family:\"Plus Jakarta Sans\",system-ui,sans-serif}\n.nl-emsg.show{display:block}\n.footer-nl .nl-consent.nl-err,.footer-nl .nl-consent.nl-err a{color:#ff9d90}\n.footer-nl .nl-consent.nl-err input{outline:1.5px solid #ff7a68;outline-offset:2px;border-radius:4px;accent-color:#ff7a68}\n.footer-nl.nl-done .nl-emsg{display:none!important}\n\/* --- confirmation d'inscription (animation sobre) --- *\/\n.footer-nl.nl-done .nl-form,.footer-nl.nl-done .nl-consent{opacity:0;transform:translateY(-6px);height:0;margin:0;overflow:hidden;pointer-events:none;transition:opacity .35s ease,transform .35s ease}\n.nlx{display:none;flex-direction:column;align-items:flex-start;gap:11px;margin-top:6px;max-width:52ch}\n.footer-nl.nl-done .nlx{display:flex}\n.nlx-line{width:58px;height:2px;border-radius:2px;background:linear-gradient(90deg,#2C55FB,#7B5CFF 55%,#91B1FF);transform:scaleX(0);transform-origin:left;animation:nlxLine .55s .05s forwards cubic-bezier(.2,.8,.2,1)}\n.nlx-over{display:inline-flex;align-items:center;gap:9px;font-family:\"Geist Mono\",ui-monospace,monospace;font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:#91B1FF;opacity:0;transform:translateY(8px);animation:nlxIn .5s .16s forwards cubic-bezier(.2,.8,.2,1)}\n.nlx-over svg{width:15px;height:15px;flex:0 0 auto;fill:none;stroke:#91B1FF;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:24;stroke-dashoffset:24;animation:nlxDraw .5s .34s forwards ease}\n@keyframes nlxDraw{to{stroke-dashoffset:0}}\n.nlx-title{font-family:\"Plus Jakarta Sans\",system-ui,sans-serif;font-size:20px;font-weight:800;line-height:1.2;letter-spacing:-.01em;color:#fff;margin:0;opacity:0;transform:translateY(8px);animation:nlxIn .5s .28s forwards cubic-bezier(.2,.8,.2,1)}\n.nlx-title em{font-style:normal;color:#91B1FF}\n.nlx-sub{font-family:\"Plus Jakarta Sans\",system-ui,sans-serif;font-size:14px;line-height:1.55;color:rgba(255,255,255,.72);opacity:0;transform:translateY(8px);animation:nlxIn .5s .40s forwards cubic-bezier(.2,.8,.2,1)}\n@keyframes nlxLine{to{transform:scaleX(1)}}\n@keyframes nlxIn{to{opacity:1;transform:none}}\n@media (prefers-reduced-motion:reduce){.nlx-line,.nlx-over,.nlx-over svg,.nlx-title,.nlx-sub{animation:none!important}.nlx-line{transform:none}.nlx-over,.nlx-title,.nlx-sub{opacity:1;transform:none}.nlx-over svg{stroke-dashoffset:0}}\n<\/style>\n<script>\n(function(){\nfunction boot(){\n var form=document.querySelector('.nl-form'); if(!form||form.dataset.piaNl) return; form.dataset.piaNl='1';\n var wrap=form.closest('.footer-nl')||form.parentElement;\n var hp=document.createElement('input');hp.type='text';hp.name='website';hp.className='nl-hp';hp.tabIndex=-1;hp.autocomplete='off';hp.setAttribute('aria-hidden','true');form.appendChild(hp);\n var inp=form.querySelector('input[type=email]');\n var lbl=wrap.querySelector('.nl-consent');\n var cons=wrap.querySelector('input[name=consent]');\n var emsg=document.createElement('div');emsg.className='nl-emsg';emsg.textContent='Please enter a valid email address.';\n if(form.parentNode)form.parentNode.insertBefore(emsg,form.nextSibling);\n var s=document.createElement('div');s.className='nlx';\n s.innerHTML='<span class=\"nlx-line\"><\/span><span class=\"nlx-over\"><svg viewBox=\"0 0 20 20\" aria-hidden=\"true\"><path d=\"M4 10.5l4 4 8-9\"\/><\/svg>Subscription confirmed<\/span><strong class=\"nlx-title\">Welcome to the grand b<em>AI<\/em>n.<\/strong><span class=\"nlx-sub\">Your next edition is on its way \u2014 once or twice a month, no spam.<\/span>';\n wrap.appendChild(s);\n var EP=window.PIA_NL_ENDPOINT||'\/wp-json\/prismia\/v1\/newsletter';var MODE=window.PIA_NL_MODE||'live';\n function shake(){form.classList.remove('nl-shake');void form.offsetWidth;form.classList.add('nl-shake');}\n function clrEmail(){if(inp)inp.classList.remove('nl-err');emsg.classList.remove('show');}\n function clrCons(){if(lbl)lbl.classList.remove('nl-err');}\n if(inp)inp.addEventListener('input',clrEmail);\n if(cons)cons.addEventListener('change',function(){if(cons.checked)clrCons();});\n form.addEventListener('submit',function(e){\n  e.preventDefault();\n  clrEmail();clrCons();\n  var email=inp?inp.value.trim():'';var bad=false;\n  if(!\/^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$\/.test(email)){if(inp)inp.classList.add('nl-err');emsg.classList.add('show');bad=true;}\n  if(cons&&!cons.checked){if(lbl)lbl.classList.add('nl-err');bad=true;}\n  if(bad){shake();if(inp&&inp.classList.contains('nl-err'))inp.focus();return;}\n  if(hp.value)return;\n  var ok=function(){wrap.classList.add('nl-done');};\n  if(MODE==='demo'){setTimeout(ok,300);return;}\n  var btn=form.querySelector('button');if(btn)btn.disabled=true;\n  fetch(EP,{method:'POST',headers:{'Content-Type':'application\/json'},body:JSON.stringify({email:email,consent:cons?cons.checked:true,website:hp.value})})\n   .then(function(r){return r.ok?r.json():Promise.reject();}).then(ok)\n   .catch(function(){if(btn)btn.disabled=false;alert('Oops, please try again in a moment.');});\n });\n}\nif(document.readyState==='loading')document.addEventListener('DOMContentLoaded',boot);else boot();\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6baf283 elementor-widget elementor-widget-html\" data-id=\"6baf283\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\/* 2026-07-15 \u2014 interligne de la ligne de consentement newsletter (le bloc .nl-consent du CSS principal n'avait pas de line-height, d'o\u00f9 2 lignes coll\u00e9es). Fond corrig\u00e9 dans styles.css source. *\/\n.footer-nl .nl-consent{line-height:1.55}<\/style>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-abd8995 e-flex e-con-full pia-wrap pia-js e-con e-parent\" data-id=\"abd8995\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-893ee8e elementor-widget elementor-widget-html\" data-id=\"893ee8e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<script>\nfunction __piaBoot(){\n\/* PrismIA mockup-v2 \u2014 nav + shader hero\/footer (maison, ~13 KB)\n   Shader \"Grille maquette\" (variante F valid\u00e9e) : halo central + trame\n   halftone en grille, statique. Interactions souris uniquement :\n   illumination + micro-relief des points, orbe discr\u00e8te sur la ligne\n   de transition (taille r\u00e9active \u00e0 la proximit\u00e9), inertie 0.042.\n   2026-07-13 (feedback Fran\u00e7ois) : champ recentr\u00e9 sur le bleu PrismIA\n   #2C55FB (l'ancienne base indigo #0E1880 + dominante #1929DD rendait\n   un bleu roi \u00ab Mister-IA \u00bb) ; rayon des dots r\u00e9duit de 20 %. *\/\n(function () {\n  \"use strict\";\n\n  \/* ---------------- NAV ---------------- *\/\n  var nav = document.getElementById(\"nav\");\n  var burger = document.getElementById(\"burger\");\n\n  function onScroll() {\n    if (nav.hasAttribute(\"data-solid\")) { nav.classList.add(\"is-scrolled\"); return; }\n    if (window.scrollY > 40) nav.classList.add(\"is-scrolled\");\n    else if (!nav.classList.contains(\"menu-open\")) nav.classList.remove(\"is-scrolled\");\n  }\n  window.addEventListener(\"scroll\", onScroll, { passive: true });\n  onScroll();\n\n  \/\/ dropdowns (hover desktop + clic)\n  document.querySelectorAll(\"[data-dd]\").forEach(function (item) {\n    var btn = item.querySelector(\".nav-link\");\n    var closeTimer = null;\n    function open() {\n      clearTimeout(closeTimer);\n      document.querySelectorAll(\"[data-dd].open\").forEach(function (o) { if (o !== item) o.classList.remove(\"open\"); });\n      item.classList.add(\"open\");\n      btn.setAttribute(\"aria-expanded\", \"true\");\n    }\n    function close() {\n      closeTimer = setTimeout(function () {\n        item.classList.remove(\"open\");\n        btn.setAttribute(\"aria-expanded\", \"false\");\n      }, 180);\n    }\n    item.addEventListener(\"mouseenter\", open);\n    item.addEventListener(\"mouseleave\", close);\n    btn.addEventListener(\"click\", function (e) {\n      e.preventDefault();\n      if (item.classList.contains(\"open\")) { item.classList.remove(\"open\"); btn.setAttribute(\"aria-expanded\", \"false\"); }\n      else open();\n    });\n  });\n  document.addEventListener(\"click\", function (e) {\n    if (!e.target.closest(\"[data-dd]\")) {\n      document.querySelectorAll(\"[data-dd].open\").forEach(function (o) { o.classList.remove(\"open\"); });\n    }\n  });\n\n  \/\/ burger mobile\n  if (burger) {\n    burger.addEventListener(\"click\", function () {\n      var open = nav.classList.toggle(\"menu-open\");\n      burger.setAttribute(\"aria-expanded\", open ? \"true\" : \"false\");\n      if (open) nav.classList.add(\"is-scrolled\");\n      document.body.style.overflow = open ? \"hidden\" : \"\";\n      if (!open) onScroll();\n    });\n  }\n\n  var reducedMotion = window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;\n\n  \/* ---------------- REVEALS AU SCROLL (2026-07-13) ----------------\n     Fade-up discret sur les blocs de section, cascade sur les enfants de\n     grilles. Z\u00e9ro HTML modifi\u00e9 : les classes .rv\/.in sont pos\u00e9es ici (sans\n     JS, rien n'est masqu\u00e9) puis RETIR\u00c9ES en fin de transition pour ne pas\n     interf\u00e9rer avec les transforms de hover des cards. *\/\n  if (!reducedMotion && \"IntersectionObserver\" in window) {\n    var rvItems = [];\n    document.querySelectorAll(\".section-head, .faq-item, .cta-panel, .tools-band\").forEach(function (el) {\n      rvItems.push([el, 0]);\n    });\n    document.querySelectorAll(\".services-grid, .valeur-grid, .skills-grid, .news-grid, .method-grid, .split\").forEach(function (g) {\n      Array.prototype.forEach.call(g.children, function (el, i) { rvItems.push([el, Math.min(i, 5) * 90]); });\n    });\n    var rvClean = function (el, delay) {\n      setTimeout(function () { el.classList.remove(\"rv\", \"in\"); el.style.removeProperty(\"--rvd\"); }, 950 + delay);\n    };\n    var rvIO = new IntersectionObserver(function (entries) {\n      entries.forEach(function (en) {\n        if (!en.isIntersecting) return;\n        rvIO.unobserve(en.target);\n        en.target.classList.add(\"in\");\n        rvClean(en.target, parseFloat(en.target.style.getPropertyValue(\"--rvd\") || 0) * 1000);\n      });\n    }, { rootMargin: \"0px 0px -8% 0px\", threshold: 0.08 });\n    rvItems.forEach(function (it) {\n      var el = it[0];\n      if (el.closest(\".hero\")) return;                                  \/\/ le hero a sa propre entr\u00e9e\n      if (el.getBoundingClientRect().top < window.innerHeight * 0.85) return; \/\/ d\u00e9j\u00e0 visible : ne pas masquer\n      if (it[1]) el.style.setProperty(\"--rvd\", it[1] \/ 1000 + \"s\");\n      el.classList.add(\"rv\");\n      rvIO.observe(el);\n    });\n\n    \/* entr\u00e9e du hero : cascade titre -> lead -> CTA *\/\n    var heroKids = document.querySelectorAll(\".hero-inner > *\");\n    heroKids.forEach(function (el, i) {\n      el.style.setProperty(\"--rvd\", 0.12 + i * 0.14 + \"s\");\n      el.classList.add(\"rv\");\n    });\n    requestAnimationFrame(function () {\n      requestAnimationFrame(function () {\n        heroKids.forEach(function (el) { el.classList.add(\"in\"); rvClean(el, 800); });\n      });\n    });\n  }\n\n  \/* ---------------- SCROLL INERTIEL (2026-07-13) ----------------\n     Molette desktop uniquement (pointer:fine) : lissage exponentiel -> le\n     d\u00e9filement d\u00e9c\u00e9l\u00e8re progressivement. Tactile, clavier, scrollbar et\n     ancres restent natifs (resynchro via l'event scroll). *\/\n  if (!reducedMotion && window.matchMedia(\"(pointer: fine)\").matches) {\n    (function () {\n      var target = window.scrollY, cur = target, active = false, self = false;\n      function maxScroll() { return document.documentElement.scrollHeight - window.innerHeight; }\n      function step() {\n        cur += (target - cur) * 0.085;\n        if (Math.abs(target - cur) < 0.6) { cur = target; active = false; }\n        self = true;\n        window.scrollTo({ top: Math.round(cur), behavior: \"instant\" }); \/\/ \"instant\" : ne pas d\u00e9clencher scroll-behavior:smooth\n        requestAnimationFrame(function () { self = false; });\n        if (active) requestAnimationFrame(step);\n      }\n      window.addEventListener(\"wheel\", function (e) {\n        if (e.ctrlKey || e.defaultPrevented) return;                       \/\/ zoom navigateur\n        if (Math.abs(e.deltaX) > Math.abs(e.deltaY)) return;               \/\/ d\u00e9filement horizontal natif\n        if (document.body.style.overflow === \"hidden\") return;             \/\/ menu mobile ouvert\n        e.preventDefault();\n        var d = e.deltaY * (e.deltaMode === 1 ? 33 : e.deltaMode === 2 ? window.innerHeight : 1);\n        target = Math.max(0, Math.min(maxScroll(), target + d));\n        if (!active) { active = true; requestAnimationFrame(step); }\n      }, { passive: false });\n      window.addEventListener(\"scroll\", function () {\n        if (!self && !active) { cur = target = window.scrollY; }           \/\/ clavier\/scrollbar\/ancres : resynchro\n      }, { passive: true });\n    })();\n  }\n\n  \/* ---------------- SHADER (variante F) ---------------- *\/\n  var VS = \"attribute vec2 aP;void main(){gl_Position=vec4(aP,0.,1.);}\";\n  var FS = [\n    \"precision highp float;\",\n    \"uniform vec2 uRes;uniform vec2 uM;uniform float uFlip;uniform float uCy;uniform float uDim;uniform float uDots;uniform float uTop;uniform float uOrb;\",\n    \"float h21(vec2 p){p=fract(p*vec2(123.34,456.21));p+=dot(p,p+45.32);return fract(p.x*p.y);}\",\n    \"void main(){\",\n    \"  vec2 frag=gl_FragCoord.xy;\",\n    \"  vec2 uv=frag\/uRes;\",\n    \"  vec2 p=(frag-0.5*uRes)\/uRes.y;\",\n    \"  p.y*=uFlip;\",\n    \"  uv.y=mix(uv.y,1.0-uv.y,step(uFlip,0.0));\",\n    \"  vec2 m=vec2(uM.x,uM.y*uFlip);\",\n    \"  vec3 cDark=vec3(0.016,0.028,0.106);\",\n    \"  vec3 cP=vec3(0.098,0.161,0.867);\",\n    \"  vec3 cA=vec3(0.173,0.333,0.984);\",\n    \"  vec3 cL=vec3(0.569,0.694,1.0);\",\n    \"  vec3 cW=vec3(0.918,0.941,1.0);\",\n    \"  vec2 gc=(p-vec2(0.0,uCy))*vec2(0.95,1.3);\",\n    \"  float g0=exp(-dot(gc,gc)*2.6);\",\n    \"  vec3 col=mix(cDark,cA*0.60,0.42+0.30*g0*uDim);\", \/\/ plancher ambiant bleu releve (0.34->0.42 le 13\/07 : encore moins de noir)\n    \"  col+=cP*g0*0.45*uDim;\", \/\/ 1929DD riche en B : pousse vers le bleu vif sans virer periwinkle\n    \"  col+=cA*g0*0.80*uDim;\", \/\/ dominante accent : le champ tire vers #2C55FB, pas vers le bleu roi\n    \"  col+=cA*pow(g0,2.0)*0.85*uDim;\",\n    \"  col+=mix(cA,cW,0.8)*pow(g0,7.0)*0.62*uDim;\", \/\/ pic blanc du halo l\u00e9g\u00e8rement att\u00e9nu\u00e9 (lisibilit\u00e9 du titre)\n    \"  vec2 pm=p-m;\",\n    \"  float mprox=exp(-dot(pm,pm)*24.0);\",\n    \"  vec2 pd=p-pm*0.07*mprox;\",\n    \"  float den=52.0;\", \/\/ 105 -> 74 -> 52 : -75% de dots par surface au total (2026-07-13, diff\u00e9renciation Mister-IA)\n    \"  vec2 g=pd*den+vec2(den*0.5);\",\n    \"  vec2 cell=floor(g);vec2 f=fract(g);\",\n    \"  float d=length(f-0.5);\",\n    \"  float rv=h21(cell);\",\n    \"  vec2 gc2=(pd-vec2(0.0,uCy))*vec2(0.95,1.3);\",\n    \"  float gf=exp(-dot(gc2,gc2)*2.6);\",\n    \"  float band=smoothstep(0.03,0.25,gf)*(1.0-smoothstep(0.45,0.8,gf));\",\n    \"  float amp=band*(0.65+0.35*rv)+mprox*(0.4+0.4*band);\",\n    \"  float rad=0.024+0.080*min(amp,1.0)*(1.0+0.35*mprox);\", \/\/ rayon re-scal\u00e9 x0.707 a chaque baisse de den : taille pixel des points inchang\u00e9e\n    \"  float dm=smoothstep(rad,rad*0.68,d);\",\n    \"  vec3 dc=mix(cL*0.9,cW,clamp(gf*0.8+0.6*mprox,0.0,1.0));\",\n    \"  col+=dc*dm*min(amp,1.1)*0.3*uDots;\",\n    \"  col=mix(col,vec3(0.031,0.056,0.20),smoothstep(0.55,1.0,uv.y)*0.42*uTop);\", \/\/ fondu haut vers bleu profond, encore adouci (0.9 -> 0.55 -> 0.42)\n    \"  float mxx=clamp(m.x,-0.66,0.66);\",\n    \"  vec2 C=vec2(mxx,-0.475);\",\n    \"  float md=length(m-C);\",\n    \"  float sz=mix(0.050,0.105,exp(-md*1.9));\",\n    \"  vec2 po=p-C;po.x*=0.82;\",\n    \"  float r2=dot(po,po);\",\n    \"  float orb=exp(-r2\/(sz*sz));\",\n    \"  float halo=exp(-r2\/(sz*sz*9.0))*0.20;\",\n    \"  col+=cL*halo*uOrb;\",\n    \"  col+=vec3(1.0,0.995,0.98)*orb*0.8*uOrb;\",\n    \"  col*=1.0-0.16*smoothstep(0.75,1.35,length(p));\", \/\/ vignette allegee (0.30 -> 0.22 -> 0.16)\n    \"  col=1.0-exp(-col*1.35);\",\n    \"  float lum=dot(col,vec3(0.299,0.587,0.114));\", \/\/ boost de saturation post-tonemap (13\/07) :\n    \"  col=clamp(mix(vec3(lum),col,1.30),0.0,1.0);\", \/\/ le tonemap compresse B et delave le champ -> on re-sature (blancs intacts)\n    \"  gl_FragColor=vec4(col,1.0);\",\n    \"}\"\n  ].join(\"\\n\");\n\n  function initScene(canvas, host, flip, cy, dim, dots, top, orb) {\n    var reduced = window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;\n    var gl = canvas.getContext(\"webgl\", { antialias: false, alpha: false, powerPreference: \"low-power\" });\n    if (!gl) {\n      host.style.background =\n        \"radial-gradient(60% 55% at 50% \" + (flip > 0 ? \"62%\" : \"38%\") + \", rgba(44,85,251,.55), transparent 72%),\" +\n        \"linear-gradient(180deg,#04071b,#0A1240 50%,#04071b)\";\n      return;\n    }\n    function sh(type, src) {\n      var s = gl.createShader(type); gl.shaderSource(s, src); gl.compileShader(s);\n      if (!gl.getShaderParameter(s, gl.COMPILE_STATUS)) console.error(gl.getShaderInfoLog(s));\n      return s;\n    }\n    var prog = gl.createProgram();\n    gl.attachShader(prog, sh(gl.VERTEX_SHADER, VS));\n    gl.attachShader(prog, sh(gl.FRAGMENT_SHADER, FS));\n    gl.linkProgram(prog); gl.useProgram(prog);\n    var buf = gl.createBuffer(); gl.bindBuffer(gl.ARRAY_BUFFER, buf);\n    gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([-1, -1, 3, -1, -1, 3]), gl.STATIC_DRAW);\n    var loc = gl.getAttribLocation(prog, \"aP\");\n    gl.enableVertexAttribArray(loc); gl.vertexAttribPointer(loc, 2, gl.FLOAT, false, 0, 0);\n    var uRes = gl.getUniformLocation(prog, \"uRes\");\n    var uM = gl.getUniformLocation(prog, \"uM\");\n    var uFlip = gl.getUniformLocation(prog, \"uFlip\");\n    var uCy = gl.getUniformLocation(prog, \"uCy\");\n    var uDim = gl.getUniformLocation(prog, \"uDim\");\n    var uDots = gl.getUniformLocation(prog, \"uDots\");\n    var uTop = gl.getUniformLocation(prog, \"uTop\");\n    var uOrb = gl.getUniformLocation(prog, \"uOrb\");\n\n    var DPR = Math.min(window.devicePixelRatio || 1, 1.5);\n    function resize() {\n      var w = host.clientWidth, h = host.clientHeight;\n      canvas.width = Math.round(w * DPR); canvas.height = Math.round(h * DPR);\n      gl.viewport(0, 0, canvas.width, canvas.height);\n    }\n    resize(); window.addEventListener(\"resize\", resize);\n\n    var mx = 0, my = 0, tx = 0, ty = 0;\n    host.addEventListener(\"mousemove\", function (e) {\n      var r = host.getBoundingClientRect();\n      tx = ((e.clientX - r.left) - r.width * 0.5) \/ r.height;\n      ty = -(((e.clientY - r.top) - r.height * 0.5) \/ r.height);\n    });\n\n    var running = true, inView = true;\n    document.addEventListener(\"visibilitychange\", function () { running = !document.hidden; });\n    if (\"IntersectionObserver\" in window) {\n      new IntersectionObserver(function (en) { inView = en[0].isIntersecting; }, { threshold: 0.02 }).observe(host);\n    }\n\n    function draw() {\n      gl.uniform2f(uRes, canvas.width, canvas.height);\n      mx += (tx - mx) * 0.042; my += (ty - my) * 0.042;\n      gl.uniform2f(uM, mx, my);\n      gl.uniform1f(uFlip, flip);\n      gl.uniform1f(uCy, cy);\n      gl.uniform1f(uDim, dim);\n      gl.uniform1f(uDots, dots);\n      gl.uniform1f(uTop, top);\n      gl.uniform1f(uOrb, orb);\n      gl.drawArrays(gl.TRIANGLES, 0, 3);\n    }\n\n    var FPS = 30, frameMs = 1000 \/ FPS, last = 0;\n    function loop(now) {\n      requestAnimationFrame(loop);\n      if (!running || !inView) return;\n      if (now - last < frameMs) return;\n      last = now; draw();\n    }\n    draw(); \/\/ premier rendu imm\u00e9diat, m\u00eame hors viewport (\u00e9vite un canvas noir avant le scroll)\n    if (reduced) { canvas.classList.add(\"on\"); }\n    else {\n      requestAnimationFrame(loop);\n      requestAnimationFrame(function () { canvas.classList.add(\"on\"); });\n    }\n  }\n\n  var heroCanvas = document.getElementById(\"glHero\");\n  \/\/ cy -0.18 : halo descendu sous le bloc titre (contraste du h1 lavande sur bleu profond)\n  if (heroCanvas) initScene(heroCanvas, heroCanvas.parentElement, 1.0, -0.18, 1.0, 1.0, 1.0, 1.0);\n  var footCanvas = document.getElementById(\"glFooter\");\n  if (footCanvas) initScene(footCanvas, footCanvas.parentElement, -1.0, -0.28, 0.42, 0.7, 1.0, 1.0);\n  var ctaCanvas = document.getElementById(\"glCta\");\n  \/\/ dim 0.35 -> 0.60 (2026-07-13, Fran\u00e7ois) : halo plus large, moins de sombre aux bords du panneau\n  if (ctaCanvas) initScene(ctaCanvas, ctaCanvas.parentElement, 1.0, -0.12, 0.60, 0.5, 0.0, 0.0);\n})();\n}\nif(document.readyState==='loading'){document.addEventListener('DOMContentLoaded',__piaBoot);}else{__piaBoot();}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>We look forward to sharing our passion for artificial intelligence with you! At PrismIA S\u00e0rl, we believe that technological innovation can transform our daily lives and open up new perspectives. Based in Geneva, our team of experts is ready to support you in your projects and help you discover the latest advances in AI. Whether you&#8217;re a company looking for tailor-made solutions or an enthusiast keen to learn more, we have something to offer you. Contact us to explore the infinite possibilities of artificial intelligence!<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"_yoast_wpseo_focuskw":"Contact PrismIA for your artificial intelligence projects","_yoast_wpseo_title":"Contact PrismIA for your artificial intelligence projects","_yoast_wpseo_metadesc":"Contact PrismIA for your artificial intelligence projects. Our experts are at your side. Let's talk about it!","_yoast_wpseo_linkdex":"","_yoast_wpseo_content_score":"","_elementor_version":"4.2.2","_elementor_pro_version":"4.2.1","_elementor_css":null,"footnotes":""},"class_list":["post-1346","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Contact PrismIA for your artificial intelligence projects<\/title>\n<meta name=\"description\" content=\"Contact PrismIA for your artificial intelligence projects. Our experts are at your side. Let&#039;s talk about it!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.prismia.ch\/en\/contact\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Contact PrismIA for your artificial intelligence projects\" \/>\n<meta property=\"og:description\" content=\"Contact PrismIA for your artificial intelligence projects. Our experts are at your side. Let&#039;s talk about it!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.prismia.ch\/en\/contact\/\" \/>\n<meta property=\"og:site_name\" content=\"PrismIA\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-14T18:24:52+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.prismia.ch\/wp-content\/uploads\/2026\/07\/prismia-og-default.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.prismia.ch\\\/en\\\/contact\\\/\",\"url\":\"https:\\\/\\\/www.prismia.ch\\\/en\\\/contact\\\/\",\"name\":\"Contact PrismIA for your artificial intelligence projects\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.prismia.ch\\\/en\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.prismia.ch\\\/en\\\/contact\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.prismia.ch\\\/en\\\/contact\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.prismia.ch\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/PRISMIA_logo_couleur_20241105.svg\",\"datePublished\":\"2024-11-13T20:36:02+00:00\",\"dateModified\":\"2026-08-14T18:24:52+00:00\",\"description\":\"Contact PrismIA for your artificial intelligence projects. Our experts are at your side. Let's talk about it!\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.prismia.ch\\\/en\\\/contact\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.prismia.ch\\\/en\\\/contact\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.prismia.ch\\\/en\\\/contact\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.prismia.ch\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/PRISMIA_logo_couleur_20241105.svg\",\"contentUrl\":\"https:\\\/\\\/www.prismia.ch\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/PRISMIA_logo_couleur_20241105.svg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.prismia.ch\\\/en\\\/contact\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.prismia.ch\\\/en\\\/home\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Contact\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.prismia.ch\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/www.prismia.ch\\\/en\\\/\",\"name\":\"PrismIA\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.prismia.ch\\\/en\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.prismia.ch\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Organization\",\"ProfessionalService\"],\"@id\":\"https:\\\/\\\/www.prismia.ch\\\/en\\\/#organization\",\"name\":\"PrismIA S\u00e0rl\",\"url\":\"https:\\\/\\\/www.prismia.ch\\\/en\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.prismia.ch\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.prismia.ch\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/PIA_logo_415x90-e1739004471809.webp\",\"contentUrl\":\"https:\\\/\\\/www.prismia.ch\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/PIA_logo_415x90-e1739004471809.webp\",\"width\":200,\"height\":43,\"caption\":\"PrismIA S\u00e0rl\"},\"image\":{\"@id\":\"https:\\\/\\\/www.prismia.ch\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"description\":\"PrismIA est une agence d'intelligence artificielle bas\u00e9e \u00e0 Gen\u00e8ve. Nous accompagnons les PME et grandes entreprises suisses dans l'adoption responsable de l'IA : conseil strat\u00e9gique, formations sur mesure, audit et int\u00e9gration de solutions.\",\"address\":{\"@type\":\"PostalAddress\",\"streetAddress\":\"Chemin Frank-Thomas 32\",\"postalCode\":\"1208\",\"addressLocality\":\"Gen\u00e8ve\",\"addressRegion\":\"GE\",\"addressCountry\":\"CH\"},\"telephone\":\"+41 22 566 94 00\",\"email\":\"info@prismia.ch\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":46.203807649278424,\"longitude\":6.1732832963451445},\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/company\\\/prismia-ch\"],\"areaServed\":[{\"@type\":\"Country\",\"name\":\"Switzerland\"},{\"@type\":\"AdministrativeArea\",\"name\":\"Suisse romande\"},{\"@type\":\"AdministrativeArea\",\"name\":\"Vaud\"},{\"@type\":\"City\",\"name\":\"Gen\u00e8ve\"},{\"@type\":\"City\",\"name\":\"Lausanne\"}],\"location\":[{\"@type\":\"Place\",\"name\":\"PrismIA Gen\u00e8ve\",\"address\":{\"@type\":\"PostalAddress\",\"streetAddress\":\"Chemin Frank-Thomas 32\",\"postalCode\":\"1208\",\"addressLocality\":\"Gen\u00e8ve\",\"addressRegion\":\"GE\",\"addressCountry\":\"CH\"}},{\"@type\":\"Place\",\"name\":\"PrismIA Renens\",\"address\":{\"@type\":\"PostalAddress\",\"streetAddress\":\"Rue de l'Avenir 28\",\"postalCode\":\"1020\",\"addressLocality\":\"Renens\",\"addressRegion\":\"VD\",\"addressCountry\":\"CH\"}}],\"knowsAbout\":[\"Intelligence artificielle\",\"Formation IA\",\"Audit IA\",\"Int\u00e9gration IA\",\"Conseil IA\",\"Gouvernance IA\",\"IA g\u00e9n\u00e9rative\",\"Strat\u00e9gie IA\",\"IA en entreprise\",\"IA responsable\"],\"priceRange\":\"$$\",\"openingHoursSpecification\":{\"@type\":\"OpeningHoursSpecification\",\"dayOfWeek\":[\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\"],\"opens\":\"09:00\",\"closes\":\"18:00\"},\"foundingDate\":\"2024\",\"slogan\":\"B\u00e2tissez le futur de votre entreprise avec des solutions IA s\u00e9curis\u00e9es\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Contact PrismIA for your artificial intelligence projects","description":"Contact PrismIA for your artificial intelligence projects. Our experts are at your side. Let's talk about it!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.prismia.ch\/en\/contact\/","og_locale":"en_US","og_type":"article","og_title":"Contact PrismIA for your artificial intelligence projects","og_description":"Contact PrismIA for your artificial intelligence projects. Our experts are at your side. Let's talk about it!","og_url":"https:\/\/www.prismia.ch\/en\/contact\/","og_site_name":"PrismIA","article_modified_time":"2026-08-14T18:24:52+00:00","og_image":[{"url":"https:\/\/www.prismia.ch\/wp-content\/uploads\/2026\/07\/prismia-og-default.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.prismia.ch\/en\/contact\/","url":"https:\/\/www.prismia.ch\/en\/contact\/","name":"Contact PrismIA for your artificial intelligence projects","isPartOf":{"@id":"https:\/\/www.prismia.ch\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.prismia.ch\/en\/contact\/#primaryimage"},"image":{"@id":"https:\/\/www.prismia.ch\/en\/contact\/#primaryimage"},"thumbnailUrl":"https:\/\/www.prismia.ch\/wp-content\/uploads\/2024\/11\/PRISMIA_logo_couleur_20241105.svg","datePublished":"2024-11-13T20:36:02+00:00","dateModified":"2026-08-14T18:24:52+00:00","description":"Contact PrismIA for your artificial intelligence projects. Our experts are at your side. Let's talk about it!","breadcrumb":{"@id":"https:\/\/www.prismia.ch\/en\/contact\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.prismia.ch\/en\/contact\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.prismia.ch\/en\/contact\/#primaryimage","url":"https:\/\/www.prismia.ch\/wp-content\/uploads\/2024\/11\/PRISMIA_logo_couleur_20241105.svg","contentUrl":"https:\/\/www.prismia.ch\/wp-content\/uploads\/2024\/11\/PRISMIA_logo_couleur_20241105.svg"},{"@type":"BreadcrumbList","@id":"https:\/\/www.prismia.ch\/en\/contact\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.prismia.ch\/en\/home\/"},{"@type":"ListItem","position":2,"name":"Contact"}]},{"@type":"WebSite","@id":"https:\/\/www.prismia.ch\/en\/#website","url":"https:\/\/www.prismia.ch\/en\/","name":"PrismIA","description":"","publisher":{"@id":"https:\/\/www.prismia.ch\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.prismia.ch\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Organization","ProfessionalService"],"@id":"https:\/\/www.prismia.ch\/en\/#organization","name":"PrismIA S\u00e0rl","url":"https:\/\/www.prismia.ch\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.prismia.ch\/en\/#\/schema\/logo\/image\/","url":"https:\/\/www.prismia.ch\/wp-content\/uploads\/2024\/11\/PIA_logo_415x90-e1739004471809.webp","contentUrl":"https:\/\/www.prismia.ch\/wp-content\/uploads\/2024\/11\/PIA_logo_415x90-e1739004471809.webp","width":200,"height":43,"caption":"PrismIA S\u00e0rl"},"image":{"@id":"https:\/\/www.prismia.ch\/en\/#\/schema\/logo\/image\/"},"description":"PrismIA est une agence d'intelligence artificielle bas\u00e9e \u00e0 Gen\u00e8ve. Nous accompagnons les PME et grandes entreprises suisses dans l'adoption responsable de l'IA : conseil strat\u00e9gique, formations sur mesure, audit et int\u00e9gration de solutions.","address":{"@type":"PostalAddress","streetAddress":"Chemin Frank-Thomas 32","postalCode":"1208","addressLocality":"Gen\u00e8ve","addressRegion":"GE","addressCountry":"CH"},"telephone":"+41 22 566 94 00","email":"info@prismia.ch","geo":{"@type":"GeoCoordinates","latitude":46.203807649278424,"longitude":6.1732832963451445},"sameAs":["https:\/\/www.linkedin.com\/company\/prismia-ch"],"areaServed":[{"@type":"Country","name":"Switzerland"},{"@type":"AdministrativeArea","name":"Suisse romande"},{"@type":"AdministrativeArea","name":"Vaud"},{"@type":"City","name":"Gen\u00e8ve"},{"@type":"City","name":"Lausanne"}],"location":[{"@type":"Place","name":"PrismIA Gen\u00e8ve","address":{"@type":"PostalAddress","streetAddress":"Chemin Frank-Thomas 32","postalCode":"1208","addressLocality":"Gen\u00e8ve","addressRegion":"GE","addressCountry":"CH"}},{"@type":"Place","name":"PrismIA Renens","address":{"@type":"PostalAddress","streetAddress":"Rue de l'Avenir 28","postalCode":"1020","addressLocality":"Renens","addressRegion":"VD","addressCountry":"CH"}}],"knowsAbout":["Intelligence artificielle","Formation IA","Audit IA","Int\u00e9gration IA","Conseil IA","Gouvernance IA","IA g\u00e9n\u00e9rative","Strat\u00e9gie IA","IA en entreprise","IA responsable"],"priceRange":"$$","openingHoursSpecification":{"@type":"OpeningHoursSpecification","dayOfWeek":["Monday","Tuesday","Wednesday","Thursday","Friday"],"opens":"09:00","closes":"18:00"},"foundingDate":"2024","slogan":"B\u00e2tissez le futur de votre entreprise avec des solutions IA s\u00e9curis\u00e9es"}]}},"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.prismia.ch\/en\/wp-json\/wp\/v2\/pages\/1346","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.prismia.ch\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.prismia.ch\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.prismia.ch\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.prismia.ch\/en\/wp-json\/wp\/v2\/comments?post=1346"}],"version-history":[{"count":18,"href":"https:\/\/www.prismia.ch\/en\/wp-json\/wp\/v2\/pages\/1346\/revisions"}],"predecessor-version":[{"id":4511,"href":"https:\/\/www.prismia.ch\/en\/wp-json\/wp\/v2\/pages\/1346\/revisions\/4511"}],"wp:attachment":[{"href":"https:\/\/www.prismia.ch\/en\/wp-json\/wp\/v2\/media?parent=1346"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}