/* ==========================================================
   components.css
========================================================== */

/* ================= Hero Topic ================= */

.topic{

    position:absolute;

    display:flex;

    align-items:center;

    justify-content:center;

    padding:10px 18px;

    border-radius:999px;

    background:rgba(255,255,255,.05);

    border:1px solid rgba(255,255,255,.08);

    backdrop-filter:blur(20px);

    color:rgba(255,255,255,.82);

    font-size:.88rem;

    white-space:nowrap;

    user-select:none;

    transition:
        transform .35s ease,
        opacity .35s ease,
        border-color .35s ease;

    will-change:transform;

}

.topic:hover{

    transform:scale(1.08);

    border-color:rgba(91,140,255,.45);

}

/* ================= Topic Cloud ================= */

.topic-chip{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:12px 18px;

    border-radius:999px;

    background:rgba(255,255,255,.05);

    border:1px solid rgba(255,255,255,.08);

    color:#fff;

    transition:.3s;

}

.topic-chip:hover{

    transform:translateY(-3px);

    border-color:rgba(91,140,255,.45);

}

/* ================= Community Card ================= */

.community-card{

    background:rgba(255,255,255,.05);

    border:1px solid rgba(255,255,255,.08);

    border-radius:24px;

    padding:30px;

    transition:.35s;

    backdrop-filter:blur(20px);

}

.community-card:hover{

    transform:translateY(-8px);

    border-color:rgba(91,140,255,.45);

}

.community-card h3{

    margin-bottom:16px;

}

.community-card p{

    margin-bottom:24px;

}

.community-footer{

    display:flex;

    justify-content:space-between;

    align-items:center;

    color:var(--sub);

    font-size:.9rem;

}

.community-count{

    color:var(--primary);

    font-weight:700;

}

/* ================= Flow ================= */

.flow-card{

    position:relative;

    overflow:hidden;

}

.flow-card::before{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(
        135deg,
        rgba(91,140,255,.12),
        transparent 60%
    );

    opacity:0;

    transition:.4s;

}

.flow-card:hover::before{

    opacity:1;

}

.flow-card:hover{

    transform:translateY(-8px);

}

/* ================= Trust ================= */

.trust-card{

    transition:.35s;

}

.trust-card:hover{

    transform:translateY(-6px);

    border-color:rgba(91,140,255,.45);

}

/* ================= Feature ================= */

.feature-card{

    position:relative;

    overflow:hidden;

}

.feature-card::after{

    content:"";

    position:absolute;

    inset:auto 0 0 0;

    height:3px;

    background:linear-gradient(
        90deg,
        var(--primary),
        var(--secondary)
    );

    transform:scaleX(0);

    transform-origin:left;

    transition:.35s;

}

.feature-card:hover::after{

    transform:scaleX(1);

}

/* ================= CTA ================= */

.cta-card{

    position:relative;

    overflow:hidden;

}

.cta-card::before{

    content:"";

    position:absolute;

    width:420px;

    height:420px;

    border-radius:50%;

    background:rgba(91,140,255,.12);

    top:-180px;

    right:-180px;

    filter:blur(80px);

}

.cta-card::after{

    content:"";

    position:absolute;

    width:300px;

    height:300px;

    border-radius:50%;

    background:rgba(110,231,255,.08);

    bottom:-140px;

    left:-140px;

    filter:blur(70px);

}

/* ================= Fade Animation ================= */

.fade-up{

    opacity:0;

    transform:translateY(40px);

    transition:
        opacity .8s ease,
        transform .8s ease;

}

.fade-up.show{

    opacity:1;

    transform:translateY(0);

}

/* ================= Floating ================= */

.floating{

    animation:floating 6s ease-in-out infinite;

}

@keyframes floating{

    0%{

        transform:translateY(0px);

    }

    50%{

        transform:translateY(-12px);

    }

    100%{

        transform:translateY(0px);

    }

}

/* ================= Glow ================= */

.glow{

    box-shadow:

        0 0 30px rgba(91,140,255,.18),

        0 0 80px rgba(91,140,255,.08);

}