@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@500&display=swap");
*, ::after, ::before {
    box-sizing:border-box
}

html {
    font-family: sans-serif;
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -ms-overflow-style: scrollbar;
    -webkit-tap-highlight-color:transparent
}

article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
    display:block
}

body {
    margin: 0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #212529;
    text-align: left;
    background-color: #fff
}

body {
    overflow-x: hidden; /* Bloque le scroll horizontal */
}

h1, h2, h3, h4, h5, h6 {
    margin-top: 0;
    margin-bottom:.5rem
}

img {
    vertical-align: middle;
    border-style:none
}

svg {
    overflow: hidden;
    vertical-align:middle
}




body, html {
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    font-smoothing: antialiased;
    -webkit-font-smoothing: antialiased;
    text-shadow: rgba(0, 0, 0, 0.01) 0 0 1px;
    font-family: "Manrope", sans-serif;
    color: #400601;
    background-color: #D9D9D9;
    transition:background-color 0.25s ease-out
}

.back-to-top {
    position: fixed;
    right: 30px;
    bottom: -30px;
    z-index: 99;
    display: block;
    transition:bottom 0.25s ease-in-out
}


/* Style des boutons */
.btn {
    border: 1px solid #400601;  /* Bordure rouge initiale */
    padding: 6px 15px 8px;
    color: #400601;  /* Texte rouge initialement */
    line-height: 1;
    text-decoration: none;
    display: inline-block;
    transition: all 0.25s ease-in-out;  /* Transition sur toutes les propriétés */
    border-radius: 5.1282051282vw;
    font-size: 5.1282051282vw;
}

/* Adaptations responsive */
@media (min-width: 768px) {
    .btn {
        padding: 6px 24px 8px;
        border-radius: 2.6041666667vw;
        font-size: 2.6041666667vw;
    }
}

@media (min-width: 1024px) {
    .btn {
        padding: 6px 24px 8px;
        border-radius: 1.5625vw;
        font-size: 1.5625vw;
    }
}

@media (min-width: 1920px) {
    .btn {
        border-radius: 30px;
        font-size: 30px;
    }
}

/* Effet au survol */
.btn:hover {
    border-color: #fff;  /* La bordure devient blanche */
    background-color: #fff;  /* Le fond devient blanc */
    color: #ef8611;  /* Le texte devient orange */
    text-decoration: none;  /* Retirer la décoration de texte */
}

.btn.orange {
    background-color: #ef8611;
    border-color: #ef8611;
    color: #000;
}

.btn.orange:hover {
    color: #000;
    background-color: #fff;
    text-decoration: none;
    border-color: #fff;  /* La bordure devient blanche sur le bouton orange */
}

.text-btn {
    color: #ef8611;
    text-decoration: underline;
    display: block;
    font-size: 5.1282051282vw;
    line-height: 5.1282051282vw;
    margin-bottom: 1.2820512821vw;
}

/* Responsivité de .text-btn */
@media (min-width: 1024px) {
    .text-btn {
        margin-bottom: 0;
        font-size: 1.5625vw;
        line-height: 2.0833333333vw;
    }
}

@media (min-width: 1920px) {
    .text-btn {
        font-size: 30px;
        line-height: 40px;
    }
}

/* Hover sur .text-btn */
.text-btn:hover {
    text-decoration: none;
    color: #ef8611;
}

.spacer {
    height:35vw
}

.spacer3 {
    height:300px;
}

@media (min-width: 768px) {
    .spacer {
        height:25vw
    }
}

@media (min-width: 1024px) {
    .spacer {
        height:20vw
    }
}

.spacer.large {
    height:35vw
}

@media (min-width: 1024px) {
    .spacer.large {
        height:30vw
    }
}

#scroll-cursor {
    z-index: 999;
    position: fixed;
    top: 0;
    left: 0;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.5s ease-in-out;
    display:none !important
}

@media (min-width: 1200px) {
    #scroll-cursor {
        display:block !important
    }
}

#scroll-cursor.show {
    opacity:1
}

h1, .h1 {
    font-family: "PolySans Slim", sans-serif;
    letter-spacing: -2px;
    font-weight: normal;
    margin-bottom: 0;
    font-size: 18.9743589744vw;
    line-height:18.9743589744vw
}

@media (min-width: 1024px) {
    h1, .h1 {
        white-space: nowrap;
        font-size: 7.8125vw;
        line-height:7.8125vw
    }
}

@media (min-width: 1200px) {
    h1, .h1 {
        transition: color 0.5s ease-in-out;
        font-size: 9.375vw;
        line-height:9.375vw
    }
}

@media (min-width: 1920px) {
    h1, .h1 {
        font-size: 180px;
        line-height:180px
    }
}

h2, .h2 {
    font-family: "PolySans Slim", sans-serif;
    letter-spacing: -2px;
    font-weight: normal;
    margin-bottom: 0;
    transition: color 0.25s ease-out;
    font-size: 14.1025641026vw;
    line-height: 14.1025641026vw;
    margin-top:25px
}

@media (min-width: 768px) {
    h2, .h2 {
        margin-top:50px
    }
}

@media (min-width: 1024px) {
    h2, .h2 {
        white-space: nowrap;
        margin-top: 0;
        letter-spacing: -1px;
        font-size: 6.25vw;
        line-height:6.25vw
    }
}

@media (min-width: 1200px) {
    h2, .h2 {
        transition: color 0.5s ease-in-out;
        font-size: 6.7708333333vw;
        line-height:6.7708333333vw
    }
}

@media (min-width: 1920px) {
    h2, .h2 {
        font-size: 130px;
        line-height:130px
    }
}

@media (min-width: 1024px) {
    h3, .h3 {
        white-space: nowrap;
        font-size: 5.2083333333vw;
        line-height:4.9479166667vw
    }
}

@media (min-width: 1200px) {
    h3, .h3 {
        transition:color 0.5s ease-in-out
    }
}

@media (min-width: 1920px) {
    h3, .h3 {
        font-size: 100px;
        line-height:95px
    }
}

p.highlight-on-scroll {
    font-family: "Manrope", sans-serif;
    font-weight: 500;
    transition: color 0.25s ease-out;
    font-size: 1.8rem; /* Taille fixe */
    line-height: 2.2rem;
    color: #ffffff; /* Couleur par défaut */
}

p.highlight-on-scroll.scroll-highlight {
    color: #ef8611; /* Change la couleur en orange */
}

@media (min-width: 768px) {
    p {
        font-size: 4.1025641026vw;
        line-height:5.3846153846vw
    }
}

@media (min-width: 1024px) {
    p {
        font-size: 1.8229166667vw;
        line-height:2.1875vw
    }
}


@media (min-width: 1920px) {
    p {
        font-size: 35px;
        line-height:42px
    }
}

p.small {
    font-size: 5.1282051282vw;
    line-height:5.8974358974vw
}

@media (min-width: 768px) {
    p.small {
        font-size: 3.5897435897vw;
        line-height:4.6153846154vw
    }
}

@media (min-width: 1024px) {
    p.small {
        font-size: 1.5625vw;
        line-height:2.0833333333vw
    }
}

@media (min-width: 1920px) {
    p.small {
        font-size: 30px;
        line-height:40px
    }
}

p.tiny {
    font-size: 4.6153846154vw;
    line-height:5.3846153846vw
}

@media (min-width: 768px) {
    p.tiny {
        font-size: 3.0769230769vw;
        line-height:3.8461538462vw
    }
}

@media (min-width: 1024px) {
    p.tiny {
        font-size: 1.3020833333vw;
        line-height:1.7708333333vw
    }
}

@media (min-width: 1920px) {
    p.tiny {
        font-size: 25px;
        line-height:34px
    }
}

ul {
    font-family: "PolySans Slim", sans-serif
}



.hero-animation {
    height: 100vh;
    z-index: 5;
    position:relative
}

#side-nav {
    position: fixed;
    right: -40px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 6;
    transition: right 0.5s ease-in-out;
    display:none
}

@media (min-width: 1200px) {
    #side-nav {
        display:block
    }
}


.module {
    position: relative;
    padding-left: 30px;
    padding-right: 50px;
    width: 105vw;
    overflow-x:hidden
}

@media (min-width: 1024px) {
    .module {
        overflow-x: visible;
        padding-left: 4.1666666667vw;
        padding-right:4.1666666667vw
    }
}

@media (min-width: 1200px) {
    .module {
        padding-left: 9.375vw;
        padding-right:9.375vw
    }
}

.module .left-col {
    position:relative
}
.module .left-col h1 {
    position: relative;
    top: -150px; /* Ajuste selon ton besoin */
    z-index: 2;
}

.module .left-col svg {
    position: absolute;
    bottom: 20vw;
    left: -20px;
    width: 90%;
    z-index: 1;
    max-width:700px
}

@media (min-width: 768px) {
    .module .left-col svg {
        bottom: 15.3846153846vw;
        width:80%
    }
}

@media (min-width: 1024px) {
    .module .left-col svg {
        bottom: -1.0416666667vw;
        left: -1.5625vw;
        width:31.25vw
    }
}

@media (min-width: 1200px) {
    .module .left-col svg {
        width:36.4583333333vw
    }
}

.module .right-col {
    margin-top:12.8205128205vw
}

@media (min-width: 1024px) {
    .module .right-col {
        width: calc(50% - 9.375vw - 9.375vw);
        position: absolute;
        right: 10.375vw;
        bottom:30%;
    }
}

@media (min-width: 1024px) {
    .module .right-col2 {
        width: calc(50% - 9.375vw - 9.375vw);
        position: absolute;
        right: 9.375vw;
        bottom:-200%;
    }
}

.module1 .btn {
    margin-top:12.8205128205vw
}

@media (min-width: 1024px) {
    .module1 .btn {
        position: absolute;
        bottom: -7.8125vw;
        left:0
    }
}

.module2 .left-col svg {
    position: relative;
    bottom: auto;
    width: 100%;
    left: -32px;
    margin-top:7.6923076923vw
}

@media (min-width: 1024px) {
    .module2 .left-col svg {
        margin-top: 0;
        left: -9.6354166667vw;
        width:36.4583333333vw
    }
}

.module3 .left-col, .module4 .left-col, .module5 .left-col, .module6 .left-col, .module7 .left-col, .module9 .left-col {
    z-index: 1;
    position:relative
}

@media (min-width: 1024px) {
    .module3 .left-col, .module4 .left-col, .module5 .left-col, .module6 .left-col, .module7 .left-col, .module9 .left-col {
        position:absolute
    }
}

.module3 .right-col-animation, .module4 .right-col-animation, .module5 .right-col-animation, .module6 .right-col-animation, .module7 .right-col-animation, .module9 .right-col-animation {
    position: relative;
    width: 220vw;
    left: -115vw;
    margin-top:7.6923076923vw
}

@media (min-width: 1024px) {
    .module3 .right-col-animation, .module4 .right-col-animation, .module5 .right-col-animation, .module6 .right-col-animation, .module7 .right-col-animation, .module9 .right-col-animation {
        width: 100vw;
        left: -9.375vw;
        top: 6.25vw;
        margin-top:6.25vw
    }
}

@media (min-width: 1920px) {
    .module3 .right-col-animation, .module4 .right-col-animation, .module5 .right-col-animation, .module6 .right-col-animation, .module7 .right-col-animation, .module9 .right-col-animation {
        top: 120px;
        margin-top:120px
    }
}

.module3 .right-col-animation svg, .module4 .right-col-animation svg, .module5 .right-col-animation svg, .module6 .right-col-animation svg, .module7 .right-col-animation svg, .module9 .right-col-animation svg {
    position: relative;
    bottom: auto;
    left: auto;
    margin-top: 0;
    margin-left: 0;
    width:100%
}

@media (min-width: 1024px) {
    .module3 .right-col-animation svg, .module4 .right-col-animation svg, .module5 .right-col-animation svg, .module6 .right-col-animation svg, .module7 .right-col-animation svg, .module9 .right-col-animation svg {
        width:100vw
    }
}

.module3 .right-col, .module4 .right-col, .module5 .right-col, .module6 .right-col, .module7 .right-col, .module9 .right-col {
    bottom: auto;
    right: auto;
    position: relative;
    margin-left: 0;
    margin-top: 25.641025641vw;
    width:100%
}

@media (min-width: 768px) {
    .module3 .right-col, .module4 .right-col, .module5 .right-col, .module6 .right-col, .module7 .right-col, .module9 .right-col {
        margin-top:12.8205128205vw
    }
}

@media (min-width: 1024px) {
    .module3 .right-col, .module4 .right-col, .module5 .right-col, .module6 .right-col, .module7 .right-col, .module9 .right-col {
        margin-left: calc(50% + 9.375vw);
        margin-top: 9.375vw;
        width:calc(50% - 9.375vw)
    }
}

@media (min-width: 1920px) {
    .module3 .right-col, .module4 .right-col, .module5 .right-col, .module6 .right-col, .module7 .right-col, .module9 .right-col {
        margin-top:180px
    }
}

.module3 .portfolio-col, .module4 .portfolio-col, .module5 .portfolio-col, .module6 .portfolio-col, .module7 .portfolio-col, .module9 .portfolio-col {
    position: relative;
    z-index: 2;
    margin-top:12.8205128205vw
}

@media (min-width: 1024px) {
    .module3 .portfolio-col, .module4 .portfolio-col, .module5 .portfolio-col, .module6 .portfolio-col, .module7 .portfolio-col, .module9 .portfolio-col {
        margin-top:-9.375vw
    }
}

.module3 .portfolio-col img, .module4 .portfolio-col img, .module5 .portfolio-col img, .module6 .portfolio-col img, .module7 .portfolio-col img, .module9 .portfolio-col img {
    position: relative;
    z-index: 2;
    height: auto;
    width: calc(100% + 30px);
    margin-left:-30px
}

@media (min-width: 1024px) {
    .module3 .portfolio-col img, .module4 .portfolio-col img, .module5 .portfolio-col img, .module6 .portfolio-col img, .module7 .portfolio-col img, .module9 .portfolio-col img {
        width: calc(50% + 9.375vw);
        margin-left:-9.375vw
    }
}

.module3 .portfolio-col .client-info-col, .module4 .portfolio-col .client-info-col, .module5 .portfolio-col .client-info-col, .module6 .portfolio-col .client-info-col, .module7 .portfolio-col .client-info-col, .module9 .portfolio-col .client-info-col {
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    align-content: space-evenly;
    width: 100%;
    height:80px
}

@media (min-width: 1024px) {
    .module3 .portfolio-col .client-info-col, .module4 .portfolio-col .client-info-col, .module5 .portfolio-col .client-info-col, .module6 .portfolio-col .client-info-col, .module7 .portfolio-col .client-info-col, .module9 .portfolio-col .client-info-col {
        position: absolute;
        bottom: -120px;
        left: 0;
        height: 120px;
        width: calc(50% + 9.375vw);
        margin-left:-9.375vw
    }
}

.module3 .portfolio-col .client-info-col .client-info-text, .module4 .portfolio-col .client-info-col .client-info-text, .module5 .portfolio-col .client-info-col .client-info-text, .module6 .portfolio-col .client-info-col .client-info-text, .module7 .portfolio-col .client-info-col .client-info-text, .module9 .portfolio-col .client-info-col .client-info-text {
    display:flex
}

@media (min-width: 1024px) {
    .module3 .portfolio-col .client-info-col .client-info-text, .module4 .portfolio-col .client-info-col .client-info-text, .module5 .portfolio-col .client-info-col .client-info-text, .module6 .portfolio-col .client-info-col .client-info-text, .module7 .portfolio-col .client-info-col .client-info-text, .module9 .portfolio-col .client-info-col .client-info-text {
        padding-left:9.375vw
    }
}

.module3 .portfolio-col .client-info-col .client-info-text p, .module4 .portfolio-col .client-info-col .client-info-text p, .module5 .portfolio-col .client-info-col .client-info-text p, .module6 .portfolio-col .client-info-col .client-info-text p, .module7 .portfolio-col .client-info-col .client-info-text p, .module9 .portfolio-col .client-info-col .client-info-text p {
    margin-bottom:0
}

.module3 .portfolio-col .client-info-col .client-info-text p:first-of-type, .module4 .portfolio-col .client-info-col .client-info-text p:first-of-type, .module5 .portfolio-col .client-info-col .client-info-text p:first-of-type, .module6 .portfolio-col .client-info-col .client-info-text p:first-of-type, .module7 .portfolio-col .client-info-col .client-info-text p:first-of-type, .module9 .portfolio-col .client-info-col .client-info-text p:first-of-type {
    color: #666;
    margin-right:2.5641025641vw
}

@media (min-width: 1024px) {
    .module3 .portfolio-col .client-info-col .client-info-text p:first-of-type, .module4 .portfolio-col .client-info-col .client-info-text p:first-of-type, .module5 .portfolio-col .client-info-col .client-info-text p:first-of-type, .module6 .portfolio-col .client-info-col .client-info-text p:first-of-type, .module7 .portfolio-col .client-info-col .client-info-text p:first-of-type, .module9 .portfolio-col .client-info-col .client-info-text p:first-of-type {
        margin-right:4.4270833333vw
    }
}

.module4 .right-col-animation {
    left:-140vw
}

@media (min-width: 1024px) {
    .module4 .right-col-animation {
        left:-9.375vw
    }
}

.module4 .right-col-animation svg {
    width:100%
}

@media (min-width: 1024px) {
    .module4 .right-col-animation svg {
        width:calc(100vw - 18.75vw)
    }
}

.module5 .right-col-animation {
    left:-137vw
}

@media (min-width: 1024px) {
    .module5 .right-col-animation {
        left:-9.375vw
    }
}

.module5 .right-col-animation svg {
    width:100%
}

@media (min-width: 1024px) {
    .module5 .right-col-animation svg {
        width:calc(100vw - 14.0625vw)
    }
}

.pin {
    position: absolute;
    top: 15vw;
    left: 0;
    width: 100%;
    height:1px
}

.client-list {
    margin-top:12.8205128205vw
}

@media (min-width: 1024px) {
    .client-list {
        margin-top:5.2083333333vw
    }
}

.client-list p {
    color:#666 !important
}

.client-list ul {
    list-style: none;
    padding: 0;
    letter-spacing: -1px;
    font-size: 10.2564102564vw;
    line-height:10.2564102564vw
}

@media (min-width: 1024px) {
    .client-list ul {
        letter-spacing: -1px;
        font-size: 4.375vw;
        line-height:4.375vw
    }
}

@media (min-width: 1920px) {
    .client-list ul {
        font-size: 90px;
        line-height:90px
    }
}

.client-list ul li {
    list-style: none;
    border-bottom: 1.5px solid #000;
    padding:2.5641025641vw 0 2.5641025641vw
}

@media (min-width: 1024px) {
    .client-list ul li {
        padding:.9375vw 0 .8333333333vw
    }
}

@media (min-width: 1920px) {
    .client-list ul li {
        padding:18px 0 16px
    }
}

.client-list ul li:first-of-type {
    border-top:1.5px solid #000
}

.footer-animation {
    height: 100vh;
    display: flex;
    align-items: flex-end;
    padding:0 30px 30px
}

@media (min-width: 1024px) {
    .footer-animation {
        padding:0 2.0833333333vw 2.0833333333vw
    }
}

@media (min-width: 1024px) {
    .footer-animation .footer-inner {
        display: flex;
        justify-content: space-between;
        align-items:flex-end
    }
}

.footer-animation .footer-inner_left {
    margin-bottom:7.6923076923vw
}

@media (min-width: 1024px) {
    .footer-animation .footer-inner_left {
        margin-bottom:0
    }
}

@media (min-width: 1024px) {
    .footer-animation .footer-inner_right {
        flex-basis: 50%;
        max-width:50%
    }
}

.footer-animation .footer-inner_right p {
    margin-bottom:7.6923076923vw
}

@media (min-width: 1024px) {
    .footer-animation .footer-inner_right p {
        margin-bottom:5.2083333333vw
    }
}

@media (min-width: 1920px) {
    .footer-animation .footer-inner_right p {
        margin-bottom:100px
    }
}

.footer-animation .footer-inner_right .address-contact {
    font-size:4.1025641026vw
}

@media (min-width: 1024px) {
    .footer-animation .footer-inner_right .address-contact {
        display: flex;
        justify-content: space-between;
        font-size:.8333333333vw
    }
}

@media (min-width: 1920px) {
    .footer-animation .footer-inner_right .address-contact {
        font-size:16px
    }
}

.footer-animation .footer-inner_right .address-contact_item {
    padding-right: 0;
    margin-bottom:3.8461538462vw
}

@media (min-width: 1024px) {
    .footer-animation .footer-inner_right .address-contact_item {
        margin-bottom: 0;
        padding-right:1.5625vw
    }
}

@media (min-width: 1920px) {
    .footer-animation .footer-inner_right .address-contact_item {
        padding-right:30px
    }
}


.footer-animation .footer-inner_right .address-contact_item:last-child {
    padding-right:0
}

/*# sourceMappingURL=main.min.css.map */

#orange-animation {
    transform: translateY(30px); /* Déplace l'animation de 3px vers le bas */
}

#custom-cursor {
    position: fixed;
    pointer-events: none; /* Ne pas interférer avec les autres éléments */
    width: 65px;
    height: 65px;
    opacity: 1;
    z-index: 9999;
    transition: transform 0.2s ease-in-out;
    pointer-events: none;
    display: none; /* Par défaut, on cache le curseur */
}

body {
    cursor: none; /* Cache le curseur par défaut */
}

#custom-cursor {
    position: fixed;
    pointer-events: none;
    width: 65px;
    height: 65px;
    opacity: 1;
    z-index: 99999;
    transition: opacity 0.2s ease-in-out, transform 0.2s ease-in-out;
    pointer-events: none;
    display: none; /* Par défaut, on cache le curseur */
}




.scroll-container {
    display: flex;
    gap: 30px;
    padding: 50px 0;
    white-space: nowrap;
    width: 100%;
    overflow: hidden;
    position: relative;
}

.left-to-right {
    transform: translateX(-118vw); /* Encore un léger ajustement */
    min-width: 310vw; /* Évite tout espace résiduel */
}

.right-to-left {
    transform: translateX(102vw); /* Ajustement fin pour équilibrer */
    min-width: 310vw;
}

.image-container {
    flex: 0 0 auto;
    width: 350px;
    height: 200px;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    border: 5px solid white;
    transition: transform 0.3s ease, border-color 0.3s ease;
}

.image-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}







.module2 {
    display: flex;
    justify-content: center; /* Centre horizontalement */
    align-items: center; /* Centre verticalement */
    height: 50px; /* Ajuste la hauteur si nécessaire */
}

.left-col-module2 {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.module3 {
    display: flex;
    justify-content: left; /* Centre horizontalement */
    align-items: left; /* Centre verticalement */
    margin-bottom: 20px; /* Réduit l'espace sous "Mes Projet" */
}

.module3 + .spacer {
    display: none; /* Supprime seulement l’espace sous "Mes Projets" */
}


.module4 {
    margin-top: -100px; /* Rapproche "Contacts" du bouton */
    padding-top: 0;
}

.module5 {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 20px; /* Espacement entre les boutons */
    margin-top: 100px;
    width: 100%;
}

.btn-large {
    width: 100%; /* Augmente la largeur des boutons */
    max-width: 6000px; /* Évite qu'ils deviennent trop grands sur grand écran */
    text-align: center;
    font-size: 6vw; /* Augmente la taille du texte */
    padding: 20px 30px; /* Agrandit les boutons */
    border-radius: 50vw; /* Rend les boutons très arrondis */
}

.module4 h2 {
    margin-bottom: 50px; /* Augmente l'écart sous "Contacts" */
}

.module5 {
    margin-top: 20px; /* Assure qu'il n'y a pas d'écart supplémentaire entre les boutons */
}

/* Style du bouton en bas à droite */
#scrollToTopBtn {
    position: fixed;
    bottom: 20px;
    right: 20px;
    font-size: 3rem; /* Ajuste la taille du texte */
    padding: 10px 20px;
    border-radius: 50%; /* Pour rendre la flèche ronde */
    text-align: center;
    background-color: #ef8611;
    color: #fff;
    text-decoration: none;
    border: 0px solid #fff;
    transition: all 0.25s ease-in-out;
    opacity: 0; /* Cache la flèche au départ */
    visibility: hidden; /* Cache la flèche au départ */
}

#scrollToTopBtn:hover {
    background-color: #fff; /* Change la couleur de fond au survol */
    color: #ef8611; /* Change la couleur du texte au survol */
}

/* Ajout du défilement fluide */
html {
    scroll-behavior: smooth; /* Active le défilement fluide pour les ancres */
}

/* Style de visibilité de la flèche selon le scroll */
#scrollToTopBtn {
    position: fixed;
    bottom: 20px;
    right: 20px;
    font-size: 3rem;
    padding: 10px 20px;
    border-radius: 50%;
    background-color: #ef8611;
    color: #fff;
    text-decoration: none;
    opacity: 0;
    visibility: hidden;
    transition: all 0.25s ease;
}

#scrollToTopBtn:hover {
    background-color: #fff;
    color: #ef8611;
}

#scrollToTopBtn.visible {
    opacity: 1;
    visibility: visible;
}


@media screen and (max-width: 768px) {
    .scroll-container {
        display: flex;
        flex-direction: column; /* Affichage en colonne */
        align-items: center;
        overflow: hidden; /* Supprime le scroll horizontal */
        transform: none !important; /* Désactive le scroll */
    }

    .image-container {
        width: 90vw; /* Ajustement de la taille */
        height: auto;
        margin-bottom: 20px; /* Espacement entre les images */
    }

    /* Carrousel */
    .carousel {
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        width: 100%;
        gap: 10px;
        padding: 10px;
    }

    .carousel .image-container {
        flex: 0 0 80%;
        scroll-snap-align: center;
    }
}

/* Masquer le carrousel sur grand écran */
#mobileCarousel {
    display: none;
}

/* Masquer le scroll-container sur mobile et activer le carrousel */
@media screen and (max-width: 768px) {
    .scroll-container {
        display: none !important;
    }

    #mobileCarousel {
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        width: 100%;
        gap: 10px;
        padding: 10px;
    }

    #mobileCarousel .image-container {
        flex: 0 0 80%;
        scroll-snap-align: center;
    }
}


@media screen and (min-width: 769px) {
    #mobileCarousel {
        display: none !important;
    }
}

@media screen and (max-width: 768px) {
    .scroll-container {
        display: none !important; /* Cache le défilement en mobile */
    }
}

/* Cibler tous les .image-container sauf ceux dans #mobileCarousel */
.image-container:not(#mobileCarousel .image-container) {
    flex: 0 0 auto;
    width: 350px;
    height: 200px;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    border: 5px solid white;
    transition: transform 0.3s ease, border-color 0.3s ease;
    position: relative;
}

.image-container:not(#mobileCarousel .image-container) img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.image-container:not(#mobileCarousel .image-container):hover {
    transform: scale(1.1);
    border-color: #ef8611;
}

.image-container:not(#mobileCarousel .image-container):hover img {
    transform: scale(1.05);
}




/* Conteneur de la section contacts */
#contactLinks {
    text-align: center;
    padding: 20px;
  }
  
  /* Style de chaque élément de contact */
  .contact-item {
    font-size: 2vw;           /* Taille de texte ajustée */
    padding: 10px 0;
  }
  
  /* Style du lien de contact avec une couleur de base fixée */
  .contact-link {
    text-decoration: none;
    color: #400601 !important; /* Couleur de base fixée en rouge foncé */
    transition: color 0.25s ease-in-out;
  }

  
  /* Ligne de séparation entre les contacts */
  .contact-divider {
    width: 83%;
    height: 3px;            /* Ligne plus épaisse */
    background-color: #400601;
    margin: 10px auto;      /* Espace autour de la ligne */
    border-radius: 10px;     /* Coins arrondis */
  }





/* Style des liens */
#contactLinks .contact-item a,
#contactLinks .contact-item a:visited {
    text-decoration: none;
    color: #400601; /* Couleur de base */
    transition: color 0.25s ease-in-out;
}

.contact-link:hover,
.contact-link:focus,
.contact-link:active {
    color: orange !important;
}


.contact-link:visited {
    color: inherit;
}

/* Espacement pour la galerie */
.spacer-top-gallery {
    height: 20px;
}

.spacer-bottom-gallery {
    height: 20px;
}

.spacer-bottom-gallery2 {
    height: 150px;
}

/* Conteneur de la galerie */
.custom-gallery {
    display: flex;
    flex-direction: column;
    gap: 20px;
    overflow: hidden;
    width: 100vw;
}

/* Lignes contenant les images */
.custom-row {
    display: flex;
    white-space: nowrap;
    overflow: hidden;
    position: relative;
    width: 100%;
}

/* Conteneur qui se déplace */
.custom-scroll-wrapper {
    display: flex;
    gap: 30px;
    will-change: transform;
}

/* Conteneur des images */
.custom-image-container {
    display: flex;
    align-items: center;
    gap: 20px;
}

/* Style des images */
.custom-image {
    width: 90px;
    height: 90px;
    object-fit: cover;
    border-radius: 30px;
}

.custom-text {
    font-size: 2.5rem;
    font-weight: bold;
}


h2, .custom-h2 {
    font-family: "PolySans Slim", sans-serif;
    letter-spacing: -2px;
    font-weight: normal;
    margin-bottom: 0;
    transition: color 0.25s ease-out;
    font-size: 14.1025641026vw;
    line-height: 14.1025641026vw;
    margin-top: 25px;
}

@media (min-width: 768px) {
    h2, .custom-h2 {
        margin-top: 50px;
    }
}

@media (min-width: 1024px) {
    h2, .custom-h2 {
        white-space: nowrap;
        margin-top: 0;
        letter-spacing: -1px;
        font-size: 6.25vw;
        line-height: 6.25vw;
    }
}

@media (min-width: 1200px) {
    h2, .custom-h2 {
        transition: color 0.5s ease-in-out;
        font-size: 6.7708333333vw;
        line-height: 6.7708333333vw;
    }
}

@media (min-width: 1920px) {
    h2, .custom-h2 {
        font-size: 130px;
        line-height: 130px;
    }
}

.custom-scroll-item {
    opacity: 0;
    transition: opacity 0.5s ease;
}

.custom-highlight-on-scroll.visible {
    opacity: 1;
}

/* Section "Ma personnalité" */
.custom-module3 {
    position: relative;
    text-align: center;
    padding: 50px 0;
}

.custom-module3 h2 {
    font-size: 2rem;
    position: sticky;
    top: 50px; /* Fixer le texte au centre */
    transform: translateY(-50%);
    z-index: 10;
}

.custom-module3 .custom-highlight-on-scroll {
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
    font-size: 1.2rem;
    max-width: 800px;
    margin: 20px auto;
}

/* Section de contenu défilant */
.custom-scrolling-content {
    overflow-y: hidden;
}

.custom-scroll-item {
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
    transform: translateY(30px);
    margin: 40px 0;
}

.custom-scroll-item.visible {
    opacity: 1;
    transform: translateY(0);
}

.custom-scroll-item img {
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
}

/* Pour l'espace de séparation */
.custom-spacer {
    height: 100vh; /* Créer un espace pour faire défiler le contenu */
}

.spacer-fin {
    height: 40px;
}

.spacer-bottom2 {
    height: 3000px;
}


.right-col2 {
    position: relative;
    top: -2000px; /* Ajuste cette valeur pour monter le texte */
}

.left-col-module2 h1 {
    margin-top: -4000px; /* Ajuste cette valeur selon ton besoin */
}


#experience {
    position: relative;
    height: 100vh;
}

.sticky-text {
    font-size: 2.5em;
    font-family: 'Audiowide', sans-serif;
    text-align: center;
    color: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
    transition: all 0.3s ease-in-out;
}

.sticky-text.sticky {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

@media (max-width: 768px) {
    .sticky-text {
        font-size: 1.5em;
    }
}



/* Utiliser une classe spécifique pour éviter d'impacter le body global */
.passion-container {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: left;
    max-width: 81%;
    margin: auto;
}

.passion-text, .hover-text {
    font-size: 2em;
    color: #400601;
}

.passion-container {
    position: relative; /* Ajouté pour que l'élément absolu soit positionné par rapport à son parent */
}

.passion-container .passion-highlight {
    color: #ef8611;
    font-weight: bold;
    text-decoration: underline;
    cursor: pointer;
    animation: pulse 3s infinite ease-in-out;
}

.passion-container .hover-text {
    visibility: hidden; /* Commence caché */
    position: absolute; /* Positionne l'élément au-dessus des autres contenus */
    top: 100%; /* Place l'élément juste en dessous de l'élément parent */
    left: 0;
    width: 100%; /* Prend toute la largeur du parent */
    margin-top: 10px;
    color: rgb(255, 255, 255);
    background-color: #ef8611;
    padding: 5px;
    border-radius: 15px;
    border: 5px solid #ef8611;
    opacity: 0; /* Commence invisible */
    transform: translateY(10px); /* Le décaler légèrement pour l'effet d'animation */
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease; /* Animation de l'apparition */
}

.passion-container .hover-text.show {
    visibility: visible; /* Rendre visible */
    opacity: 1; /* Rendre l'élément visible */
    transform: translateY(0); /* Revenir à sa position initiale */
}

@media (max-width: 768px) {
    .passion-container {
        min-height: calc(100% + 50px); /* Ajuste selon l'espace nécessaire */
    }
}

@keyframes pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.05); }
    100% { transform: scale(1); }
}


/* Espace pour mobile */
@media screen and (max-width: 768px) {
    .espace-mobile {
        margin-top: 200px; /* Exemple d'espace */
    }
}

/* Pas d'espace sur ordinateur */
@media screen and (min-width: 769px) {
    .espace-mobile {
        margin-top: -20px;
    }
}

/* Augmenter la taille du texte pour les écrans mobiles */
@media screen and (max-width: 768px) {
    .contact-link {
        font-size: 40px; /* Taille de texte augmentée pour les mobiles */
    }
}

.fullscreen-image {
    background-image: url('images/photo.png'); /* URL de l'image */
    background-position: center;
    background-size: cover; /* L'image couvre toute la largeur et la hauteur */
    background-repeat: no-repeat; /* Évite la répétition de l'image */
    height: 100vh; /* Hauteur de la fenêtre du navigateur */
    width: 100%; /* Largeur de la page */
    position: relative; /* Permet de positionner l'overlay par rapport à cette div */
}

.overlay-text {
    font-family: "calmetta", sans-serif;
    font-weight: 800;
    font-style: normal;
    position: absolute;
    bottom: 10%; /* Positionne le texte 10% du bas de l'écran */
    left: 50%;
    transform: translateX(-50%); /* Centre le texte horizontalement */
    font-size: calc(10vw + 30px); /* Taille dynamique du texte pour occuper toute la largeur */
    color: #ef8611; /* Couleur du texte */
    font-weight: bold; /* Gras */
    text-align: center;
    letter-spacing: calc(1vw + 5px); /* Espacement entre les lettres */
    word-spacing: calc(3vw + 20px); /* Espacement entre les mots */
    z-index: 10; /* Assure que le texte soit au-dessus de l'image */
    white-space: nowrap; /* Empêche les mots de se couper */
}

/* Les mots sont en ligne par défaut */
.word {
    display: inline-block;
}

/* Pour les écrans de bureau */
@media screen and (min-width: 769px) {
    .overlay-text {
        font-size: calc(6vw + 40px); /* Taille ajustée pour les grands écrans */
        bottom: 5%; /* Position plus proche du bas de l'écran */
        letter-spacing: calc(0.5vw + 10px); /* Espacement réduit entre les lettres */
        word-spacing: calc(1.5vw + 15px); /* Espacement réduit entre les mots */
    }
}

/* Pour les écrans mobiles */
@media screen and (max-width: 768px) {
    .overlay-text {
        font-size: calc(15vw + 10px); /* Augmente la taille du texte pour occuper toute la largeur de l'écran */
        bottom: 5%; /* Déplace le texte directement vers le bas de l'écran */
        letter-spacing: calc(2vw + 10px); /* Augmenter l'espacement entre les lettres pour mieux remplir l'écran */
        word-spacing: calc(5vw + 10px); /* Augmenter l'espacement entre les mots */
    }
    
    .word {
        display: block; /* Les mots passent l'un au-dessus de l'autre */
        text-align: center; /* Centrer chaque mot */
    }
}
.custom-link {
    text-decoration: none; /* Supprime le soulignement */
}
.custom-text {
    color: #400601; /* Couleur du texte avant hover */
    transition: color 0.3s ease;
}
.custom-link:hover .custom-text {
    color: #ef8611;
}


.custom-image:hover {
    border: 3px solid #ef8611; /* Change la couleur et l'épaisseur du contour */
}
.custom-link:hover .custom-image {
    border: 3px solid #ef8611; /* Contour autour de l'image */
}


