*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
body{
    background-color: var(--Light-01);
    font-family: 'Body', sans-serif
}
a{
    text-decoration: none;
    font-size: 12px;
    font-weight: 500;
    color: var(--Black-01);
}
/* ................................................. */
/* ................................................. */
/* Fonts */
@font-face {
    font-family: 'Title';
    src: url('/Fonts/BigShouldersDisplay-VariableFont_wght.ttf') format('truetype');
    font-weight: 100 900;
    font-style: normal;
}
@font-face {
    font-family: 'Body';
    src: url('/Fonts/Montserrat-VariableFont_wght.ttf') format('truetype');
    font-weight: 100 900;
    font-style: normal;
}

/* Variables */
:root{
    /* Colors */
    --Primary-01: #0A76CA;
    --Black-01:#06355A;
    --Light-01: #fff;

    /* Fonts */
    --Title: 'Title', sans-serif;
    --Body: 'Body', sans-serif;
}
/* .............................................. */
/* .............................................. */
/* Lest Gooooo! */

/* Navbar */
    .Navbar{
        width: 100%;
        height: 80px;
        background-color: var(--Light-01);
        overflow: clip;
        position: fixed;
        z-index: 1000;
    }
    .Navbar-Container{
        display: flex;
        justify-content: space-between;
        align-items: center;

        width: 78%;
        max-width: 1440px;
        height: 100%;
        margin: auto;
    }
    .Navbar-Left{
        padding-top: 14px;
    }
    .Navbar-Right{
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    .Menu{
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 38px;
    }
    .Menu .Menu-Link:hover{
    color: var(--Primary-01);
    }
    .Menu-Burger{
        display: none;
    }

/* ...................... */

/* Navbar-Mobile */
    .Navbar-Mobile{
        display: none;
        background-color: var(--Light-01);
        justify-content: flex-end;
        position: fixed;
        z-index: 999;
        
        width: 100%;
        height: 0px;
        padding-top: 0px;
        padding-right: 6%;
    }
    .Menu-Mobile{
        display: none;
        flex-direction: column;
        align-items: flex-end;
        gap: 22px;

        color: var(--Black-01);
    }

/* ............. */

/* Hero Section */
    .HeroSection{
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;

        background: linear-gradient(121deg, #0A76CA 26.69%, #06355A 96.77%);
        overflow: clip;
    }
    .HeroSection-Wrapper{
        display: flex;
        justify-content: space-between;
        align-items: flex-end;

        width: 78%;
        max-width: 1440px;
        height: 750px;
    }

    /* HeroGrp-Left */
        .HeroGrp-Left{
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            justify-content: center;
            gap: 30px;
            flex-shrink: 0;

            width: 50%;
            height: 100%;
            z-index: 10;
        }
        .HeroGrp-Left h1{
            font-family: 'Title', sans-serif;
            font-size: 4.5rem;
            font-style: normal;
            font-weight: 900;
            color: var(--Light-01);
            line-height: 92%;
            width: 372px;
        }
        .HeroGrp-01{
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            align-self: stretch;
            gap: 60px;

            padding-left: 9px;
        }
        .Hero-SousTitre{
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            gap: 15px;

            width: 377px;

            /* pour le texte */
            font-family: 'Body', sans-serif;
            font-size: 0.875rem;
            font-weight: 400;
            font-style: normal;
            line-height: normal;
            color: var(--Light-01);
        }
        .Hero-SousTitre p{
            color: var(--Light-01);
        }
        .Hero-SousTitre_p2{
            font-weight: 700;
        }
        .Hero-SousTitre_p3{
            font-family: "Title";
            font-weight: 600;
            font-size: 1.35rem;
            margin-top: 20px;
            color: #38ffdf !important;
        }

        /* HeroGrp-CTA */
        .HeroGrp-CTA{
            display: flex;
            align-items: center;
            gap: 30px;
        }
        .CTA{
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 10px;

            width: max-content;
            padding: 14px 20px;
            border-radius: 6px;
            border: none;
            background: var(--Black-01);
            cursor: pointer;
        }
        .CTA-P{
            font-family: 'Body';
            font-size: 0.875rem; 
            font-style: normal;
            font-weight: 500;
            color: var(--Light-01);
        }

        /* la Secondary */
        .CTA-Secondary{
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 10px;

            width: max-content;
            padding: 14px 20px;

            border-radius: 6px;
            border: 1px solid var(--Light-01);
            background: rgba(10, 118, 202, 0.58);
            backdrop-filter: blur(5px);
            cursor: pointer;
        }
        /* Les Hover */
        .CTA:hover{
            background: #11558b;
        }
        .CTA-Secondary:hover{
            background: #2586d5;
        }
        /* CTA Active */
        .CTA.CTA-Active{
            background: var(--Primary-01);
        }
        /* CTA Active Hover */
        .CTA.CTA-Active:hover{
            background: #329bed;
        }

    /* ............................ */

    /* HeroGrp-Right */
        .HeroGrp-Right{
            width: 50%;
            position: relative;
        }
        .Hero-Tof1{
            position: absolute;
            right: 0;
            bottom: 0;
            z-index: 2;
        }
        .Hero-Tof2{
            position: absolute;
            right: 230px;
            bottom: 0;
            z-index: 1;
        }
    /* ........................ */
/* ...................................... */

/* Section 2 */
    .Section2{
        overflow: clip;
        background-color: var(--Light-01);
    }
    .Section2-Wrapper{
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;

        width: 100%;
        max-width: 1120px;
        margin: auto;
        padding: 100px 0px;
    }
    .Section2-Grp{
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 58px;

        width: 66%;
    }
    .Section2-Grp > h1,
    .Section2-Grp > p{
        color: var(--Black-01);
        text-align: center;
    }
    .Section2-Grp h1{
        font-family: "Title";
        font-style: normal;
        font-size: clamp(1.75rem, 1.25vw, 1.875rem);
        font-weight: 800;
        line-height: normal;
    }
    .Section2-Grp p{
        font-family:"Body";
        font-size: clamp(0.875rem, 0.97vw, 1rem);
        font-weight: 400;
        font-style: normal;
        line-height: 142%;
    }
/* ....................................... */

/* Section 3 */
    .Section3  {
        display: flex;
        flex-direction: column;
        align-items: center;
        background: linear-gradient(180deg, #F6FBFF -9.47%, rgba(255, 255, 255, 0.00) 100%);
        overflow: clip;
    }
    .Section3-Wrapper{
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 98px;
        
        width: 100%;
        max-width: 1440px;
        padding: 238px 2svw;
        padding-top: 0;
        color: var(--Black-01);
        position: relative;
    }
    /* Sec3TitleGrp */
        .Keyboard-Vector{
            width: 122px;
        }
        .Sec3TitleGrp{
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 28px;

            width: 512px;
            text-align: center;
        }
        .Sec3-Title{
            font-family: "Title";
            font-size: clamp(1.75rem, 1.94vw, 1.875rem);
            font-weight: 800;
        }
        .Sec3-P{
            font-size: clamp(0.875rem, 0.97vw, 1rem); 
            font-weight: 400;
        }
        .Sec3-P>span{
            font-weight: 600;
        }
    /* ............ */

    /* Services-Container */
        .Services-Container{
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 72px;

            width: 100%;
        }
        /* Grp-BtnServices */
            .BtnServices-Container{
                display: flex;
                justify-content: center;
                background: linear-gradient(0deg, rgba(255, 255, 255, 0.00) 1.83%, #F7FBFF 79.83%);
                
                width: 100%;
                padding-top: 20px;
                padding-bottom: 100px;
                position: sticky;
                top: 0;
                z-index: 1;
            }
            .Grp-BtnServices{
                display: flex;
                justify-content: center;
                align-items: flex-start;
                align-content: flex-start;
                flex-wrap: wrap;
                gap: 16px;

                width: 88svw;
                max-width: 870px;
            }
            .CTA{
                display: flex;
                justify-content: center;
                align-items: center;
                gap: 8.479px;

                padding: 12px 16px;
                border-radius: 6px;
                background: var(--Black-01);
            }
            .CTA-P{
                font-size: clamp(0.75rem, 0.83vw, 0.87rem);
                font-weight: 600;
                text-transform: uppercase;
                color: var(--Light-01);
            }
        /* ............... */

        /* Services-Grp */
            .Services-Grp{
                display: flex;
                align-items: flex-start;
                
                width: 100%;
            }
            .Service-view{
                display: none;
            }
            .Services-Box{
                display: flex;
                justify-content: center;
                flex: 1 0 0;
                gap: 122px;
            }
            .Services-Box-img{
                height: 656px;
                width: fit-content;
            }
            /* Services-TextBloc */
                .Services-TextBloc{
                    display: flex;
                    align-items: flex-start;
                    flex-direction: column;
                    gap: 49px;

                    width: 468px;
                    padding-left: 20px;
                    border-left: 1px dashed var(--Black-01);
                }
                /* Service-Grp1 */
                    .Service-Grp1{
                        display: flex;
                        align-items: flex-start;
                        flex-direction: column;
                        gap: 14px;
                    }
                    /* Service-Grp1_01 */
                        .Service-Grp1_01{
                            display: flex;
                            align-items: flex-start;
                            flex-direction: column;
                            gap: 8px;
                        }
                        .Service-Grp1_01 p{
                            font-family: "Body";
                            font-size: clamp(1rem, 1.25vw, 1.10rem);
                            font-weight: 500;
                            line-height: 124%;
                        }
                        /* Service-Grp1_02 */
                            .Service-Grp1_02{
                                display: flex;
                                flex-direction: column;
                                align-items: flex-start;
                                gap: 14px;
                            }
                            .Service-Grp1_02>h2{
                                font-family: "Title";
                                font-size: clamp(2rem, 0.13vw, 2.125rem);
                                font-weight: 700;
                                line-height: 33px; /* 103.125% */
                                letter-spacing: 1.92px;
                                text-transform: uppercase;
                            }
                        /* ............... */
                    /* ............... */

                    .Service-Grp1_p{
                        font-family: "Body";
                        font-size: clamp(1rem, 1.25vw, 1.10rem);
                        font-weight: 400;
                        line-height: 124%;
                        color: var(--Primary-01);

                        width: 308px;
                    }
                /* ............ */

                /* Service-Grp2 */
                    .Service-Grp2{
                        display: flex;
                        flex-direction: column;
                        align-items: flex-start;
                        gap: 22px;
                    }
                    .Service-Grp2_P1{
                        font-family: "Body";
                        font-size: clamp(1.625rem, 1.80vw, 1.75rem);
                        font-weight: 700;
                        letter-spacing: -1.075px;
                        text-transform: uppercase;
                    }
                    .Service-Grp2_P2{
                        font-family: "Body";
                        font-size: 16px;
                        font-style: normal;
                        font-weight: 400;
                        line-height: 120%;
                        letter-spacing: -1.149px;
                    }
                /* ............ */
            /* .................. */
        /* ............ */
    /* ................. */
/* ......... */

/* Footer */
    .Footer{
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        padding: 100px 0px;
        background: var(--Primary-01);
    }
    .Footer-Wrapper{
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        align-content: flex-end;
        align-self: stretch;
        flex-wrap: wrap;
        row-gap: 50px;

        width: 100%;
        max-width: 78%;
        margin: auto;

        color: var(--Light-01);
    }
    /* Contcats */
        .Contacts{
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            gap: 20px;
        }
        /* Contacts-Box */
            .Contacts-Box{
                display: flex;
                flex-direction: column;
                align-items: flex-start;
                gap: 22px;
            }
            .Contacts-Title{
                font-family: "Body";
                font-size: clamp(1.325rem, 1.94vw, 1.75rem);
                font-weight: 600;
                line-height: normal;
                letter-spacing: -1.64px;
            }

            /* Contacts-Grp */
                .Contacts-Grp{
                    display: flex;
                    flex-direction: column;
                    justify-content: center;
                    align-items: flex-start;
                    gap: 14px;
                }
                /* Contact-Grp1 */
                    .Contact-Grp_Bloc{
                        display: flex;
                        align-items: center;
                        gap: 6px;
                    }
                    .Contact-P{
                        font-family: "Body";
                        font-size: clamp(0.785rem, 0.97vw, 1rem);
                        font-weight: 600;
                        line-height: normal;
                        letter-spacing: -0.500px;
                    }
                /* ............ */
            /* ........... */
        /* ........... */
    /* ........ */

    /* Contacts RS */
        .Contacts-RS{
            display: flex;
            align-items: center;
            gap: 8px;
        }
        .RS-P{
            font-family: "Body";
            font-size: clamp(0.62rem, 0.83vw, 0.875rem);
            font-weight: 500;
            line-height: normal;
            letter-spacing: -0.18px;
        }
    /* ........... */
/* ................................. */