/***** banner *****/
.banner                                { position: relative; padding-top: 150px; background: linear-gradient(to bottom, #fff 0%,  #fff 60%, var(--mainColor2) 60%, var(--mainColor2) 100%); }
.banner .photo                         { display: grid; grid-template-columns: 5fr 6fr 5fr; align-items: center; gap: clamp(20px, 4vw, 40px); }
.banner .photo img                     { display: block; width: 100%; height: auto; }
.banner .photo .item img               { border-radius: var(--imgRadius); overflow: hidden; }

@media (max-width:700px) {
.banner                                { padding-top: 80px; text-align: center;}
.banner .photo                         { grid-template-columns: 1fr 1fr; }
.banner .photo .item:last-of-type      { display: none; }
}
@media (max-width:700px) {
.banner .photo                          { grid-template-columns: 1fr; }    
.banner .photo .item:first-of-type      { display: none; }
.banner .photo img                      { height: 70vw; object-fit: cover; }
}


.intro                                  { margin: 0; padding: clamp(30px, 5vw, 100px) 0 clamp(30px, 5vw, 110px) 0; color: #fff; }
.intro p                                { color: var(--mainColor2); }
.intro .chapo                           { color: #ffffff; }
@media (max-width:700px) {
.intro .titre_main                      { text-align: center;}
.intro .chapo                           { display: none;}
}




.services                                  { margin: var(--marginTB); margin-bottom: 0; background: linear-gradient(to bottom, #fff 0%,  #fff 75%, var(--mainColor4) 75%, var(--mainColor4) 100%);  }
.services .txt_simple                      { margin-bottom: 50px; }
.services .grid_bloc                       { margin: 0; padding: 0;}
.services .grid_bloc .card_item_v1 .wrap   { padding: 60px 30px;}


@media (max-width:700px) {
.services                                  { background: linear-gradient(to bottom, #fff 0%,  #fff 65%, var(--mainColor4) 65%, var(--mainColor4) 100%);  }    
.services .grid_bloc .card_item_v1 .wrap   { padding: 30px 10px 60px;}
}

@media (max-width:600px) {
.grid_bloc .container.specialisation                        { gap: 15px;}    
.services .grid_bloc .card_item_v1 .wrap .sous_titre        { font-size: 14px;} 
.services .grid_bloc .card_item_v1 .wrap .sous_titre span   { font-size: 12px;}  
}

@media (max-width:400px) {
.services .grid_bloc .card_item_v1 .wrap .sous_titre span   { display: none;}      
}


/***** atouts *****/
.atouts 							{ position: relative; text-align: center; padding: clamp(80px, 7vw, 200px) 0 clamp(100px, 7vw, 250px); background-color: var(--mainColor4)}
.atouts .titre_main					{ display: none;}
.atouts ul 							{ position: relative;}
.atouts li 							{ display: inline-block; font-weight: 600; font-size: 20px; color: var(--mainColor2); line-height: 30px; margin-right: 50px; position: relative;}
.atouts li:after					{ width: 5px; height: 5px; position: absolute; right: -27px; top: 13px; background: var(--mainColor1); border-radius: 50%; content: "";}
.atouts li:last-child  				{ margin: 0;}
.atouts li:last-child:after 		{ display: none;}

.moving_text 						{ width: 100%; position: absolute; left: 0; top: 50%; transform: translateY(-50%); height: 130px; overflow: hidden;}
.moving_text .row 					{ display: flex;}
.moving_text .row .item 			{ display: grid; grid-template-columns: 1fr 1fr; grid-gap: 5vw; white-space: nowrap; font: 700 130px/120px "Montserrat"; text-transform: uppercase; letter-spacing: 15px; color:  var(--mainColor1); opacity: 0.1; padding-left: 5vw; animation: scroll_text 35s linear infinite;}

@keyframes scroll_text {
0%									{ transform: translate(0, 0);}
100% 								{ transform: translate(-100%, 0); }
}
@media (max-width:1600px) {
.atouts 							{ padding: 120px 0;}
.moving_text .row .item 			{ font-size: 130px;}
}
@media (max-width:1200px) {
.atouts 							{ padding: 80px 0;}
.atouts 							{ text-align: left;}
.atouts .titre_main					{ display: block;}
.atouts ul 							{ column-count: 2;}
.atouts li 							{ font-size: 16px; line-height: 36px; margin: 0; display: block; padding-left: 20px;}
.atouts li:after					{ right: auto; left: 0; top: 15px;}
.atouts li:last-child:after 		{ display: block;}
.moving_text 						{ display: none;}
}
@media (max-width:600px) {
.atouts 							{ padding: 40px 0;}
.atouts ul 							{ column-count: 1; margin: 15px 0 -5px 0;}
.atouts li 							{ font-size: 14px; line-height: 34px;}
}




.about                              { position: relative; margin: var(--marginTB); }
.about.bloc_txt_img .container img { display: block; position: relative; aspect-ratio: 1/1; border-radius: var(--imgRadius);}

@media (max-width:600px) {
.about.bloc_txt_img .container img:last-of-type { display: none;}
.about.bloc_txt_img .container img:first-of-type { margin: 0; width: 100%;}
}



.bloc_txt_img .container img 							{ width: 70%; height: auto; object-fit: cover; display: block; position: relative; z-index: 10; aspect-ratio: 1/1; border-radius: var(--imgRadius);}
.bloc_txt_img .container img:first-of-type				{ margin: 0 0 0 30%;}
.bloc_txt_img .container img:last-of-type				{ margin: -15% 30% 0 0; border: 5px solid #fff;}
.bloc_txt_img.reverse:before							{ right: 0; left: calc(50% + 100px);}

@media (max-width:1200px) { 
.bloc_txt_img:before									{ display: none;}
}
@media (max-width:1000px) { 
.bloc_txt_img .container .img 							{ width: 80%; max-width: 600px; margin: 0 auto;}
.bloc_txt_img .container img 							{ width: 60%;}
.bloc_txt_img .container img:first-of-type				{ margin: 0 0 0 40%;}
.bloc_txt_img .container img:last-of-type				{ margin: -20% 40% 0 0;}
}
@media (max-width:700px) { 
.bloc_txt_img .container .img 							{ width: 100%;}
}


.grid_bloc .container.specialisation .item              { position: relative; padding-bottom: 40px;}
.grid_bloc .container.specialisation .item a.link       { position: absolute; left: 50%; transform: translateX(-50%); width: auto; padding: 0 20px; bottom: 40px;}

@media (max-width:700px) { 
.grid_bloc .container.specialisation                    { grid-template-columns: 1fr 1fr; }  
.grid_bloc .container.specialisation .item .wrap p      { display: none;}  
.grid_bloc .container.specialisation .item a.link       { padding: 0 10px; font-size: 10px;}
}

@media (max-width:500px) { 
.grid_bloc .container.specialisation                    { grid-template-columns: 1fr 1fr; } 
}