.elementor-kit-4{--e-global-color-primary:#1C2D5A;--e-global-color-secondary:#F4F5F5;--e-global-color-text:#2F343C;--e-global-color-accent:#A02A25;--e-global-color-88c90a5:#FFFFFF;--e-global-typography-primary-font-family:"Plus Jakarta Sans";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Plus Jakarta Sans";--e-global-typography-secondary-font-weight:700;--e-global-typography-text-font-family:"Open Sans";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Open Sans";--e-global-typography-accent-font-weight:700;font-family:"Open Sans", Helvetica, Verdana, Sans-serif;font-size:16px;}.elementor-kit-4 button,.elementor-kit-4 input[type="button"],.elementor-kit-4 input[type="submit"],.elementor-kit-4 .elementor-button{background-color:var( --e-global-color-primary );font-family:"Open Sans", Helvetica, Verdana, Sans-serif;font-weight:700;text-transform:none;text-decoration:none;color:var( --e-global-color-88c90a5 );border-style:none;border-radius:25px 25px 25px 25px;padding:18px 40px 18px 40px;}.elementor-kit-4 button:hover,.elementor-kit-4 button:focus,.elementor-kit-4 input[type="button"]:hover,.elementor-kit-4 input[type="button"]:focus,.elementor-kit-4 input[type="submit"]:hover,.elementor-kit-4 input[type="submit"]:focus,.elementor-kit-4 .elementor-button:hover,.elementor-kit-4 .elementor-button:focus{background-color:var( --e-global-color-accent );color:var( --e-global-color-88c90a5 );border-style:none;border-radius:25px 25px 25px 25px;}.elementor-kit-4 e-page-transition{background-color:#FFBC7D;}.elementor-kit-4 a{color:var( --e-global-color-accent );text-decoration:underline;}.elementor-kit-4 a:hover{color:var( --e-global-color-primary );}.elementor-kit-4 h1{font-family:"Plus Jakarta Sans", Helvetica, Verdana, Sans-serif;font-size:48px;font-weight:700;}.elementor-kit-4 h2{font-family:"Plus Jakarta Sans", Helvetica, Verdana, Sans-serif;font-size:39px;font-weight:700;}.elementor-kit-4 h3{font-family:"Plus Jakarta Sans", Helvetica, Verdana, Sans-serif;font-size:31px;font-weight:700;}.elementor-kit-4 h4{font-family:"Plus Jakarta Sans", Helvetica, Verdana, Sans-serif;font-size:18px;font-weight:700;}.elementor-kit-4 h5{font-family:"Open Sans", Helvetica, Verdana, Sans-serif;font-size:18px;font-weight:500;}.elementor-kit-4 img{border-radius:25px 25px 25px 25px;}.elementor-kit-4 input:not([type="button"]):not([type="submit"]),.elementor-kit-4 textarea,.elementor-kit-4 .elementor-field-textual{color:var( --e-global-color-text );background-color:var( --e-global-color-88c90a5 );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-primary );border-radius:25px 25px 25px 25px;}.elementor-kit-4 input:focus:not([type="button"]):not([type="submit"]),.elementor-kit-4 textarea:focus,.elementor-kit-4 .elementor-field-textual:focus{accent-color:var( --e-global-color-accent );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-secondary );border-radius:25px 25px 25px 25px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1000px;}.e-con{--container-max-width:1000px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}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:1024px){.elementor-kit-4 h2{font-size:32px;}.elementor-kit-4 h3{font-size:24px;}.elementor-kit-4 h4{font-size:18px;}.elementor-kit-4 h5{font-size:16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-4 h2{font-size:24px;}.elementor-kit-4 h3{font-size:22px;}.elementor-kit-4 h4{font-size:17px;}.elementor-kit-4 h5{font-size:15px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* =========================================================
   RPI SPLIT HERO
   Reusable site-wide hero layout

   Elementor Global Content Width: 1140px

   Elementor Breakpoints:
   Mobile Portrait:   767px
   Mobile Landscape:  880px
   Tablet Portrait:   1024px
   Tablet Landscape:  1200px
   Laptop:            1366px
   Widescreen:        2400px
   ========================================================= */


/* =========================================================
   DEFAULT DESKTOP
   1367px – 2399px
   ========================================================= */

.rpi-split-hero {
    --hero-content-width: 1000px;
    --hero-copy-width: 540px;
    --hero-gap: 35px;
    --hero-side-padding: 20px;

    display: grid !important;

    grid-template-columns:
        max(
            var(--hero-side-padding),
            calc((100vw - var(--hero-content-width)) / 2)
        )
        var(--hero-copy-width)
        var(--hero-gap)
        minmax(0, 1fr);

    width: 100%;
    max-width: none !important;

    padding: 0 !important;
    margin: 0 !important;
    gap: 0 !important;

    overflow: hidden;
}


/* LEFT / CONTENT */

.rpi-split-hero > .rpi-split-hero__content {
    grid-column: 2;

    width: 100% !important;
    max-width: none !important;
    min-width: 0;

    margin: 0 !important;
    padding: 0 !important;

    justify-content: center;
}


/* RIGHT / IMAGE */

.rpi-split-hero > .rpi-split-hero__image {
    grid-column: 4;

    width: 100% !important;
    max-width: none !important;
    min-width: 0;

    margin: 0 !important;
    padding: 0 !important;

    min-height: 563px;
}


/* =========================================================
   WIDESCREEN
   2400px+
   Keep alignment tied to the same 1140px content area
   ========================================================= */

@media (min-width: 2400px) {

    .rpi-split-hero {
        --hero-content-width: 1140px;
        --hero-copy-width: 455px;
        --hero-gap: 35px;
    }

}


/* =========================================================
   LAPTOP
   1201px – 1366px
   ========================================================= */

@media (max-width: 1366px) {

    .rpi-split-hero {
        --hero-content-width: 1140px;
        /*--hero-copy-width: 455px;*/
        --hero-gap: 35px;
        --hero-side-padding: 30px;
    }

}


/* =========================================================
   TABLET LANDSCAPE
   1025px – 1200px

   At this size, preserve the split layout but stop relying
   on the full 1140px boxed width because the viewport is
   becoming too narrow.
   ========================================================= */

@media (max-width: 1200px) {

    .rpi-split-hero {
        --hero-side-padding: 40px;
        --hero-gap: 30px;
        grid-template-columns:
            var(--hero-side-padding)
            minmax(0, 45%)
            var(--hero-gap)
            minmax(0, 1fr);
    }

}


/* =========================================================
   TABLET PORTRAIT
   881px – 1024px

   Keep a two-column hero, but give the copy slightly more
   room and reduce the gap.
   ========================================================= */

@media (max-width: 1024px) {

    .rpi-split-hero {
        --hero-side-padding: 40px;
        --hero-gap: 25px;

        grid-template-columns:
            var(--hero-side-padding)
            minmax(0, 45%)
            var(--hero-gap)
            minmax(0, 1fr);
    }

    .rpi-split-hero > .rpi-split-hero__image {
        min-height: 450px;
    }

}


/* =========================================================
   MOBILE LANDSCAPE + MOBILE PORTRAIT
   880px and below

   Same two Elementor containers now stack.
   No duplicate image container required.
   ========================================================= */

@media (max-width: 880px) {

    .rpi-split-hero {
        display: grid !important;

        grid-template-columns: 1fr;
        grid-template-rows: auto auto;

        width: 100%;

        padding: 60px 0 0 !important;
        margin: 0 !important;
        gap: 0 !important;
    }


    .rpi-split-hero > .rpi-split-hero__content {
        grid-column: 1;
        grid-row: 1;

        width: 100% !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 0 40px 60px !important;
    }


    .rpi-split-hero > .rpi-split-hero__image {
        grid-column: 1;
        grid-row: 2;

        width: 100% !important;
        max-width: none !important;

        min-height: 446px;

        margin: 0 !important;
        padding: 0 !important;
    }

}


/* =========================================================
   MOBILE PORTRAIT
   767px and below
   ========================================================= */

@media (max-width: 767px) {

    .rpi-split-hero {
        padding-top: 55px !important;
    }

    .rpi-split-hero > .rpi-split-hero__content {
        padding: 0 40px 55px !important;
    }

    .rpi-split-hero > .rpi-split-hero__image {
        min-height: 420px;
    }

}


/* =========================================================
   SMALL MOBILE
   Not an Elementor breakpoint — just a useful refinement
   ========================================================= */

@media (max-width: 480px) {

    .rpi-split-hero {
        padding-top: 50px !important;
    }

    .rpi-split-hero > .rpi-split-hero__content {
        padding: 0 30px 50px !important;
    }

    .rpi-split-hero > .rpi-split-hero__image {
        min-height: 400px;
    }

}/* End custom CSS */