.elementor-widget-theme-post-content{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-21215 .elementor-element.elementor-element-fba5e8d{width:100%;max-width:100%;}/* Start custom CSS *//* ==========================================
   RADIANT BG — hero-card gradient, no stroke
   ========================================== */

.elementor .radiant-bg.radiant-bg {
    /* purple */
    --rb-1-color: 54, 7, 221;
    --rb-1-alpha: 0.34;
    --rb-1-x: 63%;
    --rb-1-y: 20%;
    --rb-1-w: 38%;
    --rb-1-h: 135%;

    /* amber */
    --rb-2-color: 255, 171, 35;
    --rb-2-alpha: 0.30;
    --rb-2-x: 85%;
    --rb-2-y: 50%;
    --rb-2-w: 27%;
    --rb-2-h: 98%;

    /* wide low-alpha wash that ties the two together */
    --rb-3-alpha: 0.10;

    --rb-base: #0A0A0A;
    --rb-grain: 0.028;

    position: relative;
    isolation: isolate;

    border: 0 !important;

    background-color: var(--rb-base) !important;
    background-repeat: no-repeat !important;
    background-image:
        radial-gradient(
            var(--rb-2-w) var(--rb-2-h) at var(--rb-2-x) var(--rb-2-y),
            rgba(var(--rb-2-color), var(--rb-2-alpha))                    0%,
            rgba(var(--rb-2-color), calc(var(--rb-2-alpha) * 0.90))      11%,
            rgba(var(--rb-2-color), calc(var(--rb-2-alpha) * 0.76))      22%,
            rgba(var(--rb-2-color), calc(var(--rb-2-alpha) * 0.60))      34%,
            rgba(var(--rb-2-color), calc(var(--rb-2-alpha) * 0.44))      46%,
            rgba(var(--rb-2-color), calc(var(--rb-2-alpha) * 0.30))      58%,
            rgba(var(--rb-2-color), calc(var(--rb-2-alpha) * 0.18))      70%,
            rgba(var(--rb-2-color), calc(var(--rb-2-alpha) * 0.09))      81%,
            rgba(var(--rb-2-color), calc(var(--rb-2-alpha) * 0.03))      91%,
            rgba(var(--rb-2-color), 0)                                  100%
        ),
        radial-gradient(
            var(--rb-1-w) var(--rb-1-h) at var(--rb-1-x) var(--rb-1-y),
            rgba(var(--rb-1-color), var(--rb-1-alpha))                    0%,
            rgba(var(--rb-1-color), calc(var(--rb-1-alpha) * 0.90))      11%,
            rgba(var(--rb-1-color), calc(var(--rb-1-alpha) * 0.76))      22%,
            rgba(var(--rb-1-color), calc(var(--rb-1-alpha) * 0.60))      34%,
            rgba(var(--rb-1-color), calc(var(--rb-1-alpha) * 0.44))      46%,
            rgba(var(--rb-1-color), calc(var(--rb-1-alpha) * 0.30))      58%,
            rgba(var(--rb-1-color), calc(var(--rb-1-alpha) * 0.18))      70%,
            rgba(var(--rb-1-color), calc(var(--rb-1-alpha) * 0.09))      81%,
            rgba(var(--rb-1-color), calc(var(--rb-1-alpha) * 0.03))      91%,
            rgba(var(--rb-1-color), 0)                                  100%
        ),
        radial-gradient(
            75% 165% at 72% 38%,
            rgba(var(--rb-1-color), var(--rb-3-alpha))                    0%,
            rgba(var(--rb-1-color), calc(var(--rb-3-alpha) * 0.62))      28%,
            rgba(var(--rb-1-color), calc(var(--rb-3-alpha) * 0.30))      55%,
            rgba(var(--rb-1-color), calc(var(--rb-3-alpha) * 0.10))      78%,
            rgba(var(--rb-1-color), 0)                                  100%
        ) !important;
}


/* Grain. Sits above the background, below the content — kills the banding
   a soft gradient always shows on a near-black surface. */
.elementor .radiant-bg.radiant-bg::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    opacity: var(--rb-grain);
    mix-blend-mode: overlay;
    pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}


/* Mobile: the image stacks under the text, so pull the light up and centre it */
@media (max-width: 1024px) {
    .elementor .radiant-bg.radiant-bg {
        --rb-1-x: 55%;
        --rb-1-y: 12%;
        --rb-1-w: 62%;
        --rb-2-x: 78%;
        --rb-2-y: 62%;
        --rb-2-w: 48%;
    }
}



/* ==========================================
   HERO IMAGE — inside .radiant-bg, floor-aligned
   ========================================== */

.elementor .radiant-bg.radiant-bg {
    --rb-img-w: clamp(300px, 40%, 620px);   /* width of the image slot        */
    --rb-img-inset: clamp(16px, 5%, 90px);  /* gap from the container's right */
    --rb-img-gap: 32px;                     /* gap between copy and image     */

    position: relative;
    overflow: hidden;
    min-height: clamp(300px, 26vw, 430px);
}


@media (min-width: 1025px) {

    /* Reserve the right-hand strip so the copy never runs under the portrait */
    .elementor .radiant-bg .e-con:has(> .feature-hero-image) {
        position: static !important;   /* .radiant-bg stays the containing block */
        overflow: visible !important;
        padding-right: calc(
            var(--rb-img-w) + var(--rb-img-inset) + var(--rb-img-gap)
        ) !important;
    }

    /* Slot spans the full height of the section and stops short of the corner */
    .elementor .feature-hero-image.feature-hero-image {
        position: absolute !important;

        top: 0 !important;
        bottom: 0 !important;
        right: var(--rb-img-inset) !important;
        left: auto !important;

        transform: none !important;

        width: var(--rb-img-w) !important;
        min-width: 0 !important;
        max-width: none !important;
        height: auto !important;

        flex: none !important;
        margin: 0 !important;
        padding: 0 !important;

        display: block !important;
        overflow: visible !important;

        pointer-events: none;
        z-index: 1;
    }

    /* `contain` keeps the cut-out uncropped, `center bottom` stands it on the
       section floor — the figure touches the bottom edge, never the corner. */
    .elementor
    .feature-hero-image.feature-hero-image
    > img.e-image-base {
        display: block !important;

        position: static !important;
        transform: none !important;

        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;

        height: 100% !important;
        max-height: none !important;

        margin: 0 !important;
        padding: 0 !important;

        object-fit: contain !important;
        object-position: center bottom !important;
    }
}


/* ---------- tablet ---------- */
@media (min-width: 768px) and (max-width: 1024px) {

    .elementor .radiant-bg.radiant-bg {
        --rb-img-w: clamp(220px, 38%, 400px);
        --rb-img-inset: clamp(12px, 4%, 44px);
        --rb-img-gap: 20px;
        min-height: clamp(260px, 34vw, 360px);
    }

    .elementor .radiant-bg .e-con:has(> .feature-hero-image) {
        position: static !important;
        overflow: visible !important;
        padding-right: calc(
            var(--rb-img-w) + var(--rb-img-inset) + var(--rb-img-gap)
        ) !important;
    }

    .elementor .feature-hero-image.feature-hero-image {
        position: absolute !important;
        top: 0 !important;
        bottom: 0 !important;
        right: var(--rb-img-inset) !important;
        left: auto !important;

        width: var(--rb-img-w) !important;
        max-width: none !important;
        height: auto !important;

        flex: none !important;
        margin: 0 !important;
        padding: 0 !important;

        display: block !important;
        overflow: visible !important;
        pointer-events: none;
        z-index: 1;
    }

    .elementor
    .feature-hero-image.feature-hero-image
    > img.e-image-base {
        display: block !important;
        position: static !important;
        transform: none !important;

        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        max-height: none !important;
        margin: 0 !important;

        object-fit: contain !important;
        object-position: center bottom !important;
    }
}


/* ---------- mobile: image drops under the copy, still floor-aligned ---------- */
@media (max-width: 767px) {

    .elementor .radiant-bg.radiant-bg {
        min-height: 0;
    }

    .elementor .radiant-bg .e-con:has(> .feature-hero-image) {
        flex-direction: column !important;
        padding-right: 0 !important;
        overflow: visible !important;
    }

    .elementor .feature-hero-image.feature-hero-image {
        position: relative !important;
        inset: auto !important;
        transform: none !important;

        width: 100% !important;
        max-width: none !important;
        height: clamp(240px, 62vw, 340px) !important;

        flex: none !important;
        margin: 16px 0 0 !important;
        padding: 0 !important;

        display: block !important;
        overflow: visible !important;
        pointer-events: none;
        z-index: 1;
    }

    .elementor
    .feature-hero-image.feature-hero-image
    > img.e-image-base {
        display: block !important;
        position: static !important;
        transform: none !important;

        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        max-height: none !important;
        margin: 0 !important;

        object-fit: contain !important;
        object-position: center bottom !important;
    }
}/* End custom CSS */