/* Accueil-CIRPAETIC: styles isolated from the native header/footer and other pages. */
.cirpaetic-accueil-cirpaetic .cirpaetic-accueil-body { width:100%; overflow:hidden; }
.cirpaetic-accueil-cirpaetic .animate-badge-float1 { animation: cirpaeticFloatBadge1 6s ease-in-out infinite; }
.cirpaetic-accueil-cirpaetic .animate-badge-float2 { animation: cirpaeticFloatBadge2 7s ease-in-out infinite; }
.cirpaetic-accueil-cirpaetic .scanner-line { animation: cirpaeticLaserScan 2.4s ease-in-out infinite; }
.cirpaetic-accueil-cirpaetic .radar-ring { animation: cirpaeticCyberPulse 2s cubic-bezier(.215,.61,.355,1) infinite; }
.cirpaetic-accueil-cirpaetic .flicker-data { animation: cirpaeticDataFlicker 1.8s ease-in-out infinite; }
.cirpaetic-accueil-cirpaetic .gauge-pulse { animation: cirpaeticProgressPulse 3s ease-in-out infinite; }
.cirpaetic-accueil-cirpaetic .ken-burns-slow { animation: cirpaeticHeroKenBurns 26s cubic-bezier(.45,.05,.55,.95) infinite; transform-origin:50% 50%; will-change:transform; }
@keyframes cirpaeticFloatBadge1 {0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-7px) rotate(.4deg)}}
@keyframes cirpaeticFloatBadge2 {0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(6px) rotate(-.4deg)}}
@keyframes cirpaeticLaserScan {0%{top:-10%;opacity:0}20%{opacity:.9}80%{opacity:.9}100%{top:110%;opacity:0}}
@keyframes cirpaeticCyberPulse {0%{transform:scale(.95);opacity:.8}50%{transform:scale(1.4);opacity:0}100%{transform:scale(1.8);opacity:0}}
@keyframes cirpaeticDataFlicker {0%,100%{opacity:.4}50%{opacity:1}}
@keyframes cirpaeticProgressPulse {0%{width:88%}50%{width:96%}100%{width:88%}}
@keyframes cirpaeticHeroKenBurns {0%,100%{transform:scale(1.035)}50%{transform:scale(1.06)}}
.cirpaetic-accueil-cirpaetic .cirpaetic-accueil-body > main { width:100%; }
@media (max-width: 600px){
  .cirpaetic-accueil-cirpaetic .cirpaetic-accueil-body { max-width:100%; }
  .cirpaetic-accueil-cirpaetic .cirpaetic-accueil-body img { max-width:100%; }
}


/* ==========================================================================
   V29.3 — CORRECTION HERO ACCUEIL
   Le shell WordPress contient des règles historiques qui peuvent hériter
   des couleurs du thème sur les composants Stitch. Ces règles sont limitées
   à l'accueil et passent après style.css/stitch-utilities.css.
   ========================================================================== */
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero{
  position:relative;
  isolation:isolate;
  color:#FFFFFF;
  background:#01382C;
}

/* Couche image : l'image doit rester visible sans noyer le contenu. */
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .cirpaetic-home-hero-image{
  position:absolute;
  inset:0;
  z-index:0;
  background-position:center center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  opacity:.96;
}

/* Voile plus léger et surtout constant : contraste texte/image équilibré. */
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .cirpaetic-home-hero-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(
      90deg,
      rgba(1,56,44,.74) 0%,
      rgba(1,56,44,.60) 48%,
      rgba(1,56,44,.42) 76%,
      rgba(1,56,44,.52) 100%
    )!important;
}

/* Le contenu passe toujours au-dessus des couches visuelles. */
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero > .cirpaetic-home-hero-content{
  position:relative;
  z-index:10;
}

/* Contraste explicite des textes du hero. */
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .text-on-primary,
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero h1,
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero h1 .text-on-primary{
  color:#FFFFFF!important;
}
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .text-primary-fixed,
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .text-primary-fixed-dim{
  color:#D6F3E1!important;
}
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .text-secondary-container{
  color:#6CF8BB!important;
}

/* Badge, cartes et textes secondaires restent lisibles sur fond sombre. */
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .cirpaetic-hero-card{
  background:rgba(3,70,56,.78)!important;
  color:#FFFFFF!important;
  border-color:rgba(108,248,187,.30)!important;
  box-shadow:0 12px 40px rgba(0,46,36,.42);
}
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .cirpaetic-hero-card .text-on-primary{
  color:#FFFFFF!important;
}
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .cirpaetic-hero-card .text-primary-fixed,
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .cirpaetic-hero-card .text-primary-fixed-dim{
  color:#CFF4DF!important;
}

/* Chiffres clés : blanc/vert clair, jamais le vert foncé du body. */
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .cirpaetic-home-stat-label{
  color:rgba(255,255,255,.86)!important;
}
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .cirpaetic-home-stat-number{
  color:#6CF8BB!important;
}

/* CTA : contraste constant, indépendant des styles globaux. */
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .cirpaetic-home-cta{
  background:#E85929!important;
  color:#FFFFFF!important;
  border-color:#E85929!important;
}
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .cirpaetic-home-cta:hover{
  background:#CF481B!important;
  color:#FFFFFF!important;
}

/* Sécurité si un thème/plugin injecte une couleur héritée dans le hero. */
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero p,
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero span,
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero small{
  text-shadow:0 1px 8px rgba(0,20,15,.45);
}

/* ========================================================================== 
   V29.4 — POLISH VISUEL ACCUEIL
   Objectif : retrouver une composition premium, aérée et hiérarchisée.
   ========================================================================== */

.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero{
  min-height:680px;
  display:flex;
  align-items:center;
  background:#063c30!important;
}

.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero-image{
  transform:scale(1.02)!important;
  opacity:1!important;
  filter:saturate(.88) contrast(1.02);
}

.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero-overlay{
  background:
    linear-gradient(90deg,
      rgba(2,45,35,.88) 0%,
      rgba(2,55,43,.78) 38%,
      rgba(2,55,43,.50) 67%,
      rgba(2,45,35,.42) 100%)!important;
}

.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero-content{
  padding-top:74px!important;
  padding-bottom:58px!important;
}

/* Colonne éditoriale : plus forte hiérarchie typographique. */
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .lg\:col-span-8{
  max-width:760px;
}

.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero h1{
  margin:0!important;
  max-width:720px!important;
  font-family:"Plus Jakarta Sans",Arial,sans-serif!important;
  font-size:clamp(42px,4.25vw,68px)!important;
  line-height:1.02!important;
  letter-spacing:-.045em!important;
  font-weight:800!important;
}

.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero h1 .text-secondary-container{
  display:inline-block;
  margin-top:8px;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:.92em!important;
  line-height:1.02!important;
  font-weight:700!important;
}

.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .font-body-lg{
  max-width:650px!important;
  margin-top:2px!important;
  font-size:16px!important;
  line-height:1.7!important;
  color:rgba(255,255,255,.88)!important;
}

.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .cirpaetic-home-cta{
  min-height:48px;
  padding:0 22px!important;
  border-radius:5px!important;
  font-size:14px!important;
  font-weight:800!important;
  box-shadow:0 12px 28px rgba(232,89,41,.22)!important;
}

/* Badges de droite : dimensions régulières et moins d'effet "bloc massif". */
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .lg\:col-span-4{
  gap:14px!important;
  padding-top:4px;
}

.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .cirpaetic-hero-card{
  min-height:154px;
  padding:19px 20px!important;
  border-radius:14px!important;
  background:rgba(1,67,52,.76)!important;
  border:1px solid rgba(109,244,190,.34)!important;
  box-shadow:0 18px 45px rgba(0,25,20,.28)!important;
  backdrop-filter:blur(14px);
}

.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .cirpaetic-hero-card > .flex.items-start{
  gap:14px!important;
}

.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .cirpaetic-hero-card .w-14{
  width:48px!important;
  height:48px!important;
  border-radius:10px!important;
}

.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .cirpaetic-hero-card .text-\[28px\]{
  font-size:23px!important;
}

.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .cirpaetic-hero-card .text-\[18px\]{
  font-size:15px!important;
  line-height:1.25!important;
}

.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .cirpaetic-hero-card .text-body-sm{
  font-size:11px!important;
  line-height:1.35!important;
}

/* Ruban statistiques : vraie barre de données plutôt qu'un bloc flottant. */
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .mt-16.pt-10{
  margin-top:48px!important;
  padding-top:24px!important;
  border-top:1px solid rgba(255,255,255,.20)!important;
  background:rgba(2,47,37,.22);
}

.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .font-stat-number{
  font-family:"Plus Jakarta Sans",Arial,sans-serif!important;
  font-size:30px!important;
  font-weight:800!important;
}

.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .cirpaetic-home-stat-label{
  font-size:9px!important;
  letter-spacing:.11em!important;
}

.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .mt-12.flex.justify-center{
  margin-top:20px!important;
}

/* --------------------------------------------------------------------------
   Partenaires : grille compacte, logos centrés, cartes homogènes.
   -------------------------------------------------------------------------- */
.cirpaetic-accueil-cirpaetic #solutions-partenaires{
  background:#f7f8f4!important;
  padding-top:76px!important;
  padding-bottom:86px!important;
}

.cirpaetic-accueil-cirpaetic #solutions-partenaires .max-w-3xl{
  margin-bottom:34px!important;
}

.cirpaetic-accueil-cirpaetic #solutions-partenaires .font-label-caps{
  font-size:9px!important;
  line-height:1.45!important;
  letter-spacing:.12em!important;
}

.cirpaetic-accueil-cirpaetic #solutions-partenaires h2{
  margin-top:10px!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(30px,3.2vw,43px)!important;
  line-height:1.08!important;
  letter-spacing:-.035em!important;
  color:#073d30!important;
}

.cirpaetic-accueil-cirpaetic #solutions-partenaires .grid.md\:grid-cols-2{
  max-width:850px!important;
  gap:18px!important;
}

.cirpaetic-accueil-cirpaetic #solutions-partenaires .grid.md\:grid-cols-2 > a{
  min-height:205px!important;
  padding:24px 30px!important;
  border:1px solid #d5dfd7!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 7px 22px rgba(13,48,38,.045)!important;
  gap:12px!important;
}

.cirpaetic-accueil-cirpaetic #solutions-partenaires .grid.md\:grid-cols-2 > a:hover{
  transform:translateY(-4px);
  border-color:#56c997!important;
  box-shadow:0 18px 35px rgba(13,48,38,.10)!important;
}

.cirpaetic-accueil-cirpaetic #solutions-partenaires .grid.md\:grid-cols-2 > a > .w-full.h-28{
  height:94px!important;
  padding:4px!important;
}

.cirpaetic-accueil-cirpaetic #solutions-partenaires .grid.md\:grid-cols-2 > a img{
  max-width:190px!important;
  max-height:76px!important;
  width:auto!important;
  object-fit:contain!important;
  mix-blend-mode:multiply;
}

.cirpaetic-accueil-cirpaetic #solutions-partenaires .grid.md\:grid-cols-2 > a:nth-child(2) img{
  max-width:155px!important;
  max-height:66px!important;
  mix-blend-mode:normal;
}

.cirpaetic-accueil-cirpaetic #solutions-partenaires .grid.md\:grid-cols-2 > a:nth-child(3) img{
  max-width:150px!important;
  max-height:74px!important;
}

.cirpaetic-accueil-cirpaetic #solutions-partenaires .grid.md\:grid-cols-2 > a:nth-child(4) img{
  max-width:175px!important;
  max-height:70px!important;
}

.cirpaetic-accueil-cirpaetic #solutions-partenaires .grid.md\:grid-cols-2 > a .font-title-card{
  font-family:"Plus Jakarta Sans",Arial,sans-serif!important;
  font-size:14px!important;
  font-weight:800!important;
}

.cirpaetic-accueil-cirpaetic #solutions-partenaires .grid.md\:grid-cols-2 > a .rounded-full{
  padding:5px 10px!important;
  font-size:8px!important;
  letter-spacing:.10em!important;
  line-height:1!important;
}

.cirpaetic-accueil-cirpaetic #solutions-partenaires .grid.md\:grid-cols-2 > a .material-symbols-outlined{
  top:12px!important;
  right:13px!important;
  font-size:16px!important;
  opacity:.7;
}

/* Section suivante : transition plus nette après les partenaires. */
.cirpaetic-accueil-cirpaetic #solutions-partenaires + section{
  background:#fbfcf9!important;
  padding-top:82px!important;
}

@media (max-width: 900px){
  .cirpaetic-accueil-cirpaetic .cirpaetic-home-hero{min-height:0!important}
  .cirpaetic-accueil-cirpaetic .cirpaetic-home-hero-content{padding-top:56px!important;padding-bottom:50px!important}
  .cirpaetic-accueil-cirpaetic .cirpaetic-home-hero h1{font-size:clamp(38px,7vw,58px)!important}
  .cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .lg\:col-span-4{padding-top:0}
  .cirpaetic-accueil-cirpaetic #solutions-partenaires{padding-top:62px!important;padding-bottom:68px!important}
}

@media (max-width: 640px){
  .cirpaetic-accueil-cirpaetic .cirpaetic-home-hero-content{padding-top:42px!important;padding-bottom:38px!important}
  .cirpaetic-accueil-cirpaetic .cirpaetic-home-hero h1{font-size:36px!important;letter-spacing:-.035em!important}
  .cirpaetic-accueil-cirpaetic .cirpaetic-home-hero h1 .text-secondary-container{margin-top:5px}
  .cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .font-body-lg{font-size:15px!important}
  .cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .cirpaetic-hero-card{min-height:0;padding:16px!important}
  .cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .mt-16.pt-10{margin-top:34px!important;padding-top:20px!important}
  .cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .font-stat-number{font-size:24px!important}
  .cirpaetic-accueil-cirpaetic #solutions-partenaires .grid.md\:grid-cols-2{gap:14px!important}
  .cirpaetic-accueil-cirpaetic #solutions-partenaires .grid.md\:grid-cols-2 > a{min-height:175px!important;padding:20px!important}
  .cirpaetic-accueil-cirpaetic #solutions-partenaires .grid.md\:grid-cols-2 > a > .w-full.h-28{height:78px!important}
}

/* ========================================================================
   V29.6 — REFONTE VISUELLE FINALE DE L'ACCUEIL
   Correction des classes typographiques manquantes + hiérarchie premium.
   Tout est encapsulé dans .cirpaetic-accueil-cirpaetic.
   ======================================================================== */
.cirpaetic-accueil-cirpaetic,
.cirpaetic-accueil-cirpaetic .cirpaetic-accueil-body{
  font-family:"Plus Jakarta Sans",Arial,sans-serif!important;
  color:#17372c;
}
.cirpaetic-accueil-cirpaetic *{box-sizing:border-box}
.cirpaetic-accueil-cirpaetic a{text-decoration:none}
.cirpaetic-accueil-cirpaetic .font-title-card,
.cirpaetic-accueil-cirpaetic .text-title-card{font-family:"Plus Jakarta Sans",Arial,sans-serif!important}
.cirpaetic-accueil-cirpaetic .font-title-card{font-weight:800!important}
.cirpaetic-accueil-cirpaetic .font-label-caps,
.cirpaetic-accueil-cirpaetic .text-label-caps{font-family:"Plus Jakarta Sans",Arial,sans-serif!important;font-weight:700!important}
.cirpaetic-accueil-cirpaetic .font-body-md,
.cirpaetic-accueil-cirpaetic .font-body-lg,
.cirpaetic-accueil-cirpaetic .font-body-sm{font-family:"Plus Jakarta Sans",Arial,sans-serif!important}

/* HERO — composition plus nette et moins sombre */
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero{
  min-height:650px!important;
  display:block!important;
  background:#0a4033!important;
}
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero-image{
  opacity:1!important;
  filter:saturate(.95) contrast(1.04) brightness(.88)!important;
  transform:scale(1.025)!important;
}
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero-overlay{
  background:linear-gradient(90deg,rgba(4,48,38,.90) 0%,rgba(4,55,43,.76) 43%,rgba(4,55,43,.43) 72%,rgba(4,48,38,.48) 100%)!important;
}
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero-content{
  max-width:1280px!important;
  padding:82px 28px 42px!important;
}
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero-content > .grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.38fr) minmax(380px,.62fr)!important;
  gap:52px!important;
  align-items:center!important;
}
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .lg\:col-span-8{grid-column:auto!important;max-width:720px!important}
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .lg\:col-span-4{grid-column:auto!important;max-width:470px!important;justify-self:end!important}
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .inline-flex.items-center.gap-2\.5{
  padding:8px 13px!important;border:1px solid rgba(115,245,190,.28)!important;
  background:rgba(4,56,44,.55)!important;border-radius:999px!important;
}
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero h1{
  font-size:clamp(43px,4.5vw,67px)!important;
  line-height:1.01!important;
  margin-top:3px!important;
}
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero h1 .text-secondary-container{
  color:#76f3bd!important;font-size:.89em!important;
}
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .font-body-lg{
  font-size:16px!important;line-height:1.72!important;max-width:660px!important;
}
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .cirpaetic-home-cta{
  min-height:50px!important;padding:0 24px!important;border-radius:7px!important;
  font-size:14px!important;letter-spacing:.01em!important;
}
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .text-body-sm{font-size:12px!important}

/* Cartes techniques */
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .cirpaetic-hero-card{
  min-height:158px!important;padding:20px 21px!important;border-radius:15px!important;
  background:rgba(3,67,53,.76)!important;border:1px solid rgba(117,245,190,.36)!important;
  box-shadow:0 16px 38px rgba(0,20,16,.30)!important;
}
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .cirpaetic-hero-card > .flex.items-start{gap:13px!important}
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .cirpaetic-hero-card .w-14{width:46px!important;height:46px!important}
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .cirpaetic-hero-card .text-\[18px\]{font-size:15px!important}
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .cirpaetic-hero-card .text-body-sm{font-size:10.5px!important}

/* Statistiques : quatre colonnes réellement équilibrées */
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .mt-16.pt-10{
  margin-top:42px!important;padding:22px 0 0!important;background:transparent!important;
  border-top:1px solid rgba(220,255,239,.24)!important;
}
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .mt-16.pt-10 > .grid{
  display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:0!important;
}
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .mt-16.pt-10 > .grid > div{
  padding:0 24px;border-left:1px solid rgba(220,255,239,.18);
}
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .mt-16.pt-10 > .grid > div:first-child{padding-left:0;border-left:0}
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .font-stat-number{font-size:29px!important}
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .cirpaetic-home-stat-label{font-size:9px!important;line-height:1.35!important}

/* PARTENAIRES — aspect institutionnel propre */
.cirpaetic-accueil-cirpaetic #solutions-partenaires{
  padding:78px 0 92px!important;background:#f5f7f3!important;
}
.cirpaetic-accueil-cirpaetic #solutions-partenaires > .max-w-\[1240px\]{max-width:1080px!important}
.cirpaetic-accueil-cirpaetic #solutions-partenaires .text-center.max-w-3xl{
  max-width:820px!important;margin-bottom:38px!important;
}
.cirpaetic-accueil-cirpaetic #solutions-partenaires .font-label-caps{
  color:#27705b!important;font-size:10px!important;line-height:1.5!important;letter-spacing:.12em!important;
}
.cirpaetic-accueil-cirpaetic #solutions-partenaires h2{
  margin-top:8px!important;font-family:"Plus Jakarta Sans",Arial,sans-serif!important;
  font-size:clamp(30px,3.3vw,44px)!important;font-weight:800!important;color:#12372b!important;
  letter-spacing:-.045em!important;
}
.cirpaetic-accueil-cirpaetic #solutions-partenaires .grid.md\:grid-cols-2{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  max-width:900px!important;gap:20px!important;
}
.cirpaetic-accueil-cirpaetic #solutions-partenaires .grid.md\:grid-cols-2 > a{
  min-height:226px!important;padding:22px 28px 24px!important;border:1px solid #d4dfd7!important;
  border-radius:15px!important;background:rgba(255,255,255,.98)!important;
  box-shadow:0 6px 22px rgba(17,55,43,.055)!important;
  justify-content:center!important;gap:13px!important;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease!important;
}
.cirpaetic-accueil-cirpaetic #solutions-partenaires .grid.md\:grid-cols-2 > a:hover{
  transform:translateY(-5px)!important;border-color:#6ac79e!important;
  box-shadow:0 18px 38px rgba(17,55,43,.11)!important;
}
.cirpaetic-accueil-cirpaetic #solutions-partenaires .grid.md\:grid-cols-2 > a > .w-full.h-28{
  height:105px!important;padding:4px!important;
}
.cirpaetic-accueil-cirpaetic #solutions-partenaires .grid.md\:grid-cols-2 > a img{
  width:auto!important;max-width:210px!important;max-height:84px!important;object-fit:contain!important;
}
.cirpaetic-accueil-cirpaetic #solutions-partenaires .grid.md\:grid-cols-2 > a:nth-child(2) img{max-width:190px!important;max-height:82px!important}
.cirpaetic-accueil-cirpaetic #solutions-partenaires .grid.md\:grid-cols-2 > a:nth-child(3) img{max-width:175px!important;max-height:78px!important}
.cirpaetic-accueil-cirpaetic #solutions-partenaires .grid.md\:grid-cols-2 > a:nth-child(4) img{max-width:210px!important;max-height:80px!important}
.cirpaetic-accueil-cirpaetic #solutions-partenaires .grid.md\:grid-cols-2 > a .font-title-card{
  font-size:14px!important;line-height:1.2!important;color:#12372b!important;
}
.cirpaetic-accueil-cirpaetic #solutions-partenaires .grid.md\:grid-cols-2 > a .rounded-full{
  font-size:8px!important;line-height:1.1!important;letter-spacing:.09em!important;padding:6px 11px!important;
  background:#eaf3ed!important;color:#2c6652!important;
}
.cirpaetic-accueil-cirpaetic #solutions-partenaires .grid.md\:grid-cols-2 > a:nth-child(2) .rounded-full{
  background:#fff0e5!important;color:#a94c08!important;
}
.cirpaetic-accueil-cirpaetic #solutions-partenaires .material-symbols-outlined{
  color:#55756a!important;top:14px!important;right:15px!important;font-size:16px!important;
}

/* BESOIN — cartes plus éditoriales et régulières */
.cirpaetic-accueil-cirpaetic .cirpaetic-accueil-body > section:not(#solutions-partenaires){
  font-family:"Plus Jakarta Sans",Arial,sans-serif!important;
}
.cirpaetic-accueil-cirpaetic .cirpaetic-accueil-body > section .text-title-card,
.cirpaetic-accueil-cirpaetic .cirpaetic-accueil-body > section h3{
  font-family:"Plus Jakarta Sans",Arial,sans-serif!important;font-weight:800!important;
}
.cirpaetic-accueil-cirpaetic .cirpaetic-accueil-body > section .group.flex.flex-col{
  border:1px solid #dce6df!important;box-shadow:0 7px 25px rgba(18,55,43,.055)!important;
  border-radius:16px!important;overflow:hidden!important;background:#fff!important;
}
.cirpaetic-accueil-cirpaetic .cirpaetic-accueil-body > section .group.flex.flex-col:hover{
  transform:translateY(-4px);box-shadow:0 18px 35px rgba(18,55,43,.10)!important;
}

@media(max-width:1023px){
  .cirpaetic-accueil-cirpaetic .cirpaetic-home-hero-content > .grid{grid-template-columns:1fr!important;gap:36px!important}
  .cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .lg\:col-span-4{justify-self:stretch!important;max-width:none!important}
  .cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .lg\:col-span-4{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .cirpaetic-accueil-cirpaetic .cirpaetic-home-hero-content{padding-top:58px!important}
}
@media(max-width:700px){
  .cirpaetic-accueil-cirpaetic .cirpaetic-home-hero{min-height:0!important}
  .cirpaetic-accueil-cirpaetic .cirpaetic-home-hero-content{padding:45px 18px 34px!important}
  .cirpaetic-accueil-cirpaetic .cirpaetic-home-hero h1{font-size:38px!important}
  .cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .font-body-lg{font-size:14px!important;line-height:1.65!important}
  .cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .lg\:col-span-4{grid-template-columns:1fr!important}
  .cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .mt-16.pt-10 > .grid{grid-template-columns:repeat(2,1fr)!important;row-gap:18px!important}
  .cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .mt-16.pt-10 > .grid > div{padding:0 12px!important}
  .cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .mt-16.pt-10 > .grid > div:nth-child(3){border-left:0}
  .cirpaetic-accueil-cirpaetic #solutions-partenaires{padding:56px 0 68px!important}
  .cirpaetic-accueil-cirpaetic #solutions-partenaires .grid.md\:grid-cols-2{grid-template-columns:1fr!important}
  .cirpaetic-accueil-cirpaetic #solutions-partenaires .grid.md\:grid-cols-2 > a{min-height:205px!important}
}


/* ========================================================================
   V29.7 — GARDE VISUELLE DES CARTES TECHNIQUES
   Les libellés Material Symbols sont des ligatures. On force leur police,
   leur comportement inline et on protège les lignes contre les débordements.
   ======================================================================== */
.cirpaetic-accueil-cirpaetic .material-symbols-outlined{
  font-family:"Material Symbols Outlined"!important;
  font-weight:400!important;
  font-style:normal!important;
  font-size:24px;
  line-height:1!important;
  letter-spacing:normal!important;
  text-transform:none!important;
  white-space:nowrap!important;
  word-wrap:normal!important;
  direction:ltr!important;
  display:inline-block!important;
  -webkit-font-feature-settings:"liga"!important;
  -webkit-font-smoothing:antialiased!important;
  font-feature-settings:"liga"!important;
  font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24!important;
  flex:0 0 auto;
}
.cirpaetic-accueil-cirpaetic .cirpaetic-hero-card .flex.items-start > .flex-1{min-width:0!important}
.cirpaetic-accueil-cirpaetic .cirpaetic-hero-card .flex.items-center.justify-between{min-width:0!important}
.cirpaetic-accueil-cirpaetic .cirpaetic-hero-card .flex.items-center.justify-between > .flex:first-child{min-width:0!important}
.cirpaetic-accueil-cirpaetic .cirpaetic-hero-card .font-title-card{
  display:block!important;
  min-width:0!important;
  overflow-wrap:anywhere!important;
}
.cirpaetic-accueil-cirpaetic .cirpaetic-hero-card .font-body-sm{
  display:block!important;
  overflow-wrap:anywhere!important;
}
.cirpaetic-accueil-cirpaetic .cirpaetic-hero-card .border-t .flex.items-center.justify-between{
  flex-wrap:wrap!important;
  row-gap:6px!important;
}
.cirpaetic-accueil-cirpaetic .cirpaetic-hero-card .border-t .flex.items-center.justify-between > div{
  min-width:0!important;
  flex:1 1 210px!important;
}
.cirpaetic-accueil-cirpaetic .cirpaetic-hero-card .border-t .flex.items-center.justify-between > div > span:last-child{
  overflow-wrap:anywhere!important;
}
.cirpaetic-accueil-cirpaetic .cirpaetic-hero-card .border-t > .flex.items-center.justify-between > span:last-child{
  white-space:nowrap!important;
  flex:0 0 auto!important;
}
.cirpaetic-accueil-cirpaetic .cirpaetic-hero-card .border-t .font-label-caps{
  font-size:9px!important;
  line-height:1.25!important;
}
@media(max-width:700px){
  .cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .lg\\:col-span-4{grid-template-columns:1fr!important}
  .cirpaetic-accueil-cirpaetic .cirpaetic-hero-card .border-t .flex.items-center.justify-between > div{flex-basis:100%!important}
}

/* ========================================================================
   V30 — HERO PREMIUM / HIÉRARCHIE VISUELLE
   Correction de la composition desktop : contraste maîtrisé, cartes moins
   lourdes, meilleure respiration typographique et bandeau chiffres intégré.
   ======================================================================== */
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero{
  min-height:0!important;
  background:#063a2e!important;
}

.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero-image{
  opacity:1!important;
  filter:saturate(.9) contrast(1.02) brightness(.86)!important;
  transform-origin:50% 50%!important;
}

.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero-overlay{
  background:
    linear-gradient(90deg,
      rgba(3,47,38,.82) 0%,
      rgba(3,55,44,.66) 40%,
      rgba(3,55,44,.34) 68%,
      rgba(3,47,38,.28) 100%),
    linear-gradient(180deg,rgba(0,25,19,.12) 0%,rgba(0,25,19,.52) 100%)!important;
}

.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero-content{
  max-width:1200px!important;
  padding:58px 26px 30px!important;
}

.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero-content > .grid{
  grid-template-columns:minmax(0,1.58fr) minmax(330px,.72fr)!important;
  gap:44px!important;
  align-items:center!important;
}

/* Bloc texte : moins de largeur perdue, titre plus éditorial. */
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .lg\:col-span-8{
  max-width:680px!important;
}
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .inline-flex.items-center.gap-2\.5{
  padding:7px 12px!important;
  background:rgba(4,52,42,.58)!important;
  border:1px solid rgba(125,245,194,.26)!important;
  box-shadow:0 8px 24px rgba(0,20,15,.10);
}
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero h1{
  max-width:670px!important;
  font-size:clamp(46px,4.25vw,62px)!important;
  line-height:.98!important;
  letter-spacing:-.045em!important;
  margin:2px 0 0!important;
}
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero h1 .text-secondary-container{
  display:inline!important;
  color:#78efbd!important;
  font-size:.88em!important;
}
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .font-body-lg{
  max-width:610px!important;
  margin-top:17px!important;
  font-size:15px!important;
  line-height:1.65!important;
  color:rgba(238,255,248,.88)!important;
}

.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .pt-2.flex.flex-wrap{
  padding-top:4px!important;
  gap:16px!important;
}
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .cirpaetic-home-cta{
  min-height:48px!important;
  padding:0 21px!important;
  border-radius:8px!important;
  font-size:13px!important;
  box-shadow:0 10px 25px rgba(232,89,41,.18)!important;
}
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .text-body-sm{
  font-size:11px!important;
}

/* Cartes techniques : style produit/corporate, sans effet "jeu vidéo". */
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .lg\:col-span-4{
  max-width:365px!important;
  justify-self:end!important;
  gap:12px!important;
}
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .cirpaetic-hero-card{
  min-height:0!important;
  padding:16px 17px!important;
  border-radius:13px!important;
  background:rgba(4,63,50,.78)!important;
  border:1px solid rgba(123,241,191,.28)!important;
  box-shadow:0 14px 32px rgba(0,20,15,.25)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
}
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .cirpaetic-hero-card:hover{
  transform:translateY(-2px)!important;
  background:rgba(5,70,55,.84)!important;
  border-color:rgba(123,241,191,.46)!important;
  box-shadow:0 18px 38px rgba(0,20,15,.28)!important;
}
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .cirpaetic-hero-card > .flex.items-start{
  gap:12px!important;
}
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .cirpaetic-hero-card .w-14{
  width:43px!important;height:43px!important;
  border-radius:10px!important;
  background:linear-gradient(145deg,#063b2f,#0b6c51)!important;
}
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .cirpaetic-hero-card .text-\[28px\]{
  font-size:22px!important;
}
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .cirpaetic-hero-card .text-\[18px\]{
  font-size:14px!important;
  line-height:1.25!important;
}
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .cirpaetic-hero-card .text-body-sm{
  margin-top:3px!important;
  font-size:10px!important;
  line-height:1.4!important;
  color:rgba(214,247,232,.74)!important;
}
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .cirpaetic-hero-card .border-t{
  padding-top:9px!important;
  margin-top:1px!important;
  border-color:rgba(130,240,194,.16)!important;
}
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .cirpaetic-hero-card .font-label-caps{
  font-size:8px!important;
  letter-spacing:.08em!important;
}

/* Les animations restent discrètes : le contenu doit dominer le visuel. */
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .animate-badge-float1,
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .animate-badge-float2{
  animation:none!important;
}
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .radar-ring{
  animation:none!important;
}

/* Bandeau des chiffres : véritable "preuve" visuelle au lieu d'un simple trait. */
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .mt-16.pt-10{
  margin-top:31px!important;
  padding:14px 18px 12px!important;
  border:1px solid rgba(210,255,238,.18)!important;
  border-radius:12px!important;
  background:rgba(2,49,39,.42)!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
}
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .mt-16.pt-10 > .grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .mt-16.pt-10 > .grid > div{
  min-height:47px;
  padding:0 18px!important;
  border-left:1px solid rgba(220,255,239,.14)!important;
  justify-content:center;
}
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .mt-16.pt-10 > .grid > div:first-child{
  padding-left:0!important;
  border-left:0!important;
}
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .font-stat-number{
  font-size:25px!important;
  letter-spacing:-.025em!important;
}
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .cirpaetic-home-stat-label{
  margin-top:5px!important;
  font-size:8px!important;
  line-height:1.35!important;
  color:rgba(238,255,248,.68)!important;
}
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .mt-12.flex.justify-center{
  margin-top:9px!important;
}
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .mt-12.flex.justify-center a{
  font-size:9px!important;
  opacity:.78;
}

@media(max-width:1100px) and (min-width:701px){
  .cirpaetic-accueil-cirpaetic .cirpaetic-home-hero-content{padding:54px 24px 30px!important}
  .cirpaetic-accueil-cirpaetic .cirpaetic-home-hero-content > .grid{
    grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr)!important;
    gap:30px!important;
  }
  .cirpaetic-accueil-cirpaetic .cirpaetic-home-hero h1{font-size:48px!important}
  .cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .lg\:col-span-4{max-width:330px!important}
}

@media(max-width:700px){
  .cirpaetic-accueil-cirpaetic .cirpaetic-home-hero-content{padding:42px 18px 28px!important}
  .cirpaetic-accueil-cirpaetic .cirpaetic-home-hero h1{font-size:36px!important;line-height:1.02!important}
  .cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .font-body-lg{font-size:14px!important;line-height:1.62!important}
  .cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .lg\:col-span-4{display:grid!important;grid-template-columns:1fr!important;max-width:none!important}
  .cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .mt-16.pt-10{margin-top:27px!important;padding:13px 8px 10px!important}
  .cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .mt-16.pt-10 > .grid{grid-template-columns:repeat(2,1fr)!important;row-gap:14px!important}
  .cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .mt-16.pt-10 > .grid > div{min-height:42px;padding:0 10px!important}
  .cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .mt-16.pt-10 > .grid > div:nth-child(3){border-left:0!important}
  .cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .font-stat-number{font-size:23px!important}
  .cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .cirpaetic-home-stat-label{font-size:8px!important}
}

@media(prefers-reduced-motion:reduce){
  .cirpaetic-accueil-cirpaetic .ken-burns-slow{animation:none!important}
  .cirpaetic-accueil-cirpaetic .cirpaetic-home-hero-image{transform:scale(1.035)!important}
}


/* ==========================================================================
   CIRPAE-TIC — Animation accueil uniquement
   Zoom avant / arrière très discret de l'image de fond.
   ========================================================================== */
.cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .cirpaetic-home-hero-image{
  animation: cirpaeticAccueilHeroZoom 24s ease-in-out infinite;
  transform-origin: 50% 50%;
  will-change: transform;
}
@keyframes cirpaeticAccueilHeroZoom{
  0%,100%{transform:scale(1.025)}
  50%{transform:scale(1.055)}
}
@media (prefers-reduced-motion: reduce){
  .cirpaetic-accueil-cirpaetic .cirpaetic-home-hero .cirpaetic-home-hero-image{
    animation:none;
    transform:scale(1.025);
  }
}
