* {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        :root {
            --primary: #1B3B5F;
            --accent: #B87854;
            --secondary: #4A5568;
            --light: #F8F9FA;
            --white: #ffffff;
        }

        body {
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            color: var(--secondary);
            background: var(--white);
            line-height: 1.6;
        }


 
        /* hero-template Section avec Background Image */
.hero-template {
    margin-top: 80px;
    position: relative;
    color: white;
    padding: 100px 60px 80px;
    text-align: center;
    min-height: calc(100vh - 80px); /* ✅ prend toute la hauteur visible, moins le header */
    display: flex;
    flex-direction: column;
    justify-content: center; /* ✅ centre verticalement le contenu */
    align-items: center; /* ✅ centre horizontalement */
    overflow: hidden;
    
    /* Image de background avec overlay gradient */
    background-image: 
        linear-gradient(135deg, rgba(27, 59, 95, 0.85) 0%, rgba(45, 82, 128, 0.80) 100%),
        url('../IMG/consulting-hero-img-container.jpeg');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    background-attachment: fixed;
}

/* Fallback gradient si l'image n'existe pas encore */
.hero-template::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, var(--primary) 0%, #2d5280 100%);
    z-index: -1;
}

        .hero-template-content {
            max-width: 900px;
            margin: 0 auto;
            position: relative;
            z-index: 2;
        }
        
        /* Améliorer la lisibilité du texte sur l'image */
        .hero-template h1,
        .hero-template p,
        .hero-template-tag {
            text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
        }

        .hero-template-tag {
            display: inline-block;
            padding: 8px 20px;
            background: rgba(184, 120, 84, 0.2);
            border: 1px solid var(--accent);
            border-radius: 30px;
            color: var(--accent);
            font-size: 13px;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 1.5px;
            margin-bottom: 30px;
        }

        .hero-template h1 {
            font-size: 56px;
            font-weight: 700;
            line-height: 1.2;
            margin-bottom: 30px;
        }

        .hero-template p {
            font-size: 20px;
            line-height: 1.8;
            opacity: 0.95;
            margin-bottom: 50px;
        }

        .hero-template-buttons {
            display: flex;
            gap: 20px;
            justify-content: center;
            flex-wrap: wrap;
        }

        .btn {
            padding: 16px 40px;
            border-radius: 8px;
            font-size: 16px;
            font-weight: 600;
            text-decoration: none;
            display: inline-flex;
            align-items: center;
            gap: 10px;
            cursor: pointer;
            border: none;
            transition: all 0.2s;
        }

        .btn-template-primary {
            background: var(--accent);
            color: white;
        }

        .btn-template-primary:hover {
            background: #a36848;
        }

        .btn-template-secondary {
            background: white;
            color: var(--primary);
        }

        .btn-template-secondary:hover {
            background: var(--light);
        }
        
        
.btn-primary,
.btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 18px 40px;
    border-radius: 20px;
    font-size: 1.1rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    margin-top: 20px;
}

.btn-primary {
    background: #c28765;
    color: white;
    box-shadow: 0 10px 30px rgba(184, 120, 84, 0.3);
    border: none;
    
}

.btn-primary:hover {
    transform: translateY(-3px);
    background: #94674f;
    box-shadow: 0 15px 40px rgba(123, 108, 98, 0.4);
    color: #e7e3e1;
}

.btn-secondary {
    background: #F8F9FA;
    backdrop-filter: blur(10px);
    border: 2px solid rgba(87, 75, 67, 0.3);
    color: #1B3B5F;
}

.btn-secondary:hover {
    background: rgba(44, 42, 40, 0.25);
    transform: translateY(-3px);
    color: #2c2e31;
}
 /* Animations */
@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes slideInRight {
    from { opacity: 0; transform: translateX(60px); }
    to { opacity: 1; transform: translateX(0); }
}

@keyframes slideInLeft {
    from { opacity: 0; transform: translateX(-60px); }
    to { opacity: 1; transform: translateX(0); }
}

@keyframes slideInUp {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
}
/* ========== RESPONSIVE MOBILE ========== */

/* Tablettes (768px - 1024px) */
@media (max-width: 1024px) {
    .hero-template {
        padding: 80px 40px 60px;
        margin-top: 60px;
        min-height: calc(100vh - 60px);
        /* Désactiver le parallax sur tablette pour les performances */
        background-attachment: scroll;
    }

    .hero-template h1 {
        font-size: 42px;
    }

    .hero-template p {
        font-size: 18px;
        margin-bottom: 40px;
    }

    .btn {
        padding: 14px 32px;
        font-size: 15px;
    }

    .btn-primary,
    .btn-secondary {
        padding: 16px 35px;
        font-size: 1rem;
    }
}

/* Mobiles (481px - 767px) */
@media (max-width: 767px) {
    .hero-template {
        padding: 60px 24px 50px;
        margin-top: 80px; /* Compenser le header mobile */
        min-height: calc(100vh - 80px);
        text-align: center;
        /* Optimisations mobile pour le background */
        background-attachment: scroll;
        background-position: center center;
        background-size: cover;
    }

    .hero-template-content {
        max-width: 100%;
        padding: 0 10px;
        position: relative;
        z-index: 2;
    }

    /* Améliorer la lisibilité sur mobile */
    .hero-template h1,
    .hero-template p,
    .hero-template-tag {
        text-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);
    }

    .hero-template-tag {
        padding: 6px 16px;
        font-size: 11px;
        letter-spacing: 1px;
        margin-bottom: 20px;
    }

    .hero-template h1 {
        font-size: 32px;
        line-height: 1.3;
        margin-bottom: 20px;
        font-weight: 700;
    }

    .hero-template p {
        font-size: 16px;
        line-height: 1.6;
        margin-bottom: 35px;
        opacity: 0.9;
    }

    .hero-template-buttons {
        flex-direction: column;
        gap: 15px;
        align-items: stretch;
        width: 100%;
    }

    .btn {
        padding: 14px 24px;
        font-size: 14px;
        width: 100%;
        justify-content: center;
    }

    .btn-primary,
    .btn-secondary {
        padding: 16px 30px;
        font-size: 0.95rem;
        width: 100%;
        text-align: center;
        margin-top: 10px;
    }
}

/* Petits mobiles (320px - 480px) */
@media (max-width: 480px) {
    .hero-template {
        padding: 50px 20px 40px;
        margin-top: 70px;
        min-height: calc(100vh - 70px);
        /* Ajuster le focus de l'image sur petits écrans */
        background-position: 35% center;
        background-attachment: scroll;
    }

    .hero-template-tag {
        padding: 5px 14px;
        font-size: 10px;
        margin-bottom: 15px;
    }

    .hero-template h1 {
        font-size: 28px;
        line-height: 1.25;
        margin-bottom: 18px;
    }

    .hero-template p {
        font-size: 15px;
        line-height: 1.5;
        margin-bottom: 30px;
    }

    .hero-template-buttons {
        gap: 12px;
    }

    .btn {
        padding: 12px 20px;
        font-size: 13px;
        gap: 8px;
    }

    .btn-primary,
    .btn-secondary {
        padding: 14px 24px;
        font-size: 0.9rem;
        gap: 8px;
        border-radius: 15px;
    }
}

/* Très petits écrans (< 320px) */
@media (max-width: 320px) {
    .hero-template {
        padding: 40px 15px 35px;
    }

    .hero-template h1 {
        font-size: 24px;
        margin-bottom: 15px;
    }

    .hero-template p {
        font-size: 14px;
        margin-bottom: 25px;
    }

    .btn-primary,
    .btn-secondary {
        padding: 12px 20px;
        font-size: 0.85rem;
    }
}

/* Correction pour éviter le débordement horizontal */
@media (max-width: 767px) {
    body {
        overflow-x: hidden;
    }

    * {
        max-width: 100%;
    }

    .hero-template-content {
        overflow: hidden;
    }
}

/* Ajustement pour les écrans en mode paysage (landscape) */
@media (max-width: 767px) and (orientation: landscape) {
    .hero-template {
        min-height: auto;
        padding: 40px 24px 35px;
    }

    .hero-template h1 {
        font-size: 28px;
        margin-bottom: 15px;
    }

    .hero-template p {
        font-size: 14px;
        margin-bottom: 25px;
    }

    .hero-template-buttons {
        flex-direction: row;
        gap: 10px;
    }

    .btn-primary,
    .btn-secondary {
        padding: 12px 24px;
        font-size: 0.9rem;
        width: auto;
        flex: 1;
    }
}