.elementor-kit-9{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-color-bc0018b:#FFFFFF;--e-global-color-a310d1a:#131313;--e-global-color-b873f86:#FE791A;--e-global-typography-primary-font-family:"Geist";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Geist";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Geist";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Geist";--e-global-typography-accent-font-weight:500;}.elementor-kit-9 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.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-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* * 1. Define the targets: Top-level containers ONLY.
 * The :not(:has(...)) ensures it COMPLETELY ignores any section with a video background.
 */
:is(.elementor-top-section, [data-elementor-type] > .e-con, [data-elementor-type] > .elementor-section-wrap > .e-con):not(:has(.elementor-background-video-container)) {
    position: relative;
}

/* 2. Apply the noise overlay exclusively to those safe, non-video sections */
:is(.elementor-top-section, [data-elementor-type] > .e-con, [data-elementor-type] > .elementor-section-wrap > .e-con):not(:has(.elementor-background-video-container))::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    
    /* Inline SVG Noise */
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.06'/%3E%3C/svg%3E");
    
    pointer-events: none; 
    z-index: 0; 
}

/* * 3. Elevate content layers to sit safely above the noise.
 * By using the same exclusion rule, video sections are untouched, 
 * which stops your video from shrinking into the inner padding!
 */
:is(.elementor-top-section, [data-elementor-type] > .e-con, [data-elementor-type] > .elementor-section-wrap > .e-con):not(:has(.elementor-background-video-container)) > .elementor-container, 
:is(.elementor-top-section, [data-elementor-type] > .e-con, [data-elementor-type] > .elementor-section-wrap > .e-con):not(:has(.elementor-background-video-container)) > .e-con-inner,
:is(.elementor-top-section, [data-elementor-type] > .e-con, [data-elementor-type] > .elementor-section-wrap > .e-con):not(:has(.elementor-background-video-container)) > .e-con,
:is(.elementor-top-section, [data-elementor-type] > .e-con, [data-elementor-type] > .elementor-section-wrap > .e-con):not(:has(.elementor-background-video-container)) > .elementor-widget {
    position: relative;
    z-index: 1;
}

/* 4. Keep all images totally crisp and unaffected */
.elementor-widget-image img {
    position: relative;
    z-index: 5;
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Geist';
	font-display: auto;
	src: url('https://senatlacivils.co.za/wp-content/uploads/2026/06/Geist-VariableFont_wght.ttf') format('truetype');
}
/* End Custom Fonts CSS */