/* KM DiagImmo - Design System - genere automatiquement, ne pas modifier a la main */
/* ============================================================================
   KM DIAGIMMO - HERO / FORMULAIRE DEVIS - DESIGN 2026 "GLASS PREMIUM"
   Portee : page d'accueil uniquement (carte contenant #et_pb_contact_form_0)
   Aucun impact sur les autres pages, aucun changement de contenu ni de champ.
   ============================================================================ */

:root{
  --km-navy:#1f1f4e;
  --km-lime:#bfe762;
  --km-lime-soft:rgba(191,231,98,.16);
  --km-line:rgba(255,255,255,.14);
  --km-field:rgba(255,255,255,.06);
  --km-field-focus:rgba(255,255,255,.11);
  --km-ink:rgba(255,255,255,.92);
  --km-ink-soft:rgba(255,255,255,.52);
}

/* ---------------------------------------------------------------- 1. CARTE */
body.home .et_pb_column:has(#et_pb_contact_form_0){
  position:relative;
  background:linear-gradient(158deg,rgba(38,38,92,.66) 0%,rgba(12,12,38,.72) 100%);
  -webkit-backdrop-filter:blur(26px) saturate(150%);
  backdrop-filter:blur(26px) saturate(150%);
  border:1px solid var(--km-line);
  border-radius:26px;
  padding:26px 24px 24px !important;
  box-shadow:0 34px 90px -26px rgba(0,0,0,.7),0 2px 8px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.16);
  overflow:hidden;
  isolation:isolate;
}
body.home .et_pb_column:has(#et_pb_contact_form_0)::before{
  content:"";position:absolute;z-index:-1;left:-25%;right:-25%;top:-55%;height:85%;
  background:radial-gradient(52% 60% at 50% 100%,rgba(191,231,98,.22),transparent 72%);
  pointer-events:none;
}

/* -------------------------------------------------- 2. BADGE + TITRE CARTE */
body.home .et_pb_column:has(#et_pb_contact_form_0) .et_pb_text{margin:0 !important;padding:0 !important}
body.home .et_pb_column:has(#et_pb_contact_form_0) .et_pb_text .et_pb_text_inner::before{
  content:"R\0000e9ponse sous 24 h";
  display:inline-block;margin:0 0 12px;padding:7px 15px 6px;
  border:1px solid rgba(191,231,98,.38);border-radius:999px;background:var(--km-lime-soft);
  font-family:"Open Sans",Helvetica,Arial,sans-serif;font-size:11px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:var(--km-lime);line-height:1;
}
body.home .et_pb_column:has(#et_pb_contact_form_0) .et_pb_text h3{
  font-size:27px !important;line-height:1.15 !important;letter-spacing:-.02em;
  color:#fff !important;margin:0 0 4px !important;padding:0 !important;
}
body.home .et_pb_column:has(#et_pb_contact_form_0) .et_pb_text h3 strong{font-weight:800}
body.home .et_pb_column:has(#et_pb_contact_form_0) .et_pb_text .et_pb_text_inner::after{
  content:"Un expert certifi\0000e9  vous rappelle avec un prix ferme.";
  display:block;margin:9px 0 18px;
  font-family:"Nunito Sans",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5;
  color:var(--km-ink-soft);
}

/* ------------------------------------------------------------- 3. GRILLE */
body.home #et_pb_contact_form_0 .et_pb_contact_form{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;
}
body.home #et_pb_contact_form_0 .et_pb_contact_field{
  position:relative;width:auto !important;float:none !important;
  margin:0 !important;padding:0 !important;grid-column:span 2;
  background:transparent !important;border:0 !important;box-shadow:none !important;
}
/* tout enfant du formulaire (champs anti-spam, bandeau admin WP Armour) occupe la largeur */
body.home #et_pb_contact_form_0 .et_pb_contact_form > *{grid-column:span 2}
body.home #et_pb_contact_form_0 .et_pb_contact_field_0,
body.home #et_pb_contact_form_0 .et_pb_contact_field_1{grid-column:span 1}

/* ------------------------------------------------------------- 4. CHAMPS */
body.home #et_pb_contact_form_0 .et_pb_contact_form .input,
body.home #et_pb_contact_form_0 .et_pb_contact_form .input[type=text],
body.home #et_pb_contact_form_0 .et_pb_contact_form select.et_pb_contact_select{
  width:100% !important;min-height:56px;
  padding:15px 16px 15px 46px !important;
  background:var(--km-field) !important;
  border:1px solid var(--km-line) !important;
  border-radius:14px !important;
  color:var(--km-ink) !important;
  font-family:"Nunito Sans",Helvetica,Arial,sans-serif !important;
  font-size:15px !important;line-height:1.4;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
  transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease;
  -webkit-appearance:none;appearance:none;
}
body.home #et_pb_contact_form_0 .et_pb_contact_form .input::placeholder{color:var(--km-ink-soft);opacity:1}
body.home #et_pb_contact_form_0 .et_pb_contact_form .input:hover,
body.home #et_pb_contact_form_0 .et_pb_contact_form select.et_pb_contact_select:hover{
  border-color:rgba(255,255,255,.26) !important;background:rgba(255,255,255,.085) !important;
}
body.home #et_pb_contact_form_0 .et_pb_contact_form .input:focus,
body.home #et_pb_contact_form_0 .et_pb_contact_form select.et_pb_contact_select:focus{
  outline:none;
  border-color:rgba(191,231,98,.85) !important;
  background:var(--km-field-focus) !important;
  box-shadow:0 0 0 4px rgba(191,231,98,.16);
}
body.home #et_pb_contact_form_0 .et_pb_contact_form select.et_pb_contact_select{
  padding-right:46px !important;text-overflow:ellipsis;cursor:pointer;
}
/* tant qu'aucun choix n'est fait, la liste garde la couleur d'un placeholder */
body.home #et_pb_contact_form_0 .et_pb_contact_form select.et_pb_contact_select:has(option:first-child:checked){
  color:var(--km-ink-soft) !important;
}
body.home #et_pb_contact_form_0 .et_pb_contact_form select.et_pb_contact_select option{
  background:#fff;color:var(--km-navy);
}
/* fleche des listes deroulantes */
body.home #et_pb_contact_form_0 .et_pb_contact_field:has(select)::after{
  content:"";position:absolute;right:18px;top:50%;width:11px;height:7px;margin-top:-3px;
  background-color:var(--km-ink-soft);pointer-events:none;transition:background-color .18s ease;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
body.home #et_pb_contact_form_0 .et_pb_contact_field:has(select:focus)::after{background-color:var(--km-lime)}

/* --------------------------------------------------- 5. ICONES DE CHAMPS */
body.home #et_pb_contact_form_0 .et_pb_contact_field::before{
  content:"";position:absolute;left:17px;top:50%;width:18px;height:18px;margin-top:-9px;
  background-color:var(--km-ink-soft);pointer-events:none;z-index:2;
  transition:background-color .18s ease;
  -webkit-mask-size:contain;mask-size:contain;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:center;mask-position:center;
}
body.home #et_pb_contact_form_0 .et_pb_contact_field:has(:focus)::before{background-color:var(--km-lime)}

body.home #et_pb_contact_form_0 .et_pb_contact_field_0::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 3.6-6.5 8-6.5s8 2.5 8 6.5'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 3.6-6.5 8-6.5s8 2.5 8 6.5'/%3E%3C/svg%3E")}
body.home #et_pb_contact_form_0 .et_pb_contact_field_1::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 3h-3A1.5 1.5 0 0 0 2 4.6C2 13 11 22 19.4 22a1.5 1.5 0 0 0 1.6-1.5v-3l-4.5-2-2.2 2.2a15 15 0 0 1-6-6L10.5 9 8.5 4.5z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 3h-3A1.5 1.5 0 0 0 2 4.6C2 13 11 22 19.4 22a1.5 1.5 0 0 0 1.6-1.5v-3l-4.5-2-2.2 2.2a15 15 0 0 1-6-6L10.5 9 8.5 4.5z'/%3E%3C/svg%3E")}
body.home #et_pb_contact_form_0 .et_pb_contact_field_2::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s7-6.5 7-12a7 7 0 1 0-14 0c0 5.5 7 12 7 12z'/%3E%3Ccircle cx='12' cy='10' r='2.6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s7-6.5 7-12a7 7 0 1 0-14 0c0 5.5 7 12 7 12z'/%3E%3Ccircle cx='12' cy='10' r='2.6'/%3E%3C/svg%3E")}
body.home #et_pb_contact_form_0 .et_pb_contact_field_3::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='4.5' width='19' height='15' rx='2.5'/%3E%3Cpath d='m3.5 6.5 8.5 6 8.5-6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='4.5' width='19' height='15' rx='2.5'/%3E%3Cpath d='m3.5 6.5 8.5 6 8.5-6'/%3E%3C/svg%3E")}
body.home #et_pb_contact_form_0 .et_pb_contact_field_4::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4.5' y='3.5' width='15' height='17' rx='2.5'/%3E%3Cpath d='M8.5 8.5h7M8.5 12.5h7M8.5 16.5h4'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4.5' y='3.5' width='15' height='17' rx='2.5'/%3E%3Cpath d='M8.5 8.5h7M8.5 12.5h7M8.5 16.5h4'/%3E%3C/svg%3E")}
body.home #et_pb_contact_form_0 .et_pb_contact_field_5::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 10.5 12 3.5l8.5 7'/%3E%3Cpath d='M5.5 12v8.5h13V12'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 10.5 12 3.5l8.5 7'/%3E%3Cpath d='M5.5 12v8.5h13V12'/%3E%3C/svg%3E")}
body.home #et_pb_contact_form_0 .et_pb_contact_field_6::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='3.5' width='17' height='17' rx='2'/%3E%3Cpath d='M3.5 9h4M3.5 15h4M9 3.5v4M15 3.5v4'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='3.5' width='17' height='17' rx='2'/%3E%3Cpath d='M3.5 9h4M3.5 15h4M9 3.5v4M15 3.5v4'/%3E%3C/svg%3E")}
body.home #et_pb_contact_form_0 .et_pb_contact_field_7::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M12 7v5.2l3.2 2'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M12 7v5.2l3.2 2'/%3E%3C/svg%3E")}

/* -------------------------------------------------------------- 6. BOUTON */
body.home #et_pb_contact_form_0 .et_contact_bottom_container{
  grid-column:span 2;float:none !important;width:100%;margin:6px 0 0 !important;
  display:block;text-align:center;
}
body.home #et_pb_contact_form_0 .et_pb_contact_submit.et_pb_button{
  position:relative;display:block;width:100%;
  padding:17px 24px !important;margin:0 !important;
  background:linear-gradient(135deg,#d2f27f 0%,#bfe762 52%,#a9d94b 100%) !important;
  border:0 !important;border-radius:14px !important;
  color:var(--km-navy) !important;
  font-family:"Open Sans",Helvetica,Arial,sans-serif !important;
  font-size:15.5px !important;font-weight:700 !important;letter-spacing:.005em;
  box-shadow:0 14px 34px -12px rgba(191,231,98,.62),inset 0 1px 0 rgba(255,255,255,.5);
  transition:transform .18s cubic-bezier(.4,0,.2,1),box-shadow .18s ease,filter .18s ease;
  overflow:hidden;cursor:pointer;
}
body.home #et_pb_contact_form_0 .et_pb_contact_submit.et_pb_button:hover{
  transform:translateY(-2px);filter:saturate(1.06) brightness(1.03);
  box-shadow:0 20px 44px -12px rgba(191,231,98,.72),inset 0 1px 0 rgba(255,255,255,.6);
  padding:17px 24px !important;
}
body.home #et_pb_contact_form_0 .et_pb_contact_submit.et_pb_button:active{transform:translateY(0)}
body.home #et_pb_contact_form_0 .et_pb_contact_submit.et_pb_button::after,
body.home #et_pb_contact_form_0 .et_pb_contact_submit.et_pb_button::before{display:none !important}

/* --------------------------------------------------------- 7. RASSURANCE */
body.home #et_pb_contact_form_0 .et_pb_contact::after{
  content:"Sans engagement  \0000b7  Donn\0000e9es confidentielles  \0000b7  R\0000e9ponse sous 24 h";
  display:block;margin:14px 0 0;text-align:center;
  font-family:"Nunito Sans",Helvetica,Arial,sans-serif;font-size:12px;line-height:1.5;
  color:rgba(255,255,255,.42);
}

/* --------------------------------------------------------- 8. RESPONSIVE */
@media (max-width:980px){
  body.home .et_pb_column:has(#et_pb_contact_form_0){padding:26px 20px 22px !important;border-radius:22px}
  body.home .et_pb_column:has(#et_pb_contact_form_0) .et_pb_text h3{font-size:25px !important}
}
@media (max-width:640px){
  body.home #et_pb_contact_form_0 .et_pb_contact_form{grid-template-columns:1fr;gap:10px}
  body.home #et_pb_contact_form_0 .et_pb_contact_form > *{grid-column:span 1 !important}
  body.home #et_pb_contact_form_0 .et_pb_contact_form .input,
  body.home #et_pb_contact_form_0 .et_pb_contact_form select.et_pb_contact_select{
    font-size:16px !important;min-height:54px;
  }
}

/* ------------------------------------------------ 9. ACCESSIBILITE / MOTION */
@media (prefers-reduced-motion:reduce){
  body.home #et_pb_contact_form_0 *{transition:none !important}
  body.home #et_pb_contact_form_0 .et_pb_contact_submit.et_pb_button:hover{transform:none}
}

/* ============================================================================
   KM DIAGIMMO - SECTION "EXPERTS EN DIAGNOSTICS" (ACCUEIL) - DESIGN 2026
   Portee : la section contenant le bloc .km-usp, sur la page d'accueil.
   ============================================================================ */
body.home .et_pb_section:has(.km-usp){position:relative;overflow:hidden;background:linear-gradient(176deg,#f4fbff 0%,#e6f5ff 62%,#eef9ff 100%) !important;}
body.home .et_pb_section:has(.km-usp)::before{content:"";position:absolute;top:-18%;right:-10%;width:46%;padding-bottom:46%;background:radial-gradient(circle at 50% 50%,rgba(191,231,98,.30),transparent 68%);border-radius:50%;pointer-events:none;}
body.home .et_pb_section:has(.km-usp)::after{content:"";position:absolute;bottom:-22%;left:-12%;width:40%;padding-bottom:40%;background:radial-gradient(circle at 50% 50%,rgba(31,31,78,.10),transparent 66%);border-radius:50%;pointer-events:none;}
body.home .et_pb_section:has(.km-usp) > .et_pb_row{position:relative;z-index:2}
body.home .et_pb_section:has(.km-usp) h2{letter-spacing:-.025em;line-height:1.1 !important;}
body.home .et_pb_section:has(.km-usp) .et_pb_text_inner > p{line-height:1.7;}
body.home .km-usp .et_pb_text_inner,body.home .km-usp{width:100%}
body.home .km-usp-title{font-family:"Open Sans",Helvetica,Arial,sans-serif;font-size:18px !important;font-weight:800 !important;line-height:1.35 !important;color:#1f1f4e !important;letter-spacing:-.01em;margin:4px 0 16px !important;}
body.home ul.km-usp-list{list-style:none !important;margin:0 0 18px !important;padding:0 !important;display:grid;grid-template-columns:1fr 1fr;gap:12px;}
body.home ul.km-usp-list li{position:relative;margin:0 !important;padding:18px 18px 17px 58px !important;background:rgba(255,255,255,.86);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(31,31,78,.07);border-radius:18px;box-shadow:0 14px 34px -22px rgba(31,31,78,.55);transition:transform .22s cubic-bezier(.4,0,.2,1),box-shadow .22s ease,border-color .22s ease;list-style:none !important;}
body.home ul.km-usp-list li:hover{transform:translateY(-3px);border-color:rgba(191,231,98,.85);box-shadow:0 22px 44px -22px rgba(31,31,78,.5);}
body.home ul.km-usp-list li strong{display:block;font-family:"Open Sans",Helvetica,Arial,sans-serif;font-size:14.5px;font-weight:700;line-height:1.3;color:#1f1f4e;margin:0 0 5px;}
body.home ul.km-usp-list li span{display:block;font-family:"Nunito Sans",Helvetica,Arial,sans-serif;font-size:13px;line-height:1.55;color:rgba(31,31,78,.62);}
body.home ul.km-usp-list li::before{content:"";position:absolute;left:16px;top:17px;width:30px;height:30px;border-radius:10px;background:linear-gradient(140deg,#d2f27f,#bfe762);box-shadow:0 6px 14px -6px rgba(140,190,60,.9);}
body.home ul.km-usp-list li::after{content:"";position:absolute;left:24px;top:25px;width:14px;height:14px;background-color:#1f1f4e;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;}
body.home ul.km-usp-list li.km-usp-i1::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2.5 4.5 5.5v6c0 5 3.2 8.6 7.5 10 4.3-1.4 7.5-5 7.5-10v-6z'/%3E%3Cpath d='m8.8 11.8 2.3 2.3 4.3-4.6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2.5 4.5 5.5v6c0 5 3.2 8.6 7.5 10 4.3-1.4 7.5-5 7.5-10v-6z'/%3E%3Cpath d='m8.8 11.8 2.3 2.3 4.3-4.6'/%3E%3C/svg%3E")}
body.home ul.km-usp-list li.km-usp-i2::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 6.6V12l3.6 2.2'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 6.6V12l3.6 2.2'/%3E%3C/svg%3E")}
body.home ul.km-usp-list li.km-usp-i3::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.5 13.3 13.3 20.5a2 2 0 0 1-2.8 0l-7-7A2 2 0 0 1 3 12V4.5A1.5 1.5 0 0 1 4.5 3H12a2 2 0 0 1 1.4.6l7.1 7.1a2 2 0 0 1 0 2.6z'/%3E%3Ccircle cx='7.8' cy='7.8' r='1.3'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.5 13.3 13.3 20.5a2 2 0 0 1-2.8 0l-7-7A2 2 0 0 1 3 12V4.5A1.5 1.5 0 0 1 4.5 3H12a2 2 0 0 1 1.4.6l7.1 7.1a2 2 0 0 1 0 2.6z'/%3E%3Ccircle cx='7.8' cy='7.8' r='1.3'/%3E%3C/svg%3E")}
body.home ul.km-usp-list li.km-usp-i4::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21.5s7-6.4 7-11.8a7 7 0 1 0-14 0c0 5.4 7 11.8 7 11.8z'/%3E%3Ccircle cx='12' cy='9.7' r='2.6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21.5s7-6.4 7-11.8a7 7 0 1 0-14 0c0 5.4 7 11.8 7 11.8z'/%3E%3Ccircle cx='12' cy='9.7' r='2.6'/%3E%3C/svg%3E")}
body.home p.km-usp-seo{margin:0 !important;font-family:"Nunito Sans",Helvetica,Arial,sans-serif;font-size:13px !important;line-height:1.7 !important;color:rgba(31,31,78,.55) !important;}
body.home .et_pb_section:has(.km-usp) .et_pb_button_module_wrapper,body.home .et_pb_section:has(.km-usp) .km-cta-tel{display:inline-block !important;vertical-align:middle;margin:22px 12px 0 0 !important;}
body.home .et_pb_section:has(.km-usp) .et_pb_button{padding:17px 30px !important;border:0 !important;border-radius:14px !important;background:linear-gradient(135deg,#d2f27f 0%,#bfe762 52%,#a9d94b 100%) !important;color:#1f1f4e !important;font-weight:700 !important;font-size:15.5px !important;box-shadow:0 16px 34px -14px rgba(150,200,70,.95);transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s ease,filter .2s ease;}
body.home .et_pb_section:has(.km-usp) .et_pb_button:hover{transform:translateY(-2px);filter:brightness(1.03);box-shadow:0 22px 44px -14px rgba(150,200,70,1);padding:17px 30px !important;}
body.home .et_pb_section:has(.km-usp) .et_pb_button::after,body.home .et_pb_section:has(.km-usp) .et_pb_button::before{display:none !important}
body.home a.km-cta-phone{position:relative;display:inline-flex;flex-direction:column;justify-content:center;padding:11px 24px 11px 52px;border:1.5px solid rgba(31,31,78,.16);border-radius:14px;background:rgba(255,255,255,.7);text-decoration:none;line-height:1.15;transition:border-color .2s ease,background-color .2s ease,transform .2s cubic-bezier(.4,0,.2,1);}
body.home a.km-cta-phone span{font-family:"Open Sans",Helvetica,Arial,sans-serif;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgba(31,31,78,.5);}
body.home a.km-cta-phone strong{font-family:"Open Sans",Helvetica,Arial,sans-serif;font-size:17px;font-weight:800;color:#1f1f4e;letter-spacing:-.01em;margin-top:2px;}
body.home a.km-cta-phone::before{content:"";position:absolute;left:20px;top:50%;width:20px;height:20px;margin-top:-10px;background-color:#1f1f4e;transition:background-color .2s ease;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 3h-3A1.5 1.5 0 0 0 2 4.6C2 13 11 22 19.4 22a1.5 1.5 0 0 0 1.6-1.5v-3l-4.5-2-2.2 2.2a15 15 0 0 1-6-6L10.5 9 8.5 4.5z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 3h-3A1.5 1.5 0 0 0 2 4.6C2 13 11 22 19.4 22a1.5 1.5 0 0 0 1.6-1.5v-3l-4.5-2-2.2 2.2a15 15 0 0 1-6-6L10.5 9 8.5 4.5z'/%3E%3C/svg%3E");}
body.home a.km-cta-phone:hover{border-color:#1f1f4e;background:#fff;transform:translateY(-2px);}
body.home .et_pb_section:has(.km-usp) .et_pb_image{position:relative;z-index:2}
body.home .et_pb_section:has(.km-usp) .et_pb_image img{filter:drop-shadow(0 34px 60px rgba(31,31,78,.28));}
body.home .et_pb_section:has(.km-usp) .et_pb_column:has(.et_pb_image)::before{content:"";position:absolute;z-index:0;left:2%;top:6%;width:62%;padding-bottom:56%;border-radius:32px;background:linear-gradient(150deg,rgba(191,231,98,.34),rgba(191,231,98,0) 70%);pointer-events:none;}
@media (max-width:1100px){body.home ul.km-usp-list{gap:10px}body.home ul.km-usp-list li{padding:16px 14px 15px 54px !important}}
@media (max-width:980px){body.home ul.km-usp-list{grid-template-columns:1fr}body.home .et_pb_section:has(.km-usp) .et_pb_button_module_wrapper,body.home .et_pb_section:has(.km-usp) .km-cta-tel{display:block !important;margin-right:0 !important}body.home .et_pb_section:has(.km-usp) .et_pb_button{display:block;text-align:center}body.home a.km-cta-phone{display:flex !important;text-align:left}}
@media (prefers-reduced-motion:reduce){body.home ul.km-usp-list li,body.home a.km-cta-phone,body.home .et_pb_section:has(.km-usp) .et_pb_button{transition:none !important}}

body.home .km-usp{margin-top:22px !important}
body.home .km-usp-title{margin:0 0 14px !important}

body.home ul.km-usp-list{grid-template-columns:1fr !important;gap:10px !important}
body.home ul.km-usp-list li{padding:14px 18px 14px 56px !important}
body.home ul.km-usp-list li::before{top:14px;width:28px;height:28px;border-radius:9px}
body.home ul.km-usp-list li::after{left:23px;top:21px;width:13px;height:13px}
body.home ul.km-usp-list li strong{font-size:15px;margin:0 0 3px}
body.home .et_pb_section:has(.km-usp) .et_pb_column:has(.et_pb_image)::before{left:8%;top:calc(3% + (var(--kmp,0) * 46px));width:78%;padding-bottom:62%;border-radius:28px;background:linear-gradient(150deg,rgba(191,231,98,.30),rgba(191,231,98,0) 72%);transition:top .18s cubic-bezier(.2,.8,.3,1)}

body.home .et_pb_section:has(.km-usp) .et_pb_column:has(.et_pb_image){display:flex;flex-direction:column;justify-content:flex-start}
body.home .et_pb_section:has(.km-usp) .et_pb_button{min-height:58px;display:inline-flex;align-items:center;justify-content:center}
body.home a.km-cta-phone{min-height:58px}


/* ---------------------------------------------------------------------------
   ANIMATIONS (section Experts) - apparition au defilement + parallaxe image.
   Les etats sont pilotes par un petit script (classe .km-in), avec repli :
   sans JavaScript, tout reste visible.
   --------------------------------------------------------------------------- */
body.home .km-reveal{
  opacity:0;translate:0 22px;
  transition:opacity .65s cubic-bezier(.22,.61,.36,1),translate .65s cubic-bezier(.22,.61,.36,1);
}
body.home .km-reveal.km-in{opacity:1;translate:0 0}
body.home .et_pb_section:has(.km-usp) .et_pb_image{will-change:transform;transition:transform .18s cubic-bezier(.2,.8,.3,1)}
@media (prefers-reduced-motion:reduce){body.home .et_pb_section:has(.km-usp) .et_pb_image{transition:none;transform:none !important}}
@media (prefers-reduced-motion:reduce){
  body.home .km-reveal{opacity:1 !important;translate:none !important;transition:none !important}
}


/* ---------------------------------------------------------------------------
   CARROUSEL "NOS DIAGNOSTICS" (accueil)
   Les vignettes sont regroupees sur une seule ligne qui defile en continu.
   Le defilement se met en pause au survol d'une vignette.
   Structure creee par le snippet "KM DiagImmo - Carrousel Nos diagnostics".
   --------------------------------------------------------------------------- */
body.home .km-carousel{
  position:relative;overflow:hidden;width:100%;
  padding:16px 0 30px;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%);
}
body.home .km-carousel-track{
  display:flex;align-items:stretch;gap:26px;width:max-content;
  padding:0 26px;will-change:transform;
}
body.home .km-carousel-track > .et_pb_column{
  flex:0 0 320px;width:320px !important;margin:0 !important;
  border-radius:18px;overflow:hidden;
  transition:transform .28s cubic-bezier(.22,.61,.36,1),box-shadow .28s ease;
}
body.home .km-carousel-track > .et_pb_column:hover{
  transform:translateY(-6px);
  box-shadow:0 26px 52px -24px rgba(31,31,78,.45);
}
body.home .km-carousel-track > .et_pb_column img{display:block}

/* mode manuel : mobile, tablette et "reduire les animations" */
body.home .km-carousel.km-manual{
  overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  -webkit-mask-image:none;mask-image:none;
}
body.home .km-carousel.km-manual::-webkit-scrollbar{display:none}
body.home .km-carousel.km-manual .km-carousel-track{transform:none !important}
body.home .km-carousel.km-manual .km-carousel-track > .et_pb_column{scroll-snap-align:center}
@media (max-width:640px){
  body.home .km-carousel-track{gap:16px;padding:0 16px}
  body.home .km-carousel-track > .et_pb_column{flex:0 0 78vw;width:78vw !important}
}


/* ---------------------------------------------------------------------------
   MODULE "VOS EXPERTS EN ILE-DE-FRANCE" (accueil) - design 2026
   Portee : la section contenant le bloc .km-zones.
   --------------------------------------------------------------------------- */
body.home .et_pb_section:has(.km-zones){
  position:relative;overflow:hidden;
  background:linear-gradient(178deg,#eef9ff 0%,#e4f4ff 60%,#f3fbff 100%) !important;
}
body.home .et_pb_section:has(.km-zones)::before{
  content:"";position:absolute;top:-12%;left:-8%;width:38%;padding-bottom:38%;
  background:radial-gradient(circle at 50% 50%,rgba(191,231,98,.26),transparent 68%);
  border-radius:50%;pointer-events:none;
}
body.home .et_pb_section:has(.km-zones) > .et_pb_row{position:relative;z-index:2}
body.home .et_pb_section:has(.km-zones) h2{letter-spacing:-.025em;line-height:1.1 !important}

/* visuel de gauche */
body.home .et_pb_section:has(.km-zones) .et_pb_column:first-child .et_pb_image img{
  border-radius:24px;box-shadow:0 40px 80px -34px rgba(31,31,78,.55);
  transition:transform .5s cubic-bezier(.22,.61,.36,1);
}
body.home .et_pb_section:has(.km-zones) .et_pb_column:first-child .et_pb_image:hover img{transform:scale(1.015)}

/* intro */
body.home p.km-zone-intro{
  font-family:"Nunito Sans",Helvetica,Arial,sans-serif;
  font-size:15px !important;line-height:1.7 !important;color:rgba(31,31,78,.78) !important;margin:0 0 4px !important;
}
body.home p.km-zone-label{
  display:flex;align-items:center;gap:10px;margin:22px 0 10px !important;
  font-family:"Open Sans",Helvetica,Arial,sans-serif;font-size:11.5px !important;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:rgba(31,31,78,.5) !important;
}
body.home p.km-zone-label::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(31,31,78,.16),transparent)}

/* grille des departements */
body.home ul.km-zones{
  list-style:none !important;margin:0 !important;padding:0 !important;
  display:grid;grid-template-columns:1fr 1fr;gap:9px;
}
body.home ul.km-zones li{margin:0 !important;padding:0 !important;list-style:none !important}
body.home ul.km-zones li > a,
body.home ul.km-zones li > span.km-zone-flat{
  display:flex;align-items:center;gap:11px;
  padding:10px 13px;border-radius:14px;
  background:rgba(255,255,255,.92);border:1px solid rgba(31,31,78,.08);
  box-shadow:0 12px 28px -22px rgba(31,31,78,.6);
  text-decoration:none;
  transition:transform .24s cubic-bezier(.22,.61,.36,1),box-shadow .24s ease,border-color .24s ease;
}
body.home ul.km-zones li > a:hover{
  transform:translateY(-3px);border-color:rgba(191,231,98,.95);
  box-shadow:0 20px 36px -20px rgba(31,31,78,.45);
}
body.home .km-zone-num{
  flex:0 0 auto;min-width:36px;height:30px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:9px;background:linear-gradient(140deg,#d2f27f,#bfe762);
  font-family:"Open Sans",Helvetica,Arial,sans-serif;font-size:12.5px;font-weight:800;color:#1f1f4e;
}
body.home .km-zone-name{
  font-family:"Open Sans",Helvetica,Arial,sans-serif;font-size:14px;font-weight:600;color:#1f1f4e;
  line-height:1.25;
}
body.home ul.km-zones li > a::after{
  content:"";margin-left:auto;width:15px;height:15px;flex:0 0 auto;
  background-color:rgba(31,31,78,.28);transition:background-color .24s ease,transform .24s ease;
  -webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h13M12.5 6l6 6-6 6'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h13M12.5 6l6 6-6 6'/%3E%3C/svg%3E");
}
body.home ul.km-zones li > a:hover::after{background-color:#1f1f4e;transform:translateX(3px)}

/* zone secondaire (Bordeaux) : meme grille, teinte plus sobre */
body.home ul.km-zones.km-zones-na li > span.km-zone-flat{
  background:rgba(255,255,255,.55);box-shadow:none;border-style:dashed;
}
body.home ul.km-zones.km-zones-na .km-zone-num{
  background:rgba(31,31,78,.08);color:rgba(31,31,78,.65);
}
body.home ul.km-zones.km-zones-na .km-zone-name{color:rgba(31,31,78,.72);font-weight:500}

/* texte SEO du module */
body.home p.km-zone-seo{
  margin:18px 0 0 !important;font-family:"Nunito Sans",Helvetica,Arial,sans-serif;
  font-size:12.5px !important;line-height:1.7 !important;color:rgba(31,31,78,.55) !important;
}

/* apparition au defilement (pilotee par le snippet d'animations) */
html.km-js body.home .km-reveal-auto{opacity:0;translate:0 18px}
body.home .km-reveal-auto{transition:opacity .6s cubic-bezier(.22,.61,.36,1),translate .6s cubic-bezier(.22,.61,.36,1)}
html.km-js body.home .km-reveal-auto.km-in{opacity:1;translate:0 0}
@media (prefers-reduced-motion:reduce){
  body.home .km-reveal-auto{opacity:1 !important;translate:none !important;transition:none !important}
}
@media (max-width:980px){
  body.home ul.km-zones{grid-template-columns:1fr 1fr}
}
@media (max-width:480px){
  body.home ul.km-zones{grid-template-columns:1fr}
}

/* mise en page du module Zones : visuel centre, carte IDF sous le texte */
body.home .et_pb_section:has(.km-zones) .et_pb_column:first-child{
  display:flex;flex-direction:column;justify-content:center;
}
body.home .et_pb_section:has(.km-zones) .et_pb_column:last-child .et_pb_image{
  margin:20px 0 0 auto !important;max-width:230px;
}
body.home .et_pb_section:has(.km-zones) .et_pb_column:last-child .et_pb_image img{
  opacity:.92;
}
@media (max-width:980px){
  body.home .et_pb_section:has(.km-zones) .et_pb_column:last-child .et_pb_image{margin:20px auto 0 !important}
}

/* --- Mise en page : departements en pleine largeur sous la rangee image/texte --- */
body.home .km-zones-wrap{
  position:relative;z-index:2;width:65%;max-width:1080px;margin:10px auto 0;
}
body.home .km-zones-wrap ul.km-zones{grid-template-columns:repeat(4,1fr);gap:12px}
body.home .km-zones-wrap ul.km-zones.km-zones-na{grid-template-columns:repeat(5,1fr)}
body.home .km-zones-wrap p.km-zone-label{margin:26px 0 12px !important}
body.home .km-zones-wrap p.km-zone-seo{
  max-width:900px;margin:24px auto 0 !important;text-align:center;
}
@media (max-width:1100px){
  body.home .km-zones-wrap ul.km-zones{grid-template-columns:repeat(3,1fr)}
  body.home .km-zones-wrap ul.km-zones.km-zones-na{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:780px){
  body.home .km-zones-wrap ul.km-zones,
  body.home .km-zones-wrap ul.km-zones.km-zones-na{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:460px){
  body.home .km-zones-wrap ul.km-zones,
  body.home .km-zones-wrap ul.km-zones.km-zones-na{grid-template-columns:1fr}
}
/* la colonne de texte redevient courte : on recentre le visuel et la carte */
body.home .et_pb_section:has(.km-zones-wrap) .et_pb_column:last-child .et_pb_image{
  margin:24px 0 0 !important;max-width:230px;
}

/* ---------------------------------------------------------------------------
   MODULE "QUEL TYPE DE BIEN" (accueil) - design 2026
   La classe .km-types est posee par le snippet d'animations.
   --------------------------------------------------------------------------- */
body.home .et_pb_section.km-types{
  position:relative;overflow:hidden;
  background:linear-gradient(180deg,#ffffff 0%,#f5fbff 100%) !important;
}
body.home .et_pb_section.km-types::before{
  content:"";position:absolute;top:12%;right:-6%;width:30%;padding-bottom:30%;
  background:radial-gradient(circle at 50% 50%,rgba(191,231,98,.20),transparent 70%);
  border-radius:50%;pointer-events:none;
}
body.home .et_pb_section.km-types > .et_pb_row{position:relative;z-index:2}
body.home .et_pb_section.km-types h2{letter-spacing:-.02em;line-height:1.15 !important}
body.home p.km-type-sub{
  max-width:640px;margin:16px auto 0 !important;text-align:center;
  font-family:"Nunito Sans",Helvetica,Arial,sans-serif;
  font-size:14.5px !important;line-height:1.65 !important;color:rgba(31,31,78,.6) !important;
}

/* rangees de cartes */
body.home .km-types .km-types-row{
  display:grid !important;grid-template-columns:repeat(4,1fr);gap:16px;
  width:80% !important;max-width:1080px;
}
body.home .km-types .km-types-row + .km-types-row{margin-top:16px !important}
body.home .km-types .km-type-card{
  margin:0 !important;width:auto !important;float:none !important;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;
  min-height:140px;padding:22px 14px !important;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(31,31,78,.10) !important;border-radius:20px !important;
  box-shadow:0 14px 34px -24px rgba(31,31,78,.65);
  transition:transform .26s cubic-bezier(.22,.61,.36,1),box-shadow .26s ease,border-color .26s ease,background-color .26s ease;
}
body.home .km-types .km-type-card:hover{
  transform:translateY(-5px);background:#fff;
  border-color:rgba(191,231,98,1) !important;
  box-shadow:0 26px 50px -26px rgba(31,31,78,.5);
}

/* pastille + icone */
body.home .km-types .km-type-card .et_pb_image{
  margin:0 !important;width:54px;height:54px;border-radius:16px;
  background:linear-gradient(140deg,#edf8d2,#dff0ae);
  display:flex;align-items:center;justify-content:center;
  transition:background .26s ease,transform .26s cubic-bezier(.22,.61,.36,1);
}
body.home .km-types .km-type-card:hover .et_pb_image{
  background:linear-gradient(140deg,#d2f27f,#bfe762);transform:scale(1.06);
}
body.home .km-types .km-type-card .et_pb_image .et_pb_image_wrap{display:flex;align-items:center;justify-content:center}
body.home .km-types .km-type-card .et_pb_image img,
body.home .km-types .km-type-card .et_pb_image svg{
  width:30px !important;height:30px !important;max-width:30px;display:block;
}
body.home .km-types .km-type-card .et_pb_image svg path,
body.home .km-types .km-type-card .et_pb_image svg g,
body.home .km-types .km-type-card .et_pb_image svg circle,
body.home .km-types .km-type-card .et_pb_image svg rect{fill:#1f1f4e}

/* libelle */
body.home .km-types .km-type-card .et_pb_text{margin:0 !important;width:100%}
body.home .km-types .km-type-card .et_pb_text .et_pb_text_inner{text-align:center}
body.home .km-types .km-type-card .et_pb_text p{
  margin:0 !important;font-family:"Open Sans",Helvetica,Arial,sans-serif;
  font-size:14px !important;font-weight:600 !important;line-height:1.3 !important;color:#1f1f4e !important;
}

@media (max-width:900px){
  body.home .km-types .km-types-row{grid-template-columns:repeat(2,1fr);width:88% !important}
}
@media (max-width:420px){
  body.home .km-types .km-types-row{grid-template-columns:1fr}
}

/* icones des cartes "Quel type de bien" (les SVG de la mediatheque sont indisponibles) */
body.home .km-types .km-type-card .et_pb_image img{display:none !important}
body.home .km-types .km-type-card .et_pb_image::after{content:"";width:30px;height:30px;display:block;background-color:#1f1f4e;transition:background-color .26s ease;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}
body.home .km-types .km-type-card.km-t1 .et_pb_image::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='2.5' width='16' height='19' rx='2'/%3E%3Cpath d='M8 6.5h2M14 6.5h2M8 10.5h2M14 10.5h2M8 14.5h2M14 14.5h2M10 21.5v-4h4v4'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='2.5' width='16' height='19' rx='2'/%3E%3Cpath d='M8 6.5h2M14 6.5h2M8 10.5h2M14 10.5h2M8 14.5h2M14 14.5h2M10 21.5v-4h4v4'/%3E%3C/svg%3E")}
body.home .km-types .km-type-card.km-t2 .et_pb_image::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 10.5 12 3.5l8.5 7'/%3E%3Cpath d='M5.5 12v9h13v-9'/%3E%3Cpath d='M10 21v-5h4v5'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 10.5 12 3.5l8.5 7'/%3E%3Cpath d='M5.5 12v9h13v-9'/%3E%3Cpath d='M10 21v-5h4v5'/%3E%3C/svg%3E")}
body.home .km-types .km-type-card.km-t3 .et_pb_image::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='7' width='8' height='14.5' rx='1.5'/%3E%3Crect x='13.5' y='2.5' width='8' height='19' rx='1.5'/%3E%3Cpath d='M5 11h3M5 15h3M16 6.5h3M16 10.5h3M16 14.5h3'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='7' width='8' height='14.5' rx='1.5'/%3E%3Crect x='13.5' y='2.5' width='8' height='19' rx='1.5'/%3E%3Cpath d='M5 11h3M5 15h3M16 6.5h3M16 10.5h3M16 14.5h3'/%3E%3C/svg%3E")}
body.home .km-types .km-type-card.km-t4 .et_pb_image::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 2.5v8a2.5 2.5 0 0 0 5 0v-8'/%3E%3Cpath d='M9 10.5v11'/%3E%3Cpath d='M6.5 2.5v6M11.5 2.5v6'/%3E%3Cpath d='M17.5 2.5c2 1.5 2.5 4 2.5 6.5 0 2-1 3-2.5 3.2v9.3'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 2.5v8a2.5 2.5 0 0 0 5 0v-8'/%3E%3Cpath d='M9 10.5v11'/%3E%3Cpath d='M6.5 2.5v6M11.5 2.5v6'/%3E%3Cpath d='M17.5 2.5c2 1.5 2.5 4 2.5 6.5 0 2-1 3-2.5 3.2v9.3'/%3E%3C/svg%3E")}
body.home .km-types .km-type-card.km-t5 .et_pb_image::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 21.5V5.5l8-3 8 3v16'/%3E%3Cpath d='M8.5 9h2.5M13 9h2.5M8.5 13h2.5M13 13h2.5M10 21.5v-4h4v4'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 21.5V5.5l8-3 8 3v16'/%3E%3Cpath d='M8.5 9h2.5M13 9h2.5M8.5 13h2.5M13 13h2.5M10 21.5v-4h4v4'/%3E%3C/svg%3E")}
body.home .km-types .km-type-card.km-t6 .et_pb_image::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='7.5' width='19' height='13' rx='2'/%3E%3Cpath d='M8.5 7.5V5a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v2.5'/%3E%3Cpath d='M2.5 13h19'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='7.5' width='19' height='13' rx='2'/%3E%3Cpath d='M8.5 7.5V5a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v2.5'/%3E%3Cpath d='M2.5 13h19'/%3E%3C/svg%3E")}
body.home .km-types .km-type-card.km-t7 .et_pb_image::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 21.5V10l6 3.5V10l6 3.5V6.5l7 3.5v11.5z'/%3E%3Cpath d='M6 17.5h2M12 17.5h2M17.5 17.5h2'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 21.5V10l6 3.5V10l6 3.5V6.5l7 3.5v11.5z'/%3E%3Cpath d='M6 17.5h2M12 17.5h2M17.5 17.5h2'/%3E%3C/svg%3E")}
body.home .km-types .km-type-card.km-t8 .et_pb_image::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 16.5v.01'/%3E%3Cpath d='M9.5 9.2a2.6 2.6 0 1 1 3.2 2.6c-.5.2-.7.6-.7 1.1v.6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 16.5v.01'/%3E%3Cpath d='M9.5 9.2a2.6 2.6 0 1 1 3.2 2.6c-.5.2-.7.6-.7 1.1v.6'/%3E%3C/svg%3E")}

/* le clearfix Divi ne doit pas occuper de cellule dans la grille */
body.home .km-types .km-types-row::before,
body.home .km-types .km-types-row::after{content:none !important;display:none !important}

/* espacement regulier entre les deux rangees de cartes */
body.home .km-types .km-types-row{margin-top:0 !important;margin-bottom:0 !important;padding-top:0 !important;padding-bottom:0 !important}
body.home .km-types .km-types-row + .km-types-row{margin-top:16px !important}
body.home .km-types .et_pb_row:first-of-type{padding-bottom:6px !important}

/* ---------------------------------------------------------------------------
   MODULE "POURQUOI NOUS ?" (accueil) - design 2026
   Portee : la section contenant le bloc .km-why.
   --------------------------------------------------------------------------- */
body.home .et_pb_section:has(.km-why){position:relative;overflow:hidden}
body.home .et_pb_section:has(.km-why)::after{
  content:"";position:absolute;right:-8%;bottom:-14%;width:34%;padding-bottom:34%;
  background:radial-gradient(circle at 50% 50%,rgba(191,231,98,.22),transparent 70%);
  border-radius:50%;pointer-events:none;z-index:0;
}
body.home .et_pb_section:has(.km-why) > .et_pb_row{position:relative;z-index:2}

/* collage d'images */
body.home .et_pb_section:has(.km-why) .et_pb_column:first-child .et_pb_image img{
  filter:drop-shadow(0 26px 46px rgba(31,31,78,.24));
  transition:transform .5s cubic-bezier(.22,.61,.36,1);
}
body.home .et_pb_section:has(.km-why) .et_pb_column:first-child .et_pb_image:hover img{transform:translateY(-4px)}

/* liste des arguments */
body.home ul.km-why{
  list-style:none !important;margin:6px 0 0 !important;padding:0 !important;
  display:grid;gap:10px;
}
body.home ul.km-why li{
  position:relative;margin:0 !important;padding:14px 16px 14px 54px !important;
  background:rgba(255,255,255,.9);border:1px solid rgba(31,31,78,.08);border-radius:16px;
  box-shadow:0 14px 32px -24px rgba(31,31,78,.6);
  transition:transform .24s cubic-bezier(.22,.61,.36,1),box-shadow .24s ease,border-color .24s ease;
  list-style:none !important;
}
body.home ul.km-why li:hover{
  transform:translateY(-3px);border-color:rgba(191,231,98,.9);
  box-shadow:0 22px 40px -22px rgba(31,31,78,.45);
}
body.home ul.km-why li::before{
  content:"";position:absolute;left:15px;top:15px;width:26px;height:26px;border-radius:9px;
  background:linear-gradient(140deg,#d2f27f,#bfe762);
  box-shadow:0 6px 14px -7px rgba(140,190,60,.95);
}
body.home ul.km-why li::after{
  content:"";position:absolute;left:21px;top:21px;width:14px;height:14px;background-color:#1f1f4e;
  -webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4.5 12.5 5 5 10-11'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4.5 12.5 5 5 10-11'/%3E%3C/svg%3E");
}
body.home ul.km-why li strong{
  display:block;font-family:"Open Sans",Helvetica,Arial,sans-serif;
  font-size:15px;font-weight:700;line-height:1.3;color:#1f1f4e;margin:0 0 4px;
}
body.home ul.km-why li span{
  display:block;font-family:"Nunito Sans",Helvetica,Arial,sans-serif;
  font-size:13px;line-height:1.55;color:rgba(31,31,78,.62);
}

/* appels a l'action */
body.home .km-why-cta{
  display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:20px 0 0;
}
body.home a.km-why-btn{
  display:inline-flex;align-items:center;justify-content:center;min-height:54px;
  padding:15px 26px;border-radius:14px;text-decoration:none;
  background:linear-gradient(135deg,#d2f27f 0%,#bfe762 52%,#a9d94b 100%);
  color:#1f1f4e;font-family:"Open Sans",Helvetica,Arial,sans-serif;font-size:15px;font-weight:700;
  box-shadow:0 16px 34px -14px rgba(150,200,70,.95);
  transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s ease,filter .2s ease;
}
body.home a.km-why-btn:hover{transform:translateY(-2px);filter:brightness(1.03);box-shadow:0 22px 44px -14px rgba(150,200,70,1)}
body.home a.km-why-tel{
  position:relative;display:inline-flex;align-items:center;min-height:54px;
  padding:14px 22px 14px 48px;border:1.5px solid rgba(31,31,78,.16);border-radius:14px;
  background:rgba(255,255,255,.7);text-decoration:none;
  font-family:"Open Sans",Helvetica,Arial,sans-serif;font-size:16px;font-weight:800;color:#1f1f4e;
  transition:border-color .2s ease,background-color .2s ease,transform .2s cubic-bezier(.4,0,.2,1);
}
body.home a.km-why-tel::before{
  content:"";position:absolute;left:18px;top:50%;width:19px;height:19px;margin-top:-9.5px;
  background-color:#1f1f4e;
  -webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 3h-3A1.5 1.5 0 0 0 2 4.6C2 13 11 22 19.4 22a1.5 1.5 0 0 0 1.6-1.5v-3l-4.5-2-2.2 2.2a15 15 0 0 1-6-6L10.5 9 8.5 4.5z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 3h-3A1.5 1.5 0 0 0 2 4.6C2 13 11 22 19.4 22a1.5 1.5 0 0 0 1.6-1.5v-3l-4.5-2-2.2 2.2a15 15 0 0 1-6-6L10.5 9 8.5 4.5z'/%3E%3C/svg%3E");
}
body.home a.km-why-tel:hover{border-color:#1f1f4e;background:#fff;transform:translateY(-2px)}
@media (max-width:640px){
  body.home .km-why-cta{flex-direction:column;align-items:stretch}
  body.home a.km-why-btn,body.home a.km-why-tel{width:100%}
}

/* ajustements finaux du module Pourquoi nous */
body.home .et_pb_section:has(.km-why) .et_pb_row:last-of-type .et_pb_column:first-child{
  display:flex;flex-direction:column;justify-content:center;
}
body.home a.km-why-btn{padding:15px 20px;font-size:14.5px}
body.home a.km-why-tel{padding:14px 18px 14px 44px;font-size:15.5px}
body.home a.km-why-tel::before{left:16px}
body.home .km-why-cta{gap:10px}

/* CTA du module Pourquoi nous : bouton principal + numero discret */
body.home .km-why-cta{flex-direction:column;align-items:stretch;gap:8px;margin-top:18px}
body.home a.km-why-btn{width:100%;font-size:15px;padding:16px 20px}
body.home a.km-why-tel{
  align-self:center;border:0;background:transparent;box-shadow:none;
  min-height:auto;padding:6px 0 0 26px;font-size:15.5px;
}
body.home a.km-why-tel::before{left:2px;top:62%;width:17px;height:17px;margin-top:-8px}
body.home a.km-why-tel:hover{background:transparent;transform:none;text-decoration:underline;border:0}
@media (max-width:640px){
  body.home a.km-why-btn,body.home a.km-why-tel{width:auto}
}

/* ===========================================================================
   PIED DE PAGE 2026 (toutes les pages)
   Les classes km-foot* sont posees par le snippet "Pied de page 2026".
   =========================================================================== */
.et-l--footer.km-foot{position:relative;overflow:hidden}
.et-l--footer.km-foot::before{
  content:"";position:absolute;top:-18%;right:-6%;width:34%;padding-bottom:34%;
  background:radial-gradient(circle at 50% 50%,rgba(191,231,98,.14),transparent 70%);
  border-radius:50%;pointer-events:none;
}
.et-l--footer.km-foot .et_pb_row{position:relative;z-index:2}
.et-l--footer.km-foot img.km-foot-logo{max-width:190px;height:auto;display:block}

/* --- rangee principale en 4 colonnes --- */
.et-l--footer.km-foot .km-foot-main{
  display:grid !important;grid-template-columns:1.25fr 1fr 1fr 1.15fr;gap:34px;
  width:80% !important;max-width:1180px;align-items:start;
}
.et-l--footer.km-foot .km-foot-main::before,
.et-l--footer.km-foot .km-foot-main::after{content:none !important;display:none !important}
.et-l--footer.km-foot .km-foot-col{width:auto !important;margin:0 !important;float:none !important}

/* --- titres de colonnes --- */
.et-l--footer.km-foot .km-foot-col h2,
.et-l--footer.km-foot .km-foot-col h3,
.et-l--footer.km-foot .km-foot-title{
  position:relative;margin:0 0 18px !important;padding:0 0 12px !important;
  font-family:"Open Sans",Helvetica,Arial,sans-serif !important;
  font-size:16px !important;font-weight:700 !important;letter-spacing:.02em;
  color:#fff !important;text-align:left !important;line-height:1.3 !important;
}
.et-l--footer.km-foot .km-foot-col h2::after,
.et-l--footer.km-foot .km-foot-col h3::after,
.et-l--footer.km-foot .km-foot-title::after{
  content:"";position:absolute;left:0;bottom:0;width:30px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,#bfe762,rgba(191,231,98,0));
}

/* --- liens --- */
.et-l--footer.km-foot .km-foot-col p,
.et-l--footer.km-foot .km-foot-zones li{margin:0 0 9px !important;padding:0 !important;text-align:left !important;list-style:none !important}
.et-l--footer.km-foot .km-foot-zones ul{margin:0 !important;padding:0 !important;list-style:none !important}
.et-l--footer.km-foot .km-foot-col a{
  position:relative;display:inline-block;text-decoration:none;
  font-family:"Nunito Sans",Helvetica,Arial,sans-serif;font-size:14.5px;line-height:1.5;
  color:rgba(255,255,255,.72) !important;
  transition:color .2s ease,transform .2s cubic-bezier(.22,.61,.36,1);
}
.et-l--footer.km-foot .km-foot-col a:hover{color:#bfe762 !important;transform:translateX(3px)}
.et-l--footer.km-foot .km-foot-col a strong{font-weight:600}

/* --- boutons de la premiere colonne --- */
.et-l--footer.km-foot .km-foot-col .et_pb_button{
  display:block;width:100%;max-width:270px;text-align:center;
  padding:15px 22px !important;border:0 !important;border-radius:14px !important;
  background:linear-gradient(135deg,#d2f27f 0%,#bfe762 52%,#a9d94b 100%) !important;
  color:#1f1f4e !important;font-weight:700 !important;font-size:15px !important;
  box-shadow:0 16px 34px -16px rgba(150,200,70,.9);
  transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s ease;
}
.et-l--footer.km-foot .km-foot-col .et_pb_button:hover{transform:translateY(-2px);padding:15px 22px !important}
.et-l--footer.km-foot .km-foot-col .et_pb_button::after,
.et-l--footer.km-foot .km-foot-col .et_pb_button::before{display:none !important}

/* --- reseaux sociaux --- */
.et-l--footer.km-foot .km-soc img{display:none !important}
.et-l--footer.km-foot .km-soc{
  width:44px;height:44px;border-radius:14px;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);
  display:flex !important;align-items:center;justify-content:center;
  transition:background .22s ease,border-color .22s ease,transform .22s cubic-bezier(.22,.61,.36,1);
}
.et-l--footer.km-foot .km-soc:hover{background:rgba(191,231,98,.16);border-color:rgba(191,231,98,.85);transform:translateY(-3px)}
.et-l--footer.km-foot .km-soc::after{
  content:"";width:20px;height:20px;display:block;background-color:#fff;transition:background-color .22s ease;
  -webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;
}
.et-l--footer.km-foot .km-soc:hover::after{background-color:#bfe762}
.et-l--footer.km-foot .km-soc-facebook::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='none' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.5 8.5V6.8c0-.8.2-1.3 1.4-1.3h1.6V2.6c-.3 0-1.3-.1-2.4-.1-2.4 0-4 1.5-4 4.2v1.8H8.5v3.2h2.6V21h3.4v-9.3h2.6l.4-3.2z' fill='black' stroke='none'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='none' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.5 8.5V6.8c0-.8.2-1.3 1.4-1.3h1.6V2.6c-.3 0-1.3-.1-2.4-.1-2.4 0-4 1.5-4 4.2v1.8H8.5v3.2h2.6V21h3.4v-9.3h2.6l.4-3.2z' fill='black' stroke='none'/%3E%3C/svg%3E")}
.et-l--footer.km-foot .km-soc-instagram::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M17.4 6.8v.01'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M17.4 6.8v.01'/%3E%3C/svg%3E")}
.et-l--footer.km-foot .km-soc-x::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='none' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 3.5h4.2l5 6.6 5.6-6.6h2.2l-6.8 8 7.2 9h-4.2l-5.4-7-6 7H3.1l7.2-8.4z' fill='black' stroke='none'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='none' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 3.5h4.2l5 6.6 5.6-6.6h2.2l-6.8 8 7.2 9h-4.2l-5.4-7-6 7H3.1l7.2-8.4z' fill='black' stroke='none'/%3E%3C/svg%3E")}
.et-l--footer.km-foot .km-soc-linkedin::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='3'/%3E%3Cpath d='M7.5 10.5V17M7.5 7.2v.01M11.5 17v-4a2.5 2.5 0 0 1 5 0v4'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='3'/%3E%3Cpath d='M7.5 10.5V17M7.5 7.2v.01M11.5 17v-4a2.5 2.5 0 0 1 5 0v4'/%3E%3C/svg%3E")}

@media (max-width:1024px){
  .et-l--footer.km-foot .km-foot-main{grid-template-columns:1fr 1fr;gap:28px;width:88% !important}
}
@media (max-width:600px){
  .et-l--footer.km-foot .km-foot-main{grid-template-columns:1fr}
  .et-l--footer.km-foot .km-foot-col .et_pb_button{max-width:none}
}

/* alignement et finitions du pied de page */
.et-l--footer.km-foot .km-foot-zones .km-foot-title{margin-top:25px !important}
.et-l--footer.km-foot .km-foot-added{margin-top:9px}
.et-l--footer.km-foot .km-img-missing{display:none !important}
.et-l--footer.km-foot .km-foot-partners{
  width:80% !important;max-width:1180px;padding-top:6px !important;
}
.et-l--footer.km-foot .km-foot-partners .et_pb_column{
  display:flex;align-items:center;justify-content:center;
}
.et-l--footer.km-foot .km-foot-partners a,
.et-l--footer.km-foot .km-foot-partners .et_pb_text_inner{
  font-family:"Nunito Sans",Helvetica,Arial,sans-serif;font-size:13.5px;line-height:1.45;
  color:rgba(255,255,255,.62) !important;text-decoration:none;
}
.et-l--footer.km-foot .km-foot-partners a:hover{color:#bfe762 !important}

/* ---------------------------------------------------------------------------
   BANDEAU DE CONFIANCE (bas de la section "Nos diagnostics")
   Portee : la rangee contenant le bloc .km-trust-list.
   --------------------------------------------------------------------------- */
body.home .et_pb_row:has(.km-trust-list){
  position:relative;
  background:linear-gradient(160deg,rgba(255,255,255,.96),rgba(240,250,255,.92));
  border:1px solid rgba(31,31,78,.08);border-radius:26px;
  box-shadow:0 30px 70px -40px rgba(31,31,78,.55);
  padding:34px 40px 32px !important;max-width:1080px;
}
body.home .et_pb_row:has(.km-trust-list)::before{
  content:"";position:absolute;inset:auto -6% -30% auto;width:26%;padding-bottom:26%;
  background:radial-gradient(circle at 50% 50%,rgba(191,231,98,.22),transparent 70%);
  border-radius:50%;pointer-events:none;
}
/* visuel equipe + certifications */
body.home .et_pb_row:has(.km-trust-list) .et_pb_image:first-of-type img{
  filter:drop-shadow(0 16px 30px rgba(31,31,78,.18));
}
/* le bloc avis Google pointe vers un fichier introuvable : on le neutralise */
body.home .et_pb_row:has(.km-trust-list) .et_pb_image:last-of-type:not(:first-of-type){display:none}

/* accroche */
body.home .et_pb_row:has(.km-trust-list) .et_pb_text strong{
  letter-spacing:-.01em;
}
/* garanties */
body.home ul.km-trust-list{
  list-style:none !important;margin:22px auto 0 !important;padding:0 !important;
  display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:860px;
}
body.home ul.km-trust-list li{
  position:relative;margin:0 !important;padding:14px 16px 14px 48px !important;text-align:left;
  background:rgba(255,255,255,.92);border:1px solid rgba(31,31,78,.08);border-radius:16px;
  box-shadow:0 12px 30px -24px rgba(31,31,78,.6);
  transition:transform .24s cubic-bezier(.22,.61,.36,1),box-shadow .24s ease,border-color .24s ease;
  list-style:none !important;
}
body.home ul.km-trust-list li:hover{
  transform:translateY(-3px);border-color:rgba(191,231,98,.9);
  box-shadow:0 20px 38px -22px rgba(31,31,78,.45);
}
body.home ul.km-trust-list li::before{
  content:"";position:absolute;left:14px;top:15px;width:24px;height:24px;border-radius:8px;
  background:linear-gradient(140deg,#d2f27f,#bfe762);
}
body.home ul.km-trust-list li::after{
  content:"";position:absolute;left:19px;top:20px;width:14px;height:14px;background-color:#1f1f4e;
  -webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2.5 4.5 5.5v6c0 5 3.2 8.6 7.5 10 4.3-1.4 7.5-5 7.5-10v-6z'/%3E%3Cpath d='m9 12 2 2 4-4.2'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2.5 4.5 5.5v6c0 5 3.2 8.6 7.5 10 4.3-1.4 7.5-5 7.5-10v-6z'/%3E%3Cpath d='m9 12 2 2 4-4.2'/%3E%3C/svg%3E");
}
body.home ul.km-trust-list li strong{
  display:block;font-family:"Open Sans",Helvetica,Arial,sans-serif;
  font-size:14px;font-weight:700;line-height:1.25;color:#1f1f4e;margin:0 0 3px;
}
body.home ul.km-trust-list li span{
  display:block;font-family:"Nunito Sans",Helvetica,Arial,sans-serif;
  font-size:12.5px;line-height:1.5;color:rgba(31,31,78,.6);
}
/* texte SEO */
body.home p.km-trust-seo{
  max-width:860px;margin:18px auto 0 !important;text-align:center;
  font-family:"Nunito Sans",Helvetica,Arial,sans-serif;
  font-size:13px !important;line-height:1.7 !important;color:rgba(31,31,78,.55) !important;
}
@media (max-width:900px){
  body.home ul.km-trust-list{grid-template-columns:1fr}
  body.home .et_pb_row:has(.km-trust-list){padding:26px 20px 24px !important;border-radius:22px}
}

/* le bandeau de confiance occupe la largeur de lecture */
body.home .et_pb_row:has(.km-trust-list){width:80% !important;max-width:1040px !important;margin-left:auto !important;margin-right:auto !important}
body.home .et_pb_row:has(.km-trust-list) > .et_pb_column{width:100% !important;margin:0 !important}
body.home .et_pb_row:has(.km-trust-list) .et_pb_text{max-width:760px;margin-left:auto !important;margin-right:auto !important}

/* ---------------------------------------------------------------------------
   BANDEAU "ACTUALITES" (accueil) - 10 derniers articles en carrousel
   Rendu par le snippet "KM DiagImmo - Bandeau Actualites".
   --------------------------------------------------------------------------- */
body.home section.km-news{
  position:relative;overflow:hidden;padding:72px 0 68px;
  background:linear-gradient(180deg,#ffffff 0%,#f4fbff 100%);
}
body.home section.km-news::before{
  content:"";position:absolute;top:-10%;left:-6%;width:32%;padding-bottom:32%;
  background:radial-gradient(circle at 50% 50%,rgba(191,231,98,.22),transparent 70%);
  border-radius:50%;pointer-events:none;
}
body.home .km-news-head{
  position:relative;z-index:2;width:80%;max-width:820px;margin:0 auto 30px;text-align:center;
}
body.home .km-news-head h2{
  margin:0 0 12px !important;padding:0 !important;
  font-family:"Open Sans",Helvetica,Arial,sans-serif;
  font-size:34px;font-weight:800;line-height:1.15;letter-spacing:-.025em;color:#1f1f4e;
}
body.home .km-news-head p{
  margin:0 !important;font-family:"Nunito Sans",Helvetica,Arial,sans-serif;
  font-size:14.5px;line-height:1.65;color:rgba(31,31,78,.62);
}
body.home .km-news-carousel{
  position:relative;z-index:2;overflow:hidden;width:100%;padding:6px 0 10px;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%);
}
body.home .km-news-track{display:flex;align-items:stretch;gap:24px;width:max-content;padding:0 26px;will-change:transform}

/* --- vignette article --- */
body.home .km-news-card{flex:0 0 330px;width:330px;margin:0}
body.home .km-news-link{
  display:flex;flex-direction:column;height:100%;overflow:hidden;text-decoration:none;
  background:#fff;border:1px solid rgba(31,31,78,.08);border-radius:20px;
  box-shadow:0 16px 38px -26px rgba(31,31,78,.6);
  transition:transform .28s cubic-bezier(.22,.61,.36,1),box-shadow .28s ease,border-color .28s ease;
}
body.home .km-news-card:hover .km-news-link{
  transform:translateY(-6px);border-color:rgba(191,231,98,.95);
  box-shadow:0 30px 54px -26px rgba(31,31,78,.45);
}
body.home .km-news-img{
  display:block;width:100%;padding-bottom:58%;
  background-size:cover;background-position:center;background-color:#e8f2fa;
  transition:transform .5s cubic-bezier(.22,.61,.36,1);
}
body.home .km-news-card:hover .km-news-img{transform:scale(1.04)}
body.home .km-news-img-empty{
  background-image:linear-gradient(140deg,#eaf7ff,#dff0b8);
}
body.home .km-news-body{display:flex;flex-direction:column;gap:8px;padding:16px 18px 18px}
body.home .km-news-cat{
  align-self:flex-start;padding:5px 11px;border-radius:999px;
  background:rgba(191,231,98,.22);border:1px solid rgba(191,231,98,.5);
  font-family:"Open Sans",Helvetica,Arial,sans-serif;font-size:10.5px;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;color:#5f7d1f;line-height:1;
}
body.home .km-news-title{
  font-family:"Open Sans",Helvetica,Arial,sans-serif;font-size:15.5px;font-weight:700;
  line-height:1.35;color:#1f1f4e;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
body.home .km-news-date{
  font-family:"Nunito Sans",Helvetica,Arial,sans-serif;font-size:12.5px;color:rgba(31,31,78,.5);
}

/* --- lien vers le blog --- */
body.home .km-news-cta{position:relative;z-index:2;text-align:center;margin-top:22px}
body.home .km-news-cta a{
  display:inline-flex;align-items:center;gap:9px;padding:14px 26px;border-radius:14px;
  border:1.5px solid rgba(31,31,78,.16);background:#fff;text-decoration:none;
  font-family:"Open Sans",Helvetica,Arial,sans-serif;font-size:14.5px;font-weight:700;color:#1f1f4e;
  transition:border-color .2s ease,transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s ease;
}
body.home .km-news-cta a::after{
  content:"";width:15px;height:15px;background-color:#1f1f4e;transition:transform .2s ease;
  -webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h13M12.5 6l6 6-6 6'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h13M12.5 6l6 6-6 6'/%3E%3C/svg%3E");
}
body.home .km-news-cta a:hover{border-color:#1f1f4e;transform:translateY(-2px);box-shadow:0 18px 34px -22px rgba(31,31,78,.6)}
body.home .km-news-cta a:hover::after{transform:translateX(3px)}

/* --- mode manuel (mobile / animations reduites) --- */
body.home .km-news-carousel.km-manual{
  overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;
  -webkit-mask-image:none;mask-image:none;
}
body.home .km-news-carousel.km-manual::-webkit-scrollbar{display:none}
body.home .km-news-carousel.km-manual .km-news-track{transform:none !important}
body.home .km-news-carousel.km-manual .km-news-card{scroll-snap-align:center}
@media (max-width:640px){
  body.home section.km-news{padding:54px 0 50px}
  body.home .km-news-head h2{font-size:27px}
  body.home .km-news-track{gap:16px;padding:0 16px}
  body.home .km-news-card{flex:0 0 78vw;width:78vw}
}

/* ===========================================================================
   KM 2026 - SYSTEME DE MISE EN PAGE DE LA PAGE D'ACCUEIL
   Rythme vertical unifie, largeurs de lecture, echelle typographique.
   =========================================================================== */
:root{
  --km-gap-section:72px;
  --km-read:1080px;
  --km-radius:20px;
}

/* --- rythme vertical : toutes les sections sauf le hero --- */
body.home .et_pb_section:not(:has(#et_pb_contact_form_0)){
  padding-top:var(--km-gap-section) !important;
  padding-bottom:var(--km-gap-section) !important;
}
body.home .et_pb_section:not(:has(#et_pb_contact_form_0)) > .et_pb_row{
  padding-top:0 !important;padding-bottom:0 !important;
  margin-top:0 !important;margin-bottom:0 !important;
}
body.home .et_pb_section:not(:has(#et_pb_contact_form_0)) > .et_pb_row + .et_pb_row{
  margin-top:34px !important;
}
/* largeur de lecture commune */
body.home .et_pb_section:not(:has(#et_pb_contact_form_0)) > .et_pb_row{
  width:80% !important;max-width:var(--km-read) !important;
}

/* --- echelle typographique --- */
body.home .et_pb_section h2{
  font-size:34px !important;line-height:1.15 !important;letter-spacing:-.025em !important;
  color:#1f1f4e !important;
}
body.home .et_pb_section h3{letter-spacing:-.01em}

/* --- surtitres poses par le script d'harmonisation --- */
body.home .km-eyebrow{
  display:inline-flex;align-items:center;gap:8px;margin:0 0 12px;
  padding:6px 13px;border-radius:999px;
  background:rgba(191,231,98,.16);border:1px solid rgba(191,231,98,.42);
  font-family:"Open Sans",Helvetica,Arial,sans-serif;font-size:10.5px;font-weight:700;
  letter-spacing:.11em;text-transform:uppercase;color:#5f7d1f;line-height:1;
}
body.home .km-eyebrow-center{justify-content:center}
body.home .km-eyebrow-wrap{text-align:center;margin-bottom:2px}

/* --- hero : compactage --- */
body.home .et_pb_section:has(#et_pb_contact_form_0) > .et_pb_row{
  padding-top:74px !important;padding-bottom:34px !important;
}
body.home #et_pb_contact_form_0 .et_pb_contact_form{gap:8px}
body.home #et_pb_contact_form_0 .et_pb_contact_form .input,
body.home #et_pb_contact_form_0 .et_pb_contact_form select.et_pb_contact_select{
  min-height:50px;padding:13px 16px 13px 46px !important;
}
body.home #et_pb_contact_form_0 .et_pb_contact_submit.et_pb_button{padding:15px 24px !important}
body.home .et_pb_column:has(#et_pb_contact_form_0){padding:24px 22px 22px !important}
body.home .et_pb_column:has(#et_pb_contact_form_0) .et_pb_text .et_pb_text_inner::after{margin:8px 0 14px}

/* --- transitions entre sections : fondu discret --- */
body.home .et_pb_section:not(:has(#et_pb_contact_form_0))::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(31,31,78,.07) 20%,rgba(31,31,78,.07) 80%,transparent);
  pointer-events:none;
}
body.home .et_pb_section:not(:has(#et_pb_contact_form_0)){position:relative}

@media (max-width:980px){
  :root{--km-gap-section:56px}
  body.home .et_pb_section h2{font-size:28px !important}
  body.home .et_pb_section:not(:has(#et_pb_contact_form_0)) > .et_pb_row{width:88% !important}
}
@media (max-width:640px){
  :root{--km-gap-section:44px}
  body.home .et_pb_section h2{font-size:25px !important}
  body.home .et_pb_section:has(#et_pb_contact_form_0) > .et_pb_row{padding-top:40px !important;padding-bottom:24px !important}
}

/* --- Experts : atouts en pleine largeur sous la rangee --- */
body.home .km-usp-wrap{
  position:relative;z-index:2;width:80%;max-width:var(--km-read,1080px);margin:30px auto 0;
}
body.home .km-usp-wrap .km-usp-title{text-align:center;margin:0 auto 16px !important;max-width:720px}
body.home .km-usp-wrap ul.km-usp-list{
  grid-template-columns:repeat(4,1fr) !important;gap:12px !important;margin:0 !important;
}
body.home .km-usp-wrap ul.km-usp-list li{padding:16px 16px 15px 16px !important}
body.home .km-usp-wrap ul.km-usp-list li::before{position:static;display:block;margin:0 0 10px;width:30px;height:30px;border-radius:10px}
body.home .km-usp-wrap ul.km-usp-list li::after{left:23px;top:23px}
body.home .km-usp-wrap p.km-usp-seo{max-width:900px;margin:18px auto 0 !important;text-align:center}
@media (max-width:980px){
  body.home .km-usp-wrap ul.km-usp-list{grid-template-columns:repeat(2,1fr) !important}
}
@media (max-width:560px){
  body.home .km-usp-wrap ul.km-usp-list{grid-template-columns:1fr !important}
}

/* --- compactages cibles --- */
body.home .et_pb_row:has(.km-trust-list){padding:26px 34px 24px !important;margin-top:30px !important}
body.home ul.km-trust-list{margin-top:18px !important}
body.home p.km-trust-seo{margin-top:14px !important}
body.home .km-news{padding:60px 0 56px !important}
body.home .km-zones-wrap{margin-top:4px}
body.home .km-zones-wrap p.km-zone-label{margin:20px 0 10px !important}
body.home .km-carousel{padding:12px 0 22px}

/* ===========================================================================
   MODULE "COMMENT SE DEROULE VOTRE DIAGNOSTIC ?" (accueil)
   Point focal sombre au milieu de la page.
   =========================================================================== */
body.home section.km-steps{
  position:relative;overflow:hidden;
  padding:78px 0 74px;
  background:linear-gradient(158deg,#242459 0%,#1b1b45 45%,#15153a 100%);
}
body.home section.km-steps::before{
  content:"";position:absolute;top:-22%;right:-8%;width:44%;padding-bottom:44%;
  background:radial-gradient(circle at 50% 50%,rgba(191,231,98,.20),transparent 68%);
  border-radius:50%;pointer-events:none;
}
body.home section.km-steps::after{
  content:"";position:absolute;bottom:-26%;left:-10%;width:38%;padding-bottom:38%;
  background:radial-gradient(circle at 50% 50%,rgba(120,150,255,.16),transparent 70%);
  border-radius:50%;pointer-events:none;
}
body.home .km-steps-inner{position:relative;z-index:2;width:80%;max-width:var(--km-read,1080px);margin:0 auto}
body.home .km-steps-head{text-align:center;max-width:760px;margin:0 auto 40px}
body.home .km-eyebrow-light{
  background:rgba(191,231,98,.14);border-color:rgba(191,231,98,.4);color:#bfe762;
}
body.home .km-steps-head h2{
  margin:0 0 14px !important;padding:0 !important;
  font-family:"Open Sans",Helvetica,Arial,sans-serif;
  font-size:34px !important;font-weight:800;line-height:1.15 !important;letter-spacing:-.025em;
  color:#fff !important;
}
body.home .km-steps-head p{
  margin:0 !important;font-family:"Nunito Sans",Helvetica,Arial,sans-serif;
  font-size:15px;line-height:1.7;color:rgba(255,255,255,.68);
}

/* --- la frise --- */
body.home ol.km-steps-list{
  list-style:none !important;margin:0 !important;padding:0 !important;
  display:grid;grid-template-columns:repeat(4,1fr);gap:18px;position:relative;
}
body.home ol.km-steps-list::before{
  content:"";position:absolute;left:8%;right:8%;top:28px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,rgba(191,231,98,.05),rgba(191,231,98,.45),rgba(191,231,98,.45),rgba(191,231,98,.05));
}
body.home li.km-step{
  position:relative;margin:0 !important;padding:0 !important;list-style:none !important;
  display:flex;flex-direction:column;align-items:flex-start;gap:12px;
}
body.home .km-step-num{
  position:relative;z-index:2;
  width:56px;height:56px;flex:0 0 auto;border-radius:18px;
  display:inline-flex;align-items:center;justify-content:center;
  background:linear-gradient(140deg,#d2f27f,#bfe762);
  font-family:"Open Sans",Helvetica,Arial,sans-serif;font-size:20px;font-weight:800;color:#1f1f4e;
  box-shadow:0 14px 30px -14px rgba(191,231,98,.75),0 0 0 8px rgba(21,21,58,.9);
  transition:transform .3s cubic-bezier(.22,.61,.36,1),box-shadow .3s ease;
}
body.home li.km-step:hover .km-step-num{transform:translateY(-3px) scale(1.04)}
body.home li.km-step h3{
  margin:0 !important;padding:0 !important;
  font-family:"Open Sans",Helvetica,Arial,sans-serif;
  font-size:17px !important;font-weight:700 !important;line-height:1.3 !important;color:#fff !important;
}
body.home li.km-step p{
  margin:0 !important;font-family:"Nunito Sans",Helvetica,Arial,sans-serif;
  font-size:13.5px;line-height:1.6;color:rgba(255,255,255,.62);
}

/* --- CTA --- */
body.home .km-steps-cta{
  display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px;margin-top:42px;
}
body.home a.km-steps-btn{
  display:inline-flex;align-items:center;justify-content:center;min-height:56px;
  padding:17px 30px;border-radius:14px;text-decoration:none;
  background:linear-gradient(135deg,#d2f27f 0%,#bfe762 52%,#a9d94b 100%);
  color:#1f1f4e;font-family:"Open Sans",Helvetica,Arial,sans-serif;font-size:15.5px;font-weight:700;
  box-shadow:0 18px 40px -16px rgba(150,200,70,.95);
  transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s ease,filter .2s ease;
}
body.home a.km-steps-btn:hover{transform:translateY(-2px);filter:brightness(1.03);box-shadow:0 24px 50px -16px rgba(150,200,70,1)}
body.home a.km-steps-tel{
  position:relative;display:inline-flex;align-items:center;min-height:56px;
  padding:16px 24px 16px 50px;border:1.5px solid rgba(255,255,255,.22);border-radius:14px;
  background:rgba(255,255,255,.05);text-decoration:none;
  font-family:"Open Sans",Helvetica,Arial,sans-serif;font-size:16px;font-weight:800;color:#fff;
  transition:border-color .2s ease,background-color .2s ease,transform .2s cubic-bezier(.4,0,.2,1);
}
body.home a.km-steps-tel::before{
  content:"";position:absolute;left:20px;top:50%;width:19px;height:19px;margin-top:-9.5px;
  background-color:#bfe762;
  -webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 3h-3A1.5 1.5 0 0 0 2 4.6C2 13 11 22 19.4 22a1.5 1.5 0 0 0 1.6-1.5v-3l-4.5-2-2.2 2.2a15 15 0 0 1-6-6L10.5 9 8.5 4.5z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 3h-3A1.5 1.5 0 0 0 2 4.6C2 13 11 22 19.4 22a1.5 1.5 0 0 0 1.6-1.5v-3l-4.5-2-2.2 2.2a15 15 0 0 1-6-6L10.5 9 8.5 4.5z'/%3E%3C/svg%3E");
}
body.home a.km-steps-tel:hover{border-color:rgba(191,231,98,.8);background:rgba(191,231,98,.10);transform:translateY(-2px)}

@media (max-width:980px){
  body.home section.km-steps{padding:58px 0 56px}
  body.home ol.km-steps-list{grid-template-columns:repeat(2,1fr);gap:26px}
  body.home ol.km-steps-list::before{display:none}
  body.home .km-steps-head h2{font-size:28px !important}
}
@media (max-width:560px){
  body.home ol.km-steps-list{grid-template-columns:1fr;gap:22px}
  body.home .km-steps-cta{flex-direction:column;align-items:stretch}
  body.home a.km-steps-btn,body.home a.km-steps-tel{width:100%;justify-content:center}
  body.home a.km-steps-tel{padding-left:50px}
}

/* ============================================================
   KM DIAGIMMO — REFONTE 2026 · RYTHME, DENSITÉ & COHÉRENCE
   rev 34 — bloc "systeme de mise en page"
   Objectif : casser l'enchainement "gros bloc / gros bloc",
   harmoniser les sur-titres, fiabiliser les gabarits.
   ============================================================ */

:root{
  --km-gap-section:58px;
  --km-voile:#f5f8fc;
  --km-line:rgba(31,31,78,.08);
}

/* ---------- 1. Sur-titre (eyebrow) unifié ---------- */
body.home .km-eyebrow{
  display:inline-flex;align-items:center;gap:7px;
  margin:0 0 12px;padding:6px 14px;
  font-family:"Open Sans",sans-serif;font-size:10.5px;font-weight:800;
  letter-spacing:.16em;text-transform:uppercase;
  color:#1f1f4e;background:linear-gradient(135deg,#e6f7bd,#bfe762);
  border-radius:999px;line-height:1;
  box-shadow:0 2px 10px rgba(169,217,75,.28);
}
body.home .km-eyebrow::before{
  content:"";width:5px;height:5px;border-radius:50%;
  background:#1f1f4e;opacity:.55;
}
/* variante sur fond sombre */
body.home .km-s-dark .km-eyebrow{
  color:#d8f5a2;background:rgba(191,231,98,.13);
  box-shadow:inset 0 0 0 1px rgba(191,231,98,.35);
}
body.home .km-s-dark .km-eyebrow::before{background:#bfe762;opacity:1}

/* animation d'apparition du sur-titre */
html.km-js body.home .km-eyebrow{opacity:0;translate:0 10px;transition:opacity .5s ease,translate .5s cubic-bezier(.22,1,.36,1)}
html.km-js body.home .km-eyebrow.km-in{opacity:1;translate:0 0}

/* ---------- 2. Bandeau partenaires : compact & premium ---------- */
body.home .km-s-partners{
  padding-top:30px !important;padding-bottom:30px !important;
  background:#fff !important;
  border-top:1px solid var(--km-line);
  border-bottom:1px solid var(--km-line);
}
body.home .km-s-partners > .et_pb_row + .et_pb_row{margin-top:14px !important}
body.home .km-s-partners .et_pb_text_inner p,
body.home .km-s-partners .et_pb_text_inner{
  font-size:11.5px !important;line-height:1.4 !important;
  letter-spacing:.15em !important;text-transform:uppercase !important;
  color:#8a8fa6 !important;text-align:center !important;
  font-weight:600 !important;margin:0 !important;
}
body.home .km-s-partners .et_pb_text_inner strong{color:#1f1f4e !important;font-weight:800 !important}
body.home .km-s-partners .et_pb_image{margin:0 auto !important;text-align:center}
body.home .km-s-partners .et_pb_image .et_pb_image_wrap{display:inline-block}
body.home .km-s-partners .et_pb_image img{
  max-height:42px !important;width:auto !important;object-fit:contain;
  filter:grayscale(1) contrast(.85) opacity(.5);
  transition:filter .35s ease,transform .35s cubic-bezier(.22,1,.36,1);
}
body.home .km-s-partners .et_pb_image:hover img{filter:none;transform:translateY(-3px)}
body.home .km-s-partners .et_pb_column{
  display:flex !important;align-items:center;justify-content:center;
}

/* ---------- 3. Experts : hauteur maîtrisée ---------- */
body.home .km-s-experts .et_pb_row .et_pb_column:last-child .et_pb_image img{
  max-height:440px !important;width:auto !important;height:auto !important;
  margin-left:auto;margin-right:auto;display:block;
}
body.home .km-usp-wrap{margin-top:26px !important}
body.home .km-usp-list li{padding-top:14px !important;padding-bottom:14px !important}
body.home .km-usp-list li p{margin-bottom:0 !important}
body.home .km-usp-seo{margin-top:14px !important}

/* ---------- 4. Carte confiance : padding restauré + plaque badges ---------- */
body.home .km-trustcard{
  padding:34px 40px 30px !important;
  margin-top:30px !important;
}
body.home .km-trustcard .et_pb_image_41,
body.home .km-trustcard > .et_pb_column > .et_pb_module.et_pb_image:first-child{
  display:inline-block !important;margin:0 auto 18px !important;
  padding:10px 18px;background:#fff;border-radius:14px;
  box-shadow:0 6px 22px rgba(31,31,78,.09);
  border:1px solid var(--km-line);
}
body.home .km-trustcard > .et_pb_column{text-align:center}
body.home .km-trustcard > .et_pb_column > .et_pb_module.et_pb_image:first-child img{
  max-height:56px !important;width:auto !important;display:block;
}
body.home .km-trustcard .et_pb_text{margin-top:0 !important}

/* ---------- 5. Carrousel diagnostics : vignettes plus fines ---------- */
body.home .km-carousel-track > .et_pb_column .et_pb_image img,
body.home .km-carousel-track > .et_pb_column img{max-height:152px !important;object-fit:cover;width:100% !important}
body.home .km-carousel{padding-top:8px !important;padding-bottom:16px !important}

/* ---------- 6. Types de bien : alignement des cartes ---------- */
body.home .km-types{background:#fff !important}
body.home .km-types .et_pb_row .et_pb_column[class*="et_pb_column_1_4"]{
  display:flex !important;flex-direction:column;align-items:center;justify-content:center;
}
body.home .km-types .et_pb_column[class*="et_pb_column_1_4"] .et_pb_text h3{
  min-height:2.5em;display:flex;align-items:center;justify-content:center;
  text-align:center;margin:0 !important;padding-bottom:0 !important;
}
body.home .km-types .et_pb_column[class*="et_pb_column_1_4"] .et_pb_text{padding-top:8px !important}

/* ---------- 7. Zones : image plus compacte, carte lisible ---------- */
body.home .km-s-zones .et_pb_row .et_pb_column:first-child .et_pb_image img{
  max-height:430px !important;width:auto !important;height:auto !important;display:block;
}
body.home .km-s-zones .et_pb_row .et_pb_column:last-child .et_pb_image{
  margin-top:14px !important;
}
body.home .km-s-zones .et_pb_row .et_pb_column:last-child .et_pb_image img{
  max-width:300px !important;width:100% !important;height:auto !important;
}
body.home .km-zones-wrap{margin-top:26px !important}

/* ---------- 8. Pourquoi nous / Actualités : respiration ---------- */
body.home .km-s-why .et_pb_row .et_pb_column:first-child .et_pb_image img{
  max-height:470px !important;width:auto !important;height:auto !important;
}
body.home .km-news{padding-top:6px !important}

/* ---------- 9. Pied de page : logo lisible ---------- */
.et-l--footer .km-foot-logo,
#main-footer .km-foot-logo{
  filter:brightness(0) invert(1);
  opacity:.92;
}
.et-l--footer .km-foot-logo:hover{opacity:1}

/* ---------- 10. Accessibilité mouvement ---------- */
@media (prefers-reduced-motion:reduce){
  html.km-js body.home .km-eyebrow{opacity:1 !important;translate:none !important;transition:none !important}
  body.home .km-s-partners .et_pb_image img{transition:none}
}

/* ---------- 11. Responsive ---------- */
@media (max-width:980px){
  :root{--km-gap-section:44px}
  body.home .km-s-partners .et_pb_image img{max-height:34px !important}
  body.home .km-trustcard{padding:26px 22px 24px !important}
  body.home .km-s-experts .et_pb_row .et_pb_column:last-child .et_pb_image img,
  body.home .km-s-zones .et_pb_row .et_pb_column:first-child .et_pb_image img,
  body.home .km-s-why .et_pb_row .et_pb_column:first-child .et_pb_image img{max-height:none !important;width:100% !important}
  body.home .et_pb_section h2{font-size:29px !important}
}
@media (max-width:767px){
  :root{--km-gap-section:38px}
  body.home .km-eyebrow{font-size:9.5px;padding:5px 12px}
  body.home .km-s-partners{padding-top:22px !important;padding-bottom:22px !important}
  body.home .km-s-partners .et_pb_image img{max-height:30px !important;filter:grayscale(1) opacity(.6)}
  body.home .km-trustcard{padding:22px 16px 20px !important}
  body.home .et_pb_section h2{font-size:25px !important;line-height:1.2 !important}
  body.home .km-types .et_pb_column[class*="et_pb_column_1_4"] .et_pb_text h3{min-height:0}
}

/* ============================================================
   KM DIAGIMMO — REFONTE 2026 · CORRECTIFS rev 35
   ============================================================ */

/* --- Carte confiance : la regle globale de rythme gagnait en
       specificite (:not(#id) = 1 point d'ID). On repasse devant. --- */
body.home .et_pb_section > .et_pb_row.km-trustcard:not(#kmx){
  padding:30px 38px 26px !important;
  margin-top:26px !important;
}
body.home .km-trustcard > .et_pb_column > .et_pb_module.et_pb_image:first-child{
  margin-bottom:16px !important;
}

/* --- Bandeau partenaires : logos plus lisibles --- */
body.home .km-s-partners .et_pb_image img{
  max-height:52px !important;
  filter:grayscale(1) contrast(.9) opacity(.62);
}

/* --- Carrousel : lien "En savoir plus" a la place de l'icone absente --- */
body.home .km-carousel-track .km-more{
  display:inline-flex;align-items:center;gap:8px;
  font-family:"Open Sans",sans-serif;font-size:13px;font-weight:700;
  color:#1f1f4e;text-decoration:none;letter-spacing:.01em;line-height:1;
  padding:2px 0;
}
body.home .km-carousel-track .km-more::after{
  content:"";width:15px;height:15px;flex:0 0 15px;background:currentColor;
  -webkit-mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h13M12 5l7 7-7 7' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h13M12 5l7 7-7 7' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  transition:transform .3s cubic-bezier(.22,1,.36,1);
}
body.home .km-carousel-track a:hover .km-more,
body.home .km-carousel-track .km-more:hover{color:#7cb518}
body.home .km-carousel-track a:hover .km-more::after{transform:translateX(4px)}
body.home .km-carousel-track .et_pb_module.et_pb_image.km-more-host{
  margin-top:0 !important;padding-bottom:2px !important;
}

/* --- Elements images cassees : ne pas reserver d'espace --- */
body.home .km-carousel-track img[data-km-broken]{display:none !important}

@media (prefers-reduced-motion:reduce){
  body.home .km-carousel-track .km-more::after{transition:none}
}
@media (max-width:767px){
  body.home .km-s-partners .et_pb_image img{max-height:36px !important}
  body.home .et_pb_section > .et_pb_row.km-trustcard:not(#kmx){padding:22px 18px 20px !important}
}

/* ============================================================
   KM DIAGIMMO — REFONTE 2026 · CONTRASTE & RESPONSIVE rev 36
   ============================================================ */

/* --- A. CORRECTIF CONTRASTE : le titre du hero et des sections
       sombres ne doivent jamais heriter du bleu marine global.
       :has(#id) porte la specificite d'un ID -> passe devant. --- */
body.home .et_pb_section:has(#et_pb_contact_form_0) h2,
body.home .km-steps h2,
body.home .km-s-dark h2{ color:#ffffff !important; }
body.home .et_pb_section:has(#et_pb_contact_form_0) h1{ color:#defe52 !important; }
body.home .et_pb_section:has(#et_pb_contact_form_0) h3{ color:#ffffff !important; }

/* --- B. Logos partenaires : fond blanc des visuels neutralise --- */
body.home .km-s-partners .et_pb_image img{
  filter:grayscale(1) !important;
  opacity:.62;
  mix-blend-mode:multiply;
}
body.home .km-s-partners .et_pb_image:hover img{
  filter:none !important;opacity:1;
}

/* --- C. Vignettes du carrousel : lien aligne en bas de carte --- */
body.home .km-carousel-track > .et_pb_column{
  display:flex !important;flex-direction:column;
}
body.home .km-carousel-track > .et_pb_column .km-more-host{
  margin-top:auto !important;
}

/* --- D. Pied de page : alignement des colonnes de liens --- */
.et-l--footer .et_pb_module.et_pb_text{ margin-left:0 !important; }

/* --- E. Parallaxe desactivee sous 980px (pas de reserve de hauteur) --- */
@media (max-width:980px){
  body.home{--kmp:0}
  body.home .km-s-experts .et_pb_column,
  body.home .km-s-zones .et_pb_column,
  body.home .km-s-why .et_pb_column{ min-height:0 !important; }
  body.home .km-s-experts .et_pb_column .et_pb_image,
  body.home .km-s-zones .et_pb_column .et_pb_image,
  body.home .km-s-why .et_pb_column .et_pb_image{
    position:static !important;translate:none !important;
  }
}

/* --- F. Grilles compactes sur mobile --- */
@media (max-width:767px){

  /* partenaires : 2 colonnes serrees */
  body.home .km-s-partners > .et_pb_row:last-child{
    display:grid !important;grid-template-columns:1fr 1fr;
    gap:16px 12px;align-items:center;
  }
  body.home .km-s-partners > .et_pb_row:last-child::before,
  body.home .km-s-partners > .et_pb_row:last-child::after{content:none !important;display:none !important}
  body.home .km-s-partners > .et_pb_row:last-child > .et_pb_column{
    width:auto !important;margin:0 !important;
  }

  /* types de bien : 2 colonnes */
  body.home .km-types > .et_pb_row:not(:first-child){
    display:grid !important;grid-template-columns:1fr 1fr;gap:12px;
  }
  body.home .km-types > .et_pb_row:not(:first-child)::before,
  body.home .km-types > .et_pb_row:not(:first-child)::after{content:none !important;display:none !important}
  body.home .km-types > .et_pb_row:not(:first-child) > .et_pb_column{
    width:auto !important;margin:0 !important;
  }
  body.home .km-types .et_pb_column[class*="et_pb_column_1_4"] .et_pb_text h3{
    font-size:14px !important;line-height:1.25 !important;min-height:2.5em;
  }

  /* zones d'intervention : 2 colonnes */
  body.home .km-zones{ grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:10px !important; }
  body.home .km-zones li{ font-size:13px !important; }
  body.home .km-zones li a{ padding:11px 12px !important; }
  body.home .km-zone-label{ margin-bottom:8px !important; }

  /* etapes : moins d'air */
  body.home .km-steps .km-step{ padding-bottom:6px !important; }
}

/* --- G. Tablette : 2 colonnes plutot que 4 sur les grilles denses --- */
@media (min-width:768px) and (max-width:980px){
  body.home .km-zones{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}

/* ============================================================
   KM DIAGIMMO — REFONTE 2026 · AJUSTEMENTS rev 37
   ============================================================ */

/* Bandeau partenaires : rythme interne resserre (2 rangees de logos) */
body.home .km-s-partners > .et_pb_row + .et_pb_row{ margin-top:12px !important; }

@media (max-width:767px){
  /* toutes les rangees de logos, pas seulement la derniere */
  body.home .km-s-partners > .et_pb_row:not(:first-child){
    display:grid !important;grid-template-columns:1fr 1fr;
    gap:14px 12px;align-items:center;margin-top:12px !important;
  }
  body.home .km-s-partners > .et_pb_row:not(:first-child)::before,
  body.home .km-s-partners > .et_pb_row:not(:first-child)::after{content:none !important;display:none !important}
  body.home .km-s-partners > .et_pb_row:not(:first-child) > .et_pb_column{
    width:auto !important;margin:0 !important;
  }

  /* Experts : bloc SEO plus compact */
  body.home .km-usp-seo{ font-size:13px !important;line-height:1.55 !important; }
  body.home .km-usp-list li{ padding-top:12px !important;padding-bottom:12px !important; }
  body.home .km-usp-title{ font-size:19px !important;line-height:1.25 !important; }

  /* Pied de page : moins d'air entre les blocs */
  .et-l--footer .et_pb_row{ padding-top:0 !important;padding-bottom:0 !important; }
  .et-l--footer .et_pb_column{ margin-bottom:22px !important; }
}

/* ============================================================
   KM DIAGIMMO — REFONTE 2026 · FINITIONS rev 38
   ============================================================ */

/* Sur-titre : suit l'alignement du H2 de sa section */
body.home .km-eyebrow{
  display:flex !important;
  width:-moz-fit-content;width:fit-content;
  margin-left:0;margin-right:auto;
}
body.home .km-eyebrow.km-eyebrow-c{ margin-left:auto;margin-right:auto; }

/* Images absentes du serveur : ne jamais reserver d'espace */
body.home img[data-km-broken],
.et-l--footer img[data-km-broken]{ display:none !important; }

/* Zones : respiration entre le visuel et le texte en pile (tablette) */
@media (max-width:980px){
  body.home .km-s-zones .et_pb_row > .et_pb_column + .et_pb_column{ margin-top:26px !important; }
  body.home .km-s-experts .et_pb_row > .et_pb_column + .et_pb_column{ margin-top:22px !important; }
  body.home .km-s-why .et_pb_row > .et_pb_column + .et_pb_column{ margin-top:22px !important; }
}
