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

:root {
    --margin-grid: 2rem;
}

@media (max-width: 992px) {
    :root {
        --margin-grid: 1.5rem;
    }
}

@media (max-width: 576px) {
    :root {
        --margin-grid: 1.5rem;
    }
}


.container-fluid {
    padding-left: var(--margin-grid);
    padding-right: var(--margin-grid);
}

.row {
    --bs-gutter-x: 1rem;
}

a {
    color: inherit;
    text-decoration: none;
}

:root{
    font-size: 1.5vw;
    line-height: 1.4em;
}   

@font-face {
    font-family: "PP Editorial Old";
    src: url('fonts/PPEditorialOld-ThinItalic.otf');
}



body{
    font-family: "PP Editorial Old";
    color: #cccccb;
    background-color: #0f0f0f;

    *::selection{
        color: #cccccb;
        background-color: #ED1827;
    }

    i::selection{
        color: #cccccb;
        background-color: #0f0f0f;
    }
}

body{
    font-family: "PP Editorial Old";
    color: #cccccb;
    background-color: #0f0f0f;

    font-variant-ligatures: common-ligatures discretionary-ligatures;
    font-variant-numeric: oldstyle-nums;
    font-feature-settings: 
        "liga" 1,
        "dlig" 1,
        "clig" 1,
        "calt" 1,
        "ss01" 1,
        "ss02" 1;

}


/* ========== HEADER ========== */

header {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 5rem;
    padding: var(--margin-grid);
    z-index: 100;
    font-size: 2rem;
}

@media (max-width: 576px) {
    header {
        height: 7rem;          
        font-size: 3.5rem;     
        padding: 0 2rem;     
    }
}

header a {
    color: #cccccb;
    text-decoration: none;
}

header a:hover {
    color: #ED1827;
}

.index-header{
    color: #cccccb;
    background-color: #0f0f0f;
}

.indexonly-header{
    color: #cccccb;
}

header nav ul{
    display: flex;
    gap: 1.5rem;
    list-style: none;
}

/* ========== INDEX ========== */

.imagem-container {
    height: calc(100vh - 6.5rem);
    text-align: right;
    padding: 1rem;

  }
  
  .imagem-container img {
    height: 100%;
 
  }

  @media (max-width: 576px) {
    .imagem-container {
      height: calc(100vh - 6.5rem);
      display: flex;
      align-items: flex-end;
      justify-content: center;
    }
  
    .imagem-container img {
      width: 100%;
      height: auto;
    }
}



/* ========== MAIN ========== */

main{
    margin-top: 4rem;
    min-height: calc(100dvh - 9rem);
}

/* ========== WORK ========== */

main.work {
    align-items: flex-end;
    display: flex;
    color: #cccccb;
}

@media (max-width: 576px) {
    main.work {
            min-height: 100dvh;
            height: auto;
            display: flex;
            flex-direction: column;
            align-items: flex-start; /* opcional mas recomendado */
            padding-bottom: 4rem;
            padding-top: 5rem;
        }
   
}

main.work .card{
    position: relative;
    padding-top: 1rem;
    margin-top: 1rem;
    border-top: 1px solid #cccccb;
}

main.work .card:last-of-type{
    border-bottom: 1px solid #cccccb;
    padding-bottom: 1rem;
}


main.work .card-title{
    font-size: 1.5rem;
}

main.work .card:hover .card-title{
    color: #ED1827;
}

main.work .card-title{
    font-size: 1.5rem;
    transition: color .2s ease;
}

main.work .card:hover .card-regime,
main.work .card:hover .card-date{
    color: #ED1827;
}

@media (max-width: 576px) {
    main.work .card-title{
        font-size: 6rem;
        margin-bottom: 2.5rem;
        margin-top: 4rem;
    }
    
}

main.work .card-regime{
    font-size: 0,70rem;
    display: flex;
    align-items: center;
    height: 100%;
    line-height: 120%;
}

@media (max-width: 576px) {
    main.work .card-regime{
        font-size: 2rem;
        margin-bottom: 3rem;
    }
    
}

main.work .card-date{
    font-size: 1rem;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    height: 100%;
}

@media (max-width: 576px) {
    main.work .card-date{
        font-size: 2rem;
        margin-bottom: 3rem;
    }
    
}

main.work .card-image{
    position: absolute;
    top: -4rem;
    left: 25%;
    z-index: 10;
    aspect-ratio: 4/2.5;
    width: 30%;
    opacity: 0;
    transition: .2s;
    pointer-events: none;
}

main.work .card-image img{
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

main.work .card:hover .card-image{
    opacity: 1;
}

@media (max-width: 576px) {
    main.work .card-image {
        position: static;      /* sai do absolute */
        opacity: 1;            /* sempre visível */
        width: 100%;
        aspect-ratio: 4/2.5;
        top: auto;
        left: auto;
        pointer-events: auto;
        margin-top: 1rem;
        padding-bottom: 4rem;
    }

    main.work .card:hover .card-image {
        opacity: 1; /* desativa hover effect */
    }
}

/* ========== ABOUT ========== */

.background{
    background-color: #0f0f0f;
}

main.about{
    padding:var(--margin-grid);
    font-size: 2.5rem;
    line-height: 120%;
    color: #cccccb;
    display: flex;
}

@media (max-width: 576px) {
    main.about{
        font-size: 5rem;
        padding-top: 7rem;
    }
}


/* ========== PROJECT ========== */

main.project{
    padding-top: 2.5rem;
}

@media (max-width: 576px) {
    main.project{
        padding-top: 2rem;
        padding: 2.5rem var(--margin-grid) 0 var(--margin-grid);
        }
}

main .project-title{
    padding-bottom: 1rem;
    font-size: 1.25rem;
}

main .project-text{
    padding-bottom: 2rem;
    font-size: 2.5rem;
    line-height: 120%;
}

@media (max-width: 576px) {
    main .project-text{
        font-size: 4.5rem;
        padding-top: 4.5rem;
        padding-bottom: 4.5rem;
    }
}

main .project-tags{
    font-size: 0.85rem;
    line-height: 140%;
}

@media (max-width: 576px) {
    main .project-tags{
        margin-bottom: 2rem;
    }
}

main .project-images img{
    width: 70%;
    height: auto;
    margin: 0 auto var(--bs-gutter-x) auto;
    display: block;
}

@media (max-width: 576px) {
    main .project-images img{
        width: 100%;
        height: auto;
    }
}

main .project-video{
    width: 70%;
    height: auto;
    margin: 0 auto var(--bs-gutter-x) auto;
    display: block;
    padding: 40% 0 0 0; 
    position: relative
}

@media (max-width: 576px) {
    main .project-video{
        width: 100%;
        height: auto;
    }
}

main .project-video iframe{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

@media (max-width: 576px) {
    main .project-video iframe{
        width: 100%;
        height: auto;
    }
}

/* main .project-before-after{
    font-size: 2rem;
    display: flex;
    justify-content: flex-end;
    padding-bottom: 2rem;
}

main .space-between-arrows{
    padding-left: 2rem;
}

main .project-last-arrow{
    padding-right: 4.4rem;
}
*/

/* ========== FOOTER ========== */

footer{
    font-size: 1rem;
    display: flex;
    align-items: center;
    height: 5rem;
    line-height: 140%;
}

    @media (max-width: 576px) {
        footer {
            font-size: 3.5rem;
            height: auto;
            padding: 2rem var(--margin-grid);
            
        }
    }

    @media (max-width: 576px) {
        footer .row {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
        }
    
        footer .col-6 {
            flex: 0 0 auto;
        }
    
        footer .col-6:first-child {
            text-align: left;
        }
    
        footer .col-6:last-child {
            text-align: right;
        }
    }

footer ul{
    list-style: none;
}

.grey-footer{
    color: #cccccb;
    list-style: none;
} 

.grey-footer ul li :hover{
    list-style: none;
    color: #ED1827;
}

