.elementor-10 .elementor-element.elementor-element-32396fd{--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-10 .elementor-element.elementor-element-32396fd:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-32396fd > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://ctc.xspider.net/wp-content/uploads/figma-design/home-hero-cpu.webp");background-position:center right;background-repeat:no-repeat;background-size:cover;}.elementor-10 .elementor-element.elementor-element-6027452{--display:flex;--min-height:1113px;--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-between;--align-items:center;--padding-top:325px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-129fad9{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.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-10 .elementor-element.elementor-element-b6907e3{width:var( --container-widget-width, 1200px );max-width:1200px;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 4px) 0px;--container-widget-width:1200px;--container-widget-flex-grow:0;}.elementor-10 .elementor-element.elementor-element-b6907e3 .elementor-heading-title{font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:76px;font-weight:400;line-height:1.21em;color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-55b745d{margin:-7px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-55b745d .elementor-heading-title{font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:46px;font-weight:200;line-height:1.174em;color:#FFFFFF;}.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-10 .elementor-element.elementor-element-3829888{width:var( --container-widget-width, 716px );max-width:716px;margin:30px 0px calc(var(--kit-widget-spacing, 0px) + 40px) 0px;--container-widget-width:716px;--container-widget-flex-grow:0;font-family:"Sohne", Sans-serif;font-size:21px;font-weight:300;line-height:1.476em;color:#FFFFFF;}.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-10 .elementor-element.elementor-element-fc3d5f7 .elementor-button{background-color:rgba(0,0,0,0);font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:19px;font-weight:400;fill:#ffffff;color:#ffffff;border-style:solid;border-width:1.5px 1.5px 1.5px 1.5px;border-color:#00AEEF;border-radius:0px 0px 0px 0px;padding:16px 24px 16px 24px;}.elementor-10 .elementor-element.elementor-element-fc3d5f7 .elementor-button:hover, .elementor-10 .elementor-element.elementor-element-fc3d5f7 .elementor-button:focus{background-color:#00AEEF;color:var( --e-global-color-e2a6292 );border-color:#00AEEF;}.elementor-10 .elementor-element.elementor-element-fc3d5f7{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-fc3d5f7 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-10 .elementor-element.elementor-element-fc3d5f7 .elementor-button .elementor-button-content-wrapper{gap:15px;}.elementor-10 .elementor-element.elementor-element-fc3d5f7 .elementor-button:hover svg, .elementor-10 .elementor-element.elementor-element-fc3d5f7 .elementor-button:focus svg{fill:var( --e-global-color-e2a6292 );}.elementor-10 .elementor-element.elementor-element-4ce7c1a{--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;--gap:30px 30px;--row-gap:30px;--column-gap:30px;--flex-wrap:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-10 .elementor-element.elementor-element-59f49ee{width:var( --container-widget-width, 20% );max-width:20%;padding:22px 10px 0px 0px;--container-widget-width:20%;--container-widget-flex-grow:0;}.elementor-10 .elementor-element.elementor-element-59f49ee .elementor-heading-title{font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:19px;font-weight:400;line-height:1.47em;}.elementor-10 .elementor-element.elementor-element-e29e1f6{width:var( --container-widget-width, 20% );max-width:20%;padding:22px 10px 0px 0px;--container-widget-width:20%;--container-widget-flex-grow:0;}.elementor-10 .elementor-element.elementor-element-e29e1f6 .elementor-heading-title{font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:19px;font-weight:400;line-height:1.47em;}.elementor-10 .elementor-element.elementor-element-4e664d9{width:var( --container-widget-width, 20% );max-width:20%;padding:22px 10px 0px 0px;--container-widget-width:20%;--container-widget-flex-grow:0;}.elementor-10 .elementor-element.elementor-element-4e664d9 .elementor-heading-title{font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:19px;font-weight:400;line-height:1.47em;}.elementor-10 .elementor-element.elementor-element-9252ca8{width:var( --container-widget-width, 20% );max-width:20%;padding:22px 10px 0px 0px;--container-widget-width:20%;--container-widget-flex-grow:0;}.elementor-10 .elementor-element.elementor-element-9252ca8 .elementor-heading-title{font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:19px;font-weight:400;line-height:1.47em;}.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-10 .elementor-element.elementor-element-bb8e725{width:auto;max-width:auto;}.elementor-10 .elementor-element.elementor-element-bb8e725.elementor-element{--flex-grow:1;--flex-shrink:0;}.elementor-10 .elementor-element.elementor-element-bb8e725 .elementor-icon-wrapper{text-align:end;}.elementor-10 .elementor-element.elementor-element-bb8e725.elementor-view-stacked .elementor-icon{background-color:#00000000;color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-bb8e725.elementor-view-framed .elementor-icon, .elementor-10 .elementor-element.elementor-element-bb8e725.elementor-view-default .elementor-icon{color:#00000000;border-color:#00000000;}.elementor-10 .elementor-element.elementor-element-bb8e725.elementor-view-framed .elementor-icon, .elementor-10 .elementor-element.elementor-element-bb8e725.elementor-view-default .elementor-icon svg{fill:#00000000;}.elementor-10 .elementor-element.elementor-element-bb8e725.elementor-view-framed .elementor-icon{background-color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-bb8e725.elementor-view-stacked .elementor-icon svg{fill:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-bb8e725 .elementor-icon{font-size:20px;}.elementor-10 .elementor-element.elementor-element-bb8e725 .elementor-icon svg{height:20px;}.elementor-10 .elementor-element.elementor-element-e6567a7{--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:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-10 .elementor-element.elementor-element-e6567a7:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-e6567a7 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(120deg, #030648 0%, #03A4DC 100%);}.elementor-10 .elementor-element.elementor-element-ccebd56{--display:flex;--min-height:0px;--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:26px;--padding-bottom:26px;--padding-left:24px;--padding-right:24px;}.elementor-10 .elementor-element.elementor-element-d0f13a8{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:20px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-10 .elementor-element.elementor-element-8fcdc44{width:100%;max-width:100%;margin:-25px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:10px 10px 10px 10px;}.elementor-10 .elementor-element.elementor-element-8fcdc44 .elementor-heading-title{font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:26px;font-weight:400;line-height:1.385em;color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-d8368d5{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 10px;font-family:"Sohne", Sans-serif;font-size:17px;font-weight:300;line-height:1.588em;color:rgba(255,255,255,0.8);}.elementor-10 .elementor-element.elementor-element-e164d35{--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:50px;--padding-bottom:60px;--padding-left:0px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-e164d35:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-e164d35 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-f0411e0{--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;--justify-content:center;--gap:14px 14px;--row-gap:14px;--column-gap:14px;--padding-top:50px;--padding-bottom:50px;--padding-left:95px;--padding-right:95px;}.elementor-10 .elementor-element.elementor-element-f0411e0:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-f0411e0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://ctc.xspider.net/wp-content/uploads/2026/07/blog-overlay-3-1.png");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-10 .elementor-element.elementor-element-fc933e1{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 6px) 0px;}.elementor-10 .elementor-element.elementor-element-fc933e1 .elementor-heading-title{font-family:"Neue Haas Grotesk Text", Sans-serif;font-size:14px;font-weight:400;line-height:2.07em;letter-spacing:0.5px;color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-4201d95{width:var( --container-widget-width, 600px );max-width:600px;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 10px) 0px;--container-widget-width:600px;--container-widget-flex-grow:0;}.elementor-10 .elementor-element.elementor-element-4201d95 .elementor-heading-title{font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:36px;font-weight:400;line-height:1.278em;color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-84e6c24 .elementor-button{background-color:rgba(0,0,0,0);font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:17px;font-weight:400;fill:#FFFFFF;color:#FFFFFF;padding:0px 0px 0px 0px;}.elementor-10 .elementor-element.elementor-element-84e6c24 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-10 .elementor-element.elementor-element-84e6c24 .elementor-button .elementor-button-content-wrapper{gap:10px;}.elementor-10 .elementor-element.elementor-element-ecb1903{--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-10 .elementor-element.elementor-element-f7f2f2c{--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;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:70px;--padding-bottom:25px;--padding-left:35px;--padding-right:35px;}.elementor-10 .elementor-element.elementor-element-f7f2f2c:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-f7f2f2c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F0F2F4;}.elementor-10 .elementor-element.elementor-element-8412ca0{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 8px) 58px;padding:5px 10px 5px 10px;}.elementor-10 .elementor-element.elementor-element-8412ca0 .elementor-heading-title{font-family:"Neue Haas Grotesk Text", Sans-serif;font-size:14px;font-weight:400;line-height:2.07em;letter-spacing:0.5px;color:rgba(44,54,71,0.8);}.elementor-10 .elementor-element.elementor-element-ea2f707{margin:-17px 0px calc(var(--kit-widget-spacing, 0px) + 28px) 58px;padding:0px 0px 0px 10px;}.elementor-10 .elementor-element.elementor-element-ea2f707 .elementor-heading-title{font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:36px;font-weight:400;line-height:1.222em;color:#000000;}.elementor-10 .elementor-element.elementor-element-622c0c3{--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-between;--align-items:stretch;--gap:0% 0%;--row-gap:0%;--column-gap:0%;--flex-wrap:wrap;}.elementor-widget-loop-grid .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-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-10 .elementor-element.elementor-element-fnlgbig{--grid-columns:1;width:var( --container-widget-width, 49.7% );max-width:49.7%;--container-widget-width:49.7%;--container-widget-flex-grow:0;}.elementor-10 .elementor-element.elementor-element-fnlglist{--grid-columns:1;--grid-row-gap:0px;width:var( --container-widget-width, 48.5% );max-width:48.5%;--container-widget-width:48.5%;--container-widget-flex-grow:0;--grid-column-gap:0px;}.elementor-10 .elementor-element.elementor-element-fnlglist > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-10 .elementor-element.elementor-element-aa121ab{--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:90px;--padding-bottom:0px;--padding-left:24px;--padding-right:24px;}.elementor-10 .elementor-element.elementor-element-aa121ab:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-aa121ab > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-14dba60{--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:flex-start;--align-items:center;--gap:18px 18px;--row-gap:18px;--column-gap:18px;}.elementor-10 .elementor-element.elementor-element-3bd3d30{--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-between;--align-items:flex-end;--flex-wrap:nowrap;--margin-top:0px;--margin-bottom:30px;--margin-left:0px;--margin-right:0px;}.elementor-10 .elementor-element.elementor-element-9378743{--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;--gap:6px 6px;--row-gap:6px;--column-gap:6px;}.elementor-10 .elementor-element.elementor-element-a366eea{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 8px) 0px;padding:10px 10px 10px 10px;}.elementor-10 .elementor-element.elementor-element-a366eea .elementor-heading-title{font-family:"Neue Haas Grotesk Text", Sans-serif;font-size:14px;font-weight:400;line-height:2.07em;letter-spacing:0.5px;color:rgba(44,54,71,0.8);}.elementor-10 .elementor-element.elementor-element-de267b3{margin:-15px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-de267b3 .elementor-heading-title{font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:48px;font-weight:400;line-height:1.292em;color:#000000;}.elementor-10 .elementor-element.elementor-element-90badd8{margin:-15px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-90badd8 .elementor-heading-title{font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:32px;font-weight:200;line-height:1.688em;color:#0082B3;}.elementor-10 .elementor-element.elementor-element-99a0415{width:var( --container-widget-width, 560px );max-width:560px;--container-widget-width:560px;--container-widget-flex-grow:0;font-family:"Sohne", Sans-serif;font-size:18px;font-weight:300;line-height:1.556em;color:#2C3647;}.elementor-10 .elementor-element.elementor-element-de33032 .elementor-button{background-color:rgba(0,0,0,0);font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:18px;font-weight:400;fill:#0082B3;color:#0082B3;padding:0px 0px 0px 0px;}.elementor-10 .elementor-element.elementor-element-de33032{width:var( --container-widget-width, 30% );max-width:30%;margin:0px 25px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:30%;--container-widget-flex-grow:0;}.elementor-10 .elementor-element.elementor-element-de33032 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-10 .elementor-element.elementor-element-de33032 .elementor-button .elementor-button-content-wrapper{gap:14px;}.elementor-10 .elementor-element.elementor-element-148076b{--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:28px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-148076b:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-148076b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode='false'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-accent );}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"], .elementor-widget-nested-tabs.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode='true'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-accent );}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > :is( .e-n-tab-title > .e-n-tab-title-text, .e-n-tab-title ){font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-10 .elementor-element.elementor-element-771b268{--display:flex;--min-height:627px;--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:center;--align-items:center;--padding-top:50px;--padding-bottom:50px;--padding-left:40px;--padding-right:40px;}.elementor-10 .elementor-element.elementor-element-771b268:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-771b268 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#020c15;background-image:url("https://ctc.xspider.net/wp-content/uploads/2026/09/PCB-Assembly.png");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-10 .elementor-element.elementor-element-8f51614{--display:flex;--position:relative;--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;--gap:8px 8px;--row-gap:8px;--column-gap:8px;--padding-top:47px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;top:0px;}body:not(.rtl) .elementor-10 .elementor-element.elementor-element-8f51614{left:0px;}body.rtl .elementor-10 .elementor-element.elementor-element-8f51614{right:0px;}.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-10 .elementor-element.elementor-element-a5520f79{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -50px) -80px;}.elementor-10 .elementor-element.elementor-element-a5520f79.elementor-element{--align-self:flex-start;}.elementor-10 .elementor-element.elementor-element-a5520f79 img{width:468px;}.elementor-10 .elementor-element.elementor-element-be6dfb0{width:var( --container-widget-width, 440px );max-width:440px;margin:-20px 0px calc(var(--kit-widget-spacing, 0px) + 10px) 0px;--container-widget-width:440px;--container-widget-flex-grow:0;}.elementor-10 .elementor-element.elementor-element-be6dfb0 .elementor-heading-title{font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:36px;font-weight:400;line-height:1.222em;color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-25ac16b{width:var( --container-widget-width, 560px );max-width:560px;--container-widget-width:560px;--container-widget-flex-grow:0;font-family:"Sohne", Sans-serif;font-size:17px;font-weight:300;line-height:1.588em;color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button{background-color:rgba(0,0,0,0);font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:18px;font-weight:400;fill:#ffffff;color:#ffffff;border-radius:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-10 .elementor-element.elementor-element-bdbceaa{margin:26px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button .elementor-button-content-wrapper{gap:14px;}.elementor-10 .elementor-element.elementor-element-9c7befe{--display:flex;--min-height:627px;--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:center;--align-items:center;--padding-top:50px;--padding-bottom:50px;--padding-left:40px;--padding-right:40px;}.elementor-10 .elementor-element.elementor-element-9c7befe:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-9c7befe > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#020c15;background-image:url("https://ctc.xspider.net/wp-content/uploads/2026/09/Electronics-Manufacturing-Services-EMS.png");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-10 .elementor-element.elementor-element-4e114ca{--display:flex;--position:relative;--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;--gap:8px 8px;--row-gap:8px;--column-gap:8px;--padding-top:47px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;top:0px;}body:not(.rtl) .elementor-10 .elementor-element.elementor-element-4e114ca{left:0px;}body.rtl .elementor-10 .elementor-element.elementor-element-4e114ca{right:0px;}.elementor-10 .elementor-element.elementor-element-868a9b11{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -50px) -80px;}.elementor-10 .elementor-element.elementor-element-868a9b11.elementor-element{--align-self:flex-start;}.elementor-10 .elementor-element.elementor-element-868a9b11 img{width:468px;}.elementor-10 .elementor-element.elementor-element-05ef774{margin:-20px 0px calc(var(--kit-widget-spacing, 0px) + 10px) 0px;}.elementor-10 .elementor-element.elementor-element-05ef774 .elementor-heading-title{font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:36px;font-weight:400;line-height:1.222em;color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-dd2afe7{width:var( --container-widget-width, 560px );max-width:560px;--container-widget-width:560px;--container-widget-flex-grow:0;font-family:"Sohne", Sans-serif;font-size:17px;font-weight:300;line-height:1.588em;color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button{background-color:rgba(0,0,0,0);font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:18px;font-weight:400;fill:#ffffff;color:#ffffff;border-radius:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-10 .elementor-element.elementor-element-53de698{margin:26px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button .elementor-button-content-wrapper{gap:14px;}.elementor-10 .elementor-element.elementor-element-e5b668e{--display:flex;--min-height:627px;--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:center;--align-items:center;--padding-top:50px;--padding-bottom:50px;--padding-left:40px;--padding-right:40px;}.elementor-10 .elementor-element.elementor-element-e5b668e:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-e5b668e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#020c15;background-image:url("https://ctc.xspider.net/wp-content/uploads/2026/09/pf-qc-hero-2490.png");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-10 .elementor-element.elementor-element-47b23f8{--display:flex;--position:relative;--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;--gap:8px 8px;--row-gap:8px;--column-gap:8px;--padding-top:47px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;top:0px;}body:not(.rtl) .elementor-10 .elementor-element.elementor-element-47b23f8{left:0px;}body.rtl .elementor-10 .elementor-element.elementor-element-47b23f8{right:0px;}.elementor-10 .elementor-element.elementor-element-8aa9de1c{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -50px) -80px;}.elementor-10 .elementor-element.elementor-element-8aa9de1c.elementor-element{--align-self:flex-start;}.elementor-10 .elementor-element.elementor-element-8aa9de1c img{width:468px;}.elementor-10 .elementor-element.elementor-element-de7ced1{margin:-20px 0px calc(var(--kit-widget-spacing, 0px) + 10px) 0px;}.elementor-10 .elementor-element.elementor-element-de7ced1 .elementor-heading-title{font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:36px;font-weight:400;line-height:1.222em;color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-29203fe{width:var( --container-widget-width, 560px );max-width:560px;--container-widget-width:560px;--container-widget-flex-grow:0;font-family:"Sohne", Sans-serif;font-size:17px;font-weight:300;line-height:1.588em;color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button{background-color:rgba(0,0,0,0);font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:18px;font-weight:400;fill:#ffffff;color:#ffffff;border-radius:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-10 .elementor-element.elementor-element-3eeca21{margin:26px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button .elementor-button-content-wrapper{gap:14px;}.elementor-10 .elementor-element.elementor-element-f209204{--display:flex;--min-height:627px;--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:center;--align-items:center;--padding-top:50px;--padding-bottom:50px;--padding-left:40px;--padding-right:40px;}.elementor-10 .elementor-element.elementor-element-f209204:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-f209204 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#020c15;background-image:url("https://ctc.xspider.net/wp-content/uploads/2026/09/Capabilities.png");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-10 .elementor-element.elementor-element-9054c43{--display:flex;--position:relative;--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;--gap:8px 8px;--row-gap:8px;--column-gap:8px;--padding-top:47px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;top:0px;}body:not(.rtl) .elementor-10 .elementor-element.elementor-element-9054c43{left:0px;}body.rtl .elementor-10 .elementor-element.elementor-element-9054c43{right:0px;}.elementor-10 .elementor-element.elementor-element-722c3b68{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -50px) -80px;}.elementor-10 .elementor-element.elementor-element-722c3b68.elementor-element{--align-self:flex-start;}.elementor-10 .elementor-element.elementor-element-722c3b68 img{width:468px;}.elementor-10 .elementor-element.elementor-element-4e79214{margin:-20px 0px calc(var(--kit-widget-spacing, 0px) + 10px) 0px;}.elementor-10 .elementor-element.elementor-element-4e79214 .elementor-heading-title{font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:36px;font-weight:400;line-height:1.222em;color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-03b5f43{width:var( --container-widget-width, 560px );max-width:560px;--container-widget-width:560px;--container-widget-flex-grow:0;font-family:"Sohne", Sans-serif;font-size:17px;font-weight:300;line-height:1.588em;color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button{background-color:rgba(0,0,0,0);font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:18px;font-weight:400;fill:#ffffff;color:#ffffff;border-radius:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-10 .elementor-element.elementor-element-202e991{margin:26px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button .elementor-button-content-wrapper{gap:14px;}.elementor-10 .elementor-element.elementor-element-719f135{--display:flex;--min-height:627px;--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:center;--align-items:center;--padding-top:50px;--padding-bottom:50px;--padding-left:40px;--padding-right:40px;}.elementor-10 .elementor-element.elementor-element-719f135:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-719f135 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#020c15;background-image:url("https://ctc.xspider.net/wp-content/uploads/2026/09/Supply-Chain.png");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-10 .elementor-element.elementor-element-91f5b28{--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;--gap:8px 8px;--row-gap:8px;--column-gap:8px;--padding-top:47px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-e55e4dc3{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -50px) -80px;}.elementor-10 .elementor-element.elementor-element-e55e4dc3.elementor-element{--align-self:flex-start;}.elementor-10 .elementor-element.elementor-element-e55e4dc3 img{width:468px;}.elementor-10 .elementor-element.elementor-element-13aa474{margin:-20px 0px calc(var(--kit-widget-spacing, 0px) + 10px) 0px;}.elementor-10 .elementor-element.elementor-element-13aa474 .elementor-heading-title{font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:36px;font-weight:400;line-height:1.222em;color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-dbd80de{width:var( --container-widget-width, 560px );max-width:560px;--container-widget-width:560px;--container-widget-flex-grow:0;font-family:"Sohne", Sans-serif;font-size:17px;font-weight:300;line-height:1.588em;color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button{background-color:rgba(0,0,0,0);font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:18px;font-weight:400;fill:#ffffff;color:#ffffff;border-radius:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-10 .elementor-element.elementor-element-5ae4121{margin:26px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button .elementor-button-content-wrapper{gap:14px;}.elementor-10 .elementor-element.elementor-element-8ef4d9a{--n-tabs-direction:column;--n-tabs-heading-direction:row;--n-tabs-heading-width:initial;--n-tabs-title-flex-basis:content;--n-tabs-title-flex-shrink:0;--n-tabs-heading-justify-content:initial;--n-tabs-title-width:100%;--n-tabs-title-height:initial;--n-tabs-title-align-items:flex-start;--n-tabs-title-flex-grow:1;--n-tabs-heading-wrap:wrap;--n-tabs-heading-overflow-x:initial;--n-tabs-title-white-space:initial;--n-tabs-title-justify-content:flex-start;--n-tabs-title-text-align:start;--n-tabs-gap:10px;}.elementor-10 .elementor-element.elementor-element-ebf17af{--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:center;--flex-wrap:nowrap;--margin-top:20px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:159px;--padding-bottom:159px;--padding-left:0px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-ebf17af:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-ebf17af > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}.elementor-10 .elementor-element.elementor-element-722731d{width:var( --container-widget-width, 50% );max-width:50%;background-color:#000000;--container-widget-width:50%;--container-widget-flex-grow:0;}.elementor-10 .elementor-element.elementor-element-94c466a{--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;--justify-content:center;--gap:14px 14px;--row-gap:14px;--column-gap:14px;--padding-top:80px;--padding-bottom:0px;--padding-left:56px;--padding-right:60px;}.elementor-10 .elementor-element.elementor-element-94c466a:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-94c466a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}.elementor-10 .elementor-element.elementor-element-5547a97{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 6px) 0px;padding:0px 10px 10px 10px;}.elementor-10 .elementor-element.elementor-element-5547a97 .elementor-heading-title{font-family:"Neue Haas Grotesk Text", Sans-serif;font-size:14px;font-weight:400;line-height:2em;letter-spacing:0.5px;color:var( --e-global-color-e2a6292 );}.elementor-10 .elementor-element.elementor-element-0974da5{--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:flex-start;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:0px;--padding-bottom:100px;--padding-left:10px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-3e525b7{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-3e525b7 .elementor-heading-title{font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:48px;font-weight:400;line-height:1.2em;color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-f4238c3{width:var( --container-widget-width, 567px );max-width:567px;margin:00px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:567px;--container-widget-flex-grow:0;font-family:"Sohne", Sans-serif;font-size:19px;font-weight:300;line-height:1.526em;color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-248c6a2 .elementor-button{background-color:rgba(0,0,0,0);font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:18px;font-weight:400;fill:#FFFFFF;color:#FFFFFF;padding:0px 0px 0px 0px;}.elementor-10 .elementor-element.elementor-element-248c6a2{margin:22px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-248c6a2 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-10 .elementor-element.elementor-element-248c6a2 .elementor-button .elementor-button-content-wrapper{gap:14px;}.elementor-10 .elementor-element.elementor-element-99672ce{--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;--margin-top:20px;--margin-bottom:20px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-e5c8b5c{--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;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:70px;--padding-bottom:25px;--padding-left:35px;--padding-right:35px;}.elementor-10 .elementor-element.elementor-element-e5c8b5c:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-e5c8b5c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F0F2F4;}.elementor-10 .elementor-element.elementor-element-86cdbe0{--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-between;--align-items:flex-end;--flex-wrap:nowrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-10 .elementor-element.elementor-element-5aa2bb8{--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;--gap:6px 6px;--row-gap:6px;--column-gap:6px;--margin-top:0px;--margin-bottom:0px;--margin-left:10px;--margin-right:0px;}.elementor-10 .elementor-element.elementor-element-cff56b8{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) -10px;padding:10px 10px 10px 10px;}.elementor-10 .elementor-element.elementor-element-cff56b8 .elementor-heading-title{font-family:"Neue Haas Grotesk Text", Sans-serif;font-size:14px;font-weight:400;line-height:2.07em;letter-spacing:0.5px;color:rgba(44,54,71,0.8);}.elementor-10 .elementor-element.elementor-element-36e7289{margin:-15px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-36e7289 .elementor-heading-title{font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:48px;font-weight:400;line-height:1.292em;color:#000000;}.elementor-10 .elementor-element.elementor-element-33023ba{margin:-15px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-33023ba .elementor-heading-title{font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:32px;font-weight:200;line-height:1.688em;color:#0082B3;}.elementor-10 .elementor-element.elementor-element-48bbd82{width:var( --container-widget-width, 560px );max-width:560px;--container-widget-width:560px;--container-widget-flex-grow:0;font-family:"Sohne", Sans-serif;font-size:18px;font-weight:300;line-height:1.556em;color:#2C3647;}.elementor-10 .elementor-element.elementor-element-f32f490 .elementor-button{background-color:rgba(0,0,0,0);font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:18px;font-weight:400;fill:#0082B3;color:#0082B3;padding:0px 0px 0px 0px;}.elementor-10 .elementor-element.elementor-element-f32f490{width:var( --container-widget-width, 28% );max-width:28%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:28%;--container-widget-flex-grow:0;}.elementor-10 .elementor-element.elementor-element-f32f490 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-10 .elementor-element.elementor-element-f32f490 .elementor-button .elementor-button-content-wrapper{gap:14px;}.elementor-10 .elementor-element.elementor-element-5dd5b24{--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;--overflow:hidden;}.elementor-10 .elementor-element.elementor-element-5dd5b24:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-5dd5b24 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-1d9cb94{--display:flex;--position:relative;--min-height:246px;top:0px;}.elementor-10 .elementor-element.elementor-element-1d9cb94:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-1d9cb94 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://ctc.xspider.net/wp-content/uploads/figma-design/home-proc-01-manufacturing.jpg");background-position:center center;background-size:cover;}body:not(.rtl) .elementor-10 .elementor-element.elementor-element-1d9cb94{left:0px;}body.rtl .elementor-10 .elementor-element.elementor-element-1d9cb94{right:0px;}.elementor-10 .elementor-element.elementor-element-d7b5d7d{width:var( --container-widget-width, 34px );max-width:34px;background-color:#030648;padding:0px 0px 0px 0px;--container-widget-width:34px;--container-widget-flex-grow:0;bottom:-34px;z-index:3;text-align:center;}body:not(.rtl) .elementor-10 .elementor-element.elementor-element-d7b5d7d{left:0px;}body.rtl .elementor-10 .elementor-element.elementor-element-d7b5d7d{right:0px;}.elementor-10 .elementor-element.elementor-element-d7b5d7d .elementor-heading-title{font-family:"Neue Haas Grotesk Text", Sans-serif;font-size:16.2px;font-weight:400;line-height:34px;color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-58dc35c{--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;--gap:9px 9px;--row-gap:9px;--column-gap:9px;border-style:solid;--border-style:solid;border-width:1px 0px 0px 0px;--border-top-width:1px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;border-color:rgba(44,54,71,0.12);--border-color:rgba(44,54,71,0.12);--margin-top:13px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:18px;--padding-bottom:20px;--padding-left:18px;--padding-right:18px;}.elementor-10 .elementor-element.elementor-element-70eab64 .elementor-heading-title{font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:26px;font-weight:400;line-height:1.269em;color:#000000;}.elementor-10 .elementor-element.elementor-element-3a2ca86{font-family:"Sohne", Sans-serif;font-size:17px;font-weight:300;line-height:1.588em;color:#2C3647;}.elementor-10 .elementor-element.elementor-element-2a58dbd .elementor-button{background-color:rgba(0,0,0,0);font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:18px;font-weight:400;fill:#0082B3;color:#0082B3;padding:0px 0px 0px 0px;}.elementor-10 .elementor-element.elementor-element-2a58dbd .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-10 .elementor-element.elementor-element-2a58dbd .elementor-button .elementor-button-content-wrapper{gap:11px;}.elementor-10 .elementor-element.elementor-element-ad991bd{--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;--overflow:hidden;}.elementor-10 .elementor-element.elementor-element-ad991bd:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-ad991bd > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-f1f2958{--display:flex;--position:relative;--min-height:246px;top:0px;}.elementor-10 .elementor-element.elementor-element-f1f2958:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-f1f2958 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://ctc.xspider.net/wp-content/uploads/figma-design/home-proc-02-smt.jpg");background-position:center center;background-size:cover;}body:not(.rtl) .elementor-10 .elementor-element.elementor-element-f1f2958{left:0px;}body.rtl .elementor-10 .elementor-element.elementor-element-f1f2958{right:0px;}.elementor-10 .elementor-element.elementor-element-34bf868{width:var( --container-widget-width, 34px );max-width:34px;background-color:#030648;padding:0px 0px 0px 0px;--container-widget-width:34px;--container-widget-flex-grow:0;bottom:-34px;z-index:3;text-align:center;}body:not(.rtl) .elementor-10 .elementor-element.elementor-element-34bf868{left:0px;}body.rtl .elementor-10 .elementor-element.elementor-element-34bf868{right:0px;}.elementor-10 .elementor-element.elementor-element-34bf868 .elementor-heading-title{font-family:"Neue Haas Grotesk Text", Sans-serif;font-size:16.2px;font-weight:400;line-height:34px;color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-86571ed{--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;--gap:9px 9px;--row-gap:9px;--column-gap:9px;border-style:solid;--border-style:solid;border-width:1px 0px 0px 0px;--border-top-width:1px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;border-color:rgba(44,54,71,0.12);--border-color:rgba(44,54,71,0.12);--margin-top:13px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:18px;--padding-bottom:20px;--padding-left:18px;--padding-right:18px;}.elementor-10 .elementor-element.elementor-element-18e091d .elementor-heading-title{font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:26px;font-weight:400;line-height:1.269em;color:#000000;}.elementor-10 .elementor-element.elementor-element-00e9f4a{font-family:"Sohne", Sans-serif;font-size:17px;font-weight:300;line-height:1.588em;color:#2C3647;}.elementor-10 .elementor-element.elementor-element-019e369 .elementor-button{background-color:rgba(0,0,0,0);font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:18px;font-weight:400;fill:#0082B3;color:#0082B3;padding:0px 0px 0px 0px;}.elementor-10 .elementor-element.elementor-element-019e369 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-10 .elementor-element.elementor-element-019e369 .elementor-button .elementor-button-content-wrapper{gap:11px;}.elementor-10 .elementor-element.elementor-element-b2d7933{--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;--overflow:hidden;}.elementor-10 .elementor-element.elementor-element-b2d7933:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-b2d7933 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-e82f348{--display:flex;--position:relative;--min-height:246px;top:0px;}.elementor-10 .elementor-element.elementor-element-e82f348:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-e82f348 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://ctc.xspider.net/wp-content/uploads/figma-design/home-proc-03-throughhole.jpg");background-position:top center;background-size:cover;}body:not(.rtl) .elementor-10 .elementor-element.elementor-element-e82f348{left:0px;}body.rtl .elementor-10 .elementor-element.elementor-element-e82f348{right:0px;}.elementor-10 .elementor-element.elementor-element-95705c8{width:var( --container-widget-width, 34px );max-width:34px;background-color:#030648;padding:0px 0px 0px 0px;--container-widget-width:34px;--container-widget-flex-grow:0;bottom:-34px;z-index:3;text-align:center;}body:not(.rtl) .elementor-10 .elementor-element.elementor-element-95705c8{left:0px;}body.rtl .elementor-10 .elementor-element.elementor-element-95705c8{right:0px;}.elementor-10 .elementor-element.elementor-element-95705c8 .elementor-heading-title{font-family:"Neue Haas Grotesk Text", Sans-serif;font-size:16.2px;font-weight:400;line-height:34px;color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-f2cc132{--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;--gap:9px 9px;--row-gap:9px;--column-gap:9px;border-style:solid;--border-style:solid;border-width:1px 0px 0px 0px;--border-top-width:1px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;border-color:rgba(44,54,71,0.12);--border-color:rgba(44,54,71,0.12);--margin-top:13px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:18px;--padding-bottom:20px;--padding-left:18px;--padding-right:18px;}.elementor-10 .elementor-element.elementor-element-1a187a2 .elementor-heading-title{font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:26px;font-weight:400;line-height:1.269em;color:#000000;}.elementor-10 .elementor-element.elementor-element-b5bc688{font-family:"Sohne", Sans-serif;font-size:17px;font-weight:300;line-height:1.588em;color:#2C3647;}.elementor-10 .elementor-element.elementor-element-af6b43b .elementor-button{background-color:rgba(0,0,0,0);font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:18px;font-weight:400;fill:#0082B3;color:#0082B3;padding:0px 0px 0px 0px;}.elementor-10 .elementor-element.elementor-element-af6b43b .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-10 .elementor-element.elementor-element-af6b43b .elementor-button .elementor-button-content-wrapper{gap:11px;}.elementor-10 .elementor-element.elementor-element-d261026{--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;--overflow:hidden;}.elementor-10 .elementor-element.elementor-element-d261026:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-d261026 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-42be272{--display:flex;--position:relative;--min-height:246px;top:0px;}.elementor-10 .elementor-element.elementor-element-42be272:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-42be272 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#020c15;background-image:url("https://ctc.xspider.net/wp-content/uploads/figma-design/home-proc-04-inspection.jpg");background-position:center center;background-size:cover;}body:not(.rtl) .elementor-10 .elementor-element.elementor-element-42be272{left:0px;}body.rtl .elementor-10 .elementor-element.elementor-element-42be272{right:0px;}.elementor-10 .elementor-element.elementor-element-b7326df{width:var( --container-widget-width, 34px );max-width:34px;background-color:#030648;padding:0px 0px 0px 0px;--container-widget-width:34px;--container-widget-flex-grow:0;bottom:-34px;z-index:3;text-align:center;}body:not(.rtl) .elementor-10 .elementor-element.elementor-element-b7326df{left:0px;}body.rtl .elementor-10 .elementor-element.elementor-element-b7326df{right:0px;}.elementor-10 .elementor-element.elementor-element-b7326df .elementor-heading-title{font-family:"Neue Haas Grotesk Text", Sans-serif;font-size:16.2px;font-weight:400;line-height:34px;color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-f11ad63{--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;--gap:9px 9px;--row-gap:9px;--column-gap:9px;border-style:solid;--border-style:solid;border-width:1px 0px 0px 0px;--border-top-width:1px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;border-color:rgba(44,54,71,0.12);--border-color:rgba(44,54,71,0.12);--margin-top:13px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:18px;--padding-bottom:20px;--padding-left:18px;--padding-right:18px;}.elementor-10 .elementor-element.elementor-element-3dcd312 .elementor-heading-title{font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:26px;font-weight:400;line-height:1.269em;color:#000000;}.elementor-10 .elementor-element.elementor-element-659cc73{font-family:"Sohne", Sans-serif;font-size:17px;font-weight:300;line-height:1.588em;color:#2C3647;}.elementor-10 .elementor-element.elementor-element-590e2ed .elementor-button{background-color:rgba(0,0,0,0);font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:18px;font-weight:400;fill:#0082B3;color:#0082B3;padding:0px 0px 0px 0px;}.elementor-10 .elementor-element.elementor-element-590e2ed .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-10 .elementor-element.elementor-element-590e2ed .elementor-button .elementor-button-content-wrapper{gap:11px;}.elementor-10 .elementor-element.elementor-element-178bb70{--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;--overflow:hidden;}.elementor-10 .elementor-element.elementor-element-178bb70:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-178bb70 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-104bb0b{--display:flex;--position:relative;--min-height:246px;top:0px;}.elementor-10 .elementor-element.elementor-element-104bb0b:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-104bb0b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#020c15;background-image:url("https://ctc.xspider.net/wp-content/uploads/figma-design/home-proc-05-programming.jpg");background-position:top center;background-size:cover;}body:not(.rtl) .elementor-10 .elementor-element.elementor-element-104bb0b{left:0px;}body.rtl .elementor-10 .elementor-element.elementor-element-104bb0b{right:0px;}.elementor-10 .elementor-element.elementor-element-753e236{width:var( --container-widget-width, 34px );max-width:34px;background-color:#030648;padding:0px 0px 0px 0px;--container-widget-width:34px;--container-widget-flex-grow:0;bottom:-34px;z-index:3;text-align:center;}body:not(.rtl) .elementor-10 .elementor-element.elementor-element-753e236{left:0px;}body.rtl .elementor-10 .elementor-element.elementor-element-753e236{right:0px;}.elementor-10 .elementor-element.elementor-element-753e236 .elementor-heading-title{font-family:"Neue Haas Grotesk Text", Sans-serif;font-size:16.2px;font-weight:400;line-height:34px;color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-ff40dce{--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;--gap:9px 9px;--row-gap:9px;--column-gap:9px;border-style:solid;--border-style:solid;border-width:1px 0px 0px 0px;--border-top-width:1px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;border-color:rgba(44,54,71,0.12);--border-color:rgba(44,54,71,0.12);--margin-top:13px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:18px;--padding-bottom:20px;--padding-left:18px;--padding-right:18px;}.elementor-10 .elementor-element.elementor-element-d8672a9 .elementor-heading-title{font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:26px;font-weight:400;line-height:1.269em;color:#000000;}.elementor-10 .elementor-element.elementor-element-a8cfa03{font-family:"Sohne", Sans-serif;font-size:17px;font-weight:300;line-height:1.588em;color:#2C3647;}.elementor-10 .elementor-element.elementor-element-18806b9 .elementor-button{background-color:rgba(0,0,0,0);font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:18px;font-weight:400;fill:#0082B3;color:#0082B3;padding:0px 0px 0px 0px;}.elementor-10 .elementor-element.elementor-element-18806b9 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-10 .elementor-element.elementor-element-18806b9 .elementor-button .elementor-button-content-wrapper{gap:11px;}.elementor-10 .elementor-element.elementor-element-083c8f5{--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;--overflow:hidden;}.elementor-10 .elementor-element.elementor-element-083c8f5:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-083c8f5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-04f9433{--display:flex;--position:relative;--min-height:246px;top:0px;}.elementor-10 .elementor-element.elementor-element-04f9433:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-04f9433 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#020c15;background-image:url("https://ctc.xspider.net/wp-content/uploads/figma-design/home-proc-06-quality.jpg");background-position:top center;background-size:cover;}body:not(.rtl) .elementor-10 .elementor-element.elementor-element-04f9433{left:0px;}body.rtl .elementor-10 .elementor-element.elementor-element-04f9433{right:0px;}.elementor-10 .elementor-element.elementor-element-4c1d69f{width:var( --container-widget-width, 34px );max-width:34px;background-color:#030648;padding:0px 0px 0px 0px;--container-widget-width:34px;--container-widget-flex-grow:0;bottom:-34px;z-index:3;text-align:center;}body:not(.rtl) .elementor-10 .elementor-element.elementor-element-4c1d69f{left:0px;}body.rtl .elementor-10 .elementor-element.elementor-element-4c1d69f{right:0px;}.elementor-10 .elementor-element.elementor-element-4c1d69f .elementor-heading-title{font-family:"Neue Haas Grotesk Text", Sans-serif;font-size:16.2px;font-weight:400;line-height:34px;color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-a83ef92{--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;--gap:9px 9px;--row-gap:9px;--column-gap:9px;border-style:solid;--border-style:solid;border-width:1px 0px 0px 0px;--border-top-width:1px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;border-color:rgba(44,54,71,0.12);--border-color:rgba(44,54,71,0.12);--margin-top:13px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:18px;--padding-bottom:20px;--padding-left:18px;--padding-right:18px;}.elementor-10 .elementor-element.elementor-element-5d64f7f .elementor-heading-title{font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:26px;font-weight:400;line-height:1.269em;color:#000000;}.elementor-10 .elementor-element.elementor-element-dd4ee35{font-family:"Sohne", Sans-serif;font-size:17px;font-weight:300;line-height:1.588em;color:#2C3647;}.elementor-10 .elementor-element.elementor-element-7be0563 .elementor-button{background-color:rgba(0,0,0,0);font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:18px;font-weight:400;fill:#0082B3;color:#0082B3;padding:0px 0px 0px 0px;}.elementor-10 .elementor-element.elementor-element-7be0563 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-10 .elementor-element.elementor-element-7be0563 .elementor-button .elementor-button-content-wrapper{gap:11px;}.elementor-10 .elementor-element.elementor-element-ea80310{--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;--overflow:hidden;}.elementor-10 .elementor-element.elementor-element-ea80310:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-ea80310 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-8bf755b{--display:flex;--position:relative;--min-height:246px;top:0px;}.elementor-10 .elementor-element.elementor-element-8bf755b:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-8bf755b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#020c15;background-image:url("https://ctc.xspider.net/wp-content/uploads/figma-design/home-proc-07-equipment.jpg");background-position:center center;background-size:cover;}body:not(.rtl) .elementor-10 .elementor-element.elementor-element-8bf755b{left:0px;}body.rtl .elementor-10 .elementor-element.elementor-element-8bf755b{right:0px;}.elementor-10 .elementor-element.elementor-element-156badd{width:var( --container-widget-width, 34px );max-width:34px;background-color:#030648;padding:0px 0px 0px 0px;--container-widget-width:34px;--container-widget-flex-grow:0;bottom:-34px;z-index:3;text-align:center;}body:not(.rtl) .elementor-10 .elementor-element.elementor-element-156badd{left:0px;}body.rtl .elementor-10 .elementor-element.elementor-element-156badd{right:0px;}.elementor-10 .elementor-element.elementor-element-156badd .elementor-heading-title{font-family:"Neue Haas Grotesk Text", Sans-serif;font-size:16.2px;font-weight:400;line-height:34px;color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-6692d67{--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;--gap:9px 9px;--row-gap:9px;--column-gap:9px;border-style:solid;--border-style:solid;border-width:1px 0px 0px 0px;--border-top-width:1px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;border-color:rgba(44,54,71,0.12);--border-color:rgba(44,54,71,0.12);--margin-top:13px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:18px;--padding-bottom:20px;--padding-left:18px;--padding-right:18px;}.elementor-10 .elementor-element.elementor-element-79f6d77 .elementor-heading-title{font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:26px;font-weight:400;line-height:1.269em;color:#000000;}.elementor-10 .elementor-element.elementor-element-c950912{font-family:"Sohne", Sans-serif;font-size:17px;font-weight:300;line-height:1.588em;color:#2C3647;}.elementor-10 .elementor-element.elementor-element-0938fc6 .elementor-button{background-color:rgba(0,0,0,0);font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:18px;font-weight:400;fill:#0082B3;color:#0082B3;padding:0px 0px 0px 0px;}.elementor-10 .elementor-element.elementor-element-0938fc6 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-10 .elementor-element.elementor-element-0938fc6 .elementor-button .elementor-button-content-wrapper{gap:11px;}.elementor-10 .elementor-element.elementor-element-7a97ac8{--e-n-carousel-swiper-slides-to-display:3;--e-n-carousel-swiper-offset-size:200px;--e-n-carousel-swiper-slides-gap:10px;width:var( --container-widget-width, 100% );max-width:100%;margin:30px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 10px;--container-widget-width:100%;--container-widget-flex-grow:0;--e-n-carousel-slide-height:auto;--e-n-carousel-slide-container-height:100%;--e-n-carousel-arrow-prev-left-align:0%;--e-n-carousel-arrow-prev-translate-x:0px;--e-n-carousel-arrow-prev-left-position:0px;--e-n-carousel-arrow-prev-top-align:50%;--e-n-carousel-arrow-prev-translate-y:-50%;--e-n-carousel-arrow-prev-top-position:0px;--e-n-carousel-arrow-next-right-align:0%;--e-n-carousel-arrow-next-translate-x:0%;--e-n-carousel-arrow-next-right-position:0px;--e-n-carousel-arrow-next-top-align:50%;--e-n-carousel-arrow-next-translate-y:-50%;--e-n-carousel-arrow-next-top-position:0px;}.elementor-10 .elementor-element.elementor-element-ebc2c13{--display:flex;--position:relative;--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:140px;--padding-bottom:140px;--padding-left:0px;--padding-right:0px;top:0px;}.elementor-10 .elementor-element.elementor-element-ebc2c13:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-ebc2c13 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#020c15;background-image:url("https://ctc.xspider.net/wp-content/uploads/2026/06/Group-48-8-1.webp");background-position:center center;background-repeat:no-repeat;background-size:cover;}body:not(.rtl) .elementor-10 .elementor-element.elementor-element-ebc2c13{left:0px;}body.rtl .elementor-10 .elementor-element.elementor-element-ebc2c13{right:0px;}.elementor-10 .elementor-element.elementor-element-f7c0895{--display:flex;--min-height:500px;--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:flex-start;--align-items:center;--padding-top:60px;--padding-bottom:60px;--padding-left:24px;--padding-right:24px;}.elementor-10 .elementor-element.elementor-element-06cb7e9{--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;--justify-content:center;--gap:12px 12px;--row-gap:12px;--column-gap:12px;--margin-top:0px;--margin-bottom:0px;--margin-left:40px;--margin-right:0px;}.elementor-10 .elementor-element.elementor-element-5fa9bd7{margin:-50px -50px calc(var(--kit-widget-spacing, 0px) + 50px) 50px;text-align:end;}.elementor-10 .elementor-element.elementor-element-5fa9bd7 img{width:175px;}.elementor-10 .elementor-element.elementor-element-274c986{margin:-30px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-274c986 .elementor-heading-title{font-family:"Neue Haas Grotesk Text", Sans-serif;font-size:14px;font-weight:400;line-height:2.07em;letter-spacing:0.5px;color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-5757a24{width:var( --container-widget-width, 1060px );max-width:1060px;margin:12px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:1060px;--container-widget-flex-grow:0;}.elementor-10 .elementor-element.elementor-element-5757a24 .elementor-heading-title{font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:48px;font-weight:400;line-height:1.208em;color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-6e2d550{width:var( --container-widget-width, 733px );max-width:733px;margin:15px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:733px;--container-widget-flex-grow:0;font-family:"Sohne", Sans-serif;font-size:19px;font-weight:300;line-height:1.526em;color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-1526640 .elementor-button{background-color:rgba(0,0,0,0);font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:18px;font-weight:400;fill:#ffffff;color:#ffffff;border-radius:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-10 .elementor-element.elementor-element-1526640{margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-1526640 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-10 .elementor-element.elementor-element-1526640 .elementor-button .elementor-button-content-wrapper{gap:14px;}.elementor-10 .elementor-element.elementor-element-695490b{--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:125px;--padding-bottom:150px;--padding-left:24px;--padding-right:24px;}.elementor-10 .elementor-element.elementor-element-695490b:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-695490b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-24f2f0b{--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:flex-start;--align-items:center;--gap:26px 26px;--row-gap:26px;--column-gap:26px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-10 .elementor-element.elementor-element-916b6df{--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-between;--align-items:flex-end;--flex-wrap:nowrap;--margin-top:0px;--margin-bottom:34px;--margin-left:0px;--margin-right:0px;}.elementor-10 .elementor-element.elementor-element-547e838{--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;--gap:6px 6px;--row-gap:6px;--column-gap:6px;}.elementor-10 .elementor-element.elementor-element-c4a1937{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 8px) 0px;padding:10px 10px 10px 10px;}.elementor-10 .elementor-element.elementor-element-c4a1937 .elementor-heading-title{font-family:"Neue Haas Grotesk Text", Sans-serif;font-size:14px;font-weight:400;line-height:2.07em;letter-spacing:0.5px;color:rgba(44,54,71,0.8);}.elementor-10 .elementor-element.elementor-element-215308f{margin:-15px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-215308f .elementor-heading-title{font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:48px;font-weight:400;line-height:1.292em;color:#000000;}.elementor-10 .elementor-element.elementor-element-cb32626{margin:-15px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-cb32626 .elementor-heading-title{font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:32px;font-weight:200;line-height:1.688em;color:#0082B3;}.elementor-10 .elementor-element.elementor-element-132d7a6{width:var( --container-widget-width, 560px );max-width:560px;--container-widget-width:560px;--container-widget-flex-grow:0;font-family:"Sohne", Sans-serif;font-size:18px;font-weight:300;line-height:1.556em;color:#2C3647;}.elementor-10 .elementor-element.elementor-element-b803225 .elementor-button{background-color:rgba(0,0,0,0);font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:18px;font-weight:400;fill:#0082B3;color:#0082B3;padding:0px 0px 0px 0px;}.elementor-10 .elementor-element.elementor-element-b803225{width:var( --container-widget-width, 28% );max-width:28%;margin:172px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:28%;--container-widget-flex-grow:0;}.elementor-10 .elementor-element.elementor-element-b803225 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-10 .elementor-element.elementor-element-b803225 .elementor-button .elementor-button-content-wrapper{gap:14px;}.elementor-10 .elementor-element.elementor-element-7d3d8d7{--display:grid;--e-con-grid-template-columns:repeat(4, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--gap:3px 3px;--row-gap:3px;--column-gap:3px;--grid-auto-flow:row;}.elementor-10 .elementor-element.elementor-element-1ae5187{--display:flex;--min-height:376px;--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overflow:hidden;--border-radius:0px 0px 0px 0px;}.elementor-10 .elementor-element.elementor-element-1ae5187:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-1ae5187 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#020c15;}.elementor-10 .elementor-element.elementor-element-e56d094 img{opacity:0.9;}.elementor-10 .elementor-element.elementor-element-4a76a60{--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;--gap:7px 7px;--row-gap:7px;--column-gap:7px;--padding-top:20px;--padding-bottom:15px;--padding-left:0px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-4a76a60:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-4a76a60 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-0d8de91 .elementor-heading-title{font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:26px;font-weight:400;line-height:1.269em;color:#000000;}.elementor-10 .elementor-element.elementor-element-bd66a80{font-family:"Sohne", Sans-serif;font-size:15px;font-weight:300;line-height:25px;color:#2C3647;}.elementor-10 .elementor-element.elementor-element-f0c55c3 .elementor-button{background-color:rgba(0,0,0,0);font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:18px;font-weight:400;fill:#0082B3;color:#0082B3;padding:0px 0px 0px 0px;}.elementor-10 .elementor-element.elementor-element-f0c55c3 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-10 .elementor-element.elementor-element-f0c55c3 .elementor-button .elementor-button-content-wrapper{gap:11px;}.elementor-10 .elementor-element.elementor-element-9d21688{--display:flex;--min-height:376px;--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overflow:hidden;--border-radius:0px 0px 0px 0px;}.elementor-10 .elementor-element.elementor-element-9d21688:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-9d21688 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#020c15;}.elementor-10 .elementor-element.elementor-element-89eeb1d img{opacity:0.9;}.elementor-10 .elementor-element.elementor-element-769844e{--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;--gap:7px 7px;--row-gap:7px;--column-gap:7px;--padding-top:20px;--padding-bottom:15px;--padding-left:0px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-769844e:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-769844e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-5bec925 .elementor-heading-title{font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:26px;font-weight:400;line-height:1.269em;color:#000000;}.elementor-10 .elementor-element.elementor-element-0a236c8{font-family:"Sohne", Sans-serif;font-size:15px;font-weight:300;line-height:25px;color:#2C3647;}.elementor-10 .elementor-element.elementor-element-f026f41 .elementor-button{background-color:rgba(0,0,0,0);font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:18px;font-weight:400;fill:#0082B3;color:#0082B3;padding:0px 0px 0px 0px;}.elementor-10 .elementor-element.elementor-element-f026f41 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-10 .elementor-element.elementor-element-f026f41 .elementor-button .elementor-button-content-wrapper{gap:11px;}.elementor-10 .elementor-element.elementor-element-527a855{--display:flex;--min-height:376px;--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overflow:hidden;--border-radius:0px 0px 0px 0px;}.elementor-10 .elementor-element.elementor-element-527a855:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-527a855 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#020c15;}.elementor-10 .elementor-element.elementor-element-cd03acf img{opacity:0.9;}.elementor-10 .elementor-element.elementor-element-4b63ad1{--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;--gap:7px 7px;--row-gap:7px;--column-gap:7px;--padding-top:20px;--padding-bottom:15px;--padding-left:0px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-4b63ad1:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-4b63ad1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-55489af .elementor-heading-title{font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:26px;font-weight:400;line-height:1.269em;color:#000000;}.elementor-10 .elementor-element.elementor-element-3865af0{font-family:"Sohne", Sans-serif;font-size:15px;font-weight:300;line-height:25px;color:#2C3647;}.elementor-10 .elementor-element.elementor-element-8c2358a .elementor-button{background-color:rgba(0,0,0,0);font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:18px;font-weight:400;fill:#0082B3;color:#0082B3;padding:0px 0px 0px 0px;}.elementor-10 .elementor-element.elementor-element-8c2358a .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-10 .elementor-element.elementor-element-8c2358a .elementor-button .elementor-button-content-wrapper{gap:11px;}.elementor-10 .elementor-element.elementor-element-5680fe5{--display:flex;--min-height:376px;--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overflow:hidden;--border-radius:0px 0px 0px 0px;}.elementor-10 .elementor-element.elementor-element-5680fe5:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-5680fe5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#020c15;}.elementor-10 .elementor-element.elementor-element-b73ca32 img{opacity:0.9;}.elementor-10 .elementor-element.elementor-element-bb38e72{--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;--gap:7px 7px;--row-gap:7px;--column-gap:7px;--padding-top:20px;--padding-bottom:15px;--padding-left:0px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-bb38e72:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-bb38e72 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-02c7048 .elementor-heading-title{font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:26px;font-weight:400;line-height:1.269em;color:#000000;}.elementor-10 .elementor-element.elementor-element-eb5cd16{font-family:"Sohne", Sans-serif;font-size:15px;font-weight:300;line-height:25px;color:#2C3647;}.elementor-10 .elementor-element.elementor-element-003c5a7 .elementor-button{background-color:rgba(0,0,0,0);font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:18px;font-weight:400;fill:#0082B3;color:#0082B3;padding:0px 0px 0px 0px;}.elementor-10 .elementor-element.elementor-element-003c5a7 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-10 .elementor-element.elementor-element-003c5a7 .elementor-button .elementor-button-content-wrapper{gap:11px;}.elementor-10 .elementor-element.elementor-element-d16f11b{--display:flex;--min-height:376px;--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overflow:hidden;--border-radius:0px 0px 0px 0px;}.elementor-10 .elementor-element.elementor-element-d16f11b:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-d16f11b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#020c15;}.elementor-10 .elementor-element.elementor-element-4e42600 img{opacity:0.9;}.elementor-10 .elementor-element.elementor-element-a962af9{--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;--gap:7px 7px;--row-gap:7px;--column-gap:7px;--padding-top:20px;--padding-bottom:15px;--padding-left:0px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-a962af9:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-a962af9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-e6adfe6 .elementor-heading-title{font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:26px;font-weight:400;line-height:1.269em;color:#000000;}.elementor-10 .elementor-element.elementor-element-fb19b20{font-family:"Sohne", Sans-serif;font-size:15px;font-weight:300;line-height:25px;color:#2C3647;}.elementor-10 .elementor-element.elementor-element-4f0a038 .elementor-button{background-color:rgba(0,0,0,0);font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:18px;font-weight:400;fill:#0082B3;color:#0082B3;padding:0px 0px 0px 0px;}.elementor-10 .elementor-element.elementor-element-4f0a038 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-10 .elementor-element.elementor-element-4f0a038 .elementor-button .elementor-button-content-wrapper{gap:11px;}.elementor-10 .elementor-element.elementor-element-9cba490{--display:flex;--min-height:376px;--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overflow:hidden;--border-radius:0px 0px 0px 0px;}.elementor-10 .elementor-element.elementor-element-9cba490:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-9cba490 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#020c15;}.elementor-10 .elementor-element.elementor-element-6a35fe2 img{opacity:0.9;}.elementor-10 .elementor-element.elementor-element-352f65d{--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;--gap:7px 7px;--row-gap:7px;--column-gap:7px;--padding-top:20px;--padding-bottom:15px;--padding-left:0px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-352f65d:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-352f65d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-02372ff .elementor-heading-title{font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:26px;font-weight:400;line-height:1.269em;color:#000000;}.elementor-10 .elementor-element.elementor-element-519a0ee{font-family:"Sohne", Sans-serif;font-size:15px;font-weight:300;line-height:25px;color:#2C3647;}.elementor-10 .elementor-element.elementor-element-a2800e8 .elementor-button{background-color:rgba(0,0,0,0);font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:18px;font-weight:400;fill:#0082B3;color:#0082B3;padding:0px 0px 0px 0px;}.elementor-10 .elementor-element.elementor-element-a2800e8 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-10 .elementor-element.elementor-element-a2800e8 .elementor-button .elementor-button-content-wrapper{gap:11px;}.elementor-10 .elementor-element.elementor-element-69908e5{--display:flex;--min-height:376px;--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overflow:hidden;--border-radius:0px 0px 0px 0px;}.elementor-10 .elementor-element.elementor-element-69908e5:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-69908e5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#020c15;}.elementor-10 .elementor-element.elementor-element-74928ea img{opacity:0.9;}.elementor-10 .elementor-element.elementor-element-d535d5e{--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;--gap:7px 7px;--row-gap:7px;--column-gap:7px;--padding-top:20px;--padding-bottom:15px;--padding-left:0px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-d535d5e:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-d535d5e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-1299807 .elementor-heading-title{font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:26px;font-weight:400;line-height:1.269em;color:#000000;}.elementor-10 .elementor-element.elementor-element-39251c0{font-family:"Sohne", Sans-serif;font-size:15px;font-weight:300;line-height:25px;color:#2C3647;}.elementor-10 .elementor-element.elementor-element-9137609 .elementor-button{background-color:rgba(0,0,0,0);font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:18px;font-weight:400;fill:#0082B3;color:#0082B3;padding:0px 0px 0px 0px;}.elementor-10 .elementor-element.elementor-element-9137609 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-10 .elementor-element.elementor-element-9137609 .elementor-button .elementor-button-content-wrapper{gap:11px;}.elementor-10 .elementor-element.elementor-element-900f931{--display:flex;--min-height:376px;--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overflow:hidden;--border-radius:0px 0px 0px 0px;}.elementor-10 .elementor-element.elementor-element-900f931:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-900f931 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#020c15;}.elementor-10 .elementor-element.elementor-element-6f64ef3 img{opacity:0.9;}.elementor-10 .elementor-element.elementor-element-dbab586{--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;--gap:7px 7px;--row-gap:7px;--column-gap:7px;--padding-top:20px;--padding-bottom:15px;--padding-left:0px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-dbab586:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-dbab586 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-506cff4 .elementor-heading-title{font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:26px;font-weight:400;line-height:1.269em;color:#000000;}.elementor-10 .elementor-element.elementor-element-059a569{font-family:"Sohne", Sans-serif;font-size:15px;font-weight:300;line-height:25px;color:#2C3647;}.elementor-10 .elementor-element.elementor-element-7d31b61 .elementor-button{background-color:rgba(0,0,0,0);font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:18px;font-weight:400;fill:#0082B3;color:#0082B3;padding:0px 0px 0px 0px;}.elementor-10 .elementor-element.elementor-element-7d31b61 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-10 .elementor-element.elementor-element-7d31b61 .elementor-button .elementor-button-content-wrapper{gap:11px;}.elementor-10 .elementor-element.elementor-element-c8b0877{--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:stretch;--flex-wrap:nowrap;--margin-top:-27px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-c8b0877:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-c8b0877 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#020c15;}.elementor-10 .elementor-element.elementor-element-99ab8db{--display:flex;--position:relative;--min-height:730px;top:0px;}.elementor-10 .elementor-element.elementor-element-99ab8db:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-99ab8db > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#020c15;background-image:url("https://ctc.xspider.net/wp-content/uploads/2026/07/careers-person-overlay.webp");background-position:center center;background-repeat:no-repeat;background-size:cover;}body:not(.rtl) .elementor-10 .elementor-element.elementor-element-99ab8db{left:0px;}body.rtl .elementor-10 .elementor-element.elementor-element-99ab8db{right:0px;}.elementor-10 .elementor-element.elementor-element-7c4986a{--display:flex;--min-height:236px;--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;--gap:12px 12px;--row-gap:12px;--column-gap:12px;--padding-top:90px;--padding-bottom:20px;--padding-left:256px;--padding-right:64px;}.elementor-10 .elementor-element.elementor-element-7c4986a:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-7c4986a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(109.8deg, #030F51 0%, #0366A2 100%);}.elementor-10 .elementor-element.elementor-element-0f79f68{margin:-10px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-0f79f68 .elementor-heading-title{font-family:"Neue Haas Grotesk Text", Sans-serif;font-size:136px;font-weight:400;line-height:1em;color:rgba(255,255,255,0.3);}.elementor-10 .elementor-element.elementor-element-0cf14db{width:var( --container-widget-width, 591px );max-width:591px;--container-widget-width:591px;--container-widget-flex-grow:0;font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:20px;font-weight:200;line-height:27px;color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-8ba046a .elementor-heading-title{font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:16px;font-weight:400;line-height:28px;color:var( --e-global-color-e2a6292 );}.elementor-10 .elementor-element.elementor-element-3c5623e{--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;--justify-content:center;--gap:12px 12px;--row-gap:12px;--column-gap:12px;--padding-top:56px;--padding-bottom:56px;--padding-left:60px;--padding-right:60px;}.elementor-10 .elementor-element.elementor-element-3c5623e:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-3c5623e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#020c15;}.elementor-10 .elementor-element.elementor-element-a71f8bd{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 6px) 0px;padding:10px 10px 10px 10px;}.elementor-10 .elementor-element.elementor-element-a71f8bd .elementor-heading-title{font-family:"Neue Haas Grotesk Text", Sans-serif;font-size:14px;font-weight:400;line-height:2.07em;letter-spacing:0.5px;color:var( --e-global-color-e2a6292 );}.elementor-10 .elementor-element.elementor-element-5bbc84a{width:var( --container-widget-width, 620px );max-width:620px;margin:00px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 10px;--container-widget-width:620px;--container-widget-flex-grow:0;}.elementor-10 .elementor-element.elementor-element-5bbc84a .elementor-heading-title{font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:48px;font-weight:400;line-height:1.208em;color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-d072b0f{width:var( --container-widget-width, 470px );max-width:470px;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 10px;--container-widget-width:470px;--container-widget-flex-grow:0;font-family:"Sohne", Sans-serif;font-size:19px;font-weight:300;line-height:1.526em;color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-e82d9b0 .elementor-button{background-color:rgba(0,0,0,0);font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:18px;font-weight:400;fill:#ffffff;color:#ffffff;padding:0px 0px 0px 0px;}.elementor-10 .elementor-element.elementor-element-e82d9b0{margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 10px;}.elementor-10 .elementor-element.elementor-element-e82d9b0 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-10 .elementor-element.elementor-element-e82d9b0 .elementor-button .elementor-button-content-wrapper{gap:14px;}.elementor-10 .elementor-element.elementor-element-0e9a0f7{--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;--margin-top:20px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-0e9a0f7:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-0e9a0f7 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-6f58548{--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:94px;--padding-bottom:166px;--padding-left:93px;--padding-right:93px;}.elementor-10 .elementor-element.elementor-element-6f58548:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-6f58548 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F0F2F4;}.elementor-10 .elementor-element.elementor-element-767e7ca{--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;--border-radius:0px 0px 0px 0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-767e7ca:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-767e7ca > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F0F2F4;}.elementor-10 .elementor-element.elementor-element-f339d64{--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-end;--flex-wrap:nowrap;--margin-top:0px;--margin-bottom:28px;--margin-left:0px;--margin-right:0px;}.elementor-10 .elementor-element.elementor-element-fb66f70{--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;--gap:5px 5px;--row-gap:5px;--column-gap:5px;}.elementor-10 .elementor-element.elementor-element-5126401{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 8px) 0px;padding:10px 10px 10px 10px;}.elementor-10 .elementor-element.elementor-element-5126401 .elementor-heading-title{font-family:"Neue Haas Grotesk Text", Sans-serif;font-size:14px;font-weight:400;line-height:2.07em;letter-spacing:0.5px;color:rgba(44,54,71,0.8);}.elementor-10 .elementor-element.elementor-element-bac65fe{margin:-15px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-bac65fe .elementor-heading-title{font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:44px;font-weight:400;line-height:1.409em;color:#000000;}.elementor-10 .elementor-element.elementor-element-948a7bb{margin:-15px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-948a7bb .elementor-heading-title{font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:28px;font-weight:200;line-height:1.929em;color:#0082B3;}.elementor-10 .elementor-element.elementor-element-379a669{width:var( --container-widget-width, 759px );max-width:759px;--container-widget-width:759px;--container-widget-flex-grow:0;font-family:"Sohne", Sans-serif;font-size:18px;font-weight:300;line-height:1.556em;color:#2C3647;}.elementor-10 .elementor-element.elementor-element-b101059 .elementor-button{background-color:rgba(0,0,0,0);font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:18px;font-weight:400;fill:#0082B3;color:#0082B3;padding:0px 0px 0px 0px;}.elementor-10 .elementor-element.elementor-element-b101059{width:var( --container-widget-width, 28% );max-width:28%;margin:172px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:28%;--container-widget-flex-grow:0;}.elementor-10 .elementor-element.elementor-element-b101059 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-10 .elementor-element.elementor-element-b101059 .elementor-button .elementor-button-content-wrapper{gap:14px;}.elementor-10 .elementor-element.elementor-element-2b4704b{--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:40px 40px;--row-gap:40px;--column-gap:40px;--flex-wrap:nowrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-10 .elementor-element.elementor-element-58a722d{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-10 .elementor-element.elementor-element-58a722d.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-10 .elementor-element.elementor-element-ad27c67{--display:flex;--position:relative;top:0px;}body:not(.rtl) .elementor-10 .elementor-element.elementor-element-ad27c67{left:0px;}body.rtl .elementor-10 .elementor-element.elementor-element-ad27c67{right:0px;}.elementor-10 .elementor-element.elementor-element-1dcad60 img{width:100%;max-width:100%;opacity:1;}.elementor-10 .elementor-element.elementor-element-3d52944{--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:center;--align-items:center;--gap:5px 5px;--row-gap:5px;--column-gap:5px;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-10 .elementor-element.elementor-element-3d52944:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-3d52944 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#030648;}.elementor-10 .elementor-element.elementor-element-ee41b7b .elementor-heading-title{font-family:"Neue Haas Grotesk Text", Sans-serif;font-size:22px;font-weight:400;line-height:1em;color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-1c9338f .elementor-heading-title{font-family:"Neue Haas Grotesk Text", Sans-serif;font-size:11px;font-weight:400;line-height:1em;letter-spacing:0.79px;color:#ABB5C1;}.elementor-10 .elementor-element.elementor-element-730e7f9{--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;--gap:8px 8px;--row-gap:8px;--column-gap:8px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-6f3ca1d{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 2px) 0px;}.elementor-10 .elementor-element.elementor-element-6f3ca1d .elementor-heading-title{font-family:"Neue Haas Grotesk Text", Sans-serif;font-size:14px;font-weight:400;line-height:1.714em;letter-spacing:0.5px;color:rgba(44,54,71,0.8);}.elementor-10 .elementor-element.elementor-element-a8dba89{width:var( --container-widget-width, 360px );max-width:360px;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 2px) 0px;--container-widget-width:360px;--container-widget-flex-grow:0;}.elementor-10 .elementor-element.elementor-element-a8dba89 .elementor-heading-title{font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:26px;font-weight:400;line-height:1.385em;color:#000000;}.elementor-10 .elementor-element.elementor-element-4bc5823{font-family:"Sohne", Sans-serif;font-size:15px;font-weight:300;line-height:1.667em;color:#000000;}.elementor-10 .elementor-element.elementor-element-3a65474 .elementor-button{background-color:rgba(0,0,0,0);font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:17px;font-weight:400;fill:#0082B3;color:#0082B3;padding:0px 0px 0px 0px;}.elementor-10 .elementor-element.elementor-element-3a65474 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-10 .elementor-element.elementor-element-3a65474 .elementor-button .elementor-button-content-wrapper{gap:10px;}.elementor-10 .elementor-element.elementor-element-792d8a3{--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;--justify-content:flex-start;--gap:22px 22px;--row-gap:22px;--column-gap:22px;}.elementor-10 .elementor-element.elementor-element-65412f4{--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:40px 40px;--row-gap:40px;--column-gap:40px;--padding-top:0px;--padding-bottom:20px;--padding-left:0px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-423b979{--display:flex;--position:relative;top:0px;}body:not(.rtl) .elementor-10 .elementor-element.elementor-element-423b979{left:0px;}body.rtl .elementor-10 .elementor-element.elementor-element-423b979{right:0px;}.elementor-10 .elementor-element.elementor-element-e77d72e img{width:100%;opacity:1;}.elementor-10 .elementor-element.elementor-element-dde177c{--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:center;--align-items:center;--gap:5px 5px;--row-gap:5px;--column-gap:5px;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-10 .elementor-element.elementor-element-dde177c:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-dde177c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#030648;}.elementor-10 .elementor-element.elementor-element-1077a44 .elementor-heading-title{font-family:"Neue Haas Grotesk Text", Sans-serif;font-size:22px;font-weight:400;line-height:1em;color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-f5a4238 .elementor-heading-title{font-family:"Neue Haas Grotesk Text", Sans-serif;font-size:11px;font-weight:400;line-height:1em;letter-spacing:0.79px;color:#ABB5C1;}.elementor-10 .elementor-element.elementor-element-c710cc7{--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;--gap:4px 4px;--row-gap:4px;--column-gap:4px;}.elementor-10 .elementor-element.elementor-element-edfae37 .elementor-heading-title{font-family:"Neue Haas Grotesk Text", Sans-serif;font-size:14px;font-weight:400;line-height:2em;letter-spacing:0.5px;color:rgba(44,54,71,0.8);}.elementor-10 .elementor-element.elementor-element-fbc8fdb .elementor-heading-title{font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:20px;font-weight:400;line-height:1.5em;color:#000000;}.elementor-10 .elementor-element.elementor-element-ff79386{font-family:"Sohne", Sans-serif;font-size:15px;font-weight:300;line-height:1.667em;color:#2C3647;}.elementor-10 .elementor-element.elementor-element-f454830{--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:40px 40px;--row-gap:40px;--column-gap:40px;--padding-top:0px;--padding-bottom:20px;--padding-left:0px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-11911df{--display:flex;--position:relative;top:0px;}body:not(.rtl) .elementor-10 .elementor-element.elementor-element-11911df{left:0px;}body.rtl .elementor-10 .elementor-element.elementor-element-11911df{right:0px;}.elementor-10 .elementor-element.elementor-element-f694c2a img{opacity:1;}.elementor-10 .elementor-element.elementor-element-996c53a{--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:center;--align-items:center;--gap:5px 5px;--row-gap:5px;--column-gap:5px;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-10 .elementor-element.elementor-element-996c53a:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-996c53a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#030648;}.elementor-10 .elementor-element.elementor-element-361235b .elementor-heading-title{font-family:"Neue Haas Grotesk Text", Sans-serif;font-size:22px;font-weight:400;line-height:1em;color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-eccd818 .elementor-heading-title{font-family:"Neue Haas Grotesk Text", Sans-serif;font-size:11px;font-weight:400;line-height:1em;letter-spacing:0.79px;color:#ABB5C1;}.elementor-10 .elementor-element.elementor-element-0e7ca74{--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;--gap:4px 4px;--row-gap:4px;--column-gap:4px;}.elementor-10 .elementor-element.elementor-element-88c6f1a .elementor-heading-title{font-family:"Neue Haas Grotesk Text", Sans-serif;font-size:14px;font-weight:400;line-height:2em;letter-spacing:0.5px;color:rgba(44,54,71,0.8);}.elementor-10 .elementor-element.elementor-element-e8356c9 .elementor-heading-title{font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:20px;font-weight:400;line-height:1.5em;color:#000000;}.elementor-10 .elementor-element.elementor-element-a17da65{font-family:"Sohne", Sans-serif;font-size:15px;font-weight:300;line-height:1.667em;color:#2C3647;}.elementor-10 .elementor-element.elementor-element-87946f9{--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;--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-10 .elementor-element.elementor-element-87946f9:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-87946f9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-4ee742d{--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:70px;--padding-left:0px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-14f5b50{--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:center;--flex-wrap:wrap;--border-radius:0px 0px 0px 0px;box-shadow:0px 7px 10px 0px rgba(0,0,0,0.12);--margin-top:-51px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:24px;--padding-bottom:24px;--padding-left:32px;--padding-right:32px;}.elementor-10 .elementor-element.elementor-element-14f5b50:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-14f5b50 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-10 .elementor-element.elementor-element-65c9112{--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:center;--gap:18px 18px;--row-gap:18px;--column-gap:18px;}.elementor-10 .elementor-element.elementor-element-941b625 .elementor-icon-wrapper{text-align:center;}.elementor-10 .elementor-element.elementor-element-941b625.elementor-view-stacked .elementor-icon{background-color:rgba(0,130,179,0.5);color:rgba(0,130,179,0.5);}.elementor-10 .elementor-element.elementor-element-941b625.elementor-view-framed .elementor-icon, .elementor-10 .elementor-element.elementor-element-941b625.elementor-view-default .elementor-icon{color:rgba(0,130,179,0.5);border-color:rgba(0,130,179,0.5);}.elementor-10 .elementor-element.elementor-element-941b625.elementor-view-framed .elementor-icon, .elementor-10 .elementor-element.elementor-element-941b625.elementor-view-default .elementor-icon svg{fill:rgba(0,130,179,0.5);}.elementor-10 .elementor-element.elementor-element-941b625.elementor-view-framed .elementor-icon{background-color:rgba(0,130,179,0.5);}.elementor-10 .elementor-element.elementor-element-941b625.elementor-view-stacked .elementor-icon svg{fill:rgba(0,130,179,0.5);}.elementor-10 .elementor-element.elementor-element-941b625 .elementor-icon{font-size:23px;padding:16px;}.elementor-10 .elementor-element.elementor-element-941b625 .elementor-icon svg{height:23px;}.elementor-10 .elementor-element.elementor-element-2f31ec7 .elementor-heading-title{font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:28px;font-weight:200;line-height:1.929em;color:#000000;}.elementor-10 .elementor-element.elementor-element-6608f82 .elementor-button{background-color:rgba(0,0,0,0);font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:18px;font-weight:400;fill:#0082B3;color:#0082B3;padding:0px 0px 0px 0px;}.elementor-10 .elementor-element.elementor-element-6608f82 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-10 .elementor-element.elementor-element-6608f82 .elementor-button .elementor-button-content-wrapper{gap:14px;}.elementor-10 .elementor-element.elementor-element-4e19c7b{--display:flex;--min-height:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-10 .elementor-element.elementor-element-32396fd{--min-height:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}.elementor-10 .elementor-element.elementor-element-32396fd:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-32396fd > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:center center;}.elementor-10 .elementor-element.elementor-element-6027452{--min-height:0px;--padding-top:266px;--padding-bottom:67px;--padding-left:0px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-b6907e3{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-10 .elementor-element.elementor-element-b6907e3 .elementor-heading-title{font-size:52px;}.elementor-10 .elementor-element.elementor-element-55b745d{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-55b745d .elementor-heading-title{font-size:32px;}.elementor-10 .elementor-element.elementor-element-3829888{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;font-size:18px;}.elementor-10 .elementor-element.elementor-element-fc3d5f7 .elementor-button{font-size:17px;}.elementor-10 .elementor-element.elementor-element-59f49ee .elementor-heading-title{font-size:16px;}.elementor-10 .elementor-element.elementor-element-e29e1f6 .elementor-heading-title{font-size:16px;}.elementor-10 .elementor-element.elementor-element-4e664d9 .elementor-heading-title{font-size:16px;}.elementor-10 .elementor-element.elementor-element-9252ca8 .elementor-heading-title{font-size:16px;}.elementor-10 .elementor-element.elementor-element-e6567a7{--padding-top:30px;--padding-bottom:30px;--padding-left:20px;--padding-right:20px;}.elementor-10 .elementor-element.elementor-element-ccebd56{--padding-top:26px;--padding-bottom:26px;--padding-left:20px;--padding-right:20px;}.elementor-10 .elementor-element.elementor-element-8fcdc44{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-8fcdc44 .elementor-heading-title{font-size:22px;}.elementor-10 .elementor-element.elementor-element-d8368d5{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;font-size:15px;}.elementor-10 .elementor-element.elementor-element-f0411e0{--padding-top:60px;--padding-bottom:60px;--padding-left:20px;--padding-right:20px;}.elementor-10 .elementor-element.elementor-element-4201d95{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-10 .elementor-element.elementor-element-4201d95 .elementor-heading-title{font-size:28px;}.elementor-10 .elementor-element.elementor-element-84e6c24 .elementor-button{font-size:15px;}.elementor-10 .elementor-element.elementor-element-f7f2f2c{--padding-top:55px;--padding-bottom:40px;--padding-left:20px;--padding-right:20px;}.elementor-10 .elementor-element.elementor-element-8412ca0{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 8px) 0px;}.elementor-10 .elementor-element.elementor-element-ea2f707{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 24px) 0px;}.elementor-10 .elementor-element.elementor-element-ea2f707 .elementor-heading-title{font-size:28px;}.elementor-10 .elementor-element.elementor-element-622c0c3{--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-10 .elementor-element.elementor-element-fnlgbig{--grid-columns:1;width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-10 .elementor-element.elementor-element-fnlglist{--grid-columns:1;width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-10 .elementor-element.elementor-element-aa121ab{--padding-top:90px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}.elementor-10 .elementor-element.elementor-element-de267b3{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-de267b3 .elementor-heading-title{font-size:36px;}.elementor-10 .elementor-element.elementor-element-90badd8{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-90badd8 .elementor-heading-title{font-size:26px;}.elementor-10 .elementor-element.elementor-element-99a0415{font-size:16px;}.elementor-10 .elementor-element.elementor-element-de33032{margin:72px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-de33032 .elementor-button{font-size:16px;}.elementor-10 .elementor-element.elementor-element-148076b{--padding-top:44px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-771b268{--padding-top:50px;--padding-bottom:50px;--padding-left:20px;--padding-right:20px;}.elementor-10 .elementor-element.elementor-element-a5520f79{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-a5520f79 img{width:100%;}.elementor-10 .elementor-element.elementor-element-be6dfb0{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-be6dfb0 .elementor-heading-title{font-size:28px;}.elementor-10 .elementor-element.elementor-element-25ac16b{font-size:15px;}.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button{font-size:16px;}.elementor-10 .elementor-element.elementor-element-9c7befe{--padding-top:50px;--padding-bottom:50px;--padding-left:20px;--padding-right:20px;}.elementor-10 .elementor-element.elementor-element-868a9b11{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-868a9b11 img{width:100%;}.elementor-10 .elementor-element.elementor-element-05ef774{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-05ef774 .elementor-heading-title{font-size:28px;}.elementor-10 .elementor-element.elementor-element-dd2afe7{font-size:15px;}.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button{font-size:16px;}.elementor-10 .elementor-element.elementor-element-e5b668e{--padding-top:50px;--padding-bottom:50px;--padding-left:20px;--padding-right:20px;}.elementor-10 .elementor-element.elementor-element-8aa9de1c{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-8aa9de1c img{width:100%;}.elementor-10 .elementor-element.elementor-element-de7ced1{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-de7ced1 .elementor-heading-title{font-size:28px;}.elementor-10 .elementor-element.elementor-element-29203fe{font-size:15px;}.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button{font-size:16px;}.elementor-10 .elementor-element.elementor-element-f209204{--padding-top:50px;--padding-bottom:50px;--padding-left:20px;--padding-right:20px;}.elementor-10 .elementor-element.elementor-element-722c3b68{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-722c3b68 img{width:100%;}.elementor-10 .elementor-element.elementor-element-4e79214{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-4e79214 .elementor-heading-title{font-size:28px;}.elementor-10 .elementor-element.elementor-element-03b5f43{font-size:15px;}.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button{font-size:16px;}.elementor-10 .elementor-element.elementor-element-719f135{--padding-top:50px;--padding-bottom:50px;--padding-left:20px;--padding-right:20px;}.elementor-10 .elementor-element.elementor-element-e55e4dc3{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-e55e4dc3 img{width:100%;}.elementor-10 .elementor-element.elementor-element-13aa474{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-13aa474 .elementor-heading-title{font-size:28px;}.elementor-10 .elementor-element.elementor-element-dbd80de{font-size:15px;}.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button{font-size:16px;}.elementor-10 .elementor-element.elementor-element-ebf17af{--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;--margin-top:37px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-722731d{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-10 .elementor-element.elementor-element-94c466a{--padding-top:80px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}.elementor-10 .elementor-element.elementor-element-0974da5{--padding-top:0px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-3e525b7{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-10 .elementor-element.elementor-element-3e525b7 .elementor-heading-title{font-size:36px;}.elementor-10 .elementor-element.elementor-element-f4238c3{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;font-size:17px;}.elementor-10 .elementor-element.elementor-element-248c6a2 .elementor-button{font-size:16px;}.elementor-10 .elementor-element.elementor-element-e5c8b5c{--padding-top:55px;--padding-bottom:40px;--padding-left:20px;--padding-right:20px;}.elementor-10 .elementor-element.elementor-element-36e7289{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-36e7289 .elementor-heading-title{font-size:36px;}.elementor-10 .elementor-element.elementor-element-33023ba{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-33023ba .elementor-heading-title{font-size:26px;}.elementor-10 .elementor-element.elementor-element-48bbd82{font-size:16px;}.elementor-10 .elementor-element.elementor-element-f32f490 .elementor-button{font-size:16px;}.elementor-10 .elementor-element.elementor-element-70eab64 .elementor-heading-title{font-size:22px;}.elementor-10 .elementor-element.elementor-element-3a2ca86{font-size:15px;}.elementor-10 .elementor-element.elementor-element-2a58dbd .elementor-button{font-size:16px;}.elementor-10 .elementor-element.elementor-element-18e091d .elementor-heading-title{font-size:22px;}.elementor-10 .elementor-element.elementor-element-00e9f4a{font-size:15px;}.elementor-10 .elementor-element.elementor-element-019e369 .elementor-button{font-size:16px;}.elementor-10 .elementor-element.elementor-element-1a187a2 .elementor-heading-title{font-size:22px;}.elementor-10 .elementor-element.elementor-element-b5bc688{font-size:15px;}.elementor-10 .elementor-element.elementor-element-af6b43b .elementor-button{font-size:16px;}.elementor-10 .elementor-element.elementor-element-3dcd312 .elementor-heading-title{font-size:22px;}.elementor-10 .elementor-element.elementor-element-659cc73{font-size:15px;}.elementor-10 .elementor-element.elementor-element-590e2ed .elementor-button{font-size:16px;}.elementor-10 .elementor-element.elementor-element-d8672a9 .elementor-heading-title{font-size:22px;}.elementor-10 .elementor-element.elementor-element-a8cfa03{font-size:15px;}.elementor-10 .elementor-element.elementor-element-18806b9 .elementor-button{font-size:16px;}.elementor-10 .elementor-element.elementor-element-5d64f7f .elementor-heading-title{font-size:22px;}.elementor-10 .elementor-element.elementor-element-dd4ee35{font-size:15px;}.elementor-10 .elementor-element.elementor-element-7be0563 .elementor-button{font-size:16px;}.elementor-10 .elementor-element.elementor-element-79f6d77 .elementor-heading-title{font-size:22px;}.elementor-10 .elementor-element.elementor-element-c950912{font-size:15px;}.elementor-10 .elementor-element.elementor-element-0938fc6 .elementor-button{font-size:16px;}.elementor-10 .elementor-element.elementor-element-7a97ac8{--e-n-carousel-swiper-slides-to-display:2;--e-n-carousel-swiper-offset-size:150px;margin:39px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-ebc2c13:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-ebc2c13 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:center center;background-size:cover;}.elementor-10 .elementor-element.elementor-element-ebc2c13{--padding-top:140px;--padding-bottom:140px;--padding-left:20px;--padding-right:20px;}.elementor-10 .elementor-element.elementor-element-f7c0895{--min-height:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-06cb7e9{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-10 .elementor-element.elementor-element-5fa9bd7{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 20px) 0px;}.elementor-10 .elementor-element.elementor-element-274c986{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-5757a24{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-10 .elementor-element.elementor-element-5757a24 .elementor-heading-title{font-size:36px;}.elementor-10 .elementor-element.elementor-element-6e2d550{width:100%;max-width:100%;font-size:17px;}.elementor-10 .elementor-element.elementor-element-1526640{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-1526640 .elementor-button{font-size:16px;}.elementor-10 .elementor-element.elementor-element-695490b{--padding-top:111px;--padding-bottom:150px;--padding-left:20px;--padding-right:20px;}.elementor-10 .elementor-element.elementor-element-24f2f0b{--margin-top:46px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-10 .elementor-element.elementor-element-215308f{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-215308f .elementor-heading-title{font-size:36px;}.elementor-10 .elementor-element.elementor-element-cb32626{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-cb32626 .elementor-heading-title{font-size:26px;}.elementor-10 .elementor-element.elementor-element-132d7a6{font-size:16px;}.elementor-10 .elementor-element.elementor-element-b803225{margin:86px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-b803225 .elementor-button{font-size:16px;}.elementor-10 .elementor-element.elementor-element-7d3d8d7{--e-con-grid-template-columns:repeat(2, 1fr);--gap:30px 30px;--row-gap:30px;--column-gap:30px;--grid-auto-flow:row;}.elementor-10 .elementor-element.elementor-element-1ae5187{--min-height:0px;}.elementor-10 .elementor-element.elementor-element-0d8de91 .elementor-heading-title{font-size:22px;}.elementor-10 .elementor-element.elementor-element-9d21688{--min-height:0px;}.elementor-10 .elementor-element.elementor-element-5bec925 .elementor-heading-title{font-size:22px;}.elementor-10 .elementor-element.elementor-element-527a855{--min-height:0px;}.elementor-10 .elementor-element.elementor-element-55489af .elementor-heading-title{font-size:22px;}.elementor-10 .elementor-element.elementor-element-5680fe5{--min-height:0px;}.elementor-10 .elementor-element.elementor-element-02c7048 .elementor-heading-title{font-size:22px;}.elementor-10 .elementor-element.elementor-element-d16f11b{--min-height:0px;}.elementor-10 .elementor-element.elementor-element-e6adfe6 .elementor-heading-title{font-size:22px;}.elementor-10 .elementor-element.elementor-element-9cba490{--min-height:0px;}.elementor-10 .elementor-element.elementor-element-02372ff .elementor-heading-title{font-size:22px;}.elementor-10 .elementor-element.elementor-element-69908e5{--min-height:0px;}.elementor-10 .elementor-element.elementor-element-1299807 .elementor-heading-title{font-size:22px;}.elementor-10 .elementor-element.elementor-element-900f931{--min-height:0px;}.elementor-10 .elementor-element.elementor-element-506cff4 .elementor-heading-title{font-size:22px;}.elementor-10 .elementor-element.elementor-element-c8b0877{--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-10 .elementor-element.elementor-element-99ab8db{--min-height:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-7c4986a{--min-height:0px;--padding-top:40px;--padding-bottom:28px;--padding-left:20px;--padding-right:20px;}.elementor-10 .elementor-element.elementor-element-0cf14db{font-size:18px;}.elementor-10 .elementor-element.elementor-element-3c5623e{--padding-top:56px;--padding-bottom:56px;--padding-left:20px;--padding-right:20px;}.elementor-10 .elementor-element.elementor-element-5bbc84a{width:var( --container-widget-width, 100% );max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-10 .elementor-element.elementor-element-5bbc84a .elementor-heading-title{font-size:36px;}.elementor-10 .elementor-element.elementor-element-d072b0f{font-size:17px;}.elementor-10 .elementor-element.elementor-element-e82d9b0 .elementor-button{font-size:16px;}.elementor-10 .elementor-element.elementor-element-6f58548{--padding-top:60px;--padding-bottom:60px;--padding-left:0px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-767e7ca{--padding-top:50px;--padding-bottom:50px;--padding-left:20px;--padding-right:20px;}.elementor-10 .elementor-element.elementor-element-bac65fe{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-bac65fe .elementor-heading-title{font-size:34px;}.elementor-10 .elementor-element.elementor-element-948a7bb{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-948a7bb .elementor-heading-title{font-size:24px;}.elementor-10 .elementor-element.elementor-element-379a669{font-size:16px;}.elementor-10 .elementor-element.elementor-element-b101059{margin:86px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-b101059 .elementor-button{font-size:16px;}.elementor-10 .elementor-element.elementor-element-2b4704b{--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;--margin-top:108px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-10 .elementor-element.elementor-element-a8dba89 .elementor-heading-title{font-size:22px;}.elementor-10 .elementor-element.elementor-element-3a65474 .elementor-button{font-size:16px;}.elementor-10 .elementor-element.elementor-element-65412f4{--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-10 .elementor-element.elementor-element-fbc8fdb .elementor-heading-title{font-size:18px;}.elementor-10 .elementor-element.elementor-element-f454830{--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-10 .elementor-element.elementor-element-e8356c9 .elementor-heading-title{font-size:18px;}.elementor-10 .elementor-element.elementor-element-87946f9{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-10 .elementor-element.elementor-element-4ee742d{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:70px;--padding-left:20px;--padding-right:20px;}.elementor-10 .elementor-element.elementor-element-2f31ec7 .elementor-heading-title{font-size:22px;}.elementor-10 .elementor-element.elementor-element-6608f82 .elementor-button{font-size:16px;}}@media(max-width:767px){.elementor-10 .elementor-element.elementor-element-32396fd{--min-height:0px;--padding-top:56px;--padding-bottom:56px;--padding-left:20px;--padding-right:20px;}.elementor-10 .elementor-element.elementor-element-32396fd:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-32396fd > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:center center;background-size:cover;}.elementor-10 .elementor-element.elementor-element-6027452{--min-height:0px;--padding-top:100px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-129fad9{--width:100%;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:0px;--padding-left:15px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-b6907e3{width:var( --container-widget-width, 100% );max-width:100%;margin:-25px 0px calc(var(--kit-widget-spacing, 0px) + 10px) 0px;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-10 .elementor-element.elementor-element-b6907e3 .elementor-heading-title{font-size:38px;}.elementor-10 .elementor-element.elementor-element-55b745d{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-55b745d .elementor-heading-title{font-size:26px;}.elementor-10 .elementor-element.elementor-element-3829888{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;font-size:16px;}.elementor-10 .elementor-element.elementor-element-fc3d5f7 .elementor-button{font-size:16px;}.elementor-10 .elementor-element.elementor-element-59f49ee{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-10 .elementor-element.elementor-element-59f49ee .elementor-heading-title{font-size:15px;}.elementor-10 .elementor-element.elementor-element-e29e1f6{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-10 .elementor-element.elementor-element-e29e1f6 .elementor-heading-title{font-size:15px;}.elementor-10 .elementor-element.elementor-element-4e664d9{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-10 .elementor-element.elementor-element-4e664d9 .elementor-heading-title{font-size:15px;}.elementor-10 .elementor-element.elementor-element-9252ca8{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-10 .elementor-element.elementor-element-9252ca8 .elementor-heading-title{font-size:15px;}.elementor-10 .elementor-element.elementor-element-e6567a7{--padding-top:30px;--padding-bottom:30px;--padding-left:20px;--padding-right:20px;}.elementor-10 .elementor-element.elementor-element-ccebd56{--padding-top:0px;--padding-bottom:26px;--padding-left:0px;--padding-right:20px;}.elementor-10 .elementor-element.elementor-element-d0f13a8{--width:100%;}.elementor-10 .elementor-element.elementor-element-8fcdc44{width:var( --container-widget-width, 100% );max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-10 .elementor-element.elementor-element-8fcdc44 .elementor-heading-title{font-size:19px;}.elementor-10 .elementor-element.elementor-element-d8368d5{width:var( --container-widget-width, 100% );max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 10px;--container-widget-width:100%;--container-widget-flex-grow:0;font-size:14px;}.elementor-10 .elementor-element.elementor-element-f0411e0{--padding-top:40px;--padding-bottom:40px;--padding-left:20px;--padding-right:20px;}.elementor-10 .elementor-element.elementor-element-fc933e1 .elementor-heading-title{font-size:13px;}.elementor-10 .elementor-element.elementor-element-4201d95{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-10 .elementor-element.elementor-element-4201d95 .elementor-heading-title{font-size:24px;}.elementor-10 .elementor-element.elementor-element-f7f2f2c{--padding-top:40px;--padding-bottom:32px;--padding-left:20px;--padding-right:20px;}.elementor-10 .elementor-element.elementor-element-8412ca0{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:10px 0px 0px 10px;}.elementor-10 .elementor-element.elementor-element-ea2f707{margin:-10px 0px calc(var(--kit-widget-spacing, 0px) + 20px) 0px;padding:0px 0px 0px 10px;}.elementor-10 .elementor-element.elementor-element-ea2f707 .elementor-heading-title{font-size:24px;}.elementor-10 .elementor-element.elementor-element-fnlgbig{--grid-columns:1;--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-10 .elementor-element.elementor-element-fnlgbig > .elementor-widget-container{margin:0px 0px 20px 0px;}.elementor-10 .elementor-element.elementor-element-fnlglist{--grid-columns:1;--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-10 .elementor-element.elementor-element-aa121ab{--padding-top:56px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}.elementor-10 .elementor-element.elementor-element-3bd3d30{--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;}.elementor-10 .elementor-element.elementor-element-9378743{--width:100%;}.elementor-10 .elementor-element.elementor-element-de267b3{margin:-20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 10px;}.elementor-10 .elementor-element.elementor-element-de267b3 .elementor-heading-title{font-size:28px;}.elementor-10 .elementor-element.elementor-element-90badd8{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 10px;}.elementor-10 .elementor-element.elementor-element-90badd8 .elementor-heading-title{font-size:22px;}.elementor-10 .elementor-element.elementor-element-99a0415{width:var( --container-widget-width, 100% );max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 10px;--container-widget-width:100%;--container-widget-flex-grow:0;font-size:15px;}.elementor-10 .elementor-element.elementor-element-de33032{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-10 .elementor-element.elementor-element-148076b{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-771b268{--min-height:420px;--padding-top:50px;--padding-bottom:50px;--padding-left:20px;--padding-right:20px;}.elementor-10 .elementor-element.elementor-element-8f51614{--padding-top:10px;--padding-bottom:0px;--padding-left:30px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-a5520f79{margin:-10px 0px calc(var(--kit-widget-spacing, 0px) + -40px) -35px;text-align:start;}.elementor-10 .elementor-element.elementor-element-a5520f79 img{width:70%;}.elementor-10 .elementor-element.elementor-element-be6dfb0{width:var( --container-widget-width, 100% );max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-10 .elementor-element.elementor-element-be6dfb0 .elementor-heading-title{font-size:24px;}.elementor-10 .elementor-element.elementor-element-25ac16b{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-10 .elementor-element.elementor-element-9c7befe{--min-height:420px;--padding-top:50px;--padding-bottom:50px;--padding-left:20px;--padding-right:20px;}.elementor-10 .elementor-element.elementor-element-4e114ca{--padding-top:10px;--padding-bottom:0px;--padding-left:30px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-868a9b11{margin:-10px 0px calc(var(--kit-widget-spacing, 0px) + -40px) -35px;text-align:start;}.elementor-10 .elementor-element.elementor-element-868a9b11 img{width:70%;}.elementor-10 .elementor-element.elementor-element-05ef774{width:var( --container-widget-width, 100% );max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-10 .elementor-element.elementor-element-05ef774 .elementor-heading-title{font-size:24px;}.elementor-10 .elementor-element.elementor-element-dd2afe7{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-10 .elementor-element.elementor-element-e5b668e{--min-height:420px;--padding-top:50px;--padding-bottom:50px;--padding-left:20px;--padding-right:20px;}.elementor-10 .elementor-element.elementor-element-47b23f8{--padding-top:10px;--padding-bottom:0px;--padding-left:30px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-8aa9de1c{margin:-10px 0px calc(var(--kit-widget-spacing, 0px) + -40px) -35px;text-align:start;}.elementor-10 .elementor-element.elementor-element-8aa9de1c img{width:70%;}.elementor-10 .elementor-element.elementor-element-de7ced1{width:var( --container-widget-width, 100% );max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-10 .elementor-element.elementor-element-de7ced1 .elementor-heading-title{font-size:24px;}.elementor-10 .elementor-element.elementor-element-29203fe{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-10 .elementor-element.elementor-element-f209204{--min-height:420px;--padding-top:50px;--padding-bottom:50px;--padding-left:20px;--padding-right:20px;}.elementor-10 .elementor-element.elementor-element-9054c43{--padding-top:10px;--padding-bottom:0px;--padding-left:30px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-722c3b68{margin:-10px 0px calc(var(--kit-widget-spacing, 0px) + -40px) -35px;text-align:start;}.elementor-10 .elementor-element.elementor-element-722c3b68 img{width:70%;}.elementor-10 .elementor-element.elementor-element-4e79214{width:var( --container-widget-width, 100% );max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-10 .elementor-element.elementor-element-4e79214 .elementor-heading-title{font-size:24px;}.elementor-10 .elementor-element.elementor-element-03b5f43{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-10 .elementor-element.elementor-element-719f135{--min-height:420px;--padding-top:50px;--padding-bottom:50px;--padding-left:20px;--padding-right:20px;}.elementor-10 .elementor-element.elementor-element-91f5b28{--padding-top:10px;--padding-bottom:0px;--padding-left:30px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-e55e4dc3{margin:-10px 0px calc(var(--kit-widget-spacing, 0px) + -40px) -35px;text-align:start;}.elementor-10 .elementor-element.elementor-element-e55e4dc3 img{width:70%;}.elementor-10 .elementor-element.elementor-element-13aa474{width:var( --container-widget-width, 100% );max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-10 .elementor-element.elementor-element-13aa474 .elementor-heading-title{font-size:24px;}.elementor-10 .elementor-element.elementor-element-dbd80de{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-10 .elementor-element.elementor-element-8ef4d9a{--n-tabs-heading-wrap:nowrap;--n-tabs-heading-overflow-x:scroll;--n-tabs-title-white-space:nowrap;}.elementor-10 .elementor-element.elementor-element-ebf17af{--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;--margin-top:15px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-722731d{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-10 .elementor-element.elementor-element-94c466a{--width:100%;--padding-top:40px;--padding-bottom:50px;--padding-left:20px;--padding-right:20px;}.elementor-10 .elementor-element.elementor-element-0974da5{--margin-top:-20px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-3e525b7{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-10 .elementor-element.elementor-element-3e525b7 .elementor-heading-title{font-size:28px;}.elementor-10 .elementor-element.elementor-element-f4238c3{width:var( --container-widget-width, 100% );max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:100%;--container-widget-flex-grow:0;font-size:15px;}.elementor-10 .elementor-element.elementor-element-248c6a2{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-e5c8b5c{--padding-top:40px;--padding-bottom:32px;--padding-left:20px;--padding-right:20px;}.elementor-10 .elementor-element.elementor-element-86cdbe0{--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;}.elementor-10 .elementor-element.elementor-element-5aa2bb8{--width:100%;}.elementor-10 .elementor-element.elementor-element-36e7289{margin:-10px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-36e7289 .elementor-heading-title{font-size:28px;}.elementor-10 .elementor-element.elementor-element-33023ba{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-33023ba .elementor-heading-title{font-size:22px;}.elementor-10 .elementor-element.elementor-element-48bbd82{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;font-size:15px;}.elementor-10 .elementor-element.elementor-element-f32f490{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-10 .elementor-element.elementor-element-70eab64 .elementor-heading-title{font-size:20px;}.elementor-10 .elementor-element.elementor-element-18e091d .elementor-heading-title{font-size:20px;}.elementor-10 .elementor-element.elementor-element-1a187a2 .elementor-heading-title{font-size:20px;}.elementor-10 .elementor-element.elementor-element-3dcd312 .elementor-heading-title{font-size:20px;}.elementor-10 .elementor-element.elementor-element-d8672a9 .elementor-heading-title{font-size:20px;}.elementor-10 .elementor-element.elementor-element-5d64f7f .elementor-heading-title{font-size:20px;}.elementor-10 .elementor-element.elementor-element-79f6d77 .elementor-heading-title{font-size:20px;}.elementor-10 .elementor-element.elementor-element-7a97ac8{--e-n-carousel-swiper-slides-to-display:1;--e-n-carousel-swiper-offset-size:60px;margin:15px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-ebc2c13:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-ebc2c13 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:center center;background-size:cover;}.elementor-10 .elementor-element.elementor-element-ebc2c13{--padding-top:60px;--padding-bottom:60px;--padding-left:20px;--padding-right:20px;}.elementor-10 .elementor-element.elementor-element-f7c0895{--min-height:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-06cb7e9{--width:100%;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-10 .elementor-element.elementor-element-5fa9bd7{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 20px) 0px;}.elementor-10 .elementor-element.elementor-element-5fa9bd7 img{width:130px;}.elementor-10 .elementor-element.elementor-element-274c986{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-5757a24{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-10 .elementor-element.elementor-element-5757a24 .elementor-heading-title{font-size:28px;}.elementor-10 .elementor-element.elementor-element-6e2d550{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;font-size:15px;}.elementor-10 .elementor-element.elementor-element-1526640{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-695490b{--padding-top:60px;--padding-bottom:60px;--padding-left:20px;--padding-right:20px;}.elementor-10 .elementor-element.elementor-element-24f2f0b{--margin-top:18px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-10 .elementor-element.elementor-element-916b6df{--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-10 .elementor-element.elementor-element-547e838{--width:100%;}.elementor-10 .elementor-element.elementor-element-215308f{margin:-15px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-215308f .elementor-heading-title{font-size:28px;}.elementor-10 .elementor-element.elementor-element-cb32626{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-cb32626 .elementor-heading-title{font-size:22px;}.elementor-10 .elementor-element.elementor-element-132d7a6{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;font-size:15px;}.elementor-10 .elementor-element.elementor-element-b803225{margin:24px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-10 .elementor-element.elementor-element-7d3d8d7{--e-con-grid-template-columns:repeat(1, 1fr);--gap:30px 30px;--row-gap:30px;--column-gap:30px;--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-10 .elementor-element.elementor-element-1ae5187{--min-height:0px;}.elementor-10 .elementor-element.elementor-element-0d8de91 .elementor-heading-title{font-size:20px;}.elementor-10 .elementor-element.elementor-element-9d21688{--min-height:0px;}.elementor-10 .elementor-element.elementor-element-5bec925 .elementor-heading-title{font-size:20px;}.elementor-10 .elementor-element.elementor-element-527a855{--min-height:0px;}.elementor-10 .elementor-element.elementor-element-55489af .elementor-heading-title{font-size:20px;}.elementor-10 .elementor-element.elementor-element-5680fe5{--min-height:0px;}.elementor-10 .elementor-element.elementor-element-02c7048 .elementor-heading-title{font-size:20px;}.elementor-10 .elementor-element.elementor-element-d16f11b{--min-height:0px;}.elementor-10 .elementor-element.elementor-element-e6adfe6 .elementor-heading-title{font-size:20px;}.elementor-10 .elementor-element.elementor-element-9cba490{--min-height:0px;}.elementor-10 .elementor-element.elementor-element-02372ff .elementor-heading-title{font-size:20px;}.elementor-10 .elementor-element.elementor-element-69908e5{--min-height:0px;}.elementor-10 .elementor-element.elementor-element-1299807 .elementor-heading-title{font-size:20px;}.elementor-10 .elementor-element.elementor-element-900f931{--min-height:0px;}.elementor-10 .elementor-element.elementor-element-506cff4 .elementor-heading-title{font-size:20px;}.elementor-10 .elementor-element.elementor-element-c8b0877{--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-10 .elementor-element.elementor-element-99ab8db{--width:100%;--min-height:0px;--justify-content:flex-end;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-99ab8db:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-99ab8db > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:top center;background-size:contain;}.elementor-10 .elementor-element.elementor-element-7c4986a{--width:100%;--padding-top:40px;--padding-bottom:28px;--padding-left:20px;--padding-right:20px;}.elementor-10 .elementor-element.elementor-element-0f79f68{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -50px) 0px;}.elementor-10 .elementor-element.elementor-element-0f79f68 .elementor-heading-title{font-size:80px;}.elementor-10 .elementor-element.elementor-element-0cf14db{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;font-size:16px;}.elementor-10 .elementor-element.elementor-element-3c5623e{--width:100%;--padding-top:40px;--padding-bottom:40px;--padding-left:20px;--padding-right:20px;}.elementor-10 .elementor-element.elementor-element-5bbc84a{width:var( --container-widget-width, 100% );max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-10 .elementor-element.elementor-element-5bbc84a .elementor-heading-title{font-size:28px;}.elementor-10 .elementor-element.elementor-element-d072b0f{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;font-size:15px;}.elementor-10 .elementor-element.elementor-element-6f58548{--padding-top:40px;--padding-bottom:40px;--padding-left:0px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-767e7ca{--padding-top:24px;--padding-bottom:24px;--padding-left:20px;--padding-right:20px;}.elementor-10 .elementor-element.elementor-element-f339d64{--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-10 .elementor-element.elementor-element-bac65fe{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-bac65fe .elementor-heading-title{font-size:26px;}.elementor-10 .elementor-element.elementor-element-948a7bb{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10 .elementor-element.elementor-element-948a7bb .elementor-heading-title{font-size:20px;}.elementor-10 .elementor-element.elementor-element-379a669{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;font-size:15px;}.elementor-10 .elementor-element.elementor-element-b101059{margin:24px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-10 .elementor-element.elementor-element-2b4704b{--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;--margin-top:24px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-10 .elementor-element.elementor-element-58a722d{--width:100%;}.elementor-10 .elementor-element.elementor-element-3d52944{--width:60px;}.elementor-10 .elementor-element.elementor-element-ee41b7b .elementor-heading-title{font-size:18px;}.elementor-10 .elementor-element.elementor-element-a8dba89{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-10 .elementor-element.elementor-element-a8dba89 .elementor-heading-title{font-size:20px;}.elementor-10 .elementor-element.elementor-element-4bc5823{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-10 .elementor-element.elementor-element-792d8a3{--width:100%;}.elementor-10 .elementor-element.elementor-element-65412f4{--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;--gap:16px 16px;--row-gap:16px;--column-gap:16px;}.elementor-10 .elementor-element.elementor-element-dde177c{--width:60px;}.elementor-10 .elementor-element.elementor-element-1077a44 .elementor-heading-title{font-size:18px;}.elementor-10 .elementor-element.elementor-element-fbc8fdb .elementor-heading-title{font-size:17px;}.elementor-10 .elementor-element.elementor-element-f454830{--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;--gap:16px 16px;--row-gap:16px;--column-gap:16px;}.elementor-10 .elementor-element.elementor-element-996c53a{--width:60px;}.elementor-10 .elementor-element.elementor-element-361235b .elementor-heading-title{font-size:18px;}.elementor-10 .elementor-element.elementor-element-e8356c9 .elementor-heading-title{font-size:17px;}.elementor-10 .elementor-element.elementor-element-87946f9{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-10 .elementor-element.elementor-element-4ee742d{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:70px;--padding-left:20px;--padding-right:20px;}.elementor-10 .elementor-element.elementor-element-14f5b50{--margin-top:-30px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-10 .elementor-element.elementor-element-2f31ec7 .elementor-heading-title{font-size:18px;}}@media(min-width:768px){.elementor-10 .elementor-element.elementor-element-129fad9{--width:100%;}.elementor-10 .elementor-element.elementor-element-e164d35{--width:100%;}.elementor-10 .elementor-element.elementor-element-f0411e0{--content-width:1626px;}.elementor-10 .elementor-element.elementor-element-ecb1903{--width:100%;}.elementor-10 .elementor-element.elementor-element-f7f2f2c{--content-width:1626px;}.elementor-10 .elementor-element.elementor-element-622c0c3{--width:100%;}.elementor-10 .elementor-element.elementor-element-3bd3d30{--width:100%;}.elementor-10 .elementor-element.elementor-element-9378743{--width:72%;}.elementor-10 .elementor-element.elementor-element-771b268{--width:100%;}.elementor-10 .elementor-element.elementor-element-9c7befe{--width:100%;}.elementor-10 .elementor-element.elementor-element-e5b668e{--width:100%;}.elementor-10 .elementor-element.elementor-element-f209204{--width:100%;}.elementor-10 .elementor-element.elementor-element-719f135{--width:100%;}.elementor-10 .elementor-element.elementor-element-ebf17af{--width:100%;}.elementor-10 .elementor-element.elementor-element-94c466a{--width:50%;}.elementor-10 .elementor-element.elementor-element-0974da5{--width:100%;}.elementor-10 .elementor-element.elementor-element-99672ce{--width:100%;}.elementor-10 .elementor-element.elementor-element-e5c8b5c{--content-width:1626px;}.elementor-10 .elementor-element.elementor-element-5aa2bb8{--width:72%;}.elementor-10 .elementor-element.elementor-element-5dd5b24{--width:100%;}.elementor-10 .elementor-element.elementor-element-1d9cb94{--width:100%;}.elementor-10 .elementor-element.elementor-element-58dc35c{--width:100%;}.elementor-10 .elementor-element.elementor-element-ad991bd{--width:100%;}.elementor-10 .elementor-element.elementor-element-f1f2958{--width:100%;}.elementor-10 .elementor-element.elementor-element-86571ed{--width:100%;}.elementor-10 .elementor-element.elementor-element-b2d7933{--width:100%;}.elementor-10 .elementor-element.elementor-element-e82f348{--width:100%;}.elementor-10 .elementor-element.elementor-element-f2cc132{--width:100%;}.elementor-10 .elementor-element.elementor-element-d261026{--width:100%;}.elementor-10 .elementor-element.elementor-element-42be272{--width:100%;}.elementor-10 .elementor-element.elementor-element-f11ad63{--width:100%;}.elementor-10 .elementor-element.elementor-element-178bb70{--width:100%;}.elementor-10 .elementor-element.elementor-element-104bb0b{--width:100%;}.elementor-10 .elementor-element.elementor-element-ff40dce{--width:100%;}.elementor-10 .elementor-element.elementor-element-083c8f5{--width:100%;}.elementor-10 .elementor-element.elementor-element-04f9433{--width:100%;}.elementor-10 .elementor-element.elementor-element-a83ef92{--width:100%;}.elementor-10 .elementor-element.elementor-element-ea80310{--width:100%;}.elementor-10 .elementor-element.elementor-element-8bf755b{--width:100%;}.elementor-10 .elementor-element.elementor-element-6692d67{--width:100%;}.elementor-10 .elementor-element.elementor-element-ebc2c13{--content-width:1021px;}.elementor-10 .elementor-element.elementor-element-06cb7e9{--width:92%;}.elementor-10 .elementor-element.elementor-element-916b6df{--width:100%;}.elementor-10 .elementor-element.elementor-element-547e838{--width:72%;}.elementor-10 .elementor-element.elementor-element-7d3d8d7{--width:100%;}.elementor-10 .elementor-element.elementor-element-c8b0877{--width:100%;}.elementor-10 .elementor-element.elementor-element-99ab8db{--width:50%;}.elementor-10 .elementor-element.elementor-element-7c4986a{--width:911px;}.elementor-10 .elementor-element.elementor-element-3c5623e{--width:50%;}.elementor-10 .elementor-element.elementor-element-6f58548{--content-width:1626px;}.elementor-10 .elementor-element.elementor-element-767e7ca{--content-width:1566px;}.elementor-10 .elementor-element.elementor-element-f339d64{--width:100%;}.elementor-10 .elementor-element.elementor-element-fb66f70{--width:72%;}.elementor-10 .elementor-element.elementor-element-2b4704b{--width:100%;}.elementor-10 .elementor-element.elementor-element-58a722d{--width:46%;}.elementor-10 .elementor-element.elementor-element-ad27c67{--width:100%;}.elementor-10 .elementor-element.elementor-element-3d52944{--width:60px;}.elementor-10 .elementor-element.elementor-element-730e7f9{--width:100%;}.elementor-10 .elementor-element.elementor-element-792d8a3{--width:54%;}.elementor-10 .elementor-element.elementor-element-65412f4{--width:100%;}.elementor-10 .elementor-element.elementor-element-423b979{--width:47%;}.elementor-10 .elementor-element.elementor-element-dde177c{--width:60px;}.elementor-10 .elementor-element.elementor-element-c710cc7{--width:100%;}.elementor-10 .elementor-element.elementor-element-f454830{--width:100%;}.elementor-10 .elementor-element.elementor-element-11911df{--width:47%;}.elementor-10 .elementor-element.elementor-element-996c53a{--width:60px;}.elementor-10 .elementor-element.elementor-element-0e7ca74{--width:100%;}.elementor-10 .elementor-element.elementor-element-4ee742d{--content-width:1350px;}.elementor-10 .elementor-element.elementor-element-14f5b50{--width:100%;}.elementor-10 .elementor-element.elementor-element-65c9112{--width:75%;}}@media(max-width:1024px) and (min-width:768px){.elementor-10 .elementor-element.elementor-element-129fad9{--width:100%;}.elementor-10 .elementor-element.elementor-element-d0f13a8{--width:100%;}.elementor-10 .elementor-element.elementor-element-94c466a{--width:100%;}.elementor-10 .elementor-element.elementor-element-06cb7e9{--width:100%;}.elementor-10 .elementor-element.elementor-element-99ab8db{--width:100%;}.elementor-10 .elementor-element.elementor-element-7c4986a{--width:100%;}.elementor-10 .elementor-element.elementor-element-3c5623e{--width:100%;}.elementor-10 .elementor-element.elementor-element-58a722d{--width:100%;}.elementor-10 .elementor-element.elementor-element-792d8a3{--width:100%;}.elementor-10 .elementor-element.elementor-element-423b979{--width:100%;}.elementor-10 .elementor-element.elementor-element-11911df{--width:100%;}}@media(min-width:1025px){.elementor-10 .elementor-element.elementor-element-32396fd:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-32396fd > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-attachment:scroll;}.elementor-10 .elementor-element.elementor-element-f0411e0:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-f0411e0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-attachment:scroll;}.elementor-10 .elementor-element.elementor-element-771b268:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-771b268 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-attachment:scroll;}.elementor-10 .elementor-element.elementor-element-9c7befe:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-9c7befe > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-attachment:scroll;}.elementor-10 .elementor-element.elementor-element-e5b668e:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-e5b668e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-attachment:scroll;}.elementor-10 .elementor-element.elementor-element-f209204:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-f209204 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-attachment:scroll;}.elementor-10 .elementor-element.elementor-element-719f135:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-719f135 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-attachment:scroll;}.elementor-10 .elementor-element.elementor-element-ebc2c13:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-ebc2c13 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-attachment:scroll;}}/* Start custom CSS for button, class: .elementor-element-fc3d5f7 *//* ---- hero button: one bordered box, arrow inside ---- */
.elementor-10 .elementor-element.elementor-element-fc3d5f7 .elementor-button-content-wrapper{
  display: flex;
  align-items: center;
}
.elementor-10 .elementor-element.elementor-element-fc3d5f7 .elementor-button-icon svg{
  width: 16px;
  height: 16px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-129fad9 */.elementor-10 .elementor-element.elementor-element-129fad9 {
  position: relative;
  padding-top: 35px;
}

/* ---- hero L-bracket — Figma 778x164, stroke 3px (#FDD205 -> #00AEEF) ---- */
.elementor-10 .elementor-element.elementor-element-129fad9::before {
  content: "";
  position: absolute;
  top: 0;
  /* the -50 outdent was calibrated on the 2560 canvas; below ~1580 the vertical arm fell
     off-canvas. Clamp it to the gutter that actually exists: 2560 -> -50, 1440 -> 0. */
  left: calc(-1 * clamp(0px, (100vw - 1480px)/2, 50px));
  width: 778px;
  height: 164px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='778' height='164' viewBox='0 0 778 164' fill='none'%3E%3Cdefs%3E%3ClinearGradient id='pfh' x1='144.839' y1='429.261' x2='348.99' y2='-61.468' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23FDD205'/%3E%3Cstop offset='1' stop-color='%2300AEEF'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M1.5 162.502L1.5 1.49997H776.151' stroke='url(%23pfh)' stroke-width='3' stroke-linecap='square'/%3E%3C/svg%3E") no-repeat left top;
  background-size: 778px 164px;
  pointer-events: none;
}

@media (max-width: 1024px) {
  .elementor-10 .elementor-element.elementor-element-129fad9::before {
    left: -14px;
    width: 560px;
    height: 118px;
    background-size: 560px 118px;
  }
}

@media (max-width: 767px) {
  .elementor-10 .elementor-element.elementor-element-129fad9::before {
    left: 0px;
    width: 70%;
    height: 118px;
    background-size: 560px 118px;
  }
}/* End custom CSS */
/* Start custom CSS for icon, class: .elementor-element-bb8e725 *//* ==== PF-FIX74 (2026-08-21): client - use the SAME arrow as the Who We Are tab, not a custom long-shaft one. This is the shared asset arrow-two-stroke-nav.svg masked to white and rotated 90deg to point down, so the hero arrow is the identical glyph and stroke weight as every other arrow on the site. FA's solid glyph stays hidden. ==== */
.elementor-10 .elementor-element.elementor-element-bb8e725 .elementor-icon svg{display:none !important;}
.elementor-10 .elementor-element.elementor-element-bb8e725 .elementor-icon{display:inline-flex !important;align-items:center;justify-content:center;background:transparent !important;}
.elementor-10 .elementor-element.elementor-element-bb8e725 .elementor-icon::before{content:'';display:block;width:20px;height:16px;background-color:#FFFFFF;-webkit-mask:url('https://ctc.xspider.net/wp-content/uploads/figma-design/arrow-two-stroke-nav.svg') no-repeat center / contain;mask:url('https://ctc.xspider.net/wp-content/uploads/figma-design/arrow-two-stroke-nav.svg') no-repeat center / contain;transform:rotate(90deg);}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4ce7c1a *//* ---- hero tab row: one component, hover moves the active state ---- */
.elementor-10 .elementor-element.elementor-element-4ce7c1a .elementor-widget-heading {
  position: relative;
  padding-top: 22px;
  cursor: pointer;
}

.elementor-10 .elementor-element.elementor-element-4ce7c1a .elementor-widget-heading .elementor-heading-title,
.elementor-10 .elementor-element.elementor-element-4ce7c1a .elementor-widget-heading .elementor-heading-title a {
  color: rgba(255,255,255,0.6);
  text-decoration: none;
  transition: color .25s ease;
}

/* ---- inactive rule above every tab ---- */
.elementor-10 .elementor-element.elementor-element-4ce7c1a .elementor-widget-heading::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: rgba(255,255,255,0.12);
}

/* ---- active underline — Figma 332x3, #FDD205 -> #00AEEF ---- */
.elementor-10 .elementor-element.elementor-element-4ce7c1a .elementor-widget-heading::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 332px;
  max-width: 100%;
  height: 3px;
  background: linear-gradient(90deg, #FDD205 0%, #00AEEF 100%);
  opacity: 0;
  transition: opacity .25s ease;
}

/* ---- default active: Who We Are ---- */
.elementor-10 .elementor-element.elementor-element-4ce7c1a .elementor-element-59f49ee::after {
  opacity: 1;
}
.elementor-10 .elementor-element.elementor-element-4ce7c1a .elementor-element-59f49ee .elementor-heading-title,
.elementor-10 .elementor-element.elementor-element-4ce7c1a .elementor-element-59f49ee .elementor-heading-title a {
  color: #FFFFFF;
}

/* ---- hovering the row: Who We Are steps back ---- */
.elementor-10 .elementor-element.elementor-element-4ce7c1a:hover .elementor-element-59f49ee::after {
  opacity: 0;
}
.elementor-10 .elementor-element.elementor-element-4ce7c1a:hover .elementor-element-59f49ee .elementor-heading-title,
.elementor-10 .elementor-element.elementor-element-4ce7c1a:hover .elementor-element-59f49ee .elementor-heading-title a {
  color: rgba(255,255,255,0.6);
}

/* ---- ...and the hovered tab takes over ---- */
.elementor-10 .elementor-element.elementor-element-4ce7c1a .elementor-widget-heading:hover::after {
  opacity: 1;
}
.elementor-10 .elementor-element.elementor-element-4ce7c1a .elementor-widget-heading:hover .elementor-heading-title,
.elementor-10 .elementor-element.elementor-element-4ce7c1a .elementor-widget-heading:hover .elementor-heading-title a {
  color: #FFFFFF;
}
/* ==== PF-FIX70 (2026-08-21): client - the arrow beside the ACTIVE tab label, which the design has and the build never got. Same shared asset and mask idiom as the nav headings (arrow-two-stroke-nav.svg, currentColor), and it follows the exact active/hover logic already used for the rule and the text colour above: Who We Are by default, the hovered tab while the row is hovered. Space is reserved on every tab so nothing shifts as the arrow fades. ==== */
.elementor-10 .elementor-element.elementor-element-4ce7c1a .elementor-widget-heading .elementor-heading-title{display:inline-flex;align-items:center;gap:14px;}
.elementor-10 .elementor-element.elementor-element-4ce7c1a .elementor-widget-heading .elementor-heading-title::after{content:'';flex:0 0 auto;width:16px;height:13px;background-color:currentColor;-webkit-mask:url('https://ctc.xspider.net/wp-content/uploads/figma-design/arrow-two-stroke-nav.svg') no-repeat center / 100% 100%;mask:url('https://ctc.xspider.net/wp-content/uploads/figma-design/arrow-two-stroke-nav.svg') no-repeat center / 100% 100%;transform:translateY(0.06em);opacity:0;transition:opacity .25s ease;}
.elementor-10 .elementor-element.elementor-element-4ce7c1a .elementor-element-59f49ee .elementor-heading-title::after{opacity:1;}
.elementor-10 .elementor-element.elementor-element-4ce7c1a:hover .elementor-element-59f49ee .elementor-heading-title::after{opacity:0;}
.elementor-10 .elementor-element.elementor-element-4ce7c1a .elementor-widget-heading:hover .elementor-heading-title::after{opacity:1;}
/* PF-FIX72 (2026-08-21): client "thickness of grey lines should match the blue on toggle" - the inactive rule above each tab was 2px while the active gradient rule is 3px. Grey now 3px so both read the same weight. *//* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-8fcdc44 */.elementor-10 .elementor-element.elementor-element-8fcdc44 {
  position: relative;
  padding-top: 5px;
  overflow: visible;
}

/* ---- eyebrow L-bracket — Figma 62x25, stroke 2px (dark bg: #FDD205 -> #00AEEF) ---- */
.elementor-10 .elementor-element.elementor-element-8fcdc44::before {
  content: "";
  position: absolute;
  top: 0;
  left: -3px;
  width: 62px;
  height: 25px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='62' height='25' viewBox='0 0 62 25' fill='none'%3E%3Cdefs%3E%3ClinearGradient id='pfd' x1='12.1022' y1='62.1085' x2='51.8193' y2='10.3466' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23FDD205'/%3E%3Cstop offset='1' stop-color='%2300AEEF'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M1 24L1 1L61 1' stroke='url(%23pfd)' stroke-width='2' stroke-linecap='square'/%3E%3C/svg%3E") no-repeat left top;
  background-size: 62px 25px;
  pointer-events: none;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-84e6c24 *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-84e6c24 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-84e6c24 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-84e6c24 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f0411e0 *//* inset panel: the grey plate itself is 1626 wide and centred (Sketch x467→2093),
   not a full-bleed band. Without margin-inline the fixed width sits left and the background
   paints the whole viewport. */
.elementor-10 .elementor-element.elementor-element-f0411e0{
  width: 1626px;
  max-width: calc(100% - 80px);
  margin-inline: auto;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e164d35 *//* ---- clear the sticky header when jumped to ---- */
.elementor-10 .elementor-element.elementor-element-e164d35 {
  scroll-margin-top: 110px;
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-8412ca0 */.elementor-10 .elementor-element.elementor-element-8412ca0 {
  position: relative;
  padding-top: 5px;
  overflow: visible;
}

/* ---- eyebrow L-bracket — Figma 62x25, stroke 2px (light bg: #030648 -> #03A4DC) ---- */
.elementor-10 .elementor-element.elementor-element-8412ca0::before {
  content: "";
  position: absolute;
  top: 0;
  left: -3px;
  width: 62px;
  height: 25px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='62' height='25' viewBox='0 0 62 25' fill='none'%3E%3Cdefs%3E%3ClinearGradient id='pfl' x1='1' y1='12.5' x2='61.0025' y2='12.5' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23030648'/%3E%3Cstop offset='1' stop-color='%2303A4DC'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M1 24L1 1L61.0025 1' stroke='url(%23pfl)' stroke-width='2' stroke-linecap='square'/%3E%3C/svg%3E") no-repeat left top;
  background-size: 62px 25px;
  pointer-events: none;
}/* End custom CSS */
/* Start custom CSS for loop-grid, class: .elementor-element-fnlglist */.elementor-10 .elementor-element.elementor-element-fnlglist .e-loop-item{
  margin-bottom: 30px;
}
.elementor-10 .elementor-element.elementor-element-fnlglist .e-loop-item:last-child{
  margin-bottom: 0;
}

.elementor-10 .elementor-element.elementor-element-fnlglist .elementor-element-lst0{
  flex-wrap: nowrap;
}
.elementor-10 .elementor-element.elementor-element-fnlglist .elementor-element-lsttxt{
  flex: 1 1 0;
  min-width: 0;
}

/* ---- middle item: image on the right ---- */
.elementor-10 .elementor-element.elementor-element-fnlglist .e-loop-item:nth-of-type(even) .elementor-element-lst0{
  flex-direction: row-reverse !important;
}

/* ---- mobile: stack the row, thumb on top, no reversal ---- */
@media (max-width: 1024px){
  .elementor-10 .elementor-element.elementor-element-fnlglist .elementor-element-lst0{
    flex-direction: column !important;
    flex-wrap: wrap;
  }
  .elementor-10 .elementor-element.elementor-element-fnlglist .e-loop-item:nth-of-type(even) .elementor-element-lst0{
    flex-direction: column !important;
  }
  .elementor-10 .elementor-element.elementor-element-fnlglist .e-loop-item .elementor-element-lst0 > .e-con:first-child{
    width: 100% !important;
    max-width: 100% !important;
  }
  .elementor-10 .elementor-element.elementor-element-fnlglist .elementor-element-lsttxt{
    width: 100%;
  }
}


/* ---- mobile: thumb full width ---- */
@media (max-width: 1024px){
  .elementor-10 .elementor-element.elementor-element-fnlglist .elementor-element-lstimg{
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .elementor-10 .elementor-element.elementor-element-fnlglist .e-loop-item{
    margin-bottom: 30px;
  }
}


/* ---- divider between items (not after the last) ---- */
.elementor-10 .elementor-element.elementor-element-fnlglist .e-loop-item:not(:last-child) .elementor-element-lst0{
  padding-bottom: 30px;
  border-bottom: 1px solid rgba(44,54,71,0.2);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f7f2f2c *//* inset panel: the grey plate itself is 1626 wide and centred (Sketch x467→2093),
   not a full-bleed band. Without margin-inline the fixed width sits left and the background
   paints the whole viewport. */
.elementor-10 .elementor-element.elementor-element-f7f2f2c{
  width: 1626px;
  max-width: calc(100% - 80px);
  margin-inline: auto;
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-a366eea */.elementor-10 .elementor-element.elementor-element-a366eea {
  position: relative;
  padding-top: 5px;
  overflow: visible;
}

/* ---- eyebrow L-bracket — Figma 62x25, stroke 2px (light bg: #030648 -> #03A4DC) ---- */
.elementor-10 .elementor-element.elementor-element-a366eea::before {
  content: "";
  position: absolute;
  top: 0;
  left: -3px;
  width: 62px;
  height: 25px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='62' height='25' viewBox='0 0 62 25' fill='none'%3E%3Cdefs%3E%3ClinearGradient id='pfl' x1='1' y1='12.5' x2='61.0025' y2='12.5' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23030648'/%3E%3Cstop offset='1' stop-color='%2303A4DC'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M1 24L1 1L61.0025 1' stroke='url(%23pfl)' stroke-width='2' stroke-linecap='square'/%3E%3C/svg%3E") no-repeat left top;
  background-size: 62px 25px;
  pointer-events: none;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-de33032 */.elementor-10 .elementor-element.elementor-element-de33032 .elementor-button{padding:0;background:transparent;border:none;}
.elementor-10 .elementor-element.elementor-element-de33032 .elementor-button-content-wrapper{display:flex;align-items:center;gap:14px;}
.elementor-10 .elementor-element.elementor-element-de33032 .elementor-button-icon{display:inline-flex;align-items:center;justify-content:center;width:53px;height:53px;border:2px solid #0082B3;flex-shrink:0;transition:all .2s ease;}
.elementor-10 .elementor-element.elementor-element-de33032 .elementor-button-icon svg{width:15px;height:15px;}
.elementor-10 .elementor-element.elementor-element-de33032 .elementor-button:hover .elementor-button-icon{background:#0082B3;}
.elementor-10 .elementor-element.elementor-element-de33032 .elementor-button:hover .elementor-button-icon svg{color:#FFFFFF;}

/* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-de33032 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-de33032 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-de33032 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}

/* PF-FIX39 (2026-08-21): sitewide - the 53x53 / 2px arrow box is the DESKTOP artboard square; on phones it dwarfs 16px copy. Match the Join Profab box (38x38, 1.5px). Desktop untouched. */
@media (max-width:1024px){ .elementor-10 .elementor-element.elementor-element-de33032 .elementor-button-icon{width:38px !important;min-width:38px !important;height:38px !important;min-height:38px !important;border-width:1.5px !important;} .elementor-10 .elementor-element.elementor-element-de33032 .elementor-button-icon svg{width:13px !important;height:11px !important;} }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-14dba60 */.elementor-10 .elementor-element.elementor-element-14dba60{
  max-width: 100%;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-aa121ab *//* ---- clear the sticky header when jumped to ---- */
.elementor-10 .elementor-element.elementor-element-aa121ab {
  scroll-margin-top: 110px;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-bdbceaa */.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button{padding:0;background:transparent;border:none;}
.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button-content-wrapper{display:flex;align-items:center;gap:14px;}
.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1.5px solid #00AEEF;flex-shrink:0;transition:all .2s ease;}
.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button-icon svg{width:15px;height:15px;}
.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button:hover .elementor-button-icon{background:#00AEEF;}
.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button:hover .elementor-button-icon svg{color:#FFFFFF;}

/* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-771b268 *//* ---- Sketch §6 background treatment: photo cropped to center 34%, then the 3-layer scrim.
   Elementor draws a container's background-overlay as ::before, so we restyle that. ---- */
.elementor-10 .elementor-element.elementor-element-771b268{
  background-position: center 34% !important;
}
/* NOTE: the §6 scrim is BAKED INTO the svctab-*.webp source images — verified by pixel
   luminance matching the raw file. The ::before overlay below is therefore inert on purpose:
   Elementor leaves `content: none` because no background-overlay is configured, and forcing
   it on double-darkens the panel. If these photos are ever swapped for un-scrimmed art,
   re-enable a background overlay here with:
     linear-gradient(200deg, transparent, #000)
     linear-gradient(90deg, rgba(0,0,0,.9), rgba(0,0,0,.1))
     linear-gradient(204deg, rgba(0,35,96,.70), transparent) */
/* ==== PF-CRIT2 (2026-08-20): real asset + Sketch pattern-E scrim (base #020c15, #002360 70%->0 wash, black edge fades). The old svctab-*.webp had the scrim baked in; these are clean sources so the overlay is real now. ==== */
.elementor-10 .elementor-element.elementor-element-771b268{position:relative;background-color:#020c15 !important;}
.elementor-10 .elementor-element.elementor-element-771b268::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,35,96,0.7) 0%,rgba(0,35,96,0) 55%),linear-gradient(90deg,rgba(2,12,21,0.92) 0%,rgba(2,12,21,0.55) 34%,rgba(2,12,21,0) 62%),linear-gradient(0deg,rgba(2,12,21,0.55) 0%,rgba(2,12,21,0) 30%);}
.elementor-10 .elementor-element.elementor-element-771b268 > *{position:relative;z-index:2;}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-53de698 */.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button{padding:0;background:transparent;border:none;}
.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button-content-wrapper{display:flex;align-items:center;gap:14px;}
.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1.5px solid #00AEEF;flex-shrink:0;transition:all .2s ease;}
.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button-icon svg{width:15px;height:15px;}
.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button:hover .elementor-button-icon{background:#00AEEF;}
.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button:hover .elementor-button-icon svg{color:#FFFFFF;}

/* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9c7befe *//* ---- Sketch §6 background treatment: photo cropped to center 34%, then the 3-layer scrim.
   Elementor draws a container's background-overlay as ::before, so we restyle that. ---- */
.elementor-10 .elementor-element.elementor-element-9c7befe{
  background-position: center 34% !important;
}
/* NOTE: the §6 scrim is BAKED INTO the svctab-*.webp source images — verified by pixel
   luminance matching the raw file. The ::before overlay below is therefore inert on purpose:
   Elementor leaves `content: none` because no background-overlay is configured, and forcing
   it on double-darkens the panel. If these photos are ever swapped for un-scrimmed art,
   re-enable a background overlay here with:
     linear-gradient(200deg, transparent, #000)
     linear-gradient(90deg, rgba(0,0,0,.9), rgba(0,0,0,.1))
     linear-gradient(204deg, rgba(0,35,96,.70), transparent) */
/* ==== PF-CRIT2 (2026-08-20): real asset + Sketch pattern-E scrim (base #020c15, #002360 70%->0 wash, black edge fades). The old svctab-*.webp had the scrim baked in; these are clean sources so the overlay is real now. ==== */
.elementor-10 .elementor-element.elementor-element-9c7befe{position:relative;background-color:#020c15 !important;}
.elementor-10 .elementor-element.elementor-element-9c7befe::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,35,96,0.7) 0%,rgba(0,35,96,0) 55%),linear-gradient(90deg,rgba(2,12,21,0.92) 0%,rgba(2,12,21,0.55) 34%,rgba(2,12,21,0) 62%),linear-gradient(0deg,rgba(2,12,21,0.55) 0%,rgba(2,12,21,0) 30%);}
.elementor-10 .elementor-element.elementor-element-9c7befe > *{position:relative;z-index:2;}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-3eeca21 */.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button{padding:0;background:transparent;border:none;}
.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button-content-wrapper{display:flex;align-items:center;gap:14px;}
.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1.5px solid #00AEEF;flex-shrink:0;transition:all .2s ease;}
.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button-icon svg{width:15px;height:15px;}
.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button:hover .elementor-button-icon{background:#00AEEF;}
.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button:hover .elementor-button-icon svg{color:#FFFFFF;}

/* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e5b668e *//* ---- Sketch §6 background treatment: photo cropped to center 34%, then the 3-layer scrim.
   Elementor draws a container's background-overlay as ::before, so we restyle that. ---- */
.elementor-10 .elementor-element.elementor-element-e5b668e{
  background-position: center 34% !important;
}
/* NOTE: the §6 scrim is BAKED INTO the svctab-*.webp source images — verified by pixel
   luminance matching the raw file. The ::before overlay below is therefore inert on purpose:
   Elementor leaves `content: none` because no background-overlay is configured, and forcing
   it on double-darkens the panel. If these photos are ever swapped for un-scrimmed art,
   re-enable a background overlay here with:
     linear-gradient(200deg, transparent, #000)
     linear-gradient(90deg, rgba(0,0,0,.9), rgba(0,0,0,.1))
     linear-gradient(204deg, rgba(0,35,96,.70), transparent) */
/* ==== PF-CRIT2 (2026-08-20): real asset + Sketch pattern-E scrim (base #020c15, #002360 70%->0 wash, black edge fades). The old svctab-*.webp had the scrim baked in; these are clean sources so the overlay is real now. ==== */
.elementor-10 .elementor-element.elementor-element-e5b668e{position:relative;background-color:#020c15 !important;}
.elementor-10 .elementor-element.elementor-element-e5b668e::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,35,96,0.7) 0%,rgba(0,35,96,0) 55%),linear-gradient(90deg,rgba(2,12,21,0.92) 0%,rgba(2,12,21,0.55) 34%,rgba(2,12,21,0) 62%),linear-gradient(0deg,rgba(2,12,21,0.55) 0%,rgba(2,12,21,0) 30%);}
.elementor-10 .elementor-element.elementor-element-e5b668e > *{position:relative;z-index:2;}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-202e991 */.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button{padding:0;background:transparent;border:none;}
.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button-content-wrapper{display:flex;align-items:center;gap:14px;}
.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1.5px solid #00AEEF;flex-shrink:0;transition:all .2s ease;}
.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button-icon svg{width:15px;height:15px;}
.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button:hover .elementor-button-icon{background:#00AEEF;}
.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button:hover .elementor-button-icon svg{color:#FFFFFF;}

/* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f209204 *//* ---- Sketch §6 background treatment: photo cropped to center 34%, then the 3-layer scrim.
   Elementor draws a container's background-overlay as ::before, so we restyle that. ---- */
.elementor-10 .elementor-element.elementor-element-f209204{
  background-position: center 34% !important;
}
/* NOTE: the §6 scrim is BAKED INTO the svctab-*.webp source images — verified by pixel
   luminance matching the raw file. The ::before overlay below is therefore inert on purpose:
   Elementor leaves `content: none` because no background-overlay is configured, and forcing
   it on double-darkens the panel. If these photos are ever swapped for un-scrimmed art,
   re-enable a background overlay here with:
     linear-gradient(200deg, transparent, #000)
     linear-gradient(90deg, rgba(0,0,0,.9), rgba(0,0,0,.1))
     linear-gradient(204deg, rgba(0,35,96,.70), transparent) */
/* ==== PF-CRIT2 (2026-08-20): real asset + Sketch pattern-E scrim (base #020c15, #002360 70%->0 wash, black edge fades). The old svctab-*.webp had the scrim baked in; these are clean sources so the overlay is real now. ==== */
.elementor-10 .elementor-element.elementor-element-f209204{position:relative;background-color:#020c15 !important;}
.elementor-10 .elementor-element.elementor-element-f209204::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,35,96,0.7) 0%,rgba(0,35,96,0) 55%),linear-gradient(90deg,rgba(2,12,21,0.92) 0%,rgba(2,12,21,0.55) 34%,rgba(2,12,21,0) 62%),linear-gradient(0deg,rgba(2,12,21,0.55) 0%,rgba(2,12,21,0) 30%);}
.elementor-10 .elementor-element.elementor-element-f209204 > *{position:relative;z-index:2;}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-5ae4121 */.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button{padding:0;background:transparent;border:none;}
.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button-content-wrapper{display:flex;align-items:center;gap:14px;}
.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1.5px solid #00AEEF;flex-shrink:0;transition:all .2s ease;}
.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button-icon svg{width:15px;height:15px;}
.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button:hover .elementor-button-icon{background:#00AEEF;}
.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button:hover .elementor-button-icon svg{color:#FFFFFF;}

/* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-719f135 *//* ---- Sketch §6 background treatment: photo cropped to center 34%, then the 3-layer scrim.
   Elementor draws a container's background-overlay as ::before, so we restyle that. ---- */
.elementor-10 .elementor-element.elementor-element-719f135{
  background-position: center 34% !important;
}
/* NOTE: the §6 scrim is BAKED INTO the svctab-*.webp source images — verified by pixel
   luminance matching the raw file. The ::before overlay below is therefore inert on purpose:
   Elementor leaves `content: none` because no background-overlay is configured, and forcing
   it on double-darkens the panel. If these photos are ever swapped for un-scrimmed art,
   re-enable a background overlay here with:
     linear-gradient(200deg, transparent, #000)
     linear-gradient(90deg, rgba(0,0,0,.9), rgba(0,0,0,.1))
     linear-gradient(204deg, rgba(0,35,96,.70), transparent) */
/* ==== PF-CRIT2 (2026-08-20): real asset + Sketch pattern-E scrim (base #020c15, #002360 70%->0 wash, black edge fades). The old svctab-*.webp had the scrim baked in; these are clean sources so the overlay is real now. ==== */
.elementor-10 .elementor-element.elementor-element-719f135{position:relative;background-color:#020c15 !important;}
.elementor-10 .elementor-element.elementor-element-719f135::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,35,96,0.7) 0%,rgba(0,35,96,0) 55%),linear-gradient(90deg,rgba(2,12,21,0.92) 0%,rgba(2,12,21,0.55) 34%,rgba(2,12,21,0) 62%),linear-gradient(0deg,rgba(2,12,21,0.55) 0%,rgba(2,12,21,0) 30%);}
.elementor-10 .elementor-element.elementor-element-719f135 > *{position:relative;z-index:2;}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-bdbceaa */.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button{padding:0;background:transparent;border:none;}
.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button-content-wrapper{display:flex;align-items:center;gap:14px;}
.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1.5px solid #00AEEF;flex-shrink:0;transition:all .2s ease;}
.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button-icon svg{width:15px;height:15px;}
.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button:hover .elementor-button-icon{background:#00AEEF;}
.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button:hover .elementor-button-icon svg{color:#FFFFFF;}

/* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-771b268 *//* ---- Sketch §6 background treatment: photo cropped to center 34%, then the 3-layer scrim.
   Elementor draws a container's background-overlay as ::before, so we restyle that. ---- */
.elementor-10 .elementor-element.elementor-element-771b268{
  background-position: center 34% !important;
}
/* NOTE: the §6 scrim is BAKED INTO the svctab-*.webp source images — verified by pixel
   luminance matching the raw file. The ::before overlay below is therefore inert on purpose:
   Elementor leaves `content: none` because no background-overlay is configured, and forcing
   it on double-darkens the panel. If these photos are ever swapped for un-scrimmed art,
   re-enable a background overlay here with:
     linear-gradient(200deg, transparent, #000)
     linear-gradient(90deg, rgba(0,0,0,.9), rgba(0,0,0,.1))
     linear-gradient(204deg, rgba(0,35,96,.70), transparent) */
/* ==== PF-CRIT2 (2026-08-20): real asset + Sketch pattern-E scrim (base #020c15, #002360 70%->0 wash, black edge fades). The old svctab-*.webp had the scrim baked in; these are clean sources so the overlay is real now. ==== */
.elementor-10 .elementor-element.elementor-element-771b268{position:relative;background-color:#020c15 !important;}
.elementor-10 .elementor-element.elementor-element-771b268::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,35,96,0.7) 0%,rgba(0,35,96,0) 55%),linear-gradient(90deg,rgba(2,12,21,0.92) 0%,rgba(2,12,21,0.55) 34%,rgba(2,12,21,0) 62%),linear-gradient(0deg,rgba(2,12,21,0.55) 0%,rgba(2,12,21,0) 30%);}
.elementor-10 .elementor-element.elementor-element-771b268 > *{position:relative;z-index:2;}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-53de698 */.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button{padding:0;background:transparent;border:none;}
.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button-content-wrapper{display:flex;align-items:center;gap:14px;}
.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1.5px solid #00AEEF;flex-shrink:0;transition:all .2s ease;}
.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button-icon svg{width:15px;height:15px;}
.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button:hover .elementor-button-icon{background:#00AEEF;}
.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button:hover .elementor-button-icon svg{color:#FFFFFF;}

/* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9c7befe *//* ---- Sketch §6 background treatment: photo cropped to center 34%, then the 3-layer scrim.
   Elementor draws a container's background-overlay as ::before, so we restyle that. ---- */
.elementor-10 .elementor-element.elementor-element-9c7befe{
  background-position: center 34% !important;
}
/* NOTE: the §6 scrim is BAKED INTO the svctab-*.webp source images — verified by pixel
   luminance matching the raw file. The ::before overlay below is therefore inert on purpose:
   Elementor leaves `content: none` because no background-overlay is configured, and forcing
   it on double-darkens the panel. If these photos are ever swapped for un-scrimmed art,
   re-enable a background overlay here with:
     linear-gradient(200deg, transparent, #000)
     linear-gradient(90deg, rgba(0,0,0,.9), rgba(0,0,0,.1))
     linear-gradient(204deg, rgba(0,35,96,.70), transparent) */
/* ==== PF-CRIT2 (2026-08-20): real asset + Sketch pattern-E scrim (base #020c15, #002360 70%->0 wash, black edge fades). The old svctab-*.webp had the scrim baked in; these are clean sources so the overlay is real now. ==== */
.elementor-10 .elementor-element.elementor-element-9c7befe{position:relative;background-color:#020c15 !important;}
.elementor-10 .elementor-element.elementor-element-9c7befe::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,35,96,0.7) 0%,rgba(0,35,96,0) 55%),linear-gradient(90deg,rgba(2,12,21,0.92) 0%,rgba(2,12,21,0.55) 34%,rgba(2,12,21,0) 62%),linear-gradient(0deg,rgba(2,12,21,0.55) 0%,rgba(2,12,21,0) 30%);}
.elementor-10 .elementor-element.elementor-element-9c7befe > *{position:relative;z-index:2;}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-3eeca21 */.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button{padding:0;background:transparent;border:none;}
.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button-content-wrapper{display:flex;align-items:center;gap:14px;}
.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1.5px solid #00AEEF;flex-shrink:0;transition:all .2s ease;}
.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button-icon svg{width:15px;height:15px;}
.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button:hover .elementor-button-icon{background:#00AEEF;}
.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button:hover .elementor-button-icon svg{color:#FFFFFF;}

/* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e5b668e *//* ---- Sketch §6 background treatment: photo cropped to center 34%, then the 3-layer scrim.
   Elementor draws a container's background-overlay as ::before, so we restyle that. ---- */
.elementor-10 .elementor-element.elementor-element-e5b668e{
  background-position: center 34% !important;
}
/* NOTE: the §6 scrim is BAKED INTO the svctab-*.webp source images — verified by pixel
   luminance matching the raw file. The ::before overlay below is therefore inert on purpose:
   Elementor leaves `content: none` because no background-overlay is configured, and forcing
   it on double-darkens the panel. If these photos are ever swapped for un-scrimmed art,
   re-enable a background overlay here with:
     linear-gradient(200deg, transparent, #000)
     linear-gradient(90deg, rgba(0,0,0,.9), rgba(0,0,0,.1))
     linear-gradient(204deg, rgba(0,35,96,.70), transparent) */
/* ==== PF-CRIT2 (2026-08-20): real asset + Sketch pattern-E scrim (base #020c15, #002360 70%->0 wash, black edge fades). The old svctab-*.webp had the scrim baked in; these are clean sources so the overlay is real now. ==== */
.elementor-10 .elementor-element.elementor-element-e5b668e{position:relative;background-color:#020c15 !important;}
.elementor-10 .elementor-element.elementor-element-e5b668e::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,35,96,0.7) 0%,rgba(0,35,96,0) 55%),linear-gradient(90deg,rgba(2,12,21,0.92) 0%,rgba(2,12,21,0.55) 34%,rgba(2,12,21,0) 62%),linear-gradient(0deg,rgba(2,12,21,0.55) 0%,rgba(2,12,21,0) 30%);}
.elementor-10 .elementor-element.elementor-element-e5b668e > *{position:relative;z-index:2;}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-202e991 */.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button{padding:0;background:transparent;border:none;}
.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button-content-wrapper{display:flex;align-items:center;gap:14px;}
.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1.5px solid #00AEEF;flex-shrink:0;transition:all .2s ease;}
.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button-icon svg{width:15px;height:15px;}
.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button:hover .elementor-button-icon{background:#00AEEF;}
.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button:hover .elementor-button-icon svg{color:#FFFFFF;}

/* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f209204 *//* ---- Sketch §6 background treatment: photo cropped to center 34%, then the 3-layer scrim.
   Elementor draws a container's background-overlay as ::before, so we restyle that. ---- */
.elementor-10 .elementor-element.elementor-element-f209204{
  background-position: center 34% !important;
}
/* NOTE: the §6 scrim is BAKED INTO the svctab-*.webp source images — verified by pixel
   luminance matching the raw file. The ::before overlay below is therefore inert on purpose:
   Elementor leaves `content: none` because no background-overlay is configured, and forcing
   it on double-darkens the panel. If these photos are ever swapped for un-scrimmed art,
   re-enable a background overlay here with:
     linear-gradient(200deg, transparent, #000)
     linear-gradient(90deg, rgba(0,0,0,.9), rgba(0,0,0,.1))
     linear-gradient(204deg, rgba(0,35,96,.70), transparent) */
/* ==== PF-CRIT2 (2026-08-20): real asset + Sketch pattern-E scrim (base #020c15, #002360 70%->0 wash, black edge fades). The old svctab-*.webp had the scrim baked in; these are clean sources so the overlay is real now. ==== */
.elementor-10 .elementor-element.elementor-element-f209204{position:relative;background-color:#020c15 !important;}
.elementor-10 .elementor-element.elementor-element-f209204::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,35,96,0.7) 0%,rgba(0,35,96,0) 55%),linear-gradient(90deg,rgba(2,12,21,0.92) 0%,rgba(2,12,21,0.55) 34%,rgba(2,12,21,0) 62%),linear-gradient(0deg,rgba(2,12,21,0.55) 0%,rgba(2,12,21,0) 30%);}
.elementor-10 .elementor-element.elementor-element-f209204 > *{position:relative;z-index:2;}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-5ae4121 */.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button{padding:0;background:transparent;border:none;}
.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button-content-wrapper{display:flex;align-items:center;gap:14px;}
.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1.5px solid #00AEEF;flex-shrink:0;transition:all .2s ease;}
.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button-icon svg{width:15px;height:15px;}
.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button:hover .elementor-button-icon{background:#00AEEF;}
.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button:hover .elementor-button-icon svg{color:#FFFFFF;}

/* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-719f135 *//* ---- Sketch §6 background treatment: photo cropped to center 34%, then the 3-layer scrim.
   Elementor draws a container's background-overlay as ::before, so we restyle that. ---- */
.elementor-10 .elementor-element.elementor-element-719f135{
  background-position: center 34% !important;
}
/* NOTE: the §6 scrim is BAKED INTO the svctab-*.webp source images — verified by pixel
   luminance matching the raw file. The ::before overlay below is therefore inert on purpose:
   Elementor leaves `content: none` because no background-overlay is configured, and forcing
   it on double-darkens the panel. If these photos are ever swapped for un-scrimmed art,
   re-enable a background overlay here with:
     linear-gradient(200deg, transparent, #000)
     linear-gradient(90deg, rgba(0,0,0,.9), rgba(0,0,0,.1))
     linear-gradient(204deg, rgba(0,35,96,.70), transparent) */
/* ==== PF-CRIT2 (2026-08-20): real asset + Sketch pattern-E scrim (base #020c15, #002360 70%->0 wash, black edge fades). The old svctab-*.webp had the scrim baked in; these are clean sources so the overlay is real now. ==== */
.elementor-10 .elementor-element.elementor-element-719f135{position:relative;background-color:#020c15 !important;}
.elementor-10 .elementor-element.elementor-element-719f135::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,35,96,0.7) 0%,rgba(0,35,96,0) 55%),linear-gradient(90deg,rgba(2,12,21,0.92) 0%,rgba(2,12,21,0.55) 34%,rgba(2,12,21,0) 62%),linear-gradient(0deg,rgba(2,12,21,0.55) 0%,rgba(2,12,21,0) 30%);}
.elementor-10 .elementor-element.elementor-element-719f135 > *{position:relative;z-index:2;}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-bdbceaa */.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button{padding:0;background:transparent;border:none;}
.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button-content-wrapper{display:flex;align-items:center;gap:14px;}
.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1.5px solid #00AEEF;flex-shrink:0;transition:all .2s ease;}
.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button-icon svg{width:15px;height:15px;}
.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button:hover .elementor-button-icon{background:#00AEEF;}
.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button:hover .elementor-button-icon svg{color:#FFFFFF;}

/* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-771b268 *//* ---- Sketch §6 background treatment: photo cropped to center 34%, then the 3-layer scrim.
   Elementor draws a container's background-overlay as ::before, so we restyle that. ---- */
.elementor-10 .elementor-element.elementor-element-771b268{
  background-position: center 34% !important;
}
/* NOTE: the §6 scrim is BAKED INTO the svctab-*.webp source images — verified by pixel
   luminance matching the raw file. The ::before overlay below is therefore inert on purpose:
   Elementor leaves `content: none` because no background-overlay is configured, and forcing
   it on double-darkens the panel. If these photos are ever swapped for un-scrimmed art,
   re-enable a background overlay here with:
     linear-gradient(200deg, transparent, #000)
     linear-gradient(90deg, rgba(0,0,0,.9), rgba(0,0,0,.1))
     linear-gradient(204deg, rgba(0,35,96,.70), transparent) */
/* ==== PF-CRIT2 (2026-08-20): real asset + Sketch pattern-E scrim (base #020c15, #002360 70%->0 wash, black edge fades). The old svctab-*.webp had the scrim baked in; these are clean sources so the overlay is real now. ==== */
.elementor-10 .elementor-element.elementor-element-771b268{position:relative;background-color:#020c15 !important;}
.elementor-10 .elementor-element.elementor-element-771b268::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,35,96,0.7) 0%,rgba(0,35,96,0) 55%),linear-gradient(90deg,rgba(2,12,21,0.92) 0%,rgba(2,12,21,0.55) 34%,rgba(2,12,21,0) 62%),linear-gradient(0deg,rgba(2,12,21,0.55) 0%,rgba(2,12,21,0) 30%);}
.elementor-10 .elementor-element.elementor-element-771b268 > *{position:relative;z-index:2;}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-53de698 */.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button{padding:0;background:transparent;border:none;}
.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button-content-wrapper{display:flex;align-items:center;gap:14px;}
.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1.5px solid #00AEEF;flex-shrink:0;transition:all .2s ease;}
.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button-icon svg{width:15px;height:15px;}
.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button:hover .elementor-button-icon{background:#00AEEF;}
.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button:hover .elementor-button-icon svg{color:#FFFFFF;}

/* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9c7befe *//* ---- Sketch §6 background treatment: photo cropped to center 34%, then the 3-layer scrim.
   Elementor draws a container's background-overlay as ::before, so we restyle that. ---- */
.elementor-10 .elementor-element.elementor-element-9c7befe{
  background-position: center 34% !important;
}
/* NOTE: the §6 scrim is BAKED INTO the svctab-*.webp source images — verified by pixel
   luminance matching the raw file. The ::before overlay below is therefore inert on purpose:
   Elementor leaves `content: none` because no background-overlay is configured, and forcing
   it on double-darkens the panel. If these photos are ever swapped for un-scrimmed art,
   re-enable a background overlay here with:
     linear-gradient(200deg, transparent, #000)
     linear-gradient(90deg, rgba(0,0,0,.9), rgba(0,0,0,.1))
     linear-gradient(204deg, rgba(0,35,96,.70), transparent) */
/* ==== PF-CRIT2 (2026-08-20): real asset + Sketch pattern-E scrim (base #020c15, #002360 70%->0 wash, black edge fades). The old svctab-*.webp had the scrim baked in; these are clean sources so the overlay is real now. ==== */
.elementor-10 .elementor-element.elementor-element-9c7befe{position:relative;background-color:#020c15 !important;}
.elementor-10 .elementor-element.elementor-element-9c7befe::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,35,96,0.7) 0%,rgba(0,35,96,0) 55%),linear-gradient(90deg,rgba(2,12,21,0.92) 0%,rgba(2,12,21,0.55) 34%,rgba(2,12,21,0) 62%),linear-gradient(0deg,rgba(2,12,21,0.55) 0%,rgba(2,12,21,0) 30%);}
.elementor-10 .elementor-element.elementor-element-9c7befe > *{position:relative;z-index:2;}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-3eeca21 */.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button{padding:0;background:transparent;border:none;}
.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button-content-wrapper{display:flex;align-items:center;gap:14px;}
.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1.5px solid #00AEEF;flex-shrink:0;transition:all .2s ease;}
.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button-icon svg{width:15px;height:15px;}
.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button:hover .elementor-button-icon{background:#00AEEF;}
.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button:hover .elementor-button-icon svg{color:#FFFFFF;}

/* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e5b668e *//* ---- Sketch §6 background treatment: photo cropped to center 34%, then the 3-layer scrim.
   Elementor draws a container's background-overlay as ::before, so we restyle that. ---- */
.elementor-10 .elementor-element.elementor-element-e5b668e{
  background-position: center 34% !important;
}
/* NOTE: the §6 scrim is BAKED INTO the svctab-*.webp source images — verified by pixel
   luminance matching the raw file. The ::before overlay below is therefore inert on purpose:
   Elementor leaves `content: none` because no background-overlay is configured, and forcing
   it on double-darkens the panel. If these photos are ever swapped for un-scrimmed art,
   re-enable a background overlay here with:
     linear-gradient(200deg, transparent, #000)
     linear-gradient(90deg, rgba(0,0,0,.9), rgba(0,0,0,.1))
     linear-gradient(204deg, rgba(0,35,96,.70), transparent) */
/* ==== PF-CRIT2 (2026-08-20): real asset + Sketch pattern-E scrim (base #020c15, #002360 70%->0 wash, black edge fades). The old svctab-*.webp had the scrim baked in; these are clean sources so the overlay is real now. ==== */
.elementor-10 .elementor-element.elementor-element-e5b668e{position:relative;background-color:#020c15 !important;}
.elementor-10 .elementor-element.elementor-element-e5b668e::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,35,96,0.7) 0%,rgba(0,35,96,0) 55%),linear-gradient(90deg,rgba(2,12,21,0.92) 0%,rgba(2,12,21,0.55) 34%,rgba(2,12,21,0) 62%),linear-gradient(0deg,rgba(2,12,21,0.55) 0%,rgba(2,12,21,0) 30%);}
.elementor-10 .elementor-element.elementor-element-e5b668e > *{position:relative;z-index:2;}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-202e991 */.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button{padding:0;background:transparent;border:none;}
.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button-content-wrapper{display:flex;align-items:center;gap:14px;}
.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1.5px solid #00AEEF;flex-shrink:0;transition:all .2s ease;}
.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button-icon svg{width:15px;height:15px;}
.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button:hover .elementor-button-icon{background:#00AEEF;}
.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button:hover .elementor-button-icon svg{color:#FFFFFF;}

/* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f209204 *//* ---- Sketch §6 background treatment: photo cropped to center 34%, then the 3-layer scrim.
   Elementor draws a container's background-overlay as ::before, so we restyle that. ---- */
.elementor-10 .elementor-element.elementor-element-f209204{
  background-position: center 34% !important;
}
/* NOTE: the §6 scrim is BAKED INTO the svctab-*.webp source images — verified by pixel
   luminance matching the raw file. The ::before overlay below is therefore inert on purpose:
   Elementor leaves `content: none` because no background-overlay is configured, and forcing
   it on double-darkens the panel. If these photos are ever swapped for un-scrimmed art,
   re-enable a background overlay here with:
     linear-gradient(200deg, transparent, #000)
     linear-gradient(90deg, rgba(0,0,0,.9), rgba(0,0,0,.1))
     linear-gradient(204deg, rgba(0,35,96,.70), transparent) */
/* ==== PF-CRIT2 (2026-08-20): real asset + Sketch pattern-E scrim (base #020c15, #002360 70%->0 wash, black edge fades). The old svctab-*.webp had the scrim baked in; these are clean sources so the overlay is real now. ==== */
.elementor-10 .elementor-element.elementor-element-f209204{position:relative;background-color:#020c15 !important;}
.elementor-10 .elementor-element.elementor-element-f209204::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,35,96,0.7) 0%,rgba(0,35,96,0) 55%),linear-gradient(90deg,rgba(2,12,21,0.92) 0%,rgba(2,12,21,0.55) 34%,rgba(2,12,21,0) 62%),linear-gradient(0deg,rgba(2,12,21,0.55) 0%,rgba(2,12,21,0) 30%);}
.elementor-10 .elementor-element.elementor-element-f209204 > *{position:relative;z-index:2;}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-5ae4121 */.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button{padding:0;background:transparent;border:none;}
.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button-content-wrapper{display:flex;align-items:center;gap:14px;}
.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1.5px solid #00AEEF;flex-shrink:0;transition:all .2s ease;}
.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button-icon svg{width:15px;height:15px;}
.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button:hover .elementor-button-icon{background:#00AEEF;}
.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button:hover .elementor-button-icon svg{color:#FFFFFF;}

/* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-719f135 *//* ---- Sketch §6 background treatment: photo cropped to center 34%, then the 3-layer scrim.
   Elementor draws a container's background-overlay as ::before, so we restyle that. ---- */
.elementor-10 .elementor-element.elementor-element-719f135{
  background-position: center 34% !important;
}
/* NOTE: the §6 scrim is BAKED INTO the svctab-*.webp source images — verified by pixel
   luminance matching the raw file. The ::before overlay below is therefore inert on purpose:
   Elementor leaves `content: none` because no background-overlay is configured, and forcing
   it on double-darkens the panel. If these photos are ever swapped for un-scrimmed art,
   re-enable a background overlay here with:
     linear-gradient(200deg, transparent, #000)
     linear-gradient(90deg, rgba(0,0,0,.9), rgba(0,0,0,.1))
     linear-gradient(204deg, rgba(0,35,96,.70), transparent) */
/* ==== PF-CRIT2 (2026-08-20): real asset + Sketch pattern-E scrim (base #020c15, #002360 70%->0 wash, black edge fades). The old svctab-*.webp had the scrim baked in; these are clean sources so the overlay is real now. ==== */
.elementor-10 .elementor-element.elementor-element-719f135{position:relative;background-color:#020c15 !important;}
.elementor-10 .elementor-element.elementor-element-719f135::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,35,96,0.7) 0%,rgba(0,35,96,0) 55%),linear-gradient(90deg,rgba(2,12,21,0.92) 0%,rgba(2,12,21,0.55) 34%,rgba(2,12,21,0) 62%),linear-gradient(0deg,rgba(2,12,21,0.55) 0%,rgba(2,12,21,0) 30%);}
.elementor-10 .elementor-element.elementor-element-719f135 > *{position:relative;z-index:2;}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-bdbceaa */.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button{padding:0;background:transparent;border:none;}
.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button-content-wrapper{display:flex;align-items:center;gap:14px;}
.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1.5px solid #00AEEF;flex-shrink:0;transition:all .2s ease;}
.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button-icon svg{width:15px;height:15px;}
.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button:hover .elementor-button-icon{background:#00AEEF;}
.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button:hover .elementor-button-icon svg{color:#FFFFFF;}

/* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-771b268 *//* ---- Sketch §6 background treatment: photo cropped to center 34%, then the 3-layer scrim.
   Elementor draws a container's background-overlay as ::before, so we restyle that. ---- */
.elementor-10 .elementor-element.elementor-element-771b268{
  background-position: center 34% !important;
}
/* NOTE: the §6 scrim is BAKED INTO the svctab-*.webp source images — verified by pixel
   luminance matching the raw file. The ::before overlay below is therefore inert on purpose:
   Elementor leaves `content: none` because no background-overlay is configured, and forcing
   it on double-darkens the panel. If these photos are ever swapped for un-scrimmed art,
   re-enable a background overlay here with:
     linear-gradient(200deg, transparent, #000)
     linear-gradient(90deg, rgba(0,0,0,.9), rgba(0,0,0,.1))
     linear-gradient(204deg, rgba(0,35,96,.70), transparent) */
/* ==== PF-CRIT2 (2026-08-20): real asset + Sketch pattern-E scrim (base #020c15, #002360 70%->0 wash, black edge fades). The old svctab-*.webp had the scrim baked in; these are clean sources so the overlay is real now. ==== */
.elementor-10 .elementor-element.elementor-element-771b268{position:relative;background-color:#020c15 !important;}
.elementor-10 .elementor-element.elementor-element-771b268::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,35,96,0.7) 0%,rgba(0,35,96,0) 55%),linear-gradient(90deg,rgba(2,12,21,0.92) 0%,rgba(2,12,21,0.55) 34%,rgba(2,12,21,0) 62%),linear-gradient(0deg,rgba(2,12,21,0.55) 0%,rgba(2,12,21,0) 30%);}
.elementor-10 .elementor-element.elementor-element-771b268 > *{position:relative;z-index:2;}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-53de698 */.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button{padding:0;background:transparent;border:none;}
.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button-content-wrapper{display:flex;align-items:center;gap:14px;}
.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1.5px solid #00AEEF;flex-shrink:0;transition:all .2s ease;}
.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button-icon svg{width:15px;height:15px;}
.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button:hover .elementor-button-icon{background:#00AEEF;}
.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button:hover .elementor-button-icon svg{color:#FFFFFF;}

/* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9c7befe *//* ---- Sketch §6 background treatment: photo cropped to center 34%, then the 3-layer scrim.
   Elementor draws a container's background-overlay as ::before, so we restyle that. ---- */
.elementor-10 .elementor-element.elementor-element-9c7befe{
  background-position: center 34% !important;
}
/* NOTE: the §6 scrim is BAKED INTO the svctab-*.webp source images — verified by pixel
   luminance matching the raw file. The ::before overlay below is therefore inert on purpose:
   Elementor leaves `content: none` because no background-overlay is configured, and forcing
   it on double-darkens the panel. If these photos are ever swapped for un-scrimmed art,
   re-enable a background overlay here with:
     linear-gradient(200deg, transparent, #000)
     linear-gradient(90deg, rgba(0,0,0,.9), rgba(0,0,0,.1))
     linear-gradient(204deg, rgba(0,35,96,.70), transparent) */
/* ==== PF-CRIT2 (2026-08-20): real asset + Sketch pattern-E scrim (base #020c15, #002360 70%->0 wash, black edge fades). The old svctab-*.webp had the scrim baked in; these are clean sources so the overlay is real now. ==== */
.elementor-10 .elementor-element.elementor-element-9c7befe{position:relative;background-color:#020c15 !important;}
.elementor-10 .elementor-element.elementor-element-9c7befe::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,35,96,0.7) 0%,rgba(0,35,96,0) 55%),linear-gradient(90deg,rgba(2,12,21,0.92) 0%,rgba(2,12,21,0.55) 34%,rgba(2,12,21,0) 62%),linear-gradient(0deg,rgba(2,12,21,0.55) 0%,rgba(2,12,21,0) 30%);}
.elementor-10 .elementor-element.elementor-element-9c7befe > *{position:relative;z-index:2;}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-3eeca21 */.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button{padding:0;background:transparent;border:none;}
.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button-content-wrapper{display:flex;align-items:center;gap:14px;}
.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1.5px solid #00AEEF;flex-shrink:0;transition:all .2s ease;}
.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button-icon svg{width:15px;height:15px;}
.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button:hover .elementor-button-icon{background:#00AEEF;}
.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button:hover .elementor-button-icon svg{color:#FFFFFF;}

/* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e5b668e *//* ---- Sketch §6 background treatment: photo cropped to center 34%, then the 3-layer scrim.
   Elementor draws a container's background-overlay as ::before, so we restyle that. ---- */
.elementor-10 .elementor-element.elementor-element-e5b668e{
  background-position: center 34% !important;
}
/* NOTE: the §6 scrim is BAKED INTO the svctab-*.webp source images — verified by pixel
   luminance matching the raw file. The ::before overlay below is therefore inert on purpose:
   Elementor leaves `content: none` because no background-overlay is configured, and forcing
   it on double-darkens the panel. If these photos are ever swapped for un-scrimmed art,
   re-enable a background overlay here with:
     linear-gradient(200deg, transparent, #000)
     linear-gradient(90deg, rgba(0,0,0,.9), rgba(0,0,0,.1))
     linear-gradient(204deg, rgba(0,35,96,.70), transparent) */
/* ==== PF-CRIT2 (2026-08-20): real asset + Sketch pattern-E scrim (base #020c15, #002360 70%->0 wash, black edge fades). The old svctab-*.webp had the scrim baked in; these are clean sources so the overlay is real now. ==== */
.elementor-10 .elementor-element.elementor-element-e5b668e{position:relative;background-color:#020c15 !important;}
.elementor-10 .elementor-element.elementor-element-e5b668e::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,35,96,0.7) 0%,rgba(0,35,96,0) 55%),linear-gradient(90deg,rgba(2,12,21,0.92) 0%,rgba(2,12,21,0.55) 34%,rgba(2,12,21,0) 62%),linear-gradient(0deg,rgba(2,12,21,0.55) 0%,rgba(2,12,21,0) 30%);}
.elementor-10 .elementor-element.elementor-element-e5b668e > *{position:relative;z-index:2;}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-202e991 */.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button{padding:0;background:transparent;border:none;}
.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button-content-wrapper{display:flex;align-items:center;gap:14px;}
.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1.5px solid #00AEEF;flex-shrink:0;transition:all .2s ease;}
.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button-icon svg{width:15px;height:15px;}
.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button:hover .elementor-button-icon{background:#00AEEF;}
.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button:hover .elementor-button-icon svg{color:#FFFFFF;}

/* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f209204 *//* ---- Sketch §6 background treatment: photo cropped to center 34%, then the 3-layer scrim.
   Elementor draws a container's background-overlay as ::before, so we restyle that. ---- */
.elementor-10 .elementor-element.elementor-element-f209204{
  background-position: center 34% !important;
}
/* NOTE: the §6 scrim is BAKED INTO the svctab-*.webp source images — verified by pixel
   luminance matching the raw file. The ::before overlay below is therefore inert on purpose:
   Elementor leaves `content: none` because no background-overlay is configured, and forcing
   it on double-darkens the panel. If these photos are ever swapped for un-scrimmed art,
   re-enable a background overlay here with:
     linear-gradient(200deg, transparent, #000)
     linear-gradient(90deg, rgba(0,0,0,.9), rgba(0,0,0,.1))
     linear-gradient(204deg, rgba(0,35,96,.70), transparent) */
/* ==== PF-CRIT2 (2026-08-20): real asset + Sketch pattern-E scrim (base #020c15, #002360 70%->0 wash, black edge fades). The old svctab-*.webp had the scrim baked in; these are clean sources so the overlay is real now. ==== */
.elementor-10 .elementor-element.elementor-element-f209204{position:relative;background-color:#020c15 !important;}
.elementor-10 .elementor-element.elementor-element-f209204::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,35,96,0.7) 0%,rgba(0,35,96,0) 55%),linear-gradient(90deg,rgba(2,12,21,0.92) 0%,rgba(2,12,21,0.55) 34%,rgba(2,12,21,0) 62%),linear-gradient(0deg,rgba(2,12,21,0.55) 0%,rgba(2,12,21,0) 30%);}
.elementor-10 .elementor-element.elementor-element-f209204 > *{position:relative;z-index:2;}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-5ae4121 */.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button{padding:0;background:transparent;border:none;}
.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button-content-wrapper{display:flex;align-items:center;gap:14px;}
.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1.5px solid #00AEEF;flex-shrink:0;transition:all .2s ease;}
.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button-icon svg{width:15px;height:15px;}
.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button:hover .elementor-button-icon{background:#00AEEF;}
.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button:hover .elementor-button-icon svg{color:#FFFFFF;}

/* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-719f135 *//* ---- Sketch §6 background treatment: photo cropped to center 34%, then the 3-layer scrim.
   Elementor draws a container's background-overlay as ::before, so we restyle that. ---- */
.elementor-10 .elementor-element.elementor-element-719f135{
  background-position: center 34% !important;
}
/* NOTE: the §6 scrim is BAKED INTO the svctab-*.webp source images — verified by pixel
   luminance matching the raw file. The ::before overlay below is therefore inert on purpose:
   Elementor leaves `content: none` because no background-overlay is configured, and forcing
   it on double-darkens the panel. If these photos are ever swapped for un-scrimmed art,
   re-enable a background overlay here with:
     linear-gradient(200deg, transparent, #000)
     linear-gradient(90deg, rgba(0,0,0,.9), rgba(0,0,0,.1))
     linear-gradient(204deg, rgba(0,35,96,.70), transparent) */
/* ==== PF-CRIT2 (2026-08-20): real asset + Sketch pattern-E scrim (base #020c15, #002360 70%->0 wash, black edge fades). The old svctab-*.webp had the scrim baked in; these are clean sources so the overlay is real now. ==== */
.elementor-10 .elementor-element.elementor-element-719f135{position:relative;background-color:#020c15 !important;}
.elementor-10 .elementor-element.elementor-element-719f135::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,35,96,0.7) 0%,rgba(0,35,96,0) 55%),linear-gradient(90deg,rgba(2,12,21,0.92) 0%,rgba(2,12,21,0.55) 34%,rgba(2,12,21,0) 62%),linear-gradient(0deg,rgba(2,12,21,0.55) 0%,rgba(2,12,21,0) 30%);}
.elementor-10 .elementor-element.elementor-element-719f135 > *{position:relative;z-index:2;}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-bdbceaa */.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button{padding:0;background:transparent;border:none;}
.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button-content-wrapper{display:flex;align-items:center;gap:14px;}
.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1.5px solid #00AEEF;flex-shrink:0;transition:all .2s ease;}
.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button-icon svg{width:15px;height:15px;}
.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button:hover .elementor-button-icon{background:#00AEEF;}
.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button:hover .elementor-button-icon svg{color:#FFFFFF;}

/* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-771b268 *//* ---- Sketch §6 background treatment: photo cropped to center 34%, then the 3-layer scrim.
   Elementor draws a container's background-overlay as ::before, so we restyle that. ---- */
.elementor-10 .elementor-element.elementor-element-771b268{
  background-position: center 34% !important;
}
/* NOTE: the §6 scrim is BAKED INTO the svctab-*.webp source images — verified by pixel
   luminance matching the raw file. The ::before overlay below is therefore inert on purpose:
   Elementor leaves `content: none` because no background-overlay is configured, and forcing
   it on double-darkens the panel. If these photos are ever swapped for un-scrimmed art,
   re-enable a background overlay here with:
     linear-gradient(200deg, transparent, #000)
     linear-gradient(90deg, rgba(0,0,0,.9), rgba(0,0,0,.1))
     linear-gradient(204deg, rgba(0,35,96,.70), transparent) */
/* ==== PF-CRIT2 (2026-08-20): real asset + Sketch pattern-E scrim (base #020c15, #002360 70%->0 wash, black edge fades). The old svctab-*.webp had the scrim baked in; these are clean sources so the overlay is real now. ==== */
.elementor-10 .elementor-element.elementor-element-771b268{position:relative;background-color:#020c15 !important;}
.elementor-10 .elementor-element.elementor-element-771b268::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,35,96,0.7) 0%,rgba(0,35,96,0) 55%),linear-gradient(90deg,rgba(2,12,21,0.92) 0%,rgba(2,12,21,0.55) 34%,rgba(2,12,21,0) 62%),linear-gradient(0deg,rgba(2,12,21,0.55) 0%,rgba(2,12,21,0) 30%);}
.elementor-10 .elementor-element.elementor-element-771b268 > *{position:relative;z-index:2;}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-53de698 */.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button{padding:0;background:transparent;border:none;}
.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button-content-wrapper{display:flex;align-items:center;gap:14px;}
.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1.5px solid #00AEEF;flex-shrink:0;transition:all .2s ease;}
.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button-icon svg{width:15px;height:15px;}
.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button:hover .elementor-button-icon{background:#00AEEF;}
.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button:hover .elementor-button-icon svg{color:#FFFFFF;}

/* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9c7befe *//* ---- Sketch §6 background treatment: photo cropped to center 34%, then the 3-layer scrim.
   Elementor draws a container's background-overlay as ::before, so we restyle that. ---- */
.elementor-10 .elementor-element.elementor-element-9c7befe{
  background-position: center 34% !important;
}
/* NOTE: the §6 scrim is BAKED INTO the svctab-*.webp source images — verified by pixel
   luminance matching the raw file. The ::before overlay below is therefore inert on purpose:
   Elementor leaves `content: none` because no background-overlay is configured, and forcing
   it on double-darkens the panel. If these photos are ever swapped for un-scrimmed art,
   re-enable a background overlay here with:
     linear-gradient(200deg, transparent, #000)
     linear-gradient(90deg, rgba(0,0,0,.9), rgba(0,0,0,.1))
     linear-gradient(204deg, rgba(0,35,96,.70), transparent) */
/* ==== PF-CRIT2 (2026-08-20): real asset + Sketch pattern-E scrim (base #020c15, #002360 70%->0 wash, black edge fades). The old svctab-*.webp had the scrim baked in; these are clean sources so the overlay is real now. ==== */
.elementor-10 .elementor-element.elementor-element-9c7befe{position:relative;background-color:#020c15 !important;}
.elementor-10 .elementor-element.elementor-element-9c7befe::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,35,96,0.7) 0%,rgba(0,35,96,0) 55%),linear-gradient(90deg,rgba(2,12,21,0.92) 0%,rgba(2,12,21,0.55) 34%,rgba(2,12,21,0) 62%),linear-gradient(0deg,rgba(2,12,21,0.55) 0%,rgba(2,12,21,0) 30%);}
.elementor-10 .elementor-element.elementor-element-9c7befe > *{position:relative;z-index:2;}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-3eeca21 */.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button{padding:0;background:transparent;border:none;}
.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button-content-wrapper{display:flex;align-items:center;gap:14px;}
.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1.5px solid #00AEEF;flex-shrink:0;transition:all .2s ease;}
.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button-icon svg{width:15px;height:15px;}
.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button:hover .elementor-button-icon{background:#00AEEF;}
.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button:hover .elementor-button-icon svg{color:#FFFFFF;}

/* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e5b668e *//* ---- Sketch §6 background treatment: photo cropped to center 34%, then the 3-layer scrim.
   Elementor draws a container's background-overlay as ::before, so we restyle that. ---- */
.elementor-10 .elementor-element.elementor-element-e5b668e{
  background-position: center 34% !important;
}
/* NOTE: the §6 scrim is BAKED INTO the svctab-*.webp source images — verified by pixel
   luminance matching the raw file. The ::before overlay below is therefore inert on purpose:
   Elementor leaves `content: none` because no background-overlay is configured, and forcing
   it on double-darkens the panel. If these photos are ever swapped for un-scrimmed art,
   re-enable a background overlay here with:
     linear-gradient(200deg, transparent, #000)
     linear-gradient(90deg, rgba(0,0,0,.9), rgba(0,0,0,.1))
     linear-gradient(204deg, rgba(0,35,96,.70), transparent) */
/* ==== PF-CRIT2 (2026-08-20): real asset + Sketch pattern-E scrim (base #020c15, #002360 70%->0 wash, black edge fades). The old svctab-*.webp had the scrim baked in; these are clean sources so the overlay is real now. ==== */
.elementor-10 .elementor-element.elementor-element-e5b668e{position:relative;background-color:#020c15 !important;}
.elementor-10 .elementor-element.elementor-element-e5b668e::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,35,96,0.7) 0%,rgba(0,35,96,0) 55%),linear-gradient(90deg,rgba(2,12,21,0.92) 0%,rgba(2,12,21,0.55) 34%,rgba(2,12,21,0) 62%),linear-gradient(0deg,rgba(2,12,21,0.55) 0%,rgba(2,12,21,0) 30%);}
.elementor-10 .elementor-element.elementor-element-e5b668e > *{position:relative;z-index:2;}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-202e991 */.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button{padding:0;background:transparent;border:none;}
.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button-content-wrapper{display:flex;align-items:center;gap:14px;}
.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1.5px solid #00AEEF;flex-shrink:0;transition:all .2s ease;}
.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button-icon svg{width:15px;height:15px;}
.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button:hover .elementor-button-icon{background:#00AEEF;}
.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button:hover .elementor-button-icon svg{color:#FFFFFF;}

/* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f209204 *//* ---- Sketch §6 background treatment: photo cropped to center 34%, then the 3-layer scrim.
   Elementor draws a container's background-overlay as ::before, so we restyle that. ---- */
.elementor-10 .elementor-element.elementor-element-f209204{
  background-position: center 34% !important;
}
/* NOTE: the §6 scrim is BAKED INTO the svctab-*.webp source images — verified by pixel
   luminance matching the raw file. The ::before overlay below is therefore inert on purpose:
   Elementor leaves `content: none` because no background-overlay is configured, and forcing
   it on double-darkens the panel. If these photos are ever swapped for un-scrimmed art,
   re-enable a background overlay here with:
     linear-gradient(200deg, transparent, #000)
     linear-gradient(90deg, rgba(0,0,0,.9), rgba(0,0,0,.1))
     linear-gradient(204deg, rgba(0,35,96,.70), transparent) */
/* ==== PF-CRIT2 (2026-08-20): real asset + Sketch pattern-E scrim (base #020c15, #002360 70%->0 wash, black edge fades). The old svctab-*.webp had the scrim baked in; these are clean sources so the overlay is real now. ==== */
.elementor-10 .elementor-element.elementor-element-f209204{position:relative;background-color:#020c15 !important;}
.elementor-10 .elementor-element.elementor-element-f209204::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,35,96,0.7) 0%,rgba(0,35,96,0) 55%),linear-gradient(90deg,rgba(2,12,21,0.92) 0%,rgba(2,12,21,0.55) 34%,rgba(2,12,21,0) 62%),linear-gradient(0deg,rgba(2,12,21,0.55) 0%,rgba(2,12,21,0) 30%);}
.elementor-10 .elementor-element.elementor-element-f209204 > *{position:relative;z-index:2;}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-5ae4121 */.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button{padding:0;background:transparent;border:none;}
.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button-content-wrapper{display:flex;align-items:center;gap:14px;}
.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1.5px solid #00AEEF;flex-shrink:0;transition:all .2s ease;}
.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button-icon svg{width:15px;height:15px;}
.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button:hover .elementor-button-icon{background:#00AEEF;}
.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button:hover .elementor-button-icon svg{color:#FFFFFF;}

/* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-719f135 *//* ---- Sketch §6 background treatment: photo cropped to center 34%, then the 3-layer scrim.
   Elementor draws a container's background-overlay as ::before, so we restyle that. ---- */
.elementor-10 .elementor-element.elementor-element-719f135{
  background-position: center 34% !important;
}
/* NOTE: the §6 scrim is BAKED INTO the svctab-*.webp source images — verified by pixel
   luminance matching the raw file. The ::before overlay below is therefore inert on purpose:
   Elementor leaves `content: none` because no background-overlay is configured, and forcing
   it on double-darkens the panel. If these photos are ever swapped for un-scrimmed art,
   re-enable a background overlay here with:
     linear-gradient(200deg, transparent, #000)
     linear-gradient(90deg, rgba(0,0,0,.9), rgba(0,0,0,.1))
     linear-gradient(204deg, rgba(0,35,96,.70), transparent) */
/* ==== PF-CRIT2 (2026-08-20): real asset + Sketch pattern-E scrim (base #020c15, #002360 70%->0 wash, black edge fades). The old svctab-*.webp had the scrim baked in; these are clean sources so the overlay is real now. ==== */
.elementor-10 .elementor-element.elementor-element-719f135{position:relative;background-color:#020c15 !important;}
.elementor-10 .elementor-element.elementor-element-719f135::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,35,96,0.7) 0%,rgba(0,35,96,0) 55%),linear-gradient(90deg,rgba(2,12,21,0.92) 0%,rgba(2,12,21,0.55) 34%,rgba(2,12,21,0) 62%),linear-gradient(0deg,rgba(2,12,21,0.55) 0%,rgba(2,12,21,0) 30%);}
.elementor-10 .elementor-element.elementor-element-719f135 > *{position:relative;z-index:2;}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-bdbceaa */.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button{padding:0;background:transparent;border:none;}
.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button-content-wrapper{display:flex;align-items:center;gap:14px;}
.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1.5px solid #00AEEF;flex-shrink:0;transition:all .2s ease;}
.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button-icon svg{width:15px;height:15px;}
.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button:hover .elementor-button-icon{background:#00AEEF;}
.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button:hover .elementor-button-icon svg{color:#FFFFFF;}

/* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-bdbceaa .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-771b268 *//* ---- Sketch §6 background treatment: photo cropped to center 34%, then the 3-layer scrim.
   Elementor draws a container's background-overlay as ::before, so we restyle that. ---- */
.elementor-10 .elementor-element.elementor-element-771b268{
  background-position: center 34% !important;
}
/* NOTE: the §6 scrim is BAKED INTO the svctab-*.webp source images — verified by pixel
   luminance matching the raw file. The ::before overlay below is therefore inert on purpose:
   Elementor leaves `content: none` because no background-overlay is configured, and forcing
   it on double-darkens the panel. If these photos are ever swapped for un-scrimmed art,
   re-enable a background overlay here with:
     linear-gradient(200deg, transparent, #000)
     linear-gradient(90deg, rgba(0,0,0,.9), rgba(0,0,0,.1))
     linear-gradient(204deg, rgba(0,35,96,.70), transparent) */
/* ==== PF-CRIT2 (2026-08-20): real asset + Sketch pattern-E scrim (base #020c15, #002360 70%->0 wash, black edge fades). The old svctab-*.webp had the scrim baked in; these are clean sources so the overlay is real now. ==== */
.elementor-10 .elementor-element.elementor-element-771b268{position:relative;background-color:#020c15 !important;}
.elementor-10 .elementor-element.elementor-element-771b268::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,35,96,0.7) 0%,rgba(0,35,96,0) 55%),linear-gradient(90deg,rgba(2,12,21,0.92) 0%,rgba(2,12,21,0.55) 34%,rgba(2,12,21,0) 62%),linear-gradient(0deg,rgba(2,12,21,0.55) 0%,rgba(2,12,21,0) 30%);}
.elementor-10 .elementor-element.elementor-element-771b268 > *{position:relative;z-index:2;}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-53de698 */.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button{padding:0;background:transparent;border:none;}
.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button-content-wrapper{display:flex;align-items:center;gap:14px;}
.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1.5px solid #00AEEF;flex-shrink:0;transition:all .2s ease;}
.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button-icon svg{width:15px;height:15px;}
.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button:hover .elementor-button-icon{background:#00AEEF;}
.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button:hover .elementor-button-icon svg{color:#FFFFFF;}

/* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-53de698 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9c7befe *//* ---- Sketch §6 background treatment: photo cropped to center 34%, then the 3-layer scrim.
   Elementor draws a container's background-overlay as ::before, so we restyle that. ---- */
.elementor-10 .elementor-element.elementor-element-9c7befe{
  background-position: center 34% !important;
}
/* NOTE: the §6 scrim is BAKED INTO the svctab-*.webp source images — verified by pixel
   luminance matching the raw file. The ::before overlay below is therefore inert on purpose:
   Elementor leaves `content: none` because no background-overlay is configured, and forcing
   it on double-darkens the panel. If these photos are ever swapped for un-scrimmed art,
   re-enable a background overlay here with:
     linear-gradient(200deg, transparent, #000)
     linear-gradient(90deg, rgba(0,0,0,.9), rgba(0,0,0,.1))
     linear-gradient(204deg, rgba(0,35,96,.70), transparent) */
/* ==== PF-CRIT2 (2026-08-20): real asset + Sketch pattern-E scrim (base #020c15, #002360 70%->0 wash, black edge fades). The old svctab-*.webp had the scrim baked in; these are clean sources so the overlay is real now. ==== */
.elementor-10 .elementor-element.elementor-element-9c7befe{position:relative;background-color:#020c15 !important;}
.elementor-10 .elementor-element.elementor-element-9c7befe::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,35,96,0.7) 0%,rgba(0,35,96,0) 55%),linear-gradient(90deg,rgba(2,12,21,0.92) 0%,rgba(2,12,21,0.55) 34%,rgba(2,12,21,0) 62%),linear-gradient(0deg,rgba(2,12,21,0.55) 0%,rgba(2,12,21,0) 30%);}
.elementor-10 .elementor-element.elementor-element-9c7befe > *{position:relative;z-index:2;}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-3eeca21 */.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button{padding:0;background:transparent;border:none;}
.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button-content-wrapper{display:flex;align-items:center;gap:14px;}
.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1.5px solid #00AEEF;flex-shrink:0;transition:all .2s ease;}
.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button-icon svg{width:15px;height:15px;}
.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button:hover .elementor-button-icon{background:#00AEEF;}
.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button:hover .elementor-button-icon svg{color:#FFFFFF;}

/* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-3eeca21 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e5b668e *//* ---- Sketch §6 background treatment: photo cropped to center 34%, then the 3-layer scrim.
   Elementor draws a container's background-overlay as ::before, so we restyle that. ---- */
.elementor-10 .elementor-element.elementor-element-e5b668e{
  background-position: center 34% !important;
}
/* NOTE: the §6 scrim is BAKED INTO the svctab-*.webp source images — verified by pixel
   luminance matching the raw file. The ::before overlay below is therefore inert on purpose:
   Elementor leaves `content: none` because no background-overlay is configured, and forcing
   it on double-darkens the panel. If these photos are ever swapped for un-scrimmed art,
   re-enable a background overlay here with:
     linear-gradient(200deg, transparent, #000)
     linear-gradient(90deg, rgba(0,0,0,.9), rgba(0,0,0,.1))
     linear-gradient(204deg, rgba(0,35,96,.70), transparent) */
/* ==== PF-CRIT2 (2026-08-20): real asset + Sketch pattern-E scrim (base #020c15, #002360 70%->0 wash, black edge fades). The old svctab-*.webp had the scrim baked in; these are clean sources so the overlay is real now. ==== */
.elementor-10 .elementor-element.elementor-element-e5b668e{position:relative;background-color:#020c15 !important;}
.elementor-10 .elementor-element.elementor-element-e5b668e::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,35,96,0.7) 0%,rgba(0,35,96,0) 55%),linear-gradient(90deg,rgba(2,12,21,0.92) 0%,rgba(2,12,21,0.55) 34%,rgba(2,12,21,0) 62%),linear-gradient(0deg,rgba(2,12,21,0.55) 0%,rgba(2,12,21,0) 30%);}
.elementor-10 .elementor-element.elementor-element-e5b668e > *{position:relative;z-index:2;}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-202e991 */.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button{padding:0;background:transparent;border:none;}
.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button-content-wrapper{display:flex;align-items:center;gap:14px;}
.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1.5px solid #00AEEF;flex-shrink:0;transition:all .2s ease;}
.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button-icon svg{width:15px;height:15px;}
.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button:hover .elementor-button-icon{background:#00AEEF;}
.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button:hover .elementor-button-icon svg{color:#FFFFFF;}

/* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-202e991 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f209204 *//* ---- Sketch §6 background treatment: photo cropped to center 34%, then the 3-layer scrim.
   Elementor draws a container's background-overlay as ::before, so we restyle that. ---- */
.elementor-10 .elementor-element.elementor-element-f209204{
  background-position: center 34% !important;
}
/* NOTE: the §6 scrim is BAKED INTO the svctab-*.webp source images — verified by pixel
   luminance matching the raw file. The ::before overlay below is therefore inert on purpose:
   Elementor leaves `content: none` because no background-overlay is configured, and forcing
   it on double-darkens the panel. If these photos are ever swapped for un-scrimmed art,
   re-enable a background overlay here with:
     linear-gradient(200deg, transparent, #000)
     linear-gradient(90deg, rgba(0,0,0,.9), rgba(0,0,0,.1))
     linear-gradient(204deg, rgba(0,35,96,.70), transparent) */
/* ==== PF-CRIT2 (2026-08-20): real asset + Sketch pattern-E scrim (base #020c15, #002360 70%->0 wash, black edge fades). The old svctab-*.webp had the scrim baked in; these are clean sources so the overlay is real now. ==== */
.elementor-10 .elementor-element.elementor-element-f209204{position:relative;background-color:#020c15 !important;}
.elementor-10 .elementor-element.elementor-element-f209204::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,35,96,0.7) 0%,rgba(0,35,96,0) 55%),linear-gradient(90deg,rgba(2,12,21,0.92) 0%,rgba(2,12,21,0.55) 34%,rgba(2,12,21,0) 62%),linear-gradient(0deg,rgba(2,12,21,0.55) 0%,rgba(2,12,21,0) 30%);}
.elementor-10 .elementor-element.elementor-element-f209204 > *{position:relative;z-index:2;}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-5ae4121 */.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button{padding:0;background:transparent;border:none;}
.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button-content-wrapper{display:flex;align-items:center;gap:14px;}
.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1.5px solid #00AEEF;flex-shrink:0;transition:all .2s ease;}
.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button-icon svg{width:15px;height:15px;}
.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button:hover .elementor-button-icon{background:#00AEEF;}
.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button:hover .elementor-button-icon svg{color:#FFFFFF;}

/* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-5ae4121 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-719f135 *//* ---- Sketch §6 background treatment: photo cropped to center 34%, then the 3-layer scrim.
   Elementor draws a container's background-overlay as ::before, so we restyle that. ---- */
.elementor-10 .elementor-element.elementor-element-719f135{
  background-position: center 34% !important;
}
/* NOTE: the §6 scrim is BAKED INTO the svctab-*.webp source images — verified by pixel
   luminance matching the raw file. The ::before overlay below is therefore inert on purpose:
   Elementor leaves `content: none` because no background-overlay is configured, and forcing
   it on double-darkens the panel. If these photos are ever swapped for un-scrimmed art,
   re-enable a background overlay here with:
     linear-gradient(200deg, transparent, #000)
     linear-gradient(90deg, rgba(0,0,0,.9), rgba(0,0,0,.1))
     linear-gradient(204deg, rgba(0,35,96,.70), transparent) */
/* ==== PF-CRIT2 (2026-08-20): real asset + Sketch pattern-E scrim (base #020c15, #002360 70%->0 wash, black edge fades). The old svctab-*.webp had the scrim baked in; these are clean sources so the overlay is real now. ==== */
.elementor-10 .elementor-element.elementor-element-719f135{position:relative;background-color:#020c15 !important;}
.elementor-10 .elementor-element.elementor-element-719f135::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,35,96,0.7) 0%,rgba(0,35,96,0) 55%),linear-gradient(90deg,rgba(2,12,21,0.92) 0%,rgba(2,12,21,0.55) 34%,rgba(2,12,21,0) 62%),linear-gradient(0deg,rgba(2,12,21,0.55) 0%,rgba(2,12,21,0) 30%);}
.elementor-10 .elementor-element.elementor-element-719f135 > *{position:relative;z-index:2;}/* End custom CSS */
/* Start custom CSS for nested-tabs, class: .elementor-element-8ef4d9a *//* Sketch §5.2: five equal 272px columns at pitch 292 — this is what makes the EMS label wrap to 2 lines */
.elementor-10 .elementor-element.elementor-element-8ef4d9a{ --n-tabs-heading-gap: 20px; }
.elementor-10 .elementor-element.elementor-element-8ef4d9a .e-n-tabs-heading{
  display: grid !important;
  grid-template-columns: repeat(5, 272px);
  gap: 20px !important;
  justify-content: start;
}
.elementor-10 .elementor-element.elementor-element-8ef4d9a .e-n-tab-title{ width: 272px; max-width: 272px; }
@media (max-width:1024px){ .elementor-10 .elementor-element.elementor-element-8ef4d9a .e-n-tab-title{ flex: 0 0 auto; max-width: none; } }

/* Sketch §5.2: tab label 22/31/400. Elementor paints the label in .e-n-tab-title-text,
   which reads --n-tabs-title-font-size (default 1rem) — the widget's own size control only hits the button. */
.elementor-10 .elementor-element.elementor-element-8ef4d9a{ --n-tabs-title-font-size: 22px; }
.elementor-10 .elementor-element.elementor-element-8ef4d9a .e-n-tab-title-text{ font-size:22px; line-height:31px; font-weight:400; white-space:normal; }
@media (max-width:1024px){ .elementor-10 .elementor-element.elementor-element-8ef4d9a{ --n-tabs-title-font-size:18px; } .elementor-10 .elementor-element.elementor-element-8ef4d9a .e-n-tab-title-text{ font-size:18px; line-height:26px; } }
@media (max-width:767px){ .elementor-10 .elementor-element.elementor-element-8ef4d9a{ --n-tabs-title-font-size:16px; } .elementor-10 .elementor-element.elementor-element-8ef4d9a .e-n-tab-title-text{ font-size:16px; line-height:24px; } }

.elementor-10 .elementor-element.elementor-element-8ef4d9a .e-n-tabs-heading{
  justify-content: flex-start !important;
  gap: 0;
  width: 100%;
  max-width: var(--pf-rail);
  margin: 0 auto;
}
.elementor-10 .elementor-element.elementor-element-8ef4d9a .e-n-tab-title{
  background: transparent !important;
  color: #2C3647 !important;
  border: 0 !important;
  border-top: 3px solid rgba(44,54,71,0.2) !important; /* PF-CRIT2: spec S5 3px, both rules equal */
  border-radius: 0 !important;
  font-size: 22px !important;
  font-family: 'Neue Haas Grotesk Display Pro', sans-serif !important;
  font-weight: 400 !important;
  line-height: 31px !important;
  padding: 22px 2px 14px 0;
  margin-right: 26px;
  max-width: 420px;
  white-space: normal;
  justify-content: flex-start;
  text-align: left;
}
.elementor-10 .elementor-element.elementor-element-8ef4d9a .e-n-tab-title:hover{
  color: #000000;
}

/* ---- active tab: navy -> cyan gradient line on TOP ---- */
.elementor-10 .elementor-element.elementor-element-8ef4d9a .e-n-tab-title[aria-selected="true"]{
  background: transparent !important;
  color: #000000 !important;
  font-weight: 400;
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-8ef4d9a .e-n-tab-title[aria-selected="true"]::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -3px;
  height: 3px; /* PF-CRIT2: match grey rule thickness */
  background-image: linear-gradient(90deg, #030648 0%, #03A4DC 100%);
}

.elementor-10 .elementor-element.elementor-element-8ef4d9a 
.elementor-10 .elementor-element.elementor-element-8ef4d9a .e-n-tabs-content > .e-con, .elementor-10 .elementor-element.elementor-element-8ef4d9a .e-n-tab-content{
  align-items: center;
}

/* ---- mobile: swipeable tab strip (no accordion) ---- */
@media (max-width: 1024px){
  .elementor-10 .elementor-element.elementor-element-8ef4d9a .e-n-tabs-heading{
    flex-wrap: nowrap !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding: 0 20px;
    row-gap: 0;
  }
  .elementor-10 .elementor-element.elementor-element-8ef4d9a .e-n-tabs-heading::-webkit-scrollbar{
    display: none;
  }
  .elementor-10 .elementor-element.elementor-element-8ef4d9a .e-n-tab-title{
    flex: 0 0 auto;
    width: auto !important;
    max-width: none;
    white-space: nowrap;
    padding: 16px 2px 12px 0 !important;
    margin-right: 22px;
    font-size: 16px !important;
  }
  .elementor-10 .elementor-element.elementor-element-8ef4d9a .e-n-tabs-content > .e-con{
    padding-left: 20px;
    padding-right: 20px;
  }
}

/* Below the rail there is no room for 5x272 + 4x20 = 1440 (client area is 1425 at a 1440 window),
   which pushed a 15px page scrollbar. Fixed sizing holds while it fits; below that the row goes
   fluid — exactly the client's model: gutters absorb first, then inner spacing compresses. */
@media (max-width: 1519px){
  .elementor-10 .elementor-element.elementor-element-8ef4d9a .e-n-tabs-heading{ grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .elementor-10 .elementor-element.elementor-element-8ef4d9a .e-n-tab-title{ width: auto; max-width: none; margin-right: 0; }
}

/* PF-CRIT2-ALIGN: labels sit at the top, directly under the rules, like the design */
.elementor-10 .elementor-element.elementor-element-8ef4d9a .e-n-tab-title{align-items:flex-start !important;height:auto !important;min-height:0 !important;}
.elementor-10 .elementor-element.elementor-element-8ef4d9a .e-n-tabs-heading{align-items:start !important;}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-5547a97 */.elementor-10 .elementor-element.elementor-element-5547a97 {
  position: relative;
  padding-top: 5px;
  overflow: visible;
}

/* ---- eyebrow L-bracket — Figma 62x25, stroke 2px (dark bg: #FDD205 -> #00AEEF) ---- */
.elementor-10 .elementor-element.elementor-element-5547a97::before {
  content: "";
  position: absolute;
  top: 0;
  left: -3px;
  width: 62px;
  height: 25px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='62' height='25' viewBox='0 0 62 25' fill='none'%3E%3Cdefs%3E%3ClinearGradient id='pfd' x1='12.1022' y1='62.1085' x2='51.8193' y2='10.3466' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23FDD205'/%3E%3Cstop offset='1' stop-color='%2300AEEF'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M1 24L1 1L61 1' stroke='url(%23pfd)' stroke-width='2' stroke-linecap='square'/%3E%3C/svg%3E") no-repeat left top;
  background-size: 62px 25px;
  pointer-events: none;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-248c6a2 */.elementor-10 .elementor-element.elementor-element-248c6a2 .elementor-button{padding:0;background:transparent;border:none;}
.elementor-10 .elementor-element.elementor-element-248c6a2 .elementor-button-content-wrapper{display:flex;align-items:center;gap:14px;}
.elementor-10 .elementor-element.elementor-element-248c6a2 .elementor-button-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1.5px solid #00AEEF;flex-shrink:0;transition:all .2s ease;}
.elementor-10 .elementor-element.elementor-element-248c6a2 .elementor-button-icon svg{width:15px;height:15px;}
.elementor-10 .elementor-element.elementor-element-248c6a2 .elementor-button:hover .elementor-button-icon{background:#00AEEF;}
.elementor-10 .elementor-element.elementor-element-248c6a2 .elementor-button:hover .elementor-button-icon svg{color:#FFFFFF;}

/* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-248c6a2 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-248c6a2 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-248c6a2 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-94c466a */.elementor-10 .elementor-element.elementor-element-94c466a{ position: relative; }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ebf17af */.elementor-10 .elementor-element.elementor-element-ebf17af{ position: relative; overflow: hidden; }

/* ---- blue design hairlines (Sketch §7): vertical 1x932 @x2056, horizontal 1281x1 @x1279,y4409.
   Anchored to the page centre line so they hold the 2560 geometry and simply clip on narrow viewports. ---- */
.elementor-10 .elementor-element.elementor-element-ebf17af::before{
  content:""; position:absolute; top:0; bottom:0; left:calc(50% + 776px); width:1px;
  background:#00AEEF; opacity:.5;
  pointer-events:none; z-index:2;
}
.elementor-10 .elementor-element.elementor-element-ebf17af::after{
  content:""; position:absolute; top:-9999px /* horizontal copy retired, see the NUNDER rule below */; left:50%; right:0; height:1px;
  background:#00AEEF; opacity:.5;
  pointer-events:none; z-index:2;
}
@media (max-width:1024px){ .elementor-10 .elementor-element.elementor-element-ebf17af::before, .elementor-10 .elementor-element.elementor-element-ebf17af::after{ display:none; } }
/* ==== the NUNDER rule itself: the horizontal cross line, anchored to the body copy so it hugs the title at every width. left -64px reproduces the old start, width 100vw runs to the viewport edge where body overflow hidden clips it. ==== */
.elementor-10 .elementor-element.elementor-element-ebf17af .elementor-element-f4238c3{position:relative;}
.elementor-10 .elementor-element.elementor-element-ebf17af .elementor-element-f4238c3::before{content:none;/* retired: the client wants the line HUGGING the title like the reference card, so it moved onto the title widget */position:absolute;top:-8px;left:-100vw;width:200vw;height:1px;background:#00AEEF;opacity:.5;pointer-events:none;z-index:2;}
@media (max-width:1024px){ .elementor-10 .elementor-element.elementor-element-ebf17af .elementor-element-f4238c3::before{display:none;} }
/* ==== TITLEHUG (2026-08-21): the client's reference shows the cross line as a tight underline, sitting right at the title's baseline, not floating halfway to the paragraph. Anchored to the TITLE widget itself: top calc(100% - 6px) lands it ~3px under the glyphs at any width and any wrap. Same span as before, panel edge to viewport edge. Hidden under 1025 with the rest of the band art. ==== */
.elementor-10 .elementor-element.elementor-element-ebf17af .elementor-element-3e525b7{position:relative;}
.elementor-10 .elementor-element.elementor-element-ebf17af .elementor-element-3e525b7::after{content:'';position:absolute;top:calc(100% - 6px);left:-100vw;width:200vw;height:1px;background:#00AEEF;opacity:.5;pointer-events:none;z-index:2;}
@media (max-width:1024px){ .elementor-10 .elementor-element.elementor-element-ebf17af .elementor-element-3e525b7::after{display:none;} }
/* ==== FULLSPAN82 (2026-08-21): client - in the reference the line runs the WHOLE panel and stops only at the edges; ours left the stretch between the band edge and the text empty. The line now spans 200vw and the band's own overflow:hidden trims it to the band box at both ends. The photo column is lifted above it (z-index 3 vs the line's 2) so the line disappears behind the photo and emerges exactly at its edge, at any width - which is how the design draws it. ==== */
.elementor-10 .elementor-element.elementor-element-ebf17af .elementor-element-722731d{position:relative;z-index:3;}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-cff56b8 */.elementor-10 .elementor-element.elementor-element-cff56b8 {
  position: relative;
  padding-top: 5px;
  overflow: visible;
}

/* ---- eyebrow L-bracket — Figma 62x25, stroke 2px (light bg: #030648 -> #03A4DC) ---- */
.elementor-10 .elementor-element.elementor-element-cff56b8::before {
  content: "";
  position: absolute;
  top: 0;
  left: -3px;
  width: 62px;
  height: 25px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='62' height='25' viewBox='0 0 62 25' fill='none'%3E%3Cdefs%3E%3ClinearGradient id='pfl' x1='1' y1='12.5' x2='61.0025' y2='12.5' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23030648'/%3E%3Cstop offset='1' stop-color='%2303A4DC'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M1 24L1 1L61.0025 1' stroke='url(%23pfl)' stroke-width='2' stroke-linecap='square'/%3E%3C/svg%3E") no-repeat left top;
  background-size: 62px 25px;
  pointer-events: none;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-f32f490 */.elementor-10 .elementor-element.elementor-element-f32f490 .elementor-button{padding:0;background:transparent;border:none;}
.elementor-10 .elementor-element.elementor-element-f32f490 .elementor-button-content-wrapper{display:flex;align-items:center;gap:14px;}
.elementor-10 .elementor-element.elementor-element-f32f490 .elementor-button-icon{display:inline-flex;align-items:center;justify-content:center;width:53px;height:53px;border:2px solid #0082B3;flex-shrink:0;transition:all .2s ease;}
.elementor-10 .elementor-element.elementor-element-f32f490 .elementor-button-icon svg{width:15px;height:15px;}
.elementor-10 .elementor-element.elementor-element-f32f490 .elementor-button:hover .elementor-button-icon{background:#0082B3;}
.elementor-10 .elementor-element.elementor-element-f32f490 .elementor-button:hover .elementor-button-icon svg{color:#FFFFFF;}

/* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-f32f490 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-f32f490 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-f32f490 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}

/* PF-FIX39 (2026-08-21): sitewide - the 53x53 / 2px arrow box is the DESKTOP artboard square; on phones it dwarfs 16px copy. Match the Join Profab box (38x38, 1.5px). Desktop untouched. */
@media (max-width:1024px){ .elementor-10 .elementor-element.elementor-element-f32f490 .elementor-button-icon{width:38px !important;min-width:38px !important;height:38px !important;min-height:38px !important;border-width:1.5px !important;} .elementor-10 .elementor-element.elementor-element-f32f490 .elementor-button-icon svg{width:13px !important;height:11px !important;} }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1d9cb94 */.elementor-10 .elementor-element.elementor-element-1d9cb94{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-2a58dbd *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-2a58dbd .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-2a58dbd .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-2a58dbd .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f1f2958 */.elementor-10 .elementor-element.elementor-element-f1f2958{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-019e369 *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-019e369 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-019e369 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-019e369 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e82f348 */.elementor-10 .elementor-element.elementor-element-e82f348{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-af6b43b *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-af6b43b .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-af6b43b .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-af6b43b .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-42be272 */.elementor-10 .elementor-element.elementor-element-42be272{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-590e2ed *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-590e2ed .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-590e2ed .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-590e2ed .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-104bb0b */.elementor-10 .elementor-element.elementor-element-104bb0b{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-18806b9 *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-18806b9 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-18806b9 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-18806b9 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-04f9433 */.elementor-10 .elementor-element.elementor-element-04f9433{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-7be0563 *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-7be0563 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-7be0563 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-7be0563 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8bf755b */.elementor-10 .elementor-element.elementor-element-8bf755b{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-0938fc6 *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-0938fc6 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-0938fc6 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-0938fc6 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1d9cb94 */.elementor-10 .elementor-element.elementor-element-1d9cb94{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-2a58dbd *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-2a58dbd .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-2a58dbd .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-2a58dbd .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f1f2958 */.elementor-10 .elementor-element.elementor-element-f1f2958{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-019e369 *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-019e369 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-019e369 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-019e369 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e82f348 */.elementor-10 .elementor-element.elementor-element-e82f348{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-af6b43b *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-af6b43b .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-af6b43b .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-af6b43b .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-42be272 */.elementor-10 .elementor-element.elementor-element-42be272{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-590e2ed *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-590e2ed .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-590e2ed .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-590e2ed .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-104bb0b */.elementor-10 .elementor-element.elementor-element-104bb0b{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-18806b9 *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-18806b9 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-18806b9 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-18806b9 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-04f9433 */.elementor-10 .elementor-element.elementor-element-04f9433{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-7be0563 *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-7be0563 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-7be0563 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-7be0563 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8bf755b */.elementor-10 .elementor-element.elementor-element-8bf755b{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-0938fc6 *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-0938fc6 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-0938fc6 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-0938fc6 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1d9cb94 */.elementor-10 .elementor-element.elementor-element-1d9cb94{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-2a58dbd *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-2a58dbd .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-2a58dbd .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-2a58dbd .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f1f2958 */.elementor-10 .elementor-element.elementor-element-f1f2958{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-019e369 *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-019e369 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-019e369 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-019e369 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e82f348 */.elementor-10 .elementor-element.elementor-element-e82f348{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-af6b43b *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-af6b43b .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-af6b43b .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-af6b43b .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-42be272 */.elementor-10 .elementor-element.elementor-element-42be272{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-590e2ed *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-590e2ed .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-590e2ed .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-590e2ed .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-104bb0b */.elementor-10 .elementor-element.elementor-element-104bb0b{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-18806b9 *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-18806b9 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-18806b9 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-18806b9 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-04f9433 */.elementor-10 .elementor-element.elementor-element-04f9433{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-7be0563 *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-7be0563 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-7be0563 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-7be0563 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8bf755b */.elementor-10 .elementor-element.elementor-element-8bf755b{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-0938fc6 *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-0938fc6 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-0938fc6 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-0938fc6 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1d9cb94 */.elementor-10 .elementor-element.elementor-element-1d9cb94{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-2a58dbd *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-2a58dbd .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-2a58dbd .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-2a58dbd .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f1f2958 */.elementor-10 .elementor-element.elementor-element-f1f2958{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-019e369 *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-019e369 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-019e369 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-019e369 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e82f348 */.elementor-10 .elementor-element.elementor-element-e82f348{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-af6b43b *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-af6b43b .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-af6b43b .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-af6b43b .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-42be272 */.elementor-10 .elementor-element.elementor-element-42be272{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-590e2ed *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-590e2ed .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-590e2ed .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-590e2ed .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-104bb0b */.elementor-10 .elementor-element.elementor-element-104bb0b{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-18806b9 *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-18806b9 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-18806b9 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-18806b9 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-04f9433 */.elementor-10 .elementor-element.elementor-element-04f9433{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-7be0563 *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-7be0563 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-7be0563 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-7be0563 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8bf755b */.elementor-10 .elementor-element.elementor-element-8bf755b{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-0938fc6 *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-0938fc6 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-0938fc6 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-0938fc6 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1d9cb94 */.elementor-10 .elementor-element.elementor-element-1d9cb94{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-2a58dbd *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-2a58dbd .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-2a58dbd .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-2a58dbd .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f1f2958 */.elementor-10 .elementor-element.elementor-element-f1f2958{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-019e369 *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-019e369 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-019e369 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-019e369 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e82f348 */.elementor-10 .elementor-element.elementor-element-e82f348{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-af6b43b *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-af6b43b .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-af6b43b .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-af6b43b .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-42be272 */.elementor-10 .elementor-element.elementor-element-42be272{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-590e2ed *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-590e2ed .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-590e2ed .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-590e2ed .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-104bb0b */.elementor-10 .elementor-element.elementor-element-104bb0b{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-18806b9 *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-18806b9 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-18806b9 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-18806b9 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-04f9433 */.elementor-10 .elementor-element.elementor-element-04f9433{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-7be0563 *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-7be0563 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-7be0563 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-7be0563 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8bf755b */.elementor-10 .elementor-element.elementor-element-8bf755b{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-0938fc6 *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-0938fc6 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-0938fc6 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-0938fc6 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1d9cb94 */.elementor-10 .elementor-element.elementor-element-1d9cb94{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-2a58dbd *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-2a58dbd .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-2a58dbd .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-2a58dbd .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f1f2958 */.elementor-10 .elementor-element.elementor-element-f1f2958{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-019e369 *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-019e369 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-019e369 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-019e369 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e82f348 */.elementor-10 .elementor-element.elementor-element-e82f348{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-af6b43b *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-af6b43b .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-af6b43b .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-af6b43b .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-42be272 */.elementor-10 .elementor-element.elementor-element-42be272{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-590e2ed *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-590e2ed .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-590e2ed .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-590e2ed .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-104bb0b */.elementor-10 .elementor-element.elementor-element-104bb0b{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-18806b9 *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-18806b9 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-18806b9 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-18806b9 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-04f9433 */.elementor-10 .elementor-element.elementor-element-04f9433{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-7be0563 *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-7be0563 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-7be0563 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-7be0563 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8bf755b */.elementor-10 .elementor-element.elementor-element-8bf755b{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-0938fc6 *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-0938fc6 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-0938fc6 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-0938fc6 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1d9cb94 */.elementor-10 .elementor-element.elementor-element-1d9cb94{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-2a58dbd *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-2a58dbd .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-2a58dbd .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-2a58dbd .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f1f2958 */.elementor-10 .elementor-element.elementor-element-f1f2958{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-019e369 *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-019e369 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-019e369 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-019e369 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e82f348 */.elementor-10 .elementor-element.elementor-element-e82f348{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-af6b43b *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-af6b43b .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-af6b43b .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-af6b43b .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-42be272 */.elementor-10 .elementor-element.elementor-element-42be272{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-590e2ed *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-590e2ed .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-590e2ed .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-590e2ed .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-104bb0b */.elementor-10 .elementor-element.elementor-element-104bb0b{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-18806b9 *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-18806b9 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-18806b9 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-18806b9 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-04f9433 */.elementor-10 .elementor-element.elementor-element-04f9433{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-7be0563 *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-7be0563 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-7be0563 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-7be0563 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8bf755b */.elementor-10 .elementor-element.elementor-element-8bf755b{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-0938fc6 *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-0938fc6 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-0938fc6 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-0938fc6 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1d9cb94 */.elementor-10 .elementor-element.elementor-element-1d9cb94{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-2a58dbd *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-2a58dbd .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-2a58dbd .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-2a58dbd .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f1f2958 */.elementor-10 .elementor-element.elementor-element-f1f2958{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-019e369 *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-019e369 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-019e369 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-019e369 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e82f348 */.elementor-10 .elementor-element.elementor-element-e82f348{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-af6b43b *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-af6b43b .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-af6b43b .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-af6b43b .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-42be272 */.elementor-10 .elementor-element.elementor-element-42be272{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-590e2ed *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-590e2ed .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-590e2ed .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-590e2ed .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-104bb0b */.elementor-10 .elementor-element.elementor-element-104bb0b{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-18806b9 *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-18806b9 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-18806b9 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-18806b9 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-04f9433 */.elementor-10 .elementor-element.elementor-element-04f9433{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-7be0563 *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-7be0563 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-7be0563 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-7be0563 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8bf755b */.elementor-10 .elementor-element.elementor-element-8bf755b{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-0938fc6 *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-0938fc6 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-0938fc6 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-0938fc6 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for nested-carousel, class: .elementor-element-7a97ac8 *//* ---- vertical room so the card hover shadow is not sliced by the swiper's overflow ---- */
.elementor-10 .elementor-element.elementor-element-7a97ac8 .e-n-carousel.swiper{ padding-block: 16px; margin-block: -16px; }

/* ---- carousel wrapper ---- */
.elementor-10 .elementor-element.elementor-element-7a97ac8 {
  padding-bottom: 54px;
}

/* ---- cards bleed out to the grey panel edge ---- */
@media (min-width: 1706px){
  .elementor-10 .elementor-element.elementor-element-7a97ac8 .e-n-carousel {
    width: calc(100% + 73px);
  }
}

/* ---- breathing room so the card hover shadow is not clipped ---- */
.elementor-10 .elementor-element.elementor-element-7a97ac8 .swiper-slide {
  padding: 10px;
}
.elementor-10 .elementor-element.elementor-element-7a97ac8 .swiper-slide > .e-con {
  height: 100%;
  transition: filter .3s ease;
}
.elementor-10 .elementor-element.elementor-element-7a97ac8 .swiper-slide > .e-con:hover {
  filter: drop-shadow(0 7px 10px rgba(0, 0, 0, 0.12));
}

/* ---- slider footer: track (Figma 1252 of the 1440 rail, 3px) ---- */
.elementor-10 .elementor-element.elementor-element-7a97ac8 .swiper-pagination-progressbar {
  top: auto;
  bottom: 8px;
  left: 0;
  height: 3px;
  width: calc(100% - 188px);
  background: rgba(44, 54, 71, 0.197);
}
.elementor-10 .elementor-element.elementor-element-7a97ac8 .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: linear-gradient(90deg, #030648 0%, #03A4DC 100%);
}

/* ---- fraction counter (Figma: NHG Text Medium 14 / ls 0.5, three colour runs) ---- */
.elementor-10 .elementor-element.elementor-element-7a97ac8 .pf-frac {
  position: absolute;
  right: 100px;
  bottom: 0;
  z-index: 5;
  font-family: "Neue Haas Grotesk Text", sans-serif;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.5px;
  white-space: nowrap;
}
.elementor-10 .elementor-element.elementor-element-7a97ac8 .pf-frac .pf-cur {
  color: #000000;
}
.elementor-10 .elementor-element.elementor-element-7a97ac8 .pf-frac .pf-sep {
  color: #7B879C;
}
.elementor-10 .elementor-element.elementor-element-7a97ac8 .pf-frac .pf-tot {
  color: #556788;
}

/* ---- arrows (Figma Group 80 next / Group 123 prev) ---- */
.elementor-10 .elementor-element.elementor-element-7a97ac8 .elementor-swiper-button {
  top: auto;
  bottom: 0px;
  width: 19px !important;
  height: 16px !important;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 19px 16px;
}
.elementor-10 .elementor-element.elementor-element-7a97ac8 .elementor-swiper-button .e-font-icon-svg,
.elementor-10 .elementor-element.elementor-element-7a97ac8 .elementor-swiper-button svg {
  display: none !important;
}
.elementor-10 .elementor-element.elementor-element-7a97ac8 .elementor-swiper-button-prev {
  left: auto;
  right: 60px;
  opacity: 1 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='16' viewBox='0 0 19 16' fill='none'%3E%3Cg opacity='0.299604'%3E%3Cpath d='M8.66309 1.4126L1.48915 7.9126L8.66309 14.4126' stroke='%23080C7F' stroke-width='2' stroke-linecap='square'/%3E%3Cpath d='M2.37662 7.91278H17.4893' stroke='%23080C7F' stroke-width='2' stroke-linecap='square'/%3E%3C/g%3E%3C/svg%3E");
}
.elementor-10 .elementor-element.elementor-element-7a97ac8 .elementor-swiper-button-next {
  right: 17px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='16' viewBox='0 0 19 16' fill='none'%3E%3Cpath d='M9.82617 1.4126L17.0001 7.9126L9.82617 14.4126' stroke='%230082B3' stroke-width='2' stroke-linecap='square'/%3E%3Cpath d='M16.1126 7.91278H1' stroke='%230082B3' stroke-width='2' stroke-linecap='square'/%3E%3C/svg%3E");
}

/* ---- mobile: track, counter, arrows on one row ---- */
@media (max-width: 1024px){
  .elementor-10 .elementor-element.elementor-element-7a97ac8 {
    padding-bottom: 48px;
  }
  .elementor-10 .elementor-element.elementor-element-7a97ac8 .swiper-pagination-progressbar {
    width: calc(100% - 150px);
    bottom: 14px;
  }
  .elementor-10 .elementor-element.elementor-element-7a97ac8 .pf-frac {
    right: 78px;
    bottom: 4px;
  }
  .elementor-10 .elementor-element.elementor-element-7a97ac8 .elementor-swiper-button-prev {
    right: 44px;
    bottom: 0px;
  }
  .elementor-10 .elementor-element.elementor-element-7a97ac8 .elementor-swiper-button-next {
    right: 8px;
    bottom: 0px;
  }
}

/* PF-CARDSHADOW: swiper clips at its content box, so a 10px card shadow was being
   sliced off on all four sides. Grow the clip box by 14px and pull the element back
   by the same amount - slide widths and positions are unchanged. */
.elementor-10 .elementor-element.elementor-element-7a97ac8 .swiper{ padding: 14px !important; margin: -14px !important; }

/* PF-CARDSHADOW2: Elementor does not emit the container box-shadow control for
   nested-carousel children, so the Figma drop shadow (r10 #000 @12%) is written
   here. Elementor wraps each child in a plain .swiper-slide, so target its child. */
.elementor-10 .elementor-element.elementor-element-7a97ac8 .swiper-slide > .e-con{ box-shadow: 0 0 10px rgba(0,0,0,0.12) !important; }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e5c8b5c *//* Sketch §8: the grey plate itself is the 1626 inset panel (x467→2093), not a full-bleed band */
.elementor-10 .elementor-element.elementor-element-e5c8b5c{ width: 1626px; max-width: calc(100% - 80px); margin-inline: auto; }

.elementor-10 .elementor-element.elementor-element-e5c8b5c{
  max-width: 100%;
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-274c986 */.elementor-10 .elementor-element.elementor-element-274c986{
  position: relative;
  overflow: visible;
}

/* ---- Figma 'Combined Shape' divider: 937x150 rule + left leg, gap for the label ---- */
.elementor-10 .elementor-element.elementor-element-274c986::before{
  content: "";
  position: absolute;
  left: -80px;
  top: 50%;
  transform: translateY(-1.5px);
  width: 937px;
  height: 150px;
  background: url('/Figmadesign/wp-content/uploads/2026/07/pf-company-divider.svg') no-repeat left top;
  background-size: 937px 150px;
  pointer-events: none;
}

@media (max-width: 1024px){
  .elementor-10 .elementor-element.elementor-element-274c986::before{ display:none; }
}

/* ---- center OUR COMPANY in the notch (desktop only) ---- */
@media (min-width: 1025px){
  .elementor-10 .elementor-element.elementor-element-274c986 .elementor-heading-title{ padding-left: 8px; }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-1526640 */.elementor-10 .elementor-element.elementor-element-1526640 .elementor-button{padding:0;background:transparent;border:none;}
.elementor-10 .elementor-element.elementor-element-1526640 .elementor-button-content-wrapper{display:flex;align-items:center;gap:14px;}
.elementor-10 .elementor-element.elementor-element-1526640 .elementor-button-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1.5px solid #00AEEF;flex-shrink:0;transition:all .2s ease;}
.elementor-10 .elementor-element.elementor-element-1526640 .elementor-button-icon svg{width:15px;height:15px;}
.elementor-10 .elementor-element.elementor-element-1526640 .elementor-button:hover .elementor-button-icon{background:#00AEEF;}
.elementor-10 .elementor-element.elementor-element-1526640 .elementor-button:hover .elementor-button-icon svg{color:#FFFFFF;}

/* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-1526640 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-1526640 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-1526640 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ebc2c13 *//* ---- left edge bar ---- */
.elementor-10 .elementor-element.elementor-element-ebc2c13 {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-ebc2c13::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 17px;
  background: linear-gradient(180deg, #030648, #00AEEF);
  z-index: 1;
}

/* ---- clear the sticky header when jumped to ---- */
.elementor-10 .elementor-element.elementor-element-ebc2c13 {
  scroll-margin-top: 110px;
}


/* ---- mobile: track, counter, arrows on one row ---- */
@media (max-width: 1024px){
    .elementor-10 .elementor-element.elementor-element-ebc2c13::before {
  display: none;
}
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-c4a1937 */.elementor-10 .elementor-element.elementor-element-c4a1937 {
  position: relative;
  padding-top: 5px;
  overflow: visible;
}

/* ---- eyebrow L-bracket — Figma 62x25, stroke 2px (light bg: #030648 -> #03A4DC) ---- */
.elementor-10 .elementor-element.elementor-element-c4a1937::before {
  content: "";
  position: absolute;
  top: 0;
  left: -3px;
  width: 62px;
  height: 25px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='62' height='25' viewBox='0 0 62 25' fill='none'%3E%3Cdefs%3E%3ClinearGradient id='pfl' x1='1' y1='12.5' x2='61.0025' y2='12.5' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23030648'/%3E%3Cstop offset='1' stop-color='%2303A4DC'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M1 24L1 1L61.0025 1' stroke='url(%23pfl)' stroke-width='2' stroke-linecap='square'/%3E%3C/svg%3E") no-repeat left top;
  background-size: 62px 25px;
  pointer-events: none;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-b803225 */.elementor-10 .elementor-element.elementor-element-b803225 .elementor-button{padding:0;background:transparent;border:none;}
.elementor-10 .elementor-element.elementor-element-b803225 .elementor-button-content-wrapper{display:flex;align-items:center;gap:14px;}
.elementor-10 .elementor-element.elementor-element-b803225 .elementor-button-icon{display:inline-flex;align-items:center;justify-content:center;width:53px;height:53px;border:2px solid #0082B3;flex-shrink:0;transition:all .2s ease;}
.elementor-10 .elementor-element.elementor-element-b803225 .elementor-button-icon svg{width:15px;height:15px;}
.elementor-10 .elementor-element.elementor-element-b803225 .elementor-button:hover .elementor-button-icon{background:#0082B3;}
.elementor-10 .elementor-element.elementor-element-b803225 .elementor-button:hover .elementor-button-icon svg{color:#FFFFFF;}

/* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-b803225 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-b803225 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-b803225 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}

/* PF-FIX39 (2026-08-21): sitewide - the 53x53 / 2px arrow box is the DESKTOP artboard square; on phones it dwarfs 16px copy. Match the Join Profab box (38x38, 1.5px). Desktop untouched. */
@media (max-width:1024px){ .elementor-10 .elementor-element.elementor-element-b803225 .elementor-button-icon{width:38px !important;min-width:38px !important;height:38px !important;min-height:38px !important;border-width:1.5px !important;} .elementor-10 .elementor-element.elementor-element-b803225 .elementor-button-icon svg{width:13px !important;height:11px !important;} }/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-e56d094 */.elementor-10 .elementor-element.elementor-element-e56d094 img{
  height:281px;
  width:100%;
  object-fit:cover;
  display:block;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-f0c55c3 *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-f0c55c3 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-f0c55c3 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-f0c55c3 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1ae5187 */.elementor-10 .elementor-element.elementor-element-1ae5187 img{height:281px;width:100%;object-fit:cover;display:block;}


/* ---- hover rule (gradient top on label block) ---- */
.elementor-10 .elementor-element.elementor-element-1ae5187 > .e-con:last-child {
  border-top: 4px solid transparent;
}
.elementor-10 .elementor-element.elementor-element-1ae5187:hover > .e-con:last-child {
  border-top: 4px solid;
  border-image: linear-gradient(90deg, #030648, #03A4DC) 1;
}

/* ---- hover: white card slides up over image (Figma) ---- */
.elementor-10 .elementor-element.elementor-element-1ae5187{ position: relative; }
.elementor-10 .elementor-element.elementor-element-1ae5187 > .e-con:last-child{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
}
.elementor-10 .elementor-element.elementor-element-1ae5187 .pf-ind-desc{
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  margin-top: -10px;
  transition: max-height .35s ease, opacity .3s ease, margin-top .35s ease;
}
.elementor-10 .elementor-element.elementor-element-1ae5187:hover .pf-ind-desc{
  max-height: 200px;
  opacity: 1;
  margin-top: 0;
}


@media (max-width: 1024px){
  .elementor-10 .elementor-element.elementor-element-1ae5187{ min-height: 0; }
  .elementor-10 .elementor-element.elementor-element-1ae5187 > .e-con:last-child{ position: static; }
  .elementor-10 .elementor-element.elementor-element-1ae5187 .pf-ind-desc{ max-height: none; opacity: 1; margin-top: 0; }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-89eeb1d */.elementor-10 .elementor-element.elementor-element-89eeb1d img{
  height:281px;
  width:100%;
  object-fit:cover;
  display:block;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-f026f41 *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-f026f41 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-f026f41 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-f026f41 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9d21688 */.elementor-10 .elementor-element.elementor-element-9d21688 img{height:281px;width:100%;object-fit:cover;display:block;}


/* ---- hover rule (gradient top on label block) ---- */
.elementor-10 .elementor-element.elementor-element-9d21688 > .e-con:last-child {
  border-top: 4px solid transparent;
}
.elementor-10 .elementor-element.elementor-element-9d21688:hover > .e-con:last-child {
  border-top: 4px solid;
  border-image: linear-gradient(90deg, #030648, #03A4DC) 1;
}

/* ---- hover: white card slides up over image (Figma) ---- */
.elementor-10 .elementor-element.elementor-element-9d21688{ position: relative; }
.elementor-10 .elementor-element.elementor-element-9d21688 > .e-con:last-child{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
}
.elementor-10 .elementor-element.elementor-element-9d21688 .pf-ind-desc{
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  margin-top: -10px;
  transition: max-height .35s ease, opacity .3s ease, margin-top .35s ease;
}
.elementor-10 .elementor-element.elementor-element-9d21688:hover .pf-ind-desc{
  max-height: 200px;
  opacity: 1;
  margin-top: 0;
}


@media (max-width: 1024px){
  .elementor-10 .elementor-element.elementor-element-9d21688{ min-height: 0; }
  .elementor-10 .elementor-element.elementor-element-9d21688 > .e-con:last-child{ position: static; }
  .elementor-10 .elementor-element.elementor-element-9d21688 .pf-ind-desc{ max-height: none; opacity: 1; margin-top: 0; }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-cd03acf */.elementor-10 .elementor-element.elementor-element-cd03acf img{
  height:281px;
  width:100%;
  object-fit:cover;
  display:block;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-8c2358a *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-8c2358a .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-8c2358a .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-8c2358a .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-527a855 */.elementor-10 .elementor-element.elementor-element-527a855 img{height:281px;width:100%;object-fit:cover;display:block;}


/* ---- hover rule (gradient top on label block) ---- */
.elementor-10 .elementor-element.elementor-element-527a855 > .e-con:last-child {
  border-top: 4px solid transparent;
}
.elementor-10 .elementor-element.elementor-element-527a855:hover > .e-con:last-child {
  border-top: 4px solid;
  border-image: linear-gradient(90deg, #030648, #03A4DC) 1;
}

/* ---- hover: white card slides up over image (Figma) ---- */
.elementor-10 .elementor-element.elementor-element-527a855{ position: relative; }
.elementor-10 .elementor-element.elementor-element-527a855 > .e-con:last-child{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
}
.elementor-10 .elementor-element.elementor-element-527a855 .pf-ind-desc{
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  margin-top: -10px;
  transition: max-height .35s ease, opacity .3s ease, margin-top .35s ease;
}
.elementor-10 .elementor-element.elementor-element-527a855:hover .pf-ind-desc{
  max-height: 200px;
  opacity: 1;
  margin-top: 0;
}


@media (max-width: 1024px){
  .elementor-10 .elementor-element.elementor-element-527a855{ min-height: 0; }
  .elementor-10 .elementor-element.elementor-element-527a855 > .e-con:last-child{ position: static; }
  .elementor-10 .elementor-element.elementor-element-527a855 .pf-ind-desc{ max-height: none; opacity: 1; margin-top: 0; }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-b73ca32 */.elementor-10 .elementor-element.elementor-element-b73ca32 img{
  height:281px;
  width:100%;
  object-fit:cover;
  display:block;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-003c5a7 *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-003c5a7 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-003c5a7 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-003c5a7 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5680fe5 */.elementor-10 .elementor-element.elementor-element-5680fe5 img{height:281px;width:100%;object-fit:cover;display:block;}


/* ---- hover rule (gradient top on label block) ---- */
.elementor-10 .elementor-element.elementor-element-5680fe5 > .e-con:last-child {
  border-top: 4px solid transparent;
}
.elementor-10 .elementor-element.elementor-element-5680fe5:hover > .e-con:last-child {
  border-top: 4px solid;
  border-image: linear-gradient(90deg, #030648, #03A4DC) 1;
}

/* ---- hover: white card slides up over image (Figma) ---- */
.elementor-10 .elementor-element.elementor-element-5680fe5{ position: relative; }
.elementor-10 .elementor-element.elementor-element-5680fe5 > .e-con:last-child{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
}
.elementor-10 .elementor-element.elementor-element-5680fe5 .pf-ind-desc{
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  margin-top: -10px;
  transition: max-height .35s ease, opacity .3s ease, margin-top .35s ease;
}
.elementor-10 .elementor-element.elementor-element-5680fe5:hover .pf-ind-desc{
  max-height: 200px;
  opacity: 1;
  margin-top: 0;
}


@media (max-width: 1024px){
  .elementor-10 .elementor-element.elementor-element-5680fe5{ min-height: 0; }
  .elementor-10 .elementor-element.elementor-element-5680fe5 > .e-con:last-child{ position: static; }
  .elementor-10 .elementor-element.elementor-element-5680fe5 .pf-ind-desc{ max-height: none; opacity: 1; margin-top: 0; }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-4e42600 */.elementor-10 .elementor-element.elementor-element-4e42600 img{
  height:281px;
  width:100%;
  object-fit:cover;
  display:block;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-4f0a038 *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-4f0a038 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-4f0a038 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-4f0a038 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d16f11b */.elementor-10 .elementor-element.elementor-element-d16f11b img{height:281px;width:100%;object-fit:cover;display:block;}


/* ---- hover rule (gradient top on label block) ---- */
.elementor-10 .elementor-element.elementor-element-d16f11b > .e-con:last-child {
  border-top: 4px solid transparent;
}
.elementor-10 .elementor-element.elementor-element-d16f11b:hover > .e-con:last-child {
  border-top: 4px solid;
  border-image: linear-gradient(90deg, #030648, #03A4DC) 1;
}

/* ---- hover: white card slides up over image (Figma) ---- */
.elementor-10 .elementor-element.elementor-element-d16f11b{ position: relative; }
.elementor-10 .elementor-element.elementor-element-d16f11b > .e-con:last-child{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
}
.elementor-10 .elementor-element.elementor-element-d16f11b .pf-ind-desc{
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  margin-top: -10px;
  transition: max-height .35s ease, opacity .3s ease, margin-top .35s ease;
}
.elementor-10 .elementor-element.elementor-element-d16f11b:hover .pf-ind-desc{
  max-height: 200px;
  opacity: 1;
  margin-top: 0;
}


@media (max-width: 1024px){
  .elementor-10 .elementor-element.elementor-element-d16f11b{ min-height: 0; }
  .elementor-10 .elementor-element.elementor-element-d16f11b > .e-con:last-child{ position: static; }
  .elementor-10 .elementor-element.elementor-element-d16f11b .pf-ind-desc{ max-height: none; opacity: 1; margin-top: 0; }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-6a35fe2 */.elementor-10 .elementor-element.elementor-element-6a35fe2 img{
  height:281px;
  width:100%;
  object-fit:cover;
  display:block;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-a2800e8 *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-a2800e8 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-a2800e8 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-a2800e8 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9cba490 */.elementor-10 .elementor-element.elementor-element-9cba490 img{height:281px;width:100%;object-fit:cover;display:block;}


/* ---- hover rule (gradient top on label block) ---- */
.elementor-10 .elementor-element.elementor-element-9cba490 > .e-con:last-child {
  border-top: 4px solid transparent;
}
.elementor-10 .elementor-element.elementor-element-9cba490:hover > .e-con:last-child {
  border-top: 4px solid;
  border-image: linear-gradient(90deg, #030648, #03A4DC) 1;
}

/* ---- hover: white card slides up over image (Figma) ---- */
.elementor-10 .elementor-element.elementor-element-9cba490{ position: relative; }
.elementor-10 .elementor-element.elementor-element-9cba490 > .e-con:last-child{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
}
.elementor-10 .elementor-element.elementor-element-9cba490 .pf-ind-desc{
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  margin-top: -10px;
  transition: max-height .35s ease, opacity .3s ease, margin-top .35s ease;
}
.elementor-10 .elementor-element.elementor-element-9cba490:hover .pf-ind-desc{
  max-height: 200px;
  opacity: 1;
  margin-top: 0;
}


@media (max-width: 1024px){
  .elementor-10 .elementor-element.elementor-element-9cba490{ min-height: 0; }
  .elementor-10 .elementor-element.elementor-element-9cba490 > .e-con:last-child{ position: static; }
  .elementor-10 .elementor-element.elementor-element-9cba490 .pf-ind-desc{ max-height: none; opacity: 1; margin-top: 0; }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-74928ea */.elementor-10 .elementor-element.elementor-element-74928ea img{
  height:281px;
  width:100%;
  object-fit:cover;
  display:block;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-9137609 *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-9137609 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-9137609 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-9137609 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-69908e5 */.elementor-10 .elementor-element.elementor-element-69908e5 img{height:281px;width:100%;object-fit:cover;display:block;}


/* ---- hover rule (gradient top on label block) ---- */
.elementor-10 .elementor-element.elementor-element-69908e5 > .e-con:last-child {
  border-top: 4px solid transparent;
}
.elementor-10 .elementor-element.elementor-element-69908e5:hover > .e-con:last-child {
  border-top: 4px solid;
  border-image: linear-gradient(90deg, #030648, #03A4DC) 1;
}

/* ---- hover: white card slides up over image (Figma) ---- */
.elementor-10 .elementor-element.elementor-element-69908e5{ position: relative; }
.elementor-10 .elementor-element.elementor-element-69908e5 > .e-con:last-child{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
}
.elementor-10 .elementor-element.elementor-element-69908e5 .pf-ind-desc{
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  margin-top: -10px;
  transition: max-height .35s ease, opacity .3s ease, margin-top .35s ease;
}
.elementor-10 .elementor-element.elementor-element-69908e5:hover .pf-ind-desc{
  max-height: 200px;
  opacity: 1;
  margin-top: 0;
}


@media (max-width: 1024px){
  .elementor-10 .elementor-element.elementor-element-69908e5{ min-height: 0; }
  .elementor-10 .elementor-element.elementor-element-69908e5 > .e-con:last-child{ position: static; }
  .elementor-10 .elementor-element.elementor-element-69908e5 .pf-ind-desc{ max-height: none; opacity: 1; margin-top: 0; }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-6f64ef3 */.elementor-10 .elementor-element.elementor-element-6f64ef3 img{
  height:281px;
  width:100%;
  object-fit:cover;
  display:block;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-7d31b61 *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-7d31b61 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-7d31b61 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-7d31b61 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-900f931 */.elementor-10 .elementor-element.elementor-element-900f931 img{height:281px;width:100%;object-fit:cover;display:block;}


/* ---- hover rule (gradient top on label block) ---- */
.elementor-10 .elementor-element.elementor-element-900f931 > .e-con:last-child {
  border-top: 4px solid transparent;
}
.elementor-10 .elementor-element.elementor-element-900f931:hover > .e-con:last-child {
  border-top: 4px solid;
  border-image: linear-gradient(90deg, #030648, #03A4DC) 1;
}

/* ---- hover: white card slides up over image (Figma) ---- */
.elementor-10 .elementor-element.elementor-element-900f931{ position: relative; }
.elementor-10 .elementor-element.elementor-element-900f931 > .e-con:last-child{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
}
.elementor-10 .elementor-element.elementor-element-900f931 .pf-ind-desc{
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  margin-top: -10px;
  transition: max-height .35s ease, opacity .3s ease, margin-top .35s ease;
}
.elementor-10 .elementor-element.elementor-element-900f931:hover .pf-ind-desc{
  max-height: 200px;
  opacity: 1;
  margin-top: 0;
}


@media (max-width: 1024px){
  .elementor-10 .elementor-element.elementor-element-900f931{ min-height: 0; }
  .elementor-10 .elementor-element.elementor-element-900f931 > .e-con:last-child{ position: static; }
  .elementor-10 .elementor-element.elementor-element-900f931 .pf-ind-desc{ max-height: none; opacity: 1; margin-top: 0; }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-0f79f68 */.elementor-10 .elementor-element.elementor-element-0f79f68{
  position: absolute;
  left: 250px;
  top: 36px;
  z-index: 0;
  pointer-events: none;
  line-height: 1;
}
.elementor-10 .elementor-element.elementor-element-0f79f68 .elementor-heading-title{
  line-height: 1;
}

@media (max-width: 1024px){
  .elementor-10 .elementor-element.elementor-element-0f79f68{ position: static; }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-0cf14db */.elementor-10 .elementor-element.elementor-element-0cf14db{ position: relative; z-index: 1; }/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-8ba046a */.elementor-10 .elementor-element.elementor-element-8ba046a{ position: relative; z-index: 1; }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7c4986a */.elementor-10 .elementor-element.elementor-element-7c4986a{
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 2;
  max-width: 100%;
}

@media (max-width: 1024px){
  .elementor-10 .elementor-element.elementor-element-7c4986a{ position: static;}
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-99ab8db */.elementor-10 .elementor-element.elementor-element-99ab8db{ position:relative; overflow:hidden; }

/* ---- mobile: photo keeps its own aspect (1270x652), quote box flows under it ---- */
@media (max-width: 1024px){
  .elementor-10 .elementor-element.elementor-element-99ab8db::before{
    content: "";
    position: static;
    display: block;
    width: 100%;
    height: 0;
    padding-top: 51.3%;
    background: none;
    flex: 0 0 auto;
  }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-a71f8bd */.elementor-10 .elementor-element.elementor-element-a71f8bd {
  position: relative;
  padding-top: 5px;
  overflow: visible;
}

/* ---- eyebrow L-bracket — Figma 62x25, stroke 2px (dark bg: #FDD205 -> #00AEEF) ---- */
.elementor-10 .elementor-element.elementor-element-a71f8bd::before {
  content: "";
  position: absolute;
  top: 0;
  left: -3px;
  width: 62px;
  height: 25px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='62' height='25' viewBox='0 0 62 25' fill='none'%3E%3Cdefs%3E%3ClinearGradient id='pfd' x1='12.1022' y1='62.1085' x2='51.8193' y2='10.3466' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23FDD205'/%3E%3Cstop offset='1' stop-color='%2300AEEF'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M1 24L1 1L61 1' stroke='url(%23pfd)' stroke-width='2' stroke-linecap='square'/%3E%3C/svg%3E") no-repeat left top;
  background-size: 62px 25px;
  pointer-events: none;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-e82d9b0 */.elementor-10 .elementor-element.elementor-element-e82d9b0 .elementor-button{padding:0;background:transparent;border:none;}
.elementor-10 .elementor-element.elementor-element-e82d9b0 .elementor-button-content-wrapper{display:flex;align-items:center;gap:14px;}
.elementor-10 .elementor-element.elementor-element-e82d9b0 .elementor-button-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1.5px solid #00AEEF;flex-shrink:0;transition:all .2s ease;}
.elementor-10 .elementor-element.elementor-element-e82d9b0 .elementor-button-icon svg{width:15px;height:15px;}
.elementor-10 .elementor-element.elementor-element-e82d9b0 .elementor-button:hover .elementor-button-icon{background:#00AEEF;}
.elementor-10 .elementor-element.elementor-element-e82d9b0 .elementor-button:hover .elementor-button-icon svg{color:#FFFFFF;}

/* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-e82d9b0 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-e82d9b0 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-e82d9b0 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-3c5623e */.elementor-10 .elementor-element.elementor-element-3c5623e{ position: relative; }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-c8b0877 */.elementor-10 .elementor-element.elementor-element-c8b0877{ position: relative; overflow: hidden; }

/* ---- blue design hairlines (Sketch §11.1): vertical 1x933 @x2056, horizontal 1280x1 @x1280,y8346.
   These two are FLAT #00AEEF @50%, not the purple gradient used in §4/§7. ---- */
.elementor-10 .elementor-element.elementor-element-c8b0877::before{
  content:""; position:absolute; top:0; bottom:0; left:calc(50% + 776px); width:1px;
  background:#00AEEF; opacity:.5; pointer-events:none; z-index:2;
}
.elementor-10 .elementor-element.elementor-element-c8b0877::after{
  content:""; position:absolute; top:-9999px /* horizontal copy retired, see the NUNDER rule below */; left:50%; right:0; height:1px;
  background:#00AEEF; opacity:.5; pointer-events:none; z-index:2;
}
@media (max-width:1024px){ .elementor-10 .elementor-element.elementor-element-c8b0877::before, .elementor-10 .elementor-element.elementor-element-c8b0877::after{ display:none; } }
/* ==== the NUNDER rule itself: the horizontal cross line, anchored to the body copy so it hugs the title at every width. left -64px reproduces the old start, width 100vw runs to the viewport edge where body overflow hidden clips it. ==== */
.elementor-10 .elementor-element.elementor-element-c8b0877 .elementor-element-d072b0f{position:relative;}
.elementor-10 .elementor-element.elementor-element-c8b0877 .elementor-element-d072b0f::before{content:none;/* retired: the client wants the line HUGGING the title like the reference card, so it moved onto the title widget */position:absolute;top:-8px;left:-100vw;width:200vw;height:1px;background:#00AEEF;opacity:.5;pointer-events:none;z-index:2;}
@media (max-width:1024px){ .elementor-10 .elementor-element.elementor-element-c8b0877 .elementor-element-d072b0f::before{display:none;} }
/* ==== TITLEHUG (2026-08-21): the client's reference shows the cross line as a tight underline, sitting right at the title's baseline, not floating halfway to the paragraph. Anchored to the TITLE widget itself: top calc(100% - 6px) lands it ~3px under the glyphs at any width and any wrap. Same span as before, panel edge to viewport edge. Hidden under 1025 with the rest of the band art. ==== */
.elementor-10 .elementor-element.elementor-element-c8b0877 .elementor-element-5bbc84a{position:relative;}
.elementor-10 .elementor-element.elementor-element-c8b0877 .elementor-element-5bbc84a::after{content:'';position:absolute;top:calc(100% - 6px);left:-100vw;width:200vw;height:1px;background:#00AEEF;opacity:.5;pointer-events:none;z-index:2;}
@media (max-width:1024px){ .elementor-10 .elementor-element.elementor-element-c8b0877 .elementor-element-5bbc84a::after{display:none;} }
/* ==== FULLSPAN82 (2026-08-21): client - in the reference the line runs the WHOLE panel and stops only at the edges; ours left the stretch between the band edge and the text empty. The line now spans 200vw and the band's own overflow:hidden trims it to the band box at both ends. The photo column is lifted above it (z-index 3 vs the line's 2) so the line disappears behind the photo and emerges exactly at its edge, at any width - which is how the design draws it. ==== */
.elementor-10 .elementor-element.elementor-element-c8b0877 .elementor-element-99ab8db{position:relative;z-index:3;}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-5126401 */.elementor-10 .elementor-element.elementor-element-5126401 {
  position: relative;
  padding-top: 5px;
  overflow: visible;
}

/* ---- eyebrow L-bracket — Figma 62x25, stroke 2px (light bg: #030648 -> #03A4DC) ---- */
.elementor-10 .elementor-element.elementor-element-5126401::before {
  content: "";
  position: absolute;
  top: 0;
  left: -3px;
  width: 62px;
  height: 25px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='62' height='25' viewBox='0 0 62 25' fill='none'%3E%3Cdefs%3E%3ClinearGradient id='pfl' x1='1' y1='12.5' x2='61.0025' y2='12.5' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23030648'/%3E%3Cstop offset='1' stop-color='%2303A4DC'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M1 24L1 1L61.0025 1' stroke='url(%23pfl)' stroke-width='2' stroke-linecap='square'/%3E%3C/svg%3E") no-repeat left top;
  background-size: 62px 25px;
  pointer-events: none;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-b101059 */.elementor-10 .elementor-element.elementor-element-b101059 .elementor-button{padding:0;background:transparent;border:none;}
.elementor-10 .elementor-element.elementor-element-b101059 .elementor-button-content-wrapper{display:flex;align-items:center;gap:14px;}
.elementor-10 .elementor-element.elementor-element-b101059 .elementor-button-icon{display:inline-flex;align-items:center;justify-content:center;width:53px;height:53px;border:2px solid #0082B3;flex-shrink:0;transition:all .2s ease;}
.elementor-10 .elementor-element.elementor-element-b101059 .elementor-button-icon svg{width:15px;height:15px;}
.elementor-10 .elementor-element.elementor-element-b101059 .elementor-button:hover .elementor-button-icon{background:#0082B3;}
.elementor-10 .elementor-element.elementor-element-b101059 .elementor-button:hover .elementor-button-icon svg{color:#FFFFFF;}

/* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-b101059 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-b101059 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-b101059 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}

/* PF-FIX39 (2026-08-21): sitewide - the 53x53 / 2px arrow box is the DESKTOP artboard square; on phones it dwarfs 16px copy. Match the Join Profab box (38x38, 1.5px). Desktop untouched. */
@media (max-width:1024px){ .elementor-10 .elementor-element.elementor-element-b101059 .elementor-button-icon{width:38px !important;min-width:38px !important;height:38px !important;min-height:38px !important;border-width:1.5px !important;} .elementor-10 .elementor-element.elementor-element-b101059 .elementor-button-icon svg{width:13px !important;height:11px !important;} }/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-1dcad60 */.elementor-10 .elementor-element.elementor-element-1dcad60 img{
  width: 100%;
  aspect-ratio: 708 / 265;
  height: auto;
  object-fit: cover;
  display: block;
  border-radius: 0;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-3d52944 */.elementor-10 .elementor-element.elementor-element-3d52944{ position:absolute; top:0; left:0; z-index:3; }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ad27c67 */.elementor-10 .elementor-element.elementor-element-ad27c67{ position:relative; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-3a65474 *//* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-3a65474 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-3a65474 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-3a65474 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-e77d72e */.elementor-10 .elementor-element.elementor-element-e77d72e img{
  width: 100%;
  aspect-ratio: 376 / 180;
  height: auto;
  object-fit: cover;
  display: block;
  border-radius: 0;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-dde177c */.elementor-10 .elementor-element.elementor-element-dde177c{ position:absolute; top:0; left:0; z-index:3; }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-423b979 */.elementor-10 .elementor-element.elementor-element-423b979{
  position: relative;
  flex: 0 0 47%;
}

@media (max-width: 1024px){
  .elementor-10 .elementor-element.elementor-element-423b979{
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-65412f4 */.elementor-10 .elementor-element.elementor-element-65412f4{ border: 0 !important; }/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-f694c2a */.elementor-10 .elementor-element.elementor-element-f694c2a img{
  width: 100%;
  aspect-ratio: 376 / 180;
  height: auto;
  object-fit: cover;
  display: block;
  border-radius: 0;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-996c53a */.elementor-10 .elementor-element.elementor-element-996c53a{ position:absolute; top:0; left:0; z-index:3; }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-11911df */.elementor-10 .elementor-element.elementor-element-11911df{
  position: relative;
  flex: 0 0 47%;
}

@media (max-width: 1024px){
  .elementor-10 .elementor-element.elementor-element-11911df{
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f454830 */.elementor-10 .elementor-element.elementor-element-f454830{ border: 0 !important; }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6f58548 *//* Sketch §12: the blog grey plate IS the 1626 inset panel (x467→2093), not a full-bleed band.
   93px of panel padding puts the copy back on the 1440 rail. */
.elementor-10 .elementor-element.elementor-element-6f58548{
  width: 1626px;
  max-width: calc(100% - 80px);
  margin-inline: auto;
}/* End custom CSS */
/* Start custom CSS for icon, class: .elementor-element-941b625 *//* Sketch §12.4: UNFILLED 75x75 ring, 1px #0082B3 @50%, with the 31x23 outline envelope inside */
.elementor-10 .elementor-element.elementor-element-941b625 .elementor-icon{
  width: 75px;
  height: 75px;
  background-color: transparent !important;
  border: 1px solid rgba(0,130,179,0.5) !important;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}
.elementor-10 .elementor-element.elementor-element-941b625 .elementor-icon svg{
  width: 31px;
  height: 23px;
  fill: none;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-6608f82 */.elementor-10 .elementor-element.elementor-element-6608f82 .elementor-button{padding:0;background:transparent;border:none;}
.elementor-10 .elementor-element.elementor-element-6608f82 .elementor-button-content-wrapper{display:flex;align-items:center;gap:14px;}
.elementor-10 .elementor-element.elementor-element-6608f82 .elementor-button-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1.5px solid #00AEEF;flex-shrink:0;transition:all .2s ease;}
.elementor-10 .elementor-element.elementor-element-6608f82 .elementor-button-icon svg{width:15px;height:15px;}
.elementor-10 .elementor-element.elementor-element-6608f82 .elementor-button:hover .elementor-button-icon{background:#0082B3;}
.elementor-10 .elementor-element.elementor-element-6608f82 .elementor-button:hover .elementor-button-icon svg{color:#FFFFFF;}

/* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-10 .elementor-element.elementor-element-6608f82 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-10 .elementor-element.elementor-element-6608f82 .elementor-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
  pointer-events: none;
}
.elementor-10 .elementor-element.elementor-element-6608f82 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS *//* ==== PF-HOME-MOBILE (2026-08-10) ====
   Client: "homepage is first impression ... best responsive korte hobe service page er moto".
   At 390 the homepage read 60-100px of dead left margin where /services/ reads 20-45.
   Two independent causes, both handled below. Scope is <=1024 (Elementor viewport_lg is
   1025), so phone AND tablet are covered and the desktop rail is never touched. */

@media (max-width:1024px){

  /* -- cause 1: 16 containers have content_width UNSET; Elementor defaults those to BOXED,
        so each one re-applies the rail gutter and the insets COMPOUND down the tree. -- */
  .elementor-10 .e-con.e-con-boxed > .e-con-inner{
    margin-inline:0 !important; max-width:100% !important; width:100% !important;
  }

  /* -- cause 2: the three "1626 inset panel" containers carry element custom CSS
        (width:1626px; max-width:calc(100% - 80px); margin-inline:auto) authored for the
        Sketch desktop plate. calc(100% - 80px) + auto margins = 40px each side at EVERY
        width, and it outranks the responsive --margin-* variables, which is why setting
        _margin_mobile in the element data had no effect. Below the desktop rail the plate
        is a full-bleed band, so the 1626 rail is released. -- */
  .elementor-10 .elementor-element.elementor-element-f0411e0,
  .elementor-10 .elementor-element.elementor-element-f7f2f2c,
  .elementor-10 .elementor-element.elementor-element-6f58548{
    width:100% !important; max-width:100% !important; margin-inline:0 !important;
  }
  /* 6f58548 ships 0 padding here - it relied on the released 40px for its gutter */
  .elementor-10 .elementor-element.elementor-element-6f58548{
    padding-left:20px !important; padding-right:20px !important;
  }

  /* -- leftover desktop inner paddings with no responsive override. Each of these sits
        INSIDE a container that already supplies the 20px gutter, so they must be 0 or the
        gutter doubles to 40. -- */
  .elementor-10 .elementor-element.elementor-element-767e7ca,

  /* -- releasing the 80px above made the featured card 80px wider, and template 2289's
        card root + glass panel carry widths sized for the old box, so they ran 9px past
        the viewport and produced a horizontal scrollbar. -- */
  .elementor-10 .elementor-element-ftr0,
  .elementor-10 .elementor-element-ftrov{
    max-width:100% !important;
  }
}

/* ==== PF-HOME-CATLINE (2026-08-10) ====
   Client: "category gula ak line er beshi niche nambe na, bakigula ... hoye jabe".
   Both homepage loops bind post-terms to a HEADING widget (2289/ftrcat, 2290/lstcat), so
   there is no post-terms widget class to target - the ids are the handle. Scoped to
   .elementor-10 on purpose: 2289 and 2290 also render on Resources and Blog, which the
   client did not ask to change. */
.elementor-10 .elementor-element-ftrcat .elementor-heading-title,
.elementor-10 .elementor-element-lstcat .elementor-heading-title{
  display:block; max-width:100%;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
@media (max-width:1024px){
  /* -- hero bracket clearance. 129fad9::before IS the 234x118 corner bracket; its host
        shipped padding-left:15 so the H1 cleared the arm. The gutter pass above zeroed it
        and the first line ran through the bracket. Client asked for 10px, which is also the
        site standard for this component (all 8 homepage instances, and About/93d77d6). -- */
  .elementor-10 .elementor-element.elementor-element-129fad9{
    padding-left:10px !important; padding-right:0 !important;
  }

  /* -- PF-HOME-CATLINE side effect: a CSS grid "1fr" track has an automatic minimum of
        min-content, so once the category line became white-space:nowrap its min-content
        width inflated the featured track from 335 to 364.25 and pushed 9px of horizontal
        scroll onto the page. Resources carries this same guard on its own loop for the
        same reason. -- */
  .elementor-10 .elementor-element-fnlgbig .elementor-loop-container,
  .elementor-10 .elementor-element-fnlglist .elementor-loop-container{
    grid-template-columns:minmax(0,1fr) !important;
  }
}
.elementor-10 .elementor-element-fnlgbig .e-loop-item,
.elementor-10 .elementor-element-fnlglist .e-loop-item{
  min-width:0;
}
/* ==== PF-HOME-TABS (2026-08-10) ====
   Client: "ekhane slider banaya dao tabs gular jonne ar sathe container gular moddheo
   padding hobe sob side theke jeno text kothao na lage". */
@media (max-width:1024px){

  /* -- the nested-tabs heading resolves to display:grid with FIVE FIXED 51px columns, so each
        label overflowed its own 51px box and printed over its neighbour. Turn the strip into a
        horizontal scroller with auto-width tabs: nothing collides and every label stays whole. -- */
  .elementor-10 .elementor-element-8ef4d9a .e-n-tabs-heading{
    display:flex !important;
    grid-template-columns:none !important;
    grid-template-rows:none !important;
    flex-wrap:nowrap !important;
    justify-content:flex-start !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
    gap:24px !important;
    padding-left:20px !important;
    padding-right:20px !important;
  }
  .elementor-10 .elementor-element-8ef4d9a .e-n-tabs-heading::-webkit-scrollbar{ display:none; }

  .elementor-10 .elementor-element-8ef4d9a .e-n-tab-title{
    flex:0 0 auto !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    height:auto !important;
    white-space:nowrap !important;
    scroll-snap-align:start;
  }
  .elementor-10 .elementor-element-8ef4d9a .e-n-tab-title > *{
    white-space:nowrap !important;
  }

  /* -- the five tab panel cards each shipped 30px of inner padding. The gutter pass zeroed it
        (it read as stray indent) and the copy ended up flush against the dark card edge.
        The card edge is what sits on the 20px page gutter; the text sits 30px inside it. -- */
  .elementor-10 .elementor-element.elementor-element-8f51614,
  .elementor-10 .elementor-element.elementor-element-4e114ca,
  .elementor-10 .elementor-element.elementor-element-47b23f8,
  .elementor-10 .elementor-element.elementor-element-9054c43,
  .elementor-10 .elementor-element.elementor-element-91f5b28{
    padding:30px !important;
  }
}
/* ==== PF-HOME-SUBCARD (2026-08-10) ====
   Client: "same issue" (subscribe plate). 14f5b50 is a real CARD -- white background with a
   box-shadow -- sitting at 20..355 inside 4ee742d, which already supplies the 20px page gutter.
   Its authored 32px was the card's INNER padding, not a stray indent, so zeroing it in the
   gutter pass put the icon and copy flush against the white edge.
   Rule of thumb, recorded: a container that paints its own background / border / shadow is a
   CARD and its padding is design; a transparent wrapper's padding is layout and may be zeroed. */
@media (max-width:1024px){
  .elementor-10 .elementor-element.elementor-element-14f5b50{
    padding:30px !important;
  }
}
/* ==== PF-HOME-TABS-2 (2026-08-10) ====
   The display:flex override above does NOT win -- Elementor keeps .e-n-tabs-heading at
   display:grid on this breakpoint, so the tabs ended up one per row. Do not fight `display`:
   drive the grid itself into a single scrolling row. grid-auto-flow:column + max-content
   columns gives exactly the slider the client asked for, and the flex rules above stay as a
   harmless fallback if Elementor ever flips this back to flex. */
@media (max-width:1024px){
  .elementor-10 .elementor-element-8ef4d9a .e-n-tabs-heading{
    grid-auto-flow:column !important;
    grid-auto-columns:max-content !important;
    grid-template-columns:none !important;
    grid-template-rows:auto !important;
    justify-content:start !important;
    align-items:stretch !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
  }
  .elementor-10 .elementor-element-8ef4d9a .e-n-tabs-heading > *{
    grid-row:1 !important;
    width:max-content !important;
    min-width:0 !important;
    max-width:none !important;
    white-space:nowrap !important;
    scroll-snap-align:start;
  }
}
/* ==== PF-HOME-LEADING (2026-08-10) ====
   Client: "line height gula mobile friendly koro ay rokom text gular" (circled the blue
   Industries statement). Those statement headings inherit the DESKTOP leading ratio, which
   reads fine on one wide line but not when it wraps to 2-3 lines in a 335px column:
     90badd8 / 33023ba / cb32626  22/37 = 1.69
     948a7bb                      20/39 = 1.93
     2f31ec7                      18/35 = 1.93
     0cf14db                      16/27 = 1.69
   The body copy beside them sits at 15/23 = 1.53, which is why the gap is so visible.
   Single-line eyebrows (14/29 = 2.07) and the 01..07 step numbers (16/34) are deliberately
   airy label styling and never wrap, so their ratio has no effect - left alone.
   Same treatment already applied to About's cops/coffs. Desktop untouched. */
@media (max-width:1024px){
  .elementor-10 .elementor-element-90badd8 .elementor-heading-title,
  .elementor-10 .elementor-element-33023ba .elementor-heading-title,
  .elementor-10 .elementor-element-cb32626 .elementor-heading-title,
  .elementor-10 .elementor-element-948a7bb .elementor-heading-title,
  .elementor-10 .elementor-element-2f31ec7 .elementor-heading-title{
    line-height:1.35em !important;
  }
  .elementor-10 .elementor-element-0cf14db .elementor-heading-title,
  .elementor-10 .elementor-element-0cf14db p{
    line-height:1.45em !important;
  }
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Neue Haas Grotesk Display Pro';
	font-style: normal;
	font-weight: 100;
	font-display: auto;
	src: url('https://ctc.xspider.net/wp-content/uploads/fonts/nhg-display-xthin-100.woff2') format('woff2');
}
@font-face {
	font-family: 'Neue Haas Grotesk Display Pro';
	font-style: normal;
	font-weight: 200;
	font-display: auto;
	src: url('https://ctc.xspider.net/wp-content/uploads/fonts/nhg-display-thin-200.woff2') format('woff2');
}
@font-face {
	font-family: 'Neue Haas Grotesk Display Pro';
	font-style: normal;
	font-weight: 300;
	font-display: auto;
	src: url('https://ctc.xspider.net/wp-content/uploads/fonts/nhg-display-light-300.woff2') format('woff2');
}
@font-face {
	font-family: 'Neue Haas Grotesk Display Pro';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('https://ctc.xspider.net/wp-content/uploads/fonts/nhg-display-roman-400.woff2') format('woff2');
}
@font-face {
	font-family: 'Neue Haas Grotesk Display Pro';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('https://ctc.xspider.net/wp-content/uploads/fonts/nhg-display-medium-500.woff2') format('woff2');
}
@font-face {
	font-family: 'Neue Haas Grotesk Display Pro';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('https://ctc.xspider.net/wp-content/uploads/fonts/nhg-display-bold-700.woff2') format('woff2');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Sohne';
	font-style: normal;
	font-weight: 300;
	font-display: auto;
	src: url('https://ctc.xspider.net/wp-content/uploads/fonts/sohne-leicht-300.woff2') format('woff2');
}
@font-face {
	font-family: 'Sohne';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('https://ctc.xspider.net/wp-content/uploads/fonts/sohne-buch-400.woff2') format('woff2');
}
@font-face {
	font-family: 'Sohne';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('https://ctc.xspider.net/wp-content/uploads/fonts/sohne-kraftig-500.woff2') format('woff2');
}
@font-face {
	font-family: 'Sohne';
	font-style: normal;
	font-weight: 600;
	font-display: auto;
	src: url('https://ctc.xspider.net/wp-content/uploads/fonts/sohne-halbfett-600.woff2') format('woff2');
}
@font-face {
	font-family: 'Sohne';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('https://ctc.xspider.net/wp-content/uploads/fonts/sohne-fett-700.woff2') format('woff2');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Neue Haas Grotesk Text';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('https://ctc.xspider.net/wp-content/uploads/fonts/nhg-text-regular-400.woff2') format('woff2');
}
@font-face {
	font-family: 'Neue Haas Grotesk Text';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('https://ctc.xspider.net/wp-content/uploads/fonts/nhg-text-medium-500.woff2') format('woff2');
}
/* End Custom Fonts CSS */