.elementor-105 .elementor-element.elementor-element-94bab60{--display:flex;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-105 .elementor-element.elementor-element-1abe665{--display:flex;}/* Start custom CSS for text-editor, class: .elementor-element-5c3268d */.sources-hub{
    position:relative;
    padding:70px 20px;
    background:
        radial-gradient(circle at top left, rgba(255,255,255,0.04), transparent 28%),
        radial-gradient(circle at bottom right, rgba(255,0,120,0.08), transparent 28%),
        linear-gradient(180deg, #050505 0%, #0a0a0a 100%);
    overflow:hidden;
}

.sources-hub::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        linear-gradient(to right, rgba(255,255,255,0.02) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(255,255,255,0.02) 1px, transparent 1px);
    background-size:38px 38px;
    mask-image:linear-gradient(to bottom, rgba(0,0,0,.6), transparent);
}

.sources-hub__heading{
    margin:0;
    text-align:center;
    font-size:42px;
    line-height:1.1;
    font-weight:900;
    color:#fff;
    letter-spacing:-0.02em;
}

.sources-hub__subheading{
    margin:12px 0 0;
    text-align:center;
    font-size:16px;
    color:#9e9e9e;
    line-height:1.6;
}

.sources-hub__wall{
    max-width:1280px;
    margin:40px auto 0;
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:22px;
}

.sources-hub__item{
    position:relative;
    border-radius:22px;
    padding:14px;
    background:linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.025));
    border:1px solid rgba(255,255,255,0.08);
    box-shadow:
        0 14px 40px rgba(0,0,0,0.45),
        inset 0 1px 0 rgba(255,255,255,0.04);
    transition:
        transform .28s ease,
        border-color .28s ease,
        box-shadow .28s ease,
        background .28s ease;
    overflow:hidden;
}

.sources-hub__item::before{
    content:"";
    position:absolute;
    top:-80px;
    right:-80px;
    width:160px;
    height:160px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(255,0,120,0.14), transparent 70%);
    opacity:.7;
    pointer-events:none;
}

.sources-hub__item:hover{
    transform:translateY(-6px);
    border-color:rgba(255,255,255,0.14);
    box-shadow:
        0 22px 52px rgba(0,0,0,0.58),
        0 0 0 1px rgba(255,255,255,0.03) inset;
}

.sources-hub__link{
    display:block;
    position:relative;
    border-radius:16px;
    overflow:hidden;
    background:#0f0f0f;
}

.sources-hub__image{
    display:block;
    width:100%;
    height:110px;
    object-fit:cover;
    border-radius:16px;
    transition:transform .35s ease, opacity .3s ease, filter .3s ease;
}

.sources-hub__item:hover .sources-hub__image{
    transform:scale(1.04);
    filter:brightness(1.05);
}

.sources-hub__label{
    position:relative;
    margin-top:14px;
    font-size:15px;
    font-weight:800;
    color:#f2f2f2;
    line-height:1.4;
    text-align:center;
    letter-spacing:-0.01em;
}

.sources-hub__footnote{
    max-width:1280px;
    margin:24px auto 0;
    text-align:center;
    font-size:13px;
    color:#6f6f6f;
    line-height:1.6;
}

/* optional glow line top */
.sources-hub__wall::before{
    content:"";
    display:block;
    position:absolute;
    left:50%;
    transform:translateX(-50%);
    top:0;
    width:180px;
    height:1px;
    background:linear-gradient(90deg, transparent, rgba(255,255,255,0.35), transparent);
}

/* tablet */
@media (max-width:1100px){
    .sources-hub__wall{
        grid-template-columns:repeat(3, minmax(0, 1fr));
    }
}

/* mobile */
@media (max-width:768px){
    .sources-hub{
        padding:55px 14px;
    }

    .sources-hub__heading{
        font-size:30px;
    }

    .sources-hub__subheading{
        font-size:14px;
    }

    .sources-hub__wall{
        margin-top:28px;
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:14px;
    }

    .sources-hub__item{
        padding:10px;
        border-radius:18px;
    }

    .sources-hub__link,
    .sources-hub__image{
        border-radius:12px;
    }

    .sources-hub__image{
        height:82px;
    }

    .sources-hub__label{
        margin-top:10px;
        font-size:13px;
    }
}

/* small mobile */
@media (max-width:480px){
    .sources-hub__wall{
        grid-template-columns:1fr;
    }

    .sources-hub__image{
        height:110px;
    }
}/* End custom CSS */