/* ==========================================
   FEATURED PROJECTS
========================================== */

.projects{

    padding:120px 0;

    background:#ffffff;

}


/* ==========================================
   PROJECTS GRID
========================================== */

.projects-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

}


/* ==========================================
   PROJECT CARD
========================================== */

.project-card{

    background:#ffffff;

    border-radius:20px;

    overflow:hidden;

    box-shadow:0 12px 35px rgba(0,0,0,.08);

    transition:.4s ease;

}

.project-card:hover{

    transform:translateY(-10px);

    box-shadow:0 25px 60px rgba(0,0,0,.15);

}


/* ==========================================
   PROJECT IMAGE
========================================== */

.project-image{

    position:relative;

    overflow:hidden;

    height:320px;

}

.project-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    display:block;

    transition:transform .6s ease;

}

.project-card:hover .project-image img{

    transform:scale(1.12);

}


/* ==========================================
   IMAGE OVERLAY
========================================== */

.project-overlay{

    position:absolute;

    inset:0;

    display:flex;

    justify-content:center;

    align-items:center;

    background:rgba(15,23,42,.72);

    opacity:0;

    transition:.4s ease;

}

.project-card:hover .project-overlay{

    opacity:1;

}


/* ==========================================
   VIEW BUTTON
========================================== */

.project-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:14px 34px;

    background:var(--primary);

    color:#fff;

    border-radius:50px;

    font-weight:600;

    transform:translateY(20px);

    transition:.35s ease;

}

.project-card:hover .project-btn{

    transform:translateY(0);

}

.project-btn:hover{

    background:#d65f00;

}


/* ==========================================
   PROJECT CONTENT
========================================== */

.project-content{

    padding:28px;

}


/* ==========================================
   CATEGORY BADGE
========================================== */

.project-category{

    display:inline-block;

    margin-bottom:14px;

    padding:6px 14px;

    border-radius:30px;

    background:rgba(234,88,12,.10);

    color:var(--primary);

    font-size:13px;

    font-weight:600;

    text-transform:uppercase;

    letter-spacing:1px;

}


/* ==========================================
   PROJECT TITLE
========================================== */

.project-content h3{

    font-size:24px;

    color:var(--secondary);

    margin-bottom:10px;

    line-height:1.3;

}


/* ==========================================
   LOCATION
========================================== */

.project-content p{

    color:#6b7280;

    font-size:15px;

}


/* ==========================================
   FOOTER BUTTON
========================================== */

.projects-footer{

    margin-top:70px;

    text-align:center;

}

/* ==========================================
   RESPONSIVE - LARGE LAPTOP
========================================== */

@media (max-width:1200px){

    .projects-grid{

        gap:30px;

    }

    .project-image{

        height:290px;

    }

    .project-content{

        padding:24px;

    }

    .project-content h3{

        font-size:22px;

    }

}


/* ==========================================
   RESPONSIVE - TABLET
========================================== */

@media (max-width:992px){

    .projects{

        padding:100px 0;

    }

    .projects-grid{

        grid-template-columns:repeat(2,1fr);

        gap:28px;

    }

    .project-image{

        height:280px;

    }

    .project-content{

        padding:22px;

    }

    .projects-footer{

        margin-top:55px;

    }

}


/* ==========================================
   MOBILE
========================================== */

@media (max-width:768px){

    .projects{

        padding:80px 0;

    }

    .projects-grid{

        grid-template-columns:1fr;

        gap:25px;

    }

    .project-image{

        height:260px;

    }

    .project-content{

        padding:20px;

    }

    .project-content h3{

        font-size:22px;

    }

    .project-content p{

        font-size:15px;

    }

    .project-btn{

        padding:13px 28px;

    }

}


/* ==========================================
   SMALL MOBILE
========================================== */

@media (max-width:480px){

    .projects{

        padding:70px 0;

    }

    .project-card{

        border-radius:18px;

    }

    .project-image{

        height:230px;

    }

    .project-content{

        padding:18px;

    }

    .project-category{

        font-size:12px;

        padding:5px 12px;

    }

    .project-content h3{

        font-size:20px;

    }

    .project-content p{

        font-size:14px;

    }

    .projects-footer{

        margin-top:45px;

    }

}


/* ==========================================
   IMAGE LOADING
========================================== */

.project-image img{

    opacity:0;

    animation:projectFade .8s ease forwards;

}

@keyframes projectFade{

    from{

        opacity:0;

        transform:scale(1.05);

    }

    to{

        opacity:1;

        transform:scale(1);

    }

}


/* ==========================================
   ACCESSIBILITY
========================================== */

.project-card:focus-within{

    outline:2px solid var(--primary);

    outline-offset:5px;

}


/* ==========================================
   REDUCED MOTION
========================================== */

@media (prefers-reduced-motion:reduce){

    .project-card,
    .project-image img,
    .project-overlay,
    .project-btn{

        transition:none !important;

        animation:none !important;

    }

}