.elementor-kit-543{--e-global-color-primary:#7D4CC0;--e-global-color-secondary:#A87EEB;--e-global-color-text:#A6A2B0;--e-global-color-accent:#F6F4F9;--e-global-color-db8095e:#7D4CC0;--e-global-color-b423c94:#A87EEB;--e-global-color-c9dcc83:#301B4E;--e-global-color-b6cedf0:#9163D5;--e-global-color-e429f3b:#0D0815;--e-global-color-9fd1159:#05030A;--e-global-color-9e31eca:#161020;--e-global-color-b7dd7f9:#352053;--e-global-color-66706cb:#1E0E33;--e-global-color-754d024:#090511;--e-global-color-6e78f67:#F9F8FB;--e-global-color-331b31b:#362E46;--e-global-typography-primary-font-family:"DM Sans";--e-global-typography-primary-font-size:16px;--e-global-typography-primary-font-weight:400;--e-global-typography-primary-text-transform:none;--e-global-typography-primary-font-style:normal;--e-global-typography-primary-text-decoration:none;--e-global-typography-primary-line-height:1.625em;--e-global-typography-primary-letter-spacing:0px;--e-global-typography-secondary-font-family:"Anton";--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-text-transform:uppercase;--e-global-typography-secondary-font-style:normal;--e-global-typography-secondary-text-decoration:none;--e-global-typography-secondary-line-height:0.92em;--e-global-typography-secondary-letter-spacing:0.005px;--e-global-typography-text-font-family:"Anton";--e-global-typography-text-font-size:60px;--e-global-typography-text-font-weight:400;--e-global-typography-text-text-transform:none;--e-global-typography-text-font-style:normal;--e-global-typography-text-text-decoration:none;--e-global-typography-text-line-height:0.92em;--e-global-typography-text-letter-spacing:0px;--e-global-typography-accent-font-family:"Anton";--e-global-typography-accent-font-size:20px;--e-global-typography-accent-font-weight:400;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-font-style:normal;--e-global-typography-accent-text-decoration:none;--e-global-typography-accent-line-height:1.4em;--e-global-typography-accent-letter-spacing:0px;background-color:#0D0815;color:var( --e-global-color-text );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );text-transform:var( --e-global-typography-primary-text-transform );font-style:var( --e-global-typography-primary-font-style );text-decoration:var( --e-global-typography-primary-text-decoration );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-543 button,.elementor-kit-543 input[type="button"],.elementor-kit-543 input[type="submit"],.elementor-kit-543 .elementor-button{background-color:var( --e-global-color-primary );font-family:"DM Sans", Sans-serif;font-size:12px;font-weight:700;text-transform:uppercase;font-style:normal;text-decoration:none;line-height:1em;letter-spacing:0.22px;color:#F9F8FB;box-shadow:0px 10px 40px -12px #7D4CC0;border-style:solid;border-width:0px 0px 0px 0px;border-radius:0px 0px 0px 0px;padding:14px 28px 14px 28px;}.elementor-kit-543 button:hover,.elementor-kit-543 button:focus,.elementor-kit-543 input[type="button"]:hover,.elementor-kit-543 input[type="button"]:focus,.elementor-kit-543 input[type="submit"]:hover,.elementor-kit-543 input[type="submit"]:focus,.elementor-kit-543 .elementor-button:hover,.elementor-kit-543 .elementor-button:focus{background-color:var( --e-global-color-secondary );color:var( --e-global-color-accent );box-shadow:0px 18px 50px -12px #A87EEB;border-radius:0px 0px 0px 0px;}.elementor-kit-543 e-page-transition{background-color:#FFBC7D;}.elementor-kit-543 a{color:var( --e-global-color-primary );font-family:"Roboto", Sans-serif;}.elementor-kit-543 a:hover{color:var( --e-global-color-secondary );}.elementor-kit-543 h1{color:var( --e-global-color-accent );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );text-transform:var( --e-global-typography-secondary-text-transform );font-style:var( --e-global-typography-secondary-font-style );text-decoration:var( --e-global-typography-secondary-text-decoration );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-kit-543 h2{color:var( --e-global-color-accent );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );text-transform:var( --e-global-typography-text-text-transform );font-style:var( --e-global-typography-text-font-style );text-decoration:var( --e-global-typography-text-text-decoration );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-543 h3{color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );font-style:var( --e-global-typography-accent-font-style );text-decoration:var( --e-global-typography-accent-text-decoration );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-kit-543 h4{color:var( --e-global-color-accent );}.elementor-kit-543 h5{color:var( --e-global-color-accent );}.elementor-kit-543 h6{color:var( --e-global-color-accent );}.elementor-kit-543 img{opacity:1;}.elementor-kit-543 label{color:#F6F4F9;font-family:"DM Sans", Sans-serif;font-size:12px;font-weight:700;text-transform:uppercase;}.elementor-kit-543 input:not([type="button"]):not([type="submit"]),.elementor-kit-543 textarea,.elementor-kit-543 .elementor-field-textual{font-family:"DM Sans", Sans-serif;font-size:16px;font-weight:400;color:#F6F4F9;background-color:#161020;border-style:solid;border-width:1px 1px 1px 1px;border-color:#362E468C;border-radius:0px 0px 0px 0px;padding:12px 16px 12px 16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1280px;}.e-con{--container-max-width:1280px;--container-default-padding-top:0px;--container-default-padding-right:48px;--container-default-padding-bottom:0px;--container-default-padding-left:48px;}.elementor-widget:not(:last-child){margin-block-end:24px;}.elementor-element{--widgets-spacing:24px 24px;--widgets-spacing-row:24px;--widgets-spacing-column:24px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1280px){.elementor-kit-543{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-543 h1{line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-kit-543 h2{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-543 h3{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}}@media(max-width:1024px){.elementor-kit-543{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-543 h1{line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-kit-543 h2{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-543 h3{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-543{--e-global-typography-secondary-font-size:42px;font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-543 h1{line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-kit-543 h2{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-543 h3{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* =========================================================
   RUMBLE PRODUCTIONS — GLOBAL VISUAL SYSTEM
   Based on the Rumble Design System Audit
   ========================================================= */


/* =========================================================
   01 — STAGE GRADIENT
   G01
   Main cinematic background
   ========================================================= */

.rumble-stage {
    background-image: linear-gradient(
        160deg,
        #0D0815 0%,
        #1E0E33 55%,
        #090511 100%
    );
}


/* =========================================================
   02 — PURPLE TOP-CENTER SPOTLIGHT
   G02
   Add class: rumble-spotlight
   ========================================================= */

.rumble-spotlight {
    position: relative;
    overflow: hidden;
}

.rumble-spotlight::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image: radial-gradient(
        ellipse at 50% 0%,
        rgba(132,81,201,0.45) 0%,
        rgba(132,81,201,0) 65%
    );
    z-index: 0;
}

.rumble-spotlight > * {
    position: relative;
    z-index: 1;
}


/* =========================================================
   03 — HERO IMAGE SCRIM
   G03
   Add class: rumble-hero-scrim
   ========================================================= */

.rumble-hero-scrim {
    position: relative;
    overflow: hidden;
}

.rumble-hero-scrim::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image: linear-gradient(
        to top,
        #05030A 0%,
        rgba(5,3,10,0.75) 50%,
        rgba(5,3,10,0.55) 100%
    );
    z-index: 1;
}

.rumble-hero-scrim > * {
    position: relative;
    z-index: 2;
}


/* =========================================================
   04 — FEATURE / CARD IMAGE SCRIM
   G04
   Add class: rumble-card-scrim
   ========================================================= */

.rumble-card-scrim {
    position: relative;
    overflow: hidden;
}

.rumble-card-scrim::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image: linear-gradient(
        to top,
        #05030A 0%,
        rgba(5,3,10,0.70) 50%,
        rgba(5,3,10,0) 100%
    );
    z-index: 1;
}

.rumble-card-scrim > * {
    position: relative;
    z-index: 2;
}


/* =========================================================
   05 — TALENT IMAGE FADE
   G05
   ========================================================= */

.rumble-talent-fade {
    position: relative;
    overflow: hidden;
}

.rumble-talent-fade::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image: linear-gradient(
        to top,
        #161020 0%,
        rgba(22,16,32,0) 50%,
        rgba(22,16,32,0) 100%
    );
    opacity: 0.8;
    z-index: 1;
}

.rumble-talent-fade > * {
    position: relative;
    z-index: 2;
}


/* =========================================================
   06 — HEADER TOP GRADIENT
   G06
   Unscrolled header
   ========================================================= */

.rumble-header-gradient {
    background-image: linear-gradient(
        to bottom,
        rgba(5,3,10,0.80) 0%,
        rgba(5,3,10,0) 100%
    );
}


/* =========================================================
   07 — PURPLE EYEBROW RULE
   G07
   32px × 1px decorative line
   ========================================================= */

.rumble-rule-purple {
    width: 32px;
    height: 1px;
    background-image: linear-gradient(
        90deg,
        #7D4CC0 0%,
        rgba(168,126,235,0.30) 60%,
        rgba(168,126,235,0) 100%
    );
}


/* =========================================================
   08 — CINEMATIC GRAIN
   G08
   Add class: rumble-grain
   ========================================================= */

.rumble-grain {
    position: relative;
    overflow: hidden;
}

.rumble-grain::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");

    background-repeat: repeat;
    background-size: 160px 160px;

    opacity: 0.32;
    mix-blend-mode: overlay;

    z-index: 5;
}

.rumble-grain > * {
    position: relative;
    z-index: 6;
}


/* =========================================================
   09 — CARD HOVER
   Rumble cinematic card interaction
   ========================================================= */

.rumble-card-hover {
    transition:
        transform 500ms ease,
        box-shadow 500ms ease;
}

.rumble-card-hover:hover {
    transform: translateY(-6px);

    box-shadow:
        0 0 0 1px rgba(145,99,213,0.25),
        0 24px 70px -24px rgba(134,74,210,0.60);
}


/* =========================================================
   10 — CARD IMAGE HOVER SCALE
   1200ms cinematic movement
   ========================================================= */

.rumble-card-image {
    overflow: hidden;
}

.rumble-card-image img {
    transition:
        transform 1200ms ease-out;
}

.rumble-card-image:hover img {
    transform: scale(1.10);
}


/* =========================================================
   11 — FEATURE CARD IMAGE
   Original feature-card image opacity
   ========================================================= */

.rumble-feature-image img {
    opacity: 0.45;
    transition:
        opacity 1200ms ease-out,
        transform 1200ms ease-out;
}

.rumble-feature-image:hover img {
    opacity: 0.60;
    transform: scale(1.10);
}


/* =========================================================
   12 — TALENT IMAGE HOVER
   ========================================================= */

.rumble-talent-image img {
    transition:
        transform 1200ms ease-out;
}

.rumble-talent-image:hover img {
    transform: scale(1.05);
}


/* =========================================================
   13 — VIDEO THUMBNAIL
   ========================================================= */

.rumble-video-thumb {
    position: relative;
    overflow: hidden;
}

.rumble-video-thumb::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;

    background: rgba(5,3,10,0.40);

    z-index: 1;

    transition:
        background 500ms ease;
}

.rumble-video-thumb:hover::before {
    background: rgba(5,3,10,0.20);
}

.rumble-video-thumb img {
    transition:
        transform 1200ms ease-out;
}

.rumble-video-thumb:hover img {
    transform: scale(1.05);
}


/* =========================================================
   14 — GALLERY IMAGE HOVER
   ========================================================= */

.rumble-gallery-image {
    position: relative;
    overflow: hidden;
}

.rumble-gallery-image::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;

    background: rgba(125,76,192,0);

    z-index: 1;

    transition:
        background 500ms ease;
}

.rumble-gallery-image:hover::before {
    background: rgba(125,76,192,0.25);
}

.rumble-gallery-image img {
    transition:
        transform 1200ms ease-out;
}

.rumble-gallery-image:hover img {
    transform: scale(1.10);
}


/* =========================================================
   15 — TEAM IMAGE GRAYSCALE
   ========================================================= */

.rumble-team-image img {
    filter: grayscale(1);

    transition:
        filter 700ms ease;
}

.rumble-team-image:hover img {
    filter: grayscale(0);
}


/* =========================================================
   16 — RUMBLE PRIMARY BUTTON
   Optional class if we need exact custom button treatment
   ========================================================= */

.rumble-button {
    background: #7D4CC0;

    color: #F9F8FB;

    border: 0;
    border-radius: 0;

    box-shadow:
        0 10px 40px -12px #7D4CC0;

    transition:
        background-color 500ms ease,
        box-shadow 500ms ease,
        transform 500ms ease;
}

.rumble-button:hover {
    background: #A87EEB;

    color: #F9F8FB;

    box-shadow:
        0 18px 50px -12px #A87EEB;

    transform: translateY(-2px);
}


/* =========================================================
   17 — RUMBLE BORDER
   ========================================================= */

.rumble-border {
    border: 1px solid rgba(54,46,70,0.55);
}


/* =========================================================
   18 — RUMBLE CARD SURFACE
   ========================================================= */

.rumble-card {
    background: #161020;
    border: 1px solid rgba(54,46,70,0.55);
    border-radius: 0;
}


/* =========================================================
   19 — RUMBLE DEEP PLUM SURFACE
   ========================================================= */

.rumble-plum {
    background: #301B4E;
}


/* =========================================================
   20 — RUMBLE ATMOSPHERIC SECTION
   Convenient combination:
   Stage + Spotlight + Grain

   Use all three classes together if desired:
   rumble-stage rumble-spotlight rumble-grain
   ========================================================= */

.rumble-atmosphere {
    background-image: linear-gradient(
        160deg,
        #0D0815 0%,
        #1E0E33 55%,
        #090511 100%
    );

    position: relative;
    overflow: hidden;
}

.rumble-atmosphere::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;

    background-image: radial-gradient(
        ellipse at 50% 0%,
        rgba(132,81,201,0.45) 0%,
        rgba(132,81,201,0) 65%
    );

    z-index: 0;
}

.rumble-atmosphere::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");

    background-repeat: repeat;
    background-size: 160px 160px;

    opacity: 0.32;
    mix-blend-mode: overlay;

    z-index: 1;
}

.rumble-atmosphere > * {
    position: relative;
    z-index: 2;
}


/* =========================================================
   21 — SQUARE EVERYTHING
   Safety utility for Rumble components
   ========================================================= */

.rumble-square {
    border-radius: 0 !important;
}


/* =========================================================
   22 — RESPONSIVE CONTAINER HELPERS
   ========================================================= */

.rumble-container {
    width: 100%;
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;

    padding-left: 48px;
    padding-right: 48px;
}

@media (max-width: 1024px) {
    .rumble-container {
        padding-left: 32px;
        padding-right: 32px;
    }
}

@media (max-width: 767px) {
    .rumble-container {
        padding-left: 20px;
        padding-right: 20px;
    }
}


/* =========================================================
   23 — SECTION SPACING HELPERS
   ========================================================= */

.rumble-section {
    padding-top: 112px;
    padding-bottom: 112px;
}

@media (max-width: 767px) {
    .rumble-section {
        padding-top: 80px;
        padding-bottom: 80px;
    }
}/* End custom CSS */