.elementor-31 .elementor-element.elementor-element-b7ea089{--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-31 .elementor-element.elementor-element-9e28efe{--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-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-31 .elementor-element.elementor-element-bdc8868{--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-31 .elementor-element.elementor-element-64052ee{--display:flex;}.elementor-31 .elementor-element.elementor-element-e41d664{--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-31 .elementor-element.elementor-element-c8553cd{--display:flex;}.elementor-31 .elementor-element.elementor-element-691a077{--display:flex;}.elementor-31 .elementor-element.elementor-element-b75eb2b{--display:flex;}.elementor-31 .elementor-element.elementor-element-4bd1924{--display:flex;}.elementor-31 .elementor-element.elementor-element-f030db4{--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-31 .elementor-element.elementor-element-927a6f0{--display:flex;}.elementor-31 .elementor-element.elementor-element-1c7f921{--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-31 .elementor-element.elementor-element-4b9d343{--display:flex;}.elementor-31 .elementor-element.elementor-element-26aae1f{--display:flex;}.elementor-31 .elementor-element.elementor-element-64dd9cc{--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-31 .elementor-element.elementor-element-869a060{--display:flex;}.elementor-31 .elementor-element.elementor-element-9c33dd1{--display:flex;}.elementor-31 .elementor-element.elementor-element-85cc170{--display:flex;}.elementor-31 .elementor-element.elementor-element-013fd1c{--display:flex;}.elementor-31 .elementor-element.elementor-element-80ad24f{--display:flex;}.elementor-31 .elementor-element.elementor-element-b51c461{--display:flex;}.elementor-31 .elementor-element.elementor-element-a26c1ea{--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-31 .elementor-element.elementor-element-10ed5cb{--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-31 .elementor-element.elementor-element-7f1f358{--display:flex;}.elementor-31 .elementor-element.elementor-element-05a7176{--display:flex;}.elementor-31 .elementor-element.elementor-element-a3eeacb{--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-31 .elementor-element.elementor-element-a8e6c9c{--display:flex;}@media(min-width:768px){.elementor-31 .elementor-element.elementor-element-b7ea089{--width:100%;}.elementor-31 .elementor-element.elementor-element-9e28efe{--width:100%;}.elementor-31 .elementor-element.elementor-element-bdc8868{--width:100%;}.elementor-31 .elementor-element.elementor-element-64052ee{--width:100%;}.elementor-31 .elementor-element.elementor-element-e41d664{--width:100%;}.elementor-31 .elementor-element.elementor-element-c8553cd{--width:100%;}.elementor-31 .elementor-element.elementor-element-691a077{--width:100%;}.elementor-31 .elementor-element.elementor-element-b75eb2b{--width:100%;}.elementor-31 .elementor-element.elementor-element-4bd1924{--width:100%;}.elementor-31 .elementor-element.elementor-element-f030db4{--width:100%;}.elementor-31 .elementor-element.elementor-element-927a6f0{--width:100%;}.elementor-31 .elementor-element.elementor-element-1c7f921{--width:100%;}.elementor-31 .elementor-element.elementor-element-4b9d343{--width:100%;}.elementor-31 .elementor-element.elementor-element-26aae1f{--width:100%;}.elementor-31 .elementor-element.elementor-element-64dd9cc{--width:100%;}.elementor-31 .elementor-element.elementor-element-869a060{--width:100%;}.elementor-31 .elementor-element.elementor-element-9c33dd1{--width:100%;}.elementor-31 .elementor-element.elementor-element-85cc170{--width:100%;}.elementor-31 .elementor-element.elementor-element-013fd1c{--width:100%;}.elementor-31 .elementor-element.elementor-element-80ad24f{--width:100%;}.elementor-31 .elementor-element.elementor-element-b51c461{--width:100%;}.elementor-31 .elementor-element.elementor-element-a26c1ea{--width:100%;}.elementor-31 .elementor-element.elementor-element-10ed5cb{--width:100%;}.elementor-31 .elementor-element.elementor-element-7f1f358{--width:100%;}.elementor-31 .elementor-element.elementor-element-05a7176{--width:100%;}.elementor-31 .elementor-element.elementor-element-a3eeacb{--width:100%;}.elementor-31 .elementor-element.elementor-element-a8e6c9c{--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 (see Home page settings for rationale) */

/* --- shared --- */
#tcDirLabel .elementor-heading-title,#tcProcLabel .elementor-heading-title,#tcWhoSrvLabel .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}
#tcDirLabel .elementor-heading-title::before,#tcProcLabel .elementor-heading-title::before,#tcWhoSrvLabel .elementor-heading-title::before{content:"";width:34px;height:1px;background:var(--ink);flex:none}
#tcDirLabel,#tcProcLabel,#tcWhoSrvLabel{margin-bottom:26px}
#tcDirH2 .elementor-heading-title,#tcProcH2 .elementor-heading-title,#tcWhoSrvH2 .elementor-heading-title{font-size:clamp(29px,3.2vw,44px);line-height:1.08;letter-spacing:-.02em;font-weight:700;max-width:680px}
#tcDirGrid>.e-con,#tcProcGrid>.e-con{width:auto;border:1px solid var(--line);border-radius:var(--r);background:#fff;box-shadow:0 14px 34px -26px rgba(10,30,68,.25);gap:0;transition:.3s;position:relative;overflow:hidden}
#tcDirGrid h3,#tcProcGrid h3{margin:14px 0 10px;font-weight:700}
#tcDirGrid .elementor-widget-text-editor,#tcProcGrid .elementor-widget-text-editor{line-height:1.7;color:var(--ink2)}

/* --- page hero --- */
#tcPageHero{position:relative;background:var(--hero);color:#EAF0FE;overflow:hidden;border-bottom:1px solid var(--line)}
#tcPageHero::before{content:"";position:absolute;inset:0;background:radial-gradient(800px 400px at 80% 30%,rgba(62,110,224,.16),transparent 60%)}
#tcPhInner{position:relative;z-index:1;padding:76px 48px 72px;max-width:808px;margin:0 auto;width:100%;align-items:flex-start}
#tcPhH1 .elementor-heading-title{font-size:clamp(34px,3.8vw,52px);line-height:1.08;letter-spacing:-.02em;font-weight:700;color:#EAF0FE}
#tcPhH1 .g{background:linear-gradient(100deg,#9DB9F8,#5B8AF5);-webkit-background-clip:text;background-clip:text;color:transparent}
#tcPhP{margin-top:20px;font-size:16.5px;line-height:1.75;color:#93A5CE;max-width:600px}

/* --- Service directory (2x2, large cards) --- */
#tcDir{padding:100px 0}
#tcDirWrap{max-width:1260px;margin:0 auto;padding:0 48px;width:100%}
#tcDirGrid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:52px;align-items:stretch}
#tcDirGrid>.e-con{padding:40px 38px;border-color:#B9C4DA;box-shadow:0 18px 40px -28px rgba(10,30,68,.3)}
#tcDirGrid>.e-con::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#8FA6DE,transparent);z-index:2}
#tcDirGrid>.e-con:hover{transform:translateY(-4px);box-shadow:0 24px 48px -28px rgba(10,30,68,.38)}
#tcDirGrid h3{font-size:22px}
#tcDirGrid .elementor-widget-text-editor{font-size:14.5px}
#tcDirGrid .more{margin-top:auto}
#tcDirGrid>.e-con>.elementor-widget{position:static}
#tcDirGrid>.e-con .more::after{content:"";position:absolute;inset:0;z-index:1}

/* --- How we deliver (band) --- */
#tcProc{background:var(--paper2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:100px 0}
#tcProcWrap{max-width:1260px;margin:0 auto;padding:0 48px;width:100%}
#tcProcHeadRow{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:end;margin-bottom:56px}
#tcProcHeadRow>.e-con{width:auto}
#tcProcLead{font-size:16px;line-height:1.8;color:var(--ink2)}
#tcProcGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}
#tcProcGrid>.e-con{padding:32px 28px}
#tcProcGrid h3{font-size:17.5px;margin:0 0 8px}
#tcProcGrid .elementor-widget-text-editor{font-size:13.5px}

/* --- Who we serve --- */
#tcWhoSrv{padding:100px 0}
#tcWhoSrvSplit{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;max-width:1260px;margin:0 auto;padding:0 48px;width:100%}
#tcWhoSrvSplit>.e-con{width:auto}
#tcWhoSrvLead{font-size:16px;line-height:1.8;color:var(--ink2);margin-top:24px;max-width:480px}

/* --- CTA band --- */
#tcCta{background:var(--paper2);color:var(--ink);text-align:center;padding:120px 0;border-top:1px solid var(--line)}
#tcCtaWrap{max-width:1260px;margin:0 auto;padding:0 48px;width:100%;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){#tcProcGrid{grid-template-columns:1fr 1fr}}
@media(max-width:900px){#tcDirGrid,#tcProcHeadRow,#tcWhoSrvSplit{grid-template-columns:1fr;gap:40px}}
@media(max-width:640px){#tcPhInner{padding:56px 22px 52px}#tcDir,#tcProc,#tcWhoSrv{padding:72px 0}#tcCta{padding:84px 0}#tcDirWrap,#tcProcWrap,#tcWhoSrvSplit,#tcCtaWrap{padding:0 22px}#tcProcGrid{grid-template-columns:1fr}}/* End custom CSS */