* { box-sizing: border-box; }

/**************************************************************CSS PAR DEFAUT SELON BALISE******************************************************************/

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800;900&display=swap');

body {
  font-family : 'Poppins', sans-serif;
  font-weight : normal;
  margin      : 0;
  min-height  : 100vh;
}

table, td, p { border: none; }

img { border: none; }

button, ul {
  background  : none;
  border      : none;
}

h1, h2, h3 {
  color           : #17213A;
  text-align      : left;
}

h4 { color : #FFFFFF; }

@keyframes scrollLogos
{
  0%
  {
      transform: translateX(0);
  }
  100%
  {
      transform: translateX(-50%);
  }
}

/**************************************************************EN TETE DU SITE***********************************************************************/
/* Par défaut : couleur bleue uniforme pour toutes les pages. */
#entete { background-color  : #DBE9FA; }

/* Dégradé vertical spécifique à la page d'accueil (bleu en haut -> blanc en bas) */
#entete-homepage { background: linear-gradient(180deg, #DBE9FA 0%, #f8f9fa 100%); }

/* Page savoir-faire : Css spécifique pour cette page */
#entete-savoirfaire { background-color: #18223A; }
#entete-savoirfaire .ent_men a {color:#8D9AB1; }
#entete-savoirfaire .men_sel a {color:#FFFFFF; }
#entete-savoirfaire .ent_cli { background:linear-gradient(90deg,#8EC4E4 0%,#A0D4EE 100%); }
#entete-savoirfaire .ent_cli a {color:#18223A; }

.ent_gen {
  margin          : auto;
  display         : flex;
  justify-content : space-around;
  align-items     : center;
}

.ent_soc img { 
  width       : 100% ; 
  object-fit  : contain;
}

.ent_men
{
  display           : flex;
  justify-content   : space-around;
  align-items       : center;
}

.ent_men a
{
  font-weight     : 500;
  color           : #17213A;
  text-decoration : none;
  text-transform  : uppercase;
}

.ent_men .men_sel a { font-weight: bold; }

.ent_cli
{
  opacity       : 0;                /*A retirer pour afficher le menu*/
  background    : linear-gradient(90deg, #17213A 0%, #254494 50%, #17213A 100%);
  border-radius : 10px;
}

.ent_cli a
{
  color           : white;
  text-decoration : underline;
}

.ent_mob, #menu_mob_list { display : none; }

/**********************************************************POSITIONNEMENT DE LA PAGE***********************************************************************/
#page { background-color  : #FFFFFF; }


/*********************************************************PIED DU SITE***********************************************************************/
#pied { background-color: #17213A; }

.pie_gen {
  margin    : auto;
  color     : #FFFFFF;
}
/*1ere partie du pied*/
.pie_gen > div:nth-child(1) {
  display         : flex;
  align-items     : flex-start;
  justify-content : space-between;
}

/*Affichage du logo*/
.pie_gen > div:nth-child(1) > div:nth-child(1) {  
  display         : flex;
  justify-content : flex-start;
}

.pie_gen > div:nth-child(1) > div:nth-child(1) > img { width : 100%; }

/*Menu de navigation*/
.pie_gen > div:nth-child(1) > div:nth-child(2) {
  display         : flex;
  flex-direction  : column;
}

.pie_gen > div:nth-child(1) > div:nth-child(2) > div.pie_lien a {
  color           : #FFFFFF;
  text-decoration : none;
  font-weight     : 400;
}

.pie_gen > div:nth-child(1) > div:nth-child(2) > div.pie_lien a:hover { text-decoration: underline; }

.pie_gen > div:nth-child(1) > div:nth-child(2) > div.men_sel a {
  font-weight     : bold;
  text-decoration : underline;
}

/*Informations des sites*/
.pie_gen > div:nth-child(1) > div:nth-child(3), .pie_gen > div:nth-child(1) > div:nth-child(4) { 
  display : block ;
  flex    : 0 0 auto; 
}

.pie_gen > div:nth-child(1) > div:nth-child(3) > div:nth-child(1), .pie_gen > div:nth-child(1) > div:nth-child(4) > div:nth-child(1) { font-weight: 700; }

.pie_gen > div:nth-child(1) > div:nth-child(3) > div:nth-child(2), .pie_gen > div:nth-child(1) > div:nth-child(4) > div:nth-child(2) {
  font-weight   : 400;
  color         : #FFFFFF;
  font-style    : italic;
}

/*Made in France et contactez-nous*/
.pie_gen > div:nth-child(1) > div:nth-child(5) {
  display       : flex;
  align-items   : center;
}

/*Made in France*/
.pie_gen > div:nth-child(1) > div:nth-child(5) > div:nth-child(1) {
  display         : flex;
  flex-direction  : column;
  align-items     : center;
}

.pie_gen > div:nth-child(1) > div:nth-child(5) > div:nth-child(1) span {
  font-weight     : 400;
  color           : #A8B5C5;
}

/*Contact*/
.pie_gen > div:nth-child(1) > div:nth-child(5) > div:nth-child(2) {
  display     : flex;
  align-items : center;
}

.pie_gen > div:nth-child(1) > div:nth-child(5) > div:nth-child(2) > a:nth-child(1) {
  background-color  : #1F3D8E;
  color             : #FFFFFF;
  border-radius     : 30px;
  text-decoration   : underline;
  font-weight       : 500;
  transition        : background-color 0.3s;
}

.pie_gen > div:nth-child(1) > div:nth-child(5) > div:nth-child(2) > a:nth-child(2) {
  background-color  : #1F3D8E;
  color             : #FFFFFF;
  border-radius     : 50%;
  display           : flex;
  align-items       : center;
  justify-content   : center;
  text-decoration   : none;
  transition        : background-color 0.3s;
  width             : 38px;
  height            : 38px;
  font-size         : 16px;

}

.pie_gen > div:nth-child(1) > div:nth-child(5) > div:nth-child(2) a:hover { background-color: #2E4A9E; }

/*2nde partie du pied*/
.pie_gen > div:nth-child(2) {
  display         : flex;
  justify-content : space-between;
  align-items     : center;
  border-top      : 1px solid rgba(255, 255, 255, 0.1);
}

/*Copyright*/
.pie_gen > div:nth-child(2) > div:nth-child(1) {  
  font-weight : 400;
  color       : #5A7BA0;
}

/*Menu navigation bas mentions légales....*/
.pie_gen > div:nth-child(2) > div:nth-child(2) { display: flex; }

.pie_gen > div:nth-child(2) > div:nth-child(2) a {
  color           : #5A7BA0;
  font-weight     : 400;
  text-decoration : none;
}

.pie_gen > div:nth-child(2) > div:nth-child(2) a:hover {
  color           : #FFFFFF;
  text-decoration : underline;
}

/******************************************************CONTACT MOBILE***********************************************************************/
.floating_contact {
  position        : fixed;
  z-index         : 1200;
  border-radius   : 999px;
  transform       : translateY(18px) scale(0.98);
  opacity         : 0;
  pointer-events  : none;
  transition      : all 0.3s ease;
}


.floating_contact.is-visible {
  opacity         : 1;
  transform       : translateY(0) scale(1);
  pointer-events  : auto;
}

.floating_contact:hover { transform: translateY(-2px) scale(1.01); }

/*********************************************************PAGE D'ACCUEIL***********************************************************************/
.acc_hero {
  text-align        : center;
  background-image  : url('images/PATTERN-BLANC.webp');
}

/*1ère section*/
.acc_hero > div:nth-child(1) { margin: 0 auto; }

/*Texte Votre partenaire....*/
.acc_hero > div:nth-child(1) > h1 > span {
  background    : linear-gradient(90deg, #17213A 0%, #254494 50%, #17213A 100%);
  color         : #FFFFFF;
  display       : inline-block;
  border-radius : 12px;
  transition    : opacity 0.22s ease, transform 0.22s ease;
  will-change   : opacity, transform;
}

.acc_hero > div:nth-child(1) > h1 > span.is-fading {
  opacity   : 0;
  transform : translateY(-6px);
}

.acc_hero > div:nth-child(1) > h1 > span > span { display: inline-block; }

/*Texte SGC maitrise + contact*/
.acc_hero > div:nth-child(1) > div:nth-child(2) {
  display           : flex;
  justify-content   : center;
  align-items       : center;
}

.acc_hero > div:nth-child(1) > div:nth-child(2) > p { font-weight: 500; }

.acc_hero > div:nth-child(1) > div:nth-child(2) > div:nth-child(2) > a {
  display         : inline-flex;
  align-items     : center;
  text-decoration : none;
  font-weight     : 900;
  color           : #FFFFFF;
  transition      : all 0.3s ease;
}

.acc_hero > div:nth-child(1) > div:nth-child(2) > div:nth-child(2) > a > span:nth-child(1) {
  background-color    : #1F3D8E;
  color               : #FFFFFF;
  border-radius       : 30px;
  transition          : all 0.3s ease;
  display             : flex;
  align-items         : center;
}

.acc_hero > div:nth-child(1) > div:nth-child(2) > div:nth-child(2) > a:hover > span:nth-child(1) { background-color: #2E4A9E; }

.acc_hero > div:nth-child(1) > div:nth-child(2) > div:nth-child(2) > a > span:nth-child(2) {
  background-color  : #1F3D8E;
  border-radius     : 50%;
  display           : flex;
  align-items       : center;
  justify-content   : center;
  line-height       : 1;
  padding-bottom    : 1px;
  transition        : all 0.3s ease;
  flex-shrink       : 0;
}

.acc_hero > div:nth-child(1) > div:nth-child(2) > div:nth-child(2) > a:hover > span:nth-child(2) {  
  background-color  : #1F3D8E;
  transform         : translateX(5px);
}

/*Made In France*/
.acc_hero > div:nth-child(1) > div:nth-child(3) {
  display         : flex;
  flex-direction  : column;
  align-items     : center;
}

.acc_hero > div:nth-child(1) > div:nth-child(3) span {
  color       : #000000;
  font-weight : 900;
}

/*Texte Il nous confient....*/
.acc_hero > div:nth-child(1) > p:nth-child(4) {
  color         : #17213A;
  font-weight   : 500;
}

/*2nde section : Partenaires qui défilent*/
.acc_partenaires > div {
  background              : rgba(255, 255, 255, 0.75);
  backdrop-filter         : blur(15px);
  -webkit-backdrop-filter : blur(15px);
  border                  : 1px solid rgba(255, 255, 255, 0.2);
  border-radius           : 24px;
  box-shadow              : 0 8px 32px rgba(0, 0, 0, 0.08);
  overflow                : hidden;
}

.acc_partenaires > div > div { 
  display   : flex;
  width     : fit-content;
  animation : scrollLogos 20s linear infinite;
}

.acc_partenaires > div > div > div {
  display     : flex;
  align-items : center;
  flex-shrink : 0;
}

.acc_partenaires > div > div > div > img {  
  filter      : grayscale(100%);
  opacity     : 0.7;
  transition  : opacity 0.3s ease;
  flex-shrink : 0;
}

.acc_partenaires > div > div > div > img:hover { opacity: 0.9; }

/*3eme section*/
.acc_solutions { background-color: #FFFFFF; }

/*Images*/
.acc_solutions > div:nth-child(1) > div:nth-child(3) {
  display               : grid;
  grid-template-columns : repeat(4, 1fr);
}

.acc_solutions > div:nth-child(1) > div:nth-child(3) > div:nth-child(1) { background-image : url("images/poudre.webp"); }
.acc_solutions > div:nth-child(1) > div:nth-child(3) > div:nth-child(2) { background-image : url("images/liquide.webp"); }
.acc_solutions > div:nth-child(1) > div:nth-child(3) > div:nth-child(3) { background-image : url("images/impression.webp"); }
.acc_solutions > div:nth-child(1) > div:nth-child(3) > div:nth-child(4) { background-image : url("images/logistique.webp"); }

.acc_solutions > div:nth-child(1) > div:nth-child(3) > div {
  border-radius       : 15px;
  transition          : transform 0.3s ease;
  background-size     : cover;
  background-position : center;
  overflow            : hidden;
  display             : flex;
  flex-direction      : column;
  justify-content     : flex-end;
}

.acc_solutions > div:nth-child(1) > div:nth-child(3) > div:hover {
  transform   : translateY(-5px);
  transition  : 0.3s;
}

.acc_solutions > div:nth-child(1) > div:nth-child(3) > div:hover > div:nth-child(1) { opacity : 0.7; }

.acc_solutions > div:nth-child(1) > div:nth-child(3) > div > div:nth-child(1) { 
  position        : absolute;
  top             : 0;
  left            : 0;
  right           : 0;
  bottom          : 0;
  pointer-events  : none;
  background      : linear-gradient(to top, rgba(23, 33, 58, 0.85) 0%, rgba(23, 33, 58, 0.55) 40%, rgba(23, 33, 58, 0.15) 70%, transparent 100%);
  transition      : opacity 0.3s ease;
}

.acc_solutions > div:nth-child(1) > div:nth-child(3) > div > div:nth-child(2) { z-index: 1; }

/*4ème Section */
.acc_process {
  background          : url('images/PATTERN-BLEU2.webp');
  background-size     : cover;
  background-position : center center;
  background-repeat   : no-repeat;
  color               : #FFFFFF;
}

.acc_process h2 { color: #A8C8E8; }

.acc_process > div:nth-child(2) {
  display               : grid;
  grid-template-columns : 50% 50%;
}

.acc_process video {
  width         : 100%;
  height        : 100%;
  object-fit    : cover;
  border-radius : 0 30px 0 0;
  display       : block;
}

.acc_process > div:nth-child(2) > div:nth-child(2) { align-self: center; }

.acc_process p { color: #DCE8F7; }

/*5ème section*/
.acc_adaptees { background-color: #FFFFFF; }

.acc_adaptees > div:nth-child(1) {
  display               : grid;
  grid-template-columns : 0.9fr 1fr;
}

.acc_adaptees h2 span { color: #E3EBF7; }

.acc_adaptees > div:nth-child(1) > div:nth-child(1) > div:nth-child(2) > p:nth-child(1) { 
  color         : #193966;
  font-weight   : 700;
}

.acc_adaptees > div:nth-child(1) > div:nth-child(1) > div:nth-child(2) > p:nth-child(2) { color: #17213A; }

.acc_adaptees > div:nth-child(1) > div:nth-child(1) > div:nth-child(2) > div:nth-child(3) a {
  color             : #143968;
  text-decoration   : underline;
  font-weight       : 800;
  display           : inline-flex;
  align-items       : center;
  transition        : all 0.3s ease;
}

.acc_adaptees > div:nth-child(1) > div:nth-child(1) > div:nth-child(2) > div:nth-child(3) a:after
{
  content           : '→';
  background-color  : #143968;
  color             : white;
  border-radius     : 50%;
  display           : flex;
  align-items       : center;
  justify-content   : center;
  transition        : all 0.3s ease;
  flex-shrink       : 0;
}

.acc_adaptees > div:nth-child(1) > div:nth-child(1) > div:nth-child(2) > div:nth-child(3) a:hover:after { transform: translateX(5px); }









.acc_adaptees_images
{
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
}

.acc_emballages_image img
{
  object-fit: cover;
  display: block;
}

.acc_emballages h2
{
  font-weight: 700;
  color: #143968;
}

.acc_emballages h2 span
{
  color: #48757b;
}

.acc_emballages_subtitle
{
  font-weight: 500;
  color: #143968;
}

.acc_emballages p
{
  color: #48757b;
}

.acc_emballages_btn
{
  color: #435b58;
  text-decoration: underline;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  transition: all 0.3s ease;
}

.acc_emballages_btn:hover
{
  color: #48757b;
}

.acc_emballages_btn::after
{
  content: '→';
  background-color: #435b58;
  color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  padding-bottom: 1px;
  transition: all 0.3s ease;
  flex-shrink: 0;
}

.acc_emballages_btn:hover::after
{
  background-color: #48757b;
  transform: translateX(5px);
}


.acc_img_front
{
  object-fit: cover;
  border-radius: 20px;
}

.acc_img_back
{
  object-fit: cover;
  border-radius: 30px 0 0 30px;
}

.acc_emballages
{
  background-color: #FFFFFF;
  text-align: left;
}

.acc_emballages h2
{
  color: #17213A;
  font-weight: 700;
}

.acc_emballages_engagement
{
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.acc_emballages_image img
{
  width: 100%;
}
































/***************************************A VERIFIER ------ A VERIFIER ***********************************************************************/
/**********************************************************POSITIONNEMENT DE LA PAGE***********************************************************************/
.titre
{
  display: none;
}

.titre_noir
{
  color: #000000;
  font-weight: bold;
  text-align: center;
}

.acc_emballages h2,
.sf_sites h2,
.sf_sites_details_title,
.sf_sites_map_text h2,
.sf_histoire h2,
.sf_equipes h2,
.qdr_hero h1,
.qdr_savoirfaire h2,
.qdr_qualite h2,
.qdr_durabilite h2,
.qdr_rse_cta_text h2,
.contact_form_card h1
{
  font-family: 'Poppins', sans-serif;
  font-size: 35px;
  line-height: 1.18;
  font-weight: 700;
  letter-spacing: 0;
}


/*********************************************************PAGE SAVOIR-FAIRE***********************************************************************/

.sf_sites
{
  background-color: #123864;
  background-image: url('images/PATTERN-BLEU2.svg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  position: relative;
}

.sf_sites::before
{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url(/images/PATTERN-BLEU2.webp);
  z-index: 1;
}

.sf_sites_content
{
  margin: 0 auto;
  text-align: center;
  position: relative;
  z-index: 2;
}

.sf_sites h2
{
  color: #A8C8E8;
  font-weight: 700;
}

.sf_sites_subtitle
{
  color: #DCE8F766;
  font-weight: 500;
}

.sf_stats_grid
{
  display: grid;
  grid-template-columns: repeat(4, minmax(180px, 1fr));
}

.sf_stat_item
{
  text-align: left;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  border-right: 1px solid rgba(214, 231, 250, 0.22);
}

.sf_stat_item:hover
{
  transform: translateY(-2px);
}

.sf_stat_item:last-child
{
  border-right: none;
}

.sf_stat_icon
{
  border-radius: 14px;
  background: linear-gradient(135deg, #2C49A7 0%, #253D8B 100%);
  border: none;
  box-shadow: none;
}

.sf_stat_icon_1,
.sf_stat_icon_2,
.sf_stat_icon_3,
.sf_stat_icon_4
{
  background-size: 78% 78%;
  background-repeat: no-repeat;
  background-position: center;
}

.sf_stat_icon_1
{
  background-image: url('images/sf_icone_sites.png');
}

.sf_stat_icon_2
{
  background-image: url('images/sf_icone_machines.png');
}

.sf_stat_icon_3
{
  background-image: url('images/sf_icone_doses.png');
}

.sf_stat_icon_4
{
  background-image: url('images/sf_icone_surface.png');
}

.sf_stat_number
{
  font-weight: 800;
  color: #ECF4FE;
  white-space: nowrap;
}

.sf_stat_unit
{
  font-size: 0.58em;
  font-weight: 700;
  margin-left: 2px;
}

.sf_stat_label
{
  color: #5A5F70;
  font-weight: 600;
}

.sf_sites_details
{
  background: #F2F4F7;
}

.sf_sites_details_content
{
  margin: 0 auto;
}

.sf_sites_details_kicker
{
  color: #5A5F70;
  font-weight: 700;
  text-transform: uppercase;
  position: relative;
}

.sf_sites_details_kicker::before
{
  content: '';
  position: absolute;
  left: 0;
  transform: translateY(-50%);
  background: #C57A45;
}

.sf_sites_details_title
{
  color: #17213A;
  font-weight: 700;
}

.sf_sites_details_title span
{
  color: #A8C8E8;
}

.sf_sites_details_intro
{
  color: #193966;
  font-weight: 600;
}

.sf_sites_cards
{
  display: flex;
  justify-content: space-between;
}

.sf_site_card
{
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  flex: 1;
  aspect-ratio: 4/3;
}

.sf_site_card img
{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.sf_site_card_overlay
{
  position: absolute;
  background: linear-gradient(0deg, rgba(18, 34, 58, 0.9) 0%, rgba(18, 34, 58, 0.78) 36%, rgba(18, 34, 58, 0.06) 100%);
}

.sf_site_badge
{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 20px;
  background: #2C4CA7;
  color: #DCE8FB;
  font-weight: 700;
  text-transform: uppercase;
}

.sf_site_card_overlay h3
{
  color: #FFFFFF;
  font-weight: 700;
}

.sf_site_card_overlay p
{
  color: rgba(236, 244, 254, 0.78);
  font-weight: 500;
}

.sf_sites_map_section
{
  background: #18223A;
  background-image: url('images/PATTERN-BLEU2.svg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  overflow: hidden;
}

.sf_sites_map_content
{
  width: 100%;
  max-width: none;
  margin: 0;
  display: grid;
  grid-template-columns: minmax(420px, 52%) minmax(340px, 48%);
}

.sf_sites_map_visual
{
  display: flex;
  align-items: end;
}

.sf_sites_map_visual img
{
  display: block;
  height: 90%;
}

.sf_sites_map_text
{
  margin-right: auto;
}

.sf_sites_map_text h2
{
  color: #A8C8E8;
  font-weight: 700;
}

.sf_sites_map_intro
{
  color: #5A5F70;
  font-weight: 600;
}

.sf_sites_map_points
{
  list-style: disc;
  padding: 0;
}

.sf_sites_map_points li
{
  color: #7F91AB;
  font-weight: 600;
}

.sf_sites_map_cards
{
  display: flex;
  flex-direction: column;
}

.sf_sites_map_card
{
  background: #202D52;
  border: 1px solid rgba(116, 141, 184, 0.22);
  border-radius: 16px;
  position: relative;
}

.sf_sites_map_card::before
{
  content: '';
  border-radius: 50%;
  background: #D37033;
  position: absolute;
}

.sf_sites_map_card h3
{
  color: #F2F7FE;
  font-weight: 700;
}

.sf_sites_map_card p
{
  color: #8B9DB7;
  font-weight: 600;
}

.sf_histoire
{
  background: #E3EBF7;
}

.sf_histoire_header
{
  margin: 0 auto;
}

.sf_histoire h2
{
  color: #17213A;
  text-align: left;
  font-weight: 700;
}

.sf_histoire_container
{
  background: #FFFFFF;
  border-radius: 0 40px 0 0;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.04);
}

.sf_histoire_timeline
{
  position: relative;
}

.sf_histoire_timeline
{
  position: relative;
}

.sf_histoire_line_bg
{
  position: absolute;
  background: #DBE9FA;
}

.sf_histoire_line_progress
{
  position: absolute;
  background: #1F3D8E;
  z-index: 1;
}

.gs_dot
{
  transform: scale(0);
  opacity: 0;
}

.gs_content
{
  opacity: 0;
  transform: translateY(30px);
}

.sf_histoire_bloc
{
  position: relative;
}

.sf_histoire_bloc:last-child
{
  margin-bottom: 0;
}

.sf_histoire_dot
{
  position: absolute;
  border-radius: 50%;
  background: #D37133;
  z-index: 2;
}

.sf_histoire_content h3
{
  color: #17213A;
  font-weight: 700;
}

.sf_histoire_content p
{
  color: #4A5B7D;
}

.sf_histoire_images
{
  display: flex;
  align-items: flex-end;
}

.sf_img_main
{
  object-fit: cover;
  border-radius: 16px;
}

.sf_img_side
{
  object-fit: cover;
  border-radius: 16px;
}

.sf_histoire_images_1965 img
{
  filter: grayscale(100%);
}

.sf_histoire_legende
{
  color: #1F3D8E;
  font-weight: 600;
  font-style: normal;
}

.sf_equipes
{
  background: #FFFFFF;
  overflow: hidden;
}

.sf_equipes h2
{
  color: #17213A;
  font-weight: 700;
  text-align: center;
}

.sf_equipes_main
{
  display: grid;
  grid-template-columns: 50% 50%;
  align-items: center;
  max-width: 100%;
}

.sf_equipes_images
{
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
}

.sf_img_back
{
  object-fit: cover;
  border-radius: 0 20px 20px 0;
}

.sf_img_front
{
  object-fit: cover;
  border-radius: 20px;
}

.sf_equipes_text h3
{
  color: #143968;
  font-weight: 700;
}

.sf_equipes_text p
{
  color: #143968;
}

.sf_equipes_link a
{
  color: #143968;
  text-decoration: underline;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  transition: all 0.3s ease;
}

.sf_equipes_link a:after
{
  content: '→';
  background-color: #143968;
  color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  padding-bottom: 1px;
  transition: all 0.3s ease;
  flex-shrink: 0;
}

.sf_equipes_link a:hover:after
{
  background-color: #143968;
  transform: translateX(5px);
}

/*********************************************************PAGE QUALITE DURABILITE RESPONSABILITE***********************************************************************/

.qdr_hero
{
  background: #DBE9FA;
}

.qdr_hero_content
{
  margin: 0 auto;
}

.qdr_hero h1
{
  color: #17213A;
  font-weight: 700;
}

.qdr_savoirfaire_content
{
  margin: 0 auto;
}

.qdr_savoirfaire h2
{
  color: #17213A;
  font-weight: 700;
  text-align: left;
}

.qdr_savoirfaire h2 span
{
  color: #A8C8E8;
}

.qdr_savoirfaire_kicker
{
  color: #2F567D;
  font-weight: 700;
  text-transform: uppercase;
  position: relative;
}

.qdr_savoirfaire_kicker::before
{
  content: '';
  position: absolute;
  left: 0;
  transform: translateY(-50%);
  background-color: #D37033;
  border-radius: 2px;
}

.qdr_savoirfaire_intro
{
  color: #17213A;
  text-align: left;
}

.qdr_secteurs_grid
{
  display: grid;
  grid-template-columns: 55% 1fr;
  min-height: 500px;
}

.qdr_secteurs_right_col
{
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.qdr_secteurs_right_col .qdr_secteur_card
{
  flex: 1;
  min-height: 0;
}

.qdr_secteur_card
{
  position: relative;
  border-radius: 16px;
  overflow: hidden;
}

.qdr_secteur_card img
{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.qdr_secteur_overlay
{
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.65));
  color: #FFFFFF;
}

.qdr_secteur_tag
{
  display: inline-block;
  border-radius: 20px;
  font-weight: 600;
  color: #FFFFFF;
}

.qdr_tag_bleu
{
  background-color: #18223A;
}

.qdr_tag_vert
{
  background-color: #1A535A;
}

.qdr_tag_orange
{
  background-color: #D97A3A;
}

.qdr_iso_badge
{
  width: 84px;
  height: 84px;
  border-radius: 50%;
  background: #FFFFFF;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  text-align: center;
  font-size: 15px;
  line-height: 1.02;
}

.qdr_iso_badge_13485
{
  color: #C0341D;
  border: 3px solid #C0341D;
}

.qdr_iso_badge_22716
{
  color: #1F4694;
  border: 3px solid #1F4694;
}

.qdr_secteur_overlay p
{
  opacity: 0.9;
}

.qdr_qualite
{
  background-color: #143968;
  background-image: url('images/PATTERN-BLEU-FONCE.svg');
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  color: #FFFFFF;
  overflow: hidden;
}

.qdr_qualite h2
{
  font-weight: 700;
  text-align: left;
  color: #A8C8E8;
  margin-top: 0;
}

.qdr_qualite_main
{
  display: grid;
  grid-template-columns: 50% 50%;
  align-items: center;
  max-width: 100%;
}

.qdr_qualite_images
{
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
}

.qdr_img_back
{
  object-fit: cover;
  border-radius: 0 20px 20px 0;
}

.qdr_img_front
{
  object-fit: cover;
  border-radius: 20px;
}

.qdr_qualite_list
{
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.qdr_qualite_kicker
{
  display: flex;
  align-items: center;
  font-weight: 600;
  text-transform: uppercase;
  color: #313C5B;
}

.qdr_qualite_kicker::before
{
  content: ''; 
  display: inline-block;
  background: #D97A3A;
  flex-shrink: 0;
}

.qdr_qualite_checks
{
  display: flex;
  flex-direction: column;
}

.qdr_check_item
{
  display: flex;
  align-items: center;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  color: #FFFFFF;
  font-weight: 500;
}

.qdr_check_icon
{
  background: #1F4694;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-weight: 700;
  color: #FFFFFF;
}

.qdr_certif_logos
{
  display: flex;
}

.qdr_certif_badge
{
  background: transparent;
  border-radius: 0;
  font-weight: 700;
  color: #18223A;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  min-width: auto;
  border: none;
  box-shadow: none;
}

.qdr_certif_badge img
{
  display: block;
  max-height: 56px;
  width: auto;
}

.qdr_materiau_ecoconception
{
  display: flex;
  justify-content: space-between;
}

.qdr_materiau_diagram img
{
  max-width: 100%;
  width: 100%;
  height: auto;
}

.qdr_durabilite
{
  background: #FFFFFF;
  overflow: hidden;
}
.qdr_durabilite_titre
{
  color: #17213A;
  margin: 0 auto;
}

.qdr_durabilite_content
{
  color: #5A7BA0;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  align-items: stretch;
  gap: clamp(32px, 4vw, 72px);
}

.qdr_durabilite_text
{
  color: #5A7BA0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  justify-self: center;
  align-self: center;
  text-align: left;
}

.qdr_durabilite h2
{
  color: #17213A;
  font-weight: 700;
}

.qdr_durabilite_intro_bold
{
  color: #1C2938 ;
  font-weight: 700 ;
}

.qdr_durabilite h3
{
  color: #1C2938;
  font-weight: 700;
  font-style: normal;
}


.qdr_durabilite_image
{
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
}

.qdr_durabilite_image img
{
  width: 100%;
  display: block;
  border-radius: 18px 0 0 0;
  margin-bottom: -5px;
  object-fit: cover;
}

.qdr_engagements
{
  display: flex;
  flex-direction: column;
  background-color: #1A535A;
}

.qdr_engagements_titre
{
  color: #F7FCFE;
  font-weight: 700;
}

.qdr_engagements_items
{
  display: flex;
}

.qdr_engagement_item
{
  flex: 1;
  border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.qdr_engagement_item:last-child
{
  border-right: none;
}

.qdr_eng_num
{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.12);
  border-radius: 10px;
  color: #F7FCFE;
  font-weight: 700;
}

.qdr_eng_title
{
  color: #F7FCFE;
  font-weight: 700;
}

.qdr_eng_desc
{
  color: #F7FCFE;
}

.qdr_rse_cta
{
  display: flex;
  align-items: stretch;
  background: #FFFFFF;
  overflow: hidden;
}

.qdr_rse_cta_image
{
  flex-shrink: 0;
  overflow: hidden;
}

.qdr_rse_cta_image img
{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.qdr_rse_cta_text
{
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.qdr_rse_cta_kicker
{
  font-weight: 700;
  text-transform: uppercase;
  color: #1F3D8E;
}

.qdr_rse_cta_text h2
{
  color: #17213A;
  font-weight: 700;
}

.qdr_rse_cta_text p
{
  color: #1F3D8E;
}

.qdr_rse_cta_actions
{
  display: flex;
  align-items: center;
}

.qdr_rse_cta_btn
{
  display: inline-flex;
  align-items: center;
  background: #18223A;
  color: #FFFFFF;
  text-decoration: none;
  font-weight: 600;
  border-radius: 30px;
  transition: background 0.2s ease;
}

.qdr_rse_cta_btn:hover
{
  background: #1F3D8E;
}

.qdr_rse_cta_arrow
{
  background: rgba(255, 255, 255, 0.15);
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/**********************************************************PAGE CONTACT***********************************************************************/

.contact_section
{
  background: #DBE9FA;
}

.contact_layout
{
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
}

.contact_form_card,
.ctc_infos_card
{
  background: #FFFFFF;
  border-radius: 16px;
}

.ctc_kicker
{
  color: #1F3D8E;
  font-weight: 600;
}

.contact_form_card h1
{
  color: #17213A;
  font-weight: 700;
}

.ctc_intro
{
  color: #2F567D;
}

.contact_form
{
  display: flex;
  flex-direction: column;
}

.ctc_row
{
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.ctc_field
{
  display: flex;
  flex-direction: column;
}

.ctc_field label
{
  color: #17213A;
  font-weight: 500;
}

.contact_form input,
.contact_form textarea
{
  width: 100%;
  border: 1px solid #E2E8F0;
  background: #F8F9FA;
  border-radius: 12px;
  color: #17213A;
  font-family: inherit;
}

.contact_form textarea
{
  resize: vertical;
}

.contact_form input::placeholder,
.contact_form textarea::placeholder
{
  color: #A0AEC0;
}

.ctc_check
{
  display: flex;
  align-items: center;
  color: #17213A;
  font-size: 10px;
}

.ctc_check input
{
  margin: 0;
}

.ctc_submit
{
  border-radius: 22px;
  background: linear-gradient(90deg, #17213A 0%, #254494 50%, #17213A 100%);
  color: #FFFFFF;
  font-weight: 600;
  cursor: pointer;
}

.ctc_submit:hover
{
  background: #2E4A9E;
}

.contact_infos
{
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.ctc_image
{
  flex: 1;
}

.ctc_image img
{
  width: 100%;
  object-fit: cover;
  border-radius: 20px;
}

.ctc_infos_card
{
  display: flex;
  flex-direction: column;
}

.ctc_info_item
{
  background: #F8F9FA;
  border-radius: 12px;
  display: flex;
  align-items: flex-start;
}

.ctc_icon
{
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #1F3D8E;
  background: #DDE8F8;
  flex-shrink: 0;
  overflow: hidden;
}

.ctc_icon img
{
  object-fit: contain;
  display: block;
}

.ctc_info_text
{
  min-width: 0;
}

.ctc_label
{
  color: #5A7BA0;
  font-weight: 600;
}

.ctc_value
{
  color: #17213A;
  font-weight: 600;
}

.ctc_sites_row
{
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.ctc_sites_row .ctc_info_item
{
  background: #F8F9FA;
  border-radius: 10px;
  display: flex;
  align-items: flex-start;
}

