/*==========================================
PROJECT HERO
==========================================*/

.project-hero{
    position:relative;
    padding:60px 0 60px;
    background:#0d0a07;
    color:#fff;
    overflow:hidden;
}

.project-hero::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at right,#c7924430,transparent 45%),
        linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.75));
    z-index:0;
}

.project-hero .container{
    position:relative;
    z-index:2;
}

.project-breadcrumb{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:45px;
    font-size:.92rem;
}

.project-breadcrumb a{
    color:#d8d8d8;
    text-decoration:none;
    transition:.3s;
}

.project-breadcrumb a:hover{
    color:#d8a25c;
}

.project-breadcrumb span:last-child{
    color:#d8a25c;
    font-weight:600;
}

.project-hero-grid{
    display:grid;
    grid-template-columns:480px 1fr;
    gap:60px;
    align-items:center;
}

.project-badges{
    display:flex;
    gap:12px;
    margin-bottom:22px;
    flex-wrap:wrap;
}

.category-badge,
.status-badge{
    padding:11px 22px;
    border-radius:40px;
    font-size:.9rem;
    font-weight:600;
    border:1px solid rgba(255,255,255,.12);
    backdrop-filter:blur(8px);
}

.category-badge{
    background:#b9813922;
    color:#e6b267;
}

.status-ongoing{
    background:#00c85322;
    color:#45e06c;
}

.status-completed{
    background:#2563eb22;
    color:#58a8ff;
}

.project-content h1{
    font-size:4.6rem;
    line-height:1;
    margin-bottom:22px;
    font-family:serif;
    font-weight:500;
}

.project-desc{
    max-width:520px;
    font-size:1.2rem;
    line-height:1.8;
    color:#d0d0d0;
    margin-bottom:38px;
}
/*==========================================
BUTTONS
==========================================*/

.project-actions{
    display:flex;
    gap:16px;
    flex-wrap:wrap;
}

.project-actions .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:16px 30px;
    border-radius:14px;
    text-decoration:none;
    font-size:1rem;
    font-weight:600;
    transition:.35s;
}

.btn-primary{
    background:linear-gradient(135deg,#d8a25c,#b67b34);
    color:#fff;
}

.btn-primary:hover{
    transform:translateY(-3px);
    box-shadow:0 15px 30px rgba(216,162,92,.3);
}

.btn-outline{
    border:1px solid rgba(255,255,255,.15);
    color:#fff;
    background:rgba(255,255,255,.03);
}

.btn-outline:hover{
    background:#fff;
    color:#111;
}

.btn-secondary{
    border:1px solid rgba(216,162,92,.35);
    color:#d8a25c;
    background:transparent;
}

.btn-secondary:hover{
    background:#d8a25c;
    color:#111;
}

/*==========================================
PROJECT IMAGE
==========================================*/

.project-preview{
    position:relative;
    text-align:center;
}

.project-preview img{
    width:100%;
    max-width:820px;
    display:block;
    margin:auto;
    border-radius:22px;
    border:1px solid rgba(255,255,255,.08);
    box-shadow:
        0 30px 80px rgba(0,0,0,.45),
        0 0 0 1px rgba(255,255,255,.05);
}

.project-preview::after{
    content:"";
    position:absolute;
    width:65%;
    height:50px;
    left:50%;
    bottom:-18px;
    transform:translateX(-50%);
    background:rgba(0,0,0,.6);
    filter:blur(30px);
    border-radius:50%;
    z-index:-1;
}
/*==========================================
META CARDS
==========================================*/

.project-meta{
    margin-top:55px;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
}

.meta-card{
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.08);
    border-radius:18px;
    padding:24px;
    backdrop-filter:blur(12px);
    transition:.35s;
}

.meta-card:hover{
    transform:translateY(-6px);
    border-color:#d8a25c55;
}

.meta-card span{
    display:block;
    color:#bdbdbd;
    font-size:.9rem;
    margin-bottom:8px;
}

.meta-card strong{
    display:block;
    font-size:1.2rem;
    color:#fff;
    line-height:1.4;
}

/*==========================================
TECHNOLOGIES
==========================================*/

.technology-wrapper{
    margin-top:28px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.08);
    border-radius:20px;
    padding:28px;
}

.technology-wrapper h4{
    margin-bottom:20px;
    font-size:1.2rem;
    font-weight:600;
}

.technology-list{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
}

.technology-chip{
    padding:12px 22px;
    border-radius:14px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.08);
    color:#f2f2f2;
    font-size:.95rem;
    transition:.3s;
}

.technology-chip:hover{
    background:#d8a25c;
    color:#111;
    border-color:#d8a25c;
}

/*==========================================
RESPONSIVE
==========================================*/

@media(max-width:991px){

    .project-hero-grid{
        grid-template-columns:1fr;
        gap:40px;
    }

    .project-content h1{
        font-size:3rem;
    }

    .project-meta{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:768px){

    .project-hero{
        padding:90px 0 40px;
    }

    .project-content h1{
        font-size:2.4rem;
    }

    .project-actions{
        flex-direction:column;
    }

    .project-actions .btn{
        width:100%;
    }

    .project-meta{
        grid-template-columns:1fr;
    }

    .technology-list{
        gap:10px;
    }

    .technology-chip{
        width:100%;
        text-align:center;
    }
}














/*=========================================
    PROJECT OVERVIEW
=========================================*/

.project-overview-section{ 
    position:relative;
    padding:60px 0;
    background:#fff;
    overflow:hidden;
}

.project-overview-section::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 0% 0%,rgba(37,99,235,.05),transparent 35%),
        radial-gradient(circle at 100% 100%,rgba(6,182,212,.05),transparent 35%);
    pointer-events:none;
}

.project-overview-section .container{
    position:relative;
    z-index:2;
    max-width:1320px;
    margin:auto;
    padding:0 20px;
}

/*=========================================
    GRID
=========================================*/

.overview-grid{

    display:grid;

    grid-template-columns:1.1fr .9fr;

    gap:80px;

    align-items:center;

    margin-bottom:50px;

}

/*=========================================
    CONTENT
=========================================*/

.overview-content{

    position:relative;

}

.section-badge{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:10px 18px;

    border-radius:999px;

    background:#eef5ff;

    color:#2563eb;

    font-size:.9rem;

    font-weight:700;

    letter-spacing:.4px;

    margin-bottom:18px;

}

.section-title{

    font-size:clamp(2.3rem,4vw,3.6rem);

    line-height:1.15;

    font-weight:800;

    color:#0f172a;

    margin-bottom:24px;

}

.section-divider{

    width:80px;

    height:4px;

    border-radius:20px;

    background:linear-gradient(
        90deg,
        #2563eb,
        #06b6d4
    );

    margin-bottom:32px;

}

.overview-description{

    color:#475569;

    font-size:1.08rem;

    line-height:2;

}

.overview-description p{

    margin-bottom:24px;

}

/*=========================================
    IMAGE
=========================================*/

.overview-image{

    position:relative;

}

.overview-image img{

    padding-top: 100px;

    width:85%;

    display:block;

    border-radius:26px;

    object-fit:cover;

}

/*=========================================
    IMAGE BACKGROUND
=========================================*/

.overview-image::before{

    content:"";

    position:absolute;

    border-radius:30px;

    opacity:1;

    z-index:-1;

}

/*=========================================
    INFO WRAPPER
=========================================*/

.project-info-wrapper{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:24px;

    margin-bottom:130px;

}

/*=========================================
    INFO CARD
=========================================*/

.info-card{

    display:flex;

    align-items:center;

    gap:18px;

    padding:28px;

    background:#fff;

    border-radius:20px;

    border:1px solid #e5e7eb;

}

.info-icon{

    width:62px;

    height:62px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:18px;

    background:#eff6ff;

    color:#2563eb;

    font-size:1.35rem;

}

.info-content span{

    display:block;

    margin-bottom:6px;

    color:#64748b;

    font-size:.85rem;

    text-transform:uppercase;

    letter-spacing:.5px;

}

.info-content h4{

    margin:0;

    color:#0f172a;

    font-size:1.1rem;

    font-weight:700;

}

/*=========================================
    OBJECTIVES
=========================================*/

.project-objectives{

    position:relative;

}

.section-header{

    text-align:center;

    max-width:700px;

    margin:0 auto 60px;

}

.section-header h2{

    font-size:2.7rem;

    font-weight:800;

    color:#0f172a;

    margin-top:20px;

}

.objective-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:28px;

}

.objective-card{

    display:flex;

    align-items:flex-start;

    gap:18px;

    padding:28px;

    border-radius:20px;

    background:#fff;

    border:1px solid #e5e7eb;

}

.objective-icon{

    flex-shrink:0;

    width:54px;

    height:54px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:16px;

    background:#eff6ff;

    color:#2563eb;

    font-size:1.2rem;

}

.objective-content{

    color:#334155;

    line-height:1.8;

    font-size:1rem;

}

/*=========================================
    RESPONSIVE
=========================================*/

@media(max-width:1100px){

.overview-grid{

    grid-template-columns:1fr;

}

.project-info-wrapper{

    grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.project-overview-section{

    padding:80px 0;

}

.section-title{

    font-size:2.3rem;

}

.project-info-wrapper{

    grid-template-columns:1fr;

}

.objective-grid{

    grid-template-columns:1fr;

}

.section-header h2{

    font-size:2rem;

}

}

@media(max-width:576px){

.overview-grid{

    gap:50px;

    margin-bottom:60px;

}

.info-card{

    padding:22px;

}

.objective-card{

    padding:22px;

}

.section-divider{

    margin-bottom:24px;

}

}
/*==================================================
    PREMIUM COMPONENTS
==================================================*/






/*----------------------------------
    BADGE
-----------------------------------*/

.section-badge{

    position:relative;

    overflow:hidden;

    transition:.35s;

}

.section-badge::before{

    content:"";

    position:absolute;

    inset:0;

    background:

    linear-gradient(
        120deg,
        transparent,
        rgba(255,255,255,.5),
        transparent
    );

    transform:translateX(-120%);

}

.section-badge:hover{

    transform:translateY(-2px);

}

.section-badge:hover::before{

    transform:translateX(120%);

    transition:.8s;

}


/*----------------------------------
    DIVIDER
-----------------------------------*/

.section-divider{

    transition:.4s;

}

.project-overview-section:hover .section-divider{

    width:120px;

}


/*----------------------------------
    INFO CARD
-----------------------------------*/

.info-card{

    position:relative;

    overflow:hidden;

    transition:
        transform .35s,
        box-shadow .35s,
        border-color .35s;

}

.info-card::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:5px;

    height:100%;

    background:

    linear-gradient(
        to bottom,
        #2563eb,
        #06b6d4
    );

    transform:scaleY(0);

    transform-origin:top;

    transition:.35s;

}

.info-card:hover{

    transform:translateY(-8px);

    border-color:#dbeafe;

    box-shadow:

        0 20px 40px rgba(15,23,42,.08);

}

.info-card:hover::before{

    transform:scaleY(1);

}

.info-card:hover .info-icon{

    transform:rotate(-8deg);

    background:#2563eb;

    color:#fff;

}


/*----------------------------------
    ICON
-----------------------------------*/

.info-icon{

    transition:
        .35s;

}


/*----------------------------------
    OBJECTIVE CARD
-----------------------------------*/

.objective-card{

    position:relative;

    overflow:hidden;

    transition:
        transform .35s,
        box-shadow .35s,
        border-color .35s;

}

.objective-card::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:100%;

    height:4px;

    background:

    linear-gradient(
        90deg,
        #2563eb,
        #06b6d4
    );

    transform:scaleX(0);

    transition:.35s;

}

.objective-card:hover{

    transform:translateY(-8px);

    border-color:#dbeafe;

    box-shadow:

        0 18px 40px rgba(15,23,42,.08);

}

.objective-card:hover::before{

    transform:scaleX(1);

}

.objective-card:hover .objective-icon{

    background:#2563eb;

    color:#fff;

    transform:scale(1.08);

}


/*----------------------------------
    OBJECTIVE ICON
-----------------------------------*/

.objective-icon{

    transition:
        background .35s,
        color .35s,
        transform .35s;

}


/*----------------------------------
    DESCRIPTION
-----------------------------------*/

.overview-description{

    position:relative;

}

.overview-description strong{

    color:#0f172a;

}

.overview-description a{

    color:#2563eb;

    text-decoration:none;

}

.overview-description a:hover{

    text-decoration:underline;

}


/*----------------------------------
    SECTION TITLE
-----------------------------------*/

.section-title{

    transition:.35s;

}

.project-overview-section:hover .section-title{

    color:#2563eb;

}


/*----------------------------------
    HEADER
-----------------------------------*/

.section-header h2{

    transition:.35s;

}

.project-objectives:hover .section-header h2{

    color:#2563eb;

}


/*----------------------------------
    BUTTON READY
-----------------------------------*/

.info-card,
.objective-card,
.section-badge{

    will-change:transform;

}


/*----------------------------------
    GLASS EFFECT
-----------------------------------*/

.info-card,
.objective-card{

    backdrop-filter:blur(10px);

}


/*----------------------------------
    SUBTLE BACKGROUND
-----------------------------------*/

.project-info-wrapper{

    position:relative;

}

.project-info-wrapper::before{

    content:"";

    position:absolute;

    inset:-25px;

    background:

    linear-gradient(
        135deg,
        rgba(37,99,235,.02),
        rgba(6,182,212,.03)
    );

    border-radius:30px;

    z-index:-1;

}





/*----------------------------------
    TEXT SELECTION
-----------------------------------*/

.project-overview-section ::selection{

    background:#2563eb;

    color:#fff;

}
/*==================================================
    ANIMATIONS
==================================================*/

@keyframes overviewFadeUp{

    from{

        opacity:0;

        transform:translateY(45px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

@keyframes overviewFloat{

    0%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-12px);

    }

    100%{

        transform:translateY(0);

    }

}

@keyframes pulseGlow{

    0%{

        box-shadow:0 0 0 rgba(37,99,235,0);

    }

    50%{

        box-shadow:0 0 35px rgba(37,99,235,.15);

    }

    100%{

        box-shadow:0 0 0 rgba(37,99,235,0);

    }

}


/*==================================================
    SECTION ENTRANCE
==================================================*/

.overview-content{

    animation:overviewFadeUp .8s ease forwards;

}

.overview-image{

    animation:overviewFadeUp 1s ease .2s forwards;

    opacity:0;

}

.project-info-wrapper{

    animation:overviewFadeUp .9s ease .3s forwards;

    opacity:0;

}

.project-objectives{

    animation:overviewFadeUp .9s ease .45s forwards;

    opacity:0;

}




/*==================================================
    ICON GLOW
==================================================*/

.info-icon{

    animation:pulseGlow 5s infinite;

}

.objective-icon{

    animation:pulseGlow 5s infinite;

}


/*==================================================
    DECORATIVE SHAPES
==================================================*/

.project-overview-section::after{

    content:"";

    position:absolute;

    width:350px;

    height:350px;

    right:-120px;

    top:60px;

    border-radius:50%;

    background:

    radial-gradient(circle,
        rgba(37,99,235,.08),
        transparent 70%);

    pointer-events:none;

}

.project-objectives::before{

    content:"";

    position:absolute;

    width:280px;

    height:280px;

    left:-120px;

    bottom:-80px;

    border-radius:50%;

    background:

    radial-gradient(circle,
        rgba(6,182,212,.08),
        transparent 70%);

    pointer-events:none;

}


/*==================================================
    OBJECTIVE STAGGER
==================================================*/

.objective-card:nth-child(1){transition-delay:.05s;}
.objective-card:nth-child(2){transition-delay:.10s;}
.objective-card:nth-child(3){transition-delay:.15s;}
.objective-card:nth-child(4){transition-delay:.20s;}
.objective-card:nth-child(5){transition-delay:.25s;}
.objective-card:nth-child(6){transition-delay:.30s;}
.objective-card:nth-child(7){transition-delay:.35s;}
.objective-card:nth-child(8){transition-delay:.40s;}



/*==================================================
    DESKTOP
==================================================*/

@media(max-width:1300px){

.overview-grid{

    gap:60px;

}

.project-info-wrapper{

    gap:20px;

}

}


/*==================================================
    TABLET
==================================================*/

@media(max-width:992px){

.overview-content{

    text-align:center;

}

.section-divider{

    margin-inline:auto;

}

.overview-description{

    max-width:720px;

    margin:auto;

}

.info-card{

    padding:24px;

}

.objective-card{

    padding:24px;

}

}


/*==================================================
    MOBILE
==================================================*/

@media(max-width:768px){

.project-overview-section{

    padding:80px 0;

}

.section-title{

    font-size:2.4rem;

}

.overview-description{

    font-size:1rem;

    line-height:1.9;

}

.info-card{

    flex-direction:column;

    text-align:center;

}

.objective-card{

    flex-direction:column;

    text-align:center;

}

.objective-icon{

    margin-bottom:8px;

}

}


/*==================================================
    SMALL DEVICES
==================================================*/

@media(max-width:480px){

.section-title{

    font-size:2rem;

}

.section-header h2{

    font-size:1.8rem;

}

.section-badge{

    font-size:.8rem;

}

.info-content h4{

    font-size:1rem;

}

.objective-content{

    font-size:.95rem;

}

}


/*==================================================
    ACCESSIBILITY
==================================================*/

.info-card:focus-within,
.objective-card:focus-within{

    outline:3px solid #2563eb;

    outline-offset:5px;

}


/*==================================================
    REDUCED MOTION
==================================================*/

@media(prefers-reduced-motion:reduce){

*{

    animation:none !important;

    transition:none !important;

    scroll-behavior:auto !important;

}

}


/*==================================================
    PRINT
==================================================*/

@media print{

.project-overview-section{

    background:#fff;

    padding:20px 0;

}

.overview-image{

    display:none;

}

.project-info-wrapper{

    gap:10px;

}

.info-card,
.objective-card{

    box-shadow:none;

    border:1px solid #ccc;

}

}


/*==================================================
    END
==================================================*/ 










/*==================================================
    CHALLENGE & SOLUTION SECTION
==================================================*/

.challenge-solution-section{

    position:relative;

    padding:90px 0;

    background:#ffffff;

    overflow:hidden;

}

.challenge-solution-section::before{

    content:"";

    position:absolute;

    top:-180px;

    right:-120px;

    width:420px;

    height:420px;

    border-radius:50%;

    background:radial-gradient(circle,
        rgba(37,99,235,.06),
        transparent 70%);

    pointer-events:none;

}

.challenge-solution-section::after{

    content:"";

    position:absolute;

    bottom:-180px;

    left:-120px;

    width:380px;

    height:380px;

    border-radius:50%;

    background:radial-gradient(circle,
        rgba(249,115,22,.05),
        transparent 70%);

    pointer-events:none;

}


/*==================================================
    HEADER
==================================================*/

.challenge-solution-section .section-header{

    max-width:960px;

    margin:0 auto 70px;

    text-align:center;

}

.challenge-solution-section .section-header h2{

    font-size:3rem;

    font-weight:800;

    color:#0f172a;

    margin:18px 0;

    line-height:1.2;

}

.challenge-solution-section .section-header p{

    color:#64748b;

    font-size:1.08rem;

    line-height:1.9;

}

.challenge-solution-section .section-badge{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:10px 22px;

    border-radius:50px;

    background:#eff6ff;

    color:#2563eb;

    font-weight:700;

    font-size:.92rem;

    letter-spacing:.5px;

}


/*==================================================
    GRID
==================================================*/

.challenge-solution-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:40px;

    align-items:stretch;

}


/*==================================================
    COMMON CARD
==================================================*/

.challenge-card,
.solution-card{

    position:relative;

    padding:55px;

    border-radius:28px;

    background:#ffffff;

    overflow:hidden;

    border:1px solid #e2e8f0;

    transition:.35s;

    z-index:2;

    box-shadow:
        0 10px 40px rgba(15,23,42,.06);

}

.challenge-card:hover,
.solution-card:hover{

    transform:translateY(-8px);

    box-shadow:
        0 25px 70px rgba(15,23,42,.10);

}


/*==================================================
    TOP DECORATION
==================================================*/

.card-decoration{

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:6px;

}

.challenge-card .card-decoration{

    background:linear-gradient(
        90deg,
        #f97316,
        #fb923c
    );

}

.solution-card .card-decoration{

    background:linear-gradient(
        90deg,
        #2563eb,
        #38bdf8
    );

}


/*==================================================
    ICON
==================================================*/

.card-icon{

    width:78px;

    height:78px;

    border-radius:20px;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:2rem;

    margin-bottom:26px;

}

.challenge-card .card-icon{

    background:rgba(249,115,22,.12);

    color:#ea580c;

}

.solution-card .card-icon{

    background:rgba(37,99,235,.12);

    color:#2563eb;

}


/*==================================================
    BADGE
==================================================*/

.card-badge{

    display:inline-block;

    padding:8px 18px;

    border-radius:50px;

    font-size:.82rem;

    font-weight:700;

    letter-spacing:.4px;

    margin-bottom:18px;

}

.challenge-card .card-badge{

    background:#fff7ed;

    color:#ea580c;

}

.solution-card .card-badge{

    background:#eff6ff;

    color:#2563eb;

}


/*==================================================
    TITLES
==================================================*/

.challenge-card h3,
.solution-card h3{

    font-size:2rem;

    font-weight:800;

    color:#0f172a;

    margin-bottom:18px;

}

.title-line{

    width:70px;

    height:4px;

    border-radius:20px;

    margin-bottom:32px;

}

.challenge-card .title-line{

    background:#f97316;

}

.solution-card .title-line{

    background:#2563eb;

}


/*==================================================
    CONTENT
==================================================*/

.card-content{

    display:flex;

    flex-direction:column;

    gap:22px;

}

.card-content p{

    margin:0;

    color:#475569;

    font-size:1.02rem;

    line-height:2;

}
/*==================================================
    CARD BACKGROUND EFFECTS
==================================================*/

.challenge-card::before,
.solution-card::before{

    content:"";

    position:absolute;

    width:280px;

    height:280px;

    border-radius:50%;

    top:-140px;

    right:-140px;

    opacity:.08;

    transition:.5s;

}

.challenge-card::before{

    background:#f97316;

}

.solution-card::before{

    background:#2563eb;

}

.challenge-card:hover::before,
.solution-card:hover::before{

    transform:scale(1.2);

    opacity:.12;

}


/*==================================================
    GRID DECORATION
==================================================*/

.challenge-card::after,
.solution-card::after{

    content:"";

    position:absolute;

    inset:0;

    background-image:
        linear-gradient(rgba(255,255,255,.02) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.02) 1px, transparent 1px);

    background-size:28px 28px;

    pointer-events:none;

    opacity:.4;

}


/*==================================================
    ICON EFFECTS
==================================================*/

.card-icon{

    position:relative;

    transition:.35s ease;

}

.card-icon::before{

    content:"";

    position:absolute;

    inset:-8px;

    border-radius:24px;

    border:2px dashed transparent;

    transition:.35s;

}

.challenge-card:hover .card-icon{

    transform:rotate(-8deg) scale(1.08);

}

.solution-card:hover .card-icon{

    transform:rotate(8deg) scale(1.08);

}

.challenge-card:hover .card-icon::before{

    border-color:rgba(249,115,22,.25);

}

.solution-card:hover .card-icon::before{

    border-color:rgba(37,99,235,.25);

}


/*==================================================
    BADGE EFFECT
==================================================*/

.card-badge{

    transition:.3s;

}

.challenge-card:hover .card-badge{

    background:#f97316;

    color:#fff;

}

.solution-card:hover .card-badge{

    background:#2563eb;

    color:#fff;

}


/*==================================================
    TITLE
==================================================*/

.challenge-card h3,
.solution-card h3{

    transition:.3s;

}

.challenge-card:hover h3{

    color:#ea580c;

}

.solution-card:hover h3{

    color:#2563eb;

}


/*==================================================
    TITLE LINE
==================================================*/

.title-line{

    transition:.35s;

}

.challenge-card:hover .title-line{

    width:120px;

}

.solution-card:hover .title-line{

    width:120px;

}


/*==================================================
    PARAGRAPHS
==================================================*/

.card-content p{

    transition:.3s;

}

.challenge-card:hover .card-content p,
.solution-card:hover .card-content p{

    color:#334155;

}


/*==================================================
    CARD BORDER
==================================================*/

.challenge-card:hover{

    border-color:rgba(249,115,22,.25);

}

.solution-card:hover{

    border-color:rgba(37,99,235,.25);

}


/*==================================================
    LARGE TABLETS
==================================================*/

@media(max-width:1200px){

.challenge-card,
.solution-card{

    padding:45px;

}

.challenge-solution-grid{

    gap:28px;

}

.challenge-solution-section .section-header{

    margin-bottom:60px;

}

}


/*==================================================
    TABLETS
==================================================*/

@media(max-width:992px){

.challenge-solution-grid{

    grid-template-columns:1fr;

    gap:32px;

}

.challenge-solution-section{

    padding:90px 0;

}

.challenge-solution-section .section-header h2{

    font-size:2.5rem;

}

.challenge-card,
.solution-card{

    padding:42px;

}

}
/*==================================================
    SECTION ENTRANCE ANIMATIONS
==================================================*/

@keyframes challengeFadeUp{

    from{

        opacity:0;

        transform:translateY(50px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

@keyframes challengeFloat{

    0%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-10px);

    }

    100%{

        transform:translateY(0);

    }

}

.challenge-solution-section .section-header{

    animation:challengeFadeUp .8s ease forwards;

}

.challenge-card{

    animation:challengeFadeUp .9s ease .15s forwards;

}

.solution-card{

    animation:challengeFadeUp .9s ease .3s forwards;

}


/*==================================================
    FLOATING ICON
==================================================*/

.card-icon{

    animation:challengeFloat 7s ease-in-out infinite;

}

.solution-card .card-icon{

    animation-delay:.5s;

}


/*==================================================
    CARD SHADOW IMPROVEMENT
==================================================*/

.challenge-card:hover{

    box-shadow:
        0 25px 60px rgba(249,115,22,.12);

}

.solution-card:hover{

    box-shadow:
        0 25px 60px rgba(37,99,235,.12);

}


/*==================================================
    PARAGRAPH SPACING
==================================================*/

.card-content p:last-child{

    margin-bottom:0;

}


/*==================================================
    DESKTOP (1400px+)
==================================================*/

@media(min-width:1400px){

.challenge-solution-section{

    padding:140px 0;

}

.challenge-solution-grid{

    gap:50px;

}

.challenge-card,
.solution-card{

    padding:60px;

}

.challenge-solution-section .section-header h2{

    font-size:3.4rem;

}

}


/*==================================================
    MOBILE
==================================================*/

@media(max-width:768px){

.challenge-solution-section{

    padding:80px 0;

}

.challenge-solution-section .section-header{

    margin-bottom:45px;

}

.challenge-solution-section .section-header h2{

    font-size:2rem;

    line-height:1.3;

}

.challenge-solution-section .section-header p{

    font-size:1rem;

}

.challenge-card,
.solution-card{

    padding:30px;

    border-radius:22px;

}

.card-icon{

    width:64px;

    height:64px;

    font-size:1.6rem;

    margin-bottom:20px;

}

.challenge-card h3,
.solution-card h3{

    font-size:1.6rem;

}

.card-content{

    gap:18px;

}

.card-content p{

    font-size:.97rem;

    line-height:1.9;

}

}


/*==================================================
    SMALL DEVICES
==================================================*/

@media(max-width:480px){

.challenge-solution-section{

    padding:70px 0;

}

.challenge-card,
.solution-card{

    padding:24px;

}

.challenge-solution-section .section-badge{

    font-size:.78rem;

    padding:8px 16px;

}

.challenge-solution-section .section-header h2{

    font-size:1.7rem;

}

.challenge-solution-section .section-header p{

    font-size:.95rem;

}

.card-icon{

    width:56px;

    height:56px;

    font-size:1.4rem;

}

.challenge-card h3,
.solution-card h3{

    font-size:1.4rem;

}

.title-line{

    width:55px;

}

.card-content{

    gap:16px;

}

.card-content p{

    font-size:.94rem;

    line-height:1.8;

}

}


/*==================================================
    ACCESSIBILITY
==================================================*/

.challenge-card:focus-within,
.solution-card:focus-within{

    outline:3px solid #2563eb;

    outline-offset:6px;

}


/*==================================================
    REDUCED MOTION
==================================================*/

@media(prefers-reduced-motion:reduce){

*{

    animation:none !important;

    transition:none !important;

    scroll-behavior:auto !important;

}

}


/*==================================================
    PRINT
==================================================*/

@media print{

.challenge-solution-section{

    background:#fff;

    padding:20px 0;

}

.challenge-card,
.solution-card{

    box-shadow:none;

    border:1px solid #ccc;

    break-inside:avoid;

}

.challenge-solution-grid{

    display:block;

}

.challenge-card{

    margin-bottom:20px;

}

.challenge-solution-section::before,
.challenge-solution-section::after,

.challenge-card::before,
.challenge-card::after,

.solution-card::before,
.solution-card::after{

    display:none;

}

}


/*==================================================
    END
==================================================*/










/*==================================================
    PROJECT FEATURES SECTION
==================================================*/

.project-features-section{

    position:relative;

    padding:60px 0;

    background:#ffffff;

    overflow:hidden;

}

.project-features-section::before{

    content:"";

    position:absolute;

    top:-220px;

    left:-180px;

    width:500px;

    height:500px;

    border-radius:50%;

    background:radial-gradient(circle,
        rgba(37,99,235,.05),
        transparent 72%);

    pointer-events:none;

}

.project-features-section::after{

    content:"";

    position:absolute;

    bottom:-220px;

    right:-160px;

    width:480px;

    height:480px;

    border-radius:50%;

    background:radial-gradient(circle,
        rgba(14,165,233,.05),
        transparent 72%);

    pointer-events:none;

}


/*==================================================
    HEADER
==================================================*/

.project-features-section .section-header{

    max-width:760px;

    margin:0 auto 70px;

    text-align:center;

}

.project-features-section .section-badge{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:10px 22px;

    border-radius:50px;

    background:#eff6ff;

    color:#2563eb;

    font-size:.9rem;

    font-weight:700;

    letter-spacing:.5px;

}

.project-features-section .section-header h2{

    margin:18px 0;

    font-size:3rem;

    font-weight:800;

    color:#0f172a;

    line-height:1.2;

}

.project-features-section .section-header p{

    color:#64748b;

    font-size:1.05rem;

    line-height:1.9;

}


/*==================================================
    FEATURES GRID
==================================================*/

.features-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

}


/*==================================================
    FEATURE CARD
==================================================*/

.feature-card{

    position:relative;

    padding:42px 34px;

    border-radius:28px;

    background:#ffffff;

    border:1px solid #edf2f7;

    overflow:hidden;

    transition:.35s;

    box-shadow:
        0 12px 35px rgba(15,23,42,.05);

}

.feature-card:hover{

    transform:translateY(-10px);

    box-shadow:
        0 30px 70px rgba(15,23,42,.08);

}


/*==================================================
    FEATURE NUMBER
==================================================*/

.feature-number{

    position:absolute;

    top:28px;

    right:28px;

    font-size:2rem;

    font-weight:700;

    color:#cbd5e1;

    line-height:1;

}


/*==================================================
    ICON
==================================================*/

.feature-icon{

    width:82px;

    height:82px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:2rem;

    margin-bottom:28px;

    background:#f8fafc;

    color:#2563eb;

}

.feature-icon i{

    transition:.35s;

}


/*==================================================
    DIVIDER
==================================================*/

.feature-divider{

    display:block;

    width:48px;

    height:4px;

    border-radius:20px;

    background:#2563eb;

    margin-bottom:26px;

}


/*==================================================
    TITLE
==================================================*/

.feature-card h3{

    font-size:1.45rem;

    font-weight:700;

    color:#0f172a;

    margin-bottom:16px;

    line-height:1.35;

}


/*==================================================
    DESCRIPTION
==================================================*/

.feature-card p{

    margin:0;

    color:#64748b;

    font-size:1rem;

    line-height:1.9;

}
/*==================================================
    CARD DECORATION
==================================================*/

.feature-card::before{

    content:"";

    position:absolute;

    inset:0;

    background:
        linear-gradient(135deg,
        rgba(255,255,255,.15),
        transparent 60%);

    opacity:0;

    transition:.4s ease;

    pointer-events:none;

}

.feature-card::after{

    content:"";

    position:absolute;

    top:-120px;

    right:-120px;

    width:220px;

    height:220px;

    border-radius:50%;

    background:rgba(37,99,235,.05);

    transition:.45s;

    pointer-events:none;

}

.feature-card:hover::before{

    opacity:1;

}

.feature-card:hover::after{

    transform:scale(1.15);

}


/*==================================================
    ICON ANIMATION
==================================================*/

.feature-icon{

    position:relative;

    transition:.35s;

}

.feature-icon::before{

    content:"";

    position:absolute;

    inset:-7px;

    border-radius:50%;

    border:2px dashed transparent;

    transition:.35s;

}

.feature-card:hover .feature-icon{

    transform:rotate(8deg) scale(1.08);

}

.feature-card:hover .feature-icon::before{

    border-color:rgba(37,99,235,.25);

}

.feature-card:hover .feature-icon i{

    transform:scale(1.1);

}


/*==================================================
    TITLE
==================================================*/

.feature-card h3{

    transition:.3s;

}

.feature-card:hover h3{

    color:#2563eb;

}


/*==================================================
    DIVIDER
==================================================*/

.feature-divider{

    transition:.35s;

}

.feature-card:hover .feature-divider{

    width:75px;

}


/*==================================================
    DESCRIPTION
==================================================*/

.feature-card p{

    transition:.3s;

}

.feature-card:hover p{

    color:#475569;

}


/*==================================================
    FEATURE NUMBER
==================================================*/

.feature-number{

    transition:.35s;

}

.feature-card:hover .feature-number{

    transform:scale(1.08);

    color:#94a3b8;

}


/*==================================================
    CARD BORDER
==================================================*/

.feature-card:hover{

    border-color:#dbeafe;

}


/*==================================================
    DIFFERENT ACCENT COLORS
==================================================*/

.feature-card:nth-child(4n+1) .feature-icon{

    background:#eff6ff;

    color:#2563eb;

}

.feature-card:nth-child(4n+1) .feature-divider{

    background:#2563eb;

}

.feature-card:nth-child(4n+1):hover{

    border-color:#93c5fd;

}



.feature-card:nth-child(4n+2) .feature-icon{

    background:#ecfdf5;

    color:#16a34a;

}

.feature-card:nth-child(4n+2) .feature-divider{

    background:#16a34a;

}

.feature-card:nth-child(4n+2):hover{

    border-color:#86efac;

}

.feature-card:nth-child(4n+2):hover h3{

    color:#16a34a;

}



.feature-card:nth-child(4n+3) .feature-icon{

    background:#fff7ed;

    color:#ea580c;

}

.feature-card:nth-child(4n+3) .feature-divider{

    background:#ea580c;

}

.feature-card:nth-child(4n+3):hover{

    border-color:#fdba74;

}

.feature-card:nth-child(4n+3):hover h3{

    color:#ea580c;

}



.feature-card:nth-child(4n+4) .feature-icon{

    background:#faf5ff;

    color:#9333ea;

}

.feature-card:nth-child(4n+4) .feature-divider{

    background:#9333ea;

}

.feature-card:nth-child(4n+4):hover{

    border-color:#d8b4fe;

}

.feature-card:nth-child(4n+4):hover h3{

    color:#9333ea;

}


/*==================================================
    LARGE TABLETS
==================================================*/

@media(max-width:1200px){

.features-grid{

    grid-template-columns:repeat(3,1fr);

    gap:24px;

}

.feature-card{

    padding:36px 30px;

}

}
/*==================================================
    ENTRANCE ANIMATIONS
==================================================*/

@keyframes featureFadeUp{

    from{

        opacity:0;

        transform:translateY(50px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

.features-grid .feature-card{

    animation:featureFadeUp .7s ease forwards;

    opacity:0;

}

.features-grid .feature-card:nth-child(1){animation-delay:.05s;}
.features-grid .feature-card:nth-child(2){animation-delay:.10s;}
.features-grid .feature-card:nth-child(3){animation-delay:.15s;}
.features-grid .feature-card:nth-child(4){animation-delay:.20s;}
.features-grid .feature-card:nth-child(5){animation-delay:.25s;}
.features-grid .feature-card:nth-child(6){animation-delay:.30s;}
.features-grid .feature-card:nth-child(7){animation-delay:.35s;}
.features-grid .feature-card:nth-child(8){animation-delay:.40s;}
.features-grid .feature-card:nth-child(9){animation-delay:.45s;}
.features-grid .feature-card:nth-child(10){animation-delay:.50s;}
.features-grid .feature-card:nth-child(11){animation-delay:.55s;}
.features-grid .feature-card:nth-child(12){animation-delay:.60s;}


/*==================================================
    FLOATING ICON
==================================================*/

@keyframes featureFloat{

    0%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-8px);

    }

    100%{

        transform:translateY(0);

    }

}

.feature-icon{

    animation:featureFloat 6s ease-in-out infinite;

}



/*==================================================
    TABLET
==================================================*/

@media(max-width:991px){

.project-features-section{

    padding:90px 0;

}

.features-grid{

    grid-template-columns:repeat(2,1fr);

    gap:24px;

}

.project-features-section .section-header{

    margin-bottom:55px;

}

.project-features-section .section-header h2{

    font-size:2.4rem;

}

.feature-card{

    padding:34px 28px;

}

.feature-number{

    font-size:1.7rem;

}

.feature-icon{

    width:72px;

    height:72px;

    font-size:1.7rem;

}

}


/*==================================================
    MOBILE
==================================================*/

@media(max-width:767px){

.project-features-section{

    padding:80px 0;

}

.features-grid{

    grid-template-columns:1fr;

    gap:22px;

}

.project-features-section .section-header{

    margin-bottom:45px;

}

.project-features-section .section-header h2{

    font-size:2rem;

    line-height:1.3;

}

.project-features-section .section-header p{

    font-size:1rem;

}

.feature-card{

    padding:28px 24px;

    border-radius:22px;

}

.feature-number{

    top:22px;

    right:22px;

    font-size:1.5rem;

}

.feature-icon{

    width:64px;

    height:64px;

    font-size:1.5rem;

    margin-bottom:22px;

}

.feature-card h3{

    font-size:1.3rem;

}

.feature-card p{

    font-size:.95rem;

    line-height:1.8;

}

}


/*==================================================
    SMALL MOBILE
==================================================*/

@media(max-width:480px){

.project-features-section{

    padding:70px 0;

}

.project-features-section .section-header h2{

    font-size:1.7rem;

}

.project-features-section .section-header p{

    font-size:.93rem;

}

.project-features-section .section-badge{

    padding:8px 18px;

    font-size:.78rem;

}

.feature-card{

    padding:24px 20px;

}

.feature-icon{

    width:58px;

    height:58px;

    font-size:1.35rem;

}

.feature-card h3{

    font-size:1.18rem;

}

.feature-card p{

    font-size:.9rem;

}

}


/*==================================================
    ACCESSIBILITY
==================================================*/

.feature-card:focus-within{

    outline:3px solid #2563eb;

    outline-offset:5px;

}


/*==================================================
    REDUCED MOTION
==================================================*/

@media(prefers-reduced-motion:reduce){

.feature-card,
.feature-icon,
.feature-card::before,
.feature-card::after{

    animation:none !important;

    transition:none !important;

}

}


/*==================================================
    PRINT
==================================================*/

@media print{

.project-features-section{

    background:#fff;

    padding:20px 0;

}

.features-grid{

    display:block;

}

.feature-card{

    margin-bottom:20px;

    box-shadow:none;

    border:1px solid #ccc;

    break-inside:avoid;

}

.feature-card::before,
.feature-card::after,

.project-features-section::before,
.project-features-section::after{

    display:none;

}

}


/*==================================================
    END
==================================================*/








/*==================================================
    TECHNOLOGY STACK SECTION
==================================================*/

.project-technologies-section{

    position:relative;

    padding:120px 0;

    background:#ffffff;

    overflow:hidden;

}

.project-technologies-section::before{

    content:"";

    position:absolute;

    top:-180px;

    left:-180px;

    width:420px;

    height:420px;

    border-radius:50%;

    background:radial-gradient(circle,
        rgba(37,99,235,.05),
        transparent 72%);

    pointer-events:none;

}

.project-technologies-section::after{

    content:"";

    position:absolute;

    bottom:-180px;

    right:-180px;

    width:420px;

    height:420px;

    border-radius:50%;

    background:radial-gradient(circle,
        rgba(14,165,233,.05),
        transparent 72%);

    pointer-events:none;

}


/*==================================================
    HEADER
==================================================*/

.project-technologies-section .section-header{

    max-width:760px;

    margin:0 auto 70px;

    text-align:center;

}

.project-technologies-section .section-badge{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:10px 22px;

    border-radius:50px;

    background:#eff6ff;

    color:#2563eb;

    font-size:.9rem;

    font-weight:700;

    letter-spacing:.5px;

}

.project-technologies-section .section-header h2{

    margin:18px 0;

    font-size:3rem;

    font-weight:800;

    color:#0f172a;

    line-height:1.2;

}

.project-technologies-section .section-header p{

    color:#64748b;

    font-size:1.05rem;

    line-height:1.9;

}


/*==================================================
    GRID
==================================================*/

.technology-grid{

    display:flex;

    flex-wrap:wrap;

    justify-content:center;

    gap:22px;

}


/*==================================================
    TECHNOLOGY ITEM
==================================================*/

.technology-item{

    --tech-color:#2563eb;

    display:inline-flex;

    align-items:center;

    gap:14px;

    padding:18px 28px;

    border-radius:18px;

    background:#ffffff;

    border:1px solid #e5e7eb;

    box-shadow:
        0 10px 30px rgba(15,23,42,.05);

    transition:.35s ease;

    position:relative;

    overflow:hidden;

}


/*==================================================
    TOP ACCENT
==================================================*/

.technology-item::before{

    content:"";

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:3px;

    background:var(--tech-color);

    transform:scaleX(0);

    transform-origin:left;

    transition:.35s;

}


/*==================================================
    ICON
==================================================*/

.technology-item img{

    width:28px;

    height:28px;

    object-fit:contain;

}

.technology-item i{

    width:44px;

    height:44px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:1.1rem;

    background:color-mix(in srgb, var(--tech-color) 12%, white);

    color:var(--tech-color);

    transition:.35s;

}


/*==================================================
    NAME
==================================================*/

.technology-item span{

    font-size:1rem;

    font-weight:700;

    color:#1e293b;

    white-space:nowrap;

    transition:.35s;

}


/*==================================================
    HOVER
==================================================*/

.technology-item:hover{

    transform:translateY(-8px);

    border-color:color-mix(in srgb, var(--tech-color) 35%, white);

    box-shadow:
        0 22px 50px rgba(15,23,42,.08);

}

.technology-item:hover::before{

    transform:scaleX(1);

}

.technology-item:hover i{

    transform:rotate(10deg) scale(1.08);

    background:var(--tech-color);

    color:#ffffff;

}

.technology-item:hover span{

    color:var(--tech-color);

}


/*==================================================
    RESPONSIVE
==================================================*/

@media(max-width:992px){

.project-technologies-section{

    padding:90px 0;

}

.project-technologies-section .section-header h2{

    font-size:2.5rem;

}

}

@media(max-width:768px){

.project-technologies-section{

    padding:80px 0;

}

.project-technologies-section .section-header{

    margin-bottom:50px;

}

.project-technologies-section .section-header h2{

    font-size:2rem;

}

.technology-grid{

    gap:16px;

}

.technology-item{

    padding:16px 22px;

}

}

@media(max-width:480px){

.project-technologies-section{

    padding:70px 0;

}

.project-technologies-section .section-header h2{

    font-size:1.7rem;

}

.project-technologies-section .section-header p{

    font-size:.95rem;

}

.technology-item{

    width:100%;

    justify-content:center;

}

}








/*==================================================
    PROJECT GALLERY SECTION
==================================================*/

.project-gallery-section{

    position:relative;

    padding:60px 0;

    background:#f8fafc;

    overflow:hidden;

}

.project-gallery-section::before{

    content:"";

    position:absolute;

    top:-180px;

    left:-180px;

    width:420px;

    height:420px;

    border-radius:50%;

    background:radial-gradient(circle,
        rgba(37,99,235,.06),
        transparent 72%);

    pointer-events:none;

}

.project-gallery-section::after{

    content:"";

    position:absolute;

    bottom:-180px;

    right:-180px;

    width:420px;

    height:420px;

    border-radius:50%;

    background:radial-gradient(circle,
        rgba(14,165,233,.06),
        transparent 72%);

    pointer-events:none;

}


/*==================================================
    HEADER
==================================================*/

.project-gallery-section .section-header{

    max-width:760px;

    margin:0 auto 70px;

    text-align:center;

}

.project-gallery-section .section-badge{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:10px 22px;

    border-radius:50px;

    background:#eff6ff;

    color:#2563eb;

    font-size:.9rem;

    font-weight:700;

}

.project-gallery-section .section-header h2{

    margin:2px 0;

    font-size:3rem;

    font-weight:800;

    color:#0f172a;

}

.project-gallery-section .section-header p{

    color:#64748b;

    font-size:1.05rem;

    line-height:1.9;

}


/*==================================================
    SLIDER
==================================================*/

.gallery-slider{

    position:relative;

    border-radius:28px;

    overflow:hidden;

    background:#ffffff;

    box-shadow:
        0 30px 80px rgba(15,23,42,.08);

}


/*==================================================
    TRACK
==================================================*/

.gallery-track{

    display:flex;

    transition:transform .6s cubic-bezier(.22,.61,.36,1);

}


/*==================================================
    SLIDE
==================================================*/

.gallery-slide{

    min-width:100%;

    position:relative;

}

.gallery-slide img{

    width:100%;

    height:680px;

    display:block;

    object-fit:cover;

}


/*==================================================
    CAPTION
==================================================*/

.gallery-caption{

    position:absolute;

    left:40px;

    bottom:40px;

    padding:18px 26px;

    border-radius:16px;

    background:rgba(15,23,42,.78);

    backdrop-filter:blur(10px);

}

.gallery-caption h4{

    margin:0;

    color:#ffffff;

    font-size:1.2rem;

    font-weight:700;

}


/*==================================================
    NAVIGATION BUTTONS
==================================================*/

.gallery-btn{

    position:absolute;

    top:50%;

    transform:translateY(-50%);

    width:58px;

    height:58px;

    border:none;

    border-radius:50%;

    background:rgba(255,255,255,.94);

    color:#0f172a;

    cursor:pointer;

    z-index:10;

    transition:.3s;

    box-shadow:0 10px 30px rgba(0,0,0,.12);

}

.gallery-btn:hover{

    background:#2563eb;

    color:#ffffff;

    transform:translateY(-50%) scale(1.08);

}

.gallery-prev{

    left:25px;

}

.gallery-next{

    right:25px;

}

.gallery-btn i{

    font-size:1rem;

}


/*==================================================
    DOTS
==================================================*/

.gallery-dots{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:12px;

    margin-top:35px;

}

.gallery-dot{

    width:12px;

    height:12px;

    border:none;

    border-radius:50%;

    background:#cbd5e1;

    cursor:pointer;

    transition:.35s;

}

.gallery-dot.active{

    width:36px;

    border-radius:20px;

    background:#2563eb;

}

.gallery-dot:hover{

    background:#2563eb;

}


/*==================================================
    RESPONSIVE
==================================================*/

@media(max-width:992px){

.project-gallery-section{

    padding:90px 0;

}

.gallery-slide img{

    height:520px;

}

.project-gallery-section .section-header h2{

    font-size:2.4rem;

}

}

@media(max-width:768px){

.project-gallery-section{

    padding:80px 0;

}

.project-gallery-section .section-header{

    margin-bottom:50px;

}

.project-gallery-section .section-header h2{

    font-size:2rem;

}

.gallery-slide img{

    height:380px;

}

.gallery-caption{

    left:20px;

    bottom:20px;

    padding:14px 18px;

}

.gallery-btn{

    width:48px;

    height:48px;

}

.gallery-prev{

    left:15px;

}

.gallery-next{

    right:15px;

}

}

@media(max-width:480px){

.project-gallery-section{

    padding:70px 0;

}

.project-gallery-section .section-header h2{

    font-size:1.7rem;

}

.gallery-slide img{

    height:260px;

}

.gallery-caption{

    width:calc(100% - 30px);

    left:15px;

    bottom:15px;

}

.gallery-caption h4{

    font-size:1rem;

}

.gallery-btn{

    width:42px;

    height:42px;

}

.gallery-dot{

    width:10px;

    height:10px;

}

.gallery-dot.active{

    width:28px;

}

}










/*==================================================
    RESULTS & IMPACT
==================================================*/

.project-results-section{

    position: relative;

    padding: 170px 0;

    overflow: hidden;

}

.project-results-section::before{

    content: "";

    position: absolute;

    top: -220px;

    right: -220px;

    width: 450px;

    height: 450px;

    border-radius: 50%;

    background: radial-gradient(circle,
        rgba(37,99,235,.06),
        transparent 72%);

}

.project-results-section::after{

    content: "";

    position: absolute;

    bottom: -180px;

    left: -180px;

    width: 350px;

    height: 350px;

    border-radius: 50%;

    background: radial-gradient(circle,
        rgba(14,165,233,.05),
        transparent 70%);

}


/*==================================================
    WRAPPER
==================================================*/

.results-wrapper{

    display: grid;

    grid-template-columns: 500px 1fr;

    gap: 80px;

    align-items: center;

}


/*==================================================
    IMAGE
==================================================*/

.results-image{

    position: relative;

}

.results-image img{

    width: 120%;

    display: block;
}


/*==================================================
    CONTENT
==================================================*/

.results-content{

    max-width: 700px;

}

.section-badge{

    display: inline-flex;

    align-items: center;

    gap: 10px;

    padding: 10px 20px;

    border-radius: 50px;

    background: #eff6ff;

    color: #2563eb;

    font-size: .9rem;

    font-weight: 700;

}

.section-badge i{

    font-size: .9rem;

}

.results-content h2{

    margin: 25px 0 18px;

    font-size: 3rem;

    font-weight: 800;

    color: #0f172a;

    line-height: 1.2;

}

.section-line{

    width: 80px;

    height: 4px;

    border-radius: 10px;

    background: #2563eb;

    margin-bottom: 30px;

}

.results-content p{

    font-size: 1.08rem;

    color: #64748b;

    line-height: 2;

}


/*==================================================
    HIGHLIGHT BOX
==================================================*/

.results-highlight{

    margin-top: 80px;

    display: flex;

    align-items: flex-start;

    gap: 25px;

    padding: 35px;

    border-radius: 24px;

    background: linear-gradient(135deg,#eff6ff,#ffffff);

    border-left: 5px solid #2563eb;

    box-shadow: 0 20px 60px rgba(15,23,42,.06);

}

.quote-icon{

    width: 70px;

    height: 70px;

    border-radius: 50%;

    background: #2563eb;

    color: #ffffff;

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 1.5rem;

    flex-shrink: 0;

}




/*==================================================
    RESPONSIVE
==================================================*/

@media(max-width:1200px){

    .results-wrapper{

        grid-template-columns: 420px 1fr;

        gap: 60px;

    }

}

@media(max-width:992px){

    .project-results-section{

        padding: 90px 0;

    }

    .results-wrapper{

        grid-template-columns: 1fr;

        gap: 50px;

        text-align: center;

    }

    .results-image{

        max-width: 500px;

        margin: auto;

    }

    .section-line{

        margin: 0 auto 30px;

    }

    .results-content{

        max-width: 100%;

    }

}

@media(max-width:768px){

    .project-results-section{

        padding: 80px 0;

    }

    .results-content h2{

        font-size: 2.2rem;

    }

    .results-highlight{

        flex-direction: column;

        text-align: center;

        align-items: center;

        padding: 30px;

    }

}

@media(max-width:576px){

    .project-results-section{

        padding: 70px 0;

    }

    .results-content h2{

        font-size: 1.8rem;

    }

    .results-content p{

        font-size: 1rem;

    }

    .quote-icon{

        width: 60px;

        height: 60px;

        font-size: 1.3rem;

    }

}










/*==================================================
    CLIENT TESTIMONIAL SECTION
==================================================*/

.project-testimonial-section{

    position: relative;

    padding: 60px 0;

    background: #f8fafc;

    overflow: hidden;

}

.project-testimonial-section::before{

    content: "";

    position: absolute;

    top: -180px;

    left: -180px;

    width: 420px;

    height: 420px;

    border-radius: 50%;

    background: radial-gradient(circle,
        rgba(37,99,235,.06),
        transparent 72%);

}

.project-testimonial-section::after{

    content: "";

    position: absolute;

    bottom: -180px;

    right: -180px;

    width: 420px;

    height: 420px;

    border-radius: 50%;

    background: radial-gradient(circle,
        rgba(14,165,233,.05),
        transparent 72%);

}


/*==================================================
    SECTION HEADER
==================================================*/

.project-testimonial-section .section-header{

    max-width: 760px;

    margin: 0 auto 35px;

    text-align: center;

}

.project-testimonial-section .section-badge{

    display: inline-flex;

    align-items: center;

    gap: 10px;

    padding: 10px 22px;

    border-radius: 50px;

    background: #eff6ff;

    color: #2563eb;

    font-size: .9rem;

    font-weight: 700;

}

.project-testimonial-section .section-badge i{

    font-size: .9rem;

}

.project-testimonial-section .section-header h2{

    margin: 10px 0;

    font-size: 3rem;

    font-weight: 800;

    color: #0f172a;

    line-height: 1.2;

}

.project-testimonial-section .section-header p{

    color: #64748b;

    font-size: 1.05rem;

    line-height: 1.9;

}


/*==================================================
    SLIDER WRAPPER
==================================================*/

.testimonial-slider-wrapper{
    position: relative;
    display: flex;
    align-items: stretch;
    gap: 25px;
}

.testimonial-slider{
    width: 100%;
    overflow: hidden;
}


/*==================================================
    TRACK
==================================================*/

.testimonial-track{
    display: flex;
    transition: transform .6s cubic-bezier(.22,.61,.36,1);
}


/*==================================================
    CARD
==================================================*/

.testimonial-card{
    flex: 0 0 calc(100% / 3);
    display: flex;
    padding: 15px;
    box-sizing: border-box;
}

.testimonial-card-inner{
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 100%;

    position: relative;

    height: 90%;

    padding: 35px;

    background: #ffffff;

    border-radius: 24px;

    box-shadow: 0 20px 60px rgba(15,23,42,.08);

    transition: .35s;

}

.testimonial-card-inner:hover{

    transform: translateY(-8px);

    box-shadow: 0 30px 80px rgba(15,23,42,.12);

}
/*==================================================
    QUOTE ICON
==================================================*/

.quote-icon{

    width: 65px;

    height: 65px;

    border-radius: 50%;

    display: flex;

    align-items: center;

    justify-content: center;

    margin-bottom: 15px;

    background: #eff6ff;

    color: #2563eb;

    font-size: 1.6rem;

}

.quote-icon i{

    opacity: .9;

}


/*==================================================
    STAR RATING
==================================================*/

.testimonial-rating{

    display: flex;

    align-items: center;

    gap: 6px;

    margin-bottom: 15px;

}

.testimonial-rating i{

    font-size: 1rem;

    color: #d1d5db;

    transition: .3s;

}

.testimonial-rating i.active{

    color: #fbbf24;

}


/*==================================================
    TESTIMONIAL CONTENT
==================================================*/

.testimonial-content{
    flex:1;
    margin-bottom:9px;
}

.testimonial-content p{
    color: #475569;

    font-size: 1rem;

    margin:0;
    line-height:1.9;
    min-height: 170px;

}


/*==================================================
    DIVIDER
==================================================*/

.testimonial-divider{

    width: 100%;

    height: 1px;

    background: #e2e8f0;

    margin-bottom: 25px;

}


/*==================================================
    CLIENT INFO
==================================================*/

.testimonial-user{

    display: flex;

    align-items: center;

    gap: 18px;

}


/*==================================================
    CLIENT PHOTO
==================================================*/

.testimonial-user img{

    width: 72px;

    height: 72px;

    border-radius: 50%;

    object-fit: cover;

    border: 4px solid #eff6ff;

    flex-shrink: 0;

}


/*==================================================
    AVATAR FALLBACK
==================================================*/

.testimonial-avatar{

    width: 72px;

    height: 72px;

    border-radius: 50%;

    display: flex;

    align-items: center;

    justify-content: center;

    background: linear-gradient(135deg,#2563eb,#0ea5e9);

    color: #ffffff;

    font-size: 1.4rem;

    font-weight: 700;

    flex-shrink: 0;

}


/*==================================================
    CLIENT DETAILS
==================================================*/

.testimonial-info{

    flex: 1;

}

.testimonial-info h4{

    margin: 0 0 6px;

    font-size: 1.2rem;

    font-weight: 700;

    color: #0f172a;

}

.testimonial-info span{

    display: block;

    color: #2563eb;

    font-size: .95rem;

    font-weight: 600;

    margin-bottom: 4px;

}

.testimonial-info small{

    display: block;

    color: #64748b;

    font-size: .9rem;

    line-height: 1.5;

}
/*==================================================
    NAVIGATION BUTTONS
==================================================*/

.testimonial-btn{

    width: 56px;

    height: 56px;

    border: none;

    border-radius: 50%;

    background: #ffffff;

    color: #0f172a;

    display: flex;

    align-items: center;

    justify-content: center;

    cursor: pointer;

    flex-shrink: 0;

    box-shadow: 0 12px 35px rgba(15,23,42,.08);

    transition: all .35s ease;

}

.testimonial-btn:hover{

    background: #2563eb;

    color: #ffffff;

    transform: translateY(-3px);

    box-shadow: 0 20px 45px rgba(37,99,235,.25);

}

.testimonial-btn i{

    font-size: 1rem;

}

.testimonial-prev{

    margin-right: 10px;

}

.testimonial-next{

    margin-left: 10px;

}


/*==================================================
    PAGINATION
==================================================*/

.testimonial-pagination{

    display: flex;

    justify-content: center;

    align-items: center;

    gap: 12px;

    margin-top: 45px;

}

.testimonial-dot{

    width: 12px;

    height: 12px;

    border: none;

    border-radius: 50%;

    background: #cbd5e1;

    cursor: pointer;

    transition: all .35s ease;

}

.testimonial-dot.active{

    width: 36px;

    border-radius: 50px;

    background: #2563eb;

}

.testimonial-dot:hover{

    background: #2563eb;

}


/*==================================================
    RESPONSIVE
==================================================*/



@media (max-width:992px){

    .project-testimonial-section{

        padding: 90px 0;

    }

    .project-testimonial-section .section-header{

        margin-bottom: 55px;

    }

    .project-testimonial-section .section-header h2{

        font-size: 2.4rem;

    }

    .testimonial-slider-wrapper{

        gap: 15px;

    }

    .testimonial-btn{

        width: 50px;

        height: 50px;

    }

}

@media (max-width:768px){

    .testimonial-card{

        flex: 0 0 100%;

    }

    .project-testimonial-section{

        padding: 80px 0;

    }

    .project-testimonial-section .section-header h2{

        font-size: 2rem;

    }

    .testimonial-card-inner{

        padding: 30px;

    }

    .testimonial-content p{

        min-height: auto;

    }

}

@media (max-width:576px){

    .testimonial-slider-wrapper{

        gap: 10px;

    }

    .testimonial-btn{

        width: 44px;

        height: 44px;

    }

    .testimonial-btn i{

        font-size: .9rem;

    }

    .project-testimonial-section .section-header h2{

        font-size: 1.7rem;

    }

    .project-testimonial-section .section-header p{

        font-size: .95rem;

    }

    .testimonial-card{

        padding: 8px;

    }

    .testimonial-card-inner{

        padding: 24px;

        border-radius: 20px;

    }

    .testimonial-user{

        gap: 14px;

    }

    .testimonial-user img,

    .testimonial-avatar{

        width: 60px;

        height: 60px;

    }

    .testimonial-avatar{

        font-size: 1.2rem;

    }

    .testimonial-info h4{

        font-size: 1.05rem;

    }

    .testimonial-info span{

        font-size: .9rem;

    }

    .testimonial-info small{

        font-size: .82rem;

    }

}









/*==================================================
    PROJECT CTA SECTION
==================================================*/

.project-cta-section{

    position: relative;

    padding: 90px 0;

    background: linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);

    overflow: hidden;

}


/*==================================================
    CTA CARD
==================================================*/

.project-cta{

    position: relative;

    overflow: hidden;

    padding: 80px;

    border-radius: 32px;

    background: linear-gradient(135deg,#0f172a,#1e3a8a);

    color: #ffffff;

    text-align: center;

    box-shadow: 0 35px 90px rgba(15,23,42,.25);

}


/*==================================================
    DECORATIVE SHAPES
==================================================*/

.cta-shape{

    position: absolute;

    border-radius: 50%;

    pointer-events: none;

}

.cta-shape-1{

    width: 320px;

    height: 320px;

    top: -140px;

    right: -120px;

    background: rgba(255,255,255,.06);

}

.cta-shape-2{

    width: 220px;

    height: 220px;

    bottom: -90px;

    left: -70px;

    background: rgba(37,99,235,.25);

}


/*==================================================
    CONTENT
==================================================*/

.cta-content{

    position: relative;

    z-index: 2;

    max-width: 760px;

    margin: 0 auto;

}

.cta-badge{

    display: inline-flex;

    align-items: center;

    gap: 10px;

    padding: 12px 24px;

    border-radius: 50px;

    background: rgba(255,255,255,.12);

    color: #ffffff;

    font-size: .95rem;

    font-weight: 600;

    backdrop-filter: blur(10px);

}

.cta-badge i{

    color: #fbbf24;

}

.project-cta h2{

    margin: 28px 0 20px;

    font-size: 3rem;

    font-weight: 800;

    line-height: 1.2;

    color: #ffffff;

}

.project-cta p{

    margin: 0 auto;

    max-width: 720px;

    font-size: 1.1rem;

    line-height: 2;

    color: rgba(255,255,255,.82);

}

.project-cta p strong{

    color: #ffffff;

}


/*==================================================
    BUTTONS
==================================================*/

.cta-actions{

    display: flex;

    justify-content: center;

    align-items: center;

    gap: 20px;

    margin: 45px 0 55px;

    flex-wrap: wrap;

}

.cta-actions a{

    display: inline-flex;

    align-items: center;

    gap: 12px;

    text-decoration: none;

    transition: .35s ease;

}

.btn-primary{

    padding: 16px 34px;

    border-radius: 60px;

    background: #ffffff;

    color: #0f172a;

    font-weight: 700;

}

.btn-primary:hover{

    transform: translateY(-4px);

    background: #f8fafc;

    box-shadow: 0 18px 40px rgba(255,255,255,.18);

}

.btn-outline{

    padding: 16px 34px;

    border-radius: 60px;

    border: 1px solid rgba(255,255,255,.25);

    color: #ffffff;

    background: transparent;

}

.btn-outline:hover{

    background: rgba(255,255,255,.12);

    transform: translateY(-4px);

}


/*==================================================
    HIGHLIGHTS
==================================================*/

.cta-highlights{

    position: relative;

    z-index: 2;

    display: grid;

    grid-template-columns: repeat(4,1fr);

    gap: 20px;

    margin-top: 15px;

}

.highlight-item{

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 10px;

    padding: 18px;

    border-radius: 18px;

    background: rgba(255,255,255,.08);

    backdrop-filter: blur(12px);

    color: rgba(255,255,255,.95);

    font-size: .95rem;

    font-weight: 500;

}

.highlight-item i{

    color: #22c55e;

    font-size: 1rem;

}


/*==================================================
    RESPONSIVE
==================================================*/

@media(max-width:1200px){

    .cta-highlights{

        grid-template-columns: repeat(2,1fr);

    }

}

@media(max-width:992px){

    .project-cta-section{

        padding: 90px 0;

    }

    .project-cta{

        padding: 60px 40px;

    }

    .project-cta h2{

        font-size: 2.5rem;

    }

}

@media(max-width:768px){

    .project-cta{

        padding: 50px 30px;

        border-radius: 24px;

    }

    .project-cta h2{

        font-size: 2rem;

    }

    .project-cta p{

        font-size: 1rem;

        line-height: 1.8;

    }

    .cta-highlights{

        grid-template-columns: 1fr;

    }

}

@media(max-width:576px){

    .project-cta-section{

        padding: 70px 0;

    }

    .project-cta{

        padding: 40px 24px;

    }

    .project-cta h2{

        font-size: 1.7rem;

    }

    .cta-actions{

        flex-direction: column;

    }

    .btn-primary,

    .btn-outline{

        width: 100%;

        justify-content: center;

    }

    .highlight-item{

        justify-content: flex-start;

        text-align: left;

    }

}