@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=Poppins:wght@100;200;300;400;600;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@100;200;300;400;500;600;700&display=swap');

/* ############# */
/* global */
/* ############# */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-family: 'Poppins', sans-serif;
    text-decoration: none;
    outline: none;
    border: none;
    scroll-behavior: smooth;
}

:root {
    --orange: #ea6b00;
    --jaune: #ffa938;
    --ligth: #ffffff;
    --foncegris: #6e6e73;
    --gris: #f5f5f7;
    --dark: #1d1d1f;
}

body {
    color: var(--dark);
    background-color: var(--gris);
}

.strong {
    font-size: clamp(1.2rem, 1.3vw, 1.7rem);
    font-weight: 600;
}

.bouton-txt {
    font-size: clamp(1rem, 1.1vw, 1.5rem);
    font-family: 'IBM Plex Sans', sans-serif;
    font-weight: 300;
}

.petit-txt {
    font-size: clamp(1rem, 1.1vw, 1.5rem);
    font-weight: 400;
}

.paragraphe {
    font-size: clamp(1.2rem, 1.3vw, 1.7rem);
    font-weight: 400;
    color: var(--foncegris);
}

.sous-titre {
    font-size: clamp(1.8rem, 2.5vw, 2.5rem);
    font-weight: 300;
}

.titre {
    font-family: 'Poppins', sans-serif;
    font-size: clamp(2.2rem, 5vw, 5rem);
    font-weight: 600;
    /* text-shadow: 0em 0em .2em rgba(0, 0, 0, 0.2); */
    hyphens: auto;
}

.orange {
    color: var(--orange);
}

.jaune {
    color: var(--jaune);
}

.foncegris {
    color: var(--foncegris);
}

.uppercase {
    text-transform: uppercase;
}

.underline {
    text-decoration: underline;
}

.italic {
    font-style: italic;
}

.center {
    text-align: center;
}


.tiret {
    display: flex;
    align-items: start;
}

li .paragraphe {
    display: flex;
    align-items: center;
    gap: .4rem;
}

ul {
    list-style: none;
}
.btn{
    display: flex;
    align-items: center;
    justify-content: center;
}
.btn-c {
    display: inline-block;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    background-color: var(--dark);
    color: var(--gris);
    padding: .75rem 1rem;
    border-radius: clamp(.5rem, .5vw, 1rem);
    border: solid max(.05vw, .05rem) var(--dark);
    font-weight: 400;
    transition: background-color 0.3s ease-in-out, scale 0.4s ease, border-radius 0.2s ease;
    box-shadow: .1em .1em .5em rgba(0, 0, 0, 0.3);
}

.btn-c:hover {
    scale: 0.95;
    border-radius: 10em;
}

.btn-c .btn-content {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 3;
}

.btn-c::before {
    content: '';
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    border-radius: 0 min(10em, 3rem) min(10em, 3rem) 0;
    top: 0%;
    left: 50%;
    width: 0%;
    height: 100%;
    background: linear-gradient(to right,
            /* Direction du dégradé */
            var(--dark) 0%,
            /* Rose commence à 50% */
            var(--dark) 20%,
            /* Rose s'arrête à 75% */
            var(--orange) 35%,
            /* Orange commence à 75% */
            var(--orange) 50%
            /* Orange se termine à 100% */
        );
    transition: width 0.3s ease-in;
    z-index: 1;
}

.btn-c:hover::before,
.btn-c:hover::after {
    width: 100%;
}

.btn-c::after {
    content: '';
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    border-radius: min(10em, 3rem) 0 0 min(10em, 3rem);
    top: 0%;
    right: 50%;
    width: 0%;
    height: 100%;
    background: linear-gradient(to left,
            /* Direction du dégradé */
            var(--dark) 0%,
            /* Rose commence à 50% */
            var(--dark) 10%,
            /* Rose s'arrête à 75% */
            var(--orange) 30%,
            /* Orange commence à 75% */
            var(--orange) 50%
            /* Orange se termine à 100% */
        );
    transition: width 0.3s ease-in;
    z-index: 2;
}

.width {
    max-width: 1900px;
    padding: 5rem min(5vw, 6rem);
    width: 100%;
}

ul li {
    display: flex;
}

nav,
.hero,
.VSL,
.problemes,
#solution,
#processus,
.faq,
footer {
    display: flex;
    justify-content: center;
}

.problemes .width,
#solution .width,
#processus .width,
#processus .box-parent,
.faq .width,
footer .width{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3rem;
}

nav .logo,
#solution .content,
#solution .counter,
#solution .counter .count,
#processus .box,
.liens-footer {
    display: flex;
    align-items: center;
    justify-content: center;
}

.navbar {
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    flex-wrap: wrap;
    gap: 1.5rem;
}

.fade-up{
    animation: fade-up .3s ease 1.2s forwards;
}
@keyframes fade-up {
    from{
        opacity: 0;
        transform: translateY(75%);
    }
    to{
        opacity: 1;
        transform: translateY(0);
    }
}
@media (max-width: 800px) {
    .navbar {
        display: none;
    } 
    .hero h1::before{
        display: none;
    }
    #solution .box-parent{
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 3rem;
    }
    #solution .box-parent-box{
        display: flex !important;
    }
    #solution .counter{
        display: none;
    }
}
@media (max-width: 1200px) {
    #processus .box,
    details{
        padding: 1.5rem !important;
    }
    .VSL .width{
        height: auto;
        padding-top: 0;
        padding-bottom: 0;
    }
    .glow-section{
        height: auto !important;
        display: flex;
        flex-direction: column;
        align-items: center !important;
        justify-content: center !important;
    }
}
@media (min-width: 1201px) {
    .VSL .width{
        height: min(300vh, 2000px);
    }
    .glow-section{
        height: 120vh !important;
        display: flex;
        align-items: start !important;
        justify-content: space-evenly !important;
        flex-wrap: wrap;
    }
    .glow-section__card-parent{
        position: sticky;
        top: 30%;
    }
    .glow-section__card-parent-1 {
        z-index: 1;
        transform: translateX(20%);
        transform-origin: top right;
    }
    .glow-section__card-parent-2 {
        margin-top: 50vh;
        z-index: 2;
    }
    .glow-section__card-parent-3 {
        transform: translateX(-20%);
        z-index: 1;
        transform-origin: top left;
    }
}
/* ############# */
/* nav */
/* ############# */
nav .width {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 2rem;
    padding-bottom: 1rem;
}

.navbar {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}
.navbar a {
    position: relative;
}

.navbar a::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    height: 2px;
    width: 0;
    background-color: var(--jaune);
    transition: width .2s ease;
}

.navbar a:hover::before{
    width: 100%;
}

/* ############# */
/* hero */
/* ############# */

.hero .width{
    display: flex;
    flex-direction: column;
}
.hero h1{
    position: relative;
}
.hero h1 .couleur{
    animation: h1 .2s ease .6s forwards;
}
@keyframes h1 {
    from{
        color: var(--dark);
    }
    to{
        color: var(--orange);
    }
}
.hero h2{
    margin-bottom: 3rem;
}
.hero .btn{
    opacity: 0;
}
/* ############# */
/* VSL */
/* ############# */
.VSL .width{
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3rem;
}
#VSL {
    position: sticky;
    top: 5rem;
    width: max(330px, 65%);
    height: auto;
    border-radius: clamp(.65rem, 1vw, 1.5rem);
    box-shadow: 0 0 1em rgba(111, 111, 111, 0.2);
}

/* ############# */
/* problemes */
/* ############# */
.problemes .header{
    width: 100%;
}
.glow-section {
    width: 100%;
    gap: 1.5rem;
}
.glow-section p{
    color: var(--jaune);
}
.glow-section__card-parent {
    width: max(330px, 30%);
    height: clamp(13rem, 25vh, 20rem);
}
.glow-section__card {
    width: 100%;
    height: 100%;
    border-radius: clamp(.65rem, 1vw, 1.5rem);
    cursor: pointer;
    position: relative;
    z-index: 1;
    overflow: hidden;
    padding: 5px;
    background-color: var(--ligth);
    box-shadow: 0 0 1em rgba(111, 111, 111, 0.2);
}

.glow-section__top-layer {
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: clamp(.5rem, .5vw, 1.5rem);
    height: 100%;
    padding: 3rem;
    text-align: center;
    background-color: rgba(255, 255, 255, 1);
    transition: background-color 0.4s ease-out;
}

@media (pointer: fine) {
    .glow-section__card:hover>.glow-section__top-layer {
        background: rgba(255, 255, 255, .9);
    }
}

.glow-section__blob {
    filter: blur(40px);
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    opacity: 0;
    width: 200px;
    height: 200px;
    border-radius: 50%;
    background-color: rgb(255, 255, 255, 0.8);
    background-image: linear-gradient(45deg, var(--orange), var(--orange), var(--orange));
}
/* ############# */
/* solution */
/* ############# */
#solution{
    background-color: var(--ligth);
}
#solution .box-parent-box{
    display: grid;
    grid-template-columns: 3fr 1fr 3fr;
}
#solution .content{
    flex-direction: column;
    gap: 1.5rem;
    transition: opacity 0.5s ease, transform 0.5s ease;
    opacity: 0;
    transform: translateY(75%);
}
#solution .content.active{
    opacity: 1;
    transform: translateY(0);
}
#solution .box{
    padding: 1.5rem;
    border-radius: clamp(.65rem, 1vw, 1.5rem);
    background-color: var(--ligth);
    box-shadow: 0 0 1em rgba(111, 111, 111, 0.2);
}
#solution .counter{
    position: relative;
}
#solution .counter .trait-vertical{
    height: 100%;
    width: 5px;
    background-color: var(--dark);
}
.trait-vertical-moitie{
    height: 50%;
    width: 5px;
    background-color: var(--dark);
}
.trait-vertical-1{
    position: absolute;
    bottom: 0;
}
.trait-vertical-3{
    position: absolute;
    top: 0;
}
#solution .counter .trait-horizontal{
    position: absolute;
    height: 2px;
    width: 3rem;
    background-color: var(--dark);
}
.trait-horizontal-gauche{
    transform: translateX(-50%);
}
.trait-horizontal-droit{
    transform: translateX(50%);
}
#solution .counter .count{
    position: absolute;
    height: 3rem;
    width: 3rem;
    border-radius: 50%;
    background-color: var(--dark);
    color: var(--ligth);
}
/* ############# */
/* processus */
/* ############# */
#processus .width {
    padding-bottom: 0;
}

#processus .box-parent {
    position: relative;
    width: 100%;
}

#processus .box {
    flex-direction: column;
    gap: 1.5rem;
    position: sticky;
    width: max(330px, 60%);
    padding: 3rem;
    background-color: var(--ligth);
    border-radius: clamp(.65rem, 1vw, 1.5rem);
    border: solid max(.025vw, .025rem);
    border-color: var(--gris);
    box-shadow: 0 0 1em rgba(111, 111, 111, 0.2);
    transition: scale .6s ease;
}

#processus .box .trait-bleu {
    height: .05rem;
    width: 100%;
    background-color: var(--orange);
}

#processus .box-parent .box:nth-child(1) {
    top: 10%;
}

#processus .box-parent .box:nth-child(1).active {
    scale: 0.85;
}

#processus .box-parent .box:nth-child(2) {
    top: 15%;
    margin-top: 50vh;
}

#processus .box-parent .box:nth-child(2).active {
    scale: 0.9;
}

#processus .box-parent .box:nth-child(3) {
    top: 20%;
    margin-top: 50vh;
}

#processus .box-parent .box:nth-child(3).active {
    scale: 0.95;
}

#processus .box .header {
    width: 100%;
}

/* ############# */
/* faq */
/* ############# */
.faq-container {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    width: 100%;
}

details {
    width: max(330px, 70%);
    padding: 3rem;
    background-color: var(--ligth);
    border: solid max(.025vw, .025rem);
    border-color: var(--gris);
    box-shadow: 0 0 1em rgba(111, 111, 111, 0.2);
    border-radius: clamp(.65rem, 1vw, 1.5rem);
}

summary {
    display: flex;
    border-radius: clamp(.65rem, 1vw, 1.5rem);
    cursor: pointer;
}


/* ############# */
/* footer */
/* ############# */
footer{
    background-color: var(--ligth);
}
footer .box-parent {
    width: 100%;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

footer i {
    color: var(--dark);
}
footer .petit-txt{
    color: var(--dark);
}
.liens-footer{
    flex-direction: column;
    gap: 1.5rem;
}
/* ############# */
/* mentions */
/* ############# */
.body-mentions {
    background-color: var(--gris);
}

.header-mentions .width {
    flex-direction: column;
}

.mentions-legales .width {
    display: flex;
    flex-direction: column;
    gap: 3rem;
}

.gap-mention {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}