/*==================================================
SECTION HEADER
==================================================*/

.section-header{

    position:relative;

    max-width:760px;

    margin:0 auto 70px;

    text-align:center;

}

.section-tag{

    display:inline-flex;

    align-items:center;

    gap:14px;

    margin-bottom:22px;

    color:var(--primary);

    font-size:.9rem;

    font-weight:600;

    letter-spacing:2px;

    text-transform:uppercase;

}

.section-tag span{

    position:relative;

    width:60px;

    height:1px;

    background:rgba(0,217,255,.45);

}

.section-tag span::after{

    content:"";

    position:absolute;

    right:0;

    top:50%;

    width:8px;

    height:8px;

    border-radius:50%;

    background:var(--primary);

    transform:translateY(-50%);

    box-shadow:

    0 0 12px rgba(0,217,255,.8);

}

.section-title{

    margin-bottom:22px;

    line-height:1.15;

    letter-spacing:-1px;

}

.section-description{

    max-width:680px;

    margin:auto;

    color:var(--text-light);

    font-size:1.05rem;

    line-height:1.9;

}

/*==================================================
GLASS CARD
==================================================*/

.glass-card{

    position:relative;

    padding:35px;

    border-radius:24px;

    background:rgba(8,17,32,.45);

    border:1px solid rgba(255,255,255,.08);

    backdrop-filter:blur(18px);

    -webkit-backdrop-filter:blur(18px);

    overflow:hidden;

    transition:var(--transition);

}

.glass-card::before{

    content:"";

    position:absolute;

    inset:0;

    background:

    linear-gradient(

        135deg,

        rgba(255,255,255,.05),

        transparent 40%

    );

    pointer-events:none;

}

.glass-card:hover{

    transform:translateY(-10px);

    border-color:rgba(0,217,255,.25);

    box-shadow:

    0 20px 50px rgba(0,0,0,.28),

    0 0 35px rgba(0,217,255,.08);

}



/*==================================================
BUTTONS
==================================================*/

.btn{

    position:relative;

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:12px;

    padding:16px 34px;

    border-radius:999px;

    font-size:1rem;

    font-weight:600;

    letter-spacing:.3px;

    cursor:pointer;

    overflow:hidden;

    transition:var(--transition);

}

.btn::before{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(

        120deg,

        transparent,

        rgba(255,255,255,.18),

        transparent

    );

    transform:translateX(-120%);

}

.btn:hover::before{

    transform:translateX(120%);

    transition:.8s;

}

.btn i{

    transition:var(--transition);

}

.btn:hover i{

    transform:translateX(4px);

}


/*==================================================
PRIMARY BUTTON
==================================================*/

.btn-primary{

    color:var(--white);

    background:linear-gradient(

        135deg,

        var(--primary),

        var(--secondary)

    );

    box-shadow:

    0 10px 30px rgba(0,217,255,.25);

}

.btn-primary:hover{

    transform:translateY(-4px);

    box-shadow:

    0 18px 45px rgba(0,217,255,.35);

}


/*==================================================
SECONDARY BUTTON
==================================================*/

.btn-secondary{

    color:var(--white);

    background:rgba(255,255,255,.04);

    border:1px solid rgba(255,255,255,.08);

    backdrop-filter:blur(16px);

    -webkit-backdrop-filter:blur(16px);

}

.btn-secondary:hover{

    background:rgba(0,217,255,.08);

    border-color:rgba(0,217,255,.20);

}


/*==================================================
BADGES
==================================================*/

.badge{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:10px 18px;

    border-radius:999px;

    color:var(--primary);

    background:rgba(0,217,255,.08);

    border:1px solid rgba(0,217,255,.15);

    font-size:.85rem;

    font-weight:600;

}


/*==================================================
GLOW DIVIDER
==================================================*/

.glow-divider{

    width:120px;

    height:2px;

    margin:25px auto;

    border-radius:50px;

    background:linear-gradient(

        90deg,

        transparent,

        var(--primary),

        transparent

    );

}


/*==================================================
NEON DOT
==================================================*/

.neon-dot{

    width:10px;

    height:10px;

    border-radius:50%;

    background:var(--primary);

    box-shadow:

    0 0 12px rgba(0,217,255,.8);

}



/*==================================================
SECTION SPACING
==================================================*/

.section{

    position:relative;

    padding:120px 0;

}

.section-sm{

    padding:90px 0;

}

.section-lg{

    padding:160px 0;

}



/*==================================================
GRID
==================================================*/

.grid-2{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:60px;

}

.grid-3{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

}

.grid-4{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:25px;

}