/* ==========================================================
   FAQ Section
========================================================== */

.faq-section{

    padding:120px 24px;

    background:#1D2433;

    position:relative;

    overflow:hidden;
}

.faq-container{

    max-width:1120px;

    margin:0 auto;
}


/* ==========================================================
   Header
========================================================== */

.faq-header{

    max-width:760px;

    margin:0 auto 70px;

    text-align:center;
}

.faq-badge{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:8px 18px;

    border-radius:999px;

    border:1px solid rgba(46,155,87,.20);

    background:rgba(46,155,87,.08);

    color:#7DD89A;

    font-family:"Inter",sans-serif;

    font-size:.88rem;

    font-weight:600;

    margin-bottom:22px;
}

.faq-title{

    margin:0;

    font-family:"Inter",sans-serif;

    font-size:clamp(2.4rem,4vw,3.7rem);

    font-weight:800;

    line-height:1.1;

    color:#FFFFFF;
}

.faq-highlight{

    color:#2E9B57;
}

.faq-description{

    margin:22px auto 0;

    max-width:680px;

    font-family:"Inter",sans-serif;

    font-size:1.08rem;

    line-height:1.85;

    color:#AAB4C5;
}


/* ==========================================================
   Accordion
========================================================== */

.faq-accordion{

    display:flex;

    flex-direction:column;

    gap:18px;
}


/* ==========================================================
   Item
========================================================== */

.faq-item{

    background:#FFFFFF;

    border-radius:24px;

    overflow:hidden;

    border:1px solid rgba(255,255,255,.06);

    box-shadow:

        0 12px 35px rgba(0,0,0,.18);

    transition:

        transform .35s ease,

        box-shadow .35s ease,

        border-color .35s ease;
}


/* ==========================================================
   Trigger
========================================================== */

.faq-trigger{

    width:100%;

    border:none;

    background:transparent;

    cursor:pointer;

    padding:28px 34px;

    display:flex;

    align-items:center;

    justify-content:space-between;

    font-family:"Inter",sans-serif;
}

.faq-trigger-left{

    display:flex;

    align-items:center;

    gap:18px;
}

.faq-icon{

    width:24px;

    height:24px;

    object-fit:contain;
}

.faq-question{

    font-size:1.15rem;

    font-weight:650;

    color:#1D2433;

    text-align:left;
}

.faq-toggle{

    font-size:1.8rem;

    font-weight:300;

    color:#2E9B57;

    line-height:1;

    transition:.35s ease;
}


/* ==========================================================
   Content
========================================================== */

.faq-content{

    max-height:0;

    overflow:hidden;

    border-top:1px solid transparent;

    transition:

        max-height .45s ease,

        border-color .35s ease;
}

.faq-content-inner{

    padding:30px 34px 36px;
}

.faq-content-inner p{

    margin:0;

    font-family:"Inter",sans-serif;

    font-size:1rem;

    line-height:1.9;

    color:#616B7F;
}


/* ==========================================================
   CTA
========================================================== */

.faq-cta{

    margin-top:70px;

    padding:36px 40px;

    border-radius:28px;

    background:rgba(255,255,255,.04);

    border:1px solid rgba(255,255,255,.08);

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:40px;
}

.faq-cta-left{

    display:flex;

    align-items:center;

    gap:22px;
}

.faq-cta-icon{

    width:64px;

    height:64px;

    object-fit:contain;
}

.faq-cta-left h3{

    margin:0 0 10px;

    font-family:"Inter",sans-serif;

    font-size:2rem;

    font-weight:700;

    color:#FFFFFF;
}

.faq-cta-left p{

    margin:0;

    max-width:520px;

    font-family:"Inter",sans-serif;

    line-height:1.8;

    color:#AAB4C5;
}

.faq-cta-buttons{

    display:flex;

    gap:16px;
}

.faq-contact-btn,
.faq-join-btn{

    text-decoration:none;

    font-family:"Inter",sans-serif;

    font-weight:600;

    padding:15px 28px;

    border-radius:14px;

    transition:.35s ease;
}

.faq-contact-btn{

    border:1px solid rgba(255,255,255,.15);

    color:#FFFFFF;

    background:transparent;
}

.faq-join-btn{

    background:#2E9B57;

    color:#FFFFFF;
}


/* ==========================================================
   Hover Effects
========================================================== */

.faq-item:hover{

    transform:translateY(-3px);

    border-color:rgba(46,155,87,.20);

    box-shadow:
        0 22px 50px rgba(0,0,0,.22);
}

.faq-item:hover .faq-question{

    color:#2E9B57;

    transform:translateX(4px);
}


/* ==========================================================
   Active Item
========================================================== */

.faq-item{

    position:relative;
}

.faq-item::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:4px;

    height:100%;

    background:#2E9B57;

    transform:scaleY(0);

    transform-origin:top;

    transition:transform .35s ease;
}

.faq-item.active::before{

    transform:scaleY(1);
}

.faq-item.active{

    border-color:rgba(46,155,87,.25);
}

.faq-item.active .faq-content{

    border-top:1px solid rgba(29,36,51,.08);
}


/* ==========================================================
   Question Transition
========================================================== */

.faq-question{

    transition:

        color .3s ease,

        transform .3s ease;
}


/* ==========================================================
   Toggle
========================================================== */

.faq-item.active .faq-toggle{

    transform:rotate(180deg);

    color:#2E9B57;
}


/* ==========================================================
   CTA Buttons
========================================================== */

.faq-contact-btn:hover{

    background:#FFFFFF;

    color:#1D2433;
}

.faq-join-btn:hover{

    transform:translateY(-2px);

    background:#25844A;

    box-shadow:
        0 12px 28px rgba(46,155,87,.35);
}


/* ==========================================================
   CTA Icon
========================================================== */

.faq-cta-icon{

    transition:transform .35s ease;
}

.faq-cta:hover .faq-cta-icon{

    transform:scale(1.08);
}


/* ==========================================================
   Reveal Animation
========================================================== */

.faq-reveal{

    opacity:0;

    transform:translateY(40px);

    transition:

        opacity .8s cubic-bezier(.22,.61,.36,1),

        transform .8s cubic-bezier(.22,.61,.36,1);
}

.faq-reveal.faq-visible{

    opacity:1;

    transform:translateY(0);
}


/* ==========================================================
   Responsive
========================================================== */

@media(max-width:991px){

    .faq-section{

        padding:100px 22px;
    }

    .faq-cta{

        flex-direction:column;

        align-items:flex-start;
    }

    .faq-cta-buttons{

        width:100%;

        justify-content:flex-start;

        flex-wrap:wrap;
    }

}


@media(max-width:768px){

    .faq-header{

        margin-bottom:50px;
    }

    .faq-trigger{

        padding:22px;
    }

    .faq-content-inner{

        padding:24px 22px 30px;
    }

    .faq-question{

        font-size:1rem;
    }

    .faq-toggle{

        font-size:1.6rem;
    }

    .faq-cta{

        padding:30px 24px;
    }

    .faq-cta-left{

        flex-direction:column;

        align-items:flex-start;
    }

    .faq-cta-left h3{

        font-size:1.7rem;
    }

    .faq-cta-icon{

        width:52px;

        height:52px;
    }

}


@media(max-width:480px){

    .faq-section{

        padding:80px 18px;
    }

    .faq-cta-buttons{

        width:100%;

        display:flex;

        flex-direction:column;

        gap:14px;
    }

    .faq-contact-btn,
    .faq-join-btn{

        width:100%;

        min-height:54px;

        display:flex;

        align-items:center;

        justify-content:center;

        text-align:center;

        box-sizing:border-box;
    }

}