/* Reset et base */
* {
    margin: 0; 
    padding: 0; 
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth; /* Défilement fluide lors du clic sur le menu */
}

body {
    font-family: 'Inter', sans-serif;
    background-color: #f4f7fe;
}

/* =========================================
   BARRE DE NAVIGATION (FIXE / STATIQUE)
   ========================================= */
.navbar {
    background-color: #ffffff;
    height: 80px; 
    display: flex;
    align-items: center;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    
    /* Fixation du menu en haut */
    position: fixed; 
    top: 0;
    left: 0;
    width: 100%;
    z-index: 2000; /* Priorité d'affichage au-dessus des sections */
    
    padding: 0 40px;
}

.nav-links {
    list-style: none;
    display: flex;
    align-items: center;
    width: 100%;
}

.logo-item {
    position: relative;
    width: 130px; 
    height: 100%;
}

.logo-circle {
    position: absolute;
    top: -25px; 
    left: 0;
    width: 180px; 
    height: 180px;
    background-color: #ffffff;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    border: 6px solid #ffffff; 
    transition: all 0.3s ease;
}

.logo-circle img {
    width: 140px;
    height: auto;
    object-fit: contain;
}

/* Espacement du menu */
.nav-links li:nth-child(2) { margin-left: auto; }
.nav-links li { margin-left: 30px; }

/* Styles des liens */
.nav-links li a {
    text-decoration: none;
    color: #2b3674;
    font-weight: 600;
    font-size: 15px;
    padding: 10px 15px;
    border-radius: 12px;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

/* =========================================
   SECTIONS ET HERO (AVEC COMPENSATION)
   ========================================= */

/* On compense la hauteur de la barre fixe pour que le texte ne soit pas caché */
.hero {
    padding: 150px 40px;
    margin-top: 80px; /* Hauteur de la navbar */
    text-align: left;
}

.hero h2 {
    font-size: 2.8rem;
    color: #2b3674;
    font-weight: 800;
}

.hero p {
    color: #a3aed0;
    font-size: 1.1rem;
    margin-top: 10px;
}

/* Ajustement des ancres : évite que le titre de section soit collé sous le menu fixe */
section {
    scroll-margin-top: 100px;
}

/* =========================================
   ANIMATIONS DE MENU (EFFET PRO)
   ========================================= */

/* Effet de bouton flottant au survol des liens */
.nav-links li a:hover {
    background-color: rgba(67, 24, 255, 0.08); 
    color: #4318ff !important;
    transform: translateY(-3px); 
    box-shadow: 0 8px 20px rgba(67, 24, 255, 0.15);
}

/* Animation interactive du logo au survol */
.logo-circle:hover {
    transform: scale(1.05) rotate(2deg);
    box-shadow: 0 15px 40px rgba(67, 24, 255, 0.25);
}

.logo-circle img {
    transition: transform 0.5s ease;
}

.logo-circle:hover img {
    transform: scale(1.1);
}