.body {
    background-color: #472C21;
    font-size: 18px;
    color: #FFEFD2;
    font-family: "Sawarabi Mincho", serif;
    font-weight: 400;
    font-style: normal;
    margin:0;
    padding:0;
    overflow-x: hidden;
    line-height: 1.6;
    scroll-behavior: smooth;
}

.body main {
    margin-bottom:166px;
}

/* --------------------- background -------------------- */

.header {
    position:relative;
    top:0;
    height:1000px;
    color:#4E3226;
    background-image: url('./images/background.svg');
    background-repeat:no-repeat; 
    background-size:160%;      
    background-position: left 100% top 0%;  
}


/* --------------------- header -------------------- */

.header__content {
    display:grid;
    grid-template-columns:repeat(5, 1fr);
    gap:25px;
    margin-left:150px;
    margin-right:150px;
}

.header__title {
    line-height:1.2;
    font-family: "Uncial Antiqua", system-ui;
    font-weight: 400;
    font-style: normal;
    grid-row:1;
    color:#FFEFD2;
    font-size: clamp(2.9375rem, 1.6979rem + 9.9167vw, 10.375rem);
    grid-column:3/6 ;
}

.header__anim {
    grid-row:1;
    grid-column:1/3;
    display:flex;
}

.header__img {
    width:80%;
    display:flex;
    align-items:center;
    justify-content:center;
}

/* --------------------- rose des vents -------------------- */


/* --------------------- title -------------------- */

.title {
    font-family: "Slackey", sans-serif;
    font-weight: 400;
    font-style: normal;
    color:#D09D6B;
    font-size: clamp(1.4375rem, 1.3542rem + 0.6667vw, 1.9375rem);
}

.title__big {
    font-family: "Uncial Antiqua", system-ui;
    font-weight: 400;
    font-style: normal;
    font-size: clamp(2.1875rem, 1.8125rem + 3vw, 4.4375rem);
    color:#FFEFD2;
    margin:0;
    padding:0;
}


/* --------------------- nav -------------------- */

.no-scroll{ 
    overflow: hidden;
}

.menu {
    grid-row:2;
    grid-column:1/6;
}

.menu__toggle {
    display: none;
}

.menu__liste {
    list-style: none;
    display:flex;
    justify-content:space-between;
    margin-top:47px;
}

.title__nav a {
    font-family: "Slackey", sans-serif;
    font-weight: 400;
    font-style: normal;
    color:#D09D6B;
    transition:color 0.2s ;
    font-size:25px;
    text-decoration: none;
}

.title__nav a:hover{
    color:#FFEFD2;
}


/* --------------------- background -------------------- */

.background {
    position:relative;
    top:0;
    height:800px;
    color:#4E3226;
    background-image: url('./images/background.svg');
    background-repeat:no-repeat;  
}

.background--1 {
    background-size:110%;      
    background-position: right 140% top 0%; 
}

.background--2 {
    background-size:120%;      
    background-position: left 180% top 0%; 
}

/* --------------------- slide txt -------------------- */

.slide {
    display:grid;
    grid-template-columns:repeat(7, 1fr);
    gap:25px;
    margin-left:150px;
    margin-right:150px;
    margin-top:200px;
    color:#FFEFD2
}

.content {
    grid-column:1/8; 
    display:grid;
    grid-template-columns:subgrid; 
}

.content .title__big {
    grid-column:1/8;
    grid-row:1;
    display:flex;
    padding-left:31px;
}

.ctxt__txt , .problematiques__txt--2 , .idee__txt--3 {
    grid-column:1/5;
    grid-row:2;
    padding-left:31px;
}

.constat__txt {
    grid-column:4/8;
}

.constat__txt p :nth-child(1), .constat__txt--2 p :nth-child(1) {
    margin-bottom:47px;
}

.constat__txt--2 {
    grid-column:1/5;
    padding-left:31px;
}

.problematiques__txt , .developpement__txt {
    grid-column: 4/8;
    grid-row:2;
}

.problematiques__budget {
    display: flex;
    align-items: center; 
    gap: 31px;          
}

.budget--2{
    flex: 1;
}

.slide {
    position:relative; 
}

.problematiques__txt--2 {
    grid-column: 1/5;
    grid-row: 1;
}

.idee__txt {
    grid-column: 1/6;
    padding-left:31px;
}

.idee__txt--2 {
    grid-column: 3/8;
}

/* --------------------- images -------------------- */

.img__contexte::before , .img__idee--3::before {
    position:absolute;
    content:"";
    width:100%; 
    background-color:#D09D6B;
    height:100%;
    z-index:2;
    top:0;
    left:0;
    clip-path:polygon(22% 0%, 30% 0%, 8% 100%, 0% 100%);
    display:block;
}


.img__contexte , .img__idee--3 {
    grid-column:4/8;
    grid-row:2;
    position:relative;
    width: 100%; 
    z-index: 1;
    left:150px;
    bottom:0;
}

.img__contexte img , .img__idee--3 img {
    width:100%;
    display:block;
    clip-path:polygon(30% 0%, 100% 0%, 100% 100%, 0% 100%);
    object-fit:cover;
    height:100%;
}

.img__idee--3::before , .img__idee--3 img {
    height:70%
}

.img__constat {
    width: 100%; 
}

.img__constat img {
    width: 100%;
    border-radius: 30px;
    border:#FFEFD2 solid 2px ;
    box-shadow: 3px 3px 5px #FFEFD2;
}

.img__coffre {
    display: flex;
    width: 30%;
}

.img__problematiques {
    width: 80%;
    grid-column: 1/4;
    grid-row: 2;
    justify-self: center;
    align-self: center;
    border-radius: 30px;
    border:#FFEFD2 solid 2px ;
    box-shadow: 3px 3px 5px #FFEFD2;
}

.img__problematiques--2 {
    grid-column:5/8 ;
    width: 80%;
    justify-self: end;
    align-self: flex-end;
    border-radius: 30px;
    border:#FFEFD2 solid 2px ;
    box-shadow: 3px 3px 5px #FFEFD2;
    grid-row: 1;
}

.img__idee {
    grid-column: 6/8;
    width: 80%;
    border-radius: 200px 200px 0px 0px;
}

.img__idee--2 {
    justify-self: center;
    align-self: flex-end;
    margin-bottom:11px;
    grid-column: 1/3;
    width:80%;
    border-radius: 200px 200px 0px 0px;
}

/* --------------------- deco -------------------- */

.deco {
    content:"";
    display: block;
    align-self: flex-end;
}

.deco--1 {
    width: 90%;
    margin-top:31px;
    background-color:#FFEFD2;
    height:30px;
    clip-path: polygon(0 0, 95% 0, 100% 100%, 0 100%);
}

.deco--2 {
    width: 100%;
    margin-top:11px;
    background-color:#D09D6B;
    height:70px;
    clip-path: polygon(0 0, 90% 0, 100% 100%, 0 100%);
}


/* --------------------- line -------------------- */

.line {
    position:absolute;
    top:0; 
    bottom:0;
    width:20px; 
    z-index:10;
    grid-column:1;
    left:0;
}

.line ul {
    list-style:none;
    left:0;
    margin:0;
    padding:0;
    position:relative; 
    height:90%;       
    display:flex;
    flex-direction:column;
    justify-content:space-between; 
    top:7%;
}

.line::before {
    content:"";
    position:absolute;
    height:90%;
    width:3px;
    background-color:#794F41;
    top:7%;
}

.line__circle {
    content:"";
    width:10px ;
    height:10px;
    left:-3.5px;
    background-color:#794F41;
    border-radius:30px;
    position:absolute;
    transition: background-color 0.3s;
}

.line__circle:hover {
    background-color:#FFEFD2;
}

.line__circle--active {
    background-color:#FFEFD2;
    outline: #FFEFD2 solid 1px;
    outline-offset:10px;
}

.slide__idee--2 .line {
    height:67%
}

/* --------------------- anim nuage de mots -------------------- */

.nuage {
    grid-column:5/8;
    scale: 0.9 ;
    font-family: "Slackey", sans-serif;
    font-weight: 400;
    font-style: normal;
}
.tagcloud {
    color:#D09D6B;
}

.tagcloud--item {
    transition:color 0.2s ;
}

.tagcloud--item:hover {
    color:#FFEFD2;
}

/* --------------------- credits -------------------- */

.credits {
    margin-left:150px;
    margin-right:150px;
    margin-top:200px;
}

.credits a {
    color: #D09D6B;
    transition:color 0.2s ;
    text-decoration: none;
}

.credits a:hover {
    color:#FFEFD2;
}

/* --------------------- footer -------------------- */

.footer {
    display:flex;
    background-color: #D09D6B;
    justify-content: center;
}

.footer div {
    padding-top:51px;
    padding-bottom:51px;
}

.footer .title a , .footer .title {
    color:#472C21;
    text-decoration: none;
}

.footer .title a:hover {
    text-decoration: underline;
}

/* --------------------- responsive -------------------- */

@media (max-width: 1250px) {
    .nuage {
        scale: 0.8;
    }
}

@media (max-width: 1100px) {

    .header__anim {
        grid-column:1/2;
    }

    .header__img {
        width:100%;
    }

    .header__title {
        grid-column: 2/6;
    }

    .title__nav {
        font-size: 20px;
    }

    .nuage {
        scale: 0.6;
    }

}



@media (max-width: 950px) {

    .title {
        margin-bottom: 15px;
        display: block;
    }

    /* --------------- zone navigation --------------- */

    .title__nav {
        padding:31px;
    }

    .icon--burger {
        fill:#D09D6B;
        transition: fill 0.3s ease-in-out;
    }

    .icon--burger:hover{
        fill:#FFEFD2;
    }

    .menu__toggle{
        display: block;
        position: fixed;
        top: 20px;
        right: 20px;
        cursor: pointer;
        z-index: 20; 
    }

    .menu__liste{
        display: flex;
        flex-direction: column;
        justify-content: center; 
        align-items: center;
        position: fixed;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        background-color:#472C21;
        margin: 0; 
        transform: translateX(100%);
        transition: transform 0.3s ease-in-out;
        z-index: 15; 
    }

    .menu--open .menu__liste{
        transform: translateX(0);
    }


    /* --------------- zone header (hors nav) ---------------- */

    .header {
        height: auto;
        background-size: cover;
        padding-bottom: 58px;
    }

    .header__content {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-left: 58px;
        margin-right: 58px;
        gap: 11px;
    }

    .header__anim {
        order: 2;
        justify-content: center;
    }

    .header__img {
        width:60%;
    }

    .header__title {
        order: 1;
        text-align: center;
        margin-top: 88px;
    }


    /* --------------- background ---------------- */

    .header, .background {
        height: auto;
        background-size: cover; 
        background-position: center;
        padding-bottom: 88px;
    }


    /* --------------- slides ---------------- */

    .slide, .content {
        display: flex;
        flex-direction: column;
        margin-left: 30px; 
        margin-right: 20px;
        margin-top: 50px;
        gap: 20px;
    }

    .ctxt__txt, .problematiques__txt, .constat__txt, .constat__txt--2, .problematiques__txt--2, .idee__txt, .idee__txt--2, .idee__txt--3, .developpement__txt {
        grid-column: 1 / -1; 
        padding-left: 0;
    }

    .title__big {
        padding-left: 0;
    }

    .slide {
        margin-top: 0 !important; 
        gap: 40px; 
    }

    
    /* --------------- deco et img ---------------- */

    .img__idee , .img__idee--2 {
        width: 30%;
    }

    .img__contexte {
        height:300px;
    }

    .img__idee--3 {
        height:500px;
    }

    .img__contexte , .img__idee--3 {
        left:58px;
    }

    .deco--1 , .deco--2 {
        display:none;
    }


    .img__problematiques, .img__problematiques--2 {
        width: 100%;       
        max-width: 300px;  
        margin: 0 auto; 
        display: block;
    }

    .img__problematiques img, .img__problematiques--2 img {
        width: 100%;
        height: 100%;
        object-fit: cover; 
        border-radius: 20px;
    }

    /* --------------- line ---------------- */

    .line {
        left: 10px; 
    }

    
    /* --------------- anim nuage ---------------- */

    .nuage {
        display:none;
    }

}


@media (max-width: 600px) {

    .header__content, .slide, .credits {
        display: flex;
        flex-direction: column;
        width: auto; 
        margin-left: 20px; 
        margin-right: 20px;
        padding: 0;
    }

    .content, .ctxt__txt, .problematiques__txt, .constat__txt, .constat__txt--2, .problematiques__txt--2, .idee__txt, .idee__txt--2, .idee__txt--3, .developpement__txt {
        width: 100%;
        grid-column: auto; 
        padding: 0;
        margin-left: 0;
    }

    .header__img {
        width: 100%;
        max-width: 250px; 
    }

    .img__contexte, .img__idee, .img__idee--2,.img__idee--3 {
        width: 60%;
        box-sizing: border-box; 
    }

    .img__contexte , .img__idee--3 {
        display: flex;
        width: 100%;
        left: 20px;
    }

    .line {
        display: none;
    }

    .title__big {
        hyphens: auto;
    }

    .footer div {
        text-align: center;
        hyphens: auto;  
        padding:20px;
    }

    .footer {
        gap: 11px;
    }

}

@media (max-width: 300px) {
    
    .img__contexte, .img__problematiques, .img__problematiques--2, .img__idee, .img__idee--2,.img__idee--3 {
        width: 100%;
    }

}