/*==================================
        GANG PAGE
==================================*/

.gang-page{
    width:90%;
    margin:auto;
    padding:150px 0;
    transform:scale(.9);
    transform-origin:top center;
}

.gang-page h1{
    text-align:center;
    font-size:70px;
    color:#fff;
    letter-spacing:12px;
    text-shadow:0 0 30px #00e5ff;
    animation:fadePage 1s ease;
}

@keyframes fadePage{
    from{
        opacity:0;
        transform:translateY(30px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

.gang-subtitle{
    text-align:center;
    color:#888;
    letter-spacing:5px;
    margin-bottom:80px;
}

/*==================================
            RANKS
==================================*/

.rank-section{
    margin-bottom:90px;
}

.rank-title{
    width:fit-content;
    margin:0 auto 40px;
    padding:12px 45px;
    border-radius:50px;
    font-size:26px;
    font-weight:bold;
    letter-spacing:5px;
    color:#fff;
    position:relative;
}

.rank-title::before,
.rank-title::after{
    content:"";
    position:absolute;
    top:50%;
    width:180px;
    height:2px;
}

.rank-title::before{
    right:105%;
}

.rank-title::after{
    left:105%;
}

.founder{
    background:#d4af37;
    box-shadow:0 0 25px #d4af37;
}

.founder::before,
.founder::after{
    background:#d4af37;
}

.scarface{
    background:#ff2f55;
    box-shadow:0 0 25px #ff2f55;
}

.scarface::before,
.scarface::after{
    background:#ff2f55;
}

.boss{
    background:#8a2be2;
    box-shadow:0 0 25px #8a2be2;
}

.boss::before,
.boss::after{
    background:#8a2be2;
}

.underboss{
    background:#00bfff;
    box-shadow:0 0 25px #00bfff;
}

.underboss::before,
.underboss::after{
    background:#00bfff;
}

.assistant{
    background:#00ffaa;
    box-shadow:0 0 25px #00ffaa;
}

.assistant::before,
.assistant::after{
    background:#00ffaa;
}

.highrank{
    background:#ff9100;
    box-shadow:0 0 25px #ff9100;
}

.highrank::before,
.highrank::after{
    background:#ff9100;
}
.ARMY{
    background:#2600ff;
    box-shadow:0 0 25px #2600ff;
}

.ARMY::before,
.ARMY::after{
    background:#332aa7;
}

/*==================================
            GRID
==================================*/

.members{
    display:grid;
    gap:30px;
    justify-content:center;
}

.members.two{
    grid-template-columns:repeat(2,280px);
}

.members.three{
    grid-template-columns:repeat(3,280px);
}

.members.four{
    grid-template-columns:repeat(4,270px);
}

.members.five{
    grid-template-columns:repeat(5,270px);
}

/*==================================
            CARD
==================================*/

.member-card{
    position:relative;
    width:280px;
    height:360px;
    cursor:pointer;
    perspective:1500px;
    background:none;
    border:none;
    overflow:visible;
}

.card-front,
.card-back{
    position:absolute;
    inset:0;
    border-radius:24px;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    padding:25px;
    transition:transform .8s cubic-bezier(.2,.8,.2,1);
    backface-visibility:hidden;
}

.card-front{
    background:linear-gradient(145deg,#111827,#182338);
    border:1px solid rgba(0,229,255,.25);
    box-shadow:0 0 30px rgba(0,229,255,.15);
}

.card-back{
    transform:rotateY(180deg);
    background:linear-gradient(145deg,#03172b,#05355c);
    border:1px solid rgba(0,229,255,.4);
    box-shadow:0 0 35px rgba(0,229,255,.25);
}

.member-card.active .card-front{
    transform:rotateY(180deg);
}

.member-card.active .card-back{
    transform:rotateY(360deg);
}

.member-card:hover .card-front{
    box-shadow:
    0 0 25px #00e5ff,
    0 0 55px rgba(138,43,226,.4);
}

.card-front img{
    width:145px;
    height:145px;
    object-fit:cover;
    border-radius:50%;
    border:3px solid #00e5ff;
    box-shadow:0 0 20px #00e5ff;
}

.card-front h3{
    margin-top:18px;
    color:#fff;
    font-size:24px;
    letter-spacing:2px;
}

.card-front span{
    margin-top:8px;
    color:#00e5ff;
}

.card-back h3{
    color:#fff;
    font-size:24px;
    margin-bottom:10px;
}

.card-back span{
    color:#00e5ff;
    margin-bottom:18px;
    font-weight:bold;
}

.card-back p{
    color:#d6f5ff;
    line-height:1.9;
    text-align:center;
    font-size:14px;
}
/*==================================
        BACK BUTTON
==================================*/

.back-btn{

    position:fixed;
    top:30px;
    left:30px;

    display:flex;
    align-items:center;
    gap:10px;

    padding:14px 22px;

    border-radius:14px;

    text-decoration:none;

    color:#fff;

    font-size:15px;

    letter-spacing:2px;

    background:rgba(10,15,30,.65);

    border:1px solid rgba(0,229,255,.25);

    backdrop-filter:blur(12px);

    box-shadow:0 0 20px rgba(0,229,255,.15);

    transition:.3s;

    z-index:9999;

}

.back-btn span{

    font-size:22px;

    color:#00e5ff;

    transition:.3s;

}

.back-btn:hover{

    color:#00e5ff;

    border-color:#00e5ff;

    transform:translateX(-4px);

    box-shadow:

    0 0 20px #00e5ff,

    0 0 40px rgba(138,43,226,.35);

}

.back-btn:hover span{

    transform:translateX(-5px);

}

/*==================================
        BACKGROUND
==================================*/

.gang-background{

    position:fixed;

    inset:0;

    z-index:-2;

    overflow:hidden;

    pointer-events:none;

}

#gangBackground{

    position:absolute;

    inset:0;

    width:100%;

    height:100%;

}

/*==================================
        MUSIC INFO
==================================*/

.music-info{

    position:absolute;

    left:50%;

    bottom:18px;

    transform:translateX(-50%);

    width:88%;

    display:flex;

    align-items:center;

    gap:10px;

    padding:10px 14px;

    opacity:0;

    visibility:hidden;

    transition:.35s;

    border:none;

    background:transparent;

    box-shadow:none;

}

.member-card:hover .music-info{

    opacity:1;

    visibility:visible;

}

.music-icon{

    width:36px;

    height:36px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:#00e5ff;

    color:#000;

    font-size:17px;

    animation:musicRotate 2s linear infinite;

}

.music-info small{

    display:block;

    color:#7aa8c9;

    font-size:10px;

    letter-spacing:1px;

}

.music-info p{

    margin:2px 0 0;

    color:#fff;

    font-size:13px;

    font-weight:600;

}

@keyframes musicRotate{

    from{

        transform:rotate(0);

    }

    to{

        transform:rotate(360deg);

    }

}

/*==================================
      MUSIC NOTIFICATION
==================================*/

#musicNotice{

    position:fixed;

    top:20px;

    right:-400px;

    width:320px;

    display:flex;

    align-items:center;

    gap:15px;

    padding:18px;

    border-radius:14px;

    background:rgba(5,10,25,.95);

    border:1px solid rgba(0,229,255,.35);

    backdrop-filter:blur(12px);

    box-shadow:0 0 30px rgba(0,229,255,.3);

    transition:.5s;

    z-index:99999;

}

#musicNotice.show{

    right:20px;

}

.notice-icon{

    width:55px;

    height:55px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:#00e5ff;

    color:#000;

    font-size:24px;

    animation:spin 2s linear infinite;

}

.notice-text h4{

    margin:0;

    color:#00e5ff;

    font-size:17px;

}

.notice-text p{

    margin-top:5px;

    color:#9ec4d8;

    font-size:12px;

}

@keyframes spin{

    from{

        transform:rotate(0);

    }

    to{

        transform:rotate(360deg);

    }

}
/*==================================
        RESPONSIVE
==================================*/

@media (max-width:900px){

.gang-page{

    width:95%;
    padding:80px 0;
    transform:none;

}

.gang-page h1{

    font-size:38px;
    letter-spacing:4px;

}

.gang-subtitle{

    font-size:13px;
    letter-spacing:2px;
    margin-bottom:45px;

}

.rank-title{

    font-size:18px;
    padding:10px 22px;

}

.rank-title::before,
.rank-title::after{

    display:none;

}

.members{

    grid-template-columns:1fr !important;
    gap:25px;

}

.member-card{

    width:320px;
    max-width:95%;
    height:390px;
    margin:auto;

}

.card-front img{

    width:130px;
    height:130px;

}

.card-front h3{

    font-size:22px;

}

.card-front span{

    font-size:14px;

}

.card-back h3{

    font-size:22px;

}

.card-back span{

    font-size:14px;

}

.card-back p{

    font-size:13px;
    line-height:1.8;

}

.music-info{

    width:92%;
    bottom:15px;

}

.back-btn{

    top:15px;
    left:15px;

    padding:10px 15px;

    font-size:13px;

}

#musicNotice{

    width:270px;
    right:-320px;

}

#musicNotice.show{

    right:10px;

}

}

/*==================================
        LIGHT MOBILE BACKGROUND
==================================*/

@media (max-width:768px){

.gang-background{

    background:
    radial-gradient(circle at top,#1a2944 0%,#0b1322 45%,#05070d 100%);

}

.gang-background::before{

    content:"";

    position:absolute;
    inset:0;

    background:
    linear-gradient(rgba(0,229,255,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,229,255,.04) 1px,transparent 1px);

    background-size:32px 32px;

    opacity:.35;

}

.gang-background::after{

    content:"";

    position:absolute;

    width:220px;
    height:220px;

    top:-70px;
    right:-70px;

    border-radius:50%;

    background:
    radial-gradient(circle,
    rgba(0,229,255,.15),
    transparent 70%);

}

#gangBackground,
.bg-grid,
.bg-scan,
.bg-noise,
.orb,
.fog{

    display:none !important;

}

}

/*==================================
      IMAGE QUALITY
==================================*/

.member-card img{

    image-rendering:auto;
    object-fit:cover;
    object-position:center;

    -webkit-user-drag:none;
    user-select:none;

}
/* =========================================================
   FBI BADGE // GANG STYLE
========================================================= */



.fbi-badge {
    position: absolute;

    top: 4px;
    right: 16px;

    width: 68px;
    height: 68px;

    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;

    text-decoration: none;

    z-index: 50;

    color: #fff;

    background:
        linear-gradient(
            145deg,
            rgba(8, 15, 30, .96),
            rgba(15, 7, 30, .94)
        );

    border:
        1px solid
        rgba(0, 229, 255, .45);

    border-radius: 14px;

    box-shadow:
        0 0 18px
        rgba(0, 229, 255, .20),

        0 0 35px
        rgba(138, 43, 226, .12),

        inset 0 0 18px
        rgba(0, 229, 255, .035);

    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);

    overflow: hidden;

    transition:
        transform .35s cubic-bezier(.2,.8,.2,1),
        border-color .35s ease,
        box-shadow .35s ease;
}


/* =========================================================
   TOP CYBER LINE
========================================================= */

.fbi-badge::before {
    content: "";

    position: absolute;

    top: 0;
    left: 12%;

    width: 76%;
    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            #00e5ff,
            #8a2be2,
            transparent
        );

    box-shadow:
        0 0 10px #00e5ff;

    opacity: .8;
}


/* =========================================================
   CORNER GLOW
========================================================= */

.fbi-badge::after {
    content: "";

    position: absolute;

    width: 80px;
    height: 80px;

    top: -45px;
    right: -35px;

    background:
        radial-gradient(
            circle,
            rgba(0,229,255,.18),
            transparent 70%
        );

    pointer-events: none;
}


/* =========================================================
   FBI TEXT
========================================================= */

.fbi-badge span {
    position: relative;

    z-index: 2;

    color: #00e5ff;

    font-size: 10px;

    font-weight: 900;

    letter-spacing: 3px;

    line-height: 1;

    text-shadow:
        0 0 8px rgba(0,229,255,.8);
}


/* =========================================================
   QUESTION MARK
========================================================= */

.fbi-badge strong {
    position: relative;

    z-index: 2;

    margin-top: 5px;

    color: #b794ff;

    font-size: 27px;

    line-height: 1;

    font-weight: 900;

    text-shadow:
        0 0 10px rgba(138,43,226,.8),
        0 0 25px rgba(138,43,226,.35);

    transition:
        color .3s ease,
        text-shadow .3s ease,
        transform .3s ease;
}


/* =========================================================
   HOVER
========================================================= */

.fbi-badge:hover {

    transform:
        translateY(-5px)
        scale(1.06);

    border-color:
        rgba(0,229,255,.9);

    box-shadow:

        0 10px 25px
        rgba(0,0,0,.35),

        0 0 20px
        rgba(0,229,255,.45),

        0 0 45px
        rgba(0,229,255,.16),

        0 0 65px
        rgba(138,43,226,.14),

        inset 0 0 20px
        rgba(0,229,255,.06);
}


.fbi-badge:hover span {

    color: #fff;

    text-shadow:
        0 0 8px #00e5ff,
        0 0 18px #00e5ff;
}


.fbi-badge:hover strong {

    color: #00e5ff;

    transform: scale(1.08);

    text-shadow:
        0 0 10px #00e5ff,
        0 0 25px #00e5ff,
        0 0 40px rgba(0,229,255,.5);
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 700px) {

    .fbi-badge {

        width: 58px;
        height: 58px;

        top: 4px;
        right: 11px;

        border-radius: 12px;

        box-shadow:
            0 0 15px
            rgba(0,229,255,.20),

            0 0 30px
            rgba(138,43,226,.10);
    }

    .fbi-badge span {

        font-size: 8px;

        letter-spacing: 2px;
    }

    .fbi-badge strong {

        font-size: 22px;

        margin-top: 4px;
    }

    .fbi-badge:hover {

        transform:
            translateY(-3px)
            scale(1.04);
    }
}