main section.section__header{
    margin: -50px auto 20px;
}

main section.accueil{
    margin-bottom: -80px;
}

.accueil__header{
    max-width: 1000px;
}

.accueil__header,
.audit__content,
.wp__inner,
.wp__img img,
.responsive__img img,
.accessibility__img img,
.ux-foundations__wrapper,
.responsive__content{
    margin: 0 auto;
}

.section__header h1{
    width: 98%;
}

.accueil__header-content{
    width: 90%;
    max-width: 577px;
}

.custom-main,
.solutions__conception,
.solutions__links,
.audit__content,
.audit__card-wrapper,
.wp .container,
.wp__inner,
.ux-foundations__wrapper,
.responsive .container{
    display: flex;
    flex-direction: column;
}

.custom-main{
    align-items: center;
    text-align: center;
    width: 90%;
    margin: 0 auto;
}

.accueil__logo{
    display: none;
}

.custom-section h2{
    width: 340px;
    text-align: center;
}

.custom-content{
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    align-content: center;
    justify-content: center;
}

.custom-content img{
    display: block;
    width: 320px;
}

.solutions__wrapper{
    padding: 70px 0;
    background-color: var(--cloud-gray, #F5F5F7);
}

.solutions img{
    aspect-ratio: 1200/963;
}

.solutions__conception{
    justify-content: space-around;
    align-items: flex-start;
    margin: 50px auto;
}

.solutions__content,
.solutions__links{
    width: 90%;
    max-width: 460px;
    margin: 50px auto 0 auto;
}

.solutions__description{
    max-width: 90%;
}

.link-title{
    display: block;
}

.solutions__link a{
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 85px;
    border-bottom: 0.5px solid var(--ash-gray,#F7F7F7 );
    border-radius: 0;
    padding: 0;
}

.btn span.link-title{
    padding: 0;
}

.audit .container{
    width: 100%;
    max-width: 900px;
    margin: 50px auto;
}

.audit__card-link::before {
    content: "";
    position: absolute;
    top:-2px;           
    left: 0;
    width: 100%;
    height: 0;
    border-top: 3px solid var(--amber-orange); 
    opacity: 0;
    transition: opacity 0.3s ease, top 0.3s ease;
}

.audit__card-link:hover::before {   
    opacity: 1;     
}

.audit__title,
.audit__description{
    width: 100%;
    max-width: 860px;
    text-align: center;
    padding: 0 10px;
}

.audit__title,
.audit__description,
.integration__description,
.wp__inner h2,
.ux-foundations .intro{
    margin-left: auto;
    margin-right: auto;
}

.audit__content,
.audit__card-wrapper{
    align-items: center;
}

.audit__content{
    width: 100%;
}

.audit__card-wrapper{
    justify-content: center;
    margin-top: 70px;
}

.audit__card-link{
    position: relative;
    display: block;
    width: 260px;
    height: 300px;
    padding: 30px;
    border: var(--border);
}

.audit__card-title{
    font-size: 1.625rem;
}

.audit__card-btn{
    margin-top: 0;
}

.approach__wrapper img{
    aspect-ratio: 1200/786;
}

.integration__img{
    display: flex;
    justify-content: center;
    gap: 35px;
    margin: 50px auto 100px auto
}

.integration__img img{
    background: transparent
}

.integration__description{
    width: 96%;
    max-width: 670px;
    text-align: center;
}

.wp .container{
    align-content: center;
    margin-top: 40px;
}

.wp .container,
.ux-foundations .container,
.responsive .container{
    width: 90%;
}

.wp__inner{
    align-items: center;
    width: 100%;
}

.wp__inner h2{
    width: 90%;
    text-align: center;
    padding-left: 0;
    font-weight: 600;
}

.wp__inner h2 .txt-bold{
    font-weight: 600;
}

.wp__inner p{
    max-width: 520px;
    text-align: center;
}

.wp__inner a{
    max-width: 320px;
    margin: 35px 0;
}

.wp .container .p-subtitle{
    margin-bottom: 30px;
    font-size: clamp(1rem, 3vw, 1.375rem);
    line-height: clamp(1.5rem, 3.6vw, 1.7rem);
}

.wp__img img{
    display: block;
    width: 100%;
    max-width: 340px;
    margin-top: 50px;
    aspect-ratio: 917/695;
}

.ux-foundations, .ux-foundations *{
    background-color: var(--cloud-gray, #F7F7F7);
}

.ux-foundations .intro{
    display: block;
    width: 158px;
}

.ux-foundations h2{
    max-width: 960px;
    margin: 0 auto 100px auto;
    text-align: center;
}

.ux-foundations__wrapper{
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 35px;
    max-width: 850px;
}

.ux-foundations__card{
    position: relative;
    width: 275px;
    height: 300px;
    background: var(--pure-white, #FFF);
    border-radius: 10px;
    box-shadow: rgba(149, 157, 165, 0.3) 0px 8px 24px;
}

.ux-foundations__card-number{
    color: var(--obsidian, #1A1A1A)
}

.ux-foundations__wrapper .card-txt{
    padding: 20px;
}

.ux-foundations__card *,
section.ux-foundations .btn:hover{
    background-color: var(--pure-white, #FFF);
    filter: none;
}

section.ux-foundations .ux-foundations__card h3{
    font-size: 1.5rem;
    line-height: 1.5rem;
    font-weight: 500;
    margin: 40px 0 20px 0;
}

section.ux-foundations .ux-foundations__card p{
    width: 250px;
}

section.ux-foundations .btn{
    position: absolute;
    bottom: 7px;
}

section.ux-foundations .btn svg{
    margin-left: 0;
}

.ux-foundations__wrapper .card-img{
    background: url('../../img/front-page/responsive-foundations.jpg') center / cover no-repeat;
}

.responsive .container{
    justify-content: center;
}

.responsive__title,
.responsive__p,
.responsive__subtitle,
.responsive__content-p {
  text-align: center;
}

.responsive__p{
    width: 100%;
    max-width: 680px;
    margin: 0 auto 50px auto;
}

.responsive__wrapper{
    display: flex;
    flex-direction: column-reverse;
}

.responsive__content{
    width: 100%;
    max-width: 690px;
}

.responsive__subtitle{
    font-weight: 500;
}

.responsive__content-p{
    margin-top: 70px;
}

.responsive__img img,
.accessibility__img img{
    display: block;
    margin: 10px auto 50px auto;
    width: 70%;
    min-width: 345px;
    max-width: 575px;
}

.responsive__img img{
    aspect-ratio: 900/833;
}

.responsive__item{
    display: flex;
    align-items: center;
    margin: 40px 0;
}

.responsive__item .responsive__description{
  margin-bottom: 0;
  margin-left: 30px;
  text-align: left;
}

.responsive a{
    display: flex;
    max-width: 252px;
    margin: 0 auto;
}

.seo .container,
.accessibility .container{
    width: 90%;
}

section.seo .intro-left,
.seo__content p:nth-child(1){
    color: var(--ash-gray, #B7B7B7 );
}

.seo__title{
    text-transform: uppercase;
}

.seo__p{
    max-width: 850px;
}

.seo__content a{
    margin-top: 0;
    padding: 12px 15px 35px 0px;
    max-width: 230px;
}

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

.seo__item{
    display: flex;
    justify-content: flex-start;
    gap: 20px;
    max-width: 650px;
    margin-top: 30px;
    border-bottom: 1px solid var(--ash-gray-light, #B7B7B7);
}

.seo__item-title{
    margin-bottom: 35px;
    font-size: clamp(1.25rem, 3vw, 1.75rem);
}

.seo__item-p{
    margin-bottom: 30px;
}

.seo__item-p,
.accessibility__p{
    max-width: 700px;
}

.seo__img {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    min-width: 48px;
    height: 48px;
    min-height: 48px;
    margin-top: -6px;
    border-radius: 50%;
    background-color: #282828;
}

.seo__img img {
    width: 24px;
    height: 24px;
    padding: 0;
    background-color: #282828;
}

.accessibility__title,
.accessibility__item p{
    max-width: 550px;
}

.accessibility__p{
    max-width: 750px;
}

.accessibility__wrapper{
    display: flex;
    flex-direction: column-reverse;
    justify-content: space-between;
    align-content: center;
}

.accessibility__item h3{
    margin-bottom: 15px;
    font-size: 1.375rem;
    text-transform: capitalize;
}

.accessibility__item p{
    margin-bottom: 30px;
}

.accessibility a{
    margin-top: 35px;
}

.accessibility__img img{
    aspect-ratio: 700/553;
}
/***************************************************/
/*                 Media queries                   */
/***************************************************/

@media screen and (min-width: 480px){

    .accueil__header{
        width: 90%;
    }

    .custom-section h2 {
        width: 430px;
    }
} 

@media screen and (min-width: 664px){

    .custom-section h2 {
        width: 530px;
    }
} 

@media screen and (min-width: 768px){

    .accueil__header{
        margin-left: 60px;
    }

    .custom-main{
        display: block;
        width: 80%;
        margin: 0 auto;
        text-align: inherit;
    }   
    
    .custom-section h2{
        width: 100%;
        text-align: left;
    }

    section.solutions{
        padding: 0;
    }

    .solutions__conception{
        margin: 50px auto 100px;
    }
    .custom-content {
        flex-direction: row;
        justify-content: flex-start;
        gap: 50px;
    } 

    .custom-content img{
        width: 350px;
    }
    
    .front-page-img{
        margin-left: -20px;
    }

    .wp__inner h2{
        width: 100%;
    }

    .responsive__items{
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-content: flex-start;
        justify-content: space-around;
        max-width: 650px;
        margin-left: auto;
        margin-right: auto;
    }

    .responsive__item{
        max-width: 290px;
    }
}

@media screen and (min-width: 800px){

    .audit__card-wrapper{
        flex-direction: row;
    }

    .audit__card-wrapper > .audit__card-link:is(:nth-child(2), :nth-child(3)) {
        border-left: 0;
    }
}

@media screen and (min-width: 1024px){

    main section.section__header{
        display: flex;
        flex-direction: row;
        width: 94%; 
        align-items: flex-end;
        margin: -70px auto 100px auto;
    }

    .accueil__header {
        margin-left: 0px;
        max-width: 64%;
    }

    .custom-main{
        width: 85%;
    }

    .accueil__logo{
        display: block;
        width: 300px;
        height: 180px;
        fill: var(--cloud-gray, #F7F7F7);
    }

    .accueil__logo path {
        fill: none; 
        stroke: var(--charcoal, #282828);
        stroke-width: 0.4;
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-dasharray: 1000;
        stroke-dashoffset: 1000;
        animation: drawLogo 3s ease-in-out alternate forwards;
    }

    @keyframes drawLogo {
      to {
        stroke-dashoffset: 0;
      }
    }

    .custom-content img {
        width: 550px;
    }
      
    .solutions__conception{
        flex-direction: row;
        align-items: center;
        margin: 70px auto 100px;
    }

    .solutions__links{
        width: 30%;
        margin-top: 0px;
    }

    .audit__card-link{
        width: 300px;
    }

    .solutions__wrapper {
        padding: 100px 0;
    }

    .approach__wrapper img{
        width: 400px;
    }

    .wp .container{
        display: flex;
        flex-direction: row;
        align-items: flex-end;
        justify-content: center;
        margin: 70px auto; 
    }

    .wp__inner{
        align-items: flex-start;
        max-width: 600px;
        margin: 0;
    }

    .wp__inner p{
        text-align: left;
    }

    .wp__inner h2{
        margin-left: 0;
        text-align: left;
    }

    .wp .container .p-subtitle{
        margin-top: 20px;
        margin-bottom: 0px;
    }

    .wp__img img {
        max-width: 400px;
    }
} 


@media screen and (min-width: 1280px) {

    main section.section__header{
        justify-content: center;
        padding-left: 0px;
    }

    .accueil__header{
        margin: 0;
    }

    .custom-main {
        width: 58%;
        margin: 0 0 auto 100px;
    }

    .custom-content {
        justify-content: flex-start;
    }

    .custom-content img{
        width: 650px;
    }

    .approach__wrapper-main .custom-content img{
        width: 600px;
    }

    .solutions__content{
        margin-left: 100px;
    }

    .solutions__links{
        width: 40%;
        max-width: 40%;
    }

    .responsive__title, 
    .responsive__p{
        text-align: left;
        margin-left: 0;
    }

    .responsive__img img,
    .accessibility__img img{
        width: 100%;
        margin-right: -25px;
        max-width: 600px;
    }

    .responsive__wrapper {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }

    .responsive__content{
        margin:0;
    }

    .responsive__subtitle,
    .responsive__content-p {
        text-align: left;
    }

    .responsive__items{
        margin: 0;
    }

    .responsive__items {
        justify-content: center;
    }

    .responsive__item {
        margin: 0;
        max-width: 320px;
        padding: 20px 17px;
    }

    .responsive__item:not(:nth-child(2)):not(:nth-child(4)) {
        border-right: var(--border);
    }

    .responsive__item:not(:nth-child(3)):not(:nth-child(4)) {
        border-bottom: var(--border);
    }

    .responsive a {
        margin-left: 0;
    }

    .seo .container{
        display: flex;
        justify-content: space-between;
        align-content: flex-start;
    }

    .seo__list{
        flex-direction: column;
        flex-wrap: nowrap;
        margin-top: 0;
    }

    .seo__item{
        max-width: 570px;   
    }

    .seo__item:nth-child(1){
        margin-top: 0;
    }

    .seo__content{
        max-width: 45%;
    }

    .seo__content .intro-left{
        margin-bottom: 120px;
    }

    .accessibility__wrapper{
        flex-direction: row;
        justify-content: space-between;
    }

    .accessibility__img img{
        margin: 0;
    }

    .accessibility a{
        margin-top: 0px;
    }

}

@media screen and (min-width: 1380px){

    .wp .container{
        gap: 120px;
    }
    
    .wp__img img {
        max-width: 550px;
    }

    .ux-foundations__wrapper{
        justify-content: space-between;
        align-content: flex-start;
        max-width: 1380px;
        height: 350px;
        margin: 0;
    }

    .ux-foundations .bottom{
        margin-bottom: -80px;
    }
    
}


@media screen and (min-width: 1475px){

    .accueil__header {
        max-width: 75%;
    }

    .accueil__logo {
        margin-left: -100px;
    }

    .solutions__wrapper {
        padding: 100px 250px;
        margin: 0 -250px;
      }

    .wp__inner{
        max-width: 750px;
    }

}

@media screen and (min-width: 1670px) {
    main section.section__header {
        margin-top: 70px;
    }
}
