
        .category-card {
            position: relative;
            display: block;
            height: 280px;
            border-radius: 16px;
            overflow: hidden;
            background-size: cover;
            background-position: center;
            color: #fff;
            text-decoration: none;
        }

        /* overlay default */
        .category-card .overlay {
            position: absolute;
            inset: 0;
            background: linear-gradient(
                to top,
                rgba(0,0,0,0.65),
                rgba(0,0,0,0.1)
            );
            transition: all 0.4s ease;
        }

        .category-card:hover .overlay {
            background: linear-gradient(
                to top,
                rgba(255, 103, 1, 1),
                /* rgba(233, 55, 2, 0,5), */
                rgba(203, 22, 6, 0.098)

            );
        }

        .category-card h3 {
            position: absolute;
            bottom: 20px;
            left: 20px;
            right: 20px;

            font-size: 16px;
            font-weight: 700;
            letter-spacing: 1px;

            color: #fff; /* pastikan putih */
            opacity: 1;
            transition: all 0.3s ease;
        }

        .category-card:hover {
            transform: scale(1.03);
        }

        /* .category-card:hover h3 {
            opacity: 0;
            transform: translateY(10px);
        } */

       
        /* card location */
        .project-wrap{
            position: relative;
            overflow: hidden;
            border-radius: 12px;
        }

        .img-wrap{
            overflow: hidden;
        }

        .img{
            height: 320px;
            background-size: cover;
            background-position: center;
            transition: transform 0.5s ease;
        }

        /* hanya gambar yang zoom */
        .project-wrap:hover .img{
            transform: scale(1.1);
        }

        /* tag tetap diam */
        .tag{
            position: absolute;
            top: 15px;
            left: 15px;
            z-index: 1;

            background: #f15d30;
            color: white;

            padding: 6px 12px;
            border-radius: 30px;

            font-size: 12px;
            font-weight: 600;
        }

        .location-box {
            background: #f15d30;
            color: white;
            padding: 15px;
        }

        #pagination-controls {
            text-align: center;
            margin-top: 30px;
        }

        #pagination-controls button {
            border: none;
            padding: 8px 14px;
            margin: 4px;
            background: #eee;
            cursor: pointer;
            border-radius: 6px;
        }

        #pagination-controls button.active {
            background: #f15d30;
            color: #fff;
        }

        /* =========================
        SCROLL BUTTON
        ========================= */

       .scroll-btn{
            position:absolute;
            top:50%;
            transform:translateY(-50%);
            width:38px;
            height:38px;

            border:none;
            border-radius:50%;
            background:#ff5a1f;
            color:#fff;
            cursor:pointer;
            z-index:6;
            box-shadow:0 4px 10px rgba(0,0,0,0.2);
        }

        .scroll-btn:hover{
            transform:translateY(-50%) scale(1.08);
        }

        .scroll-btn.left{
            left:-20px;
        }

        .scroll-btn.right{
            right:-20px;
        }

        /* Video Modal */
        .video-modal {
            display: none;
            position: fixed;
            z-index: 9999;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            background: rgba(0,0,0,0.85);
        }

        .video-content {
            position: relative;
            width: 80%;
            max-width: 800px;
            margin: 8% auto;
            background: #000;
            padding: 20px;
            border-radius: 12px;
        }

        .close-video {
            position: absolute;
            top: -10px;
            right: -10px;
            color: #fff;
            font-size: 30px;
            cursor: pointer;
        }


         
    /* =========================
    AboutUs
    ========================= */
    .section-custom {
        padding: 10px ;
    }

    /* TITLE */
    .section-title {
        color: #ff5a00;
        font-weight: 700;
        margin-bottom: 20px;
        text-transform: uppercase;
    }

    /* WHY SECTION */
    .why-box {
        border: 3px solid #ff5a00;
        border-radius: 10px;
        padding: 15px;
        display: flex;
        align-items: center;
        gap: 15px;
        color: black;
        margin-bottom: 15px;
        font-size: 18px;
        transition: 0.3s;
    }

    .why-box i {
        color: #ff5a00;
        font-size: 25px;
    }

    .why-box:hover {
        background: #fff3ec;
    }

    /* SERVICES */
    .service-card {
        position: relative;
        overflow: hidden;
        border-radius: 16px;

        outline: 2px solid #ffffff;

        transition: outline-color 0.3s ease,
                    transform 0.3s ease;
    }

    .service-card:hover {
        outline-color: #ff5a1f;

        transform: translateY(-6px);

        box-shadow:
        0 10px 30px rgba(255,90,31,0.25);
    }

    .service-card:hover .service-overlay {
        color: #ff5a1f;

        text-shadow:
        0 0 10px rgba(255,90,31,0.4);
    }

    .service-card img {
        width: 100%;
        height: 400px;

        object-fit: cover;

        transition:
        transform 0.5s ease,
        filter 0.5s ease;
    }
    .card-dark-overlay {
        position: absolute;
        inset: 0;

        background:
        linear-gradient(
            to top,
            rgba(0,0,0,0.35),
            rgba(0,0,0,0.2)
        );

        opacity: 0;

        transition: opacity 0.4s ease;

        z-index: 1;
    }
    .service-card:hover .card-dark-overlay {
        opacity: 1;
    }

    /* efek zoom */
    .service-card:hover img {
        transform: scale(1.08);
    }

    .service-overlay {
        position: absolute;
        bottom: 0;
        width: 100%;
        padding: 15px;

        color: white;
        font-weight: 600;

        z-index: 2;

        transition: all 0.3s ease;
    }

    /* INCENTIVE */
    .incentive-icon {
        font-size: 40px;
        color: #ff5a00;
        margin-bottom: 15px;
    }

    .incentive-box {
        text-align: center;
    }

    .incentive-list {
        border: 2px solid #ff5a00;
        border-radius: 12px;
        padding: 8px;
        color: black;
        margin: 5px 0;
        font-size: 15px;
    }

    /* TITLE */
    .title-asset {
        font-size: 32px;
        font-weight: 700;
        margin-bottom: 10px;
    }

    /* DESCRIPTION */
    .desc-asset {
        max-width: 700px;
        margin: 0 auto;
        color: #777;
        font-size: 14px;
    }


/* =========================
Location Detail 
========================= */
.gallery-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:15px;
}

/* item */
.gallery-item{
    position:relative;
    overflow:hidden;
    border-radius:12px;

    height:250px;

    background:
    linear-gradient(
        90deg,
        #eee 25%,
        #f5f5f5 50%,
        #eee 75%
    );

    background-size:200% 100%;

    animation:skeleton 1.2s infinite;
}

/* skeleton animation */
@keyframes skeleton{

    0%{
        background-position:200% 0;
    }

    100%{
        background-position:-200% 0;
    }
}

/* image */
.gallery-img{
    width:100%;
    height:100%;

    object-fit:cover;

    display:block;

    opacity:0;

    transition:
    opacity .4s ease,
    transform .3s ease;
}

/* loaded */
.gallery-img.loaded{
    opacity:1;
}

/* hover */
.gallery-item:hover .gallery-img{
    transform:scale(1.03);
}

/* layout */
.gallery-item:nth-child(1){
    grid-row:span 2;
    height:515px;
}

.gallery-item:nth-child(4){
    grid-column:span 2;
}

/* responsive */
@media(max-width:768px){

    .gallery-grid{
        grid-template-columns:1fr 1fr;
    }

    .gallery-item{
        height:180px;
    }

    .gallery-item:nth-child(1){
        grid-row:auto;
        height:180px;
    }

    .gallery-item:nth-child(4){
        grid-column:auto;
    }
}

/* Maps */
.map-placeholder{

    height:400px;

    border-radius:12px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#f5f5f5;

    cursor:pointer;

    font-weight:600;

    transition:.3s;
}

.map-placeholder:hover{
    background:#eee;
}


/* Lightbox */
#lightbox-modal{
    display:none;
    position:fixed;
    z-index:9999;
    inset:0;
    background:rgba(0,0,0,.92);
    padding:40px;
    text-align:center;
}

#lightbox-modal img{

    max-width:90%;
    max-height:85%;

    border-radius:10px;
}

.close-btn{

    position:absolute;
    top:20px;
    right:30px;
    font-size:32px;
    color:#fff;
    cursor:pointer;
}

.nav-arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    font-size:42px;
    color:#fff;
    cursor:pointer;
}

.prev{
    left:30px;
}

.next{
    right:30px;
}

.image-counter{
    color:#fff;
    margin-top:12px;
}

/* BUTTON */
.back-btn {
    margin-top: 50px;
    display: inline-flex;
    align-items: center;
    gap: 10px;

    padding: 12px 20px;   
    font-size: 16px;      
    font-weight: 600;

    color: #333;
    background: #f5f5f5;
    border-radius: 999px;
    text-decoration: none;
    transition: all 0.25s ease;
}
.back-icon {
    font-size: 20px;
    transition: transform 0.25s ease;
}
.back-btn:hover {
    background: #f15d30;
    color: #fff;
}
.back-btn:hover .back-icon {
    transform: translateX(-4px);
}
.back-btn {
    backdrop-filter: blur(6px);
    background: rgba(245,245,245,0.8);
}
        

        /* =========================
        location-list
        ========================= */
       
    /* =========================================================
    CATEGORY FILTER CLEAN VERSION
    ========================================================= */

    .category-filter{
        position:relative;
        margin-bottom:50px;

        padding:0 55px;

        overflow:hidden;
    }

    /* TITLE */
    .category-filter h4{
        margin-bottom:20px;
        font-weight:600;
    }

    /* =========================================================
    SCROLL AREA
    ========================================================= */

    .category-scroll{
        display:flex;
        flex-wrap:nowrap;

        gap:14px;

        overflow-x:auto;
        overflow-y:hidden;

        scroll-behavior:smooth;
        -webkit-overflow-scrolling:touch;

        padding:10px 0 18px;

        scrollbar-width:thin;
        scrollbar-color:#ff5a1f #f1f1f1;
    }

    /* Chrome scrollbar */
    .category-scroll::-webkit-scrollbar{
        height:8px;
    }

    .category-scroll::-webkit-scrollbar-track{
        background:#f1f1f1;
        border-radius:20px;
    }

    .category-scroll::-webkit-scrollbar-thumb{
        background:linear-gradient(
            to right,
            #ff5a1f,
            #ff7a45
        );

        border-radius:20px;
    }

    /* =========================================================
    FADE LEFT RIGHT
    ========================================================= */

    .category-filter::before,
    .category-filter::after{
        content:"";

        position:absolute;
        top:0;

        width:100px;
        height:calc(100% - 12px);

        z-index:1;
        pointer-events:none;
    }

    /* LEFT */
    .category-filter::before{
        left:0;

        background:linear-gradient(
            to right,
            rgba(255,255,255,1) 20%,
            rgba(255,255,255,0)
        );
    }

    /* RIGHT */
    .category-filter::after{
        right:0;

        background:linear-gradient(
            to left,
            rgba(255,255,255,1) 20%,
            rgba(255,255,255,0)
        );
    }

    /* =========================================================
    CATEGORY ITEM
    ========================================================= */

    .category-item{
        position:relative;

        flex:0 0 auto;

        width:180px;
        height:110px;

        border-radius:12px;
        overflow:hidden;

        cursor:pointer;

        transition:0.3s;
    }

    .category-item img{
        width:100%;
        height:100%;

        object-fit:cover;

        transition:0.4s;
    }

    .category-item:hover img{
        transform:scale(1.08);
    }

    .category-item.active{
        outline:3px solid #ff5a1f;
    }

    .category-item.active img{
        transform:scale(1.05);
    }

    /* TEXT */
    .category-text{
        position:absolute;

        top:50%;
        left:50%;

        transform:translate(-50%,-50%);

        width:90%;

        text-align:center;

        color:#fff;

        font-size:13px;
        font-weight:700;
        line-height:1.3;

        z-index:2;
    }

    /* overlay */
    .category-item::after{
        content:"";

        position:absolute;
        inset:0;

        background:rgba(0,0,0,0.25);

        z-index:1;
    }

    /* =========================================================
    SCROLL BUTTON
    ========================================================= */
    .scroll-btn{
        position:absolute;

        top:60%;

        transform:translateY(-50%);

        width:42px;
        height:42px;

        border:none;
        border-radius:50%;

        background:#ff5a1f;
        color:#fff;

        font-size:22px;
        font-weight:bold;

        cursor:pointer;

        z-index:3;

        box-shadow:0 6px 18px rgba(0,0,0,0.2);

        transition:0.25s;
    }

    .scroll-btn:hover{
        transform:translateY(-50%) scale(1.08);
    }

    /* LEFT BUTTON */
    .scroll-btn.left{
        left:10px;
    }

    /* RIGHT BUTTON */
    .scroll-btn.right{
        right:10px;
    }

    /* =========================================================
    MOBILE
    ========================================================= */

    @media(max-width:768px){

        .category-scroll{
            padding:10px 18px 16px;
            gap:12px;
        }

        .category-item{
            width:160px;
            height:95px;
        }

        .scroll-btn{
            width:36px;
            height:36px;
            font-size:18px;
        }

        .scroll-btn.left{
            left:4px;
        }

        .scroll-btn.right{
            right:4px;
        }
    }