.elementor-25 .elementor-element.elementor-element-62de71d{--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:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-25 .elementor-element.elementor-element-36187a3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-25 .elementor-element.elementor-element-9bc8082{--display:flex;}.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 );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-primary );}.elementor-25 .elementor-element.elementor-element-19e1c56{--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;}.elementor-25 .elementor-element.elementor-element-eda166e{--display:flex;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-25 .elementor-element.elementor-element-1aba540{--display:flex;}.elementor-25 .elementor-element.elementor-element-6fbdc76{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-25 .elementor-element.elementor-element-7f23ddf{--display:flex;}.elementor-25 .elementor-element.elementor-element-3d544b8{--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;}.elementor-25 .elementor-element.elementor-element-f526181{--display:flex;}.elementor-25 .elementor-element.elementor-element-f7d6835{--display:flex;}.elementor-25 .elementor-element.elementor-element-48885ff{--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;}.elementor-25 .elementor-element.elementor-element-974acd0{--display:flex;}.elementor-25 .elementor-element.elementor-element-ce25be6{--display:flex;}.elementor-25 .elementor-element.elementor-element-ccbf96a{--display:flex;}.elementor-25 .elementor-element.elementor-element-096d2cb{--display:flex;}.elementor-25 .elementor-element.elementor-element-34cb596{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-25 .elementor-element.elementor-element-88be329{--display:flex;}.elementor-25 .elementor-element.elementor-element-b4ca40f{--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;}.elementor-25 .elementor-element.elementor-element-826aa71{--display:flex;}.elementor-25 .elementor-element.elementor-element-9b223ae{--display:flex;}.elementor-25 .elementor-element.elementor-element-ce3d666{--display:flex;}.elementor-25 .elementor-element.elementor-element-93baaa9{--display:flex;}.elementor-25 .elementor-element.elementor-element-e1b7706{--display:flex;}.elementor-25 .elementor-element.elementor-element-6552926{--display:flex;}.elementor-25 .elementor-element.elementor-element-face561{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-25 .elementor-element.elementor-element-29873f9{--display:flex;}@media(min-width:768px){.elementor-25 .elementor-element.elementor-element-62de71d{--width:100%;}.elementor-25 .elementor-element.elementor-element-36187a3{--width:100%;}.elementor-25 .elementor-element.elementor-element-9bc8082{--width:100%;}.elementor-25 .elementor-element.elementor-element-19e1c56{--width:100%;}.elementor-25 .elementor-element.elementor-element-eda166e{--width:100%;}.elementor-25 .elementor-element.elementor-element-1aba540{--width:100%;}.elementor-25 .elementor-element.elementor-element-6fbdc76{--width:100%;}.elementor-25 .elementor-element.elementor-element-7f23ddf{--width:100%;}.elementor-25 .elementor-element.elementor-element-3d544b8{--width:100%;}.elementor-25 .elementor-element.elementor-element-f526181{--width:100%;}.elementor-25 .elementor-element.elementor-element-f7d6835{--width:100%;}.elementor-25 .elementor-element.elementor-element-48885ff{--width:100%;}.elementor-25 .elementor-element.elementor-element-974acd0{--width:100%;}.elementor-25 .elementor-element.elementor-element-ce25be6{--width:100%;}.elementor-25 .elementor-element.elementor-element-ccbf96a{--width:100%;}.elementor-25 .elementor-element.elementor-element-096d2cb{--width:100%;}.elementor-25 .elementor-element.elementor-element-34cb596{--width:100%;}.elementor-25 .elementor-element.elementor-element-88be329{--width:100%;}.elementor-25 .elementor-element.elementor-element-b4ca40f{--width:100%;}.elementor-25 .elementor-element.elementor-element-826aa71{--width:100%;}.elementor-25 .elementor-element.elementor-element-9b223ae{--width:100%;}.elementor-25 .elementor-element.elementor-element-ce3d666{--width:100%;}.elementor-25 .elementor-element.elementor-element-93baaa9{--width:100%;}.elementor-25 .elementor-element.elementor-element-e1b7706{--width:100%;}.elementor-25 .elementor-element.elementor-element-6552926{--width:100%;}.elementor-25 .elementor-element.elementor-element-face561{--width:100%;}.elementor-25 .elementor-element.elementor-element-29873f9{--width:100%;}}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}@media(max-width:767px){.elementor-widget-heading .elementor-heading-title{line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}/* Start custom CSS *//* Native-widget section shims. Elementor 4.2.1 drops _css_classes on
   containers AND no longer emits .elementor-widget-container, so section /
   .wrap / .klabel / .card etc are keyed by ID on the widget div itself. */

/* --- shared --- */
#tcWhoWrap,#tcCtaWrap,#tcDeliverWrap,#tcSvcWrap{max-width:1260px;margin:0 auto;padding:0 48px;width:100%}
#tcWhoLabel .elementor-heading-title,#tcDelLabel .elementor-heading-title,#tcSvcLabel .elementor-heading-title{display:flex;align-items:center;gap:14px;font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:500;letter-spacing:.28em;color:var(--ink2);text-transform:uppercase}
#tcWhoLabel .elementor-heading-title::before,#tcDelLabel .elementor-heading-title::before,#tcSvcLabel .elementor-heading-title::before{content:"";width:34px;height:1px;background:var(--ink);flex:none}
#tcWhoLabel,#tcDelLabel,#tcSvcLabel{margin-bottom:26px}
#tcWhoH2 .elementor-heading-title,#tcDelH2 .elementor-heading-title,#tcSvcH2 .elementor-heading-title{font-size:clamp(29px,3.2vw,44px);line-height:1.08;letter-spacing:-.02em;font-weight:700;max-width:680px}
#tcDelGrid>.e-con,#tcSvcGrid>.e-con{width:auto;border:1px solid var(--line);border-radius:var(--r);background:#fff;padding:32px 28px;box-shadow:0 14px 34px -26px rgba(10,30,68,.25);gap:0;transition:.3s;position:relative;overflow:hidden}
#tcDelGrid h3,#tcSvcGrid h3{font-size:18.5px;margin:14px 0 10px;font-weight:700}
#tcDelGrid .elementor-widget-text-editor,#tcSvcGrid .elementor-widget-text-editor{font-size:13.5px;line-height:1.7;color:var(--ink2)}
#tcSvcGrid>.e-con>.elementor-widget{position:static}
#tcSvcGrid>.e-con .more::after{content:"";position:absolute;inset:0;z-index:1}

/* --- Who we are --- */
#tcWho{padding:100px 0}
#tcWhoSplit{display:grid;grid-template-columns:1.35fr 1fr;gap:70px;align-items:start;margin-top:36px}
#tcWhoSplit>.e-con{width:auto}
#tcWhoLead{font-size:16px;line-height:1.8;color:var(--ink2)}
#tcWhoQuote{border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--r);background:#fff;padding:34px;font-size:16.5px;line-height:1.75;font-weight:500;box-shadow:0 18px 44px -30px rgba(10,30,68,.25)}
#tcWhoQuote .mono{display:block;font-size:10px;letter-spacing:.24em;color:var(--ink2);margin-bottom:16px}

/* --- What we do (band) --- */
#tcSvc{background:var(--paper2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:100px 0}
#tcSvcHeadRow{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:end;margin-bottom:56px}
#tcSvcHeadRow>.e-con{width:auto}
#tcSvcLead{font-size:16px;line-height:1.8;color:var(--ink2)}
#tcSvcGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;align-items:stretch}
#tcSvcGrid>.e-con{border-color:#B9C4DA;box-shadow:0 18px 40px -28px rgba(10,30,68,.3);min-height:310px}
#tcSvcGrid>.e-con::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#8FA6DE,transparent);z-index:2}
#tcSvcGrid>.e-con:hover{transform:translateY(-4px);box-shadow:0 24px 48px -28px rgba(10,30,68,.38)}
#tcSvcGrid .more{margin-top:auto}

/* --- How we deliver --- */
#tcDeliver{padding:100px 0}
#tcDelLead{font-size:16px;line-height:1.8;color:var(--ink2);margin-top:18px;max-width:520px}
#tcDelGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:56px;align-items:stretch}

/* --- CTA band --- */
#tcCta{background:var(--paper2);color:var(--ink);text-align:center;padding:120px 0;border-top:1px solid var(--line)}
#tcCtaWrap{align-items:center}
#tcCtaK .elementor-heading-title{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.3em;color:var(--ink2);text-transform:uppercase}
#tcCtaH2 .elementor-heading-title{font-size:clamp(29px,3.2vw,44px);line-height:1.08;letter-spacing:-.02em;font-weight:700;color:var(--ink);max-width:760px;margin:24px auto 16px}
#tcCtaP{color:var(--ink2);font-size:16px}
#tcCtaRow{display:flex;gap:18px;justify-content:center;align-items:center;margin-top:42px;flex-wrap:wrap;width:100%}
#tcCtaRow .btn-white{border-color:var(--ink);background:var(--ink);color:#fff}
#tcCtaRow .btn-white:hover{background:var(--navy2)}

@media(max-width:1080px){#tcDelGrid,#tcSvcGrid{grid-template-columns:1fr 1fr}}
@media(max-width:900px){#tcWhoSplit,#tcSvcHeadRow{grid-template-columns:1fr;gap:40px}}
@media(max-width:640px){#tcWhoWrap,#tcCtaWrap,#tcDeliverWrap,#tcSvcWrap{padding:0 22px}#tcWho,#tcDeliver,#tcSvc{padding:72px 0}#tcCta{padding:84px 0}#tcDelGrid,#tcSvcGrid{grid-template-columns:1fr}}/* End custom CSS */