/*==================================
PORTFOLIO HERO
==================================*/

.portfolio-hero{

    position:relative;

    padding:140px 20px 120px;

    background:#19272B;

    overflow:hidden;

}


/* subtle background circles */

.portfolio-hero::before{

   content:"";

    position:absolute;

    width:420px;

    height:420px;

    left:-180px;

    top:-120px;

    background:radial-gradient(circle,
    rgba(0,229,255,.18),
    transparent 70%);

}

.portfolio-hero::after{

    content:"";

    position:absolute;

    width:450px;

    height:450px;

    right:-200px;

    bottom:-180px;

    background:radial-gradient(circle,
    rgba(79,140,255,.16),
    transparent 70%);

}


.portfolio-hero-content{

    position:relative;

    z-index:2;

    max-width:900px;

    margin:auto;

    text-align:center;

}


.portfolio-hero-subheading{

    display:inline-block;

    color:#4F8CFF;

    font-size:14px;

    font-weight:600;

    letter-spacing:3px;

    text-transform:uppercase;

    margin-bottom:18px;

}


.portfolio-hero h1{

    color:#fff;

    font-size:64px;

    line-height:1.12;

    font-weight:700;

    margin:0 auto 25px;

}


.portfolio-hero p{

    max-width:700px;

    margin:0 auto;

    color:#B8C7CC;

    font-size:18px;

    line-height:1.8;

}


.portfolio-hero-button{

    display:inline-flex;

    align-items:center;

    gap:10px;

    margin-top:38px;

    padding:16px 30px;

    background:linear-gradient(90deg, #4F8CFF, #00E5FF);

    color:#19272B;

    color:#19272B;

    border-radius:50px;

    text-decoration:none;

    font-size:15px;

    font-weight:700;

    transition:.3s;

}


.portfolio-hero-button i{

    font-size:13px;

}


.portfolio-hero-button:hover{

    transform:translateY(-5px);

    box-shadow:
    0 15px 40px rgba(0,229,255,.35);
    
    color:#fff;

}


/*==================================
RESPONSIVE
==================================*/

@media(max-width:768px){

    .portfolio-hero{

        padding:120px 20px 90px;

    }

    .portfolio-hero h1{

        font-size:42px;

    }

    .portfolio-hero p{

        font-size:16px;

    }

    .portfolio-hero::before{

        width:280px;

        height:280px;

        left:-150px;

        top:-120px;

    }

    .portfolio-hero::after{

        width:260px;

        height:260px;

        right:-140px;

        bottom:-130px;

    }

}


@media(max-width:480px){

    .portfolio-hero h1{

        font-size:36px;

    }

    .portfolio-hero-subheading{

        font-size:12px;

        letter-spacing:2px;

    }

}

/*==================================
PORTFOLIO FEATURED PROJECTS
==================================*/

.portfolio-featured-section{

    padding:100px 20px;

    background:#19272B;

}

.portfolio-section-heading{

    max-width:800px;

    margin:0 auto 65px;

    text-align:center;

}

.portfolio-section-heading span{

    color:#4F8CFF;

    font-size:13px;

    font-weight:700;

    letter-spacing:3px;

}

.portfolio-section-heading h2{

    color:#fff;

    font-size:48px;

    line-height:1.2;

    margin:18px 0;

}

.portfolio-section-heading p{

    color:#B8C7CC;

    font-size:17px;

    line-height:1.8;

}

.portfolio-featured-grid{

    max-width:1200px;

    margin:auto;

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

}

.portfolio-project-card{

    background:#19272B;

    border:1px solid rgba(255,255,255,.10);

    border-radius:24px;

    overflow:hidden;

    transition:.35s;

}

.portfolio-project-card:hover{

    transform:translateY(-8px);

    border-color:rgba(0,229,255,.45);

}

.portfolio-project-image{

    position:relative;

    aspect-ratio:16/10;

    overflow:hidden;

    background:#111;

}

.portfolio-project-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    display:block;

    transition:.5s;

}

.portfolio-project-card:hover
.portfolio-project-image img{

    transform:scale(1.06);

}

.portfolio-project-overlay{

    position:absolute;

    inset:0;

    background:rgba(25,39,43,.82);

    display:flex;

    justify-content:center;

    align-items:center;

    opacity:0;

    transition:.35s;

}

.portfolio-project-card:hover
.portfolio-project-overlay{

    opacity:1;

}

.portfolio-project-overlay a{

    display:inline-block;

    padding:13px 25px;

    border:1px solid #00E5FF;

    color:#fff;

    border-radius:50px;

    text-decoration:none;

    font-weight:600;

}

.portfolio-project-content{

    padding:28px;

}

.portfolio-project-content span{

    color:#00E5FF;

    font-size:12px;

    font-weight:700;

    letter-spacing:2px;

}

.portfolio-project-content h3{

    color:#fff;

    font-size:24px;

    margin:12px 0;

}

.portfolio-project-content p{

    color:#B8C7CC;

    line-height:1.7;

    font-size:15px;

}

@media(max-width:991px){

    .portfolio-featured-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:700px){

    .portfolio-featured-grid{

        grid-template-columns:1fr;

    }

    .portfolio-section-heading h2{

        font-size:36px;

    }

}

/*==================================
PORTFOLIO CATEGORIES
==================================*/

.portfolio-categories{

    padding:100px 20px;

    background:#19272B;

}



.category-grid{

    max-width:1100px;

    margin:auto;

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:25px;

}



.category-card{

    background:#243135;

    padding:35px 25px;

    border-radius:22px;

    text-align:center;

    border:1px solid rgba(255,255,255,.08);

    transition:.35s;

}



.category-card:hover{

    transform:translateY(-8px);

    border-color:#00E5FF;

}



.category-icon{

    width:70px;

    height:70px;

    margin:0 auto 25px;

    background:#19272B;

    border-radius:20px;

    display:flex;

    align-items:center;

    justify-content:center;

}



.category-icon i{

    color:#00E5FF;

    font-size:30px;

}



.category-card h3{

    color:#fff;

    font-size:21px;

    margin-bottom:15px;

}



.category-card p{

    color:#B8C7CC;

    line-height:1.7;

    font-size:15px;

}



@media(max-width:991px){

    .category-grid{

        grid-template-columns:repeat(2,1fr);

    }

}



@media(max-width:600px){

    .category-grid{

        grid-template-columns:1fr;

    }

}

/*==================================
ALL PROJECTS
==================================*/

/*
.all-projects-section{

    padding:100px 20px;

    background:#243135;

}

*/
.all-projects-section{

    position:relative;

    padding:140px 20px 120px;

    background:#19272B;

    overflow:hidden;

}



.all-projects-section::before{

   content:"";

    position:absolute;

    width:420px;

    height:420px;

    left:-180px;

    top:-120px;

    background:radial-gradient(circle,
    rgba(0,229,255,.18),
    transparent 70%);

}

.all-projects-section::after{

    content:"";

    position:absolute;

    width:450px;

    height:450px;

    right:-200px;

    bottom:-180px;

    background:radial-gradient(circle,
    rgba(79,140,255,.16),
    transparent 70%);

}


.all-projects-grid{

    max-width:1200px;

    margin:auto;

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

}



.all-project-card{

    background:#19272B;

    border-radius:22px;

    overflow:hidden;

    border:1px solid rgba(255,255,255,.08);

    transition:.35s;

}



.all-project-card:hover{

    transform:translateY(-7px);

    border-color:#00E5FF;

}



.all-project-image{

    height:240px;

    overflow:hidden;

}



.all-project-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.4s;

}



.all-project-card:hover img{

    transform:scale(1.05);

}



.all-project-info{

    padding:28px;

}



.all-project-info span{

    color:#00E5FF;

    font-size:12px;

    font-weight:700;

    letter-spacing:2px;

}



.all-project-info h3{

    color:#fff;

    font-size:24px;

    margin:15px 0;

}



.all-project-info p{

    color:#B8C7CC;

    line-height:1.7;

}



@media(max-width:991px){

    .all-projects-grid{

        grid-template-columns:repeat(2,1fr);

    }

}



@media(max-width:700px){

    .all-projects-grid{

        grid-template-columns:1fr;

    }

}

/*==================================
PORTFOLIO PROCESS
==================================*/


.portfolio-process-section{

    padding:100px 20px;

    background:#19272B;

}



.portfolio-process-grid{

    max-width:1100px;

    margin:auto;

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:25px;

}



.process-card{

    background:#243135;

    padding:35px 25px;

    border-radius:22px;

    position:relative;

    border:1px solid rgba(255,255,255,.08);

    transition:.35s;

}



.process-card:hover{

    transform:translateY(-8px);

    border-color:#00E5FF;

}



.process-number{

    position:absolute;

    top:20px;

    right:25px;

    color:#00E5FF;

    font-size:20px;

    font-weight:800;

}



.process-icon{

    width:65px;

    height:65px;

    background:#19272B;

    border-radius:18px;

    display:flex;

    align-items:center;

    justify-content:center;

    margin-bottom:25px;

}



.process-icon i{

    color:#00E5FF;

    font-size:28px;

}



.process-card h3{

    color:#fff;

    font-size:22px;

    margin-bottom:15px;

}



.process-card p{

    color:#B8C7CC;

    line-height:1.7;

    font-size:15px;

}



@media(max-width:991px){

    .portfolio-process-grid{

        grid-template-columns:repeat(2,1fr);

    }
    .process-number{
        right:10px;
    }

}



@media(max-width:600px){

    .portfolio-process-grid{

        grid-template-columns:1fr;

    }

}

/*==================================
PORTFOLIO TECHNOLOGIES
==================================*/


.portfolio-tech-section{

    padding:100px 20px;

    background:#243135;

}



.tech-grid{

    max-width:1000px;

    margin:auto;

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:25px;

}



.tech-card{

    background:#19272B;

    padding:35px 20px;

    border-radius:20px;

    text-align:center;

    border:1px solid rgba(255,255,255,.08);

    transition:.35s;

}



.tech-card:hover{

    transform:translateY(-8px);

    border-color:#00E5FF;

}



.tech-card i{

    color:#00E5FF;

    font-size:38px;

    margin-bottom:20px;

}



.tech-card h3{

    color:#fff;

    font-size:18px;

    margin:0;

}



@media(max-width:991px){

    .tech-grid{

        grid-template-columns:repeat(3,1fr);

    }

}



@media(max-width:700px){

    .tech-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

/*==================================
PORTFOLIO CTA
==================================*/


.portfolio-cta-section{

    padding:100px 20px;

    background:#19272B;

}



.portfolio-cta-container{

    max-width:1100px;

    margin:auto;

    background:#243135;

    border-radius:35px;

    padding:80px 40px;

    text-align:center;

    border:1px solid rgba(0,229,255,.15);

    position:relative;

    overflow:hidden;
    
    align-items:center;

}



.portfolio-cta-container::before{

    content:"";

    position:absolute;

    width:300px;

    height:300px;

    background:#253236;

    border-radius:50%;

    left:-120px;

    top:-120px;

}



.portfolio-cta-container::after{

    content:"";

    position:absolute;

    width:300px;

    height:300px;

    background:#253236;

    border-radius:50%;

    right:-120px;

    bottom:-120px;

}



.portfolio-cta-content{

    position:relative;

    z-index:2;
    
    justify-content:center;
    
    text-align:center;

}



.portfolio-cta-content span{

    color:#4F8CFF;

    font-size:13px;

    font-weight:700;

    letter-spacing:3px;

}



.portfolio-cta-content h2{

    color:#fff;

    font-size:48px;

    max-width:750px;

    margin:20px auto;

    line-height:1.2;
    
    

}



.portfolio-cta-content p{

    color:#B8C7CC;

    max-width:700px;

    margin:0 auto;

    line-height:1.8;

    font-size:17px;

}



.portfolio-cta-button{

    display:inline-flex;

    align-items:center;

    gap:10px;

    margin-top:35px;

    padding:16px 32px;

    background:linear-gradient(90deg, #4F8CFF, #00E5FF);

    color:#19272B;

    text-decoration:none;

    border-radius:50px;

    font-weight:700;

    transition:.3s;

}



.portfolio-cta-button:hover{

    transform:translateY(-5px);

    box-shadow:
    0 15px 40px rgba(0,229,255,.35);
    
    color:#fff;

}



@media(max-width:768px){

    .portfolio-cta-container{

        padding:60px 25px;

    }


    .portfolio-cta-content h2{

        font-size:34px;

    }

}