Outiref

Code source de l'URL : https://www.affinites.ch

<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="google-site-verification" content="0PJhtaAGHYByIv4L1WuBoxO4bPF2RzyuASHKrDOgbdU" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Cabinet de transformation IA pour PME romandes | Affinités — Lausanne</title>
<meta name="description" content="Cabinet de transformation IA pour PME de Suisse romande. La technologie n'est jamais le vrai sujet : l'adoption par vos équipes l'est. Diagnostic IA offert, traitement conforme à la nLPD. Alexandre, Lausanne.">
<meta name="keywords" content="transformation IA PME, intelligence artificielle entreprise Suisse romande, accompagnement IA dirigeant, consultant IA Lausanne, conseil intelligence artificielle PME, IA Suisse romande, transformation digitale PME, données Suisse nLPD, automatisation IA entreprise">
<meta name="author" content="Alexandre">
<meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1">
<meta name="googlebot" content="index, follow">
<link rel="canonical" href="https://www.affinites.ch/">
<link rel="icon" type="image/svg+xml" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Ccircle cx='60' cy='60' r='52' fill='none' stroke='%232A2E37' stroke-width='4'/%3E%3Cg stroke='%23C8A86B' stroke-width='4' fill='none' stroke-linecap='round' opacity='.85'%3E%3Cline x1='60' y1='33' x2='37' y2='75'/%3E%3Cline x1='60' y1='33' x2='83' y2='75'/%3E%3Cline x1='37' y1='75' x2='83' y2='75'/%3E%3C/g%3E%3Ccircle cx='60' cy='33' r='9' fill='%23C8A86B'/%3E%3Ccircle cx='37' cy='75' r='9' fill='%23C8A86B'/%3E%3Ccircle cx='83' cy='75' r='9' fill='%23C8A86B'/%3E%3Ccircle cx='60' cy='60' r='6' fill='%23E7E9EC'/%3E%3C/svg%3E">
<link rel="alternate" hreflang="fr-ch" href="https://www.affinites.ch/">
<link rel="alternate" hreflang="x-default" href="https://www.affinites.ch/">
<!-- Ciblage géographique (SEO local Suisse romande) -->
<meta name="geo.region" content="CH-VD">
<meta name="geo.placename" content="Lausanne, Pully, Suisse romande">
<meta name="geo.position" content="46.5089;6.6283">
<meta name="ICBM" content="46.5089, 6.6283">
<meta name="theme-color" content="#0E0F12">
<!-- Open Graph (partage LinkedIn, WhatsApp, etc.) -->
<meta property="og:type" content="website">
<meta property="og:locale" content="fr_CH">
<meta property="og:url" content="https://www.affinites.ch/">
<meta property="og:title" content="Cabinet de transformation IA pour PME romandes — L'humain d'abord">
<meta property="og:description" content="Cabinet de transformation IA pour PME romandes. La technologie, c'est 20% du travail. L'humain — l'adoption par vos équipes — fait les 80% qui décident. Traitement conforme à la nLPD.">
<meta property="og:image" content="https://www.affinites.ch/visuels/affinites-ia-og.jpg">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:image:alt" content="Affinités — Cabinet de transformation IA pour PME romandes">
<meta property="og:site_name" content="Affinités">
<!-- Twitter / X -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Cabinet de transformation IA pour PME romandes — L'humain d'abord">
<meta name="twitter:description" content="Cabinet de transformation IA pour PME romandes. L'humain d'abord. Traitement conforme à la nLPD.">
<meta name="twitter:image" content="https://www.affinites.ch/visuels/affinites-ia-og.jpg">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500&family=Inter:wght@300;400;500;600&display=swap" rel="stylesheet">
<style>
  :root{
    --bg:#0E0F12;
    --surface:#16181D;
    --surface-2:#1C1F26;
    --line:#2A2E37;
    --text:#E7E9EC;
    --muted:#9AA0A8;
    --faint:#787E86;
    --gold:#C8A86B;
    --gold-soft:#A98E55;
    --green:#7BA88C;
    --indigo:#6B5B95;
    --indigo-soft:#7B6BA0;
    --outils:#8A93C0; --vision:#C8A86B; --hommes:#7BA88C;
    --maxw:1080px;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth;overflow-x:clip}
  body{
    background:var(--bg);color:var(--text);
    font-family:'Inter',system-ui,sans-serif;font-weight:400;line-height:1.7;
    -webkit-font-smoothing:antialiased;overflow-x:clip;
  }
  /* barre de navigation principale (fixe) */
  .mainnav{position:fixed;top:0;left:0;right:0;z-index:100;background:#1A1D24;border-bottom:1px solid transparent;transition:border-color .3s,box-shadow .3s;padding:14px 0}
  .mainnav.scrolled{background:#1A1D24}
  /* liseré gris anthracite — séparation sous le menu, pleine largeur */
  .mainnav::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;pointer-events:none;z-index:102;
    background:var(--line)}


  .mainnav .wrap{max-width:1180px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}
  .mn-brand{display:flex;align-items:center;gap:11px;text-decoration:none;flex-shrink:0}
  .mn-emblem{width:30px;height:30px}.mn-emblem svg{width:100%;height:100%;display:block}
  .mn-tri{transform-origin:60px 60px;animation:pfSpin 30s linear infinite}
  .mn-name{font-family:'Fraunces',serif;font-size:18px;color:var(--text);letter-spacing:.01em}
  .mn-links{display:flex;align-items:center;gap:4px}
  .mn-links a{font-size:13.5px;color:var(--muted);text-decoration:none;padding:8px 15px;border-radius:20px;transition:all .2s;white-space:nowrap}
  .mn-links a:hover{color:var(--text);background:var(--surface)}
  .mn-links a.active{color:var(--gold)} .mn-links a.mn-cta{background:var(--gold);color:#0E0F12;font-weight:500;margin-left:8px}
  .mn-links a.mn-cta:hover{background:#d4b87e}
  .mn-burger{display:none;background:none;border:none;color:var(--text);cursor:pointer;padding:6px}
  .mn-burger svg{width:24px;height:24px}
  @media(max-width:860px){
    .mn-links{position:fixed;top:60px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;
      background:rgba(14,15,18,.98);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);
      padding:12px 16px 20px;transform:translateY(-130%);transition:transform .3s;z-index:99}
    .mn-links.open{transform:translateY(0)}
    .mn-links a{padding:13px 14px;border-radius:9px;font-size:15px}
    .mn-links a.mn-cta{margin-left:0;margin-top:8px;text-align:center}
    .mn-burger{display:block}
  }
  ::selection{background:var(--gold);color:#0E0F12}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}
  h1,h2,h3{font-family:'Fraunces',Georgia,serif;font-weight:400;line-height:1.12;letter-spacing:-0.015em}
  .eyebrow{font-size:12px;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:20px}
  button,a.btn{font-family:inherit;cursor:pointer}
  .btn{font-size:15px;letter-spacing:.01em;text-decoration:none;padding:15px 30px;border-radius:30px;
    transition:all .3s;display:inline-flex;align-items:center;gap:10px;border:0}
  .btn-gold{background:var(--gold);color:#0E0F12;font-weight:500}
  .btn-gold:hover{background:#d9bd83;transform:translateY(-2px)}
  .btn-ghost{border:1px solid var(--line);color:var(--text);background:transparent}
  .btn-ghost:hover{border-color:var(--gold);color:var(--gold)}
  :focus-visible{outline:2px solid var(--gold);outline-offset:3px}

  section{position:relative}
  .sec{padding:108px 0;position:relative}
  .sec:not(:first-of-type)::before{
    content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);
    width:0;height:1px;
    background:linear-gradient(90deg,transparent,var(--line) 18%,var(--gold-soft) 50%,var(--line) 82%,transparent);
    opacity:0;transition:opacity .5s ease, width 1.2s cubic-bezier(.3,.7,.2,1);
  }
  .sec.sep-in::before{opacity:.9;width:min(680px,82%)}
  /* motif central losange */
  .sec:not(:first-of-type)::after{
    content:"";position:absolute;top:0;left:50%;
    width:7px;height:7px;transform:translate(-50%,-50%) rotate(45deg) scale(0);
    background:var(--bg);border:1px solid var(--gold);
    box-shadow:0 0 12px rgba(200,168,107,.5);
    transition:transform .7s cubic-bezier(.3,1.5,.5,1) .4s;
  }
  .sec.sep-in::after{transform:translate(-50%,-50%) rotate(45deg) scale(1)}
  /* séparateur forcé (1er sec après le hero) */
  .sec.sep-force::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);
    width:0;height:1px;
    background:linear-gradient(90deg,transparent,var(--line) 18%,var(--gold-soft) 50%,var(--line) 82%,transparent);
    opacity:0;transition:opacity .5s ease, width 1.2s cubic-bezier(.3,.7,.2,1);}
  .sec.sep-force.sep-in::before{opacity:.9;width:min(680px,82%)}
  .sec.sep-force::after{content:"";position:absolute;top:0;left:50%;
    width:7px;height:7px;transform:translate(-50%,-50%) rotate(45deg) scale(0);
    background:var(--bg);border:1px solid var(--gold);box-shadow:0 0 12px rgba(200,168,107,.5);
    transition:transform .7s cubic-bezier(.3,1.5,.5,1) .4s;}
  .sec.sep-force.sep-in::after{transform:translate(-50%,-50%) rotate(45deg) scale(1)}
  @media(prefers-reduced-motion:reduce){
    .sec::before{opacity:.9!important;transition:none}
    .sec::after{transform:translate(-50%,-50%) rotate(45deg) scale(1)!important;transition:none}
  }
  .sec:first-of-type{padding-top:0}

  /* ---- reveal on scroll ---- */
  .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
  .reveal.in{opacity:1;transform:none}
  @media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

  /* ============ HERO ============ */
  .hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:120px 0 90px;position:relative;overflow:hidden}
  .hero-glow{position:absolute;top:-20%;left:50%;transform:translateX(-50%);width:60vw;height:60vw;max-width:760px;max-height:760px;
    background:radial-gradient(circle,rgba(200,168,107,.10),transparent 62%);pointer-events:none;z-index:0;display:none}
  .hero .wrap{position:relative;z-index:1}

  /* emblème d'affinité (entrée signée, même esprit que le Scanner) */
  .aff-emblem{width:120px;height:120px;margin:0 auto 32px;
    filter:drop-shadow(0 0 16px rgba(200,168,107,.3))}
  .aff-emblem svg{width:100%;height:100%;overflow:visible}
  .aff-ring{transform-origin:60px 60px}
  .aff-triangle{transform-origin:60px 60px}
  @media(prefers-reduced-motion:no-preference){
    .aff-ring{animation:affSpin 18s linear infinite}
    .aff-sweep{animation:affSpin 4.5s linear infinite;transform-origin:60px 60px}
    /* le triangle tourne lentement sur lui-même, après l'entrée */
    .aff-triangle{animation:affSpinReverse 26s linear 1.6s infinite}
    .aff-link{stroke-dasharray:60;stroke-dashoffset:60;animation:affTrace 1.3s ease forwards}
    .aff-link.l1{animation-delay:.55s}
    .aff-link.l2{animation-delay:.8s}
    .aff-link.l3{animation-delay:1.05s}
    .aff-node{opacity:0;animation:affPop .5s ease forwards}
    .aff-node.n1{animation-delay:.2s;transform-origin:60px 33px}
    .aff-node.n2{animation-delay:.35s;transform-origin:37px 75px}
    .aff-node.n3{animation-delay:.5s;transform-origin:83px 75px}
    .aff-core{transform-box:fill-box;transform-origin:center;animation:affBreath 3.6s ease-in-out 1.4s infinite}
  }
  @keyframes affSpin{to{transform:rotate(360deg)}}
  @keyframes affSpinReverse{to{transform:rotate(-360deg)}}
  @keyframes affTrace{to{stroke-dashoffset:0}}
  @keyframes affPop{0%{opacity:0;transform:scale(.2)}60%{opacity:1;transform:scale(1.3)}100%{opacity:1;transform:scale(1)}}
  @keyframes affBreath{0%,100%{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}
  @media(prefers-reduced-motion:reduce){
    .aff-link{stroke-dashoffset:0}
    .aff-node{opacity:1}
    .aff-sweep{display:none}
  }
  .hero h1{font-size:clamp(40px,6.6vw,82px);max-width:17ch;margin-bottom:30px}
  .hero h1 .em{color:var(--gold);font-style:italic}
  .hero .lead{font-size:clamp(18px,2.3vw,23px);color:var(--muted);font-weight:300;max-width:50ch;margin-bottom:18px;line-height:1.5}
  .hero .sign{font-size:15px;color:var(--text);font-weight:300;max-width:54ch;
    padding-left:18px;border-left:2px solid var(--gold);margin-bottom:44px;line-height:1.6}
  .hero .sign b{color:var(--gold);font-weight:500}
  .hero-cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center}

  /* ============ section head ============ */
  .sec-head{max-width:60ch;margin-bottom:54px}
  .sec-head h2{font-size:clamp(30px,4.4vw,52px);margin-bottom:0}
  .sec-head h2 .em{color:var(--gold);font-style:italic}
  .sec-head .intro{font-size:clamp(17px,2vw,19px);color:var(--muted);font-weight:300;margin-top:22px;line-height:1.6;max-width:54ch}

  /* ============ §2 LE MIROIR ============ */
  .mirror-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border:1px solid var(--line);border-radius:8px;overflow:hidden}
  .mirror-item{padding:34px 36px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative}
  .mirror-item:nth-child(2n){border-right:0}
  .mirror-item:nth-last-child(-n+2){border-bottom:0}
  .mirror-item .n{font-family:'Fraunces',serif;font-size:15px;color:var(--gold-soft);margin-bottom:14px;display:block}
  .mirror-item p{font-size:16.5px;color:var(--text);font-weight:300;line-height:1.55}
  .mirror-item p b{color:var(--gold);font-weight:500}
  .mirror-coda{margin-top:40px;font-family:'Fraunces',serif;font-size:clamp(20px,2.8vw,28px);color:var(--text);
    line-height:1.4;max-width:30ch}
  .mirror-coda .em{color:var(--gold);font-style:italic}

  /* ============ §3 LA VÉRITÉ (pivot) ============ */
  .pivot{background:linear-gradient(180deg,var(--bg),#101319 50%,var(--bg))}
  .pivot-split{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:stretch}
  .pivot-card{padding:44px 42px;border-radius:10px;border:1px solid var(--line);background:var(--surface);position:relative;overflow:hidden}
  .pivot-card.tech{opacity:.72}
  .pivot-card.human{border-color:var(--gold-soft);background:linear-gradient(160deg,#1B1E25,#15171C)}
  .pivot-card.human::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold),transparent)}
  .pivot-pct{font-family:'Fraunces',serif;font-size:clamp(52px,8vw,84px);line-height:1;letter-spacing:-.03em;margin-bottom:16px}
  .pivot-card.tech .pivot-pct{color:var(--faint)}
  .pivot-card.human .pivot-pct{color:var(--gold)}
  .pivot-card h3{font-size:23px;margin-bottom:14px}
  .pivot-card p{font-size:16px;color:var(--muted);font-weight:300;line-height:1.6}
  .pivot-card.human p{color:var(--text)}
  .pivot-line{margin-top:48px;font-family:'Fraunces',serif;font-size:clamp(22px,3.2vw,34px);line-height:1.35;
    text-align:center;max-width:26ch;margin-left:auto;margin-right:auto}
  .pivot-line .em{color:var(--gold);font-style:italic}

  /* ============ §4 POURQUOI MOI ============ */
  .moi-layout{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:stretch}
  .moi-statement{font-family:'Fraunces',serif;font-size:clamp(26px,3.6vw,40px);line-height:1.28;letter-spacing:-.01em}
  .moi-statement .em{color:var(--gold);font-style:italic}
  .moi-statement .small{display:block;font-family:'Inter',sans-serif;font-size:16px;color:var(--muted);
    font-weight:300;line-height:1.6;margin-top:26px;letter-spacing:0}
  .moi-points{display:flex;flex-direction:column;gap:4px}
  .moi-point{padding:24px 0;border-bottom:1px solid var(--line)}
  .moi-point:last-child{border-bottom:0}
  .moi-point h4{font-family:'Inter',sans-serif;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:10px}
  .moi-point p{font-size:16px;color:var(--text);font-weight:300;line-height:1.6}
  .moi-bridge{max-width:760px;margin:56px auto 0;padding:48px 44px 44px;border-radius:14px;
    border:1px solid var(--gold-soft);background:linear-gradient(170deg,#1B1E25,#131519);text-align:center;position:relative;overflow:hidden}
  .moi-bridge::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:60%;height:3px;
    background:linear-gradient(90deg,transparent,var(--gold),transparent)}
  .moi-bridge p{font-family:'Fraunces',serif;font-size:clamp(18px,2.2vw,23px);line-height:1.45;color:var(--text);font-weight:400}
  .moi-bridge p + p{margin-top:18px}
  .moi-bridge .em{color:var(--gold);font-style:italic}
  /* ===== CLÉ DE VOÛTE — pleine largeur, moment central ===== */
  .keystone-full{max-width:760px;margin:64px auto 0;padding:48px 44px 44px;border-radius:14px;
    border:1px solid var(--gold-soft);background:linear-gradient(170deg,#1B1E25,#131519);text-align:center;position:relative;overflow:hidden}
  .keystone-full::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:60%;height:3px;
    background:linear-gradient(90deg,transparent,var(--gold),transparent)}
  .kf-lbl{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-soft);font-weight:600;margin-bottom:26px}
  .kf-three{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:620px;margin:0 auto 26px}
  .kf-pole{display:flex;flex-direction:column;align-items:center;gap:5px;padding:18px 12px;border:1px solid var(--line);
    border-radius:12px;background:var(--bg);transition:border-color .3s,transform .3s}
  .kf-pole:hover{transform:translateY(-3px)}
  .kf-pole .dot{width:9px;height:9px;border-radius:50%;margin-bottom:5px}
  .kf-pole.k1 .dot{background:var(--outils,#8A93C0)} .kf-pole.k2 .dot{background:var(--vision,#C8A86B)} .kf-pole.k3 .dot{background:var(--hommes,#7BA88C)}
  .kf-pole.k1:hover{border-color:var(--outils,#8A93C0)} .kf-pole.k2:hover{border-color:var(--vision,#C8A86B)} .kf-pole.k3:hover{border-color:var(--hommes,#7BA88C)}
  .kf-pole .world{font-family:'Fraunces',serif;font-size:18px;color:var(--text)}
  .kf-pole .maps{font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;font-weight:600}
  .kf-pole.k1 .maps{color:var(--outils,#8A93C0)} .kf-pole.k2 .maps{color:var(--vision,#C8A86B)} .kf-pole.k3 .maps{color:var(--hommes,#7BA88C)}
  .kf-center{font-family:'Fraunces',serif;font-style:italic;font-size:17px;color:var(--gold-soft);
    max-width:560px;margin:0 auto 20px;padding-bottom:20px;border-bottom:1px solid var(--line)}
  .kf-center .em{color:var(--gold);font-style:italic}
  .kf-text{font-size:16px;color:var(--text);font-weight:300;line-height:1.65;max-width:620px;margin:0 auto}
  .kf-text b{color:var(--gold);font-weight:500}
  @media(max-width:600px){
    .keystone-full{padding:36px 22px 32px;margin-top:48px}
    .kf-three{grid-template-columns:1fr;gap:10px;max-width:340px}
    .kf-pole{flex-direction:row;justify-content:center;gap:10px;padding:14px}
    .kf-pole .dot{margin-bottom:0}
  }
  .affdef{margin-bottom:22px;padding-bottom:20px;border-bottom:1px solid var(--line)}
  .affdef-word{font-family:'Fraunces',serif;font-size:clamp(22px,2.8vw,30px);color:var(--gold);margin-right:10px}
  .affdef-gram{font-size:14px;color:var(--faint);font-style:italic;margin-right:14px}
  .affdef-sens{font-family:'Inter',sans-serif;font-size:15.5px;color:var(--muted);font-weight:300;font-style:italic;display:inline}
  .affbridge-closing{color:var(--muted)}
  .affbridge-closing .em{color:var(--gold)}

  /* ---- souveraineté suisse ---- */
  .sovereign{display:grid;grid-template-columns:auto 1fr;gap:40px;align-items:start;
    padding:44px 46px;border:1px solid var(--line);border-radius:12px;
    background:linear-gradient(160deg,#1B1E25,#15171C);position:relative;overflow:hidden}
  .sovereign::before{content:"";position:absolute;top:0;bottom:0;left:0;width:3px;height:auto;background:linear-gradient(180deg,var(--gold),transparent)}
  .sovereign-mark{width:72px;height:72px;color:var(--gold);flex-shrink:0}
  .sovereign-mark svg{width:100%;height:100%}
  .sovereign-body h2{font-size:clamp(26px,3.6vw,38px);margin-bottom:18px}
  .sovereign-body h2 .em{color:var(--gold);font-style:italic}
  .sovereign-body p{font-size:16px;color:var(--muted);font-weight:300;line-height:1.65;margin-bottom:14px;max-width:72ch}
  .sovereign-strong{color:var(--text)!important}
  .sovereign-strong b{color:var(--gold);font-weight:500}
  /* question de prise de conscience sécurité */
  .security-opts{display:flex;gap:12px;flex-wrap:wrap}
  .security-opt{background:var(--surface);border:1px solid var(--line);color:var(--muted);
    font-family:inherit;font-size:14px;padding:12px 20px;border-radius:4px;cursor:pointer;transition:all .25s}
  .security-opt:hover{border-color:var(--gold-soft);color:var(--text)}
  .security-opt.picked{border-color:var(--gold);color:var(--gold);background:rgba(200,168,107,.08)}
  .security-react{margin-top:18px;font-size:15px;line-height:1.6;color:var(--muted);
    max-height:0;overflow:hidden;opacity:0;transition:max-height .5s ease,opacity .5s ease,margin .3s}
  .security-react.show{max-height:160px;opacity:1}
  .security-react b{color:var(--gold);font-weight:500}
  @media(max-width:680px){
    .sovereign{grid-template-columns:1fr;gap:24px;padding:34px 26px}
    .sovereign-mark{width:56px;height:56px}
  }
  .proof{margin-top:56px}
  .proof-intro{font-family:'Fraunces',serif;font-size:clamp(20px,2.6vw,28px);line-height:1.3;margin-bottom:36px;max-width:30ch}
  .proof-intro .em{color:var(--gold);font-style:italic}
  .proof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:10px;overflow:hidden}
  .proof-stat{padding:30px 26px;border-right:1px solid var(--line)}
  .proof-stat:last-child{border-right:0}
  .proof-num{font-family:'Fraunces',serif;font-size:clamp(34px,4.5vw,48px);color:var(--gold);line-height:1;letter-spacing:-.02em;margin-bottom:14px}
  .proof-num span{font-size:.5em;color:var(--gold-soft);margin-left:3px}
  .proof-lbl{font-size:13.5px;color:var(--muted);font-weight:300;line-height:1.5}
  .proof-foot{margin-top:22px;font-size:14px;color:var(--faint);font-style:italic;line-height:1.6;
    padding-left:16px;border-left:2px solid var(--gold-soft)}
  @media(max-width:760px){
    .proof-grid{grid-template-columns:1fr 1fr}
    .proof-stat:nth-child(2){border-right:0}
    .proof-stat:nth-child(1),.proof-stat:nth-child(2){border-bottom:1px solid var(--line)}
  }
  @media(max-width:420px){
    .proof-grid{grid-template-columns:1fr}
    .proof-stat{border-right:0!important;border-bottom:1px solid var(--line)}
    .proof-stat:last-child{border-bottom:0}
  }

  /* ============ §5 MÉTHODE ============ */
  .method-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative}
  .method-step{padding:0 26px;position:relative}
  .method-step:not(:last-child)::after{content:"";position:absolute;top:30px;right:-1px;width:1px;height:calc(100% - 30px);background:var(--line)}
  .method-num{width:60px;height:60px;border-radius:50%;border:1px solid var(--gold-soft);
    display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-size:24px;color:var(--gold);
    margin-bottom:24px;position:relative;background:var(--bg)}
  .method-step h3{font-size:21px;margin-bottom:12px}
  .method-step p{font-size:15px;color:var(--muted);font-weight:300;line-height:1.6}
  .method-note{margin-top:50px;font-size:14.5px;color:var(--faint);font-style:italic;line-height:1.7;
    padding-left:16px;border-left:2px solid var(--gold-soft)}

  /* ============ §6 LES 3 NIVEAUX ============ */
  .levels{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  /* ===== HUB « Quatre affinités » — catalogue métier (grille 2x2 = le carré) ===== */
  .affinites-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:6px}
  .aff-card{background:linear-gradient(160deg,#1B1E25,#15171C);border:1px solid var(--line);border-radius:12px;
    padding:34px 32px;position:relative;overflow:hidden;display:flex;flex-direction:column;
    text-decoration:none;color:inherit;cursor:pointer;
    transition:border-color .4s,transform .4s}
  .aff-card:hover{border-color:var(--gold-soft);transform:translateY(-5px)}
  .aff-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;opacity:.85}
  .aff-card[data-aff="artisans"]::before{background:linear-gradient(90deg,var(--outils),transparent)}
  .aff-card[data-aff="coaching"]::before{background:linear-gradient(90deg,var(--vision),transparent)}
  .aff-card[data-aff="formation"]::before{background:linear-gradient(90deg,var(--hommes),transparent)}
  .aff-card[data-aff="transformation"]::before{background:linear-gradient(90deg,var(--outils),var(--vision) 50%,var(--hommes))}
  .aff-tag{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-soft);font-weight:600;margin-bottom:8px;display:flex;align-items:center;gap:8px}
  .aff-tag::before{content:"";width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--gold-soft)}
  .aff-card[data-aff="artisans"] .aff-tag::before{background:var(--outils)}
  .aff-card[data-aff="coaching"] .aff-tag::before{background:var(--vision)}
  .aff-card[data-aff="formation"] .aff-tag::before{background:var(--hommes)}
  .aff-card[data-aff="transformation"] .aff-tag::before{background:linear-gradient(135deg,var(--outils),var(--vision) 50%,var(--hommes))}
  .aff-card h3{font-size:23px;margin-bottom:7px;letter-spacing:-.01em}
  .aff-hook{font-family:'Fraunces',serif;font-style:italic;font-size:16px;color:var(--text);line-height:1.45;margin-bottom:14px}
  .aff-desc{font-size:14px;color:var(--muted);font-weight:300;line-height:1.55;margin-bottom:22px;flex:1}
  .aff-cta{margin-top:auto;width:100%;background:transparent;border:1px solid var(--line);color:var(--text);
    font-family:inherit;font-size:13.5px;letter-spacing:.02em;padding:12px 18px;border-radius:2px;cursor:pointer;
    text-decoration:none;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .3s}
  .aff-cta svg{width:14px;height:14px;transition:transform .3s}
  .aff-cta:hover{background:var(--gold);border-color:var(--gold);color:#0E0F12}
  .aff-card:hover .aff-cta{background:var(--gold);border-color:var(--gold);color:#0E0F12}
  .aff-card:hover .aff-cta svg{transform:translateX(3px)}
  .aff-cta:hover svg{transform:translateX(3px)}
  @media(max-width:760px){ .affinites-grid{grid-template-columns:1fr} }

  .level{background:linear-gradient(160deg,#1B1E25,#15171C);border:1px solid var(--line);border-radius:12px;
    padding:38px 32px;display:flex;flex-direction:column;position:relative;overflow:hidden;
    transition:border-color .4s,transform .4s}
  .level:hover{border-color:var(--gold-soft);transform:translateY(-5px)}
  .level.feature{border-color:var(--gold-soft)}
  /* accent supérieur par niveau — rappel de la grammaire couleur */
  .level[data-level]::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;opacity:.85}
  /* 3 portes d'entrée : gradation d'or = intensité d'engagement croissante (hors sémantique triangle) */
  .level[data-level="diagnostic"]::before{background:linear-gradient(90deg,rgba(200,168,107,.45),transparent)}
  .level[data-level="activation"]::before{background:linear-gradient(90deg,var(--gold),transparent)}
  .level[data-level="transformation"]::before{background:linear-gradient(90deg,#E0C589,var(--gold) 55%,transparent)}
  .level-tag{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-soft);font-weight:600;margin-bottom:6px}
  .level-step{font-family:'Fraunces',serif;font-size:14px;color:var(--faint);margin-bottom:18px}
  .level h3{font-size:25px;margin-bottom:14px}
  .level .desc{font-size:15px;color:var(--muted);font-weight:300;line-height:1.6;flex:1;margin-bottom:22px}
  .level .meta{font-size:13px;color:var(--faint);padding-top:18px;border-top:1px solid var(--line);
    min-height:42px}
  .level .meta b{color:var(--gold);font-weight:500}

  /* ============ §7 CLOSING ============ */
  .closing{text-align:center;background:linear-gradient(180deg,var(--bg),#101319);position:relative;padding-bottom:56px}
  .closing-glow{position:absolute;bottom:-30%;left:50%;transform:translateX(-50%);width:70vw;height:70vw;max-width:820px;max-height:820px;
    background:radial-gradient(circle,rgba(200,168,107,.09),transparent 60%);pointer-events:none;display:none}
  .closing .wrap{position:relative;z-index:1}
  .closing h2{font-size:clamp(32px,5.2vw,60px);max-width:18ch;margin:0 auto 24px}
  .closing h2 .em{color:var(--gold);font-style:italic}
  .closing .sub{font-size:18px;color:var(--muted);font-weight:300;max-width:46ch;margin:0 auto 40px;line-height:1.55}
  .closing-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
  .closing-foot{margin-top:0;font-size:13px;color:var(--faint);letter-spacing:.04em}

  /* ============ DIAGNOSTIC VIVANT — question inline ============ */
  .dv-q{margin-top:46px;padding:32px 36px 32px 40px;border:1px solid var(--gold-soft);border-radius:12px;
    background:linear-gradient(160deg,#23252d,#1a1c22);position:relative;overflow:hidden;
    box-shadow:0 0 0 1px rgba(200,168,107,.12), 0 8px 30px rgba(0,0,0,.35);
    transition:border-color .4s, box-shadow .4s}
  .dv-q::before{content:"";position:absolute;top:0;left:0;bottom:0;width:4px;
    background:linear-gradient(180deg,var(--gold),var(--gold-soft));opacity:.9;transition:opacity .4s}
  .dv-q.answered{border-color:var(--gold)}
  .dv-q.answered::before{opacity:1}
  .dv-q-label{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:16px;display:flex;align-items:center;gap:10px}
  .dv-q-num{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;
    border-radius:50%;background:var(--gold);color:#0E0F12;font-family:'Fraunces',serif;font-size:15px;font-weight:600;flex-shrink:0}
  .dv-q-label .tick{width:16px;height:16px;opacity:0;transition:opacity .3s;color:var(--gold)}
  .dv-q.answered .dv-q-label .tick{opacity:1}
  .dv-q-text{font-family:'Fraunces',serif;font-size:clamp(20px,2.6vw,27px);line-height:1.3;margin-bottom:22px;color:var(--text)}
  .dv-opts{display:flex;gap:12px;flex-wrap:wrap}
  .dv-opt{background:var(--bg);border:1px solid var(--line);border-radius:3px;padding:13px 22px;
    color:var(--muted);font-size:14.5px;font-family:inherit;cursor:pointer;transition:all .25s;font-weight:300}
  .dv-opt:hover{border-color:var(--gold);color:var(--text);transform:translateY(-1px)}
  .dv-opt.picked{border-color:var(--gold);background:rgba(200,168,107,.08);color:var(--gold);font-weight:400}

  /* ---- curseur de vérité ---- */
  .truth{margin-top:24px}
  .truth-scale{position:relative;height:64px;margin:30px 0 10px}
  .truth-track{position:absolute;top:28px;left:0;right:0;height:6px;border-radius:3px;
    background:linear-gradient(90deg,#3a3d46,#C8A86B);overflow:visible}
  .truth-input{position:absolute;top:18px;left:0;width:100%;height:26px;margin:0;-webkit-appearance:none;appearance:none;background:transparent;cursor:grab}
  .truth-input:active{cursor:grabbing}
  .truth-input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:26px;height:26px;border-radius:50%;
    background:var(--gold);border:3px solid #0E0F12;box-shadow:0 0 0 1px var(--gold),0 0 18px rgba(200,168,107,.5);cursor:grab}
  .truth-input::-moz-range-thumb{width:26px;height:26px;border-radius:50%;background:var(--gold);border:3px solid #0E0F12;
    box-shadow:0 0 0 1px var(--gold),0 0 18px rgba(200,168,107,.5);cursor:grab}
  .truth-ends{display:flex;justify-content:space-between;font-size:12px;color:var(--faint);letter-spacing:.04em;text-transform:uppercase}
  .truth-readout{margin-top:24px;font-family:'Fraunces',serif;font-size:clamp(18px,2.3vw,23px);
    color:var(--gold);font-weight:400;font-style:italic;min-height:58px;line-height:1.4;transition:color .3s}
  .truth-readout b{color:var(--gold);font-weight:500}
  .truth-reveal{display:none}
  .truth-reveal.show{display:block;animation:fadeUp .6s ease both}
  @keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

  /* ============ CAPSULE AUDIO (§4) ============ */
  .capsule[data-audio-ready="false"]{display:none}
  .moi-incarnation{margin-top:auto;padding-top:32px;display:flex;align-items:center;gap:16px}
  .moi-incarnation:has(.capsule[data-audio-ready="false"]){gap:0}
  .moi-photo{flex-shrink:0;width:104px;height:104px;border-radius:10px;overflow:hidden;border:1px solid var(--line);position:relative}
  .moi-photo::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 30px rgba(14,15,18,.5);pointer-events:none}
  .moi-photo img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(.15) contrast(1.02)}
  @media(max-width:560px){
    .moi-incarnation{gap:12px;align-items:stretch}
    .moi-photo{width:78px;height:auto;border-radius:10px;align-self:stretch}
    .moi-photo img{height:100%}
    .capsule{padding:14px 16px;gap:12px}
    .capsule-btn{width:44px;height:44px}
  }
  .capsule{margin-top:0;display:flex;align-items:center;gap:18px;padding:18px 22px;
    border:1px solid var(--line);border-radius:10px;background:linear-gradient(160deg,#191B21,#141519);flex:1;min-width:0}
  .capsule-btn{width:52px;height:52px;border-radius:50%;border:1px solid var(--gold-soft);background:transparent;
    display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:all .3s;color:var(--gold)}
  .capsule-btn:hover{background:rgba(200,168,107,.1);transform:scale(1.05)}
  .capsule-btn svg{width:20px;height:20px}
  .capsule-body{flex:1;min-width:0}
  .capsule-title{font-size:14px;color:var(--text);font-weight:400;margin-bottom:3px}
  .capsule-sub{font-size:12.5px;color:var(--faint);font-weight:300}
  .capsule-wave{display:flex;align-items:center;gap:3px;height:22px;margin-top:8px}
  .capsule-wave span{width:3px;background:var(--gold-soft);border-radius:2px;height:30%;opacity:.4;transition:opacity .2s}
  .capsule.playing .capsule-wave span{animation:wave 1s ease-in-out infinite;opacity:.85}
  .capsule-wave span:nth-child(2){animation-delay:.1s}.capsule-wave span:nth-child(3){animation-delay:.2s}
  .capsule-wave span:nth-child(4){animation-delay:.3s}.capsule-wave span:nth-child(5){animation-delay:.15s}
  .capsule-wave span:nth-child(6){animation-delay:.25s}.capsule-wave span:nth-child(7){animation-delay:.05s}
  .capsule-wave span:nth-child(8){animation-delay:.35s}
  @keyframes wave{0%,100%{height:25%}50%{height:95%}}

  /* ============ CLOSING adaptatif ============ */
  /* ===== VERDICT — révélation en cercle radar vivant ===== */
  .verdict-sec .dv-q{margin-top:0}
  .verdict{display:none;margin:108px auto 48px;position:relative;width:min(640px,92vw);aspect-ratio:1/1;
    text-align:center;opacity:0;transition:opacity .7s ease}
  .verdict.show{display:flex;align-items:center;justify-content:center;opacity:1}
  /* le radar de fond : anneaux concentriques + balayage qui tourne en continu */
  .verdict-radar{position:absolute;inset:0;border-radius:50%;pointer-events:none;
    background:
      radial-gradient(circle at 50% 50%, rgba(200,168,107,.06), transparent 70%),
      linear-gradient(160deg,#1B1E25,#121419);
    border:1px solid var(--gold-soft);overflow:hidden;
    box-shadow:0 0 60px rgba(200,168,107,.08), inset 0 0 60px rgba(0,0,0,.4)}
  .verdict-radar svg{position:absolute;inset:0;width:100%;height:100%}
  .vr-grid circle, .vr-grid line{stroke:var(--gold-soft);fill:none}
  .vr-sweep{transform-origin:50% 50%;animation:vrSweep 6s linear infinite}
  @keyframes vrSweep{to{transform:rotate(360deg)}}
  .vr-pulse{transform-origin:50% 50%;animation:vrPulse 3s ease-in-out infinite}
  @keyframes vrPulse{0%,100%{opacity:.25}50%{opacity:.6}}
  /* contenu révélé au centre du cercle */
  .verdict-content{position:absolute;left:50%;top:50%;translate:-50% -50%;z-index:2;width:74%;padding:8px;
    background:radial-gradient(ellipse 80% 70% at 50% 50%, rgba(18,20,25,.82) 55%, transparent);border-radius:50%;
    opacity:0;transition:opacity .7s ease;pointer-events:none}
  .verdict-content.show{opacity:1;pointer-events:auto}
  .verdict-label{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-soft);font-weight:600;margin-bottom:14px}
  .verdict-headline{font-family:'Fraunces',serif;font-size:clamp(19px,2.6vw,26px);line-height:1.28;color:var(--text);margin-bottom:14px}
  .verdict-headline .em{color:var(--gold);font-style:italic}
  .verdict-body{font-size:14px;color:var(--muted);font-weight:300;line-height:1.55}
  .verdict-body b{color:var(--gold);font-weight:500}
  .verdict-progress{margin-top:16px;font-size:11px;color:var(--faint);letter-spacing:.04em}
  .dv-reset{margin-top:16px;background:transparent;border:1px solid var(--line);color:var(--muted);
    font-family:inherit;font-size:12.5px;letter-spacing:.03em;padding:9px 18px;border-radius:2px;cursor:pointer;transition:all .3s}
  .dv-reset:hover{border-color:var(--gold-soft);color:var(--gold)}

  /* état de calcul du verdict — centré dans le cercle */
  .verdict-calc{position:absolute;left:50%;top:50%;translate:-50% -50%;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:18px 0;
    opacity:0;transition:opacity .5s ease;pointer-events:none}
  .verdict-calc.show{opacity:1;pointer-events:auto}
  .verdict-compass{width:64px;height:64px;margin-bottom:18px}
  .verdict-compass svg{width:100%;height:100%;filter:drop-shadow(0 0 10px rgba(200,168,107,.35))}
  .vc-needle{transform-origin:50px 50px;animation:vcSpin 1.1s cubic-bezier(.5,0,.5,1) infinite}
  @keyframes vcSpin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}
  .verdict-calc-text{font-family:'Fraunces',serif;font-size:17px;color:var(--gold);letter-spacing:.01em}
  .verdict-calc-text::after{content:"";animation:dots 1.4s steps(4,end) infinite}
  @keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}100%{content:""}}
  @media(prefers-reduced-motion:reduce){.vc-needle,.vr-sweep,.vr-pulse{animation:none}.verdict-calc-text::after{content:"…";animation:none}}
  @media(max-width:560px){ .verdict{width:94vw;margin:72px auto 40px} .verdict-content{width:82%} }

  /* ---- CTA des cartes niveaux — grammaire couleur 3 niveaux ---- */
  /* 🟢 Vert sauge = Diagnostic · 🟡 Or = Activation · 🟣 Indigo = Transformation */
  /* Un seul et même bouton pour les trois portes : même or, même hauteur, même comportement.
     line-height + min-height figés pour que le <a> (n°1) et les <button> (n°2, n°3) se rendent à l'identique. */
  .level-cta{margin-top:22px;width:100%;box-sizing:border-box;
    background:transparent;border:1px solid var(--gold-soft);color:var(--gold);
    font-family:inherit;font-size:14px;line-height:1.2;letter-spacing:.02em;
    padding:0 18px;min-height:48px;border-radius:30px;cursor:pointer;
    -webkit-appearance:none;appearance:none;
    text-decoration:none;display:flex;align-items:center;justify-content:center;gap:9px;transition:all .3s}
  .level-cta svg{width:15px;height:15px;flex-shrink:0;transition:transform .3s}
  .level-cta:hover{background:var(--gold);border-color:var(--gold);color:#0E0F12}
  .level-cta:hover svg{transform:translateX(3px)}

  /* La gradation d'engagement subsiste sur le lisere superieur des cartes, plus sur le bouton */
  .level[data-level="diagnostic"]:hover{border-color:rgba(200,168,107,.35)}
  .level[data-level="transformation"]:hover{border-color:rgba(200,168,107,.6)}

  .level.suggested{border-color:var(--gold)!important;box-shadow:0 0 0 1px var(--gold),0 0 40px rgba(200,168,107,.18)}
  .level-badges{position:absolute;top:14px;right:14px;display:flex;gap:6px;z-index:2}
  .level-suggest-badge,.level-free-badge{font-size:10px;letter-spacing:.1em;text-transform:uppercase;
    padding:4px 12px;border-radius:20px;font-weight:700;color:#0E0F12;white-space:nowrap}
  .level-suggest-badge{background:var(--gold)}
  .level-free-badge{background:var(--gold-soft)}
  .levels-pricing{margin-top:34px;text-align:left;font-size:15.5px;color:var(--muted);font-weight:300;
    line-height:1.7;padding-left:16px;border-left:2px solid var(--gold-soft)}
  .levels-pricing .em{color:var(--gold);font-style:italic}

  /* ============ MODALE ============ */
  .modal-overlay{position:fixed;inset:0;background:rgba(8,9,11,.82);backdrop-filter:blur(6px);
    display:flex;align-items:center;justify-content:center;padding:24px;z-index:1000;
    opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s}
  .modal-overlay.open{opacity:1;visibility:visible}
  .modal{background:linear-gradient(165deg,#1A1D23,#141519);border:1px solid var(--line);border-radius:14px;
    max-width:540px;width:100%;max-height:92vh;overflow-y:auto;position:relative;
    transform:translateY(24px) scale(.98);transition:transform .4s cubic-bezier(.3,.9,.3,1);box-shadow:0 30px 80px rgba(0,0,0,.5);
    scrollbar-width:none;-ms-overflow-style:none}
  .modal::-webkit-scrollbar{width:0;height:0;display:none}
  .modal-overlay.open .modal{transform:none}
  .modal::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold),transparent);border-radius:14px 14px 0 0}
  .modal-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);
    background:transparent;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s;z-index:2}
  .modal-close:hover{border-color:var(--gold-soft);color:var(--gold)}
  .modal-close svg{width:16px;height:16px}
  .modal-body,.modal-success{padding:34px 36px 28px}
  .modal-body .eyebrow{margin-bottom:14px}
  .modal-body h3{font-size:26px;margin-bottom:10px}
  .modal-sub{font-size:14.5px;color:var(--muted);font-weight:300;line-height:1.5;margin-bottom:18px}
    .modal-context[hidden]{display:none}
  .modal-context{display:flex;flex-direction:column;gap:3px;padding:11px 16px;border-left:2px solid var(--gold);
    background:rgba(200,168,107,.06);border-radius:0 6px 6px 0;margin-bottom:20px}
  .modal-context-label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-soft)}
  .modal-context-val{font-family:'Fraunces',serif;font-size:17px;color:var(--gold)}
  .modal-fields{display:flex;flex-direction:column;gap:13px}
  .mf-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}
  .mf{display:flex;flex-direction:column;gap:6px}
  .mf label{font-size:12px;letter-spacing:.04em;color:var(--muted)}
  .mf input{background:var(--bg);border:1px solid var(--line);border-radius:4px;padding:11px 14px;
    color:var(--text);font-family:inherit;font-size:15px;transition:border-color .25s}
  .mf input:focus{outline:none;border-color:var(--gold-soft)}
  .mf input::placeholder{color:var(--faint)}
  .modal-error{margin-top:14px;font-size:13.5px;color:#e08a7a;background:rgba(224,138,122,.08);
    border:1px solid rgba(224,138,122,.25);border-radius:6px;padding:11px 14px}
  .modal-submit{margin-top:18px;width:100%;justify-content:center}
  .modal-submit:disabled{opacity:.6;cursor:wait}
  .modal-legal{margin-top:13px;font-size:12px;color:var(--faint);text-align:center;line-height:1.5}
  .modal-success{text-align:center}
  .modal-success-mark{width:72px;height:72px;margin:0 auto 22px;color:var(--gold)}
  .modal-success-mark svg{width:100%;height:100%}
  .modal-success h3{font-size:28px;margin-bottom:12px}
  .modal-success p{font-size:15px;color:var(--muted);font-weight:300;line-height:1.6;margin-bottom:26px;max-width:36ch;margin-left:auto;margin-right:auto}
  @media(max-width:520px){
    .modal-body,.modal-success{padding:34px 24px 26px}
    .mf-row{grid-template-columns:1fr}
  }

  /* ============ responsive ============ */
  @media(max-width:860px){
    .pivot-split{grid-template-columns:1fr}
    .moi-layout{grid-template-columns:1fr;gap:40px}
    .method-steps{grid-template-columns:1fr 1fr;gap:40px 26px}
    .method-step:not(:last-child)::after{display:none}
    .levels{grid-template-columns:1fr}
  }
  @media(max-width:560px){
    .wrap{padding:0 22px}
    .sec{padding:72px 0}
    .verdict-sec .dv-q{margin-top:0}
    .mirror-grid{grid-template-columns:1fr}
    .mirror-item{border-right:0!important}
    .mirror-item:nth-last-child(2){border-bottom:1px solid var(--line)}
    .method-steps{grid-template-columns:1fr;gap:36px}
    .btn{width:100%;justify-content:center}
    .hero-cta .btn,.closing-cta .btn{width:100%}
  }

  /* ============ FOOTER (ossature mini-site) ============ */
  .site-footer{background:#0B0C0E;border-top:1px solid var(--line);padding:64px 0 32px;margin-top:0}
  .footer-top{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.1fr;gap:40px;margin-bottom:48px}
  .footer-brand .fb-emblem{width:40px;height:40px;margin-bottom:16px}
  .footer-brand .fb-emblem svg{width:100%;height:100%;display:block}
  .footer-brand .fb-tri{transform-origin:60px 60px;animation:fbSpin 30s linear infinite}
  .footer-brand .fb-core{transform-box:fill-box;transform-origin:center;animation:fbBreath 3.6s ease-in-out infinite}
  @keyframes fbSpin{to{transform:rotate(360deg)}}
  @keyframes fbBreath{0%,100%{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.25)}}
  .footer-brand .fb-name{font-family:'Fraunces',serif;font-size:20px;color:var(--text);margin-bottom:8px}
  .footer-brand p{font-size:13.5px;color:var(--muted);font-weight:300;line-height:1.6;max-width:30ch}
  .footer-col h4{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-soft);
    font-weight:600;margin-bottom:16px}
  .footer-col ul{list-style:none}
  .footer-col li{margin-bottom:10px}
  .footer-col a{font-size:14px;color:var(--muted);font-weight:300;transition:color .25s}
  .footer-col a:hover{color:var(--gold)}
  .footer-bottom{border-top:1px solid var(--line);padding-top:24px;display:flex;
    justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px}
  .footer-bottom .legal{font-size:12.5px;color:var(--faint);display:flex;gap:18px;flex-wrap:wrap}
  .footer-bottom .legal a{color:var(--faint);transition:color .25s}
  .footer-bottom .legal a:hover{color:var(--gold-soft)}
.footer-bottom span a{font-size:12.5px;color:var(--faint);text-decoration:none;transition:color .25s}
.footer-bottom span a:hover{color:var(--muted)}
  .footer-bottom .copy{font-size:12.5px;color:var(--faint)}
.footer-bottom span{font-size:12.5px}
  @media(max-width:760px){
    .footer-top{grid-template-columns:1fr 1fr;gap:32px}
    .footer-brand{grid-column:1 / -1}
    .footer-bottom{flex-direction:column;align-items:flex-start;gap:10px}
  }
  @media(prefers-reduced-motion:reduce){ .fb-tri,.fb-core{animation:none} }


  /* ============ LE POINT FIXE (veille transversale) ============ */
  .pointfixe{background:linear-gradient(180deg,var(--bg),#0C0D11 50%,var(--bg));position:relative}
  .pf-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
  .pf-text .eyebrow{margin-bottom:14px}
  .pf-text h2{font-size:clamp(28px,4vw,40px);margin-bottom:20px;line-height:1.15}
  .pf-text .lead{font-size:16.5px;color:var(--muted);font-weight:300;line-height:1.7;margin-bottom:16px}
  .pf-text .lead b{color:var(--text);font-weight:500}
  .pf-text .sign{font-family:'Fraunces',serif;font-style:italic;font-size:18px;color:var(--gold);line-height:1.5;margin-top:24px}
  /* le visuel : un point fixe central, des anneaux qui tournent autour */
  .pf-visual{position:relative;width:100%;aspect-ratio:1;max-width:360px;margin:0 auto;display:flex;align-items:center;justify-content:center}
  .pf-visual svg{width:100%;height:100%;overflow:visible}
  .pf-orbit{fill:none;stroke:var(--line);stroke-width:1}
  .pf-orbit-dash{fill:none;stroke:var(--gold-soft);stroke-width:1;stroke-dasharray:2 9;opacity:.5;transform-origin:center}
  .pf-o1{animation:pfSpin 24s linear infinite}
  .pf-o2{animation:pfSpinRev 36s linear infinite}
  .pf-mote{fill:var(--gold-soft);opacity:.7}
  .pf-mote-g{transform-origin:center}
  .pf-m1{animation:pfSpin 14s linear infinite}
  .pf-m2{animation:pfSpinRev 20s linear infinite}
  .pf-m3{animation:pfSpin 30s linear infinite}
  /* le point fixe au centre : stable, il respire à peine */
  .pf-core-halo{fill:var(--gold);opacity:.12;transform-box:fill-box;transform-origin:center;animation:pfBreath 4s ease-in-out infinite}
  .pf-core{fill:var(--gold)}
  .pf-core-ring{fill:none;stroke:var(--gold);stroke-width:1.5;opacity:.6}
  @keyframes pfSpin{to{transform:rotate(360deg)}}
  @keyframes pfSpinRev{to{transform:rotate(-360deg)}}
  @keyframes pfBreath{0%,100%{opacity:.1;transform:scale(1)}50%{opacity:.22;transform:scale(1.15)}}
  @media(prefers-reduced-motion:reduce){ .pf-o1,.pf-o2,.pf-m1,.pf-m2,.pf-m3,.pf-core-halo{animation:none} }
  @media(max-width:820px){
    .pf-grid{grid-template-columns:1fr;gap:40px}
    .pf-visual{max-width:260px;order:-1}
  }


  /* filet anti-débordement horizontal mobile */
  [class*="glow"]{max-width:100vw}
  @media(max-width:860px){ .hero,section,header{overflow-x:clip} }

  @media(max-width:860px){
    .hero-glow{top:90px;width:110vw;height:110vw;max-width:520px;max-height:520px;background:radial-gradient(circle,rgba(200,168,107,.30),rgba(200,168,107,.10) 42%,transparent 66%)!important}
  }
  /* ============ §6ter ZONE DÉMO (home uniquement) ============ */
  .demo-zone{position:relative}
  .demo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:8px}
  .demo-chip{display:flex;flex-direction:column;align-items:center;gap:10px;padding:22px 14px;
    border:1px solid var(--line);border-radius:12px;background:var(--surface);text-decoration:none;
    transition:border-color .25s,transform .25s,background .25s;position:relative}
  .demo-chip svg{width:30px;height:30px;color:var(--gold);flex-shrink:0}
  .demo-chip .dc-label{font-size:13px;color:var(--text);text-align:center;line-height:1.3;font-weight:400}
  .demo-chip.is-ready:hover{border-color:var(--gold);transform:translateY(-3px);background:var(--surface-2)}
  .demo-chip .dc-go{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-soft);
    font-weight:600;margin-top:2px;transition:color .25s}
  .demo-chip.is-ready:hover .dc-go{color:var(--gold)}
  .demo-all{display:flex;justify-content:center;margin-top:30px}
  .demo-all a{display:inline-flex;align-items:center;gap:9px;font-size:14px;color:var(--gold);
    font-weight:400;text-decoration:none;padding:11px 22px;border:1px solid var(--gold-soft);
    border-radius:30px;transition:background .25s,color .25s,transform .15s}
  .demo-all a:hover{background:var(--gold);color:#0E0F12;transform:translateY(-1px)}
  .demo-all a svg{width:15px;height:15px;transition:transform .2s}
  .demo-all a:hover svg{transform:translateX(3px)}
  @media(max-width:820px){.demo-grid{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:420px){.demo-grid{grid-template-columns:1fr}}


  /* ── Anti-zoom iOS : tout champ < 16px déclenche un zoom au focus.
     En mobile, tous les champs passent à 16px ; le desktop reste intact. ── */
  @media(max-width:820px){
    input,select,textarea{font-size:16px !important}
  }

  /* bloc téléphone contact */
  .modal-phone{display:flex;align-items:center;gap:13px;padding:15px 18px;margin-bottom:22px;
    background:rgba(200,168,107,.07);border:1px solid rgba(200,168,107,.28);border-radius:10px;
    text-decoration:none;transition:all .2s}
  .modal-phone:hover{background:rgba(200,168,107,.12);border-color:var(--gold)}
  .modal-phone-ico{flex-shrink:0;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;
    background:rgba(200,168,107,.14);border:1px solid rgba(200,168,107,.35)}
  .modal-phone-ico svg{width:19px;height:19px;stroke:var(--gold)}
  .modal-phone-txt{display:flex;flex-direction:column;gap:1px}
  .modal-phone-label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-soft)}
  .modal-phone-num{font-family:'Fraunces',serif;font-size:23px;color:var(--gold);letter-spacing:.01em;line-height:1.1}
  .modal-phone-noah{margin-left:auto;padding-left:16px;border-left:1px solid rgba(200,168,107,.28);
    display:flex;flex-direction:column;gap:2px;max-width:150px;flex-shrink:0}
  .modal-phone-noah-label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-soft)}
  .modal-phone-noah-txt{font-size:12.5px;color:var(--muted);line-height:1.35}
  @media(max-width:520px){ .modal-phone-num{font-size:20px}
    .modal-phone{flex-wrap:wrap}
    .modal-phone-noah{margin-left:0;padding-left:0;border-left:none;padding-top:12px;margin-top:12px;
      border-top:1px solid rgba(200,168,107,.28);max-width:none;width:100%;flex-direction:row;gap:6px;align-items:baseline} }

.fb-right{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.fb-social{display:flex;align-items:center;gap:4px}
.fb-social a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:var(--faint);transition:color .25s,transform .25s}
.fb-social a:hover{color:var(--gold);transform:translateY(-1px)}
.fb-social svg{width:20px;height:20px;display:block}




















/* ── Renvoi vers la synthèse animée ── */
.synth-call{display:flex;align-items:center;justify-content:space-between;gap:26px;
  margin:30px auto 0;max-width:1000px;padding:22px 26px;
  background:linear-gradient(160deg,rgba(200,168,107,.07),var(--surface));
  border:1px solid var(--gold-soft);border-radius:14px}
.sc-left{display:flex;align-items:flex-start;gap:16px;min-width:0}
.sc-ico{width:38px;height:38px;border-radius:50%;border:1px solid rgba(200,168,107,.34);
  display:flex;align-items:center;justify-content:center;color:var(--gold);flex:none;margin-top:2px}
.sc-ico svg{width:18px;height:18px}
.sc-t{font-family:'Fraunces',Georgia,serif;font-size:17px;color:var(--text);margin-bottom:5px;line-height:1.3}
.sc-p{font-size:13px;color:var(--muted);font-weight:300;line-height:1.6;margin:0}
.sc-go{display:inline-flex;align-items:center;gap:9px;padding:13px 24px;border-radius:28px;
  background:var(--gold);color:#0E0F12;text-decoration:none;font-size:14px;font-weight:500;
  white-space:nowrap;flex:none;transition:background .25s,transform .25s;
  font-family:'Inter',system-ui,sans-serif;border:none;cursor:pointer}
.sc-go svg{width:15px;height:15px}
.sc-go:hover{background:#d4b87e;transform:translateY(-2px)}
@media(max-width:820px){
  .synth-call{flex-direction:column;align-items:stretch;gap:18px;padding:20px 22px}
  .sc-go{justify-content:center}
}
@media print{.synth-call{display:none}}

/* ── Modale synthèse ── */
.sy-modal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:24px}
.sy-modal[hidden]{display:none}
.sy-back{position:absolute;inset:0;background:rgba(8,9,11,.84);backdrop-filter:blur(6px);
  opacity:0;transition:opacity .35s ease}
.sy-modal.on .sy-back{opacity:1}
.sy-box{position:relative;max-width:520px;width:100%;background:var(--surface);
  border:1px solid rgba(200,168,107,.4);border-radius:18px;padding:38px 38px 32px;text-align:center;
  box-shadow:0 30px 70px rgba(0,0,0,.5);opacity:0;transform:scale(.93) translateY(14px);
  transition:opacity .35s ease,transform .45s cubic-bezier(.25,1.2,.4,1);
  max-height:calc(100vh - 48px);overflow-y:auto}
.sy-modal.on .sy-box{opacity:1;transform:none}
.sy-x{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;
  background:transparent;border:1px solid var(--line);color:var(--faint);cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:color .2s,border-color .2s}
.sy-x svg{width:15px;height:15px}
.sy-x:hover{color:var(--text);border-color:var(--gold-soft)}
.sy-ico{width:52px;height:52px;margin:0 auto 18px;border-radius:50%;
  border:1px solid rgba(200,168,107,.34);background:rgba(200,168,107,.07);
  display:flex;align-items:center;justify-content:center;color:var(--gold)}
.sy-ico svg{width:23px;height:23px}
.sy-lbl{font-size:10.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--gold-soft);
  font-weight:600;margin-bottom:12px}
.sy-t{font-family:'Fraunces',Georgia,serif;font-size:25px;font-weight:400;line-height:1.25;margin-bottom:14px}
.sy-t .em{font-style:italic;color:var(--gold)}
.sy-p{font-size:14.5px;color:var(--muted);font-weight:300;line-height:1.7;margin-bottom:20px}
.sy-list{list-style:none;padding:0;margin:0 0 26px;text-align:left;display:inline-block}
.sy-list li{font-size:13px;color:var(--faint);font-weight:300;line-height:1.6;padding-left:20px;
  position:relative;margin-bottom:8px}
.sy-list li:last-child{margin-bottom:0}
.sy-list li::before{content:'';position:absolute;left:0;top:8px;width:5px;height:5px;
  border-radius:50%;background:var(--gold-soft)}
.sy-act{display:flex;flex-direction:column;align-items:center;gap:13px}
.sy-go{display:inline-flex;align-items:center;gap:10px;padding:15px 30px;border-radius:30px;
  background:var(--gold);color:#0E0F12;text-decoration:none;font-size:15px;font-weight:500;
  transition:background .25s,transform .25s}
.sy-go svg{width:16px;height:16px}
.sy-go:hover{background:#d4b87e;transform:translateY(-2px)}
.sy-alt{background:none;border:none;color:var(--faint);font-family:'Inter',system-ui,sans-serif;
  font-size:13px;cursor:pointer;padding:4px;transition:color .2s}
.sy-alt:hover{color:var(--text)}
@media(max-width:600px){.sy-modal{padding:16px}.sy-box{padding:30px 24px 26px}.sy-t{font-size:21px}}
@media(prefers-reduced-motion:reduce){.sy-back,.sy-box{transition:none}}
@media print{.sy-modal{display:none!important}}


/* FOOTER CANONIQUE — ne pas editer */
.site-footer{background:#0B0C0E;border-top:1px solid var(--line);padding:64px 0 32px;margin-top:0}
.site-footer .wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.footer-top{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.1fr;gap:40px;margin-bottom:48px}
.footer-brand .fb-emblem{width:40px;height:40px;margin-bottom:16px}
.footer-brand .fb-emblem svg{width:100%;height:100%;display:block}
.footer-brand .fb-tri{transform-origin:60px 60px;animation:fbSpin 30s linear infinite}
.footer-brand .fb-core{transform-box:fill-box;transform-origin:center;animation:fbBreath 3.6s ease-in-out infinite}
.footer-brand .fb-name{font-family:'Fraunces',serif;font-size:20px;font-weight:400;line-height:1.7;color:var(--text);margin-bottom:8px}
.footer-brand p{font-family:'Inter',system-ui,sans-serif;font-size:13.5px;line-height:1.6;color:var(--muted);font-weight:300;max-width:30ch}
.footer-col h4{font-family:'Inter',system-ui,sans-serif;font-size:11px;line-height:1.4;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-soft);font-weight:600;margin-bottom:16px}
.footer-col ul{list-style:none}
.footer-col li{font-family:'Inter',system-ui,sans-serif;font-size:16px;line-height:1.7;margin-bottom:10px}
.footer-col a{font-family:'Inter',system-ui,sans-serif;font-size:14px;line-height:1.7;color:var(--muted);font-weight:300;text-decoration:none;transition:color .25s}
.footer-col a:hover{color:var(--gold)}
.footer-bottom{max-width:none;margin-left:0;margin-right:0;padding-left:0;padding-right:0;border-top:1px solid var(--line);padding-top:24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px}
.footer-bottom .copy{font-family:'Inter',system-ui,sans-serif;font-size:12.5px;line-height:1.7;color:#787E86}
.footer-bottom .legal{font-family:'Inter',system-ui,sans-serif;font-size:12.5px;line-height:1.7;color:#787E86;display:flex;gap:18px;flex-wrap:wrap}
.footer-bottom .legal a{font-family:'Inter',system-ui,sans-serif;font-size:12.5px;line-height:1.7;color:#787E86;text-decoration:none;transition:color .25s}
.footer-bottom .legal a:hover{color:var(--gold-soft)}
.fb-right{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.fb-social{display:flex;align-items:center;gap:4px}
.fb-social a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:#787E86;transition:color .25s,transform .25s}
.fb-social a:hover{color:var(--gold);transform:translateY(-1px)}
.fb-social svg{width:20px;height:20px;display:block}
@media(max-width:760px){.footer-top{grid-template-columns:1fr 1fr;gap:32px}.footer-brand{grid-column:1 / -1}.footer-bottom{flex-direction:column;align-items:flex-start;gap:10px}}
/* fin footer canonique */
</style>

<!-- ============ DONNÉES STRUCTURÉES (JSON-LD) ============ -->
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "ProfessionalService",
      "@id": "https://www.affinites.ch/#cabinet-ia",
      "name": "Affinités — Cabinet de transformation IA",
      "description": "Conseil et transformation par l'intelligence artificielle pour les PME de Suisse romande. Approche centrée sur l'humain et l'adoption par les équipes, avec hébergement des données en Suisse (conformité nLPD).",
      "url": "https://www.affinites.ch/",
      "image": "https://www.affinites.ch/visuels/affinites-ia-og.jpg",
      "priceRange": "$$$",
      "areaServed": [
        { "@type": "AdministrativeArea", "name": "Suisse romande" },
        { "@type": "City", "name": "Lausanne" },
        { "@type": "City", "name": "Genève" },
        { "@type": "AdministrativeArea", "name": "Canton de Vaud" }
      ],
      "serviceType": ["Transformation IA", "Coaching en intelligence artificielle", "Conseil IA pour PME", "Conduite du changement IA"],
      "address": {
        "@type": "PostalAddress",
        "addressLocality": "Pully",
        "addressRegion": "VD",
        "postalCode": "1009",
        "addressCountry": "CH"
      },
      "geo": { "@type": "GeoCoordinates", "latitude": 46.5089, "longitude": 6.6283 },
      "founder": { "@id": "https://www.affinites.ch/#alexandre-emch" },
      "provider": { "@id": "https://www.affinites.ch/#alexandre-emch" },
      "knowsLanguage": ["fr-CH"],
      "slogan": "La bonne IA pour la bonne entreprise."
    },
    {
      "@type": "Person",
      "@id": "https://www.affinites.ch/#alexandre-emch",
      "name": "Alexandre",
      "jobTitle": "Fondateur — Cabinet de transformation IA",
      "description": "Vingt ans de développement commercial et de direction d'entreprises en Suisse romande. Coach certifié (Institut de Coaching de Genève), il accompagne les PME dans l'adoption concrète de l'intelligence artificielle par leurs équipes.",
      "worksFor": { "@id": "https://www.affinites.ch/#cabinet-ia" },
      "knowsAbout": ["Intelligence artificielle", "Transformation digitale", "Coaching d'équipes", "Conduite du changement", "Développement commercial", "PME"],
      "hasCredential": {
        "@type": "EducationalOccupationalCredential",
        "credentialCategory": "Coach certifié",
        "recognizedBy": { "@type": "Organization", "name": "Institut de Coaching de Genève (EIC)" }
      },
      "address": { "@type": "PostalAddress", "addressLocality": "Pully", "addressRegion": "VD", "addressCountry": "CH" }
    },
    {
      "@type": "Service",
      "name": "Diagnostic — Le Scanner IA",
      "description": "Diagnostic offert : mesurez en quatre minutes l'Indice d'Affinités de votre PME avec l'intelligence artificielle. Sans jargon, sans engagement.",
      "provider": { "@id": "https://www.affinites.ch/#cabinet-ia" },
      "areaServed": { "@type": "AdministrativeArea", "name": "Suisse romande" },
      "offers": { "@type": "Offer", "price": "0", "priceCurrency": "CHF", "description": "Diagnostic IA offert" }
    },
    {
      "@type": "Service",
      "name": "Activation IA — chantier court",
      "description": "Mission courte et ciblée à résultat garanti : automatisation de processus, force de vente augmentée à l'IA. Prix fixe, livrable concret, 4 à 8 semaines.",
      "provider": { "@id": "https://www.affinites.ch/#cabinet-ia" },
      "areaServed": { "@type": "AdministrativeArea", "name": "Suisse romande" }
    },
    {
      "@type": "Service",
      "name": "Transformation IA — accompagnement",
      "description": "Accompagnement de six à douze mois pour piloter, aligner, déployer et transmettre la transformation IA de votre PME, jusqu'à l'autonomie de vos équipes.",
      "provider": { "@id": "https://www.affinites.ch/#cabinet-ia" },
      "areaServed": { "@type": "AdministrativeArea", "name": "Suisse romande" }
    },
    {
      "@type": "FAQPage",
      "@id": "https://www.affinites.ch/#faq",
      "mainEntity": [
        {
          "@type": "Question",
          "name": "L'IA va-t-elle vraiment transformer ma PME ?",
          "acceptedAnswer": { "@type": "Answer", "text": "La technologie n'est jamais le vrai sujet. Ce qui fait la réussite d'une transformation IA, c'est l'adoption par les équipes : l'humain, l'organisation, la clarté de décision. Sans cela, le meilleur outil reste inutilisé." }
        },
        {
          "@type": "Question",
          "name": "Où sont stockées les données traitées par l'IA ?",
          "acceptedAnswer": { "@type": "Answer", "text": "La plupart des outils d'IA envoient vos données sur des serveurs étrangers. Les transformations conçues par Affinités gardent vos données en Suisse, sous votre contrôle, conformément à la nLPD." }
        },
        {
          "@type": "Question",
          "name": "Combien coûte un accompagnement à la transformation IA ?",
          "acceptedAnswer": { "@type": "Answer", "text": "Les tarifs sont affichés et transparents. Trois forfaits mensuels couvrent toutes les tailles d'entreprise : Essentiel à 390 CHF/mois pour les indépendants et TPE, Performance à 990 CHF/mois pour les PME en croissance, et Intégral à 1'990 CHF/mois pour les PME établies. Le diagnostic initial, lui, est offert." }
        },
        {
          "@type": "Question",
          "name": "À qui s'adresse cet accompagnement en transformation IA ?",
          "acceptedAnswer": { "@type": "Answer", "text": "Aux dirigeants de PME de Suisse romande qui veulent adopter l'intelligence artificielle par le résultat, et non par la technologie — en embarquant réellement leurs équipes." }
        }
      ]
    },
    {
      "@type": "WebPage",
      "@id": "https://www.affinites.ch/#webpage",
      "url": "https://www.affinites.ch/",
      "name": "Cabinet de transformation IA pour PME romandes — Affinités",
      "description": "Cabinet de transformation IA pour PME de Suisse romande, centrés sur l'humain. Diagnostic IA offert, traitement conforme à la nLPD.",
      "inLanguage": "fr-CH",
      "isPartOf": { "@type": "WebSite", "name": "Affinités", "url": "https://www.affinites.ch" },
      "about": { "@id": "https://www.affinites.ch/#cabinet-ia" }
    }
  ]
}
</script>
</head>
<body>
<!-- ============ NAVIGATION PRINCIPALE ============ -->
<nav class="mainnav" id="mainnav">
  <div class="wrap">
    <a href="index.html" class="mn-brand">
      <span class="mn-emblem" aria-hidden="true">
        <svg viewbox="0 0 120 120" fill="none" xmlns="http://www.w3.org/2000/svg">
          <circle cx="60" cy="60" r="52" stroke="#2A2E37" stroke-width="3"/>
          <g class="mn-tri">
            <g stroke="#C8A86B" stroke-width="3" fill="none" stroke-linecap="round" opacity=".85"><line x1="60" y1="33" x2="37" y2="75"/><line x1="60" y1="33" x2="83" y2="75"/><line x1="37" y1="75" x2="83" y2="75"/></g>
            <circle cx="60" cy="33" r="7" fill="#C8A86B"/><circle cx="37" cy="75" r="7" fill="#C8A86B"/><circle cx="83" cy="75" r="7" fill="#C8A86B"/>
          </g>
          <circle cx="60" cy="60" r="5" fill="#E7E9EC"/>
        </svg>
      </span>
      <span class="mn-name">Affinités</span>
    </a>
    <button class="mn-burger" id="mnBurger" aria-label="Menu">
      <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="3" y1="6" x2="21" y2="6"/><line x1="3" y1="12" x2="21" y2="12"/><line x1="3" y1="18" x2="21" y2="18"/></svg>
    </button>
    <div class="mn-links" id="mnLinks">
      <a href="le-systeme.html">Ça marche</a>
      <a href="academie.html">L'Académie</a>
      <a href="agents-ia.html">Les Artisans</a>
      <a href="le-radar.html">Le Radar</a>
      <a href="vigie.html">La Vigie</a>
      <a href="les-tarifs.html">Tarifs</a>
      <a href="la-preuve.html">Résultats</a>
      <a href="https://www.affinites.ch/demo">Démos</a>
      <a href="https://www.affinites.ch/blog">Blog</a>
      <a href="#" data-contact="">Contact</a>
      <a href="scanner.html" class="mn-cta">Le Scanner IA</a>
    </div>
  </div>
</nav>
<script>
  (function(){
    var nav=document.getElementById('mainnav'),burger=document.getElementById('mnBurger'),links=document.getElementById('mnLinks');
    window.addEventListener('scroll',function(){nav.classList.toggle('scrolled',window.scrollY>40);},{passive:true});
    burger.addEventListener('click',function(){links.classList.toggle('open');});
    links.addEventListener('click',function(e){if(e.target.tagName==='A')links.classList.remove('open');});
  })();
</script>


<!-- ============ §1 HERO ============ -->
<section class="hero">
  <div class="hero-glow"></div>
  <div class="wrap">
<div class="aff-emblem reveal" aria-hidden="true">
      <svg viewbox="0 0 120 120" fill="none" xmlns="http://www.w3.org/2000/svg">
        <!-- cercles concentriques (grille radar) -->
        <circle cx="60" cy="60" r="52" stroke="#2A2E37" stroke-width="1"/>
        <circle class="aff-ring" cx="60" cy="60" r="40" stroke="#A98E55" stroke-width="1" stroke-dasharray="2 8" opacity=".5"/>
        <circle cx="60" cy="60" r="27" stroke="#2A2E37" stroke-width="1"/>
        <!-- RADAR : balayage lumineux qui tourne -->
        <path class="aff-sweep" d="M60 60 L60 8 A52 52 0 0 1 104 34 Z" fill="url(#affSweepGrad)"/>
        <!-- triangle d'affinité (Outils · Vision · Hommes) -->
        <g class="aff-triangle">
          <g class="aff-links" stroke="#C8A86B" stroke-width="1.1" fill="none" stroke-linecap="round" opacity=".75">
            <line class="aff-link l1" x1="60" y1="33" x2="37" y2="75"/>
            <line class="aff-link l2" x1="60" y1="33" x2="83" y2="75"/>
            <line class="aff-link l3" x1="37" y1="75" x2="83" y2="75"/>
          </g>
          <circle class="aff-node n1" cx="60" cy="33" r="4.5" fill="#C8A86B"/>
          <circle class="aff-node n2" cx="37" cy="75" r="4.5" fill="#C8A86B"/>
          <circle class="aff-node n3" cx="83" cy="75" r="4.5" fill="#C8A86B"/>
        </g>
        <!-- cœur central qui respire -->
        <circle class="aff-core" cx="60" cy="60" r="3.2" fill="#E7E9EC"/>
        <defs>
          <lineargradient id="affSweepGrad" x1="60" y1="60" x2="90" y2="20" gradientunits="userSpaceOnUse">
            <stop stop-color="#C8A86B" stop-opacity="0"/>
            <stop offset="1" stop-color="#C8A86B" stop-opacity=".55"/>
          </lineargradient>
        </defs>
      </svg>
    </div>
    <div class="eyebrow reveal">Affinités · Cabinet de transformation IA pour PME romandes</div>
    <h1 class="reveal">En 2026, tout le monde va vous vendre de l'IA.<br><span class="em">Affinités vous dira la vérité que les autres taisent.</span></h1>
    <p class="lead reveal">La technologie n'a jamais été le problème. Elle est devenue facile, accessible, presque banale. Ce qui ne l'est pas : faire qu'une organisation — la vôtre, avec ses femmes et ses hommes — l'adopte vraiment.</p>
    <p class="sign reveal">Affinités est né d'un constat simple, forgé sur vingt ans de direction, de vente et de création d'entreprises. <b>Ici, l'IA s'installe par le résultat, jamais par la technologie.</b></p>
    <div class="hero-cta reveal">
      <a href="scanner.html" class="btn btn-gold" data-scanner>
        Révélez votre taux d'affinités IA
        <svg viewbox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="2"><path d="M5 12h14M13 6l6 6-6 6" stroke-linecap="round" stroke-linejoin="round"/></svg>
      </a>
      <a href="#methode" class="btn btn-ghost">Comprendre la méthode</a>
    </div>
  </div>
</section>

<!-- ============ §2 LE MIROIR ============ -->
<section class="sec sep-force">
  <div class="wrap">

    <div class="sec-head reveal">
      <div class="eyebrow">Le miroir</div>
      <h2>Vous avez déjà essayé. <span class="em">Et vous vous êtes brûlé.</span></h2>
      <p class="intro">Pas de leçon, ici — seulement la description de ce que vous avez vécu. Si Affinités le connaît aussi bien, c'est pour l'avoir vu de l'intérieur, des dizaines de fois.</p>
    </div>
    <div class="mirror-grid reveal">
      <div class="mirror-item">
        <span class="n">01</span>
        <p>On vous a fait une <b>démo qui brillait</b>. Six mois plus tard, l'outil dort dans un tiroir et personne ne sait pourquoi vous l'avez payé.</p>
      </div>
      <div class="mirror-item">
        <span class="n">02</span>
        <p>Le consultant parlait une <b>langue d'ingénieur</b>. Vous avez hoché la tête sans rien comprendre, et signé par lassitude.</p>
      </div>
      <div class="mirror-item">
        <span class="n">03</span>
        <p>Vos équipes ont <b>saboté en silence</b>. Pas par mauvaise volonté — par peur. Personne ne leur avait expliqué qu'on ne venait pas les remplacer.</p>
      </div>
      <div class="mirror-item">
        <span class="n">04</span>
        <p>On vous a vendu un <b>outil</b>. Ce qu'il vous fallait, c'était une transformation. Ce n'est pas la même facture, ni le même métier.</p>
      </div>
    </div>
    <p class="mirror-coda reveal">Le problème n'était jamais la technologie. <span class="em">C'était tout le reste.</span></p>

    <div class="dv-q reveal" data-q="douleur">
      <div class="dv-q-label"><span class="dv-q-num">1</span> Question <svg class="tick" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M5 13l4 4L19 7" stroke-linecap="round" stroke-linejoin="round"/></svg></div>
      <div class="dv-q-text">Vous reconnaissez-vous dans ce que vous venez de lire&nbsp;?</div>
      <div class="dv-opts">
        <button class="dv-opt" data-val="fort">Trop bien, hélas.</button>
        <button class="dv-opt" data-val="moyen">En partie.</button>
        <button class="dv-opt" data-val="faible">Pas vraiment, on s'en sort.</button>
      </div>
    </div>
  </div>
</section>

<!-- ============ §3 LA VÉRITÉ (pivot) ============ -->
<section class="sec pivot">
  <div class="wrap">
    <div class="sec-head reveal">
      <div class="eyebrow">La vérité qu'on vous cache</div>
      <h2>Installer l'outil, c'est <span class="em">vingt pour cent</span> du travail.</h2>
      <p class="intro">Les vendeurs d'IA vous font croire l'inverse, parce que les 20% techniques, c'est tout ce qu'ils savent faire. Les 80% qui restent — l'humain, le processus, l'adhésion — c'est là que tout se joue. Et c'est là que tout le monde se casse les dents.</p>
    </div>
    <div class="pivot-split reveal">
      <div class="pivot-card tech">
        <div class="pivot-pct">20%</div>
        <h3>La technologie</h3>
        <p>Choisir l'outil, le brancher, le configurer. C'est devenu accessible, documenté, presque trivial. N'importe quel prestataire sait le faire. C'est le strict minimum — pas un avantage.</p>
      </div>
      <div class="pivot-card human">
        <div class="pivot-pct">80%</div>
        <h3>Tout le reste</h3>
        <p>Aligner une vision. Lever les peurs. Réécrire des processus. Former, rassurer, embarquer. Faire qu'une équipe s'approprie l'outil au lieu de le subir. C'est invisible, c'est lent, c'est humain — et c'est tout ce qui sépare une transformation réussie d'une facture en pure perte.</p>
      </div>
    </div>
    <div class="dv-q reveal truth-wrap" data-q="lucidite" style="margin-top:48px">
      <div class="dv-q-label"><span class="dv-q-num">2</span> Question <svg class="tick" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M5 13l4 4L19 7" stroke-linecap="round" stroke-linejoin="round"/></svg></div>
      <div class="dv-q-text">Avant de vous donner la réponse — donnez la vôtre. Une transformation IA, c'est quelle part de technologie&nbsp;?</div>
      <div class="truth">
        <div class="truth-scale">
          <div class="truth-track"></div>
          <input type="range" class="truth-input" id="truthInput" min="0" max="100" value="50" aria-label="Part de technologie selon vous">
        </div>
        <div class="truth-ends"><span>0% techno</span><span>100% techno</span></div>
        <div class="truth-readout" id="truthReadout">Placez le curseur sur votre estimation, puis validez.</div>
        <button class="dv-opt" id="truthValidate" style="margin-top:6px">Voir la vérité</button>
        <div class="truth-reveal" id="truthReveal">
          <p class="pivot-line" style="margin-top:30px;text-align:left;max-width:none">La vérité, c'est <span class="em">20%</span>. Vous avez dit <b id="truthUser">50</b>%. <span id="truthVerdict"></span></p>
        </div>
      </div>
    </div>
  </div>
</section>

<!-- ============ §4 POURQUOI MOI ============ -->
<section class="sec" id="cabinet">
  <div class="wrap">
    <div class="sec-head reveal">
      <div class="eyebrow">Le créateur</div>
      <h2>Ni informaticien, <span class="em">ni gourou de l'IA.</span></h2>
    </div>
    <div class="moi-layout">
      <div class="moi-statement reveal">
        Derrière Affinités, un homme : <span class="em">Alexandre</span>. Vingt ans à vendre, diriger et faire grandir des équipes.
        <span class="small">Il a créé des entreprises en cherchant toujours le plus que les autres n'avaient pas. Certaines ont été des succès. D'autres des échecs — et ce sont eux qui lui ont appris, mieux que n'importe quelle réussite, les erreurs à ne plus jamais commettre.</span>
        <span class="small" style="margin-top:14px">Le travail a été fait : sur les entreprises, et sur lui-même. C'est ce qui permet aujourd'hui d'accompagner avec une forme de sérénité que rien ne remplace.</span>

      </div>
      <div class="moi-points reveal">
        <div class="moi-point">
          <h4>L'éclaireur des boîtes embourbées</h4>
          <p>Il intervient dans les entreprises qui tournent en rond, enlisées dans leur propre quotidien. Il les éclaire sans tiédeur — sur l'information, la communication, les processus, et surtout la psychologie humaine, qui décide de tout le reste.</p>
        </div>
        <div class="moi-point">
          <h4>L'entrepreneur qui a gagné — et perdu</h4>
          <p>Pas de théorie apprise dans les livres. Il parle depuis le terrain, depuis les victoires comme depuis les chutes. Cette crédibilité-là ne s'achète pas.</p>
        </div>
        <div class="moi-incarnation">
          <div class="moi-photo">
            <img src="data:image/jpeg;base64,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" alt="Alexandre, fondateur d'Affinités — conseil et coaching en transformation IA pour PME de Suisse romande, Lausanne" loading="lazy">
          </div>
          <!-- 🎙️ CAPSULE AUDIO : visible, en attente de ton enregistrement.
               Quand l'audio est prêt : renseigner <source src="..."> plus bas. -->
          <div class="capsule" id="capsule" data-audio-ready="true">
            <button class="capsule-btn" id="capsuleBtn" aria-label="Écouter">
              <svg class="ic-play" viewbox="0 0 24 24" fill="currentColor"><path d="M8 5v14l11-7z"/></svg>
              <svg class="ic-pause" viewbox="0 0 24 24" fill="currentColor" style="display:none"><path d="M6 5h4v14H6zM14 5h4v14h-4z"/></svg>
            </button>
            <div class="capsule-body">
              <div class="capsule-title">Écoutez-moi vous le dire</div>
              <div class="capsule-sub">1 min 34 · ma voix</div>
              <div class="capsule-wave"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></div>
            </div>
            <audio id="capsuleAudio" preload="none">
              <source src="/audios/voix/alexandre.mp3" type="audio/mpeg">
            </audio>
          </div>
        </div>
      </div>
    </div>
    <div class="keystone-full reveal">
      <div class="kf-lbl">La clé de voûte entre trois mondes</div>
      <div class="kf-three">
        <div class="kf-pole k1"><span class="dot"></span><span class="world">L'ingénieur</span><span class="maps">parle aux outils</span></div>
        <div class="kf-pole k2"><span class="dot"></span><span class="world">Le dirigeant</span><span class="maps">porte la vision</span></div>
        <div class="kf-pole k3"><span class="dot"></span><span class="world">Le coach</span><span class="maps">inspire les hommes</span></div>
      </div>
      <p class="kf-center">Trois langues, parce qu'il a été les trois. Au centre du triangle — <span class="em">le passeur</span>.</p>
      <p class="kf-text">Il traduit la technique en décision, et la décision en adhésion. Les trois sommets d'une entreprise — ses outils, sa vision, ses hommes — il sait leur parler à tous. <b>C'est rare, et c'est exactement ce qui manque à vos projets IA.</b></p>
    </div>
    <div class="moi-bridge reveal">
      <div class="affdef">
        <span class="affdef-word">Affinité</span><span class="affdef-gram">n.f.</span>
        <span class="affdef-sens">Attraction, lien naturel entre des éléments qui se conviennent.</span>
      </div>
      <p>Un principe n'a jamais changé : <span class="em">relier ce qui se convient</span>. Trouver, pour chaque entreprise, l'intelligence artificielle qui lui ressemble vraiment — celle qui sert son métier, ses équipes, sa réalité. Pas l'outil à la mode. Le bon outil, au bon endroit, pour les bonnes personnes.</p>
      <p class="affbridge-closing">C'est tout le sens d'Affinités appliqué à l'IA : non pas plaquer une technologie, mais trouver <span class="em">la bonne IA pour la bonne entreprise</span>. La science de la liaison juste, mise au service de votre transformation.</p>
    </div>

    <div class="proof reveal">
      <div class="proof-intro">Vingt ans de terrain, pas de théorie. <span class="em">Quelques preuves.</span></div>
      <div class="proof-grid">
        <div class="proof-stat"><div class="proof-num">20<span>ans</span></div><div class="proof-lbl">de développement commercial en Suisse romande</div></div>
        <div class="proof-stat"><div class="proof-num">200<span>+</span></div><div class="proof-lbl">PME développées et fidélisées, tous secteurs</div></div>
        <div class="proof-stat"><div class="proof-num">+50<span>%</span></div><div class="proof-lbl">d'efficacité après intervention — process, conversion, pilotage</div></div>
        <div class="proof-stat"><div class="proof-num">+70<span>%</span></div><div class="proof-lbl">de taux de renouvellement client — fidélisation durable</div></div>
      </div>
      <div class="proof-foot">Coach certifié — Institut de Coaching de Genève (EIC). Diplômé HEC en E-Business et E-Communication. Deux cultures rares réunies : celle de l'humain qui décide, et celle du digital qui exécute. Et l'IA maniée chaque jour, jamais promise en l'air — un outil entre mes mains, pas un argument dans une brochure.</div>
    </div>
  </div>
</section>

<!-- ============ §5 MÉTHODE ============ -->
<section class="sec" id="methode">
  <div class="wrap">
    <div class="sec-head reveal">
      <div class="eyebrow">La méthode</div>
      <h2>Une mécanique, <span class="em">pas une promesse.</span></h2>
      <p class="intro">Quatre temps. Toujours dans cet ordre. Sauter l'un d'eux, c'est garantir l'échec — et c'est précisément ce que font ceux qui ne vendent que l'outil.</p>
    </div>
    <div class="method-steps reveal">
      <div class="method-step">
        <div class="method-num">1</div>
        <h3>Diagnostiquer</h3>
        <p>Où en êtes-vous vraiment ? Pas ce que vous croyez — ce que les faits disent. On part du réel, jamais du fantasme.</p>
      </div>
      <div class="method-step">
        <div class="method-num">2</div>
        <h3>Aligner les hommes</h3>
        <p>Avant la moindre ligne de code : lever les peurs, embarquer les équipes, créer l'adhésion. Le cœur du réacteur.</p>
      </div>
      <div class="method-step">
        <div class="method-num">3</div>
        <h3>Déployer</h3>
        <p>L'outil arrive maintenant — au service d'un processus repensé, pas plaqué sur le désordre existant.</p>
      </div>
      <div class="method-step">
        <div class="method-num">4</div>
        <h3>Transmettre</h3>
        <p>Affinités se retire en vous laissant autonomes. Une transformation qui dépend de son auteur pour survivre est une transformation ratée.</p>
      </div>
    </div>
    <p class="method-note reveal">Cette méthode a un moteur — affiné sur vingt ans de terrain, de victoires commerciales et de remises en question. Il tourne en silence, dans les coulisses, et travaille pour vous sans que vous ayez jamais besoin de le voir. Vous ne jugez pas la mécanique : vous récoltez le résultat. Et le résultat, lui, suffit à tout dire.</p>

    <div class="dv-q reveal" data-q="blocage" style="margin-top:46px">
      <div class="dv-q-label"><span class="dv-q-num">3</span> Question <svg class="tick" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M5 13l4 4L19 7" stroke-linecap="round" stroke-linejoin="round"/></svg></div>
      <div class="dv-q-text">Dans cette mécanique, où ça coincerait le plus chez vous&nbsp;?</div>
      <div class="dv-opts">
        <button class="dv-opt" data-val="vision">Pas de cap clair</button>
        <button class="dv-opt" data-val="hommes">Les équipes résistent</button>
        <button class="dv-opt" data-val="deploiement">On n'exécute pas</button>
        <button class="dv-opt" data-val="tout">Un peu tout, honnêtement</button>
      </div>
    </div>
  </div>
</section>

<!-- ============ §5bis SOUVERAINETÉ SUISSE ============ -->
<section class="sec">
  <div class="wrap">
    <div class="sovereign reveal">
      <div class="sovereign-mark">
        <svg viewbox="0 0 48 48" fill="none" stroke="currentColor" stroke-width="1.6">
          <path d="M24 4l16 6v10c0 11-7 18-16 24-9-6-16-13-16-24V10z" stroke-linejoin="round"/>
          <path d="M24 17v14M17 24h14" stroke-linecap="round"/>
        </svg>
      </div>
      <div class="sovereign-body">
        <div class="eyebrow">La question que personne ne pose</div>
        <h2>L'IA, oui. <span class="em">Mais où vont vos données ?</span></h2>
        <p>La plupart des outils d'IA envoient vos informations — vos clients, vos chiffres, vos secrets — sur des serveurs américains, soumis à des lois étrangères. Pour une PME suisse, ce n'est pas un détail : c'est un risque juridique et concurrentiel.</p>
        <p class="sovereign-strong">Affinités conçoit vos transformations pour que <b>vos données restent sous votre contrôle</b>, traitées conformément à la nLPD. La performance de l'IA, sans céder votre souveraineté.</p>
        <p><b style="color:var(--gold)">Le Principe de Souveraineté.</b> Nous recommandons en priorité des instruments dont les données restent en Suisse ou en Europe — notre sélection de référence ne descend jamais sous <b>75 % de données souveraines</b>. Un principe affiché, pas une promesse vague.</p>
      </div>
    </div>

    <div class="dv-q security-q reveal" id="securityQ">
      <div class="dv-q-label"><span class="dv-q-num">4</span> Question <svg class="tick" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M5 13l4 4L19 7" stroke-linecap="round" stroke-linejoin="round"/></svg></div>
      <div class="dv-q-text">Une question, en passant : <span class="em">savez-vous où sont stockées les données que vos outils IA traitent aujourd'hui ?</span></div>
      <div class="dv-opts security-opts">
        <button class="dv-opt security-opt" data-sec="suisse">Oui, en Suisse</button>
        <button class="dv-opt security-opt" data-sec="ailleurs">Sur des serveurs étrangers</button>
        <button class="dv-opt security-opt" data-sec="inconnu">Aucune idée, honnêtement</button>
      </div>
      <div class="security-react" id="securityReact"></div>
    </div>
  </div>
</section>


<!-- ============ §6bis QUATRE AFFINITÉS (hub catalogue) ============ -->
<section class="sec" id="affinites">
  <div class="wrap">
    <div class="sec-head reveal">
      <div class="eyebrow">Quatre affinités</div>
      <h2>Tout ce qu'Affinités <span class="em">sait déployer.</span></h2>
      <p class="intro">Quatre domaines, une même exigence : la bonne IA, au bon endroit, pour les bonnes personnes. Chacun se prépare en ce moment. Dites-nous lequel vous parle — vous serez les premiers prévenus.</p>
    </div>
    <div class="affinites-grid reveal">

      <!-- AGENTS IA -->
      <a class="aff-card" data-aff="agents" href="agents-ia.html">
        <div class="aff-tag">Affinité I</div>
        <h3>Artisans IA</h3>
        <p class="aff-hook">Des assistants qui ne dorment jamais — et qui laissent vos équipes décider.</p>
        <p class="aff-desc">Des assistants spécialisés qui secondent vos équipes sur ce qui les épuise : l'accueil, l'administratif, la communication, la relance commerciale. Ils préparent, vos gens valident. L'humain garde la main.</p>
        <span class="aff-cta">Découvrir
          <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M5 12h14M13 6l6 6-6 6" stroke-linecap="round" stroke-linejoin="round"/></svg>
        </span>
      </a>

      <!-- AFFINITÉ DIRIGEANTE -->
      <a class="aff-card" data-aff="coaching" href="affinite-dirigeante.html">
        <div class="aff-tag">Affinité II</div>
        <h3>Affinité dirigeante</h3>
        <p class="aff-hook">Pendant que vos concurrents subissent l'IA, apprenez à la commander.</p>
        <p class="aff-desc">Un face-à-face stratégique pour le dirigeant lui-même. Penser, décider, intégrer l'IA dans votre vision — pas comme un gadget, comme un levier de votre métier. Avec quelqu'un qui parle vos trois langues.</p>
        <span class="aff-cta">Découvrir
          <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M5 12h14M13 6l6 6-6 6" stroke-linecap="round" stroke-linejoin="round"/></svg>
        </span>
      </a>

      <!-- AFFINITÉ COLLECTIVE -->
      <a class="aff-card" data-aff="formation" href="affinite-collective.html">
        <div class="aff-tag">Affinité III</div>
        <h3>Affinité collective</h3>
        <p class="aff-hook">La technologie ne transforme rien. Les gens, oui.</p>
        <p class="aff-desc">Ateliers collectifs et accompagnement individuel pour que vos équipes s'approprient l'IA — y compris les plus réticentes. Un outil que personne n'utilise ne vaut rien ; on le rend vital.</p>
        <span class="aff-cta">Découvrir
          <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M5 12h14M13 6l6 6-6 6" stroke-linecap="round" stroke-linejoin="round"/></svg>
        </span>
      </a>

      <!-- AFFINITÉ INTÉGRALE -->
      <a class="aff-card" data-aff="transformation" href="affinite-integrale.html">
        <div class="aff-tag">Affinité IV</div>
        <h3>Affinité intégrale</h3>
        <p class="aff-hook">Six mois pour que l'IA cesse d'être un projet — et devienne votre avantage.</p>
        <p class="aff-desc">L'accompagnement complet, de bout en bout. Affinités pilote, aligne, déploie et transmet, à vos côtés, jusqu'à votre autonomie. Pour ceux qui veulent une vraie bascule, pas un essai.</p>
        <span class="aff-cta">Découvrir
          <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M5 12h14M13 6l6 6-6 6" stroke-linecap="round" stroke-linejoin="round"/></svg>
        </span>
      </a>

    </div>
  </div>
</section>

<!-- ============ §6ter ZONE DÉMO (home uniquement) ============ -->
<section class="sec demo-zone" id="demo">
  <div class="wrap">
    <div class="sec-head reveal">
      <div class="eyebrow">La démonstration</div>
      <h2>Votre métier, <span class="em">transformé.</span></h2>
      <p class="intro">Assez de promesses. Choisissez votre secteur et voyez, concrètement, comment les artisans s'occuperaient de votre cabinet — avec leurs vraies voix. Pas une maquette : une démonstration.</p>
    </div>

    <div class="demo-grid reveal">
      <a class="demo-chip is-ready" href="demo/demo_moteur.html?secteur=fiduciaire">
        <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="3" width="16" height="18" rx="2"/><path d="M8 8h8M8 12h8M8 16h5"/></svg>
        <span class="dc-label">Fiduciaire / Comptabilité</span>
        <span class="dc-go">Voir la démo</span>
      </a>

      <a class="demo-chip is-ready" href="demo/demo_moteur.html?secteur=immobilier">
        <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M3 11l9-7 9 7"/><path d="M5 9.5V20h14V9.5"/><path d="M10 20v-6h4v6"/></svg>
        <span class="dc-label">Agence immobilière</span>
        <span class="dc-go">Voir la démo</span>
      </a>

      <a class="demo-chip is-ready" href="demo/demo_moteur.html?secteur=medical">
        <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="6" width="18" height="14" rx="2"/><path d="M8 6V4h8v2"/><path d="M12 10v6M9 13h6"/></svg>
        <span class="dc-label">Cabinet médical / dentaire</span>
        <span class="dc-go">Voir la démo</span>
      </a>

      <a class="demo-chip is-ready" href="demo/demo_moteur.html?secteur=batiment">
        <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M3 21h18M5 21V11l7-5 7 5v10"/><path d="M10 21v-5h4v5"/><path d="M14 4l5 3.5"/></svg>
        <span class="dc-label">Artisan du bâtiment</span>
        <span class="dc-go">Voir la démo</span>
      </a>
    </div>

    <div class="demo-all reveal">
      <a href="https://www.affinites.ch/demo">Voir les 50 secteurs
        <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M5 12h14M13 6l6 6-6 6" stroke-linecap="round" stroke-linejoin="round"/></svg>
      </a>
    </div>
  </div>
</section>

<!-- ============ §6 DERNIÈRE QUESTION + VERDICT ============ -->
<section class="sec pivot verdict-sec">
  <div class="wrap">
    <div class="dv-q reveal" data-q="engagement">
      <div class="dv-q-label"><span class="dv-q-num">5</span> Dernière question <svg class="tick" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M5 13l4 4L19 7" stroke-linecap="round" stroke-linejoin="round"/></svg></div>
      <div class="dv-q-text">Si on devait travailler ensemble, par où commenceriez-vous&nbsp;?</div>
      <div class="dv-opts">
        <button class="dv-opt" data-val="diagnostic">Voir clair d'abord</button>
        <button class="dv-opt" data-val="activation">Un résultat rapide</button>
        <button class="dv-opt" data-val="transformation">La transformation de fond</button>
      </div>
    </div>

    <div class="verdict" id="verdict">
      <div class="verdict-radar" aria-hidden="true">
        <svg viewbox="0 0 200 200" xmlns="http://www.w3.org/2000/svg">
          <g class="vr-grid">
            <circle cx="100" cy="100" r="92" opacity=".35"/>
            <circle cx="100" cy="100" r="68" opacity=".22"/>
            <circle cx="100" cy="100" r="44" opacity=".18"/>
            <circle cx="100" cy="100" r="20" opacity=".14"/>
            <line x1="100" y1="8" x2="100" y2="192" opacity=".12"/>
            <line x1="8" y1="100" x2="192" y2="100" opacity=".12"/>
            <line x1="34" y1="34" x2="166" y2="166" opacity=".08"/>
            <line x1="166" y1="34" x2="34" y2="166" opacity=".08"/>
          </g>
          <circle class="vr-pulse" cx="100" cy="100" r="92" stroke="var(--gold)" fill="none" stroke-width="1" opacity=".3"/>
          <g class="vr-sweep">
            <defs>
              <lineargradient id="sweepGrad" x1="0" y1="0" x2="1" y2="0">
                <stop offset="0%" stop-color="var(--gold)" stop-opacity="0"/>
                <stop offset="100%" stop-color="var(--gold)" stop-opacity="0.28"/>
              </lineargradient>
            </defs>
            <path d="M100 100 L100 8 A92 92 0 0 1 168 38 Z" fill="url(#sweepGrad)"/>
            <line x1="100" y1="100" x2="100" y2="8" stroke="var(--gold)" stroke-width="1.2" opacity=".55"/>
          </g>
          <circle cx="100" cy="100" r="2.5" fill="var(--gold)"/>
        </svg>
      </div>
      <div class="verdict-calc" id="verdictCalc">
        <div class="verdict-compass" id="verdictCompass">
          <svg viewbox="0 0 100 100" fill="none" stroke="#C8A86B" stroke-width="1.5">
            <circle cx="50" cy="50" r="36" opacity=".3"/>
            <circle cx="50" cy="50" r="3" fill="#C8A86B" stroke="none"/>
            <path d="M50 12v16M50 72v16M12 50h16M72 50h16" stroke-linecap="round" opacity=".5"/>
            <g class="vc-needle">
              <path d="M50 50L68 32M50 50L32 68" opacity=".4" stroke-linecap="round"/>
              <path d="M50 50L73 43L63 28Z" fill="#C8A86B" stroke="none" opacity=".9"/>
            </g>
          </svg>
        </div>
        <div class="verdict-calc-text" id="verdictCalcText">Analyse de vos réponses…</div>
      </div>
      <div class="verdict-content" id="verdictContent">
        <div class="verdict-label">Votre lecture, d'après vos réponses</div>
        <div class="verdict-headline" id="verdictHeadline"></div>
        <div class="verdict-body" id="verdictBody"></div>
        <div class="verdict-progress" id="verdictProgress"></div>
      </div>
    </div>
  </div>
</section>

<!-- ============ §7 LES 3 OFFRES ============ -->
<section class="sec pivot post-verdict">
  <div class="wrap">
    <div class="sec-head reveal">
      <div class="eyebrow">Travailler ensemble</div>
      <h2>Trois portes d'entrée. <span class="em">Une seule direction.</span></h2>
      <p class="intro">Maintenant que vous voyez plus clair, voici par où l'on peut commencer. On ne s'engage pas dans une transformation de douze mois sur un coup de tête — on avance au rythme que votre réalité impose.</p>
    </div>
    <div class="levels reveal">
      <div class="level" data-level="diagnostic">
        <div class="level-badges"><div class="level-free-badge">Offert</div></div>
        <div class="level-tag">Niveau 1</div>
        <div class="level-step">Le point de départ</div>
        <h3>Diagnostic</h3>
        <p class="desc">Le Scanner IA révélera votre Indice d'Affinités avec l'intelligence artificielle. Quatre minutes pour savoir où vous en êtes, sans jargon et sans engagement. Le miroir avant l'action.</p>
        <div class="meta"><b>Offert</b> · 4 minutes</div>
        <a href="scanner.html" class="level-cta" data-scanner>Votre taux d'affinités IA
          <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M5 12h14M13 6l6 6-6 6" stroke-linecap="round" stroke-linejoin="round"/></svg>
        </a>
      </div>
      <div class="level feature" data-level="activation">
        <div class="level-badges"></div>
        <div class="level-tag">Niveau 2</div>
        <div class="level-step">Le résultat rapide</div>
        <h3>Activation</h3>
        <p class="desc">Un chantier court, ciblé, à résultat garanti. « Trente jours pour automatiser vos devis. » « Votre force de vente augmentée à l'IA en six semaines. » Prix fixe, livrable concret.</p>
        <div class="meta"><b>Chantier packagé</b> · 4 à 8 semaines</div>
        <button type="button" class="level-cta" data-contact="Activation — chantier court">Discutons d'un chantier
          <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M5 12h14M13 6l6 6-6 6" stroke-linecap="round" stroke-linejoin="round"/></svg>
        </button>
      </div>
      <div class="level" data-level="transformation">
        <div class="level-badges"></div>
        <div class="level-tag">Niveau 3</div>
        <div class="level-step">La transformation de fond</div>
        <h3>Transformation</h3>
        <p class="desc">Un accompagnement de six à douze mois. Affinités devient l'acteur de votre transformation IA — celui qui pilote, aligne, déploie et transmet, à vos côtés. Jusqu'à votre autonomie.</p>
        <div class="meta"><b>Accompagnement</b> · 6 à 12 mois</div>
        <button type="button" class="level-cta" data-contact="Transformation de fond">Demander un échange
          <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M5 12h14M13 6l6 6-6 6" stroke-linecap="round" stroke-linejoin="round"/></svg>
        </button>
      </div>
    </div>

    <p class="levels-pricing reveal">Des tarifs affichés, clairs, sans surprise : <span class="em">de l'indépendant à la PME établie, chacun trouve sa porte.</span> Trois forfaits transparents, pensés pour chaque taille et chaque ambition — vous savez exactement ce que vous payez, et pourquoi. <a href="les-tarifs.html" style="color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(200,168,107,.4)">Voir les tarifs</a>.</p>
<!-- RENVOI SYNTHESE — ne pas dupliquer -->
    <div class="synth-call">
      <div class="sc-left">
        <span class="sc-ico" aria-hidden="true">
          <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M11 5L6 9H2v6h4l5 4V5z"/><path d="M15.5 8.5a5 5 0 0 1 0 7"/><path d="M19 5a9 9 0 0 1 0 14"/></svg>
        </span>
        <div class="sc-txt">
          <div class="sc-t">Ou laissez-vous guider en trois minutes.</div>
          <p class="sc-p">Une présentation commentée à voix haute : le parcours, les trois forfaits, ce qui est offert et à quelle condition.</p>
        </div>
      </div>
      <button type="button" class="sc-go" data-synth>
        <span>Voir la synthèse animée</span>
        <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><path d="M7 17L17 7M9 7h8v8"/></svg>
      </button>
    </div>

  </div>
</section>

<!-- ============ LE POINT FIXE ============ -->
<section class="sec pointfixe">
  <div class="wrap">
    <div class="pf-grid">
      <div class="pf-text reveal">
        <div class="eyebrow">Le point fixe</div>
        <h2>Le monde de l'IA tourne vite. <span class="em">Vous, vous avez une entreprise à diriger.</span></h2>
        <p class="lead">L'outil d'aujourd'hui sera dépassé demain. Chaque semaine, un nouveau modèle, une nouvelle promesse, un nouveau bruit. Personne ne peut tout suivre — et surtout pas un dirigeant déjà occupé à faire tourner sa maison.</p>
        <p class="lead"><b>C'est le métier d'Affinités : suivre pour vous.</b> Une veille permanente qui trie le signal du bruit. Quand quelque chose de vraiment utile émerge pour votre métier, Affinités vous l'apporte — vérifié, applicable, sans le déluge. Vous n'avez plus à courir derrière.</p>
        <p class="sign">Pendant que tout accélère, Affinités reste votre point fixe.</p>
      </div>
      <div class="pf-visual reveal" aria-hidden="true">
        <svg viewbox="0 0 200 200">
          <!-- orbites -->
          <circle class="pf-orbit" cx="100" cy="100" r="86"/>
          <circle class="pf-orbit-dash pf-o1" cx="100" cy="100" r="64"/>
          <circle class="pf-orbit" cx="100" cy="100" r="42"/>
          <circle class="pf-orbit-dash pf-o2" cx="100" cy="100" r="42"/>
          <!-- motes qui tournent (le monde qui accélère) -->
          <g class="pf-mote-g pf-m1"><circle class="pf-mote" cx="100" cy="14" r="3.5"/></g>
          <g class="pf-mote-g pf-m2"><circle class="pf-mote" cx="100" cy="36" r="2.5"/></g>
          <g class="pf-mote-g pf-m3"><circle class="pf-mote" cx="186" cy="100" r="3"/></g>
          <!-- le point fixe central : stable -->
          <circle class="pf-core-halo" cx="100" cy="100" r="22"/>
          <circle class="pf-core-ring" cx="100" cy="100" r="13"/>
          <circle class="pf-core" cx="100" cy="100" r="5.5"/>
        </svg>
      </div>
    </div>
  </div>
</section>

<!-- ============ §8 CLOSING ============ -->
<section class="sec closing">
  <div class="closing-glow"></div>
  <div class="wrap">
    <div class="eyebrow reveal" style="display:inline-block">Le vrai choix</div>
    <h2 class="reveal">L'IA va transformer votre secteur. <span class="em">Avec ou sans vous.</span></h2>
    <p class="sub reveal">La seule question qui compte : vous la subissez, ou vous la pilotez ? Le Scanner IA arrive — rejoignez les 100 premiers à qui Affinités l'ouvrira.</p>
    <div class="closing-cta reveal">
      <a href="scanner.html" class="btn btn-gold" data-scanner>
        Révélez votre taux d'affinités IA
        <svg viewbox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="2"><path d="M5 12h14M13 6l6 6-6 6" stroke-linecap="round" stroke-linejoin="round"/></svg>
      </a>
      <button type="button" class="btn btn-ghost" data-contact="échange">Demander un échange</button>
    </div>
    <div class="closing-foot reveal"></div>
  </div>
</section>

<!-- ============ FOOTER ============ -->

<div class="sy-modal" id="syModal" role="dialog" aria-modal="true" aria-labelledby="syTitre" hidden>
  <div class="sy-back" data-sy-close></div>
  <div class="sy-box">
    <button type="button" class="sy-x" data-sy-close aria-label="Fermer">
      <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"><path d="M18 6L6 18M6 6l12 12"/></svg>
    </button>
    <div class="sy-ico" aria-hidden="true">
      <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M11 5L6 9H2v6h4l5 4V5z"/><path d="M15.5 8.5a5 5 0 0 1 0 7"/><path d="M19 5a9 9 0 0 1 0 14"/></svg>
    </div>
    <div class="sy-lbl">Présentation guidée</div>
    <h3 class="sy-t" id="syTitre">Trois minutes, <span class="em">et tout devient clair.</span></h3>
    <p class="sy-p">Une page qui se déroule toute seule, commentée à voix haute&nbsp;: le parcours en quatre temps, les trois forfaits, ce qui est offert et à quelle condition.</p>
    <ul class="sy-list">
      <li>Sept chapitres, environ trois minutes</li>
      <li>Avec le son&nbsp;— pensez à vos écouteurs</li>
      <li>S'ouvre dans un nouvel onglet</li>
    </ul>
    <div class="sy-act">
      <a href="synthese-tarifs.html" target="_blank" rel="noopener" class="sy-go" data-sy-open>
        <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M5 3l14 9-14 9z"/></svg>
        <span>Lancer la présentation</span>
      </a>
      <button type="button" class="sy-alt" data-sy-close>Rester sur cette page</button>
    </div>
  </div>
</div>

<script>
(function(){
  var m=document.getElementById('syModal');
  if(!m) return;
  var boite=m.querySelector('.sy-box'), dernier=null;
  function ouvre(e){
    dernier=e.currentTarget;
    m.hidden=false;
    requestAnimationFrame(function(){ m.classList.add('on'); });
    document.body.style.overflow='hidden';
    setTimeout(function(){ var a=m.querySelector('.sy-go'); if(a) a.focus(); }, 120);
  }
  function ferme(){
    m.classList.remove('on');
    document.body.style.overflow='';
    setTimeout(function(){ m.hidden=true; if(dernier) dernier.focus(); }, 320);
  }
  document.querySelectorAll('[data-synth]').forEach(function(b){ b.addEventListener('click', ouvre); });
  m.querySelectorAll('[data-sy-close]').forEach(function(b){ b.addEventListener('click', ferme); });
  m.querySelector('[data-sy-open]').addEventListener('click', function(){ setTimeout(ferme, 180); });
  document.addEventListener('keydown', function(e){ if(e.key==='Escape' && !m.hidden) ferme(); });
  m.addEventListener('keydown', function(e){
    if(e.key!=='Tab') return;
    var f=boite.querySelectorAll('a[href],button:not([disabled])');
    if(!f.length) return;
    var p=f[0], d=f[f.length-1];
    if(e.shiftKey && document.activeElement===p){ e.preventDefault(); d.focus(); }
    else if(!e.shiftKey && document.activeElement===d){ e.preventDefault(); p.focus(); }
  });
})();
</script>

<footer class="site-footer">
  <div class="wrap">
    <div class="footer-top">
      <div class="footer-brand">
        <div class="fb-emblem" aria-hidden="true">
          <svg viewbox="0 0 120 120" fill="none" xmlns="http://www.w3.org/2000/svg">
            <circle cx="60" cy="60" r="52" stroke="#2A2E37" stroke-width="2"/>
            <g class="fb-tri">
              <g stroke="#C8A86B" stroke-width="2.2" fill="none" stroke-linecap="round" opacity=".8">
                <line x1="60" y1="33" x2="37" y2="75"/><line x1="60" y1="33" x2="83" y2="75"/><line x1="37" y1="75" x2="83" y2="75"/>
              </g>
              <circle cx="60" cy="33" r="6" fill="#C8A86B"/><circle cx="37" cy="75" r="6" fill="#C8A86B"/><circle cx="83" cy="75" r="6" fill="#C8A86B"/>
            </g>
            <circle class="fb-core" cx="60" cy="60" r="4" fill="#E7E9EC"/>
          </svg>
        </div>
        <div class="fb-name">Affinités</div>
        <p>Cabinet de transformation IA pour PME romandes. L'humain d'abord, la technologie ensuite.</p>
      </div>
      <div class="footer-col">
        <h4>Comprendre</h4>
        <ul>
          <li><a href="https://www.affinites.ch/le-systeme.html">Le Système</a></li>
          <li><a href="https://www.affinites.ch/academie.html">L'Académie</a></li>
          <li><a href="https://www.affinites.ch/le-radar.html">Le Radar d'Entrée</a></li>
          <li><a href="https://www.affinites.ch/vigie.html">La Vigie</a></li>
          <li><a href="https://www.affinites.ch/les-tarifs.html">Les Tarifs</a></li>
          <li><a href="https://www.affinites.ch/la-preuve.html">La Preuve</a></li>
          <li><a href="https://www.affinites.ch/demo">Les Démos</a></li>
          <li><a href="https://www.affinites.ch/blog/">Le Blog</a></li>
        </ul>
      </div>
      <div class="footer-col">
        <h4>Les Solutions</h4>
        <ul>
          <li><a href="https://www.affinites.ch/agents-ia.html">Les Artisans IA</a></li>
          <li><a href="https://www.affinites.ch/affinite-dirigeante.html">Affinité dirigeante</a></li>
          <li><a href="https://www.affinites.ch/affinite-collective.html">Affinité collective</a></li>
          <li><a href="https://www.affinites.ch/affinite-integrale.html">Affinité intégrale</a></li>
        </ul>
      </div>
      <div class="footer-col">
        <h4>Commencer</h4>
        <ul>
          <li><a href="https://www.affinites.ch/scanner.html">Le Scanner IA</a></li>
          <li><a href="https://www.affinites.ch/ouvrages.html">Les Ouvrages</a></li>
          <li><a href="mailto:hello@affinites.ch">hello@affinites.ch</a></li>
        </ul>
      </div>
    </div>
    <div class="footer-bottom">
      <div class="copy">© 2026 Affinités Sàrl · Vos données hébergées en Suisse</div>
      <div class="fb-right">
        <div class="legal">
          <a href="https://www.affinites.ch/cgv.html">Conditions générales</a>
          <a href="https://www.affinites.ch/politique_confidentialite.html">Politique de confidentialité</a>
          <a href="https://www.affinites.ch/mentions-legales.html">Mentions légales</a>
        </div>
        <div class="fb-social">
          <a href="https://www.facebook.com/profile.php?id=61591616001362" target="_blank" rel="noopener noreferrer" aria-label="Affinités sur Facebook"><svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M15.5 4.5h-2.2a2.8 2.8 0 0 0-2.8 2.8V10H8.5v3h2v7h3v-7h2.2l.5-3h-2.7V7.6c0-.5.4-.9.9-.9h1.6v-2.2z"/></svg></a>
          <a href="https://www.linkedin.com/company/cabinet-affinites/" target="_blank" rel="noopener noreferrer" aria-label="Affinités sur LinkedIn"><svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><line x1="6" y1="10" x2="6" y2="19"/><circle cx="6" cy="5.8" r="1.1"/><path d="M10.5 19v-5.2a3.3 3.3 0 0 1 6.6 0V19"/><line x1="10.5" y1="10" x2="10.5" y2="19"/></svg></a>
          <a href="https://www.tiktok.com/@affinites_ia" target="_blank" rel="noopener noreferrer" aria-label="Affinités sur TikTok"><svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M13.4 4.2v10.9a3.4 3.4 0 1 1-2.9-3.36"/><path d="M13.4 4.2a4.6 4.6 0 0 0 4.3 4.1"/></svg></a>
        </div>
      </div>
    </div>
  </div>
</footer>


<!-- ============ MODALE CONTACT ============ -->
<div class="modal-overlay" id="contactModal" aria-hidden="true">
  <div class="modal" role="dialog" aria-modal="true" aria-labelledby="modalTitle">
    <button type="button" class="modal-close" id="modalClose" aria-label="Fermer">
      <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 6l12 12M18 6L6 18" stroke-linecap="round"/></svg>
    </button>
    <div class="modal-body" id="modalBody">
      <div class="eyebrow">Affinités · Cabinet de transformation IA</div>
      <h3 id="modalTitle">Réservons votre échange.</h3>
      <p class="modal-sub">Un premier contact, sans engagement. Je reviens vers vous personnellement dans les meilleurs délais.</p>
      <div class="modal-context" id="modalContext" hidden>
        <span class="modal-context-label">Vous vous intéressez à</span>
        <span class="modal-context-val" id="modalContextVal"></span>
      </div>
      <a href="tel:+41213128558" class="modal-phone">
        <span class="modal-phone-ico">
          <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"/></svg>
        </span>
        <span class="modal-phone-txt">
          <span class="modal-phone-label">Appelez-nous directement</span>
          <span class="modal-phone-num">+41 21 312 85 58</span>
        </span>
        <span class="modal-phone-noah">
          <span class="modal-phone-noah-label">Noah</span>
          <span class="modal-phone-noah-txt">vous accueillera chaleureusement</span>
        </span>
      </a>
      <div class="modal-fields">
        <div class="mf-row">
          <div class="mf"><label>Prénom *</label><input type="text" id="cfPrenom" autocomplete="given-name"></div>
          <div class="mf"><label>Nom *</label><input type="text" id="cfNom" autocomplete="family-name"></div>
        </div>
        <div class="mf"><label>Email *</label><input type="email" id="cfEmail" autocomplete="email" placeholder="vous@entreprise.ch"></div>
        <div class="mf-row">
          <div class="mf"><label>Téléphone</label><input type="tel" id="cfTel" autocomplete="tel" placeholder="+41…"></div>
          <div class="mf"><label>Entreprise</label><input type="text" id="cfEntreprise" autocomplete="organization"></div>
        </div>
        <div class="mf"><label>Votre enjeu en une phrase</label><input type="text" id="cfEnjeu" placeholder="Ce qui vous amène, en quelques mots"></div>
      </div>
      <div class="modal-error" id="modalError" hidden></div>
      <button type="button" class="btn btn-gold modal-submit" id="modalSubmit">
        Réserver mon échange
        <svg viewbox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="2"><path d="M5 12h14M13 6l6 6-6 6" stroke-linecap="round" stroke-linejoin="round"/></svg>
      </button>
      <p class="modal-legal">Vos données restent confidentielles et ne servent qu'à vous recontacter. Hébergées en Suisse.</p>
    </div>
    <div class="modal-success" id="modalSuccess" hidden>
      <div class="modal-success-mark">
        <svg viewbox="0 0 52 52" fill="none" stroke="currentColor" stroke-width="3"><circle cx="26" cy="26" r="24" opacity=".3"/><path d="M16 27l7 7 14-14" stroke-linecap="round" stroke-linejoin="round"/></svg>
      </div>
      <h3>C'est noté.</h3>
      <p>Merci. Nous revenons vers vous personnellement dans les meilleurs délais. À très vite.</p>
      <button type="button" class="btn btn-ghost" id="modalDone">Fermer</button>
    </div>
  </div>
</div>

<script>
  // reveal on scroll
  const io = new IntersectionObserver((entries)=>{
    entries.forEach((e)=>{ if(e.isIntersecting){ e.target.classList.add('in'); io.unobserve(e.target); } });
  },{threshold:0.12, rootMargin:'0px 0px -8% 0px'});
  document.querySelectorAll('.reveal').forEach((el)=>io.observe(el));

  // séparateurs dorés — animation au scroll
  const sepIo = new IntersectionObserver((entries)=>{
    entries.forEach(e=>{ if(e.isIntersecting){ e.target.classList.add('sep-in'); sepIo.unobserve(e.target); } });
  },{threshold:0, rootMargin:'0px 0px -12% 0px'});
  document.querySelectorAll('.sec').forEach((s,i)=>{ if(i>0 || s.classList.contains('sep-force')) sepIo.observe(s); });

  // Scanner links
  // URL du Scanner (offert). Tous les boutons [data-scanner] pointent ici.
  // Les DEUX boutons (hero + closing) pointent vers cette même URL.
  const SCANNER_URL = 'scanner.html';
  document.querySelectorAll('[data-scanner]').forEach(a=>a.setAttribute('href', SCANNER_URL));

  /* ===================== DIAGNOSTIC VIVANT ===================== */
  const DV = { douleur:null, lucidite:null, blocage:null, engagement:null };
  const DV_TOTAL = 4;
  const DV_STORAGE_KEY = 'affinites_diagnostic_v1';

  function answeredCount(){ return Object.values(DV).filter(v=>v!==null).length; }

  // — persistance (robuste : ne casse jamais si localStorage indisponible) —
  function saveDV(){
    try{ localStorage.setItem(DV_STORAGE_KEY, JSON.stringify(DV)); }catch(e){ /* mode privé / bloqué : on ignore */ }
  }
  function loadDV(){
    try{
      const raw = localStorage.getItem(DV_STORAGE_KEY);
      if(!raw) return null;
      const obj = JSON.parse(raw);
      if(obj && typeof obj==='object') return obj;
    }catch(e){}
    return null;
  }
  function clearDV(){
    try{ localStorage.removeItem(DV_STORAGE_KEY); }catch(e){}
  }

  // questions à choix (douleur, blocage, engagement)
  document.querySelectorAll('.dv-q[data-q] .dv-opts').forEach(opts=>{
    const block = opts.closest('.dv-q');
    const key = block.dataset.q;
    opts.querySelectorAll('.dv-opt').forEach(btn=>{
      btn.addEventListener('click',()=>{
        opts.querySelectorAll('.dv-opt').forEach(b=>b.classList.remove('picked'));
        btn.classList.add('picked');
        DV[key] = btn.dataset.val;
        block.classList.add('answered');
        saveDV();
        updateVerdict();
        if(key==='engagement' && typeof highlightSuggestedLevel==='function') highlightSuggestedLevel();
      });
    });
  });

  // curseur de vérité (lucidité)
  const truthInput = document.getElementById('truthInput');
  const truthReadout = document.getElementById('truthReadout');
  const truthValidate = document.getElementById('truthValidate');
  const truthReveal = document.getElementById('truthReveal');
  const truthBlock = document.querySelector('.dv-q[data-q="lucidite"]');
  if(truthInput){
    const liveText = v=>{
      if(v>=70) return "Vous misez gros sur la technique. C'est exactement le réflexe que je vais vous faire revoir.";
      if(v>=45) return "Vous partagez l'intuition commune. Logique — c'est le discours ambiant.";
      if(v>=25) return "Vous sentez déjà que l'humain pèse lourd. Bon instinct.";
      return "Vous avez presque tout compris avant moi.";
    };
    const computeVerdict = (v)=>{
      const gap = v - 20;
      if(gap>=40) return "L'écart est vertigineux — et c'est lui qui explique pourquoi tant de projets échouent.";
      if(gap>=15) return "Vous surestimez la technique, comme presque tout le monde. C'est humain.";
      if(gap>=-5) return "Vous voyez juste. Vous faites partie des rares lucides.";
      return "Vous voyez même plus loin que la moyenne. Rare.";
    };
    const paint = ()=>{ truthReadout.textContent = liveText(+truthInput.value); };
    // CAPTURE dès qu'il touche le curseur — le calcul final n'est jamais faussé
    let truthTouched = false;
    truthInput.addEventListener('input', ()=>{
      paint();
      DV.lucidite = +truthInput.value;     // valeur enregistrée en continu
      if(!truthTouched){
        truthTouched = true;
        truthBlock.classList.add('answered');
      }
      // si la vérité est déjà révélée, on recalcule le texte en direct
      if(truthReveal.classList.contains('show')){
        const v = +truthInput.value;
        document.getElementById('truthUser').textContent = v;
        document.getElementById('truthVerdict').textContent = computeVerdict(v);
      }
      saveDV();
      updateVerdict();
    });
    truthValidate.addEventListener('click',()=>{
      const v = +truthInput.value;
      DV.lucidite = v;
      document.getElementById('truthUser').textContent = v;
      document.getElementById('truthVerdict').textContent = computeVerdict(v);
      truthReveal.classList.add('show');
      truthValidate.style.display='none';
      truthBlock.classList.add('answered');
      saveDV();
      updateVerdict();
    });
  }

  /* ===================== VERDICT ADAPTATIF (3 états) ===================== */
  const verdict = document.getElementById('verdict');
  const vHead = document.getElementById('verdictHeadline');
  const vBody = document.getElementById('verdictBody');
  const vProg = document.getElementById('verdictProgress');

  const BLOCAGE_LABEL = {
    vision:"l'absence de cap clair", hommes:"la résistance de vos équipes",
    deploiement:"le passage à l'exécution", tout:"un déséquilibre sur tous les fronts"
  };
  const ENGAGEMENT_NEXT = {
    diagnostic:"Commencez par le Scanner : il confirmera cette première lecture en quelques minutes.",
    activation:"Un chantier court et ciblé vous donnerait un premier résultat tangible, vite.",
    transformation:"Vous êtes prêt pour un accompagnement de fond. Parlons-en directement."
  };

  const vCalc = document.getElementById('verdictCalc');
  const vCalcText = document.getElementById('verdictCalcText');
  const vContent = document.getElementById('verdictContent');
  let verdictComputed = false;   // évite de relancer l'animation
  let calcRunning = false;

  function fillComplete(){
    const douleurFort = DV.douleur==='fort' || DV.douleur==='moyen';
    const blocage = BLOCAGE_LABEL[DV.blocage] || "un point précis à traiter";
    const lucideGap = (typeof DV.lucidite==='number') ? DV.lucidite-20 : 0;
    let head;
    if(douleurFort && lucideGap>=15) head = 'Vous avez <span class="em">déjà payé</span> pour la mauvaise moitié du problème.';
    else if(douleurFort) head = 'Vous savez où ça fait mal. <span class="em">Reste à le traiter dans le bon ordre.</span>';
    else head = 'Vous tenez le cap — <span class="em">mais un angle mort demande votre attention.</span>';
    vHead.innerHTML = head;
    vBody.innerHTML = `Votre point de friction principal, c'est <b>${blocage}</b>`
      + (lucideGap>=15 ? `, aggravé par une confiance excessive dans la technologie seule. ` : `. `)
      + ENGAGEMENT_NEXT[DV.engagement];
    vProg.textContent = "Lecture complète — 4 réponses sur 4.";
    const mainCta = document.querySelector('.closing-cta [data-scanner]');
    if(mainCta){ mainCta.innerHTML = 'Confirmez votre lecture <svg viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="2"><path d="M5 12h14M13 6l6 6-6 6" stroke-linecap="round" stroke-linejoin="round"/></svg>'; }
  }

  function runCalcThenReveal(){
    if(verdictComputed || calcRunning) return;
    calcRunning = true;
    const reduce = matchMedia('(prefers-reduced-motion:reduce)').matches;
    // prépare le contenu en coulisse (caché)
    fillComplete();
    vContent.classList.remove('show');
    vCalc.classList.add('show');
    const steps = [
      "Analyse de vos réponses",
      "Croisement des signaux",
      "Lecture de vos affinités"
    ];
    let i = 0;
    vCalcText.textContent = steps[0];
    const dur = reduce ? 0 : 2200;
    const interval = reduce ? 99999 : 730;
    const tick = setInterval(()=>{ i=(i+1)%steps.length; vCalcText.textContent = steps[i]; }, interval);
    setTimeout(()=>{
      clearInterval(tick);
      vCalc.classList.remove('show');
      vContent.classList.add('show');
      verdictComputed = true;
      calcRunning = false;
    }, dur);
  }

  function updateVerdict(){
    const n = answeredCount();
    if(typeof ensureResetButton==='function' && n>0) ensureResetButton();

    if(n < DV_TOTAL){
      // diagnostic incomplet : le verdict reste CACHÉ (il est juste sous la dernière question,
      // on ne montre rien tant que les 4 réponses ne sont pas données).
      verdict.classList.remove('show');
    } else if(verdictComputed){
      // verdict DÉJÀ calculé : l'utilisateur a modifié une réponse → on régénère le contenu
      // immédiatement (sans rejouer l'animation théâtrale), pour que la lecture reste juste.
      verdict.classList.add('show');
      fillComplete();
      if(typeof highlightSuggestedLevel==='function') highlightSuggestedLevel();
    } else {
      // 1er passage complet → on révèle le bloc et on lance l'animation de calcul.
      verdict.classList.add('show');
      armVerdictReveal();
    }
  }

  // lance le calcul théâtral. Le verdict étant juste sous la dernière question,
  // il est déjà visible : on déclenche directement (plus besoin d'attendre un scroll).
  let verdictArmed = false;
  function armVerdictReveal(){
    if(verdictArmed) return;
    verdictArmed = true;
    // petit délai pour laisser le bloc apparaître, puis calcul + révélation
    setTimeout(()=>{ runCalcThenReveal(); }, 120);
  }

  // met en avant la carte d'offre correspondant à la réponse Q4 (engagement)
  const ENGAGEMENT_TO_LEVEL = { diagnostic:'diagnostic', activation:'activation', transformation:'transformation' };
  function highlightSuggestedLevel(){
    if(!DV.engagement) return;
    const target = ENGAGEMENT_TO_LEVEL[DV.engagement];
    document.querySelectorAll('.level').forEach(l=>{
      l.classList.remove('suggested');
      const b = l.querySelector('.level-suggest-badge'); if(b) b.remove();
    });
    const card = document.querySelector(`.level[data-level="${target}"]`);
    if(card){
      card.classList.add('suggested');
      let host = card.querySelector('.level-badges');
      if(!host){ host = document.createElement('div'); host.className='level-badges'; card.appendChild(host); }
      if(!host.querySelector('.level-suggest-badge')){
        const badge = document.createElement('div');
        badge.className='level-suggest-badge'; badge.textContent='Pour vous';
        host.appendChild(badge);
      }
    }
  }

  /* ===================== QUESTION SÉCURITÉ (prise de conscience, hors verdict) ===================== */
  (function(){
    const REACT = {
      suisse: "Rare, et précieux. Vous faites partie des dirigeants qui ont déjà pris le sujet au sérieux. <b>On bâtira là-dessus.</b>",
      ailleurs: "C'est le cas de la majorité — souvent sans même l'avoir choisi. <b>Rapatrier vos données en Suisse, c'est une des premières choses qu'on regarde ensemble.</b>",
      inconnu: "Vous n'êtes pas seul, et c'est exactement le problème : on confie ses données sans savoir où elles vont. <b>La première étape, c'est de reprendre ce contrôle.</b>"
    };
    const q = document.getElementById('securityQ');
    if(!q) return;
    const react = document.getElementById('securityReact');
    q.querySelectorAll('.security-opt').forEach(btn=>{
      btn.addEventListener('click',()=>{
        q.querySelectorAll('.security-opt').forEach(b=>b.classList.remove('picked'));
        btn.classList.add('picked');
        react.innerHTML = REACT[btn.dataset.sec] || '';
        react.classList.add('show');
        // capter la réponse pour le profil CRM
        DV.securite = btn.dataset.sec;
        try{ localStorage.setItem(DV_STORAGE_KEY, JSON.stringify(DV)); }catch(e){}
      });
    });
  })();
  const capsule = document.getElementById('capsule');
  const capsuleBtn = document.getElementById('capsuleBtn');
  const capsuleAudio = document.getElementById('capsuleAudio');
  const icPlay = capsule.querySelector('.ic-play');
  const icPause = capsule.querySelector('.ic-pause');
  let hasAudio = false;
  // détecte si une source a été renseignée
  const src = capsuleAudio.querySelector('source');
  hasAudio = !!(src && src.getAttribute('src'));
  capsuleBtn.addEventListener('click',()=>{
    if(!hasAudio){
      // pas encore d'enregistrement : feedback discret
      const sub = capsule.querySelector('.capsule-sub');
      sub.textContent = "Capsule à venir — enregistrement en préparation";
      return;
    }
    if(capsuleAudio.paused){
      capsuleAudio.play();
      capsule.classList.add('playing'); icPlay.style.display='none'; icPause.style.display='block';
    } else {
      capsuleAudio.pause();
      capsule.classList.remove('playing'); icPlay.style.display='block'; icPause.style.display='none';
    }
  });
  capsuleAudio.addEventListener('ended',()=>{
    capsule.classList.remove('playing'); icPlay.style.display='block'; icPause.style.display='none';
  });

  /* ===================== MODALE CONTACT ===================== */
  // ⚙️ À CÂBLER : URL du webhook Make/Airtable qui reçoit les demandes.
  // Tant que vide, les données s'affichent en console + bascule mailto de secours.
  const CONTACT_WEBHOOK = 'https://hook.eu1.make.com/alub963wmphy7pidhugvsw700q3nk5pe';
  const CONTACT_EMAIL = 'hello@affinites.ch';

  const modal = document.getElementById('contactModal');
  const modalBody = document.getElementById('modalBody');
  const modalSuccess = document.getElementById('modalSuccess');
  const modalContext = document.getElementById('modalContext');
  const modalContextVal = document.getElementById('modalContextVal');
  const modalError = document.getElementById('modalError');
  const modalSubmit = document.getElementById('modalSubmit');
  let lastFocus = null;

  // libellés propres pour l'affichage dans la modale (la valeur brute reste pour le CRM)
  const CONTEXT_LABELS = {
    "Activation — chantier court": "une Activation — chantier court et ciblé",
    "Transformation de fond": "une Transformation de fond",
    "échange": "un premier échange"
  };

  function openModal(context){
    lastFocus = document.activeElement;
    // réinitialise l'état
    modalBody.hidden = false; modalSuccess.hidden = true; modalError.hidden = true;
    if(context){
      modalContext.hidden = false;
      modalContextVal.textContent = CONTEXT_LABELS[context] || context;
      modalContextVal.dataset.raw = context; // valeur brute conservée pour le CRM
    }
    else { modalContext.hidden = true; }
    modal.classList.add('open'); modal.setAttribute('aria-hidden','false');
    document.body.style.overflow = 'hidden';
    setTimeout(()=>document.getElementById('cfPrenom').focus(), 350);
  }
  function closeModal(){
    modal.classList.remove('open'); modal.setAttribute('aria-hidden','true');
    document.body.style.overflow = '';
    if(lastFocus) lastFocus.focus();
  }

  // ouvre depuis tous les boutons data-contact (closing + cartes niveaux)
  document.querySelectorAll('[data-contact]').forEach(btn=>{
    btn.addEventListener('click',()=>openModal(btn.dataset.contact));
  });
  document.getElementById('modalClose').addEventListener('click', closeModal);
  document.getElementById('modalDone').addEventListener('click', closeModal);
  modal.addEventListener('click', e=>{ if(e.target===modal) closeModal(); });
  document.addEventListener('keydown', e=>{ if(e.key==='Escape' && modal.classList.contains('open')) closeModal(); });

  function validEmail(v){ return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(v); }

  modalSubmit.addEventListener('click', async ()=>{
    // traduction des réponses du Diagnostic Vivant en libellés lisibles pour le CRM
    const LBL_DOULEUR = {fort:"Se reconnaît fortement", moyen:"Se reconnaît en partie", faible:"Ne se reconnaît pas"};
    const LBL_BLOCAGE = {vision:"Pas de cap clair", hommes:"Équipes résistent", deploiement:"Exécution", tout:"Déséquilibre général"};
    const LBL_ENGAGEMENT = {diagnostic:"Voir clair d'abord", activation:"Résultat rapide", transformation:"Transformation de fond"};
    const LBL_SECURITE = {suisse:"Données en Suisse", ailleurs:"Données à l'étranger", inconnu:"Ne sait pas où sont ses données"};
    const diag = {
      douleur: DV.douleur ? LBL_DOULEUR[DV.douleur] : '',
      lucidite_techno_pct: (typeof DV.lucidite==='number') ? DV.lucidite : '',
      blocage: DV.blocage ? LBL_BLOCAGE[DV.blocage] : '',
      securite: DV.securite ? LBL_SECURITE[DV.securite] : '',
      engagement: DV.engagement ? LBL_ENGAGEMENT[DV.engagement] : '',
      complet: (DV.douleur && typeof DV.lucidite==='number' && DV.blocage && DV.engagement) ? 'oui' : 'partiel/non'
    };
    const data = {
      prenom: document.getElementById('cfPrenom').value.trim(),
      nom: document.getElementById('cfNom').value.trim(),
      email: document.getElementById('cfEmail').value.trim(),
      telephone: document.getElementById('cfTel').value.trim(),
      entreprise: document.getElementById('cfEntreprise').value.trim(),
      enjeu: document.getElementById('cfEnjeu').value.trim(),
      interet: modalContext.hidden ? '' : (modalContextVal.dataset.raw || modalContextVal.textContent),
      // réponses du Diagnostic Vivant — à plat pour le mapping Make/Airtable (envoi silencieux)
      diagnostic_douleur: diag.douleur,
      diagnostic_lucidite_techno_pct: diag.lucidite_techno_pct,
      diagnostic_blocage: diag.blocage,
      diagnostic_securite: diag.securite,
      diagnostic_engagement: diag.engagement,
      diagnostic_complet: diag.complet,
      source: 'Page Cabinet IA',
      date: new Date().toISOString()
    };
    // validation minimale
    if(!data.prenom || !data.nom || !validEmail(data.email)){
      modalError.hidden = false;
      modalError.textContent = "Merci de renseigner votre prénom, votre nom et un email valide.";
      return;
    }
    modalError.hidden = true;
    modalSubmit.disabled = true;
    modalSubmit.textContent = 'Envoi…';

    let ok = false;
    if(CONTACT_WEBHOOK){
      try{
        const r = await fetch(CONTACT_WEBHOOK, {
          method:'POST', headers:{'Content-Type':'application/json'}, body:JSON.stringify(data)
        });
        ok = r.ok;
      }catch(e){ ok = false; }
    }
    // bascule mailto de secours si pas de webhook ou échec
    if(!ok && !CONTACT_WEBHOOK){
      const subj = encodeURIComponent(`Demande d'échange — ${data.interet||'Cabinet IA'}`);
      const diagLines = diag.complet!=='partiel/non' || diag.douleur || diag.blocage || diag.engagement
        ? `\n\n— Diagnostic Vivant —\nReconnaissance: ${diag.douleur||'—'}\nEstimation techno: ${diag.lucidite_techno_pct!==''?diag.lucidite_techno_pct+'%':'—'}\nBlocage: ${diag.blocage||'—'}\nDémarrage souhaité: ${diag.engagement||'—'}`
        : '';
      const body = encodeURIComponent(
        `Prénom: ${data.prenom}\nNom: ${data.nom}\nEmail: ${data.email}\nTéléphone: ${data.telephone}\nEntreprise: ${data.entreprise}\nIntérêt: ${data.interet}\nEnjeu: ${data.enjeu}${diagLines}`
      );
      window.location.href = `mailto:${CONTACT_EMAIL}?subject=${subj}&body=${body}`;
      ok = true;
    }
    // affiche le succès (le webhook a répondu, ou mailto déclenché)
    if(ok || !CONTACT_WEBHOOK){
      modalBody.hidden = true; modalSuccess.hidden = false;
    } else {
      modalError.hidden = false;
      modalError.textContent = "Un problème est survenu. Réessayez ou écrivez directement à "+CONTACT_EMAIL+".";
    }
    modalSubmit.disabled = false;
    modalSubmit.innerHTML = 'Réserver mon échange <svg viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="2"><path d="M5 12h14M13 6l6 6-6 6" stroke-linecap="round" stroke-linejoin="round"/></svg>';
  });

  /* ===================== RESTAURATION AU CHARGEMENT ===================== */
  function restoreDV(){
    const saved = loadDV();
    if(!saved) return;
    let any = false;

    // questions à choix
    ['douleur','blocage','engagement'].forEach(key=>{
      if(saved[key]){
        DV[key] = saved[key];
        const block = document.querySelector(`.dv-q[data-q="${key}"]`);
        if(block){
          block.classList.add('answered');
          const btn = block.querySelector(`.dv-opt[data-val="${saved[key]}"]`);
          if(btn) btn.classList.add('picked');
          any = true;
        }
      }
    });

    // curseur lucidité
    if(typeof saved.lucidite==='number' && truthInput){
      DV.lucidite = saved.lucidite;
      truthInput.value = saved.lucidite;
      truthReadout.textContent = (function(v){
        if(v>=70) return "Vous misez gros sur la technique. C'est exactement le réflexe que je vais vous faire revoir.";
        if(v>=45) return "Vous partagez l'intuition commune. Logique — c'est le discours ambiant.";
        if(v>=25) return "Vous sentez déjà que l'humain pèse lourd. Bon instinct.";
        return "Vous avez presque tout compris avant moi.";
      })(saved.lucidite);
      truthBlock.classList.add('answered');
      any = true;
    }

    if(any){
      // marque le verdict comme déjà calculé pour éviter de rejouer l'animation au retour
      verdictComputed = true;
      updateVerdict();
      // si complet, affiche directement le contenu (sans l'animation de calcul)
      if(answeredCount() >= DV_TOTAL){
        vCalc.classList.remove('show');
        vContent.classList.add('show');
        fillComplete();
      }
      if(DV.engagement) highlightSuggestedLevel();
      // bouton recommencer
      ensureResetButton();
    }
  }

  // bouton "Recommencer le diagnostic" — n'apparaît que si des réponses existent
  function ensureResetButton(){
    if(document.getElementById('dvReset')) return;
    const host = document.getElementById('verdictProgress');
    if(!host) return;
    const btn = document.createElement('button');
    btn.id = 'dvReset';
    btn.type = 'button';
    btn.className = 'dv-reset';
    btn.innerHTML = '↻ Recommencer le diagnostic';
    btn.addEventListener('click', resetDiagnostic);
    host.parentNode.appendChild(btn);
  }

  function resetDiagnostic(){
    clearDV();
    DV.douleur = DV.blocage = DV.engagement = null; DV.lucidite = null;
    // réinitialise l'UI des questions
    document.querySelectorAll('.dv-q').forEach(b=>b.classList.remove('answered'));
    document.querySelectorAll('.dv-opt.picked').forEach(b=>b.classList.remove('picked'));
    if(truthInput){ truthInput.value = 50; truthReadout.textContent = "Placez le curseur sur votre estimation, puis validez."; }
    if(truthReveal){ truthReveal.classList.remove('show'); }
    if(truthValidate){ truthValidate.style.display = ''; }
    // réinitialise le verdict
    verdictComputed = false; verdictArmed = false;
    verdict.classList.remove('show');
    vContent.classList.remove('show'); vCalc.classList.remove('show');
    // retire la suggestion + badge
    document.querySelectorAll('.level').forEach(l=>{
      l.classList.remove('suggested');
      const b = l.querySelector('.level-suggest-badge'); if(b) b.remove();
    });
    // restaure le CTA closing
    const mainCta = document.querySelector('.closing-cta [data-scanner]');
    if(mainCta){ mainCta.innerHTML = 'Rejoindre les 100 premiers <svg viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="2"><path d="M5 12h14M13 6l6 6-6 6" stroke-linecap="round" stroke-linejoin="round"/></svg>'; }
    // retire le bouton lui-même
    const rb = document.getElementById('dvReset'); if(rb) rb.remove();
    // scroll doux vers la première question
    const firstQ = document.querySelector('.dv-q[data-q="douleur"]');
    if(firstQ) firstQ.scrollIntoView({behavior:'smooth', block:'center'});
  }

  // (restauration au chargement)
  restoreDV();
</script>
</body>
</html>