```json
{
    "title": "Legacy – 02 Business Case Cerballiance FR",
    "url": "https://kardinal.ai/fr/temoignages-cerba-healthcare/",
    "datePublished": "2020-12-10",
    "dateModified": "2026-08-11",
    "language": "en-GB",
    "description": "Découvrez le témoignage client de Cerballiance qui a choisit la solution Kardinal pour l'optimisation de ses tournées d'interventions.",
    "author": "Kardinal",
    "publisher": "Kardinal"
}
```

# Legacy – 02 Business Case Cerballiance FR

.klh{--dbg:#0B0A0F;--cream:#F5F2EA;--mut:#9A938A;--blue:#4D6AFF;--blue-hover:#3A56E6;
 position:relative;overflow:hidden;background:var(--dbg);color:var(--cream);margin:0;
 padding:180px 0 108px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
 .klh *{box-sizing:border-box}
 .klh::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1px);background-size:24px 24px;opacity:.5}
 .klh::after{content:"";position:absolute;z-index:0;pointer-events:none;top:-160px;left:50%;transform:translateX(-50%);width:820px;height:520px;border-radius:50%;background:radial-gradient(circle at center,rgba(77,106,255,.34),rgba(77,106,255,.10) 42%,transparent 70%);filter:blur(12px)}
 .klh .kw{position:relative;z-index:1;max-width:960px;margin:0 auto;padding:0 40px;text-align:center}
 .klh-badge{display:inline-flex;align-items:center;gap:10px;background:rgba(77,106,255,.10);border:1px solid rgba(77,106,255,.42);border-radius:999px;padding:9px 18px;margin:0 0 30px}
 .klh-badge i{width:8px;height:8px;border-radius:50%;background:var(--blue);flex:none;display:block;box-shadow:0 0 10px rgba(77,106,255,.9)}
 .klh-badge span{font:700 13px Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#8FA2FF}
 .klh h1{font:700 68px/1.05 Inter,sans-serif;letter-spacing:-.03em;color:var(--cream);margin:0 auto 26px;max-width:920px}
 .klh .lead{font:400 19px/1.6 Inter,sans-serif;color:var(--mut);margin:0 auto 40px;max-width:560px}
 .klh-btns{display:inline-flex;gap:14px;flex-wrap:wrap;justify-content:center}
 .klh-btn{display:inline-flex;align-items:center;gap:10px;font:600 15px Inter,sans-serif;border-radius:12px;padding:16px 28px;text-decoration:none !important;transition:background .15s ease,border-color .15s ease,color .15s ease}
 .klh-btn.primary,.klh-btn.primary:link,.klh-btn.primary:visited{background:var(--blue);color:#fff !important}
 .klh-btn.primary:hover{background:var(--blue-hover)}
 .klh-btn.ghost,.klh-btn.ghost:link,.klh-btn.ghost:visited{background:rgba(255,255,255,.03);color:var(--cream) !important;border:1px solid rgba(255,255,255,.16)}
 .klh-btn.ghost:hover{border-color:rgba(77,106,255,.8);background:rgba(77,106,255,.10)}
 .klh-btn svg{width:18px;height:18px;transition:transform .15s ease}
 .klh-btn.ghost:hover svg{transform:translateX(4px)}
 @media(max-width:900px){
 .klh{padding:80px 0 84px}
 .klh h1{font-size:46px}
 .klh .lead{font-size:17px}
 }
 @media(max-width:600px){
 .klh{padding:64px 0 68px}
 .klh .kw{padding:0 22px}
 .klh h1{font-size:34px}
 .klh-btn{width:100%;justify-content:center}
 }

**Kardinal Foundry

 Cerballiance optimizes its at-home blood test scheduling with Kardinal
 The Cerballiance network of medical biology laboratories optimizes the planning of its at-home blood tests thanks to the Kardinal solution. Find out how Cerballiance digitized the management of its at-home blood tests and for what benefits for its teams.

 [Talk to sales](https://kardinal.ai/fr/contact-form/)
 [See our solutions](https://kardinal.ai/fr)

.ftq{--bg:#FBFAF6;--card:#FFFFFF;--line:rgba(27,24,19,.10);--line2:rgba(27,24,19,.07);--tx:#1B1813;--mut:#6B6558;--soft:#8A8377;--blue:#4D6AFF;--blue-soft:rgba(77,106,255,.10);
 position:relative;z-index:0;isolation:isolate;background:var(--bg);color:var(--tx);margin:0;padding:72px 0;
 font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
 .ftq *{box-sizing:border-box}
 .ftq .wrap{max-width:1160px;margin:0 auto;padding:0 40px}
 .ftq-card{background:var(--card);border:1px solid var(--line);border-radius:24px;overflow:hidden}
 .ftq-top{padding:44px 48px 40px}
 .ftq-eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0 0 26px}
 .ftq-eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--blue);flex:none;display:block}
 .ftq-eyebrow span{font:400 14px 'Fakt Pro',Inter,system-ui,sans-serif;letter-spacing:.15em;text-transform:uppercase;color:var(--blue)}
 .ftq-quote{display:flex;gap:22px;align-items:flex-start}
 .ftq-mark{flex:none;color:var(--blue);opacity:.9;margin-top:2px}
 .ftq-mark svg{width:40px;height:40px;display:block}
 .ftq-body{flex:1;min-width:0}
 .ftq-text{font:500 27px/1.42 Inter,sans-serif;letter-spacing:-.014em;color:var(--tx);margin:0 0 26px;max-width:56ch;text-wrap:balance}
 .ftq-by{display:flex;align-items:center;gap:14px}
 .ftq-ava{flex:none;width:46px;height:46px;border-radius:50%;background:var(--blue-soft);border:1px solid rgba(77,106,255,.24);color:var(--blue);display:flex;align-items:center;justify-content:center;font:700 15px Inter,sans-serif;letter-spacing:.02em}
 .ftq-nm{font:600 16px Inter,sans-serif;color:var(--tx);line-height:1.3}
 .ftq-rl{font:400 14px Inter,sans-serif;color:var(--mut);line-height:1.4;margin-top:2px}
 .ftq-foot{border-top:1px solid var(--line2);background:#FCFBF8;padding:30px 48px 36px}
 .ftq-ctx{font:600 13px 'Fakt Pro',Inter,system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--soft);margin:0 0 22px}
 .ftq-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
 .ftq-stat{display:flex;flex-direction:column;gap:12px;min-width:0}
 .ftq-ic{width:40px;height:40px;border-radius:11px;background:var(--blue-soft);border:1px solid rgba(77,106,255,.20);display:flex;align-items:center;justify-content:center;flex:none}
 .ftq-ic svg{width:20px;height:20px;fill:none;stroke:var(--blue);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
 .ftq-n{font:700 26px/1 Inter,sans-serif;letter-spacing:-.02em;color:var(--tx)}
 .ftq-l{font:400 14px/1.45 Inter,sans-serif;color:var(--mut)}
 @media(max-width:900px){
 .ftq{padding:52px 0}
 .ftq .wrap{padding:0 20px}
 .ftq-top{padding:34px 28px 30px}
 .ftq-foot{padding:26px 28px 32px}
 .ftq-text{font-size:22px;max-width:none}
 .ftq-stats{grid-template-columns:repeat(2,1fr);gap:24px 20px}
 }
 @media(max-width:460px){.ftq-stats{grid-template-columns:1fr}}

**Retour client

J'ai beaucoup apprécié la patience dont les collaborateurs de Kardinal ont fait preuve afin que l'on puisse tous se comprendre. Nous avons noué un véritable partenariat avec les équipes de Kardinal : on avance main dans la main et cela est vraiment enrichissant et indispensable.

 CF
 Cécile Fargeat
 Biologiste médical chez Cerballiance
 Chiffres clés

 500
 laboratoires

 4 800
 collaborateurs

 70 000
 patients / jour

 -1h
 de planification / jour

## Etat des lieux de l'avant projet

### Une planification manuelle et par laboratoire

> A l’époque quand on a commencé à travailler sur le sujet de la digitalisation de l’organisation des prises de sang à domicile, je m’occupais d’un laboratoire où tous les jours il y a avait 3 préleveurs qui sortaient. Tous les jours, j’avais beaucoup de problèmes d’organisation, de gestion des patients, de gestion des préleveurs. Le projet est né de cette idée qu’il fallait automatiser cette gestion-là.

Avant le projet, les rendez-vous des prises de sang à domicile étaient enregistrés par les secrétaires la veille, puis les préleveurs répartissaient manuellement les rendez-vous dans différentes tournées pour le lendemain. Cette planification prenait environ 1h par laboratoire et il était nécessaire de refaire une vérification le lendemain matin avant le départ du laboratoire pour s'assurer que toutes les contraintes des patients étaient bien respectées.  

Cette planification était réalisée laboratoire par laboratoire, sans mutualisation possibles des rendez-vous entre laboratoires.

### Une planification complexe due à des contraintes fortes

La planification de l'activité de prises de sang à domicile des laboratoires Cerballiance nécessite de prendre en compte des contraintes propres à cette activité, par exemple :

- la gestion des retours labo : il est nécessaire de respecter les conditions pré-analytiques des échantillons biologiques prélevés, par exemple un échantillon sanguin doit être ramené au laboratoire dans les 3h suivant son prélèvement afin d'être centrifugé,
- la compatibilité préleveur / prélèvement : il faut tenir compte des compatibilités préleveurs / geste technique dans la planification (par exemple, les préleveurs ne peuvent pas tous poser de catéther),
- les créneaux horaires de passage du préleveur : la présence d'aide à domicile chez certains patients conditionnent par exemple les horaires de passage des préleveurs.

Les contraintes de ce type sont multiples et doivent être pris en compte dans l'optimisation des tournées, ce qui rend très difficile une planification manuelle efficace.

> Prendre le rendez vous, créer la tournée, tenir compte des obligations en termes d’heures de passage, des petites choses à savoir pour prendre en charge les patients correctement, pouvoir leur indiquer à quelle heure approximativement on allait pouvoir passer puis tenir cet engagement. Faire tout ça à la main, il apparaissait que c’était quasiment impossible et d’ailleurs on y arrivait pas vraiment.

## La solution

.roc{--bg:#FBFAF6;--card:#FFFFFF;--line:rgba(27,24,19,.10);--tx:#1B1813;--mut:#6B6558;--blue:#4D6AFF;--blue-soft:rgba(77,106,255,.10);
 background:var(--bg);color:var(--tx);margin:0;padding:56px 0;
 font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
 border:1px solid var(--line);border-radius:28px}
 .roc *{box-sizing:border-box}
 .roc-wrap{max-width:1160px;margin:0 auto;padding:0 40px}
 .roc-eyebrow{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 0 40px}
 .roc-eyebrow i{width:7px;height:7px;border-radius:50%;background:var(--blue);flex:none;display:block}
 .roc-eyebrow span{font:700 13px Inter,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--blue)}
 .roc-row{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:nowrap}
 .roc-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px 18px;width:280px;flex:0 0 280px;text-align:center;
 box-shadow:0 1px 2px rgba(27,24,19,.03)}
 .roc-icon{width:52px;height:52px;border-radius:14px;background:var(--blue-soft);border:1px solid rgba(77,106,255,.20);
 display:flex;align-items:center;justify-content:center;margin:0 auto 18px}
 .roc-icon svg{width:26px;height:26px;stroke:var(--blue);fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
 .roc-card p{font:700 17px/1.4 Inter,sans-serif;color:var(--tx);margin:0;letter-spacing:-.005em}
 .roc-plus{flex:none;width:28px;height:28px;display:flex;align-items:center;justify-content:center}
 .roc-plus svg{width:22px;height:22px;stroke:var(--blue);fill:none;stroke-width:2.2;stroke-linecap:round}
 @media(max-width:900px){
 .roc{padding:40px 0;border-radius:20px}
 .roc-wrap{padding:0 22px}
 .roc-row{gap:8px}
 .roc-card{padding:18px 10px;width:auto;flex:1 1 0;min-width:0}
 .roc-card p{font-size:13px}
 .roc-icon{width:40px;height:40px;margin-bottom:10px}
 .roc-icon svg{width:20px;height:20px}
 .roc-plus{width:18px}
 .roc-plus svg{width:14px;height:14px}
 }

**Comment ça fonctionne

Une interface web pour la prise de rendez-vous

Un algorithme de planification intelligent

Une application mobile pour les préleveurs

> Depuis qu’on utilise la solution Kardinal, on fait la prise de rendez-vous sur l’interface web (que ce soient les secrétaires, les infirmières ou les préleveuses). Ensuite, la responsable du site indique les horaires de sortie de chaque infirmière. Puis l’algorithme se lance automatiquement et le lendemain matin, la préleveuse n’a plus qu’à prendre son téléphone et c’est parti !

La solution éditée par Kardinal est un outil métier dédié à la planification de rendez-vous prenant en compte un certain nombre de contraintes métier propre à l'activité des prélèvements biologiques à domicile : 

- Gestion des retours labo
- Mutualisation des prélèvements inter-labo
- Dispatch automatique et optimisée des urgences
- Prise en compte du mode de transport (piéton, transport en commun, véhiculé)
- Système de priorisation de ressource (avec renfort possible)
- Prise en compte de l’adresse de départ du préleveur
- Prise en compte des compétences des préleveurs (pose de cathéter par ex.)
- Prise en compte de la durée de vie des prélèvements
- Paramétrage possible de la durée de prélèvement
- Paramétrage de la distance max parcourue par préleveur

## Les bénéfices

### Au laboratoire

> On mettait plus d’une heure pour dispatcher la quarantaine de patients qu’on avait par jour. On gagne minimum 1 heure de temps, ce qui fait que la personne qui s’occupait des domiciles pendant plus d’une heure peut faire autre chose au sein du labo.

.benef{
 --bg:transparent; --card:#FFFFFF; --line:rgba(27,24,19,.10);
 --tx:#1B1813; --mut:#6B6558; --blue:#4D6AFF;
 background:var(--bg); color:var(--tx); padding:20px 0; margin:0;
 font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
 }
 .benef *{ box-sizing:border-box; }
 .benef-wrap{ max-width:none; margin:0 auto; padding:0 0px; }
 .benef-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
 .benef .bcard{ background:var(--card); border:1px solid var(--line); border-radius:18px; padding:30px 26px; }
 .benef .bicon{ width:48px; height:48px; border-radius:12px; background:rgba(77,106,255,.10);
 border:1px solid rgba(77,106,255,.30); display:flex; align-items:center; justify-content:center; margin-bottom:20px; }
 .benef .bicon svg{ width:24px; height:24px; stroke:var(--blue); fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
 .benef .bcard h3{ font-size:19px; font-weight:700; margin:0; color:var(--tx); letter-spacing:-.01em; }
 @media (max-width:900px){
 .benef{ padding:64px 0; }
 .benef-wrap{ padding:0 22px; }
 .benef-grid{ grid-template-columns:1fr; }
 }

Gain de temps sur la planification

 Amélioration de la productivité

 Gestion facilitée des urgences (dispatch automatique)

 Meilleure visibilité sur les tournées en cours

 Respect des conditions préanalytiques des prélèvements

 Facilite la communication en centralisant l'information

> Avant Kardinal, il fallait une communication parfaite entre tout le monde et ce n’était pas toujours le cas. Connaître les exigences de chaque patient, leurs contraintes horaires, la présence d’une aide à domicile ou autre : ça a facilité la gestion de ces contraintes horaires.

### Pour les préleveurs

.benef{
 --bg:transparent; --card:#FFFFFF; --line:rgba(27,24,19,.10);
 --tx:#1B1813; --mut:#6B6558; --blue:#4D6AFF;
 background:var(--bg); color:var(--tx); padding:20px 0; margin:0;
 font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
 }
 .benef *{ box-sizing:border-box; }
 .benef-wrap{ max-width:none; margin:0 auto; padding:0 0px; }
 .benef-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
 .benef .bcard{ background:var(--card); border:1px solid var(--line); border-radius:18px; padding:30px 26px; }
 .benef .bicon{ width:48px; height:48px; border-radius:12px; background:rgba(77,106,255,.10);
 border:1px solid rgba(77,106,255,.30); display:flex; align-items:center; justify-content:center; margin-bottom:20px; }
 .benef .bicon svg{ width:24px; height:24px; stroke:var(--blue); fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
 .benef .bcard h3{ font-size:19px; font-weight:700; margin:0; color:var(--tx); letter-spacing:-.01em; }
 @media (max-width:900px){
 .benef{ padding:64px 0; }
 .benef-wrap{ padding:0 22px; }
 .benef-grid{ grid-template-columns:1fr; }
 }

Moins de stress pour le respect des contraintes

 Moins de temps perdu lors de la réalisation de la tournée

 Moins de kilomètres parcourus

> Avec Kardinal, il y a une limite de parcours : c’est-à-dire qu’auparavant, les préleveuses essayaient d’optimiser les tournées sans calculer, évidemment, le nombre de km parcourus alors qu’à présent c’est une donnée qui est « rentrée » dans Kardinal et elles ne font pas plus de 5 km durant toute la matinée.

### Pour les patients

.benef{
 --bg:transparent; --card:#FFFFFF; --line:rgba(27,24,19,.10);
 --tx:#1B1813; --mut:#6B6558; --blue:#4D6AFF;
 background:var(--bg); color:var(--tx); padding:20px 0; margin:0;
 font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
 }
 .benef *{ box-sizing:border-box; }
 .benef-wrap{ max-width:none; margin:0 auto; padding:0 0px; }
 .benef-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
 .benef .bcard{ background:var(--card); border:1px solid var(--line); border-radius:18px; padding:30px 26px; }
 .benef .bicon{ width:48px; height:48px; border-radius:12px; background:rgba(77,106,255,.10);
 border:1px solid rgba(77,106,255,.30); display:flex; align-items:center; justify-content:center; margin-bottom:20px; }
 .benef .bicon svg{ width:24px; height:24px; stroke:var(--blue); fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
 .benef .bcard h3{ font-size:19px; font-weight:700; margin:0; color:var(--tx); letter-spacing:-.01em; }
 @media (max-width:900px){
 .benef{ padding:64px 0; }
 .benef-wrap{ padding:0 22px; }
 .benef-grid{ grid-template-columns:1fr; }
 }

Meilleur respect des contraintes du patient

 Capacité d'informer le patient de l'arrivée du préleveur

 Résultats d'analyses disponibles plus tôt

> Au-delà de l’optimisation et de l’amélioration des tournées, ce qu’on apprécie beaucoup et ce que les secrétaires aiment beaucoup, c’est qu’on sait et qu’on peut estimer l’heure de passage chez les personnes. Lorsqu’elles nous appellent parce qu’elles commencent à s’inquiéter parce que l’infirmière n’est pas encore passé, on va réussir à leur dire : « vous êtes la suivante » ou « on va arriver d’ici 1h ou 1h30 », ce qui est très apprécié des patients également.

## Découvrez ci-dessous le témoignage vidéo de l'équipe Cerballiance :

https://youtu.be/C72HPSwybwM

.kdc{
 --bg:#0E0D10; --card:#1A1820; --line:rgba(255,255,255,.10);
 --tx:#FFFFFF; --mut:#A8A29A; --blue:#4D6AFF;
 padding:80px 0; margin:0;
 background:var(--bg);
 font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
 }
 .kdc *{box-sizing:border-box}
 .kdc-wrap{max-width:1240px;margin:0 auto;padding:0 40px}
 .kdc-card{
 position:relative; overflow:hidden;
 display:grid; grid-template-columns:1fr 1fr; align-items:stretch;
 background:var(--card); border:1px solid var(--line); border-radius:28px;
 }
 /* halo bleu discret en haut à gauche */
 .kdc-card::before{content:"";position:absolute;top:-140px;left:-80px;width:420px;height:420px;
 border-radius:50%;background:radial-gradient(circle at center,rgba(77,106,255,.22),transparent 70%);
 pointer-events:none;z-index:0}
 /* ---- colonne texte ---- */
 .kdc-left{position:relative;z-index:1;padding:60px 56px;display:flex;flex-direction:column;justify-content:center}
 .kdc .kdc-left img.kdc-logo{height:20px !important;width:auto !important;max-width:150px !important;display:block;margin:0 0 28px}
 .kdc-h{font:600 22px/1.35 Inter;letter-spacing:-.01em;color:var(--tx);margin:0 0 30px;max-width:380px}
 .kdc-btn{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;
 background:var(--blue);color:#fff;text-decoration:none;font:600 15px Inter;
 border-radius:12px;padding:14px 24px;transition:background .15s ease}
 .kdc-btn:hover{background:#3a56e6;color:#fff}
 .kdc-btn svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s ease}
 .kdc-btn:hover svg{transform:translateX(4px)}
 /* ---- colonne image ---- */
 .kdc-media{position:relative;min-height:340px}
 .kdc-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
 @media (max-width:900px){
 .kdc{padding:56px 0}
 .kdc-wrap{padding:0 22px}
 .kdc-card{grid-template-columns:1fr}
 .kdc-left{padding:44px 30px;order:2}
 .kdc-media{order:1;min-height:240px}
 .kdc-h{font-size:20px}
 .kdc-btn{width:100%;justify-content:center;align-self:stretch}
 }

Would you like to discuss your challenges with our team?
 [Contact us](https://kardinal.ai/contact)

.kart{
 --bg:#FBFAF6; --card:#FFFFFF; --line:rgba(27,24,19,.10);
 --tx:#1B1813; --mut:#6B6558; --blue:#4D6AFF; --blue-hover:#3A56E6;
 background:var(--bg); color:var(--tx); padding:80px 0; margin:0;
 font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
 }
 .kart *{box-sizing:border-box}
 .kart-wrap{max-width:1000px;margin:0 auto;padding:0 0px}
 .kart-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:34px;flex-wrap:wrap}
 .kart .eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0 0 20px;
 font:400 16px 'Fakt Pro',Inter,system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}
 .kart .eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--blue);flex:none}
 .kart-h2{font:700 44px/1.07 Inter,sans-serif;letter-spacing:-.02em;color:var(--tx);margin:0}
 .kart-all,.kart-all:link,.kart-all:visited,.kart-all:hover,.kart-all:focus,.kart-all:active{
 color:#fff !important;text-decoration:none !important;
 }
 .kart-all{display:inline-flex;align-items:center;gap:10px;background:var(--blue);
 font:600 15px Inter,sans-serif;border-radius:12px;padding:13px 22px;
 transition:background .15s ease;white-space:nowrap;-webkit-tap-highlight-color:transparent}
 .kart-all:hover{background:var(--blue-hover) !important}
 .kart-all svg{width:18px;height:18px;transition:transform .15s ease}
 .kart-all:hover svg{transform:translateX(4px)}
 /* grille */
 .kart-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
 .kart-card,.kart-card:link,.kart-card:visited,.kart-card:hover,.kart-card:focus{
 text-decoration:none !important;color:inherit !important;
 }
 .kart-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);
 border-radius:18px;overflow:hidden;
 transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
 .kart-card:hover{transform:translateY(-4px);border-color:rgba(77,106,255,.35);box-shadow:0 16px 40px rgba(27,24,19,.06)}
 .kart-thumb{position:relative;width:100%;aspect-ratio:16/10;background:#ECE9E2 center/cover no-repeat;flex:none}
 .kart-pill{position:absolute;top:14px;left:14px;display:inline-flex;align-items:center;
 background:var(--blue);color:#fff;font:700 11px Inter,sans-serif;letter-spacing:.10em;text-transform:uppercase;
 padding:6px 13px;border-radius:999px}
 .kart-body{display:flex;flex-direction:column;flex:1;padding:22px 24px 24px}
 .kart-date{font:400 13px Inter,sans-serif;color:var(--mut);margin:0 0 10px}
 .kart-title{font:700 19px/1.35 Inter,sans-serif;letter-spacing:-.01em;color:var(--tx);margin:0 0 18px;
 display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
 .kart-more{margin-top:auto;display:inline-flex;align-items:center;gap:8px;
 font:700 12px Inter,sans-serif;letter-spacing:.10em;text-transform:uppercase;color:var(--blue)}
 .kart-more svg{width:16px;height:16px;transition:transform .15s ease}
 .kart-card:hover .kart-more svg{transform:translateX(4px)}
 /* etats chargement / erreur */
 .kart-msg{grid-column:1/-1;font:400 15px Inter,sans-serif;color:var(--mut);padding:8px 0;margin:0}
 .kart-card.skeleton{pointer-events:none}
 .kart-sk-line{height:12px;border-radius:6px;background:#EDEAE3;margin:0 24px 12px}
 @media (max-width:980px){ .kart-grid{grid-template-columns:repeat(2,1fr)} }
 @media (max-width:940px){ .kart-h2{font-size:34px} }
 @media (max-width:620px){
 .kart-wrap{padding:0 22px}
 .kart-grid{grid-template-columns:1fr}
 .kart-all{width:100%;justify-content:center}
 }

From the blog

 Latest articles
 [See all articles](https://kardinal.ai/blog/)
