.elementor-kit-6{--e-global-color-primary:#3D348B;--e-global-color-secondary:#7678ED;--e-global-color-text:#45425F;--e-global-color-accent:#FF4800;--e-global-color-fcxamber:#F7B801;--e-global-color-fcxorange:#F18701;--e-global-color-fcxcoral:#FF4800;--e-global-color-fcxnight:#1E1A4A;--e-global-color-fcxink:#14112E;--e-global-color-fcxlilac:#EEEDFD;--e-global-color-fcxpaper:#F7F6FC;--e-global-color-fcxmuted:#6B6885;--e-global-color-fcxline:#E4E2F0;--e-global-typography-primary-font-family:"Bricolage Grotesque";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Bricolage Grotesque";--e-global-typography-secondary-font-weight:700;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-weight:600;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1360px;}.e-con{--container-max-width:1360px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* =========================================================
   FUSION CX  |  Global styles (Site Settings > Custom CSS)
   Palette: Indigo #3D348B | Periwinkle #7678ED | Amber #F7B801
   Orange #F18701 | Blaze #C93700 | Coral #FF4800
   ========================================================= */
:root{
  --indigo:#3D348B; --peri:#7678ED; --amber:#F7B801; --orange:#F18701; --blaze:#C93700; --coral:#FF4800;
  --deep:#1E1A4A; --black:#14112E; --mist:#EEEDFD; --soft:#C9C6F5; --steel:#F7B801; --ember:#C93700;
  --white:#FFFFFF; --paper:#F7F6FC; --ink:#14112E; --body:#45425F; --muted:#6B6885;
  --line:#E4E2F0; --ember-ink:#B8420A;
  --f-display:"Bricolage Grotesque","Avenir Next","Segoe UI",system-ui,sans-serif;
  --f-body:"Inter","Segoe UI",system-ui,-apple-system,sans-serif;
  --wrap:1360px; --gut:clamp(20px,4vw,56px); --sec:clamp(96px,11vw,168px);
  --ease:cubic-bezier(.2,.7,.2,1); --spring:cubic-bezier(.2,.9,.25,1.15);
  --arr16:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M3 8h10M9 4l4 4-4 4' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --arr18:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' fill='none'%3E%3Cpath d='M3.5 9h11M10 4.5 14.5 9 10 13.5' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --ext12:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M4.5 2.5h5v5M9.5 2.5 3 9' stroke='%23000' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
  color-scheme:light;
}

/* ---------- Elementor normalisation (containers behave like plain divs) ---------- */
.fx.e-con{--display:flex}
.fx.e-con.e-con{--flex-wrap:nowrap;--flex-wrap-mobile:nowrap;--gap:0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--width:auto;--flex-grow:0;--flex-shrink:1;--flex-basis:auto;--align-items:normal;--justify-content:normal;--align-content:normal;--min-height:0;--height:auto;--overflow:visible;--z-index:auto;--margin-top:0px;--margin-right:0px;--margin-bottom:0px;--margin-left:0px}
:is(.elementor-section-wrap,[data-elementor-id])>.fx.e-con{max-width:none}
.e-con.e-con:is(.nav,.bar,.mega-bar,.legal,.hq-t,.hero-actions,.acts,.tq-cap){--flex-direction:row}
.fx.e-con,.fx .elementor-widget{min-width:auto}
.elementor-heading-title{line-height:inherit}
.elementor-widget-image{text-align:left}
body .elementor-widget-image img{display:block;max-width:100%}
body .elementor-widget-image a{display:block}
.e-static{position:static!important}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 96px);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--white);color:var(--body);font-family:var(--f-body);font-size:17px;line-height:1.7;letter-spacing:-.005em;font-feature-settings:"cv11","ss01","ss03";-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,video,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
a:hover,a:active{color:inherit}
h1,h2,h3,h4,h5,h6{font-family:var(--f-display);margin:0;color:var(--ink);font-weight:600;letter-spacing:-.02em;line-height:1.12;font-optical-sizing:auto;text-wrap:balance}
:is(h1,h2,h3,h4,h5,h6).elementor-heading-title{line-height:1.12}
p{text-wrap:pretty}
p,ul,li{font-family:var(--f-body)}
p{margin:0} ul{margin:0;padding:0;list-style:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;border-radius:0;text-transform:none}
button:hover,button:focus{background:none;color:inherit}
::selection{background:var(--ember);color:var(--black)}
:focus-visible{outline:2px solid var(--ember);outline-offset:3px;border-radius:6px}
.wrap{max-width:var(--wrap);margin-left:auto;margin-right:auto;padding-left:var(--gut);padding-right:var(--gut);width:100%}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* type */
h2,h2.elementor-heading-title{font-size:clamp(2.2rem,4.4vw,3.9rem);letter-spacing:-.03em;line-height:1.04;font-weight:650}
h3,h3.elementor-heading-title{font-size:clamp(1.25rem,1.7vw,1.6rem);letter-spacing:-.015em;line-height:1.2}
.kick{display:inline-flex;align-items:center;gap:10px;font-size:.92rem;font-weight:600;letter-spacing:.01em;color:var(--ember-ink);margin-top:6px;margin-bottom:22px!important;}@media (max-width:760px){.kick{margin-top:5px}}.kick{font-family:var(--f-body);line-height:1.7}
.kick::before{content:"";width:22px;height:3px;border-radius:2px;background:var(--ember);flex-shrink:0}
.kick.lt{color:var(--amber)}
.kick.lt::before{background:var(--amber)}
.kick .elementor-heading-title{color:inherit;font:inherit;letter-spacing:inherit}
.shead{display:grid;grid-template-columns:1.3fr .8fr;gap:clamp(24px,5vw,96px);align-items:end;margin-bottom:clamp(48px,6vw,84px)!important}
.shead p{max-width:46ch;font-size:1.08rem;line-height:1.7}
.shead .side{display:flex;flex-direction:column;gap:20px;align-items:flex-start}

/* palette stripe */
.stripe{display:flex;height:6px}
.stripe i{flex:1}
.stripe i:nth-child(1){background:#3D348B}.stripe i:nth-child(2){background:#7678ED}.stripe i:nth-child(3){background:#F7B801}.stripe i:nth-child(4){background:#F18701}.stripe i:nth-child(5){background:#C93700}.stripe i:nth-child(6){background:#FF4800}

/* ---------- buttons (Elementor Button widget) ---------- */
.fbtn{display:inline-flex}
.fbtn .elementor-button{display:inline-flex;align-items:center;justify-content:center;background:none;border-radius:0;color:inherit;fill:currentColor;font-family:var(--f-body);font-size:inherit;line-height:1.7;padding:0;text-align:left;transition:none;letter-spacing:inherit}
.fbtn .elementor-button:hover,.fbtn .elementor-button:focus,.fbtn .elementor-button:visited{color:inherit}
.fbtn .elementor-button-content-wrapper{display:inline-flex;align-items:center;gap:inherit}
.fbtn.btn .elementor-button{gap:10px;min-height:54px;padding:0 28px;border-radius:999px;font-weight:600;font-size:1rem;transition:transform .25s var(--spring),background-color .2s,color .2s,border-color .2s;will-change:transform}
.fbtn.btn .elementor-button:active{transform:scale(.96)}
.fbtn.arrow .elementor-button-content-wrapper::after{content:"";width:18px;height:18px;flex-shrink:0;background:currentColor;-webkit-mask:var(--arr18) center/contain no-repeat;mask:var(--arr18) center/contain no-repeat;transition:transform .3s var(--ease)}
.fbtn.arrow .elementor-button:hover .elementor-button-content-wrapper::after{transform:translateX(4px)}
.fbtn.btn .elementor-button-content-wrapper{gap:10px}
.fbtn.b-ember .elementor-button,.fbtn.btn-ember .elementor-button{background:var(--ember);color:var(--black)}
.fbtn.b-ember .elementor-button:hover{background:#FF4800}
.fbtn.b-black .elementor-button{background:var(--black);color:#fff}
.fbtn.b-black .elementor-button:hover{background:var(--deep);color:#fff}
.fbtn.b-line .elementor-button{border:1.5px solid rgba(6,7,8,.45);color:var(--black)}
.fbtn.b-line .elementor-button:hover{border-color:var(--black);color:var(--black)}
.fbtn.b-indigo .elementor-button{background:var(--indigo);color:#fff}
.fbtn.b-indigo .elementor-button:hover{background:#2E2770;color:#fff}
/* text link with arrow */
.fbtn.ln .elementor-button,span.ln,a.ln{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--indigo);background:linear-gradient(currentColor,currentColor) 0 100%/0 2px no-repeat;padding:0 0 3px;border-radius:0;transition:background-size .35s var(--ease)}
.fbtn.ln .elementor-button:hover,span.ln:hover,a.ln:hover{background-size:100% 2px;color:var(--indigo)}
.fbtn.ln .elementor-button-content-wrapper{gap:8px}
.fbtn.ln .elementor-button-content-wrapper::after{content:"";width:16px;height:16px;flex-shrink:0;background:currentColor;-webkit-mask:var(--arr16) center/contain no-repeat;mask:var(--arr16) center/contain no-repeat;transition:transform .3s var(--ease)}
.fbtn.ln .elementor-button:hover .elementor-button-content-wrapper::after{transform:translateX(4px)}
.ln svg{width:16px;height:16px;transition:transform .3s var(--ease)}
.ln:hover svg{transform:translateX(4px)}
.fbtn.ln.lt .elementor-button,.fbtn.ln.lt .elementor-button:hover,.ln.lt{color:#fff}

/* reveal */
.rv{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)!important}
.rv.in{opacity:1;transform:none}
.rv.d1{transition-delay:.08s!important}.rv.d2{transition-delay:.16s!important}.rv.d3{transition-delay:.24s!important}
.elementor-editor-active .rv{opacity:1;transform:none}

/* =========================================================
   HEADER (Theme Builder header)
   ========================================================= */
.elementor-location-header{position:sticky;top:0;z-index:100}
.admin-bar .elementor-location-header{top:var(--wp-admin--admin-bar--height,32px)}
.hdr{position:relative;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line);transition:box-shadow .3s var(--ease)!important}
.hdr.solid{box-shadow:0 10px 30px -18px rgba(20,17,46,.35)}
.hdr .bar{position:relative;display:flex;flex-direction:row;--flex-direction:row;align-items:center;gap:24px;height:80px}
.hdr .logo{display:flex;align-items:center;flex-shrink:0}
.hdr .logo img{height:56px;width:auto}
@media (max-width:760px){.hdr .logo img{height:50px}}
.nav{display:flex;flex-direction:row;--flex-direction:row;align-items:center;gap:2px;margin-left:auto!important;position:static}
.nav-item{position:static}
.nav-btn{position:relative;display:inline-flex;align-items:center;gap:6px;height:44px;padding:0 12px;border-radius:999px;font-family:var(--f-body);font-size:.93rem;font-weight:500;line-height:1.7;letter-spacing:inherit;color:var(--ink);white-space:nowrap;transition:background-color .2s}button.nav-btn{letter-spacing:normal}
.nav-btn svg{width:12px;height:12px;opacity:.7;transition:transform .25s var(--ease)}
.nav-btn .ext{width:12px;height:12px}
.nav-ext .ext{opacity:.55;transition:transform .25s var(--ease),opacity .2s}
.nav-ext:hover .ext{opacity:1;transform:translate(2px,-2px)}
.nav-btn:hover,.nav-item.open .nav-btn{background:var(--mist);color:var(--ink)}
.nav-item.open .nav-btn svg{transform:rotate(180deg)}
.nav-item .nav-btn::after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:2.5px;border-radius:2px;background:var(--blaze);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.nav-item.open .nav-btn::after{transform:scaleX(1)}
.nav .btn-start{margin-left:10px}
.fbtn.btn-start .elementor-button{min-height:44px;padding:0 22px;font-size:.93rem;background:#FF4800;color:#14112E;border:0}
.fbtn.btn-start .elementor-button:hover{background:#C93700;color:#14112E}

/* mega panels */
.mega{position:absolute!important;left:var(--gut);right:var(--gut);top:calc(100% + 8px);z-index:5;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 40px 90px -30px rgba(20,17,46,.35);overflow:hidden;opacity:0;visibility:hidden;transform:translateY(-8px) scale(.99);transform-origin:top center;transition:opacity .22s var(--ease),transform .22s var(--ease),visibility 0s .22s!important;max-height:calc(100vh - 110px);overflow-y:auto}
.nav-item.open .mega,.elementor-editor-active .nav-item:has(.elementor-element-editable) .mega{opacity:1;visibility:visible;transform:none;transition:opacity .22s var(--ease),transform .22s var(--ease)!important}
.mega-grid{display:grid;gap:28px 32px;padding:32px 34px}
.mg-company{grid-template-columns:1fr 1fr 1fr 1.15fr}
.mg-services,.mg-industries{grid-template-columns:1.05fr repeat(4,1fr)}
.mg-ai{grid-template-columns:1fr 2fr 1.1fr}
.mg-loc{grid-template-columns:1.05fr repeat(4,.8fr) 1.15fr}
.mg-ins{grid-template-columns:1fr .8fr .8fr 1.1fr 1.1fr}
.mintro{background:var(--paper);border-radius:18px;padding:24px;display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.mintro .mi{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;color:#fff;margin-bottom:6px}
.mintro .mi svg{width:22px;height:22px}
.mintro h5{font-family:var(--f-display);font-size:1.45rem;letter-spacing:-.02em;color:var(--ink)}
.mintro p{font-size:.9rem;line-height:1.55;color:var(--body)}
.mintro .md{margin-bottom:auto!important}
.mintro .ln{font-size:.92rem;margin-top:10px}
.mcol h6{display:flex;align-items:center;gap:10px;font-family:var(--f-display);font-size:.98rem;font-weight:600;color:var(--ink);letter-spacing:-.01em;line-height:1.12;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.mcol h6 i{width:9px;height:9px;border-radius:3px;flex-shrink:0}
.mcol h6 a{color:inherit}
.mcol h6 a:hover{color:var(--indigo)}
.mcol > .elementor-widget-heading:not(:first-child) h6{margin-top:20px}
.mcol h6.elementor-heading-title{line-height:1.12}
.mcol .ih h6{border-bottom:0;padding-bottom:0}
.mcol .ih h6 img{width:40px;height:40px;border-radius:10px;object-fit:cover;flex-shrink:0}
.fx .mcol .elementor-icon-list-item a{position:relative;display:flex;align-items:center;padding:6px 0;font-size:.9rem;line-height:1.7;color:var(--body);transition:color .15s,padding .25s var(--ease)}
.fx .mcol .elementor-icon-list-item a::before{content:"";position:absolute;left:0;top:50%;width:0;height:2px;background:var(--blaze);border-radius:2px;transition:width .25s var(--ease)}
.fx .mcol .elementor-icon-list-item a:hover{color:var(--indigo);padding-left:16px}
.fx .mcol .elementor-icon-list-item a:hover::before{width:10px}
.mfeat{display:flex;flex-direction:column;border-radius:18px;overflow:hidden;background:var(--mist);transition:transform .35s var(--spring)!important}
.mfeat:hover{transform:translateY(-3px)}
.mf-img{display:block;aspect-ratio:16/10;overflow:hidden}
.mf-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.mfeat:hover .mf-img img{transform:scale(1.05)}
.mf-tag .elementor-heading-title{display:block;margin:16px 18px 4px;font-family:var(--f-body);font-size:.78rem;font-weight:600;line-height:1.7;letter-spacing:inherit;color:var(--ember-ink)}
.mf-t .elementor-heading-title{display:block;margin:0 18px;font-family:var(--f-display);font-weight:600;font-size:1.08rem;line-height:1.25;letter-spacing:-.012em;color:var(--ink)}
.mf-l{display:inline-flex;align-items:center;gap:6px;margin:12px 18px 18px;font-size:.88rem;font-weight:600;line-height:1.7;color:var(--indigo)}
.mf-l svg{width:14px;height:14px;transition:transform .3s var(--ease)}
.mfeat:hover .mf-l svg{transform:translateX(4px)}
.prod-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-content:start}
.prod-list .pl{display:grid;grid-template-columns:12px 1fr;column-gap:12px;padding:16px 18px;border-radius:14px;border:1px solid var(--line);transition:background-color .2s,border-color .2s,transform .3s var(--spring)!important}
.prod-list .pl:hover{background:var(--paper);border-color:var(--peri);transform:translateY(-2px)}
.prod-list .pl-i{grid-row:1/3}
.prod-list .pl-i i{display:block;width:12px;height:12px;border-radius:4px;margin-top:5px}
.prod-list .pl-t .elementor-heading-title{font-family:var(--f-display);font-weight:600;font-size:1.02rem;line-height:1.7;color:var(--ink);letter-spacing:-.01em}
.prod-list .pl-d .elementor-heading-title{display:block;font-family:var(--f-body);font-weight:400;font-size:.84rem;color:var(--muted);line-height:1.45;margin-top:2px;letter-spacing:inherit}
.mega-bar{display:flex;flex-direction:row;--flex-direction:row;justify-content:space-between;align-items:center;gap:16px;padding:14px 34px;background:var(--paper);border-top:1px solid var(--line);font-size:.88rem;color:var(--muted)}
.mega-bar a{color:var(--indigo);font-weight:600}
.fbtn.mb-cta .elementor-button{gap:8px;min-height:40px;padding:0 16px;border-radius:999px;background:var(--indigo);color:#fff;font-weight:600;font-size:.88rem}
.fbtn.mb-cta .elementor-button:hover{background:#2E2770;color:#fff}
.fbtn.mb-cta .elementor-button-content-wrapper{gap:8px}
.fbtn.mb-cta .elementor-button-content-wrapper::after{content:"";width:14px;height:14px;background:currentColor;-webkit-mask:var(--arr16) center/contain no-repeat;mask:var(--arr16) center/contain no-repeat}
.menu-btn{display:none;margin-left:auto;width:48px;height:48px;border-radius:12px;align-items:center;justify-content:center;color:var(--ink)}
.menu-btn svg{width:26px;height:26px}
.menu-w{margin-left:auto!important;display:none}@media (max-width:1160px){.menu-w{display:block}}
.drawer{position:fixed;left:0;right:0;top:80px;height:calc(100vh - 80px);height:calc(100dvh - 80px);z-index:99;background:var(--black);color:#fff;overflow:auto;padding:12px var(--gut) calc(env(safe-area-inset-bottom,0px) + 32px);display:none}
.drawer.show{display:block}
.drawer details{border-bottom:1px solid rgba(255,255,255,.12)}
.drawer summary{list-style:none;display:flex;justify-content:space-between;align-items:center;min-height:60px;font-family:var(--f-display);font-weight:600;font-size:1.3rem;cursor:pointer}
.drawer summary::-webkit-details-marker{display:none}
.drawer summary::after{content:"+";font-weight:400;font-size:1.6rem;color:var(--ember)}
.drawer details[open] summary::after{content:"−"}
.drawer .d-body{padding:0 0 18px}
.drawer .d-body h6{font-family:var(--f-display);font-size:.9rem;color:var(--steel);margin:14px 0 4px}
.drawer .d-body a{display:block;padding:8px 0;color:#DAD8F3}
.drawer .d-flat{display:flex;align-items:center;min-height:60px;border-bottom:1px solid rgba(255,255,255,.12);font-family:var(--f-display);font-weight:600;font-size:1.3rem}
.drawer .btn{display:inline-flex;align-items:center;justify-content:center;width:100%;margin-top:24px;min-height:54px;padding:0 28px;border-radius:999px;font-weight:600;font-size:1rem}
.drawer .btn-start{background:#FF4800;color:#14112E;border:0}
.drawer .btn-start:hover{background:#C93700;color:#14112E}
.elementor-editor-active .drawer{display:none!important}
@media (max-width:1260px){.nav-btn{padding:0 9px;font-size:.88rem}}
@media (max-width:1160px){.nav{display:none!important}.menu-btn{display:inline-flex}}
@media (max-width:760px){.mega{display:none}}

/* =========================================================
   FOOTER (Theme Builder footer)
   ========================================================= */
.ftr{background:var(--black);color:#A9A6CC;font-size:.93rem}
.ftr a{color:#DAD8F3;transition:color .15s}
.ftr a:hover{color:var(--ember)}
.ftr h6{font-family:var(--f-display);color:#fff;font-size:.98rem;margin-bottom:16px}
.f-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:end;padding:clamp(64px,7vw,100px) 0 48px!important;border-bottom:1px solid rgba(255,255,255,.1)}
.f-hero .big{font-family:var(--f-display);font-weight:600;font-size:clamp(1.3rem,2vw,1.65rem);letter-spacing:-.015em;line-height:1.4;color:#fff}
.f-hero .big p{font-family:inherit}
.f-hero .big a{color:var(--ember)}
.f-hero .big a:hover{color:#fff}
.f-hero .right{display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.ftr .logo{margin-bottom:6px!important}
.ftr .logo img{height:58px;width:auto}
.social{display:flex;gap:10px}
.social a{width:46px;height:46px;border-radius:50%;background:#27225C;display:grid;place-items:center;color:#fff;transition:background-color .2s,color .2s}
.ftr .social a:hover{background:var(--ember);color:var(--black)}
.social svg{width:18px;height:18px}
.hqs{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:14px;padding:40px 0!important;border-bottom:1px solid rgba(255,255,255,.1)}
.hq{border-radius:20px;padding:24px 26px!important}
.hq .fl{font-size:.8rem;font-weight:600;margin-bottom:10px!important;line-height:1.7}
.hq h5{display:flex;align-items:center;gap:8px;font-family:var(--f-display);font-size:1.4rem;letter-spacing:-.025em;margin-bottom:6px}
.hq .hq-t{display:flex;flex-direction:row;--flex-direction:row;align-items:center;gap:8px;margin-bottom:6px}.hq .hq-t h5{margin-bottom:0}.hq .pin-w svg{width:20px;height:20px;color:var(--amber)}
.hq p{font-size:.9rem}
.hq address{font-style:normal;font-size:.93rem;line-height:1.65;color:#DAD8F3}
.hq.us{background:var(--indigo);color:#DAD8F3}.hq.us .fl{color:var(--amber)}.hq.us h5{color:#fff}
.hq.in{background:var(--deep);color:#DAD8F3}.hq.in .fl{color:#F7B801}.hq.in h5{color:#fff}
.hq.fp{background:#262157;color:#C7C4E6}.hq.fp .fl{color:var(--coral)}.hq.fp h5{color:#fff}
.hq.fp h5{margin-bottom:0}.hq.fp ul{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:10px}
.hq.fp li{font-size:.88rem;color:#DAD8F3}
.f-cols{display:grid;grid-template-columns:repeat(5,1fr);gap:28px;padding:52px 0!important;border-bottom:1px solid rgba(255,255,255,.1)}
.fx .f-cols .elementor-icon-list-item a{display:block;padding:5px 0;font-size:.93rem;line-height:1.7;color:#DAD8F3}
.fx .f-cols .elementor-icon-list-item a:hover{color:var(--ember)}
.legal{display:flex;flex-direction:row;--flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:26px 0 34px!important;font-size:.85rem}
.legal ul{display:flex;flex-wrap:wrap;gap:6px 22px}
.ftr .legal a{color:#A9A6CC}
.ftr .legal a:hover{color:var(--ember)}
.f-ext{display:flex;flex-wrap:wrap;gap:10px;order:3}
.ftr .f-ext a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border-radius:999px;border:1.5px solid rgba(255,255,255,.28);color:#A9A6CC;font-weight:600;font-size:.93rem;transition:background-color .2s,border-color .2s,color .2s}
.f-ext a svg{width:12px;height:12px;transition:transform .25s var(--ease)}
.ftr .f-ext a:hover{background:#FF4800;border-color:#FF4800;color:#14112E}
.f-ext a:hover svg{transform:translate(2px,-2px)}
.legal .copy{font-size:.85rem}

@media (max-width:1100px){
  .hqs{grid-template-columns:1fr 1fr}
  .hq.fp{grid-column:1/-1}
  .f-cols{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:760px){
  body{font-size:16px}
  .shead{grid-template-columns:1fr;align-items:start}
  .f-hero{grid-template-columns:1fr}
  .hqs{grid-template-columns:1fr}
  .f-cols{grid-template-columns:1fr 1fr}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .rv{opacity:1;transform:none}
}
/* Industries mega menu: icons instead of photos */
.mcol .ih h6 .ind-ic{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:10px;flex-shrink:0;background:var(--ib,#EEEDFD);transition:transform .25s var(--spring)}
.mcol .ih h6 .ind-ic::before{content:"";width:22px;height:22px;background:var(--if,#3D348B);-webkit-mask:var(--im) center/contain no-repeat;mask:var(--im) center/contain no-repeat}
.mcol .ih:hover h6 .ind-ic{transform:scale(1.06)}
.mcol .ih h6 .ind-ic-bfsi{--ib:#FEF3D1;--if:#A77600;--im:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9.5 12 4l9 5.5M4.5 10v8M9 10v8M15 10v8M19.5 10v8M3 20h18'/%3E%3C/svg%3E")}
.mcol .ih h6 .ind-ic-hightech{--ib:#EEEDFD;--if:#5153C9;--im:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='7' y='7' width='10' height='10' rx='2'/%3E%3Cpath d='M10.5 10.5h3v3h-3zM9.5 3v4M14.5 3v4M9.5 17v4M14.5 17v4M3 9.5h4M3 14.5h4M17 9.5h4M17 14.5h4'/%3E%3C/svg%3E")}
.mcol .ih h6 .ind-ic-healthcare{--ib:#FFE5E0;--if:#D9412B;--im:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7.5-4.6-7.5-10.2A4.3 4.3 0 0 1 12 7.1a4.3 4.3 0 0 1 7.5 2.7C19.5 15.4 12 20 12 20Z'/%3E%3Cpath d='M6 12h3l1.5-2.5 2 5 1.5-2.5H18'/%3E%3C/svg%3E")}
.mcol .ih h6 .ind-ic-travel{--ib:#FFF0DC;--if:#C45F00;--im:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.8 19.2 16 11l3.5-3.5C21 6 21.5 4 21 3c-1-.5-3 0-4.5 1.5L13 8 4.8 6.2c-.5-.1-.9.1-1.1.5l-.3.5c-.2.5-.1 1 .3 1.3L9 12l-2 3H4l-1 1 3 2 2 3 1-1v-3l3-2 3.5 5.3c.3.4.8.5 1.3.3l.5-.2c.4-.3.6-.7.5-1.2z'/%3E%3C/svg%3E")}
.mcol .ih h6 .ind-ic-telecom{--ib:#E8E6F7;--if:#3D348B;--im:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.9 16.1C1 12.2 1 5.8 4.9 1.9M7.8 4.7a6.1 6.1 0 0 0-.8 7.5M16.2 4.8c2 2 2.3 5.1.8 7.5M19.1 1.9a10 10 0 0 1 0 14.1M9.5 18h5M8 22l4-11 4 11'/%3E%3Ccircle cx='12' cy='9' r='2'/%3E%3C/svg%3E")}
.mcol .ih h6 .ind-ic-utilities{--ib:#FFE9DA;--if:#D14E00;--im:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 2 4 14h7l-1 8 9-12h-7l1-8Z'/%3E%3C/svg%3E")}
.mcol .ih h6 .ind-ic-home-services{--ib:#E7E5F5;--if:#1E1A4A;--im:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11.5 12 4l9 7.5M5.5 9.5V20h13V9.5M10 20v-5h4v5'/%3E%3C/svg%3E")}
.mcol .ih h6 .ind-ic-retail{--ib:#FDE7EF;--if:#C0306B;--im:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.5 7.5h13l1 12.5h-15l1-12.5Z'/%3E%3Cpath d='M9 10V6.5a3 3 0 0 1 6 0V10'/%3E%3C/svg%3E")}

/* ==== Balanced image + content sections (image left, content right) ==== */
/* Benefit grids (service, digital solutions pages): the image column follows the height of the cards */
@media (min-width:1101px){
html body [data-elementor-type="wp-page"] .ben-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr)!important;grid-auto-rows:auto!important;align-items:stretch!important}
html body [data-elementor-type="wp-page"] .ben-grid>.ben-art{grid-column:1!important;grid-row:1/span 2!important;min-height:280px!important;height:auto!important}
html body [data-elementor-type="wp-page"] .ben-grid:has(>:nth-child(6))>.ben-art{grid-row:1/span 3!important}
html body [data-elementor-type="wp-page"] .ben-grid:has(>:nth-child(8))>.ben-art{grid-row:1/span 4!important}
html body [data-elementor-type="wp-page"] .ben-grid:has(>:nth-child(10))>.ben-art{grid-row:1/span 5!important}
html body [data-elementor-type="wp-page"] .ben-grid>.ben-art img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important}
/* AI sections: image matches the AI cards */
html body [data-elementor-type="wp-page"] .ai-grid{align-items:stretch!important}
html body [data-elementor-type="wp-page"] .ai-grid>.ai-art{position:relative!important;min-height:300px!important;border-radius:26px!important;overflow:hidden!important}
html body [data-elementor-type="wp-page"] .ai-grid>.ai-art img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;object-fit:cover!important}
/* Industry specialist program: image matches the steps */
html body [data-elementor-type="wp-page"] .ip-spec-grid{align-items:stretch!important}
html body [data-elementor-type="wp-page"] .ip-spec-grid>.ip-spec-art{position:relative!important;min-height:360px!important}
html body [data-elementor-type="wp-page"] .ip-spec-grid>.ip-spec-art img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;aspect-ratio:auto!important;object-fit:cover!important}
html body [data-elementor-type="wp-page"] .ip-spec-grid>.ip-spec-art>.elementor-widget-image{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;margin:0!important}
}
/* Tablet: stacked, image as a landscape banner */
@media (min-width:761px) and (max-width:1100px){
html body [data-elementor-type="wp-page"] .ben-grid>.ben-art{min-height:0!important;height:auto!important;aspect-ratio:3/2!important;max-height:480px!important}
html body [data-elementor-type="wp-page"] .ben-grid>.ben-art img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important}
html body [data-elementor-type="wp-page"] .ip-spec-grid>.ip-spec-art img{aspect-ratio:3/2!important;max-height:480px!important}
}
/* Mobile */
@media (max-width:760px){
html body [data-elementor-type="wp-page"] .ben-grid>.ben-art{min-height:0!important;height:auto!important;aspect-ratio:4/3!important}
html body [data-elementor-type="wp-page"] .ben-grid>.ben-art img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important}
html body [data-elementor-type="wp-page"] .ai-grid>.ai-art img{aspect-ratio:4/3!important}
html body [data-elementor-type="wp-page"] .ip-spec-grid>.ip-spec-art img{aspect-ratio:4/3!important}
}
/* Case study hero: compact KPI badge on phones so it doesn't cover the image */
@media (max-width:767px){
 html body .fcx-cs .kpi.fxb.e-con:not(#_){left:10px;bottom:10px;padding:8px 12px;gap:8px;border-radius:14px;max-width:calc(100% - 20px);flex-wrap:nowrap}
 html body .fcx-cs .kpi .kv .elementor-heading-title{font-size:1.3rem}
 html body .fcx-cs .kpi .kl .elementor-heading-title{font-size:.72rem;max-width:20ch}
}
/* Stacked image banners (tablet + mobile): keep faces in frame, no extreme crops */
@media (max-width:1100px){
html body [data-elementor-type="wp-page"] .ben-grid>.ben-art img,html body [data-elementor-type="wp-page"] .ip-spec-grid>.ip-spec-art img,html body [data-elementor-type="wp-page"] .why-side .why-art img{object-position:50% 30%!important}
html body [data-elementor-type="wp-page"] .why-side .why-art{min-height:0!important;flex:0 0 auto!important;aspect-ratio:3/2;max-height:480px}
}
@media (max-width:760px){
html body [data-elementor-type="wp-page"] .why-side .why-art{aspect-ratio:4/3}
}
/* Desktop: side images never grow taller than 640px next to long lists; they stay in view while the list scrolls */
@media (min-width:1101px){
html body [data-elementor-type="wp-page"] .ai-grid>.ai-art,html body [data-elementor-type="wp-page"] .ip-spec-grid>.ip-spec-art{align-self:start!important;position:sticky!important;top:110px!important;height:min(100%,640px)!important}
}
/* Mobile benefit cards: columns can shrink, long words (e.g. German) wrap instead of pushing the page sideways */
@media (max-width:760px){
html body [data-elementor-type="wp-page"] .ben-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
html body [data-elementor-type="wp-page"] .ben-grid>.ben-art{grid-column:1/-1!important}
html body [data-elementor-type="wp-page"] .ben-grid .ben{min-width:0!important}
html body [data-elementor-type="wp-page"] .ben-grid .ben .elementor-heading-title,html body [data-elementor-type="wp-page"] .ben-grid .ben p{overflow-wrap:anywhere;hyphens:auto}
}
/* Why-section photo: keep faces in frame when the photo is cropped to a wide shape */
html body [data-elementor-type="wp-page"] .why-side .why-art img{object-position:50% 30%!important}

/* Stacked benefit grids: the banner image takes only its own height (no empty gap under it) */
@media (max-width:1100px){
html body [data-elementor-type="wp-page"] .ben-grid{grid-auto-rows:auto!important;grid-template-rows:none!important}
html body [data-elementor-type="wp-page"] .ben-grid>.ben-art{grid-row:auto!important;grid-column:1/-1!important;align-self:start!important}
}

/* header logo: keep natural width on tablet/phone (editor % width squeezed it) */
@media (max-width:1100px){html body .hdr .logo.elementor-widget-image:not(#_){width:auto!important;max-width:none!important;flex:0 0 auto!important;--container-widget-width:auto;--container-widget-flex-grow:0}html body .hdr .logo.elementor-widget-image img:not(#_){width:auto!important;max-width:none!important}}

/* mobile drawer: consistent type hierarchy (group label vs menu links) */
.drawer summary{font-size:1.2rem;line-height:1.3}
.drawer .d-flat{font-size:1.2rem;line-height:1.3}
.drawer .d-body{padding:0 0 16px}
.drawer .d-body h6,.drawer .d-body h6 a{font-family:var(--f-body);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;line-height:1.4;color:var(--amber)}
.drawer .d-body h6{margin:18px 0 4px;padding:0}
.drawer .d-body h6:first-child{margin-top:4px}
.drawer .d-body h6 a{display:inline;padding:0}
.drawer .d-body h6 a:hover{color:#fff}
.drawer .d-body > a{font-family:var(--f-body);font-size:1rem;font-weight:500;line-height:1.4;letter-spacing:0;padding:9px 0;color:#DAD8F3}
.drawer .d-body > a:hover{color:#fff}
/* === RSP: responsive layer (tablet 768-1024 + mobile <=767 only) === */
/* ---------- 1. Header: logo, bar height, menu button, drawer ---------- */
@media (max-width:1024px){
html body .hdr .logo img:not(#_):not(#_){height:54px!important}
html body .hdr .bar.e-con:not(#_){padding-top:7px!important;padding-bottom:7px!important;min-height:0!important}
html body .menu-btn:not(#_){position:relative;width:44px;height:44px;margin-right:-6px}
html body .menu-btn[aria-expanded="true"] svg:not(#_){opacity:0}
html body .menu-btn[aria-expanded="true"]::before,html body .menu-btn[aria-expanded="true"]::after{content:"";position:absolute;left:50%;top:50%;width:22px;height:2px;border-radius:2px;background:currentColor;transform:translate(-50%,-50%) rotate(45deg)}
html body .menu-btn[aria-expanded="true"]::after{transform:translate(-50%,-50%) rotate(-45deg)}
html body .drawer:not(#_){top:var(--fcx-hdr-h,69px);height:calc(100vh - var(--fcx-hdr-h,69px));height:calc(100dvh - var(--fcx-hdr-h,69px))}
}
@media (max-width:767px){
html body .hdr .logo img:not(#_):not(#_){height:44px!important}
html body .hdr .bar.e-con:not(#_){padding-top:6px!important;padding-bottom:6px!important}
html body .drawer:not(#_){top:var(--fcx-hdr-h,57px);height:calc(100vh - var(--fcx-hdr-h,57px));height:calc(100dvh - var(--fcx-hdr-h,57px));padding-top:4px}
html body .drawer summary:not(#_),html body .drawer .d-flat:not(#_){min-height:54px;font-size:1.1rem}
html body .drawer .btn:not(#_){min-height:50px;margin-top:20px}
}

/* ---------- 2. Footer ---------- */
@media (max-width:1024px){
html body .ftr .f-hero:not(#_){padding:56px 0 36px!important;gap:28px}
html body .ftr .hqs:not(#_){padding:32px 0!important;gap:12px}
html body .ftr .f-cols:not(#_){padding:40px 0!important;gap:24px 20px}
}
@media (max-width:767px){
html body .ftr .f-hero:not(#_){padding:44px 0 28px!important;gap:22px}
html body .ftr .f-hero .big:not(#_){font-size:1.15rem;line-height:1.45}
html body .ftr .logo img:not(#_){height:46px}
html body .ftr .social:not(#_){gap:8px;flex-wrap:wrap}
html body .ftr .social a:not(#_){width:40px;height:40px}
html body .ftr .hqs:not(#_){padding:24px 0!important;gap:10px}
html body .ftr .hq:not(#_){padding:18px 20px!important;border-radius:16px}
html body .ftr .hq h5:not(#_){font-size:1.2rem}
html body .ftr .hq .fl:not(#_){margin-bottom:6px!important}
html body .ftr .f-cols:not(#_){padding:30px 0!important;gap:22px 16px}
html body .ftr h6:not(#_){margin-bottom:8px;font-size:.95rem}
html body .ftr .f-cols .elementor-icon-list-item a:not(#_){padding:4px 0;font-size:.9rem;line-height:1.4}
}
/* ---------- 3. Section spacing (sections that use the standing 80px rhythm) ---------- */
@media (min-width:768px) and (max-width:1024px){
html body [data-elementor-type] :is(.svc,.ind2,.omind,.data-sec,.out-sec,.cases-sec,.ins-sec,.clients,.tst,.faqs,.ip-intro,.ip-svc,.ip-spec,.ip-ai,.ip-why,.ip-cases,.ip-talk,.ip-posts,.ip-approach,.co-story,.co-pillars,.co-vm,.co-values,.co-explore,.co-sec,.lg-body,.results,.csstory,.gate,.rel,.meet2,.ld-more,.e4-sec).e-con:not(#_):not(#_){padding-top:40px!important;padding-bottom:40px!important}
html body [data-elementor-type] .rec.e-con:not(#_):not(#_){padding-top:40px!important}
html body [data-elementor-type] .ldh.e-con:not(#_):not(#_){padding-bottom:40px!important}
html body [data-elementor-type] .ir-gh+.co-sec.e-con:not(#_):not(#_){padding-top:28px!important}
}
@media (max-width:767px){
html body [data-elementor-type] :is(.svc,.ind2,.omind,.data-sec,.out-sec,.cases-sec,.ins-sec,.clients,.tst,.faqs,.ip-intro,.ip-svc,.ip-spec,.ip-ai,.ip-why,.ip-cases,.ip-talk,.ip-posts,.ip-approach,.co-story,.co-pillars,.co-vm,.co-values,.co-explore,.co-sec,.lg-body,.results,.csstory,.gate,.rel,.meet2,.ld-more,.e4-sec).e-con:not(#_):not(#_){padding-top:30px!important;padding-bottom:30px!important}
html body [data-elementor-type] .rec.e-con:not(#_):not(#_){padding-top:30px!important}
html body [data-elementor-type] .ldh.e-con:not(#_):not(#_){padding-bottom:30px!important}
html body [data-elementor-type] .ir-gh+.co-sec.e-con:not(#_):not(#_){padding-top:20px!important}
html body [data-elementor-type] .fcx-car-main:not(#_){padding-bottom:52px!important}
}

/* ---------- 4. Type scale (content documents only; header/footer/drawer untouched) ---------- */
@media (min-width:768px) and (max-width:1024px){
html body [data-elementor-type]:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) h1:not(#_):not(#_){font-size:clamp(2.2rem,4.3vw,2.75rem)!important;line-height:1.1!important}
html body [data-elementor-type]:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) h2:not(:is(.elementor-post,.e-loop-item,.swiper-slide,.elementor-posts-container) h2):not(#_):not(#_){font-size:clamp(1.8rem,3.4vw,2.2rem)!important;line-height:1.14!important}
html body [data-elementor-id="38"]:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .hero h1:not(#_):not(#_){font-size:clamp(3rem,6.2vw,3.9rem)!important;line-height:1.02!important}
}
@media (max-width:767px){
html body [data-elementor-type]:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) h1:not(#_):not(#_){font-size:clamp(1.9rem,8.2vw,2.35rem)!important;line-height:1.12!important}
html body [data-elementor-type]:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) h2:not(:is(.elementor-post,.e-loop-item,.swiper-slide,.elementor-posts-container) h2):not(#_):not(#_){font-size:clamp(1.55rem,6.8vw,1.9rem)!important;line-height:1.16!important}
html body [data-elementor-id="38"]:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .hero h1:not(#_):not(#_){font-size:clamp(2.4rem,10.6vw,2.9rem)!important;line-height:1.04!important}
html body [data-elementor-type] :is(.ai-card,.pillar,.ccard,.bb,.p3,.ld-wrap) h3:not(#_):not(#_){font-size:1.2rem!important;line-height:1.25!important}
}
/* ---------- 5. Hero spacing (industry / service / company / location heroes) ---------- */
@media (min-width:768px) and (max-width:1024px){
html body [data-elementor-type] .ip-hero :is(h1.elementor-heading-title,.fxt-h1):not(#_):not(#_){margin-bottom:28px!important}
}
@media (max-width:767px){
html body [data-elementor-type] .ip-hero :is(h1.elementor-heading-title,.fxt-h1):not(#_):not(#_){margin-bottom:20px!important}
}

/* ---------- 6. Single templates (blog, news, events, white papers, case studies, leaders) ---------- */
@media (max-width:767px){
html body .fcx-blog .bl-col.e-con:not(#_):not(#_){padding-left:0!important;padding-right:0!important}
html body .fcx-blog .bl-feat.wrap.e-con:not(#_):not(#_){padding-left:20px!important;padding-right:20px!important}
html body .fcx-blog .prose h2:not(#_):not(#_){margin-top:36px!important}
html body .fcx-blog .elementor-post-info:not(#_){flex-wrap:wrap;margin-left:0;margin-right:0}
}
@media (max-width:1024px){
html body .fcx-blog .elementor-icon-list-items.elementor-inline-items:not(#_){flex-wrap:wrap;margin-left:0!important;margin-right:0!important}
}

/* ---------- 7. Forms: never wider than their column ---------- */
@media (max-width:1024px){
html body [data-elementor-type] .wpcf7 :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=submit]):not(#_){max-width:100%;min-width:0}
html body [data-elementor-type] .wpcf7 .wpcf7-form-control-wrap:not(#_){min-width:0;max-width:100%}
}

/* ---------- 8. Inner section wraps: CTA bands, heroes, listings, single templates ---------- */
@media (min-width:768px) and (max-width:1024px){
html body [data-elementor-type] :is(.cta,.cta-sec)>.wrap.e-con:not(#_):not(#_){padding-top:40px!important;padding-bottom:40px!important}
html body [data-elementor-type] :is(.ip-hero>.wrap,.gs-hero,.ty-hero,.csh,.bh,.blist,.xf,.ir-idsec,.ir-gh).e-con:not(#_):not(#_){padding-bottom:40px!important}
html body [data-elementor-type] :is(.blist,.xf,.ir-idsec,.ir-gh).e-con:not(#_):not(#_){padding-top:40px!important}
html body [data-elementor-type] .bl-grid.e-con:not(#_):not(#_){padding-bottom:40px!important}
}
@media (max-width:767px){
html body [data-elementor-type] :is(.cta,.cta-sec)>.wrap.e-con:not(#_):not(#_){padding-top:30px!important;padding-bottom:30px!important}
html body [data-elementor-type] :is(.ip-hero>.wrap,.gs-hero,.ty-hero,.csh,.bh,.blist,.xf,.ir-idsec,.ir-gh).e-con:not(#_):not(#_){padding-bottom:30px!important}
html body [data-elementor-type] :is(.blist,.xf,.ir-idsec,.ir-gh).e-con:not(#_):not(#_){padding-top:30px!important}
html body [data-elementor-type] .bl-grid.e-con:not(#_):not(#_){padding-bottom:30px!important}
}

/* ---------- 9. Image heights and forced card heights ---------- */
@media (min-width:768px) and (max-width:1024px){
html body [data-elementor-type] .ip-intro-img img:not(#_):not(#_){aspect-ratio:3/2!important;height:auto!important}
html body [data-elementor-type] .talk-img img:not(#_):not(#_){aspect-ratio:3/2!important;height:auto!important}
html body [data-elementor-type] .metric.e-con:not(#_):not(#_){min-height:200px!important}
}
@media (max-width:767px){
html body [data-elementor-type] .ip-intro-img img:not(#_):not(#_){aspect-ratio:4/3!important;height:auto!important}
html body [data-elementor-type] .iimg.e-con:not(#_):not(#_){min-height:170px!important;height:170px!important}
html body [data-elementor-type] .portrait.e-con:not(#_):not(#_){min-height:320px!important}
html body [data-elementor-type] .metric.e-con:not(#_):not(#_){min-height:0!important;gap:18px}
html body [data-elementor-type] :is(.cp.a,.cp.b,.cp.c).e-con:not(#_):not(#_){min-height:0!important}
html body [data-elementor-type] .ir-tile:not(#_):not(#_){min-height:150px!important}
}
/* drawer offset when the hamburger shows on small laptops (1025-1160px) */
@media (min-width:1025px) and (max-width:1160px){html body .drawer:not(#_){top:87px;height:calc(100vh - 87px);height:calc(100dvh - 87px)}}
/* ---------- 10. Page-type fixes (mobile) ---------- */
@media (max-width:767px){
/* home: case cards and outcome tiles */
html body [data-elementor-type] .hd.e-con:not(#_):not(#_){min-height:150px!important}
/* case study results: 2-up tiles */
html body .fcx-cs .rgrid.e-con:not(#_):not(#_){grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
html body .fcx-cs .rgrid .rt.e-con:not(#_):not(#_){min-height:0!important;padding:18px 16px!important}
/* people cards (leadership, board, 'meet more'): photo beside text */
html body .ld-app :is(.person,.bcard):not(#_):not(#_){display:grid!important;grid-template-columns:88px minmax(0,1fr)!important;column-gap:14px!important;row-gap:0!important;align-items:start!important}
html body .ld-app :is(.person,.bcard)>div:not(.shot):not(#_){display:contents!important}
html body .ld-app :is(.person,.bcard) .shot:not(#_):not(#_){grid-column:1!important;grid-row:1/3!important}
html body .ld-app :is(.person,.bcard) h3:not(#_):not(#_){grid-column:2!important;grid-row:1!important;align-self:end!important;margin:0 0 4px!important}
html body .ld-app :is(.person,.bcard) .role:not(#_):not(#_){grid-column:2!important;grid-row:2!important;align-self:start!important}
html body .ld-app :is(.person,.bcard) :is(p,.ld-ln):not(#_):not(#_){grid-column:1/-1!important}
html body .ld-app :is(.person,.bcard) p:not(#_):not(#_){margin-top:14px!important}
html body .ld-app :is(.person,.bcard) .shot:not(#_):not(#_){width:88px!important;max-width:88px!important;min-height:0!important;margin:0!important}
html body .ld-app :is(.person,.bcard) .shot img:not(#_):not(#_){width:100%;height:100%;object-fit:cover;object-position:50% 20%}
html body .ld-app .fcard .shot:not(#_):not(#_){aspect-ratio:4/3!important;min-height:0!important}
html body .ld-app .fcard .shot img:not(#_):not(#_){width:100%;height:100%;object-fit:cover;object-position:50% 18%}
}
@media (max-width:767px){
/* Get Started: 2-up option cards */
html body #gs .gs-opts:not(#_):not(#_){grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
html body #gs .gs-opt label:not(#_):not(#_){min-height:0!important;padding:14px 12px!important}
/* 404: 2-up industry cards */
html body [data-elementor-type] .e4-grid.e-con:not(#_):not(#_){grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
html body [data-elementor-type] .e4-ind.e-con:not(#_):not(#_){grid-template-columns:minmax(0,1fr)!important;row-gap:10px!important;padding:16px 14px!important;min-height:0!important}
}
@media (min-width:768px) and (max-width:1024px){
/* stacked hero image: landscape instead of near-square */
html body [data-elementor-type] .hero-art .frame:not(#_):not(#_){aspect-ratio:16/10!important;height:auto!important}
html body [data-elementor-type] .hero-art .frame img:not(#_):not(#_){width:100%!important;height:100%!important;object-fit:cover!important;object-position:50% 30%!important}
}
@media (max-width:1024px){
/* embedded media and code in post content never wider than the column */
html body [data-elementor-type] .elementor-widget-theme-post-content :is(iframe,video,embed,object,img,figure,.wp-block-embed,.wp-caption):not(#_){max-width:100%!important}
html body [data-elementor-type] .elementor-widget-theme-post-content :is(img,video):not(#_){height:auto}
html body [data-elementor-type] .elementor-widget-theme-post-content pre:not(#_){white-space:pre-wrap;overflow-wrap:anywhere}
html body [data-elementor-type] .elementor-widget-theme-post-content :is(p,li,h2,h3,h4,a):not(#_){overflow-wrap:break-word}
}
@media (max-width:767px){
/* location service cards: long words never push the 2-up grid wider than the screen */
html body [data-elementor-type] .e-con:has(>.s10):not(#_):not(#_){grid-template-columns:repeat(2,minmax(0,1fr))!important}
html body [data-elementor-type] .s10:not(#_):not(#_){min-width:0!important}
html body [data-elementor-type] .s10 :is(h3,h4,.elementor-heading-title,p):not(#_){overflow-wrap:anywhere;hyphens:auto}
}
/* === /RSP === */
/* ---- Live-parity internal links (added 26 Sept) ---- */
a.fcx-il{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:rgba(118,120,237,.6);transition:text-decoration-color .2s var(--ease),color .2s var(--ease)}
a.fcx-il:hover,a.fcx-il:focus-visible{text-decoration-color:currentColor}
a.fcx-il:not(#_){font-size:inherit!important;font-weight:inherit!important;line-height:inherit!important;letter-spacing:inherit!important;font-family:inherit!important}
.fcx-rel-sec{padding:40px 0 56px!important;background:var(--white)}
.fcx-rel-sec .fcx-rel-w{max-width:var(--wrap)!important;width:100%!important;margin:0 auto!important;padding:0 var(--gut)!important;box-sizing:border-box}
.fcx-rel{margin:0;padding-top:24px;border-top:1px solid var(--line);font:400 14px/1.9 var(--f-body);color:var(--muted)}
.fcx-rel-row{display:block;margin-bottom:6px}
.fcx-rel-k{font-weight:600;color:var(--ink);margin-right:6px}
.fcx-rel a.fcx-il{color:var(--indigo)}
.fcx-rel-sep{color:var(--muted)}
@media(max-width:767px){.fcx-rel-sec{padding:32px 0 40px!important}.fcx-rel{font-size:13.5px}}

/* === MENU PARITY: header nav, mega panels and mobile drawer match fusioncxdev2 (Sept 26 2026) === */
/* logo widget sizes to the image at every width (as on dev2), so the nav keeps its room on small laptops */
html body .hdr .logo.elementor-widget-image:not(#_):not(#_){width:auto!important;max-width:none!important;flex:0 0 auto!important;--container-widget-width:auto;--container-widget-flex-grow:0}
html body .hdr .logo.elementor-widget-image img:not(#_):not(#_){width:auto!important;max-width:none!important}
/* desktop nav labels (overrides the child-theme .nav-btn size) */
html body .hdr .nav .nav-btn:not(#_){font-size:.93rem}
@media (max-width:1260px){html body .hdr .nav .nav-btn:not(#_){font-size:.88rem;padding:0 9px}}
/* mega panels are plain blocks: a panel taller than the screen scrolls instead of squeezing its columns */
html body .hdr .mega.e-con:not(#_){--display:block;display:block}
html body .hdr .mega .mcol.e-con:not(#_){--display:block;display:block}
/* AI product cards: title line-height (overrides the child-theme 1.1) */
html body .hdr .prod-list .pl-t .elementor-heading-title:not(#_){line-height:1.7}
/* mobile / tablet drawer */
html body .drawer:not(#_):not(#_){padding-top:12px}
html body .drawer summary:not(#_):not(#_),html body .drawer .d-flat:not(#_):not(#_){min-height:60px;font-size:1.3rem;line-height:1.7}
html body .drawer .d-body:not(#_):not(#_){padding:0 0 18px}
html body .drawer .d-body h6:not(#_):not(#_),html body .drawer .d-body h6 a:not(#_):not(#_){font-family:var(--f-display);font-size:.9rem;font-weight:600;letter-spacing:-.02em;text-transform:none;line-height:1.12;color:var(--steel)}
html body .drawer .d-body h6:not(#_):not(#_){margin:14px 0 4px;padding:0}
html body .drawer .d-body h6 a:not(#_):not(#_){display:inline;padding:0}
html body .drawer .d-body h6 a:hover:not(#_):not(#_){color:#fff}
html body .drawer .d-body > a:not(#_):not(#_){font-family:var(--f-body);font-size:inherit;font-weight:400;line-height:1.7;letter-spacing:inherit;padding:8px 0;color:#DAD8F3}
html body .drawer .btn:not(#_):not(#_){min-height:54px;margin-top:24px}
html body .hdr .menu-btn:not(#_):not(#_){position:relative;color:var(--ink)}
@media (min-width:1025px){html body .hdr .menu-btn:not(#_):not(#_){width:48px;height:48px;margin-right:0}}
/* the open menu button shows an X at every width where the hamburger appears */
html body .menu-btn[aria-expanded="true"] svg:not(#_):not(#_){opacity:0}
html body .menu-btn[aria-expanded="true"]::before,html body .menu-btn[aria-expanded="true"]::after{content:"";position:absolute;left:50%;top:50%;width:22px;height:2px;border-radius:2px;background:currentColor;transform:translate(-50%,-50%) rotate(45deg)}
html body .menu-btn[aria-expanded="true"]::after{transform:translate(-50%,-50%) rotate(-45deg)}
/* === /MENU PARITY === */
/* === MEGA FIT: mega panels fit short laptop screens without a scrollbar (Sept 26 2026) === */
html body .hdr .mega:not(#_){max-height:calc(100vh - 100px)}
@media (min-width:761px) and (max-height:820px){
  html body .hdr .mega .mega-grid:not(#_){padding-top:22px;padding-bottom:22px;row-gap:16px}
  html body .hdr .mega .mcol .elementor-icon-list-item a:not(#_){padding-top:4px;padding-bottom:4px}
  html body .hdr .mega .mcol h6:not(#_){margin-bottom:8px}
  html body .hdr .mega .mcol > .elementor-widget-heading:not(:first-child) h6:not(#_){margin-top:14px}
  html body .hdr .mega .mega-bar:not(#_){padding-top:11px;padding-bottom:11px}
}
/* === /MEGA FIT === */


/* ---------- Case study carousels (.fcx-car): a single case study keeps the standard card width (3 per row desktop, 2 tablet, 1 mobile) instead of stretching full width. Elementor does not start Swiper for one slide, so size un-started slides here. ---------- */
.fcx-car .swiper:not(.swiper-initialized) .swiper-wrapper{display:flex;gap:18px}
.fcx-car .swiper:not(.swiper-initialized) .swiper-slide.e-loop-item{flex:0 0 calc((100% - 36px) / 3);width:calc((100% - 36px) / 3);max-width:calc((100% - 36px) / 3)}
@media (max-width:1024px){.fcx-car .swiper:not(.swiper-initialized) .swiper-slide.e-loop-item{flex-basis:calc((100% - 18px) / 2);width:calc((100% - 18px) / 2);max-width:calc((100% - 18px) / 2)}}
@media (max-width:767px){.fcx-car .swiper:not(.swiper-initialized) .swiper-wrapper{gap:14px}.fcx-car .swiper:not(.swiper-initialized) .swiper-slide.e-loop-item{flex-basis:100%;width:100%;max-width:100%}}
/* === RSP2 (Sept 29 audit): tablet + mobile only, desktop untouched === */
@media (max-width:767px){
/* case study "Download PDF" card: the title sits beside the PDF icon and wraps instead of running off the screen */
html body [data-elementor-type] .pdf.fxb > .pdf-t:not(#_):not(#_){flex:1 1 0%!important;min-width:0!important;max-width:100%!important}
html body [data-elementor-type] .pdf.fxb > .pdf-t .elementor-heading-title:not(#_):not(#_){overflow-wrap:anywhere}
/* Contact Us: "Headquarters" tag readable on phones (was 10px) */
html body [data-elementor-type] .ct-cty .ct-hqt:not(#_):not(#_){font-size:.72rem}
/* blog / news "Table of contents" toggle: comfortable tap height */
html body .fcx-toc .toc-h:not(#_):not(#_){min-height:40px}
}
@media (max-width:1024px){
/* article captions typed at 9-10px inline: 12px on tablet/phone */
html body [data-elementor-type] .elementor-widget-theme-post-content :is([style*="font-size: 10px"],[style*="font-size:10px"],[style*="font-size: 9px"],[style*="font-size:9px"]):not(#_){font-size:12px!important}
}
@media (max-width:767px){
/* case study results tiles: big values (e.g. 400,000+, 98.87%, Zero disruption) fit inside their 2-up tile */
html body [data-elementor-type] .rgrid .rt .v .elementor-heading-title:not(#_):not(#_){font-size:clamp(1.4rem,7.4vw,2.2rem)!important;line-height:1.12!important}
}
@media (max-width:767px){
/* case study hero KPI badge: word values (Zero disruption, Target beaten) may wrap instead of spilling out of the badge */
html body [data-elementor-type] .kpi .kv .elementor-heading-title:not(#_):not(#_){white-space:normal!important}
}
@media (max-width:767px){
/* 404 page industry cards (2-up): long words like Improvement fit the card */
html body [data-elementor-type] .e4-ind .elementor-heading-title:not(#_):not(#_){font-size:1.1rem!important;overflow-wrap:anywhere}
}
/* === /RSP2 === */
/* === RSP3 (Sept 30): mobile polish, tablet + mobile only === */
/* RSP3 (Sept 30 2026): mobile polish. Everything is inside max-width media queries, so desktop (>=1025px) is unchanged. */

/* ---------- Company sub-nav tabs (About / Our History / Leadership / Board ...) ---------- */
/* The bar was sticky at 80px, below a 57px (mobile) / 69px (tablet) header, so page content showed through the gap. */
@media (min-width:768px) and (max-width:1024px){
  html body [data-elementor-type] .co-nav.e-con:not(#_):not(#_){top:69px!important}
}
@media (max-width:767px){
  html body [data-elementor-type] .co-nav.e-con:not(#_):not(#_){top:57px!important}
  html body [data-elementor-type] .co-nav :is(ul,.fxt-ul):not(#_):not(#_){padding:8px 0!important;gap:2px!important;scroll-snap-type:x proximity;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}
  html body [data-elementor-type] .co-nav :is(a,.fxt-a):not(#_):not(#_){min-height:34px!important;padding:0 13px!important;font-size:.84rem!important;scroll-snap-align:start}
  html body [data-elementor-type] .co-nav :is(li,.fxt-li):last-child :is(a,.fxt-a):not(#_):not(#_){margin-right:24px!important}
}

@media (max-width:767px){

/* ---------- Section heads: less space between kicker, title and intro ---------- */
html body [data-elementor-type] .kick.elementor-widget:not(#_):not(#_){margin-bottom:12px!important}
html body [data-elementor-type] .shead.e-con:not(#_):not(#_){gap:12px!important;margin-bottom:26px!important}
html body [data-elementor-type] :is(.ip-intro-copy,.ip-spec-copy,.why-side,.talk-copy,.faq-l,.cl-head,.cta-copy,.co-intro) :is(h2,.fxt-h2):not(#_):not(#_){margin-bottom:12px!important}

/* ---------- Mobile type scale for body copy ---------- */
/* Lead / intro paragraphs (were 16.8-19.2px) */
html body [data-elementor-type] :is(.shead .side,.rel-p,.co-lead,.ip-app-note,.cta-p,.pp-p,.habit.h1) :is(p,.fxt-p):not(#_):not(#_),
html body [data-elementor-type] :is(.shead .side,.rel-p,.co-lead,.ip-app-note,.cta-p,.pp-p).elementor-widget :is(p,.fxt-p):not(#_):not(#_),
html body [data-elementor-type] .cta :is(p,.fxt-p):not(#_):not(#_),
html body [data-elementor-type] .cta-copy :is(p,.fxt-p):not(#_):not(#_),
html body [data-elementor-type] .gs-top :is(p,.fxt-p):not(#_):not(#_),
html body [data-elementor-type] .cs-tab-content :is(p,.fxt-p):not(#_):not(#_){font-size:1rem!important;line-height:1.6!important}
html body [data-elementor-type] .co-intro .d1 :is(p,.fxt-p):not(#_):not(#_){font-size:1.06rem!important;line-height:1.5!important}
/* Regular body paragraphs (were 16-16.3px, line-height 1.7) */
html body [data-elementor-type] :is(.ip-intro,.ip-intro-text,.talk-copy,.ip-sub,.faq-l,.faq-grid,.co-story,.co-sec .d1,.commit,.ir-gh,.cl-head,.story .sb,.habits,.icap,.why-side,.ip-spec-copy) :is(p,.fxt-p):not(#_):not(#_){font-size:.95rem!important;line-height:1.62!important}
html body [data-elementor-type] .ip-sub.elementor-widget :is(p,.fxt-p):not(#_):not(#_){font-size:.95rem!important;line-height:1.62!important}
/* FAQ accordion */
html body .e-n-accordion-item-title-text:not(#_):not(#_){font-size:1rem!important;line-height:1.35!important}
html body .e-n-accordion-item :is(.fa,.e-con) :is(p,li):not(#_):not(#_){font-size:.95rem!important;line-height:1.62!important}
/* Testimonial quotes */
html body [data-elementor-type] .tq-q :is(p,.fxt-p):not(#_):not(#_),html body [data-elementor-type] .tq-q.elementor-widget :is(p,.fxt-p):not(#_):not(#_){font-size:1rem!important;line-height:1.5!important}
/* Long-form pages (blog posts, legal pages): same size, slightly tighter lines */
html body :is(.prose,.lg-doc) :is(p,li):not(#_):not(#_){line-height:1.68!important}

/* ---------- Buttons ---------- */
html body [data-elementor-type="wp-page"] .fbtn.btn .elementor-button:not(#_):not(#_),
html body [data-elementor-type="single-post"] .fbtn.btn .elementor-button:not(#_):not(#_),
html body [data-elementor-type="single-page"] .fbtn.btn .elementor-button:not(#_):not(#_){min-height:48px!important;padding:0 22px!important;font-size:.95rem!important}
/* Button pairs stack full width on phones so they line up */
html body [data-elementor-type] :is(.hero-actions,.acts,.e4-acts).e-con:not(#_):not(#_){gap:10px!important}
@media (max-width:480px){
  html body [data-elementor-type] :is(.hero-actions,.acts,.e4-acts).e-con:has(> .fbtn + .fbtn):not(#_):not(#_){flex-direction:column!important;align-items:stretch!important}
  html body [data-elementor-type] :is(.hero-actions,.acts,.e4-acts).e-con:has(> .fbtn + .fbtn) > .fbtn:not(#_):not(#_){width:100%!important;max-width:none!important}
  html body [data-elementor-type] :is(.hero-actions,.acts,.e4-acts).e-con:has(> .fbtn + .fbtn) > .fbtn .elementor-button:not(#_):not(#_){width:100%!important;justify-content:center!important}
}

/* ---------- CTA band ---------- */
html body [data-elementor-type] .cta :is(h2,.fxt-h2):not(#_):not(#_),html body [data-elementor-type] .cta h2.elementor-heading-title:not(#_):not(#_){margin-bottom:10px!important;line-height:1.12!important}
html body [data-elementor-type] .cta :is(p,.fxt-p):not(#_):not(#_){margin-bottom:18px!important}

/* ---------- Stats bars ---------- */
/* Industry pages (.ip-stats): 2 columns, number above label, dividers, last odd item full width */
html body [data-elementor-type] .ip-stats-list.e-con:not(#_):not(#_){grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:0!important;row-gap:0!important}
html body [data-elementor-type] .ip-stats-list > .ip-stat.e-con:not(#_):not(#_){flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;gap:4px!important;padding:14px 12px 14px 0!important;border-left:0!important;border-top:1px solid rgba(255,255,255,.16)!important;min-width:0!important}
html body [data-elementor-type] .ip-stats-list > .ip-stat.e-con:nth-child(even):not(#_):not(#_){padding-left:16px!important;border-left:1px solid rgba(255,255,255,.16)!important}
html body [data-elementor-type] .ip-stats-list > .ip-stat.e-con:nth-child(-n+2):not(#_):not(#_){border-top:0!important}
html body [data-elementor-type] .ip-stats-list > .ip-stat.e-con:last-child:nth-child(odd):not(#_):not(#_){grid-column:1/-1!important;padding-left:0!important;border-left:0!important}
html body [data-elementor-type] .ip-stat .st-n:not(#_):not(#_),html body [data-elementor-type] .ip-stat .st-n .elementor-heading-title:not(#_):not(#_){font-size:1.7rem!important;line-height:1.1!important}
html body [data-elementor-type] .ip-stat .st-t:not(#_):not(#_),html body [data-elementor-type] .ip-stat .st-t .elementor-heading-title:not(#_):not(#_){font-size:.84rem!important;line-height:1.35!important}
/* Location pages (.lstats) */
html body [data-elementor-type] .lstats .wrap.e-con:not(#_):not(#_){grid-template-columns:repeat(2,minmax(0,1fr))!important}
html body [data-elementor-type] .lstats div.s:not(#_):not(#_){padding:14px 12px 14px 0!important;border-left:0!important;border-top:1px solid rgba(255,255,255,.16)!important;min-width:0!important}
html body [data-elementor-type] .lstats div.s:nth-child(even):not(#_):not(#_){padding-left:16px!important;border-left:1px solid rgba(255,255,255,.16)!important}
html body [data-elementor-type] .lstats div.s:nth-child(-n+2):not(#_):not(#_){border-top:0!important}
html body [data-elementor-type] .lstats div.s:last-child:nth-child(odd):not(#_):not(#_){grid-column:1/-1!important;padding-left:0!important;border-left:0!important}
html body [data-elementor-type] .lstats :is(b,.fxt-b):not(#_):not(#_){font-size:1.7rem!important;line-height:1.1!important;margin-bottom:4px!important}
html body [data-elementor-type] .lstats :is(span,.fxt-span):not(#_):not(#_){display:block!important;font-size:.84rem!important;line-height:1.35!important}
/* Home stats strip (.scale) */
html body [data-elementor-type] .scale .elementor-counter-title:not(#_):not(#_){line-height:1.3!important}

/* ---------- Get Started multi-step form (form#gs) ---------- */
html body form#gs .gs-prog button:not(#_):not(#_){padding:12px 4px!important}
html body form#gs .gs-body:not(#_):not(#_){padding:18px 16px 20px!important}
html body form#gs .gs-step h2:not(#_):not(#_){font-size:1.32rem!important;line-height:1.2!important;margin:0 0 4px!important;max-width:none!important}
html body form#gs .gs-step .hint:not(#_):not(#_){font-size:.9rem!important;line-height:1.5!important;margin:0 0 14px!important}
html body form#gs .gs-sub:not(#_):not(#_){font-size:.9rem!important;margin:16px 0 8px!important}
/* Step 1: industry options as compact rows (icon, title + hint, radio on the right) */
html body form#gs .gs-opts:not(#_):not(#_){grid-template-columns:1fr!important;gap:8px!important}
html body form#gs .gs-opt label:not(#_):not(#_){display:grid!important;grid-template-columns:34px minmax(0,1fr)!important;grid-template-rows:auto auto!important;column-gap:12px!important;row-gap:1px!important;align-items:center!important;min-height:0!important;padding:10px 42px 10px 12px!important;border-radius:14px!important}
html body form#gs .gs-opt label .ic:not(#_):not(#_){grid-row:1/span 2!important;width:34px!important;height:34px!important;border-radius:10px!important;margin:0!important}
html body form#gs .gs-opt label .ic svg:not(#_):not(#_){width:18px!important;height:18px!important}
html body form#gs .gs-opt label b:not(#_):not(#_){grid-column:2!important;font-size:.92rem!important;line-height:1.25!important;margin:0!important}
html body form#gs .gs-opt label small:not(#_):not(#_){grid-column:2!important;font-size:.78rem!important;line-height:1.3!important;margin:0!important}
html body form#gs .gs-opt label:not(#_):not(#_)::after{top:calc(50% - 10px)!important;right:12px!important;width:20px!important;height:20px!important}
/* Step 2/3: chips and segmented control */
html body form#gs .gs-chips:not(#_):not(#_){gap:7px!important}
html body form#gs .gs-chip label:not(#_):not(#_){min-height:38px!important;padding:0 14px!important;font-size:.85rem!important}
html body form#gs .gs-seg:not(#_):not(#_){display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important;margin-bottom:12px!important}
html body form#gs .gs-seg label:not(#_):not(#_){justify-content:center!important;min-height:38px!important;padding:0 8px!important;font-size:.84rem!important;white-space:nowrap!important;text-align:center!important}
html body form#gs .gs-range:not(#_):not(#_){padding:14px 16px!important;border-radius:16px!important}
html body form#gs .gs-range .val:not(#_):not(#_){margin-bottom:6px!important;padding:0!important}
html body form#gs .gs-range .val b:not(#_):not(#_){font-size:2rem!important}
/* Step 4: contact fields */
html body form#gs .gs-f:not(#_):not(#_){gap:12px!important}
html body form#gs .gs-f .r2:not(#_):not(#_){gap:12px!important}
html body form#gs .gs-f .r2:first-child:not(#_):not(#_){grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
html body form#gs .gs-f label:not(#_):not(#_){gap:5px!important;font-size:.82rem!important}
html body form#gs .gs-f :is(input:not([type=file]):not([type=checkbox]),textarea):not(#_):not(#_),
html body form#gs .gs-f select:not(.fcx-cc > select):not(#_):not(#_){min-height:46px!important;padding:9px 13px!important;border-radius:12px!important;font-size:16px!important}
html body form#gs .gs-phone .fcx-cc .fcx-cc-v:not(#_):not(#_){min-height:46px!important;border-radius:12px!important}
html body form#gs .gs-phone:not(#_):not(#_){grid-template-columns:92px minmax(0,1fr)!important}
html body form#gs .gs-f textarea:not(#_):not(#_){min-height:92px!important;height:92px!important}
html body form#gs .gs-lbl:not(#_):not(#_){display:flex!important;flex-wrap:wrap!important;gap:0 8px!important;font-size:.82rem!important;line-height:1.4!important}
html body form#gs .gs-lbl em:not(#_):not(#_){flex-basis:100%!important;font-size:.76rem!important}
html body form#gs .gs-drop:not(#_):not(#_){padding:12px 14px!important;gap:12px!important}
html body form#gs .gs-drop .di:not(#_):not(#_){width:36px!important;height:36px!important;flex:0 0 36px!important}
html body form#gs .gs-drop b:not(#_):not(#_){font-size:.88rem!important}
html body form#gs .gs-drop small:not(#_):not(#_){font-size:.78rem!important}
html body form#gs .gs-consent:not(#_):not(#_){font-size:.8rem!important;line-height:1.5!important}
html body form#gs .gs-nav:not(#_):not(#_){margin-top:18px!important;padding-top:14px!important}
html body form#gs .gs-nav .btn:not(#_):not(#_){min-height:48px!important}
html body form#gs .gs-assure:not(#_):not(#_){font-size:.74rem!important}
/* "Your plan so far" panel */
html body [data-elementor-type] .gs-sum:not(#_):not(#_){padding:18px!important;border-radius:20px!important}
html body [data-elementor-type] .gs-sum dl div:not(#_):not(#_){padding:10px 12px!important}

/* ---------- All other CF7 forms (Get in touch, Contact Us, Investor, events, white papers, case studies) ---------- */
html body form.wpcf7-form:not(#gs) :is(input[type=text],input[type=email],input[type=tel],input[type=url],input[type=number]):not(#_):not(#_),
html body form.wpcf7-form:not(#gs) select:not(.fcx-cc > select):not(#_):not(#_){min-height:46px!important;height:46px!important;padding-top:0!important;padding-bottom:0!important;font-size:16px!important;border-radius:12px!important}
html body form.wpcf7-form:not(#gs) textarea:not(#_):not(#_){min-height:96px!important;height:96px!important;font-size:16px!important;border-radius:12px!important}
html body form.wpcf7-form:not(#gs) .fcx-cc .fcx-cc-v:not(#_):not(#_){min-height:46px!important;border-radius:12px!important}
html body form.wpcf7-form:not(#gs) .fcx-phone > .wpcf7-form-control-wrap:first-child:not(#_):not(#_){flex:0 0 92px!important}
html body form.wpcf7-form:not(#gs) label:not(#_):not(#_),html body form.wpcf7-form:not(#gs) :is(.fcx-lbl,.ir-lbl):not(#_):not(#_){font-size:.84rem!important}
html body form.wpcf7-form:not(#gs) .wpcf7-radio .wpcf7-list-item-label:not(#_):not(#_){min-height:38px!important;padding:0 12px!important;font-size:.84rem!important}
html body form.wpcf7-form:not(#gs) :is(.fcx-consent,.ir-consent) :is(label,.wpcf7-list-item-label):not(#_):not(#_){font-size:.8rem!important;line-height:1.5!important}
html body form.wpcf7-form:not(#gs) :is(input[type=submit],button[type=submit]):not(#_):not(#_){min-height:50px!important;padding:0 20px!important;font-size:.95rem!important;white-space:nowrap!important}
/* Get in touch: first + last name side by side; delivery chips in a 2 x 2 grid */
html body .talk-form form.fcx-git:not(#_):not(#_){grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:10px!important;row-gap:12px!important}
html body .talk-form form.fcx-git > *:not(#_):not(#_){grid-column:1/-1!important}
html body .talk-form form.fcx-git > p:has([name="first-name"]):not(#_):not(#_),html body .talk-form form.fcx-git > p:has([name="last-name"]):not(#_):not(#_){grid-column:auto!important}
html body .talk-form form.fcx-git .fcx-grp .wpcf7-radio:not(#_):not(#_){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
html body .talk-form form.fcx-git .fcx-grp .wpcf7-list-item:not(#_):not(#_){margin:0!important;display:block!important}
html body .talk-form form.fcx-git .fcx-grp .wpcf7-list-item label:not(#_):not(#_),html body .talk-form form.fcx-git .fcx-grp .wpcf7-list-item-label:not(#_):not(#_){width:100%!important;justify-content:center!important;display:flex!important}
html body .talk-form:not(#_):not(#_){padding:20px 16px!important;border-radius:22px!important}

/* ---------- Home: capability cards, hero buttons ---------- */
html body [data-elementor-type] .habit.e-con:not(#_):not(#_){padding:20px!important}
html body [data-elementor-type] .habit .hn:not(#_):not(#_),html body [data-elementor-type] .habit .hn .elementor-heading-title:not(#_):not(#_){font-size:2.6rem!important;line-height:1!important}
html body [data-elementor-type] .habit h3:not(#_):not(#_){font-size:1.3rem!important;line-height:1.2!important;margin:14px 0 8px!important}
html body [data-elementor-type] .habit.h1 h3:not(#_):not(#_){font-size:1.5rem!important}
@media (max-width:480px){
  html body #fcxHs .hs-cta:not(#_):not(#_){gap:10px!important}
  html body #fcxHs .hs-cta a.hs-btn:not(#_):not(#_){width:100%!important;justify-content:center!important;min-height:48px!important;font-size:.95rem!important}
}
/* ---------- Board page: stat cards two across ---------- */
html body [data-elementor-type] .gov-note.e-con:not(#_):not(#_){grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
html body [data-elementor-type] .gov-note > *:not(#_):not(#_){padding:16px!important;min-width:0!important}
html body [data-elementor-type] .gov-note > *:last-child:nth-child(odd):not(#_):not(#_){grid-column:1/-1!important}
/* ---------- Blog category chips: fade hints that the row scrolls ---------- */
html body .bcats:not(#_):not(#_){-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);padding-right:24px!important}
/* ---------- Pills and badges that can run to two lines ---------- */
html body [data-elementor-type] .grp-h :is(span,.fxt-span):not(#_):not(#_){white-space:nowrap!important;flex:0 0 auto!important}
html body [data-elementor-type] .gov-note :is(span,p,div):not(#_):not(#_){line-height:1.35!important}
html body [data-elementor-type] .ip-eyebrow:not(#_):not(#_){font-size:.8rem!important;line-height:1.35!important;border-radius:14px!important;padding-top:6px!important;padding-bottom:6px!important}
html body [data-elementor-type] .tags :is(span,.fxt-span):not(#_):not(#_){border-radius:10px!important;line-height:1.35!important}
html body [data-elementor-type] .bd.e-con:not(#_):not(#_){padding:20px!important}
/* Logged-in editors: the WP admin bar scrolls away on phones, so the sticky header should stick to the top */
@media (max-width:600px){html body.admin-bar [data-elementor-type="header"]:not(#_):not(#_){top:0!important}}

}

/* ldr-mobile-match: Our Leadership (page 1756) - leader cards use the same phone layout as the two founder cards (photo on top 4:3, 22px body, same type scale). Phones only. */
@media (max-width:767px){
html body.page-id-1756 .ld-app .ppl .person:not(#_):not(#_):not(#_){display:grid!important;grid-template-columns:minmax(0,1fr)!important;column-gap:0!important;row-gap:0!important;align-items:stretch!important;border-radius:26px!important;padding:0!important;overflow:hidden!important}
html body.page-id-1756 .ld-app .ppl .person>.pbd:not(#_):not(#_):not(#_){display:flex!important;flex-direction:column!important;align-items:stretch!important;padding:22px!important;min-width:0!important}
html body.page-id-1756 .ld-app .ppl .person .shot:not(#_):not(#_):not(#_){grid-column:1!important;grid-row:auto!important;width:100%!important;max-width:none!important;height:auto!important;aspect-ratio:4/3!important;min-height:0!important;margin:0!important}
html body.page-id-1756 .ld-app .ppl .person .shot img:not(#_):not(#_):not(#_){width:100%!important;height:100%!important;object-fit:cover!important;object-position:50% 12%!important}
html body.page-id-1756 .ld-app .ppl .person :is(h3,.role,p):not(#_):not(#_):not(#_){grid-column:auto!important;grid-row:auto!important;align-self:auto!important}
html body.page-id-1756 .ld-app .ppl .person h3:not(#_):not(#_):not(#_){font-size:1.2rem!important;font-weight:600!important;line-height:1.25!important;margin:0 0 4px!important}
html body.page-id-1756 .ld-app .ppl .person .role:not(#_):not(#_):not(#_){font-size:.9rem!important;font-weight:600!important;line-height:1.7!important;color:#B8420A!important;margin:0 0 14px!important}
html body.page-id-1756 .ld-app .ppl .person p:not(#_):not(#_):not(#_){font-size:.94rem!important;line-height:1.6!important;margin:0 0 18px!important}
html body.page-id-1756 .ld-app .ppl .person .ld-ln:not(#_):not(#_):not(#_){font-size:1rem!important;line-height:1.7!important;width:auto!important;align-self:flex-start!important}
html body.page-id-1756 .ld-app .ppl:not(#_):not(#_){gap:16px!important}
}

/* === /RSP3 === */
/* Oct 1: editor overlay guard. Site rules such as '.gov-note div' or '.faq-grid > div:first-child' also match the overlay div Elementor injects in edit mode, painting it (blue screen) or pulling it into the layout. Editor-only; no effect on live pages. */
html body.elementor-editor-active .elementor-element > .elementor-element-overlay:not(#_):not(#_):not(#_){position:absolute!important;inset-block-start:0!important;inset-inline-end:0!important;background:none!important;padding:0!important;margin:0!important;min-height:0!important;min-width:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;transform:none!important;opacity:1!important}
html body.elementor-editor-active .elementor-element > .elementor-element-overlay:not(#_):not(#_):not(#_)::before{content:none!important}

/* Oct 1: editor helper guard (jQuery UI resize handles + empty shape placeholders Elementor adds in edit mode) */
html body.elementor-editor-active .elementor-element > .ui-resizable-handle:not(#_):not(#_):not(#_),html body.elementor-editor-active .elementor-element > .elementor-shape:empty:not(#_):not(#_):not(#_){position:absolute!important;background:none!important;padding:0!important;margin:0!important;min-height:0!important;border:0!important;border-radius:0!important;box-shadow:none!important}
html body.elementor-editor-active .elementor-element > .ui-resizable-handle:not(#_):not(#_):not(#_)::before,html body.elementor-editor-active .elementor-element > .elementor-shape:empty:not(#_):not(#_):not(#_)::before{content:none!important}/* End custom CSS */