/* ======================== RESPONSIVE ======================== */
/* Mobile */
@media (max-width: 768px){
    .hero h1{
        font-size: 2.5rem;
    }

    #menu{
        display: block;
        position: relative;
        z-index: 1001;
    }
    
    #navigation{
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 80%;
        max-width: 400px;
        height: 100vh;
        background: var(--deep-navy);
        padding: 80px 30px 30px;
        z-index: 999;
        transform: translateX(-100%);
        transition: transform 0.3s ease;
    }
    
    #navigation.est-ouvert{
        display: block;
        transform: translateX(0);
    }
    
    #navigation ul{
        flex-direction: column;
        gap: 1.5rem;
        list-style: none;
        padding: 0;
        margin: 0;
    }
    
    #navigation ul li a{
        display: block;
        padding: 10px 0;
        font-size: 1.5rem;
        line-height: 1.4;
    }

    .image-projet img{
        width: 250px;
    }
    .image-affiche img{
        width: 250px;
    }
    
    .step, .step-1, .step-2, .step-3, .step-4, .step-5{
        position: relative;
        top: auto;
        left: auto;
        width: 100%;
        max-width: 400px;
        height: auto;
        margin: 0 auto;
        transform: translateY(15px);
    }
    .step.visible{
        transform: translateY(0);
    }

    .step:not(:last-of-type)::after {
        content: "";
        position: absolute;
        left: 50%;
        bottom: -40px;
        width: 1px;
        height: 40px;
        background: repeating-linear-gradient(
            to bottom,
            rgba(255, 255, 255, 0.85) 0,
            rgba(255, 255, 255, 0.85) 2px,
            transparent 2px,
            transparent 7px
        );
        transform: translateX(-50%);
    }
    
    .boite {
        flex-direction: column;
        align-items: center;
    }
    
    .boite button {
        width: 100%;
        max-width: 300px;
    }

    .conteneur-parcours{
        margin-left: 0;
        max-inline-size: 250px;
    }
    .exp p{
        min-inline-size: 260px;
    }
    
    #icon-rs {
        gap: 1rem;
    }
    
    #icon-rs svg {
        width: 35px;
        height: 35px;
    }
}

/* Tablette */
@media (max-width: 950px) {
    /* Process crea */
    .conteneur-etroit-crea {
        transform-origin: top center;
        transform: scale(calc((100vw - 40px) / 910));
        margin-bottom: calc(-740px + (740px * ((100vw - 40px) / 910)));
    }

    .imgslider {
        flex: 0 0 260px;
        height: 340px;
        border-radius: 16px;
    }
    
    .slider-track {
        gap: 30px;
    }
}

/* Desktop */
@media (min-width: 769px) {
    #menu {
        display: none;
    }
    
    #navigation {
        display: block !important;
        position: static;
        transform: none;
    }
    
    #navigation ul {
        display: flex;
        flex-direction: row;
        gap: 2rem;
        list-style: none;
        margin: 0;
        padding: 0;
    }
    
    .overlay {
        display: none !important;
    }

    .imgslider {
        flex: 0 0 350px;
        height: 480px;
    }
  
    .slider-track {
        gap: 40px;
     }
}

/* Desktop XL */
@media (min-width: 1600px) {
    .imgslider {
        flex: 0 0 420px;
        height: 540px;
    }
    
    .slider-track {
        gap: 60px;
        animation-duration: 35s; /* plus lent sur grands écrans */
    }
}