/*=====================================
PRODUCT PORTFOLIO
======================================*/

.visuals{
    padding:120px 0;
    background:#0B0B0F;
}

.portfolio-group{
    margin-top:80px;
}

.group-header{
    text-align:center;
    margin-bottom:45px;
}

.group-header h3{
    color:#fff;
    font-size:34px;
    font-weight:700;
    margin-bottom:10px;
}

.group-header p{
    color:#B8B8C5;
    font-size:16px;
    line-height:1.8;
    max-width:700px;
    margin:0 auto;
}

/*=====================================
GRID
======================================*/

/* Packaging = 3 x 2 */
.packaging-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}

/* Marketplace = Auto Responsive */
.visual-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:30px;
}

/*=====================================
CARD
======================================*/

.portfolio-card{
    position:relative;
    overflow:hidden;
    border-radius:22px;
    background:#151515;
    border:1px solid rgba(255,255,255,.08);
    transition:.35s ease;
    cursor:pointer;
}

.portfolio-card:hover{
    transform:translateY(-8px);
    border-color:#ED4C84;
    box-shadow:0 15px 35px rgba(237,76,132,.22);
}

/*=====================================
IMAGE
======================================*/

.packaging-grid .portfolio-card{
    aspect-ratio:4/5;
}

.visual-grid .portfolio-card{
    aspect-ratio:4/5;
}

.portfolio-card img{
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
    padding:20px;
    background:#151515;
    transition:.35s ease;
}

.portfolio-card:hover img{
    transform:scale(1.05);
}

/*=====================================
OVERLAY
======================================*/

.portfolio-overlay{
    position:absolute;
    left:0;
    right:0;
    bottom:0;

    padding:18px;

    background:linear-gradient(
        to top,
        rgba(0,0,0,.95),
        rgba(0,0,0,.45),
        transparent
    );

    opacity:0;
    transition:.35s ease;
}

.portfolio-card:hover .portfolio-overlay{
    opacity:1;
}

.portfolio-overlay span{
    display:block;
    text-align:center;
    color:#fff;
    font-size:18px;
    font-weight:600;
}

/*=====================================
DIVIDER
======================================*/

.section-divider{
    width:100%;
    height:1px;
    background:rgba(255,255,255,.08);
    margin:100px 0;
}

/*=====================================
TABLET
======================================*/

@media (max-width:992px){

    .visuals{
        padding:90px 0;
    }

    .group-header h3{
        font-size:30px;
    }

    .packaging-grid{
        grid-template-columns:repeat(2,1fr);
        gap:24px;
    }

    .visual-grid{
        grid-template-columns:repeat(2,1fr);
        gap:24px;
    }

}

/*=====================================
MOBILE
======================================*/

@media (max-width:768px){

    .visuals{
        padding:80px 0;
    }

    .portfolio-group{
        margin-top:60px;
    }

    .group-header{
        margin-bottom:35px;
    }

    .group-header h3{
        font-size:26px;
    }

    .group-header p{
        font-size:15px;
    }

    .packaging-grid,
    .visual-grid{
        grid-template-columns:1fr;
        gap:20px;
    }

    .portfolio-card{
        max-width:360px;
        margin:0 auto;
        width:100%;
    }

    .section-divider{
        margin:70px 0;
    }

}

/*=====================================
SMALL MOBILE
======================================*/

@media (max-width:480px){

    .portfolio-card{
        max-width:300px;
    }

    .group-header h3{
        font-size:22px;
    }

    .portfolio-overlay span{
        font-size:16px;
    }

}