/*======================================
WORKS PAGE
======================================*/

.works-page{

    padding-top:120px;

}

.works-inner{

    width:min(1200px, calc(100% - 40px));

    margin-inline:auto;

}



/*======================================
HERO
======================================*/

.works-hero{

    padding:60px 0 100px;

    text-align:center;

}

.works-subtitle{

    display:inline-block;

    position:relative;

    margin-bottom:36px;

    font-size:.95rem;

    font-weight:700;

    letter-spacing:.25em;

    text-transform:uppercase;

    color:#E96319;

}

.works-subtitle::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-18px;

    width:120px;

    height:2px;

    background:#FFA93A;

}

.works-title{

    margin-bottom:24px;

    font-size:2rem;

    color:#222;

}

.works-description{

    max-width:720px;

    margin:0 auto;

    line-height:2;

    color:#555;

}



/*======================================
SECTION
======================================*/

.works-section{

    padding-bottom:100px;

}

.works-heading{

    display:inline-block;

    position:relative;

    margin-bottom:50px;

    padding-bottom:14px;

    font-size:1rem;

    font-weight:700;

    letter-spacing:.18em;

    color:#E96319;

}

.works-heading::after{

    content:"";

    position:absolute;

    left:0;

    bottom:0;

    width:90px;

    height:2px;

    background:#FFA93A;

}



/*======================================
GRID
======================================*/

.works-grid-web{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:50px;

}

.works-grid-graphic{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:32px;

}

.works-grid-logo{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:28px;

}



/*======================================
CARD
======================================*/

.works-card{

    overflow:hidden;

    background:#fff;

    border-radius:18px;

    box-shadow:0 8px 24px rgba(0,0,0,.06);

    transition:.35s;

}

.works-card:hover{

    transform:translateY(-8px);

    box-shadow:0 20px 40px rgba(0,0,0,.12);

}

.works-card a{

    display:block;

    text-decoration:none;

    color:inherit;

}



/*======================================
IMAGE
======================================*/

.works-image{

    overflow:hidden;

}

.works-image img{

    width:100%;

    aspect-ratio:16 / 10;

    object-fit:cover;

    display:block;

    transition:.5s;

}

.works-card:hover img{

    transform:scale(1.05);

}

.works-grid-logo .works-image img{

    aspect-ratio:1;

    object-fit:contain;

    padding:40px;

}



/*======================================
TEXT
======================================*/

.works-content{

    padding:24px;

}

.works-content h3{

    margin-bottom:10px;

    font-size:1.2rem;

    color:#222;

}

.works-content p{

    color:#666;

    line-height:1.8;

}





.works-label{

    display:inline-block;

    margin-bottom:12px;

    font-size:.75rem;

    font-weight:700;

    letter-spacing:.15em;

    color:#E96319;


}

.works-link{

    display:inline-block;

    margin-top:18px;

    font-size:.9rem;

    font-weight:700;

      color:#E96319;

    transition:.3s;

}

.work-card:hover .works-link{

    transform:translateX(6px);

}


.works-content{

    padding:24px;

    display:flex;

    flex-direction:column;

    gap:10px;

}

.works-link{

    margin-top:auto;

    font-size:.9rem;

    font-weight:700;

    color:var(--accent);

    transition:.3s;

}

.works-card:hover .works-link{

    transform:translateX(6px);

}















/*======================================
WORKS FLIP
======================================*/

.works-flip{

    position:relative;

    aspect-ratio:16 / 10;

    overflow:hidden;

    perspective:1000px;

}

.works-front,
.works-back{

    position:absolute;

    inset:0;

    width:100%;
    height:100%;

    object-fit:cover;

    backface-visibility:hidden;

    transition:transform .6s ease;

}

.works-front{

    transform:rotateY(0deg);

}

.works-back{

    transform:rotateY(180deg);

}

.works-card:hover .works-front{

    transform:rotateY(-180deg);

}

.works-card:hover .works-back{

    transform:rotateY(0deg);

}



/*======================================
WORKS MODAL IMAGE
======================================*/

.works-modal-images{

    display:grid;

    gap:40px;

    margin:30px 0;

}

.works-modal-image h3{

    margin-bottom:16px;

    font-size:1rem;

    color:#E96319;

}

.works-modal-image img{

    width:100%;

    display:block;

    border-radius:12px;

    box-shadow:0 8px 24px rgba(0,0,0,.08);

}


/*======================================
WORKS MODAL
======================================*/

.works-modal{

    position:fixed;
    inset:0;

    display:none;

    justify-content:center;
    align-items:center;

    padding:30px;

    z-index:9999;

}

.works-modal.active{

    display:flex;

}

.works-modal-overlay{

    position:absolute;
    inset:0;

    background:rgba(0,0,0,.65);

}

.works-modal-box{

    position:relative;

    width:min(900px,100%);
    max-height:90vh;

    overflow-y:auto;

    background:#fff;

    border-radius:20px;

    padding:40px;

    z-index:2;

}

.works-modal-close{

    position:absolute;

    top:18px;
    right:18px;

    width:42px;
    height:42px;

    border:none;

    border-radius:50%;

    background:#f4f4f4;

    cursor:pointer;

    font-size:1.4rem;

}

.works-modal-body img{

    width:100%;

    display:block;

    margin-bottom:30px;

    border-radius:12px;

}

@media(max-width:768px){

    .works-modal{

        padding:20px;

    }

    .works-modal-box{

        padding:24px;

    }

}



/*======================================
TABLET
======================================*/

@media(max-width:1024px){

    .works-grid-web{

        grid-template-columns:1fr;

    }

    .works-grid-graphic{

        grid-template-columns:repeat(2,1fr);

    }

    .works-grid-logo{

        grid-template-columns:repeat(3,1fr);

    }

}



/*======================================
SP
======================================*/

@media(max-width:768px){

    .works-page{

        padding-top:100px;

    }

    .works-hero{

        padding:40px 0 70px;

        text-align:left;

    }

    .works-title{

        font-size:1.7rem;

    }

    .works-description{

        max-width:none;

    }

    .works-section{

        padding-bottom:70px;

    }

    .works-grid-web,

    .works-grid-graphic,

    .works-grid-logo{

        grid-template-columns:1fr;

        gap:24px;

    }

    .works-content{

        padding:20px;

    }

}