	pada hp/tablet/ipbhone seharusnya center. sekarang posisi kurang kekiri.
:root{
    --wg-primary:#0ea5e9;
    --wg-secondary:#2563eb;
    --wg-bg:#ffffff;
    --wg-text:#0f172a;
    --wg-text-light:#64748b;
    --wg-border:#e5e7eb;
    --wg-shadow: 0 18px 45px rgba(15,23,42,.08);
    --wg-radius:28px;
    --network-size:640px;
    --network-core:170px;
    --network-node:110px;
    --network-radius:225px;
}

/*  SECTION  */
#keunggulan{
    position:relative;
    overflow:hidden;
    background:
        linear-gradient(
            180deg,
            #ffffff,
            #f8fbff
        );
}

/*  CONTAINER  */
#keunggulan .max-w-7xl{
    position:relative;
    z-index:2;
}

/*  2 COLUMN  */
#keunggulan .flex{
    align-items:center;
    justify-content:space-between;
    gap:90px;
}

/*==============================
LEFT
==============================*/
.enterprise-left{
    display:flex;
    justify-content:center;
    align-items:center;
}

/*==============================
RIGHT
==============================*/

.enterprise-right{

    display:flex;

    flex-direction:column;

}


/*==============================
NETWORK
==============================*/

.enterprise-network{

    position:relative;

    width:var(--network-size);

    height:var(--network-size);

    margin:auto;

}


/*==============================
SVG
==============================*/

.network-svg{

    position:absolute;

    inset:0;

    width:100%;

    height:100%;

    overflow:visible;

    pointer-events:none;

}


.network-lines{

    stroke:#dbeafe;

    stroke-width:2;

    fill:none;

}


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

.network-background{

    position:absolute;

    left:50%;

    top:50%;

    width:460px;

    height:460px;

    transform:translate(-50%,-50%);

    border-radius:50%;

    background:

        radial-gradient(

            rgba(14,165,233,.14),

            transparent 70%

        );

    filter:blur(30px);

    z-index:1;

}


/*==============================
ROTATE RING
==============================*/

.network-rotate{

    position:absolute;

    left:50%;

    top:50%;

    width:500px;

    height:500px;

    transform:translate(-50%,-50%);

    border-radius:50%;

    border:1px dashed rgba(14,165,233,.18);

    animation:wgRotate 30s linear infinite;

    z-index:2;

}


@keyframes wgRotate{

    from{

        transform:
            translate(-50%,-50%)
            rotate(0deg);

    }

    to{

        transform:
            translate(-50%,-50%)
            rotate(360deg);

    }

}


/*==============================
CENTER CORE
==============================*/

.network-center{

    position:absolute;

    left:50%;

    top:50%;

    transform:translate(-50%,-50%);

    width:var(--network-core);

    height:var(--network-core);

    border-radius:50%;

    background:

        linear-gradient(
            135deg,
            #0ea5e9,
            #2563eb
        );

    display:flex;

    justify-content:center;

    align-items:center;

    overflow:hidden;

    z-index:30;

    box-shadow:

        0 0 45px rgba(14,165,233,.35),
        inset 0 0 25px rgba(255,255,255,.12);

}


/*==============================
LOGO
==============================*/

.network-logo{

    width:145px;

    height:145px;

    object-fit:contain;

    display:block;

    filter:

        drop-shadow(
            0 8px 16px rgba(255,255,255,.18)
        );

}


/*==============================
PULSE
==============================*/

.pulse-ring{

    position:absolute;

    inset:-10px;

    border-radius:50%;

    border:2px solid rgba(14,165,233,.30);

    pointer-events:none;

}


.ring2{

    inset:-22px;

    opacity:.45;

}

/*=========================================================
  WHY GEMIT V2
  Part 2
  Enterprise Node
=========================================================*/


/*==============================
NODE
==============================*/

.network-node{

    position:absolute;

    left:50%;
    top:50%;

    width:var(--network-node);
    height:var(--network-node);

    margin-left:calc(var(--network-node) / -2);
    margin-top:calc(var(--network-node) / -2);

    border-radius:26px;

    background:#fff;

    border:1px solid rgba(226,232,240,.9);

    box-shadow:
        0 14px 32px rgba(15,23,42,.08);

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    text-align:center;

    padding:12px;

    transition:
        transform .35s ease,
        box-shadow .35s ease;

    z-index:10;

}


/*==============================
ICON
==============================*/

.node-icon{

    width:54px;

    height:54px;

    margin-bottom:10px;

    display:flex;

    justify-content:center;

    align-items:center;

}


.node-icon img{

    width:100%;

    height:100%;

    object-fit:contain;

}


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

.network-node h4{

    font-size:13px;

    font-weight:700;

    color:#0f172a;

    line-height:1.3;

    margin:0;

}

/*==================================
NODE POSITION
==================================*/

.network-node{

    transform:translate(-50%,-50%);

}

.network-node:hover{

    transform:

        translate(-50%,-50%)

        scale(1.08);

}

.network-node{

    animation:

        nodeFloat 5s ease-in-out infinite;

}

@keyframes nodeFloat{

    0%,100%{

        transform:

            translate(-50%,-50%)

            translateY(0);

    }

    50%{

        transform:

            translate(-50%,-50%)

            translateY(-8px);

    }

}

/*=========================================
ENERGY SHOOTING LIGHT
=========================================*/

.hero-energy{

    position:absolute;

    left:50%;
    top:50%;

    width:0;
    height:0;

    pointer-events:none;

    z-index:95;

}

.energy-ray{

    position:absolute;

    left:0;
    top:0;

    width:140px;
    height:2px;

    transform-origin:left center;

    border-radius:10px;

    background:linear-gradient(
        90deg,
        rgba(255,255,255,1),
        rgba(125,211,252,.95),
        rgba(14,165,233,.55),
        transparent
    );

    box-shadow:
        0 0 8px #7dd3fc,
        0 0 18px #38bdf8,
        0 0 35px rgba(56,189,248,.8);

    animation:shootEnergy .9s ease-out forwards;

}

.energy-ray::after{

    content:"";

    position:absolute;

    right:-4px;
    top:50%;

    width:8px;
    height:8px;

    border-radius:50%;

    transform:translateY(-50%);

    background:#fff;

    box-shadow:
        0 0 12px #fff,
        0 0 24px #7dd3fc,
        0 0 40px #38bdf8;

}

@keyframes shootEnergy{

    from{

        opacity:0;

        transform:
            rotate(var(--angle))
            scaleX(.15);

    }

    10%{

        opacity:1;

    }

    to{

        opacity:0;

        transform:
            rotate(var(--angle))
            scaleX(1);

    }

}
/*==================================================
====================================================
        WHY GEMIT — ENTERPRISE TECHNOLOGY
====================================================
==================================================*/

.why-gemit{
    position:relative;
    overflow:hidden;

    padding:130px 0;

    background:
        radial-gradient(
            circle at 15% 30%,
            rgba(14,165,233,.10),
            transparent 35%
        ),
        radial-gradient(
            circle at 85% 70%,
            rgba(37,99,235,.08),
            transparent 35%
        ),
        #020617;

    isolation:isolate;
}


/*==================================================
BACKGROUND
==================================================*/

.why-bg{
    position:absolute;
    inset:0;

    background:
        linear-gradient(
            135deg,
            rgba(14,165,233,.04),
            transparent 40%,
            rgba(37,99,235,.04)
        );

    pointer-events:none;

    z-index:-3;
}


/* TECH GRID */

.why-grid{
    position:absolute;
    inset:0;

    opacity:.055;

    background-image:
        linear-gradient(
            rgba(148,163,184,.35) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(148,163,184,.35) 1px,
            transparent 1px
        );

    background-size:42px 42px;

    mask-image:
        radial-gradient(
            ellipse at center,
            black 30%,
            transparent 85%
        );

    pointer-events:none;

    z-index:-2;
}


/* NOISE */

.why-noise{
    position:absolute;
    inset:0;

    opacity:.035;

    background-image:
        url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");

    pointer-events:none;

    z-index:-1;
}


/*==================================================
CONTAINER
==================================================*/

.why-container{
    position:relative;

    width:min(1380px,92%);

    margin:0 auto;

    display:grid;

    grid-template-columns:
        minmax(500px,1.05fr)
        minmax(420px,.95fr);

    gap:90px;

    align-items:center;
}


/*==================================================
LEFT : TECHNOLOGY BLUEPRINT
==================================================*/

.why-visual{
    position:relative;
    min-height:650px;
    display:flex;
    align-items:center;
    justify-content:center;
}

/* BLUEPRINT AREA */

.tech-blueprint{
    position:relative;
    width:620px;
    height:620px;
    max-width:100%;
    border-radius:50%;
}


/*==================================================
CENTER HUB
==================================================*/

.hub-core{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    width:205px;
    height:205px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    border-radius:50%;
    background:
        radial-gradient(
            circle at center,
            rgba(14,165,233,.20),
            rgba(2,6,23,.96) 68%
        );
    border:1px solid rgba(56,189,248,.45);
    box-shadow:
        0 0 0 12px rgba(14,165,233,.025),
        0 0 0 28px rgba(14,165,233,.018),
        0 0 70px rgba(14,165,233,.22),
        inset 0 0 35px rgba(14,165,233,.12);
    z-index:10;
}


/* rotating core border */

.core-border{
    position:absolute;
    inset:-9px;
    border-radius:50%;
    border:1px dashed rgba(56,189,248,.45);
    animation:coreRotate 22s linear infinite;
    pointer-events:none;
}


.core-border::before,
.core-border::after{
    content:"";

    position:absolute;

    width:8px;
    height:8px;

    border-radius:50%;

    background:#38bdf8;

    box-shadow:
        0 0 15px #38bdf8;
}

.core-border::before{
    top:18px;
    left:50%;
}

.core-border::after{
    bottom:18px;
    right:50%;
}


@keyframes coreRotate{

    from{
        transform:rotate(0deg);
    }

    to{
        transform:rotate(360deg);
    }

}


/* LOGO */
#keunggulan .hub-core img{
    width:50px;
    height:50px;

    margin-bottom:5px;

    object-fit:contain;

    filter:
        drop-shadow(
            0 5px 12px
            rgba(14,165,233,.22)
        );
}


/* COMPANY */

/*==================================================
HUB CORE — ENTERPRISE TYPOGRAPHY
==================================================*/
#keunggulan .hub-core h3{
    width:160px;

    margin:5px 0 0;

    color:#0f172a !important;
    -webkit-text-fill-color:#0f172a !important;

    /*font-family:'IBM Plex Sans', sans-serif !important;*/
	font-family: 'Montserrat', sans-serif !important;

    font-size:10px;

    line-height:1.35;

    font-weight:700;

    letter-spacing:.055em;

    text-align:center;

    text-transform:uppercase;

    white-space:normal;

    opacity:1 !important;

    text-shadow:none !important;
}

#keunggulan .hub-core span{
    display:block;

    width:160px;

    margin-top:7px;

    color:#334155 !important;
    -webkit-text-fill-color:#334155 !important;

    /*font-family:'IBM Plex Sans', sans-serif !important;*/
	font-family: 'Montserrat', sans-serif !important;

    font-size:8px;

    line-height:1.45;

    font-weight:500;

    letter-spacing:.015em;

    text-align:center;

    white-space:normal;

    opacity:1 !important;

    text-shadow:none !important;

    background:transparent !important;
}
#keunggulan .hub-core span{
    padding:4px 8px;
    border-radius:6px;
    background:rgba(255,255,255,.72);
    color:#0f172a !important;
}

/*==================================================
HUB LINES
==================================================*/

.hub-line{
    position:absolute;
    left:50%;
    top:50%;
    height:1px;
    width:205px;
    transform-origin:left center;
    background:
        linear-gradient(
            90deg,
            rgba(56,189,248,.55),
            rgba(56,189,248,.08),
            transparent
        );
    opacity:.65;
    z-index:1;
}


.hub-line::after{
    content:"";

    position:absolute;

    right:5px;
    top:-2px;

    width:5px;
    height:5px;

    border-radius:50%;

    background:#38bdf8;

    box-shadow:
        0 0 12px rgba(56,189,248,.8);

    animation:
        dataPulse 2.4s ease-in-out infinite;
}


@keyframes dataPulse{

    0%,100%{
        opacity:.25;
        transform:scale(.7);
    }

    50%{
        opacity:1;
        transform:scale(1.3);
    }

}


/* INDIVIDUAL LINES */

.line-home{
    transform:rotate(-150deg);
}

.line-office{
    transform:rotate(-90deg);
}

.line-media{
    transform:rotate(-30deg);
}

.line-rental{
    transform:rotate(30deg);
}

.line-it{
    transform:rotate(90deg);
}

.line-videotron{
    transform:rotate(150deg);
}


/*==================================================
SERVICE CARDS
==================================================*/

.service-card{
    position:absolute;
    width:170px;
    min-height:135px;
    padding:18px;
    border-radius:20px;
    background:
        linear-gradient(
            145deg,
            rgba(15,23,42,.92),
            rgba(15,23,42,.72)
        );

    border:1px solid rgba(255,255,255,.08);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    box-shadow:
        0 20px 40px rgba(0,0,0,.25),
        inset 0 1px 0 rgba(255,255,255,.05);
    transition:
        transform .4s ease,
        border-color .4s ease,
        box-shadow .4s ease;
    z-index:5;
}


.service-card:hover{
    border-color:
        rgba(56,189,248,.42);

    box-shadow:
        0 25px 50px rgba(0,0,0,.35),
        0 0 30px rgba(14,165,233,.12);

    transform:
        translateY(-8px)
        scale(1.035);
}


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

.service-card img{
    display:block;
    width:58px;
    height:58px;
    margin:0 auto 10px;
    object-fit:contain;
    filter:
        drop-shadow(
            0 8px 15px
            rgba(14,165,233,.28)
        );
    transition:
        transform .4s ease,
        filter .4s ease;
}


.service-card:hover img{
    transform:scale(1.10);
    filter:
        drop-shadow(
            0 10px 22px
            rgba(56,189,248,.45)
        );
}


/*==================================================
SERVICE TEXT
==================================================*/

.service-card h4{
    margin:0 0 5px;
    color:#f8fafc;
    text-align:center;
    font-size:15px;
    font-weight:800;
}

.service-card p{
    margin:0;
    color:#94a3b8;
    text-align:center;
    font-size:10px;
    line-height:1.5;
}

.service-card > span{
    display:block;
    width:max-content;
    margin:10px auto 0;
    padding:4px 9px;
    border-radius:999px;
    color:#7dd3fc;
    background:rgba(14,165,233,.10);
    border:1px solid rgba(56,189,248,.14);
    font-size:8px;
    font-weight:800;
    letter-spacing:.08em;
}


/*==================================================
SERVICE CARD POSITIONS
==================================================*/

.service-card.home{
    left:0;
    top:70px;
}

.service-card.office{
    left:225px;
    top:-5px;
}

.service-card.media{
    right:0;
    top:70px;
}
/* Rental — kiri bawah */
.service-card.rental{
    left:0;
    right:auto;
    bottom:55px;
}

/* IT SERVICES */
.service-card.it{
    left:50%;
    top:428px;

    right:auto;
    bottom:auto;

    transform:translateX(-50%);
}

/* VIDEOTRON */
.service-card.videotron{
    right:0;
    left:auto;
    bottom:55px;
}

.service-card.it:hover{
    transform:
        translateX(-50%)
        translateY(-8px)
        scale(1.035);
}
/*==================================================
RIGHT CONTENT
==================================================*/

.why-content{
    position:relative;

    max-width:620px;
}


/* BADGE */

.why-content .section-badge{
    display:inline-flex;

    align-items:center;

    padding:8px 17px;

    border-radius:999px;

    color:#38bdf8;

    background:
        rgba(14,165,233,.09);

    border:
        1px solid rgba(56,189,248,.18);

    font-size:12px;

    font-weight:800;

    letter-spacing:.10em;
}


/* HEADING */

.why-content h2{
    margin:24px 0 22px;

    color:#fff;

    font-size:
        clamp(2.5rem,4vw,4.2rem);

    line-height:1.08;

    font-weight:900;

    letter-spacing:-.035em;
}


.why-content h2::after{
    content:"";

    display:block;

    width:70px;
    height:3px;

    margin-top:24px;

    border-radius:999px;

    background:
        linear-gradient(
            90deg,
            #0ea5e9,
            #38bdf8,
            transparent
        );
}


/* DESCRIPTION */

.why-content > p{
    margin:0 0 35px;

    color:#cbd5e1;

    font-size:16px;

    line-height:1.9;

    max-width:590px;
}


/*==================================================
COUNTERS
==================================================*/

.counter-grid{
    display:grid;

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

    gap:12px;

    margin-bottom:32px;
}


.counter-box{
    position:relative;

    padding:18px 12px;

    border-radius:16px;

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

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

    text-align:center;

    transition:.35s ease;
}


.counter-box:hover{
    transform:translateY(-4px);

    background:
        rgba(14,165,233,.07);

    border-color:
        rgba(56,189,248,.25);
}


.counter-box strong{
    display:block;

    color:#38bdf8;

    font-size:25px;

    line-height:1;

    font-weight:900;

    margin-bottom:7px;
}


.counter-box span{
    color:#94a3b8;

    font-size:10px;

    font-weight:700;

    letter-spacing:.08em;

    text-transform:uppercase;
}


/*==================================================
FEATURE LIST
==================================================*/

.feature-list{
    display:grid;

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

    gap:14px;
}


.feature-card{
    position:relative;

    display:flex;

    align-items:flex-start;

    gap:14px;

    padding:18px;

    border-radius:18px;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.055),
            rgba(255,255,255,.025)
        );

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

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


.feature-card:hover{
    transform:translateY(-5px);

    border-color:
        rgba(56,189,248,.28);

    background:
        rgba(14,165,233,.065);
}


.feature-card > i{
    flex:0 0 40px;

    width:40px;
    height:40px;

    display:flex;

    align-items:center;
    justify-content:center;

    border-radius:12px;

    color:#38bdf8;

    background:
        rgba(14,165,233,.10);

    border:
        1px solid rgba(56,189,248,.12);

    font-size:16px;

    transition:.35s ease;
}


.feature-card:hover > i{
    color:#fff;

    background:
        linear-gradient(
            135deg,
            #0ea5e9,
            #2563eb
        );

    transform:scale(1.06);
}


.feature-card h4{
    margin:0 0 5px;

    color:#f8fafc;

    font-size:14px;

    font-weight:800;
}


.feature-card p{
    margin:0;

    color:#94a3b8;

    font-size:12px;

    line-height:1.55;
}


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

@media(max-width:1150px){

    .why-container{
        grid-template-columns:1fr;

        gap:60px;
    }

    .why-content{
        max-width:760px;

        margin:0 auto;

        text-align:center;
    }

    .why-content h2::after{
        margin-left:auto;
        margin-right:auto;
    }

    .why-content > p{
        margin-left:auto;
        margin-right:auto;
    }

}


@media(max-width:700px){

    .why-gemit{
        padding:90px 0;
    }

    .why-container{
        width:calc(100% - 32px);
    }

    .why-visual{
        min-height:520px;
    }

    .tech-blueprint{
        width:480px;
        height:480px;
        transform:scale(.82);
    }

    .counter-grid{
        grid-template-columns:
            repeat(2,1fr);
    }

    .feature-list{
        grid-template-columns:1fr;
    }

}


@media(max-width:520px){

    .why-visual{
        min-height:430px;

        overflow:hidden;
    }

    .tech-blueprint{
        transform:scale(.62);
    }

    .why-content h2{
        font-size:2.25rem;
    }

    .why-content > p{
        font-size:14px;
    }

    .counter-box strong{
        font-size:22px;
    }

}

/*==================================================
WHY GEMIT - LIGHT BACKGROUND CONTENT
==================================================*/

#keunggulan .why-content h2{
    color:#0f172a !important;
    -webkit-text-fill-color:#0f172a !important;

    background:none !important;
    background-image:none !important;

    opacity:1 !important;
    visibility:visible !important;

    font-weight:900 !important;
    line-height:1.1 !important;

    text-shadow:none !important;
    filter:none !important;
}

#keunggulan .why-content > p{
    color:#334155 !important;
    -webkit-text-fill-color:#334155 !important;

    background:none !important;
    background-image:none !important;

    opacity:1 !important;
    visibility:visible !important;

    font-size:16px !important;
    font-weight:500 !important;
    line-height:1.85 !important;

    text-shadow:none !important;
    filter:none !important;
}

#keunggulan .why-content h2{
    font-size:clamp(2.5rem,4vw,4rem) !important;
    letter-spacing:-.035em;
}

/*==================================================
WHY GEMIT - FEATURE CARD TEXT
==================================================*/

#keunggulan .feature-card h4{
    color:#0f172a !important;
    -webkit-text-fill-color:#0f172a !important;

    background:none !important;
    background-image:none !important;

    opacity:1 !important;
    visibility:visible !important;

    font-size:15px !important;
    font-weight:800 !important;
    line-height:1.4 !important;

    margin:0 0 6px !important;

    text-shadow:none !important;
    filter:none !important;
}

#keunggulan .feature-card p{
    color:#475569 !important;
    -webkit-text-fill-color:#475569 !important;

    background:none !important;
    background-image:none !important;

    opacity:1 !important;
    visibility:visible !important;

    font-size:13px !important;
    font-weight:500 !important;
    line-height:1.6 !important;

    margin:0 !important;

    text-shadow:none !important;
    filter:none !important;
}

/*==================================================
WHY CHOOSE US
==================================================*/
.why-choose-us{
    position:relative;
    padding:120px 0;
    background:#ffffff;
    overflow:hidden;
    color:#0f172a;
}

.wcu-container{
    position:relative;
    z-index:2;
    width:min(1200px,92%);
    margin:auto;
    display:grid;
    grid-template-columns:
        minmax(0,1.15fr)
        minmax(380px,.85fr);
    gap:90px;
    align-items:center;
}

/*==================================================
CONTENT
==================================================*/
.wcu-content{
    max-width:700px;
}

.wcu-label{
    display:inline-flex;
    align-items:center;
    padding:7px 14px;
    border-radius:999px;
    background:#eff6ff;
    border:1px solid #bfdbfe;
    color:#075985;
    font-size:10px;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.wcu-content h2{
    margin:20px 0 18px;
    color:#0b1220;
    /*font-family:'IBM Plex Sans', sans-serif;*/
	font-family: 'Montserrat', sans-serif !important;
    font-size: clamp(2.4rem,4vw,3.8rem);
    line-height:1.06;
    letter-spacing:-.045em;
    font-weight:800;
}

.wcu-content h2 span{
    color:#075ea8;
}

.wcu-intro{
    max-width:650px;
    margin:0 0 42px;
    color:#334155;
    font-size:15px;
    line-height:1.85;
    font-weight:500;
}

/*==================================================
WHY CHOOSE US LIST
==================================================*/
.wcu-list{
    display:flex;
    flex-direction:column;
    gap:0;
}

.wcu-item{
    position:relative;
    display:grid;
    grid-template-columns:48px 1fr;
    gap:18px;
    padding:22px 0;
    border-top:1px solid #e2e8f0;
    transition:
        padding-left .3s ease,
        border-color .3s ease;
}

.wcu-item:last-child{
    border-bottom:1px solid #e2e8f0;
}

.wcu-item:hover{
    padding-left:10px;
    border-color:#bae6fd;
}

.wcu-number{
    width:40px;
    height:40px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:11px;
    background:#f0f7ff;
    border:1px solid #dbeafe;
    color:#0369a1;
    /*font-family: 'IBM Plex Sans', sans-serif;*/
	font-family: 'Montserrat', sans-serif !important;
    font-size:11px;
    font-weight:800;
    letter-spacing:.04em;
}

.wcu-item h3{
    margin:0 0 7px;
    color:#0f172a;
    /*font-family:'IBM Plex Sans', sans-serif;*/
	font-family: 'Montserrat', sans-serif !important;
    font-size:15px;
    line-height:1.3;
    font-weight:800;
    letter-spacing:.01em;
}

.wcu-item p{
    margin:0;
    color:#475569;
    font-size:12.5px;
    line-height:1.7;
    font-weight:500;
}

/*==================================================
WHY CHOOSE US VISUAL
==================================================*/
.wcu-visual{
    position:relative;
    width:100%;
    min-height:560px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.wcu-core{
    position:relative;
    z-index:5;
    width:250px;
    height:250px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    border-radius:50%;
    background:
        linear-gradient(
            145deg,
            #ffffff,
            #f0f7ff
        );

    border:1px solid #bfdbfe;
    box-shadow:
        0 30px 80px
        rgba(15,23,42,.12),

        0 0 0 14px
        rgba(14,165,233,.035);
}

.wcu-core-glow{
    position:absolute;
    inset:-25px;
    border-radius:50%;
    background:
        radial-gradient(
            circle,
            rgba(14,165,233,.13),
            transparent 65%
        );
    filter:blur(20px);
    z-index:-1;
}

.wcu-core img{
    width:48px;
    height:48px;
    object-fit:contain;
    margin-bottom:8px;
}

.wcu-core span{
    color:#0284c7;
    font-size:9px;
    font-weight:800;
    letter-spacing:.18em;
}

.wcu-core strong{
    margin-top:8px;
    color:#0f172a;
    /*font-family:'IBM Plex Sans', sans-serif;*/
	font-family: 'Montserrat', sans-serif !important;
    font-size:18px;
    line-height:1.1;
    font-weight:800;
    letter-spacing:.02em;
}

.wcu-core small{
    margin-top:10px;
    color:#64748b;
    font-size:7px;
    font-weight:700;
    letter-spacing:.12em;
}

/*==================================================
ORBIT
==================================================*/
.wcu-orbit{
    position:absolute;
    border-radius:50%;
    border:1px solid rgba(14,165,233,.16);
}

.wcu-orbit-one{
    width:430px;
    height:430px;
    animation:wcuRotate 28s linear infinite;
}

.wcu-orbit-two{
    width:520px;
    height:520px;
    border-style:dashed;
    opacity:.65;
    animation:wcuRotateReverse 40s linear infinite;
}

@keyframes wcuRotate{
    from{
        transform:rotate(0deg);
    }

    to{
        transform:rotate(360deg);
    }
}

@keyframes wcuRotateReverse{
    from{
        transform:rotate(360deg);
    }

    to{
        transform:rotate(0deg);
    }
}

/*==================================================
FLOATING CARDS
==================================================*/
.wcu-floating-card{
    position:absolute;
    z-index:8;
    display:flex;
    align-items:center;
    gap:9px;
    padding:10px 14px;
    border-radius:12px;
    background:#ffffff;
    border:1px solid #dbeafe;
    box-shadow:0 14px 35px rgba(15,23,42,.09);
    color:#0f172a;
    font-size:10px;
    font-weight:800;
    white-space:nowrap;
    transition:
        transform .3s ease,
        box-shadow .3s ease;
}

.wcu-floating-card i{
    color:#0284c7;
    font-size:13px;
}

.wcu-floating-card:hover{
    box-shadow:
        0 20px 45px rgba(14,165,233,.15);
}

.wcu-card-expertise{
    top:55px;
    left:5px;
}

.wcu-card-consultative{
    top:125px;
    right:-5px;
}

.wcu-card-scalable{
    bottom:65px;
    right:0;
}

.wcu-card-turnkey{
    bottom:5px;
    left:35px;
}

.wcu-card-craftsmanship{
    top:50%;
    left:-35px;

    transform:translateY(-50%);
}

/*==================================================
RESPONSIVE
==================================================*/
@media(max-width:1000px){
    .wcu-container{
        grid-template-columns:1fr;
        gap:70px;
    }
    .wcu-content{
        max-width:760px;
        margin:auto;
    }
    .wcu-visual{
        min-height:520px;
    }
}

@media(max-width:600px){
    .why-choose-us{
        padding:80px 0;
    }
    .wcu-container{
        width:94%;
    }
    .wcu-content h2{
        font-size:2.35rem;
    }
    .wcu-intro{
        font-size:14px;
    }
    .wcu-item{
        grid-template-columns:42px 1fr;
        gap:13px;
    }
    .wcu-item p{
        font-size:12px;
    }
    .wcu-visual{
        min-height:430px;
        transform:scale(.82);
    }
}

.wcu-item{
    opacity:0;
    transform:translateY(18px);
    transition:
        opacity .55s ease,
        transform .55s ease,
        padding-left .3s ease,
        border-color .3s ease;
}

.wcu-visible .wcu-item{
    opacity:1;
    transform:translateY(0);
}

/* =========================================================
   WHY VISUAL — MOBILE / TABLET ENTERPRISE
   Desktop tetap menggunakan CSS existing
   ========================================================= */

@media (max-width: 900px){

    .why-visual{
        min-height: 600px;
        width: 100%;
        padding: 20px 0 40px;
        overflow: visible;
    }

    .tech-blueprint{
        width: min(590px, 94vw);
        height: min(590px, 94vw);
        margin: 0 auto;
    }

    /* =========================
       CENTRAL HUB
       ========================= */

    .hub-core{
        width: 170px;
        height: 170px;
    }

    .hub-core img{
        width: 58px;
        height: 58px;
        object-fit: contain;
    }

    .hub-core h3{
        font-size: 10px;
        line-height: 1.35;
        letter-spacing: .3px;
        max-width: 130px;
    }

    .core-border{
        inset:-8px;
    }

    /* =========================
       CONNECTION LINES
       ========================= */

    .hub-line{
        width: 165px;
    }

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

    .service-card{
        width: 145px;
        min-height: 118px;
        padding: 14px 12px;
        border-radius: 16px;
    }

    .service-card img{
        width: 48px;
        height: 48px;
        margin-bottom: 7px;
    }

    .service-card h4{
        font-size: 13px;
        margin-bottom: 4px;
    }

    .service-card p{
        font-size: 8.5px;
        line-height: 1.45;
    }

    .service-card > span{
        margin-top: 7px;
        padding: 3px 7px;
        font-size: 7px;
    }

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

    .service-card.home{
        left: 0;
        top: 70px;
    }

    .service-card.office{
        left: 50%;
        top: 0;
        transform: translateX(-50%);
    }

    .service-card.media{
        right: 0;
        top: 70px;
    }

    .service-card.rental{
        left: 0;
        bottom: 48px;
    }

    .service-card.it{
        left: 50%;
        top: auto;
        bottom: 0;
        transform: translateX(-50%);
    }

    .service-card.videotron{
        right: 0;
        bottom: 48px;
    }
}


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

@media (min-width: 501px) and (max-width: 700px){

    .why-visual{
        min-height: 570px;
        padding-top: 10px;
        padding-bottom: 30px;
    }

    .tech-blueprint{
        width: 540px;
        height: 540px;
    }

    .hub-core{
        width: 155px;
        height: 155px;
    }

    .hub-core img{
        width: 52px;
        height: 52px;
    }

    .hub-core h3{
        font-size: 9px;
        max-width: 120px;
    }

    .hub-line{
        width: 150px;
    }

    .service-card{
        width: 132px;
        min-height: 108px;
        padding: 12px 10px;
        border-radius: 14px;
    }

    .service-card img{
        width: 43px;
        height: 43px;
        margin-bottom: 6px;
    }

    .service-card h4{
        font-size: 12px;
    }

    .service-card p{
        font-size: 8px;
    }

    .service-card > span{
        font-size: 6.5px;
    }

    .service-card.home{
        left: 0;
        top: 62px;
    }

    .service-card.office{
        top: 0;
    }

    .service-card.media{
        right: 0;
        top: 62px;
    }

    .service-card.rental{
        left: 0;
        bottom: 40px;
    }

    .service-card.it{
        bottom: 0;
    }

    .service-card.videotron{
        right: 0;
        bottom: 40px;
    }
}


/* =========================================================
   PHONE
   ========================================================= */

@media (max-width: 500px){

    .why-visual{
        min-height: 500px;
        padding: 10px 0 25px;
        overflow: visible;
    }

    .tech-blueprint{
        width: 450px;
        height: 450px;
        max-width: none;
        flex-shrink: 0;
        transform: scale(.82);
        transform-origin: center center;
    }

    /* =========================
       CORE
       ========================= */

    .hub-core{
        width: 140px;
        height: 140px;
    }

    .hub-core img{
        width: 45px;
        height: 45px;
    }

    .hub-core h3{
        margin: 6px 0 0;
        font-size: 8px;
        line-height: 1.3;
        max-width: 105px;
    }

    .core-border{
        inset:-7px;
    }

    /* =========================
       LINES
       ========================= */

    .hub-line{
        width: 130px;
        opacity: .5;
    }

    /* =========================
       SERVICE CARDS
       ========================= */

    .service-card{
        width: 112px;
        min-height: 94px;
        padding: 10px 8px;
        border-radius: 13px;
    }

    .service-card img{
        width: 37px;
        height: 37px;
        margin-bottom: 5px;
    }

    .service-card h4{
        font-size: 10px;
        margin-bottom: 3px;
    }

    .service-card p{
        font-size: 6.5px;
        line-height: 1.4;
    }

    .service-card > span{
        margin-top: 5px;
        padding: 2px 6px;
        font-size: 5.5px;
        letter-spacing: .06em;
    }

    /* =========================
       MOBILE POSITIONS
       ========================= */

    .service-card.home{
        left: 0;
        top: 50px;
    }

    .service-card.office{
        left: 50%;
        top: -2px;
        transform: translateX(-50%);
    }

    .service-card.media{
        right: 0;
        top: 50px;
    }

    .service-card.rental{
        left: 0;
        bottom: 34px;
    }

    .service-card.it{
        left: 50%;
        bottom: -2px;
        top: auto;
        transform: translateX(-50%);
    }

    .service-card.videotron{
        right: 0;
        bottom: 34px;
    }
}


/* =========================================================
   VERY SMALL PHONE
   ========================================================= */

@media (max-width: 380px){

    .why-visual{
        min-height: 455px;
    }

    .tech-blueprint{
        width: 420px;
        height: 420px;
        transform: scale(.76);
    }

    .service-card{
        width: 105px;
        min-height: 88px;
        padding: 9px 7px;
    }

    .service-card img{
        width: 34px;
        height: 34px;
    }

    .service-card h4{
        font-size: 9px;
    }

    .service-card p{
        font-size: 6px;
    }

    .service-card > span{
        font-size: 5px;
    }
}

/* =========================================================
   RESPONSIVE — CENTER MOBILE / TABLET / IPHONE
   ========================================================= */
@media (max-width: 1024px){

    #keunggulan .flex{
        justify-content:center;
        gap:50px;
    }
}

@media (max-width: 768px){

    #keunggulan .flex{
        justify-content:center;
        align-items:center;
        gap:35px;
    }

    #keunggulan .flex > *{
        margin-left:auto;
        margin-right:auto;
    }
}

@media (max-width: 480px){

    #keunggulan .flex{
        justify-content:center;
        align-items:center;
        gap:25px;
    }
}

f
/* =========================================================
   MOBILE — CENTER TECH BLUEPRINT
   ========================================================= */
@media (max-width:500px){

    #keunggulan .why-visual{
        width:100%;
        display:flex;
        justify-content:center;
        align-items:center;
        overflow:visible;
    }

    #keunggulan .tech-blueprint{
        position:relative;
        left:0;
        margin-left:auto;
        margin-right:auto;
        transform:scale(.82);
        transform-origin:center center;
    }
}


/* =========================================================
   VERY SMALL PHONE — CENTER
   ========================================================= */
@media (max-width:380px){

    #keunggulan .why-visual{
        width:100%;
        display:flex;
        justify-content:center;
        align-items:center;
    }

    #keunggulan .tech-blueprint{
        left:0;
        margin-left:auto;
        margin-right:auto;
        transform:scale(.76);
        transform-origin:center center;
    }
}

/* =========================================================
   KEUNGGULAN — MOBILE / TABLET CENTER FIX
   Tidak mengubah desktop
   ========================================================= */

@media (max-width: 1024px){

    #keunggulan .why-container{
        display:grid;
        grid-template-columns:1fr;
        width:100%;
    }

    #keunggulan .why-visual{
        width:100%;
        min-width:0;
        display:flex;
        justify-content:center;
        align-items:center;
        margin-left:0;
        margin-right:0;
    }

    #keunggulan .tech-blueprint{
        margin-left:auto;
        margin-right:auto;
        left:0;
        right:auto;
    }

    #keunggulan .wcu-content{
        width:100%;
        min-width:0;
    }
}

/* =========================================================
   KEUNGGULAN — MOBILE BLUEPRINT SHIFT LEFT
   Hanya memperbaiki posisi, tidak mengubah desktop
   ========================================================= */

@media (max-width: 1024px){

    #keunggulan .why-visual{
        position: relative;
        left: 0;
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        overflow: visible;
    }

    #keunggulan .tech-blueprint{
        position: relative;
        left: -25px;
        margin-left: auto;
        margin-right: auto;
    }
}

@media (max-width: 768px){

    #keunggulan .tech-blueprint{
        left: -35px;
    }
}

@media (max-width: 500px){

    #keunggulan .why-visual{
        width: 100vw;
        margin-left: 0;
        margin-right: 0;
    }

    #keunggulan .tech-blueprint{
        left: -35px;
    }
}

@media (max-width: 380px){

    #keunggulan .tech-blueprint{
        left: 3px;
    }
}

/* =========================================================
   WCU CONTENT — ENTERPRISE RESPONSIVE
   Desktop existing TIDAK DIUBAH
   ========================================================= */

@media (max-width: 1024px){

    #keunggulan .wcu-content{
        width:100%;
        max-width:820px;
        margin:0 auto;
    }

    #keunggulan .counter-grid{
        grid-template-columns:repeat(4,1fr);
        gap:10px;
    }

    #keunggulan .feature-list{
        grid-template-columns:repeat(2,1fr);
        gap:12px;
    }

    #keunggulan .feature-card{
        padding:16px;
    }
}


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

@media (max-width: 768px){

    #keunggulan .wcu-content{
        width:100%;
        max-width:680px;
        margin:0 auto;
        padding:0 20px;
        box-sizing:border-box;
    }

    #keunggulan .counter-grid{
        grid-template-columns:repeat(4,1fr);
        gap:9px;
        margin-bottom:28px;
    }

    #keunggulan .counter-box{
        padding:16px 8px;
        border-radius:14px;
    }

    #keunggulan .counter-box strong{
        font-size:22px;
    }

    #keunggulan .counter-box span{
        font-size:9px;
    }

    #keunggulan .feature-list{
        grid-template-columns:repeat(2,1fr);
        gap:12px;
    }

    #keunggulan .feature-card{
        padding:15px;
        gap:12px;
        border-radius:16px;
    }

    #keunggulan .feature-card > i{
        flex:0 0 36px;
        width:36px;
        height:36px;
        border-radius:10px;
        font-size:14px;
    }

    #keunggulan .feature-card h4{
        font-size:13px;
    }

    #keunggulan .feature-card p{
        font-size:11px;
        line-height:1.55;
    }
}


/* =========================================================
   PHONE
   ========================================================= */

@media (max-width: 500px){

    #keunggulan .wcu-content{
        width:100%;
        max-width:100%;
        padding:0 16px;
        margin:0 auto;
        box-sizing:border-box;
    }

    /* COUNTERS */

    #keunggulan .counter-grid{
        grid-template-columns:repeat(2,1fr);
        gap:10px;
        margin-bottom:26px;
    }

    #keunggulan .counter-box{
        min-width:0;
        padding:15px 8px;
        border-radius:14px;
    }

    #keunggulan .counter-box strong{
        font-size:23px;
        margin-bottom:6px;
    }

    #keunggulan .counter-box span{
        font-size:8px;
        letter-spacing:.06em;
    }


    /* FEATURE */

    #keunggulan .feature-list{
        grid-template-columns:1fr;
        gap:10px;
    }

    #keunggulan .feature-card{
        width:100%;
        box-sizing:border-box;
        padding:15px;
        gap:12px;
        border-radius:15px;
    }

    #keunggulan .feature-card > i{
        flex:0 0 38px;
        width:38px;
        height:38px;
        border-radius:10px;
        font-size:14px;
    }

    #keunggulan .feature-card h4{
        font-size:13px;
        margin-bottom:5px;
    }

    #keunggulan .feature-card p{
        font-size:11px;
        line-height:1.6;
    }
}


/* =========================================================
   VERY SMALL PHONE
   ========================================================= */

@media (max-width: 380px){

    #keunggulan .wcu-content{
        padding-left:13px;
        padding-right:13px;
    }

    #keunggulan .counter-grid{
        gap:8px;
    }

    #keunggulan .counter-box{
        padding:13px 5px;
    }

    #keunggulan .counter-box strong{
        font-size:21px;
    }

    #keunggulan .counter-box span{
        font-size:7.5px;
    }

    #keunggulan .feature-card{
        padding:13px;
    }

    #keunggulan .feature-card > i{
        flex-basis:35px;
        width:35px;
        height:35px;
    }

    #keunggulan .feature-card h4{
        font-size:12px;
    }

    #keunggulan .feature-card p{
        font-size:10px;
        line-height:1.55;
    }
}

/* =========================================================
   WCU CONTENT — RESPONSIVE ENTERPRISE
   ========================================================= */

/* TABLET */
@media (max-width: 900px){

    #keunggulan .wcu-content{
        width: 100%;
        max-width: 100%;
        min-width: 0;
        overflow: visible;
    }

    #keunggulan .counter-grid{
        grid-template-columns: repeat(2, 1fr);
    }

    #keunggulan .feature-list{
        grid-template-columns: 1fr;
        width: 100%;
    }

    #keunggulan .feature-card{
        width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    #keunggulan .feature-card > div{
        min-width: 0;
        flex: 1 1 auto;
    }

    #keunggulan .feature-card h4,
    #keunggulan .feature-card p{
        max-width: 100%;
        overflow-wrap: anywhere;
        word-break: normal;
    }
}


/* PHONE */
@media (max-width: 600px){

    #keunggulan .wcu-content{
        width: 100%;
        max-width: 100%;
        min-width: 0;
        padding-left: 15px;
        padding-right: 15px;
        box-sizing: border-box;
    }

    #keunggulan .counter-grid{
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
        margin-bottom: 25px;
    }

    #keunggulan .counter-box{
        min-width: 0;
        padding: 16px 8px;
    }

    #keunggulan .counter-box strong{
        font-size: 22px;
    }

    #keunggulan .counter-box span{
        font-size: 9px;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    #keunggulan .feature-list{
        grid-template-columns: 1fr;
        gap: 12px;
    }

    #keunggulan .feature-card{
        width: 100%;
        min-width: 0;
        padding: 15px;
        gap: 12px;
        box-sizing: border-box;
    }

    #keunggulan .feature-card > i{
        flex: 0 0 36px;
        width: 36px;
        height: 36px;
        font-size: 14px;
    }

    #keunggulan .feature-card > div{
        min-width: 0;
        flex: 1 1 auto;
    }

    #keunggulan .feature-card h4{
        font-size: 13px;
        line-height: 1.35;
        overflow-wrap: anywhere;
    }

    #keunggulan .feature-card p{
        font-size: 11px;
        line-height: 1.6;
        overflow-wrap: anywhere;
        word-break: normal;
    }
}


/* SMALL PHONE */
@media (max-width: 380px){

    #keunggulan .wcu-content{
        padding-left: 12px;
        padding-right: 12px;
    }

    #keunggulan .feature-card{
        padding: 13px;
        gap: 10px;
    }

    #keunggulan .feature-card > i{
        flex: 0 0 32px;
        width: 32px;
        height: 32px;
        font-size: 13px;
    }

    #keunggulan .feature-card h4{
        font-size: 12px;
    }

    #keunggulan .feature-card p{
        font-size: 10.5px;
        line-height: 1.55;
    }
}

/* =========================================================
   FIX WCU MOBILE OVERFLOW
   ========================================================= */

@media (max-width: 768px){

    #keunggulan{
        width:100%;
        max-width:100vw;
        overflow-x:hidden;
    }

    #keunggulan .why-container{
        width:100%;
        max-width:100%;
        min-width:0;
        box-sizing:border-box;
        margin:0;
        padding-left:0;
        padding-right:0;
    }

    #keunggulan .wcu-content{
        width:100%;
        max-width:100%;
        min-width:0;
        box-sizing:border-box;
        margin-left:0;
        margin-right:0;
        padding-left:20px;
        padding-right:20px;
        overflow:hidden;
    }

    #keunggulan .wcu-content h2{
        width:100%;
        max-width:100%;
        min-width:0;
        box-sizing:border-box;
        overflow-wrap:break-word;
        word-break:normal;
    }

    #keunggulan .wcu-content > p{
        width:100%;
        max-width:100%;
        min-width:0;
        box-sizing:border-box;
        overflow-wrap:break-word;
        word-break:normal;
    }

    #keunggulan .counter-grid,
    #keunggulan .feature-list{
        width:100%;
        max-width:100%;
        min-width:0;
        box-sizing:border-box;
    }

    #keunggulan .feature-card{
        width:100%;
        max-width:100%;
        min-width:0;
        box-sizing:border-box;
    }

    #keunggulan .feature-card > div{
        min-width:0;
        max-width:100%;
        flex:1 1 0;
    }

    #keunggulan .feature-card p{
        width:100%;
        max-width:100%;
        overflow-wrap:break-word;
        word-break:normal;
    }
}