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

# Legacy – 02 Business Case Glasseo 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

 Glasseo reduced intervention time by 12% thanks to Kardinal
 Glasseo, a French specialist in the replacement of automotive glass at home, optimizes its routes thanks to Kardinal algorithms. Read the business case and find out how Glasseo went from manual and sectorial optimization to assisted and global optimization of its routes, allowing the development of its activity.

 [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:0.8fr 1.1fr 1.1fr 1.4fr;gap:22px}
 .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);white-space:nowrap}
 .ftq-l{font:400 14px/1.45 Inter,sans-serif;color:var(--mut);white-space:nowrap}
 @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

We chose Kardinal because the company offers powerful and adaptable algorithms and a technical team with very strong skills.

 LD
 Luc Delbreil
 CEO of Glasseo
 Pour Glasseo, les enjeux sont importants

 12
 sites

 40 000
 interventions / an

 -12 %
 sur les délais d'intervention

 12x
 Formation des opérateurs 12x plus rapide

## Etat des lieux de l'avant projet

### Une planification manuelle et sectorisée

Avant le projet, les rendez-vous étaient positionnés par les opérateurs de la plateforme téléphonique en utilisant une sectorisation géographique de la France. Le principe était que chaque tournée s’opérait en restant dans un seul et même secteur.

### Des contraintes fortes

La première contrainte qui s’applique à la construction des tournées Glasseo est liée aux exigences fortes que s’impose Glasseo en termes de qualité de service auprès de ses clients : le créneau horaire annoncé au client est très faible (une demi-heure seulement), il est bien respecté et n’est jamais modifié (le client n’est pas rappelé pour décaler le rendez-vous). 

La seconde contrainte est structurelle : Glasseo est organisé autour de 27 sites en France, entraînant des tournées qui peuvent être longues, allant parfois jusqu'à 400 km. Ces deux contraintes nécessitent un système d'optimisation adapté.

### Le challenge

Luc Delbreil, gérant et actionnaire majoritaire de la société Glasseo a été confronté, au fur et à mesure de la croissance de sa société, à plusieurs problématiques :

.dfg{
 --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;
 }
 .dfg *{ box-sizing:border-box; }
 .dfg-wrap{ max-width:none; margin:0 auto; padding:0 0px; }
 .dfg h2{ font-size:60px; line-height:1.05; font-weight:700; letter-spacing:-.02em; margin:0 0 20px; color:var(--tx); }
 .dfg-rule{ width:70px; height:2px; background:var(--blue); margin:0 0 44px; border-radius:2px; }
 .dfg-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
 .dfg .bcard{ background:var(--card); border:1px solid var(--line); border-radius:18px; padding:30px 26px; }
 .dfg .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; }
 .dfg .bicon svg{ width:24px; height:24px; stroke:var(--blue); fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
 .dfg .bcard h3{ font-size:19px; font-weight:700; margin:0 0 10px; color:var(--tx); letter-spacing:-.01em; }
 .dfg .bcard p{ font-size:15px; line-height:1.6; color:var(--mut); margin:0; }
 @media (max-width:900px){
 .dfg{ padding:64px 0; }
 .dfg-wrap{ padding:0 22px; }
 .dfg h2{ font-size:29px; }
 .dfg-grid{ grid-template-columns:1fr; }
 }

Les limites liées à l'utilisation d'une sectorisation
 La gestion du passage entre deux secteurs différents était très compliquée à gérer pour les techniciens de la plateforme téléphonique. De plus, l'ajout de sites de plus en plus proches les uns des autres a créé des zones de recouvrement, au sein desquelles une intervention pouvait être gérée par l'un ou l'autre des sites. La gestion de ces zones de recouvrement est donc devenue stratégique.

 Une expertise difficile à acquérir pour les opérateurs
 Plus le nombre de secteurs géographiques couverts par Glasseo a augmenté, plus il était difficile pour ses opérateurs de plateau de maîtriser tous les secteurs et donc de planifier de la meilleure façon possible les rendez-vous d'interventions. La montée en compétences d'un opérateur de la plateforme de prise de rendez-vous était donc très longue.

 Des délais d'interventions jugés trop longs
 Depuis son origine, Glasseo était réputé pour son haut niveau de performance concernant le respect de ses engagements clients (réaliser l'intervention dans le délai de 30 minutes fixé à l'avance, ne pas modifier le créneau horaire qui avait été planifié) mais ne parvenait pas à réduire ses délais d'interventions, jugés un peu trop longs par ses clients.

## La solution

### Le choix de Kardinal

> Le projet d'introduire des algorithmes de placements est un vieux projet chez Glasseo : j'ai passé beaucoup de temps personnellement à rechercher des experts sur le sujet. Ce domaine est complexe, avec peu de ressources. Par chance, j'ai été mis en relation avec la société Kardinal et la présentation faite par l'équipe m'a conforté dans le choix car il y avait à la fois un algorithme performant et adaptable et une équipe technique avec des compétences très fortes. Cela correspondait à notre ADN, un ADN où l'on recherche la performance, la souplesse et l'adaptabilité.

### Les deux types d'application de la solution chez Glasseo

.abq{--bg:#FFFFFF;--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:0;
 font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
 .abq *{box-sizing:border-box}
 .abq-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px 30px 30px}
 .abq-icon{width:48px;height:48px;border-radius:12px;background:var(--blue-soft);border:1px solid rgba(77,106,255,.30);
 display:flex;align-items:center;justify-content:center;margin-bottom:20px}
 .abq-icon svg{width:24px;height:24px;stroke:var(--blue);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
 .abq-card h3{font-size:20px;font-weight:700;margin:0 0 12px;color:var(--blue);letter-spacing:-.01em;line-height:1.3}
 .abq-card p{font-size:15px;line-height:1.65;color:var(--mut);margin:0}

### En assistance aux opérateurs de la plateforme téléphonique

La solution proposée par Kardinal a été introduite progressivement auprès des opérateurs de la plateforme téléphonique de Glasseo. Aujourd'hui, tous l'utilisent en tant que proposition pour identifier les meilleurs créneaux lorsqu'ils positionnent les rendez-vous pour les interventions.

> Nous avons associé l'expertise de Kardinal à l'expertise de nos opérateurs. Avec un gros gain : la simplification pour l'opérateur. Il est beaucoup plus facile pour un opérateur d'aller sélectionner le meilleur créneau si les créneaux sont déjà pré-travaillés par un algorithme.

.rdv{--bg:#FFFFFF;--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:0;
 font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
 .rdv *{box-sizing:border-box}
 .rdv-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:32px 30px}
 .rdv-icon{width:48px;height:48px;border-radius:12px;background:var(--blue-soft);border:1px solid rgba(77,106,255,.30);
 display:flex;align-items:center;justify-content:center;margin-bottom:20px}
 .rdv-icon svg{width:24px;height:24px;stroke:var(--blue);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
 .rdv-card h3{font-size:20px;font-weight:700;margin:0 0 12px;color:var(--blue);letter-spacing:-.01em;line-height:1.3}
 .rdv-card p{font-size:15px;line-height:1.65;color:var(--mut);margin:0}

### Pour la prise de rendez-vous en ligne

Glasseo a développé un système de rendez-vous particulièrement innovant grâce aux algorithmes Kardinal : la prise de rendez-vous peut se faire en ligne, via le site internet de Glasseo et de manière automatique grâce à l'intégration d'un algorithme qui place les rendez-vous de manière à optimiser les tournées en temps réel.

> La solution proposé par Kardinal nous permet de ne pas revenir sur les rendez-vous qui ont été choisis par les clients en ligne et positionnés de façon automatique.

### Les résultats

.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 h2{ font-size:60px; line-height:1.05; font-weight:700; letter-spacing:-.02em; margin:0 0 20px; color:var(--tx); }
 .benef-rule{ width:70px; height:2px; background:var(--blue); margin:0 0 44px; border-radius:2px; }
 .benef-grid{ display:grid; grid-template-columns:repeat(2,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 0 10px; color:var(--tx); letter-spacing:-.01em; }
 .benef .bcard p{ font-size:15px; line-height:1.6; color:var(--mut); margin:0; }
 @media (max-width:900px){
 .benef{ padding:64px 0; }
 .benef-wrap{ padding:0 22px; }
 .benef h2{ font-size:29px; }
 .benef-grid{ grid-template-columns:1fr; }
 }

Formation des nouveaux opérateurs 12 fois plus rapide
 La technologie mise en place permet aujourd'hui à Glasseo de former un nouvel opérateur en 15 jours, contre presque 6 mois auparavant.

 Réduction des délais d'intervention de 12%
 Glasseo a atteint cette année les meilleurs délais moyens jamais réalisés par la société depuis que cet indicateur est mesuré.

 Effondrement du taux d'échec de prise en charge
 La capacité de Glasseo à convertir un appel en rendez-vous s'est fortement développée grâce à sa faculté à proposer une prise en charge plus rapide.

 Meilleure répartition de la charge sur les différents sites
 Dès qu'un site est surchargé, l'algorithme remplit le site le plus proche. De façon transparente pour les opérateurs, la charge se répartit et moins de rendez-vous sont refusés.

 Plus d'interventions par tournée dans les pics de charge
 L'optimisation des tournées étant meilleure qu'auparavant, les plannings sont mieux remplis quand la demande est suffisante, ce qui permet de réaliser plus d'interventions par tournée.

 Moins de kilomètres parcourus pendant les périodes de forte activité
 L'optimisation des tournées réalisée par Kardinal a permis d'observer un nombre de kilomètres parcourus moindre lors des pics de charge.

## Découvrez ci-dessous le témoignage vidéo de Luc Delbreil, dirigeant de la société Glasseo :

https://youtu.be/djGdfZ2NfUM

.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/)
