/***** banner *****/
.banner 								    { position: relative; margin-bottom: 130px; height: 48.888vw;}
.banner .wrapper 						{ height: 100%; text-align: right; font-size: 0; line-height: 0; display: flex; align-items: center;}
.banner .photos img  				{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; border-radius: 0 0 80px 80px;}
.banner .texte 							{ max-width: 550px; text-align: left; z-index: 10; color: #FFF;}
.banner .texte .titre_main 	{ margin-bottom: 0; font: 400 60px/70px var(--title-font-family); max-width: 8em;}
.banner .texte .chapo    		{ font: 400 30px/50px var(--font-family); margin-bottom: 34px;}
.banner__date               { position: absolute; top: 100%; left: 0; transform: translateY(-50%); background-color: #FFF; font-family: var(--title-font-family); font-size: 15px; line-height: 2; border-radius: 10px; text-align: center;}
.banner__date strong        { color: var(--second-color); font-size: 1em; font-weight: inherit;}

@media (max-width:1400px) {
.banner 								    { margin-bottom: 100px;}
}
@media (max-width:1200px) {
.banner                     { margin-bottom: 80px;}
.banner__date               { padding: 10px 20px;}
.banner__date br            { display: none;}
}
@media (max-width:1000px) {
.banner 								    { margin-bottom: 60px; height: 94vw;}
.banner:before              { display: none;}
.banner .photos img  				{ border-radius: 0 0 60px 60px;}
}
@media (max-width:700px) {
.banner .texte .titre_main  { font-size: 25px; line-height: 30px; max-width: initial;}
.banner .texte .chapo       { font-size: 18px; line-height: 30px; margin-block: 0px 18px;}
}

@media (min-width:1201px) {
.page-pageAccueil                       { padding-top: 0;}
.page-pageAccueil:not(.sticky) .header  { background-color: transparent;}

.banner__date                           { left: inherit; right: 0; background-color: var(--second-color); font-size: 25px; line-height: 1.2; border-radius: 100px; width: 120px; height: 180px; display: flex; align-items: center; justify-content: center;}
.banner__date::before                   { content: ''; background-color: #FFF; position: absolute; top: -5px; left: -5px; z-index: -1; height: 100%; width: 100%; border-radius: 100px;}
}

/***** intro *****/
.intro 										  { display: grid; grid-template-columns: 1fr 1fr; align-items: center;}
.intro .titre_main,
.intro .chapo					      { margin: 0;}

@media (max-width:1200px) {
.intro 										  { grid-template-columns: 1fr; grid-gap: 20px; width: 80%;}
}
@media (max-width:1000px) {
.intro 										  { width: 100%;}
}
@media (max-width:700px) {
.intro 										  { grid-gap: 15px;}
}

@media screen and (min-width: 1201px) {
.intro__left                { padding: 0 30px 0 62px;}
.intro__left:before		      { width: 5px; height: 86%; background: var(--second-color); position: absolute; left: 0; top: 6%; content: "";}
.intro__right               { padding-left: 40px;}
}
@media screen and (min-width: 1401px) {
.intro__left                { padding: 0 40px 0 88px;}
}



/***** Expertise *****/
.expertise                              { margin-bottom: 50px; position: relative; z-index: -1;}
.expertise .services-item               { height: auto;}
.expertise .services-item:first-child   { align-self: flex-end;}
.expertise .services-item:nth-child(2)  { grid-column: 2 / 3; grid-row: 1 / 3; align-self: center;}
.expertise .services-item:last-child    { align-self: flex-start;}
.expertise .services-item .row          { padding: 42px;}
.expertise .services-item__header       { margin-bottom: 26px;}
.expertise .photo                       { --_l-padding: 0px; padding-left: var(--_l-padding); position: relative;}
.expertise_img                          { position: absolute; top: 0; left: var(--_l-padding); width: calc(100% - var(--_l-padding)); height: 100%; object-fit: cover; border-radius: 80px;}

@media (max-width: 700px) {
.expertise                              { margin-inline: -7vw;}
.expertise .item .row                   { border-radius: 0;}
.expertise .item:first-child .row       { border-radius: 40px 40px 0 0;}
.expertise .item:last-child .row        { border-radius: 0 0 40px 40px;}
.expertise .row .sous_titre             { font-size: 18px; line-height: 35px;}
.expertise .services-item .row          { padding: 30px 7vw 0;}
.expertise .services-item:last-of-type .row  { padding: 30px 7vw 30px;}
.expertise .services-item__header       { margin-bottom: 15px;}
}

@media (min-width: 701px) {
.expertise                              { margin-bottom: 80px;}
.expertise_list                         { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 30px;}
}
@media (min-width: 1201px) {
.expertise                              { display: grid; grid-template-columns: 360px 1fr; gap: 60px; margin-bottom: 160px;}
}
@media (min-width: 1401px) {
.expertise                              {grid-template-columns: 420px 1fr; gap: 80px;}
}
@media (min-width: 1601px) {
.expertise .photo                       { --_l-padding: 200px;}
.expertise                              { grid-template-columns: 620px 1fr;}
}

/***** FAQ *****/
.home_faq                               { --_top-offset: 100px; margin-bottom: 60px; align-items: flex-start;}
.home_faq .faq                          { margin-block: 0;}
.home_faq .photo                        { padding-left: 80px; position: relative; z-index: 0;}
.home_faq .photo::before                { content: ''; position: absolute; width: 100vw; height: 100%; left: 45%; top: var(--_top-offset); background-color: var(--second-color); z-index: -1;}
.home_faq .photo img                    { max-width: 100%;}
.home_faq__description                  { margin-block: 20px 30px;}

@media (max-width: 1000px) {
.home_faq                               { margin-bottom: 45px;}
.home_faq .titre_main                   { margin-bottom: 30px;}
}
@media (min-width: 1001px) {
.home_faq                               { display: grid; grid-template-columns: 50% 50%; padding-bottom: var(--_top-offset);}
.home_faq .show_hide_wrapper            { padding-top: 60px;}
}


.home_about                             { display: grid; grid-template-columns: 1fr 320px; gap: 80px; margin-bottom: 100px; align-items: center;}
.home_about p a                         { border-bottom: 1px solid var(--second-color)}
.home_about img                         { max-width: 100%; height: auto; border-radius: 80px;}

@media (min-width: 1201px) {
.home_about p a:hover                   { color: var(--second-color);}
}
@media (max-width: 1000px) {
.home_about                             { grid-template-columns: 1fr 200px; gap: 50px; margin-bottom: 80px;}
.home_about img                         { border-radius: 30px;}
}
@media (max-width: 700px) {
.home_about                             { grid-template-columns: 1fr; gap: 24px; margin-bottom: 50px;}
.home_about .photo                      { order: -1;}
.home_about img                         { width: 200px; display: block;}
}

.bloc_reviews .list a {
    border-bottom: 1px solid var(--second-color);