/* =====================================================
   PROJECTS PAGE
===================================================== */


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

.projects-hero{

    min-height:70vh;

    display:flex;

    align-items:center;

    justify-content:center;

    text-align:center;

    padding:160px 8% 100px;

    background:#F7F7F5;

}

.projects-hero-content{

    max-width:900px;

}

.projects-hero h1{

    font-family:'Cormorant Garamond',serif;

    font-size:90px;

    line-height:1;

    margin:25px 0;

    color:#292B36;

}

.projects-hero h1 span{

    color:#C78A2A;

}

.projects-hero p:last-child{

    max-width:650px;

    margin:auto;

    font-size:18px;

    line-height:32px;

    color:#666;

}


/* ================= ALL PROJECTS ================= */

.all-projects{

    padding:130px 8%;

    background:#fff;

}

.projects-intro{

    max-width:850px;

    margin-bottom:80px;

}

.projects-intro h2{

    font-family:'Cormorant Garamond',serif;

    font-size:72px;

    line-height:1.05;

    margin-top:20px;

    color:#292B36;

}

.projects-intro h2 span{

    color:#C78A2A;

}


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

.projects-grid{

    display:grid;

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

    gap:80px 45px;

}


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

.project-card{

    cursor:pointer;

}


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

.project-image{

    position:relative;

    width:100%;

    height:520px;

    overflow:hidden;

    border-radius:25px;

}

.project-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:transform .8s ease;

}


/* image hover */

.project-card:hover .project-image img{

    transform:scale(1.06);

}


/* ================= NUMBER ================= */

.project-number{

    position:absolute;

    top:25px;

    left:25px;

    width:48px;

    height:48px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:rgba(255,255,255,.9);

    color:#222;

    font-size:13px;

    font-weight:600;

    z-index:2;

}


/* ================= INFO ================= */

.project-info{

    display:flex;

    justify-content:space-between;

    align-items:flex-end;

    padding:25px 5px 0;

}

.project-info p{

    margin:0 0 8px;

    color:#C78A2A;

    font-size:12px;

    letter-spacing:2px;

    font-weight:600;

}

.project-info h3{

    margin:0;

    font-family:'Cormorant Garamond',serif;

    font-size:40px;

    color:#292B36;

}

.project-arrow{

    width:50px;

    height:50px;

    border:1px solid #ddd;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:22px;

    transition:.4s;

}

.project-card:hover .project-arrow{

    background:#C78A2A;

    color:white;

    border-color:#C78A2A;

    transform:rotate(45deg);

}


/* ================= CTA ================= */

.projects-cta{

    padding:150px 8%;

    background:#F7F7F5;

    text-align:center;

}

.projects-cta h2{

    font-family:'Cormorant Garamond',serif;

    font-size:75px;

    line-height:1.05;

    margin:25px auto 45px;

    max-width:900px;

}

.projects-cta h2 span{

    color:#C78A2A;

}


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

.footer{

    padding:60px 8%;

    background:#fff;

    border-top:1px solid #eee;

    display:flex;

    justify-content:space-between;

    align-items:center;

}

.footer img{

    width:150px;

}

.footer p{

    color:#777;

    font-size:14px;

}


/* =====================================================
   RESPONSIVE
===================================================== */

@media(max-width:900px){

    .projects-hero{

        min-height:60vh;

        padding:140px 6% 80px;

    }

    .projects-hero h1{

        font-size:65px;

    }

    .all-projects{

        padding:100px 6%;

    }

    .projects-intro h2{

        font-size:58px;

    }

    .projects-grid{

        grid-template-columns:1fr;

        gap:60px;

    }

    .project-image{

        height:500px;

    }

    .projects-cta h2{

        font-size:60px;

    }

}


@media(max-width:600px){

    .projects-hero{

        padding:130px 6% 70px;

    }

    .projects-hero h1{

        font-size:50px;

    }

    .projects-hero p:last-child{

        font-size:16px;

        line-height:28px;

    }

    .all-projects{

        padding:80px 6%;

    }

    .projects-intro{

        margin-bottom:55px;

    }

    .projects-intro h2{

        font-size:48px;

    }

    .project-image{

        height:420px;

        border-radius:20px;

    }

    .project-info h3{

        font-size:34px;

    }

    .project-arrow{

        width:44px;

        height:44px;

    }

    .projects-cta{

        padding:100px 6%;

    }

    .projects-cta h2{

        font-size:48px;

    }

    .footer{

        flex-direction:column;

        align-items:flex-start;

        gap:30px;

    }

}

/* Project navbar */

/* ================= PROJECT PAGE NAVBAR ================= */

.project-header{

    background:#fff;

    box-shadow:0 10px 25px rgba(0,0,0,.06);

}

.project-header .nav-links a{

    color:#222;

}

.project-header .btn-nav{

    color:#222;

    border-color:#222;

}

.project-header .nav-links a:hover{

    color:#C78A2A;

}

.project-header .btn-nav:hover{

    color:white;

    border-color:#C78A2A;

}
/* =====================================================
   PROJECT PAGE ANIMATIONS
===================================================== */

/* ---------- HERO REVEAL ---------- */

.projects-hero-content .section-tag,
.projects-hero-content h1,
.projects-hero-content > p:last-child{

    opacity:0;

    transform:translateY(40px);

    animation:heroReveal .9s cubic-bezier(.22,1,.36,1) forwards;

}

.projects-hero-content h1{

    animation-delay:.15s;

}

.projects-hero-content > p:last-child{

    animation-delay:.3s;

}


@keyframes heroReveal{

    to{

        opacity:1;

        transform:translateY(0);

    }

}


/* ---------- PROJECT CARDS ---------- */

.project-card{

    opacity:0;

    transform:translateY(60px);

    transition:
        opacity .8s ease,
        transform .8s cubic-bezier(.22,1,.36,1);

}

.project-card.show{

    opacity:1;

    transform:translateY(0);

}


/* ---------- IMAGE HOVER ---------- */

.project-image{

    overflow:hidden;

}

.project-image img{

    transition:
        transform 1s cubic-bezier(.22,1,.36,1);

}

.project-card:hover .project-image img{

    transform:scale(1.06);

}


/* ---------- PROJECT NUMBER ---------- */

.project-number{

    transition:
        transform .4s ease,
        background .4s ease;

}

.project-card:hover .project-number{

    transform:scale(1.08);

    background:#C78A2A;

    color:white;

}


/* ---------- PROJECT ARROW ---------- */

.project-arrow{

    transition:
        transform .4s ease,
        background .4s ease,
        color .4s ease,
        border-color .4s ease;

}

.project-card:hover .project-arrow{

    transform:rotate(45deg);

}


/* ---------- CTA ---------- */

.projects-cta{

    opacity:0;

    transform:translateY(50px);

    transition:
        opacity .9s ease,
        transform .9s cubic-bezier(.22,1,.36,1);

}

.projects-cta.show{

    opacity:1;

    transform:translateY(0);

}

/* ================= PROJECT CARD LINK ================= */

.project-link {

    display: block;

    color: inherit;

    text-decoration: none;

}

/* =========================================
   PROJECTS NAVBAR - MOBILE RESPONSIVE
========================================= */

.menu-toggle {
    display: none;
    background: none;
    border: none;
    padding: 8px;
    cursor: pointer;
    flex-direction: column;
    gap: 5px;
}

.menu-toggle span {
    display: block;
    width: 25px;
    height: 2px;
    background: currentColor;
    transition: 0.3s ease;
}


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

@media (max-width: 900px) {

    .navbar {
        padding: 20px 25px;
        position: relative;
    }

    .nav-links {
        display: none;
        position: absolute;
        top: 100%;
        right: 25px;
        left: auto;
        width: 220px;

        flex-direction: column;
        gap: 0;

        padding: 15px 20px;

        background: #ffffff;
        border-radius: 12px;

        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);

        z-index: 1000;
    }

    .nav-links.active {
        display: flex;
    }

    .nav-links li {
        width: 100%;
    }

    .nav-links li a {
        display: block;
        padding: 13px 5px;
    }

    .nav-btn {
        display: none;
    }

    .menu-toggle {
        display: flex;
        margin-left: auto;
    }
}

/* ================================
   MOBILE MENU BUTTON
================================ */

.menu-toggle {

    display: none;

    flex-direction: column;

    gap: 6px;

    cursor: pointer;

    z-index: 1001;

    background: none;

    border: none;

    padding: 5px;

}

.menu-toggle span {

    width: 28px;

    height: 2px;

    background: white;

    transition: .35s ease;

}


/* When navbar becomes white */

.project-header.scrolled .menu-toggle span {

    background: #222;

}


/* ================================
   MOBILE NAVBAR
================================ */

@media (max-width: 900px) {

    .navbar {

        position: relative;

        padding: 20px 25px;

    }


    .menu-toggle {

        display: flex;

        margin-left: auto;

    }


    .nav-btn {

        display: none;

    }


    .nav-links {

        display: none;

        position: absolute;

        top: calc(100% + 10px);

        right: 25px;

        left: auto;

        width: 220px;

        flex-direction: column;

        gap: 0;

        padding: 12px 20px;

        background: white;

        border-radius: 12px;

        box-shadow: 0 10px 30px rgba(0,0,0,.15);

        z-index: 1000;

    }


    .nav-links.active {

        display: flex;

    }


    .nav-links li {

        width: 100%;

    }


    .nav-links li a {

        display: block;

        padding: 13px 5px;

        color: #222 !important;

    }

}