.elementor-kit-15{--e-global-color-primary:#0A2540;--e-global-color-secondary:#6B7280;--e-global-color-text:#374151;--e-global-color-accent:#2EC4B6;--e-global-color-baa4a8d:#FFFFFF;--e-global-color-4b26c29:#F6F8F9;--e-global-color-fb2c60b:#E5E9EC;--e-global-color-59da47c:#071B2E;--e-global-typography-primary-font-family:"Plus Jakarta Sans";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Archivo";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Outfit";--e-global-typography-text-font-size:0.875rem;--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Jost";--e-global-typography-accent-font-size:0.75rem;--e-global-typography-accent-font-weight:500;--e-global-typography-1ef5185-font-family:"Plus Jakarta Sans";--e-global-typography-1ef5185-font-size:2.75rem;--e-global-typography-1ef5185-font-weight:600;--e-global-typography-1ef5185-line-height:1.1em;--e-global-typography-1ef5185-letter-spacing:0em;--e-global-typography-8be3548-font-family:"Plus Jakarta Sans";--e-global-typography-8be3548-font-size:1.75rem;--e-global-typography-8be3548-font-weight:600;--e-global-typography-8be3548-line-height:1.22em;--e-global-typography-1f5cc3e-font-family:"Archivo";--e-global-typography-1f5cc3e-font-size:1.3125rem;--e-global-typography-1f5cc3e-font-weight:600;--e-global-typography-1f5cc3e-line-height:1.3em;--e-global-typography-dc143fa-font-family:"Manrope";--e-global-typography-dc143fa-font-size:1.0625rem;--e-global-typography-dc143fa-line-height:1.4em;--e-global-typography-447d3da-font-family:"Manrope";--e-global-typography-447d3da-font-size:0.875rem;--e-global-typography-447d3da-line-height:1.45em;--e-global-typography-cf4a6a0-font-family:"Manrope";--e-global-typography-cf4a6a0-font-size:1rem;--e-global-typography-cf4a6a0-font-weight:400;--e-global-typography-cf4a6a0-line-height:1.7em;--e-global-typography-5b71a58-font-family:"Outfit";--e-global-typography-5b71a58-font-size:0.9375rem;--e-global-typography-5b71a58-font-weight:500;--e-global-typography-5b71a58-line-height:1.25em;--e-global-typography-41c1fdd-font-family:"Outfit";--e-global-typography-41c1fdd-font-size:0.75rem;--e-global-typography-41c1fdd-font-weight:500;--e-global-typography-41c1fdd-line-height:1.3em;--e-global-typography-9eed4f2-font-family:"Outfit";--e-global-typography-9eed4f2-font-size:0.875rem;--e-global-typography-9eed4f2-font-weight:400;--e-global-typography-9eed4f2-line-height:1.4em;--e-global-typography-3571f75-font-family:"Outfit";--e-global-typography-3571f75-font-size:0.9375rem;--e-global-typography-3571f75-font-weight:500;--e-global-typography-3571f75-line-height:1.1em;}.elementor-kit-15 h1{font-family:"Plus Jakarta Sans", Sans-serif;font-size:64px;font-weight:600;line-height:1.05em;letter-spacing:-2.2px;}.elementor-kit-15 h2{font-family:"Plus Jakarta Sans", Sans-serif;font-size:44px;font-weight:600;line-height:1.12em;letter-spacing:-1.3px;}.elementor-kit-15 h3{font-family:"Archivo", Sans-serif;font-size:28px;font-weight:600;line-height:1.25em;letter-spacing:-0.5px;}.elementor-kit-15 h4{font-family:"Archivo", Sans-serif;font-size:21px;font-weight:600;letter-spacing:-0.2px;}.elementor-kit-15 h5{font-family:"Manrope", Sans-serif;font-size:17px;font-weight:600;letter-spacing:0px;}.elementor-kit-15 h6{font-size:14px;font-weight:600;letter-spacing:0.1px;}.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);}.elementor-kit-15 e-page-transition{background-color:#FFBC7D;}.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:1366px){.elementor-kit-15{--e-global-typography-text-font-size:0.875rem;--e-global-typography-accent-font-size:0.75rem;--e-global-typography-1ef5185-font-size:2.625rem;--e-global-typography-1ef5185-line-height:1.12em;--e-global-typography-8be3548-font-size:1.625rem;--e-global-typography-8be3548-line-height:1.23em;--e-global-typography-1f5cc3e-font-size:1.25rem;--e-global-typography-1f5cc3e-line-height:1.32em;--e-global-typography-dc143fa-font-size:1.0625rem;--e-global-typography-dc143fa-line-height:1.4em;--e-global-typography-447d3da-font-size:0.875rem;--e-global-typography-447d3da-line-height:1.45em;--e-global-typography-cf4a6a0-font-size:1rem;--e-global-typography-cf4a6a0-line-height:1.7em;--e-global-typography-5b71a58-font-size:0.9375rem;--e-global-typography-5b71a58-line-height:1.25em;--e-global-typography-41c1fdd-font-size:0.75rem;--e-global-typography-41c1fdd-line-height:1.3em;--e-global-typography-9eed4f2-font-size:0.875rem;--e-global-typography-9eed4f2-line-height:1.4em;--e-global-typography-3571f75-font-size:0.9375rem;--e-global-typography-3571f75-line-height:1.1em;}}@media(max-width:1200px){.elementor-kit-15{--e-global-typography-text-font-size:0.875rem;--e-global-typography-accent-font-size:0.75rem;--e-global-typography-1ef5185-font-size:2.375rem;--e-global-typography-1ef5185-line-height:1.14em;--e-global-typography-8be3548-font-size:1.5rem;--e-global-typography-8be3548-line-height:1.24em;--e-global-typography-1f5cc3e-font-size:1.1875rem;--e-global-typography-1f5cc3e-line-height:1.33em;--e-global-typography-dc143fa-font-size:1rem;--e-global-typography-dc143fa-line-height:1.42em;--e-global-typography-447d3da-font-size:0.875rem;--e-global-typography-447d3da-line-height:1.45em;--e-global-typography-cf4a6a0-font-size:1rem;--e-global-typography-cf4a6a0-line-height:1.68em;--e-global-typography-5b71a58-font-size:0.875rem;--e-global-typography-5b71a58-line-height:1.25em;--e-global-typography-41c1fdd-line-height:1.3em;--e-global-typography-9eed4f2-font-size:0.875rem;--e-global-typography-9eed4f2-line-height:1.4em;--e-global-typography-3571f75-font-size:0.9375rem;--e-global-typography-3571f75-line-height:1.1em;}}@media(max-width:1024px){.elementor-kit-15{--e-global-typography-text-font-size:0.875rem;--e-global-typography-accent-font-size:0.75rem;--e-global-typography-1ef5185-font-size:2.125rem;--e-global-typography-1ef5185-line-height:1.15em;--e-global-typography-1ef5185-letter-spacing:-0.028em;--e-global-typography-8be3548-font-size:1.375rem;--e-global-typography-8be3548-line-height:-0.015em;--e-global-typography-1f5cc3e-font-size:1.125rem;--e-global-typography-1f5cc3e-line-height:1.35em;--e-global-typography-dc143fa-line-height:1.42em;--e-global-typography-dc143fa-letter-spacing:0em;--e-global-typography-447d3da-font-size:0.875rem;--e-global-typography-447d3da-line-height:1.45em;--e-global-typography-447d3da-letter-spacing:0.01em;--e-global-typography-cf4a6a0-line-height:1.68em;--e-global-typography-cf4a6a0-letter-spacing:0em;--e-global-typography-5b71a58-font-size:0.875rem;--e-global-typography-5b71a58-line-height:1.25em;--e-global-typography-5b71a58-letter-spacing:0.01em;--e-global-typography-41c1fdd-font-size:0.75rem;--e-global-typography-41c1fdd-line-height:1.3em;--e-global-typography-41c1fdd-letter-spacing:0.07em;--e-global-typography-9eed4f2-font-size:0.875rem;--e-global-typography-9eed4f2-line-height:1.4em;--e-global-typography-9eed4f2-letter-spacing:0em;--e-global-typography-3571f75-font-size:0.875rem;--e-global-typography-3571f75-line-height:1.1em;--e-global-typography-3571f75-letter-spacing:0.01em;}.elementor-kit-15 h1{font-size:50px;line-height:1.05em;letter-spacing:-1.6px;}.elementor-kit-15 h2{font-size:36px;line-height:1.15em;letter-spacing:-0.9px;}.elementor-kit-15 h3{font-size:25px;line-height:1.25em;letter-spacing:-0.3px;}.elementor-kit-15 h4{font-size:20px;line-height:1.35em;letter-spacing:0px;}.elementor-kit-15 h5{font-size:17px;line-height:1.4em;letter-spacing:0px;}.elementor-kit-15 h6{font-size:14px;line-height:1.45em;letter-spacing:0.1px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:880px){.elementor-kit-15{--e-global-typography-text-font-size:0.8125rem;--e-global-typography-accent-font-size:0.6875rem;--e-global-typography-1ef5185-font-size:1.875rem;--e-global-typography-1ef5185-line-height:1.17em;--e-global-typography-8be3548-font-size:1.25rem;--e-global-typography-8be3548-line-height:1.27em;--e-global-typography-1f5cc3e-font-size:1.0625rem;--e-global-typography-1f5cc3e-line-height:1.37em;--e-global-typography-dc143fa-line-height:1.42em;--e-global-typography-447d3da-font-size:0.8125rem;--e-global-typography-447d3da-line-height:1.5em;--e-global-typography-cf4a6a0-font-size:0.96875rem;--e-global-typography-cf4a6a0-line-height:1.65em;--e-global-typography-5b71a58-font-size:0.875rem;--e-global-typography-5b71a58-line-height:1.3em;--e-global-typography-41c1fdd-font-size:0.6875rem;--e-global-typography-41c1fdd-line-height:1.35em;--e-global-typography-9eed4f2-font-size:0.8125rem;--e-global-typography-9eed4f2-line-height:1.4em;--e-global-typography-3571f75-font-size:0.875rem;--e-global-typography-3571f75-line-height:1.1em;}}@media(max-width:767px){.elementor-kit-15{--e-global-typography-text-font-size:0.8125rem;--e-global-typography-accent-font-size:0.6875rem;--e-global-typography-1ef5185-font-size:1.75rem;--e-global-typography-1ef5185-line-height:1.18em;--e-global-typography-1ef5185-letter-spacing:-0.02em;--e-global-typography-8be3548-font-size:1.1875rem;--e-global-typography-8be3548-line-height:-0.01em;--e-global-typography-1f5cc3e-font-size:1rem;--e-global-typography-1f5cc3e-line-height:1.4em;--e-global-typography-dc143fa-line-height:1.45em;--e-global-typography-dc143fa-letter-spacing:0em;--e-global-typography-447d3da-font-size:0.8125rem;--e-global-typography-447d3da-line-height:1.5em;--e-global-typography-447d3da-letter-spacing:0.01em;--e-global-typography-cf4a6a0-font-size:0.96875rem;--e-global-typography-cf4a6a0-line-height:1.65em;--e-global-typography-cf4a6a0-letter-spacing:0em;--e-global-typography-5b71a58-font-size:0.875rem;--e-global-typography-5b71a58-line-height:1.3em;--e-global-typography-5b71a58-letter-spacing:0.01em;--e-global-typography-41c1fdd-font-size:0.6875rem;--e-global-typography-41c1fdd-line-height:1.35em;--e-global-typography-41c1fdd-letter-spacing:0.06em;--e-global-typography-9eed4f2-font-size:0.8125rem;--e-global-typography-9eed4f2-line-height:1.4em;--e-global-typography-9eed4f2-letter-spacing:0em;--e-global-typography-3571f75-font-size:0.875rem;--e-global-typography-3571f75-line-height:1.1em;--e-global-typography-3571f75-letter-spacing:0.01em;}.elementor-kit-15 h1{font-size:40px;line-height:1.1em;letter-spacing:-1px;}.elementor-kit-15 h2{font-size:30px;line-height:1.18em;letter-spacing:-0.5px;}.elementor-kit-15 h3{font-size:22px;line-height:1.28em;letter-spacing:0px;}.elementor-kit-15 h4{font-size:18px;line-height:1.4em;letter-spacing:0px;}.elementor-kit-15 h5{font-size:16px;line-height:1.45em;letter-spacing:0px;}.elementor-kit-15 h6{font-size:13px;line-height:1.5em;letter-spacing:0px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}@media(min-width:2400px){.elementor-kit-15{--e-global-typography-text-font-size:0.9375rem;--e-global-typography-accent-font-size:0.8125rem;--e-global-typography-1ef5185-font-size:3.25rem;--e-global-typography-1ef5185-line-height:1.08em;--e-global-typography-8be3548-font-size:1.875rem;--e-global-typography-8be3548-line-height:-0.02em;--e-global-typography-1f5cc3e-font-size:1.5rem;--e-global-typography-1f5cc3e-line-height:1.28em;--e-global-typography-1f5cc3e-letter-spacing:-0.01em;--e-global-typography-dc143fa-font-size:1.125rem;--e-global-typography-dc143fa-line-height:1.4em;--e-global-typography-dc143fa-letter-spacing:0em;--e-global-typography-447d3da-font-size:0.9375rem;--e-global-typography-447d3da-line-height:1.45em;--e-global-typography-447d3da-letter-spacing:0.01em;--e-global-typography-cf4a6a0-font-size:1.0625rem;--e-global-typography-cf4a6a0-line-height:1.7em;--e-global-typography-cf4a6a0-letter-spacing:0em;--e-global-typography-5b71a58-font-size:0.9375rem;--e-global-typography-5b71a58-line-height:1.25em;--e-global-typography-5b71a58-letter-spacing:0.01em;--e-global-typography-41c1fdd-font-size:0.75rem;--e-global-typography-41c1fdd-line-height:1.3em;--e-global-typography-41c1fdd-letter-spacing:0.08em;--e-global-typography-9eed4f2-font-size:0.9375rem;--e-global-typography-9eed4f2-line-height:1.4em;--e-global-typography-9eed4f2-letter-spacing:0em;--e-global-typography-3571f75-font-size:0.9375rem;--e-global-typography-3571f75-line-height:1.1em;--e-global-typography-3571f75-letter-spacing:0.01em;}}
/* Start custom CSS *//* ==========================================================
   RKS TECHWARE
   MASTER TYPOGRAPHY + COLOR SYSTEM
   Elementor Pro Compatible
   ========================================================== */


/* ==========================================================
   1. GOOGLE FONTS
   ========================================================== */

@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700&family=Jost:wght@300;400;500;600&family=Manrope:wght@400;500;600;700&family=Outfit:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap');


/* ==========================================================
   2. BRAND VARIABLES
   ========================================================== */

:root {

    /* BRAND */
    --rks-teal: #30C4B6;
    --rks-navy: #0A2540;
    --rks-black: #000000;
    --rks-white: #FFFFFF;


    /* TEAL SHADES */
    --rks-teal-dark: #229D93;
    --rks-teal-deep: #167A73;
    --rks-teal-light: #72D8CE;
    --rks-teal-soft: #DDF8F5;
    --rks-teal-ultra-soft: #F0FCFA;


    /* NAVY SHADES */
    --rks-navy-dark: #06192C;
    --rks-navy-light: #173D60;
    --rks-navy-soft: #E9F0F5;


    /* NEUTRALS */
    --rks-gray-900: #111827;
    --rks-gray-800: #1F2937;
    --rks-gray-700: #374151;
    --rks-gray-600: #4B5563;
    --rks-gray-500: #667085;
    --rks-gray-400: #98A2B3;
    --rks-gray-300: #D0D5DD;
    --rks-gray-200: #E4E7EC;
    --rks-gray-100: #F2F4F7;
    --rks-gray-50: #F8FAFC;


    /* TEXT */
    --rks-text-primary: #0A2540;
    --rks-text-body: #364152;
    --rks-text-muted: #667085;


    /* SURFACES */
    --rks-background: #FFFFFF;
    --rks-background-soft: #F7F9FB;
    --rks-surface: #FFFFFF;
    --rks-border: #DDE4EA;


    /* TYPOGRAPHY */
    --rks-font-primary: "Plus Jakarta Sans", sans-serif;
    --rks-font-secondary: "Archivo", sans-serif;
    --rks-font-body: "Manrope", sans-serif;
    --rks-font-ui: "Outfit", sans-serif;
    --rks-font-accent: "Jost", sans-serif;

}


/* ==========================================================
   3. GLOBAL BASE
   ========================================================== */

html {
    font-size: 16px;
    scroll-behavior: smooth;
}


body {

    font-family: var(--rks-font-body) !important;

    font-size: 16px;
    font-weight: 400;

    line-height: 1.7;

    color: var(--rks-text-body);

    background: var(--rks-background);

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}


/* ==========================================================
   4. DEFAULT HEADINGS
   ========================================================== */

h1,
h2,
h3,
h4,
h5,
h6 {

    margin-top: 0;

    color: var(--rks-navy);

    text-wrap: balance;
}


/* H1 */

h1 {

    font-family: var(--rks-font-primary);

    font-size: clamp(42px, 5vw, 64px);

    font-weight: 600;

    line-height: 1.06;

    letter-spacing: -0.045em;
}


/* H2 */

h2 {

    font-family: var(--rks-font-primary);

    font-size: clamp(34px, 4vw, 48px);

    font-weight: 600;

    line-height: 1.1;

    letter-spacing: -0.035em;
}


/* H3 */

h3 {

    font-family: var(--rks-font-secondary);

    font-size: clamp(26px, 3vw, 32px);

    font-weight: 600;

    line-height: 1.2;

    letter-spacing: -0.025em;
}


/* H4 */

h4 {

    font-family: var(--rks-font-secondary);

    font-size: clamp(21px, 2vw, 24px);

    font-weight: 600;

    line-height: 1.3;

    letter-spacing: -0.02em;
}


/* H5 */

h5 {

    font-family: var(--rks-font-body);

    font-size: 20px;

    font-weight: 600;

    line-height: 1.4;

    letter-spacing: -0.015em;
}


/* H6 */

h6 {

    font-family: var(--rks-font-body);

    font-size: 16px;

    font-weight: 600;

    line-height: 1.4;

    letter-spacing: -0.01em;
}


/* ==========================================================
   5. BODY TYPOGRAPHY
   ========================================================== */

p,
li,
blockquote,
figcaption {

    font-family: var(--rks-font-body);

    color: var(--rks-text-body);
}


p {

    font-size: 16px;

    line-height: 1.75;
}


strong,
b {

    font-weight: 600;
}


/* ==========================================================
   6. DISPLAY
   ========================================================== */

.rks-display,
.rks-display .elementor-heading-title,
.elementor-heading-title.rks-display {

    font-family: var(--rks-font-primary) !important;

    font-size: clamp(48px, 6vw, 76px) !important;

    font-weight: 600 !important;

    line-height: 1.02 !important;

    letter-spacing: -0.05em !important;

    color: var(--rks-navy);
}


/* ==========================================================
   7. H1 CLASS
   ========================================================== */

.rks-h1,
.rks-h1 .elementor-heading-title,
.elementor-heading-title.rks-h1 {

    font-family: var(--rks-font-primary) !important;

    font-size: clamp(42px, 5vw, 64px) !important;

    font-weight: 600 !important;

    line-height: 1.06 !important;

    letter-spacing: -0.045em !important;

    color: var(--rks-navy);
}


/* ==========================================================
   8. H2 CLASS
   ========================================================== */

.rks-h2,
.rks-h2 .elementor-heading-title,
.elementor-heading-title.rks-h2 {

    font-family: var(--rks-font-primary) !important;

    font-size: clamp(34px, 4vw, 48px) !important;

    font-weight: 600 !important;

    line-height: 1.1 !important;

    letter-spacing: -0.035em !important;

    color: var(--rks-navy);
}


/* ==========================================================
   9. H3 CLASS
   ========================================================== */

.rks-h3,
.rks-h3 .elementor-heading-title,
.elementor-heading-title.rks-h3 {

    font-family: var(--rks-font-secondary) !important;

    font-size: clamp(26px, 3vw, 32px) !important;

    font-weight: 600 !important;

    line-height: 1.2 !important;

    letter-spacing: -0.025em !important;

    color: var(--rks-navy);
}


/* ==========================================================
   10. H4 CLASS
   ========================================================== */

.rks-h4,
.rks-h4 .elementor-heading-title,
.elementor-heading-title.rks-h4 {

    font-family: var(--rks-font-secondary) !important;

    font-size: clamp(21px, 2vw, 24px) !important;

    font-weight: 600 !important;

    line-height: 1.3 !important;

    letter-spacing: -0.02em !important;

    color: var(--rks-navy);
}


/* ==========================================================
   11. H5 CLASS
   ========================================================== */

.rks-h5,
.rks-h5 .elementor-heading-title,
.elementor-heading-title.rks-h5 {

    font-family: var(--rks-font-body) !important;

    font-size: 20px !important;

    font-weight: 600 !important;

    line-height: 1.4 !important;

    letter-spacing: -0.015em !important;

    color: var(--rks-navy);
}


/* ==========================================================
   12. H6 CLASS
   ========================================================== */

.rks-h6,
.rks-h6 .elementor-heading-title,
.elementor-heading-title.rks-h6 {

    font-family: var(--rks-font-body) !important;

    font-size: 16px !important;

    font-weight: 600 !important;

    line-height: 1.4 !important;

    letter-spacing: -0.01em !important;

    color: var(--rks-navy);
}


/* ==========================================================
   13. BODY
   ========================================================== */

.rks-body,
.rks-body p,
.rks-body .elementor-widget-container {

    font-family: var(--rks-font-body) !important;

    font-size: 16px !important;

    font-weight: 400 !important;

    line-height: 1.75 !important;

    letter-spacing: 0 !important;

    color: var(--rks-text-body);
}


/* ==========================================================
   14. LARGE BODY
   ========================================================== */

.rks-body-large,
.rks-body-large p,
.rks-body-large .elementor-widget-container {

    font-family: var(--rks-font-body) !important;

    font-size: clamp(17px, 1.5vw, 19px) !important;

    font-weight: 400 !important;

    line-height: 1.7 !important;

    letter-spacing: -0.005em !important;

    color: var(--rks-text-body);
}


/* ==========================================================
   15. SMALL BODY
   ========================================================== */

.rks-body-small,
.rks-body-small p,
.rks-body-small .elementor-widget-container {

    font-family: var(--rks-font-body) !important;

    font-size: 14px !important;

    font-weight: 400 !important;

    line-height: 1.65 !important;

    color: var(--rks-text-muted);
}


/* ==========================================================
   16. EYEBROW / LABEL
   ========================================================== */

.rks-eyebrow,
.rks-label,
.rks-eyebrow .elementor-heading-title,
.rks-label .elementor-heading-title,
.rks-eyebrow .elementor-widget-container,
.rks-label .elementor-widget-container {

    font-family: var(--rks-font-ui) !important;

    font-size: 13px !important;

    font-weight: 600 !important;

    line-height: 1.2 !important;

    letter-spacing: 0.08em !important;

    text-transform: uppercase !important;

    color: var(--rks-teal);
}


/* ==========================================================
   17. NAVIGATION TYPOGRAPHY
   ========================================================== */

.rks-nav,
.rks-nav a,
.rks-nav .elementor-item {

    font-family: var(--rks-font-ui) !important;

    font-size: 15px !important;

    font-weight: 500 !important;

    line-height: 1.3 !important;

    letter-spacing: 0.01em !important;
}


/* ==========================================================
   18. BUTTON TYPOGRAPHY
   ========================================================== */

.rks-button-text,
.rks-button-text .elementor-button,
.rks-button-text .elementor-button-text {

    font-family: var(--rks-font-ui) !important;

    font-size: 15px !important;

    font-weight: 500 !important;

    line-height: 1.2 !important;

    letter-spacing: 0.01em !important;
}


/* ==========================================================
   19. UI TYPOGRAPHY
   ========================================================== */

.rks-ui,
.rks-ui .elementor-widget-container {

    font-family: var(--rks-font-ui) !important;

    font-weight: 500 !important;

    letter-spacing: 0.01em !important;
}


/* ==========================================================
   20. ACCENT TYPOGRAPHY
   ========================================================== */

.rks-accent-text,
.rks-accent-text .elementor-heading-title,
.rks-accent-text .elementor-widget-container {

    font-family: var(--rks-font-accent) !important;

    font-weight: 300 !important;

    letter-spacing: -0.015em !important;
}


/* ==========================================================
   21. FONT FAMILY UTILITIES
   ========================================================== */

.rks-font-primary,
.rks-font-primary * {
    font-family: var(--rks-font-primary) !important;
}


.rks-font-secondary,
.rks-font-secondary * {
    font-family: var(--rks-font-secondary) !important;
}


.rks-font-body,
.rks-font-body * {
    font-family: var(--rks-font-body) !important;
}


.rks-font-ui,
.rks-font-ui * {
    font-family: var(--rks-font-ui) !important;
}


.rks-font-accent,
.rks-font-accent * {
    font-family: var(--rks-font-accent) !important;
}


/* ==========================================================
   22. FONT WEIGHT UTILITIES
   ========================================================== */

.rks-light,
.rks-light * {
    font-weight: 300 !important;
}


.rks-regular,
.rks-regular * {
    font-weight: 400 !important;
}


.rks-medium,
.rks-medium * {
    font-weight: 500 !important;
}


.rks-semibold,
.rks-semibold * {
    font-weight: 600 !important;
}


.rks-bold,
.rks-bold * {
    font-weight: 700 !important;
}


/* ==========================================================
   23. TEXT COLORS
   ========================================================== */

.rks-text-teal,
.rks-text-teal *,
.rks-text-teal .elementor-heading-title {

    color: var(--rks-teal) !important;
}


.rks-text-navy,
.rks-text-navy *,
.rks-text-navy .elementor-heading-title {

    color: var(--rks-navy) !important;
}


.rks-text-black,
.rks-text-black *,
.rks-text-black .elementor-heading-title {

    color: var(--rks-black) !important;
}


.rks-text-white,
.rks-text-white *,
.rks-text-white .elementor-heading-title {

    color: var(--rks-white) !important;
}


.rks-text-body,
.rks-text-body * {

    color: var(--rks-text-body) !important;
}


.rks-text-muted,
.rks-text-muted * {

    color: var(--rks-text-muted) !important;
}


/* ==========================================================
   24. BACKGROUND COLORS
   ========================================================== */

.rks-bg-teal {
    background-color: var(--rks-teal) !important;
}


.rks-bg-navy {
    background-color: var(--rks-navy) !important;
}


.rks-bg-black {
    background-color: var(--rks-black) !important;
}


.rks-bg-white {
    background-color: var(--rks-white) !important;
}


.rks-bg-soft {
    background-color: var(--rks-background-soft) !important;
}


.rks-bg-teal-soft {
    background-color: var(--rks-teal-soft) !important;
}


.rks-bg-teal-ultra-soft {
    background-color: var(--rks-teal-ultra-soft) !important;
}


.rks-bg-navy-soft {
    background-color: var(--rks-navy-soft) !important;
}


/* ==========================================================
   25. SECTION THEMES
   ========================================================== */

.rks-theme-light {

    background-color: var(--rks-white) !important;

    color: var(--rks-navy);
}


.rks-theme-navy {

    background-color: var(--rks-navy) !important;

    color: var(--rks-white);
}


.rks-theme-navy h1,
.rks-theme-navy h2,
.rks-theme-navy h3,
.rks-theme-navy h4,
.rks-theme-navy h5,
.rks-theme-navy h6,
.rks-theme-navy .elementor-heading-title {

    color: var(--rks-white) !important;
}


.rks-theme-navy p {

    color: rgba(255,255,255,0.78) !important;
}


.rks-theme-teal {

    background-color: var(--rks-teal) !important;

    color: var(--rks-navy);
}


.rks-theme-teal h1,
.rks-theme-teal h2,
.rks-theme-teal h3,
.rks-theme-teal h4,
.rks-theme-teal h5,
.rks-theme-teal h6,
.rks-theme-teal .elementor-heading-title {

    color: var(--rks-navy) !important;
}


.rks-theme-black {

    background-color: var(--rks-black) !important;

    color: var(--rks-white);
}


.rks-theme-black h1,
.rks-theme-black h2,
.rks-theme-black h3,
.rks-theme-black h4,
.rks-theme-black h5,
.rks-theme-black h6,
.rks-theme-black .elementor-heading-title {

    color: var(--rks-white) !important;
}


.rks-theme-black p {

    color: rgba(255,255,255,0.76) !important;
}


/* ==========================================================
   26. LINKS
   ========================================================== */

a {

    color: var(--rks-navy);

    text-decoration: none;

    transition: color 0.25s ease;
}


a:hover {

    color: var(--rks-teal);
}


/* ==========================================================
   27. SELECTION
   ========================================================== */

::selection {

    background: var(--rks-teal);

    color: var(--rks-navy);
}


/* ==========================================================
   28. ACCESSIBILITY
   ========================================================== */

:focus-visible {

    outline: 2px solid var(--rks-teal);

    outline-offset: 3px;
}


/* ==========================================================
   RKS MASTER TYPOGRAPHY SYSTEM END
   ========================================================== *//* End custom CSS */