.elementor-2224 .elementor-element.elementor-element-7e315d8{--display:flex;--min-height:700px;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2224 .elementor-element.elementor-element-7e315d8:not(.elementor-motion-effects-element-type-background), .elementor-2224 .elementor-element.elementor-element-7e315d8 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F8F8F6;}.elementor-2224 .elementor-element.elementor-element-cde4fa0{--display:grid;--e-con-grid-template-columns:1.15fr .85fr;--e-con-grid-template-rows:repeat(1, 1fr);--gap:0px 0px;--row-gap:0px;--column-gap:0px;--grid-auto-flow:row;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2224 .elementor-element.elementor-element-163c706{--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-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-2224 .elementor-element.elementor-element-f1d832d{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;text-align:start;}.elementor-2224 .elementor-element.elementor-element-f1d832d .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:13px;font-weight:600;line-height:1.4em;letter-spacing:1.4px;color:var( --e-global-color-4c4a061 );}.elementor-2224 .elementor-element.elementor-element-5adefea{width:var( --container-widget-width, 680px );max-width:680px;--container-widget-width:680px;--container-widget-flex-grow:0;text-align:start;}.elementor-2224 .elementor-element.elementor-element-5adefea .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-weight:500;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-2224 .elementor-element.elementor-element-c59cc59{width:var( --container-widget-width, 610% );max-width:610%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--container-widget-width:610%;--container-widget-flex-grow:0;font-family:"DM Sans", Sans-serif;font-size:18px;font-weight:400;line-height:1.65em;}.elementor-2224 .elementor-element.elementor-element-d684c22{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-2224 .elementor-element.elementor-element-2791eb4 .elementor-button:hover, .elementor-2224 .elementor-element.elementor-element-2791eb4 .elementor-button:focus{background-color:var( --e-global-color-primary );color:var( --e-global-color-accent );}.elementor-2224 .elementor-element.elementor-element-2791eb4 .elementor-button{fill:var( --e-global-color-a8b9267 );color:var( --e-global-color-a8b9267 );}.elementor-2224 .elementor-element.elementor-element-2791eb4 .elementor-button:hover svg, .elementor-2224 .elementor-element.elementor-element-2791eb4 .elementor-button:focus svg{fill:var( --e-global-color-accent );}.elementor-2224 .elementor-element.elementor-element-889e67e .elementor-button:hover, .elementor-2224 .elementor-element.elementor-element-889e67e .elementor-button:focus{background-color:var( --e-global-color-primary );color:var( --e-global-color-accent );}.elementor-2224 .elementor-element.elementor-element-889e67e .elementor-button{font-family:"DM Sans", Sans-serif;font-weight:600;fill:var( --e-global-color-primary );color:var( --e-global-color-primary );}.elementor-2224 .elementor-element.elementor-element-889e67e .elementor-button:hover svg, .elementor-2224 .elementor-element.elementor-element-889e67e .elementor-button:focus svg{fill:var( --e-global-color-accent );}.elementor-2224 .elementor-element.elementor-element-630e7ae{--display:flex;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-2224 .elementor-element.elementor-element-bef9700{text-align:center;}.elementor-2224 .elementor-element.elementor-element-41b1e05{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2224 .elementor-element.elementor-element-8688e01{--display:flex;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2224 .elementor-element.elementor-element-3c4d0bb .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:13px;font-weight:600;line-height:1.4em;letter-spacing:1.4px;color:var( --e-global-color-4c4a061 );}.elementor-2224 .elementor-element.elementor-element-598df21{width:var( --container-widget-width, 760px );max-width:760px;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:760px;--container-widget-flex-grow:0;}.elementor-2224 .elementor-element.elementor-element-cc733dc{padding:0px 0px 24px 0px;font-family:"DM Sans", Sans-serif;font-weight:400;}.elementor-2224 .elementor-element.elementor-element-2d0e8d6{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-2224 .elementor-element.elementor-element-55ce2f4{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2224 .elementor-element.elementor-element-55ce2f4:not(.elementor-motion-effects-element-type-background), .elementor-2224 .elementor-element.elementor-element-55ce2f4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-ef2da00 );}.elementor-2224 .elementor-element.elementor-element-85a50f9{--display:flex;--gap:40px 40px;--row-gap:40px;--column-gap:40px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2224 .elementor-element.elementor-element-4468464{--display:flex;--gap:16px 16px;--row-gap:16px;--column-gap:16px;}.elementor-2224 .elementor-element.elementor-element-403aba4{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 024px) 0px;}.elementor-2224 .elementor-element.elementor-element-403aba4 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:13px;font-weight:600;letter-spacing:1.4em;color:var( --e-global-color-4c4a061 );}.elementor-2224 .elementor-element.elementor-element-5a8ce20{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-2224 .elementor-element.elementor-element-416fefd{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;font-family:"DM Sans", Sans-serif;font-size:18px;font-weight:400;line-height:1.65em;}.elementor-2224 .elementor-element.elementor-element-e6a5a6d{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-2224 .elementor-element.elementor-element-239db09{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2224 .elementor-element.elementor-element-cc34d4f{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-2224 .elementor-element.elementor-element-29fc573{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2224 .elementor-element.elementor-element-aab5418{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-2224 .elementor-element.elementor-element-106bc50{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2224 .elementor-element.elementor-element-df45121{--display:flex;--gap:48px 48px;--row-gap:48px;--column-gap:48px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2224 .elementor-element.elementor-element-c6f065b{--display:grid;--e-con-grid-template-columns:1.2fr .8fr;--e-con-grid-template-rows:repeat(1, 1fr);--gap:48px 48px;--row-gap:48px;--column-gap:48px;--grid-auto-flow:row;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2224 .elementor-element.elementor-element-83e656c{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2224 .elementor-element.elementor-element-160d06c{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-2224 .elementor-element.elementor-element-160d06c .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:600;letter-spacing:1.4px;color:var( --e-global-color-4c4a061 );}.elementor-2224 .elementor-element.elementor-element-85375a2{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-2224 .elementor-element.elementor-element-5cab07e{--display:flex;--justify-content:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2224 .elementor-element.elementor-element-eb12f77{--display:grid;--e-con-grid-template-columns:repeat(3, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2224 .elementor-element.elementor-element-aefaab5{--display:flex;--gap:18px 18px;--row-gap:18px;--column-gap:18px;border-style:solid;--border-style:solid;border-width:01px 0px 0px 0px;--border-top-width:01px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;border-color:#0A0A0A;--border-color:#0A0A0A;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:014px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2224 .elementor-element.elementor-element-880917f .elementor-heading-title{font-family:"DM Sans", Sans-serif;font-size:15px;font-weight:600;color:var( --e-global-color-4c4a061 );}.elementor-2224 .elementor-element.elementor-element-a6f6c86 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-weight:500;line-height:1.3em;}.elementor-2224 .elementor-element.elementor-element-f8046e7{font-family:"DM Sans", Sans-serif;font-size:16px;font-weight:400;line-height:1.65em;}.elementor-2224 .elementor-element.elementor-element-81871e6{--display:flex;--gap:18px 18px;--row-gap:18px;--column-gap:18px;border-style:solid;--border-style:solid;border-width:01px 0px 0px 0px;--border-top-width:01px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;border-color:#0A0A0A;--border-color:#0A0A0A;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:014px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2224 .elementor-element.elementor-element-c63cdbf .elementor-heading-title{font-family:"DM Sans", Sans-serif;font-size:15px;font-weight:600;color:var( --e-global-color-4c4a061 );}.elementor-2224 .elementor-element.elementor-element-7cffa05 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-weight:500;line-height:1.3em;}.elementor-2224 .elementor-element.elementor-element-c314e6a{font-family:"DM Sans", Sans-serif;font-size:16px;font-weight:400;line-height:1.65em;}.elementor-2224 .elementor-element.elementor-element-5ca6f65{--display:flex;--gap:18px 18px;--row-gap:18px;--column-gap:18px;border-style:solid;--border-style:solid;border-width:01px 0px 0px 0px;--border-top-width:01px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;border-color:#0A0A0A;--border-color:#0A0A0A;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:014px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2224 .elementor-element.elementor-element-436c03b .elementor-heading-title{font-family:"DM Sans", Sans-serif;font-size:15px;font-weight:600;color:var( --e-global-color-4c4a061 );}.elementor-2224 .elementor-element.elementor-element-3df01ae .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:27px;font-weight:500;line-height:1.3em;}.elementor-2224 .elementor-element.elementor-element-a1807d6{font-family:"DM Sans", Sans-serif;font-size:16px;font-weight:400;line-height:1.65em;}.elementor-2224 .elementor-element.elementor-element-96ee2c4{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2224 .elementor-element.elementor-element-59df0d2{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-2224 .elementor-element.elementor-element-6701164 .elementor-button{background-color:var( --e-global-color-primary );fill:var( --e-global-color-secondary );color:var( --e-global-color-secondary );}.elementor-2224 .elementor-element.elementor-element-6701164 .elementor-button:hover, .elementor-2224 .elementor-element.elementor-element-6701164 .elementor-button:focus{background-color:var( --e-global-color-secondary );color:var( --e-global-color-primary );}.elementor-2224 .elementor-element.elementor-element-6701164 .elementor-button:hover svg, .elementor-2224 .elementor-element.elementor-element-6701164 .elementor-button:focus svg{fill:var( --e-global-color-primary );}.elementor-2224 .elementor-element.elementor-element-8c7709a{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2224 .elementor-element.elementor-element-1c73f4f{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2224 .elementor-element.elementor-element-9c4b06e{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-2224 .elementor-element.elementor-element-cde4fa0{--grid-auto-flow:row;}.elementor-2224 .elementor-element.elementor-element-c6f065b{--grid-auto-flow:row;}.elementor-2224 .elementor-element.elementor-element-eb12f77{--grid-auto-flow:row;}}@media(max-width:767px){.elementor-2224 .elementor-element.elementor-element-cde4fa0{--e-con-grid-template-columns:1;--grid-auto-flow:row;}.elementor-2224 .elementor-element.elementor-element-c6f065b{--e-con-grid-template-columns:1;--grid-auto-flow:row;}.elementor-2224 .elementor-element.elementor-element-83e656c{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2224 .elementor-element.elementor-element-eb12f77{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}}/* Start custom CSS for container, class: .elementor-element-7e315d8 *//* =========================================
   COGNITIVE ANALYTICA — HOMEPAGE HERO
   FINAL VERSION
========================================= */

.elementor-2224 .elementor-element.elementor-element-7e315d8 {
    --ca-forest: #173f3c;
    --ca-forest-dark: #102e2c;
    --ca-terracotta: #a9745d;
    --ca-ink: #121817;
    --ca-copy: #545d5a;
    --ca-warm-white: #f7f6f2;

    position: relative;
    overflow: hidden;
    background:
        radial-gradient(
            circle at 88% 14%,
            rgba(169, 116, 93, 0.09),
            transparent 29%
        ),
        var(--ca-warm-white);
}

/* Decorative background circle */

.elementor-2224 .elementor-element.elementor-element-7e315d8::before {
    content: "";
    position: absolute;
    top: -180px;
    right: -180px;
    width: 520px;
    height: 520px;
    border: 1px solid rgba(23, 63, 60, 0.09);
    border-radius: 50%;
    pointer-events: none;
}

/* =========================================
   MAIN HERO GRID
========================================= */

.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__inner {
    position: relative;
    z-index: 1;

    display: grid;
    grid-template-columns:
        minmax(0, 1.05fr)
        minmax(420px, 0.8fr);
    align-items: center;
    gap: clamp(60px, 8vw, 132px);

    width: min(calc(100% - 80px), 1420px);
    min-height: 760px;
    margin-inline: auto;
    padding: clamp(72px, 8vw, 124px) 0;
}

/* =========================================
   CONTENT COLUMN
========================================= */

.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__content {
    width: 100%;
    max-width: 760px;
    min-width: 0;
    align-items: flex-start;
}

/* Eyebrow */

.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__eyebrow {
    margin: 0 0 28px;
}

.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__eyebrow .elementor-heading-title {
    display: flex;
    align-items: center;
    gap: 16px;

    margin: 0;
    color: var(--ca-terracotta);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__eyebrow
.elementor-heading-title::before {
    content: "";
    width: 28px;
    height: 1px;
    flex: 0 0 28px;
    background: currentColor;
}

/* Main heading */

.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__title {
    width: 100%;
    margin: 0;
}

.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__title
.elementor-heading-title {
    max-width: 760px;
    margin: 0;

    color: var(--ca-forest);
    font-family: inherit;
    font-size: clamp(58px, 5.3vw, 88px);
    font-weight: 400;
    line-height: 0.98;
    letter-spacing: -0.055em;
    text-wrap: balance;
}

.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__title
.elementor-heading-title span {
    color: var(--ca-ink);
}

/* Paragraph */

.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__copy {
    width: 100%;
    max-width: 650px;
    margin-top: 34px;
}

.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__copy,
.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__copy p {
    color: var(--ca-copy);
    font-size: 18px;
    line-height: 1.75;
}

.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__copy p:last-child {
    margin-bottom: 0;
}

/* =========================================
   BUTTON ROW
========================================= */

.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__actions {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 28px;

    width: auto;
    margin-top: 36px;
}

/* Prevent Elementor button widgets from stretching */

.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__actions
> .elementor-element {
    width: auto;
    max-width: none;
    flex: 0 0 auto;
}

/* Shared button styling */

.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__actions
.elementor-button {
    position: relative;
    border-radius: 0;

    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0;

    transition:
        color 250ms ease,
        background-color 250ms ease,
        border-color 250ms ease,
        transform 250ms ease;
}

.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__actions
.elementor-button-content-wrapper {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
}

/* Primary button */

.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-btn-primary .elementor-button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;

    min-width: 188px;
    min-height: 58px;
    padding: 20px 25px;

    color: #ffffff;
    background: var(--ca-forest);
    border: 1px solid var(--ca-forest);
}

.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-btn-primary .elementor-button::after {
    content: "↗";
    display: inline-block;
    flex: 0 0 auto;

    margin-left: auto;
    color: currentColor;
    font-size: 21px;
    font-weight: 300;
    line-height: 1;

    transform: translateY(-1px);
    transition: transform 250ms ease;
}

.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-btn-primary .elementor-button:hover {
    color: #ffffff;
    background: var(--ca-forest-dark);
    border-color: var(--ca-forest-dark);
    transform: translateY(-3px);
}

.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-btn-primary
.elementor-button:hover::after {
    transform: translate(3px, -4px);
}

/* Secondary text button */

.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-btn-secondary .elementor-button {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;

    min-height: auto;
    padding: 10px 0 8px;

    color: var(--ca-ink);
    background: transparent;
    border: 0;
    border-bottom: 1px solid rgba(18, 24, 23, 0.45);
    white-space: nowrap;
}

.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-btn-secondary
.elementor-button-content-wrapper {
    display: inline-flex;
    align-items: center;
    width: auto;
    flex: 0 0 auto;
}

.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-btn-secondary .elementor-button::after {
    content: "↗";
    display: inline-block;
    position: static;
    flex: 0 0 auto;

    margin-left: 11px;
    color: currentColor;
    font-size: 16px;
    font-weight: 400;
    line-height: 1;

    transform: translateY(-1px);
    transition: transform 250ms ease;
}

.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-btn-secondary .elementor-button:hover {
    color: var(--ca-terracotta);
    background: transparent;
    border-color: var(--ca-terracotta);
}

.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-btn-secondary
.elementor-button:hover::after {
    transform: translate(3px, -4px);
}

/* Language/access line */

.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__meta {
    margin-top: 31px;
}

.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__meta,
.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__meta p {
    margin-bottom: 0;
    color: #707774;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

/* =========================================
   VISUAL COLUMN
========================================= */

.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__visual {
    position: relative;
    width: 100%;
    max-width: 570px;
    min-width: 0;
    justify-self: end;
    overflow: visible;
}

.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__image {
    width: 100%;
}

.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__image
.elementor-widget-container {
    width: 100%;
    overflow: hidden;
}

.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__image img {
    display: block;
    width: 100%;
    height: clamp(570px, 55vw, 730px);

    object-fit: cover;
    object-position: center;

    transition:
        transform 900ms cubic-bezier(0.16, 1, 0.3, 1);
}

.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__visual:hover
.ca-home-hero__image img {
    transform: scale(1.025);
}

/* Place HTML overlays over the image */

.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__visual
.elementor-widget-html {
    position: absolute;
    inset: 0;
    z-index: 3;

    width: 100%;
    height: 100%;
    margin: 0;

    pointer-events: none;
}

.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__visual
.elementor-widget-html
.elementor-widget-container {
    width: 100%;
    height: 100%;
}

.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-hero-visual-ui {
    position: relative;
    width: 100%;
    height: 100%;
}

/* White image label */

.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-hero-image-label {
    position: absolute;
    top: 24px;
    right: -28px;

    padding: 13px 18px;

    color: var(--ca-forest);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 15px 35px rgba(16, 46, 44, 0.11);

    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.16em;
    white-space: nowrap;
}

/* Floating image card */

.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-hero-image-card {
    position: absolute;
    left: -54px;
    bottom: 32px;

    width: min(310px, 74%);
    padding: 25px 58px 25px 25px;

    color: #ffffff;
    background: var(--ca-forest);
    box-shadow: 0 25px 55px rgba(16, 46, 44, 0.22);
    text-decoration: none;

    pointer-events: auto;

    transition:
        transform 300ms ease,
        background-color 300ms ease,
        box-shadow 300ms ease;
}

.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-hero-image-card:hover {
    color: #ffffff;
    background: var(--ca-forest-dark);
    box-shadow: 0 32px 65px rgba(16, 46, 44, 0.28);
    transform: translateY(-7px);
}

.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-hero-image-card__eyebrow {
    display: block;
    margin-bottom: 13px;

    color: rgba(255, 255, 255, 0.67);
    font-size: 9px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.16em;
}

.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-hero-image-card strong {
    display: block;

    color: #ffffff;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.3;
}

.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-hero-image-card__arrow {
    position: absolute;
    top: 25px;
    right: 24px;

    display: inline-block;
    color: #ffffff;
    font-size: 23px;
    font-weight: 300;
    line-height: 1;

    transition: transform 250ms ease;
}

.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-hero-image-card:hover
.ca-hero-image-card__arrow {
    transform: translate(4px, -4px);
}

/* =========================================
   ENTRANCE ANIMATION
========================================= */

@keyframes caHeroRise {
    from {
        opacity: 0;
        transform: translateY(24px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes caHeroReveal {
    from {
        opacity: 0;
        transform: scale(1.035);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__eyebrow,
.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__title,
.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__copy,
.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__actions,
.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__meta {
    opacity: 0;
    animation: caHeroRise 800ms both;
}

.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__eyebrow {
    animation-delay: 80ms;
}

.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__title {
    animation-delay: 170ms;
}

.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__copy {
    animation-delay: 260ms;
}

.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__actions {
    animation-delay: 350ms;
}

.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__meta {
    animation-delay: 430ms;
}

.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__visual {
    opacity: 0;
    animation: caHeroReveal 1050ms 220ms both;
}

/* =========================================
   TABLET
========================================= */

@media (max-width: 1024px) {
    .elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__inner {
        width: min(calc(100% - 48px), 900px);
        min-height: auto;
        grid-template-columns: 1fr;
        gap: 64px;
        padding: 80px 0 100px;
    }

    .elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__content {
        max-width: 760px;
    }

    .elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__title
    .elementor-heading-title {
        font-size: clamp(52px, 8vw, 76px);
    }

    .elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__visual {
        width: calc(100% - 36px);
        max-width: 680px;
        justify-self: end;
    }

    .elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__image img {
        height: min(78vw, 720px);
    }
}

/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {
    .elementor-2224 .elementor-element.elementor-element-7e315d8::before {
        top: -140px;
        right: -190px;
        width: 340px;
        height: 340px;
    }

    .elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__inner {
        width: calc(100% - 36px);
        gap: 48px;
        padding: 58px 0 80px;
    }

    .elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__eyebrow {
        margin-bottom: 22px;
    }

    .elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__eyebrow
    .elementor-heading-title {
        gap: 11px;
        font-size: 9px;
        letter-spacing: 0.14em;
    }

    .elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__eyebrow
    .elementor-heading-title::before {
        width: 20px;
        flex-basis: 20px;
    }

    .elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__title
    .elementor-heading-title {
        font-size: clamp(43px, 13.5vw, 62px);
        line-height: 1.01;
        letter-spacing: -0.05em;
    }

    .elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__copy {
        margin-top: 25px;
    }

    .elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__copy,
    .elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__copy p {
        font-size: 16px;
        line-height: 1.65;
    }

    .elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__actions {
        width: 100%;
        margin-top: 29px;
        flex-direction: column;
        align-items: stretch;
        gap: 17px;
    }

    .elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__actions
    > .elementor-element {
        width: 100%;
    }

    .elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-btn-primary {
        width: 100%;
    }

    .elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-btn-primary .elementor-button {
        width: 100%;
    }

    .elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-btn-secondary {
        width: auto !important;
        align-self: flex-start;
    }

    .elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-btn-secondary .elementor-button {
        width: auto;
    }

    .elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__meta {
        margin-top: 23px;
    }

    .elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__visual {
        width: calc(100% - 14px);
        justify-self: start;
        margin-left: 14px;
    }

    .elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__image img {
        height: min(132vw, 620px);
        min-height: 470px;
    }

    .elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-hero-image-label {
        top: 14px;
        right: -14px;

        padding: 11px 12px;

        font-size: 8px;
        letter-spacing: 0.12em;
    }

    .elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-hero-image-card {
        left: -14px;
        bottom: 18px;

        width: calc(100% - 22px);
        padding: 20px 52px 20px 20px;
    }

    .elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-hero-image-card strong {
        font-size: 18px;
    }

    .elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-hero-image-card__arrow {
        top: 20px;
        right: 20px;
    }
}

/* =========================================
   ACCESSIBILITY
========================================= */

@media (prefers-reduced-motion: reduce) {
    .elementor-2224 .elementor-element.elementor-element-7e315d8 *,
    .elementor-2224 .elementor-element.elementor-element-7e315d8 *::before,
    .elementor-2224 .elementor-element.elementor-element-7e315d8 *::after {
        scroll-behavior: auto !important;
        animation: none !important;
        transition-duration: 0.01ms !important;
    }

    .elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__eyebrow,
    .elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__title,
    .elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__copy,
    .elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__actions,
    .elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__meta,
    .elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__visual {
        opacity: 1;
        transform: none;
    }
}
/* =========================================
   HERO HEADER ALIGNMENT + SPACING FIX
========================================= */

/* Remove Elementor's old 90px outer spacing */

.elementor-2224 .elementor-element.elementor-element-7e315d8 {
    min-height: auto !important;
    padding: 0 32px !important;
}

/* Match the header's exact 1240px content width */

.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__inner {
    width: 100% !important;
    max-width: 1240px !important;
    min-height: auto !important;

    margin-inline: auto !important;
    padding: 58px 0 78px !important;

    gap: clamp(55px, 6vw, 92px) !important;
}

/* Keep the visual from becoming too large */

.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__visual {
    max-width: 540px !important;
}

.elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__image img {
    height: clamp(555px, 51vw, 690px) !important;
}

/* Tablet */

@media (max-width: 1024px) {
    .elementor-2224 .elementor-element.elementor-element-7e315d8 {
        padding: 0 24px !important;
    }

    .elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__inner {
        width: 100% !important;
        max-width: 900px !important;
        padding: 52px 0 72px !important;
        gap: 55px !important;
    }

    .elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__visual {
        max-width: 660px !important;
    }
}

/* Mobile */

@media (max-width: 767px) {
    .elementor-2224 .elementor-element.elementor-element-7e315d8 {
        padding: 0 18px !important;
    }

    .elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__inner {
        width: 100% !important;
        padding: 43px 0 60px !important;
        gap: 44px !important;
    }

    .elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-home-hero__visual {
        width: calc(100% - 14px) !important;
        max-width: none !important;
    }
}

@media (max-width: 767px) {
  .elementor-2224 .elementor-element.elementor-element-7e315d8 .elementor-button::after {
    content: "" !important;
    display: block;
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    background: currentColor;
    --arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 19 19 5M8 5h11v11' fill='none' stroke='black' stroke-width='1.7'/%3E%3C/svg%3E");
    -webkit-mask: var(--arrow) center / contain no-repeat;
    mask: var(--arrow) center / contain no-repeat;
  }

  .elementor-2224 .elementor-element.elementor-element-7e315d8 .ca-btn-secondary .elementor-button::after {
    width: 16px;
    height: 16px;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-41b1e05 *//* =========================================
   COGNITIVE ANALYTICA — SUPPORT PATHS
========================================= */

.elementor-2224 .elementor-element.elementor-element-41b1e05 {
    --ca-forest: #173f3c;
    --ca-forest-dark: #102e2c;
    --ca-terracotta: #a9745d;
    --ca-ink: #121817;
    --ca-copy: #59615f;
    --ca-sage: #e8eeea;
    --ca-warm-white: #f7f6f2;
    --ca-line: rgba(23, 63, 60, 0.16);

    position: relative;
    overflow: hidden;
    background: var(--ca-sage);
}

/* Background decoration */

.elementor-2224 .elementor-element.elementor-element-41b1e05::before {
    content: "";
    position: absolute;
    top: -250px;
    right: -220px;
    width: 600px;
    height: 600px;
    border: 1px solid rgba(23, 63, 60, 0.09);
    border-radius: 50%;
    pointer-events: none;
}

.elementor-2224 .elementor-element.elementor-element-41b1e05::after {
    content: "";
    position: absolute;
    left: -140px;
    bottom: -260px;
    width: 480px;
    height: 480px;
    border-radius: 50%;
    background: rgba(169, 116, 93, 0.06);
    pointer-events: none;
}

/* Main section grid */

.elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path__inner.e-con {
    --display: grid;
    --width: min(calc(100% - 80px), 1420px);
    --max-width: 1420px;

    position: relative;
    z-index: 2;

    display: grid !important;
    grid-template-columns:
        minmax(300px, 0.8fr)
        minmax(0, 1.2fr);
    grid-template-rows: auto auto;
    column-gap: clamp(70px, 9vw, 150px);
    row-gap: 22px;

    width: min(calc(100% - 80px), 1420px) !important;
    max-width: 1420px !important;
    margin-inline: auto;
    padding: clamp(100px, 10vw, 150px) 0;
}

/* Reset Elementor widget widths */

.elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path__inner > .elementor-element {
    width: 100% !important;
    min-width: 0;
}

/* Eyebrow */

.elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path__eyebrow {
    grid-column: 1;
    grid-row: 1;
    align-self: start;
    margin: 0 0 10px;
}

.elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path__eyebrow .elementor-heading-title {
    display: flex;
    align-items: center;
    gap: 15px;

    margin: 0;
    color: var(--ca-terracotta);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.17em;
    text-transform: uppercase;
}

.elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path__eyebrow
.elementor-heading-title::before {
    content: "";
    width: 27px;
    height: 1px;
    flex: 0 0 27px;
    background: currentColor;
}

/* Heading */

.elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path__title {
    grid-column: 1;
    grid-row: 2;
    align-self: start;
}

.elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path__title .elementor-heading-title {
    max-width: 620px;
    margin: 0;

    color: var(--ca-forest);
    font-size: clamp(48px, 4.8vw, 74px);
    font-weight: 400;
    line-height: 1.02;
    letter-spacing: -0.052em;
    text-wrap: balance;
}

/* Introduction copy */

.elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path__copy {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: end;

    max-width: 610px;
    justify-self: end;
    padding-bottom: 7px;
}

.elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path__copy,
.elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path__copy p {
    color: var(--ca-copy);
    font-size: 18px;
    line-height: 1.75;
}

.elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path__copy p:last-child {
    margin-bottom: 0;
}

/* HTML spans the full section */

.elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path__html {
    grid-column: 1 / -1;
    grid-row: 3;

    width: 100%;
    margin-top: clamp(45px, 6vw, 82px);
}

/* =========================================
   PATH CARDS
========================================= */

.elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;

    overflow: hidden;
    background: rgba(23, 63, 60, 0.16);
    border: 1px solid rgba(23, 63, 60, 0.16);
}

.elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path-card {
    position: relative;
    isolation: isolate;
    overflow: hidden;

    display: flex;
    flex-direction: column;
    justify-content: space-between;

    min-height: 470px;
    padding: clamp(30px, 4vw, 54px);

    color: var(--ca-ink);
    text-decoration: none;

    transition:
        transform 400ms cubic-bezier(0.16, 1, 0.3, 1),
        box-shadow 400ms ease,
        background-color 400ms ease;
}

/* Decorative circle inside cards */

.elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path-card::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: -180px;
    right: -150px;

    width: 430px;
    height: 430px;
    border: 1px solid currentColor;
    border-radius: 50%;

    opacity: 0.09;
    transition:
        transform 650ms cubic-bezier(0.16, 1, 0.3, 1),
        opacity 350ms ease;
}

.elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path-card:hover::before {
    opacity: 0.16;
    transform: scale(1.1) translate(-12px, 12px);
}

/* Card backgrounds */

.elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path-card--therapy {
    background: var(--ca-warm-white);
}

.elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path-card--corporate {
    color: #ffffff;
    background:
        linear-gradient(
            145deg,
            var(--ca-forest) 0%,
            var(--ca-forest-dark) 100%
        );
}

/* Top metadata */

.elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path-card__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path-card__number {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 48px;
    height: 48px;
    flex: 0 0 48px;

    border: 1px solid currentColor;

    font-size: 12px;
    font-weight: 700;
    line-height: 1;

    opacity: 0.7;
}

.elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path-card__type {
    font-size: 10px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.15em;
    text-align: right;
    text-transform: uppercase;
    opacity: 0.66;
}

/* Card content */

.elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path-card__content {
    max-width: 580px;
    margin: auto 0 42px;
    padding-top: 70px;
}

.elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path-card__label {
    display: block;
    margin-bottom: 17px;

    color: var(--ca-terracotta);
    font-size: 10px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.17em;
}

.elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path-card--corporate
.ca-path-card__label {
    color: rgba(255, 255, 255, 0.62);
}

.elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path-card h3 {
    max-width: 570px;
    margin: 0 0 21px;

    color: inherit;
    font-size: clamp(34px, 3.1vw, 50px);
    font-weight: 400;
    line-height: 1.04;
    letter-spacing: -0.045em;
    text-wrap: balance;
}

.elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path-card p {
    max-width: 550px;
    margin: 0;

    color: inherit;
    font-size: 16px;
    line-height: 1.7;
    opacity: 0.7;
}

/* Card links */

.elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path-card__link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;

    padding-top: 21px;
    border-top: 1px solid currentColor;

    color: inherit;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;

    opacity: 0.86;
}

.elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path-card__arrow {
    display: inline-block;
    flex: 0 0 auto;

    font-size: 22px;
    font-weight: 300;
    line-height: 1;

    transition: transform 250ms ease;
}

.elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path-card:hover
.ca-path-card__arrow {
    transform: translate(5px, -5px);
}

/* Card hover */

.elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path-card:hover {
    z-index: 2;
    box-shadow: 0 30px 65px rgba(16, 46, 44, 0.17);
    transform: translateY(-8px);
}

.elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path-card--therapy:hover {
    background: #ffffff;
}

.elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path-card--corporate:hover {
    background:
        linear-gradient(
            145deg,
            #1c4b47 0%,
            #0d2927 100%
        );
}

/* =========================================
   TRUST STRIP
========================================= */

.elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path-trust {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));

    margin-top: 36px;
    border-top: 1px solid var(--ca-line);
    border-bottom: 1px solid var(--ca-line);
}

.elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path-trust__item {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: start;
    gap: 16px;

    min-height: 126px;
    padding: 30px 27px;
    border-right: 1px solid var(--ca-line);
}

.elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path-trust__item:last-child {
    border-right: 0;
}

.elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path-trust__number {
    padding-top: 3px;
    color: var(--ca-terracotta);
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
}

.elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path-trust__item strong,
.elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path-trust__item span {
    display: block;
}

.elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path-trust__item strong {
    margin-bottom: 7px;
    color: var(--ca-forest);
    font-size: 14px;
    font-weight: 650;
    line-height: 1.35;
}

.elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path-trust__item div > span {
    color: var(--ca-copy);
    font-size: 12px;
    line-height: 1.5;
}

/* Focus accessibility */

.elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path-card:focus-visible {
    outline: 2px solid var(--ca-terracotta);
    outline-offset: -5px;
}

/* =========================================
   TABLET
========================================= */

@media (max-width: 1024px) {
    .elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path__inner.e-con {
        --width: min(calc(100% - 48px), 900px);

        width: min(calc(100% - 48px), 900px) !important;
        grid-template-columns: 1fr;
        row-gap: 25px;
        padding: 90px 0;
    }

    .elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path__eyebrow,
    .elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path__title,
    .elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path__copy,
    .elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path__html {
        grid-column: 1;
        grid-row: auto;
    }

    .elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path__copy {
        max-width: 680px;
        justify-self: start;
        margin-top: 10px;
    }

    .elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path__html {
        margin-top: 42px;
    }

    .elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path-card {
        min-height: 440px;
    }

    .elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path-trust {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path-trust__item:nth-child(2) {
        border-right: 0;
    }

    .elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path-trust__item:nth-child(-n+2) {
        border-bottom: 1px solid var(--ca-line);
    }
}

/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {
    .elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path__inner.e-con {
        --width: calc(100% - 36px);

        width: calc(100% - 36px) !important;
        padding: 72px 0;
    }

    .elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path__title
    .elementor-heading-title {
        font-size: clamp(43px, 12.5vw, 58px);
    }

    .elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path__copy,
    .elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path__copy p {
        font-size: 16px;
        line-height: 1.65;
    }

    .elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path-grid {
        grid-template-columns: 1fr;
    }

    .elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path-card {
        min-height: 430px;
        padding: 28px 24px;
    }

    .elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path-card__content {
        padding-top: 60px;
        margin-bottom: 36px;
    }

    .elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path-card h3 {
        font-size: clamp(34px, 10vw, 44px);
    }

    .elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path-card__type {
        max-width: 190px;
        font-size: 8px;
    }

    .elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path-card:hover {
        transform: none;
    }

    .elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path-trust {
        grid-template-columns: 1fr;
        margin-top: 25px;
    }

    .elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path-trust__item {
        min-height: auto;
        padding: 24px 5px;
        border-right: 0;
        border-bottom: 1px solid var(--ca-line);
    }

    .elementor-2224 .elementor-element.elementor-element-41b1e05 .ca-path-trust__item:last-child {
        border-bottom: 0;
    }
}

/* Reduced motion */

@media (prefers-reduced-motion: reduce) {
    .elementor-2224 .elementor-element.elementor-element-41b1e05 *,
    .elementor-2224 .elementor-element.elementor-element-41b1e05 *::before,
    .elementor-2224 .elementor-element.elementor-element-41b1e05 *::after {
        animation: none !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-55ce2f4 *//* =========================================
   COGNITIVE ANALYTICA — THERAPY SERVICES
========================================= */

.elementor-2224 .elementor-element.elementor-element-55ce2f4 {
    --ca-forest: #173f3c;
    --ca-forest-dark: #102e2c;
    --ca-terracotta: #a9745d;
    --ca-ink: #121817;
    --ca-copy: #59615f;
    --ca-warm-white: #f7f6f2;
    --ca-sage: #dfe8e2;
    --ca-clay: #eadcd2;
    --ca-line: rgba(23, 63, 60, 0.16);

    position: relative;
    overflow: hidden;
    background: var(--ca-warm-white);
}

/* Decorative vertical line */

.elementor-2224 .elementor-element.elementor-element-55ce2f4::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: 1px;
    height: 100%;
    background: rgba(23, 63, 60, 0.055);
    pointer-events: none;
}

/* Section width */

.elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-services__inner.e-con {
    --width: min(calc(100% - 80px), 1420px);
    --max-width: 1420px;

    position: relative;
    z-index: 2;

    width: min(calc(100% - 80px), 1420px) !important;
    max-width: 1420px !important;
    margin-inline: auto;
    padding: clamp(105px, 10vw, 155px) 0;
}

/* Widget layout */

.elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-services__content.e-con {
    --display: grid;

    display: grid !important;
    grid-template-columns:
        minmax(300px, 0.78fr)
        minmax(0, 1.22fr);
    column-gap: clamp(70px, 9vw, 150px);
    row-gap: 22px;

    width: 100% !important;
    max-width: none !important;
}

.elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-services__content
> .elementor-element {
    width: 100% !important;
    min-width: 0;
}

/* Eyebrow */

.elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-services__eyebrow {
    grid-column: 1;
    grid-row: 1;
    margin: 0 0 9px;
}

.elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-services__eyebrow
.elementor-heading-title {
    display: flex;
    align-items: center;
    gap: 15px;

    margin: 0;
    color: var(--ca-terracotta);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.17em;
    text-transform: uppercase;
}

.elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-services__eyebrow
.elementor-heading-title::before {
    content: "";
    width: 27px;
    height: 1px;
    flex: 0 0 27px;
    background: currentColor;
}

/* Main heading */

.elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-services__title {
    grid-column: 1;
    grid-row: 2;
    align-self: start;
}

.elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-services__title
.elementor-heading-title {
    max-width: 610px;
    margin: 0;

    color: var(--ca-forest);
    font-size: clamp(50px, 5vw, 76px);
    font-weight: 400;
    line-height: 1.01;
    letter-spacing: -0.055em;
    text-wrap: balance;
}

/* Introductory copy */

.elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-services__copy {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: end;
    justify-self: end;

    max-width: 620px;
    padding-bottom: 7px;
}

.elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-services__copy,
.elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-services__copy p {
    color: var(--ca-copy);
    font-size: 18px;
    line-height: 1.75;
}

.elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-services__copy p:last-child {
    margin-bottom: 0;
}

/* HTML widget */

.elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-services__html {
    grid-column: 1 / -1;
    grid-row: 3;

    width: 100%;
    margin-top: clamp(48px, 6vw, 84px);
}

/* =========================================
   SERVICE CARDS
========================================= */

.elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-services-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;

    overflow: visible;
    background: var(--ca-line);
    border: 1px solid var(--ca-line);
}

.elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-service-card {
    position: relative;
    isolation: isolate;
    overflow: hidden;

    display: flex;
    flex-direction: column;
    justify-content: space-between;

    min-height: 475px;
    padding: 32px 29px;

    color: var(--ca-ink);
    text-decoration: none;

    transition:
        transform 400ms cubic-bezier(0.16, 1, 0.3, 1),
        box-shadow 400ms ease,
        background-color 400ms ease;
}

/* Background circles */

.elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-service-card::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: -160px;
    right: -170px;

    width: 360px;
    height: 360px;
    border: 1px solid currentColor;
    border-radius: 50%;

    opacity: 0.08;

    transition:
        transform 650ms cubic-bezier(0.16, 1, 0.3, 1),
        opacity 350ms ease;
}

.elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-service-card::after {
    content: "";
    position: absolute;
    z-index: -1;
    right: 28px;
    bottom: 83px;

    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: currentColor;

    opacity: 0.22;
}

/* Card colors */

.elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-service-card--individual {
    color: #ffffff;
    background: var(--ca-forest);
}

.elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-service-card--couples {
    background: #ffffff;
}

.elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-service-card--family {
    background: var(--ca-clay);
}

.elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-service-card--online {
    color: var(--ca-forest-dark);
    background: var(--ca-sage);
}

/* Top information */

.elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-service-card__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-service-card__number {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 46px;
    height: 46px;
    flex: 0 0 46px;

    border: 1px solid currentColor;

    font-size: 11px;
    font-weight: 700;
    line-height: 1;

    opacity: 0.65;
}

.elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-service-card__category {
    font-size: 8px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.15em;
    text-align: right;
    text-transform: uppercase;
    opacity: 0.6;
}

/* Card body */

.elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-service-card__body {
    margin: auto 0 44px;
    padding-top: 70px;
}

.elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-service-card h3 {
    margin: 0 0 22px;

    color: inherit;
    font-size: clamp(28px, 2.3vw, 39px);
    font-weight: 400;
    line-height: 1.05;
    letter-spacing: -0.042em;
    text-wrap: balance;
}

.elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-service-card p {
    margin: 0;

    color: inherit;
    font-size: 14px;
    line-height: 1.7;
    opacity: 0.7;
}

/* Card footer */

.elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-service-card__link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;

    min-height: 51px;
    padding-top: 18px;
    border-top: 1px solid currentColor;

    color: inherit;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;

    opacity: 0.85;
}

.elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-service-card__arrow {
    display: inline-block;
    flex: 0 0 auto;

    font-size: 21px;
    font-weight: 300;
    line-height: 1;

    transition: transform 250ms ease;
}

/* Hover effects */

.elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-service-card:hover {
    z-index: 3;
    color: inherit;
    box-shadow: 0 30px 65px rgba(16, 46, 44, 0.2);
    transform: translateY(-10px);
}

.elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-service-card:hover::before {
    opacity: 0.15;
    transform: scale(1.12) translate(-12px, 12px);
}

.elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-service-card:hover
.ca-service-card__arrow {
    transform: translate(5px, -5px);
}

.elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-service-card--individual:hover {
    color: #ffffff;
    background: var(--ca-forest-dark);
}

.elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-service-card--couples:hover {
    color: var(--ca-ink);
    background: #ffffff;
}

.elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-service-card--family:hover {
    color: var(--ca-ink);
    background: #e2cfc1;
}

.elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-service-card--online:hover {
    color: var(--ca-forest-dark);
    background: #d3e0d8;
}

/* =========================================
   SECTION FOOTER
========================================= */

.elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-services-footer {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 25px;

    min-height: 90px;
    margin-top: 32px;
    padding: 20px 28px;

    color: var(--ca-forest);
    border-top: 1px solid var(--ca-line);
    border-bottom: 1px solid var(--ca-line);
}

.elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-services-footer__label {
    color: var(--ca-terracotta);
    font-size: 9px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.16em;
}

.elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-services-footer p {
    margin: 0;
    color: var(--ca-copy);
    font-size: 13px;
    line-height: 1.5;
}

.elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-services-footer p span {
    margin: 0 8px;
    color: var(--ca-terracotta);
}

.elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-services-footer a {
    display: inline-flex;
    align-items: center;
    gap: 12px;

    padding-bottom: 5px;
    color: var(--ca-forest);
    border-bottom: 1px solid rgba(23, 63, 60, 0.45);

    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
}

.elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-services-footer a span {
    font-size: 17px;
    transition: transform 250ms ease;
}

.elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-services-footer a:hover span {
    transform: translate(4px, -4px);
}

/* Keyboard focus */

.elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-service-card:focus-visible,
.elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-services-footer a:focus-visible {
    outline: 2px solid var(--ca-terracotta);
    outline-offset: 4px;
}

/* =========================================
   TABLET
========================================= */

@media (max-width: 1100px) {
    .elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-services__inner.e-con {
        --width: min(calc(100% - 48px), 900px);

        width: min(calc(100% - 48px), 900px) !important;
        padding: 90px 0;
    }

    .elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-services__content.e-con {
        grid-template-columns: 1fr;
        row-gap: 25px;
    }

    .elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-services__eyebrow,
    .elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-services__title,
    .elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-services__copy,
    .elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-services__html {
        grid-column: 1;
        grid-row: auto;
    }

    .elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-services__copy {
        max-width: 680px;
        justify-self: start;
        margin-top: 10px;
    }

    .elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-services__html {
        margin-top: 44px;
    }

    .elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-services-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-service-card {
        min-height: 440px;
        padding: 34px;
    }
}

/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {
    .elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-services__inner.e-con {
        --width: calc(100% - 36px);

        width: calc(100% - 36px) !important;
        padding: 72px 0;
    }

    .elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-services__title
    .elementor-heading-title {
        font-size: clamp(43px, 12.5vw, 58px);
    }

    .elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-services__copy,
    .elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-services__copy p {
        font-size: 16px;
        line-height: 1.65;
    }

    .elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-services-grid {
        grid-template-columns: 1fr;
    }

    .elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-service-card {
        min-height: 410px;
        padding: 28px 24px;
    }

    .elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-service-card__body {
        padding-top: 55px;
        margin-bottom: 36px;
    }

    .elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-service-card h3 {
        font-size: clamp(32px, 9.5vw, 43px);
    }

    .elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-service-card:hover {
        transform: none;
    }

    .elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-services-footer {
        grid-template-columns: 1fr;
        align-items: start;
        gap: 13px;

        margin-top: 25px;
        padding: 24px 4px;
    }

    .elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-services-footer p span {
        display: none;
    }

    .elementor-2224 .elementor-element.elementor-element-55ce2f4 .ca-services-footer a {
        width: max-content;
        margin-top: 6px;
    }
}

/* Reduced motion */

@media (prefers-reduced-motion: reduce) {
    .elementor-2224 .elementor-element.elementor-element-55ce2f4 *,
    .elementor-2224 .elementor-element.elementor-element-55ce2f4 *::before,
    .elementor-2224 .elementor-element.elementor-element-55ce2f4 *::after {
        animation: none !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-106bc50 *//* =========================================
   COGNITIVE ANALYTICA — HOW THERAPY WORKS
========================================= */

.elementor-2224 .elementor-element.elementor-element-106bc50 {
    --ca-forest: #173f3c;
    --ca-forest-dark: #102e2c;
    --ca-terracotta: #a9745d;
    --ca-ink: #121817;
    --ca-copy: #59615f;
    --ca-warm-white: #f7f6f2;
    --ca-sage: #dfe8e2;
    --ca-clay: #eadcd2;
    --ca-line: rgba(23, 63, 60, 0.16);

    position: relative;
    overflow: hidden;
    background:
        radial-gradient(
            circle at 8% 92%,
            rgba(169, 116, 93, 0.08),
            transparent 28%
        ),
        var(--ca-sage);
}

/* Decorative circle */

.elementor-2224 .elementor-element.elementor-element-106bc50::before {
    content: "";
    position: absolute;
    top: -260px;
    right: -220px;

    width: 620px;
    height: 620px;

    border: 1px solid rgba(23, 63, 60, 0.09);
    border-radius: 50%;

    pointer-events: none;
}

/* =========================================
   SECTION WIDTH
========================================= */

.elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process__inner.e-con {
    --width: min(calc(100% - 80px), 1420px);
    --max-width: 1420px;

    position: relative;
    z-index: 2;

    width: min(calc(100% - 80px), 1420px) !important;
    max-width: 1420px !important;
    margin-inline: auto;
    padding: clamp(105px, 10vw, 155px) 0;
}

/* =========================================
   HEADER
========================================= */

.elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process__header.e-con {
    --display: grid;

    display: grid !important;
    grid-template-columns:
        minmax(0, 1.08fr)
        minmax(350px, 0.92fr);
    align-items: end;
    gap: clamp(60px, 9vw, 145px);

    width: 100% !important;
    padding-bottom: clamp(55px, 6vw, 85px);
    border-bottom: 1px solid var(--ca-line);
}

.elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process__heading.e-con,
.elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process__intro-wrap.e-con {
    --width: 100%;

    width: 100% !important;
    min-width: 0;
}

/* Eyebrow */

.elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process__eyebrow {
    margin: 0 0 25px;
}

.elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process__eyebrow
.elementor-heading-title {
    display: flex;
    align-items: center;
    gap: 15px;

    margin: 0;

    color: var(--ca-terracotta);
    font-size: 10px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.17em;
    text-transform: uppercase;
}

.elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process__eyebrow
.elementor-heading-title::before {
    content: "";
    width: 27px;
    height: 1px;
    flex: 0 0 27px;
    background: currentColor;
}

/* Main heading */

.elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process__title
.elementor-heading-title {
    max-width: 800px;
    margin: 0;

    color: var(--ca-forest);
    font-size: clamp(52px, 5.2vw, 80px);
    font-weight: 400;
    line-height: 1.01;
    letter-spacing: -0.055em;
    text-wrap: balance;
}

/* Introduction */

.elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process__intro {
    max-width: 610px;
    justify-self: end;
}

.elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process__intro,
.elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process__intro p {
    color: var(--ca-copy);
    font-size: 18px;
    line-height: 1.75;
}

.elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process__intro p:last-child {
    margin-bottom: 0;
}

/* =========================================
   PROCESS CARDS
========================================= */

.elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process__steps.e-con {
    --display: grid;
    --gap: 1px;

    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px !important;

    width: 100% !important;
    margin-top: 1px;

    background: var(--ca-line);
    border: 1px solid var(--ca-line);
}

/* Individual cards */

.elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process-card.e-con {
    --width: 100%;
    --justify-content: space-between;

    position: relative;
    isolation: isolate;
    overflow: hidden;

    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;

    width: 100% !important;
    min-width: 0;
    min-height: 440px;
    padding: clamp(32px, 4vw, 54px) !important;

    background: #ffffff;

    transition:
        background-color 350ms ease,
        box-shadow 350ms ease,
        transform 350ms cubic-bezier(0.16, 1, 0.3, 1);
}

/* Card colors */

.elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process-card:nth-child(1) {
    background: #ffffff;
}

.elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process-card:nth-child(2) {
    background: var(--ca-clay);
}

.elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process-card:nth-child(3) {
    color: #ffffff;
    background:
        linear-gradient(
            145deg,
            var(--ca-forest) 0%,
            var(--ca-forest-dark) 100%
        );
}

/* Decorative circle */

.elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process-card::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: -150px;
    right: -160px;

    width: 360px;
    height: 360px;

    border: 1px solid currentColor;
    border-radius: 50%;

    opacity: 0.07;

    transition:
        opacity 350ms ease,
        transform 650ms cubic-bezier(0.16, 1, 0.3, 1);
}

.elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process-card::after {
    content: "";
    position: absolute;
    right: 34px;
    bottom: 34px;

    width: 7px;
    height: 7px;

    border-radius: 50%;
    background: var(--ca-terracotta);
}

/* Number */

.elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process-card__number {
    margin: 0 0 auto;
}

.elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process-card__number
.elementor-heading-title {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 49px;
    height: 49px;
    margin: 0;

    color: var(--ca-forest);
    border: 1px solid rgba(23, 63, 60, 0.38);

    font-size: 11px;
    font-weight: 700;
    line-height: 1;
}

.elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process-card:nth-child(3)
.ca-process-card__number
.elementor-heading-title {
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.42);
}

/* Step title */

.elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process-card__title {
    margin-top: clamp(75px, 7vw, 120px);
}

.elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process-card__title
.elementor-heading-title {
    max-width: 380px;
    margin: 0;

    color: var(--ca-forest);
    font-size: clamp(30px, 2.6vw, 42px);
    font-weight: 500;
    line-height: 1.06;
    letter-spacing: -0.04em;
    text-wrap: balance;
}

.elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process-card:nth-child(3)
.ca-process-card__title
.elementor-heading-title {
    color: #ffffff;
}

/* Step description */

.elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process-card__copy {
    max-width: 400px;
    margin-top: 21px;
}

.elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process-card__copy,
.elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process-card__copy p {
    color: var(--ca-copy);
    font-size: 15px;
    line-height: 1.7;
}

.elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process-card__copy p:last-child {
    margin-bottom: 0;
}

.elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process-card:nth-child(3)
.ca-process-card__copy,
.elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process-card:nth-child(3)
.ca-process-card__copy p {
    color: rgba(255, 255, 255, 0.68);
}

/* Hover */

.elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process-card:hover {
    z-index: 3;
    box-shadow: 0 28px 60px rgba(16, 46, 44, 0.17);
    transform: translateY(-8px);
}

.elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process-card:hover::before {
    opacity: 0.14;
    transform: scale(1.12) translate(-12px, 12px);
}

.elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process-card:nth-child(1):hover {
    background: var(--ca-warm-white);
}

.elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process-card:nth-child(2):hover {
    background: #e3d0c2;
}

.elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process-card:nth-child(3):hover {
    background: var(--ca-forest-dark);
}

/* =========================================
   BOTTOM INFORMATION AND CTA
========================================= */

.elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process__footer.e-con {
    --display: grid;
    --width: 100%;

    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: stretch;
    gap: 1px;

    width: 100% !important;
    margin-top: 30px;

    background: var(--ca-line);
    border: 1px solid var(--ca-line);
}

/* Ensure both Elementor widgets stretch */

.elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process__footer
> .elementor-element {
    width: 100% !important;
    margin: 0 !important;
}

/* Information box */

.elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process__note,
.elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process__note
.elementor-widget-container {
    height: 100%;
}

.elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process-note {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 21px;

    min-height: 104px;
    height: 100%;
    padding: 25px 30px;

    background: rgba(255, 255, 255, 0.62);
}

.elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process-note__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;
    flex: 0 0 42px;

    color: #ffffff;
    background: var(--ca-forest);
    border-radius: 50%;

    font-family: Georgia, serif;
    font-size: 17px;
    font-style: italic;
    line-height: 1;
}

.elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process-note p {
    max-width: 850px;
    margin: 0;

    color: var(--ca-copy);
    font-size: 14px;
    line-height: 1.65;
}

/* CTA button */

.elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process__cta,
.elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process__cta
.elementor-widget-container {
    height: 100%;
}

.elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process__cta .elementor-button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;

    width: 100%;
    min-width: 235px;
    height: 100%;
    min-height: 104px;
    padding: 24px 27px;

    color: #ffffff;
    background: var(--ca-forest);
    border: 1px solid var(--ca-forest);
    border-radius: 0;

    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;

    transition:
        background-color 250ms ease,
        border-color 250ms ease;
}

.elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process__cta .elementor-button::after {
    content: "↗";
    display: inline-block;
    flex: 0 0 auto;

    margin-left: auto;

    color: currentColor;
    font-size: 21px;
    font-weight: 300;
    line-height: 1;

    transition: transform 250ms ease;
}

.elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process__cta .elementor-button:hover {
    color: #ffffff;
    background: var(--ca-forest-dark);
    border-color: var(--ca-forest-dark);
}

.elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process__cta
.elementor-button:hover::after {
    transform: translate(4px, -4px);
}

.elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process__cta
.elementor-button:focus-visible {
    outline: 2px solid var(--ca-terracotta);
    outline-offset: 4px;
}

/* =========================================
   TABLET
========================================= */

@media (max-width: 1024px) {
    .elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process__inner.e-con {
        --width: min(calc(100% - 48px), 900px);

        width: min(calc(100% - 48px), 900px) !important;
        padding: 90px 0;
    }

    .elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process__header.e-con {
        grid-template-columns: 1fr;
        align-items: start;
        gap: 27px;
    }

    .elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process__intro {
        max-width: 700px;
        justify-self: start;
    }

    .elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process__steps.e-con {
        grid-template-columns: 1fr;
    }

    .elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process-card.e-con {
        min-height: 360px;
    }

    .elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process-card__title {
        margin-top: 65px;
    }

    .elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process__footer.e-con {
        grid-template-columns: 1fr;
    }

    .elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process__cta .elementor-button {
        min-height: 78px;
    }
}

/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {
    .elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process__inner.e-con {
        --width: calc(100% - 36px);

        width: calc(100% - 36px) !important;
        padding: 72px 0;
    }

    .elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process__header.e-con {
        padding-bottom: 48px;
    }

    .elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process__title
    .elementor-heading-title {
        font-size: clamp(43px, 12.5vw, 58px);
    }

    .elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process__intro,
    .elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process__intro p {
        font-size: 16px;
        line-height: 1.65;
    }

    .elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process-card.e-con {
        min-height: 380px;
        padding: 29px 24px !important;
    }

    .elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process-card__title {
        margin-top: 70px;
    }

    .elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process-card__title
    .elementor-heading-title {
        font-size: 33px;
    }

    .elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process-note {
        grid-template-columns: 1fr;
        align-items: start;
        gap: 16px;
        padding: 25px 22px;
    }

    .elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process__cta .elementor-button {
        min-width: 0;
        min-height: 76px;
    }

    .elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process-card:hover {
        transform: none;
    }
}

/* Reduced motion */

@media (prefers-reduced-motion: reduce) {
    .elementor-2224 .elementor-element.elementor-element-106bc50 *,
    .elementor-2224 .elementor-element.elementor-element-106bc50 *::before,
    .elementor-2224 .elementor-element.elementor-element-106bc50 *::after {
        animation: none !important;
        transition-duration: 0.01ms !important;
    }

    .elementor-2224 .elementor-element.elementor-element-106bc50 .ca-process-card:hover {
        transform: none;
    }
}

@media (max-width: 767px) {
  html[lang^="fr"] .elementor-2224 .elementor-element.elementor-element-106bc50 {
    min-width: 0;
    max-width: 100%;
  }

  html[lang^="fr"] .elementor-2224 .elementor-element.elementor-element-106bc50 .elementor-heading-title {
    font-size: clamp(32px, 8.8vw, 42px) !important;
    line-height: 1.1 !important;
    overflow-wrap: break-word;
    hyphens: auto;
  }
}/* End custom CSS */