.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );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-widget-icon.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-24 .elementor-element.elementor-element-2f758cb .elementor-icon-wrapper{text-align:center;}.elementor-24 .elementor-element.elementor-element-2f758cb.elementor-view-stacked .elementor-icon{background-color:#14356B;}.elementor-24 .elementor-element.elementor-element-2f758cb.elementor-view-framed .elementor-icon, .elementor-24 .elementor-element.elementor-element-2f758cb.elementor-view-default .elementor-icon{color:#14356B;border-color:#14356B;}.elementor-24 .elementor-element.elementor-element-2f758cb.elementor-view-framed .elementor-icon, .elementor-24 .elementor-element.elementor-element-2f758cb.elementor-view-default .elementor-icon svg{fill:#14356B;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );line-height:var( --e-global-typography-accent-line-height );}.elementor-24 .elementor-element.elementor-element-2f83f7e .elementor-button{fill:var( --e-global-color-text );color:var( --e-global-color-text );border-radius:18px 18px 18px 18px;}.elementor-24 .elementor-element.elementor-element-9a3221b .elementor-icon-wrapper{text-align:center;}.elementor-24 .elementor-element.elementor-element-7693016 .elementor-button{fill:var( --e-global-color-text );color:var( --e-global-color-text );border-radius:18px 18px 18px 18px;}.elementor-24 .elementor-element.elementor-element-s4_lifecycle{--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:80px;--padding-bottom:80px;--padding-left:40px;--padding-right:40px;}.elementor-24 .elementor-element.elementor-element-s4_lifecycle:not(.elementor-motion-effects-element-type-background), .elementor-24 .elementor-element.elementor-element-s4_lifecycle > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#f5f6f8;}.elementor-24 .elementor-element.elementor-element-lc_wrap{--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-24 .elementor-element.elementor-element-lc_h2{text-align:center;}.elementor-24 .elementor-element.elementor-element-lc_h2 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:34px;font-weight:700;color:#0a1628;}.elementor-24 .elementor-element.elementor-element-s5_partners{--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:80px;--padding-bottom:80px;--padding-left:40px;--padding-right:40px;}.elementor-24 .elementor-element.elementor-element-s5_partners:not(.elementor-motion-effects-element-type-background), .elementor-24 .elementor-element.elementor-element-s5_partners > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#ffffff;}.elementor-24 .elementor-element.elementor-element-pt_wrap{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-24 .elementor-element.elementor-element-pt_hdr{--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-24 .elementor-element.elementor-element-pt_h2{text-align:center;}.elementor-24 .elementor-element.elementor-element-pt_h2 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:34px;font-weight:700;color:#0a1628;}.elementor-24 .elementor-element.elementor-element-pt_ss{--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;--justify-content:space-evenly;--align-items:stretch;--gap:10px 10px;--row-gap:10px;--column-gap:10px;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#e0e4ea;--border-color:#e0e4ea;--border-radius:18px 18px 18px 18px;box-shadow:2px 2px 10px 1px rgba(10, 22.00000000000001, 40, 0.32);--padding-top:0032px;--padding-bottom:0032px;--padding-left:0028px;--padding-right:00028px;}.elementor-24 .elementor-element.elementor-element-pt_ss:not(.elementor-motion-effects-element-type-background), .elementor-24 .elementor-element.elementor-element-pt_ss > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#ffffff;}.elementor-24 .elementor-element.elementor-element-pt_ss.e-con{--align-self:stretch;--flex-grow:0;--flex-shrink:0;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-24 .elementor-element.elementor-element-fd41b79{padding:0px 0px 0px 0px;text-align:start;}.elementor-24 .elementor-element.elementor-element-fd41b79 img{width:100%;}.elementor-24 .elementor-element.elementor-element-ss_ph3 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:17px;font-weight:700;color:#0a1628;}.elementor-24 .elementor-element.elementor-element-ss_pb{padding:10px 10px 0px 10px;}.elementor-24 .elementor-element.elementor-element-ss_plink .elementor-button{background-color:transparent;font-family:"Poppins", Sans-serif;font-size:13px;font-weight:700;fill:#1a3a6b;color:#1a3a6b;padding:0px 0px 0px 0px;}.elementor-24 .elementor-element.elementor-element-ss_plink{margin:auto  0 calc(var(--kit-widget-spacing, 0px) + 0) 0;}.elementor-24 .elementor-element.elementor-element-pt_fa{--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;--justify-content:space-evenly;--align-items:stretch;--gap:10px 10px;--row-gap:10px;--column-gap:10px;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#e0e4ea;--border-color:#e0e4ea;--border-radius:18px 18px 18px 18px;box-shadow:2px 2px 10px 1px rgba(10, 22.00000000000001, 40, 0.32);--padding-top:0032px;--padding-bottom:0032px;--padding-left:0028px;--padding-right:00028px;}.elementor-24 .elementor-element.elementor-element-pt_fa:not(.elementor-motion-effects-element-type-background), .elementor-24 .elementor-element.elementor-element-pt_fa > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#ffffff;}.elementor-24 .elementor-element.elementor-element-pt_fa.e-con{--align-self:stretch;--flex-grow:0;--flex-shrink:0;}.elementor-24 .elementor-element.elementor-element-3a214e9{margin:5px 5px calc(var(--kit-widget-spacing, 0px) + 5px) 5px;text-align:start;}.elementor-24 .elementor-element.elementor-element-3a214e9 img{width:100%;}.elementor-24 .elementor-element.elementor-element-fa_ph3{padding:5px 5px 5px 5px;}.elementor-24 .elementor-element.elementor-element-fa_ph3 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:17px;font-weight:700;color:#0a1628;}.elementor-24 .elementor-element.elementor-element-fa_pb{padding:10px 10px 10px 10px;}.elementor-24 .elementor-element.elementor-element-fa_plink .elementor-button{background-color:transparent;font-family:"Poppins", Sans-serif;font-size:13px;font-weight:700;fill:#1a3a6b;color:#1a3a6b;padding:0px 0px 0px 0px;}.elementor-24 .elementor-element.elementor-element-pt_sf{--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;--justify-content:space-evenly;--align-items:stretch;--gap:10px 10px;--row-gap:10px;--column-gap:10px;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#e0e4ea;--border-color:#e0e4ea;--border-radius:18px 18px 18px 18px;box-shadow:2px 2px 10px 1px rgba(10, 22.00000000000001, 40, 0.32);--padding-top:0032px;--padding-bottom:0032px;--padding-left:0028px;--padding-right:00028px;}.elementor-24 .elementor-element.elementor-element-pt_sf:not(.elementor-motion-effects-element-type-background), .elementor-24 .elementor-element.elementor-element-pt_sf > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#ffffff;}.elementor-24 .elementor-element.elementor-element-pt_sf.e-con{--align-self:stretch;--flex-grow:0;--flex-shrink:0;}.elementor-24 .elementor-element.elementor-element-b4f208f{text-align:start;}.elementor-24 .elementor-element.elementor-element-b4f208f img{width:18%;}.elementor-24 .elementor-element.elementor-element-sf_ph3 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:17px;font-weight:700;color:#0a1628;}.elementor-24 .elementor-element.elementor-element-sf_plink .elementor-button{background-color:transparent;font-family:"Poppins", Sans-serif;font-size:13px;font-weight:700;fill:#1a3a6b;color:#1a3a6b;padding:0px 0px 0px 0px;}.elementor-24 .elementor-element.elementor-element-pt_ma{--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;--justify-content:space-evenly;--align-items:stretch;--gap:10px 10px;--row-gap:10px;--column-gap:10px;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#e0e4ea;--border-color:#e0e4ea;--border-radius:18px 18px 18px 18px;box-shadow:2px 2px 10px 1px rgba(10, 22.00000000000001, 40, 0.32);--padding-top:0032px;--padding-bottom:0032px;--padding-left:0028px;--padding-right:00028px;}.elementor-24 .elementor-element.elementor-element-pt_ma:not(.elementor-motion-effects-element-type-background), .elementor-24 .elementor-element.elementor-element-pt_ma > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#ffffff;}.elementor-24 .elementor-element.elementor-element-pt_ma.e-con{--align-self:stretch;--flex-grow:0;--flex-shrink:0;}.elementor-24 .elementor-element.elementor-element-15549cf{text-align:start;}.elementor-24 .elementor-element.elementor-element-15549cf img{width:66%;}.elementor-24 .elementor-element.elementor-element-ma_ph3 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:17px;font-weight:700;color:#0a1628;}.elementor-24 .elementor-element.elementor-element-ma_plink .elementor-button{background-color:transparent;font-family:"Poppins", Sans-serif;font-size:13px;font-weight:700;fill:#1a3a6b;color:#1a3a6b;padding:0px 0px 0px 0px;}.elementor-24 .elementor-element.elementor-element-s6_locked{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-evenly;--align-items:stretch;--flex-wrap:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-24 .elementor-element.elementor-element-lk_text{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-24 .elementor-element.elementor-element-f5a8ac4 .elementor-icon-wrapper{text-align:center;}.elementor-24 .elementor-element.elementor-element-f5a8ac4.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-accent );}.elementor-24 .elementor-element.elementor-element-f5a8ac4.elementor-view-framed .elementor-icon, .elementor-24 .elementor-element.elementor-element-f5a8ac4.elementor-view-default .elementor-icon{color:var( --e-global-color-accent );border-color:var( --e-global-color-accent );}.elementor-24 .elementor-element.elementor-element-f5a8ac4.elementor-view-framed .elementor-icon, .elementor-24 .elementor-element.elementor-element-f5a8ac4.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-accent );}.elementor-24 .elementor-element.elementor-element-lk_h2 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:26px;font-weight:700;color:#ffffff;}.elementor-24 .elementor-element.elementor-element-lk_btn .elementor-button{background-color:var( --e-global-color-accent );font-family:"Poppins", Sans-serif;font-size:14px;font-weight:700;fill:var( --e-global-color-text );color:var( --e-global-color-text );border-radius:18px 18px 18px 18px;padding:13px 28px 13px 28px;}.elementor-24 .elementor-element.elementor-element-lk_btn .elementor-button:hover, .elementor-24 .elementor-element.elementor-element-lk_btn .elementor-button:focus{background-color:var( --e-global-color-secondary );color:var( --e-global-color-accent );border-color:var( --e-global-color-accent );box-shadow:1px 1px 16px 0px rgba(0,0,0,0.5);}.elementor-24 .elementor-element.elementor-element-lk_btn .elementor-button:hover svg, .elementor-24 .elementor-element.elementor-element-lk_btn .elementor-button:focus svg{fill:var( --e-global-color-accent );}.elementor-24 .elementor-element.elementor-element-s7_rightplace{--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:80px;--padding-bottom:80px;--padding-left:40px;--padding-right:40px;}.elementor-24 .elementor-element.elementor-element-s7_rightplace:not(.elementor-motion-effects-element-type-background), .elementor-24 .elementor-element.elementor-element-s7_rightplace > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#ffffff;}.elementor-24 .elementor-element.elementor-element-rp_wrap{--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-24 .elementor-element.elementor-element-rp_hdr{--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-24 .elementor-element.elementor-element-rp_h2{text-align:center;}.elementor-24 .elementor-element.elementor-element-rp_h2 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:34px;font-weight:700;color:#0a1628;}.elementor-widget-divider{--divider-color:var( --e-global-color-secondary );}.elementor-widget-divider .elementor-divider__text{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-divider.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-24 .elementor-element.elementor-element-rp_div{--divider-border-style:solid;--divider-color:#e8a600;--divider-border-width:4px;}.elementor-24 .elementor-element.elementor-element-rp_div .elementor-divider-separator{width:60px;margin:0 auto;margin-center:0;}.elementor-24 .elementor-element.elementor-element-rp_div .elementor-divider{text-align:center;padding-block-start:0px;padding-block-end:0px;}.elementor-24 .elementor-element.elementor-element-cta_left{--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;--justify-content:space-evenly;--align-items:stretch;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-24 .elementor-element.elementor-element-cta_left:not(.elementor-motion-effects-element-type-background), .elementor-24 .elementor-element.elementor-element-cta_left > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#0a1628;}.elementor-24 .elementor-element.elementor-element-cta_left.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-24 .elementor-element.elementor-element-cta_h2 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:36px;font-weight:700;line-height:1.2em;color:#ffffff;}.elementor-24 .elementor-element.elementor-element-cta_b1 .elementor-button{background-color:#e8a600;font-family:"Poppins", Sans-serif;font-size:15px;font-weight:700;fill:#000000;color:#000000;border-radius:4px 4px 4px 4px;padding:15px 32px 15px 32px;}.elementor-24 .elementor-element.elementor-element-cta_b2 .elementor-button{background-color:transparent;font-family:"Poppins", Sans-serif;font-size:15px;font-weight:700;fill:#ffffff;color:#ffffff;border-radius:4px 4px 4px 4px;padding:15px 32px 15px 32px;}.elementor-24 .elementor-element.elementor-element-0600a47{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:80px 80px;--row-gap:80px;--column-gap:80px;--padding-top:100px;--padding-bottom:100px;--padding-left:24px;--padding-right:24px;}.elementor-24 .elementor-element.elementor-element-0600a47:not(.elementor-motion-effects-element-type-background), .elementor-24 .elementor-element.elementor-element-0600a47 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F2F2F2;}.elementor-24 .elementor-element.elementor-element-4968085 .tc-card-wrapper{background-color:#ffffff;max-width:1400px;min-height:198px;padding:48px 48px 48px 48px;justify-content:center;}.elementor-24 .elementor-element.elementor-element-4968085 .tc-content-wrap{text-align:left;max-width:100%;gap:0px;}.elementor-24 .elementor-element.elementor-element-4968085 .tc-content{text-align:left;margin-bottom:26px;color:#4a5568;}.elementor-24 .elementor-element.elementor-element-4968085 .tc-name{text-align:left;margin-bottom:0px;color:#2d3748;}.elementor-24 .elementor-element.elementor-element-4968085 .tc-title{text-align:left;color:#718096;}.elementor-24 .elementor-element.elementor-element-4968085 .swiper-button-next::after, .elementor-24 .elementor-element.elementor-element-4968085 .swiper-button-prev::after{color:var( --e-global-color-text );}.elementor-24 .elementor-element.elementor-element-4968085 .swiper-button-next, .elementor-24 .elementor-element.elementor-element-4968085 .swiper-button-prev{background-color:var( --e-global-color-accent );}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-24 .elementor-element.elementor-element-lc_h2 .elementor-heading-title{font-size:26px;}.elementor-24 .elementor-element.elementor-element-pt_h2 .elementor-heading-title{font-size:26px;}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-24 .elementor-element.elementor-element-lk_h2 .elementor-heading-title{font-size:22px;}.elementor-24 .elementor-element.elementor-element-rp_h2 .elementor-heading-title{font-size:26px;}.elementor-widget-divider .elementor-divider__text{font-size:var( --e-global-typography-secondary-font-size );}.elementor-24 .elementor-element.elementor-element-cta_h2 .elementor-heading-title{font-size:28px;}.elementor-24 .elementor-element.elementor-element-0600a47{--min-height:0px;--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:flex-start;--gap:16px 16px;--row-gap:16px;--column-gap:16px;--padding-top:80px;--padding-bottom:80px;--padding-left:16px;--padding-right:16px;}}@media(max-width:767px){.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-24 .elementor-element.elementor-element-lc_h2 .elementor-heading-title{font-size:22px;}.elementor-24 .elementor-element.elementor-element-pt_h2 .elementor-heading-title{font-size:22px;}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-24 .elementor-element.elementor-element-lk_h2 .elementor-heading-title{font-size:18px;}.elementor-24 .elementor-element.elementor-element-rp_h2 .elementor-heading-title{font-size:22px;}.elementor-widget-divider .elementor-divider__text{font-size:var( --e-global-typography-secondary-font-size );}.elementor-24 .elementor-element.elementor-element-cta_h2 .elementor-heading-title{font-size:24px;}.elementor-24 .elementor-element.elementor-element-0600a47{--gap:16px 16px;--row-gap:16px;--column-gap:16px;--padding-top:48px;--padding-bottom:48px;--padding-left:16px;--padding-right:16px;}}@media(min-width:768px){.elementor-24 .elementor-element.elementor-element-pt_ss{--width:23%;}.elementor-24 .elementor-element.elementor-element-pt_fa{--width:23%;}.elementor-24 .elementor-element.elementor-element-pt_sf{--width:23%;}.elementor-24 .elementor-element.elementor-element-pt_ma{--width:23%;}.elementor-24 .elementor-element.elementor-element-lk_text{--content-width:100%;}.elementor-24 .elementor-element.elementor-element-cta_left{--width:100%;}.elementor-24 .elementor-element.elementor-element-0600a47{--content-width:1280px;}}@media(max-width:1024px) and (min-width:768px){.elementor-24 .elementor-element.elementor-element-pt_ss{--width:100%;}.elementor-24 .elementor-element.elementor-element-pt_fa{--width:100%;}.elementor-24 .elementor-element.elementor-element-pt_sf{--width:100%;}.elementor-24 .elementor-element.elementor-element-pt_ma{--width:100%;}}/* Start custom CSS for html, class: .elementor-element-ffda0d8 *//* =========================================
   TCC SERVICES HERO SHAPE
   SEPARATE HTML WIDGET
   ========================================= */

.elementor-24 .elementor-element.elementor-element-ffda0d8 {
  position: absolute !important;
  z-index: 2 !important;

  inset: 0 !important;

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

  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;

  overflow: hidden !important;
  pointer-events: none;
}

/* Elementor HTML widget wrapper */
.elementor-24 .elementor-element.elementor-element-ffda0d8 .elementor-widget-container {
  position: relative;

  width: 100%;
  height: 100%;

  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;

  overflow: hidden !important;
  pointer-events: none;
}

/* Large illustration on the right */
.elementor-24 .elementor-element.elementor-element-ffda0d8 .tcc-services-shape {
  position: absolute;

  top: 50%;
  right: -14%;

  width: 65%;
  max-width: 1000px;

  display: flex;
  align-items: center;
  justify-content: center;

  overflow: visible;

  transform: translateY(-50%);
  pointer-events: none;
}

/* SVG stays intentionally oversized */
.elementor-24 .elementor-element.elementor-element-ffda0d8 .tcc-services-shape svg {
  display: block;

  width: 100%;
  max-width: none;
  height: auto;

  overflow: visible;

  transform-origin: center;
  will-change: transform;

  animation: tcc-shape-main-float 7s ease-in-out infinite;
}

/* Whole illustration gently floats */
@keyframes tcc-shape-main-float {
  0%,
  100% {
    transform: translate3d(0, 0, 0) scale(1);
  }

  50% {
    transform: translate3d(-8px, -7px, 0) scale(1.012);
  }
}

/* Allow individual SVG elements to move */
.elementor-24 .elementor-element.elementor-element-ffda0d8 .tcc-services-shape svg rect,
.elementor-24 .elementor-element.elementor-element-ffda0d8 .tcc-services-shape svg path,
.elementor-24 .elementor-element.elementor-element-ffda0d8 .tcc-services-shape svg line {
  transform-box: fill-box;
  transform-origin: center;
}

/* =========================================
   ROUNDED MODULES
   ========================================= */

.elementor-24 .elementor-element.elementor-element-ffda0d8 .tcc-services-shape svg rect {
  animation: tcc-shape-box-move 5.8s ease-in-out infinite;
}

.elementor-24 .elementor-element.elementor-element-ffda0d8 .tcc-services-shape svg rect:nth-of-type(2n) {
  animation-delay: -1.4s;
  animation-duration: 6.6s;
}

.elementor-24 .elementor-element.elementor-element-ffda0d8 .tcc-services-shape svg rect:nth-of-type(3n) {
  animation-delay: -2.6s;
  animation-duration: 7.2s;
}

@keyframes tcc-shape-box-move {
  0%,
  100% {
    transform: translate3d(0, 0, 0);
  }

  50% {
    transform: translate3d(0, -4px, 0);
  }
}

/* =========================================
   BLUE CONNECTION PATHS
   ========================================= */

.elementor-24 .elementor-element.elementor-element-ffda0d8 .tcc-services-shape svg path {
  animation: tcc-shape-path-move 6.5s ease-in-out infinite;
}

.elementor-24 .elementor-element.elementor-element-ffda0d8 .tcc-services-shape svg path:nth-of-type(2n) {
  animation-delay: -2s;
}

@keyframes tcc-shape-path-move {
  0%,
  100% {
    transform: translate3d(0, 0, 0);
  }

  50% {
    transform: translate3d(3px, -2px, 0);
  }
}

/* =========================================
   YELLOW ROUTE
   Route, arrowhead, and nodes stay together
   ========================================= */

.elementor-24 .elementor-element.elementor-element-ffda0d8 .tcc-yellow-route {
  transform-box: fill-box;
  transform-origin: center;

  animation: tcc-yellow-route-move 6.5s ease-in-out infinite;
}

/* Prevent its individual pieces from separating */
.elementor-24 .elementor-element.elementor-element-ffda0d8 .tcc-yellow-route path,
.elementor-24 .elementor-element.elementor-element-ffda0d8 .tcc-yellow-route circle {
  animation: none !important;
}

@keyframes tcc-yellow-route-move {
  0%,
  100% {
    transform: translate3d(0, 0, 0);
  }

  50% {
    transform: translate3d(3px, -2px, 0);
  }
}

/* =========================================
   INTERNAL LINES
   ========================================= */

.elementor-24 .elementor-element.elementor-element-ffda0d8 .tcc-services-shape svg line {
  animation: tcc-shape-line-move 5s ease-in-out infinite;
}

.elementor-24 .elementor-element.elementor-element-ffda0d8 .tcc-services-shape svg line:nth-of-type(2n) {
  animation-delay: -1.8s;
}

@keyframes tcc-shape-line-move {
  0%,
  100% {
    transform: translate3d(0, 0, 0);
  }

  50% {
    transform: translate3d(-3px, 2px, 0);
  }
}

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

@media (max-width: 1024px) {
  .elementor-24 .elementor-element.elementor-element-ffda0d8 .tcc-services-shape {
    right: -18%;
    width: 70%;
    max-width: 900px;
  }
}

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

@media (max-width: 767px) {
  .elementor-24 .elementor-element.elementor-element-ffda0d8 {
    display: none !important;
  }
}

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

@media (prefers-reduced-motion: reduce) {
  .elementor-24 .elementor-element.elementor-element-ffda0d8 .tcc-services-shape svg,
  .elementor-24 .elementor-element.elementor-element-ffda0d8 .tcc-services-shape svg rect,
  .elementor-24 .elementor-element.elementor-element-ffda0d8 .tcc-services-shape svg path,
  .elementor-24 .elementor-element.elementor-element-ffda0d8 .tcc-services-shape svg line,
  .elementor-24 .elementor-element.elementor-element-ffda0d8 .tcc-yellow-route {
    animation: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-216acc2 *//* =========================================
   TCC SERVICES HERO FLEXBOX
   NO-MANUAL-CLASS VERSION
   Paste into: Appearance > Customize > Additional CSS

   Requires NOTHING typed into any Elementor field.
   It auto-targets:
   - the Flexbox container that holds the section
     with class "tcc-services-page-header"
     (already in your Text Editor HTML)
   - the HTML widget that holds ".tcc-services-shape"
     (already in your HTML widget content)

   Uses the :has() .elementor-24 .elementor-element.elementor-element-216acc2 (all modern browsers).
   ========================================= */

/* =========================================
   THE FLEXBOX CONTAINER
   Auto-detected: any container whose direct
   Text Editor child contains the services header
   ========================================= */

.e-con:has(> .elementor-widget-text-editor .tcc-services-page-header),
.e-con:has(> .e-con-inner > .elementor-widget-text-editor .tcc-services-page-header) {
  position: relative;
  isolation: isolate;

  display: flex;
  flex-direction: row;
  align-items: stretch;
  justify-content: flex-start;
  flex-wrap: nowrap;

  width: 100%;
  max-width: 100%;
  min-height: 420px;

  margin: 0;
  padding: 0;

  color: #ffffff;

  background:
    radial-gradient(
      circle at 12% 18%,
      rgba(255, 206, 0, 0.14) 0%,
      rgba(255, 206, 0, 0) 30%
    ),
    radial-gradient(
      circle at 82% 48%,
      rgba(47, 132, 230, 0.12) 0%,
      rgba(47, 132, 230, 0) 38%
    ),
    linear-gradient(
      135deg,
      #0a192f 0%,
      #101f4d 55%,
      #15295e 100%
    ) !important;

  overflow: hidden !important;
}

/* Yellow dotted accent */
.e-con:has(> .elementor-widget-text-editor .tcc-services-page-header)::before,
.e-con:has(> .e-con-inner > .elementor-widget-text-editor .tcc-services-page-header)::before {
  content: "";

  position: absolute;
  z-index: 0;

  top: 34px;
  left: 34px;

  width: 145px;
  height: 145px;

  background-image: radial-gradient(
    rgba(255, 206, 0, 0.32) 1.5px,
    transparent 1.5px
  );

  background-size: 15px 15px;
  opacity: 0.7;

  pointer-events: none;
}

/* Soft yellow glow */
.e-con:has(> .elementor-widget-text-editor .tcc-services-page-header)::after,
.e-con:has(> .e-con-inner > .elementor-widget-text-editor .tcc-services-page-header)::after {
  content: "";

  position: absolute;
  z-index: 0;

  right: -120px;
  bottom: -170px;

  width: 420px;
  height: 420px;

  border-radius: 50%;

  background: rgba(255, 206, 0, 0.08);
  filter: blur(10px);

  pointer-events: none;
}

/* Optional Elementor inner wrapper */
.e-con:has(> .e-con-inner > .elementor-widget-text-editor .tcc-services-page-header) > .e-con-inner {
  position: relative;
  z-index: 1;

  display: flex;
  flex-direction: row;
  align-items: stretch;
  justify-content: flex-start;
  flex-wrap: nowrap;

  width: 100%;
  max-width: none !important;
  min-height: 420px;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;
}

/* =========================================
   TEXT EDITOR WIDGET
   Auto-detected: the widget containing the section
   ========================================= */

.elementor-widget-text-editor:has(.tcc-services-page-header) {
  position: relative !important;
  z-index: 3 !important;

  flex: 0 0 100% !important;

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

  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;
}

.elementor-widget-text-editor:has(.tcc-services-page-header)
  > .elementor-widget-container {
  width: 100%;
  max-width: 100%;

  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;
}

/* =========================================
   HEADER SECTION
   Targeted directly by its own class
   ========================================= */

.tcc-services-page-header {
  position: relative;
  z-index: auto;

  display: flex;
  align-items: center;

  width: 100%;
  min-height: 420px;

  margin: 0;
  padding: 50px 24px;

  color: #ffffff;

  background: transparent !important;
  overflow: visible;
}

/* Disable the old section-level decorations */
.tcc-services-page-header::before,
.tcc-services-page-header::after {
  content: none !important;
  display: none !important;
}

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

.tcc-services-page-header .tcc-page-header-inner {
  position: relative;
  z-index: 5 !important;

  width: 100%;
  max-width: 1180px;

  margin: 0 auto;
}

.tcc-services-page-header .tcc-page-header-content {
  position: relative;
  z-index: 5 !important;

  width: 100%;
  max-width: 850px;
}

/* Eyebrow */
.tcc-services-page-header .tcc-page-header-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;

  margin: 0 0 18px;

  color: #ffce00;

  font-size: 14px;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: 2.5px;
  text-transform: uppercase;
}

.tcc-services-page-header .tcc-page-header-eyebrow::before {
  content: "" !important;
  display: inline-block !important;

  width: 34px;
  height: 3px;
  flex: 0 0 34px;

  border-radius: 999px;
  background: #ffce00;
}

/* Title */
.tcc-services-page-header .tcc-page-header-title {
  max-width: 850px;

  margin: 0 0 22px;

  color: #ffffff !important;

  font-size: clamp(42px, 6vw, 72px);
  font-weight: 800;
  line-height: 1.03;
  letter-spacing: -2px;
}

.tcc-services-page-header .tcc-page-header-title-highlight {
  display: block;
  color: #ffce00;
}

/* Description */
.tcc-services-page-header .tcc-page-header-description {
  max-width: 760px;

  margin: 0;

  color: rgba(255, 255, 255, 0.84) !important;

  font-size: clamp(18px, 2vw, 22px);
  font-weight: 400;
  line-height: 1.65;
}

/* =========================================
   SEPARATE HTML SHAPE WIDGET
   Auto-detected: the widget containing the shape
   ========================================= */

.elementor-widget-html:has(.tcc-services-shape) {
  position: absolute !important;
  z-index: 2 !important;

  inset: 0 !important;

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

  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;

  overflow: hidden !important;
  pointer-events: none;
}

.elementor-widget-html:has(.tcc-services-shape)
  > .elementor-widget-container {
  position: relative;

  width: 100%;
  height: 100%;

  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;

  overflow: hidden !important;
  pointer-events: none;
}

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

@media (max-width: 1024px) {
  .e-con:has(> .elementor-widget-text-editor .tcc-services-page-header),
  .e-con:has(> .e-con-inner > .elementor-widget-text-editor .tcc-services-page-header),
  .e-con:has(> .e-con-inner > .elementor-widget-text-editor .tcc-services-page-header) > .e-con-inner {
    min-height: 420px;
  }

  .tcc-services-page-header {
    min-height: 420px;
    padding: 70px 30px 68px;
  }

  .tcc-services-page-header .tcc-page-header-content {
    max-width: 650px;
  }

  .tcc-services-page-header .tcc-page-header-title {
    max-width: 650px;
    font-size: clamp(42px, 5.5vw, 60px);
  }

  .tcc-services-page-header .tcc-page-header-description {
    max-width: 600px;
  }
}

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

@media (max-width: 767px) {
  .e-con:has(> .elementor-widget-text-editor .tcc-services-page-header),
  .e-con:has(> .e-con-inner > .elementor-widget-text-editor .tcc-services-page-header) {
    display: block;

    min-height: auto;

    overflow: hidden !important;
  }

  .e-con:has(> .e-con-inner > .elementor-widget-text-editor .tcc-services-page-header) > .e-con-inner {
    display: block;
    min-height: auto;
  }

  .tcc-services-page-header {
    min-height: auto;
    padding: 72px 20px 62px;
  }

  .e-con:has(> .elementor-widget-text-editor .tcc-services-page-header)::before,
  .e-con:has(> .e-con-inner > .elementor-widget-text-editor .tcc-services-page-header)::before {
    top: 20px;
    left: 18px;

    width: 100px;
    height: 100px;

    background-size: 13px 13px;
    opacity: 0.45;
  }

  .tcc-services-page-header .tcc-page-header-content {
    max-width: 100%;
  }

  .tcc-services-page-header .tcc-page-header-title {
    max-width: 100%;

    margin-bottom: 18px;

    font-size: clamp(38px, 12vw, 52px);
    line-height: 1.08;
    letter-spacing: -1.2px;
  }

  .tcc-services-page-header .tcc-page-header-description {
    max-width: 100%;

    font-size: 18px;
    line-height: 1.6;
  }

  /* Hide decorative graphic on phones */
  .elementor-widget-html:has(.tcc-services-shape) {
    display: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-803f128 *//* =========================================
   TCC INTRO BLOCK
   "Strategy Before Software"
   Paste into the Text Editor widget:
   Advanced > Custom CSS
   Flexbox container: default settings, no CSS
   ========================================= */

.elementor-24 .elementor-element.elementor-element-803f128 {
  width: 100%;
  max-width: 100%;

  margin: 0 !important;
  padding: 0 !important;
}

.elementor-24 .elementor-element.elementor-element-803f128 .elementor-widget-container {
  width: 100%;
  max-width: 100%;

  margin: 0 !important;
  padding: 0 !important;
}

/* Section */
.elementor-24 .elementor-element.elementor-element-803f128 .tcc-intro-block {
  width: 100%;

  margin: 0;
  padding: 40px 20px;

  background: #ffffff;
}

.elementor-24 .elementor-element.elementor-element-803f128 .tcc-intro-block-inner {
  width: 100%;
  max-width: 900px;

  margin: 0 auto;

  text-align: center;
}

/* Heading */
.elementor-24 .elementor-element.elementor-element-803f128 .tcc-intro-block-title {
  margin: 0 0 18px;

  color: #101f4d;

  font-size: clamp(28px, 3.4vw, 30px);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.5px;
}

/* Yellow divider */
.elementor-24 .elementor-element.elementor-element-803f128 .tcc-intro-block-divider {
  width: 46px;
  height: 4px;

  margin: 0 auto 30px;

  border-radius: 999px;
  background: #ffce00;
}

/* Body paragraphs */
.elementor-24 .elementor-element.elementor-element-803f128 .tcc-intro-block-text {
  max-width: 820px;

  margin: 0 auto 22px;

  color: #3d4657;

  font-size: clamp(16px, 1.4vw, 18px);
  font-weight: 400;
  line-height: 1.7;
}

.elementor-24 .elementor-element.elementor-element-803f128 .tcc-intro-block-text:last-of-type {
  margin-bottom: 28px;
}

/* Bold lead-in line */
.elementor-24 .elementor-element.elementor-element-803f128 .tcc-intro-block-lead {
  margin: 0 auto;

  color: #101f4d;

  font-size: clamp(17px, 1.5vw, 19px);
  font-weight: 800;
  line-height: 1.5;
}

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

@media (max-width: 1024px) {
  .elementor-24 .elementor-element.elementor-element-803f128 .tcc-intro-block {
    padding: 60px 30px;
  }

  .elementor-24 .elementor-element.elementor-element-803f128 .tcc-intro-block-inner {
    max-width: 720px;
  }
}

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

@media (max-width: 767px) {
  .elementor-24 .elementor-element.elementor-element-803f128 .tcc-intro-block {
    padding: 50px 20px;
  }

  .elementor-24 .elementor-element.elementor-element-803f128 .tcc-intro-block-title {
    font-size: clamp(24px, 7vw, 30px);
    letter-spacing: -0.3px;
  }

  .elementor-24 .elementor-element.elementor-element-803f128 .tcc-intro-block-divider {
    margin-bottom: 24px;
  }

  .elementor-24 .elementor-element.elementor-element-803f128 .tcc-intro-block-text {
    font-size: 16px;
    line-height: 1.65;

    margin-bottom: 18px;
  }

  .elementor-24 .elementor-element.elementor-element-803f128 .tcc-intro-block-lead {
    font-size: 17px;
  }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-2f83f7e *//* =========================================
   TCC SERVICE CARDS (BUTTON WIDGET VERSION)
   Paste into: Appearance > Customize > Additional CSS

   No manual classes needed. Auto-targets:
   - the card container: any Flexbox whose direct
     Text Editor child contains ".tcc-service-card-body"
   - the Button widget inside that container

   Structure this styles:
   Flexbox (parent, row)  <- layout set in Elementor UI
   |- Flexbox (card)      <- white card look from this CSS
   |  |- Text Editor      <- card content
   |  |- Button widget    <- Explore link
   |- Flexbox (card)
      |- Text Editor
      |- Button widget
   ========================================= */

/* =========================================
   CARD CONTAINER
   ========================================= */

.e-con:has(> .elementor-widget-text-editor .tcc-service-card-body),
.e-con:has(> .e-con-inner > .elementor-widget-text-editor .tcc-service-card-body) {
  display: flex;
  flex-direction: column;
  align-items: stretch;

  padding: 38px 40px 40px;

  background: #ffffff !important;
  border-radius: 18px;
  box-shadow: 0 6px 24px rgba(16, 31, 77, 0.07);
}

/* If Elementor renders an inner wrapper, keep it a column too */
.e-con:has(> .e-con-inner > .elementor-widget-text-editor .tcc-service-card-body) > .e-con-inner {
  display: flex;
  flex-direction: column;
  align-items: stretch;

  width: 100%;

  margin: 0;
  padding: 0;
}

/* Text editor widget inside the card */
.elementor-widget-text-editor:has(.tcc-service-card-body) {
  width: 100%;

  margin: 0 !important;
}

.elementor-widget-text-editor:has(.tcc-service-card-body)
  > .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}

/* Button widget inside the card:
   pinned to the bottom so both cards align */
.e-con:has(> .elementor-widget-text-editor .tcc-service-card-body) > .elementor-widget-button,
.e-con:has(> .e-con-inner > .elementor-widget-text-editor .tcc-service-card-body) > .e-con-inner > .elementor-widget-button {
  margin-top: auto !important;
  padding-top: 28px;
}

/* =========================================
   CARD CONTENT
   ========================================= */

.tcc-service-card-body {
  width: 100%;
}

/* Header: icon + heading side by side */
.tcc-service-card-header {
  display: flex;
  align-items: flex-start;
  gap: 26px;

  margin-bottom: 26px;
}

/* Icon circle */
.tcc-service-card-icon {
  flex: 0 0 96px;

  width: 96px;
  height: 96px;

  display: flex;
  align-items: center;
  justify-content: center;

  background: #ffffff;
  border: 1px solid #e6eaf2;
  border-radius: 50%;
}

.tcc-service-card-icon svg {
  width: 58px;
  height: 58px;

  display: block;
}

/* Title */
.tcc-service-card-title {
  margin: 0 0 10px;

  color: #14356b;

  font-size: clamp(24px, 2.2vw, 30px);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.4px;
}

/* Small yellow divider */
.tcc-service-card-divider {
  width: 34px;
  height: 3px;

  margin: 0 0 12px;

  border-radius: 999px;
  background: #ffce00;
}

/* Tagline */
.tcc-service-card-tagline {
  margin: 0;

  color: #14356b;

  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
}

/* Body text */
.tcc-service-card-text {
  margin: 0 0 22px;

  color: #3d4657;

  font-size: 16.5px;
  font-weight: 400;
  line-height: 1.65;
}

/* Check list */
.tcc-service-card-list {
  margin: 0;
  padding: 0;

  list-style: none;
}

.tcc-service-card-list li {
  position: relative;

  margin: 0 0 13px;
  padding-left: 32px;

  color: #3d4657;

  font-size: 16px;
  font-weight: 400;
  line-height: 1.45;
}

.tcc-service-card-list li:last-child {
  margin-bottom: 0;
}

/* Yellow check bullet */
.tcc-service-card-list li::before {
  content: "";

  position: absolute;
  top: 1px;
  left: 0;

  width: 19px;
  height: 19px;

  border-radius: 50%;

  background-color: #ffb700;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-7' fill='none' stroke='%23ffffff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-size: 14px 14px;
  background-position: center;
  background-repeat: no-repeat;
}

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

@media (max-width: 1024px) {
  .e-con:has(> .elementor-widget-text-editor .tcc-service-card-body),
  .e-con:has(> .e-con-inner > .elementor-widget-text-editor .tcc-service-card-body) {
    padding: 30px 28px 34px;
  }

  .tcc-service-card-header {
    gap: 18px;
  }

  .tcc-service-card-icon {
    flex: 0 0 76px;

    width: 76px;
    height: 76px;
  }

  .tcc-service-card-icon svg {
    width: 46px;
    height: 46px;
  }

  .tcc-service-card-title {
    font-size: clamp(21px, 2.6vw, 26px);
  }
}

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

@media (max-width: 767px) {
  .e-con:has(> .elementor-widget-text-editor .tcc-service-card-body),
  .e-con:has(> .e-con-inner > .elementor-widget-text-editor .tcc-service-card-body) {
    padding: 26px 22px 30px;
  }

  /* Icon above the heading */
  .tcc-service-card-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;

    margin-bottom: 20px;
  }

  .tcc-service-card-icon {
    flex: 0 0 auto;

    width: 68px;
    height: 68px;
  }

  .tcc-service-card-icon svg {
    width: 42px;
    height: 42px;
  }

  .tcc-service-card-title {
    font-size: 22px;
  }

  .tcc-service-card-text,
  .tcc-service-card-list li {
    font-size: 15.5px;
  }

  .e-con:has(> .elementor-widget-text-editor .tcc-service-card-body) > .elementor-widget-button,
  .e-con:has(> .e-con-inner > .elementor-widget-text-editor .tcc-service-card-body) > .e-con-inner > .elementor-widget-button {
    padding-top: 22px;
  }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-7693016 *//* =========================================
   TCC SERVICE CARDS (BUTTON WIDGET VERSION)
   Paste into: Appearance > Customize > Additional CSS

   No manual classes needed. Auto-targets:
   - the card container: any Flexbox whose direct
     Text Editor child contains ".tcc-service-card-body"
   - the Button widget inside that container

   Structure this styles:
   Flexbox (parent, row)  <- layout set in Elementor UI
   |- Flexbox (card)      <- white card look from this CSS
   |  |- Text Editor      <- card content
   |  |- Button widget    <- Explore link
   |- Flexbox (card)
      |- Text Editor
      |- Button widget
   ========================================= */

/* =========================================
   CARD CONTAINER
   ========================================= */

.e-con:has(> .elementor-widget-text-editor .tcc-service-card-body),
.e-con:has(> .e-con-inner > .elementor-widget-text-editor .tcc-service-card-body) {
  display: flex;
  flex-direction: column;
  align-items: stretch;

  padding: 38px 40px 40px;

  background: #ffffff !important;
  border-radius: 18px;
  box-shadow: 0 6px 24px rgba(16, 31, 77, 0.07);
}

/* If Elementor renders an inner wrapper, keep it a column too */
.e-con:has(> .e-con-inner > .elementor-widget-text-editor .tcc-service-card-body) > .e-con-inner {
  display: flex;
  flex-direction: column;
  align-items: stretch;

  width: 100%;

  margin: 0;
  padding: 0;
}

/* Text editor widget inside the card */
.elementor-widget-text-editor:has(.tcc-service-card-body) {
  width: 100%;

  margin: 0 !important;
}

.elementor-widget-text-editor:has(.tcc-service-card-body)
  > .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}

/* Button widget inside the card:
   pinned to the bottom so both cards align */
.e-con:has(> .elementor-widget-text-editor .tcc-service-card-body) > .elementor-widget-button,
.e-con:has(> .e-con-inner > .elementor-widget-text-editor .tcc-service-card-body) > .e-con-inner > .elementor-widget-button {
  margin-top: auto !important;
  padding-top: 28px;
}

/* =========================================
   CARD CONTENT
   ========================================= */

.tcc-service-card-body {
  width: 100%;
}

/* Header: icon + heading side by side */
.tcc-service-card-header {
  display: flex;
  align-items: flex-start;
  gap: 26px;

  margin-bottom: 26px;
}

/* Icon circle */
.tcc-service-card-icon {
  flex: 0 0 96px;

  width: 96px;
  height: 96px;

  display: flex;
  align-items: center;
  justify-content: center;

  background: #ffffff;
  border: 1px solid #e6eaf2;
  border-radius: 50%;
}

.tcc-service-card-icon svg {
  width: 58px;
  height: 58px;

  display: block;
}

/* Title */
.tcc-service-card-title {
  margin: 0 0 10px;

  color: #14356b;

  font-size: clamp(24px, 2.2vw, 30px);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.4px;
}

/* Small yellow divider */
.tcc-service-card-divider {
  width: 34px;
  height: 3px;

  margin: 0 0 12px;

  border-radius: 999px;
  background: #ffce00;
}

/* Tagline */
.tcc-service-card-tagline {
  margin: 0;

  color: #14356b;

  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
}

/* Body text */
.tcc-service-card-text {
  margin: 0 0 22px;

  color: #3d4657;

  font-size: 16.5px;
  font-weight: 400;
  line-height: 1.65;
}

/* Check list */
.tcc-service-card-list {
  margin: 0;
  padding: 0;

  list-style: none;
}

.tcc-service-card-list li {
  position: relative;

  margin: 0 0 13px;
  padding-left: 32px;

  color: #3d4657;

  font-size: 16px;
  font-weight: 400;
  line-height: 1.45;
}

.tcc-service-card-list li:last-child {
  margin-bottom: 0;
}

/* Yellow check bullet */
.tcc-service-card-list li::before {
  content: "";

  position: absolute;
  top: 1px;
  left: 0;

  width: 19px;
  height: 19px;

  border-radius: 50%;

  background-color: #ffb700;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-7' fill='none' stroke='%23ffffff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-size: 14px 14px;
  background-position: center;
  background-repeat: no-repeat;
}

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

@media (max-width: 1024px) {
  .e-con:has(> .elementor-widget-text-editor .tcc-service-card-body),
  .e-con:has(> .e-con-inner > .elementor-widget-text-editor .tcc-service-card-body) {
    padding: 30px 28px 34px;
  }

  .tcc-service-card-header {
    gap: 18px;
  }

  .tcc-service-card-icon {
    flex: 0 0 76px;

    width: 76px;
    height: 76px;
  }

  .tcc-service-card-icon svg {
    width: 46px;
    height: 46px;
  }

  .tcc-service-card-title {
    font-size: clamp(21px, 2.6vw, 26px);
  }
}

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

@media (max-width: 767px) {
  .e-con:has(> .elementor-widget-text-editor .tcc-service-card-body),
  .e-con:has(> .e-con-inner > .elementor-widget-text-editor .tcc-service-card-body) {
    padding: 26px 22px 30px;
  }

  /* Icon above the heading */
  .tcc-service-card-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;

    margin-bottom: 20px;
  }

  .tcc-service-card-icon {
    flex: 0 0 auto;

    width: 68px;
    height: 68px;
  }

  .tcc-service-card-icon svg {
    width: 42px;
    height: 42px;
  }

  .tcc-service-card-title {
    font-size: 22px;
  }

  .tcc-service-card-text,
  .tcc-service-card-list li {
    font-size: 15.5px;
  }

  .e-con:has(> .elementor-widget-text-editor .tcc-service-card-body) > .elementor-widget-button,
  .e-con:has(> .e-con-inner > .elementor-widget-text-editor .tcc-service-card-body) > .e-con-inner > .elementor-widget-button {
    padding-top: 22px;
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-fd41b79 */.elementor-24 .elementor-element.elementor-element-fd41b79 img {
  height: 60px !important;
  width: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
  object-position: left center !important;
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-ss_ph3 */.elementor-24 .elementor-element.elementor-element-ss_ph3 {
  margin-top: auto !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-ss_plink */.elementor-24 .elementor-element.elementor-element-ss_plink {
  margin-top: auto !important;
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-3a214e9 */.elementor-24 .elementor-element.elementor-element-3a214e9 img {
  height: 60px !important;
  width: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
  object-position: left center !important;
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-fa_ph3 */.elementor-24 .elementor-element.elementor-element-fa_ph3 {
  margin-top: auto !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-fa_plink */.elementor-24 .elementor-element.elementor-element-fa_plink {
  margin-top: auto !important;
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-b4f208f */.elementor-24 .elementor-element.elementor-element-b4f208f img {
  height: 60px !important;
  width: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
  object-position: left center !important;
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-sf_ph3 */.elementor-24 .elementor-element.elementor-element-sf_ph3 {
  margin-top: auto !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-sf_plink */.elementor-24 .elementor-element.elementor-element-sf_plink {
  margin-top: auto !important;
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-15549cf */.elementor-24 .elementor-element.elementor-element-15549cf img {
  height: 60px !important;
  width: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
  object-position: left center !important;
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-ma_ph3 */.elementor-24 .elementor-element.elementor-element-ma_ph3 {
  margin-top: auto !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-ma_plink */.elementor-24 .elementor-element.elementor-element-ma_plink {
  margin-top: auto !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-lk_text *//* =========================================
   TCC CTA BAND - HORIZONTAL LAYOUT
   "Partnered. Not Platform-Locked."
   Icon left | Heading + text center | Button right

   REPLACES the previous .tcc-cta-band block.
   Paste into: Appearance > Customize > Additional CSS

   Requires (already done if the band shows navy):
   - container class: tcc-cta-band
   - no background color set on the container
   ========================================= */

.tcc-cta-band {
  position: relative;
  isolation: isolate;

  min-height: 0;

  padding: 40px 48px !important;

  color: #ffffff;

  background:
    radial-gradient(
      circle at 12% 18%,
      rgba(255, 206, 0, 0.14) 0%,
      rgba(255, 206, 0, 0) 30%
    ),
    radial-gradient(
      circle at 82% 48%,
      rgba(47, 132, 230, 0.12) 0%,
      rgba(47, 132, 230, 0) 38%
    ),
    linear-gradient(
      135deg,
      #0a192f 0%,
      #101f4d 55%,
      #15295e 100%
    ) !important;

  overflow: hidden !important;
}

/* Yellow dotted accent */
.tcc-cta-band::before {
  content: "";

  position: absolute;
  z-index: 0;

  top: 18px;
  left: 22px;

  width: 90px;
  height: 90px;

  background-image: radial-gradient(
    rgba(255, 206, 0, 0.32) 1.5px,
    transparent 1.5px
  );

  background-size: 15px 15px;
  opacity: 0.7;

  pointer-events: none;
}

/* Soft yellow glow */
.tcc-cta-band::after {
  content: "";

  position: absolute;
  z-index: 0;

  right: -140px;
  bottom: -190px;

  width: 380px;
  height: 380px;

  border-radius: 50%;

  background: rgba(255, 206, 0, 0.08);
  filter: blur(10px);

  pointer-events: none;
}

/* =========================================
   GRID LAYOUT
   3 columns: icon | heading+text | button
   Works on the container directly, or on
   Elementor's inner wrapper when present.
   ========================================= */

.tcc-cta-band,
.tcc-cta-band > .e-con-inner {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto;
  grid-template-rows: auto auto;

  column-gap: 42px;
  row-gap: 6px;

  align-items: center;

  max-width: 100%;
}

/* When the inner wrapper exists, the outer
   container just holds the background */
.tcc-cta-band:has(> .e-con-inner) {
  display: block !important;
}

.tcc-cta-band > .e-con-inner {
  width: 100%;
  max-width: 1180px;

  margin: 0 auto;
  padding: 0;
}

/* All widgets above the decorations */
.tcc-cta-band > .elementor-element,
.tcc-cta-band > .e-con-inner > .elementor-element {
  position: relative;
  z-index: 1;

  margin: 0 !important;
}

/* Icon: left column, spans both rows */
.tcc-cta-band > .elementor-widget-icon,
.tcc-cta-band > .e-con-inner > .elementor-widget-icon {
  grid-column: 1;
  grid-row: 1 / 3;

  align-self: center;
}

/* Heading: middle column, top row */
.tcc-cta-band > .elementor-widget-heading,
.tcc-cta-band > .e-con-inner > .elementor-widget-heading {
  grid-column: 2;
  grid-row: 1;

  align-self: end;
}

/* Text: middle column, bottom row */
.tcc-cta-band > .elementor-widget-text-editor,
.tcc-cta-band > .e-con-inner > .elementor-widget-text-editor {
  grid-column: 2;
  grid-row: 2;

  align-self: start;
}

/* Button: right column, spans both rows */
.tcc-cta-band > .elementor-widget-button,
.tcc-cta-band > .e-con-inner > .elementor-widget-button {
  grid-column: 3;
  grid-row: 1 / 3;

  align-self: center;
}

/* =========================================
   TYPOGRAPHY
   ========================================= */

.tcc-cta-band .elementor-widget-heading .elementor-heading-title {
  color: #ffffff;

  font-size: clamp(22px, 2.2vw, 30px);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -0.4px;

  text-align: left;

  margin: 0;
}

.tcc-cta-band .elementor-widget-text-editor {
  max-width: 720px;

  color: rgba(255, 255, 255, 0.84);

  font-size: clamp(15px, 1.2vw, 17px);
  line-height: 1.6;

  text-align: left;
}

.tcc-cta-band .elementor-widget-text-editor p {
  margin: 0;
}

/* =========================================
   TABLET
   ========================================= */

@media (max-width: 1024px) {
  .tcc-cta-band {
    padding: 36px 30px !important;
  }

  .tcc-cta-band,
  .tcc-cta-band > .e-con-inner {
    column-gap: 26px;
  }
}

/* =========================================
   MOBILE: stack and center
   ========================================= */

@media (max-width: 767px) {
  .tcc-cta-band {
    padding: 44px 20px !important;
  }

  .tcc-cta-band,
  .tcc-cta-band > .e-con-inner {
    display: flex !important;
    flex-direction: column;
    align-items: center;

    gap: 16px;

    text-align: center;
  }

  .tcc-cta-band:has(> .e-con-inner) {
    display: block !important;
  }

  .tcc-cta-band::before {
    width: 70px;
    height: 70px;

    background-size: 13px 13px;
    opacity: 0.45;
  }

  .tcc-cta-band .elementor-widget-heading .elementor-heading-title,
  .tcc-cta-band .elementor-widget-text-editor {
    text-align: center;
  }

  .tcc-cta-band .elementor-widget-text-editor {
    font-size: 15.5px;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-rp_cards *//* =========================================
   TCC FIT CARDS
   "You May Be in the Right Place If..."
   Paste into the HTML widget:
   Advanced > Custom CSS
   Container + Heading widget: unchanged
   ========================================= */

.elementor-24 .elementor-element.elementor-element-rp_cards {
  width: 100%;
  max-width: 100%;

  margin: 0 !important;
}

.elementor-24 .elementor-element.elementor-element-rp_cards .elementor-widget-container {
  width: 100%;
  max-width: 100%;

  margin: 0 !important;
  padding: 0 !important;
}

/* Responsive grid:
   5-up on wide screens, drops columns
   automatically as space shrinks */
.elementor-24 .elementor-element.elementor-element-rp_cards .tcc-fit-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 22px;

  width: 100%;
  max-width: 1180px;

  margin: 0 auto;
  padding: 8px 0 0;
}

/* Card */
.elementor-24 .elementor-element.elementor-element-rp_cards .tcc-fit-card {
  display: flex;
  flex-direction: column;
  align-items: center;

  padding: 30px 20px 28px;

  background: #ffffff;
  border-radius: 18px;
  box-shadow: 0 6px 24px rgba(16, 31, 77, 0.07);

  text-align: center;

  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.elementor-24 .elementor-element.elementor-element-rp_cards .tcc-fit-card:hover {
  transform: translateY(-4px);

  box-shadow: 0 12px 32px rgba(16, 31, 77, 0.12);
}

/* Icon circle */
.elementor-24 .elementor-element.elementor-element-rp_cards .tcc-fit-card-icon {
  width: 58px;
  height: 58px;

  display: flex;
  align-items: center;
  justify-content: center;

  margin-bottom: 18px;

  background: #eef3fb;
  border-radius: 50%;

  transition: background 0.2s ease;
}

.elementor-24 .elementor-element.elementor-element-rp_cards .tcc-fit-card:hover .tcc-fit-card-icon {
  background: #fff3cc;
}

.elementor-24 .elementor-element.elementor-element-rp_cards .tcc-fit-card-icon svg {
  width: 30px;
  height: 30px;

  display: block;
}

/* Text */
.elementor-24 .elementor-element.elementor-element-rp_cards .tcc-fit-card-text {
  margin: 0;

  color: #3d4657;

  font-size: 16px;
  font-weight: 400;
  line-height: 1.55;
}

/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 767px) {
  .elementor-24 .elementor-element.elementor-element-rp_cards .tcc-fit-cards {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 14px;
  }

  .elementor-24 .elementor-element.elementor-element-rp_cards .tcc-fit-card {
    padding: 24px 14px 22px;
  }

  .elementor-24 .elementor-element.elementor-element-rp_cards .tcc-fit-card-icon {
    width: 50px;
    height: 50px;

    margin-bottom: 14px;
  }

  .elementor-24 .elementor-element.elementor-element-rp_cards .tcc-fit-card-icon svg {
    width: 26px;
    height: 26px;
  }

  .elementor-24 .elementor-element.elementor-element-rp_cards .tcc-fit-card-text {
    font-size: 15px;
    line-height: 1.5;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-cta_left *//* =========================================
   TCC CTA - "BRING US THE MESSY VERSION" v5

   DESKTOP:
   Buttons directly beside the text.
   Buttons are on the left.
   Heading and copy are on the right.

   Paste into:
   Appearance > Customize > Additional CSS
   ========================================= */

.tcc-cta-messy {
  position: relative;
  isolation: isolate;

  width: 100%;

  padding: 64px 48px !important;

  color: #ffffff;

  background:
    linear-gradient(
      135deg,
      #081226 0%,
      #0a192f 60%,
      #0d1f3c 100%
    ) !important;

  overflow: hidden !important;
}

/* =========================================
   HEXAGON PATTERN
   ========================================= */

.tcc-cta-messy::after {
  content: "";

  position: absolute;
  z-index: 0;

  top: 0;
  left: 0;
  bottom: 0;

  width: 36%;
  min-width: 320px;

  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 140 140'%3E%3Cpolygon points='115,70 92.5,109 47.5,109 25,70 47.5,31 92.5,31' fill='none' stroke='%232f84e6' stroke-opacity='0.35' stroke-width='1.5'/%3E%3C/svg%3E");

  background-size: 120px 120px;
  background-position: left center;

  -webkit-mask-image: linear-gradient(
    to right,
    rgba(0, 0, 0, 0.95) 0%,
    rgba(0, 0, 0, 0) 100%
  );

  mask-image: linear-gradient(
    to right,
    rgba(0, 0, 0, 0.95) 0%,
    rgba(0, 0, 0, 0) 100%
  );

  pointer-events: none;
}

/* =========================================
   MAIN GRID

   Column 1: buttons
   Column 2: heading and text

   The two columns are intentionally narrow
   and only 28px apart.
   ========================================= */

.tcc-cta-messy,
.tcc-cta-messy > .e-con-inner {
  display: grid !important;

  grid-template-columns:
    300px
    minmax(500px, 620px) !important;

  grid-template-rows: auto auto !important;

  column-gap: 28px !important;
  row-gap: 16px !important;

  align-items: center !important;
  justify-content: center !important;

  width: 100% !important;
}

/* Elementor inner container */
.tcc-cta-messy:has(> .e-con-inner) {
  display: block !important;
}

.tcc-cta-messy > .e-con-inner {
  max-width: 948px !important;

  margin: 0 auto !important;
  padding: 0 !important;
}

/* =========================================
   TEXT CONTAINER
   Right column
   ========================================= */

.tcc-cta-messy > .e-con,
.tcc-cta-messy > .e-con-inner > .e-con {
  grid-column: 2 !important;
  grid-row: 1 / 3 !important;

  position: relative;
  z-index: 1;

  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;

  justify-self: start !important;
  align-self: center !important;

  width: 100% !important;
  max-width: 620px !important;
  min-width: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;

  transform: none !important;
}

/* Remove Elementor spacing that can push the text away */
.tcc-cta-messy > .e-con,
.tcc-cta-messy > .e-con-inner > .e-con {
  --margin-left: 0;
  --margin-right: 0;
  --padding-left: 0;
  --padding-right: 0;
}

/* =========================================
   BUTTON WIDGETS
   Left column
   ========================================= */

.tcc-cta-messy > .elementor-widget-button,
.tcc-cta-messy > .e-con-inner > .elementor-widget-button {
  grid-column: 1 !important;

  position: relative;
  z-index: 1;

  justify-self: end !important;

  width: 300px !important;
  max-width: 300px !important;

  margin: 0 !important;
  padding: 0 !important;

  transform: none !important;
}

/* First button */
.tcc-cta-messy > .elementor-widget-button:nth-of-type(1),
.tcc-cta-messy
  > .e-con-inner
  > .elementor-widget-button:nth-of-type(1) {
  grid-row: 1 !important;

  align-self: end !important;
}

/* Second button */
.tcc-cta-messy > .elementor-widget-button:nth-of-type(2),
.tcc-cta-messy
  > .e-con-inner
  > .elementor-widget-button:nth-of-type(2) {
  grid-row: 2 !important;

  align-self: start !important;
}

/* Button wrapper */
.tcc-cta-messy .elementor-widget-button .elementor-widget-container {
  width: 100% !important;
}

/* Actual buttons */
.tcc-cta-messy .elementor-widget-button .elementor-button {
  display: flex !important;

  width: 100% !important;
  min-height: 56px;

  align-items: center;
  justify-content: center;

  padding: 16px 24px;

  text-align: center;
}

/* =========================================
   SECOND BUTTON
   ========================================= */

.tcc-cta-messy
  > .elementor-widget-button:nth-of-type(2)
  .elementor-button,
.tcc-cta-messy
  > .e-con-inner
  > .elementor-widget-button:nth-of-type(2)
  .elementor-button {
  background: transparent !important;

  border: 1px solid #ffce00 !important;
  border-radius: 6px;

  color: #ffce00 !important;
}

.tcc-cta-messy
  > .elementor-widget-button:nth-of-type(2)
  .elementor-button:hover,
.tcc-cta-messy
  > .e-con-inner
  > .elementor-widget-button:nth-of-type(2)
  .elementor-button:hover {
  background: rgba(255, 206, 0, 0.1) !important;

  color: #ffffff !important;
}

/* =========================================
   HEADING
   ========================================= */

.tcc-cta-messy .elementor-widget-heading {
  width: 100% !important;

  margin: 0 0 6px !important;
  padding: 0 !important;
}

.tcc-cta-messy
  .elementor-widget-heading
  .elementor-heading-title {
  position: relative;

  margin: 0;
  padding: 0 0 14px;

  color: #ffffff;

  font-size: clamp(26px, 2.6vw, 38px);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.4px;

  text-align: left;
}

/* Yellow underline */
.tcc-cta-messy
  .elementor-widget-heading
  .elementor-heading-title::after {
  content: "";

  position: absolute;

  left: 0;
  bottom: 0;

  width: 46px;
  height: 4px;

  border-radius: 999px;

  background: #ffce00;
}

/* =========================================
   BODY TEXT
   ========================================= */

.tcc-cta-messy .elementor-widget-text-editor {
  width: 100% !important;

  margin: 10px 0 0 !important;
  padding: 0 !important;

  color: rgba(255, 255, 255, 0.84);

  font-size: clamp(15px, 1.2vw, 17px);
  line-height: 1.6;

  text-align: left;
}

.tcc-cta-messy .elementor-widget-text-editor p {
  margin: 0 0 10px;
}

.tcc-cta-messy .elementor-widget-text-editor p:last-child {
  margin-bottom: 0;
}

.tcc-cta-messy .elementor-widget-text-editor strong,
.tcc-cta-messy .elementor-widget-text-editor b {
  color: #ffffff;

  font-weight: 800;
}

/* =========================================
   TABLET
   ========================================= */

@media (max-width: 1024px) {
  .tcc-cta-messy {
    padding: 52px 30px !important;
  }

  .tcc-cta-messy,
  .tcc-cta-messy > .e-con-inner {
    grid-template-columns:
      250px
      minmax(0, 520px) !important;

    column-gap: 24px !important;

    max-width: 794px !important;
  }

  .tcc-cta-messy > .elementor-widget-button,
  .tcc-cta-messy
    > .e-con-inner
    > .elementor-widget-button {
    width: 250px !important;
    max-width: 250px !important;
  }

  .tcc-cta-messy > .e-con,
  .tcc-cta-messy > .e-con-inner > .e-con {
    max-width: 520px !important;
  }

  .tcc-cta-messy::after {
    width: 40%;
  }
}

/* =========================================
   MOBILE
   Text first, then buttons
   ========================================= */

@media (max-width: 767px) {
  .tcc-cta-messy {
    padding: 48px 20px !important;
  }

  .tcc-cta-messy,
  .tcc-cta-messy > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;

    width: 100% !important;
    max-width: 100% !important;

    gap: 14px !important;
  }

  .tcc-cta-messy:has(> .e-con-inner) {
    display: block !important;
  }

  /* Text first */
  .tcc-cta-messy > .e-con,
  .tcc-cta-messy > .e-con-inner > .e-con {
    order: 1;

    width: 100% !important;
    max-width: 100% !important;

    margin: 0 0 14px !important;
  }

  /* First button */
  .tcc-cta-messy > .elementor-widget-button:nth-of-type(1),
  .tcc-cta-messy
    > .e-con-inner
    > .elementor-widget-button:nth-of-type(1) {
    order: 2;
  }

  /* Second button */
  .tcc-cta-messy > .elementor-widget-button:nth-of-type(2),
  .tcc-cta-messy
    > .e-con-inner
    > .elementor-widget-button:nth-of-type(2) {
    order: 3;
  }

  .tcc-cta-messy > .elementor-widget-button,
  .tcc-cta-messy
    > .e-con-inner
    > .elementor-widget-button {
    width: 100% !important;
    max-width: 100% !important;

    justify-self: stretch !important;
  }

  .tcc-cta-messy::after {
    left: auto;
    right: 0;

    width: 60%;
    min-width: 220px;

    opacity: 0.35;

    -webkit-mask-image: linear-gradient(
      to left,
      rgba(0, 0, 0, 0.9) 0%,
      rgba(0, 0, 0, 0) 100%
    );

    mask-image: linear-gradient(
      to left,
      rgba(0, 0, 0, 0.9) 0%,
      rgba(0, 0, 0, 0) 100%
    );
  }
}/* End custom CSS */
/* Start custom CSS */html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}

@supports not (overflow: clip) {
  html,
  body {
    overflow-x: hidden;
  }
}/* End custom CSS */