

.faq-section{
    position:relative;
    padding:110px 24px;
    overflow:hidden;
    background:
        radial-gradient(circle at 14% 20%, rgba(0,174,255,.25), transparent 30%),
        radial-gradient(circle at 90% 78%, rgba(47,128,237,.25), transparent 34%),
        linear-gradient(135deg,#020817 0%,#061735 45%,#082d68 100%);
}

.faq-section::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(rgba(255,255,255,.028) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.028) 1px, transparent 1px);
    background-size:48px 48px;
    opacity:.42;
    mask-image:linear-gradient(to bottom,rgba(0,0,0,.85),transparent 88%);
    pointer-events:none;
}

.faq-container{
    width:min(1100px,100%);
    margin:0 auto;
    position:relative;
    z-index:2;
}

.faq-heading{
    max-width:900px;
    margin:0 auto 56px;
    text-align:center;
    color:#fff;
}

.faq-label{
    display:inline-flex;
    padding:10px 18px;
    margin-bottom:22px;
    border-radius:999px;
    color:#9fe4ff;
    font-size:14px;
    font-weight:800;
    background:rgba(6,31,70,.72);
    border:1px solid rgba(101,210,255,.36);
    box-shadow:0 0 35px rgba(0,168,255,.16);
}

.faq-heading h2{
    margin-bottom:22px;
    font-size:clamp(32px,4vw,58px);
    line-height:1.12;
    font-weight:900;
    letter-spacing:-1.8px;
    color:#fff;
}

.faq-heading p{
    max-width:820px;
    margin:0 auto;
    font-size:17px;
    line-height:1.85;
    color:#c8eaff;
}

.faq-list{
    display:grid;
    gap:16px;
}

.faq-item{
    border-radius:24px;
    background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.035));
    border:1px solid rgba(120,215,255,.22);
    box-shadow:0 18px 48px rgba(0,0,0,.22);
    backdrop-filter:blur(18px);
    overflow:hidden;
}

.faq-question{
    width:100%;
    padding:22px 24px;
    border:none;
    background:transparent;
    color:#fff;
    display:flex;
    justify-content:space-between;
    gap:16px;
    cursor:pointer;
    font-family:inherit;
    text-align:left;
}

.faq-question span{
    font-size:17px;
    font-weight:900;
    line-height:1.45;
}

.faq-question i{
    width:34px;
    height:34px;
    flex:0 0 34px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    font-style:normal;
    color:#fff;
    background:linear-gradient(135deg,#00b7ff,#2f80ed);
    box-shadow:0 10px 25px rgba(0,138,255,.35);
    transition:.3s ease;
}

.faq-answer{
    max-height:0;
    overflow:hidden;
    transition:max-height .35s ease;
}

.faq-answer p{
    padding:0 24px 24px;
    color:#c9eaff;
    font-size:15.5px;
    line-height:1.75;
}

.faq-item.active{
    border-color:rgba(116,220,255,.52);
    box-shadow:0 28px 60px rgba(0,0,0,.34),0 0 32px rgba(0,168,255,.18);
}

.faq-item.active .faq-question i{
    transform:rotate(45deg);
}

.faq-item.active .faq-answer{
    max-height:260px;
}

/* Animation */
.faq-item{
    opacity:0;
    transform:translateY(24px);
}

.faq-item.show{
    opacity:1;
    transform:translateY(0);
}

/* Responsive */
@media(max-width:768px){
    .faq-section{
        padding:85px 18px;
    }

    .faq-heading{
        margin-bottom:42px;
    }

    .faq-heading h2{
        letter-spacing:-1px;
    }

    .faq-heading p{
        font-size:16px;
        line-height:1.75;
    }

    .faq-question{
        padding:20px;
    }

    .faq-question span{
        font-size:16px;
    }

    .faq-answer p{
        padding:0 20px 22px;
    }
}