.elementor-3586 .elementor-element.elementor-element-141ce57{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-3586 .elementor-element.elementor-element-870ad6d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-3586 .elementor-element.elementor-element-40c9d93{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-3586 .elementor-element.elementor-element-3c9b939{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-3586 .elementor-element.elementor-element-568ad68{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-3586 .elementor-element.elementor-element-13f5a59{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-3586 .elementor-element.elementor-element-bda6ff8{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-3586 .elementor-element.elementor-element-924ce5e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-3586 .elementor-element.elementor-element-100cd2b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-3586 .elementor-element.elementor-element-8f25875{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}/* Start custom CSS *//* =========================================================
   CNS HARVEST — HOMEPAGE ADA + HEADING SIZE OPTIMIZATION
   Homepage only
   ========================================================= */


/* ---------------------------------------------------------
   1. HOMEPAGE H1
   Reduce oversized hero heading while keeping it dominant.
   --------------------------------------------------------- */

body.home h1 {
    font-size: clamp(58px, 6.2vw, 104px) !important;
    line-height: 0.94 !important;
    letter-spacing: -0.045em !important;
}


/* ---------------------------------------------------------
   2. HOMEPAGE H2
   Tone down oversized section headings.
   --------------------------------------------------------- */

body.home h2 {
    font-size: clamp(42px, 4.7vw, 76px) !important;
    line-height: 0.98 !important;
    letter-spacing: -0.04em !important;
}


/* ---------------------------------------------------------
   3. H3
   Keep supporting headings clearly below H2.
   --------------------------------------------------------- */

body.home h3 {
    font-size: clamp(27px, 2.4vw, 40px);
    line-height: 1.08;
}


/* ---------------------------------------------------------
   4. DARK SECTION ADA CONTRAST
   Specifically targets the CNS ecosystem section.
   --------------------------------------------------------- */

body.home #cns-ecosystem {
    --cns-ada-sage: #aab7a2;
    --cns-ada-ivory: #f4f0e7;
    --cns-ada-copy: #d8d2c5;
}


/* Main headings */

body.home #cns-ecosystem h2,
body.home #cns-ecosystem h3 {
    color: var(--cns-ada-ivory);
}


/* Sage/accent portions inside headings */

body.home #cns-ecosystem h2 span,
body.home #cns-ecosystem h2 em,
body.home #cns-ecosystem h2 strong,
body.home #cns-ecosystem h3 span,
body.home #cns-ecosystem h3 em,
body.home #cns-ecosystem h3 strong {
    color: var(--cns-ada-sage);
}


/* Body copy on dark background */

body.home #cns-ecosystem p {
    color: var(--cns-ada-copy);
}


/* ---------------------------------------------------------
   5. TABLET
   --------------------------------------------------------- */

@media (max-width: 1024px) {

    body.home h1 {
        font-size: clamp(52px, 8vw, 78px) !important;
        line-height: 0.95 !important;
    }

    body.home h2 {
        font-size: clamp(38px, 6vw, 60px) !important;
        line-height: 1 !important;
    }

}


/* ---------------------------------------------------------
   6. MOBILE
   Prevent giant headings / awkward word wrapping.
   --------------------------------------------------------- */

@media (max-width: 767px) {

    body.home h1 {
        font-size: clamp(42px, 12vw, 58px) !important;
        line-height: 0.96 !important;
        letter-spacing: -0.04em !important;

        overflow-wrap: normal;
        word-break: normal;
    }

    body.home h2 {
        font-size: clamp(34px, 9.5vw, 46px) !important;
        line-height: 1 !important;
        letter-spacing: -0.035em !important;

        overflow-wrap: normal;
        word-break: normal;
    }

    body.home h3 {
        font-size: clamp(25px, 7vw, 32px);
        line-height: 1.08;
    }

}


/* ---------------------------------------------------------
   7. SMALL MOBILE
   --------------------------------------------------------- */

@media (max-width: 390px) {

    body.home h1 {
        font-size: 40px !important;
    }

    body.home h2 {
        font-size: 32px !important;
    }

}/* End custom CSS */