/* Vision Plus — offre santé & esthétique.
   « Votre secrétaire IA » : section Secrétariat médical IA (#secretariat-medical).
   « Campagne ADS » : section Visibilité & communication spécialisée (#visibilite-sante).
   Les deux pages : section commune « De la première découverte… » (.mx).
   Secrétariat médical : tableau de bord fictif (.md-*), missions en accordéons (.ms-m), relais humain, niveaux d'automatisation.
   Identité du site (bleu nuit, noir, chrome, verre, LED bleue), en plus sobre : verre clair, filets fins, beaucoup d'air. */

section.ms,.mv,.mx{position:relative;isolation:isolate}
/* la page « Votre secrétaire IA » a aussi des cartes article.ms : on neutralise leurs règles sur la section */
section.ms{display:block;gap:0;border:0;border-radius:0}
section.ms,.mv{padding:clamp(72px,9vw,128px) 0 clamp(52px,6vw,88px);
  background:radial-gradient(48% 36% at 82% 8%,rgba(40,120,232,.11),transparent 70%),linear-gradient(180deg,transparent,rgba(9,19,36,.6) 14%,rgba(7,14,27,.6) 86%,transparent)}
section.ms::before,.mv::before,.mx::before{content:"";position:absolute;left:50%;top:0;width:min(1100px,86%);height:1px;transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(130,200,255,.7),transparent);box-shadow:0 0 10px rgba(40,150,255,.6)}
section.ms .wrap,.mv .wrap,.mx .wrap{max-width:1240px}

/* ---------- en-tête de section : texte + visuel 3D ---------- */
.ms-hero{display:grid;gap:clamp(34px,4.4vw,70px);align-items:center}
@media (min-width:1000px){.ms-hero{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}}
.ms-copy{display:grid;gap:18px;justify-items:start;max-width:590px;min-width:0}
.ms-title{margin:0;font:600 clamp(1.95rem,3.3vw,3.05rem)/1.1 var(--f-display);letter-spacing:-.02em;text-wrap:balance}
.ms-title .w{display:block;color:#fff}
.ms-title .b{display:block;margin-top:.1em;color:#86C4FF}
.ms-copy .lead{margin:0;max-width:56ch;color:#D9E2EC;font-size:clamp(1.02rem,1.2vw,1.12rem);line-height:1.66}
.ms-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.ms-actions .btn-line:hover,.mx .btn-line:hover{border-color:rgba(120,195,255,.95)!important;color:#fff;box-shadow:0 0 0 1px rgba(31,140,255,.35),0 0 18px rgba(40,150,255,.45)}

.ms-visual{position:relative;margin:0;min-width:0}
.ms-shot{position:relative;margin:0;border-radius:24px;overflow:hidden;
  box-shadow:0 0 0 1px rgba(150,205,255,.42),0 0 26px -4px rgba(40,150,255,.45),0 40px 70px -34px rgba(0,0,0,.95)}
.ms-shot img{display:block;width:100%;height:auto;background:#04080F}
.ms-shot::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),inset 0 1px 0 rgba(220,240,255,.22);
  background:linear-gradient(118deg,rgba(255,255,255,.08),transparent 28%)}
.ms-visual .ms-shot{animation:ms-float 9s ease-in-out infinite}
@keyframes ms-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.ms-fict{display:inline-flex;align-items:center;gap:8px;margin-top:12px;color:var(--mut);font-size:.84rem;font-style:italic}
.ms-fict::before{content:"";width:18px;height:1px;background:rgba(130,200,255,.7)}

/* ---------- signature ---------- */
.ms-sign{margin:clamp(40px,5vw,64px) auto 0;max-width:980px;display:flex;align-items:center;gap:22px;text-align:center}
.ms-sign::before,.ms-sign::after{content:"";flex:1 1 40px;min-width:24px;height:1px;background:linear-gradient(90deg,transparent,rgba(110,190,255,.8));box-shadow:0 0 8px rgba(40,150,255,.6)}
.ms-sign::after{background:linear-gradient(270deg,transparent,rgba(110,190,255,.8))}
.ms-sign span{flex:0 1 auto;font:500 clamp(1.15rem,1.8vw,1.5rem)/1.4 var(--f-display);color:#EEF4FA}

/* ---------- titres de blocs ---------- */
.ms-block{margin-top:clamp(56px,7vw,96px)}
.ms-bh{display:grid;gap:10px;margin-bottom:clamp(24px,3vw,36px);max-width:760px}
.ms-bh h3{margin:0;font:600 clamp(1.4rem,2.2vw,1.9rem)/1.2 var(--f-display);color:#fff;letter-spacing:-.01em}
.ms-bh p{margin:0;color:var(--soft);line-height:1.6}
.ms-kicker{font:600 .76rem/1 var(--f-display);letter-spacing:.2em;text-transform:uppercase;color:#7FBFFF}

/* ---------- cartes de fonctionnalités ---------- */
.ms-cards{list-style:none;margin:0;padding:0;display:grid;gap:18px}
@media (min-width:700px){.ms-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.ms-cards>li:last-child:nth-child(odd){grid-column:1/-1}}
@media (min-width:1080px){.ms-cards{grid-template-columns:repeat(6,minmax(0,1fr))}.ms-cards>li{grid-column:span 2}.ms-cards>li:nth-child(n+4){grid-column:span 3}.ms-cards>li:last-child:nth-child(odd){grid-column:span 3}}
.ms-card{position:relative;display:grid;align-content:start;gap:14px;padding:26px 26px 24px;border-radius:18px;
  border:1px solid rgba(150,195,240,.24);background:linear-gradient(180deg,rgba(20,38,66,.62),rgba(8,16,30,.8));
  box-shadow:inset 0 1px 0 rgba(210,232,255,.12),0 26px 44px -30px rgba(0,0,0,.95);
  transition:border-color .3s var(--ease),box-shadow .3s var(--ease),transform .3s var(--ease)}
.ms-card::before{content:"";position:absolute;left:26px;right:26px;top:-1px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,transparent,#8CCBFF,transparent);box-shadow:0 0 8px rgba(60,170,255,.75);opacity:.5;transition:opacity .3s}
.ms-card:hover{transform:translateY(-3px);border-color:rgba(160,212,255,.62);
  box-shadow:inset 0 1px 0 rgba(210,232,255,.18),0 0 0 1px rgba(60,160,255,.2),0 0 26px -8px rgba(40,150,255,.65),0 30px 46px -30px rgba(0,0,0,.95)}
.ms-card:hover::before{opacity:1}
.ms-card-h{display:flex;align-items:center;gap:14px}
.ms-card h4{margin:0;font:600 1.12rem/1.3 var(--f-display);color:#fff}
.ms-ic{display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:13px;
  background:radial-gradient(80% 80% at 30% 20%,rgba(110,180,255,.26),transparent 60%),linear-gradient(180deg,#14294A,#070E1B);
  box-shadow:inset 0 0 0 1px rgba(160,212,255,.5),inset 0 1px 0 rgba(225,240,255,.3),0 0 16px -3px rgba(40,150,255,.55)}
.ms-ic svg{width:23px;height:23px;fill:none;stroke:#C6E6FF;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ms-list{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.ms-list li{position:relative;padding-left:20px;color:var(--soft);font-size:.96rem;line-height:1.55}
.ms-list li::before{content:"";position:absolute;left:2px;top:.62em;width:7px;height:7px;border-radius:50%;background:#5DB3FF;box-shadow:0 0 6px rgba(60,170,255,.8)}

/* ---------- encadrés ---------- */
.ms-frame{display:grid;gap:18px 26px;padding:clamp(24px,3vw,36px);border-radius:20px;position:relative;overflow:hidden;
  border:1px solid rgba(160,212,255,.42);background:linear-gradient(135deg,rgba(26,48,82,.66),rgba(8,16,30,.86));
  box-shadow:inset 0 1px 0 rgba(220,240,255,.16),0 0 30px -12px rgba(40,150,255,.55)}
.ms-frame::before{content:"";position:absolute;left:0;top:18%;bottom:18%;width:3px;border-radius:0 3px 3px 0;background:linear-gradient(180deg,#7CCBFF,#2386F2);box-shadow:0 0 12px rgba(60,170,255,.9)}
@media (min-width:860px){.ms-frame{grid-template-columns:auto minmax(0,1fr)}}
.ms-frame .ms-ic{width:58px;height:58px;border-radius:16px}.ms-frame .ms-ic svg{width:28px;height:28px}
.ms-frame h3{margin:0 0 8px;font:600 clamp(1.25rem,1.9vw,1.6rem)/1.25 var(--f-display);color:#fff}
.ms-frame p{margin:0;color:var(--soft);line-height:1.62}
.ms-frame p+p,.ms-frame p+ul,.ms-frame ul+p{margin-top:14px}
.ms-limits{list-style:none;margin:0;padding:0;display:grid;gap:10px}
@media (min-width:640px){.ms-limits{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ms-limits li{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:12px;border:1px solid rgba(150,200,250,.22);background:rgba(4,10,20,.45);color:#E7EEF6;font-size:.95rem;line-height:1.35}
.ms-limits svg{width:18px;height:18px;flex:none;fill:none;stroke:#9FD3FF;stroke-width:1.8;stroke-linecap:round}

/* ---------- démonstration 3D (données fictives) ---------- */
.ms-demo{position:relative;padding:clamp(26px,3.4vw,44px);border-radius:26px;overflow:hidden;
  border:1px solid rgba(150,205,255,.3);background:radial-gradient(70% 60% at 50% 0%,rgba(40,120,232,.16),transparent 70%),linear-gradient(180deg,rgba(12,24,44,.8),rgba(5,10,20,.92));
  box-shadow:inset 0 1px 0 rgba(220,240,255,.12),0 40px 70px -40px rgba(0,0,0,.95)}
.ms-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:99px;border:1px solid rgba(150,205,255,.5);background:rgba(8,18,36,.8);
  font:600 .74rem/1 var(--f-display);letter-spacing:.14em;text-transform:uppercase;color:#BFE1FF}
.ms-badge::before{content:"";width:7px;height:7px;border-radius:50%;background:#5DB3FF;box-shadow:0 0 8px #3FA0FF}
.ms-steps{list-style:none;margin:clamp(24px,3vw,34px) 0 0;padding:0;display:grid;gap:22px;position:relative;perspective:1200px;counter-reset:st}
@media (min-width:1000px){
  .ms-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
  .ms-steps::before{content:"";position:absolute;left:6%;right:6%;top:23px;height:2px;border-radius:2px;background:linear-gradient(90deg,rgba(90,180,255,.2),#4FA8FF,rgba(90,180,255,.2));box-shadow:0 0 10px rgba(40,150,255,.7)}
}
.ms-step{position:relative;display:grid;gap:14px;align-content:start;min-width:0}
.ms-step-h{display:flex;align-items:center;gap:12px}
.ms-n{position:relative;z-index:1;display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:50%;
  font:600 1.05rem/1 var(--f-display);color:#fff;background:radial-gradient(circle at 35% 30%,#3D86E8,#0C2550 70%);
  box-shadow:0 0 0 2px rgba(170,220,255,.75),0 0 16px rgba(40,150,255,.8),inset 0 -3px 6px rgba(0,0,0,.4)}
.ms-step-h b{font:600 1rem/1.25 var(--f-display);color:#fff}
.ms-pane{display:grid;gap:10px;padding:16px;border-radius:16px;min-height:150px;align-content:start;
  border:1px solid rgba(160,212,255,.4);background:linear-gradient(160deg,rgba(34,58,96,.6),rgba(8,16,30,.88));
  box-shadow:inset 0 1px 0 rgba(225,242,255,.22),0 0 18px -6px rgba(40,150,255,.5),0 26px 36px -24px rgba(0,0,0,.9);
  transform:rotateX(9deg) translateZ(0);transform-origin:50% 100%;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.ms-step:hover .ms-pane,.ms-step.is-vue .ms-pane{transform:rotateX(0) translateY(-4px);box-shadow:inset 0 1px 0 rgba(225,242,255,.3),0 0 26px -4px rgba(60,170,255,.7),0 30px 40px -24px rgba(0,0,0,.9)}
.ms-row{display:flex;align-items:center;gap:10px;min-width:0;color:#E8F0F8;font-size:.9rem;line-height:1.35}
.ms-row small{color:var(--mut);font-size:.8rem}
.ms-row svg{width:18px;height:18px;flex:none;fill:none;stroke:#9FD3FF;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ms-quote{margin:0;padding:10px 12px;border-radius:10px;background:rgba(4,10,20,.55);border:1px solid rgba(150,200,250,.18);color:#DCE6F0;font-size:.88rem;line-height:1.45;font-style:italic}
.ms-kv{display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px 12px;margin:0;font-size:.86rem;line-height:1.35}
.ms-kv dt{color:var(--mut)}.ms-kv dd{margin:0;color:#EAF2FB}
.ms-wave{display:flex;align-items:center;gap:3px;height:22px}
.ms-wave i{width:3px;border-radius:2px;background:#5DB3FF;box-shadow:0 0 6px rgba(60,170,255,.8);animation:ms-wave 1.4s ease-in-out infinite}
.ms-wave i:nth-child(1){height:30%}.ms-wave i:nth-child(2){height:70%;animation-delay:-.2s}.ms-wave i:nth-child(3){height:100%;animation-delay:-.4s}.ms-wave i:nth-child(4){height:55%;animation-delay:-.6s}
.ms-wave i:nth-child(5){height:85%;animation-delay:-.8s}.ms-wave i:nth-child(6){height:40%;animation-delay:-1s}.ms-wave i:nth-child(7){height:65%;animation-delay:-1.2s}
@keyframes ms-wave{0%,100%{transform:scaleY(.55)}50%{transform:scaleY(1)}}
.ms-branch{display:grid;gap:8px}
.ms-opt{display:grid;gap:6px;padding:10px 12px;border-radius:10px;border:1px solid rgba(150,200,250,.22);background:rgba(4,10,20,.5)}
.ms-opt b{font:600 .8rem/1.2 var(--f-display);color:#9FD3FF;letter-spacing:.02em}
.ms-opt span{color:#DCE6F0;font-size:.85rem;line-height:1.4}
.ms-slots{display:flex;flex-wrap:wrap;gap:6px}
.ms-slots span{padding:4px 9px;border-radius:8px;border:1px solid rgba(150,205,255,.45);background:rgba(20,50,95,.5);color:#EAF4FF;font-size:.8rem}
.ms-slots span.on{background:linear-gradient(180deg,#2C7EE6,#1A5FC0);border-color:rgba(190,225,255,.9);box-shadow:0 0 10px rgba(40,150,255,.7)}
.ms-ok{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:rgba(30,110,220,.16);border:1px solid rgba(150,205,255,.45);color:#EAF4FF;font-size:.88rem;line-height:1.35}
.ms-ok svg{width:20px;height:20px;flex:none;fill:none;stroke:#8FD0FF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
/* l'étape active s'illumine à tour de rôle */
.ms-steps .ms-pane{animation:ms-step 12s ease-in-out infinite}
.ms-steps>li:nth-child(2) .ms-pane{animation-delay:3s}.ms-steps>li:nth-child(3) .ms-pane{animation-delay:6s}.ms-steps>li:nth-child(4) .ms-pane{animation-delay:9s}
@keyframes ms-step{0%,22%{border-color:rgba(190,228,255,.9);box-shadow:inset 0 1px 0 rgba(225,242,255,.3),0 0 0 1px rgba(80,170,255,.4),0 0 30px -4px rgba(60,170,255,.8),0 26px 36px -24px rgba(0,0,0,.9)}30%,100%{}}
.ms-demo-note{margin:22px 0 0;color:var(--mut);font-size:.9rem;line-height:1.55}
.ms-demo-note a{color:#9FD3FF}

/* ---------- confidentialité ---------- */
.ms-trust{list-style:none;margin:0;padding:0;display:grid;gap:14px}
@media (min-width:700px){.ms-trust{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1080px){.ms-trust{grid-template-columns:repeat(3,minmax(0,1fr))}}
.ms-trust li{display:grid;gap:10px;align-content:start;padding:20px;border-radius:16px;border:1px solid rgba(150,195,240,.22);background:rgba(10,20,38,.6)}
.ms-trust b{font:600 1rem/1.3 var(--f-display);color:#fff}
.ms-trust span{color:var(--soft);font-size:.92rem;line-height:1.55}
.ms-trust .ms-ic{width:40px;height:40px;border-radius:11px}.ms-trust .ms-ic svg{width:20px;height:20px}
.ms-small{margin:18px 0 0;display:flex;gap:10px;align-items:flex-start;color:var(--soft);font-size:.92rem;line-height:1.55}
.ms-small svg{width:18px;height:18px;flex:none;margin-top:.15em;fill:none;stroke:#9FD3FF;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* ---------- publics ---------- */
.ms-pub{display:grid;gap:clamp(26px,3.4vw,48px);align-items:center}
@media (min-width:1000px){.ms-pub{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}}
.ms-groups{display:grid;gap:16px}
@media (min-width:640px){.ms-groups{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}}
.ms-group{padding:20px;border-radius:16px;border:1px solid rgba(150,195,240,.24);background:rgba(10,20,38,.6)}
.ms-group .ms-kicker{display:block;margin-bottom:12px}
.ms-group ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.ms-group li{padding:7px 12px;border-radius:10px;border:1px solid rgba(150,205,255,.38);background:linear-gradient(180deg,rgba(22,46,84,.7),rgba(8,18,36,.85));color:#EAF2FB;font-size:.9rem;line-height:1.25}
.ms-group.alt .ms-kicker{color:#C9B6FF}
.ms-group.alt li{border-color:rgba(200,185,255,.35)}
.ms-pub-note{margin:16px 0 0;color:var(--soft);font-size:.94rem;line-height:1.6}

/* ---------- Campagne ADS : deux parcours ---------- */
.mv-paths{display:grid;gap:20px}
@media (min-width:860px){.mv-paths{grid-template-columns:repeat(2,minmax(0,1fr))}}
.mv-path{display:grid;grid-template-rows:auto 1fr;border-radius:20px;overflow:hidden;border:1px solid rgba(150,200,250,.28);background:linear-gradient(180deg,rgba(18,36,64,.6),rgba(7,14,27,.9));
  box-shadow:inset 0 1px 0 rgba(220,240,255,.12),0 30px 50px -34px rgba(0,0,0,.95);transition:border-color .3s var(--ease),box-shadow .3s var(--ease),transform .3s var(--ease)}
.mv-path:hover,.mv-path.is-vue{transform:translateY(-3px);border-color:rgba(160,212,255,.6);box-shadow:inset 0 1px 0 rgba(220,240,255,.18),0 0 28px -8px rgba(40,150,255,.65),0 30px 50px -34px rgba(0,0,0,.95)}
.mv-path img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;background:#04080F}
.mv-path div{display:grid;gap:10px;align-content:start;padding:22px 24px 26px}
.mv-path h4{margin:0;font:600 1.3rem/1.25 var(--f-display);color:#fff}
.mv-path p{margin:0;color:var(--soft);line-height:1.6}
.mv-plat{display:flex;flex-wrap:wrap;gap:7px;margin-top:4px}
.mv-plat span{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:4px 10px;border-radius:10px;border:1px solid rgba(130,195,255,.45);background:rgba(8,18,36,.75);color:#EAF2FB;font-size:.86rem}
.mv-plat svg{width:17px;height:17px;flex:none}

/* ---------- section commune : le parcours ---------- */
.mx{overflow:hidden;padding:clamp(64px,8vw,116px) 0 clamp(64px,8vw,110px);background:radial-gradient(60% 50% at 50% 60%,rgba(31,119,233,.12),transparent 72%)}
.mx-h{display:grid;gap:14px;justify-items:center;text-align:center;max-width:820px;margin:0 auto}
.mx-h h2{margin:0;font:600 clamp(1.9rem,3.2vw,2.9rem)/1.12 var(--f-display);letter-spacing:-.02em;text-wrap:balance}
.mx-h h2 span{display:block;color:#fff}.mx-h h2 .b{color:#86C4FF}
.mx-h p{margin:0;color:var(--soft);font-size:clamp(1rem,1.2vw,1.1rem);line-height:1.65;max-width:64ch}
.mx-stage{position:relative;margin:clamp(36px,5vw,60px) auto 0;max-width:1120px;perspective:1300px}
.mx-path{list-style:none;margin:0;padding:0;display:grid;gap:16px;position:relative}
.mx-step{position:relative;display:grid;justify-items:center;gap:12px;text-align:center;padding:22px 14px 20px;border-radius:18px;min-width:0;
  border:1px solid rgba(160,212,255,.36);background:linear-gradient(170deg,rgba(32,56,94,.62),rgba(7,14,27,.9));
  box-shadow:inset 0 1px 0 rgba(225,242,255,.2),0 0 22px -10px rgba(40,150,255,.6),0 30px 40px -28px rgba(0,0,0,.95);
  transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .5s var(--ease)}
.mx-step:hover,.mx-step.is-vue{border-color:rgba(190,228,255,.75);box-shadow:inset 0 1px 0 rgba(225,242,255,.28),0 0 30px -6px rgba(60,170,255,.75),0 30px 40px -28px rgba(0,0,0,.95)}
.mx-node{position:relative;display:grid;place-items:center;width:60px;height:60px;border-radius:50%;
  background:radial-gradient(circle at 35% 28%,rgba(140,200,255,.45),transparent 55%),linear-gradient(160deg,#C9D4E0,#5A6878 30%,#141C28 60%,#7C8899);
  box-shadow:0 0 0 2px rgba(10,20,36,.9),0 0 0 3px rgba(160,212,255,.7),0 0 20px rgba(40,150,255,.65),0 12px 18px -8px rgba(0,0,0,.9)}
.mx-node::after{content:"";position:absolute;inset:6px;border-radius:50%;background:radial-gradient(circle at 50% 40%,#16345F,#060D1A 75%);box-shadow:inset 0 0 10px rgba(40,150,255,.6)}
.mx-node svg{position:relative;z-index:1;width:26px;height:26px;fill:none;stroke:#CFEAFF;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 4px rgba(60,170,255,.9))}
.mx-step small{font:600 .72rem/1 var(--f-display);letter-spacing:.2em;color:rgba(150,200,255,.75)}
.mx-step b{font:600 1rem/1.3 var(--f-display);color:#fff}
.mx-floor{position:absolute;left:2%;right:2%;bottom:-34px;height:70px;pointer-events:none;border-radius:50%;
  background:radial-gradient(50% 50% at 50% 50%,rgba(40,140,255,.32),rgba(20,90,220,.1) 55%,transparent 72%);filter:blur(12px)}
@media (min-width:1000px){
  .mx-path{grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;transform:rotateX(12deg);transform-style:preserve-3d}
  .mx-path::before{content:"";position:absolute;left:8%;right:8%;top:52px;height:2px;border-radius:2px;background:linear-gradient(90deg,rgba(90,180,255,.15),#4FA8FF 20%,#4FA8FF 80%,rgba(90,180,255,.15));box-shadow:0 0 12px rgba(40,150,255,.8)}
  .mx-path::after{content:"";position:absolute;top:49px;left:8%;width:8px;height:8px;border-radius:50%;background:#E8F6FF;box-shadow:0 0 12px 3px rgba(80,180,255,.95);animation:mx-run 6s linear infinite}
  .mx-step:nth-child(odd){transform:translateZ(14px)}
  .mx-step:hover,.mx-step.is-vue{transform:translateY(-6px) translateZ(24px)}
}
@keyframes mx-run{0%{left:8%;opacity:0}6%{opacity:1}94%{opacity:1}100%{left:calc(92% - 8px);opacity:0}}
@media (max-width:999px){
  .mx-path{max-width:520px;margin:0 auto}
  .mx-path::before{content:"";position:absolute;left:50%;top:18px;bottom:18px;width:2px;transform:translateX(-50%);background:linear-gradient(180deg,rgba(90,180,255,.15),#4FA8FF 15%,#4FA8FF 85%,rgba(90,180,255,.15));box-shadow:0 0 10px rgba(40,150,255,.7)}
}
.mx-links{display:grid;gap:14px;max-width:820px;margin:clamp(40px,5vw,60px) auto 0}
@media (min-width:700px){.mx-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
.mx-link{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:16px;text-decoration:none;color:inherit;
  border:1px solid rgba(150,200,250,.3);background:rgba(10,20,38,.65);transition:border-color .25s,box-shadow .25s,transform .25s}
.mx-link:hover,.mx-link:focus-visible{border-color:rgba(160,212,255,.8);box-shadow:0 0 22px -6px rgba(40,150,255,.7);transform:translateY(-2px)}
.mx-link span{display:grid;gap:4px;min-width:0;flex:1}
.mx-link small{color:var(--mut);font-size:.82rem}
.mx-link b{font:600 1.02rem/1.3 var(--f-display);color:#fff}
.mx-link>svg{width:20px;height:20px;flex:none;fill:none;stroke:#9FD3FF;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.mx-cta{display:flex;justify-content:center;margin-top:28px}

/* ---------- téléphone ---------- */
@media (max-width:760px){
  section.ms,.mv{padding:56px 0 44px}
  html body section.ms .eyebrow,html body .mv .eyebrow{letter-spacing:.16em;gap:12px}
  html body section.ms .eyebrow::after,html body .mv .eyebrow::after{width:26px}
  .ms-actions{flex-direction:column;align-items:stretch;width:100%}
  .ms-actions .btn,.mx-cta .btn{white-space:normal;text-align:center}
  .mx-cta .btn{width:100%}
  .ms-shot{border-radius:16px}
  .ms-sign{display:block}.ms-sign::before,.ms-sign::after{display:none}
  .ms-card{padding:22px 20px}
  .ms-pane{min-height:0}
  .ms-frame{padding:22px 20px}
}

/* ---------- mouvements réduits ---------- */
@media (prefers-reduced-motion:reduce){
  .ms-visual .ms-shot,.ms-wave i,.ms-steps .ms-pane,.mx-path::after{animation:none!important}
  .ms-card,.ms-pane,.mv-path,.mx-step,.mx-link{transition:none}
  .ms-card:hover,.mv-path:hover,.mx-link:hover{transform:none}
}

/* lien vers la section, sous les boutons de l'en-tête de « Votre secrétaire IA » */
.ti-med{margin:2px 0 0;font-size:.95rem;line-height:1.5}
.ti-med a{color:#9FD3FF}
.ms-bh>.ms-badge,.ms-bh>.ms-kicker{justify-self:start}
/* surtitres longs (« Visibilité & communication spécialisée ») : sur une ligne tant que possible, lisibles s'ils passent à la ligne */
html body .ms-copy .eyebrow{letter-spacing:.16em;line-height:1.45}
/* parcours en colonne (tablette et téléphone) : icône à gauche, libellé à droite, filet lumineux vertical */
@media (max-width:999px){
  .mx-step{grid-template-columns:auto minmax(0,1fr);justify-items:start;align-items:center;text-align:start;gap:2px 16px;padding:14px 18px}
  .mx-node{grid-row:span 2;width:50px;height:50px}.mx-node svg{width:22px;height:22px}
  .mx-step small{align-self:end}.mx-step b{align-self:start}
  .mx-path::before{left:43px;transform:none}
  [dir="rtl"] .mx-path::before{left:auto;right:43px}
  /* l'impulsion lumineuse parcourt le filet vertical, comme sur le parcours horizontal de la version ordinateur */
  .mx-path::after{content:"";position:absolute;z-index:1;left:40px;top:18px;width:8px;height:8px;border-radius:50%;background:#E8F6FF;
    box-shadow:0 0 12px 3px rgba(80,180,255,.95);animation:mx-run-v 6s linear infinite;pointer-events:none}
  [dir="rtl"] .mx-path::after{left:auto;right:40px}
}
@keyframes mx-run-v{0%{top:18px;opacity:0}6%{opacity:1}94%{opacity:1}100%{top:calc(100% - 26px);opacity:0}}

/* =====================================================================
   Secrétariat médical IA — développement (rôle, missions, tableau de bord)
   Trois niveaux : a = par l'assistante, c = outils connectés, v = validation humaine
   ===================================================================== */
section.ms{--lv-a:#5DB3FF;--lv-c:#47D3DD;--lv-v:#B9A4FF}
.lv-a{--lv:var(--lv-a)}.lv-c{--lv:var(--lv-c)}.lv-v{--lv:var(--lv-v)}
.st-ok{--st:#6FDBA8}.st-wait{--st:#F3C86E}.st-info{--st:#7CC4FF}.st-draft{--st:#A9B6C6}.st-err{--st:#FF8A8A}.st-proof{--st:#5FE0E6}.st-lock{--st:#C3AEFF}

/* ---------- tableau de bord (démonstration fictive) ---------- */
.md-stage{position:relative;perspective:1800px;padding:clamp(8px,1.6vw,22px) 0 clamp(34px,4vw,58px)}
.md-app{position:relative;z-index:1;padding:6px;border-radius:24px;
  background:linear-gradient(145deg,#E6EDF5 0,#8794A5 14%,#1B2431 36%,#0C121C 60%,#7F8C9D 84%,#DCE5EF 100%);
  box-shadow:0 0 0 1px rgba(160,215,255,.5),0 0 26px rgba(40,150,255,.4),0 0 80px -18px rgba(30,120,255,.5),0 50px 80px -40px rgba(0,0,0,.95);
  transform:rotateX(8deg) scale(.985);transform-origin:50% 100%;transition:transform .9s var(--ease),box-shadow .5s var(--ease)}
.md-stage:hover .md-app,.md-stage.is-vue .md-app{transform:rotateX(1.5deg) scale(1);box-shadow:0 0 0 1px rgba(170,222,255,.8),0 0 34px rgba(60,170,255,.55),0 0 90px -14px rgba(30,120,255,.6),0 50px 80px -40px rgba(0,0,0,.95)}
.md-screen{position:relative;border-radius:19px;overflow:hidden;
  background:radial-gradient(60% 50% at 82% 0%,rgba(40,120,232,.2),transparent 70%),linear-gradient(180deg,#0B1628,#060C17);
  box-shadow:inset 0 0 0 1px rgba(140,205,255,.6),inset 0 0 22px rgba(40,150,255,.22)}
.md-screen::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;
  background:linear-gradient(118deg,rgba(255,255,255,.08),rgba(255,255,255,0) 24%,rgba(255,255,255,0) 76%,rgba(160,215,255,.05))}
.md-top{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;padding:12px 18px;border-bottom:1px solid rgba(150,200,250,.16);background:rgba(10,20,38,.6)}
.md-dots{display:flex;gap:6px}
.md-dots i{width:9px;height:9px;border-radius:50%;background:#22324A;box-shadow:inset 0 0 0 1px rgba(160,210,255,.35)}
.md-org{display:grid;gap:2px;min-width:0;margin-inline-end:auto}
.md-org b{font:600 .92rem/1.2 var(--f-display);color:#fff}
.md-org small{color:var(--mut);font-size:.74rem}
.md-fict{padding:5px 10px;border-radius:99px;border:1px dashed rgba(190,215,255,.6);color:#CFE6FF;font:600 .66rem/1 var(--f-display);letter-spacing:.12em;text-transform:uppercase}
.md-live{display:inline-flex;align-items:center;gap:8px;color:#BFE1FF;font-size:.78rem}
.md-live i{width:8px;height:8px;border-radius:50%;background:#5DB3FF;box-shadow:0 0 8px #3FA0FF;animation:md-pulse 2.4s ease-in-out infinite}
@keyframes md-pulse{0%,100%{opacity:1}50%{opacity:.35}}
.md-body{display:grid;grid-template-columns:206px minmax(0,1fr)}
.md-nav{list-style:none;margin:0;padding:14px 10px;display:grid;align-content:start;gap:3px;border-inline-end:1px solid rgba(150,200,250,.14);background:rgba(6,12,24,.55)}
.md-nav li{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;color:#AFC3D6;font-size:.8rem;line-height:1.25}
.md-nav li.on{color:#fff;background:linear-gradient(90deg,rgba(40,120,232,.34),rgba(40,120,232,.05));box-shadow:inset 2px 0 0 #5DB3FF}
[dir="rtl"] .md-nav li.on{background:linear-gradient(270deg,rgba(40,120,232,.34),rgba(40,120,232,.05));box-shadow:inset -2px 0 0 #5DB3FF}
.md-nav svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.md-nav span{flex:1;min-width:0}
.md-nav em{font:600 .68rem/1 var(--f-display);font-style:normal;padding:3px 7px;border-radius:99px;background:rgba(60,150,255,.22);color:#D6ECFF}
.md-nav em.err{background:rgba(255,110,110,.2);color:#FFC2C2}
.md-main{display:grid;gap:12px;padding:16px;min-width:0}
.md-kpis{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.md-kpis li{display:grid;gap:5px;align-content:start;padding:10px 12px;border-radius:12px;border:1px solid rgba(150,205,255,.26);background:linear-gradient(180deg,rgba(24,46,80,.6),rgba(8,16,30,.72))}
.md-kpis b{font:600 1.35rem/1 var(--f-display);color:#fff;text-shadow:0 0 12px rgba(60,170,255,.6)}
.md-kpis span{color:#AFC3D6;font-size:.72rem;line-height:1.25}
.md-kpis li.err{border-color:rgba(255,140,140,.35)}
.md-kpis li.err b{color:#FFB8B8;text-shadow:0 0 12px rgba(255,100,100,.45)}
.md-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch}
.md-w-agenda{grid-column:span 2}
.md-w{display:grid;gap:8px;align-content:start;min-width:0;padding:12px 14px;border-radius:14px;
  border:1px solid rgba(150,205,255,.24);background:linear-gradient(170deg,rgba(26,48,84,.5),rgba(8,15,28,.78));box-shadow:inset 0 1px 0 rgba(220,240,255,.1);
  transition:border-color .3s var(--ease),box-shadow .3s var(--ease)}
.md-w:hover{border-color:rgba(170,220,255,.6);box-shadow:inset 0 1px 0 rgba(220,240,255,.16),0 0 18px -6px rgba(60,170,255,.7)}
.md-w header{display:flex;align-items:center;gap:8px;min-width:0}
.md-w header svg{width:16px;height:16px;flex:none;fill:none;stroke:#8FCBFF;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.md-w h4{margin:0;font:600 .84rem/1.2 var(--f-display);color:#fff;letter-spacing:0}
.md-w header small{margin-inline-start:auto;color:var(--mut);font-size:.7rem;text-align:end}
.md-rows{list-style:none;margin:0;padding:0;display:grid}
.md-rows li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;min-width:0;padding:7px 0;border-top:1px solid rgba(150,200,250,.1)}
.md-rows li:first-child{border-top:0}
.md-t{flex:none;min-width:50px;font:600 .74rem/1 var(--f-display);color:#9FD3FF;white-space:nowrap}
.md-x{display:grid;gap:2px;flex:1 1 88px;min-width:0;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;color:#E8F0F8;font-size:.78rem;line-height:1.28}
.md-x small{color:#8EA4B8;font-size:.7rem}
.st{flex:none;max-width:100%;margin-inline-start:auto;padding:3px 8px;border-radius:99px;border:1px solid rgba(160,200,240,.35);background:rgba(255,255,255,.04);
  font:600 .66rem/1.25 var(--f-display);font-style:normal;letter-spacing:.01em;text-align:center;color:var(--st)}
.st{border-color:color-mix(in srgb,var(--st) 48%,transparent);background:color-mix(in srgb,var(--st) 12%,transparent)}
.md-btn{flex:none;margin-inline-start:auto;padding:5px 10px;border-radius:8px;border:1px solid rgba(150,205,255,.55);background:linear-gradient(180deg,rgba(44,126,230,.5),rgba(20,70,150,.5));
  color:#EEF7FF;font:600 .68rem/1 var(--f-display);font-style:normal;box-shadow:0 0 10px -3px rgba(40,150,255,.7)}
.md-n{flex:none;font:600 .95rem/1 var(--f-display);color:#fff}
.md-lock{display:inline-flex;align-items:center;gap:5px}
.md-lock svg{width:12px;height:12px;flex:none;fill:none;stroke:#B9A4FF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.md-av{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;font:600 .62rem/1 var(--f-display);color:#EAF4FF;
  background:linear-gradient(160deg,#C9D4E0,#5A6878 30%,#141C28 62%,#7C8899);box-shadow:0 0 0 1px rgba(160,212,255,.6),0 0 8px rgba(40,150,255,.45)}
.md-file{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 10px;padding:10px;border-radius:10px;border:1px solid rgba(150,200,250,.16);background:rgba(4,10,20,.5)}
.md-file b{font:600 .9rem/1 var(--f-display);color:#9FD3FF}
.md-bar{grid-column:1/-1;height:5px;border-radius:5px;background:rgba(120,170,230,.18);overflow:hidden}
.md-bar i{display:block;width:80%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2C7EE6,#7CCBFF);box-shadow:0 0 8px rgba(60,170,255,.9)}
.md-tx{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.md-tx li{display:flex;align-items:center;gap:9px;padding:6px 9px;border-radius:9px;background:rgba(4,10,20,.45);border:1px solid rgba(150,200,250,.1)}
.md-tx li::before{content:"";width:8px;height:8px;flex:none;border-radius:50%;background:var(--st);box-shadow:0 0 7px var(--st)}
.md-tx span{flex:1;min-width:0;color:#DCE6F0;font-size:.76rem;line-height:1.25}
.md-tx b{font:600 .82rem/1 var(--f-display);color:#fff}
.md-swipe{display:none;align-items:center;gap:8px;margin:2px 0 -4px;color:var(--mut);font-size:.76rem}
.md-swipe svg{width:16px;height:16px;flex:none;fill:none;stroke:#9FD3FF;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
[dir="rtl"] .md-swipe svg{transform:scaleX(-1)}
.md-foot{margin:0;color:var(--mut);font-size:.7rem;line-height:1.4;font-style:italic}
.md-chip{position:absolute;z-index:2;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:14px;
  border:1px solid rgba(170,220,255,.6);background:linear-gradient(160deg,rgba(40,70,120,.8),rgba(8,16,30,.9));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  box-shadow:inset 0 1px 0 rgba(230,245,255,.3),0 0 22px rgba(40,150,255,.42),0 24px 34px -18px rgba(0,0,0,.9);animation:md-float 7s ease-in-out infinite;pointer-events:none}
.md-chip svg{width:22px;height:22px;flex:none;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.md-chip span{display:grid;gap:2px}
.md-chip b{font:600 .82rem/1.2 var(--f-display);color:#fff}
.md-chip small{color:#AFC3D6;font-size:.72rem}
.md-chip-a{inset-inline-end:-6px;top:22px}.md-chip-a svg{stroke:var(--lv-v)}
.md-chip-b{inset-inline-start:-12px;bottom:30px;animation-delay:-3.5s}.md-chip-b svg{stroke:#5FE0E6}
@keyframes md-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.md-floor{position:absolute;z-index:0;left:6%;right:6%;bottom:0;height:80px;border-radius:50%;pointer-events:none;
  background:radial-gradient(50% 50% at 50% 50%,rgba(40,140,255,.38),rgba(20,90,220,.12) 55%,transparent 72%);filter:blur(14px)}
@media (max-width:1199px){.md-body{grid-template-columns:178px minmax(0,1fr)}.md-nav li{padding:7px 8px;font-size:.76rem}}
@media (max-width:999px){
  .md-body{grid-template-columns:1fr}.md-nav{display:none}
  .md-kpis{grid-template-columns:repeat(auto-fit,minmax(118px,1fr))}
  .md-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ---------- rôle et posture ---------- */
.ms-pos{display:grid;gap:clamp(26px,3vw,44px);align-items:start}
@media (min-width:1000px){
  .ms-pos{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
  .ms-pos .ms-frame{grid-template-columns:1fr}
  .ms-pos .ms-limits{grid-template-columns:1fr}
}
.ms-pos .ms-bh{margin-bottom:22px}
.ms-traits{list-style:none;margin:0 0 24px;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.ms-traits li{padding:9px 16px;border-radius:99px;font:600 .9rem/1 var(--f-display);color:#fff;border:1px solid rgba(170,220,255,.55);
  background:linear-gradient(180deg,rgba(40,90,160,.5),rgba(10,22,44,.85));box-shadow:inset 0 1px 0 rgba(230,245,255,.25),0 0 14px -4px rgba(40,150,255,.6)}
.ms-know{display:grid;gap:18px}
.ms-know>div{display:grid;gap:10px}
.ms-know>div>b{font:600 .95rem/1.35 var(--f-display);color:#DCEBFA}
.ms-tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.ms-tags li{padding:7px 12px;border-radius:10px;border:1px solid rgba(150,205,255,.34);background:linear-gradient(180deg,rgba(22,46,84,.62),rgba(8,18,36,.82));color:#EAF2FB;font-size:.88rem;line-height:1.25}

/* ---------- missions : légende et accordéons LED ---------- */
.ms-legend{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:12px}
@media (min-width:860px){.ms-legend{grid-template-columns:repeat(3,minmax(0,1fr))}}
.ms-legend li{position:relative;display:grid;gap:5px;align-content:start;padding:16px 18px;padding-inline-start:44px;border-radius:14px;
  border:1px solid rgba(150,195,240,.22);background:rgba(10,20,38,.6);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--lv) 40%,transparent)}
.ms-legend li::before{content:"";position:absolute;inset-inline-start:18px;top:21px;width:12px;height:12px;border-radius:50%;background:var(--lv);box-shadow:0 0 10px var(--lv)}
.ms-legend b{font:600 1rem/1.3 var(--f-display);color:#fff}
.ms-legend span{color:var(--soft);font-size:.9rem;line-height:1.5}
.ms-mis{display:grid;gap:12px}
.ms-m{position:relative;border-radius:18px;border:1px solid rgba(150,195,240,.24);background:linear-gradient(180deg,rgba(20,38,66,.55),rgba(8,16,30,.82));
  box-shadow:inset 0 1px 0 rgba(210,232,255,.1),0 22px 40px -32px rgba(0,0,0,.95);transition:border-color .3s var(--ease),box-shadow .3s var(--ease)}
.ms-m::before{content:"";position:absolute;left:26px;right:26px;top:-1px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,transparent,#8CCBFF,transparent);box-shadow:0 0 8px rgba(60,170,255,.75);opacity:0;transition:opacity .3s}
.ms-m:hover,.ms-m[open]{border-color:rgba(160,212,255,.55)}
.ms-m[open]{box-shadow:inset 0 1px 0 rgba(210,232,255,.16),0 0 26px -10px rgba(40,150,255,.6),0 22px 40px -32px rgba(0,0,0,.95)}
.ms-m:hover::before,.ms-m[open]::before{opacity:1}
.ms-m summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:16px;padding:16px 20px;border-radius:18px}
.ms-m summary::-webkit-details-marker{display:none}
.ms-m summary:focus-visible{outline:none;box-shadow:0 0 0 2px rgba(120,195,255,.9),0 0 18px rgba(40,150,255,.6)}
.ms-m summary .ms-ic{width:44px;height:44px;border-radius:12px}
.ms-m summary .ms-ic svg{width:21px;height:21px}
.ms-m-t{display:grid;gap:3px;flex:1;min-width:0}
.ms-m-t b{font:600 1.08rem/1.3 var(--f-display);color:#fff}
.ms-m-t small{color:var(--soft);font-size:.9rem;line-height:1.45}
.ms-m-lv{display:flex;gap:5px;flex:none}
.ms-m-lv i{width:9px;height:9px;border-radius:50%}
.ms-m-lv .a{background:var(--lv-a);box-shadow:0 0 6px var(--lv-a)}.ms-m-lv .c{background:var(--lv-c);box-shadow:0 0 6px var(--lv-c)}.ms-m-lv .v{background:var(--lv-v);box-shadow:0 0 6px var(--lv-v)}
.ms-chev{width:20px;height:20px;flex:none;fill:none;stroke:#9FD3FF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s var(--ease)}
.ms-m[open] .ms-chev{transform:rotate(180deg)}
.ms-m-b{display:grid;gap:12px;padding:2px 20px 20px}
@media (min-width:1000px){
  .ms-m-b{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ms-m-b:not(:has(>.ms-g~.ms-g~.ms-g)){grid-template-columns:repeat(2,minmax(0,1fr))}
}
.ms-g{display:grid;gap:11px;align-content:start;min-width:0;padding:16px;border-radius:14px;border:1px solid rgba(150,200,250,.16);background:rgba(4,10,20,.42);
  box-shadow:inset 0 1px 0 color-mix(in srgb,var(--lv) 50%,transparent)}
.ms-g>b{display:flex;align-items:center;gap:9px;font:600 .76rem/1.25 var(--f-display);letter-spacing:.12em;text-transform:uppercase;color:var(--lv)}
.ms-g>b::before{content:"";width:9px;height:9px;flex:none;border-radius:50%;background:var(--lv);box-shadow:0 0 8px var(--lv)}
.ms-g>ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ms-g>ul:not(.ms-tags):not(.ms-status)>li{position:relative;padding-inline-start:18px;color:var(--soft);font-size:.93rem;line-height:1.55}
.ms-g>ul:not(.ms-tags):not(.ms-status)>li::before{content:"";position:absolute;inset-inline-start:2px;top:.68em;width:8px;height:2px;border-radius:2px;background:var(--lv);box-shadow:0 0 6px var(--lv)}
.ms-g>ul.ms-tags{display:flex}
.ms-g>ul.ms-checks:not(.ms-tags):not(.ms-status)>li{padding-inline-start:24px}
.ms-g>ul.ms-checks:not(.ms-tags):not(.ms-status)>li::before{top:.42em;width:9px;height:5px;border-radius:0;background:none;box-shadow:none;border-left:2px solid var(--lv);border-bottom:2px solid var(--lv);transform:rotate(-45deg)}
.ms-status{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ms-status li{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;padding:9px 12px;border-radius:10px;border:1px solid rgba(160,200,240,.3);
  border-color:color-mix(in srgb,var(--st) 40%,transparent);background:color-mix(in srgb,var(--st) 9%,transparent);color:#EEF4FA;font:600 .9rem/1.3 var(--f-display)}
.ms-status li::before{content:"";width:9px;height:9px;flex:none;border-radius:50%;background:var(--st);box-shadow:0 0 8px var(--st)}
.ms-status small{flex-basis:100%;padding-inline-start:19px;color:var(--soft);font:400 .82rem/1.4 var(--f-body)}
.ms-task{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin:6px 0 0;padding:12px 14px;border-radius:12px;border:1px dashed rgba(150,205,255,.4);background:rgba(8,18,36,.55)}
.ms-task div{display:grid;gap:3px;min-width:0}
.ms-task dt{color:var(--mut);font:600 .68rem/1.2 var(--f-display);letter-spacing:.12em;text-transform:uppercase}
.ms-task dd{margin:0;color:#EAF2FB;font-size:.9rem;line-height:1.35}
.ms-task-n{margin:0;color:var(--mut);font-size:.82rem;line-height:1.45;font-style:italic}
.ms-rule{grid-column:1/-1;display:flex;align-items:flex-start;gap:10px;margin:0;padding:12px 14px;border-radius:12px;border:1px solid rgba(160,212,255,.3);background:rgba(30,90,180,.12);color:#E7EEF6;font-size:.92rem;line-height:1.55}
.ms-rule svg{width:18px;height:18px;flex:none;margin-top:.15em;fill:none;stroke:#9FD3FF;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* ---------- relais humain ---------- */
.ms-relay{padding:clamp(24px,3vw,40px);border-radius:24px;border:1px solid rgba(150,205,255,.3);
  background:radial-gradient(60% 70% at 0% 0%,rgba(40,120,232,.14),transparent 70%),linear-gradient(180deg,rgba(12,24,44,.75),rgba(5,10,20,.9));
  box-shadow:inset 0 1px 0 rgba(220,240,255,.12),0 40px 70px -40px rgba(0,0,0,.95)}
.ms-relay-l{list-style:none;margin:0;padding:0;display:grid;gap:10px}
@media (min-width:640px){.ms-relay-l{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1080px){.ms-relay-l{grid-template-columns:repeat(4,minmax(0,1fr))}}
.ms-relay-l li{display:flex;align-items:flex-start;gap:10px;padding:13px 14px;border-radius:12px;border:1px solid rgba(150,200,250,.22);background:rgba(4,10,20,.45);color:#E7EEF6;font-size:.93rem;line-height:1.45;
  transition:border-color .25s,box-shadow .25s}
.ms-relay-l li:hover{border-color:rgba(160,212,255,.6);box-shadow:0 0 16px -6px rgba(40,150,255,.7)}
.ms-relay-l svg{width:20px;height:20px;flex:none;fill:none;stroke:#9FD3FF;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ms-urgent{display:flex;align-items:flex-start;gap:12px;margin:18px 0 0;padding:14px 16px;border-radius:14px;border:1px solid rgba(243,200,110,.45);background:rgba(243,200,110,.07);color:#EDE6D6;font-size:.95rem;line-height:1.6}
.ms-urgent svg{width:20px;height:20px;flex:none;margin-top:.15em;fill:none;stroke:#F3C86E;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ms-urgent b{color:#FFE2A8}

/* ---------- niveaux d'automatisation ---------- */
.ms-auto{margin-top:18px;padding:clamp(20px,2.6vw,30px);border-radius:20px;border:1px solid rgba(160,212,255,.36);
  background:linear-gradient(135deg,rgba(26,48,82,.55),rgba(8,16,30,.86));box-shadow:inset 0 1px 0 rgba(220,240,255,.14)}
.ms-auto-h{display:grid;gap:4px;margin-bottom:16px}
.ms-auto-h b{font:600 1.15rem/1.3 var(--f-display);color:#fff}
.ms-auto-h span{color:var(--soft);font-size:.93rem;line-height:1.5}
.ms-auto-l{list-style:none;margin:0;padding:0;display:grid;gap:12px}
@media (min-width:860px){.ms-auto-l{grid-template-columns:repeat(3,minmax(0,1fr))}}
.ms-auto-l li{display:grid;gap:7px;align-content:start;padding:16px;border-radius:14px;border:1px solid rgba(160,200,240,.3);border-color:color-mix(in srgb,var(--lv) 40%,transparent);
  background:rgba(4,10,20,.5);box-shadow:inset 0 2px 0 var(--lv),0 0 18px -10px var(--lv)}
.ms-auto-l small{color:var(--soft);font-size:.88rem;line-height:1.45}
.ms-auto-l b{font:600 1.02rem/1.3 var(--f-display);color:var(--lv)}
.ms-auto-f{margin:16px 0 0;color:var(--soft);font-size:.93rem;line-height:1.6}

/* ---------- boutons de fin de section ---------- */
.ms-end{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:clamp(36px,4.4vw,60px)}
.ms-end .btn-line:hover{border-color:rgba(120,195,255,.95)!important;color:#fff;box-shadow:0 0 0 1px rgba(31,140,255,.35),0 0 18px rgba(40,150,255,.45)}

/* ---------- tablette et téléphone ---------- */
@media (max-width:999px){
  .ms-m-b{grid-template-columns:1fr}
}
@media (max-width:760px){
  /* le tableau de bord garde l'inclinaison de la version ordinateur et se redresse en passant au centre de l'écran (assets/mobile.js) */
  .md-stage{padding:30px 0 30px;perspective:1400px}
  .md-app{padding:4px;border-radius:16px;transform:rotateX(7deg) scale(.985)}
  .md-stage:hover .md-app,.md-stage.is-vue .md-app{transform:rotateX(0) scale(1)}
  /* étiquettes flottantes, en plus compact */
  .md-chip{padding:7px 10px;gap:8px;border-radius:12px}
  .md-chip svg{width:18px;height:18px}
  .md-chip b{font-size:.74rem}
  .md-chip small{font-size:.66rem}
  .md-chip-a{inset-inline-end:-4px;top:2px}
  .md-chip-b{inset-inline-start:-6px;bottom:10px}
  .md-screen{border-radius:13px}
  .md-top{padding:10px 12px}
  .md-dots{display:none}
  .md-main{padding:12px}
  .md-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .md-kpis li:last-child{grid-column:1/-1}
  /* les 8 modules défilent horizontalement : la carte suivante dépasse pour inviter à glisser */
  .md-grid{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -12px;padding:2px 12px 10px;scroll-padding-inline:12px;scrollbar-width:none;overscroll-behavior-x:contain}
  .md-grid::-webkit-scrollbar{display:none}
  .md-w{flex:0 0 84%;scroll-snap-align:start}
  .md-w-agenda{grid-column:auto}
  .md-swipe{display:flex}
  .ms-m summary{gap:12px;padding:14px 14px}
  .ms-m summary .ms-ic{width:38px;height:38px;border-radius:11px}
  .ms-m summary .ms-ic svg{width:19px;height:19px}
  .ms-m-t b{font-size:1rem}
  .ms-m-t small{font-size:.86rem}
  .ms-m-lv{display:none}
  .ms-m-b{padding:0 12px 14px}
  .ms-g{padding:14px}
  .ms-relay{padding:22px 16px}
  .ms-auto{padding:20px 16px}
  .ms-end{flex-direction:column;align-items:stretch}
  .ms-end .btn{white-space:normal;text-align:center;justify-content:center}
}
@media (prefers-reduced-motion:reduce){
  .md-chip,.md-live i{animation:none!important}
  .md-app,.ms-m,.ms-m::before,.ms-chev,.md-w,.ms-relay-l li{transition:none}
}

/* =====================================================================
   En-tête « Un accueil attentionné. Une nouvelle dimension. »
   Scène 3D de l'accueil médical (maquette de l'utilisateur, nettoyée par Codex, logo officiel brodé sur la blouse),
   textes et boutons en éléments web, quatre cartes posées sur le comptoir.
   ===================================================================== */
section.ms.ms-top{padding-top:0}
section.ms.ms-top::before{z-index:3}
.mh{position:relative;isolation:isolate;overflow:hidden;background:#060B15}
.mh-scene{position:relative;overflow:hidden}
.mh-img{display:block;width:100%;height:auto;background:#060B15}
.mh-in{position:relative;z-index:2}
.mh-copy{display:grid;gap:18px;justify-items:start;max-width:480px;min-width:0}
.mh-title{margin:0;font:600 clamp(2.2rem,3.7vw,4rem)/1.05 var(--f-display);letter-spacing:-.025em;text-wrap:balance}
.mh-title .w{display:block;color:#fff}
.mh-title .b{display:block;margin-top:.04em;color:#7DBBFF;text-shadow:0 0 28px rgba(60,150,255,.35)}
.mh-lead{margin:0;max-width:40ch;color:#DCE5EE;font-size:clamp(1.02rem,1.3vw,1.18rem);line-height:1.6}
.mh-actions{display:grid;gap:12px;justify-items:start;margin-top:10px}
.mh-actions .btn-cyan{box-shadow:0 0 0 1px rgba(120,190,255,.5),0 0 22px rgba(30,130,255,.55)}
.mh-actions .btn-line{background:rgba(6,12,24,.55)}
.mh-actions .btn-line:hover{border-color:rgba(120,195,255,.95)!important;color:#fff;box-shadow:0 0 0 1px rgba(31,140,255,.35),0 0 18px rgba(40,150,255,.45)}
.mh-note{display:flex;align-items:center;gap:12px;margin:6px 0 0;color:#C9D6E2;font-size:1rem}
.mh-note i{width:9px;height:9px;flex:none;border-radius:50%;background:#2FD3FF;box-shadow:0 0 10px #22B8FF}
.mh-cards{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.mh-cards span{min-width:0}
.mh-cards a{display:flex;align-items:center;gap:14px;min-height:64px;padding:12px 20px;border-radius:14px;text-decoration:none;color:#fff;
  border:1px solid rgba(150,205,255,.38);background:linear-gradient(180deg,rgba(22,40,70,.74),rgba(6,12,24,.86));
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  box-shadow:inset 0 1px 0 rgba(220,240,255,.18),0 0 18px -8px rgba(40,150,255,.6),0 20px 30px -20px rgba(0,0,0,.9);
  font:500 1.02rem/1.25 var(--f-display);transition:border-color .3s var(--ease),box-shadow .3s var(--ease),transform .3s var(--ease)}
.mh-cards a:hover,.mh-cards a:focus-visible{outline:none;transform:translateY(-2px);border-color:rgba(170,222,255,.85);
  box-shadow:inset 0 1px 0 rgba(220,240,255,.25),0 0 0 1px rgba(60,160,255,.3),0 0 26px -4px rgba(40,150,255,.75),0 20px 30px -20px rgba(0,0,0,.9)}
.mh-cards svg{width:30px;height:30px;flex:none;fill:none;stroke:#8CC8FF;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 4px rgba(60,170,255,.7))}
.ms-intro{margin-top:clamp(56px,7vw,100px)}
.ms-intro .ms-title{font-size:clamp(1.7rem,2.8vw,2.6rem)}

/* ordinateur : la scène occupe toute la largeur, le texte se pose sur sa partie gauche, les cartes sur le comptoir */
@media (min-width:1000px){
  .mh{height:clamp(640px,62.5vw,980px)}
  /* la scène est légèrement décalée vers la droite pour laisser au texte le mur sombre, comme sur la maquette */
  .mh-scene{position:absolute;top:0;bottom:0;left:4%;right:0;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 7%);mask-image:linear-gradient(90deg,transparent 0,#000 7%)}
  .mh-img{height:100%;object-fit:cover;object-position:62% 55%}
  .mh::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
    background:linear-gradient(90deg,rgba(5,10,19,.9) 0%,rgba(5,10,19,.72) 22%,rgba(5,10,19,.28) 38%,rgba(5,10,19,0) 50%),
               linear-gradient(180deg,rgba(5,10,19,.55) 0%,rgba(5,10,19,0) 12%,rgba(5,10,19,0) 80%,rgba(5,10,19,.5) 100%)}
  section.ms .wrap.mh-in{position:absolute;left:0;right:0;top:0;bottom:0;max-width:none;margin:0;display:flex;flex-direction:column;justify-content:space-between;
    padding:clamp(64px,7.6vw,130px) clamp(24px,4vw,72px) clamp(24px,2.8vw,44px)}
  .mh-copy{max-width:clamp(330px,25vw,500px)}
  .mh-lead{font-size:clamp(1rem,1.15vw,1.2rem)}
  .mh-cards{display:flex;flex-wrap:wrap;gap:12px clamp(14px,2vw,30px)}
  .mh-cards a{padding:12px clamp(18px,1.8vw,30px);white-space:nowrap}
}
@media (min-width:1000px) and (max-width:1199px){
  .mh-scene{left:10%}
  .mh-copy{max-width:310px}
  .mh-lead{font-size:.98rem}
  .mh-cards a{padding:10px 14px;font-size:.95rem;gap:10px}.mh-cards svg{width:26px;height:26px}
}
/* tablette et téléphone : le robot et le comptoir d'abord, puis les textes et les cartes */
@media (max-width:999px){
  /* tablette : toute la scène 3D, sans recadrage */
  .mh-scene{height:auto}
  .mh-img{height:auto;object-fit:fill}
  .mh-scene::after{content:"";position:absolute;left:0;right:0;bottom:0;height:16%;pointer-events:none;background:linear-gradient(180deg,rgba(6,11,21,0),#060B15)}
  .mh-in{margin-top:-28px;padding-bottom:clamp(40px,6vw,64px)}
  .mh-copy{max-width:640px}
  .mh-cards{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:30px}
}
@media (max-width:760px){
  /* téléphone : cadrage qui garde tous les éléments 3D (panneaux, enseigne, robot, plaque, comptoir) ;
     seul le mur sombre de gauche et un peu de plafond sont retirés : fenêtre x 23,5 %–98,5 %, y 7 %–95 % */
  .mh-scene{height:auto;aspect-ratio:1.362}
  .mh-img{width:133.3%;max-width:none;height:auto;margin:-5.84% 0 0 -31.3%}
  .mh-scene::after{height:12%}
  .mh-in{margin-top:18px}
  .mh-title{font-size:clamp(2.05rem,9.4vw,2.6rem)}
  .mh-actions{width:100%;justify-items:stretch}
  .mh-actions .btn{justify-content:center;text-align:center;white-space:normal}
  .mh-cards{gap:10px}
  .mh-cards a{min-height:58px;padding:10px 12px;gap:10px;font-size:.92rem}
  .mh-cards svg{width:24px;height:24px}
}
@media (prefers-reduced-motion:reduce){.mh-cards a{transition:none}.mh-cards a:hover{transform:none}}
.mh .eyebrow{white-space:nowrap}
/* hébreu et arabe : le texte reste sur le mur sombre, à gauche de la scène (l'image n'est pas inversée : elle contient du texte) */
@media (min-width:1000px){[dir="rtl"] .mh-in .mh-copy{align-self:flex-end}}

/* =====================================================================
   Téléphone : les robots des deux en-têtes de telephone-ia.html (« Votre secrétaire IA » .ti-scene et
   « Secrétariat médical IA » .mh-scene) s'allument et la caméra avance vers eux quand on arrive sur la section,
   puis ils flottent doucement, regard et casque lumineux. Classes posées par assets/mobile.js (robots) :
   html.rb-js, .rb-on (arrivée, une fois), .rb-run (à l'écran). Le texte et les boutons sont sous la scène : rien n'est masqué.
   Le calque lumineux (::before) a exactement la boîte de l'image et les mêmes mouvements, il suit donc le robot.
   ===================================================================== */
@media (max-width:760px){
  .ti-scene::before,.mh-scene::before{content:"";position:absolute;pointer-events:none;mix-blend-mode:screen;opacity:0}
  .ti-scene::before{top:0;left:-27.45%;width:163.92%;height:100%;transform-origin:45.5% 40%;
    background:radial-gradient(2.6% 3.6% at 42% 25.6%,rgba(160,242,255,.95),rgba(60,200,255,0)),
      radial-gradient(2.6% 3.6% at 48.9% 22.3%,rgba(160,242,255,.95),rgba(60,200,255,0)),
      radial-gradient(2.4% 2.4% at 46.7% 30.6%,rgba(140,235,255,.7),rgba(60,200,255,0)),
      radial-gradient(14% 18% at 45.5% 25%,rgba(60,170,255,.34),rgba(60,170,255,0))}
  .mh-scene::before{top:-7.95%;left:-31.3%;width:133.3%;height:113.6%;transform-origin:58% 40%;
    background:radial-gradient(2.4% 3.6% at 55.3% 33.7%,rgba(160,242,255,.95),rgba(60,200,255,0)),
      radial-gradient(2.4% 3.6% at 62.6% 31.3%,rgba(160,242,255,.95),rgba(60,200,255,0)),
      radial-gradient(2.2% 2.4% at 59.6% 37.1%,rgba(140,235,255,.7),rgba(60,200,255,0)),
      radial-gradient(13% 19% at 59% 31%,rgba(60,170,255,.34),rgba(60,170,255,0))}
  .ti-img{transform-origin:45.5% 40%}
  .mh-img{transform-origin:58% 40%}
}
@media (max-width:760px) and (prefers-reduced-motion:no-preference){
  /* avant l'arrivée : scène plus sombre, caméra en retrait */
  .rb-js .ti-img,.rb-js .mh-img{scale:1;filter:brightness(.5) saturate(.75);transition:scale 2.6s cubic-bezier(.22,1,.36,1),filter 1.3s ease}
  .rb-js .ti-scene::before,.rb-js .mh-scene::before{scale:1;transition:scale 2.6s cubic-bezier(.22,1,.36,1),opacity 1.2s ease .9s}
  /* arrivée : lumière, travelling avant vers le robot (plus marqué pour l'assistante médicale, plus petite dans sa scène) */
  .ti-scene.rb-on .ti-img,.ti-scene.rb-on::before{scale:1.1}
  .mh-scene.rb-on .mh-img,.mh-scene.rb-on::before{scale:1.25}
  .rb-on .ti-img,.rb-on .mh-img{filter:none}
  /* puis flottement et regard lumineux qui pulse */
  .rb-on .ti-img,.rb-on .mh-img{animation:rb-float 6.5s ease-in-out 2.6s infinite}
  .ti-scene.rb-on::before,.mh-scene.rb-on::before{opacity:1;animation:rb-float 6.5s ease-in-out 2.6s infinite,rb-glow 3.4s ease-in-out 2.1s infinite}
  .rb-on:not(.rb-run) .ti-img,.rb-on:not(.rb-run) .mh-img,.rb-on:not(.rb-run)::before{animation-play-state:paused}
}
/* mouvement réduit (réglage « Réduire les animations » du téléphone) : pas de mouvement, mais le même cadrage rapproché
   sur le robot et son regard lumineux, fixe */
@media (max-width:760px) and (prefers-reduced-motion:reduce){
  .ti-img,.ti-scene::before{scale:1.1}
  .mh-img,.mh-scene::before{scale:1.25}
  .ti-scene::before,.mh-scene::before{opacity:.75}
}
@keyframes rb-float{0%,100%{translate:0 0}50%{translate:0 -1.3%}}
@keyframes rb-glow{0%,100%{opacity:1}50%{opacity:.4}}
