* {

    margin: 0;

    padding: 0;

    box-sizing: border-box;

}

html {

    scroll-behavior: smooth;

}

body {

    font-family: Arial, sans-serif;

    background: #f5f7fb;

    color: #172033;

}

/* MENU */

header {

    background: #061936;

    min-height: 70px;

    padding: 15px 7%;

    display: flex;

    justify-content: space-between;

    align-items: center;

    position: sticky;

    top: 0;

    z-index: 1000;

}

.logo {

    color: white;

    font-size: 25px;

    font-weight: bold;

}

.logo span {

    color: #2387ff;

}

nav {

    display: flex;

    gap: 30px;

}

nav a {

    color: white;

    text-decoration: none;

    font-weight: bold;

}

nav a:hover {

    color: #2387ff;

}

/* ACCUEIL */

.hero {

    min-height: 560px;

    background: linear-gradient(

        100deg,

        #061936,

        #0b2d5c

    );

    display: flex;

    align-items: center;

    justify-content: space-between;

    padding: 60px 8%;

    color: white;

}

.hero-text {

    max-width: 600px;

}

.salut {

    color: #2387ff;

    font-size: 20px;

    font-weight: bold;

}

.hero h1 {

    font-size: 52px;

    margin: 15px 0;

}

.hero h1 span {

    color: #2387ff;

}

.hero h2 {

    font-size: 22px;

    margin-bottom: 20px;

}

.hero-text p {

    line-height: 1.7;

}

.photo img {

    width: 350px;

    height: 400px;

    object-fit: cover;

    border-radius: 20px;

    border: 4px solid #2387ff;

}

.btn {

    display: inline-block;

    margin-top: 25px;

    padding: 13px 25px;

    background: #2387ff;

    color: white;

    text-decoration: none;

    border-radius: 6px;

    font-weight: bold;

}

.btn:hover {

    background: #1264c7;

}

/* SECTIONS */

.section {

    padding: 70px 8%;

    background: white;

}

.titre {

    text-align: center;

    color: #0a2d5c;

    font-size: 32px;

    margin-bottom: 40px;

}

/* À PROPOS */

.apropos-container {

    display: flex;

    gap: 50px;

    justify-content: center;

}

.texte,

.info {

    width: 45%;

}

.texte p {

    margin-bottom: 15px;

    line-height: 1.7;

}

.info {

    padding: 25px;

    border-radius: 10px;

    box-shadow: 0 3px 15px #00000018;

}

.info p {

    margin-bottom: 18px;

}

/* COMPÉTENCES */

.competences {

    padding: 70px 8%;

    background: #061936;

    color: white;

}

.competences .titre {

    color: white;

}

.skills {

    display: flex;

    justify-content: center;

    gap: 30px;

}

.skill {

    width: 300px;

    padding: 30px;

    border: 1px solid #2387ff;

    border-radius: 10px;

    text-align: center;

}

.skill h3 {

    color: #2387ff;

    font-size: 28px;

    margin-bottom: 15px;

}

/* PROJET */

.projet {

    display: flex;

    align-items: center;

    gap: 50px;

    max-width: 1000px;

    margin: auto;

    padding: 30px;

    box-shadow: 0 3px 15px #00000018;

    border-radius: 12px;

}

.projet-image,

.projet-text {

    width: 50%;

}

.hotel-image {

    height: 260px;

    border-radius: 10px;

    background:

        linear-gradient(#0008, #0008),

        url("hotel.jpg") center/cover;

    display: flex;

    align-items: center;

    justify-content: center;

    color: white;

    font-size: 30px;

    font-weight: bold;

}

.projet-text h3 {

    color: #1264c7;

    font-size: 28px;

    margin-bottom: 15px;

}

.projet-text p {

    line-height: 1.7;

    margin-bottom: 10px;

}

/* FORMATION */

.formation {

    padding: 70px 8%;

    background: #eef4fb;

    text-align: center;

}

.formation-box {

    max-width: 700px;

    margin: auto;

    background: white;

    padding: 30px;

    border-radius: 10px;

    box-shadow: 0 3px 15px #00000018;

}

.formation-box h3 {

    color: #1264c7;

    font-size: 25px;

    margin-bottom: 15px;

}

.formation-box p {

    margin: 10px;

}

/* CONTACT */

.contact {

    text-align: center;

}

.contact-box {

    max-width: 600px;

    margin: auto;

    padding: 30px;

    box-shadow: 0 3px 15px #00000018;

    border-radius: 10px;

}

.contact-box p {

    margin: 18px;

}

/* FOOTER */

footer {

    background: #061936;

    color: white;

    text-align: center;

    padding: 25px;

}

/* TELEPHONE */

@media (max-width: 800px) {

    header {

        padding: 20px;

        flex-direction: column;

        gap: 15px;

    }

    nav {

        flex-wrap: wrap;

        justify-content: center;

        gap: 15px;

    }

    .hero {

        flex-direction: column;

        text-align: center;

        gap: 40px;

    }

    .hero h1 {

        font-size: 38px;

    }

    .apropos-container,

    .projet {

        flex-direction: column;

    }

    .texte,

    .info,

    .projet-image,

    .projet-text {

        width: 100%;

    }

    .skills {

        flex-direction: column;

        align-items: center;

    }

    .skill {

        width: 100%;

        max-width: 350px;

    }

    .photo img {

        width: 280px;

        height: 320px;

    }

}