.elementor-kit-7{--e-global-color-primary:#123B63;--e-global-color-secondary:#D0A84A;--e-global-color-text:#222222;--e-global-color-accent:#FFFFFF;--e-global-color-5586bf4:#F5F7FA;--e-global-color-0667793:#EAF1F7;--e-global-color-e7fcf54:#C39A38;--e-global-typography-primary-font-family:"Archivo Narrow";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Source Sans 3";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Source Sans 3";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Source Sans 3";--e-global-typography-accent-font-weight:700;--e-global-typography-81d2f98-font-family:"Source Sans 3";--e-global-typography-81d2f98-font-size:0.8125rem;--e-global-typography-81d2f98-font-weight:700;--e-global-typography-81d2f98-text-transform:uppercase;--e-global-typography-81d2f98-line-height:1.2em;--e-global-typography-81d2f98-letter-spacing:0.12em;--e-global-typography-bc6eccb-font-family:"Source Sans 3";--e-global-typography-bc6eccb-font-size:1.375rem;--e-global-typography-bc6eccb-font-weight:400;--e-global-typography-737ac5c-font-family:"Source Sans 3";--e-global-typography-737ac5c-font-size:1rem;--e-global-typography-737ac5c-font-weight:700;--e-global-typography-737ac5c-text-transform:uppercase;--e-global-typography-ce3914f-font-family:"Source Sans 3";--e-global-typography-ce3914f-font-size:0.875rem;--e-global-typography-ce3914f-font-weight:400;--e-global-typography-ce3914f-line-height:1.5em;--e-global-typography-02fcf01-font-family:"Source Sans 3";--e-global-typography-02fcf01-font-size:0.9375rem;--e-global-typography-02fcf01-font-weight:600;--e-global-typography-02fcf01-line-height:1.2em;--e-global-typography-ca2acf5-font-family:"Source Sans 3";--e-global-typography-ca2acf5-font-size:1rem;--e-global-typography-ca2acf5-font-weight:600;--e-global-typography-ca2acf5-text-transform:uppercase;--e-global-typography-ca2acf5-line-height:1em;color:var( --e-global-color-text );font-family:"Source Sans 3", Sans-serif;font-size:1.125rem;font-weight:400;line-height:1.62em;letter-spacing:0px;}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{background-color:var( --e-global-color-secondary );font-family:var( --e-global-typography-737ac5c-font-family ), Sans-serif;font-size:var( --e-global-typography-737ac5c-font-size );font-weight:var( --e-global-typography-737ac5c-font-weight );text-transform:var( --e-global-typography-737ac5c-text-transform );line-height:var( --e-global-typography-737ac5c-line-height );color:var( --e-global-color-primary );border-style:solid;border-color:var( --e-global-color-secondary );border-radius:10px 10px 10px 10px;}.elementor-kit-7 button:hover,.elementor-kit-7 button:focus,.elementor-kit-7 input[type="button"]:hover,.elementor-kit-7 input[type="button"]:focus,.elementor-kit-7 input[type="submit"]:hover,.elementor-kit-7 input[type="submit"]:focus,.elementor-kit-7 .elementor-button:hover,.elementor-kit-7 .elementor-button:focus{background-color:var( --e-global-color-accent );color:var( --e-global-color-primary );border-style:solid;border-color:var( --e-global-color-secondary );}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-kit-7 a{color:#123B63;}.elementor-kit-7 a:hover{color:#0B2B48;}.elementor-kit-7 h1{font-family:"Archivo Narrow", Sans-serif;font-size:5rem;font-weight:700;letter-spacing:-0.015em;}.elementor-kit-7 h2{font-family:"Archivo Narrow", Sans-serif;font-size:4rem;font-weight:700;line-height:0.96em;letter-spacing:-0.01em;}.elementor-kit-7 h3{font-family:"Archivo Narrow", Sans-serif;font-size:2.75rem;font-weight:700;line-height:1em;letter-spacing:0em;}.elementor-kit-7 h4{font-family:"Source Sans 3", Sans-serif;font-size:1.875rem;font-weight:700;}.elementor-kit-7 h5{font-family:"Source Sans 3", Sans-serif;font-size:1.375rem;font-weight:700;}.elementor-kit-7 h6{font-family:"Source Sans 3", Sans-serif;font-size:1.125rem;font-weight:700;}.e-con{--container-default-padding-top:0px;--container-default-padding-right:32px;--container-default-padding-bottom:0px;--container-default-padding-left:32px;}.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:1366px){.elementor-kit-7{--e-global-typography-81d2f98-font-size:0.75rem;--e-global-typography-bc6eccb-font-size:1.3125rem;--e-global-typography-bc6eccb-line-height:1.5em;--e-global-typography-737ac5c-font-size:0.9375rem;--e-global-typography-737ac5c-line-height:1.1em;--e-global-typography-ce3914f-font-size:0.875rem;--e-global-typography-ce3914f-line-height:1.5em;--e-global-typography-02fcf01-line-height:1.2em;font-size:1.0625rem;}.elementor-kit-7 h1{font-size:4.5rem;}.elementor-kit-7 h2{font-size:3.5rem;}.elementor-kit-7 h3{font-size:2.5rem;}.elementor-kit-7 h4{font-size:1.75rem;}.elementor-kit-7 h5{font-size:1.375rem;}.elementor-kit-7 h6{font-size:1.125rem;}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{font-size:var( --e-global-typography-737ac5c-font-size );line-height:var( --e-global-typography-737ac5c-line-height );border-width:1px 1px 1px 1px;padding:1rem 1.5rem 1rem 1.5rem;}.elementor-kit-7 button:hover,.elementor-kit-7 button:focus,.elementor-kit-7 input[type="button"]:hover,.elementor-kit-7 input[type="button"]:focus,.elementor-kit-7 input[type="submit"]:hover,.elementor-kit-7 input[type="submit"]:focus,.elementor-kit-7 .elementor-button:hover,.elementor-kit-7 .elementor-button:focus{border-width:1px 1px 1px 1px;}.e-con{--container-default-padding-top:0px;--container-default-padding-right:24px;--container-default-padding-bottom:0px;--container-default-padding-left:24px;}}@media(max-width:1200px){.elementor-kit-7{--e-global-typography-81d2f98-font-size:0.75rem;--e-global-typography-bc6eccb-font-size:1.25rem;--e-global-typography-737ac5c-font-size:0.9375rem;--e-global-typography-ce3914f-font-size:0.875rem;font-size:1.0625rem;}.elementor-kit-7 h1{font-size:4rem;}.elementor-kit-7 h3{font-size:2.25rem;}.elementor-kit-7 h4{font-size:1.625rem;}.elementor-kit-7 h5{font-size:1.3125rem;}.elementor-kit-7 h6{font-size:1.0625rem;}.e-con{--container-default-padding-top:0px;--container-default-padding-right:24px;--container-default-padding-bottom:0px;--container-default-padding-left:24px;}}@media(max-width:1024px){.elementor-kit-7{--e-global-typography-81d2f98-font-size:0.75rem;--e-global-typography-bc6eccb-font-size:1.25rem;--e-global-typography-737ac5c-font-size:0.9375rem;--e-global-typography-ce3914f-font-size:0.875rem;font-size:1.0625rem;}.elementor-kit-7 h1{font-size:3.75em;}.elementor-kit-7 h2{font-size:3rem;}.elementor-kit-7 h3{font-size:2.125rem;}.elementor-kit-7 h4{font-size:1.5rem;}.elementor-kit-7 h6{font-size:1rem;}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{font-size:var( --e-global-typography-737ac5c-font-size );line-height:var( --e-global-typography-737ac5c-line-height );}.e-con{--container-default-padding-top:0px;--container-default-padding-right:24px;--container-default-padding-bottom:0px;--container-default-padding-left:24px;}}@media(max-width:880px){.elementor-kit-7{--e-global-typography-81d2f98-font-size:0.75rem;--e-global-typography-bc6eccb-font-size:1.1875rem;--e-global-typography-737ac5c-font-size:0.9375rem;--e-global-typography-ce3914f-font-size:0.875rem;--e-global-typography-02fcf01-font-size:0.9375rem;font-size:1.0625rem;}.elementor-kit-7 h1{font-size:3.25em;}.elementor-kit-7 h2{font-size:2.75rem;}.elementor-kit-7 h3{font-size:2rem;}.elementor-kit-7 h4{font-size:1.5rem;}.elementor-kit-7 h5{font-size:1.25rem;}.elementor-kit-7 h6{font-size:1rem;}.e-con{--container-default-padding-top:0px;--container-default-padding-right:20px;--container-default-padding-bottom:0px;--container-default-padding-left:20px;}}@media(max-width:767px){.elementor-kit-7{--e-global-typography-81d2f98-font-size:0.75rem;--e-global-typography-81d2f98-line-height:0.75em;--e-global-typography-bc6eccb-font-size:1.125rem;--e-global-typography-737ac5c-font-size:0.9375em;--e-global-typography-02fcf01-font-size:0.9375rem;font-size:1.0625rem;}.elementor-kit-7 h1{font-size:2.875em;}.elementor-kit-7 h2{font-size:2.5rem;}.elementor-kit-7 h3{font-size:1.875rem;}.elementor-kit-7 h4{font-size:1.5rem;}.elementor-kit-7 h5{font-size:1.25rem;}.elementor-kit-7 h6{font-size:1rem;}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{font-size:var( --e-global-typography-737ac5c-font-size );line-height:var( --e-global-typography-737ac5c-line-height );}.e-con{--container-default-padding-top:0px;--container-default-padding-right:20px;--container-default-padding-bottom:0px;--container-default-padding-left:20px;}}@media(min-width:2400px){.elementor-kit-7{--e-global-typography-81d2f98-font-size:0.8125rem;--e-global-typography-bc6eccb-font-size:1.5rem;--e-global-typography-ce3914f-font-size:0.875rem;font-size:1.125rem;}.elementor-kit-7 h1{font-size:5.5rem;}.elementor-kit-7 h2{font-size:4.25rem;}.elementor-kit-7 h3{font-size:3rem;}.elementor-kit-7 h4{font-size:2rem;}.elementor-kit-7 h5{font-size:1.5rem;}.elementor-kit-7 h6{font-size:1.125rem;}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{font-size:var( --e-global-typography-737ac5c-font-size );line-height:var( --e-global-typography-737ac5c-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;--container-default-padding-top:0px;--container-default-padding-right:32px;--container-default-padding-bottom:0px;--container-default-padding-left:32px;}}/* Start custom CSS *//* ==========================================================
   THERMOBILE — ELEMENTOR GLOBAL CSS
   Version 2
   Approved brand:
   Navy       #123B63
   Gold       #D0A84A
   Charcoal   #222222
   White      #FFFFFF
   Off-White  #F5F7FA
   Tint       #EAF1F7

   IMPORTANT:
   Elementor Site Settings should own horizontal container gutters.
   This stylesheet owns section rhythm, editorial links, focus,
   utility classes, and a few component-level safeguards.
   ========================================================== */

:root {
    --tm-navy: #123B63;
    --tm-gold: #D0A84A;
    --tm-charcoal: #222222;
    --tm-white: #FFFFFF;
    --tm-offwhite: #F5F7FA;
    --tm-tint: #EAF1F7;

    --tm-navy-hover: #0B2B48;
    --tm-gold-hover: #C39A38;
    --tm-gold-light: #E2C97B;
    --tm-line: #D8E0E7;
    --tm-muted: #637587;
    --tm-focus: #7AA7D1;

    --tm-content: 75rem;      /* 1200px */
    --tm-wide: 85rem;         /* 1360px */
    --tm-reading: 47.5rem;    /* 760px */

    --tm-radius-control: 0.625rem; /* 10px */
    --tm-radius-card: 0.875rem;    /* 14px */
    --tm-radius-image: 1.125rem;   /* 18px */
}

/* Keep REM calculations predictable. */
html {
    font-size: 100%;
    scroll-behavior: smooth;
}

/* Better anchor positioning beneath the sticky header. */
[id] {
    scroll-margin-top: 7rem;
}

/* Selection follows the brand without sacrificing contrast. */
::selection {
    background: var(--tm-gold);
    color: var(--tm-navy);
}


/* =========================================
   STANDARD SECTION RHYTHM
   Horizontal gutters come from Elementor
   Site Settings > Layout > Container Padding.
   ========================================= */

.thermobile-section {
    padding-top: 6rem;      /* 96px */
    padding-bottom: 7.5rem; /* 120px */
}

/* Widescreen: 2400px+ */
@media (min-width: 2400px) {
    .thermobile-section {
        padding-top: 7.5rem;  /* 120px */
        padding-bottom: 9rem; /* 144px */
    }
}

/* Laptop: 1201–1366px */
@media (min-width: 1201px) and (max-width: 1366px) {
    .thermobile-section {
        padding-top: 5rem;    /* 80px */
        padding-bottom: 6rem; /* 96px */
    }
}

/* Tablet Landscape: 1025–1200px */
@media (min-width: 1025px) and (max-width: 1200px) {
    .thermobile-section {
        padding-top: 4.5rem;      /* 72px */
        padding-bottom: 5.5rem;   /* 88px */
    }
}

/* Tablet Portrait: 881–1024px */
@media (min-width: 881px) and (max-width: 1024px) {
    .thermobile-section {
        padding-top: 4rem;    /* 64px */
        padding-bottom: 5rem; /* 80px */
    }
}

/* Mobile Landscape: 768–880px */
@media (min-width: 768px) and (max-width: 880px) {
    .thermobile-section {
        padding-top: 3.5rem;      /* 56px */
        padding-bottom: 4.5rem;   /* 72px */
    }
}

/* Mobile Portrait: <=767px */
@media (max-width: 767px) {
    .thermobile-section {
        padding-top: 3rem;    /* 48px */
        padding-bottom: 4rem; /* 64px */
    }
}


/* =========================================
   OPTIONAL SECTION MODIFIERS
   ========================================= */

/* Use for denser sections such as proof strips, FAQ,
   small intro bands, or compact supporting information. */
.thermobile-section--compact {
    padding-top: 4rem;
    padding-bottom: 4rem;
}

@media (max-width: 1024px) {
    .thermobile-section--compact {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }
}

@media (max-width: 767px) {
    .thermobile-section--compact {
        padding-top: 2.5rem;
        padding-bottom: 2.5rem;
    }
}

/* Full-width section with controlled inner widths. */
.thermobile-content {
    width: 100%;
    max-width: var(--tm-content);
    margin-inline: auto;
}

.thermobile-content--wide {
    width: 100%;
    max-width: var(--tm-wide);
    margin-inline: auto;
}

.thermobile-reading {
    width: 100%;
    max-width: var(--tm-reading);
}


/* =========================================
   GLOBAL PARAGRAPH SPACING
   Keep Elementor Theme Style paragraph spacing at 0.
   This rule becomes the single source of truth.
   ========================================= */

.elementor-widget-text-editor p,
.elementor-widget-theme-post-content p,
.entry-content p,
.wp-block-post-content p {
    margin-top: 0;
    margin-bottom: 1.25em;
}

.elementor-widget-text-editor p:last-child,
.elementor-widget-theme-post-content p:last-child,
.entry-content p:last-child,
.wp-block-post-content p:last-child {
    margin-bottom: 0;
}


/* =========================================
   EDITORIAL TEXT-LINK CTA
   Replaces the Alumascape utility.
   ========================================= */

.thermobile-text-link,
.thermobile-text-link .uc_border_link_hover_effects {
    margin-left: 0 !important;
    padding-left: 0 !important;
    text-align: left !important;
}

.thermobile-text-link .uc_border_link_hover_effects a {
    min-height: 3rem;
    margin-left: 0 !important;
    padding-left: 0 !important;
    display: inline-flex !important;
    align-items: center;
}

.thermobile-text-link .uc_border_link_hover_effects a > span {
    margin-left: 0 !important;
    padding-left: 0 !important;
}


/* =========================================
   INLINE LINKS — LIGHT SECTIONS
   Gold is NOT used as normal-size text on
   light backgrounds because contrast is too low.
   ========================================= */

.light-section .elementor-widget-text-editor a,
.light-section .elementor-widget-theme-post-content a,
.light-section .entry-content a,
.light-section .wp-block-post-content a {
    color: var(--tm-navy);
    text-decoration-line: underline;
    text-decoration-color: var(--tm-gold);
    text-decoration-thickness: 0.0625rem;
    text-underline-offset: 0.18em;
    text-decoration-skip-ink: auto;
    transition:
        color 0.2s ease,
        text-decoration-thickness 0.2s ease,
        text-decoration-color 0.2s ease;
}

.light-section .elementor-widget-text-editor a:hover,
.light-section .elementor-widget-text-editor a:focus-visible,
.light-section .elementor-widget-theme-post-content a:hover,
.light-section .elementor-widget-theme-post-content a:focus-visible,
.light-section .entry-content a:hover,
.light-section .entry-content a:focus-visible,
.light-section .wp-block-post-content a:hover,
.light-section .wp-block-post-content a:focus-visible {
    color: var(--tm-navy-hover);
    text-decoration-color: var(--tm-gold-hover);
    text-decoration-thickness: 0.125rem;
}


/* =========================================
   INLINE LINKS — DARK NAVY SECTIONS
   Gold on #123B63 passes normal-text contrast.
   ========================================= */

.dark-section .elementor-widget-text-editor a,
.dark-section .elementor-widget-theme-post-content a,
.dark-section .entry-content a,
.dark-section .wp-block-post-content a {
    color: var(--tm-gold);
    text-decoration-line: underline;
    text-decoration-thickness: 0.0625rem;
    text-underline-offset: 0.18em;
    text-decoration-skip-ink: auto;
    transition:
        color 0.2s ease,
        text-decoration-thickness 0.2s ease;
}

.dark-section .elementor-widget-text-editor a:hover,
.dark-section .elementor-widget-text-editor a:focus-visible,
.dark-section .elementor-widget-theme-post-content a:hover,
.dark-section .elementor-widget-theme-post-content a:focus-visible,
.dark-section .entry-content a:hover,
.dark-section .entry-content a:focus-visible,
.dark-section .wp-block-post-content a:hover,
.dark-section .wp-block-post-content a:focus-visible {
    color: var(--tm-gold-light);
    text-decoration-thickness: 0.125rem;
}


/* =========================================
   KEYBOARD FOCUS
   ========================================= */

.light-section a:focus-visible,
.dark-section a:focus-visible,
.elementor-button:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 0.125rem solid currentColor;
    outline-offset: 0.1875rem;
}


/* =========================================
   PRIMARY BUTTON SAFEGUARDS
   Theme Style should already define these,
   but this keeps user-created Elementor buttons
   visually consistent.
   ========================================= */

.elementor-button {
    min-height: 3.25rem; /* 52px */
    border-radius: var(--tm-radius-control);
}

.elementor-button:hover,
.elementor-button:focus-visible {
    text-decoration: none;
}


/* Secondary button utility */
.thermobile-button-secondary .elementor-button {
    color: var(--tm-navy) !important;
    background: transparent !important;
    border: 0.0625rem solid var(--tm-navy) !important;
}

.thermobile-button-secondary .elementor-button:hover,
.thermobile-button-secondary .elementor-button:focus-visible {
    color: var(--tm-white) !important;
    background: var(--tm-navy) !important;
    border-color: var(--tm-navy) !important;
}


/* =========================================
   IMAGE / MEDIA UTILITIES
   ========================================= */

.thermobile-image-radius img,
.thermobile-image-radius picture,
.thermobile-image-radius video {
    border-radius: var(--tm-radius-image);
    overflow: hidden;
}

/* Keep project/service media large enough to feel intentional on mobile. */
@media (max-width: 767px) {
    .thermobile-mobile-media img {
        width: 100%;
        min-height: 18rem;
        object-fit: cover;
    }
}


/* =========================================
   LIST / ROW TAP SAFETY
   Add this class to rows that are fully clickable.
   ========================================= */

.thermobile-tap-row {
    min-height: 3.5rem; /* 56px */
}


/* =========================================
   DISPLAY HEADING UTILITY
   Do NOT globally force all H1/H2/H3 uppercase.
   Use this on marketing/display headings only.
   ========================================= */

.thermobile-display-uppercase,
.thermobile-display-uppercase .elementor-heading-title {
    text-transform: uppercase;
}


/* =========================================
   REDUCED MOTION
   ========================================= */

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.001ms !important;
    }
}/* End custom CSS */