/* =========================================================
| CUSTOM GALLERY SECTION
========================================================= */

.sg-gallery-section{

    position:relative;

    padding:90px 0 100px;

    overflow:hidden;

    background:
        linear-gradient(
            135deg,
            #020617 0%,
            #081226 40%,
            #0f172a 100%
        );
}

/* =========================================================
| BACKGROUND GLOW
========================================================= */

.sg-gallery-glow{

    position:absolute;

    border-radius:50%;

    filter:blur(40px);

    opacity:.16;

    z-index:1;
}

.sg-gallery-glow-1{

    width:320px;
    height:320px;

    top:-100px;
    left:-120px;

    background:
        radial-gradient(
            #2563eb,
            transparent
        );
}

.sg-gallery-glow-2{

    width:280px;
    height:280px;

    bottom:-120px;
    right:-80px;

    background:
        radial-gradient(
            #06b6d4,
            transparent
        );
}

/* =========================================================
| HEADER
========================================================= */

.sg-gallery-header{

    position:relative;

    z-index:5;

    margin-bottom:55px;
}

/* =========================================================
| BADGE
========================================================= */

.sg-gallery-badge{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    padding:12px 24px;

    border-radius:60px;

    background:
        rgba(37,99,235,.12);

    border:
        1px solid rgba(255,255,255,.08);

    color:#60a5fa;

    font-size:13px;

    font-weight:700;

    margin-bottom:28px;
}

/* =========================================================
| TITLE
========================================================= */

.sg-gallery-title{

    font-size:58px;

    line-height:1.1;

    font-weight:900;

    color:#fff;

    margin-bottom:24px;

    letter-spacing:-2px;
}

.sg-gallery-title span{

    background:
        linear-gradient(
            135deg,
            #60a5fa,
            #38bdf8,
            #ffffff
        );

    -webkit-background-clip:text;

    -webkit-text-fill-color:transparent;
}

/* =========================================================
| SUBTITLE
========================================================= */

.sg-gallery-subtitle{

    max-width:820px;

    margin:auto;

    font-size:18px;

    line-height:1.9;

    color:
        rgba(255,255,255,.82);
}

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

.sg-gallery-grid{

    position:relative;

    z-index:5;
}

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

.sg-gallery-card{

    position:relative;

    overflow:hidden;

    border-radius:30px;

    background:#0f172a;

    height:100%;

    box-shadow:
        0 18px 40px rgba(0,0,0,.22);

    transition:
        transform .45s ease,
        box-shadow .45s ease;
}

.sg-gallery-card:hover{

    transform:
        translateY(-12px);

    box-shadow:
        0 35px 70px rgba(37,99,235,.20);
}

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

.sg-gallery-image{

    position:relative;

    overflow:hidden;

    height:320px;
}

.sg-gallery-image img{

    width:100%;
    height:100%;

    object-fit:cover;

    display:block;

    transition:
        transform .8s ease;
}

.sg-gallery-card:hover img{

    transform:
        scale(1.12);
}

/* =========================================================
| OVERLAY
========================================================= */

.sg-gallery-overlay{

    position:absolute;

    inset:0;

    display:flex;

    align-items:flex-end;

    padding:30px;

    background:
        linear-gradient(
            transparent,
            rgba(2,6,23,.92)
        );

    opacity:0;

    transition:.45s ease;
}

.sg-gallery-card:hover .sg-gallery-overlay{

    opacity:1;
}

/* =========================================================
| CONTENT
========================================================= */

.sg-gallery-content{

    transform:
        translateY(30px);

    transition:.45s ease;
}

.sg-gallery-card:hover .sg-gallery-content{

    transform:
        translateY(0);
}

.sg-gallery-category{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:7px 14px;

    border-radius:40px;

    background:
        rgba(37,99,235,.16);

    color:#60a5fa;

    font-size:12px;

    font-weight:700;

    margin-bottom:16px;
}

.sg-gallery-content h5{

    color:#fff;

    font-size:24px;

    font-weight:800;

    margin-bottom:20px;
}

/* =========================================================
| ACTIONS
========================================================= */

.sg-gallery-actions{

    display:flex;

    align-items:center;

    gap:14px;
}

.sg-gallery-btn{

    width:48px;
    height:48px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

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

    border:
        1px solid rgba(255,255,255,.12);

    color:#fff;

    text-decoration:none;

    transition:.35s ease;
}

.sg-gallery-btn:hover{

    background:
        linear-gradient(
            135deg,
            #2563eb,
            #38bdf8
        );

    color:#fff;

    transform:
        translateY(-4px);
}

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

.sg-gallery-number{

    position:absolute;

    top:24px;
    right:24px;

    font-size:42px;

    font-weight:900;

    color:
        rgba(255,255,255,.12);

    z-index:5;
}

/* =========================================================
| BUTTON
========================================================= */

.sg-gallery-btn-wrap{

    margin-top:60px;
}

.sg-main-gallery-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:12px;

    padding:18px 38px;

    border-radius:60px;

    background:
        linear-gradient(
            135deg,
            #2563eb,
            #38bdf8
        );

    color:#fff;

    text-decoration:none;

    font-size:16px;

    font-weight:700;

    transition:.35s ease;

    box-shadow:
        0 18px 35px rgba(37,99,235,.30);
}

.sg-main-gallery-btn:hover{

    transform:
        translateY(-5px);

    color:#fff;

    gap:18px;
}

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

@media(max-width:1200px){

    .sg-gallery-title{

        font-size:48px;
    }
}

@media(max-width:991px){

    .sg-gallery-section{

        padding:80px 0;
    }

    .sg-gallery-title{

        font-size:40px;
    }

    .sg-gallery-subtitle{

        font-size:16px;
    }
}

@media(max-width:768px){

    .sg-gallery-section{

        padding:70px 0;
    }

    .sg-gallery-title{

        font-size:34px;
    }

    .sg-gallery-subtitle{

        font-size:15px;

        line-height:1.8;
    }

    .sg-gallery-image{

        height:250px;
    }
}

@media(max-width:576px){

    .sg-gallery-title{

        font-size:30px;
    }

    .sg-gallery-badge{

        width:100%;
    }

    .sg-gallery-card{

        border-radius:22px;
    }

    .sg-gallery-image{

        height:220px;
    }
}