.elementor-712 .elementor-element.elementor-element-ctcsec1{--display:flex;--min-height:1001px;--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:119px;--padding-bottom:47px;--padding-left:0px;--padding-right:0px;--z-index:2;}.elementor-712 .elementor-element.elementor-element-ctcsec1:not(.elementor-motion-effects-element-type-background), .elementor-712 .elementor-element.elementor-element-ctcsec1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#020C15;background-image:url("https://ctc.xspider.net/wp-content/uploads/figma-design/contact-hero-group379.png");background-position:center center;background-size:cover;}.elementor-712 .elementor-element.elementor-element-ctcrow{--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-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-712 .elementor-element.elementor-element-ctcleft{--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-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-712 .elementor-element.elementor-element-f76cd4e5{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 45px) 0px;font-family:"Sohne", Sans-serif;font-size:13px;font-weight:300;line-height:1em;color:#FFFFFF;}.elementor-712 .elementor-element.elementor-element-pfbk712r{--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:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-712 .elementor-element.elementor-element-pfbk712a{--display:flex;--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-712 .elementor-element.elementor-element-ctceyb{width:auto;max-width:auto;padding:0px 5px 0px 5px;}.elementor-712 .elementor-element.elementor-element-ctceyb .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-712 .elementor-element.elementor-element-pfbk712g{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-712 .elementor-element.elementor-element-ctch1{margin:5px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-712 .elementor-element.elementor-element-ctch1 .elementor-heading-title{font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:56px;font-weight:400;line-height:92px;color:#FFFFFF;}.elementor-712 .elementor-element.elementor-element-ctcbody{width:var( --container-widget-width, 610px );max-width:610px;margin:13px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:610px;--container-widget-flex-grow:0;font-family:"Sohne", Sans-serif;font-size:19px;font-weight:300;line-height:1.526em;color:#FFFFFF;}.elementor-712 .elementor-element.elementor-element-ctcf1h{margin:53px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-712 .elementor-element.elementor-element-ctcf1h .elementor-heading-title{font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:24px;font-weight:400;line-height:36px;color:#FFFFFF;}.elementor-712 .elementor-element.elementor-element-ctcf1b{width:var( --container-widget-width, 440px );max-width:440px;margin:7px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 27px;--container-widget-width:440px;--container-widget-flex-grow:0;font-family:"Sohne", Sans-serif;font-size:16px;font-weight:300;line-height:1.625em;color:#FFFFFF;}.elementor-712 .elementor-element.elementor-element-ctcinfo{margin:286px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;font-family:"Sohne", Sans-serif;font-size:16px;font-weight:300;line-height:1em;color:#FFFFFF;}.elementor-712 .elementor-element.elementor-element-ctcinfrow{--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:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:44px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-712 .elementor-element.elementor-element-ctcphone{width:var( --container-widget-width, 213px );max-width:213px;--container-widget-width:213px;--container-widget-flex-grow:0;font-family:"Sohne", Sans-serif;font-size:16px;font-weight:300;line-height:1em;color:#FFFFFF;}.elementor-712 .elementor-element.elementor-element-ctcemail{font-family:"Sohne", Sans-serif;font-size:16px;font-weight:300;line-height:1em;color:#FFFFFF;}.elementor-712 .elementor-element.elementor-element-ctcright{--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:33px;--margin-bottom:-300px;--margin-left:0px;--margin-right:0px;--padding-top:57px;--padding-bottom:51px;--padding-left:48px;--padding-right:47px;--z-index:2;}.elementor-712 .elementor-element.elementor-element-ctcright:not(.elementor-motion-effects-element-type-background), .elementor-712 .elementor-element.elementor-element-ctcright > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}.elementor-712 .elementor-element.elementor-element-ctcfh .elementor-heading-title{font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:26px;font-weight:400;line-height:36px;color:#FFFFFF;}.elementor-widget-form .elementor-field-group > label, .elementor-widget-form .elementor-field-subgroup label{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group > label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-type-html{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-widget-form .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-button[type="submit"]{background-color:var( --e-global-color-accent );}.elementor-widget-form .e-form__buttons__wrapper__button-previous{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-message{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form{--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-text );--e-form-steps-indicator-active-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-completed-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-background-color:var( --e-global-color-text );--e-form-steps-indicator-progress-meter-color:var( --e-global-color-text );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-712 .elementor-element.elementor-element-ctcform{margin:68px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}.elementor-712 .elementor-element.elementor-element-ctcform .elementor-field-group{padding-right:calc( 0px/2 );padding-left:calc( 0px/2 );margin-bottom:41px;}.elementor-712 .elementor-element.elementor-element-ctcform .elementor-form-fields-wrapper{margin-left:calc( -0px/2 );margin-right:calc( -0px/2 );margin-bottom:-41px;}.elementor-712 .elementor-element.elementor-element-ctcform .elementor-field-group.recaptcha_v3-bottomleft, .elementor-712 .elementor-element.elementor-element-ctcform .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-712 .elementor-element.elementor-element-ctcform .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-712 .elementor-element.elementor-element-ctcform .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-712 .elementor-element.elementor-element-ctcform .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-712 .elementor-element.elementor-element-ctcform .elementor-field-type-html{padding-bottom:0px;}.elementor-712 .elementor-element.elementor-element-ctcform .elementor-field-group .elementor-field{color:#FFFFFF;}.elementor-712 .elementor-element.elementor-element-ctcform .elementor-field-group .elementor-field, .elementor-712 .elementor-element.elementor-element-ctcform .elementor-field-subgroup label{font-family:"Sohne", Sans-serif;font-size:17px;font-weight:300;line-height:1em;}.elementor-712 .elementor-element.elementor-element-ctcform .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:rgba(0,0,0,0);border-color:#FFFFFF;border-width:0px 0px 1px 0px;border-radius:0px 0px 0px 0px;}.elementor-712 .elementor-element.elementor-element-ctcform .elementor-field-group .elementor-select-wrapper select{background-color:rgba(0,0,0,0);border-color:#FFFFFF;border-width:0px 0px 1px 0px;border-radius:0px 0px 0px 0px;}.elementor-712 .elementor-element.elementor-element-ctcform .elementor-field-group .elementor-select-wrapper::before{color:#FFFFFF;}.elementor-712 .elementor-element.elementor-element-ctcform .elementor-button{font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:19px;font-weight:400;line-height:1em;}.elementor-712 .elementor-element.elementor-element-ctcform .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-712 .elementor-element.elementor-element-ctcform .elementor-button[type="submit"]{color:#ffffff;}.elementor-712 .elementor-element.elementor-element-ctcform .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-712 .elementor-element.elementor-element-ctcform .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-712 .elementor-element.elementor-element-ctcform .e-form__buttons__wrapper__button-next:hover{background-color:#00AEEF;color:#FFFFFF;}.elementor-712 .elementor-element.elementor-element-ctcform .elementor-button[type="submit"]:hover{background-color:#00AEEF;color:#FFFFFF;}.elementor-712 .elementor-element.elementor-element-ctcform .elementor-button[type="submit"]:hover svg *{fill:#FFFFFF;}.elementor-712 .elementor-element.elementor-element-ctcform .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-712 .elementor-element.elementor-element-ctccareers{--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:115px;--padding-bottom:44px;--padding-left:0px;--padding-right:0px;}.elementor-712 .elementor-element.elementor-element-ctccareers:not(.elementor-motion-effects-element-type-background), .elementor-712 .elementor-element.elementor-element-ctccareers > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-712 .elementor-element.elementor-element-ctccard{--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:20px;--padding-bottom:24px;--padding-left:22px;--padding-right:22px;}.elementor-712 .elementor-element.elementor-element-ctccard:not(.elementor-motion-effects-element-type-background), .elementor-712 .elementor-element.elementor-element-ctccard > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F0F2F4;}.elementor-712 .elementor-element.elementor-element-ctccarh2 .elementor-heading-title{font-family:"Neue Haas Grotesk Display Pro", Sans-serif;font-size:24px;font-weight:400;line-height:1.5em;color:#000000;}.elementor-712 .elementor-element.elementor-element-ctccarb2{margin:1px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;font-family:"Sohne", Sans-serif;font-size:16px;font-weight:300;line-height:1.625em;color:#000000;}.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-712 .elementor-element.elementor-element-ctccarbtn2 .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-712 .elementor-element.elementor-element-ctccarbtn2{margin:10px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-712 .elementor-element.elementor-element-ctccarbtn2 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-712 .elementor-element.elementor-element-ctccarbtn2 .elementor-button .elementor-button-content-wrapper{gap:12px;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-712 .elementor-element.elementor-element-ctcsec1{--min-height:0px;--padding-top:90px;--padding-bottom:90px;--padding-left:20px;--padding-right:20px;}.elementor-712 .elementor-element.elementor-element-ctcrow{--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:36px 36px;--row-gap:36px;--column-gap:36px;}.elementor-712 .elementor-element.elementor-element-f76cd4e5{padding:0px 0px 0px 25px;}.elementor-712 .elementor-element.elementor-element-ctch1{padding:0px 0px 0px 25px;}.elementor-712 .elementor-element.elementor-element-ctch1 .elementor-heading-title{font-size:42px;line-height:1.3em;}.elementor-712 .elementor-element.elementor-element-ctcbody{width:100%;max-width:100%;padding:0px 0px 0px 25px;font-size:17px;}.elementor-712 .elementor-element.elementor-element-ctcf1h{padding:0px 0px 0px 25px;}.elementor-712 .elementor-element.elementor-element-ctcf1h .elementor-heading-title{font-size:20px;line-height:1.5em;}.elementor-712 .elementor-element.elementor-element-ctcf1b{width:100%;max-width:100%;padding:0px 0px 0px 52px;font-size:15px;}.elementor-712 .elementor-element.elementor-element-ctcinfo{margin:60px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 25px;font-size:15px;}.elementor-712 .elementor-element.elementor-element-ctcinfrow{--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:24px 24px;--row-gap:24px;--column-gap:24px;--margin-top:30px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:25px;--padding-right:0px;}.elementor-712 .elementor-element.elementor-element-ctcphone{width:100%;max-width:100%;font-size:15px;}.elementor-712 .elementor-element.elementor-element-ctcemail{font-size:15px;}.elementor-712 .elementor-element.elementor-element-ctcright{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:40px;--padding-bottom:40px;--padding-left:24px;--padding-right:24px;}.elementor-712 .elementor-element.elementor-element-ctcfh .elementor-heading-title{font-size:20px;line-height:1.385em;}.elementor-712 .elementor-element.elementor-element-ctcform{margin:36px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-712 .elementor-element.elementor-element-ctccareers{--padding-top:50px;--padding-bottom:50px;--padding-left:20px;--padding-right:20px;}.elementor-712 .elementor-element.elementor-element-ctccarh2 .elementor-heading-title{font-size:20px;}.elementor-712 .elementor-element.elementor-element-ctccarb2{font-size:15px;}.elementor-712 .elementor-element.elementor-element-ctccarbtn2 .elementor-button{font-size:16px;}}@media(max-width:767px){.elementor-712 .elementor-element.elementor-element-ctcsec1{--min-height:0px;--padding-top:90px;--padding-bottom:50px;--padding-left:20px;--padding-right:20px;}.elementor-712 .elementor-element.elementor-element-ctcleft{--width:100%;}.elementor-712 .elementor-element.elementor-element-f76cd4e5{padding:0px 0px 0px 25px;}.elementor-712 .elementor-element.elementor-element-ctch1{padding:0px 0px 0px 25px;}.elementor-712 .elementor-element.elementor-element-ctch1 .elementor-heading-title{font-size:32px;line-height:1.3em;}.elementor-712 .elementor-element.elementor-element-ctcbody{width:100%;max-width:100%;padding:0px 0px 0px 25px;font-size:15px;}.elementor-712 .elementor-element.elementor-element-ctcf1h{padding:0px 0px 0px 25px;}.elementor-712 .elementor-element.elementor-element-ctcf1h .elementor-heading-title{font-size:18px;line-height:1.5em;}.elementor-712 .elementor-element.elementor-element-ctcf1b{width:100%;max-width:100%;padding:0px 0px 0px 52px;font-size:14px;}.elementor-712 .elementor-element.elementor-element-ctcinfo{margin:40px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 25px;font-size:14px;}.elementor-712 .elementor-element.elementor-element-ctcinfrow{--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:24px 24px;--row-gap:24px;--column-gap:24px;--margin-top:24px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:25px;--padding-right:0px;}.elementor-712 .elementor-element.elementor-element-ctcphone{width:100%;max-width:100%;font-size:14px;}.elementor-712 .elementor-element.elementor-element-ctcemail{font-size:14px;}.elementor-712 .elementor-element.elementor-element-ctcright{--width:100%;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:32px;--padding-bottom:32px;--padding-left:20px;--padding-right:20px;}.elementor-712 .elementor-element.elementor-element-ctcfh .elementor-heading-title{font-size:18px;line-height:1.385em;}.elementor-712 .elementor-element.elementor-element-ctcform{margin:28px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-712 .elementor-element.elementor-element-ctccareers{--padding-top:50px;--padding-bottom:50px;--padding-left:20px;--padding-right:20px;}.elementor-712 .elementor-element.elementor-element-ctccard{--width:100%;}.elementor-712 .elementor-element.elementor-element-ctccarh2 .elementor-heading-title{font-size:18px;}.elementor-712 .elementor-element.elementor-element-ctccarb2{font-size:14px;}}@media(min-width:768px){.elementor-712 .elementor-element.elementor-element-ctcrow{--width:100%;}.elementor-712 .elementor-element.elementor-element-ctcleft{--width:55%;}.elementor-712 .elementor-element.elementor-element-ctcright{--width:625px;}.elementor-712 .elementor-element.elementor-element-ctccard{--width:362px;}}@media(max-width:1024px) and (min-width:768px){.elementor-712 .elementor-element.elementor-element-ctcleft{--width:100%;}.elementor-712 .elementor-element.elementor-element-ctcright{--width:100%;}.elementor-712 .elementor-element.elementor-element-ctccard{--width:100%;}}/* Start custom CSS for text-editor, class: .elementor-element-f76cd4e5 */.elementor-712 .elementor-element.elementor-element-f76cd4e5 a{
  color: #FFFFFF;
}
.elementor-712 .elementor-element.elementor-element-f76cd4e5 a:hover{
  color: #00AEEF;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-pfbk712a *//* ---- left piece: vertical arm (client hero-bracket.svg artwork, colours and
   geometry untouched) + flexible rule stub that always ends 5px left of the word ---- */
.elementor-712 .elementor-element.elementor-element-pfbk712a{
  width: calc(var(--pfbko) - 5px);
  min-width: calc(var(--pfbko) - 5px);
  height: 2px; min-height: 2px; /* PF-CRIT2-G1 */
  flex: 0 0 auto;
  position: relative;
  overflow: visible;
  padding: 0 0 0 2px;
  background: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='6%200%2044%206'%20preserveAspectRatio='none'%3E%3Crect%20x='6'%20y='0'%20width='44'%20height='6'%20fill='url(%23g)'/%3E%3Cdefs%3E%3ClinearGradient%20id='g'%20x1='1493.22'%20y1='375.321'%20x2='1496.74'%20y2='-101.488'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20stop-color='%23FDD205'/%3E%3Cstop%20offset='1'%20stop-color='%2300AEEF'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E") no-repeat left top;
  background-size: 100% 100%;
  background-origin: content-box;
  background-clip: content-box;
}
.elementor-712 .elementor-element.elementor-element-pfbk712a::before{content:"";position:absolute;top:0;left:0;width:2px;height:140px;background:linear-gradient(180deg,#00AEEF 0%,#37B6BC 45%,#A6C554 78%,#FDD205 100%);pointer-events:none;} /* PF-ARM2: plain 2px arm, matches the 2px rule */
/* ---- <=1024 (709 final v6): piece keeps a VISIBLE stub - never collapse to the
   bare arm. Piece 20px = 6px arm + 14px stub window; label/texts land at 20+20+5 = 45.
   Arm height = 29 + H1 line + 19, recomputed for this page's H1 (42px t / 32px m at 1.3em). ---- */
@media (max-width: 1024px){
  .elementor-712 .elementor-element.elementor-element-pfbk712a{ width: 20px; min-width: 20px; padding-left: 2px; }
  .elementor-712 .elementor-element.elementor-element-pfbk712a::before{ height: 103px;  }
}
@media (max-width: 767px){
  .elementor-712 .elementor-element.elementor-element-pfbk712a::before{ height: 90px;  }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-ctceyb *//* ---- eyebrow label: fixed flex item; the 5px inline padding IS the rule gap ---- */
.elementor-712 .elementor-element.elementor-element-ctceyb{
  flex: 0 0 auto;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-pfbk712g *//* ---- right rule: starts 5px after the word, grows to the row end ---- */
.elementor-712 .elementor-element.elementor-element-pfbk712g{
  height: 2px; min-height: 2px; /* PF-CRIT2-G1: right rule thinned to match the 2px stub */
  flex: 1 1 0px;
  min-width: 0;
  padding: 0;
  background: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='144%200%20633%206'%20preserveAspectRatio='none'%3E%3Crect%20x='144'%20y='0'%20width='633'%20height='6'%20fill='url(%23g)'/%3E%3Cdefs%3E%3ClinearGradient%20id='g'%20x1='1493.22'%20y1='375.321'%20x2='1496.74'%20y2='-101.488'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20stop-color='%23FDD205'/%3E%3Cstop%20offset='1'%20stop-color='%2300AEEF'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E") no-repeat left top;
  background-size: 100% 100%;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-pfbk712r *//* ==== PF hero eyebrow bracket v2 (ported from 709, label CONTACT) ====
   [arm+stub][ LABEL ][ rule -> ] on one 779px row.
   - rule ends exactly 5px from the word on BOTH sides (label inline padding)
   - 6px rule band vertically centered on the text (flex align center)
   - label left edge == H1 left edge: the word offset inside the row equals the
     arm outdent (--pfbko), which the negative margin cancels out exactly. */
.elementor-712 .elementor-element.elementor-element-pfbk712r{
  --pfbko: clamp(40px, (100vw - 1440px) / 2, 65px);
}
@media (min-width: 1025px){
  .elementor-712 .elementor-element.elementor-element-pfbk712r{
    width: 779px;
    max-width: calc(100% + var(--pfbko));
    margin-left: calc(-1 * var(--pfbko)) !important;
  }
}
/* ---- <=1024: the desktop NOTCH construction scaled - arm at x=20, label in
   the rule notch with 5px clear each side, rule on to viewport-20 (709 final v4). ---- */
@media (max-width: 1024px){
  .elementor-712 .elementor-element.elementor-element-pfbk712r{ width: 100%; max-width: 100%; margin-left: 0 !important; }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-ctcf1h */.elementor-712 .elementor-element.elementor-element-ctcf1h .elementor-heading-title {
  position: relative;
  padding-left: 27px;
}
.elementor-712 .elementor-element.elementor-element-ctcf1h .elementor-heading-title::before {
  content: '';
  position: absolute;
  left: 0;
  top: 15px;
  width: 8px;
  height: 8px;
  border: 1px solid #00AEEF;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-ctcinfo */.elementor-712 .elementor-element.elementor-element-ctcinfo p{ margin: 0; }
.elementor-712 .elementor-element.elementor-element-ctcinfo p:first-child{ margin-bottom: 13px; }/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-ctcphone */.elementor-712 .elementor-element.elementor-element-ctcphone p{ margin: 0; }
.elementor-712 .elementor-element.elementor-element-ctcphone p:first-child{ margin-bottom: 15px; }
.elementor-712 .elementor-element.elementor-element-ctcphone a{ color: #FFFFFF; }
.elementor-712 .elementor-element.elementor-element-ctcphone a:hover{ color: #00AEEF; }/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-ctcemail */.elementor-712 .elementor-element.elementor-element-ctcemail p{ margin: 0; }
.elementor-712 .elementor-element.elementor-element-ctcemail p:first-child{ margin-bottom: 15px; }
.elementor-712 .elementor-element.elementor-element-ctcemail a{ color: #FFFFFF; }
.elementor-712 .elementor-element.elementor-element-ctcemail a:hover{ color: #00AEEF; }/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-ctcfh *//* ---- card heading: 60x23 L-bracket, gradient #FDD205 -> #03A4DC (frame Group 3) ---- */
.elementor-712 .elementor-element.elementor-element-ctcfh{ position: relative; }
.elementor-712 .elementor-element.elementor-element-ctcfh .elementor-heading-title{ padding-top: 5px; }
.elementor-712 .elementor-element.elementor-element-ctcfh::before{
  content: "";
  position: absolute;
  top: 0;
  left: -13px;
  width: 60px;
  height: 23px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='23' viewBox='0 0 60 23' fill='none'%3E%3Cpath d='M1 23V1H60' stroke='url(%23pfc)' stroke-width='2'/%3E%3Cdefs%3E%3ClinearGradient id='pfc' x1='1' y1='1' x2='60' y2='1' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23FDD205'/%3E%3Cstop offset='1' stop-color='%2303A4DC'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E") no-repeat left top;
  background-size: 60px 23px;
  pointer-events: none;
}/* End custom CSS */
/* Start custom CSS for form, class: .elementor-element-ctcform *//* ---- underlined fields (Resources-family idiom, frame 04-contact) ---- */
.elementor-712 .elementor-element.elementor-element-ctcform .elementor-field-group{ padding: 0; }
.elementor-712 .elementor-element.elementor-element-ctcform .elementor-field-textual{
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid #FFFFFF !important;
  border-radius: 0 !important;
  color: #FFFFFF !important;
  padding: 0 0 18px 0 !important;
  box-shadow: none !important;
  line-height: 17px !important;
  min-height: 0;
}
.elementor-712 .elementor-element.elementor-element-ctcform input.elementor-field-textual,
.elementor-712 .elementor-element.elementor-element-ctcform select.elementor-field-textual{ height: 36px !important; }
.elementor-712 .elementor-element.elementor-element-ctcform .elementor-field-textual::placeholder{ color: #FFFFFF; opacity: 1; }
.elementor-712 .elementor-element.elementor-element-ctcform .elementor-field-textual:focus{ border-bottom-color: #00AEEF !important; outline: none; }
/* ---- select: underline field, ONE thin chevron ----
   Elementor injects its OWN solid caret in .select-caret-down-wrapper.
   appearance:none only removes the BROWSER's native arrow, not that div, so the
   field painted two arrows (client 2026-08-09: keep the thin one, drop the
   solid one). Hide the wrapper; ours is the 12x7 stroke chevron below. */
.elementor-712 .elementor-element.elementor-element-ctcform .select-caret-down-wrapper{ display: none !important; }
.elementor-712 .elementor-element.elementor-element-ctcform select.elementor-field-textual{
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7' fill='none'%3E%3Cpath d='M1 1L6 6L11 1' stroke='white' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 2px top 5px !important;
  background-size: 12px 7px !important;
  padding-right: 26px !important;
}
.elementor-712 .elementor-element.elementor-element-ctcform select.elementor-field-textual option{ color: #000000; }
/* ---- design spacing deltas off the uniform 41px row gap ---- */
.elementor-712 .elementor-element.elementor-element-ctcform .elementor-field-type-select{ margin-top: 5px; }
.elementor-712 .elementor-element.elementor-element-ctcform .elementor-field-type-textarea{ margin-top: 27px; }
.elementor-712 .elementor-element.elementor-element-ctcform .elementor-field-type-acceptance{ margin-top: -5px; }
.elementor-712 .elementor-element.elementor-element-ctcform .elementor-field-type-submit{ margin-top: 10px; }
/* ---- boxed textarea (530x184, 1px white) ---- */
.elementor-712 .elementor-element.elementor-element-ctcform textarea.elementor-field-textual{
  border: 1px solid #FFFFFF !important;
  padding: 15px 16px !important;
  min-height: 184px;
  line-height: 27px;
}
/* ---- acceptance row: 17px checkbox, 14/22 copy, 14px gap ----
   show_labels off marks the field label screen-only, but the consent copy IS the
   label in the design - restore it for this group only, checkbox left, text right. */
.elementor-712 .elementor-element.elementor-element-ctcform .elementor-field-type-acceptance{
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  align-items: flex-start;
  gap: 14px;
}
.elementor-712 .elementor-element.elementor-element-ctcform .elementor-field-type-acceptance label.elementor-screen-only{
  position: static !important;
  width: auto !important;
  height: auto !important;
  clip: auto !important;
  clip-path: none !important;
  overflow: visible !important;
  white-space: normal;
}
.elementor-712 .elementor-element.elementor-element-ctcform .elementor-field-type-acceptance label{
  color: #FFFFFF !important;
  font-family: Sohne, sans-serif;
  font-size: 14px;
  font-weight: 300;
  line-height: 22px;
  margin: 0;
  max-width: 317px;
  flex: 1 1 auto;
  min-width: 0;
}
.elementor-712 .elementor-element.elementor-element-ctcform input[type=checkbox]{
  appearance: none;
  -webkit-appearance: none;
  display: inline-block;
  width: 17px;
  height: 17px;
  flex: 0 0 auto;
  margin: 2px 0 0 0;
  border: 1px solid #FFFFFF !important;
  border-radius: 0 !important;
  background: transparent !important;
  cursor: pointer;
}
.elementor-712 .elementor-element.elementor-element-ctcform input[type=checkbox]:checked{
  background: #0082B3 url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10' fill='none'%3E%3Cpath d='M1 5L4.5 8.5L11 1.5' stroke='white' stroke-width='2'/%3E%3C/svg%3E") no-repeat center / 10px !important;
  border-color: #0082B3 !important;
}
.elementor-712 .elementor-element.elementor-element-ctcform .elementor-mark-required{ color: #FFFFFF !important; }
/* ---- form states ---- */
.elementor-712 .elementor-element.elementor-element-ctcform .elementor-field-group.elementor-error .elementor-field-textual{ border-bottom-color: #FF1818 !important; }
.elementor-712 .elementor-element.elementor-element-ctcform .elementor-message.elementor-message-danger,
.elementor-712 .elementor-element.elementor-element-ctcform .elementor-field-group .elementor-help-inline{
  background: rgba(255,24,24,0.2);
  color: #FFFFFF;
  font-size: 13px;
  padding: 5px 8px;
  border-radius: 0;
}
/* ---- submit: hero button family A (171x54, 1.5px #00AEEF, arrow svg 2338 as mask) ---- */
.elementor-712 .elementor-element.elementor-element-ctcform .elementor-field-type-submit{ display: flex !important; justify-content: flex-start !important; align-items: flex-start !important; }
.elementor-712 .elementor-element.elementor-element-ctcform .elementor-field-type-submit button.elementor-button{
  width: auto !important;
  flex: 0 0 auto !important;
  min-width: 171px;
  white-space: nowrap;
  background: transparent !important;
  border: 1.5px solid #00AEEF !important;
  border-radius: 0 !important;
  color: #FFFFFF !important;
  padding: 16px 24px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  transition: all .2s ease;
}
.elementor-712 .elementor-element.elementor-element-ctcform .elementor-button::after{
  content: "";
  width: 16px;
  height: 13px;
  flex-shrink: 0;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 13' fill='none'%3E%3Cpath d='M0 6.5H14' stroke='%23000' stroke-width='2'/%3E%3Cpath d='M8.5 1L14 6.5L8.5 12' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 13' fill='none'%3E%3Cpath d='M0 6.5H14' stroke='%23000' stroke-width='2'/%3E%3Cpath d='M8.5 1L14 6.5L8.5 12' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E") no-repeat center / contain;
}
.elementor-712 .elementor-element.elementor-element-ctcform .elementor-button:hover{ background: #00AEEF !important; }

/* ---- submit button: SOLID #00AEEF on hover (client 2026-08-10).
   Must out-specify `.elementor-712 .elementor-element.elementor-element-ctcform .elementor-field-type-submit button.elementor-button
   {background:transparent !important}` above - that rule is (0,5,1) and was beating
   the old `.elementor-712 .elementor-element.elementor-element-ctcform .elementor-button:hover` at (0,5,0), which is why hover stayed
   transparent even though the !important was there. ---- */
.elementor-712 .elementor-element.elementor-element-ctcform .elementor-field-type-submit button.elementor-button:hover,
.elementor-712 .elementor-element.elementor-element-ctcform .elementor-field-type-submit button.elementor-button:focus{
  background: #00AEEF !important;
  color: #FFFFFF !important;
}

/* ==== PF-FIX53 (2026-08-21): on phones the consent checkbox dropped BELOW the copy. Cause: Elementor's .elementor-field-group ships flex-wrap:wrap, and the label's base width (max-width 317px) is wider than the 310px line on a 390 screen - so the label claimed the whole first line and row-reverse put the box underneath. nowrap keeps them on one line and the label shrinks instead (min-width:0 is already set). ==== */
.elementor-712 .elementor-element.elementor-element-ctcform .elementor-field-type-acceptance{flex-wrap:nowrap !important;}
.elementor-712 .elementor-element.elementor-element-ctcform .elementor-field-type-acceptance label{max-width:317px;flex:1 1 auto !important;}
.elementor-712 .elementor-element.elementor-element-ctcform .elementor-field-type-acceptance .elementor-field-subgroup{flex:0 0 auto !important;}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ctcright *//* ---- form card: right edge sits 58px past the 1440 rail on the design canvas.
   Clamp the outdent to the real gutter so it degrades below 1480 (bracket pattern). ---- */
@media (min-width: 1025px){
  .elementor-712 .elementor-element.elementor-element-ctcright{ margin-right: calc(-1 * clamp(0px, (100vw - 1480px) / 2, 58px)) !important; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ctcsec1 */.elementor-element-ctcsec1{position:relative;}
.elementor-element-ctcsec1>.e-con-inner{position:relative;z-index:2;}
/* ==== Contact mobile template: hard 20px gutter (client rule, 709 lessons 8) ====
   The kit subtracts a 40px --pf-gutter inside every boxed parent; combined with
   the sections' own 20px responsive padding that produced 60px gutters. Zero the
   kit gutter <=1024 for THIS page only - the 20px lives in native section padding. */
@media (max-width: 1024px){
  .elementor-712 .e-con{ --pf-gutter: 0px; }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-ctccarbtn2 */.elementor-712 .elementor-element.elementor-element-ctccarbtn2 .elementor-button-icon svg{ width: 15px; height: 12px; }
/* ---- hover: animated underline only (no colour / icon change) ---- */
.elementor-712 .elementor-element.elementor-element-ctccarbtn2 .elementor-button .elementor-button-text {
  position: relative;
}
.elementor-712 .elementor-element.elementor-element-ctccarbtn2 .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-712 .elementor-element.elementor-element-ctccarbtn2 .elementor-button:hover .elementor-button-text::after {
  transform: scaleX(1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ctccard *//* ---- careers card: box outdents 22px left of the rail so its text sits ON the rail
   (frame: box x538, text x560). Clamped to the real gutter, off below 1480. ---- */
@media (min-width: 1025px){
  .elementor-712 .elementor-element.elementor-element-ctccard{ margin-left: calc(-1 * clamp(0px, (100vw - 1480px) / 2, 22px)); }
}/* End custom 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 */
/* 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 */