.elementor-kit-7{--e-global-color-primary:#1C8D93;--e-global-color-secondary:#0C3E40;--e-global-color-text:#0D141A;--e-global-color-accent:#1C8D93;--e-global-color-b5aeb33:#eeeef0;--e-global-color-c58817e:#0c3e40;--e-global-color-5420d44:#1c8d93;--e-global-color-58be983:#ffffff;--e-global-color-09cc561:#0d141a;--e-global-color-a495fd4:#B8C0CC;--e-global-color-dff8941:#A8BFE4;--e-global-color-a7b8c9d:#ffffff;--e-global-color-b1c2d3e:#000000;--e-global-typography-primary-font-family:"Manrope";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Manrope";--e-global-typography-secondary-font-weight:500;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.5px;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-weight:600;--e-global-typography-5535e8e-font-family:"Manrope";--e-global-typography-5535e8e-font-size:3rem;--e-global-typography-5535e8e-font-weight:700;--e-global-typography-c83476d-font-family:"Manrope";--e-global-typography-c83476d-font-size:2.5rem;--e-global-typography-c83476d-font-weight:bold;--e-global-typography-ff8f921-font-family:"Manrope";--e-global-typography-ff8f921-font-size:2.3rem;--e-global-typography-ff8f921-font-weight:400;--e-global-typography-887fca2-font-family:"Inter";--e-global-typography-887fca2-font-size:1rem;--e-global-typography-887fca2-font-weight:400;--e-global-typography-887fca2-line-height:1.5px;--e-global-typography-2142591-font-family:"Inter";--e-global-typography-2142591-font-size:1rem;--e-global-typography-2142591-font-weight:600;--e-global-typography-2142591-line-height:1.5px;--e-global-typography-6e52843-font-family:"Inter";--e-global-typography-6e52843-font-size:1rem;--e-global-typography-6e52843-font-weight:600;--e-global-typography-6e52843-line-height:1.5px;font-family:var( --e-global-typography-5535e8e-font-family ), Sans-serif;font-size:var( --e-global-typography-5535e8e-font-size );font-weight:var( --e-global-typography-5535e8e-font-weight );}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-kit-7 h1{font-family:var( --e-global-typography-5535e8e-font-family ), Sans-serif;font-size:var( --e-global-typography-5535e8e-font-size );font-weight:var( --e-global-typography-5535e8e-font-weight );}.elementor-kit-7 h2{font-family:var( --e-global-typography-c83476d-font-family ), Sans-serif;font-size:var( --e-global-typography-c83476d-font-size );font-weight:var( --e-global-typography-c83476d-font-weight );}.elementor-kit-7 h3{font-family:var( --e-global-typography-ff8f921-font-family ), Sans-serif;font-size:var( --e-global-typography-ff8f921-font-size );font-weight:var( --e-global-typography-ff8f921-font-weight );}.elementor-kit-7 h4{font-family:"Montserrat", Sans-serif;}.elementor-kit-7 h5{font-family:"Montserrat", Sans-serif;}.elementor-kit-7 h6{font-family:"Montserrat", Sans-serif;}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{font-family:"DMSans", Sans-serif;}.elementor-kit-7 img{border-radius:8px 8px 8px 8px;}.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;}{}.entry-title, .wp-block-post-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-7{font-size:var( --e-global-typography-5535e8e-font-size );}.elementor-kit-7 h1{font-size:var( --e-global-typography-5535e8e-font-size );}.elementor-kit-7 h2{font-size:var( --e-global-typography-c83476d-font-size );}.elementor-kit-7 h3{font-size:var( --e-global-typography-ff8f921-font-size );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-7{--e-global-typography-c83476d-font-size:1.9rem;--e-global-typography-ff8f921-font-size:1.9rem;font-size:var( --e-global-typography-5535e8e-font-size );}.elementor-kit-7 h1{font-size:var( --e-global-typography-5535e8e-font-size );}.elementor-kit-7 h2{font-size:var( --e-global-typography-c83476d-font-size );}.elementor-kit-7 h3{font-size:var( --e-global-typography-ff8f921-font-size );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;--container-default-padding-top:1rem;--container-default-padding-right:1rem;--container-default-padding-bottom:1rem;--container-default-padding-left:1rem;}}
/* Start custom CSS *//* =========================================================
   FRESHFITS DIGITAL — MASTER CSS
   Version 4.2
   ========================================================= */


/* =========================================================
   01 — DESIGN SYSTEM
   ========================================================= */

:root {
    --ff-ink: #10282B;
    --ff-ink-soft: #40575A;

    --ff-teal: #0E5A5C;
    --ff-teal-dark: #083F41;
    --ff-teal-light: #2A8587;

    --ff-white: #FFFFFF;
    --ff-offwhite: #F7F9F8;
    --ff-gray: #EEF2F1;
    --ff-line: #D9E2E1;

    --ff-max: 1240px;

    --ff-radius: 6px;
    --ff-radius-small: 4px;
}


/* =========================================================
   02 — GLOBAL
   ========================================================= */

html {
    scroll-behavior: smooth;
}

body {
    font-family: "Manrope", sans-serif;
    color: var(--ff-ink);
    background: var(--ff-white);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    overflow-x: hidden;
}

a {
    transition:
        color 0.25s ease,
        background-color 0.25s ease,
        border-color 0.25s ease,
        opacity 0.25s ease;
}


/* =========================================================
   03 — HEADER
   ========================================================= */

header,
.elementor-location-header {
    position: relative;
    z-index: 1000;
}

.elementor-location-header .elementor-nav-menu a {
    font-family: "Manrope", sans-serif;
    font-weight: 600;
    letter-spacing: -0.01em;
}

.elementor-location-header .elementor-nav-menu a:hover {
    color: var(--ff-teal) !important;
}


/* Remove Elementor's unwanted dropdown indicator */

.elementor-location-header
.elementor-nav-menu
.elementor-item.has-submenu
.elementor-item-anchor::after {
    display: none !important;
}


/* =========================================================
   04 — BUTTONS
   ========================================================= */

.elementor-button {
    font-family: "Manrope", sans-serif;

    font-weight: 700;
    letter-spacing: -0.01em;

    background: var(--ff-teal) !important;
    color: var(--ff-white) !important;

    border-radius: var(--ff-radius-small) !important;

    padding: 15px 27px !important;

    transition:
        transform 0.2s ease,
        background-color 0.2s ease,
        box-shadow 0.2s ease;
}

.elementor-button:hover {
    background: var(--ff-teal-dark) !important;
    transform: translateY(-2px);
}


/* =========================================================
   05 — HOME HERO
   ========================================================= */

/*
   HERO TYPOGRAPHY
   Keep this exactly in the direction Jimmy approved.
*/

body.home
.elementor-widget-heading:has(h1)
h1 {

    font-family: "Manrope", sans-serif;

    font-size: clamp(46px, 5vw, 62px) !important;

    line-height: 1.03 !important;

    font-weight: 700 !important;

    letter-spacing: -0.045em !important;

    color: #FFFFFF !important;

    margin: 0 !important;
}


/* Hero supporting text */

body.home
.elementor-widget-heading:has(h1)
~ .elementor-widget-text-editor
p {

    font-family: "Manrope", sans-serif;

    font-size: 18px !important;

    line-height: 1.7 !important;

    font-weight: 400 !important;

    color: #FFFFFF !important;

    max-width: 690px;

    margin-top: 24px !important;
}


/* Hero CTA */

body.home
.elementor-widget-heading:has(h1)
~ .elementor-widget-button {

    margin-top: 30px;
}


/* =========================================================
   06 — SERVICES
   ========================================================= */

/*
   The existing Elementor styling is creating teal cards.
   We are stripping that visual treatment completely.

   Services are treated as an editorial section:
   - white background
   - no cards
   - no shadows
   - no rounded corners
   - three columns
   - subtle dividers
*/


/* Give the service Grid a clean white section */

body.home
.elementor-grid {

    position: relative !important;

    width: 100% !important;

    margin: 0 !important;

    padding: 0 !important;

    transform: none !important;

    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;

    z-index: 2 !important;
}


/*
   Service columns are text-only containers.
   This avoids disturbing image-based grids farther down
   the page.
*/

body.home
.elementor-grid
> .elementor-element:not(:has(.elementor-widget-image)) {

    position: relative !important;

    background: #FFFFFF !important;
    background-color: #FFFFFF !important;

    border: 0 !important;
    border-radius: 0 !important;

    box-shadow: none !important;

    padding: 54px 42px 58px !important;

    margin: 0 !important;

    transform: none !important;

    min-height: 190px !important;
}


/* Remove backgrounds from all nested service containers */

body.home
.elementor-grid
> .elementor-element:not(:has(.elementor-widget-image))
.elementor-element {

    background: transparent !important;
    background-color: transparent !important;

    border: 0 !important;
    border-radius: 0 !important;

    box-shadow: none !important;
}


/* Service divider */

body.home
.elementor-grid
> .elementor-element:not(:has(.elementor-widget-image))
:not(:last-child)::after {

    content: "";

    position: absolute;

    top: 54px;
    right: 0;

    width: 1px;

    height: calc(100% - 108px);

    background: var(--ff-line);

    z-index: 5;
}


/* Teal accent */

body.home
.elementor-grid
> .elementor-element:not(:has(.elementor-widget-image))
::before {

    content: "";

    display: block;

    width: 34px;

    height: 3px;

    background: var(--ff-teal);

    margin-bottom: 25px;
}


/* Service titles */

body.home
.elementor-grid
> .elementor-element:not(:has(.elementor-widget-image))
.elementor-widget-heading
h2,

body.home
.elementor-grid
> .elementor-element:not(:has(.elementor-widget-image))
.elementor-widget-heading
h3 {

    font-family: "Manrope", sans-serif;

    font-size: 24px !important;

    line-height: 1.25 !important;

    font-weight: 700 !important;

    letter-spacing: -0.025em !important;

    color: var(--ff-ink) !important;

    margin: 0 0 14px !important;
}


/* Service descriptions */

body.home
.elementor-grid
> .elementor-element:not(:has(.elementor-widget-image))
.elementor-widget-text-editor
p {

    font-family: "Manrope", sans-serif;

    font-size: 16px !important;

    line-height: 1.75 !important;

    font-weight: 400 !important;

    color: var(--ff-ink-soft) !important;

    margin: 0 !important;

    max-width: 360px;
}


/* =========================================================
   07 — LOWER HOME CONTENT
   ========================================================= */

/*
   Force normal body copy back to dark text.
   This fixes the white/washed-out Digital Made Simple copy.
*/

body.home
.elementor-widget-text-editor
p {

    font-family: "Manrope", sans-serif;

    font-size: 16px;

    line-height: 1.75;

    font-weight: 400;

    color: var(--ff-ink-soft) !important;
}


/* Hero paragraph gets its white color back */

body.home
.elementor-widget-heading:has(h1)
~ .elementor-widget-text-editor
p {

    color: #FFFFFF !important;
}


/* Lower-page headings */

body.home
.elementor-widget-heading
h2 {

    font-family: "Manrope", sans-serif;

    color: var(--ff-ink) !important;

    font-weight: 700;

    letter-spacing: -0.035em;
}


/* =========================================================
   08 — IMAGES
   ========================================================= */

body.home img,
body.page img {

    max-width: 100%;
    height: auto;
}

body.home
.elementor-widget-image
img {

    display: block;

    border-radius: var(--ff-radius);

    object-fit: cover;
}


/* =========================================================
   09 — GENERAL PAGE HEADINGS
   ========================================================= */

body.page
.elementor-widget-heading
h1 {

    font-family: "Manrope", sans-serif;

    font-weight: 700;

    letter-spacing: -0.04em;

    color: var(--ff-ink);
}

body.page
.elementor-widget-heading
h2 {

    font-family: "Manrope", sans-serif;

    font-weight: 700;

    letter-spacing: -0.035em;

    color: var(--ff-ink);
}


/* =========================================================
   10 — FAQ
   ========================================================= */

.elementor-accordion {

    border-top: 1px solid var(--ff-line);
}

.elementor-accordion
.elementor-tab-title {

    font-family: "Manrope", sans-serif;

    font-size: 18px !important;

    font-weight: 600 !important;

    color: var(--ff-ink) !important;

    border-bottom: 1px solid var(--ff-line) !important;

    padding: 22px 0 !important;
}

.elementor-accordion
.elementor-tab-content {

    font-family: "Manrope", sans-serif;

    font-size: 16px !important;

    line-height: 1.75 !important;

    color: var(--ff-ink-soft) !important;

    border-bottom: 1px solid var(--ff-line) !important;

    padding: 0 0 24px !important;
}


/* =========================================================
   11 — FORMS
   ========================================================= */

.elementor-field {

    font-family: "Manrope", sans-serif;

    border: 1px solid var(--ff-line) !important;

    border-radius: var(--ff-radius-small) !important;

    background: var(--ff-white) !important;

    color: var(--ff-ink) !important;
}

.elementor-field:focus {

    border-color: var(--ff-teal) !important;

    box-shadow: 0 0 0 2px rgba(14, 90, 92, 0.08) !important;
}


/* =========================================================
   12 — FOOTER
   ========================================================= */

footer,
.elementor-location-footer {

    color: var(--ff-white);
}

.elementor-location-footer a {
    color: inherit;
}

.elementor-location-footer a:hover {
    color: var(--ff-teal-light);
}


/* =========================================================
   13 — TABLET
   ========================================================= */

@media (max-width: 1024px) {

    body.home
    .elementor-widget-heading:has(h1)
    h1 {

        font-size: clamp(42px, 7vw, 54px) !important;
    }


    body.home
    .elementor-grid
    > .elementor-element:not(:has(.elementor-widget-image)) {

        padding: 44px 30px 48px !important;
    }
}


/* =========================================================
   14 — MOBILE
   ========================================================= */

@media (max-width: 767px) {

    body.home
    .elementor-widget-heading:has(h1)
    h1 {

        font-size: 42px !important;

        line-height: 1.05 !important;

        letter-spacing: -0.04em !important;
    }


    body.home
    .elementor-widget-heading:has(h1)
    ~ .elementor-widget-text-editor
    p {

        font-size: 17px !important;

        line-height: 1.7 !important;

        margin-top: 20px !important;
    }


    body.home
    .elementor-grid {

        display: grid !important;

        grid-template-columns: 1fr !important;
    }


    body.home
    .elementor-grid
    > .elementor-element:not(:has(.elementor-widget-image)) {

        padding: 42px 24px !important;

        min-height: 0 !important;

        border-bottom: 1px solid var(--ff-line) !important;
    }


    body.home
    .elementor-grid
    > .elementor-element:not(:has(.elementor-widget-image))
    :not(:last-child)::after {

        display: none;
    }


    body.home
    .elementor-grid
    > .elementor-element:not(:has(.elementor-widget-image))
    ::before {

        margin-bottom: 20px;
    }


    body.home
    .elementor-grid
    > .elementor-element:not(:has(.elementor-widget-image))
    .elementor-widget-heading
    h2,

    body.home
    .elementor-grid
    > .elementor-element:not(:has(.elementor-widget-image))
    .elementor-widget-heading
    h3 {

        font-size: 22px !important;
    }


    .elementor-button {

        padding: 14px 23px !important;
    }
}


/* =========================================================
   15 — ACCESSIBILITY
   ========================================================= */

a:focus-visible,
button:focus-visible,
.elementor-button:focus-visible {

    outline: 2px solid var(--ff-teal);

    outline-offset: 4px;
}/* End custom CSS */