/*********************************RESET******************************/
*{margin:0;padding:0;box-sizing:border-box;}
.clear{ clear:both;}
.cfix:after, .container:after, .row:after {clear: both;}
.cfix:before, .cfix:after, .container:before, .container:after, .row:before, .row:after {content: "";display: table;}
img a{ border:none; }
img{ display:block; max-width:100%; border-radius: 8px; }
a, button{text-decoration:none;color:inherit;transition: all .25s ease-in-out;}
a:hover,a:focus,a:active,button.btn:focus, button.btn:hover {outline:none;text-decoration:none;cursor:pointer;}
input:focus, button:focus, textarea:focus, select:focus{outline:none;transition: all .25s ease-in-out;}
p{ line-height:1.5; }
ul{ list-style:none;}
li{ list-style:none; }
strong{font-weight:700;}
html.sr .sr-hidden{ visibility:hidden; }/* class to prevent scrollreveal flickering*/
/*hide scrollbar*/
html{ max-width: 100%; overflow-x: hidden; }

/*
FONTS
font-family: "neue-haas-grotesk-display", sans-serif; 500-600-700-900 roman-medium-bold-black normal/italic
*/

:root { 
--light:#F1EFEB;
--main:#0F324B;
--dark-main: #092233;
--white:#FFFFFF;
--dark-beige: #D2CEC7;
}

/*********************************BASE******************************/
body{ background: var(--light); font-family: "Epilogue", sans-serif; font-size:21px; font-weight:500; line-height:1; letter-spacing: -0.04em; position:relative; overflow-x:hidden; color:var(--main); }
h1,h2,h3,h4,h5,.f-title, .title{ font-weight:500; line-height:1.1; letter-spacing: -0.045em;}
h2 { font-size: 60px; }
.center{ text-align:center; }
p{ font-family: "Epilogue", sans-serif; font-weight: 400; line-height: 1.46; font-size: 18px; }
p a{ text-decoration:underline; font-weight: 500; }
p a:hover{ opacity:0.6; text-decoration:underline; }
a:hover{ }
.container{ margin:0 auto; position:relative; max-width:1780px; /*1720*/ width:100%; padding:0 50px; }
.container.xsm{ max-width:1280px; /*1220*/ }
.container.sm{ max-width:1480px; /*1420*/ }
.container.md{ max-width:1580px; /*1520*/ }
.container.lg{ max-width:1980px; /*1920*/ }
.fcol{ display:flex; flex-direction:column; }
.fcenter{ display:flex; justify-content:center; align-items:center; }
b, strong, .strong{ font-weight:700; }
.btn{ font-size:14px; font-weight:500; display:flex; justify-content:center; align-items:center; width: fit-content; padding: 17px 24px; background:var(--main); border-radius:10px; color:var(--light); position: relative; overflow: hidden; }
.btn span { z-index: 5; }
.btn:before { content: ''; background: var(--light); width: 0; height: calc(100% + 2px); position: absolute; top: -1px; left: -1px; z-index: 2; transition: .4s ease-in-out; }
.btn:hover{ color:var(--main); background: transparent; }
.btn:hover:before { width: calc(100% + 2px); }
.btn.btnLight { background: var(--light); color: var(--main); }
.btn.btnLight:hover { color: var(--light); background: transparent; }
.btn.btnLight:before { background: var(--dark-main); }
section { padding: 160px 0; }
@media (max-width: 619px) {

}

@media (max-width: 1679px) {

}
@media (max-width: 1479px) {

}
@media (max-width: 1359px) {

}
@media (max-width: 1279px) {
	
}
@media (max-width: 1200px) {
  h2 { font-size: 48px; }
}
@media (max-width: 1019px) {
	.container.mobile{ max-width:700px; }
}
@media (max-width: 879px) {
	
}
@media (max-width: 759px) {
	
}
@media (max-width: 619px) {
	body{ font-size:15px; }
	.container{ padding:0 20px; }
	.btn{ padding:0 20px; height:50px; font-size:13px; border-width:1px; }
  .btn .arrow{ width:12px; margin:0 0 0 15px; }
  section { padding: 100px 0; }
}
@media (max-width: 560px) {
    h2 { font-size: 38px; }
}
@media (max-width: 420px) {
  	.container{ padding:0 10px; }
}



/*LAYOUT*/
.wrap{ display:flex; flex-flow:row wrap; }
.wrap-alt, .wrap-alt-sm, .wrap-alt-xsm{ display:flex; flex-flow:row wrap; flex-direction:row-reverse; }
.wrap-center{ display:flex; flex-flow: row wrap; justify-content: center;}
@media (max-width: 1279px) {
	.wrap-alt{ flex-direction:row; }	
}
@media (max-width: 1019px) {
	.wrap-alt-sm{ flex-direction:row; }	
}
@media (max-width: 759px) {
	.wrap-alt-xsm{ flex-direction:row; }	
}

/*MENU MOBILE*/
#mobile-menu{ display:none; position:relative; z-index:999; }
#mobile-menu .top-bar{ display: flex; align-items: center; justify-content: space-between; position:relative; gap: 30px; }
#mobile-menu .logo svg { max-width:100%; }
#mobile-btn{ display:block;cursor:pointer; }

#mobile-menu .top-bar .logo { position: absolute; left: 50px; top: 47px; }
#mobile-menu .top-bar #mobile-btn { height: 64px; width: 64px; position: fixed; right: 50px; top: 30px; border-radius: 8px; background: var(--light); display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.08); }


#mobile-menu .menu{ display:block; background:var(--white); width: 60%; height: auto; position: fixed; right: -100%; top: 0; overflow:hidden; transition: right 0.6s ease; padding: 120px 50px 80px 50px; margin: 10px; border-radius: 8px; }
#mobile-menu .menu.open{ right: 0; }
#mobile-menu .menu ul { display: flex; flex-direction: column; gap: 6px; }
#mobile-menu .menu li{ position:relative; }
#mobile-menu .menu li.langBtn { margin-top: 40px; }
#mobile-menu .menu a{ color: var(--main); font-size: 38px; font-weight: 500; line-height: 1; display: block; padding: 14px 0px; }
#mobile-menu .menu a.support{ padding:15px; display:flex; }
#mobile-menu .menu a.support svg{ margin:0 8px 0 0; position:static; width:30px; }
#mobile-menu .menu a.support .support-1{ fill:var(--main); }
#mobile-menu .menu a.support .support-2{ fill:var(--dark); }
#mobile-menu .menu a.support .support-3{ fill:#fff; }
#mobile-menu .menu .langBtn a { text-align:center; background:var(--light); color: var(--main); font-size: 22px; padding: 16px 30px; }
#mobile-menu .menu a svg{ width:16px; transition:all 0.4s ease; }
#mobile-menu .sub-menu{ max-height:0; overflow:hidden; transition: all 0.6s ease; padding-bottom: 0; }
#mobile-menu .sub-menu a{ font-size:16px; font-weight:500; padding: 8px 10px 8px 10px; }
#mobile-menu .sub-menu .sub-menu a{ padding-left:50px; }
#mobile-menu .sub-menu.open{ max-height:350px; padding-bottom: 24px; }
#mobile-menu .has-submenu a { display: flex; align-items: center; gap: 16px; }
#mobile-menu .has-submenu a svg { transform: rotate(90deg); margin-top:-2px; }
#mobile-menu .has-submenu a.open svg { transform: rotate(-90deg); }


#mobile-close-btn { height: 64px; width: 64px; background: var(--light); border-radius: 8px; position: absolute; top: 15px; right: 15px; display: flex !important; align-items: center; justify-content: center; }

@media (max-width: 991px) {
	#mobile-menu{ display:block; position: absolute; width: 100%; top: 0; left: 0; }
}
@media (max-width: 619px) {
  #mobile-menu .top-bar .logo { left: 20px; top: 36px; }
  #mobile-menu .top-bar #mobile-btn { right: 20px; top: 20px; }

  #mobile-menu .menu { padding: 80px 20px 80px 20px; width: 80%; }
  #mobile-menu .menu a { font-size: 28px; }
  #mobile-menu .sub-menu a { font-size: 15px; }
}
@media (max-width: 420px) {
  #mobile-menu .top-bar { padding: 15px 20px; }
  #mobile-menu .top-bar .logo { max-width: 58%; min-width: 160px; position: relative; top: 12px; left: auto; }
  #mobile-menu .top-bar #mobile-btn { width: 50px; height: 50px; }
  #mobile-close-btn { width: 50px; height: 50px; }
  #mobile-menu .menu { width: calc(100% - 20px); height: calc(100% - 20px); }
}

/*HEADER*/
.main-header{ position:relative; width:100%; z-index:999; display: flex; }
.main-header.scroll{ top:-50px; /*hide top-bar*/ }

.main-header .logo { position: absolute; left: 50px; top: 47px; z-index: 999; }
.main-header .logo a{ position:relative; }
.main-header .logo img{ max-height:30px; }
.main-header .menu{ align-items:flex-end; background: var(--light); padding: 8px 8px 8px 20px; border-radius: 16px; width: fit-content; position: fixed; right: 50px; top: 30px; z-index: 990; box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.08); }
.main-header .menu ul{ display:flex; align-items:center; gap:30px; }
.main-header .menu a{ font-size:15px; font-weight:500; position:relative; color: var(--main); padding: 5px; }
.main-header .menu a:hover { opacity: .5; }
.main-header .menu .langBtn a { width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; background: var(--white); color: var(--main); border-radius: 10px; padding-top: 9px; opacity: 1 !important; }
.main-header .menu .langBtn a:hover { color: var(--light); }

.main-header .sub-menu{ padding:50px 0 40px; background: var(--light); position:fixed; top: 94px; right:-100vw; z-index:999; transition: all .3s ease-in-out; margin: 0 50px; border-radius: 16px; opacity: 0; box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.08); width: calc(100vw - 100px); }
.main-header .sub-menu.open{ right:0; opacity: 1; /*transition-delay:0s;*/ }
.main-header .sub-menu .sub-nav{ /*opacity:0;*/ display:none; transition: opacity .25s ease-in-out;  }
.main-header .sub-menu.open .sub-nav{ opacity:1; /*transition-delay:1s;*/ }
.main-header .sub-menu .sub-nav.active{ display:block; }
.main-header .sub-menu .sub-nav .list { display: flex; gap: 40px; }
.main-header .sub-menu .sub-nav .list .item { opacity: 1; }
.main-header .sub-menu .sub-nav .list .item .text { display: flex; gap: 30px; justify-content: space-between; align-items: center; margin-top: 12px; }
.main-header .sub-menu .sub-nav .list .item .text span { font-size: 20px; width: calc(100% - 64px); } 
.main-header .sub-menu .sub-nav .list .item .text .icn { background: var(--white); height: 34px; width: 34px; border-radius: 8px; display: flex; align-items: center; justify-content: center; }

.main-header .sub-menu .sub-nav .list .item a:hover .text .icn:before { width: 100%; }
.main-header .sub-menu .sub-nav .list .item a .text .icn svg path { transition: .4s ease-in-out; }
.main-header .sub-menu .sub-nav .list .item a:hover .text .icn svg path { stroke: var(--main); }
.main-header .sub-menu .sub-nav .list:has(.item:hover) .item a {
  opacity: .5; /* tous deviennent pâles */
}
/* Mais l'élément survolé garde son opacité */
.main-header .sub-menu .sub-nav .list .item a:hover {
  opacity: 1 !important;
}



@media (max-width: 1859px) {
    .main-header .top-bar{ padding:0; }
    .main-header .main-bar{ padding:0; }
}
@media (max-width: 1679px) {
    .main-header .menu-right>div{ gap:30px; }
    .main-header .menu ul{ gap:30px; }
    .main-header .menu ul .has-submenu .arrow{ margin:0 0 0 6px; }
}
@media (max-width: 1479px) {
    .main-header .sub-menu .col-1{ width:45%; }
    .main-header .sub-menu .col-2{ width:55%; padding:0 0 0 60px; }
}
@media (max-width: 1400px) {
  .main-header .sub-menu .sub-nav .list { gap: 20px; }
    .main-header .sub-menu .sub-nav .list .item .text { gap: 20px; }
  .main-header .sub-menu .sub-nav .list .item .text span { font-size: 18px; width: calc(100% - 54px); }
}
@media (max-width: 1359px) {
    .main-header .logo img{ width:200px; }
    .main-header .menu a{ font-size:16px; }
    .main-header .menu-right .lang{ font-size:16px; }
}
@media (max-width: 1279px) {
    .first-cs{ margin:0; }
}
@media (max-width: 1200px) {
  .main-header .sub-menu { padding: 32px 0 32px; }
  .main-header .sub-menu .container { padding: 0 32px; }
  .main-header .sub-menu .sub-nav .list .item .text span { font-size: 15px; }
}
@media (max-width: 991px) {
      #header{ display:none; }
}

/*BACK TO TOP*/
#back-to-top{ display:flex; width:50px; height:50px; border-radius:6px; background-color:var(--main); color:#fff; position:fixed; right:15px; bottom:5px; visibility:hidden; opacity:0; z-index:4; }
#back-to-top.scroll{ bottom:15px; visibility:visible; opacity:1; }
#back-to-top:hover{ background-color:var(--main2);  color:#fff; }
#back-to-top svg{ width:18px; transform:rotate(-90deg); }
@media (max-width: 619px) {
	#back-to-top{ width:50px; height:50px; right:15px; bottom:5px; }
    #back-to-top.scroll{ bottom:15px; }
    #back-to-top svg{ width:15px; }
}
    
/*FOOTER*/
footer { background: var(--main); color: var(--light); padding: 80px 50px; }
footer .topContent { display: flex; align-items: flex-start; justify-content: space-between; }
footer .topContent .lgSlog { font-size: 50px; line-height: 1.2; }
footer .topContent .right { display: flex; align-items: flex-start; gap: 120px; }
footer .topContent .title { font-size: 24px; margin-bottom: 20px; }

footer .topContent .socials .link .outer {  overflow: hidden; border-radius: 10px; }
footer .topContent .socials .link .inner { background: var(--light); display: flex; align-items: center; gap: 16px;  position: relative; padding: 8px 20px; margin: -1px; }
footer .topContent .socials .link.fb .icn { margin-top: 3px; z-index: 5; }
footer .topContent .socials .link span { font-size: 16px; color: var(--main); z-index: 5; }
footer .topContent .socials .link .icn svg { width: 10px; }
footer .topContent .socials .link .inner:before { content: ''; background: var(--dark-main); width: 0; height: calc(100% + 2px); position: absolute; top: -1px; left: -1px; z-index: 2; transition: .4s ease-in-out; }
footer .topContent .socials .link:hover .inner { background: transparent; }
footer .topContent .socials .link:hover .inner:before { width: calc(100% + 2px ); }
footer .topContent .socials .link .icn svg path { fill: var(--main); transition: .4s ease-in-out; }
footer .topContent .socials .link:hover .icn svg path { fill: var(--light); }
footer .topContent .socials .link:hover span { color: var(--light); }


footer .topContent .contacts ul { display: flex; gap: 14px; flex-direction: column; }
footer .topContent .contacts ul li a { font-size: 20px; font-weight: 400; line-height: 1.2; opacity: 1; transition: .4s ease-in-out; }
footer .topContent .contacts ul li a:hover { opacity: .5; }

footer .bottomContent { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; margin-top: 160px; }
footer .bottomContent .copy ul { display: flex; align-items: center; flex-direction: row; gap: 24px; }
footer .bottomContent .copy ul li,
footer .bottomContent .copy ul li a { font-size: 14px; display: flex; align-items: center; gap: 6px; opacity: 1; transition: .4s ease-in-out; }
footer .bottomContent .copy ul li a:hover { opacity: .5; }
footer .bottomContent .copy ul li a img { border-radius: 0; }
footer .bottomContent .logo { width: 60%; max-width: 1000px; }
footer .bottomContent .logo img { width: 100%; }

@media (max-width: 1400px) {
  footer .bottomContent .logo { width: 50%; padding-left: 60px; }
}
@media (max-width: 1260px) {
  footer .topContent .lgSlog { font-size: 36px; }
  footer .topContent .right { gap: 40px; }
}
@media (max-width: 1100px) {
  footer .bottomContent { justify-content: center; align-items: center; }
  footer .bottomContent .logo { width: 100%; padding-left: 0; order: 1; margin-bottom: 40px; }
  footer .bottomContent .copy { order: 2; }
}
@media (max-width: 991px) {
  footer .topContent { flex-direction: column; gap: 60px; }
  footer .topContent .lgSlog { width: 100%; }
  footer .topContent .right { gap: 80px; }
  footer .topContent .contacts ul li a { font-size: 18px; }
}
@media (max-width: 619px) {
  footer { padding: 60px 20px; }
  footer .bottomContent { margin-top: 80px; }
}
@media (max-width: 600px) {
  footer .bottomContent .copy ul { flex-direction: column; }
}
@media (max-width: 520px) {
  footer .topContent .right { flex-direction: column; gap: 60px; }
}


/*CONTENT SECTIONS*/
.hero-home{ margin:0 0 0; padding: 0; position:relative; }
.hero-home .parallax-bg{ min-height:600px; height:calc(100dvh - 50px); max-height:1000px; background:url("../img/home-hero.jpg") center -25px / cover no-repeat var(--dark-beige); position:relative; overflow:hidden; }
.hero-home .content{ padding:0 50px 50px; position:absolute; bottom:0; width:100%; text-align:center; color: var(--light); display: flex; justify-content: space-between; align-items: flex-end; }
.hero-home .content .title { max-width: 855px; position: relative; }
.hero-home .content .f-title{ font-size: 130px; text-align: left; line-height: 1; }
.hero-home .content .title .sm { position: absolute; right: 0; bottom: 24px; width: 360px; font-size:28px; margin:20px 0 0; text-align: right; line-height: 1.2; }
.hero-home .content .right { max-width: 340px; text-align: left; }
.hero-home .content .right p { font-size: 16px; }
.hero-home .content .right .btn { margin-top: 20px; }

@media (max-width: 1479px) {
  .hero-home .content .title { max-width: 655px; } 
  .hero-home .content .f-title{ font-size:100px; }
  .hero-home .content .title .sm{ font-size:24px; }
  .hero-home .content .right { max-width: 280px; }
}
@media (max-width: 1279px) {
    .hero-home{ margin:0; }
    .hero-home .parallax-bg{ min-height:600px; height:90dvh; max-height:800px; background-position:center center; }
}
@media (max-width: 1200px) {
  .hero-home .content .title { max-width: 500px; } 
  .hero-home .content .f-title{ font-size:76px; }
  .hero-home .content .title .sm{ font-size:20px; width: 240px; bottom: 10px; }
}
@media (max-width: 1019px) {
  .hero-home .content { flex-direction: column; align-items: flex-start; gap: 40px; }
  .hero-home .content .title { width: 100%; max-width: 525px; }
  .hero-home .content .f-title{ font-size:80px; }
  .hero-home .content .title .sm { font-size:20px; }
  .hero-home .content .right { max-width: 400px; } 
}
@media (max-width: 630px) {
  .hero-home .content .f-title { font-size: 78px; }
}
@media (max-width: 619px) {
  .hero-home .parallax-bg{ background-image:url("../img/home-hero-sm.jpg"); }
  .hero-home .content{ padding:0 30px 60px; }
  .hero-home .content .f-title{ font-size:50px; text-wrap:balance; }
  .hero-home .content .title .sm{ font-size:20px; position: relative; text-align: left; bottom: auto; margin-top: 12px; }
}

.home-s1 { padding: 260px 0 160px 0; position: relative; }
.home-s1:before { content:''; background-image: url("../img/home-wave-bg.svg"); width: 100%; height: 1180px; position: absolute; top: 30%; left: 0; background-size: contain; background-repeat: no-repeat; }
.home-s1 h2 { font-size: clamp(40px, 5.5vw, 100px); text-align: center; max-width: 1200px; width: 70%; margin: auto;  }
.home-s1 .rightContent { display: flex; justify-content: flex-end; margin-top: 520px; }
.home-s1 .rightContent .content { max-width: 1000px; width: 60%; }
.home-s1 .rightContent .content p { font-size: 26px; }
.home-s1 .rightContent .content .avs { display: flex; flex-wrap: wrap; flex-direction: column; gap: -2px; margin-top: 80px; }
.home-s1 .rightContent .content .avs .item { font-size: 26px; font-weight: 500; padding: 24px 20px; border-top: 2px solid var(--main);display: flex; align-items: center; flex-direction: row; justify-content: flex-start; gap: 30px; } 
.home-s1 .rightContent .content .avs .item:last-child { border-bottom: 2px solid var(--main); }

.home-industries { padding: 160px 0 120px 0; background: var(--main); }
.home-industries h2 { color: var(--light); max-width: 670px; margin-bottom: 60px; }
.home-industries .list { display: flex; gap: 40px; }
.home-industries .list .item { max-width: 425px; }
.home-industries .list .item a { opacity: 1; transition: .4s ease-in-out; }
.home-industries .list .item a img { border-radius: 8px;  }
/* .home-industries .list .item a:hover img { opacity: .7; } */
.home-industries .list .item a .text { margin-top: 12px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; }
.home-industries .list .item a .text span { color: var(--light); font-size: 20px; width: calc(100% - 70px); } 
.home-industries .list .item a .text .icn { background: var(--dark-main); height: 40px; width: 40px; border-radius: 10px; display: flex; align-items: center; justify-content: center; transition: .4s ease-in-out; position: relative; overflow: hidden; }

.home-industries .list .item a .text .icn:before { content: ''; background: var(--light); width: 0; height: 100%; position: absolute; top: 0; left: 0; z-index: 2; transition: .4s ease-in-out; }
.home-industries .list .item a:hover .text .icn:before { width: 100%; }
.home-industries .list .item a .text .icn svg { z-index: 8; }
.home-industries .list .item a .text .icn svg path { stroke: var(--light); transition: .4s ease-in-out; }
.home-industries .list .item a:hover .text .icn svg path { stroke: var(--main); }
.home-industries .list:has(.item:hover) .item a {
  opacity: .5; /* tous deviennent pâles */
}
/* Mais l'élément survolé garde son opacité */
.home-industries .list .item a:hover {
  opacity: 1 !important;
}


.clients { padding: 120px 0; border-bottom: 1px solid var(--dark-beige) }
.clients h2 { font-size: 22px;  }
.clients .swiper .swiper-slide img { opacity: .4; transition: .4s ease-in-out; } 
.clients .swiper .swiper-slide img:hover { opacity: 1; }
.clients .swiper.marquee-swiper { margin-top: 80px; }
.clients .swiper-wrapper.marquee-swiper { transition-timing-function: linear; align-items: center; }
.clients .swiper-slide.marquee-swiper { width: 12rem; display: flex; align-items: center; justify-content: center; }



.home-reals { padding: 120px 0; }
.home-reals .topContent { display: flex; align-items: flex-end; justify-content: space-between; width: 100%; gap: 60px; }
.home-reals h2 { max-width: 520px; }
.home-reals .arrows { display: flex; align-items: center; flex-direction: row; gap: 12px; }
.home-reals .arrows .swiper-button-prev,
.home-reals .arrows .swiper-button-next { height: 80px; width: 80px; background: var(--white); border-radius: 10px; position: relative; top: auto; left: auto; right: auto; bottom: auto; transition: .4s ease-in-out; overflow:hidden; margin: 0; }
.home-reals .arrows .swiper-button-prev:after,
.home-reals .arrows .swiper-button-next:after { content: ''; background: var(--main); width: 0; height: 100%; position: absolute; top: 0; left: 0; z-index: 2; transition: .4s ease-in-out; }
.home-reals .arrows .swiper-button-prev svg { transform: rotate(180deg); }
.home-reals .arrows .swiper-button-prev svg,
.home-reals .arrows .swiper-button-next svg { width: 24px; z-index: 8; }
.home-reals .arrows .swiper-button-prev svg path,
.home-reals .arrows .swiper-button-next svg path { stroke: var(--main); transition: .4s ease-in-out; }
.home-reals .arrows .swiper-button-prev:hover svg path,
.home-reals .arrows .swiper-button-next:hover svg path { stroke: var(--light); }
.home-reals .arrows .swiper-button-prev:hover:after,
.home-reals .arrows .swiper-button-next:hover:after { width: 100%; }

.home-reals .swiperReals { margin-top: 60px; }
.home-reals .swiperReals .swiper-slide {  --row-h: clamp(220px, 30vw, 520px); height: var(--row-h); }
/* Largeurs alternées basées sur le ratio des images fournies :
   900x520 => 900/520 = 1.730769..., 520x520 => 1 */
.home-reals .swiper-slide.wide   { width: calc(var(--row-h) * 1.730769); } /* ~900 quand row-h=520 */
.home-reals .swiper-slide.square { width: var(--row-h); }                  /* 520 quand row-h=520 */
.home-reals .swiperReals .swiper-slide img { border-radius: 8px; height: 100%; width: 100%; object-fit: cover;   /* plein visuel (recadre si nécessaire) */ display: block; }


.home-s5 { background: var(--main); padding: 50px 0; }
.home-s5 .content { display: flex; justify-content: space-between; gap: 60px; }
.home-s5 .textBlock { color: var(--white); display: flex; flex-direction: column; flex-wrap: wrap; gap: 30px; max-width: 620px; margin-top: 120px; }
.home-s5 .textBlock p { font-size: 18px; }
.home-s5 .img { width: 54%; max-width: 975px; height: 100%; min-height: 760px; background-image: url("../img/home-motonautisme.jpg"); background-size: cover; background-repeat: no-repeat; background-position: center center; border-radius: 8px; }

@media (max-width: 1200px) {
    .home-s5 .textBlock { max-width: 360px; }
}
@media (max-width: 991px) {
    .home-s5 .content { flex-direction: column; }
    .home-s5 .textBlock { width: 100%; max-width: 620px; margin-top: 70px; }
    .home-s5 .img { width: 100%; max-width: 100%; min-height: 460px; }
}


.home-career { padding: 220px 0 160px 0; }
.home-career .titleZone { border-bottom: 1px solid var(--dark-beige); padding: 0 50px 60px 50px; }
.home-career .titleZone h2 { max-width: 620px; }
.home-career .rightContent { display: flex; align-items: flex-end; gap: 100px; justify-content: flex-end; margin-top: -160px; }
.home-career .rightContent img { border-radius: 8px; }
.home-career .textZone { max-width: 380px; display: flex; gap: 30px; flex-direction: column; }
.home-career a.btn:before { background: var(--white); }

.ctaBlock { padding-top: 0; padding-bottom: 50px; }
.ctaBlock .contentBlock { min-height: 720px; background: var(--dark-beige); border-radius: 8px; display: flex; align-items: center; justify-content: flex-end; flex-direction: column; gap: 80px; padding-bottom: 180px; background-image: url("../img/home-cta-bg.jpg"); position: relative; overflow: hidden; z-index: 5; }
.ctaBlock a .contentBlock:after { content: ''; background: var(--main); height: 100%; width: 100%; position: absolute; top: 0; left: 0; opacity: 0; z-index: -1; transition: .2s ease-in-out; }
.ctaBlock a:hover .contentBlock:after { opacity: .4; }
.ctaBlock .title { font-size: 80px; color: var(--light); z-index: 10; }
.ctaBlock .btn { width: 80px; height: 80px; }
.ctaBlock a:hover .btn.btnLight {  }
.ctaBlock a:hover .btn:before { width: calc(100% + 2px); }
.ctaBlock a:hover .btn svg { z-index: 9; }
.ctaBlock a .btn svg path { stroke: var(--main); transition: .4s ease-in-out; }
.ctaBlock a:hover .btn svg path { stroke: var(--light); }
.ctaBlock .marquee { --gap: 1rem; position: relative; display: flex; overflow: hidden; user-select: none; gap: var(--gap); }
.ctaBlock .marquee__content { flex-shrink: 0; display: flex; justify-content: space-around; gap: var(--gap); min-width: 100%; }
@keyframes scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(calc(-100% - var(--gap)));
  }
}
.marquee__content { animation: scroll 20s linear infinite; }
.ctaBlock a:hover .marquee__content { animation-play-state: paused; }
.marquee--pos-absolute .marquee__content:last-child { position: absolute; top: 0; left: 0; }
.marquee--pos-absolute .marquee__content:last-child { animation-name: scroll-abs; }
@keyframes scroll-abs {
  from {
    transform: translateX(calc(100% + var(--gap)));
  }
  to {
    transform: translateX(0);
  }
}
.marquee__content > * { flex: 0 0 auto; margin: 2px; padding: 1rem 2rem; border-radius: 0.25rem; text-align: center; }

@media (max-width: 1600px) {
  .home-s1 { padding: 180px 0 160px 0; }
  .home-career .rightContent { gap: 50px; }
  .home-career .rightContent img { max-width: 25%; }
  .home-career .textZone { width: 330px; }
}
@media (max-width: 1500px) {
  .home-s1:before { top: 350px; }
  .home-s1 .rightContent { margin-top: 320px; }
  .home-career .rightContent { margin-top: -130px; }
  
  .home-career .titleZone { padding: 0 50px 80px 50px; }
}
@media (max-width: 1400px) {
  .home-career .titleZone { padding: 0 50px 30px 50px; }
  .home-career .rightContent { margin-top: -40px; }
  .home-industries .list { gap: 24px; }
  .home-industries .list .item a .text span { font-size: 18px; }
}
@media (max-width: 1200px) {
  .home-s1 { padding: 140px 0 160px 0; }
  .home-s1 h2 { font-size: clamp(40px, 6vw, 100px); width: 80%; }
  .home-industries h2 { text-align: center; margin: 0 auto 60px auto; }
  .home-industries .list { display: grid; grid-template-columns: repeat(2, 1fr); justify-content: center; width: fit-content; margin: auto; gap: 60px 24px; }
  .home-industries .list .item a .text span { font-size: 20px; }
  .home-career .titleZone { padding: 0 50px 20px 50px; }
  .home-career .rightContent { justify-content: flex-start; margin-top: 30px; align-items: center; gap: 80px; }
  .home-career .rightContent img { max-width: 40%; }
  .home-career .textZone { max-width: 420px; width: 100%; }
  .home-reals h2 { max-width: 400px; }
  .home-reals .arrows .swiper-button-prev, 
  .home-reals .arrows .swiper-button-next { width: 62px; height: 62px; }
  .home-reals .arrows .swiper-button-prev svg, 
  .home-reals .arrows .swiper-button-next svg { width: 20px; }
  .ctaBlock .title { font-size: 68px; }
}
@media (max-width: 991px) {
  .home-s1:before { top: 270px; } 
  .ctaBlock .contentBlock { min-height: 600px; padding-bottom: 140px; }
  .ctaBlock .title { font-size: 56px; }
  .ctaBlock .btn { height: 70px; width: 70px; }
}
@media (max-width: 900px) {
    .home-career .rightContent { gap: 50px; }
    .home-s1 .rightContent .content p { font-size: 22px; }
    .home-s1 .rightContent .content .avs { margin-top: 50px; }
    .home-s1 .rightContent .content .avs .item { font-size: 24px; }
    .home-s1 .rightContent .content .avs .item img { width: 52px; }
}
@media (max-width: 720px) {
  .home-career .titleZone { border: 0; }
  .home-career .titleZone h2 { text-align: center; max-width: 500px; margin: auto; }
  .home-career .rightContent { flex-direction: column; text-align: center; }
  .home-career .rightContent img { max-width: 55%; }
  .home-career .textZone .btn { margin: auto; }
}
@media (max-width: 660px) {
  .home-s1 .rightContent .content { width: 100%; }
  .home-reals .topContent { flex-direction: column; align-items: flex-start; gap: 30px; }
}
@media (max-width: 620px) {
  .home-career { padding: 120px 10px; }
}
@media (max-width: 520px) {
  .home-s1 .rightContent .content p { font-size: 20px;  }
  .home-industries .list { display: flex; flex-wrap: wrap; }
  .home-industries .list .item { width: 100%; max-width: 360px; }
  .ctaBlock .contentBlock { gap: 40px; min-height: 440px; padding-bottom: 112px; }
  .ctaBlock .marquee { --gap: 20px; }
  .ctaBlock .title { font-size: 38px; padding: 1rem 1rem; }
  .ctaBlock .btn { height: 64px; width: 64px; }
  .ctaBlock .btn svg { width: 20px; }

}
@media (max-width: 480px) {
  .home-s1:before { top: 340px; } 
}
@media (max-width: 460px) {
  
}
@media (max-width: 420px) {
  .home-s1 .rightContent .content { padding: 0 10px; }
  .home-s1 .rightContent .content .avs .item { padding: 24px 0px; font-size: 22px; }
  .home-s1 .rightContent .content .avs .item img { width: 48px; }
  .clients h2, 
  .home-industries h2,
  .home-reals .topContent { padding: 0 10px; }
}





body.industries .main-header .menu { background: var(--white); }
body.industries .main-header .menu .langBtn a { background: var(--light); }
body.industries .main-header .logo svg path,
body.industries #mobile-menu .top-bar .logo svg path { fill: var(--main); }
body.industries #mobile-menu .top-bar #mobile-btn { background: var(--white); }
.pagetitle .title { font-size: 100px; }
.pagetitle-lgImg { padding: 360px 0 0 0; }
.pagetitle-lgImg .title { margin-bottom: 60px; } 
.pagetitle-lgImg .lgImg { width: 100%; aspect-ratio: 1820 / 720; background-size: cover; background-position: center; background-repeat: no-repeat; border-radius: 8px; }

.industries .industries-s1 { padding-top: 120px; }
.industries .industries-s1.border-bottom { border-bottom: 1px solid var(--dark-beige); padding-bottom: 120px; }
.industries .industries-s1 h1 { font-size: 60px; max-width: 1140px; margin-bottom: 70px; }
.industries .industries-s1 .imgText { display: flex; align-items: center; gap: 120px; }
.industries .industries-s1 img { max-width: 660px; width: 35%; }
.industries .industries-s1 p { max-width: 860px; width: 65%; }
.industries .industries-s1 .avsZone { margin-top: 40px; display: flex; justify-content: space-between; align-items: center; gap: 80px; }
.industries .industries-s1 .avsZone .avsList { display: flex; flex-wrap: wrap; gap: 0 80px; max-width: 1080px; width: 65%; position: relative; }
.industries .industries-s1 .avsZone .avsList:before { content: ''; height: 100%; width: 1px; background: var(--dark-beige); position: absolute; top: 0; left: 50%; transform: translateX(-50%);}
.industries .industries-s1 .avsZone .avsList .item { width: calc(50% - 40px); padding: 20px 0px 40px 0; border-top: 1px solid var(--dark-beige); }
.industries .industries-s1 .avsZone .avsList .item:nth-child(3),
.industries .industries-s1 .avsZone .avsList .item:nth-child(4) { border-bottom: 1px solid var(--dark-beige); }
.industries .industries-s1 .avsZone .avsList .item .num { font-size: 16px; margin-bottom: 100px; font-weight: 500; }
.industries .industries-s1 .avsZone .avsList .item .text { width: 100%; }
.industries .industries-s1 .avsZone .avsList .item h2 { font-size: 30px; margin-bottom: 24px; }
.industries .industries-s1 .avsZone .avsList .item p { width: 100%; }
.industries .industries-s1 .avsZone .img { max-width: 460px; min-height: 780px; height: 100%; width: 460px; border-radius: 8px; background-position: center center; background-size: cover;  }

.industries .industries-s2 { background: var(--main); padding: 50px 0; margin: 0; }
.industries .industries-s2 .block { display: flex; align-items: center; justify-content: space-between; }
.industries .industries-s2 .block:nth-child(2) .img { order: 2; margin-top: 50px; }
.industries .industries-s2 .block .img { height: 900px; width: 50%; max-width: 900px; border-radius: 8px; }
.industries .industries-s2 .block .text { width: 50%; display: flex; align-items: center; justify-content: center; }
.industries .industries-s2 .block .text .content { color: var(--light); max-width: 690px; margin: 0 30px 0 80px; text-align: center; display: flex; justify-content: center; align-items: center; flex-wrap: wrap; flex-direction: column; }
.industries .industries-s2 .block:nth-child(2) .text .content { margin: 0 80px 0 30px; }
.industries .industries-s2 .block .text .content .icn { margin-bottom: 80px; }
.industries .industries-s2 .block .text .content h2 { max-width: 560px; margin-bottom: 30px; }

.industries .industries-s3 { margin: 0; border-bottom: 1px solid var(--dark-beige); }
.industries .industries-s3 .content { display: flex; align-items: center; justify-content: space-between; gap: 60px; }
.industries .industries-s3 .content img { width: 55%; max-width: 930px; }
.industries .industries-s3 .content .textBlock { width: 45%; display: flex; justify-content: center; }
.industries .industries-s3 .content .textBlock > div { max-width: 620px; }
.industries .industries-s3 .content .textBlock h2 { margin-bottom: 30px; }

.industries .industries-reals { margin: 0; }
.industries .industries-reals.padding-t120 { padding-top: 120px;  }
.industries .industries-reals h2 { max-width: 820px; margin-bottom: 60px; }
.industries .industries-reals .gallery { display: grid; grid-template-columns: repeat(3, auto); grid-template-rows: repeat(2, auto); gap: 24px 24px; }
.industries .industries-reals .gallery .item { }



@media (max-width: 1400px) {
  .industries .industries-s1 .avsZone { margin-top: 80px; }
  .industries .industries-s1 .avsZone .avsList .item .num { margin-bottom: 50px; }
  .industries .industries-s1 .avsZone .avsList .item h2 { font-size: 24px; margin-bottom: 12px; }
}
@media (max-width: 1200px) {
  .pagetitle .title { font-size: 80px; }
  .pagetitle-lgImg .lgImg { height: 540px; }

  .industries .industries-s1 h1 { font-size: 48px; max-width: 660px; }
  .industries .industries-s1 .imgText { align-items: flex-start; gap: 60px; } 
  .industries .industries-s1 .avsZone .img { width: 320px; min-height: 700px; }
  
  
  .industries .industries-s2 .block .img { height: 700px; }
  
}
@media (max-width: 1120px) {
  .industries .industries-s2 .block .img { width: 40%; } 
  .industries .industries-s2 .block .text { width: 60%; }
  .industries .industries-reals .gallery { grid-template-columns: repeat(2, auto); grid-template-rows: repeat(3, auto); }
}
@media (max-width: 1020px) {
  .industries .industries-s1 .avsZone { display: block; }
  .industries .industries-s1 .avsZone .avsList { width: 100%; margin-bottom: 60px; }
  .industries .industries-s1 .avsZone .img { width: 100%; max-width: 100%; height: 500px; min-height: auto; }

  .industries .industries-s3 .content { flex-direction: column-reverse; }
  .industries .industries-s3 .content img { width: 100%; }
  .industries .industries-s3 .content .textBlock { width: 100%; }
  .industries .industries-s3 .content .textBlock > div { text-align: center; }
}
@media (max-width: 991px) {
  .pagetitle-lgImg { padding: 220px 0 0 0; }
  .pagetitle-lgImg .title { font-size: 66px; max-width: 85%; margin-bottom: 40px; }


  .industries .industries-s2 .block { flex-direction: column; gap: 60px; }
  .industries .industries-s2 .block:first-child { flex-direction: column-reverse; margin-bottom: 100px; }
  .industries .industries-s2 .block .img { width: 100%; height: 480px; }
  .industries .industries-s2 .block:nth-child(2) .img { margin: 0; }
  .industries .industries-s2 .block .text { width: 100%; }
  .industries .industries-s2 .block .text .content { margin: 0; }
  .industries .industries-s2 .block:nth-child(2) .text .content { margin: 0; }

  .industries .industries-reals .gallery { gap: 10px; }

}
@media (max-width: 860px) {
  .pagetitle-lgImg .lgImg { height: 460px; }

  .industries .industries-s1 h1 { margin-bottom: 40px; }
  .industries .industries-s1 p { width: 100%; max-width: 100%; }
  .industries .industries-s1 img { display: none; }
  
}
@media (max-width: 619px) {
  .pagetitle .title { font-size: 46px; }
  .pagetitle-lgImg { padding: 180px 0 0 0; } 
  .industries .industries-s3 { padding: 100px 0; }
}
@media (max-width: 600px) {
  .industries .industries-s1 .avsZone .avsList { flex-direction: column; }
  .industries .industries-s1 .avsZone .avsList:before { display: none; }
  .industries .industries-s1 .avsZone .avsList .item { width: 100%; }
  .industries .industries-s1 .avsZone .avsList .item:nth-child(4) { border-top: 0; }
  
}

@media (max-width: 560px) {
  .industries .industries-s1 h1 { font-size: 38px; }
}
@media (max-width: 500px) {
    .industries .industries-reals .gallery { grid-template-columns: repeat(1, auto); grid-template-rows: repeat(auto, auto); }
}
@media (max-width: 420px) {
  .pagetitle-lgImg { padding: 160px 0 0 0; }
  .pagetitle-lgImg .title { padding: 0 10px; }
  .industries .industries-s1 .topContent { padding-left: 10px; padding-right: 10px; }
  .industries .industries-s1 .avsZone .avsList .item { padding: 20px 10px 40px 10px; }

  .industries .industries-s2 .block .text .content { padding: 0 10px; }

  .industries .industries-s3 .content .textBlock { padding: 0 10px; }

  .industries .industries-reals h2 { padding: 0 10px; }
}


body.approche #mobile-menu { background: var(--main); }
body.approche .pagetitle-lgImg { background: var(--main); } 
body.approche .pagetitle-lgImg .title { color: var(--light); }

.approche-s1 { padding: 120px 0; background: var(--main); }
.approche-s1 .content { display: flex; align-items: center; gap: 160px; }
.approche-s1 .content .text { max-width: 540px; color: var(--light); }
.approche-s1 .content .text h2 { margin-bottom: 30px; }

.approche-s2 .content { display: flex; justify-content: space-between; gap: 120px; }
.approche-s2 .content .text { width: 50%; max-width: 700px; }
.approche-s2 .content .text h2 { margin-bottom: 30px; }
.approche-s2 .content .text p { max-width: 420px; }
.approche-s2 .content .avs { width: 50%; max-width: 870px; }
.approche-s2 .content .avs .item { border-top: 1px solid var(--dark-beige); border-bottom: 1px solid var(--dark-beige); padding: 80px 0; }
.approche-s2 .content .avs .item .title { display: flex; align-items: center; gap: 20px; margin-bottom: 24px; }
.approche-s2 .content .avs .item .title h3 { margin-top: 4px; font-size: 30px; }

.approche-s3 { padding-top: 40px; }
.approche-s3 .content { display: flex; align-items: center; gap: 120px; padding-right: 70px; }
.approche-s3 .content .video { width: 50%; max-width: 950px; height: 620px; border-radius: 8px; background: var(--white); overflow: hidden; display: flex; }
.approche-s3 .content .video video { max-height: 100%; }
.approche-s3 .content .text { max-width: 640px; width: 40%; }
.approche-s3 .content .text h2 { margin-bottom: 30px; max-width: 470px; }
.approche-s3 .content .text p:first-of-type { margin-bottom: 16px; }


@media (max-width: 1500px) {
  .approche-s3 .content { gap: 80px; padding-right: 30px; }
}
@media (max-width: 1400px) {
  .approche-s1 .content { gap: 120px; }
  .approche-s1 .content img { max-width: 32%; }
}
@media (max-width: 1200px) {
  .approche-s1 .content { gap: 80px; padding-right: 30px; }
  .approche-s2 .content .avs .item { padding: 50px 0; }
  .approche-s3 .content .text h2 { max-width: 360px; }
}
@media (max-width: 1100px) {
  .approche-s3 .content .video { width: 40%; }
  .approche-s3 .content .text { width: 60%; }
}
@media (max-width: 960px) {
  .approche-s2 .content { flex-direction: column; gap: 60px; }
  .approche-s2 .content .text { width: 100%; max-width: 540px; }
  .approche-s2 .content .avs { width: 100%; }
  .approche-s2 .content .avs .item { padding: 60px 0; }
  
  .approche-s3 { padding-top: 0px; }
  .approche-s3 .content { flex-direction: column; padding-right: 0; align-items: flex-start; }
  .approche-s3 .content .video { width: 100%; height: auto; }
  .approche-s3 .content .video video { max-height: unset; max-width: 100%; }
  .approche-s3 .content .text { width: 100%; max-width: 600px; }
}
@media (max-width: 800px) {
  .approche-s1 .content { text-align: center; flex-direction: column-reverse; gap: 60px; padding: 0; }
  .approche-s1 .content img { max-width: 45%; } 
}
@media (max-width: 620px) {
  .approche-s1 .content .text { padding: 0 10px; }
  .approche-s2 .content .text { padding: 0 10px; }
  .approche-s2 .content .avs .item { padding-left: 10px; padding-right: 10px; }
}
@media (max-width: 560px) {
  .approche-s3 .content .text h2 { max-width: 280px; }
}
@media (max-width: 500px) {
  .approche-s1 .content img { max-width: 75%; } 
}

.apropos-intro { position: relative; background: var(--main); padding: 360px 0 0 0; }
.apropos-intro:before {  content:''; background-image: url("../img/home-wave-bg-light.svg"); width: 100%; height: 1180px; position: absolute; top: 580px; left: 0; background-size: contain; background-repeat: no-repeat; }
.apropos-intro .title { text-align: center; color: var(--light); max-width: 1040px; margin: auto; }
.apropos-intro .rightContent { display: flex; justify-content: flex-end; margin-top: 400px; margin-bottom: 120px; padding-right: 70px; }
.apropos-intro .rightContent .content { width: 620px; max-width: 50%; color: var(--light); }
.apropos-intro .rightContent .content h2 { margin-bottom: 30px; }
.apropos-s1 h2 { width: 100%; max-width: 600px; }
.apropos-s1 .avsZone .avsList { display: flex; flex-wrap: wrap; gap: 0 80px; position: relative; margin-top: 60px; }
.apropos-s1 .avsZone .avsList:after { content: ''; height: 100%; width: 1px; background: var(--dark-beige); position: absolute; top: 0; left: 50%; }
.apropos-s1 .avsZone .avsList .item { border-top: 1px solid var(--dark-beige); border-bottom: 1px solid var(--dark-beige); width: calc(50% - 40px); padding: 80px 0; }
.apropos-s1 .avsZone .avsList .item:nth-child(3),
.apropos-s1 .avsZone .avsList .item:nth-child(4) { border-top: 0; }
.apropos-s1 .avsZone .avsList .item .title { display: flex; align-items: center; gap: 20px; margin-bottom: 24px; }
.apropos-s1 .avsZone .avsList .item .title h3 { margin-top: 4px; font-size: 30px; }

.apropos-carriere .content { display: flex; align-items: center; gap: 120px; }
.apropos-carriere .content .img { background-image: url(../img/apropos-carriere.jpg); background-size: cover; background-position: center center; height: 100%; min-height: 900px; width: 50%; max-width: 900px; border-radius: 8px; }
.apropos-carriere .content .text { max-width: 690px; text-align: center; }
.apropos-carriere .content .text h2 { margin-bottom: 30px; }
.apropos-carriere .content .text .btnAnchor { display: inline-flex; align-items: center; gap: 16px; margin: 30px auto 0 auto; }
.apropos-carriere .content .text .btnAnchor .icn { width: 38px; height: 38px; background: var(--white); border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; position: relative; overflow: hidden; }
.apropos-carriere .content .text .btnAnchor .icn:before { content: ''; background: var(--main); width: 0; height: calc(100% + 2px); position: absolute; top: -1px; left: -1px; z-index: 2; transition: .4s ease-in-out; }
.apropos-carriere .content .text .btnAnchor .icn svg { z-index: 3; }
.apropos-carriere .content .text .btnAnchor .icn svg path { transition: .4s ease-in-out; }
.apropos-carriere .content .text .btnAnchor:hover .icn:before { width: calc(100% + 2px); }
.apropos-carriere .content .text .btnAnchor:hover .icn svg path { stroke: var(--light); }
.apropos-carriere .content .text .btnAnchor span { font-size: 18px; }

.apropos-offresemploi { padding-top: 0; }
.apropos-offresemploi .title { font-size: 22px; margin-bottom: 20px; }
.apropos-offresemploi .list .jobItem a .jobContent { border-top: 2px solid var(--main); padding: 32px 20px; display: flex; align-items: center; justify-content: space-between; }
.apropos-offresemploi .list .jobItem:last-child a .jobContent { border-bottom: 2px solid var(--main); }
.apropos-offresemploi .list .jobItem a .jobContent .text { font-size: 28px; opacity: 1; transition: .4s ease-in-out;  }
.apropos-offresemploi .list .jobItem a .jobContent .icn { background: var(--main); height: 56px; width: 56px; display: flex; align-items: center; justify-content: center; border-radius: 8px; opacity: 1; transition: .4s ease-in-out; }
.apropos-offresemploi .list .jobItem a .jobContent .icn svg { width: 30px; height: 30px; }
.apropos-offresemploi .list .jobItem a:hover .jobContent .text,
.apropos-offresemploi .list .jobItem a:hover .jobContent .icn { opacity: .6; } 

@media (max-width: 1440px) {
  .apropos-carriere .content { gap: 60px; }
  .apropos-carriere .content .img { min-height: 740px; }
  .apropos-carriere .content .text { width: 50%; }
}
@media (max-width: 1200px) {
  .apropos-intro .title { max-width: 760px; }
  .apropos-intro .rightContent { margin-bottom: 80px; padding-right: 30px; }
}
@media (max-width: 1020px) {
  .apropos-intro .rightContent { padding-right: 0; justify-content: center; }
  .apropos-intro .rightContent .content { width: 100%; max-width: 700px; text-align: center; }
  .apropos-carriere { padding-bottom: 100px; }
  .apropos-carriere .content {flex-direction: column-reverse; }
  .apropos-carriere .content .img { width: 100%; min-height: 480px; }
  .apropos-carriere .content .text { width: 100%; max-width: 560px; }
  .apropos-offresemploi .title { font-size: 18px; }
  .apropos-offresemploi .list .jobItem a .jobContent { padding: 24px 12px; gap: 30px; }
  .apropos-offresemploi .list .jobItem a .jobContent .text { font-size: 24px; width: calc(100% - 70px); }
  .apropos-offresemploi .list .jobItem a .jobContent .icn { height: 40px; width: 40px; }
  .apropos-offresemploi .list .jobItem a .jobContent .icn svg { width: 24px; height: 24px; }
}
@media (max-width: 760px) {
  .apropos-s1 .avsZone .avsList .item { padding: 60px 0; }
  .apropos-s1 .avsZone .avsList .item .title img { width: 36px; }
  .apropos-s1 .avsZone .avsList .item .title h3 { font-size: 26px; }
}
@media (max-width: 619px) {
  .apropos-intro { padding: 180px 0 0 0; }
  .apropos-intro:before { top: 290px; }
  .apropos-intro .title { text-align: left; max-width: 400px; margin: 0; }
  .apropos-intro .rightContent .content { text-align: left; }
  .apropos-s1 .topContent { padding: 0 10px; }
  .apropos-s1 .avsZone .avsList .item { width: 100%; padding: 50px 10px; }
  .apropos-s1 .avsZone .avsList:after { display: none; }
  .apropos-carriere .content { padding: 0 10px; }
}
@media (max-width: 420px) {
  .apropos-intro:before { top: 310px; } 
  .apropos-intro .title { padding: 0 10px; }
  .apropos-intro .rightContent { padding: 0 10px; }
  .apropos-offresemploi .list .jobItem a .jobContent .icn { height: 30px; width: 30px; }
  .apropos-offresemploi .list .jobItem a .jobContent .icn svg { width: 20px; height: 20px; }
}

.contact-intro { padding: 260px 0 60px 0; border-bottom: 1px solid var(--dark-beige); }
.contact-intro .content { display: flex; align-items: flex-end; justify-content: space-between; gap: 80px; }
.contact-intro .content .left p { max-width: 560px; margin-top: 80px;  }
.contact-intro .content .right .contacts { display: flex; gap: 14px; flex-direction: column; }
.contact-intro .content .right .contacts .item a { font-size: 20px; font-weight: 400; line-height: 1.2; opacity: 1; transition: .4s ease-in-out; }
.contact-intro .content .right .contacts a:hover { opacity: .5; }
.contact-intro .content .right .socials { margin-top: 30px; }
.contact-intro .content .right .socials .link { display: flex; opacity: 1 !important; }
.contact-intro .content .right .socials .link .outer {  overflow: hidden; border-radius: 10px; }
.contact-intro .content .right .socials .link .inner { background: var(--white); display: flex; align-items: center; gap: 16px;  position: relative; padding: 8px 20px; margin: -1px; }
.contact-intro .content .right .socials .link.fb .icn { margin-top: 3px; z-index: 5; }
.contact-intro .content .right .socials .link span { font-size: 16px; color: var(--main); z-index: 5; }
.contact-intro .content .right .socials .link .icn svg { width: 10px; }
.contact-intro .content .right .socials .link .inner:before { content: ''; background: var(--main); width: 0; height: calc(100% + 2px); position: absolute; top: -1px; left: -1px; z-index: 2; transition: .4s ease-in-out; }
.contact-intro .content .right .socials .link:hover .inner:before { width: calc(100% + 2px ); }
.contact-intro .content .right .socials .link .icn svg path { fill: var(--main); transition: .4s ease-in-out; }
.contact-intro .content .right .socials .link:hover .icn svg path { fill: var(--light); }
.contact-intro .content .right .socials .link:hover span { color: var(--light); }
.contact-form h2 { margin-bottom: 40px; text-align: center; }



/*FORM*/
.outer-form input.input,
.outer-form textarea.input,
.outer-form select.input{ font-size:18px; padding:22px 30px; border-radius:12px; font-family: "Epilogue", sans-serif; font-weight:500; width:100%; border: none; background:#fff; color:var(--dark); letter-spacing: -0.04em; }
.outer-form input.input::placeholder,
.outer-form textarea.input::placeholder{ color:var(--grey); }
.outer-form .label{ font-size:18px; font-weight:600; margin:0 0 15px; display:block; }
.form-row .input:focus{ border:2px solid var(--light2); }
.form-row .input.in-error{ color:#dd0000; background-color:#f8d7da; border-color:#dd0000; }
.form-row textarea.input{ height:200px; resize:none; }
.form-row select.input{ -moz-appearance:none; -webkit-appearance:none; background:url("../img/icn/caret-down.svg") right 20px center no-repeat #fff; background-size:18px auto; padding-right:50px; }
.form-row  select.input::-ms-expand{ display:none; }
.form-row{ margin:0 0 0 -20px; }
.form-row .lg{ display:flex; flex-direction:column; width:100%; padding:30px 0 0 20px; }
.form-row .md{ display:flex; flex-direction:column; width:50%; padding:30px 0 0 20px; position:relative; }
.outer-form .text-danger{ margin:8px 0 0; font-size:15px; font-weight:700; color:#dd0000; }
.outer-form .form-bottom{ text-align:center; }
.outer-form .alert{ margin:30px auto 0 auto; padding:30px 4vw; font-size:15px; line-height:1.3; border:1px solid var(--dark); border-radius:6px; width: fit-content; }
.outer-form .alert-success{ color:#155724; background-color:#d4edda; border-color:#c3e6cb; }
.outer-form .alert-failed{ color:#dd0000; background-color:#f8d7da; border-color:#f5c6cb; }
.outer-form .btn { margin:30px auto 0; min-width:200px; font-family: "Epilogue", sans-serif; border:none;  }
.outer-form .btn:hover { color: var(--main); }
.outer-form .btn:before { background: var(--white); }
.outer-form .note{ font-size:13px; margin-top:20px; }
.form-item{ margin:30px 0 0; }
.label-file input[type="file"]{position:absolute; left:-9999em; }
.label-file{cursor:pointer;	background:var(--light3); border-radius:12px; padding:40px; margin:0; display:block;}
.label-file:hover{background:var(--light2);}
.label-file .wrap{ align-items:center; justify-content:center; }
.label-file .icn{ width:40px; }
.label-file .desc{ padding:0 0 0 20px; }
.label-file .desc .lg{ font-size:18px; font-weight:600; margin:0 0 5px;  }
.label-file .desc .sm{ font-size:14px; }
.dark .outer-form input.input,
.dark .outer-form textarea.input,
.dark .outer-form select.input{   }
.dark .form-row select.input{  }
.dark .form-row .input.in-error{ color:#dd0000; background-color:#dd000022; border-color:#dd0000; }
.dark .form-row .input:focus{ border-color:var(--dark4); }
.dark .outer-form .alert-success{ color:#2f8342; background-color:#15572422; border-color:#15572444; }
.dark .outer-form .alert-failed{ color:#d72626; background-color:#dd000022; border-color:#dd000044; }
.dark .label-file{background:var(--dark4);}
.dark .label-file:hover{background:var(--dark2);}

@media (max-width: 1100px) {
  .contact-intro .content { flex-direction: column; justify-content: flex-start; align-items: flex-start; gap: 60px; }
  .contact-intro .content .left p { margin-top: 40px; }
}
@media (max-width: 1019px) {
	.form-row .md{ width:100%; }
	/*.file-choice .desc{ padding:0; }
	.file-choice .line{ margin:30px 0; width:100%; }
	.file-choice .options{ padding:0; }*/
}
@media (max-width: 620px) {
  .contact-intro { padding: 160px 0 60px 0; }
  .contact-intro .content { padding: 0 10px; }
	.outer-form input.input,
	.outer-form textarea.input,
	.outer-form select.input{ font-size:15px; padding:18px 20px; border-width:2px; border-radius:8px; }
	.outer-form select.input{ background-position:right 15px center; background-size:12px auto; }
  .outer-form .label{ font-size:15px; margin:0 0 8px; }
	.form-row .lg{ padding:24px 0 0 20px; }
	.form-row .md{ width:100%; padding:24px 0 0 20px; }
	.outer-form .btn svg{ width:10px; margin:0 0 0 10px; }
	.outer-form .text-danger{ font-size:13px; }
	.outer-form .alert{ font-size:13px; border-radius:12px; }
	.outer-form .note{ font-size:12px; }
  .form-item{ margin:24px 0 0; }
	.label-file .desc{ padding:20px 0 0; width:100%; text-align:center; }
	.label-file .desc .f-title .lg{ font-size:14px; }
	.label-file .desc .f-title .sm{ font-size:12px; }
  .contact-form .content { padding: 0 10px; }
}

.cs-error { background: var(--dark-main); }
.cs-error .content { text-align: center; display: flex; flex-direction: column; align-items: center; gap: 30px; color: var(--light); margin-top: 100px; }

.cs-privacy .update { margin-bottom: 24px; font-size: 16px; background: var(--white); display: inline-flex; background: var(--white); padding: 13px 16px 10px 16px; border-radius: 8px; }
.cs-privacy h2 { font-size: 38px; margin-top: 40px; margin-bottom: 12px; }
.cs-privacy h3 { margin-bottom: 12px; margin-top: 24px; }
.cs-privacy p { margin-bottom: 10px; }
.cs-privacy ul { list-style: disc; padding-left: 18px; }
.cs-privacy li { margin-bottom: 12px; font-family: "Epilogue", sans-serif; font-weight: 400; line-height: 1.46; font-size: 18px; list-style: disc; }

@media (max-width: 619px) {
  .cs-error .content { margin-top: 80px; }
}