/* CGTECH-LOCHERO-CLEANUP-v2: removed 8 dead static location-hero rules; hero images are driven by the dynamic wp_head inline CSS that reads the Elementor background image (editable in Elementor) */
/* ============================================================
   CG TECH — Design System (compiled)
   ============================================================ */

@font-face { font-family: 'Barlow'; src: url('../fonts/gf/barlow-400-latin.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: optional; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Barlow'; src: url('../fonts/gf/barlow-400-latinext.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: optional; unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Barlow'; src: url('../fonts/gf/barlow-500-latin.woff2') format('woff2'); font-weight: 500; font-style: normal; font-display: optional; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Barlow'; src: url('../fonts/gf/barlow-500-latinext.woff2') format('woff2'); font-weight: 500; font-style: normal; font-display: optional; unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Barlow'; src: url('../fonts/gf/barlow-600-latin.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: optional; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Barlow'; src: url('../fonts/gf/barlow-600-latinext.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: optional; unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Barlow'; src: url('../fonts/gf/barlow-700-latin.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: optional; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Barlow'; src: url('../fonts/gf/barlow-700-latinext.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: optional; unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Source Sans 3'; src: url('../fonts/gf/sourcesans3-normal-latin.woff2') format('woff2'); font-weight: 200 900; font-style: normal; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Source Sans 3'; src: url('../fonts/gf/sourcesans3-normal-latinext.woff2') format('woff2'); font-weight: 200 900; font-style: normal; font-display: swap; unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Source Sans 3'; src: url('../fonts/gf/sourcesans3-italic-latin.woff2') format('woff2'); font-weight: 200 900; font-style: italic; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Source Sans 3'; src: url('../fonts/gf/sourcesans3-italic-latinext.woff2') format('woff2'); font-weight: 200 900; font-style: italic; font-display: swap; unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

:root {
  --cg-blue: #1129B9; --cg-sky: #4F8EE8; --cg-teal: #1AA39A; --cg-slate: #5D7A99;
  --cg-orange: #EA5B38; --cg-navy: #151839;
  --blue-900: #0B1A78; --blue-800: #0D1F94; --blue-700: #1129B9; --blue-600: #2740D1;
  --blue-500: #4F8EE8; --blue-100: #DCE3FA; --blue-50: #EEF1FD;
  --orange-700: #C8431F; --orange-600: #EA5B38; --orange-100: #FBE0D8; --orange-50: #FDF0EC;
  --black: #000000; --body-grey: #1F2937; --mid-grey: #4B5563; --rule: #E5E7EB;
  --off-white: #F4F5F8; --white: #FFFFFF;
  --color-primary: var(--cg-blue); --color-primary-hover: var(--blue-800); --color-primary-active: var(--blue-900);
  --color-accent: var(--cg-orange); --color-accent-hover: var(--orange-700); --color-positive: var(--cg-teal);
  --text-heading: var(--cg-navy); --text-body: var(--body-grey); --text-muted: var(--mid-grey);
  --text-on-dark: var(--white); --text-link: var(--cg-blue);
  --surface-page: var(--off-white); --surface-card: var(--white); --surface-sunken: var(--off-white);
  --surface-brand: var(--cg-blue); --surface-brand-deep: var(--cg-navy); --surface-tint: var(--blue-50);
  --border-default: var(--rule); --border-strong: #CBD2DC; --border-focus: var(--cg-blue);
  --gradient-brand: linear-gradient(120deg, var(--cg-blue) 0%, var(--cg-sky) 100%);
  --gradient-deep: linear-gradient(150deg, #11142f 0%, var(--cg-navy) 100%);
  --font-heading: 'Barlow', 'DIN Alternate', 'Segoe UI', sans-serif;
  --font-body: 'Source Sans 3', 'Segoe UI', system-ui, sans-serif;
  --font-display: 'Source Sans 3', 'Segoe UI', sans-serif;
  --font-mono: ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
  --text-display: 64px; --text-h1: 48px; --text-h2: 36px; --text-h3: 28px; --text-h4: 22px;
  --text-lg: 18px; --text-base: 16px; --text-sm: 14px; --text-xs: 12px;
  --weight-regular: 400; --weight-medium: 500; --weight-semibold: 600; --weight-bold: 700;
  --leading-tight: 1.1; --leading-snug: 1.25; --leading-normal: 1.5; --leading-relaxed: 1.65;
  --tracking-tight: -0.02em; --tracking-normal: 0; --tracking-wide: 0.04em; --tracking-caps: 0.08em;
  --space-0: 0; --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px;
  --space-5: 24px; --space-6: 32px; --space-7: 48px; --space-8: 64px; --space-9: 96px; --space-10: 128px;
  --radius-xs: 4px; --radius-sm: 8px; --radius-md: 12px; --radius-lg: 16px; --radius-xl: 24px; --radius-pill: 999px;
  --border-width: 1px; --border-width-strong: 2px;
  --shadow-xs: 0 1px 2px rgba(21, 24, 57, 0.06);
  --shadow-sm: 0 1px 3px rgba(21, 24, 57, 0.08), 0 1px 2px rgba(21, 24, 57, 0.04);
  --shadow-md: 0 4px 12px rgba(21, 24, 57, 0.08), 0 2px 4px rgba(21, 24, 57, 0.04);
  --shadow-lg: 0 12px 28px rgba(21, 24, 57, 0.12), 0 4px 8px rgba(21, 24, 57, 0.05);
  --shadow-brand: 0 12px 28px rgba(17, 41, 185, 0.22);
  --container-max: 1200px; --container-narrow: 760px; --section-gap: var(--space-9);
  --ease-standard: cubic-bezier(0.2, 0, 0, 1); --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --duration-fast: 120ms; --duration-base: 200ms; --duration-slow: 360ms;
}

body, .elementor-widget-container {
  font-family: var(--font-body);
  color: var(--text-body);
  font-size: var(--text-base);
  line-height: var(--leading-relaxed);
}
h1, h2, h3, h4, h5, h6, .elementor-widget-heading .elementor-heading-title {
  font-family: var(--font-heading);
  color: var(--text-heading);
  font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-tight);
  line-height: var(--leading-tight);
}
a { color: var(--text-link); }
.cg-eyebrow {
  display: inline-block;
  font-family: var(--font-body);
  font-size: var(--text-xs);
  font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-caps);
  text-transform: uppercase;
  color: var(--cg-orange);
}
.cg-container { max-width: var(--container-max); margin-left: auto; margin-right: auto; }
/* ============================================================
   THEME CHROME — header + footer polish, layered on top
   of Elementor's container output via custom CSS classes.
   ============================================================ */

.xpro-theme-builder-header.xtb-header-sticky {
  position: sticky;
  top: 0;
  z-index: 100;
}

.cgtech-header {
  background: rgba(255, 255, 255, 0.88) !important;
  backdrop-filter: blur(10px) saturate(120%);
  -webkit-backdrop-filter: blur(10px) saturate(120%);
  border-bottom: 1px solid var(--rule);
}

.cgtech-header__nav .elementor-nav-menu > li > a,
.cgtech-header__nav .e--pointer-none .elementor-item {
  font-family: var(--font-body) !important;
  font-size: var(--text-sm) !important;
  font-weight: var(--weight-medium) !important;
  color: var(--body-grey) !important;
  padding: 8px 14px !important;
  border-radius: var(--radius-sm) !important;
  transition: color var(--duration-base) var(--ease-standard), background var(--duration-base) var(--ease-standard);
}
.cgtech-header__nav .elementor-nav-menu > li > a:hover,
.cgtech-header__nav .e--pointer-none .elementor-item:hover {
  color: var(--cg-blue) !important;
  background: var(--blue-50) !important;
}
.cgtech-header__nav .elementor-nav-menu > li.current-menu-item > a,
.cgtech-header__nav .elementor-nav-menu > li.current-menu-parent > a {
  color: var(--cg-blue) !important;
  font-weight: var(--weight-semibold) !important;
}
.cgtech-header__nav .elementor-nav-menu--dropdown {
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-lg);
  border: 1px solid var(--rule);
  overflow: hidden;
  margin-top: 8px !important;
}
.cgtech-header__cta .elementor-button {
  border-radius: var(--radius-sm) !important;
  font-weight: var(--weight-semibold) !important;
  letter-spacing: 0 !important;
  padding: 10px 18px !important;
  font-size: var(--text-sm) !important;
  transition: transform var(--duration-fast) var(--ease-standard), filter var(--duration-base) var(--ease-standard) !important;
}
.cgtech-header__cta .elementor-button:hover { filter: brightness(0.92); transform: translateY(-1px); }

/* ----- FOOTER ----- */
.cgtech-footer { color: rgba(255,255,255,0.72); }
.cgtech-footer h1, .cgtech-footer h2, .cgtech-footer h3, .cgtech-footer h4, .cgtech-footer h5, .cgtech-footer h6 {
  color: #FFFFFF !important;
  font-family: var(--font-body) !important;
  font-weight: var(--weight-semibold) !important;
  letter-spacing: var(--tracking-wide);
  font-size: 13px !important;
  text-transform: uppercase;
  margin: 0 0 14px !important;
}
.cgtech-footer .elementor-nav-menu li a,
.cgtech-footer__col .elementor-nav-menu a {
  font-family: var(--font-body) !important;
  color: rgba(255,255,255,0.72) !important;
  font-size: 14px !important;
  font-weight: var(--weight-regular) !important;
  padding: 5px 0 !important;
  display: block;
  text-transform: none !important;
  letter-spacing: 0 !important;
  transition: color var(--duration-base) var(--ease-standard);
}
.cgtech-footer .elementor-nav-menu li a:hover,
.cgtech-footer__col .elementor-nav-menu a:hover {
  color: #FFFFFF !important;
}
.cgtech-footer .elementor-nav-menu {
  display: flex !important;
  flex-direction: column;
  gap: 0;
}
.cgtech-footer__bottom > * { color: rgba(255,255,255,0.5); font-size: 12px; }

/* Avoid Astra's default page padding stealing space from full-width sections */
.elementor-template-full-width .ast-container,
.ast-page-builder-template .ast-container {
  max-width: none;
  padding: 0;
}

/* Submenu polish */
.cgtech-header__nav .sub-menu,
.cgtech-header__nav .xpro-horizontal-menu .sub-menu {
  background: #FFFFFF !important;
  border: 1px solid var(--rule) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: var(--shadow-lg) !important;
  padding: 8px !important;
  margin-top: 6px !important;
  min-width: 240px !important;
}
.cgtech-header__nav .sub-menu li a,
.cgtech-header__nav .xpro-horizontal-menu .sub-menu li a {
  border-radius: var(--radius-sm) !important;
  padding: 10px 14px !important;
  font-size: var(--text-sm) !important;
  color: var(--text-body) !important;
}
.cgtech-header__nav .sub-menu li a:hover {
  background: var(--blue-50) !important;
  color: var(--cg-blue) !important;
}

/* Footer icon-list cleanups (remove the icon space since icons are blank) */
.cgtech-footer__list .elementor-icon-list-icon,
.cgtech-footer__list .elementor-inline-item .elementor-icon-list-icon {
  display: none !important;
}
.cgtech-footer__list .elementor-icon-list-text,
.cgtech-footer__list a {
  color: rgba(255,255,255,0.72) !important;
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  transition: color var(--duration-base) var(--ease-standard);
}
.cgtech-footer__list .elementor-icon-list-item:hover .elementor-icon-list-text,
.cgtech-footer__list a:hover { color: #FFFFFF !important; }
.cgtech-footer__list .elementor-icon-list-items > li { margin-bottom: 6px !important; padding: 0 !important; }
.cgtech-footer__list .elementor-icon-list-item { padding: 0 !important; }

/* Footer text-editor links */
.cgtech-footer__col a { color: #FFFFFF !important; }
.cgtech-footer__col p { color: rgba(255,255,255,0.7) !important; font-family: var(--font-body); }
/* Final nav fit pass */
.cgtech-header__inner { gap: 16px !important; }
.cgtech-header__nav .menu > li > a,
.cgtech-header__nav .xpro-horizontal-menu li a {
  padding: 6px 9px !important;
  font-size: 14px !important;
}
.cgtech-header__nav .xpro-horizontal-menu .menu-arrow {
  margin-left: 2px !important;
  font-size: 11px !important;
}
.cgtech-header__logo img { max-width: 180px !important; }
.cgtech-header__cta .elementor-button {
  padding: 10px 16px !important;
  font-size: 13px !important;
}

/* Chevron — small + subtle */
.cgtech-header__nav .menu-arrow,
.cgtech-header__nav .menu-toggle-arrow,
.cgtech-header__nav .xpro-arrow {
  font-size: 10px !important;
  opacity: 0.6 !important;
  margin-left: 1px !important;
}
/* Submenu */
.cgtech-header__nav ul li ul.sub-menu {
  background: #fff !important;
  border: 1px solid var(--rule) !important;
  border-radius: 12px !important;
  box-shadow: 0 12px 28px rgba(21,24,57,.12) !important;
  padding: 8px !important;
  margin-top: 8px !important;
  min-width: 260px !important;
}
.cgtech-header__nav ul li ul.sub-menu li a {
  padding: 10px 14px !important;
  display: block !important;
  border-radius: 6px !important;
}
.cgtech-header__nav ul li ul.sub-menu li a:hover {
  background: var(--blue-50) !important;
  color: var(--cg-blue) !important;
}
/* ===== Header nav (correct xpro-elementor-* selectors) ===== */

.cgtech-header__inner { gap: 16px !important; flex-wrap: nowrap !important; }
.cgtech-header__nav { min-width: 0 !important; flex: 1 1 auto !important; }
.cgtech-header__nav .elementor-widget-container { width: 100% !important; }
.cgtech-header__nav .xpro-elementor-horizontal-navbar-wrapper {
  width: 100% !important;
}
.cgtech-header__nav .xpro-elementor-horizontal-navbar {
  width: 100% !important;
  display: flex !important;
  justify-content: flex-end !important;
}
.cgtech-header__nav ul.xpro-elementor-horizontal-navbar-nav {
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 2px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  white-space: nowrap !important;
}
.cgtech-header__nav .xpro-elementor-horizontal-navbar-nav > li {
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.cgtech-header__nav .xpro-elementor-nav-link,
.cgtech-header__nav .menu-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 2px !important;
  padding: 8px 10px !important;
  font-family: var(--font-body) !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  color: var(--body-grey) !important;
  text-decoration: none !important;
  border-radius: 6px !important;
  white-space: nowrap !important;
  line-height: 1 !important;
  transition: color .15s, background .15s !important;
}
.cgtech-header__nav .xpro-elementor-nav-link:hover,
.cgtech-header__nav .menu-link:hover {
  color: var(--cg-blue) !important;
  background: var(--blue-50) !important;
}
.cgtech-header__nav .current-menu-item > .xpro-elementor-nav-link,
.cgtech-header__nav .current-menu-item > .menu-link,
.cgtech-header__nav .current-menu-parent > .xpro-elementor-nav-link,
.cgtech-header__nav .current-menu-parent > .menu-link {
  color: var(--cg-blue) !important;
  font-weight: 600 !important;
}

/* Kill Astra's extra dropdown arrow span (we keep Xpro's). Also shrink Xpro's. */
.cgtech-header__nav .ast-header-navigation-arrow { display: none !important; }
.cgtech-header__nav .xpro-dropdown-menu-toggle { display: none !important; }
/* Use a small chevron via ::after on items with submenus */
.cgtech-header__nav .menu-item-has-children > .xpro-elementor-nav-link::after,
.cgtech-header__nav .menu-item-has-children > .menu-link::after {
  content: '';
  width: 8px; height: 8px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
  opacity: 0.55;
  margin-left: 4px;
  margin-bottom: 3px;
}

/* Submenu / Mega-ish dropdown */
.cgtech-header__nav .xpro-elementor-dropdown-menu {
  background: #fff !important;
  border: 1px solid var(--rule) !important;
  border-radius: 12px !important;
  box-shadow: 0 12px 28px rgba(21,24,57,.12) !important;
  padding: 8px !important;
  margin-top: 8px !important;
  min-width: 280px !important;
  list-style: none;
}
.cgtech-header__nav .xpro-elementor-dropdown-menu li { list-style: none; }
.cgtech-header__nav .xpro-elementor-dropdown-item {
  display: block !important;
  padding: 10px 14px !important;
  font-size: 14px !important;
  color: var(--text-body) !important;
  border-radius: 6px !important;
  text-decoration: none !important;
}
.cgtech-header__nav .xpro-elementor-dropdown-item:hover {
  background: var(--blue-50) !important;
  color: var(--cg-blue) !important;
}

/* Logo + CTA tightening */
.cgtech-header__logo img { max-width: 180px !important; height: auto; }
.cgtech-header__cta .elementor-button {
  white-space: nowrap !important;
  padding: 10px 18px !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  border-radius: 8px !important;
}
/* ===== HERO ===== */
.cgtech-hero {
  position: relative;
  overflow: hidden;
  min-height: 88vh;
  background: linear-gradient(150deg, #11142f 0%, var(--cg-navy) 100%);
  color: #FFFFFF;
}
.cgtech-hero__bg-layer {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  opacity: 0;
  transition: opacity 1.4s ease;
  z-index: 1;
}
.cgtech-hero__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(110deg, rgba(11,26,120,0.92) 0%, rgba(21,24,57,0.78) 55%, rgba(21,24,57,0.55) 100%);
  z-index: 2;
}
.cgtech-hero__inner {
  position: relative; z-index: 3;
  max-width: 1200px; margin: 0 auto;
  padding: 140px 24px 120px;
  display: grid;
  grid-template-columns: minmax(0, 760px);
}
.cgtech-hero__eyebrow {
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.78);
  margin: 0 0 18px;
}
.cgtech-hero__title {
  font-family: var(--font-heading);
  font-size: clamp(40px, 5.5vw, 76px);
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.05;
  color: #FFFFFF;
  margin: 0 0 28px;
  min-height: 1.05em; /* reserve space so layout doesn't jump */
}
.cgtech-typewriter__cursor {
  display: inline-block;
  width: 0.06em;
  height: 0.9em;
  margin-left: 0.06em;
  vertical-align: -0.04em;
  background: var(--cg-orange);
  animation: cgtech-blink 0.95s steps(2, start) infinite;
  color: transparent;
}
@keyframes cgtech-blink {
  to { visibility: hidden; }
}
.cgtech-hero__subline {
  font-family: var(--font-body);
  font-size: clamp(16px, 1.4vw, 19px);
  line-height: 1.65;
  color: rgba(255,255,255,0.82);
  margin: 0 0 36px;
  max-width: 640px;
}
.cgtech-hero__cta {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-bottom: 56px;
}
.cgtech-hero__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 16px 28px;
  border-radius: 8px;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 16px;
  text-decoration: none;
  border: 1.5px solid transparent;
  transition: transform .12s, filter .2s, background .2s, color .2s;
  cursor: pointer;
}
.cgtech-hero__btn:hover { filter: brightness(0.94); transform: translateY(-1px); }
.cgtech-hero__btn:active { transform: scale(0.97); }
.cgtech-hero__btn--primary {
  background: var(--cg-orange);
  color: #FFFFFF;
  border-color: var(--cg-orange);
}
.cgtech-hero__btn--secondary {
  background: transparent;
  color: #FFFFFF;
  border-color: rgba(255,255,255,0.45);
}
.cgtech-hero__btn--secondary:hover {
  background: rgba(255,255,255,0.08);
  border-color: #FFFFFF;
}
.cgtech-hero__caption {
  display: inline-block;
  font-family: var(--font-body);
  font-size: 13px;
  font-style: italic;
  color: rgba(255,255,255,0.7);
  padding: 6px 12px;
  border-left: 2px solid var(--cg-orange);
  margin-bottom: 18px;
  transition: opacity .6s ease;
}
.cgtech-hero__trust {
  font-family: var(--font-body);
  font-size: 13px;
  color: rgba(255,255,255,0.65);
  border-top: 1px solid rgba(255,255,255,0.16);
  padding-top: 22px;
  max-width: 760px;
}
.cgtech-hero__seo {
  position: absolute !important;
  width: 1px; height: 1px;
  margin: -1px; padding: 0; overflow: hidden;
  clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
/* Fade-in for hero secondary elements after typewriter completes */
.cgtech-hero__fade {
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .55s ease, transform .55s ease;
}
.cgtech-hero__fade--in {
  opacity: 1;
  transform: translateY(0);
}

/* Decorative tech pattern in bottom right corner */
.cgtech-hero::after {
  content: '';
  position: absolute; right: -60px; bottom: -60px;
  width: 420px; height: 420px;
  background: radial-gradient(circle at center, rgba(79,142,232,0.22) 0%, transparent 60%);
  z-index: 2;
  pointer-events: none;
}
/* ===== HERO v2 patches — stronger overlay, centered inner, contrast ===== */
.cgtech-hero {
  position: relative !important;
  overflow: hidden !important;
  min-height: 90vh !important;
  background: linear-gradient(150deg, #11142f 0%, var(--cg-navy) 100%) !important;
  color: #FFFFFF !important;
  padding: 0 !important;
  display: flex !important;
  align-items: stretch !important;
  justify-content: center !important;
}
.cgtech-hero__bg-layer {
  position: absolute !important; inset: 0 !important;
  background-size: cover !important;
  background-position: center !important;
  z-index: 1 !important;
  pointer-events: none;
}
.cgtech-hero__overlay {
  position: absolute !important; inset: 0 !important;
  background: linear-gradient(105deg, rgba(21,24,57,0.95) 0%, rgba(21,24,57,0.88) 45%, rgba(21,24,57,0.70) 100%) !important;
  z-index: 2 !important;
  pointer-events: none;
}
.cgtech-hero__inner {
  position: relative !important;
  z-index: 3 !important;
  width: 100% !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 140px 32px 120px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  text-align: left !important;
}

/* Eyebrow */
.cgtech-hero__eyebrow,
.cgtech-hero__eyebrow .elementor-widget-container {
  color: rgba(255,255,255,0.85) !important;
  font-family: var(--font-body) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  margin: 0 0 16px !important;
  max-width: none !important;
}

/* Rotating caption */
.cgtech-hero__caption,
.cgtech-hero__caption .elementor-widget-container {
  display: inline-block !important;
  color: rgba(255,255,255,0.82) !important;
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  font-style: italic !important;
  font-weight: 400 !important;
  padding: 4px 0 4px 14px !important;
  border-left: 3px solid var(--cg-orange) !important;
  margin: 0 0 24px !important;
  background: none !important;
  transition: opacity .6s ease;
}

/* H1 title */
.cgtech-hero__title .elementor-heading-title,
.cgtech-hero__title h1,
.cgtech-hero__title {
  font-family: var(--font-heading) !important;
  font-size: clamp(40px, 5.5vw, 80px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.05 !important;
  color: #FFFFFF !important;
  margin: 0 0 28px !important;
  text-shadow: 0 2px 24px rgba(11,26,120,0.45);
}

/* Sub-line */
.cgtech-hero__subline,
.cgtech-hero__subline .elementor-widget-container,
.cgtech-hero__subline p {
  font-family: var(--font-body) !important;
  font-size: clamp(16px, 1.35vw, 19px) !important;
  line-height: 1.65 !important;
  color: rgba(255,255,255,0.9) !important;
  margin: 0 0 36px !important;
  max-width: 720px !important;
}

/* CTA row */
.cgtech-hero__cta {
  margin-bottom: 56px !important;
}
.cgtech-hero__btn--primary .elementor-button {
  background: var(--cg-orange) !important;
  color: #FFFFFF !important;
  border-radius: 8px !important;
  padding: 16px 28px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  border: 1.5px solid var(--cg-orange) !important;
  white-space: nowrap !important;
}
.cgtech-hero__btn--primary .elementor-button:hover {
  background: var(--orange-700) !important;
  border-color: var(--orange-700) !important;
  transform: translateY(-1px);
}
.cgtech-hero__btn--secondary .elementor-button {
  background: transparent !important;
  color: #FFFFFF !important;
  border-radius: 8px !important;
  padding: 16px 28px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  border: 1.5px solid rgba(255,255,255,0.5) !important;
  white-space: nowrap !important;
}
.cgtech-hero__btn--secondary .elementor-button:hover {
  background: rgba(255,255,255,0.08) !important;
  border-color: #FFFFFF !important;
}

/* Trust line */
.cgtech-hero__trust,
.cgtech-hero__trust .elementor-widget-container,
.cgtech-hero__trust p {
  font-family: var(--font-body) !important;
  font-size: 13px !important;
  color: rgba(255,255,255,0.68) !important;
  max-width: 760px !important;
  margin: 0 !important;
}
.cgtech-hero__trust {
  border-top: 1px solid rgba(255,255,255,0.18) !important;
  padding-top: 22px !important;
}
.cgtech-hero__trust .elementor-widget-container,
.cgtech-hero__trust p {
  border-top: 0 !important;
  padding-top: 0 !important;
}

/* Typewriter cursor */
.cgtech-typewriter__cursor {
  display: inline-block !important;
  width: 0.05em !important;
  height: 0.9em !important;
  margin-left: 0.06em !important;
  vertical-align: -0.06em !important;
  background: var(--cg-orange) !important;
  color: transparent !important;
  animation: cgtech-blink 0.95s steps(2, start) infinite !important;
}
@keyframes cgtech-blink { to { visibility: hidden; } }

/* SEO hidden */
.cgtech-hero__seo,
.cgtech-hero__seo .elementor-widget-container {
  position: absolute !important;
  width: 1px !important; height: 1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
  padding: 0 !important;
}

/* Fade-in helper */
.cgtech-hero__fade {
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .55s ease, transform .55s ease;
}
.cgtech-hero__fade--in {
  opacity: 1 !important;
  transform: translateY(0) !important;
}
/* ===== SECTIONS ===== */
.cgtech-section {
  position: relative !important;
  overflow: hidden;
}
.cgtech-section--light { background: #FFFFFF !important; color: var(--text-body); }
.cgtech-section--sunken { background: var(--off-white) !important; }
.cgtech-section--dark { background-color: var(--cg-navy) !important; color: #FFFFFF; }
.cgtech-section__inner {
  width: 100% !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}

/* Eyebrow + headlines */
.cgtech-eyebrow,
.cgtech-eyebrow .elementor-widget-container,
.cgtech-eyebrow .elementor-widget-container p {
  color: var(--cg-orange) !important;
  font-family: var(--font-body) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  margin: 0 0 16px !important;
}
.cgtech-eyebrow--light,
.cgtech-eyebrow--light .elementor-widget-container,
.cgtech-eyebrow--light .elementor-widget-container p {
  color: var(--cg-orange) !important;
  opacity: 1 !important;
}

.cgtech-section__headline,
.cgtech-section__headline .elementor-heading-title,
.cgtech-section__headline h2 {
  font-family: var(--font-heading) !important;
  font-size: clamp(28px, 3.4vw, 44px) !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  color: var(--cg-navy) !important;
  margin: 0 0 18px !important;
  max-width: 920px !important;
}
.cgtech-section__headline--light,
.cgtech-section__headline--light .elementor-heading-title,
.cgtech-section__headline--light h2 {
  color: #FFFFFF !important;
}
.cgtech-section__headline--center,
.cgtech-section__headline--center .elementor-heading-title {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.cgtech-section__body,
.cgtech-section__body .elementor-widget-container,
.cgtech-section__body p {
  font-family: var(--font-body) !important;
  font-size: clamp(17px, 1.15vw, 18px) !important;
  line-height: 1.65 !important;
  color: var(--text-body) !important;
  max-width: 760px !important;
  margin: 0 !important;
}
.cgtech-section__body--light,
.cgtech-section__body--light p { color: rgba(255,255,255,0.85) !important; }
.cgtech-section__body--center, .cgtech-section__body--center p {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.cgtech-subheading,
.cgtech-subheading h4 {
  font-family: var(--font-heading) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: var(--cg-navy) !important;
  margin: 40px 0 8px !important;
  opacity: 0.7;
}
.cgtech-section--dark .cgtech-subheading h4 { color: #FFFFFF !important; opacity: 0.85; }

/* ===== CARDS ===== */
.cgtech-card {
  background: #FFFFFF !important;
  border: 1px solid var(--rule) !important;
  border-radius: 16px !important;
  box-shadow: 0 1px 3px rgba(21,24,57,0.06), 0 1px 2px rgba(21,24,57,0.04) !important;
  transition: transform .2s var(--ease-standard), box-shadow .25s var(--ease-standard) !important;
}
.cgtech-card:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 28px rgba(21,24,57,0.12), 0 4px 8px rgba(21,24,57,0.05) !important;
}
.cgtech-card--featured {
  border-top: 3px solid var(--cg-orange) !important;
}
.cgtech-card__title,
.cgtech-card__title h3 {
  font-family: var(--font-heading) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  color: var(--cg-navy) !important;
  margin: 0 0 10px !important;
  line-height: 1.25 !important;
}
.cgtech-card__body,
.cgtech-card__body p {
  font-family: var(--font-body) !important;
  font-size: 14.5px !important;
  line-height: 1.6 !important;
  color: var(--text-body) !important;
  margin: 0 !important;
}

.cgtech-card-grid > .e-con {
  background: transparent !important;
}
.cgtech-card-grid--4 > .cgtech-card { width: calc((100% - 60px) / 4) !important; min-width: 240px; }
.cgtech-card-grid--3 > .cgtech-card { width: calc((100% - 40px) / 3) !important; min-width: 260px; }
.cgtech-card-grid--2 > .cgtech-card { width: calc((100% - 20px) / 2) !important; min-width: 280px; }
@media (max-width: 900px) {
  .cgtech-card-grid--4 > .cgtech-card, .cgtech-card-grid--3 > .cgtech-card, .cgtech-card-grid--2 > .cgtech-card { width: 100% !important; }
}

/* On dark sections, cards stay light per brief (dark navy text on light cards) */
.cgtech-section--dark .cgtech-card {
  background: #FFFFFF !important;
}
.cgtech-section--dark .cgtech-card .cgtech-card__title h3,
.cgtech-section--dark .cgtech-card .cgtech-card__title { color: var(--cg-navy) !important; }
.cgtech-section--dark .cgtech-card .cgtech-card__body p { color: var(--text-body) !important; }

/* ===== PLATFORM CARDS ===== */
.cgtech-platform-grid > .cgtech-platform-card {
  width: calc((100% - 80px) / 5) !important;
  min-width: 220px;
  background: #FFFFFF !important;
  border: 1px solid var(--rule) !important;
  border-radius: 16px !important;
  box-shadow: 0 1px 3px rgba(21,24,57,0.06) !important;
  transition: transform .2s, box-shadow .25s, border-color .25s;
}
.cgtech-platform-grid > .cgtech-platform-card:hover {
  transform: translateY(-3px);
  border-color: var(--blue-100);
  box-shadow: 0 12px 28px rgba(21,24,57,0.12);
}
.cgtech-platform-card__logo .elementor-widget-container { margin-bottom: 16px; }
.cgtech-platform-card__logo img {
  max-height: 36px !important;
  width: auto !important;
  object-fit: contain;
  filter: grayscale(0.2);
  transition: filter .2s;
}
.cgtech-platform-card:hover .cgtech-platform-card__logo img { filter: grayscale(0); }
.cgtech-platform-card__name h4 {
  font-family: var(--font-heading) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--cg-navy) !important;
  margin: 0 0 6px !important;
}
.cgtech-platform-card__body p {
  font-family: var(--font-body) !important;
  font-size: 13.5px !important;
  line-height: 1.55 !important;
  color: var(--text-muted) !important;
  margin: 0 !important;
}
@media (max-width: 900px) {
  .cgtech-platform-grid > .cgtech-platform-card { width: calc((100% - 20px) / 2) !important; }
}
/* ===== CORE CAPABILITIES (3x2) ===== */
.cgtech-capability-grid > .cgtech-capability-card {
  width: calc((100% - 40px) / 3) !important;
  min-width: 280px;
  background: #FFFFFF !important;
  border: 1px solid var(--rule) !important;
  border-radius: 16px !important;
  box-shadow: 0 1px 3px rgba(21,24,57,0.05) !important;
  transition: transform .2s, box-shadow .25s, border-color .25s;
}
.cgtech-capability-grid > .cgtech-capability-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(21,24,57,0.10);
  border-color: var(--blue-100);
}
.cgtech-capability-card--featured {
  border-top: 3px solid var(--cg-orange) !important;
  background: linear-gradient(180deg, var(--blue-50) 0%, #FFFFFF 40%) !important;
}
.cgtech-capability-card__title h3 {
  font-family: var(--font-heading) !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: var(--cg-navy) !important;
  margin: 0 0 10px !important;
  line-height: 1.25 !important;
}
.cgtech-capability-card__body p {
  font-family: var(--font-body) !important;
  font-size: 14.5px !important;
  line-height: 1.6 !important;
  color: var(--text-body) !important;
  margin: 0 0 18px !important;
}
.cgtech-capability-card__link .elementor-button {
  background: transparent !important;
  color: var(--cg-blue) !important;
  border: none !important;
  padding: 0 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none;
}
.cgtech-capability-card__link .elementor-button::after {
  content: ' →';
  margin-left: 4px;
  transition: margin-left .2s var(--ease-standard);
}
.cgtech-capability-card:hover .cgtech-capability-card__link .elementor-button::after {
  margin-left: 8px;
}
@media (max-width: 900px) {
  .cgtech-capability-grid > .cgtech-capability-card { width: 100% !important; }
}

/* ===== APPROACH STEPS ===== */
.cgtech-step-grid > .cgtech-step-card {
  width: calc((100% - 60px) / 4) !important;
  min-width: 240px;
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  border-radius: 16px !important;
  backdrop-filter: blur(8px);
  transition: background .25s, border-color .25s;
}
.cgtech-step-grid > .cgtech-step-card:hover {
  background: rgba(255,255,255,0.10) !important;
  border-color: rgba(255,255,255,0.25) !important;
}
.cgtech-step-card__num,
.cgtech-step-card__num p {
  font-family: var(--font-heading) !important;
  font-size: 36px !important;
  font-weight: 700 !important;
  color: var(--cg-orange) !important;
  margin: 0 0 10px !important;
  line-height: 1 !important;
}
.cgtech-step-card__title h3 {
  font-family: var(--font-heading) !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
  margin: 0 0 8px !important;
  letter-spacing: -0.01em !important;
}
.cgtech-step-card__body p {
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: rgba(255,255,255,0.78) !important;
  margin: 0 !important;
}
@media (max-width: 900px) {
  .cgtech-step-grid > .cgtech-step-card { width: calc((100% - 20px) / 2) !important; }
}
@media (max-width: 600px) {
  .cgtech-step-grid > .cgtech-step-card { width: 100% !important; }
}

/* ===== MID-PAGE CTA (split banner) ===== */
.cgtech-mid-cta {
  background: #FFFFFF !important;
  border: 1px solid var(--rule) !important;
  border-left: 3px solid var(--cg-orange) !important;
  border-radius: 12px !important;
  box-shadow: 0 12px 32px rgba(21,24,57,0.08) !important;
  overflow: hidden;
}
.cgtech-mid-cta__headline h2 {
  font-family: var(--font-heading) !important;
  font-size: clamp(24px, 2.4vw, 32px) !important;
  font-weight: 700 !important;
  color: var(--cg-navy) !important;
  letter-spacing: -0.015em !important;
  line-height: 1.2 !important;
  margin: 0 0 14px !important;
}
.cgtech-mid-cta__body p {
  font-family: var(--font-body) !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
  color: var(--text-body) !important;
  margin: 0 0 28px !important;
}
.cgtech-mid-cta__btn .elementor-button {
  background: var(--cg-orange) !important;
  color: #FFFFFF !important;
  border-radius: 8px !important;
  padding: 14px 24px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  border: 1.5px solid var(--cg-orange) !important;
}
.cgtech-mid-cta__btn .elementor-button:hover {
  background: var(--orange-700) !important;
  border-color: var(--orange-700) !important;
  transform: translateY(-1px);
}
.cgtech-mid-cta__image {
  position: relative;
}
.cgtech-mid-cta__image::before {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(90deg, #FFFFFF 0%, rgba(255,255,255,0.45) 30%, transparent 70%);
  pointer-events: none;
  z-index: 1;
}
@media (max-width: 800px) {
  .cgtech-mid-cta { flex-direction: column !important; }
  .cgtech-mid-cta__content, .cgtech-mid-cta__image { width: 100% !important; }
  .cgtech-mid-cta__image { min-height: 200px !important; }
}

/* ===== PROCUREMENT TRUST TILES ===== */
.cgtech-trust-grid > .cgtech-trust-tile {
  width: calc((100% - 60px) / 4) !important;
  min-width: 200px;
  background: #FFFFFF !important;
  border: 1px solid var(--rule) !important;
  border-radius: 12px !important;
  text-align: center !important;
  transition: transform .2s, box-shadow .25s, border-color .25s;
}
.cgtech-trust-grid > .cgtech-trust-tile:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 24px rgba(21,24,57,0.08);
  border-color: var(--blue-100);
}
.cgtech-trust-tile__title h4 {
  font-family: var(--font-heading) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--cg-navy) !important;
  margin: 0 0 4px !important;
  letter-spacing: -0.005em !important;
}
.cgtech-trust-tile__sub,
.cgtech-trust-tile__sub p {
  font-family: var(--font-body) !important;
  font-size: 13px !important;
  color: var(--text-muted) !important;
  margin: 0 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-weight: 600 !important;
}
.cgtech-trust-tile__logo .elementor-widget-container { margin-bottom: 12px; }
.cgtech-trust-tile__logo img { max-height: 56px !important; width: auto !important; }
@media (max-width: 900px) {
  .cgtech-trust-grid > .cgtech-trust-tile { width: calc((100% - 20px) / 2) !important; }
}

/* ===== FINAL CTA ===== */
.cgtech-final-cta__headline,
.cgtech-final-cta__headline h2 {
  font-family: var(--font-heading) !important;
  font-size: clamp(32px, 3.6vw, 48px) !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
  letter-spacing: -0.02em !important;
  line-height: 1.15 !important;
  text-align: center !important;
  margin: 0 0 18px !important;
}
.cgtech-final-cta__body, .cgtech-final-cta__body p {
  font-family: var(--font-body) !important;
  font-size: 18px !important;
  line-height: 1.65 !important;
  color: rgba(255,255,255,0.88) !important;
  text-align: center !important;
  margin: 0 0 36px !important;
  max-width: 720px !important;
}
.cgtech-final-cta__btn .elementor-button {
  background: var(--cg-orange) !important;
  color: #FFFFFF !important;
  border-radius: 8px !important;
  padding: 18px 32px !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  border: 1.5px solid var(--cg-orange) !important;
}
.cgtech-final-cta__btn .elementor-button:hover {
  background: var(--orange-700) !important;
  border-color: var(--orange-700) !important;
  transform: translateY(-2px);
}
/* ===== HOME CAROUSELS — bypass Cube Portfolio with native CSS grid ===== */
.cgtech-carousel .xpro-post-grid-wrapper {
  width: 100% !important;
}
.cgtech-carousel .xpro-post-grid-main.cbp,
.cgtech-carousel .xpro-post-grid-main {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
  width: 100% !important;
  height: auto !important;
  position: static !important;
}
.cgtech-carousel .cbp-item,
.cgtech-carousel .xpro-post-grid-item {
  position: static !important;
  width: 100% !important;
  height: auto !important;
  background: #FFFFFF !important;
  border: 1px solid var(--rule) !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 1px 3px rgba(21,24,57,0.05);
  transition: transform .2s var(--ease-standard), box-shadow .25s var(--ease-standard);
  display: flex !important;
  flex-direction: column !important;
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
  margin-top: 40px !important; /* room below the section headline/body */
}
.cgtech-carousel .cbp-item:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 12px 28px rgba(21,24,57,0.12);
}
.cgtech-carousel .xpro-post-grid-image {
  display: block; width: 100%; aspect-ratio: 16/10; overflow: hidden;
  position: relative;
}
.cgtech-carousel .xpro-post-grid-image img {
  width: 100% !important; height: 100% !important; object-fit: cover !important;
  transition: transform .4s var(--ease-standard), filter .4s;
}
.cgtech-carousel .cbp-item:hover .xpro-post-grid-image img {
  transform: scale(1.04);
}
.cgtech-carousel .xpro-post-grid-content {
  padding: 24px 24px 28px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  flex: 1;
}
.cgtech-carousel .xpro-post-grid-meta-list {
  list-style: none; padding: 0; margin: 0 0 4px;
  display: flex; gap: 12px;
  font-family: var(--font-body);
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--cg-orange);
  font-weight: 600;
}
.cgtech-carousel .xpro-post-grid-meta-list i { display: none; }
.cgtech-carousel .xpro-post-grid-title {
  font-family: var(--font-heading) !important;
  font-size: 19px !important;
  font-weight: 700 !important;
  color: var(--cg-navy) !important;
  margin: 0 !important;
  letter-spacing: -0.01em !important;
  line-height: 1.3 !important;
}
.cgtech-carousel a:has(.xpro-post-grid-title) {
  text-decoration: none !important;
}
.cgtech-carousel .xpro-post-grid-excerpt {
  font-family: var(--font-body) !important;
  font-size: 14.5px !important;
  line-height: 1.6 !important;
  color: var(--text-body) !important;
  margin: 0 !important;
}
.cgtech-carousel .xpro-post-grid-read-more a,
.cgtech-carousel .xpro-post-grid-read-more {
  display: inline-flex !important;
  align-items: center;
  gap: 4px;
  font-family: var(--font-body) !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: var(--cg-blue) !important;
  text-decoration: none !important;
  margin-top: 8px;
}
.cgtech-carousel .xpro-post-grid-read-more a::after { content: ' →'; transition: margin-left .2s; }
.cgtech-carousel .cbp-item:hover .xpro-post-grid-read-more a::after { margin-left: 6px; }

/* Testimonials: quote treatment (no image, big quote) */
.cgtech-carousel--testimonials .cbp-item {
  background: #FFFFFF !important;
  border-top: 3px solid var(--cg-orange) !important;
  padding-top: 0 !important;
}
.cgtech-carousel--testimonials .xpro-post-grid-content {
  padding: 32px 28px !important;
  position: relative;
}
.cgtech-carousel--testimonials .xpro-post-grid-content::before {
  content: '“';
  font-family: var(--font-heading);
  font-size: 64px;
  color: var(--cg-sky);
  line-height: 1;
  margin-bottom: -10px;
  display: block;
}
.cgtech-carousel--testimonials .xpro-post-grid-title {
  font-size: 17px !important;
  color: var(--text-muted) !important;
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  margin-top: 14px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.cgtech-carousel--testimonials .xpro-post-grid-excerpt {
  font-family: var(--font-heading) !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  color: var(--cg-navy) !important;
  line-height: 1.45 !important;
  letter-spacing: -0.005em !important;
}
.cgtech-carousel--testimonials .xpro-post-grid-meta-list { display: none; }

@media (max-width: 900px) {
  .cgtech-carousel .xpro-post-grid-main { grid-template-columns: 1fr !important; }
}
/* Success stories: top-image cards */
.cgtech-carousel--stories .cbp-item {
  padding: 0 !important;
  overflow: hidden;
}
.cgtech-carousel--stories .xpro-post-grid-image {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 16 / 10 !important;
  overflow: hidden !important;
  position: relative !important;
  margin: 0 !important;
}
.cgtech-carousel--stories .xpro-post-grid-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform .4s var(--ease-standard), filter .4s;
}
.cgtech-carousel--stories .cbp-item:hover .xpro-post-grid-image img {
  transform: scale(1.04);
}
.cgtech-carousel--stories .xpro-post-grid-content {
  padding: 24px 24px 28px !important;
  background: #FFFFFF !important;
}
.cgtech-carousel--stories .xpro-post-grid-title {
  color: var(--cg-navy) !important;
  font-size: 19px !important;
}
.cgtech-carousel--stories .xpro-post-grid-excerpt {
  color: var(--text-body) !important;
}
.cgtech-carousel--stories .xpro-post-grid-meta-list {
  color: var(--cg-orange) !important;
}
/* Insights: same as default carousel layout - already styled */
.cgtech-carousel--insights .xpro-post-grid-image {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 16 / 10 !important;
  overflow: hidden;
}
.cgtech-carousel--insights .xpro-post-grid-image img {
  width: 100% !important; height: 100% !important; object-fit: cover !important;
}
/* ===== CONNECT PAGE ===== */
.cgtech-section--connect-hero {
  position: relative;
  overflow: hidden;
}
.cgtech-section--connect-hero::before {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(11,26,120,0.7) 0%, rgba(21,24,57,0) 60%);
  pointer-events: none;
}
.cgtech-connect-hero__title h1 {
  font-family: var(--font-heading) !important;
  font-size: clamp(36px, 4.4vw, 60px) !important;
  line-height: 1.1 !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
  color: #FFFFFF !important;
  margin: 0 0 20px !important;
  text-align: center !important;
  max-width: 820px;
  position: relative; z-index: 2;
}
.cgtech-connect-hero__body p {
  font-family: var(--font-body) !important;
  font-size: 18px !important;
  line-height: 1.65 !important;
  color: rgba(255,255,255,0.85) !important;
  text-align: center !important;
  margin: 0 auto !important;
  max-width: 680px;
  position: relative; z-index: 2;
}

/* Split layout */
.cgtech-connect-grid { align-items: stretch !important; }

.cgtech-connect__heading h3 {
  font-family: var(--font-heading) !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  color: var(--cg-navy) !important;
  letter-spacing: -0.015em !important;
  margin: 0 0 14px !important;
}
.cgtech-connect__lead p {
  font-family: var(--font-body) !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
  color: var(--text-body) !important;
  margin: 0 0 28px !important;
}
.cgtech-connect__list .elementor-icon-list-item { padding: 0 !important; align-items: flex-start !important; }
.cgtech-connect__list .elementor-icon-list-icon { padding-top: 4px !important; flex: none !important; }
.cgtech-connect__list a { color: var(--cg-navy) !important; text-decoration: none !important; transition: color .15s; }
.cgtech-connect__list a:hover { color: var(--cg-blue) !important; }
.cgtech-connect__list .elementor-icon-list-text {
  font-family: var(--font-body) !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  color: var(--text-heading) !important;
}
.cgtech-connect__trust {
  margin-top: 28px !important;
  padding: 18px 20px !important;
  background: var(--blue-50) !important;
  border-left: 3px solid var(--cg-blue) !important;
  border-radius: 8px !important;
}
.cgtech-connect__trust p {
  margin: 0 !important;
  font-family: var(--font-body) !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  color: var(--cg-navy) !important;
}

/* Form card */
.cgtech-connect__form-wrap {
  background: #FFFFFF !important;
  border: 1px solid var(--rule) !important;
  border-radius: 16px !important;
  box-shadow: 0 12px 32px rgba(21,24,57,0.06) !important;
  position: relative;
}
.cgtech-connect__form-wrap::before {
  content: '';
  position: absolute; top: -1px; left: -1px; right: -1px; height: 3px;
  background: var(--cg-orange);
  border-radius: 16px 16px 0 0;
}

/* WPForms field styling */
.cgtech-connect__form .wpforms-form { font-family: var(--font-body) !important; }
.cgtech-connect__form .wpforms-field { padding: 12px 0 !important; }
.cgtech-connect__form .wpforms-field-label,
.cgtech-connect__form .wpforms-field label {
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--cg-navy) !important;
  margin-bottom: 6px !important;
  display: block;
}
.cgtech-connect__form .wpforms-field input[type=text],
.cgtech-connect__form .wpforms-field input[type=email],
.cgtech-connect__form .wpforms-field input[type=tel],
.cgtech-connect__form .wpforms-field select,
.cgtech-connect__form .wpforms-field textarea {
  width: 100% !important;
  font-family: var(--font-body) !important;
  font-size: 15px !important;
  color: var(--text-body) !important;
  background: #FFFFFF !important;
  border: 1.5px solid var(--rule) !important;
  border-radius: 8px !important;
  padding: 11px 14px !important;
  box-shadow: none !important;
  transition: border-color .15s, box-shadow .15s;
}
.cgtech-connect__form .wpforms-field input:focus,
.cgtech-connect__form .wpforms-field select:focus,
.cgtech-connect__form .wpforms-field textarea:focus {
  outline: none !important;
  border-color: var(--cg-blue) !important;
  box-shadow: 0 0 0 3px var(--blue-100) !important;
}
.cgtech-connect__form .wpforms-field textarea { min-height: 140px !important; resize: vertical; }
.cgtech-connect__form .wpforms-field-description {
  font-size: 12.5px !important;
  color: var(--text-muted) !important;
  margin-top: 4px !important;
}
.cgtech-connect__form .wpforms-field-checkbox label,
.cgtech-connect__form .wpforms-field-checkbox ul li label {
  font-weight: 400 !important;
  font-size: 14px !important;
  color: var(--text-body) !important;
}
.cgtech-connect__form .wpforms-field-required-indicator { color: var(--cg-orange) !important; }
.cgtech-connect__form .wpforms-submit-container { padding-top: 8px !important; }
.cgtech-connect__form button.wpforms-submit,
.cgtech-connect__form .wpforms-submit {
  background: var(--cg-orange) !important;
  color: #FFFFFF !important;
  border: 1.5px solid var(--cg-orange) !important;
  border-radius: 8px !important;
  padding: 14px 28px !important;
  font-family: var(--font-body) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background .2s, transform .12s, filter .2s;
}
.cgtech-connect__form button.wpforms-submit:hover {
  background: var(--orange-700) !important;
  border-color: var(--orange-700) !important;
  transform: translateY(-1px);
}
.cgtech-connect__form .wpforms-confirmation-container {
  background: rgba(26,163,154,0.08) !important;
  border: 1px solid rgba(26,163,154,0.22) !important;
  border-left: 3px solid var(--cg-teal) !important;
  border-radius: 8px !important;
  padding: 18px 20px !important;
  color: var(--text-heading) !important;
}

/* Response pillars */
.cgtech-connect-pillar {
  text-align: left;
}
.cgtech-connect-pillar__num h3 {
  font-family: var(--font-heading) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: var(--cg-orange) !important;
  margin: 0 0 12px !important;
}
.cgtech-connect-pillar__body p {
  font-family: var(--font-body) !important;
  font-size: 15.5px !important;
  line-height: 1.6 !important;
  color: var(--text-body) !important;
  margin: 0 !important;
}
.cgtech-connect-pillar__body strong {
  color: var(--cg-navy);
  font-weight: 700;
}

@media (max-width: 900px) {
  .cgtech-connect__info, .cgtech-connect__form-wrap { width: 100% !important; }
  .cgtech-connect-pillar { width: 100% !important; }
}
/* ===== ABOUT PAGE ===== */
.cgtech-section--about-hero { position: relative; overflow: hidden; }
.cgtech-section--about-hero::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at top, rgba(79,142,232,0.18) 0%, transparent 60%);
  pointer-events: none;
}
.cgtech-about-hero__title h1 {
  font-family: var(--font-heading) !important;
  font-size: clamp(40px, 5vw, 64px) !important;
  line-height: 1.08 !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
  color: #FFFFFF !important;
  text-align: center !important;
  margin: 0 0 24px !important;
  position: relative; z-index: 2;
}
.cgtech-about-hero__body p {
  font-family: var(--font-body) !important;
  font-size: 19px !important;
  line-height: 1.65 !important;
  color: rgba(255,255,255,0.85) !important;
  text-align: center !important;
  margin: 0 !important;
  position: relative; z-index: 2;
  max-width: 720px;
}

/* Story facts card */
.cgtech-story__facts {
  background: linear-gradient(170deg, var(--blue-50) 0%, #FFFFFF 100%) !important;
  border: 1px solid var(--rule) !important;
  border-radius: 16px !important;
  box-shadow: 0 1px 3px rgba(21,24,57,0.05) !important;
  position: relative;
}
.cgtech-story__facts::before {
  content: '';
  position: absolute; top: -1px; left: -1px; right: -1px; height: 3px;
  background: var(--cg-blue);
  border-radius: 16px 16px 0 0;
}
.cgtech-story__facts-title h4 {
  font-family: var(--font-body) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: var(--cg-orange) !important;
  margin: 0 0 18px !important;
}
.cgtech-stat {
  background: rgba(255,255,255,0.7) !important;
  border-left: 2px solid var(--cg-blue) !important;
  border-radius: 4px !important;
}
.cgtech-stat__k h3 {
  font-family: var(--font-heading) !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  color: var(--cg-navy) !important;
  line-height: 1 !important;
  margin: 0 0 4px !important;
  letter-spacing: -0.015em !important;
}
.cgtech-stat__v p {
  font-family: var(--font-body) !important;
  font-size: 13.5px !important;
  line-height: 1.45 !important;
  color: var(--text-body) !important;
  margin: 0 !important;
}

/* Values grid */
.cgtech-value-grid > .cgtech-value-card {
  width: calc((100% - 40px) / 3) !important;
  min-width: 280px;
  background: #FFFFFF !important;
  border: 1px solid var(--rule) !important;
  border-radius: 16px !important;
  box-shadow: 0 1px 3px rgba(21,24,57,0.05);
  transition: transform .2s, box-shadow .25s;
}
.cgtech-value-grid > .cgtech-value-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(21,24,57,0.10);
}.cgtech-value-card__title h3 {
  font-family: var(--font-heading) !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: var(--cg-navy) !important;
  letter-spacing: -0.015em !important;
  margin: 0 0 10px !important;
}
.cgtech-value-card__body p {
  font-family: var(--font-body) !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  color: var(--text-body) !important;
  margin: 0 !important;
}
@media (max-width: 900px) {
  .cgtech-value-grid > .cgtech-value-card { width: 100% !important; }
  .cgtech-story__content, .cgtech-story__facts { width: 100% !important; }
}

/* Government band on About */
.cgtech-gov__title h3 {
  font-family: var(--font-heading) !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
  letter-spacing: -0.015em !important;
  margin: 0 0 8px !important;
}
.cgtech-gov__body p {
  font-family: var(--font-body) !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  color: rgba(255,255,255,0.82) !important;
  margin: 0 !important;
}
.cgtech-gov__btn .elementor-button {
  background: var(--cg-orange) !important;
  color: #FFFFFF !important;
  border: 1.5px solid var(--cg-orange) !important;
  border-radius: 8px !important;
  padding: 13px 24px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  white-space: nowrap;
}

/* About CTA */
.cgtech-about-cta__btn .elementor-button {
  background: var(--cg-orange) !important;
  color: #FFFFFF !important;
  border-radius: 8px !important;
  padding: 16px 28px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  border: 1.5px solid var(--cg-orange) !important;
  margin-top: 24px;
}
.cgtech-about-cta__btn .elementor-button:hover { background: var(--orange-700) !important; transform: translateY(-1px); }
/* ===== SOLUTION PAGES ===== */
.cgtech-section--sol-hero {
  position: relative;
  overflow: hidden;
}
.cgtech-section--sol-hero::before {
  content: '';
  position: absolute; top: -100px; right: -100px;
  width: 480px; height: 480px;
  background: radial-gradient(circle at center, rgba(17,41,185,0.08) 0%, transparent 70%);
  pointer-events: none;
}
.cgtech-sol-hero__title h1 {
  font-family: var(--font-heading) !important;
  font-size: clamp(40px, 5vw, 64px) !important;
  line-height: 1.08 !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
  color: var(--cg-navy) !important;
  margin: 0 0 20px !important;
  max-width: 900px;
  position: relative; z-index: 2;
}
.cgtech-sol-hero__sub p {
  font-family: var(--font-heading) !important;
  font-size: clamp(20px, 1.8vw, 26px) !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  color: var(--cg-blue) !important;
  margin: 0 0 20px !important;
  max-width: 760px;
  letter-spacing: -0.01em;
  position: relative; z-index: 2;
}
.cgtech-sol-hero__intro p {
  font-family: var(--font-body) !important;
  font-size: 18px !important;
  line-height: 1.65 !important;
  color: var(--text-body) !important;
  margin: 0 0 12px !important;
  max-width: 720px;
  position: relative; z-index: 2;
}
.cgtech-sol-hero__btn--primary .elementor-button {
  background: var(--cg-orange) !important;
  color: #FFFFFF !important;
  border: 1.5px solid var(--cg-orange) !important;
  border-radius: 8px !important;
  padding: 14px 24px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  white-space: nowrap;
}
.cgtech-sol-hero__btn--primary .elementor-button:hover { background: var(--orange-700) !important; transform: translateY(-1px); }
.cgtech-sol-hero__btn--secondary .elementor-button {
  background: #FFFFFF !important;
  color: var(--cg-blue) !important;
  border: 1.5px solid var(--cg-blue) !important;
  border-radius: 8px !important;
  padding: 14px 24px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  white-space: nowrap;
}
.cgtech-sol-hero__btn--secondary .elementor-button:hover { background: var(--blue-50) !important; }

/* Capability grid */
.cgtech-cap-grid > .cgtech-cap-card {
  width: calc((100% - 20px) / 2) !important;
  min-width: 320px;
  background: #FFFFFF !important;
  border: 1px solid var(--rule) !important;
  border-radius: 16px !important;
  box-shadow: 0 1px 3px rgba(21,24,57,0.05);
  border-left: 3px solid var(--cg-blue) !important;
  transition: transform .2s, box-shadow .25s, border-left-color .25s;
}
.cgtech-cap-grid > .cgtech-cap-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(21,24,57,0.10);
  border-left-color: var(--cg-orange) !important;
}
.cgtech-cap-card__title h3 {
  font-family: var(--font-heading) !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: var(--cg-navy) !important;
  letter-spacing: -0.01em !important;
  margin: 0 0 10px !important;
}
.cgtech-cap-card__body p {
  font-family: var(--font-body) !important;
  font-size: 14.5px !important;
  line-height: 1.6 !important;
  color: var(--text-body) !important;
  margin: 0 !important;
}
@media (max-width: 900px) {
  .cgtech-cap-grid > .cgtech-cap-card { width: 100% !important; }
}

/* Industry / audience chips */
.cgtech-chip-row { align-items: flex-start !important; }
.cgtech-chip,
.cgtech-chip .elementor-widget-container,
.cgtech-chip .elementor-widget-container p {
  display: inline-block !important;
  margin: 0 !important;
  padding: 8px 16px !important;
  background: var(--blue-50) !important;
  border: 1px solid var(--blue-100) !important;
  border-radius: 999px !important;
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--cg-blue) !important;
  line-height: 1.2 !important;
}

/* Solution CTA banner */
.cgtech-sol-cta__title,
.cgtech-sol-cta__title h2 {
  font-family: var(--font-heading) !important;
  font-size: clamp(28px, 3vw, 40px) !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
  letter-spacing: -0.02em !important;
  text-align: center !important;
  margin: 0 0 14px !important;
}
.cgtech-sol-cta__body p {
  font-family: var(--font-body) !important;
  font-size: 17px !important;
  color: rgba(255,255,255,0.85) !important;
  text-align: center !important;
  margin: 0 0 28px !important;
}
.cgtech-sol-cta__btn .elementor-button {
  background: var(--cg-orange) !important;
  color: #FFFFFF !important;
  border-radius: 8px !important;
  padding: 16px 28px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  border: 1.5px solid var(--cg-orange) !important;
}
.cgtech-sol-cta__btn .elementor-button:hover { background: var(--orange-700) !important; transform: translateY(-1px); }

/* Hide Astra auto title — our hero H1 is in Elementor */
.entry-header .entry-title,
.ast-page-builder-template .entry-header,
body.page .entry-title,
.ast-archive-title { display: none !important; }
body.page .ast-no-thumbnail .entry-header { margin: 0 !important; padding: 0 !important; }

/* ===== STUB PAGES (Tech / Industries / Challenges) ===== */
.cgtech-section--stub-hero { position: relative; overflow: hidden; }
.cgtech-section--stub-hero::before {
  content: '';
  position: absolute; top: -120px; right: -120px;
  width: 420px; height: 420px;
  background: radial-gradient(circle, rgba(17,41,185,0.06) 0%, transparent 70%);
  pointer-events: none;
}
.cgtech-stub-hero__title h1 {
  font-family: var(--font-heading) !important;
  font-size: clamp(36px, 4.6vw, 60px) !important;
  line-height: 1.1 !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
  color: var(--cg-navy) !important;
  margin: 0 0 22px !important;
  max-width: 820px;
  position: relative; z-index: 2;
}
.cgtech-stub-hero__body p {
  font-family: var(--font-body) !important;
  font-size: 19px !important;
  line-height: 1.65 !important;
  color: var(--text-body) !important;
  margin: 0 !important;
  max-width: 740px;
  position: relative; z-index: 2;
}

/* Related solution cards */
.cgtech-related-grid > .cgtech-related-card {
  width: calc((100% - 32px) / 3) !important;
  min-width: 260px;
  background: #FFFFFF !important;
  border: 1px solid var(--rule) !important;
  border-radius: 12px !important;
  box-shadow: 0 1px 3px rgba(21,24,57,0.05);
  transition: transform .2s, box-shadow .25s, border-color .25s;
}
.cgtech-related-grid > .cgtech-related-card:hover {
  transform: translateY(-3px);
  border-color: var(--blue-100);
  box-shadow: 0 12px 28px rgba(21,24,57,0.10);
}
.cgtech-related-card__title h3 {
  font-family: var(--font-heading) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--cg-navy) !important;
  letter-spacing: -0.01em !important;
  margin: 0 0 14px !important;
}
.cgtech-related-card__title a { color: inherit !important; text-decoration: none !important; }
.cgtech-related-card__link .elementor-button {
  background: transparent !important;
  color: var(--cg-blue) !important;
  border: none !important;
  padding: 0 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none;
}
.cgtech-related-card__link .elementor-button::after {
  content: ' →';
  margin-left: 4px;
  transition: margin-left .2s var(--ease-standard);
}
.cgtech-related-card:hover .cgtech-related-card__link .elementor-button::after { margin-left: 8px; }
@media (max-width: 900px) {
  .cgtech-related-grid > .cgtech-related-card { width: 100% !important; }
}
/* ===== PRODUCT PAGES ===== */
.cgtech-section--prod-hero { position: relative; overflow: hidden; }
.cgtech-section--prod-hero::before {
  content: '';
  position: absolute; top: -80px; right: -80px;
  width: 320px; height: 320px;
  background: radial-gradient(circle, rgba(17,41,185,0.06) 0%, transparent 70%);
  pointer-events: none;
}
.cgtech-prod-hero__title h1 {
  font-family: var(--font-heading) !important;
  font-size: clamp(36px, 4.4vw, 56px) !important;
  line-height: 1.1 !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
  color: var(--cg-navy) !important;
  margin: 0 0 18px !important;
}
.cgtech-prod-hero__sub p {
  font-family: var(--font-heading) !important;
  font-size: clamp(18px, 1.6vw, 22px) !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  color: var(--cg-blue) !important;
  margin: 0 0 16px !important;
  letter-spacing: -0.01em !important;
  max-width: 760px;
}
.cgtech-prod-hero__intro p {
  font-family: var(--font-body) !important;
  font-size: 17px !important;
  line-height: 1.65 !important;
  color: var(--text-body) !important;
  margin: 0 !important;
  max-width: 720px;
}
.cgtech-prod-cap-grid > .cgtech-prod-cap {
  width: calc((100% - 16px) / 2) !important;
  min-width: 300px;
  background: #FFFFFF !important;
  border: 1px solid var(--rule) !important;
  border-left: 3px solid var(--cg-blue) !important;
  border-radius: 12px !important;
  transition: transform .2s, box-shadow .25s, border-left-color .25s;
}
.cgtech-prod-cap-grid > .cgtech-prod-cap:hover {
  transform: translateY(-2px);
  border-left-color: var(--cg-orange) !important;
  box-shadow: 0 8px 20px rgba(21,24,57,0.08);
}
.cgtech-prod-cap__title h3 {
  font-family: var(--font-heading) !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  color: var(--cg-navy) !important;
  letter-spacing: -0.005em !important;
  margin: 0 0 8px !important;
}
.cgtech-prod-cap__body p {
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  color: var(--text-body) !important;
  margin: 0 !important;
}
@media (max-width: 800px) {
  .cgtech-prod-cap-grid > .cgtech-prod-cap { width: 100% !important; }
}

/* ===== PLATFORM CATEGORY PAGES ===== */
.cgtech-platform-hero__title h1 {
  font-family: var(--font-heading) !important;
  font-size: clamp(48px, 5.5vw, 72px) !important;
  line-height: 1.05 !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
  color: var(--cg-navy) !important;
  margin: 0 0 18px !important;
}
.cgtech-platform-hero__intro p {
  font-family: var(--font-heading) !important;
  font-size: clamp(20px, 1.8vw, 26px) !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  color: var(--cg-blue) !important;
  margin: 0 0 18px !important;
  letter-spacing: -0.01em !important;
  max-width: 760px;
}
.cgtech-platform-hero__body p {
  font-family: var(--font-body) !important;
  font-size: 17px !important;
  line-height: 1.65 !important;
  color: var(--text-body) !important;
  margin: 0 !important;
  max-width: 720px;
}
.cgtech-prod-grid > .cgtech-prod-card {
  width: calc((100% - 42px) / 4) !important;
  min-width: 240px;
  background: #FFFFFF !important;
  border: 1px solid var(--rule) !important;
  border-radius: 12px !important;
  box-shadow: 0 1px 3px rgba(21,24,57,0.05);
  transition: transform .2s, box-shadow .25s, border-color .25s;
}
.cgtech-prod-grid > .cgtech-prod-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 24px rgba(21,24,57,0.10);
  border-color: var(--blue-100);
}
.cgtech-prod-card__name h3,
.cgtech-prod-card__name h3 a {
  font-family: var(--font-heading) !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  color: var(--cg-navy) !important;
  letter-spacing: -0.005em !important;
  margin: 0 !important;
  text-decoration: none !important;
}
.cgtech-prod-card__name h3 a:hover { color: var(--cg-blue) !important; }
.cgtech-prod-card__link .elementor-button {
  background: transparent !important;
  color: var(--cg-blue) !important;
  border: none !important;
  padding: 0 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  margin-top: 8px;
  display: inline-flex;
  align-items: center;
}
.cgtech-prod-card__link .elementor-button::after { content: ' →'; margin-left: 4px; transition: margin-left .2s; }
.cgtech-prod-card:hover .cgtech-prod-card__link .elementor-button::after { margin-left: 8px; }
@media (max-width: 1100px) { .cgtech-prod-grid > .cgtech-prod-card { width: calc((100% - 28px) / 3) !important; } }
@media (max-width: 800px)  { .cgtech-prod-grid > .cgtech-prod-card { width: calc((100% - 14px) / 2) !important; } }
@media (max-width: 500px)  { .cgtech-prod-grid > .cgtech-prod-card { width: 100% !important; } }

/* ===== TECHNOLOGIES LANDING ===== */
.cgtech-platform-grid-big > .cgtech-plat-card {
  width: calc((100% - 40px) / 3) !important;
  min-width: 280px;
  background: #FFFFFF !important;
  border: 1px solid var(--rule) !important;
  border-radius: 16px !important;
  box-shadow: 0 1px 3px rgba(21,24,57,0.05);
  transition: transform .2s, box-shadow .25s, border-color .25s;
}
.cgtech-platform-grid-big > .cgtech-plat-card:hover {
  transform: translateY(-3px);
  border-color: var(--blue-100);
  box-shadow: 0 12px 28px rgba(21,24,57,0.10);
}
.cgtech-plat-card__logo .elementor-widget-container { margin-bottom: 18px; }
.cgtech-plat-card__logo img {
  max-height: 40px !important;
  width: auto !important;
  object-fit: contain;
}
.cgtech-plat-card__name h3,
.cgtech-plat-card__name h3 a {
  font-family: var(--font-heading) !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: var(--cg-navy) !important;
  margin: 0 0 10px !important;
  letter-spacing: -0.015em !important;
  text-decoration: none !important;
}
.cgtech-plat-card__name h3 a:hover { color: var(--cg-blue) !important; }
.cgtech-plat-card__copy p {
  font-family: var(--font-body) !important;
  font-size: 14.5px !important;
  line-height: 1.55 !important;
  color: var(--text-body) !important;
  margin: 0 0 18px !important;
}
.cgtech-plat-card__link .elementor-button {
  background: transparent !important;
  color: var(--cg-blue) !important;
  border: none !important;
  padding: 0 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}
.cgtech-plat-card__link .elementor-button::after { content: ' →'; margin-left: 4px; transition: margin-left .2s; }
.cgtech-plat-card:hover .cgtech-plat-card__link .elementor-button::after { margin-left: 8px; }
@media (max-width: 900px) { .cgtech-platform-grid-big > .cgtech-plat-card { width: 100% !important; } }
/* ---- Boxed-container fix — Elementor wraps children in .e-con-inner so > selectors miss ---- */
.cgtech-platform-grid-big > .e-con-inner,
.cgtech-prod-grid > .e-con-inner,
.cgtech-prod-cap-grid > .e-con-inner,
.cgtech-related-grid > .e-con-inner,
.cgtech-capability-grid > .e-con-inner,
.cgtech-card-grid > .e-con-inner,
.cgtech-platform-grid > .e-con-inner,
.cgtech-step-grid > .e-con-inner,
.cgtech-trust-grid > .e-con-inner,
.cgtech-value-grid > .e-con-inner,
.cgtech-stat-grid > .e-con-inner,
.cgtech-cap-grid > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: inherit;
}
.cgtech-platform-grid-big .cgtech-plat-card { width: calc((100% - 40px) / 3) !important; min-width: 280px; }
.cgtech-prod-grid .cgtech-prod-card { width: calc((100% - 42px) / 4) !important; min-width: 220px; }
.cgtech-prod-cap-grid .cgtech-prod-cap { width: calc((100% - 16px) / 2) !important; min-width: 300px; }
.cgtech-related-grid .cgtech-related-card { width: calc((100% - 32px) / 3) !important; min-width: 260px; }
@media (max-width: 1100px) { .cgtech-prod-grid .cgtech-prod-card { width: calc((100% - 28px) / 3) !important; } }
@media (max-width: 900px) {
  .cgtech-platform-grid-big .cgtech-plat-card,
  .cgtech-related-grid .cgtech-related-card,
  .cgtech-prod-cap-grid .cgtech-prod-cap { width: 100% !important; }
  .cgtech-prod-grid .cgtech-prod-card { width: calc((100% - 14px) / 2) !important; }
}
/* ===== SCROLL REVEAL ===== */
.cg-reveal {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity .7s var(--ease-out), transform .7s var(--ease-out);
  transition-delay: var(--cg-reveal-delay, 0ms);
  will-change: opacity, transform;
}
.cg-reveal--in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .cg-reveal { opacity: 1 !important; transform: none !important; }
}

/* ===== SUBTLE BRAND PATTERNS (per brief) ===== */
.cgtech-section--xform { position: relative; overflow: hidden; }
.cgtech-section--xform::after {
  content: '';
  position: absolute; inset: 0;
  background-image:
    radial-gradient(circle at 1px 1px, rgba(17,41,185,0.07) 1px, transparent 0);
  background-size: 28px 28px;
  -webkit-mask-image: linear-gradient(120deg, rgba(0,0,0,0.6) 0%, transparent 55%);
  mask-image: linear-gradient(120deg, rgba(0,0,0,0.6) 0%, transparent 55%);
  pointer-events: none;
  z-index: 0;
}
.cgtech-section--xform .cgtech-section__inner { position: relative; z-index: 1; }

.cgtech-section--ai { position: relative; overflow: hidden; }
.cgtech-section--ai::after {
  content: '';
  position: absolute; top: 0; right: 0; width: 45%; height: 100%;
  background-image:
    linear-gradient(rgba(79,142,232,0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(79,142,232,0.05) 1px, transparent 1px);
  background-size: 36px 36px;
  -webkit-mask-image: linear-gradient(270deg, rgba(0,0,0,0.5) 0%, transparent 80%);
  mask-image: linear-gradient(270deg, rgba(0,0,0,0.5) 0%, transparent 80%);
  pointer-events: none;
  z-index: 0;
}
.cgtech-section--ai .cgtech-section__inner { position: relative; z-index: 1; }

/* Core capabilities: blue-grey gradient top fading to white (per brief) */
.cgtech-section--caps {
  background: linear-gradient(180deg, #EEF1FD 0%, #F4F5F8 22%, #F4F5F8 100%) !important;
}

/* ===== HOVER UPGRADES ===== */
/* Accent line that draws in on card hover */
.cgtech-card, .cgtech-capability-card, .cgtech-cap-card, .cgtech-prod-cap, .cgtech-related-card, .cgtech-plat-card, .cgtech-prod-card {
  position: relative;
}
.cgtech-platform-card .cgtech-platform-card__logo img,
.cgtech-plat-card__logo img { transition: transform .3s var(--ease-out), filter .3s; }
.cgtech-platform-card:hover .cgtech-platform-card__logo img,
.cgtech-plat-card:hover .cgtech-plat-card__logo img { transform: scale(1.06); }
/* (old left-to-right overlay removed; see ALTERNATING SECTION BACKGROUNDS) */
/* ============================================================
   ALTERNATING SECTION BACKGROUNDS
   A = light + subtle light-blue gradient
   B = picture + strong dark-navy overlay
   ============================================================ */

/* --- A: light sections --- */
.cgtech-bg-light {
  background: linear-gradient(168deg, #E9EFFC 0%, #F4F7FE 46%, #FFFFFF 100%) !important;
}

/* --- B: picture sections, strong navy overlay --- */
.cgtech-bg-picture { position: relative; isolation: isolate; }
.cgtech-bg-picture::before {
  content: '';
  position: absolute; inset: 0; z-index: 0;
  background: linear-gradient(100deg, rgba(11,26,120,0.93) 0%, rgba(13,31,148,0.78) 38%, rgba(21,24,57,0.46) 74%, rgba(21,24,57,0.30) 100%);
  pointer-events: none;
}
/* lift all direct content above the overlay */
.cgtech-bg-picture > .e-con-inner,
.cgtech-bg-picture > .elementor-element,
.cgtech-bg-picture .cgtech-section__inner { position: relative; z-index: 1; }

/* White text inside picture sections (eyebrow stays orange) */
.cgtech-bg-picture .cgtech-section__headline,
.cgtech-bg-picture .cgtech-section__headline .elementor-heading-title,
.cgtech-bg-picture .cgtech-section__headline h2,
.cgtech-bg-picture .cgtech-subheading,
.cgtech-bg-picture .cgtech-subheading h4 { color: #FFFFFF !important; }
.cgtech-bg-picture .cgtech-section__body,
.cgtech-bg-picture .cgtech-section__body p { color: rgba(255,255,255,0.86) !important; }
.cgtech-bg-picture .cgtech-eyebrow,
.cgtech-bg-picture .cgtech-eyebrow p { color: var(--cg-orange) !important; }

/* The white floating cards keep their dark-on-light styling (per brief) */
.cgtech-bg-picture .cgtech-platform-card,
.cgtech-bg-picture .cgtech-trust-tile,
.cgtech-bg-picture .cgtech-card,
.cgtech-bg-picture .cgtech-carousel--testimonials .cbp-item {
  box-shadow: 0 18px 40px rgba(11,26,120,0.32) !important;
}

/* ============================================================
   INNER PAGE NAVY HEROES (premium, consistent with home)
   ============================================================ */
.cgtech-hero-navy {
  background-color: var(--cg-navy) !important;
  position: relative;
  overflow: hidden;
}
.cgtech-hero-navy::before {
  content: '';
  position: absolute; inset: 0; z-index: 0;
  background: linear-gradient(100deg, rgba(11,26,120,0.93) 0%, rgba(13,31,148,0.78) 38%, rgba(21,24,57,0.46) 74%, rgba(21,24,57,0.30) 100%);
  pointer-events: none;
}
.cgtech-hero-navy::after {
  content: '';
  position: absolute; top: -120px; right: -120px;
  width: 460px; height: 460px;
  background: radial-gradient(circle at center, rgba(79,142,232,0.22) 0%, transparent 62%);
  pointer-events: none; z-index: 0;
}
.cgtech-hero-navy .cgtech-section__inner { position: relative; z-index: 1; }

/* Titles -> white (matches sol-/prod-/stub-/platform-/connect-/about- hero__title) */
.cgtech-hero-navy [class*="hero__title"] h1,
.cgtech-hero-navy [class*="hero__title"] { color: #FFFFFF !important; }
.cgtech-hero-navy .cgtech-eyebrow,
.cgtech-hero-navy .cgtech-eyebrow p { color: var(--cg-orange) !important; }
/* Bold sub-line -> sky blue */
.cgtech-hero-navy [class*="hero__sub"] p { color: var(--cg-sky) !important; }
/* Intro / body -> soft white */
.cgtech-hero-navy [class*="hero__intro"] p,
.cgtech-hero-navy [class*="hero__body"] p { color: rgba(255,255,255,0.86) !important; }
/* Secondary outline button on dark hero */
.cgtech-hero-navy .cgtech-sol-hero__btn--secondary .elementor-button {
  background: transparent !important;
  color: #FFFFFF !important;
  border: 1.5px solid rgba(255,255,255,0.5) !important;
}
.cgtech-hero-navy .cgtech-sol-hero__btn--secondary .elementor-button:hover {
  background: rgba(255,255,255,0.08) !important;
  border-color: #FFFFFF !important;
}
/* ============================================================
   CUSTOM MEGA MENU (content from WP Menus, design here)
   ============================================================ */
.cgtech-header__nav li.cgtech-has-mega { position: static !important; }

.cgtech-header__nav .cgtech-mega {
  display: flex !important;
  flex-direction: row !important;
  width: min(1080px, 94vw) !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  padding: 0 !important;
  margin-top: 14px !important;
  border: 1px solid var(--rule) !important;
  border-radius: 14px !important;
  box-shadow: 0 24px 60px rgba(21,24,57,0.18) !important;
  overflow: hidden !important;
  min-width: 0 !important;
}

/* Brand panel (left) */
.cgtech-mega__brand { list-style: none; width: 270px; flex: none; padding: 0 !important; }
.cgtech-mega__brand-inner {
  position: relative; height: 100%; min-height: 300px;
  background-size: cover; background-position: center;
  display: flex; align-items: flex-end;
}
.cgtech-mega__brand-ov {
  position: absolute; inset: 0;
  background: linear-gradient(155deg, rgba(13,31,148,0.86) 0%, rgba(21,24,57,0.94) 100%);
}
.cgtech-mega__brand-body { position: relative; z-index: 1; padding: 26px; }
.cgtech-mega__brand-eyebrow {
  display: block; color: var(--cg-orange);
  font-family: var(--font-body); font-size: 11px; font-weight: 700;
  letter-spacing: 0.14em; text-transform: uppercase; margin-bottom: 8px;
}
.cgtech-mega__brand-title {
  display: block; color: #FFFFFF; font-family: var(--font-heading);
  font-size: 24px; font-weight: 700; letter-spacing: -0.01em; margin-bottom: 10px;
}
.cgtech-mega__brand-desc {
  display: block; color: rgba(255,255,255,0.82);
  font-family: var(--font-body); font-size: 13px; line-height: 1.55;
}

/* Columns area (right) */
.cgtech-mega__cols {
  list-style: none; flex: 1; padding: 22px 26px !important;
  display: flex; flex-wrap: wrap; align-content: flex-start; gap: 6px 28px;
  background: #FFFFFF;
}
/* single-level menus (Solutions/Challenges/Industries): items as multi-column links */
.cgtech-mega__cols > li {
  list-style: none; width: calc((100% - 56px) / 3); margin: 0 !important;
}
.cgtech-mega__cols > li > a {
  display: block; padding: 9px 10px !important; border-radius: 8px !important;
  font-family: var(--font-body) !important; font-size: 14px !important;
  font-weight: 500 !important; color: var(--text-body) !important;
  text-decoration: none !important; white-space: normal !important;
}
.cgtech-mega__cols > li > a:hover { background: var(--blue-50) !important; color: var(--cg-blue) !important; }

/* nested (Technologies): each platform becomes a column with products listed */
.cgtech-mega__cols > li.menu-item-has-children { width: calc((100% - 112px) / 5) !important; }
.cgtech-mega__cols > li.menu-item-has-children > a {
  font-family: var(--font-heading) !important; font-weight: 700 !important;
  font-size: 14px !important; color: var(--cg-navy) !important;
  text-transform: uppercase; letter-spacing: 0.05em;
  padding: 6px 10px !important; pointer-events: auto;
}
.cgtech-mega__cols > li.menu-item-has-children > a::after { display: none !important; }
.cgtech-mega__cols .xpro-elementor-dropdown-menu {
  position: static !important; display: block !important;
  box-shadow: none !important; border: none !important; padding: 4px 0 12px !important;
  margin: 0 !important; min-width: 0 !important; background: transparent !important;
  opacity: 1 !important; visibility: visible !important; transform: none !important;
}
.cgtech-mega__cols .xpro-elementor-dropdown-menu li { list-style: none; }
.cgtech-mega__cols .xpro-elementor-dropdown-item {
  display: block !important; padding: 5px 10px !important;
  font-size: 13px !important; font-weight: 400 !important;
  color: var(--text-muted) !important; border-radius: 6px !important; text-decoration: none !important;
}
.cgtech-mega__cols .xpro-elementor-dropdown-item:hover { background: var(--blue-50) !important; color: var(--cg-blue) !important; }

@media (max-width: 1024px) {
  .cgtech-header__nav .cgtech-mega { flex-direction: column !important; width: 92vw !important; }
  .cgtech-mega__brand { width: 100%; }
  .cgtech-mega__brand-inner { min-height: 140px; }
  .cgtech-mega__cols > li,
  .cgtech-mega__cols > li.menu-item-has-children { width: 100% !important; }
}
/* mega item default transparent (hover-only highlight) */
.cgtech-mega__cols a, .cgtech-mega__cols .xpro-elementor-dropdown-item, .cgtech-mega__cols .xpro-elementor-nav-link { background: transparent !important; }
.cgtech-mega__cols a:hover, .cgtech-mega__cols .xpro-elementor-dropdown-item:hover { background: var(--blue-50) !important; color: var(--cg-blue) !important; }

/* ============================================================
   CARDS STAY WHITE on picture sections (per brief: light cards,
   dark navy text — never white-on-white / translucent glass)
   ============================================================ */
.cgtech-step-grid .cgtech-step-card,
.cgtech-bg-picture .cgtech-step-card {
  background: #FFFFFF !important;
  border: 1px solid var(--rule) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  box-shadow: 0 18px 40px rgba(11,26,120,0.30) !important;
}
.cgtech-step-grid .cgtech-step-card:hover,
.cgtech-bg-picture .cgtech-step-card:hover {
  background: #FFFFFF !important;
  border-color: var(--blue-100) !important;
  transform: translateY(-3px) !important;
}
.cgtech-step-card__num,
.cgtech-step-card__num p { color: var(--cg-orange) !important; }
.cgtech-step-card__title h3 { color: var(--cg-navy) !important; }
.cgtech-step-card__body p { color: var(--text-body) !important; }

/* Belt-and-braces: any CG card inside a picture section is solid white with dark text */
.cgtech-bg-picture .cgtech-card,
.cgtech-bg-picture .cgtech-capability-card,
.cgtech-bg-picture .cgtech-cap-card,
.cgtech-bg-picture .cgtech-platform-card,
.cgtech-bg-picture .cgtech-trust-tile,
.cgtech-bg-picture .cgtech-prod-cap,
.cgtech-bg-picture .cgtech-related-card {
  background: #FFFFFF !important;
}
.cgtech-bg-picture .cgtech-card .cgtech-card__title h3,
.cgtech-bg-picture .cgtech-card .cgtech-card__title { color: var(--cg-navy) !important; }
.cgtech-bg-picture .cgtech-card .cgtech-card__body p { color: var(--text-body) !important; }
/* ============================================================
   HERO REFINEMENTS v2 (crossfade + Ken Burns, buttons, text)
   ============================================================ */
.cgtech-hero__bg-layer {
  position: absolute !important; inset: 0 !important;
  background-size: cover !important; background-position: center !important;
  opacity: 0;
  transition: opacity 1.8s ease-in-out !important;
  will-change: opacity, transform;
  z-index: 1 !important;
}
.cgtech-hero__bg-layer--zoom { animation: cgtech-kenburns 9s ease-out forwards; }
@keyframes cgtech-kenburns { from { transform: scale(1.01); } to { transform: scale(1.13); } }
@media (prefers-reduced-motion: reduce) {
  .cgtech-hero__bg-layer--zoom { animation: none; }
  .cgtech-hero__bg-layer { transition: opacity .4s ease !important; }
}
/* Overlay keeps the navy gradient for readability while the photo shows through */
.cgtech-hero__overlay {
  background: linear-gradient(100deg, rgba(21,24,57,0.93) 0%, rgba(21,24,57,0.80) 38%, rgba(21,24,57,0.46) 74%, rgba(21,24,57,0.28) 100%) !important;
  z-index: 2 !important;
}

/* --- All hero text pure white + subtle lift --- */
.cgtech-hero__eyebrow, .cgtech-hero__eyebrow .elementor-widget-container,
.cgtech-hero__caption, .cgtech-hero__caption .elementor-widget-container,
.cgtech-hero__subline, .cgtech-hero__subline .elementor-widget-container, .cgtech-hero__subline p,
.cgtech-hero__trust, .cgtech-hero__trust .elementor-widget-container, .cgtech-hero__trust p {
  color: #FFFFFF !important;
}
.cgtech-hero__eyebrow { text-shadow: 0 1px 10px rgba(11,26,120,0.5); opacity: 1 !important; }
.cgtech-hero__caption { color: #FFFFFF !important; border-left-color: var(--cg-orange) !important; text-shadow: 0 1px 10px rgba(11,26,120,0.5); }
.cgtech-hero__title .elementor-heading-title, .cgtech-hero__title h1, .cgtech-hero__title {
  color: #FFFFFF !important;
  text-shadow: 0 2px 22px rgba(11,26,120,0.55), 0 1px 3px rgba(0,0,0,0.18) !important;
}
.cgtech-hero__subline p { text-shadow: 0 1px 12px rgba(11,26,120,0.45); }
.cgtech-hero__trust p { color: rgba(255,255,255,0.92) !important; }

/* --- Buttons: shorter + refined secondary --- */
.cgtech-hero__cta { gap: 12px !important; }
.cgtech-hero__btn--primary .elementor-button,
.cgtech-hero__btn--secondary .elementor-button {
  padding: 13px 26px !important;
  font-size: 15px !important;
  border-radius: 8px !important;
  height: auto !important;
  line-height: 1.2 !important;
}
.cgtech-hero__btn--primary .elementor-button {
  background: var(--cg-orange) !important;
  border: 1.5px solid var(--cg-orange) !important;
  box-shadow: 0 8px 22px rgba(234,91,56,0.32) !important;
}
.cgtech-hero__btn--primary .elementor-button:hover {
  background: var(--orange-700) !important; border-color: var(--orange-700) !important;
  transform: translateY(-2px); box-shadow: 0 12px 28px rgba(234,91,56,0.4) !important;
}
.cgtech-hero__btn--secondary .elementor-button {
  background: rgba(255,255,255,0.10) !important;
  color: #FFFFFF !important;
  border: 1.5px solid rgba(255,255,255,0.55) !important;
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  transition: background .2s, border-color .2s, transform .12s !important;
}
.cgtech-hero__btn--secondary .elementor-button:hover {
  background: rgba(255,255,255,0.18) !important;
  border-color: #FFFFFF !important;
  transform: translateY(-2px);
}
.cgtech-hero-navy .cgtech-section__inner { position: relative; z-index: 2; }
.cgtech-hero-navy::after { z-index: 1 !important; }

/* ===== LIGHT GRADIENT VARIANTS (vary angle/direction) ===== */
.cgtech-bg-light--v1 { background: linear-gradient(135deg, #E7EEFC 0%, #F5F8FE 52%, #FFFFFF 100%) !important; }
.cgtech-bg-light--v2 { background: linear-gradient(225deg, #E9EFFD 0%, #F4F8FE 56%, #FFFFFF 100%) !important; }
.cgtech-bg-light--v3 { background: linear-gradient(180deg, #EDF1FE 0%, #F4F7FD 42%, #FFFFFF 100%) !important; }
.cgtech-bg-light--v4 { background: radial-gradient(130% 100% at 82% 0%, #E8EFFD 0%, #F5F8FE 46%, #FFFFFF 100%) !important; }
/* ============================================================
   TRANSPARENT HEADER ON SCROLL
   ============================================================ */
.xpro-theme-builder-header {
  position: fixed !important;
  top: 0; left: 0; right: 0; width: 100%;
  z-index: 100;
  transition: background .35s ease, box-shadow .35s ease, -webkit-backdrop-filter .35s ease, backdrop-filter .35s ease;
}
.admin-bar .xpro-theme-builder-header { top: 32px; }
@media screen and (max-width: 782px){ .admin-bar .xpro-theme-builder-header { top: 46px; } }

/* Transparent by default */
.cgtech-header {
  background: transparent !important;
  border-bottom: 1px solid transparent !important;
  -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
  box-shadow: none !important;
}

/* Logo: white when transparent, blue when solid */
.cgtech-header__logo-wrap { width: 180px; }
.cgtech-header__logo--white { display: block !important; }
.cgtech-header__logo--blue { display: none !important; }
.cgtech-header--solid .cgtech-header__logo--white { display: none !important; }
.cgtech-header--solid .cgtech-header__logo--blue { display: block !important; }

/* Nav text + chevrons white when transparent */
.xpro-theme-builder-header:not(.cgtech-header--solid) .cgtech-header__nav .xpro-elementor-horizontal-navbar-nav > li > a {
  color: #FFFFFF !important;
}
.xpro-theme-builder-header:not(.cgtech-header--solid) .cgtech-header__nav .xpro-elementor-horizontal-navbar-nav > li.current-menu-item > a,
.xpro-theme-builder-header:not(.cgtech-header--solid) .cgtech-header__nav .xpro-elementor-horizontal-navbar-nav > li.current-menu-parent > a {
  color: #FFFFFF !important; font-weight: 700 !important;
}
.xpro-theme-builder-header:not(.cgtech-header--solid) .cgtech-header__nav .xpro-elementor-horizontal-navbar-nav > li > a:hover {
  background: rgba(255,255,255,0.14) !important; color: #FFFFFF !important;
}

/* Solid (scrolled) */
.cgtech-header--solid .cgtech-header {
  background: rgba(255,255,255,0.92) !important;
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px) !important;
  border-bottom: 1px solid var(--rule) !important;
  box-shadow: 0 2px 16px rgba(21,24,57,0.06) !important;
}
.cgtech-header--solid .cgtech-header__nav .xpro-elementor-horizontal-navbar-nav > li > a { color: var(--body-grey) !important; }
.cgtech-header--solid .cgtech-header__nav .current-menu-item > .xpro-elementor-nav-link,
.cgtech-header--solid .cgtech-header__nav .current-menu-parent > .xpro-elementor-nav-link { color: var(--cg-blue) !important; }
/* ===== MEGA MENU HOVER-INTENT + CONSISTENT DIMS ===== */
/* Decouple from pure :hover — JS controls open state */
.cgtech-header__nav .cgtech-mega {
  display: none !important;
  opacity: 0;
  transition: opacity .2s ease;
}
.cgtech-header__nav li.cgtech-mega-open > .cgtech-mega {
  display: flex !important;
  opacity: 1 !important;
}
/* Consistent panel size across all 4 menus */
.cgtech-header__nav .cgtech-mega { min-height: 360px !important; align-items: stretch !important; }
.cgtech-mega__brand { width: 320px !important; }
.cgtech-mega__brand-inner { min-height: 360px !important; }
.cgtech-mega__cols { align-content: center !important; padding: 28px 30px !important; }

/* See all link per vendor column */
.cgtech-mega__seeall {
  display: inline-block;
  margin: 10px 0 0 10px;
  font-family: var(--font-body);
  font-size: 11.5px; font-weight: 700;
  letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--cg-blue) !important; text-decoration: none !important;
}
.cgtech-mega__seeall::after { content: ' →'; transition: margin-left .2s; }
.cgtech-mega__seeall:hover::after { margin-left: 4px; }
/* mega cols nested align */
.cgtech-mega__cols:has(> li.menu-item-has-children) { align-content: flex-start !important; }
.cgtech-mega__seeall { margin-top: 6px; font-size: 10.5px; }
.cgtech-mega__brand-desc { display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }

/* ===== CARD ICONS + SOLID WHITE ===== */
.cgtech-card, .cgtech-capability-card { background: #FFFFFF !important; }
.cgtech-card-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 50px; height: 50px; border-radius: 13px;
  margin: 0 0 16px 0; font-size: 21px; line-height: 1; flex: none;
}
.cgtech-card-icon--blue   { background: var(--blue-50);                color: var(--cg-blue); }
.cgtech-card-icon--orange { background: var(--orange-50);              color: var(--cg-orange); }
.cgtech-card-icon--teal   { background: rgba(26,163,154,0.12);         color: var(--cg-teal); }
.cgtech-card-icon--sky    { background: rgba(79,142,232,0.14);         color: var(--cg-sky); }
.cgtech-card-icon--slate  { background: rgba(93,122,153,0.14);         color: var(--cg-slate); }
.cgtech-card-icon--navy   { background: rgba(21,24,57,0.08);           color: var(--cg-navy); }
/* ============================================================
   CTA REDESIGNS v2 (mid-page split card + floating final card)
   ============================================================ */

/* --- Mid-page CTA: premium split card --- */
.cgtech-midcta {
  background: #FFFFFF !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  box-shadow: 0 28px 64px rgba(21,24,57,0.12) !important;
  position: relative;
}
.cgtech-midcta::before {
  content: ''; position: absolute; top: 0; left: 0; bottom: 0; width: 4px;
  background: var(--cg-orange); z-index: 3;
}
.cgtech-midcta__content {
  background: linear-gradient(135deg, #FFFFFF 0%, #F4F7FE 100%) !important;
}
.cgtech-midcta__headline h2 {
  font-family: var(--font-heading) !important;
  font-size: clamp(24px, 2.4vw, 33px) !important;
  font-weight: 700 !important; color: var(--cg-navy) !important;
  letter-spacing: -0.015em !important; line-height: 1.18 !important;
  margin: 6px 0 14px !important;
}
.cgtech-midcta__body p {
  font-family: var(--font-body) !important; font-size: 16px !important;
  line-height: 1.6 !important; color: var(--text-body) !important; margin: 0 0 26px !important;
}
.cgtech-midcta__btn .elementor-button {
  background: var(--cg-orange) !important; color: #FFFFFF !important;
  border: 1.5px solid var(--cg-orange) !important; border-radius: 8px !important;
  padding: 13px 26px !important; font-size: 15px !important; font-weight: 600 !important;
  box-shadow: 0 8px 20px rgba(234,91,56,0.28) !important; align-self: flex-start;
}
.cgtech-midcta__btn .elementor-button:hover { background: var(--orange-700) !important; transform: translateY(-2px); }
.cgtech-midcta__media { position: relative; }
.cgtech-midcta__media::before {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(90deg, #F4F7FE 0%, rgba(244,247,254,0.35) 26%, transparent 60%);
}
@media (max-width: 820px) {
  .cgtech-midcta__content, .cgtech-midcta__media { width: 100% !important; }
  .cgtech-midcta__media { min-height: 220px !important; }
  .cgtech-midcta__media::before { background: linear-gradient(0deg, #F4F7FE 0%, transparent 40%); }
}

/* --- Final CTA: floating dark image card on light bg --- */
.cgtech-finalcta {
  position: relative !important;
  border-radius: 22px !important; overflow: hidden !important;
  background-color: var(--cg-navy) !important;
  box-shadow: 0 34px 80px rgba(11,26,120,0.30) !important;
}
.cgtech-finalcta::before {
  content: ''; position: absolute; inset: 0; z-index: 0;
  background: linear-gradient(120deg, rgba(11,26,120,0.90) 0%, rgba(13,31,148,0.78) 50%, rgba(21,24,57,0.80) 100%);
}
.cgtech-finalcta__inner { position: relative; z-index: 1; max-width: 760px; }
.cgtech-finalcta__headline h2 {
  font-family: var(--font-heading) !important;
  font-size: clamp(30px, 3.6vw, 46px) !important; font-weight: 700 !important;
  color: #FFFFFF !important; letter-spacing: -0.02em !important; line-height: 1.12 !important;
  text-align: center !important; margin: 0 0 18px !important;
  text-shadow: 0 2px 18px rgba(11,26,120,0.4);
}
.cgtech-finalcta__body p {
  font-family: var(--font-body) !important; font-size: 18px !important;
  line-height: 1.65 !important; color: rgba(255,255,255,0.88) !important;
  text-align: center !important; margin: 0 auto 32px !important; max-width: 640px;
}
.cgtech-finalcta__btn .elementor-button {
  background: var(--cg-orange) !important; color: #FFFFFF !important;
  border: 1.5px solid var(--cg-orange) !important; border-radius: 8px !important;
  padding: 17px 34px !important; font-size: 17px !important; font-weight: 600 !important;
  box-shadow: 0 10px 26px rgba(234,91,56,0.38) !important;
}
.cgtech-finalcta__btn .elementor-button:hover { background: var(--orange-700) !important; transform: translateY(-2px); }
/* midcta flex fix — force side-by-side split */
.cgtech-midcta { display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; align-items: stretch !important; }
.cgtech-midcta__content { flex: 0 0 54% !important; max-width: 54% !important; width: 54% !important; }
.cgtech-midcta__media { flex: 0 0 46% !important; max-width: 46% !important; width: 46% !important; min-height: 400px !important; align-self: stretch; }
@media (max-width: 820px) {
  .cgtech-midcta { flex-wrap: wrap !important; }
  .cgtech-midcta__content, .cgtech-midcta__media { flex: 0 0 100% !important; max-width: 100% !important; width: 100% !important; }
  .cgtech-midcta__media { min-height: 220px !important; }
}

/* ===== HERO BUTTONS v5 (match mockup: orange filled + outlined ghost) ===== */
.cgtech-hero__overlay {
  background: linear-gradient(100deg,
    rgba(21,24,57,0.97) 0%,
    rgba(21,24,57,0.95) 24%,
    rgba(21,24,57,0.86) 44%,
    rgba(21,24,57,0.52) 72%,
    rgba(21,24,57,0.20) 100%) !important;
  z-index: 2 !important;
}

/* CTA row */
.cgtech-hero__cta { gap: 16px !important; align-items: center !important; margin-bottom: 56px !important; }

/* Reset BOTH widget wrappers: size comes only from the inner button */
.cgtech-hero__btn--primary,
.cgtech-hero__btn--secondary {
  border: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center !important;
}

/* Primary: solid orange, clean, no arrow */
.cgtech-hero__btn--primary .elementor-button {
  background: var(--cg-orange) !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 15px 28px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0.2px !important;
  line-height: 1.2 !important;
  height: auto !important;
  box-shadow: 0 6px 18px rgba(234,91,56,0.25) !important;
  -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
  transition: background .2s, box-shadow .2s, transform .15s !important;
}
.cgtech-hero__btn--primary .elementor-button .elementor-button-text::after { content: none !important; }
.cgtech-hero__btn--primary .elementor-button:hover {
  background: var(--orange-700) !important;
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(234,91,56,0.34) !important;
}

/* Secondary: outlined ghost button, same height as primary */
.cgtech-hero__btn--secondary .elementor-button {
  background: transparent !important;
  color: #FFFFFF !important;
  border: 1.5px solid rgba(255,255,255,0.30) !important;
  border-radius: 8px !important;
  padding: 13.5px 26px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0.2px !important;
  line-height: 1.2 !important;
  height: auto !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
  transition: border-color .2s, background .2s !important;
}
.cgtech-hero__btn--secondary .elementor-button .elementor-button-text { position: static !important; padding-bottom: 0 !important; }
.cgtech-hero__btn--secondary .elementor-button .elementor-button-text::before { content: none !important; }
.cgtech-hero__btn--secondary .elementor-button .elementor-button-text::after { content: none !important; }
.cgtech-hero__btn--secondary .elementor-button:hover {
  background: rgba(255,255,255,0.08) !important;
  border-color: rgba(255,255,255,0.55) !important;
}

/* ===== INNER HERO BUTTONS v5 (match home hero: orange filled + outlined ghost) ===== */
.cgtech-sol-hero__btn--primary,
.cgtech-sol-hero__btn--secondary {
  border: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center !important;
}
/* Primary: solid orange, no border, subtle shadow, no arrow */
.cgtech-sol-hero__btn--primary .elementor-button {
  background: var(--cg-orange) !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 15px 28px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0.2px !important;
  line-height: 1.2 !important;
  height: auto !important;
  white-space: nowrap;
  box-shadow: 0 6px 18px rgba(234,91,56,0.25) !important;
  transition: background .2s, box-shadow .2s, transform .15s !important;
}
.cgtech-sol-hero__btn--primary .elementor-button:hover {
  background: var(--orange-700) !important;
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(234,91,56,0.34) !important;
}
/* Secondary: outlined ghost, same height as primary */
.cgtech-hero-navy .cgtech-sol-hero__btn--secondary .elementor-button,
.cgtech-sol-hero__btn--secondary .elementor-button {
  background: transparent !important;
  color: #FFFFFF !important;
  border: 1.5px solid rgba(255,255,255,0.30) !important;
  border-radius: 8px !important;
  padding: 13.5px 26px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0.2px !important;
  line-height: 1.2 !important;
  height: auto !important;
  white-space: nowrap;
  box-shadow: none !important;
  transition: border-color .2s, background .2s !important;
}
.cgtech-hero-navy .cgtech-sol-hero__btn--secondary .elementor-button:hover,
.cgtech-sol-hero__btn--secondary .elementor-button:hover {
  background: rgba(255,255,255,0.08) !important;
  border-color: rgba(255,255,255,0.55) !important;
}

/* ===== PICTURE SECTION + CTA OVERLAYS (strong, readable; navy default + vivid alt) ===== */
.cgtech-bg-picture, .cgtech-finalcta { position: relative; }
.cgtech-bg-picture::before, .cgtech-finalcta::before {
  content:''; position: absolute; inset: 0;
  background: rgba(21,24,57,0.88) !important; opacity: 1 !important;
  z-index: 0; pointer-events: none;
}
.cgtech-bg-picture > *, .cgtech-finalcta > * { position: relative; z-index: 1; }
.cgtech-section--platforms.cgtech-bg-picture::before,
.cgtech-section--testimonials.cgtech-bg-picture::before,
.cgtech-finalcta::before {
  background: rgba(17,41,185,0.86) !important; opacity: 1 !important;
}

/* ===== J2: STATIC HERO H1 + CSS-revealed hero CTAs (no JS typewriter) ===== */
.cgtech-hero__title.cgtech-typewriter { opacity: 1; animation: cgtechHeroRise .6s var(--ease-out) both; }
.cgtech-hero__fade { opacity: 1; transform: none; animation: cgtechHeroRise .6s var(--ease-out) .12s both; }
@keyframes cgtechHeroRise { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .cgtech-hero__title.cgtech-typewriter, .cgtech-hero__fade { animation: none !important; opacity: 1 !important; transform: none !important; } }

/* ===== J1: final CTA band - centred content + readable dark bg ===== */
.cgtech-finalcta::before { content: '' !important; background: linear-gradient(120deg, rgba(11,26,120,0.92) 0%, rgba(13,31,148,0.82) 50%, rgba(21,24,57,0.86) 100%) !important; opacity: 1 !important; }
.cgtech-finalcta__inner { text-align: center !important; }
.cgtech-finalcta__inner .cgtech-eyebrow, .cgtech-finalcta__inner .cgtech-eyebrow p { text-align: center !important; }
.cgtech-finalcta__btn { display: flex !important; justify-content: center !important; }

/* ===== Safe by design (A4 / L#7) ===== */
.cgtech-section--safe { background-color: #F4F7FB !important; position: relative; overflow: hidden; }
.cgtech-section--safe::before { content: ''; position: absolute; inset: 0; background: radial-gradient(1100px 420px at 16% 18%, rgba(17,41,185,0.06), transparent 62%); pointer-events: none; }
.cgtech-safe__inner { display: flex !important; flex-direction: row !important; gap: 52px !important; align-items: center !important; position: relative; z-index: 1; }
.cgtech-safe__col--text { flex: 1 1 56% !important; max-width: 56% !important; }
.cgtech-safe__panel { flex: 0 0 40% !important; max-width: 40% !important; background: var(--cg-navy) !important; border: 1px solid var(--cg-navy) !important; border-radius: 16px !important; padding: 30px 32px !important; }
.cgtech-section--safe .cgtech-safe__title .elementor-heading-title, .cgtech-section--safe .cgtech-safe__title h2 { color: var(--cg-navy) !important; font-family: var(--font-heading) !important; font-weight: 700 !important; font-size: clamp(28px,3.2vw,40px) !important; line-height: 1.14 !important; letter-spacing: -0.01em !important; margin: 10px 0 16px !important; }
.cgtech-section--safe .cgtech-safe__body, .cgtech-section--safe .cgtech-safe__body p { color: #5D7A99 !important; font-size: 17px !important; line-height: 1.7 !important; margin: 0 !important; }
.cgtech-section--safe .cgtech-eyebrow, .cgtech-section--safe .cgtech-eyebrow p { color: var(--cg-orange) !important; }
.cgtech-safe__panel-label { color: var(--cg-orange) !important; font-family: var(--font-heading) !important; text-transform: uppercase; letter-spacing: 0.12em; font-size: 12.5px !important; font-weight: 600 !important; margin: 0 0 16px !important; }
.cgtech-safe__list { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.cgtech-safe__list li { position: relative; padding-left: 30px; margin: 0 0 14px; color: #FFFFFF; font-size: 16px; line-height: 1.5; }
.cgtech-safe__list li:last-child { margin-bottom: 0; }
.cgtech-safe__list li::before { content: '\2713'; position: absolute; left: 0; top: 0; color: #1AA39A; font-weight: 800; font-size: 16px; }
@media (max-width: 820px) { .cgtech-safe__inner { flex-direction: column !important; gap: 28px !important; } .cgtech-safe__col--text, .cgtech-safe__panel { flex: 0 0 100% !important; max-width: 100% !important; } }

/* ===== FAQ accordion (E / L#11) ===== */
.cgtech-faq { max-width: 820px; margin: 0 auto; }
.cgtech-faq__item { border: 1px solid var(--rule, #E5E7EB); border-radius: 12px; background: #FFFFFF; margin-bottom: 14px; padding: 0 24px; transition: box-shadow .2s ease, border-color .2s ease; }
.cgtech-faq__item[open] { border-color: #C6D2F7; box-shadow: 0 12px 32px rgba(17,41,185,0.08); }
.cgtech-faq__q { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 0; font-family: var(--font-heading); font-weight: 600; font-size: 18px; line-height: 1.4; color: var(--cg-navy); }
.cgtech-faq__q::-webkit-details-marker { display: none; }
.cgtech-faq__icon { flex: 0 0 auto; position: relative; width: 20px; height: 20px; }
.cgtech-faq__icon::before, .cgtech-faq__icon::after { content: ''; position: absolute; background: var(--cg-orange); border-radius: 2px; transition: transform .2s ease, opacity .2s ease; }
.cgtech-faq__icon::before { left: 0; top: 9px; width: 20px; height: 2px; }
.cgtech-faq__icon::after { left: 9px; top: 0; width: 2px; height: 20px; }
.cgtech-faq__item[open] .cgtech-faq__icon::after { transform: scaleY(0); opacity: 0; }
.cgtech-faq__a { padding: 0 0 22px; }
.cgtech-faq__a p { margin: 0; color: var(--text-body, #374151); font-size: 16.5px; line-height: 1.7; }
@media (max-width: 600px) { .cgtech-faq__q { font-size: 16.5px; } }

/* ===== Location: local facts + service links ===== */
.cgtech-localfacts { list-style: none; margin: 24px auto 0; padding: 0; max-width: 680px; text-align: left; }
.cgtech-localfacts li { position: relative; padding-left: 30px; margin: 0 0 14px; color: var(--text-body, #374151); font-size: 16.5px; line-height: 1.6; }
.cgtech-localfacts li::before { content: '\2713'; position: absolute; left: 0; top: 0; color: #1AA39A; font-weight: 800; }
.cgtech-servicelinks { list-style: none; margin: 26px auto 0; padding: 0; max-width: 720px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px 28px; }
.cgtech-servicelinks li { margin: 0; }
.cgtech-servicelinks a { display: flex; align-items: center; gap: 10px; padding: 15px 18px; background: #FFFFFF; border: 1px solid var(--rule, #E5E7EB); border-radius: 10px; color: var(--cg-navy); font-family: var(--font-heading); font-weight: 600; font-size: 16px; text-decoration: none; transition: border-color .2s, box-shadow .2s, transform .15s; }
.cgtech-servicelinks a:hover { border-color: #C6D2F7; box-shadow: 0 10px 26px rgba(17,41,185,0.08); transform: translateY(-2px); }
.cgtech-servicelinks a::after { content: '\2192'; margin-left: auto; color: var(--cg-orange); font-weight: 700; }
@media (max-width: 600px) { .cgtech-servicelinks { grid-template-columns: 1fr; } }

/* ===== MEGA MENU Z-INDEX FIX (header stacking above page content) ===== */
.elementor-location-header{ position: relative; z-index: 990; }
.cgtech-header, .cgtech-header__nav{ position: relative; z-index: 991; }
.cgtech-header__nav .cgtech-mega{ z-index: 999 !important; }

/* ===== MEGA MENU REDESIGN v3 (premium rich items) ===== */
.cgtech-header__nav .cgtech-mega{ display:none !important; opacity:0; flex-direction:row !important; width:min(900px,94vw) !important; left:50% !important; right:auto !important; transform:translateX(-50%) !important; margin-top:12px !important; padding:0 !important; min-width:0 !important; min-height:0 !important; background:#FFFFFF !important; border:1px solid rgba(21,24,57,0.08) !important; border-radius:18px !important; box-shadow:0 24px 56px rgba(21,24,57,0.22) !important; overflow:hidden !important; z-index:999 !important; transition:opacity .18s ease !important; }
.cgtech-header__nav li.cgtech-mega-open > .cgtech-mega{ display:flex !important; opacity:1 !important; }
.cgtech-mega__brand{ list-style:none !important; width:212px !important; flex:none !important; padding:0 !important; margin:0 !important; }
.cgtech-mega__brand-inner{ position:relative; min-height:0 !important; height:100%; background:linear-gradient(160deg,#1d2456 0%,#151839 58%,#0e1130 100%) !important; padding:26px 24px !important; display:flex !important; flex-direction:column !important; justify-content:space-between !important; overflow:hidden; }
.cgtech-mega__brand-glow{ position:absolute; right:-54px; top:-46px; width:180px; height:180px; border-radius:50%; background:radial-gradient(circle,rgba(17,41,185,0.55),transparent 70%); pointer-events:none; }
.cgtech-mega__brand-body{ position:relative; padding:0 !important; }
.cgtech-mega__brand-eyebrow{ display:block; color:var(--cg-orange) !important; font-family:var(--font-body); font-size:11px; font-weight:600; letter-spacing:0.16em; text-transform:uppercase; margin-bottom:11px; }
.cgtech-mega__brand-title{ display:block; color:#FFFFFF; font-family:var(--font-heading); font-size:22px; font-weight:700; line-height:1.16; letter-spacing:-0.01em; margin-bottom:11px; }
.cgtech-mega__brand-desc{ display:block; color:rgba(255,255,255,0.74); font-family:var(--font-body); font-size:12.5px; line-height:1.6; }
.cgtech-mega__brand-all{ position:relative; display:inline-flex; align-items:center; gap:7px; margin-top:18px; color:#FFFFFF !important; font-family:var(--font-body); font-size:12.5px; font-weight:600; text-decoration:none !important; }
.cgtech-mega__brand-all i{ color:var(--cg-orange); font-size:12px; transition:transform .2s; }
.cgtech-mega__brand-all:hover i{ transform:translateX(4px); }
.cgtech-mega__cols{ list-style:none !important; flex:1 !important; margin:0 !important; background:#FFFFFF !important; }
.cgtech-mega__cols--rich{ padding:16px !important; display:grid !important; grid-template-columns:1fr 1fr !important; gap:3px !important; align-content:start !important; }
.cgtech-mega__cols--rich > li{ list-style:none; margin:0 !important; width:auto !important; }
.cgtech-mega__item{ display:flex !important; gap:12px !important; padding:11px 12px !important; border-radius:11px !important; text-decoration:none !important; position:relative; background:transparent !important; transition:background .15s ease !important; }
.cgtech-mega__item::before{ content:''; position:absolute; left:3px; top:13px; bottom:13px; width:3px; border-radius:3px; background:var(--cg-orange); opacity:0; transition:opacity .15s ease; }
.cgtech-mega__item:hover{ background:#EAF1FB !important; }
.cgtech-mega__item:hover::before{ opacity:1; }
.cgtech-mega__ic{ flex:none; width:34px; height:34px; border-radius:9px; display:flex; align-items:center; justify-content:center; font-size:17px; }
.cgtech-mega__ic--blue{ background:#E6F1FB; color:#185FA5; }
.cgtech-mega__ic--teal{ background:#E1F5EE; color:#0F6E56; }
.cgtech-mega__ic--orange{ background:#FAECE7; color:#993C1D; }
.cgtech-mega__it-body{ display:block; }
.cgtech-mega__it-title{ display:block; color:var(--cg-navy) !important; font-family:var(--font-heading); font-size:13.5px; font-weight:600; line-height:1.3; }
.cgtech-mega__it-desc{ display:block; color:var(--text-muted,#6B7280) !important; font-family:var(--font-body); font-size:12px; line-height:1.45; margin-top:2px; }
.cgtech-mega__cols--nested{ padding:20px 22px !important; display:flex !important; flex-wrap:wrap; gap:8px 18px; align-content:start !important; }
.cgtech-mega__cols--nested > li{ list-style:none; margin:0 !important; }
.cgtech-mega__cols--nested > li.menu-item-has-children{ width:calc((100% - 72px)/5) !important; }
.cgtech-mega__cols--nested > li.menu-item-has-children > a{ display:block; font-family:var(--font-heading) !important; font-weight:700 !important; font-size:12px !important; color:var(--cg-navy) !important; text-transform:uppercase; letter-spacing:0.05em; padding:4px 6px !important; }
.cgtech-mega__cols--nested > li.menu-item-has-children > a::after{ display:none !important; }
.cgtech-mega__cols--nested .xpro-elementor-dropdown-menu{ position:static !important; display:block !important; box-shadow:none !important; border:none !important; padding:2px 0 8px !important; margin:0 !important; min-width:0 !important; background:transparent !important; opacity:1 !important; visibility:visible !important; transform:none !important; }
.cgtech-mega__cols--nested .xpro-elementor-dropdown-menu li{ list-style:none; }
.cgtech-mega__cols--nested .xpro-elementor-dropdown-item{ display:block !important; padding:4px 6px !important; font-size:12.5px !important; font-weight:400 !important; color:var(--text-muted,#6B7280) !important; border-radius:6px !important; text-decoration:none !important; }
.cgtech-mega__cols--nested .xpro-elementor-dropdown-item:hover{ background:#EAF1FB !important; color:var(--cg-blue) !important; }
.cgtech-mega__seeall{ display:inline-block; margin:6px 0 0 6px; font-family:var(--font-body); font-size:10.5px; font-weight:600; letter-spacing:0.06em; text-transform:uppercase; color:var(--cg-blue) !important; text-decoration:none !important; }
@media (max-width:920px){ .cgtech-header__nav .cgtech-mega{ flex-direction:column !important; width:92vw !important; } .cgtech-mega__brand{ width:100% !important; } .cgtech-mega__cols--rich{ grid-template-columns:1fr !important; } .cgtech-mega__cols--nested > li.menu-item-has-children{ width:100% !important; } }

/* ===== MEGA MENU v3 fixes (brand rail align + spacing) ===== */
.cgtech-mega__brand-inner, .cgtech-mega__brand-body, .cgtech-mega__brand-eyebrow, .cgtech-mega__brand-title, .cgtech-mega__brand-desc, .cgtech-mega__brand-all { text-align: left !important; }
.cgtech-mega__brand-title, .cgtech-mega__brand-desc, .cgtech-mega__brand-eyebrow { white-space: normal !important; }
.cgtech-header__nav .cgtech-mega { width: min(960px,95vw) !important; }
.cgtech-mega__brand { width: 232px !important; }
.cgtech-mega__cols--rich { padding: 20px 22px !important; gap: 8px 16px !important; }
.cgtech-mega__item { padding: 12px 14px !important; }
.cgtech-mega__it-desc { margin-top: 3px !important; }
.cgtech-mega__cols--nested { padding: 22px 24px !important; gap: 12px 22px !important; }

/* platform logos in Technologies mega */
.cgtech-mega__plathead{ display:flex !important; align-items:center; gap:8px; }
.cgtech-mega__logo{ height:18px; width:auto; max-width:22px; object-fit:contain; flex:none; display:inline-block; }

/* ===== MEGA MENU v3 fixes 2 (logo size + icon align) ===== */
.cgtech-header__nav .cgtech-mega__logo{ height:20px !important; max-height:20px !important; width:auto !important; max-width:26px !important; min-width:0 !important; object-fit:contain !important; flex:none !important; display:inline-block !important; }
.cgtech-mega__plathead{ display:flex !important; align-items:center !important; gap:9px !important; }
.cgtech-mega__item{ align-items:center !important; }

/* ===== MEGA MENU v3 fixes 3 (icon-left, same line as text) ===== */
.cgtech-mega__item{ flex-direction:row !important; flex-wrap:nowrap !important; align-items:center !important; }
.cgtech-mega__ic{ flex:none !important; }
.cgtech-mega__it-body{ min-width:0 !important; flex:1 1 auto !important; }

/* ===== MEGA MENU v3 fixes 4 (out-specify Xpro: force row layout) ===== */
.cgtech-header__nav ul.cgtech-mega.xpro-elementor-dropdown-menu li a.cgtech-mega__item{ display:flex !important; flex-direction:row !important; flex-wrap:nowrap !important; align-items:center !important; gap:12px !important; text-align:left !important; }
.cgtech-header__nav ul.cgtech-mega li a.cgtech-mega__item .cgtech-mega__ic{ flex:0 0 auto !important; }
.cgtech-header__nav ul.cgtech-mega li a.cgtech-mega__item .cgtech-mega__it-body{ flex:1 1 auto !important; min-width:0 !important; }

/* ===== MEGA MENU v3 fixes 5 (uniform size + tech 1-row + hover grace + anti-ghost) ===== */
.cgtech-header__nav .cgtech-mega{ min-height:320px !important; margin-top:8px !important; transform:translateX(-50%) translateZ(0) !important; backface-visibility:hidden !important; -webkit-backface-visibility:hidden !important; }
.cgtech-mega__cols--rich, .cgtech-mega__cols--nested{ align-content:center !important; }
.cgtech-mega__cols--nested{ gap:14px 20px !important; }
.cgtech-mega__cols--nested > li.menu-item-has-children{ width:calc((100% - 84px)/5) !important; }

/* ===== MEGA MENU v3 fixes 6 (bigger text + visibility-hide anti-ghost) ===== */
.cgtech-header__nav .cgtech-mega{ display:flex !important; visibility:hidden !important; opacity:0 !important; pointer-events:none !important; transform:translateX(-50%) !important; min-height:396px !important; transition:opacity .16s ease, visibility 0s linear .16s !important; }
.cgtech-header__nav li.cgtech-mega-open > .cgtech-mega{ display:flex !important; visibility:visible !important; opacity:1 !important; pointer-events:auto !important; transition:opacity .16s ease, visibility 0s !important; }
.cgtech-mega__it-title{ font-size:14.5px !important; }
.cgtech-mega__it-desc{ font-size:13px !important; line-height:1.5 !important; }
.cgtech-header__nav ul.cgtech-mega.xpro-elementor-dropdown-menu li a.cgtech-mega__item{ padding:11px 16px !important; gap:14px !important; }
.cgtech-mega__cols--rich{ gap:8px 18px !important; }
.cgtech-mega__brand-title{ font-size:24px !important; }
.cgtech-mega__brand-desc{ font-size:13.5px !important; line-height:1.65 !important; }
.cgtech-mega__brand-eyebrow{ font-size:12px !important; }
.cgtech-mega__cols--nested .xpro-elementor-dropdown-item{ font-size:13.5px !important; padding:5px 6px !important; }
.cgtech-mega__cols--nested > li.menu-item-has-children > a{ font-size:13px !important; }
.cgtech-header__nav .cgtech-mega__logo{ height:22px !important; max-height:22px !important; max-width:28px !important; }
.cgtech-mega__seeall{ font-size:11px !important; }

/* ===== MEGA MENU v3 fixes 7 (Technologies wider, content-sized heights = less whitespace) ===== */
.cgtech-header__nav .cgtech-mega{ width:min(1000px,95vw) !important; min-height:290px !important; }
.cgtech-header__nav .cgtech-mega.cgtech-mega--nestedwide{ width:min(1280px,97vw) !important; }
.cgtech-mega--nestedwide .cgtech-mega__brand{ width:208px !important; }
.cgtech-header__nav ul.cgtech-mega.xpro-elementor-dropdown-menu li a.cgtech-mega__item{ padding:10px 16px !important; }
.cgtech-mega__cols--rich{ gap:6px 20px !important; padding:16px 24px !important; align-content:center !important; }
.cgtech-mega__cols--nested{ gap:14px 18px !important; padding:18px 28px !important; align-content:center !important; }
.cgtech-mega__cols--nested .xpro-elementor-dropdown-item{ white-space:normal !important; overflow-wrap:break-word !important; }

/* ===== HUB CARD GRID (hub/index pages only) ===== */
.cgtech-hub-grid{ display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:18px !important; margin-top:8px !important; }
.cgtech-hub-grid .cgtech-card{ display:flex !important; flex-direction:column !important; gap:6px !important; text-decoration:none !important; padding:24px !important; border-radius:14px !important; transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease !important; }
.cgtech-hub-grid .cgtech-card:hover{ transform:translateY(-3px) !important; box-shadow:0 16px 34px rgba(21,24,57,0.12) !important; border-color:var(--cg-blue,#1129b9) !important; }
.cgtech-hub-grid .cgtech-card__title{ display:block !important; }
.cgtech-hub-grid .cgtech-card__body{ display:block !important; margin:0 !important; }
@media (max-width:900px){ .cgtech-hub-grid{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; } }
@media (max-width:560px){ .cgtech-hub-grid{ grid-template-columns:1fr !important; } }

/* Problem/impact lists: neutral marker, not a positive tick */
.cgtech-localfacts--problem li::before{ content:'\2022'; color:var(--cg-orange); font-weight:700; }

/* CGTECH formatting refinements */
/* Body copy fills the centre column (was capped at 760px and hugged left) */
.cgtech-section__body p{ max-width:none !important; }
/* FAQ block keeps a consistent width whether items are open or closed */
.cgtech-faq{ width:100% !important; }

/* Body copy fills the full centre column width */
.cgtech-section__inner .cgtech-section__body{ width:100% !important; max-width:none !important; }
.cgtech-section__inner .cgtech-section__body p{ max-width:none !important; }
/* FAQ shortcode widget fills its column so boxes keep a consistent width open or closed */
.cgtech-faq-inner .elementor-widget-shortcode{ width:100% !important; }
/* Space between stacked paragraphs so multi-paragraph copy reads as distinct points */
.cgtech-section__body p + p{ margin-top:1.1em !important; }

/* Outcome stat icons (reusable). Tile classes: "cgtech-stat cgtech-stat--icon cgtech-stat--<name>" */
.cgtech-stat--icon .cgtech-stat__v::before{ content:""; flex:0 0 auto; width:40px; height:40px; border-radius:10px; background-color:rgba(17,41,185,0.09); background-repeat:no-repeat; background-position:center; background-size:21px 21px; }
.cgtech-stat--bolt .cgtech-stat__v::before{ background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231129B9" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"/></svg>'); }
.cgtech-stat--target .cgtech-stat__v::before{ background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231129B9" stroke-width="2"><circle cx="12" cy="12" r="9"/><circle cx="12" cy="12" r="5"/><circle cx="12" cy="12" r="1.6" fill="%231129B9" stroke="none"/></svg>'); }
.cgtech-stat--spark .cgtech-stat__v::before{ background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231129B9" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3l1.7 4.8 4.8 1.7-4.8 1.7L12 16l-1.7-4.8L5.5 9.5l4.8-1.7z"/><circle cx="18.5" cy="5.5" r="1.2" fill="%231129B9" stroke="none"/></svg>'); }
.cgtech-stat--trend .cgtech-stat__v::before{ background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231129B9" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="3 16 9 10 13 14 21 6"/><polyline points="15 6 21 6 21 12"/></svg>'); }
.cgtech-stat--shield .cgtech-stat__v::before{ background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231129B9" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3l7 3v5c0 4.5-3 7.6-7 9-4-1.4-7-4.5-7-9V6z"/><path d="M9 12l2 2 4-4"/></svg>'); }
.cgtech-stat--clock .cgtech-stat__v::before{ background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231129B9" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><path d="M12 7v5l3 2"/></svg>'); }
.cgtech-stat--check .cgtech-stat__v::before{ background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231129B9" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><path d="M8 12l3 3 5-6"/></svg>'); }
.cgtech-stat--layers .cgtech-stat__v::before{ background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231129B9" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3l9 5-9 5-9-5z"/><path d="M3 13l9 5 9-5"/></svg>'); }
.cgtech-stat--chart .cgtech-stat__v::before{ background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231129B9" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 20V10"/><path d="M10 20V4"/><path d="M16 20v-7"/><path d="M21 20H3"/></svg>'); }
.cgtech-stat--people .cgtech-stat__v::before{ background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231129B9" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="9" cy="8" r="3"/><path d="M3.5 20c0-3 2.5-5 5.5-5s5.5 2 5.5 5"/><path d="M16 5.5a3 3 0 0 1 0 5.8"/><path d="M19.5 20c0-2-1-3.6-3-4.4"/></svg>'); }

/* Proof layout v2: outcomes under copy (2-up), image fills the right column */
.cgtech-story__media{ border-radius:18px !important; overflow:hidden !important; min-height:480px; background-size:cover !important; background-position:center !important; background-repeat:no-repeat !important; align-self:stretch; }
.cgtech-story__content .cgtech-story__facts-title{ margin-top:16px !important; }
.cgtech-story__content .cgtech-stat-grid{ display:flex !important; flex-direction:row !important; flex-wrap:wrap !important; gap:16px !important; }
.cgtech-story__content .cgtech-stat-grid > .cgtech-stat{ width:calc(50% - 8px) !important; flex:0 0 calc(50% - 8px) !important; }
@media (max-width:900px){ .cgtech-story__media{ min-height:260px; } .cgtech-story__content .cgtech-stat-grid > .cgtech-stat{ width:100% !important; flex:0 0 100% !important; } }
/* Compact outcome cards: icon inline-left of subtext, title removed */
.cgtech-stat--icon .cgtech-stat__v{ display:flex !important; align-items:center !important; gap:13px !important; }
.cgtech-stat--icon .cgtech-stat__v p{ margin:0 !important; min-width:0; font-size:15px !important; line-height:1.4 !important; }
.cgtech-story__content .cgtech-stat{ padding:13px 16px !important; }
.cgtech-story__media{ min-height:340px; }

/* Outcome cards: brand-colour mix on the lip + icon for more pop */
.cgtech-stat--icon{ border-left-width:3px !important; }
.cgtech-stat--bolt{ border-left-color:#EA5B38 !important; }
.cgtech-stat--target{ border-left-color:#1AA39A !important; }
.cgtech-stat--spark{ border-left-color:#1129B9 !important; }
.cgtech-stat--trend{ border-left-color:#4F8EE8 !important; }
.cgtech-stat--bolt .cgtech-stat__v::before{ background-color:rgba(234,91,56,0.14) !important; background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23EA5B38" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"/></svg>') !important; }
.cgtech-stat--target .cgtech-stat__v::before{ background-color:rgba(26,163,154,0.14) !important; background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231AA39A" stroke-width="2"><circle cx="12" cy="12" r="9"/><circle cx="12" cy="12" r="5"/><circle cx="12" cy="12" r="1.6" fill="%231AA39A" stroke="none"/></svg>') !important; }
.cgtech-stat--spark .cgtech-stat__v::before{ background-color:rgba(17,41,185,0.12) !important; }
.cgtech-stat--trend .cgtech-stat__v::before{ background-color:rgba(79,142,232,0.18) !important; background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%234F8EE8" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="3 16 9 10 13 14 21 6"/><polyline points="15 6 21 6 21 12"/></svg>') !important; }

/* === Selected work / proof band (Industries) === */
.cgtech-section--proof .cgtech-section__inner, .cgtech-section--stories .cgtech-section__inner{ text-align:center; }
.cgtech-section--proof .cgtech-eyebrow, .cgtech-section--stories .cgtech-eyebrow{ text-align:center !important; }
.cgtech-section--proof .cgtech-section__headline, .cgtech-section--stories .cgtech-section__headline{ text-align:center !important; margin:0 auto 14px !important; }
.cgtech-proof-intro, .cgtech-proof-intro p{ text-align:center !important; max-width:660px; margin:0 auto !important; color:#3A4256 !important; font-family:var(--font-body) !important; font-size:clamp(16px,1.1vw,18px) !important; line-height:1.6 !important; }
.cgtech-section--proof .cgtech-proof-grid,
.cgtech-section--stories .cgtech-proof-grid, .cgtech-section--proof .cgtech-proof-grid > .e-con-inner{ display:flex !important; flex-direction:row !important; flex-wrap:wrap !important; justify-content:center !important; align-items:stretch !important; gap:24px !important; margin-top:42px !important; }
.cgtech-proof-card{ width:calc((100% - 48px)/3) !important; min-width:240px; max-width:360px; background:#FFFFFF !important; border:1px solid var(--rule,#E5E7EB) !important; border-top:3px solid var(--cg-blue) !important; border-radius:16px !important; box-shadow:0 8px 26px rgba(21,24,57,0.07) !important; transition:transform .25s, box-shadow .25s; overflow:hidden; }
.cgtech-proof-card > .e-con-inner{ padding:28px 26px !important; display:flex !important; flex-direction:column !important; height:100%; text-align:left !important; }
.cgtech-proof-card:hover{ transform:translateY(-4px); box-shadow:0 16px 34px rgba(21,24,57,0.12) !important; }
.cgtech-proof-card--orange{ border-top-color:var(--cg-orange) !important; } .cgtech-proof-card--teal{ border-top-color:var(--cg-teal) !important; } .cgtech-proof-card--sky{ border-top-color:var(--cg-sky) !important; }
.cgtech-proof-card__logo{ min-height:34px; margin-bottom:16px; display:flex; align-items:center; }
.cgtech-proof-card__logo img{ max-height:34px; max-width:150px; width:auto; }
.cgtech-proof-card__client, .cgtech-proof-card__client .elementor-heading-title{ font-family:var(--font-heading) !important; font-size:21px !important; font-weight:700 !important; color:var(--cg-navy) !important; line-height:1.2 !important; margin:0 0 12px !important; text-align:left !important; }
.cgtech-proof-card__body, .cgtech-proof-card__body p{ font-family:var(--font-body) !important; font-size:15px !important; line-height:1.65 !important; color:#3A4256 !important; margin:0 0 20px !important; text-align:left !important; }
.cgtech-proof-card__outcome{ margin-top:auto !important; }
.cgtech-proof-card__outcome p{ position:relative; background:rgba(26,163,154,0.07); border-radius:10px; padding:13px 14px 13px 46px !important; margin:0 !important; font-family:var(--font-body) !important; font-size:14.5px !important; font-weight:700 !important; color:var(--cg-navy) !important; line-height:1.4; text-align:left !important; }
.cgtech-proof-card__outcome p::before{ content:""; position:absolute; left:12px; top:50%; transform:translateY(-50%); width:24px; height:24px; border-radius:7px; background-color:rgba(26,163,154,0.18); background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231AA39A' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>"); background-repeat:no-repeat; background-position:center; background-size:14px 14px; }
/* Service icon cards */
.cgtech-servicelinks--icons{ display:grid !important; grid-template-columns:1fr 1fr !important; gap:16px !important; max-width:880px; margin:34px auto 0 !important; }
.cgtech-servicelinks--icons li{ margin:0 !important; }
.cgtech-servicelinks--icons a{ display:flex !important; align-items:center; gap:16px; background:#fff; border:1px solid var(--rule,#E5E7EB); border-radius:12px; padding:18px 20px; color:var(--cg-navy) !important; font-family:var(--font-heading); font-weight:700; font-size:16px; text-decoration:none; transition:.2s; text-align:left; }
.cgtech-servicelinks--icons a:hover{ border-color:var(--cg-sky); transform:translateY(-2px); box-shadow:0 10px 26px rgba(21,24,57,.07); }
.cgtech-servicelinks--icons .svc-ic{ flex:0 0 46px; width:46px; height:46px; border-radius:11px; display:flex; align-items:center; justify-content:center; }
.cgtech-servicelinks--icons .svc-ic svg{ width:24px; height:24px; fill:none; stroke-width:1.8; }
.cgtech-servicelinks--icons a .svc-ar{ margin-left:auto; color:var(--cg-sky); font-weight:700; }
.cgtech-servicelinks--icons li:nth-child(1) .svc-ic{background:rgba(234,91,56,.10)} .cgtech-servicelinks--icons li:nth-child(1) .svc-ic svg{stroke:var(--cg-orange)}
.cgtech-servicelinks--icons li:nth-child(2) .svc-ic{background:rgba(26,163,154,.10)} .cgtech-servicelinks--icons li:nth-child(2) .svc-ic svg{stroke:var(--cg-teal)}
.cgtech-servicelinks--icons li:nth-child(3) .svc-ic{background:rgba(17,41,185,.09)} .cgtech-servicelinks--icons li:nth-child(3) .svc-ic svg{stroke:var(--cg-blue)}
.cgtech-servicelinks--icons li:nth-child(4) .svc-ic{background:rgba(79,142,232,.12)} .cgtech-servicelinks--icons li:nth-child(4) .svc-ic svg{stroke:var(--cg-sky)}
.cgtech-servicelinks--icons li:nth-child(5) .svc-ic{background:rgba(234,91,56,.10)} .cgtech-servicelinks--icons li:nth-child(5) .svc-ic svg{stroke:var(--cg-orange)}
.cgtech-servicelinks--icons li:nth-child(6) .svc-ic{background:rgba(26,163,154,.10)} .cgtech-servicelinks--icons li:nth-child(6) .svc-ic svg{stroke:var(--cg-teal)}
@media(max-width:760px){ .cgtech-servicelinks--icons{ grid-template-columns:1fr !important; } }
/* Built-for split (centred eyebrow + text/image) */
.cgtech-splitctx-eyebrow{ text-align:center !important; margin:0 auto 46px !important; }
.cgtech-splitctx-grid > .e-con-inner{ display:grid !important; grid-template-columns:1.05fr .95fr !important; gap:60px !important; align-items:center !important; }
.cgtech-splitctx-media{ border-radius:18px !important; min-height:360px; background-size:cover !important; background-position:center !important; background-repeat:no-repeat !important; align-self:stretch; }
.cgtech-splitctx-text .cgtech-localfacts{ margin-left:0 !important; text-align:left !important; }
@media(max-width:880px){ .cgtech-splitctx-grid > .e-con-inner{ grid-template-columns:1fr !important; } .cgtech-splitctx-media{ min-height:240px; } }

/* cgtech-splitctx-img-fix */
.cgtech-splitctx-media{ padding:0 !important; background:transparent !important; display:flex; align-items:center; }
.cgtech-splitctx-media .elementor-widget-image{ width:100%; margin:0; }
.cgtech-splitctx-media img{ width:100% !important; height:auto !important; display:block; border-radius:18px; }

/* cgtech-svc-arrow-dedupe */
.cgtech-servicelinks--icons a::after{ content:none !important; }
.cgtech-servicelinks--icons a::before{ content:none !important; }

/* cgtech-splitctx-round */
.cgtech-splitctx-media{ overflow:hidden !important; border-radius:18px !important; }
.cgtech-splitctx-media .elementor-widget-image{ border-radius:18px !important; overflow:hidden !important; }
.cgtech-splitctx-media .elementor-widget-image img,
.cgtech-splitctx-media img{ border-radius:18px !important; }

/* === Proof card v2 === */
.cgtech-proof-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; align-items:stretch; }
.cgtech-proof-card{ position:relative; display:flex; flex-direction:column; background:#fff; border:1px solid var(--rule); border-radius:16px; padding:36px 32px 32px; box-shadow:0 1px 2px rgba(21,24,57,.04); overflow:hidden; }
.cgtech-proof-card::before{ content:""; position:absolute; top:0; left:0; right:0; height:4px; background:var(--cg-slate); z-index:2; }
.cgtech-proof-card--orange::before{ background:var(--cg-orange); }
.cgtech-proof-card--teal::before{ background:var(--cg-teal); }
.cgtech-proof-card--sky::before{ background:var(--cg-sky); }
.cgtech-proof-card > .elementor-element,.cgtech-proof-card > .elementor-widget{ width:100%; flex:1 1 auto; display:flex; }
.cgtech-proof-card .elementor-widget-container{ flex:1 1 auto; display:flex; width:100%; }
.pc-inner{ display:flex; flex-direction:column; width:100%; flex:1 1 auto; text-align:left; }
.pc-logo{ width:52px; height:52px; border-radius:13px; display:flex; align-items:center; justify-content:center; font-family:var(--font-heading); font-weight:700; font-size:18px; letter-spacing:.02em; margin-bottom:18px; }
.cgtech-proof-card--orange .pc-logo{ background:rgba(234,91,56,.10); color:var(--cg-orange); }
.cgtech-proof-card--teal .pc-logo{ background:rgba(26,163,154,.10); color:var(--cg-teal); }
.cgtech-proof-card--sky .pc-logo{ background:rgba(79,142,232,.12); color:var(--cg-sky); }
.pc-logo svg{ width:26px; height:26px; }
.pc-client{ font-family:var(--font-heading); font-weight:700; font-size:19px; line-height:1.25; color:var(--cg-navy); margin:0 0 5px; }
.pc-tag{ font-size:12px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; color:var(--cg-slate); margin:0 0 15px; }
.pc-body{ font-size:14.5px; line-height:1.55; color:#4a5568; margin:0 0 20px; }
.pc-outlabel{ font-size:11px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--cg-slate); margin:0 0 11px; padding-top:18px; border-top:1px solid var(--rule); }
.pc-outcomes{ list-style:none; margin:0; padding:0; }
.pc-outcomes li{ position:relative; padding-left:27px; font-size:13.5px; line-height:1.4; color:var(--cg-navy); margin-bottom:10px; }
.pc-outcomes li:last-child{ margin-bottom:0; }
.pc-outcomes li::before{ content:""; position:absolute; left:0; top:0; width:18px; height:18px; border-radius:50%; background:rgba(26,163,154,.12); }
.pc-outcomes li::after{ content:""; position:absolute; left:6px; top:3px; width:5px; height:9px; border:solid var(--cg-teal); border-width:0 2px 2px 0; transform:rotate(45deg); }
@media(max-width:1024px){ .cgtech-proof-grid{ grid-template-columns:1fr; } }
/* === Proof card v2 header === */
.pc-head{ display:flex; align-items:center; gap:14px; margin-bottom:18px; min-height:72px; }
.pc-head .pc-logo{ margin-bottom:0 !important; flex:0 0 auto; }
.pc-headtext{ min-width:0; }
.pc-headtext .pc-client{ margin:0 0 3px; }
.pc-headtext .pc-tag{ margin:0; }
.pc-body{ margin:0 0 13px; }
.pc-body:last-of-type{ margin-bottom:16px; }

/* cgtech-mega logo cards */
.cgtech-mega__ic--logo{ background:#FFFFFF !important; border:1px solid rgba(21,24,57,0.10) !important; }
.cgtech-header__nav .cgtech-mega__item .cgtech-mega__ic--logo .cgtech-mega__logo{ height:20px !important; max-height:20px !important; width:auto !important; max-width:24px !important; object-fit:contain !important; }
.cgtech-mega__item--all .cgtech-mega__ic--orange i{ font-size:15px; }

/* cgtech-mega rich desc wrap fix */
.cgtech-mega__cols--rich > li{ min-width:0 !important; }
.cgtech-header__nav ul.cgtech-mega li a.cgtech-mega__item{ min-width:0 !important; }
.cgtech-header__nav ul.cgtech-mega li a.cgtech-mega__item .cgtech-mega__it-body{ min-width:0 !important; }
.cgtech-mega__it-title,.cgtech-mega__it-desc{ white-space:normal !important; overflow-wrap:break-word !important; }

/* cgtech stats strip */
.cgtech-section--stats{ background:#F4F7FB !important; padding:52px 24px !important; }
.cgtech-section--stats .cgtech-section__inner{ align-items:center !important; }
.cgtech-stats__eyebrow{ text-align:center; font-size:13px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--cg-orange,#EA5B38); margin:0 0 26px; }
.cgtech-stats{ display:flex; flex-wrap:wrap; justify-content:center; align-items:flex-start; width:100%; }
.cgtech-stat{ flex:1 1 0; min-width:170px; text-align:center; padding:6px 26px; position:relative; }
.cgtech-stat + .cgtech-stat::before{ content:''; position:absolute; left:0; top:8%; height:84%; width:1px; background:var(--rule,#E5E7EB); }
.cgtech-stat__num{ font-family:'Plus Jakarta Sans','Inter',sans-serif; font-weight:800; font-size:clamp(36px,4.4vw,54px); line-height:1; letter-spacing:-.02em; color:#1129B9; }
@supports((-webkit-background-clip:text) or (background-clip:text)){ .cgtech-stat__num{ background:linear-gradient(120deg,#1129B9,#4F8EE8); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; } }
.cgtech-stat__label{ margin:12px auto 0; font-size:15px; line-height:1.45; color:var(--cg-slate,#5D7A99); max-width:190px; }
@media(max-width:760px){ .cgtech-stat{ flex:1 1 45%; padding:16px; } .cgtech-stat:nth-child(odd)::before{ display:none; } }

/* cgtech insights card polish */
.cgtech-section--insights .xpro-post-grid-image, .cgtech-carousel--insights .xpro-post-grid-image{ border-radius:16px !important; overflow:hidden !important; }
.cgtech-section--insights .xpro-post-grid-image img, .cgtech-carousel--insights .xpro-post-grid-image img{ border-radius:16px !important; display:block; }
.cgtech-section--insights .xpro-post-grid-meta-date, .cgtech-carousel--insights .xpro-post-grid-meta-date{ display:none !important; }

/* cgtech-stories-body-center */
.cgtech-section--stories .cgtech-section__body{ text-align:center !important; margin-left:auto !important; margin-right:auto !important; }

/* cgtech testimonials date hide */
.cgtech-carousel--testimonials .xpro-post-grid-meta-list, .cgtech-carousel--testimonials .xpro-post-grid-meta-date{ display:none !important; }

/* ===== INSIGHTS CARDS ===== */
.cgtech-insights-grid .cgtech-card{ padding:0 !important; overflow:hidden !important; }
.cgtech-insight-card__img{ display:block; width:100%; aspect-ratio:16/9; background-size:cover; background-position:center; background-color:#EAF1FB; }
.cgtech-insight-card__txt{ display:flex; flex-direction:column; gap:6px; padding:20px 22px 22px; }
.cgtech-insights-grid .cgtech-card__title{ font-size:16px !important; line-height:1.32; }
.cgtech-insight-card__date{ font-size:12px; color:var(--text-muted,#6B7280); margin-top:4px; letter-spacing:0.02em; }

/* ===== SINGLE POST (branded) ===== */
.cgtech-post__hero{ background:linear-gradient(160deg,#1d2456 0%,#151839 60%,#0e1130 100%); padding:118px 24px 60px; }
.cgtech-post__hero-inner{ max-width:820px; margin:0 auto; }
.cgtech-post__eyebrow{ display:inline-block; color:var(--cg-orange) !important; font-family:var(--font-body); font-size:13px; font-weight:600; letter-spacing:0.04em; text-decoration:none !important; margin-bottom:16px; }
.cgtech-post__title{ color:#fff !important; font-family:var(--font-heading); font-size:clamp(28px,4vw,44px); font-weight:700; line-height:1.15; letter-spacing:-0.01em; margin:0 0 16px; }
.cgtech-post__meta{ color:rgba(255,255,255,0.72); font-family:var(--font-body); font-size:14px; display:flex; gap:10px; align-items:center; }
.cgtech-post__dot{ opacity:0.5; }
.cgtech-post__body{ padding:56px 24px; background:#fff; }
.cgtech-post__body-inner{ max-width:760px; margin:0 auto; font-family:var(--font-body); color:#272a40; font-size:17px; line-height:1.75; }
.cgtech-post__body-inner h2{ font-family:var(--font-heading); color:var(--cg-navy); font-size:26px; line-height:1.25; margin:42px 0 14px; }
.cgtech-post__body-inner h3{ font-family:var(--font-heading); color:var(--cg-navy); font-size:20px; margin:30px 0 10px; }
.cgtech-post__body-inner p{ margin:0 0 20px; }
.cgtech-post__body-inner ul{ margin:0 0 22px 22px; }
.cgtech-post__body-inner li{ margin:0 0 9px; }
.cgtech-post__body-inner strong{ color:var(--cg-navy); }
.cgtech-post__related, .cgtech-post__cta{ padding:62px 24px; }
.cgtech-post__related-inner, .cgtech-post__cta-inner{ max-width:1100px; margin:0 auto; }
.cgtech-post__related-title{ font-family:var(--font-heading); color:var(--cg-navy); font-size:26px; margin:0 0 26px; text-align:center; }
.cgtech-post__cta-inner{ text-align:center; max-width:640px; }
.cgtech-post__cta-inner h2{ font-family:var(--font-heading); color:var(--cg-navy); font-size:30px; margin:0 0 12px; }
.cgtech-post__cta-inner p{ color:var(--text-muted,#6B7280); margin:0 0 24px; font-size:17px; }
.cgtech-post__btn{ display:inline-block; background:var(--cg-orange); color:#fff !important; font-family:var(--font-body); font-weight:600; padding:14px 30px; border-radius:10px; text-decoration:none !important; }

/* single post full-bleed (override Astra container) */
.post-template-default .ast-container{ max-width:100% !important; padding-left:0 !important; padding-right:0 !important; }
.post-template-default .site-content{ padding:0 !important; }
.post-template-default #primary, .post-template-default .ast-article-single{ margin:0 !important; padding:0 !important; }

/* single post no-sidebar + top */
.post-template-default #secondary, .post-template-default .widget-area{ display:none !important; }
.post-template-default #primary{ width:100% !important; max-width:100% !important; flex:1 1 100% !important; }
.post-template-default .ast-container{ display:block !important; max-width:100% !important; padding:0 !important; }
.post-template-default .site-content, .post-template-default #page, .post-template-default .cgtech-post{ padding-top:0 !important; margin-top:0 !important; }
.post-template-default .ast-separate-container .ast-article-single, .post-template-default .entry-content{ margin:0 !important; padding:0 !important; }

/* single post header nav colour now handled by the generic .cgtech-header--solid scroll state (CGTECH-HEROHEIGHT-v1) */
.post-template-default .xpro-theme-builder-header .elementor-widget-image img, .post-template-default .xpro-theme-builder-header .cgtech-logo{ filter:none !important; opacity:1 !important; }

/* logo shadow removal (was reading as a white box on solid header) */
.xpro-theme-builder-header img.wp-image-122, .xpro-theme-builder-header img.wp-image-123, .xpro-theme-builder-header .elementor-widget-image .attachment-full{ box-shadow:none !important; background:transparent !important; }

/* blog/archive header nav colour now handled by the generic .cgtech-header--solid scroll state (CGTECH-HEROHEIGHT-v1) */

/* ===== INSIGHTS ARCHIVE (branded) ===== */
.blog .ast-container{ max-width:100% !important; padding:0 !important; display:block !important; }
.blog .site-content, .blog #page, .blog .cgtech-arch{ padding-top:0 !important; margin-top:0 !important; }
.blog #secondary, .blog .widget-area{ display:none !important; }
.blog #primary{ width:100% !important; max-width:100% !important; flex:1 1 100% !important; margin:0 !important; padding:0 !important; }
.blog .ast-separate-container .ast-article-post{ padding:0 !important; margin:0 !important; background:transparent !important; box-shadow:none !important; }
.cgtech-arch__hero{ background:linear-gradient(160deg,#1d2456 0%,#151839 60%,#0e1130 100%); padding:118px 24px 66px; text-align:center; }
.cgtech-arch__hero-inner{ max-width:780px; margin:0 auto; }
.cgtech-arch__eyebrow{ display:block; color:var(--cg-orange) !important; font-family:var(--font-body); font-size:12px; font-weight:600; letter-spacing:0.16em; text-transform:uppercase; margin-bottom:16px; }
.cgtech-arch__title{ color:#fff !important; font-family:var(--font-heading); font-size:clamp(30px,4.4vw,46px); font-weight:700; line-height:1.13; letter-spacing:-0.01em; margin:0 0 16px; }
.cgtech-arch__lede{ color:rgba(255,255,255,0.74); font-family:var(--font-body); font-size:17px; line-height:1.6; margin:0; }
.cgtech-arch__body{ padding:62px 24px 86px; background:#fff; }
.cgtech-arch__list{ max-width:1040px; margin:0 auto; display:flex; flex-direction:column; gap:40px; }
.cgtech-arch__card{ display:grid; grid-template-columns:minmax(0,430px) 1fr; gap:36px; align-items:center; }
.cgtech-arch__card-img{ display:block; width:100%; aspect-ratio:16/10; background-size:cover; background-position:center; background-color:#EAF1FB; border-radius:16px; }
.cgtech-arch__card-body{ min-width:0; }
.cgtech-arch__cat{ display:inline-block; color:var(--cg-blue,#1129b9) !important; font-family:var(--font-body); font-size:12px; font-weight:600; letter-spacing:0.06em; text-transform:uppercase; margin-bottom:12px; }
.cgtech-arch__card-title{ font-family:var(--font-heading); font-size:25px; line-height:1.24; margin:0 0 10px; }
.cgtech-arch__card-title a{ color:var(--cg-navy) !important; text-decoration:none !important; }
.cgtech-arch__card-title a:hover{ color:var(--cg-blue,#1129b9) !important; }
.cgtech-arch__card-meta{ color:var(--text-muted,#6B7280); font-family:var(--font-body); font-size:13px; margin-bottom:12px; }
.cgtech-arch__card-excerpt{ color:#444a63; font-family:var(--font-body); font-size:16px; line-height:1.62; margin:0 0 16px; }
.cgtech-arch__card-more{ color:var(--cg-orange) !important; font-family:var(--font-body); font-weight:600; font-size:15px; text-decoration:none !important; }
.cgtech-arch__card-more:hover{ text-decoration:underline !important; }
.cgtech-arch__pagination{ margin-top:54px; text-align:center; }
.cgtech-arch__pagination a, .cgtech-arch__pagination .current{ display:inline-block; padding:9px 15px; margin:0 3px; border-radius:9px; font-family:var(--font-body); text-decoration:none; color:var(--cg-navy); }
.cgtech-arch__pagination .current{ background:var(--cg-navy); color:#fff; }
@media (max-width:760px){ .cgtech-arch__card{ grid-template-columns:1fr; gap:16px; } }

/* ===== PLATFORM BENTO + CAROUSEL (technologies) ===== */
.cgtech-platbento{ display:grid; grid-template-columns:1.15fr 1fr; gap:24px; max-width:1120px; margin:0 auto; }
.cgtech-platbento__feature, .cgtech-platbento__card{ position:relative; display:flex; flex-direction:column; background:#fff; border:1px solid var(--rule,rgba(21,24,57,0.08)); border-radius:18px; padding:32px; text-decoration:none !important; overflow:hidden; transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
.cgtech-platbento__feature:hover, .cgtech-platbento__card:hover{ transform:translateY(-3px); box-shadow:0 18px 40px rgba(21,24,57,0.12); }
.cgtech-platbento__feature::before, .cgtech-platbento__card::before{ content:''; position:absolute; top:0; left:0; right:0; height:4px; background:var(--cg-blue,#1129b9); }
.cgtech-platbento--ms::before{ background:#1129B9; }
.cgtech-platbento--openai::before{ background:#4F8EE8; }
.cgtech-platbento--anthropic::before{ background:#EA5B38; }
.cgtech-platbento--perplexity::before{ background:#5D7A99; }
.cgtech-platbento--os::before{ background:#151839; }
.cgtech-platbento__grid{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.cgtech-platbento__logo{ height:38px; width:auto; max-width:180px; object-fit:contain; object-position:left center; margin-bottom:20px; }
.cgtech-platbento__card .cgtech-platbento__logo{ height:28px; margin-bottom:14px; }
.cgtech-platbento__label{ color:var(--cg-orange) !important; font-family:var(--font-body); font-size:11px; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; margin-bottom:8px; }
.cgtech-platbento__name{ font-family:var(--font-heading); color:var(--cg-navy) !important; font-size:24px; font-weight:700; margin:0 0 10px; }
.cgtech-platbento__card .cgtech-platbento__name{ font-size:19px; }
.cgtech-platbento__copy{ color:var(--text-muted,#6B7280) !important; font-family:var(--font-body); font-size:15px; line-height:1.55; margin:0 0 18px; }
.cgtech-platbento__card .cgtech-platbento__copy{ font-size:14px; }
.cgtech-chips{ display:flex; flex-wrap:wrap; gap:8px; margin:0 0 22px; }
.cgtech-chip{ display:inline-block; background:#EEF2FB; color:var(--cg-navy); font-family:var(--font-body); font-size:12.5px; font-weight:500; padding:6px 12px; border-radius:8px; }
.cgtech-platbento__more{ margin-top:auto; color:var(--cg-blue,#1129b9) !important; font-family:var(--font-body); font-size:14px; font-weight:600; }
.cgtech-platbento__more::after{ content:' \2192'; }
@media (max-width:900px){ .cgtech-platbento{ grid-template-columns:1fr; } }
@media (max-width:560px){ .cgtech-platbento__grid{ grid-template-columns:1fr; } }
.cgtech-carousel{ max-width:1160px; margin:6px auto 0; }
.cgtech-carousel__viewport{ overflow:hidden; }
.cgtech-carousel__track{ display:flex; gap:24px; align-items:stretch; transition:transform .42s cubic-bezier(.4,0,.2,1); will-change:transform; }
.cgtech-carousel__slide{ flex:0 0 calc((100% - 48px)/3); min-width:0; }
.cgtech-carousel__slide > .cgtech-proof-card{ height:100%; min-height:420px; width:100% !important; max-width:none !important; margin:0; }
.cgtech-carousel__nav{ display:flex; align-items:center; justify-content:center; gap:18px; margin-top:32px; }
.cgtech-carousel__arrow{ width:44px; height:44px; border-radius:50%; border:1px solid var(--rule,rgba(21,24,57,0.14)); background:#fff; color:var(--cg-navy); font-size:22px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .15s, color .15s, border-color .15s; }
.cgtech-carousel__arrow:hover:not(:disabled){ background:var(--cg-navy); color:#fff; border-color:var(--cg-navy); }
.cgtech-carousel__arrow:disabled{ opacity:0.35; cursor:default; }
.cgtech-carousel__dots{ display:flex; gap:8px; align-items:center; }
.cgtech-carousel__dot{ width:9px; height:9px; border-radius:50%; border:none; background:rgba(21,24,57,0.18); cursor:pointer; padding:0; transition:width .2s, background .2s; }
.cgtech-carousel__dot.is-active{ background:var(--cg-orange); width:22px; border-radius:5px; }
@media (max-width:980px){ .cgtech-carousel__slide{ flex-basis:calc((100% - 24px)/2); } }
@media (max-width:640px){ .cgtech-carousel__slide{ flex-basis:100%; } .cgtech-carousel__track{ gap:16px; } }

/* bento logo size fix (beat Xpro img rule) */
.cgtech-platbento .cgtech-platbento__logo{ height:44px !important; max-height:44px !important; width:auto !important; max-width:210px !important; min-width:0 !important; object-fit:contain !important; object-position:left center !important; display:block !important; }
.cgtech-platbento .cgtech-platbento__card .cgtech-platbento__logo{ height:30px !important; max-height:30px !important; max-width:150px !important; }

/* === tech-banner hero tweaks v1: white lifted headline + overlay fade centre to right === */
.cgtech-section--tech-banner.cgtech-bg-picture::before{ background: linear-gradient(90deg, rgba(21,24,57,0.90) 0%, rgba(21,24,57,0.88) 48%, rgba(21,24,57,0.46) 74%, rgba(21,24,57,0.12) 100%) !important; opacity:1 !important; }
.cgtech-section--tech-banner .cgtech-tech-banner__title .elementor-heading-title, .cgtech-section--tech-banner .cgtech-tech-banner__title h1, .cgtech-section--tech-banner .cgtech-tech-banner__title h2{ color:#FFFFFF !important; text-shadow:0 2px 15px rgba(11,26,120,0.55), 0 1px 3px rgba(0,0,0,0.22) !important; }


/* === hub landing hero treatment v1: bg image + overlay fade centre to right + lifted white headline (Solutions 126 / Challenges 139 / Industries 149 / Locations 324) === */
body.page-id-126 .cgtech-section--sol-hero{ background-image:url(/wp-content/uploads/2026/06/home-digital-transformation.webp) !important; } /* swap this URL when a real image is uploaded for page 126 */
body.page-id-139 .cgtech-section--sol-hero{ background-image:url(/wp-content/uploads/2026/06/home-digital-transformation.webp) !important; } /* swap this URL when a real image is uploaded for page 139 */
body.page-id-149 .cgtech-section--sol-hero{ background-image:url(/wp-content/uploads/2026/06/home-digital-transformation.webp) !important; } /* swap this URL when a real image is uploaded for page 149 */
body.page-id-324 .cgtech-section--sol-hero{ background-image:url(/wp-content/uploads/2026/06/home-digital-transformation.webp) !important; } /* swap this URL when a real image is uploaded for page 324 */
body.page-id-126 .cgtech-section--sol-hero, body.page-id-139 .cgtech-section--sol-hero, body.page-id-149 .cgtech-section--sol-hero, body.page-id-324 .cgtech-section--sol-hero{ background-size:cover !important; background-position:center center !important; background-repeat:no-repeat !important; background-color:var(--cg-navy) !important; }
body.page-id-126 .cgtech-section--sol-hero.cgtech-hero-navy::before, body.page-id-139 .cgtech-section--sol-hero.cgtech-hero-navy::before, body.page-id-149 .cgtech-section--sol-hero.cgtech-hero-navy::before, body.page-id-324 .cgtech-section--sol-hero.cgtech-hero-navy::before{ background:linear-gradient(90deg, rgba(21,24,57,0.90) 0%, rgba(21,24,57,0.88) 48%, rgba(21,24,57,0.46) 74%, rgba(21,24,57,0.12) 100%) !important; }
body.page-id-126 .cgtech-section--sol-hero.cgtech-hero-navy::after, body.page-id-139 .cgtech-section--sol-hero.cgtech-hero-navy::after, body.page-id-149 .cgtech-section--sol-hero.cgtech-hero-navy::after, body.page-id-324 .cgtech-section--sol-hero.cgtech-hero-navy::after{ display:none !important; }
body.page-id-126 .cgtech-sol-hero__title h1, body.page-id-139 .cgtech-sol-hero__title h1, body.page-id-149 .cgtech-sol-hero__title h1, body.page-id-324 .cgtech-sol-hero__title h1, body.page-id-126 .cgtech-sol-hero__title .elementor-heading-title, body.page-id-139 .cgtech-sol-hero__title .elementor-heading-title, body.page-id-149 .cgtech-sol-hero__title .elementor-heading-title, body.page-id-324 .cgtech-sol-hero__title .elementor-heading-title{ color:#FFFFFF !important; text-shadow:0 2px 15px rgba(11,26,120,0.55), 0 1px 3px rgba(0,0,0,0.22) !important; }

/* === hub hero overlay full-cover fix v2: sol-hero::before sets a 480px corner box that stopped the fade covering the hero; force full-cover === */
body.page-id-126 .cgtech-section--sol-hero.cgtech-hero-navy::before, body.page-id-139 .cgtech-section--sol-hero.cgtech-hero-navy::before, body.page-id-149 .cgtech-section--sol-hero.cgtech-hero-navy::before, body.page-id-324 .cgtech-section--sol-hero.cgtech-hero-navy::before{ position:absolute !important; inset:0 !important; top:0 !important; right:0 !important; bottom:0 !important; left:0 !important; width:auto !important; height:auto !important; z-index:0 !important; background:linear-gradient(90deg, rgba(21,24,57,0.90) 0%, rgba(21,24,57,0.88) 48%, rgba(21,24,57,0.46) 74%, rgba(21,24,57,0.12) 100%) !important; }


/* === hub hero overlay v3 layered: hub hero ::before content computes to none, so layer the fade gradient over the image on the section itself === */
body.page-id-126 .cgtech-section--sol-hero{ background-image:linear-gradient(90deg, rgba(21,24,57,0.92) 0%, rgba(21,24,57,0.88) 48%, rgba(21,24,57,0.5) 74%, rgba(21,24,57,0.16) 100%), url(/wp-content/uploads/2026/06/home-digital-transformation.webp) !important; } /* page 126: swap the url() when a real image is uploaded */
body.page-id-139 .cgtech-section--sol-hero{ background-image:linear-gradient(90deg, rgba(21,24,57,0.92) 0%, rgba(21,24,57,0.88) 48%, rgba(21,24,57,0.5) 74%, rgba(21,24,57,0.16) 100%), url(/wp-content/uploads/2026/06/home-digital-transformation.webp) !important; } /* page 139: swap the url() when a real image is uploaded */
body.page-id-149 .cgtech-section--sol-hero{ background-image:linear-gradient(90deg, rgba(21,24,57,0.92) 0%, rgba(21,24,57,0.88) 48%, rgba(21,24,57,0.5) 74%, rgba(21,24,57,0.16) 100%), url(/wp-content/uploads/2026/06/home-digital-transformation.webp) !important; } /* page 149: swap the url() when a real image is uploaded */
body.page-id-324 .cgtech-section--sol-hero{ background-image:linear-gradient(90deg, rgba(21,24,57,0.92) 0%, rgba(21,24,57,0.88) 48%, rgba(21,24,57,0.5) 74%, rgba(21,24,57,0.16) 100%), url(/wp-content/uploads/2026/06/home-digital-transformation.webp) !important; } /* page 324: swap the url() when a real image is uploaded */
body.page-id-126 .cgtech-section--sol-hero, body.page-id-139 .cgtech-section--sol-hero, body.page-id-149 .cgtech-section--sol-hero, body.page-id-324 .cgtech-section--sol-hero{ background-size:cover, cover !important; background-position:center center, center center !important; background-repeat:no-repeat, no-repeat !important; background-color:var(--cg-navy) !important; }
body.page-id-126 .cgtech-section--sol-hero::before, body.page-id-139 .cgtech-section--sol-hero::before, body.page-id-149 .cgtech-section--sol-hero::before, body.page-id-324 .cgtech-section--sol-hero::before{ background:none !important; }


/* === about+insights hero treatment v1: same fade overlay + image + lifted headline on About (160) and Insights archive (body.blog) === */
body.page-id-160 .cgtech-section--about-hero{ background-image:linear-gradient(90deg, rgba(21,24,57,0.92) 0%, rgba(21,24,57,0.88) 48%, rgba(21,24,57,0.5) 74%, rgba(21,24,57,0.16) 100%), url(/wp-content/uploads/2026/06/home-digital-transformation.webp) !important; background-size:cover, cover !important; background-position:center center, center center !important; background-repeat:no-repeat, no-repeat !important; background-color:var(--cg-navy) !important; } /* About: swap the url() when a real image is uploaded */
body.page-id-160 .cgtech-section--about-hero::before{ background:none !important; }
body.page-id-160 .cgtech-about-hero__title h1, body.page-id-160 .cgtech-about-hero__title .elementor-heading-title{ text-shadow:0 2px 15px rgba(11,26,120,0.55), 0 1px 3px rgba(0,0,0,0.22) !important; }
body.blog .cgtech-arch__hero{ background-image:linear-gradient(90deg, rgba(21,24,57,0.92) 0%, rgba(21,24,57,0.88) 48%, rgba(21,24,57,0.5) 74%, rgba(21,24,57,0.16) 100%), url(/wp-content/uploads/2026/06/home-digital-transformation.webp) !important; background-size:cover, cover !important; background-position:center center, center center !important; background-repeat:no-repeat, no-repeat !important; background-color:var(--cg-navy) !important; } /* Insights: swap the url() when a real image is uploaded */
body.blog .cgtech-arch__title{ text-shadow:0 2px 15px rgba(11,26,120,0.55), 0 1px 3px rgba(0,0,0,0.22) !important; }

/* === Technologies bento: Microsoft products as icon + name grid (mega-menu style) === */
.cgtech-platbento .cgtech-prods{ display:grid; grid-template-columns:repeat(3, max-content); justify-content:center; gap:18px 30px; margin:22px auto 0; }
.cgtech-platbento .cgtech-prod{ display:flex; align-items:center; gap:13px; }
.cgtech-platbento .cgtech-prod__ic{ flex:0 0 auto; width:40px; height:40px; border-radius:11px; display:inline-flex; align-items:center; justify-content:center; background:rgba(17,41,185,0.09); color:var(--cg-blue,#1129b9); }
.cgtech-platbento .cgtech-prod__ic i{ font-size:17px; line-height:1; }
.cgtech-platbento .cgtech-prod__name{ font-family:var(--font-body); font-size:16px; font-weight:600; color:var(--cg-navy); line-height:1.25; }
@media(max-width:560px){ .cgtech-platbento .cgtech-prods{ grid-template-columns:1fr; } }

/* CGTECH challenges grouped mega menu */
.cgtech-mega__cols--groups{gap:0 36px !important;align-content:flex-start !important;}
.cgtech-mega__group{flex:1 1 0 !important;min-width:0 !important;}
.cgtech-mega__group-label{display:block;font-family:var(--font-heading);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--cg-blue);text-decoration:none;border-bottom:1px solid var(--rule);padding-bottom:8px;margin:2px 0 8px;}
.cgtech-mega__group-label:hover{color:var(--cg-orange);}
.cgtech-mega__group-items{display:flex;flex-direction:column;}
@media (max-width:900px){.cgtech-mega__cols--groups{flex-direction:column !important;gap:18px 0 !important;}}

/* group-label hover fix */
.cgtech-mega__cols a.cgtech-mega__group-label, .cgtech-mega__cols a.cgtech-mega__group-label:hover{ background:transparent !important; }
.cgtech-mega__cols a.cgtech-mega__group-label{ color:var(--cg-blue) !important; padding:0 2px 9px !important; margin:2px 0 10px !important; }
.cgtech-mega__cols a.cgtech-mega__group-label:hover{ color:var(--cg-orange) !important; }

/* pillar hero image treatment 388 389 */
body.page-id-388 .cgtech-section--sol-hero, body.page-id-389 .cgtech-section--sol-hero{ background-image:linear-gradient(90deg, rgba(21,24,57,0.92) 0%, rgba(21,24,57,0.88) 48%, rgba(21,24,57,0.5) 74%, rgba(21,24,57,0.16) 100%), url(/wp-content/uploads/2026/06/home-digital-transformation.webp) !important; background-size:cover, cover !important; background-position:center center, center center !important; background-repeat:no-repeat, no-repeat !important; background-color:var(--cg-navy) !important; }
body.page-id-388 .cgtech-section--sol-hero::before, body.page-id-389 .cgtech-section--sol-hero::before{ background:none !important; }
body.page-id-388 .cgtech-sol-hero__title h1, body.page-id-389 .cgtech-sol-hero__title h1, body.page-id-388 .cgtech-sol-hero__title .elementor-heading-title, body.page-id-389 .cgtech-sol-hero__title .elementor-heading-title{ color:#FFFFFF !important; text-shadow:0 2px 15px rgba(11,26,120,0.55), 0 1px 3px rgba(0,0,0,0.22) !important; }

/* hub-grid cards fill column (consistent width) */
.cgtech-hub-grid > .cgtech-card, .cgtech-hub-grid .cgtech-card{ width:100% !important; min-width:0 !important; max-width:none !important; }

/* about 160 design lift */
@media (min-width:1025px){
 body.page-id-160 .cgtech-story-grid, body.page-id-160 .cgtech-story-grid > .e-con-inner{ display:flex !important; flex-direction:row !important; flex-wrap:nowrap !important; align-items:flex-start !important; gap:60px !important; }
 body.page-id-160 .cgtech-story__content{ flex:1 1 56% !important; max-width:58% !important; }
 body.page-id-160 .cgtech-story__facts{ flex:1 1 40% !important; max-width:42% !important; }
}
body.page-id-160 .cgtech-story__facts-title{ text-transform:uppercase !important; letter-spacing:.12em !important; font-size:12px !important; font-weight:700 !important; color:#5D7A99 !important; margin:0 0 16px !important; }
body.page-id-160 .cgtech-stat-grid{ display:grid !important; grid-template-columns:1fr 1fr !important; gap:16px !important; }
body.page-id-160 .cgtech-stat{ background:linear-gradient(180deg,#ffffff 0%,#F4F7FF 100%) !important; border:1px solid #E4E9F5 !important; border-radius:14px !important; padding:22px 18px !important; box-shadow:0 8px 24px rgba(21,24,57,0.06) !important; position:relative !important; overflow:hidden !important; transition:transform .18s ease, box-shadow .18s ease !important; }
body.page-id-160 .cgtech-stat::before{ content:"" !important; position:absolute !important; left:0 !important; top:0 !important; bottom:0 !important; width:4px !important; background:linear-gradient(180deg,#1129B9,#EA5B38) !important; }
body.page-id-160 .cgtech-stat:hover{ transform:translateY(-3px) !important; box-shadow:0 16px 32px rgba(21,24,57,0.11) !important; }
body.page-id-160 .cgtech-stat__k{ font-size:40px !important; font-weight:800 !important; color:#1129B9 !important; line-height:1 !important; margin:0 0 6px !important; letter-spacing:-.02em !important; }
body.page-id-160 .cgtech-stat__v{ font-size:13px !important; color:#5D7A99 !important; margin:0 !important; line-height:1.4 !important; }
body.page-id-160 .cgtech-eyebrow{ display:inline-flex !important; align-items:center !important; gap:10px !important; }
body.page-id-160 .cgtech-eyebrow::before{ content:"" !important; display:inline-block !important; width:22px !important; height:2px !important; background:#EA5B38 !important; }

/* about 160 design lift v2 */
body.page-id-160 .elementor-element-64674bf{ background-image:radial-gradient(130% 150% at 12% 0%, #1E2E6E 0%, #151839 52%, #0D0F2B 100%) !important; background-color:#151839 !important; }
body.page-id-160 .elementor-element-64674bf .cgtech-gov__title{ color:#ffffff !important; }
body.page-id-160 .elementor-element-64674bf .cgtech-gov__body{ color:#C7D2F0 !important; }
body.page-id-160 .cgtech-gov__panels{ display:flex !important; flex-wrap:wrap !important; gap:10px !important; margin-top:22px !important; }
body.page-id-160 .cgtech-gov__chip{ display:inline-flex !important; align-items:center !important; gap:8px !important; padding:8px 15px !important; border:1px solid rgba(255,255,255,0.22) !important; border-radius:999px !important; background:rgba(255,255,255,0.07) !important; color:#E7ECFB !important; font-size:12.5px !important; font-weight:600 !important; line-height:1 !important; }
body.page-id-160 .cgtech-gov__chip::before{ content:"" !important; width:7px !important; height:7px !important; border-radius:50% !important; background:#EA5B38 !important; flex:0 0 auto !important; }
body.page-id-160 .cgtech-team-card{ position:relative !important; overflow:hidden !important; transition:transform .18s ease, box-shadow .18s ease !important; }
body.page-id-160 .cgtech-team-card::before{ content:"" !important; position:absolute !important; left:0 !important; right:0 !important; top:0 !important; height:3px !important; background:linear-gradient(90deg,#1129B9,#EA5B38) !important; }
body.page-id-160 .cgtech-team-card:hover{ transform:translateY(-4px) !important; box-shadow:0 16px 34px rgba(21,24,57,0.12) !important; }
body.page-id-160 .elementor-element-3b86306{ background:linear-gradient(180deg,#F3F6FF 0%,#E9F0FC 100%) !important; border-top:1px solid #E1E8F6 !important; }

/* about 160 design lift v3 */
@media (min-width:1025px){
 body.page-id-160 .cgtech-story-grid, body.page-id-160 .cgtech-story-grid > .e-con-inner{ align-items:stretch !important; }
 body.page-id-160 .cgtech-story__facts{ display:flex !important; flex-direction:column !important; }
 body.page-id-160 .cgtech-story__facts .cgtech-stat-grid{ flex:1 1 auto !important; grid-auto-rows:1fr !important; }
}
body.page-id-160 .cgtech-story__facts{ background:linear-gradient(180deg,#FBFCFF 0%,#F3F7FF 100%) !important; border:1px solid #E4E9F5 !important; border-radius:18px !important; padding:26px 24px !important; box-shadow:0 10px 30px rgba(21,24,57,0.05) !important; }
body.cg-anim-ready.page-id-160 .cgtech-stat{ opacity:0 !important; transform:translateY(14px) !important; }
body.cg-anim-ready.page-id-160 .cgtech-stat.is-in{ opacity:1 !important; transform:translateY(0) !important; transition:opacity .55s ease, transform .55s ease !important; }
body.page-id-160 .elementor-element-0500c1c{ position:relative !important; overflow:hidden !important; }
body.page-id-160 .elementor-element-0500c1c > *{ position:relative !important; z-index:1 !important; }

/* about 160 design lift v4 */
body.page-id-160 .cgtech-stat__k{ font-size:54px !important; letter-spacing:-.03em !important; }

/* about 160 value-card accent v5 */
body.page-id-160 .cgtech-value-card{ position:relative !important; overflow:hidden !important; transition:transform .18s ease, box-shadow .18s ease !important; }
body.page-id-160 .cgtech-value-card::before{ content:"" !important; position:absolute !important; left:0 !important; right:0 !important; top:0 !important; height:3px !important; background:linear-gradient(90deg,#1129B9,#EA5B38) !important; z-index:2 !important; }
body.page-id-160 .cgtech-value-card:hover{ transform:translateY(-4px) !important; box-shadow:0 16px 34px rgba(21,24,57,0.12) !important; }

/* journey timeline v2 */
.cgtech-tl__card{ transition:transform .18s ease, box-shadow .18s ease; }
.cgtech-tl__card:hover{ transform:translateY(-5px); box-shadow:0 18px 36px rgba(21,24,57,0.12); }
@media (max-width:860px){ .cgtech-tl__rail{ display:none !important; } .cgtech-tl__row{ flex-direction:column !important; } }body.page-id-160 .elementor-element-3b86306 .cgtech-section__headline{ font-size:34px !important; }
body.page-id-160 .elementor-element-3b86306 .cgtech-about-cta__btn{ padding:16px 34px !important; font-size:16px !important; }


/* commitment band logos centre v10 */
body.page-id-160 .cgtech-cband-logos{ justify-content:center !important; width:100% !important; }
body.page-id-160 .cgtech-cband-logos > .e-con-inner{ justify-content:center !important; width:100% !important; }

/* commitment band logos centre v11 id */
body.page-id-160 .elementor-element-35b16c7{ justify-content:center !important; }

/* value card icons site style v12 */
body.page-id-160 .cgtech-value-card__icon{ display:inline-flex !important; align-items:center !important; justify-content:center !important; width:54px !important; height:54px !important; border-radius:14px !important; margin-bottom:12px !important; }
body.page-id-160 .cgtech-value-card__icon .elementor-widget-container{ display:flex !important; align-items:center !important; justify-content:center !important; width:100% !important; height:100% !important; }
body.page-id-160 .cgtech-value-card__icon .elementor-icon{ font-size:22px !important; line-height:1 !important; }
body.page-id-160 .cgtech-value-card__icon .elementor-icon i{ color:inherit; }
body.page-id-160 .elementor-element-dda5ba2 .cgtech-value-card__icon{ background:#E6F1FB !important; }
body.page-id-160 .elementor-element-625902e .cgtech-value-card__icon{ background:#FAECE7 !important; }
body.page-id-160 .elementor-element-6101314 .cgtech-value-card__icon{ background:#E1F5EE !important; }

/* stats navy band v13 */
body.page-id-160 .cgtech-story__facts{ background:#151839 !important; border:1px solid #151839 !important; border-radius:20px !important; padding:28px 26px 30px !important; box-shadow:0 22px 55px rgba(21,24,57,0.22) !important; position:relative !important; overflow:hidden !important; }
body.page-id-160 .cgtech-story__facts::before{ content:'' !important; position:absolute !important; inset:0 !important; background:radial-gradient(130% 130% at 100% 0%, rgba(79,142,232,0.32), transparent 60%) !important; pointer-events:none !important; z-index:0 !important; }
body.page-id-160 .cgtech-story__facts-title{ position:relative !important; z-index:1 !important; display:flex !important; align-items:center !important; gap:10px !important; color:#C7D2F0 !important; }
body.page-id-160 .cgtech-story__facts-title::before{ content:'' !important; width:22px !important; height:2px !important; background:#EA5B38 !important; display:inline-block !important; flex:0 0 auto !important; }
body.page-id-160 .cgtech-stat-grid{ position:relative !important; z-index:1 !important; gap:1px !important; background:rgba(255,255,255,0.10) !important; border-radius:14px !important; overflow:hidden !important; }
body.page-id-160 .cgtech-stat-grid > .cgtech-stat{ width:auto !important; flex:initial !important; }
body.page-id-160 .cgtech-stat{ background:#151839 !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; padding:24px 22px !important; overflow:hidden !important; }
body.page-id-160 .cgtech-stat::before{ display:none !important; }
body.page-id-160 .cgtech-stat:hover{ transform:none !important; box-shadow:none !important; }
body.page-id-160 .cgtech-stat__k{ color:#ffffff !important; }
body.page-id-160 .cgtech-stat__v{ color:#AEB8D6 !important; }



/* team T3 v15 */
body.page-id-160 .cgtech-team-row{ max-width:1180px !important; margin:30px auto 66px !important; padding:0 20px !important; display:flex !important; flex-direction:row !important; flex-wrap:wrap !important; justify-content:center !important; align-items:stretch !important; gap:22px !important; }
body.page-id-160 .cgtech-team-card{ flex:1 1 230px !important; max-width:268px !important; min-width:0 !important; width:auto !important; background:#fff !important; border:1px solid #E7EBF6 !important; border-radius:18px !important; overflow:hidden !important; box-shadow:0 16px 40px rgba(21,24,57,0.12) !important; padding:0 !important; transition:transform .22s ease, box-shadow .22s ease !important; }
body.page-id-160 .cgtech-team-card:hover{ transform:translateY(-4px) !important; box-shadow:0 24px 52px rgba(21,24,57,0.18) !important; }
body.page-id-160 .cgtech-team-card__photo{ width:100% !important; margin:0 !important; padding:0 !important; line-height:0 !important; }
body.page-id-160 .cgtech-team-card__photo img{ width:100% !important; aspect-ratio:1/1 !important; object-fit:cover !important; display:block !important; border-radius:0 !important; }
body.page-id-160 .cgtech-team-card__foot{ position:relative !important; background:#151839 !important; padding:16px 52px 17px 17px !important; width:100% !important; }
body.page-id-160 .cgtech-team-card__name{ margin:0 !important; }
body.page-id-160 .cgtech-team-card__name .elementor-heading-title{ color:#ffffff !important; font-size:15.5px !important; font-weight:800 !important; line-height:1.25 !important; }
body.page-id-160 .cgtech-team-card__role{ margin:4px 0 0 !important; }
body.page-id-160 .cgtech-team-card__role .elementor-heading-title{ color:#AEB8D6 !important; font-size:12px !important; font-weight:500 !important; line-height:1.4 !important; }
body.page-id-160 .cgtech-team-card__li{ position:absolute !important; top:14px !important; right:16px !important; width:30px !important; height:30px !important; border-radius:8px !important; background:rgba(255,255,255,0.18) !important; display:flex !important; align-items:center !important; justify-content:center !important; opacity:1 !important; transform:none !important; transition:background .2s ease !important; z-index:2 !important; }
body.page-id-160 .cgtech-team-card__li:hover{ background:#EA5B38 !important; }
body.page-id-160 .cgtech-team-card__li .elementor-icon-wrapper{ margin:0 !important; line-height:1 !important; }
body.page-id-160 .cgtech-team-card__li .elementor-icon{ width:30px !important; height:30px !important; padding:0 !important; display:flex !important; align-items:center !important; justify-content:center !important; background:transparent !important; }
body.page-id-160 .cgtech-team-card__li a{ display:flex !important; align-items:center !important; justify-content:center !important; width:100% !important; height:100% !important; }
body.page-id-160 .cgtech-team-card__li svg{ width:15px !important; height:15px !important; fill:#ffffff !important; }
body.page-id-160 .cgtech-team-card__li i{ font-size:15px !important; color:#ffffff !important; }

/* team T3 v15b */
body.page-id-160 .cgtech-team-card__foot{ flex:1 1 auto !important; }

/* mockup match v16 */
body.page-id-160 .cgtech-story__facts .cgtech-stat-grid{ flex:0 0 auto !important; grid-auto-rows:auto !important; align-self:stretch !important; }
body.page-id-160 .cgtech-stat{ display:flex !important; flex-direction:column !important; justify-content:flex-start !important; align-items:flex-start !important; padding:26px 24px !important; }
body.page-id-160 .cgtech-stat__k{ margin:0 !important; text-align:left !important; }
body.page-id-160 .cgtech-stat__k::after{ content:'' !important; display:block !important; width:30px !important; height:3px !important; background:#EA5B38 !important; border-radius:2px !important; margin:14px 0 14px !important; }
body.page-id-160 .cgtech-stat__v{ margin:0 !important; text-align:left !important; }
body.page-id-160 .cgtech-team-card{ gap:0 !important; row-gap:0 !important; column-gap:0 !important; }

/* plus colour v17 */
body.page-id-160 .cgtech-plus{ color:#EA5B38 !important; }





/* grid frame fix v18 */
body.page-id-160 .cgtech-story__facts .cgtech-stat-grid{ padding:0 !important; border-radius:0 !important; outline:none !important; background:transparent !important; gap:0 !important; overflow:visible !important; }
body.page-id-160 .cgtech-story__facts .cgtech-stat{ box-shadow:none !important; border:0 solid rgba(255,255,255,0.12) !important; box-sizing:border-box !important; }
body.page-id-160 .cgtech-story__facts .cgtech-stat:nth-child(1), body.page-id-160 .cgtech-story__facts .cgtech-stat:nth-child(3){ border-right-width:1px !important; }
body.page-id-160 .cgtech-story__facts .cgtech-stat:nth-child(1), body.page-id-160 .cgtech-story__facts .cgtech-stat:nth-child(2){ border-bottom-width:1px !important; }

/* stat colours v19 */
body.page-id-160 .cgtech-story__facts .cgtech-stat__k, body.page-id-160 .cgtech-story__facts .cgtech-stat__k .elementor-heading-title{ color:#ffffff !important; }
body.page-id-160 .cgtech-story__facts .cgtech-stat__v, body.page-id-160 .cgtech-story__facts .cgtech-stat__v .elementor-heading-title, body.page-id-160 .cgtech-story__facts .cgtech-stat__v p, body.page-id-160 .cgtech-story__facts .cgtech-stat__v span{ color:#AEB8D6 !important; }
body.page-id-160 .cgtech-plus{ color:#EA5B38 !important; }
body.page-id-160 .cgtech-story__facts .cgtech-stat{ min-height:172px !important; }



/* box compact v20 */
body.page-id-160 .cgtech-story__facts{ align-self:center !important; }

/* eyebrow gradient pop v21 */
body.page-id-160 .cgtech-story__facts-title{ display:flex !important; flex-direction:row !important; align-items:center !important; justify-content:flex-start !important; position:relative !important; z-index:2 !important; }
body.page-id-160 .cgtech-story__facts-title::before{ content:'' !important; display:block !important; flex:0 0 auto !important; width:22px !important; height:2px !important; background:#EA5B38 !important; margin:0 12px 0 0 !important; border-radius:2px !important; }
body.page-id-160 .cgtech-story__facts-title .elementor-widget-container{ order:1 !important; }
body.page-id-160 .cgtech-story__facts{ background:linear-gradient(to top right, #151839 0%, #202C66 55%, #33468C 100%) !important; }
body.page-id-160 .cgtech-story__facts::before{ background:radial-gradient(120% 120% at 100% 0%, rgba(79,142,232,0.40), rgba(0,0,0,0) 62%) !important; }
body.page-id-160 .cgtech-story__facts .cgtech-stat-grid{ background:#12152E !important; border-radius:16px !important; overflow:hidden !important; box-shadow:0 10px 30px rgba(0,0,0,0.32) !important; position:relative !important; z-index:2 !important; }
body.page-id-160 .cgtech-story__facts .cgtech-stat{ background:#12152E !important; border-color:rgba(255,255,255,0.13) !important; }

/* plus breathing room v22 */
body.page-id-160 .cgtech-story__facts .cgtech-stat__k .cgtech-plus, body.page-id-160 .cgtech-plus{ color:#EA5B38 !important; margin-left:7px !important; display:inline-block !important; }

/* === HERO STANDARDISATION v1 : every hero except Home matches the Solutions hero === */
.cgtech-section--sol-hero,
.cgtech-section--prod-hero,
.cgtech-section--platform-hero,
.cgtech-section--about-hero,
.cgtech-section--connect-hero,
.cgtech-section--tech-banner{
  background-image:linear-gradient(90deg, rgba(21,24,57,0.92) 0%, rgba(21,24,57,0.88) 48%, rgba(21,24,57,0.50) 74%, rgba(21,24,57,0.16) 100%), url(/wp-content/uploads/2026/06/home-digital-transformation.webp) !important;
  background-size:cover, cover !important;
  background-position:center center, center center !important;
  background-repeat:no-repeat, no-repeat !important;
  background-color:var(--cg-navy) !important;
  position:relative !important;
  overflow:hidden !important;
  min-height:660px !important;
  padding-top:140px !important;
  padding-bottom:80px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
}
.cgtech-section--sol-hero::before,.cgtech-section--sol-hero::after,
.cgtech-section--prod-hero::before,.cgtech-section--prod-hero::after,
.cgtech-section--platform-hero::before,.cgtech-section--platform-hero::after,
.cgtech-section--about-hero::before,.cgtech-section--about-hero::after,
.cgtech-section--connect-hero::before,.cgtech-section--connect-hero::after,
.cgtech-section--tech-banner::before,.cgtech-section--tech-banner::after,
.cgtech-section--tech-banner.cgtech-bg-picture::before,
.cgtech-hero-navy::before,.cgtech-hero-navy::after{
  background:none !important;
  display:none !important;
}
.cgtech-section--about-hero .cgtech-section__inner,
.cgtech-section--connect-hero .cgtech-section__inner{
  align-items:flex-start !important;
  text-align:left !important;
}
.cgtech-section--about-hero .cgtech-about-hero__title h1,
.cgtech-section--about-hero .cgtech-about-hero__title .elementor-heading-title,
.cgtech-section--about-hero .cgtech-about-hero__body p,
.cgtech-section--connect-hero .cgtech-connect-hero__title h1,
.cgtech-section--connect-hero .cgtech-connect-hero__title .elementor-heading-title,
.cgtech-section--connect-hero .cgtech-connect-hero__body p,
.cgtech-section--about-hero .cgtech-eyebrow,
.cgtech-section--connect-hero .cgtech-eyebrow{
  text-align:left !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
body.page-id-160 .cgtech-eyebrow{ display:block !important; gap:0 !important; }
body.page-id-160 .cgtech-eyebrow::before{ content:none !important; display:none !important; }
/* === END HERO STANDARDISATION v1 === */
/* === LOCATION HERO IMAGES v1 === */
/* === END LOCATION HERO IMAGES v1 === */

/* === LOCATION HERO TRIM v1 : hide the blue sub copy on location heroes === */
body.page-id-345 .cgtech-sol-hero__sub,
body.page-id-325 .cgtech-sol-hero__sub,
body.page-id-339 .cgtech-sol-hero__sub,
body.page-id-329 .cgtech-sol-hero__sub,
body.page-id-346 .cgtech-sol-hero__sub,
body.page-id-341 .cgtech-sol-hero__sub,
body.page-id-351 .cgtech-sol-hero__sub,
body.page-id-328 .cgtech-sol-hero__sub{ display:none !important; }
/* === END LOCATION HERO TRIM v1 === */


/* ============================================================
   HERO MOTION RE-ENABLED (2026-07-02)
   Slow crossfade + Ken Burns zoom + random-start rotator, and
   the JS typewriter cursor. Appended after the J2 static-hero
   overrides so these win. Reduced-motion is respected.
   ============================================================ */
.cgtech-hero__bg-layer { transition: opacity 3.2s ease-in-out !important; }
.cgtech-hero__bg-layer--zoom { animation: cgtech-kenburns 18s ease-out forwards !important; }

@media (prefers-reduced-motion: reduce) {
  .cgtech-hero__bg-layer { transition: none !important; }
  .cgtech-hero__bg-layer--zoom { animation: none !important; }
  .cgtech-typewriter__cursor { animation: none !important; }
}


/* ============================================================
   HERO CONTENT LIFTED SLIGHTLY (2026-07-02)
   Trim the top padding so the eyebrow, caption, H1, sub-line
   and buttons all sit a little higher.
   ============================================================ */
.cgtech-hero__inner { padding-top: 104px !important; }


/* ============================================================
   HERO TAGLINE DE-DUPLICATED (2026-07-02)
   The eyebrow already reads DIGITAL TRANSFORMATION, AUTOMATION & AI,
   so hide the caption line that repeated it. One clean tagline,
   matching the original mockup.
   ============================================================ */
.cgtech-hero__caption { display: none !important; }


/* ============================================================
   HERO: tighten spacing below body copy + partner logo strip (2026-07-02)
   ============================================================ */
.cgtech-hero__subline { margin-bottom: 20px !important; }
.cgtech-hero__cta { margin-bottom: 28px !important; }

.cgtech-hero__logos {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 24px 30px;
  margin: 0 0 26px;
  max-width: 760px;
}
.cgtech-hero__logo { display: inline-flex; align-items: center; gap: 10px; }
.cgtech-hero__logo img { height: 26px; width: auto; display: block; }
.cgtech-hero__logo span {
  color: #ffffff;
  font-family: var(--font-body);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.01em;
  white-space: nowrap;
}
@media (max-width: 600px) {
  .cgtech-hero__logos { gap: 16px 20px; }
  .cgtech-hero__logo img { height: 22px; }
  .cgtech-hero__logo span { font-size: 13px; }
}


/* ============================================================
   HOMEPAGE HERO INITIAL-LOAD CHOREOGRAPHY (2026-07-03)
   Cursor blinks, headline types, then the eyebrow, body copy,
   buttons and logo strip fade up. Scoped to the hero that has
   the typewriter (the homepage) via :has(). If :has() is not
   supported, nothing is hidden and everything simply shows.
   ============================================================ */
.cgtech-hero:has(.cgtech-typewriter) .cgtech-hero__eyebrow,
.cgtech-hero:has(.cgtech-typewriter) .cgtech-hero__subline,
.cgtech-hero:has(.cgtech-typewriter) .cgtech-hero__cta,
.cgtech-hero:has(.cgtech-typewriter) .cgtech-hero__trust,
.cgtech-hero:has(.cgtech-typewriter) .cgtech-hero__logos {
  transition: opacity .7s ease;
}
.cgtech-hero:has(.cgtech-typewriter) .cgtech-hero__eyebrow:not(.cg-hero-in),
.cgtech-hero:has(.cgtech-typewriter) .cgtech-hero__subline:not(.cg-hero-in),
.cgtech-hero:has(.cgtech-typewriter) .cgtech-hero__cta:not(.cg-hero-in),
.cgtech-hero:has(.cgtech-typewriter) .cgtech-hero__trust:not(.cg-hero-in),
.cgtech-hero:has(.cgtech-typewriter) .cgtech-hero__logos:not(.cg-hero-in) {
  opacity: 0 !important;
}
.cgtech-hero:has(.cgtech-typewriter) .cg-hero-in {
  opacity: 1 !important;
  transform: none !important;
}
@media (prefers-reduced-motion: reduce) {
  .cgtech-hero:has(.cgtech-typewriter) .cgtech-hero__eyebrow,
  .cgtech-hero:has(.cgtech-typewriter) .cgtech-hero__subline,
  .cgtech-hero:has(.cgtech-typewriter) .cgtech-hero__cta,
  .cgtech-hero:has(.cgtech-typewriter) .cgtech-hero__trust,
  .cgtech-hero:has(.cgtech-typewriter) .cgtech-hero__logos { transition: none; }
}


/* ============================================================
   HERO INTRO: keep the fade-ins in sync and a touch slower (2026-07-03)
   Force one identical transition on all five, no per-element delay
   or leftover animation, so they fade together.
   ============================================================ */
.cgtech-hero:has(.cgtech-typewriter) .cgtech-hero__eyebrow,
.cgtech-hero:has(.cgtech-typewriter) .cgtech-hero__subline,
.cgtech-hero:has(.cgtech-typewriter) .cgtech-hero__cta,
.cgtech-hero:has(.cgtech-typewriter) .cgtech-hero__trust,
.cgtech-hero:has(.cgtech-typewriter) .cgtech-hero__logos {
  transition: opacity 1s ease !important;
  transition-delay: 0s !important;
  animation: none !important;
}


/* Section lede paragraph, used on enriched product pages (2026-07-03) */
.cgtech-section__lede { font-family: var(--font-body); font-size: clamp(16px,1.35vw,18px); line-height:1.7; color: var(--ink-70, #3d4460); max-width:720px; margin:-8px 0 36px; }

/* Product card one-line descriptors on platform pages (2026-07-03) */
.cgtech-prod-card__desc { font-family: var(--font-body); font-size:14px; line-height:1.55; color: var(--ink-60, #565d7a); margin:6px 0 10px; }

/* Engagement step numerals on enriched product pages (2026-07-03) */
.cgtech-section--prod-steps .cgtech-prod-cap { border-left-color: var(--orange, #ff5c35); }
.cgtech-step-num { display:block; font-size:30px; font-weight:800; line-height:1; color: var(--orange, #ff5c35); margin-bottom:10px; letter-spacing:0.02em; }

/* ============================================================
   TECH TEMPLATES v1 - Control Room (product pages) + Estate Map (vendor pages)
   Fonts via tokens only. Dark shades derive from the --gradient-deep navy family.
   ============================================================ */
:root{ --tt-deep:#11142f; --tt-deep2:#171b3e; --tt-line:#272c55; --tt-tile:#1b2049; --tt-tileline:#2c3268; --tt-mute:#8b93c4; --tt-text:#dfe4f8; --tt-green:#2fbf8f; --tt-amber:#f2b23e; --tt-red:#e5544b; }

/* --- Split hero (both templates) --- */
.cgtech-thero{ background:radial-gradient(1100px 500px at 85% -10%, rgba(39,64,209,0.20), transparent), var(--gradient-deep); color:var(--white); padding:70px 0 66px; }
.cgtech-thero .cgtech-thero__grid, .cgtech-thero .cgtech-thero__grid > .e-con-inner{ display:grid !important; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center; width:100%; }
.cgtech-thero .cgtech-eyebrow, .cgtech-thero .cgtech-eyebrow p{ color:var(--cg-orange) !important; font-family:var(--font-body) !important; font-size:12.5px !important; letter-spacing:var(--tracking-caps) !important; text-transform:uppercase !important; font-weight:var(--weight-semibold) !important; margin:0 0 10px !important; }
.cgtech-thero__title, .cgtech-thero__title .elementor-heading-title{ font-family:var(--font-heading) !important; font-size:54px !important; font-weight:var(--weight-bold) !important; color:var(--white) !important; line-height:var(--leading-tight) !important; letter-spacing:var(--tracking-tight) !important; margin:0 0 14px !important; }
.cgtech-thero__sub, .cgtech-thero__sub p{ font-family:var(--font-display) !important; font-size:19px !important; font-weight:var(--weight-medium) !important; color:#9fb4ff !important; margin:0 0 14px !important; }
.cgtech-thero__intro, .cgtech-thero__intro p{ font-family:var(--font-body) !important; font-size:15.5px !important; line-height:var(--leading-relaxed) !important; color:#cdd4ec !important; margin:0 0 26px !important; max-width:560px; }
.cgtech-thero__cta{ display:flex; gap:14px; flex-wrap:wrap; }
.cgtech-thero__cta .cgtech-btn-primary .elementor-button{ background:var(--cg-orange) !important; color:var(--white) !important; font-family:var(--font-body) !important; font-weight:var(--weight-semibold) !important; font-size:15px !important; padding:13px 24px !important; border-radius:var(--radius-sm) !important; border:none !important; }
.cgtech-thero__cta .cgtech-btn-primary .elementor-button:hover{ background:var(--orange-700) !important; }
.cgtech-thero__cta .cgtech-btn-ghost .elementor-button{ background:transparent !important; border:1px solid rgba(255,255,255,0.35) !important; color:var(--white) !important; font-family:var(--font-body) !important; font-weight:var(--weight-semibold) !important; font-size:15px !important; padding:12px 22px !important; border-radius:var(--radius-sm) !important; }
.cgtech-thero__cta .cgtech-btn-ghost .elementor-button:hover{ border-color:var(--white) !important; background:rgba(255,255,255,0.06) !important; }

/* --- Console motif (product pages) --- */
.cgtech-console{ background:var(--tt-deep); border:1px solid var(--tt-line); border-radius:14px; box-shadow:0 30px 60px rgba(0,0,0,0.35); overflow:hidden; }
.cgtech-console__bar{ display:flex; align-items:center; gap:8px; padding:12px 16px; border-bottom:1px solid var(--tt-line); background:var(--tt-deep2); }
.cgtech-console__bar i{ width:10px; height:10px; border-radius:50%; background:#3a4270; display:inline-block; }
.cgtech-console__bar span{ font-family:var(--font-mono); font-weight:var(--weight-semibold); font-size:11px; color:var(--tt-mute); letter-spacing:var(--tracking-caps); margin-left:8px; }
.cgtech-console table{ width:100%; border-collapse:collapse; font-family:var(--font-mono); font-size:12px; line-height:1.4; margin:0; }
.cgtech-console th{ color:#6f7bb0; text-align:left; font-weight:var(--weight-semibold); padding:11px 14px; border-bottom:1px solid #242b52; letter-spacing:0.06em; }
.cgtech-console td{ color:var(--tt-text); padding:11px 14px; border-bottom:1px solid #1d2344; }
.cgtech-chip{ font-family:var(--font-mono); font-weight:var(--weight-semibold); font-size:10.5px; padding:3px 9px; border-radius:var(--radius-pill); white-space:nowrap; }
.cgtech-chip--g{ background:#12332b; color:#5fe0b0; } .cgtech-chip--a{ background:#3a2f14; color:#f2c46a; } .cgtech-chip--r{ background:#3c1e1c; color:#ff8d84; }
.cgtech-console__foot{ padding:11px 16px; font-family:var(--font-mono); font-size:11px; color:#6f7bb0; display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.cgtech-console__foot b{ color:var(--tt-green); font-weight:var(--weight-semibold); }

/* --- Estate map motif (vendor pages) --- */
.cgtech-emap{ background:var(--tt-deep); border:1px solid var(--tt-line); border-radius:14px; box-shadow:0 30px 60px rgba(0,0,0,0.35); padding:18px; }
.cgtech-emap__bar{ display:flex; align-items:center; gap:8px; padding:0 2px 14px; }
.cgtech-emap__bar i{ width:10px; height:10px; border-radius:50%; background:#3a4270; display:inline-block; }
.cgtech-emap__bar span{ font-family:var(--font-mono); font-weight:var(--weight-semibold); font-size:11px; color:var(--tt-mute); letter-spacing:var(--tracking-caps); margin-left:8px; }
.cgtech-emap__grp{ margin-bottom:10px; border:1px solid #242b52; border-radius:10px; padding:10px 12px; background:#161b3a; }
.cgtech-emap__grp h5{ font-family:var(--font-mono); font-weight:var(--weight-semibold); font-size:10px; letter-spacing:0.12em; color:#6f7bb0; margin:0 0 8px; }
.cgtech-emap__tiles{ display:flex; gap:8px; flex-wrap:wrap; }
.cgtech-emap__tile{ font-family:var(--font-mono); font-weight:var(--weight-semibold); font-size:11.5px; color:var(--tt-text); background:var(--tt-tile); border:1px solid var(--tt-tileline); padding:6px 11px; border-radius:6px; }
.cgtech-emap__tile--hot{ border-color:var(--cg-orange); color:#ffb39f; }
.cgtech-emap__foot{ font-family:var(--font-mono); font-size:10.5px; color:#6f7bb0; padding:8px 2px 0; display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.cgtech-emap__foot b{ color:var(--tt-green); font-weight:var(--weight-semibold); }

/* --- Fact band (light stat strip; icons via existing cgtech-stat--<name>) --- */
.cgtech-factband{ background:var(--blue-50); padding:34px 0; }
.cgtech-factband .cgtech-factband__grid, .cgtech-factband .cgtech-factband__grid > .e-con-inner{ display:grid !important; grid-template-columns:repeat(3,1fr); gap:32px; width:100%; }
.cgtech-factband .cgtech-stat{ text-align:left; }
.cgtech-factband .cgtech-stat__v{ display:flex; align-items:center; gap:14px; }
.cgtech-factband .cgtech-stat__n{ font-family:var(--font-display); font-size:42px; font-weight:var(--weight-bold); color:var(--cg-navy); line-height:1; }
.cgtech-factband .cgtech-stat__n em{ color:var(--cg-orange); font-style:normal; }
.cgtech-factband .cgtech-stat p{ font-family:var(--font-body); font-size:13.5px; color:var(--text-muted); margin:8px 0 0; line-height:var(--leading-normal); }

/* --- Before / after --- */
.cgtech-ba{ display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:34px; }
.cgtech-ba__col{ border-radius:var(--radius-md); padding:26px; }
.cgtech-ba__col--before{ background:var(--white); border:1px solid var(--rule); }
.cgtech-ba__col--after{ background:var(--cg-navy); color:var(--white); }
.cgtech-ba h3{ font-family:var(--font-heading); font-size:14px; letter-spacing:0.11em; text-transform:uppercase; margin:0 0 16px; }
.cgtech-ba__col--before h3{ color:var(--text-muted); } .cgtech-ba__col--after h3{ color:var(--cg-orange); }
.cgtech-ba ul{ list-style:none; margin:0; padding:0; }
.cgtech-ba li{ font-family:var(--font-body); font-size:14.5px; line-height:1.55; padding-left:26px; position:relative; margin-bottom:12px; }
.cgtech-ba__col--before li{ color:var(--text-muted); }
.cgtech-ba__col--before li::before{ content:"\2715"; position:absolute; left:0; color:var(--tt-red); font-weight:var(--weight-bold); }
.cgtech-ba__col--after li{ color:#e6eafc; }
.cgtech-ba__col--after li::before{ content:"\2713"; position:absolute; left:0; color:var(--tt-green); font-weight:var(--weight-bold); }

/* --- Capability tabs --- */
.cgtech-captabs{ margin-top:32px; }
.cgtech-captabs__btns{ display:flex; gap:6px; border-bottom:2px solid var(--rule); flex-wrap:wrap; }
.cgtech-captabs__btns button{ font-family:var(--font-body); font-weight:var(--weight-semibold); font-size:14.5px; color:var(--text-muted); background:none; border:none; padding:13px 18px; cursor:pointer; border-bottom:3px solid transparent; margin-bottom:-2px; }
.cgtech-captabs__btns button.on{ color:var(--cg-navy); border-color:var(--cg-orange); }
.cgtech-captabs__panel{ display:none; padding:28px 0 6px; max-width:760px; }
.cgtech-captabs__panel.on{ display:block; }
.cgtech-captabs__panel h3{ font-family:var(--font-heading); font-weight:var(--weight-bold); font-size:20px; margin:0 0 10px; color:var(--cg-navy); }
.cgtech-captabs__panel p{ font-family:var(--font-body); font-size:15px; line-height:var(--leading-relaxed); color:var(--text-muted); margin:0; }
.cgtech-captabs__get{ margin-top:14px; display:inline-block; background:var(--orange-50); border:1px solid var(--orange-100); color:var(--text-body); font-family:var(--font-body); font-size:13.5px; font-weight:var(--weight-semibold); padding:9px 14px; border-radius:var(--radius-sm); }
.cgtech-captabs__get::before{ content:"You walk away with: "; color:var(--cg-orange); }

/* --- Numbered engagement steps (icon-free) --- */
.cgtech-steps4{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:34px; }
.cgtech-steps4__step{ background:var(--white); border:1px solid var(--rule); border-radius:var(--radius-md); padding:22px; }
.cgtech-steps4__n{ font-family:var(--font-display); font-size:30px; font-weight:var(--weight-bold); color:var(--cg-orange); margin-bottom:8px; line-height:1; }
.cgtech-steps4__step b{ font-family:var(--font-heading); font-weight:var(--weight-bold); font-size:16px; display:block; margin-bottom:8px; color:var(--cg-navy); }
.cgtech-steps4__step p{ font-family:var(--font-body); font-size:13.5px; line-height:1.6; color:var(--text-muted); margin:0; }

/* --- Why cards (icons via existing cgtech-stat--<name> hooks) --- */
.cgtech-why4{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:34px; }
.cgtech-why4__card{ background:var(--white); border:1px solid var(--rule); border-top:3px solid var(--cg-orange); border-radius:var(--radius-md); padding:22px; }
.cgtech-why4__card .cgtech-stat__v{ display:flex; align-items:center; gap:12px; margin-bottom:10px; }
.cgtech-why4__card b{ font-family:var(--font-heading); font-weight:var(--weight-bold); font-size:16px; color:var(--cg-navy); }
.cgtech-why4__card p{ font-family:var(--font-body); font-size:13.5px; line-height:1.62; color:var(--text-muted); margin:0; }

/* --- Honest strip (vendor pages) --- */
.cgtech-honest{ background:var(--cg-navy); color:var(--white); border-radius:14px; padding:40px 44px; margin-top:44px; display:grid; grid-template-columns:1fr 1fr; gap:40px; }
.cgtech-honest h3{ font-family:var(--font-heading); font-size:22px; font-weight:var(--weight-bold); margin:0 0 12px; color:var(--white); }
.cgtech-honest h3 span{ color:var(--cg-orange); }
.cgtech-honest p{ font-family:var(--font-body); font-size:14.5px; line-height:var(--leading-relaxed); color:#cdd4ec; margin:0; }

/* --- Catalogue group headers (cards reuse cgtech-prod-card) --- */
.cgtech-cgroup{ margin-top:44px; width:100%; }
.cgtech-cgroup__head{ display:flex; align-items:baseline; gap:16px; border-bottom:2px solid var(--cg-navy); padding-bottom:10px; margin-bottom:18px; }
.cgtech-cgroup__head b{ font-family:var(--font-heading); font-weight:var(--weight-bold); font-size:19px; color:var(--cg-navy); }
.cgtech-cgroup__head span{ font-family:var(--font-body); font-size:13px; color:var(--text-muted); }

/* --- Navy CTA band variant (replaces photo CTA on tech pages) --- */
.cgtech-finalcta--navy{ background:var(--gradient-deep) !important; }
.cgtech-finalcta--navy::before{ background:none !important; }
.cgtech-band-navy{ background:var(--gradient-deep); color:var(--white); padding:58px 0; text-align:center; }
.cgtech-band-navy h2, .cgtech-band-navy .elementor-heading-title{ font-family:var(--font-heading) !important; font-size:30px !important; font-weight:var(--weight-bold) !important; color:var(--white) !important; margin:0 0 10px !important; }
.cgtech-band-navy .cgtech-band-navy__body p{ font-family:var(--font-body); color:#9fb4ff; margin:0 0 24px; font-size:15px; }
.cgtech-band-navy .elementor-button{ background:var(--cg-orange) !important; color:var(--white) !important; font-family:var(--font-body) !important; font-weight:var(--weight-semibold) !important; padding:14px 28px !important; border-radius:var(--radius-sm) !important; border:none !important; }
.cgtech-band-navy .elementor-button:hover{ background:var(--orange-700) !important; }

/* --- Responsive --- */
@media(max-width:960px){
  .cgtech-thero .cgtech-thero__grid, .cgtech-thero .cgtech-thero__grid > .e-con-inner{ grid-template-columns:1fr; gap:34px; }
  .cgtech-thero__title, .cgtech-thero__title .elementor-heading-title{ font-size:40px !important; }
  .cgtech-factband .cgtech-factband__grid, .cgtech-factband .cgtech-factband__grid > .e-con-inner{ grid-template-columns:1fr; gap:18px; }
  .cgtech-ba, .cgtech-steps4, .cgtech-why4, .cgtech-honest{ grid-template-columns:1fr; }
  .cgtech-honest{ padding:30px 26px; }
  .cgtech-console{ overflow-x:auto; }
}
/* --- Tech template FAQ (details/summary inside HTML widget) --- */
.cgtech-faq2 details{ border:1px solid var(--rule); border-radius:9px; margin-bottom:10px; background:var(--white); }
.cgtech-faq2 summary{ cursor:pointer; padding:16px 18px; font-family:var(--font-body); font-weight:var(--weight-semibold); font-size:15px; color:var(--cg-navy); list-style:none; display:flex; justify-content:space-between; gap:14px; }
.cgtech-faq2 summary::-webkit-details-marker{ display:none; }
.cgtech-faq2 summary::after{ content:"+"; color:var(--cg-orange); font-family:var(--font-heading); font-weight:var(--weight-bold); font-size:20px; line-height:1; }
.cgtech-faq2 details[open] summary::after{ content:"\2013"; }
.cgtech-faq2 details p{ padding:0 18px 16px; font-family:var(--font-body); font-size:14.5px; line-height:1.65; color:var(--text-muted); margin:0; }
/* --- TECH TEMPLATES v1.1 fixes: section rhythm, CTA row, console contrast --- */
.cgtech-thero{ padding-top:70px !important; padding-bottom:66px !important; }
.cgtech-factband{ padding-top:34px !important; padding-bottom:34px !important; }
.cgtech-tsec{ padding-top:72px !important; padding-bottom:72px !important; }
.cgtech-band-navy{ padding-top:58px !important; padding-bottom:58px !important; }

.cgtech-thero__cta{ display:flex !important; flex-direction:row !important; flex-wrap:wrap; gap:14px !important; align-items:center; padding:0 !important; }
.cgtech-thero__cta > .elementor-element{ width:auto !important; }

.cgtech-console{ background:#0d1027; border-color:#2c3468; }
.cgtech-console__bar{ background:#12163a; border-bottom-color:#2c3468; }

.cgtech-factband .cgtech-stat{ text-align:center; }
.cgtech-factband .cgtech-stat__v{ justify-content:center; }
.cgtech-factband .cgtech-stat p{ max-width:300px; margin-left:auto; margin-right:auto; }

.cgtech-band-navy{ text-align:center; }
.cgtech-band-navy .cgtech-section__inner > .elementor-element{ width:100% !important; }
.cgtech-band-navy .elementor-widget-button .elementor-button-wrapper{ text-align:center; }
.cgtech-band-navy .elementor-heading-title{ text-align:center !important; }
.cgtech-band-navy .cgtech-band-navy__body p{ text-align:center; }

.cgtech-tsec .cgtech-section__headline, .cgtech-tsec .cgtech-section__headline .elementor-heading-title{ max-width:760px; }
.cgtech-tsec .cgtech-section__lede{ max-width:680px; }
/* --- Tech template centred section header (FAQ sections) --- */
.cgtech-tsec--center .cgtech-eyebrow, .cgtech-tsec--center .cgtech-eyebrow p{ text-align:center !important; }
.cgtech-tsec--center .cgtech-section__headline, .cgtech-tsec--center .cgtech-section__headline .elementor-heading-title{ text-align:center !important; max-width:none; }

/* --- TECH TEMPLATES v1.2 fixes: full-width prod grid + mockup vertical rhythm --- */
/* Product cards: my grid containers are full-width (no .e-con-inner), so the boxed-container
   flex rule never fires. Make the grid itself flex row, 3 across per the mockup, scoped to tsec. */
.cgtech-tsec .cgtech-prod-grid{ display:flex !important; flex-direction:row !important; flex-wrap:wrap !important; gap:16px !important; align-items:stretch !important; }
.cgtech-tsec .cgtech-prod-grid > .cgtech-prod-card{ width:calc((100% - 32px)/3) !important; min-width:240px; }
@media (max-width:960px){ .cgtech-tsec .cgtech-prod-grid > .cgtech-prod-card{ width:calc((100% - 16px)/2) !important; } }
@media (max-width:560px){ .cgtech-tsec .cgtech-prod-grid > .cgtech-prod-card{ width:100% !important; } }

/* Vertical rhythm to mockup values: kill Elementor's 20px widget gap inside these templates
   and set explicit margins (eyebrow 14, heading 14, content blocks carry their own top margins). */
.cgtech-thero__copy{ row-gap:0 !important; }
.cgtech-tsec .cgtech-section__inner{ row-gap:0 !important; }
.cgtech-tsec .cgtech-eyebrow{ margin:0 0 14px !important; }
.cgtech-tsec .cgtech-eyebrow p{ margin:0 !important; }
.cgtech-tsec .cgtech-section__headline{ margin:0 0 14px !important; }
.cgtech-tsec .cgtech-section__headline .elementor-heading-title{ margin:0 !important; }
.cgtech-tsec .cgtech-section__lede{ margin:0 !important; }
.cgtech-tsec .cgtech-section__lede p{ margin:0 !important; }
.cgtech-cgroup{ margin-top:44px !important; }
.cgtech-band-navy .cgtech-section__inner{ row-gap:0 !important; }
/* --- TECH TEMPLATES v1.3 fixes: estate map contrast, console chip collision, band button centring --- */
.cgtech-emap{ background:#0d1027; border-color:#2c3468; }

/* The site already has a generic .cgtech-chip component (blue). Scope the console status chips
   so they keep the mockup's green/amber/red treatment. */
.cgtech-console .cgtech-chip{ font-family:var(--font-mono) !important; font-weight:var(--weight-semibold) !important; font-size:10.5px !important; padding:3px 9px !important; border-radius:var(--radius-pill) !important; border:none !important; letter-spacing:0 !important; text-transform:none !important; }
.cgtech-console .cgtech-chip--g{ background:#12332b !important; color:#5fe0b0 !important; }
.cgtech-console .cgtech-chip--a{ background:#3a2f14 !important; color:#f2c46a !important; }
.cgtech-console .cgtech-chip--r{ background:#3c1e1c !important; color:#ff8d84 !important; }

.cgtech-band-navy .elementor-widget-button{ text-align:center !important; }
.cgtech-band-navy .elementor-widget-button .elementor-button-wrapper{ text-align:center !important; }
/* ============================================================
   TECH TEMPLATES v2 - NATIVE ELEMENTOR COMPONENTS (Option C band + why grid,
   native console, estate map, steps, before/after, tabs, accordion FAQ)
   ============================================================ */
/* Fact band C: white strip, navy keylines, mono labels */
.cgtech-factband2{ background:var(--white) !important; border-top:1px solid var(--cg-navy); border-bottom:1px solid var(--cg-navy); padding-top:30px !important; padding-bottom:30px !important; }
.cgtech-factband2 .cgtech-factband2__grid, .cgtech-factband2 .cgtech-factband2__grid > .e-con-inner{ display:grid !important; grid-template-columns:repeat(3,1fr); gap:24px; width:100%; }
.cgtech-fact{ row-gap:0 !important; padding:0 !important; }
.cgtech-fact__label p{ font-family:var(--font-mono) !important; font-size:11px !important; letter-spacing:0.12em !important; text-transform:uppercase !important; color:var(--cg-orange) !important; font-weight:var(--weight-semibold) !important; margin:0 !important; }
.cgtech-fact__n .elementor-heading-title{ font-family:var(--font-display) !important; font-size:42px !important; font-weight:var(--weight-bold) !important; color:var(--cg-navy) !important; line-height:1.15 !important; margin:0 !important; }
.cgtech-fact__cap p{ font-family:var(--font-body) !important; font-size:13.5px !important; color:var(--text-muted) !important; line-height:1.5 !important; margin:0 !important; }

/* Why grid C: borderless items, navy keyline, inline orange icon */
.cgtech-whygrid{ margin-top:34px !important; }
.cgtech-whygrid, .cgtech-whygrid > .e-con-inner{ display:grid !important; grid-template-columns:repeat(4,1fr); gap:26px 30px; width:100%; }
.cgtech-whyitem{ border-top:2px solid var(--cg-navy) !important; border-radius:0 !important; padding:14px 0 0 !important; row-gap:0 !important; }
.cgtech-whyitem__t .elementor-heading-title{ font-family:var(--font-heading) !important; font-size:15.5px !important; font-weight:var(--weight-bold) !important; color:var(--cg-navy) !important; margin:0 0 8px !important; display:flex; align-items:center; gap:9px; }
.cgtech-whyitem__t .elementor-heading-title::before{ content:""; width:18px; height:18px; flex:0 0 18px; background-size:contain; background-repeat:no-repeat; background-position:center; }
.cgtech-whyitem__p p{ font-family:var(--font-body) !important; font-size:13px !important; color:var(--text-muted) !important; line-height:1.6 !important; margin:0 !important; }

/* Steps (native containers) */
.cgtech-stepsgrid{ margin-top:34px !important; }
.cgtech-stepsgrid, .cgtech-stepsgrid > .e-con-inner{ display:grid !important; grid-template-columns:repeat(4,1fr); gap:18px; width:100%; }
.cgtech-stepcard{ background:var(--white) !important; border:1px solid var(--rule) !important; border-radius:var(--radius-md) !important; padding:22px !important; row-gap:0 !important; }
.cgtech-stepcard__n p{ font-family:var(--font-display) !important; font-size:30px !important; font-weight:var(--weight-bold) !important; color:var(--cg-blue) !important; line-height:1 !important; margin:0 0 8px !important; }
.cgtech-stepcard__t .elementor-heading-title{ font-family:var(--font-heading) !important; font-size:16px !important; font-weight:var(--weight-bold) !important; color:var(--cg-navy) !important; margin:0 0 8px !important; }
.cgtech-stepcard__p p{ font-family:var(--font-body) !important; font-size:13.5px !important; line-height:1.6 !important; color:var(--text-muted) !important; margin:0 !important; }

/* Before / after (native containers + text-editor lists) */
.cgtech-bagrid{ margin-top:34px !important; }
.cgtech-bagrid, .cgtech-bagrid > .e-con-inner{ display:grid !important; grid-template-columns:1fr 1fr; gap:22px; width:100%; }
.cgtech-bacol{ border-radius:var(--radius-md) !important; padding:26px !important; row-gap:0 !important; }
.cgtech-bacol--before{ background:var(--white) !important; border:1px solid var(--rule) !important; }
.cgtech-bacol--after{ background:var(--cg-navy) !important; }
.cgtech-bacol__t .elementor-heading-title{ font-family:var(--font-heading) !important; font-size:14px !important; letter-spacing:0.11em !important; text-transform:uppercase !important; margin:0 0 16px !important; font-weight:var(--weight-bold) !important; }
.cgtech-bacol--before .cgtech-bacol__t .elementor-heading-title{ color:var(--text-muted) !important; }
.cgtech-bacol--after .cgtech-bacol__t .elementor-heading-title{ color:var(--cg-orange) !important; }
.cgtech-bacol__list ul{ list-style:none !important; margin:0 !important; padding:0 !important; }
.cgtech-bacol__list li{ font-family:var(--font-body); font-size:14.5px; line-height:1.55; padding-left:26px; position:relative; margin-bottom:12px; list-style:none; }
.cgtech-bacol--before .cgtech-bacol__list li{ color:var(--text-muted); }
.cgtech-bacol--before .cgtech-bacol__list li::before{ content:"\2715"; position:absolute; left:0; color:#e5544b; font-weight:var(--weight-bold); }
.cgtech-bacol--after .cgtech-bacol__list li{ color:#e6eafc; }
.cgtech-bacol--after .cgtech-bacol__list li::before{ content:"\2713"; position:absolute; left:0; color:#2fbf8f; font-weight:var(--weight-bold); }

/* Elementor Tabs widget skin (capability tabs) */
.cgtech-captabs2{ margin-top:32px !important; }
.cgtech-captabs2 .elementor-tabs-wrapper{ display:flex; gap:6px; border-bottom:2px solid var(--rule); flex-wrap:wrap; }
.cgtech-captabs2 .elementor-tab-title{ font-family:var(--font-body); font-weight:var(--weight-semibold); font-size:14.5px; color:var(--text-muted); padding:13px 18px; border:none; border-bottom:3px solid transparent; margin-bottom:-2px; background:none; cursor:pointer; }
.cgtech-captabs2 .elementor-tab-title.elementor-active{ color:var(--cg-navy); border-bottom:3px solid var(--cg-blue); }
.cgtech-captabs2 .elementor-tab-content{ border:none !important; padding:28px 0 6px !important; max-width:760px; font-family:var(--font-body); font-size:15px; line-height:var(--leading-relaxed); color:var(--text-muted); }
.cgtech-captabs2 .elementor-tab-content h3{ font-family:var(--font-heading); font-weight:var(--weight-bold); font-size:20px; margin:0 0 10px; color:var(--cg-navy); }
.cgtech-captabs2 .elementor-tab-content p{ margin:0 0 10px; }
.cgtech-captabs2 .elementor-tab-mobile-title{ font-family:var(--font-body); font-weight:var(--weight-semibold); color:var(--cg-navy); }
.cgtech-getpill{ margin-top:6px; display:inline-block; background:var(--orange-50); border:1px solid var(--orange-100); color:var(--text-body); font-family:var(--font-body); font-size:13.5px; font-weight:var(--weight-semibold); padding:9px 14px; border-radius:var(--radius-sm); }
.cgtech-getpill::before{ content:"You walk away with: "; color:var(--cg-orange); }

/* Elementor Accordion widget skin (FAQ) */
.cgtech-faqacc{ max-width:820px !important; margin:30px auto 0 !important; width:100%; }
.cgtech-faqacc .elementor-accordion-item{ border:1px solid var(--rule) !important; border-radius:9px !important; margin-bottom:10px; background:var(--white); overflow:hidden; }
.cgtech-faqacc .elementor-tab-title{ padding:16px 18px !important; font-family:var(--font-body) !important; font-weight:var(--weight-semibold) !important; font-size:15px !important; color:var(--cg-navy) !important; }
.cgtech-faqacc .elementor-tab-title a{ color:var(--cg-navy) !important; }
.cgtech-faqacc .elementor-accordion-icon{ color:var(--cg-orange) !important; }
.cgtech-faqacc .elementor-tab-content{ border-top:none !important; padding:0 18px 16px !important; font-family:var(--font-body); font-size:14.5px !important; line-height:1.65 !important; color:var(--text-muted) !important; }

/* Console (native containers) */
.cgtech-console2{ background:#0d1027 !important; border:1px solid #2c3468 !important; border-radius:14px !important; box-shadow:0 30px 60px rgba(0,0,0,0.35); overflow:hidden; padding:0 !important; row-gap:0 !important; }
.cgtech-console2__bar{ background:#12163a !important; border-bottom:1px solid #2c3468 !important; padding:12px 16px !important; }
.cgtech-console2__bar p{ font-family:var(--font-mono) !important; font-weight:var(--weight-semibold) !important; font-size:11px !important; color:#8b93c4 !important; letter-spacing:var(--tracking-caps) !important; margin:0 !important; display:flex; align-items:center; }
.cgtech-console2__bar p::before{ content:""; width:10px; height:10px; border-radius:50%; background:#3a4270; box-shadow:16px 0 0 #3a4270, 32px 0 0 #3a4270; display:inline-block; margin-right:44px; flex:0 0 10px; }
.cgtech-console2__row{ padding:0 !important; row-gap:0 !important; border-bottom:1px solid #1d2344 !important; }
.cgtech-console2__row, .cgtech-console2__row > .e-con-inner{ display:grid !important; grid-template-columns:1.25fr 1fr 1.25fr 1.05fr; gap:0; width:100%; }
.cgtech-console2__c p{ font-family:var(--font-mono) !important; font-size:12px !important; line-height:1.4 !important; color:#dfe4f8 !important; padding:11px 14px !important; margin:0 !important; }
.cgtech-console2__row--head .cgtech-console2__c p{ color:#6f7bb0 !important; font-weight:var(--weight-semibold) !important; letter-spacing:0.06em; }
.cgtech-chip2 p{ margin:8px 14px !important; padding:3px 9px !important; display:inline-block; font-family:var(--font-mono) !important; font-weight:var(--weight-semibold) !important; font-size:10.5px !important; border-radius:var(--radius-pill); line-height:1.4 !important; }
.cgtech-chip2--g p{ background:#12332b !important; color:#5fe0b0 !important; }
.cgtech-chip2--a p{ background:#3a2f14 !important; color:#f2c46a !important; }
.cgtech-chip2--r p{ background:#3c1e1c !important; color:#ff8d84 !important; }
.cgtech-console2__foot{ padding:0 !important; }
.cgtech-console2__foot, .cgtech-console2__foot > .e-con-inner{ display:flex !important; flex-direction:row !important; justify-content:space-between !important; width:100%; }
.cgtech-console2__foot .cgtech-console2__c p{ color:#6f7bb0 !important; font-size:11px !important; }
.cgtech-console2__foot .cgtech-console2__c b{ color:#2fbf8f; font-weight:var(--weight-semibold); }
.cgtech-console2__foot > .elementor-element{ width:auto !important; }

/* Estate map (native containers) */
.cgtech-emap3{ background:#0d1027 !important; border:1px solid #2c3468 !important; border-radius:14px !important; padding:18px !important; row-gap:0 !important; box-shadow:0 30px 60px rgba(0,0,0,0.35); }
.cgtech-emap3__bar p{ font-family:var(--font-mono) !important; font-weight:var(--weight-semibold) !important; font-size:11px !important; color:#8b93c4 !important; letter-spacing:var(--tracking-caps) !important; margin:0 0 14px !important; display:flex; align-items:center; }
.cgtech-emap3__bar p::before{ content:""; width:10px; height:10px; border-radius:50%; background:#3a4270; box-shadow:16px 0 0 #3a4270, 32px 0 0 #3a4270; display:inline-block; margin-right:44px; flex:0 0 10px; }
.cgtech-emap3__grp{ border:1px solid #242b52 !important; border-radius:10px !important; padding:10px 12px !important; background:#161b3a !important; margin-bottom:10px !important; row-gap:0 !important; }
.cgtech-emap3__label .elementor-heading-title{ font-family:var(--font-mono) !important; font-weight:var(--weight-semibold) !important; font-size:10px !important; letter-spacing:0.12em !important; color:#6f7bb0 !important; margin:0 0 8px !important; }
.cgtech-emap3__tiles{ padding:0 !important; }
.cgtech-emap3__tiles, .cgtech-emap3__tiles > .e-con-inner{ display:flex !important; flex-direction:row !important; flex-wrap:wrap !important; gap:8px !important; }
.cgtech-emap3__tiles > .elementor-element, .cgtech-emap3__tiles > .e-con-inner > .elementor-element{ width:auto !important; }
.cgtech-emap3__tile p{ font-family:var(--font-mono) !important; font-weight:var(--weight-semibold) !important; font-size:11.5px !important; color:#dfe4f8 !important; background:#1b2049; border:1px solid #2c3268; padding:6px 11px !important; border-radius:6px; margin:0 !important; }
.cgtech-emap3__tile--hot p{ border-color:var(--cg-orange) !important; color:#ffb39f !important; }
.cgtech-emap3__foot{ padding:8px 2px 0 !important; }
.cgtech-emap3__foot, .cgtech-emap3__foot > .e-con-inner{ display:flex !important; flex-direction:row !important; justify-content:space-between !important; width:100%; }
.cgtech-emap3__foot > .elementor-element{ width:auto !important; }
.cgtech-emap3__foot p{ font-family:var(--font-mono) !important; font-size:10.5px !important; color:#6f7bb0 !important; margin:0 !important; }
.cgtech-emap3__foot p b{ color:#2fbf8f; }

/* Honest strip (native) */
.cgtech-honest2{ background:var(--cg-navy) !important; border-radius:14px !important; padding:40px 44px !important; margin-top:44px !important; }
.cgtech-honest2, .cgtech-honest2 > .e-con-inner{ display:grid !important; grid-template-columns:1fr 1fr; gap:40px; width:100%; }
.cgtech-honest2 .cgtech-honest2__col{ row-gap:0 !important; padding:0 !important; }
.cgtech-honest2 .elementor-heading-title{ font-family:var(--font-heading) !important; font-size:22px !important; font-weight:var(--weight-bold) !important; color:var(--white) !important; margin:0 0 12px !important; }
.cgtech-honest2 .elementor-heading-title span{ color:var(--cg-orange); }
.cgtech-honest2 p{ font-family:var(--font-body) !important; font-size:14.5px !important; line-height:var(--leading-relaxed) !important; color:#cdd4ec !important; margin:0 !important; }

/* Responsive for native grids */
@media(max-width:960px){
  .cgtech-factband2 .cgtech-factband2__grid, .cgtech-factband2 .cgtech-factband2__grid > .e-con-inner{ grid-template-columns:1fr; gap:18px; }
  .cgtech-whygrid, .cgtech-whygrid > .e-con-inner{ grid-template-columns:1fr 1fr; }
  .cgtech-stepsgrid, .cgtech-stepsgrid > .e-con-inner{ grid-template-columns:1fr 1fr; }
  .cgtech-bagrid, .cgtech-bagrid > .e-con-inner, .cgtech-honest2, .cgtech-honest2 > .e-con-inner{ grid-template-columns:1fr; }
  .cgtech-honest2{ padding:30px 26px !important; }
}
@media(max-width:560px){
  .cgtech-whygrid, .cgtech-whygrid > .e-con-inner{ grid-template-columns:1fr; }
  .cgtech-stepsgrid, .cgtech-stepsgrid > .e-con-inner{ grid-template-columns:1fr; }
}
.cgtech-whyitem--shield .elementor-heading-title::before{ background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231129B9" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3l7 3v5c0 4.5-3 7.6-7 9-4-1.4-7-4.5-7-9V6z"/><path d="M9 12l2 2 4-4"/></svg>'); }
.cgtech-whyitem--bolt .elementor-heading-title::before{ background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231129B9" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"/></svg>'); }
.cgtech-whyitem--people .elementor-heading-title::before{ background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231129B9" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="9" cy="8" r="3"/><path d="M3.5 20c0-3 2.5-5 5.5-5s5.5 2 5.5 5"/><path d="M16 5.5a3 3 0 0 1 0 5.8"/><path d="M19.5 20c0-2-1-3.6-3-4.4"/></svg>'); }
.cgtech-whyitem--check .elementor-heading-title::before{ background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231129B9" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><path d="M8 12l3 3 5-6"/></svg>'); }

/* Native catalogue group header */
.cgtech-cgroup__head2{ padding:0 0 10px !important; border-bottom:2px solid var(--cg-navy) !important; margin-bottom:18px !important; row-gap:0 !important; border-radius:0 !important; }
.cgtech-cgroup__head2, .cgtech-cgroup__head2 > .e-con-inner{ display:flex !important; flex-direction:row !important; align-items:baseline !important; gap:16px !important; width:100%; }
.cgtech-cgroup__head2 > .elementor-element, .cgtech-cgroup__head2 > .e-con-inner > .elementor-element{ width:auto !important; }
.cgtech-cgroup__head2 .elementor-heading-title{ font-family:var(--font-heading) !important; font-weight:var(--weight-bold) !important; font-size:19px !important; color:var(--cg-navy) !important; margin:0 !important; }
.cgtech-cgroup__head2 p{ font-family:var(--font-body) !important; font-size:13px !important; color:var(--text-muted) !important; margin:0 !important; }
/* Elementor tabs widget: beat the widget's own border styles */
.elementor-widget-tabs.cgtech-captabs2 .elementor-tab-title{ border:none !important; border-bottom:3px solid transparent !important; background:none !important; }
.elementor-widget-tabs.cgtech-captabs2 .elementor-tab-title.elementor-active{ color:var(--cg-navy) !important; border-bottom:3px solid var(--cg-blue) !important; }
.elementor-widget-tabs.cgtech-captabs2 .elementor-tab-title:not(.elementor-active){ color:var(--text-muted) !important; }
.elementor-widget-tabs.cgtech-captabs2 .elementor-tab-content{ border:none !important; }
.elementor-widget-tabs.cgtech-captabs2 .elementor-tabs-content-wrapper{ border:none !important; }
/* --- TECH TEMPLATES v3: royal blue tick over light hairline (replaces heavy navy rules) --- */
.cgtech-cgroup__head2{ position:relative; border-bottom:1px solid var(--rule) !important; }
.cgtech-cgroup__head2::after{ content:""; position:absolute; left:0; bottom:-2px; width:56px; height:3px; background:var(--cg-blue); }

.cgtech-whyitem{ position:relative; border-top:1px solid var(--rule) !important; }
.cgtech-whyitem::after{ content:""; position:absolute; left:0; top:-2px; width:34px; height:3px; background:var(--cg-blue); }

.cgtech-factband2{ border-top:1px solid var(--rule) !important; border-bottom:1px solid var(--rule) !important; }
/* --- TECH TEMPLATES v4: robust centring for centred section headers, accordion icon colour --- */
.cgtech-tsec--center .cgtech-eyebrow, .cgtech-section--proof .cgtech-eyebrow{ margin-left:auto !important; margin-right:auto !important; width:100% !important; text-align:center !important; }
.cgtech-tsec--center .cgtech-eyebrow p, .cgtech-section--proof .cgtech-eyebrow p{ text-align:center !important; }
.cgtech-tsec--center .cgtech-section__headline, .cgtech-section--proof .cgtech-section__headline{ margin-left:auto !important; margin-right:auto !important; max-width:none !important; width:100% !important; }
.cgtech-tsec--center .cgtech-section__headline .elementor-heading-title, .cgtech-section--proof .cgtech-section__headline .elementor-heading-title{ text-align:center !important; max-width:none !important; }
.cgtech-section--proof .cgtech-section__lede, .cgtech-section--proof .cgtech-proof-intro, .cgtech-section--proof .cgtech-proof-intro p{ margin-left:auto !important; margin-right:auto !important; text-align:center !important; }

.cgtech-faqacc .elementor-accordion-icon, .cgtech-faqacc .elementor-accordion-icon i, .cgtech-faqacc .elementor-accordion-icon svg, .cgtech-faqacc .elementor-accordion-icon-closed, .cgtech-faqacc .elementor-accordion-icon-opened{ color:var(--cg-orange) !important; fill:var(--cg-orange) !important; }
/* --- TECH TEMPLATES v5: closing CTA as floating navy card on light (Option A) --- */
.cgtech-bandwrap{ background:var(--blue-50) !important; padding-top:34px !important; padding-bottom:56px !important; }
.cgtech-band-card{ border-radius:14px !important; padding:52px 40px !important; row-gap:0 !important; }
.cgtech-band-card:not(.cgtech-band-card--photo):not(.cgtech-band-card--grid){ background:var(--cg-navy) !important; }
.cgtech-band-card--photo{ background-color:var(--cg-navy) !important; }
.cgtech-band-card .elementor-heading-title{ font-family:var(--font-heading) !important; font-size:30px !important; font-weight:var(--weight-bold) !important; color:var(--white) !important; margin:0 0 10px !important; text-align:center !important; }
.cgtech-band-card .cgtech-band-navy__body p{ font-family:var(--font-body) !important; color:#9fb4ff !important; font-size:15px !important; margin:0 0 24px !important; text-align:center !important; }
.cgtech-band-card .elementor-widget-button{ text-align:center !important; width:100% !important; }
.cgtech-band-card .elementor-button{ background:var(--cg-orange) !important; color:var(--white) !important; font-family:var(--font-body) !important; font-weight:var(--weight-semibold) !important; padding:14px 28px !important; border-radius:var(--radius-sm) !important; border:none !important; }
.cgtech-band-card .elementor-button:hover{ background:var(--orange-700) !important; }
@media(max-width:960px){ .cgtech-band-card{ padding:36px 24px !important; } }
/* --- TECH TEMPLATES v6: per-layer icons on catalogue group headers (native blue set) --- */
.cgtech-cgroup__head2 .elementor-heading-title{ display:inline-flex !important; align-items:center; gap:9px; }
.cgtech-cgroup__head2--people .elementor-heading-title::before, .cgtech-cgroup__head2--bolt .elementor-heading-title::before, .cgtech-cgroup__head2--chart .elementor-heading-title::before, .cgtech-cgroup__head2--spark .elementor-heading-title::before, .cgtech-cgroup__head2--layers .elementor-heading-title::before{ content:""; width:18px; height:18px; flex:0 0 18px; background-size:contain; background-repeat:no-repeat; background-position:center; }
.cgtech-cgroup__head2--people .elementor-heading-title::before{ background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231129B9" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="9" cy="8" r="3"/><path d="M3.5 20c0-3 2.5-5 5.5-5s5.5 2 5.5 5"/><path d="M16 5.5a3 3 0 0 1 0 5.8"/><path d="M19.5 20c0-2-1-3.6-3-4.4"/></svg>'); }
.cgtech-cgroup__head2--bolt .elementor-heading-title::before{ background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231129B9" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"/></svg>'); }
.cgtech-cgroup__head2--chart .elementor-heading-title::before{ background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231129B9" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 20V10"/><path d="M10 20V4"/><path d="M16 20v-7"/><path d="M21 20H3"/></svg>'); }
.cgtech-cgroup__head2--spark .elementor-heading-title::before{ background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231129B9" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3l1.7 4.8 4.8 1.7-4.8 1.7L12 16l-1.7-4.8L5.5 9.5l4.8-1.7z"/><circle cx="18.5" cy="5.5" r="1.2" fill="%231129B9" stroke="none"/></svg>'); }
.cgtech-cgroup__head2--layers .elementor-heading-title::before{ background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231129B9" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3l9 5-9 5-9-5z"/><path d="M3 13l9 5 9-5"/></svg>'); }

/* --- Batch 1 rollout: extra why-item icon variants (native blue) --- */
.cgtech-whyitem--trend .elementor-heading-title::before{ background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231129B9" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="3 16 9 10 13 14 21 6"/><polyline points="15 6 21 6 21 12"/></svg>'); }
.cgtech-whyitem--spark .elementor-heading-title::before{ background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231129B9" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3l1.7 4.8 4.8 1.7-4.8 1.7L12 16l-1.7-4.8L5.5 9.5l4.8-1.7z"/><circle cx="18.5" cy="5.5" r="1.2" fill="%231129B9" stroke="none"/></svg>'); }
.cgtech-whyitem--target .elementor-heading-title::before{ background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231129B9" stroke-width="2"><circle cx="12" cy="12" r="9"/><circle cx="12" cy="12" r="5"/><circle cx="12" cy="12" r="1.6" fill="%231129B9" stroke="none"/></svg>'); }

/* ===== About page native rebuild (journey timeline, differentiators, commitment) ===== */
.cgtech-tl2 { position: relative; }
.cgtech-tl2 > .e-con-inner { display:flex !important; flex-direction:row !important; flex-wrap:wrap !important; gap:inherit; }
.cgtech-tl2::before { content:''; position:absolute; left:16.6%; right:16.6%; top:38px; height:4px; background:linear-gradient(90deg,#1129B9 0%,#151839 50%,#EA5B38 100%); border-radius:4px; z-index:0; }
.cgtech-tl2::after { content:''; position:absolute; right:15%; top:31px; width:0; height:0; border-left:12px solid #EA5B38; border-top:9px solid transparent; border-bottom:9px solid transparent; z-index:0; }
.cgtech-tl2 > .e-con-inner > .cgtech-tl2__col, .cgtech-tl2 > .cgtech-tl2__col { flex:1 1 280px !important; width:auto !important; min-width:280px; text-align:center; position:relative; z-index:1; }
.cgtech-tl2__badge .elementor-icon { display:inline-flex !important; align-items:center !important; justify-content:center !important; width:76px !important; height:76px !important; border-radius:50% !important; border:4px solid #FFFFFF !important; }
.cgtech-tl2__badge--blue .elementor-icon { background:#1129B9 !important; box-shadow:0 8px 22px rgba(17,41,185,.32) !important; }
.cgtech-tl2__badge--navy .elementor-icon { background:#151839 !important; box-shadow:0 8px 22px rgba(21,24,57,.30) !important; }
.cgtech-tl2__badge--orange .elementor-icon { background:#EA5B38 !important; box-shadow:0 8px 22px rgba(234,91,56,.34) !important; }
.cgtech-tl2__year h3 { font-family:var(--font-heading) !important; font-size:22px !important; font-weight:800 !important; line-height:1 !important; margin:16px 0 0 !important; }
.cgtech-tl2__year--blue h3 { color:#1129B9 !important; }
.cgtech-tl2__year--navy h3 { color:#151839 !important; }
.cgtech-tl2__year--orange h3 { color:#EA5B38 !important; }
.cgtech-tl2__tag, .cgtech-tl2__tag p { font-family:var(--font-body) !important; font-size:12px !important; font-weight:800 !important; letter-spacing:.12em !important; text-transform:uppercase !important; color:var(--cg-navy) !important; margin:6px 0 0 !important; }
.cgtech-tl2__card { background:#FFFFFF !important; border:1px solid #E4E9F5 !important; border-radius:14px !important; box-shadow:0 10px 28px rgba(21,24,57,.06) !important; text-align:left; margin-top:18px !important; }
.cgtech-tl2__card--blue { border-top:3px solid #1129B9 !important; }
.cgtech-tl2__card--navy { border-top:3px solid #151839 !important; }
.cgtech-tl2__card--orange { border:1px solid #F3D2C8 !important; border-top:3px solid #EA5B38 !important; box-shadow:0 10px 28px rgba(234,91,56,.10) !important; }
.cgtech-tl2__card-title h4 { font-family:var(--font-heading) !important; font-size:15px !important; font-weight:800 !important; color:var(--cg-navy) !important; margin:0 0 12px !important; line-height:1.3 !important; }
.cgtech-tl2__list ul { list-style:none !important; margin:0 !important; padding:0 !important; }
.cgtech-tl2__list li { position:relative; padding-left:19px; margin:0 0 10px; color:#3F4A63; font-size:14px; line-height:1.45; }
.cgtech-tl2__list li:last-child { margin-bottom:0; }
.cgtech-tl2__list li::before { content:''; position:absolute; left:0; top:7px; width:7px; height:7px; border-radius:50%; background:#1129B9; }
.cgtech-tl2__list--navy li::before { background:#151839 !important; }
.cgtech-tl2__list--orange li::before { background:#EA5B38 !important; }
@media (max-width:900px){ .cgtech-tl2::before, .cgtech-tl2::after { display:none; } }
.cgtech-diff > .e-con-inner { display:flex !important; flex-direction:row !important; flex-wrap:wrap !important; gap:inherit; }
.cgtech-diff > .e-con-inner > .e-con, .cgtech-diff > .e-con { flex:1 1 360px !important; width:auto !important; min-width:0; }
.cgtech-diff__item { align-items:flex-start; }
.cgtech-diff__ic { flex:0 0 auto !important; width:auto !important; }
.cgtech-diff__ic .elementor-icon { display:inline-flex !important; align-items:center !important; justify-content:center !important; width:48px !important; height:48px !important; border-radius:12px !important; }
.cgtech-diff__ic--blue .elementor-icon { background:#E6F1FB !important; }
.cgtech-diff__ic--orange .elementor-icon { background:#FAECE7 !important; }
.cgtech-diff__ic--green .elementor-icon { background:#E1F5EE !important; }
.cgtech-diff__t h3 { font-family:var(--font-heading) !important; font-size:16px !important; font-weight:800 !important; color:var(--cg-navy) !important; margin:0 0 5px !important; line-height:1.25 !important; }
.cgtech-diff__b p { font-family:var(--font-body) !important; font-size:14.5px !important; line-height:1.5 !important; color:#3F4A63 !important; margin:0 !important; }
.cgtech-commit__head h2 { color:#FFFFFF !important; font-size:36px !important; font-weight:800 !important; line-height:1.12 !important; margin:0 0 16px !important; }
.cgtech-commit__lede { max-width:640px !important; margin:0 auto !important; }
.cgtech-commit__lede p { color:#C7D2F0 !important; font-size:16px !important; line-height:1.6 !important; margin:0 !important; text-wrap:balance; }
.cgtech-team__lede { max-width:640px !important; margin:0 auto !important; }
.cgtech-team__lede p { color:#5D7A99 !important; font-size:16px !important; line-height:1.55 !important; margin:0 !important; }

/* ===== Hub cluster labels (native rebuild) ===== */
.cgtech-hub-cluster2__label { border-bottom:1px solid #E5E7EB !important; padding-bottom:10px !important; margin:0 0 22px !important; }
.cgtech-hub-cluster2__label--gap { margin-top:48px !important; }
.cgtech-hub-cluster2__label h3, .cgtech-hub-cluster2__label h3 a { font-family:var(--font-heading) !important; font-size:14px !important; font-weight:700 !important; letter-spacing:.08em !important; text-transform:uppercase !important; color:#151839 !important; text-decoration:none !important; margin:0 !important; }

/* ===== About journey metro line (native rebuild v2) ===== */
.cgtech-tl3 { position:relative; padding-top:34px !important; }
.cgtech-tl3 > .e-con-inner { display:flex !important; flex-direction:row !important; flex-wrap:wrap !important; gap:inherit; }
.cgtech-tl3::before { content:''; position:absolute; left:30px; right:30px; top:5px; height:4px; border-radius:4px; background:linear-gradient(90deg,#1129B9 0%,#1129B9 33%,#151839 33%,#151839 66%,#EA5B38 66%,#EA5B38 100%); z-index:0; }
.cgtech-tl3::after { content:''; position:absolute; right:22px; top:0; width:0; height:0; border-left:11px solid #EA5B38; border-top:7px solid transparent; border-bottom:7px solid transparent; z-index:0; }
.cgtech-tl3 > .cgtech-tl3__col, .cgtech-tl3 > .e-con-inner > .cgtech-tl3__col { flex:1 1 0 !important; width:auto !important; min-width:240px; position:relative; display:flex !important; flex-direction:column !important; text-align:center; z-index:1; }
.cgtech-tl3__col::before { content:''; position:absolute; top:-34px; left:50%; transform:translateX(-50%); width:14px; height:14px; border-radius:50%; background:#FFFFFF; box-sizing:border-box; z-index:1; }
.cgtech-tl3__col--blue::before { border:4px solid #1129B9; }
.cgtech-tl3__col--navy::before { border:4px solid #151839; }
.cgtech-tl3__col--orange::before { border:4px solid #EA5B38; }
.cgtech-tl3__year h3 { font-family:var(--font-heading) !important; font-size:22px !important; font-weight:800 !important; line-height:1 !important; margin:0 !important; }
.cgtech-tl3__year--blue h3 { color:#1129B9 !important; }
.cgtech-tl3__year--navy h3 { color:#151839 !important; }
.cgtech-tl3__year--orange h3 { color:#EA5B38 !important; }
.cgtech-tl3__tag, .cgtech-tl3__tag p { font-family:var(--font-body) !important; font-size:12px !important; font-weight:800 !important; letter-spacing:.12em !important; text-transform:uppercase !important; color:var(--cg-navy) !important; margin:6px 0 0 !important; }
.cgtech-tl3__card { background:#FFFFFF !important; border:1px solid #E4E9F5 !important; border-top:3px solid #1129B9 !important; border-radius:0 0 14px 14px !important; box-shadow:0 10px 28px rgba(21,24,57,.06) !important; text-align:left; margin-top:16px !important; flex:1 1 auto !important; }
.cgtech-tl3__card--navy { border-top-color:#151839 !important; }
.cgtech-tl3__card--orange { border-color:#F3D2C8 !important; border-top-color:#EA5B38 !important; box-shadow:0 10px 28px rgba(234,91,56,.10) !important; }
.cgtech-tl3__card-title h4 { font-family:var(--font-heading) !important; font-size:15px !important; font-weight:800 !important; color:var(--cg-navy) !important; margin:0 0 12px !important; line-height:1.3 !important; }
.cgtech-tl3__list ul { list-style:none !important; margin:0 !important; padding:0 !important; }
.cgtech-tl3__list li { position:relative; padding-left:19px; margin:0 0 10px; color:#3F4A63; font-size:14px; line-height:1.5; }
.cgtech-tl3__list li:last-child { margin-bottom:0; }
.cgtech-tl3__list li::before { content:''; position:absolute; left:0; top:8px; width:7px; height:7px; border-radius:50%; background:#1129B9; }
.cgtech-tl3__list--navy li::before { background:#151839 !important; }
.cgtech-tl3__list--orange li::before { background:#EA5B38 !important; }
@media (max-width:900px){ .cgtech-tl3 { padding-top:0 !important; } .cgtech-tl3::before, .cgtech-tl3::after, .cgtech-tl3__col::before { display:none; } }
/* ===== About values numbered rows (native rebuild) ===== */
.cgtech-vrows { border-bottom:1px solid #E4E9F5; }
.cgtech-vrow { border-top:1px solid #E4E9F5 !important; padding:22px 0 !important; }
.cgtech-vrow > .e-con-inner { display:flex !important; flex-direction:row !important; gap:inherit; }
.cgtech-vrow__n h3 { font-family:var(--font-heading) !important; font-size:28px !important; font-weight:800 !important; color:#1129B9 !important; line-height:1 !important; margin:0 !important; min-width:58px; }
.cgtech-vrow__n { flex:0 0 58px !important; width:58px !important; }
.cgtech-vrow__t h3 { font-family:var(--font-heading) !important; font-size:18px !important; font-weight:800 !important; color:var(--cg-navy) !important; margin:0 0 6px !important; line-height:1.25 !important; }
.cgtech-vrow__b p { font-family:var(--font-body) !important; font-size:15px !important; line-height:1.6 !important; color:#3F4A63 !important; margin:0 !important; }
/* ===== cgtech-tl3 rail fix: Elementor reserves .e-con::before for overlays, so boost and force ===== */
.e-con.e-con.cgtech-tl3::before { content:'' !important; display:block !important; position:absolute !important; left:30px !important; right:30px !important; top:5px !important; bottom:auto !important; width:auto !important; height:4px !important; border:0 !important; border-radius:4px !important; background:linear-gradient(90deg,#1129B9 0%,#1129B9 33%,#151839 33%,#151839 66%,#EA5B38 66%,#EA5B38 100%) !important; opacity:1 !important; transform:none !important; transition:none !important; z-index:0 !important; pointer-events:none !important; }
.e-con.e-con.cgtech-tl3__col::after { content:''; position:absolute; top:-34px; left:50%; transform:translateX(-50%); width:14px; height:14px; border-radius:50%; background:#FFFFFF; box-sizing:border-box; z-index:2; pointer-events:none; }
.cgtech-tl3__col--blue::after { border:4px solid #1129B9; }
.cgtech-tl3__col--navy::after { border:4px solid #151839; }
.cgtech-tl3__col--orange::after { border:4px solid #EA5B38; }
.cgtech-tl3__card, .cgtech-tl3__card .elementor-widget, .cgtech-tl3__card h4, .cgtech-tl3__card p, .cgtech-tl3__card li { text-align:left !important; }
.cgtech-eyebrow--center, .cgtech-eyebrow--center p { text-align:center !important; }
@media (max-width:900px){ .e-con.e-con.cgtech-tl3::before { display:none !important; } .cgtech-tl3__col::after { display:none; } }
/* ===== hero align with header logo: at wide viewports the 1200px hero box matches the header box, so drop the inner gutter ===== */
@media (min-width:1265px){ .cgtech-hero__inner { padding-left:0 !important; padding-right:0 !important; } }

/* ===== Connect solution router (Option O native rebuild) ===== */
.cgtech-router { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.e-con.cgtech-router > .e-con { width:100% !important; min-width:0; }
a.cgtech-router__tile { background:#FFFFFF !important; border:1px solid #E4E9F5 !important; border-radius:12px !important; transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease; text-decoration:none !important; }
a.cgtech-router__tile:hover { border-color:#1129B9 !important; box-shadow:0 10px 24px rgba(17,41,185,.10) !important; transform:translateY(-2px); }
.cgtech-router__tile .elementor-icon { font-size:20px !important; color:#1129B9 !important; }
.cgtech-router__tile h3 { font-family:var(--font-heading) !important; font-size:15px !important; font-weight:800 !important; color:var(--cg-navy) !important; margin:6px 0 0 !important; line-height:1.3 !important; }
.cgtech-router__hint, .cgtech-router__hint p { color:#5D7A99 !important; font-size:13.5px !important; margin:0 !important; }
.cgtech-router__selected { display:none; }
.cgtech-router__selected.is-on { display:inline-flex !important; align-items:center; gap:8px; background:#E6ECFA; color:#1129B9; font-size:12.5px; font-weight:700; border-radius:999px; padding:4px 14px; margin:0 0 10px !important; }
.cgtech-connect__form-wrap .wpforms-field-container { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 14px; }
.cgtech-connect__form-wrap .wpforms-field { padding:6px 0 !important; }
.cgtech-connect__form-wrap .wpforms-field-textarea, .cgtech-connect__form-wrap .wpforms-field-select { grid-column:1 / -1; }
.cgtech-connect__form-wrap .wpforms-field.cgtech-router-target { display:none !important; }
.cgtech-connect__form-wrap .wpforms-field-label { font-size:14px !important; font-weight:700 !important; color:#151839 !important; }
.cgtech-connect__form-wrap input[type=text], .cgtech-connect__form-wrap input[type=email], .cgtech-connect__form-wrap input[type=tel], .cgtech-connect__form-wrap textarea, .cgtech-connect__form-wrap select { border:1px solid #D8DFF0 !important; border-radius:8px !important; width:100% !important; }
.cgtech-connect__form-wrap input:focus, .cgtech-connect__form-wrap textarea:focus { border-color:#1129B9 !important; box-shadow:0 0 0 3px rgba(17,41,185,.12) !important; outline:none !important; }
.cgtech-connect__strip { border-top:1px solid #E4E9F5; }
.cgtech-connect__strip .cgtech-connect__list ul { display:flex !important; flex-wrap:wrap; gap:8px 26px; justify-content:center; margin:0 !important; padding:0 !important; }
.cgtech-connect__strip .cgtech-connect__trust, .cgtech-connect__strip .cgtech-connect__trust p { text-align:center !important; color:#5D7A99 !important; font-size:12.5px !important; margin:8px 0 0 !important; }
@media (max-width:900px){ .cgtech-router { grid-template-columns:repeat(2,minmax(0,1fr)); } .cgtech-connect__form-wrap .wpforms-field-container { grid-template-columns:1fr; } }
@media (max-width:560px){ .cgtech-router { grid-template-columns:1fr; } }
/* ===== connect layout fix: centred form card, centred hint, compact chip, full width inputs ===== */
.e-con.cgtech-connect__form-wrap { max-width:800px !important; margin-left:auto !important; margin-right:auto !important; width:100% !important; }
.cgtech-router__hint, .cgtech-router__hint p { text-align:center !important; }
.cgtech-router__selected.is-on { align-self:flex-start !important; width:auto !important; }
.cgtech-connect__form-wrap input[type=text], .cgtech-connect__form-wrap input[type=email], .cgtech-connect__form-wrap input[type=tel], .cgtech-connect__form-wrap textarea, .cgtech-connect__form-wrap select { max-width:100% !important; }

/* ===== connect polish pass: compact horizontal tiles, icon chips, card header, rhythm ===== */
.e-con.cgtech-router__tile { flex-direction:row !important; align-items:center !important; gap:14px !important; padding:16px 18px !important; min-height:0 !important; }
.cgtech-router__tile .elementor-widget { margin:0 !important; width:auto !important; }
.cgtech-router__tile .elementor-icon-wrapper { display:flex; }
.cgtech-router__tile .elementor-icon { display:inline-flex !important; align-items:center !important; justify-content:center !important; width:44px !important; height:44px !important; border-radius:10px !important; background:#E6ECFA !important; font-size:18px !important; }
.cgtech-router__tile h3 { margin:0 !important; font-size:15px !important; line-height:1.3 !important; }
.cgtech-router__tile:hover .elementor-icon { background:#1129B9 !important; color:#FFFFFF !important; }
.cgtech-router { gap:14px !important; }
.cgtech-form__title h3 { font-family:var(--font-heading) !important; font-size:20px !important; font-weight:800 !important; color:var(--cg-navy) !important; margin:0 0 4px !important; }
.cgtech-form__sub p { color:#5D7A99 !important; font-size:14px !important; margin:0 0 14px !important; }
.cgtech-router__selected.is-on { margin:0 0 12px !important; }
.cgtech-connect__form-wrap .wpforms-container { margin:0 !important; }
.cgtech-connect__form-wrap .wpforms-field { padding:8px 0 !important; }
.cgtech-connect__form-wrap .wpforms-submit-container { padding-top:14px !important; }
.cgtech-connect__form-wrap button[type=submit] { padding:12px 28px !important; font-size:15px !important; }
.cgtech-connect__strip .cgtech-connect__trust { max-width:800px; margin-left:auto !important; margin-right:auto !important; }
@media (max-width:560px){ .e-con.cgtech-router__tile { padding:13px 14px !important; } }
/* ===== sitemap mega footer ===== */
.cgtech-foot2__head { display:flex !important; flex-direction:row !important; align-items:center !important; justify-content:space-between !important; border-bottom:1px solid #2A3060 !important; padding-bottom:18px !important; margin-bottom:22px !important; }
.cgtech-foot2__head .elementor-widget { margin:0 !important; width:auto !important; }
.cgtech-foot2__badge p { color:#C7D2F0 !important; font-size:12px !important; border:1px solid #2A3060 !important; border-radius:999px !important; padding:5px 14px !important; margin:0 !important; }
.cgtech-foot2__cols { display:flex !important; flex-direction:row !important; flex-wrap:wrap !important; }
.e-con.cgtech-foot2__cols > .e-con { flex:1 1 170px !important; width:auto !important; min-width:150px; }
.cgtech-foot2__cols .cgtech-footer__col { padding:0 !important; }
@media (max-width:760px){ .e-con.cgtech-foot2__cols > .e-con { flex:1 1 44% !important; } .cgtech-foot2__head { flex-direction:column !important; align-items:flex-start !important; gap:10px; } }

/* ===== footer nav row (original style + sitemap columns) ===== */
.e-con.cgtech-footer__nav { display:flex !important; flex-direction:row !important; flex-wrap:wrap !important; }
.e-con.cgtech-footer__nav > .e-con { flex:1 1 130px !important; width:auto !important; min-width:120px; }
.cgtech-footer__brand--wcontact { min-width:240px; }
@media (max-width:900px){ .e-con.cgtech-footer__nav > .e-con { flex:1 1 40% !important; } }

/* ===== connect option 1 layout: form left, reassurance rail right ===== */
.cgtech-section--connect-hero .cgtech-connect-hero__title, .cgtech-connect-hero__title { text-align:left !important; }
.cgtech-section--connect-hero .cgtech-section__inner { align-items:flex-start !important; text-align:left !important; }
.e-con.cgtech-connect__row { display:flex !important; flex-direction:row !important; align-items:stretch !important; }
.e-con.cgtech-connect__row > .cgtech-connect__form-wrap { flex:1 1 60% !important; width:auto !important; margin:0 !important; max-width:none !important; }
.e-con.cgtech-connect__row > .cgtech-rr { flex:1 1 34% !important; width:auto !important; background:#F4F7FD !important; border:1px solid #E4E9F5 !important; border-radius:14px !important; align-self:stretch; }
.cgtech-rr__head p { font-size:11px !important; letter-spacing:.1em !important; text-transform:uppercase !important; color:#5D7A99 !important; font-weight:700 !important; margin:0 0 14px !important; }
.cgtech-rr__step { margin-bottom:12px !important; align-items:flex-start !important; }
.cgtech-rr__n { flex:0 0 22px !important; width:22px !important; }
.cgtech-rr__n p { width:22px !important; height:22px !important; border-radius:50% !important; background:#1129B9 !important; color:#FFFFFF !important; font-size:11px !important; font-weight:700 !important; display:flex !important; align-items:center !important; justify-content:center !important; margin:0 !important; }
.cgtech-rr__n--orange p { background:#EA5B38 !important; }
.cgtech-rr__t p { font-size:12.5px !important; line-height:1.5 !important; color:#151839 !important; margin:0 !important; }
.cgtech-rr__contact { border-top:1px solid #E4E9F5 !important; margin-top:6px !important; padding-top:14px !important; }
.cgtech-rr__clabel p { font-size:11px !important; letter-spacing:.08em !important; text-transform:uppercase !important; color:#5D7A99 !important; font-weight:700 !important; margin:0 0 8px !important; }
.cgtech-rr__list .elementor-icon-list-item a { color:#151839 !important; font-size:13px !important; font-weight:600 !important; }
.cgtech-rr__list .elementor-icon-list-icon i { color:#1129B9 !important; }
.cgtech-rr__hours p { font-size:11.5px !important; color:#5D7A99 !important; line-height:1.5 !important; margin:10px 0 0 !important; }
@media (max-width:900px){ .e-con.cgtech-connect__row { flex-direction:column !important; } .e-con.cgtech-connect__row > .cgtech-connect__form-wrap, .e-con.cgtech-connect__row > .cgtech-rr { flex:1 1 100% !important; } }
/* ===== rr contact promoted to top + map ===== */
.cgtech-rr__contact--top { border-top:0 !important; margin-top:0 !important; padding-top:0 !important; }
.cgtech-rr__map { margin-top:16px !important; border-radius:10px !important; overflow:hidden !important; }
.cgtech-rr__map iframe { border-radius:10px !important; display:block !important; }

/* ===== thank you page ===== */
.cgtech-ty__inner{text-align:center!important}
.cgtech-ty__icon .elementor-icon{color:#1AA39A!important}
.cgtech-ty__title{font-size:36px!important;font-weight:800!important;color:var(--cg-navy)!important;line-height:1.15!important;max-width:640px}
.cgtech-ty__body p{font-size:16px!important;line-height:1.65!important;color:#3F4A63!important;max-width:560px;margin:0 auto!important}
.e-con.cgtech-ty__btns{margin-top:8px!important}
.cgtech-ty__fallback p{font-size:14px!important;color:#5D7A99!important;margin:8px 0 0!important}
.cgtech-ty__fallback a{color:#1129B9!important;font-weight:600!important}
.cgtech-btn--ghost .elementor-button{background:transparent!important;border:1px solid #C3D3EC!important;color:var(--cg-navy)!important}
@media(max-width:560px){.e-con.cgtech-ty__btns{flex-direction:column!important}.cgtech-ty__title{font-size:28px!important}}

/* ===== thank you card v2 ===== */
.cgtech-ty{background:#EEF3FB!important}
.cgtech-ty__card{background:#FFFFFF!important;border:1px solid #E4E9F5!important;border-radius:18px!important;box-shadow:0 24px 60px rgba(21,24,57,.12)!important;text-align:center!important;width:100%!important}
.cgtech-ty__icon .elementor-icon{background:#E1F5EE!important;width:58px!important;height:58px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border-radius:50%!important}
.cgtech-ty__icon .elementor-icon svg,.cgtech-ty__icon .elementor-icon i{color:#1AA39A!important;fill:#1AA39A!important;font-size:24px!important}
.cgtech-ty__title{font-size:28px!important;font-weight:800!important;color:var(--cg-navy)!important;line-height:1.15!important;margin:0!important}
.cgtech-ty__body p{font-size:15px!important;line-height:1.6!important;color:#5D7A99!important;margin:0!important}
.cgtech-ty__next{background:#F7F9FE!important;border-radius:12px!important;width:100%!important;text-align:left!important}
.cgtech-ty__nlabel p{font-size:10px!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:#8090aa!important;font-weight:700!important;margin:0 0 12px!important}
.cgtech-ty__step{margin-bottom:10px!important;align-items:flex-start!important}
.cgtech-ty__step:last-child{margin-bottom:0!important}
.cgtech-ty__n{flex:0 0 20px!important;width:20px!important}
.cgtech-ty__n p{width:20px!important;height:20px!important;border-radius:50%!important;background:#1129B9!important;color:#FFF!important;font-size:10px!important;font-weight:700!important;display:flex!important;align-items:center!important;justify-content:center!important;margin:0!important}
.cgtech-ty__n--orange p{background:#EA5B38!important}
.cgtech-ty__stext p{font-size:12.5px!important;line-height:1.5!important;color:#151839!important;margin:0!important}
.cgtech-btn.cgtech-btn--primary .elementor-button{background:var(--cg-orange)!important;border:1px solid var(--cg-orange)!important;color:#FFFFFF!important;border-radius:9px!important;font-weight:600!important;padding:11px 22px!important}
.cgtech-btn.cgtech-btn--primary .elementor-button:hover{background:#c9482a!important;border-color:#c9482a!important}
.cgtech-btn.cgtech-btn--ghost .elementor-button{background:transparent!important;border:1px solid #C3D3EC!important;color:var(--cg-navy)!important;border-radius:9px!important;font-weight:600!important;padding:11px 22px!important}
.cgtech-btn.cgtech-btn--ghost .elementor-button:hover{border-color:#1129B9!important;color:#1129B9!important}
.cgtech-ty__fallback{border-top:1px solid #E4E9F5!important;padding-top:14px!important;width:100%!important}
.cgtech-ty__fallback p{font-size:12px!important;color:#8090aa!important;margin:0!important}
.cgtech-ty__fallback a{color:#1129B9!important;font-weight:600!important}
@media(max-width:560px){.cgtech-ty__card{padding:24px 18px!important}.e-con.cgtech-ty__btns{flex-direction:column!important;width:100%}.cgtech-ty__title{font-size:23px!important}}

/* ===== thank you blog frame + solid nav ===== */
.cgtech-ty__title .elementor-heading-title{color:#1129B9!important}
a.cgtech-ty__blog{display:flex!important;align-items:center;background:#FFFFFF!important;border:1px solid #E4E9F5!important;border-radius:12px!important;text-align:left!important;text-decoration:none!important;transition:border-color .15s,box-shadow .15s,transform .15s;width:100%!important}
a.cgtech-ty__blog:hover{border-color:#1129B9!important;box-shadow:0 12px 28px rgba(17,41,185,.12)!important;transform:translateY(-2px)}
.cgtech-ty__blogimg{flex:0 0 96px!important;width:96px!important}
.cgtech-ty__blogimg img{width:96px!important;height:72px!important;object-fit:cover!important;border-radius:8px!important;display:block!important}
.cgtech-ty__blogtext{flex:1 1 auto!important;min-width:0}
.cgtech-ty__bloglabel p{font-size:10px!important;letter-spacing:.1em!important;text-transform:uppercase!important;color:#EA5B38!important;font-weight:700!important;margin:0!important}
.cgtech-ty__blogtitle .elementor-heading-title{font-size:15px!important;font-weight:800!important;color:var(--cg-navy)!important;line-height:1.3!important;margin:0!important}
.cgtech-ty__blogexcerpt p{font-size:12px!important;color:#5D7A99!important;line-height:1.45!important;margin:0!important}
.cgtech-ty__bloglink p{font-size:12px!important;color:#1129B9!important;font-weight:700!important;margin:2px 0 0!important}
@media(max-width:640px){.cgtech-ty__blogimg{display:none!important}}

/* ===== thank you nav scroll fix + span blog frame ===== */
a.cgtech-ty__blog{display:flex!important;align-items:center;gap:16px}
.cgtech-ty__blogimg{flex:0 0 96px!important;display:block!important}
.cgtech-ty__blogimg img{width:96px!important;height:72px!important;object-fit:cover!important;border-radius:8px!important;display:block!important}
.cgtech-ty__blogtext{flex:1 1 auto!important;min-width:0;display:flex!important;flex-direction:column!important;gap:4px}
.cgtech-ty__bloglabel{display:block!important;font-size:10px!important;letter-spacing:.1em!important;text-transform:uppercase!important;color:#EA5B38!important;font-weight:700!important}
.cgtech-ty__blogtitle{display:block!important;font-size:15px!important;font-weight:800!important;color:var(--cg-navy)!important;line-height:1.3!important}
.cgtech-ty__blogexcerpt{display:block!important;font-size:12px!important;color:#5D7A99!important;line-height:1.45!important}
.cgtech-ty__bloglink{display:block!important;font-size:12px!important;color:#1129B9!important;font-weight:700!important;margin-top:2px}
.cgtech-ty__blogwrap{width:100%!important}
body.page-id-432 .cgtech-header,body.page-id-432 .cgtech-header--solid .cgtech-header{background:var(--cg-navy)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
body.page-id-432 .cgtech-header__logo--white{display:block!important}
body.page-id-432 .cgtech-header__logo--blue{display:none!important}
body.page-id-432 .cgtech-header--solid .cgtech-header__logo--white{display:block!important}
body.page-id-432 .cgtech-header--solid .cgtech-header__logo--blue{display:none!important}
body.page-id-432 .cgtech-header .nav-link,body.page-id-432 .cgtech-header .menu-link,body.page-id-432 .cgtech-header .elementor-item,body.page-id-432 .cgtech-header__nav a{color:#FFFFFF!important}
body.page-id-432 .cgtech-header--solid .nav-link,body.page-id-432 .cgtech-header--solid .menu-link,body.page-id-432 .cgtech-header--solid .cgtech-header a.nav-link{color:#FFFFFF!important}
body.page-id-432 .cgtech-header .nav-link:hover,body.page-id-432 .cgtech-header .menu-link:hover{color:#EA5B38!important}

/* ===== ty tweak pass: eyebrow gap + blog box padding ===== */
.cgtech-ty__card .cgtech-eyebrow p{margin:0!important}
.cgtech-ty__card .cgtech-ty__title{margin-top:2px!important}
a.cgtech-ty__blog{align-items:flex-start!important;padding:16px 18px!important}
.cgtech-ty__blogimg img{height:80px!important}
.cgtech-ty__blogtext{padding:2px 0!important}

/* ===== ty eyebrow gap close ===== */
.cgtech-ty__card .cgtech-eyebrow.elementor-widget{margin-bottom:0!important}
.cgtech-ty__card .cgtech-eyebrow .elementor-widget-container{margin:0!important;padding:0!important}
.cgtech-ty__card .cgtech-ty__title.elementor-widget{margin-top:0!important}
.cgtech-ty__card .cgtech-ty__title .elementor-heading-title{line-height:1.1!important;margin:0!important}
.cgtech-ty__card{gap:10px!important}

/* ===== ty body balance ===== */
.cgtech-ty__body p{max-width:520px!important;margin-left:auto!important;margin-right:auto!important}

/* ===== ty mobile centring ===== */
.e-con.cgtech-ty{display:flex!important;flex-direction:column!important;align-items:center!important;box-sizing:border-box!important}
.e-con.cgtech-ty{justify-content:center!important;min-height:100vh!important;padding-top:150px!important;padding-bottom:90px!important}
@media(max-width:1024px){.e-con.cgtech-ty{justify-content:flex-start!important;padding-top:150px!important;padding-bottom:70px!important}}
@media(max-width:767px){.e-con.cgtech-ty{justify-content:flex-start!important;min-height:auto!important;padding-top:176px!important;padding-bottom:56px!important;padding-left:18px!important;padding-right:18px!important}}

/* ===== mega mobile rebuild (full-width stacked flyout) ===== */
@media(max-width:1024px){
.cgtech-header__nav .cgtech-mega{position:static!important;left:auto!important;right:auto!important;transform:none!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;flex-direction:column!important;box-shadow:none!important;border:0!important;border-radius:0!important;padding:0!important}
.cgtech-mega__brand{width:100%!important;max-width:100%!important;flex:none!important;order:-1}
.cgtech-mega__brand-inner{min-height:0!important;height:auto!important;padding:18px 20px!important;border-radius:12px!important;align-items:flex-start!important}
.cgtech-mega__brand-glow{display:none!important}
.cgtech-mega__cols{width:100%!important;flex:1 1 100%!important;flex-direction:column!important;flex-wrap:nowrap!important;padding:8px 6px!important;gap:0!important;background:transparent!important}
.cgtech-mega__cols>li{width:100%!important;max-width:100%!important}
.cgtech-mega__item{width:100%!important;box-sizing:border-box!important}
.cgtech-mega__cols .xpro-elementor-dropdown-menu{position:static!important;width:100%!important;transform:none!important;left:auto!important}
.cgtech-header__nav li.cgtech-mega-open>.cgtech-mega{max-height:70vh!important;overflow-y:auto!important;overflow-x:hidden!important}
.cgtech-header__nav .xpro-elementor-dropdown-menu{position:static!important;width:100%!important;max-width:100%!important;transform:none!important;left:auto!important;right:auto!important;box-shadow:none!important}
}

/* ===== mobile menu text redesign ===== */
.xpro-elementor-horizontal-menu-toggler,.xpro-elementor-horizontal-menu-toggler i,.xpro-elementor-horizontal-menu-toggler svg{color:#FFFFFF!important;fill:#FFFFFF!important}
body.page-id-432 .xpro-elementor-horizontal-menu-toggler i{color:#FFFFFF!important}
.cgtech-mobile-contact{display:none!important}
@media(max-width:1024px){
.cgtech-header .elementor-element-6d1b476{display:none!important}
.cgtech-mobile-contact{display:list-item!important;order:-10!important}
.cgtech-mobile-contact>a,.cgtech-mobile-contact .nav-link{color:#FFFFFF!important;background:var(--cg-orange)!important;border-radius:10px!important;margin:4px 12px 12px!important;text-align:center!important;font-weight:700!important;justify-content:center!important}
.cgtech-mega__brand{display:none!important}
.cgtech-mega__item-ic,.cgtech-mega__item .cgtech-mega__item-ic,.cgtech-mega__item i,.cgtech-mega__item svg,.cgtech-mega__item-icon{display:none!important}
.cgtech-mega__item-desc,.cgtech-mega__item-sub,.cgtech-mega__item p{display:none!important}
.cgtech-mega__item{padding:12px 16px!important;background:transparent!important;border-radius:0!important;border-bottom:1px solid rgba(255,255,255,0.06)!important}
.cgtech-mega__item .cgtech-mega__item-title,.cgtech-mega__item-title{font-size:15px!important;font-weight:600!important}
.xpro-elementor-horizontal-menu-responsive-tablet .xpro-elementor-horizontal-navbar-nav>li>a,.xpro-elementor-horizontal-navbar-nav .nav-link{font-size:16px!important;padding:14px 18px!important}
}

/* ===== mobile accordion menu A ===== */
@media(max-width:1024px){
.cgtech-header__nav li.menu-item-has-children>.cgtech-mega{display:none!important}
.cgtech-header__nav li.cgtech-acc-open>.cgtech-mega{display:block!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}
.cgtech-header__nav li.menu-item-has-children>a.nav-link{display:flex!important;align-items:center!important;justify-content:space-between!important;padding:15px 18px!important;font-size:16px!important}
.cgtech-acc-chevron{display:inline-block!important;width:10px;height:10px;border-right:2px solid #8FA1D9;border-bottom:2px solid #8FA1D9;transform:rotate(45deg);transition:transform .2s ease;margin-left:12px;flex:0 0 auto}
.cgtech-header__nav li.cgtech-acc-open>a .cgtech-acc-chevron{transform:rotate(-135deg)}
.cgtech-mega__brand{display:none!important}
.cgtech-mega__ic{display:none!important}
.cgtech-mega__it-desc{display:none!important}
.cgtech-mega__group-label,.cgtech-mega__plathead{display:none!important}
.cgtech-header__nav li.cgtech-acc-open>.cgtech-mega{position:static!important;transform:none!important;left:auto!important;width:100%!important;max-width:100%!important;box-shadow:none!important;border:0!important;border-radius:0!important;padding:0!important;background:rgba(255,255,255,.03)!important;flex-direction:column!important}
.cgtech-mega__cols{display:block!important;width:100%!important;padding:4px 0 8px!important;background:transparent!important;gap:0!important}
.cgtech-mega__cols>li{width:100%!important;max-width:100%!important}
.cgtech-mega__item{display:block!important;padding:12px 18px 12px 32px!important;background:transparent!important;border:0!important;border-radius:0!important}
.cgtech-mega__it-title{font-size:14px!important;font-weight:500!important;color:#C7D2F0!important}
.cgtech-mega__item:active{background:rgba(255,255,255,.06)!important}
.cgtech-mega__cols .xpro-elementor-dropdown-menu{position:static!important;width:100%!important;transform:none!important;display:block!important}
.cgtech-mobile-contact>a::before{content:"\260E";margin-right:8px;font-size:15px}
}

/* ===== mobile accordion fixes: navy panel + single chevron ===== */
@media(max-width:1024px){
.xpro-elementor-horizontal-menu-responsive-tablet.xpro-elementor-horizontal-navbar-wrapper{background:var(--cg-navy)!important}
.xpro-elementor-horizontal-menu-responsive-tablet .xpro-elementor-horizontal-navbar,.xpro-elementor-horizontal-menu-responsive-tablet .xpro-elementor-horizontal-navbar-nav{background:transparent!important}
.xpro-elementor-horizontal-menu-responsive-tablet .nav-link,.xpro-elementor-horizontal-menu-responsive-tablet .menu-link,.xpro-elementor-horizontal-menu-responsive-tablet a{color:#FFFFFF!important}
.xpro-elementor-horizontal-menu-responsive-tablet .xpro-elementor-horizontal-navbar-nav>li{border-top:1px solid rgba(255,255,255,.08)!important}
.xpro-elementor-horizontal-menu-responsive-tablet .dropdown-menu-toggle,.xpro-elementor-horizontal-menu-responsive-tablet .ast-header-navigation-arrow,.xpro-elementor-horizontal-menu-responsive-tablet .xpro-dropdown-menu-toggle,.cgtech-header__nav .dropdown-menu-toggle,.cgtech-header__nav .ast-header-navigation-arrow,.cgtech-header__nav .xpro-dropdown-menu-toggle{display:none!important;width:0!important;height:0!important;opacity:0!important}
.cgtech-acc-chevron{display:inline-block!important}
.cgtech-mobile-contact>a{background:var(--cg-orange)!important;color:#FFFFFF!important}
}

/* ===== mobile accordion link bg fix ===== */
@media(max-width:1024px){
.xpro-elementor-horizontal-menu-responsive-tablet .nav-link,.xpro-elementor-horizontal-menu-responsive-tablet .menu-link,.xpro-elementor-horizontal-menu-responsive-tablet a.dropdown-toggle{background:transparent!important;background-color:transparent!important;box-shadow:none!important;border:0!important}
.xpro-elementor-horizontal-menu-responsive-tablet .cgtech-mobile-contact>a{background:var(--cg-orange)!important;background-color:var(--cg-orange)!important}
.xpro-elementor-horizontal-menu-responsive-tablet .nav-link:hover,.xpro-elementor-horizontal-menu-responsive-tablet .nav-link:focus,.xpro-elementor-horizontal-menu-responsive-tablet .nav-link:active{background:transparent!important;color:#EA5B38!important}
.xpro-elementor-horizontal-menu-responsive-tablet .cgtech-mobile-contact>a:hover{background:#c9482a!important;color:#fff!important}
.xpro-elementor-horizontal-menu-responsive-tablet .nav-link::after,.xpro-elementor-horizontal-menu-responsive-tablet .menu-link::after,.xpro-elementor-horizontal-menu-responsive-tablet a.dropdown-toggle::after,.cgtech-header__nav a.nav-link::after{display:none!important;content:none!important}
}

/* ===== mobile accordion centre ===== */
@media(max-width:1024px){
.xpro-elementor-horizontal-menu-responsive-tablet .xpro-elementor-horizontal-navbar{width:100%!important;justify-content:center!important;text-align:left!important}
.xpro-elementor-horizontal-menu-responsive-tablet .xpro-elementor-horizontal-navbar-nav{width:100%!important;max-width:420px!important;margin:0 auto!important;justify-content:flex-start!important;flex-direction:column!important;align-items:stretch!important;text-align:left!important}
.xpro-elementor-horizontal-menu-responsive-tablet .xpro-elementor-horizontal-navbar-nav>li{width:100%!important;text-align:left!important}
.xpro-elementor-horizontal-menu-responsive-tablet .nav-link,.xpro-elementor-horizontal-menu-responsive-tablet .menu-link{text-align:left!important;justify-content:space-between!important;width:100%!important}
.xpro-elementor-horizontal-menu-responsive-tablet.xpro-elementor-horizontal-navbar-wrapper{padding-left:16px!important;padding-right:16px!important;box-sizing:border-box!important}
.xpro-elementor-horizontal-menu-responsive-tablet .cgtech-mobile-contact{width:100%!important}
}

/* ===== mobile accordion polish ===== */
@media(max-width:1024px){
.xpro-elementor-horizontal-menu-responsive-tablet .cgtech-mega__item:hover{background:transparent!important}
.xpro-elementor-horizontal-menu-responsive-tablet .cgtech-mega__item:hover::before,.xpro-elementor-horizontal-menu-responsive-tablet .cgtech-mega__item::before{opacity:0!important}
.xpro-elementor-horizontal-menu-responsive-tablet .cgtech-mega__cols a:hover,.xpro-elementor-horizontal-menu-responsive-tablet .cgtech-mega__item:hover .cgtech-mega__it-title{background:transparent!important;color:#C7D2F0!important}
.xpro-elementor-horizontal-menu-responsive-tablet .cgtech-mega__item:active{background:rgba(255,255,255,.07)!important}
.xpro-elementor-horizontal-menu-responsive-tablet .nav-link:active,.xpro-elementor-horizontal-menu-responsive-tablet .menu-link:active{background:rgba(255,255,255,.05)!important}
.xpro-elementor-horizontal-menu-responsive-tablet .cgtech-mobile-contact>a{display:flex!important;justify-content:center!important;align-items:center!important;text-align:center!important;gap:0!important}
.xpro-elementor-horizontal-menu-responsive-tablet li.cgtech-acc-open>.cgtech-mega{border-left:3px solid #EA5B38!important;margin-left:18px!important;background:rgba(255,255,255,.03)!important}
.xpro-elementor-horizontal-menu-responsive-tablet .cgtech-mega__item{padding:11px 16px 11px 22px!important}
.xpro-elementor-horizontal-menu-responsive-tablet .cgtech-mega__it-title{font-size:13.5px!important;color:#AEB9D8!important;font-weight:400!important}
.xpro-elementor-horizontal-menu-responsive-tablet .xpro-elementor-horizontal-navbar-nav>li{border-top:0!important;position:relative!important}
.xpro-elementor-horizontal-menu-responsive-tablet .xpro-elementor-horizontal-navbar-nav>li+li::after{content:""!important;position:absolute!important;top:0;left:16px;right:16px;height:1px;background:rgba(255,255,255,.08)!important;pointer-events:none}
.xpro-elementor-horizontal-menu-responsive-tablet .cgtech-mobile-contact+li::after{display:none!important}
}

/* ===== mobile hamburger left + close match ===== */
@media(max-width:1024px){
.xpro-elementor-horizontal-menu-toggler-wrapper{text-align:left!important}
.elementor-element-8223c3d{text-align:left!important}
.elementor-element-8223c3d .xpro-elementor-horizontal-menu-toggler{margin-left:0!important;margin-right:auto!important}
.xpro-elementor-horizontal-menu-close{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;max-width:420px!important;height:44px!important;margin:0 auto 18px!important;background:transparent!important;border:1px solid rgba(255,255,255,.25)!important;border-radius:10px!important;color:#FFFFFF!important;box-sizing:border-box!important}
.xpro-elementor-horizontal-menu-close:hover{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.4)!important}
.xpro-elementor-horizontal-menu-close i,.xpro-elementor-horizontal-menu-close svg{color:#FFFFFF!important;fill:#FFFFFF!important;font-size:16px!important}
.xpro-elementor-horizontal-navbar-wrapper{text-align:center!important}
.xpro-elementor-horizontal-menu-close-wrapper{width:100%!important;max-width:420px!important;margin:0 auto!important;padding-top:16px!important;text-align:center!important}
.cgtech-mobile-contact{margin-top:6px!important}
}

/* ===== close final align ===== */
@media(max-width:1024px){
.xpro-elementor-horizontal-navbar-wrapper>.xpro-elementor-horizontal-menu-close,.xpro-elementor-horizontal-menu-close{width:100%!important;max-width:420px!important;margin-left:auto!important;margin-right:auto!important;height:44px!important;box-sizing:border-box!important;padding-left:0!important;padding-right:0!important}
.xpro-elementor-horizontal-menu-close-wrapper{max-width:420px!important;margin-left:auto!important;margin-right:auto!important;padding-left:0!important;padding-right:0!important;box-sizing:border-box!important}
}

/* ===== nav column align to close ===== */
@media(max-width:1024px){
.xpro-elementor-horizontal-navbar-wrapper>.xpro-elementor-horizontal-menu-close{max-width:420px!important;margin-left:auto!important;margin-right:auto!important;transform:translateX(12px)!important}
}

/* ===== mobile solid header navy (site-wide) ===== */
@media(max-width:1024px){
.cgtech-header--solid .cgtech-header,.cgtech-header--solid.xtb-header-sticky .cgtech-header,.xtb-header-sticky.cgtech-header--solid .cgtech-header{background:var(--cg-navy)!important;background-color:var(--cg-navy)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.cgtech-header--solid .cgtech-header__logo--white,.xtb-header-sticky.cgtech-header--solid .cgtech-header__logo--white{display:block!important}
.cgtech-header--solid .cgtech-header__logo--blue,.xtb-header-sticky.cgtech-header--solid .cgtech-header__logo--blue{display:none!important}
.cgtech-header--solid .xpro-elementor-horizontal-menu-toggler i,.cgtech-header--solid .xpro-elementor-horizontal-menu-toggler svg,.xtb-header-sticky.cgtech-header--solid .xpro-elementor-horizontal-menu-toggler i{color:#FFFFFF!important;fill:#FFFFFF!important}
.cgtech-header--solid .cgtech-header .nav-link,.cgtech-header--solid .cgtech-header .menu-link{color:#FFFFFF!important}
}

/* ===== proof-card navy variant (replaces green lip + icon) ===== */
.cgtech-proof-card--navy{ border-top-color:var(--cg-navy) !important; }
.cgtech-proof-card--navy::before{ background:var(--cg-navy) !important; }
.cgtech-proof-card--navy .pc-logo{ background:rgba(21,24,57,.10) !important; color:var(--cg-navy) !important; }

/* ===== proof-card blue variant (#1129B9) ===== */
.cgtech-proof-card--blue{ border-top-color:var(--cg-blue) !important; }
.cgtech-proof-card--blue::before{ background:var(--cg-blue) !important; }
.cgtech-proof-card--blue .pc-logo{ background:rgba(17,41,185,.10) !important; color:var(--cg-blue) !important; }

/* ===== icon green-out rotation (orange/CG-blue/sky, no green, alternating) ===== */
.cgtech-servicelinks--icons li:nth-child(1) .svc-ic{background:rgba(234,91,56,.10)!important}
.cgtech-servicelinks--icons li:nth-child(1) .svc-ic svg{stroke:var(--cg-orange)!important}
.cgtech-servicelinks--icons li:nth-child(2) .svc-ic{background:rgba(17,41,185,.09)!important}
.cgtech-servicelinks--icons li:nth-child(2) .svc-ic svg{stroke:var(--cg-blue)!important}
.cgtech-servicelinks--icons li:nth-child(3) .svc-ic{background:rgba(79,142,232,.12)!important}
.cgtech-servicelinks--icons li:nth-child(3) .svc-ic svg{stroke:var(--cg-sky)!important}
.cgtech-servicelinks--icons li:nth-child(4) .svc-ic{background:rgba(234,91,56,.10)!important}
.cgtech-servicelinks--icons li:nth-child(4) .svc-ic svg{stroke:var(--cg-orange)!important}
.cgtech-servicelinks--icons li:nth-child(5) .svc-ic{background:rgba(17,41,185,.09)!important}
.cgtech-servicelinks--icons li:nth-child(5) .svc-ic svg{stroke:var(--cg-blue)!important}
.cgtech-servicelinks--icons li:nth-child(6) .svc-ic{background:rgba(79,142,232,.12)!important}
.cgtech-servicelinks--icons li:nth-child(6) .svc-ic svg{stroke:var(--cg-sky)!important}
.cgtech-card-icon--teal{ background:rgba(17,41,185,.10)!important; color:var(--cg-blue)!important; }
.cgtech-mega__ic--teal{ background:#E6F1FB!important; color:#185FA5!important; }

/* ===== mega ic 4-colour palette (orange/blue/sky/slate, no green) ===== */
.cgtech-mega__ic--sky{ background:#EAF1FC; color:#2F6FC7; }
.cgtech-mega__ic--slate{ background:#EDF1F6; color:#41576F; }


/* ===== Homepage redesign: process timeline, quote band, CTA lines, trust logo tiles ===== */
.cgtech-approach--timeline { background: #FFFFFF !important; }
.cgtech-approach--timeline::before, .cgtech-approach--timeline::after { display: none !important; }
.cgtech-approach--timeline .cgtech-step-card { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; position: relative; }
.cgtech-approach--timeline .cgtech-step-card::before { content: ''; position: absolute; top: 16px; left: 48px; right: -24px; height: 2px; background: #DEE6F5; }
.cgtech-approach--timeline .cgtech-step-card:last-child::before { display: none; }
.cgtech-approach--timeline .cgtech-step-card__num, .cgtech-approach--timeline .cgtech-step-card__num p { display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; background: #1129B9 !important; color: #FFFFFF !important; font-size: 13px !important; font-weight: 700 !important; margin: 0 0 14px !important; position: relative; z-index: 1; }
.cgtech-approach--timeline .cgtech-step-card__title .elementor-heading-title { color: #151839 !important; }
.cgtech-approach--timeline .cgtech-step-card__body, .cgtech-approach--timeline .cgtech-step-card__body p { color: #5D7A99 !important; }
@media (max-width: 820px) { .cgtech-approach--timeline .cgtech-step-card::before { display: none; } }
.cgtech-quote-band { background: #FFFFFF !important; border: 1px solid #DEE6F5 !important; border-radius: 16px !important; padding: 28px 32px 24px 68px !important; margin-top: 28px !important; position: relative; }
.cgtech-quote-band::before { content: '\201C'; position: absolute; left: 26px; top: 18px; font-family: Georgia, serif; font-size: 52px; line-height: 1; color: #EA5B38; }
.cgtech-quote-band__text p { color: #151839 !important; font-size: 18px !important; line-height: 1.6 !important; margin: 0 0 10px !important; }
.cgtech-quote-band__attr p { color: #5D7A99 !important; font-size: 14px !important; margin: 0 !important; }
@media (max-width: 820px) { .cgtech-finalcta__headline br, .cgtech-finalcta__body br { display: none; } .cgtech-quote-band { padding: 24px 22px 20px 56px !important; } }

/* Homepage redesign: timeline text + quote glyph overrides */
.cgtech-approach--timeline .cgtech-section__headline .elementor-heading-title, .cgtech-approach--timeline .cgtech-section__headline h2 { color: #151839 !important; }
.cgtech-approach--timeline .cgtech-section__body, .cgtech-approach--timeline .cgtech-section__body p { color: #5D7A99 !important; }
.cgtech-section--stories .cgtech-quote-band::before, .cgtech-quote-band.e-con::before { content: '\201C' !important; position: absolute; left: 26px; top: 18px; font-family: Georgia, serif; font-size: 52px; line-height: 1; color: #EA5B38; width: auto; height: auto; background: none; }

/* Homepage redesign: quote band alignment */
.cgtech-quote-band, .cgtech-quote-band p { text-align: left !important; }

/* Homepage redesign: dark build cards (What we build section) */
.cgtech-card-grid--2 > .cgtech-card { background: #1D2147 !important; border: 1px solid #33396B !important; box-shadow: none !important; }
.cgtech-card-grid--2 > .cgtech-card:hover { background: #232858 !important; border-color: #3E4580 !important; }
.cgtech-section--dark .cgtech-card-grid--2 .cgtech-card .cgtech-card__title h3, .cgtech-bg-picture .cgtech-card-grid--2 .cgtech-card .cgtech-card__title h3, .cgtech-section--dark .cgtech-card-grid--2 .cgtech-card .cgtech-card__title .elementor-heading-title, .cgtech-bg-picture .cgtech-card-grid--2 .cgtech-card .cgtech-card__title .elementor-heading-title { color: #FFFFFF !important; }
.cgtech-card-grid--2 .elementor-icon-list-text { color: #DCE3F3 !important; }
.cgtech-card-grid--2 .cgtech-capability-card__link .elementor-button { color: #4F8EE8 !important; }
.cgtech-card-grid--2 .cgtech-card-icon { display: none !important; }

/* Homepage redesign: insights + FAQ two-column row */
.cgtech-if__row { display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; gap: 56px !important; align-items: flex-start !important; width: 100%; }
.cgtech-if__col { flex: 1 1 44% !important; min-width: 320px; max-width: 100%; text-align: left; }
.cgtech-if__col .cgtech-section__headline .elementor-heading-title { font-size: clamp(22px, 2.2vw, 28px) !important; text-align: left !important; margin: 6px 0 10px !important; }
.cgtech-if__col .cgtech-eyebrow, .cgtech-if__col .cgtech-eyebrow p { text-align: left !important; }
.cgtech-if__col--insights .xpro-post-grid-main, .cgtech-if__col--insights div.xpro-post-grid-main.cbp { display: flex !important; flex-direction: column !important; grid-template-columns: none !important; gap: 20px !important; height: auto !important; }
.cgtech-if__col--insights .xpro-post-grid-item { display: flex !important; flex-direction: row !important; align-items: center !important; gap: 18px !important; position: static !important; width: 100% !important; height: auto !important; margin: 0 !important; padding: 16px !important; background: linear-gradient(180deg, #F7FAFF 0%, #EEF4FD 100%) !important; border: 1px solid #E1EAF7 !important; border-radius: 16px !important; overflow: hidden !important; box-shadow: 0 1px 2px rgba(21,24,57,0.04) !important; transition: box-shadow .2s var(--ease-standard), transform .2s var(--ease-standard), border-color .2s var(--ease-standard) !important; }
.cgtech-if__col--insights .xpro-post-grid-item:hover { box-shadow: 0 12px 28px rgba(17,41,185,0.12) !important; transform: translateY(-2px) !important; border-color: #B9CBEC !important; }
.cgtech-if__col--insights .xpro-post-grid-image { flex: 0 0 138px !important; width: 138px !important; height: 96px !important; align-self: center !important; overflow: hidden !important; border-radius: 12px !important; margin: 0 !important; position: relative !important; box-shadow: 0 2px 8px rgba(21,24,57,0.10) !important; }
.cgtech-if__col--insights .xpro-post-grid-image img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; position: absolute !important; inset: 0 !important; }
.cgtech-if__col--insights .xpro-post-grid-content { flex: 1 1 auto !important; padding: 4px 8px 4px 0 !important; display: flex !important; flex-direction: column !important; justify-content: center !important; gap: 7px !important; min-width: 0 !important; }
.cgtech-if__col--insights .xpro-post-grid-meta-list { display: flex !important; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.cgtech-if__col--insights .xpro-post-grid-meta-date { font-size: 11px !important; letter-spacing: .04em !important; text-transform: uppercase !important; color: #8A97AD !important; margin: 0 !important; }
.cgtech-if__col--insights .xpro-post-grid-title { font-size: 15px !important; line-height: 1.4 !important; margin: 0 !important; font-weight: 600 !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; }
.cgtech-if__col--insights .xpro-post-grid-title a { color: #151839 !important; transition: color .2s var(--ease-standard) !important; }
.cgtech-if__col--insights .xpro-post-grid-item:hover .xpro-post-grid-title a { color: #1129B9 !important; }
.cgtech-if__col--insights .xpro-post-grid-excerpt { display: none !important; }
@media (max-width: 480px) { .cgtech-if__col--insights .xpro-post-grid-item { padding: 12px !important; gap: 14px !important; } .cgtech-if__col--insights .xpro-post-grid-image { flex-basis: 104px !important; width: 104px !important; height: 78px !important; } .cgtech-if__col--insights .xpro-post-grid-content { padding: 0 4px 0 0 !important; } }
@media (max-width: 820px) { .cgtech-if__row { flex-direction: column !important; gap: 32px !important; } .cgtech-if__col { flex: 1 1 100% !important; width: 100% !important; min-width: 0 !important; } }

/* ===== Homepage redesign v2: intro stats anchor, quote width, section rhythm ===== */
.cgtech-xform__stats { margin-top: 40px !important; width: 100%; }
.cgtech-section--xform .cgtech-section__body { margin-bottom: 0 !important; }
.cgtech-quote-band { max-width: 860px !important; margin-left: auto !important; margin-right: auto !important; }
/* Section rhythm: tighten connective light bands, keep dark/feature bands roomy */
.cgtech-section--sunken { padding-top: 88px !important; padding-bottom: 88px !important; }
.cgtech-section--safe { padding-top: 84px !important; padding-bottom: 84px !important; }
.cgtech-section--stories { padding-top: 96px !important; padding-bottom: 96px !important; }
.cgtech-section--approach { padding-top: 96px !important; padding-bottom: 96px !important; }
@media (max-width: 820px) { .cgtech-section--sunken, .cgtech-section--safe, .cgtech-section--stories, .cgtech-section--approach { padding-top: 56px !important; padding-bottom: 56px !important; } .cgtech-xform__stats { margin-top: 28px !important; } }

/* ===== Homepage xform: copy-left, cited facts-right ===== */
.cgtech-xform__row { display:flex !important; flex-direction:row !important; gap:56px !important; align-items:center !important; width:100%; }
.cgtech-xform__copy { flex:1 1 44% !important; max-width:44% !important; }
.cgtech-xform__copy .cgtech-section__body { margin-bottom:0 !important; }
.cgtech-facts-grid { flex:1 1 56% !important; max-width:56% !important; display:grid !important; grid-template-columns:repeat(2,1fr) !important; gap:16px !important; }
.cgtech-fact { background:#FFFFFF !important; border:1px solid #E6ECF7 !important; border-radius:16px !important; padding:24px !important; box-shadow:0 1px 3px rgba(21,24,57,0.05) !important; display:flex !important; flex-direction:column !important; align-items:flex-start !important; gap:0 !important; transition:box-shadow .25s var(--ease-standard), transform .25s var(--ease-standard), border-color .25s var(--ease-standard) !important; }
.cgtech-fact__icon { grid-row:1 / span 3 !important; align-self:start !important; }
.cgtech-fact__icon .elementor-icon { width:44px !important; height:44px !important; border-radius:11px !important; display:flex !important; align-items:center !important; justify-content:center !important; background:#EAF1FC !important; }
.cgtech-fact__icon .elementor-icon i, .cgtech-fact__icon .elementor-icon svg { font-size:20px !important; width:20px !important; height:20px !important; color:#1129B9 !important; fill:#1129B9 !important; }
.cgtech-fact__icon[data-tint='sky'] .elementor-icon { background:#EAF1FC !important; } .cgtech-fact__icon[data-tint='sky'] .elementor-icon i, .cgtech-fact__icon[data-tint='sky'] .elementor-icon svg { color:#4F8EE8 !important; fill:#4F8EE8 !important; }
.cgtech-fact__icon[data-tint='orange'] .elementor-icon { background:#FAECE7 !important; } .cgtech-fact__icon[data-tint='orange'] .elementor-icon i, .cgtech-fact__icon[data-tint='orange'] .elementor-icon svg { color:#EA5B38 !important; fill:#EA5B38 !important; }
.cgtech-fact:hover { box-shadow:0 12px 28px rgba(17,41,185,0.10) !important; transform:translateY(-2px) !important; }
.cgtech-fact__num { grid-column:2 !important; } .cgtech-fact__num .elementor-heading-title { font-size:28px !important; font-weight:800 !important; line-height:1.05 !important; color:#1129B9 !important; margin:0 !important; font-family:\"Plus Jakarta Sans\",sans-serif !important; }
.cgtech-fact__label { grid-column:2 !important; } .cgtech-fact__label p { font-size:12.5px !important; line-height:1.5 !important; color:#151839 !important; margin:6px 0 0 !important; }
.cgtech-fact__source { grid-column:2 !important; } .cgtech-fact__source p { font-size:11px !important; letter-spacing:.02em !important; color:#8A97AD !important; margin:6px 0 0 !important; }
@media (max-width:1024px){ .cgtech-xform__row{ flex-direction:column !important; gap:32px !important; align-items:stretch !important; } .cgtech-xform__copy,.cgtech-facts-grid{ max-width:100% !important; flex-basis:100% !important; } }
@media (max-width:600px){ .cgtech-facts-grid{ grid-template-columns:1fr !important; } }

/* Homepage xform: per-card icon tints by position (data-tint fallback) */
.cgtech-facts-grid > .cgtech-fact:nth-child(2) .cgtech-fact__icon .elementor-icon { background:#EAF1FC !important; } .cgtech-facts-grid > .cgtech-fact:nth-child(2) .cgtech-fact__icon .elementor-icon i, .cgtech-facts-grid > .cgtech-fact:nth-child(2) .cgtech-fact__icon .elementor-icon svg { color:#4F8EE8 !important; fill:#4F8EE8 !important; }
.cgtech-facts-grid > .cgtech-fact:nth-child(3) .cgtech-fact__icon .elementor-icon { background:#EAF1FC !important; } .cgtech-facts-grid > .cgtech-fact:nth-child(3) .cgtech-fact__icon .elementor-icon i, .cgtech-facts-grid > .cgtech-fact:nth-child(3) .cgtech-fact__icon .elementor-icon svg { color:#4F8EE8 !important; fill:#4F8EE8 !important; }

/* Homepage xform facts: definitive font + case overrides (scoped to facts-grid) */
.cgtech-facts-grid .cgtech-fact__num .elementor-heading-title { font-family:var(--font-heading) !important; font-size:30px !important; font-weight:700 !important; line-height:1.05 !important; color:var(--cg-blue) !important; letter-spacing:0 !important; text-transform:none !important; margin:0 !important; }
.cgtech-facts-grid .cgtech-fact__label p { font-family:var(--font-body) !important; font-size:13px !important; font-weight:400 !important; line-height:1.55 !important; letter-spacing:normal !important; text-transform:none !important; color:#151839 !important; margin:6px 0 0 !important; }
.cgtech-facts-grid .cgtech-fact__source p { font-family:var(--font-body) !important; font-size:11px !important; font-weight:400 !important; letter-spacing:normal !important; text-transform:none !important; color:#8A97AD !important; margin:8px 0 0 !important; }

/* Homepage xform facts: refined card layout v2 */
.cgtech-facts-grid .cgtech-fact__icon { order:1 !important; margin:0 0 16px !important; }
.cgtech-facts-grid .cgtech-fact__icon .elementor-icon { width:48px !important; height:48px !important; border-radius:12px !important; }
.cgtech-facts-grid .cgtech-fact__icon .elementor-icon i, .cgtech-facts-grid .cgtech-fact__icon .elementor-icon svg { font-size:22px !important; width:22px !important; height:22px !important; }
.cgtech-facts-grid .cgtech-fact__num { order:2 !important; }
.cgtech-facts-grid .cgtech-fact__num .elementor-heading-title { font-size:34px !important; }
.cgtech-facts-grid .cgtech-fact__label { order:3 !important; }
.cgtech-facts-grid .cgtech-fact__label p { margin:8px 0 0 !important; font-size:13.5px !important; line-height:1.55 !important; }
.cgtech-facts-grid .cgtech-fact__source { order:4 !important; margin-top:auto !important; padding-top:16px !important; width:100% !important; }
.cgtech-facts-grid .cgtech-fact__source p { margin:0 !important; padding-top:12px !important; border-top:1px solid #EEF2F9 !important; }
.cgtech-facts-grid .cgtech-fact:hover { box-shadow:0 14px 30px rgba(17,41,185,0.10) !important; transform:translateY(-3px) !important; border-color:#C8D6EF !important; }
.cgtech-facts-grid { align-items:stretch !important; }
.cgtech-facts-grid .cgtech-fact { height:100% !important; }

/* ===== Homepage: How we help bridge section ===== */
.cgtech-section--help .cgtech-help__row { display:flex !important; flex-direction:row !important; gap:56px !important; align-items:center !important; width:100%; }
.cgtech-section--help .cgtech-help__copy { flex:1 1 46% !important; max-width:46% !important; }
.cgtech-section--help .cgtech-eyebrow, .cgtech-section--help .cgtech-eyebrow p { color:var(--cg-orange) !important; }
.cgtech-section--help .cgtech-section__headline .elementor-heading-title { color:#FFFFFF !important; font-size:26px !important; line-height:1.2 !important; margin:8px 0 14px !important; }
.cgtech-section--help .cgtech-section__body p { color:#C7D0E4 !important; font-size:14px !important; line-height:1.65 !important; margin:0 !important; }
.cgtech-section--help .cgtech-help__steps { flex:1 1 54% !important; max-width:54% !important; display:flex !important; flex-direction:column !important; position:relative !important; }
.cgtech-section--help .cgtech-help__steps::before { content:'' !important; position:absolute !important; left:18px !important; top:34px !important; bottom:34px !important; width:2px !important; background:linear-gradient(180deg,var(--cg-sky),var(--cg-blue)) !important; z-index:0 !important; }
.cgtech-section--help .cgtech-help__step { display:flex !important; flex-direction:row !important; gap:18px !important; align-items:flex-start !important; padding:0 0 26px !important; position:relative !important; z-index:1 !important; }
.cgtech-section--help .cgtech-help__step:last-child { padding-bottom:0 !important; }
.cgtech-section--help .cgtech-help__badge { flex:0 0 38px !important; }
.cgtech-section--help .cgtech-help__badge p { width:38px !important; height:38px !important; border-radius:50% !important; background:#1D2147 !important; display:flex !important; align-items:center !important; justify-content:center !important; font-family:var(--font-heading) !important; font-weight:700 !important; font-size:15px !important; margin:0 !important; }
.cgtech-section--help .cgtech-help__badge--1 p { border:2px solid var(--cg-sky) !important; color:var(--cg-sky) !important; }
.cgtech-section--help .cgtech-help__badge--2 p { border:2px solid #3665C4 !important; color:#6B8FD4 !important; }
.cgtech-section--help .cgtech-help__badge--3 p { border:2px solid var(--cg-blue) !important; color:#5B78E0 !important; }
.cgtech-section--help .cgtech-help__text { padding-top:3px !important; }
.cgtech-section--help .cgtech-help__icon { margin:0 0 6px !important; }
.cgtech-section--help .cgtech-help__icon .elementor-icon i, .cgtech-section--help .cgtech-help__icon .elementor-icon svg { font-size:16px !important; width:16px !important; height:16px !important; color:#9FADC9 !important; fill:#9FADC9 !important; }
.cgtech-section--help .cgtech-help__label p { color:#FFFFFF !important; font-weight:600 !important; font-size:15px !important; line-height:1.35 !important; margin:0 !important; }
.cgtech-section--help .cgtech-help__desc p { color:#9FADC9 !important; font-size:13px !important; line-height:1.5 !important; margin:4px 0 0 !important; }
@media (max-width:1024px){ .cgtech-section--help .cgtech-help__row{ flex-direction:column !important; gap:32px !important; align-items:stretch !important; } .cgtech-section--help .cgtech-help__copy,.cgtech-section--help .cgtech-help__steps{ max-width:100% !important; flex-basis:100% !important; } }

/* How we help: icon alignment + spacing corrections */
.cgtech-section--help .cgtech-help__icon .elementor-widget-container { text-align:left !important; }
.cgtech-section--help .cgtech-help__icon .elementor-icon-wrapper { text-align:left !important; }
.cgtech-section--help .cgtech-help__icon .elementor-icon { display:inline-flex !important; align-items:center !important; justify-content:flex-start !important; width:auto !important; }
.cgtech-section--help .cgtech-help__step { padding-bottom:20px !important; align-items:flex-start !important; gap:16px !important; }
.cgtech-section--help .cgtech-help__step:last-child { padding-bottom:0 !important; }
.cgtech-section--help .cgtech-help__text { flex:1 1 auto !important; padding-top:4px !important; }
.cgtech-section--help .cgtech-help__icon { margin:0 0 8px !important; line-height:1 !important; }
.cgtech-section--help .cgtech-help__badge p { width:36px !important; height:36px !important; font-size:14px !important; }
.cgtech-section--help .cgtech-help__badge { flex:0 0 36px !important; }
.cgtech-section--help .cgtech-help__steps::before { left:17px !important; top:28px !important; bottom:28px !important; }
.cgtech-section--help .cgtech-help__label p { font-size:16px !important; }
.cgtech-section--help .cgtech-help__desc p { font-size:13.5px !important; margin-top:5px !important; }

/* How we help: collapse internal step gaps to match mock */
.cgtech-section--help .cgtech-help__text { padding-top:2px !important; gap:0 !important; }
.cgtech-section--help .cgtech-help__icon, .cgtech-section--help .cgtech-help__icon .elementor-widget-container { margin:0 !important; padding:0 !important; line-height:0 !important; }
.cgtech-section--help .cgtech-help__icon .elementor-icon { margin:0 !important; padding:0 !important; }
.cgtech-section--help .cgtech-help__label { margin:0 !important; }
.cgtech-section--help .cgtech-help__label .elementor-widget-container { margin:0 !important; }
.cgtech-section--help .cgtech-help__label p { margin:8px 0 0 !important; font-size:16px !important; line-height:1.3 !important; }
.cgtech-section--help .cgtech-help__desc .elementor-widget-container { margin:0 !important; }
.cgtech-section--help .cgtech-help__desc p { margin:5px 0 0 !important; font-size:13.5px !important; line-height:1.5 !important; }
.cgtech-section--help .cgtech-help__step { padding-bottom:14px !important; gap:16px !important; }
.cgtech-section--help .cgtech-help__steps > .cgtech-help__step + .cgtech-help__step { margin-top:14px !important; }

/* How we help: inline icon+label head row (mock match) */
.cgtech-section--help .cgtech-help__head { display:flex !important; flex-direction:row !important; align-items:center !important; gap:10px !important; width:100% !important; }
.cgtech-section--help .cgtech-help__head .cgtech-help__icon { flex:0 0 auto !important; width:auto !important; margin:0 !important; }
.cgtech-section--help .cgtech-help__head .cgtech-help__icon .elementor-icon i, .cgtech-section--help .cgtech-help__head .cgtech-help__icon .elementor-icon svg { font-size:18px !important; width:18px !important; height:18px !important; color:#9FADC9 !important; fill:#9FADC9 !important; }
.cgtech-section--help .cgtech-help__head .cgtech-help__label { flex:1 1 auto !important; }
.cgtech-section--help .cgtech-help__head .cgtech-help__label p { margin:0 !important; font-size:16px !important; line-height:1.3 !important; font-weight:600 !important; color:#FFFFFF !important; }
.cgtech-section--help .cgtech-help__desc p { margin:6px 0 0 !important; }
.cgtech-section--help .cgtech-help__step { padding-bottom:0 !important; gap:16px !important; align-items:flex-start !important; }
.cgtech-section--help .cgtech-help__steps > .cgtech-help__step + .cgtech-help__step { margin-top:22px !important; }
.cgtech-section--help .cgtech-help__text { padding-top:6px !important; gap:0 !important; }

/* How we help: final compaction to match mock proportions */
.cgtech-section--help .cgtech-help__steps > .cgtech-help__step + .cgtech-help__step { margin-top:14px !important; }
.cgtech-section--help .cgtech-help__desc p { margin:5px 0 0 !important; font-size:13.5px !important; line-height:1.5 !important; }
.cgtech-section--help .cgtech-help__text { padding-top:2px !important; }
.cgtech-section--help .cgtech-help__step { gap:16px !important; align-items:flex-start !important; }
.cgtech-section--help .cgtech-help__head { align-items:center !important; min-height:36px !important; margin-top:-8px !important; }
.cgtech-section--help .cgtech-help__badge p { width:36px !important; height:36px !important; }

/* How we help: tighten head height and step gaps (mock parity) */
.cgtech-section--help .cgtech-help__head { min-height:0 !important; margin-top:6px !important; align-items:center !important; }
.cgtech-section--help .cgtech-help__steps > .cgtech-help__step + .cgtech-help__step { margin-top:6px !important; }
.cgtech-section--help .cgtech-help__step { padding-bottom:8px !important; }
.cgtech-section--help .cgtech-help__desc p { margin:4px 0 0 !important; }

/* ===== How we help: DEFINITIVE spacing reset (single source of truth) ===== */
.cgtech-section--help .cgtech-help__step { padding:0 !important; margin:0 !important; gap:16px !important; align-items:flex-start !important; }
.cgtech-section--help .cgtech-help__steps > .cgtech-help__step + .cgtech-help__step { margin-top:22px !important; }
.cgtech-section--help .cgtech-help__text { padding:0 !important; margin:0 !important; gap:0 !important; }
.cgtech-section--help .cgtech-help__head { padding:0 !important; margin:0 !important; min-height:36px !important; display:flex !important; flex-direction:row !important; align-items:center !important; gap:10px !important; }
.cgtech-section--help .cgtech-help__head .elementor-widget-container { padding:0 !important; margin:0 !important; }
.cgtech-section--help .cgtech-help__label { margin:0 !important; padding:0 !important; }
.cgtech-section--help .cgtech-help__label p { margin:0 !important; padding:0 !important; font-size:16px !important; line-height:1.25 !important; font-weight:600 !important; color:#FFFFFF !important; }
.cgtech-section--help .cgtech-help__desc { margin:0 !important; padding:0 !important; }
.cgtech-section--help .cgtech-help__desc .elementor-widget-container { margin:0 !important; padding:0 !important; }
.cgtech-section--help .cgtech-help__desc p { margin:5px 0 0 !important; padding:0 !important; font-size:13.5px !important; line-height:1.5 !important; color:#9FADC9 !important; }
.cgtech-section--help .cgtech-help__badge { flex:0 0 36px !important; margin:0 !important; padding:0 !important; }
.cgtech-section--help .cgtech-help__badge .elementor-widget-container { margin:0 !important; padding:0 !important; }
.cgtech-section--help .cgtech-help__badge p { width:36px !important; height:36px !important; margin:0 !important; }

/* How we help: copy column tighten + line stop at badge 3 */
.cgtech-section--help .cgtech-help__copy { gap:0 !important; }
.cgtech-section--help .cgtech-help__copy .cgtech-eyebrow, .cgtech-section--help .cgtech-help__copy .cgtech-eyebrow p { margin:0 0 12px !important; }
.cgtech-section--help .cgtech-help__copy .cgtech-section__headline { margin:0 !important; }
.cgtech-section--help .cgtech-help__copy .cgtech-section__headline .elementor-heading-title { margin:0 0 14px !important; }
.cgtech-section--help .cgtech-help__copy .cgtech-section__body { margin:0 !important; }
.cgtech-section--help .cgtech-help__copy .cgtech-section__body p { margin:0 !important; }
.cgtech-section--help .cgtech-help__copy .cgtech-section__body .elementor-widget-container { margin:0 !important; }
.cgtech-section--help .cgtech-help__steps::before { top:28px !important; bottom:auto !important; height:207px !important; }

/* How we help: anchor row to top, line spans badge1->badge3 centres */
.cgtech-section--help .cgtech-help__row { align-items:flex-start !important; }
.cgtech-section--help .cgtech-help__copy { padding-top:0 !important; }
.cgtech-section--help .cgtech-help__steps::before { top:28px !important; bottom:28px !important; height:auto !important; }

/* How we help: line start aligned to badge 1 centre (50px) */
.cgtech-section--help .cgtech-help__steps::before { top:50px !important; bottom:auto !important; height:206px !important; }

/* How we help: match heading + body sizes to site standard (44px / 18px) */
.cgtech-section--help .cgtech-help__copy .cgtech-section__headline .elementor-heading-title { font-size:44px !important; line-height:1.15 !important; margin:0 0 20px !important; }
.cgtech-section--help .cgtech-help__copy .cgtech-section__body p { font-size:18px !important; line-height:1.6 !important; }

/* How we help: tighten step spacing to match mock grouping */
.cgtech-section--help .cgtech-help__steps > .cgtech-help__step + .cgtech-help__step { margin-top:10px !important; }
.cgtech-section--help .cgtech-help__desc p { margin:2px 0 0 !important; }

/* How we help: re-anchor line to tightened badge positions (50 -> 226) */
.cgtech-section--help .cgtech-help__steps::before { top:50px !important; bottom:auto !important; height:176px !important; }

/* How we help: enlarge step elements + centre line on badges */
.cgtech-section--help .cgtech-help__badge { flex:0 0 40px !important; }
.cgtech-section--help .cgtech-help__badge p { width:40px !important; height:40px !important; font-size:15px !important; }
.cgtech-section--help .cgtech-help__head { min-height:40px !important; gap:12px !important; }
.cgtech-section--help .cgtech-help__label p { font-size:19px !important; line-height:1.3 !important; }
.cgtech-section--help .cgtech-help__desc p { font-size:15px !important; line-height:1.55 !important; margin:4px 0 0 !important; }
.cgtech-section--help .cgtech-help__head .cgtech-help__icon .elementor-icon i, .cgtech-section--help .cgtech-help__head .cgtech-help__icon .elementor-icon svg { font-size:20px !important; width:20px !important; height:20px !important; }
.cgtech-section--help .cgtech-help__step { gap:18px !important; }

/* How we help: FINAL element sizes (high specificity) + line centre/anchor */
.cgtech-section--help .cgtech-help__head .cgtech-help__label p { font-size:19px !important; line-height:1.3 !important; font-weight:600 !important; color:#FFFFFF !important; margin:0 !important; }
.cgtech-section--help .cgtech-help__text .cgtech-help__desc p { font-size:15px !important; line-height:1.55 !important; margin:4px 0 0 !important; color:#9FADC9 !important; }
.cgtech-section--help .cgtech-help__steps::before { left:29px !important; top:30px !important; bottom:auto !important; height:194px !important; }

/* ===== How we help: JS-drawn responsive line (replaces fixed ::before) ===== */
.cgtech-section--help .cgtech-help__steps { position:relative !important; }
.cgtech-section--help .cgtech-help__steps::before { display:none !important; }
.cgtech-section--help .cgtech-help__line { position:absolute !important; width:2px !important; background:linear-gradient(180deg,var(--cg-sky),var(--cg-blue)) !important; transform:translateX(-1px) !important; z-index:0 !important; pointer-events:none !important; }
.cgtech-section--help .cgtech-help__step { position:relative !important; z-index:1 !important; }

/* How we help: mobile layout keeps badge inline so JS line stays aligned */
@media (max-width:1024px){
  .cgtech-section--help .cgtech-help__row { flex-direction:column !important; gap:36px !important; align-items:stretch !important; }
  .cgtech-section--help .cgtech-help__copy, .cgtech-section--help .cgtech-help__steps { max-width:100% !important; flex-basis:100% !important; }
  .cgtech-section--help .cgtech-help__step { flex-direction:row !important; align-items:flex-start !important; gap:16px !important; }
  .cgtech-section--help .cgtech-help__head { min-height:40px !important; }
}

/* ===== How we help: badge+head in shared top row (breakpoint-proof) ===== */
.cgtech-section--help .cgtech-help__step { flex-direction:column !important; gap:0 !important; align-items:stretch !important; }
.cgtech-section--help .cgtech-help__toprow { display:flex !important; flex-direction:row !important; align-items:center !important; gap:16px !important; }
.cgtech-section--help .cgtech-help__toprow .cgtech-help__badge { flex:0 0 40px !important; margin:0 !important; }
.cgtech-section--help .cgtech-help__toprow .cgtech-help__head { flex:1 1 auto !important; margin:0 !important; min-height:0 !important; }
.cgtech-section--help .cgtech-help__desc { margin:6px 0 0 56px !important; }
.cgtech-section--help .cgtech-help__desc p { margin:0 !important; }

/* How we help: badge aligns to first title line (flex-start toprow) */
.cgtech-section--help .cgtech-help__toprow { align-items:flex-start !important; }
.cgtech-section--help .cgtech-help__toprow .cgtech-help__head { align-items:center !important; min-height:40px !important; }
.cgtech-section--help .cgtech-help__toprow .cgtech-help__badge p { display:flex !important; }

/* ===== How we help: FORCE toprow zero-offset, top-align both children ===== */
.cgtech-section--help .cgtech-help__toprow { padding:0 !important; margin:0 !important; row-gap:0 !important; column-gap:16px !important; align-content:flex-start !important; align-items:center !important; min-height:40px !important; height:auto !important; flex-wrap:nowrap !important; }
.cgtech-section--help .cgtech-help__toprow > * { margin-top:0 !important; margin-bottom:0 !important; align-self:center !important; }
.cgtech-section--help .cgtech-help__toprow .cgtech-help__badge { padding:0 !important; }
.cgtech-section--help .cgtech-help__toprow .cgtech-help__head { padding:0 !important; min-height:0 !important; }
.cgtech-section--help .cgtech-help__toprow .elementor-widget-container { padding:0 !important; margin:0 !important; }

/* How we help: desc aligns under title text (badge40+gap16+icon20+gap12=88) */
.cgtech-section--help .cgtech-help__desc { margin:6px 0 0 88px !important; }

/* How we help: enlarge steps + vertically centre against copy */
.cgtech-section--help .cgtech-help__row { align-items:center !important; }
.cgtech-section--help .cgtech-help__badge { flex:0 0 48px !important; }
.cgtech-section--help .cgtech-help__badge p { width:48px !important; height:48px !important; font-size:17px !important; }
.cgtech-section--help .cgtech-help__toprow { min-height:48px !important; gap:16px !important; }
.cgtech-section--help .cgtech-help__toprow .cgtech-help__badge { flex:0 0 48px !important; }
.cgtech-section--help .cgtech-help__head .cgtech-help__label p { font-size:22px !important; line-height:1.3 !important; }
.cgtech-section--help .cgtech-help__desc p { font-size:16px !important; line-height:1.55 !important; }
.cgtech-section--help .cgtech-help__head .cgtech-help__icon .elementor-icon i, .cgtech-section--help .cgtech-help__head .cgtech-help__icon .elementor-icon svg { font-size:22px !important; width:22px !important; height:22px !important; }
.cgtech-section--help .cgtech-help__steps > .cgtech-help__step + .cgtech-help__step { margin-top:36px !important; }
.cgtech-section--help .cgtech-help__desc { margin:8px 0 0 64px !important; }

/* How we help: desc aligns under title text (badge48+gap16+icon22+gap12=98) */
.cgtech-section--help .cgtech-help__desc { margin:8px 0 0 98px !important; }

/* How we help: restore paragraph spacing in body to match stats section (20px gap) */
.cgtech-section--help .cgtech-help__copy .cgtech-section__body p { margin:0 !important; }
.cgtech-section--help .cgtech-help__copy .cgtech-section__body p + p { margin-top:20px !important; }

/* ===== What we build: outcome cards (2x2, dark, icon-led) ===== */
.cgtech-build-grid { display:grid !important; grid-template-columns:repeat(2,1fr) !important; gap:16px !important; width:100%; }
.cgtech-build-card { background:#1D2147 !important; border:1px solid #33396B !important; border-radius:14px !important; padding:24px !important; display:flex !important; flex-direction:column !important; gap:0 !important; transition:border-color .2s var(--ease-standard), transform .2s var(--ease-standard) !important; }
.cgtech-build-card:hover { border-color:#4A5286 !important; transform:translateY(-2px) !important; }
.cgtech-build__icon { margin:0 0 14px !important; }
.cgtech-build__icon .elementor-icon { width:44px !important; height:44px !important; border-radius:11px !important; display:flex !important; align-items:center !important; justify-content:center !important; background:#EAF1FC !important; }
.cgtech-build__icon .elementor-icon i, .cgtech-build__icon .elementor-icon svg { font-size:21px !important; width:21px !important; height:21px !important; color:#1129B9 !important; fill:#1129B9 !important; }
.cgtech-build__icon--sky .elementor-icon { background:#EAF1FC !important; } .cgtech-build__icon--sky .elementor-icon i, .cgtech-build__icon--sky .elementor-icon svg { color:#4F8EE8 !important; fill:#4F8EE8 !important; }
.cgtech-build__icon--orange .elementor-icon { background:#FAECE7 !important; } .cgtech-build__icon--orange .elementor-icon i, .cgtech-build__icon--orange .elementor-icon svg { color:#EA5B38 !important; fill:#EA5B38 !important; }
.cgtech-build__title .elementor-heading-title { color:#FFFFFF !important; font-size:18px !important; font-weight:700 !important; line-height:1.3 !important; margin:0 0 8px !important; font-family:var(--font-heading) !important; }
.cgtech-build__desc p { color:#9FADC9 !important; font-size:13.5px !important; line-height:1.55 !important; margin:0 !important; }
@media (max-width:820px){ .cgtech-build-grid { grid-template-columns:1fr !important; } }

/* ===== Testimonial rotator (CMS-driven, 6s fade, pause on hover) ===== */
.cgtech-quote-rotator { position:relative !important; }
.cgtech-quote-rotator .cgtech-quote-slide { opacity:0 !important; visibility:hidden !important; position:absolute !important; left:0 !important; right:0 !important; top:0 !important; transition:opacity .6s var(--ease-standard), visibility .6s var(--ease-standard) !important; pointer-events:none !important; }
.cgtech-quote-rotator .cgtech-quote-slide.is-active { opacity:1 !important; visibility:visible !important; position:relative !important; pointer-events:auto !important; }
.cgtech-quote-dots { display:flex !important; gap:8px !important; justify-content:center !important; margin:18px 0 0 !important; }
.cgtech-quote-dot { width:8px !important; height:8px !important; border-radius:50% !important; border:0 !important; padding:0 !important; background:#C8D6EF !important; cursor:pointer !important; transition:background .2s var(--ease-standard), transform .2s var(--ease-standard) !important; }
.cgtech-quote-dot:hover { background:#8FA8D6 !important; }
.cgtech-quote-dot.is-active { background:#1129B9 !important; transform:scale(1.25) !important; }
@media (prefers-reduced-motion: reduce){ .cgtech-quote-rotator .cgtech-quote-slide { transition:none !important; } }

/* Technologies section: balance the subhead lines (even words per line) */
.cgtech-section--platforms .cgtech-section__body { max-width:830px !important; margin-left:auto !important; margin-right:auto !important; }
.cgtech-section--platforms .cgtech-section__body p { text-wrap:balance !important; }

/* Safe by design: paragraph spacing (20px gap to match other sections) */
.cgtech-section--safe .cgtech-safe__body p + p { margin-top:20px !important; }

/* ===== Working with us (engagement) section ===== */
.cgtech-engage-wrap { display:flex !important; flex-direction:column !important; gap:0 !important; width:100%; }
.cgtech-engage-grid { display:grid !important; grid-template-columns:1fr 1fr !important; gap:16px !important; width:100%; }
.cgtech-engage-card { background:#FFFFFF !important; border:1px solid #E1EAF7 !important; border-radius:14px !important; padding:26px !important; display:flex !important; flex-direction:column !important; gap:0 !important; transition:border-color .2s var(--ease-standard), transform .2s var(--ease-standard) !important; }
.cgtech-engage-card:hover { border-color:#C8D6EF !important; transform:translateY(-2px) !important; }
.cgtech-engage__kicker p { margin:0 0 4px !important; font-family:var(--font-mono),monospace !important; font-size:12px !important; font-weight:700 !important; letter-spacing:0.5px !important; text-transform:uppercase !important; }
.cgtech-engage__kicker--orange p { color:var(--cg-orange) !important; }
.cgtech-engage__kicker--blue p { color:var(--cg-blue) !important; }
.cgtech-engage__title .elementor-heading-title { color:#151839 !important; font-family:var(--font-heading) !important; font-size:19px !important; font-weight:700 !important; line-height:1.3 !important; margin:0 0 9px !important; }
.cgtech-engage__body p { color:#5D7A99 !important; font-size:14px !important; line-height:1.6 !important; margin:0 !important; }
.cgtech-engage-ticks { display:flex !important; flex-wrap:wrap !important; gap:14px 26px !important; margin:22px 0 0 !important; padding:20px 0 0 !important; border-top:1px solid #E1EAF7 !important; width:100%; }
.cgtech-engage__tick { display:flex !important; flex-direction:row !important; align-items:center !important; gap:8px !important; width:auto !important; flex:0 0 auto !important; }
.cgtech-engage__tickicon { flex:0 0 auto !important; }
.cgtech-engage__tickicon .elementor-icon i, .cgtech-engage__tickicon .elementor-icon svg { font-size:15px !important; width:15px !important; height:15px !important; color:var(--cg-teal,#1AA39A) !important; fill:var(--cg-teal,#1AA39A) !important; }
.cgtech-engage__ticktext p { margin:0 !important; font-size:13.5px !important; color:#151839 !important; font-weight:500 !important; }
@media (max-width:820px){ .cgtech-engage-grid { grid-template-columns:1fr !important; } .cgtech-engage-ticks { gap:12px 18px !important; } }

/* ===== Footer trust strip (site-wide, gov panels + logos) ===== */
.cgtech-trust-strip { display:flex !important; flex-direction:row !important; align-items:center !important; justify-content:space-between !important; gap:36px !important; flex-wrap:wrap !important; padding:26px 0 !important; margin:0 0 8px !important; border-bottom:1px solid rgba(255,255,255,0.10) !important; width:100% !important; }
.cgtech-trust__copy { flex:1 1 300px !important; min-width:260px !important; }
.cgtech-trust__eyebrow { margin:0 0 6px !important; font-family:var(--font-mono),monospace !important; font-size:11px !important; font-weight:700 !important; letter-spacing:1px !important; text-transform:uppercase !important; color:var(--cg-orange) !important; }
.cgtech-trust__statement { margin:0 !important; font-size:14px !important; line-height:1.55 !important; color:#C7D0E4 !important; max-width:420px !important; }
.cgtech-trust__logos { display:flex !important; flex-direction:row !important; align-items:stretch !important; gap:14px !important; flex:0 1 auto !important; flex-wrap:wrap !important; }
.cgtech-trust__tile { background:#FFFFFF !important; border-radius:10px !important; padding:12px 16px !important; height:72px !important; display:flex !important; align-items:center !important; justify-content:center !important; flex:0 0 auto !important; min-width:130px !important; box-sizing:border-box !important; }
.cgtech-trust__logo img { max-height:48px !important; width:auto !important; max-width:150px !important; object-fit:contain !important; display:block !important; }
@media (max-width:820px){ .cgtech-trust-strip { flex-direction:column !important; align-items:flex-start !important; gap:20px !important; } .cgtech-trust__logos { width:100% !important; } .cgtech-trust__tile { flex:1 1 auto !important; } }

/* Footer trust strip: fix full-width tile bug (Elementor child width override) ===== */
.cgtech-footer .cgtech-trust-strip { flex-wrap:nowrap !important; }
.cgtech-footer .cgtech-trust-strip > .cgtech-trust__copy { flex:0 1 420px !important; width:auto !important; max-width:420px !important; }
.cgtech-footer .cgtech-trust-strip > .cgtech-trust__logos { flex:0 0 auto !important; width:auto !important; max-width:none !important; }
.cgtech-footer .cgtech-trust__logos > .cgtech-trust__tile { flex:0 0 auto !important; width:150px !important; max-width:150px !important; min-width:0 !important; }
@media (max-width:820px){ .cgtech-footer .cgtech-trust-strip { flex-wrap:wrap !important; } .cgtech-footer .cgtech-trust-strip > .cgtech-trust__copy { flex:1 1 100% !important; max-width:100% !important; } .cgtech-footer .cgtech-trust-strip > .cgtech-trust__logos { flex:1 1 100% !important; } .cgtech-footer .cgtech-trust__logos > .cgtech-trust__tile { flex:1 1 auto !important; width:auto !important; max-width:none !important; } }

/* Working with us: fix white-on-white headline/body (light section) */
.cgtech-section--engage .cgtech-section__headline .elementor-heading-title { color:#FFFFFF !important; }
.cgtech-section--engage .cgtech-section__body, .cgtech-section--engage .cgtech-section__body p { color:#C7D0E4 !important; }

/* Working with us: dark section - tick text light, cards stay white */
.cgtech-section--engage .cgtech-engage__ticktext p { color:#FFFFFF !important; }
.cgtech-section--engage.cgtech-bg-picture { position:relative !important; }
.cgtech-section--engage.cgtech-bg-picture::before { content:'' !important; position:absolute !important; inset:0 !important; background:linear-gradient(90deg, rgba(21,24,57,0.92) 0%, rgba(21,24,57,0.82) 55%, rgba(21,24,57,0.68) 100%) !important; z-index:0 !important; pointer-events:none !important; }
.cgtech-section--engage.cgtech-bg-picture > * { position:relative !important; z-index:1 !important; }

/* Working with us: feature grid (3x2, replaces ticks) ===== */
.cgtech-engage-wrap .cgtech-feat-grid { display:grid !important; grid-template-columns:repeat(3,1fr) !important; gap:18px 24px !important; width:100% !important; margin:26px 0 0 !important; padding:24px 0 0 !important; border-top:1px solid rgba(255,255,255,0.12) !important; }
.cgtech-feat { display:flex !important; flex-direction:row !important; align-items:flex-start !important; gap:13px !important; width:auto !important; }
.cgtech-feat__icon { flex:0 0 auto !important; margin:0 !important; }
.cgtech-feat__icon .elementor-icon { width:38px !important; height:38px !important; border-radius:9px !important; background:rgba(79,142,232,0.16) !important; display:flex !important; align-items:center !important; justify-content:center !important; }
.cgtech-feat__icon .elementor-icon i, .cgtech-feat__icon .elementor-icon svg { font-size:17px !important; width:17px !important; height:17px !important; color:#7BA7EE !important; fill:#7BA7EE !important; }
.cgtech-feat__text { flex:1 1 auto !important; width:auto !important; display:flex !important; flex-direction:column !important; gap:0 !important; }
.cgtech-feat__title .elementor-heading-title { color:#FFFFFF !important; font-family:var(--font-heading) !important; font-size:15px !important; font-weight:700 !important; line-height:1.3 !important; margin:0 0 3px !important; }
.cgtech-feat__desc p { color:#C7D0E4 !important; font-size:12.5px !important; line-height:1.5 !important; margin:0 !important; }
@media (max-width:1024px){ .cgtech-engage-wrap .cgtech-feat-grid { grid-template-columns:repeat(2,1fr) !important; } }
@media (max-width:600px){ .cgtech-engage-wrap .cgtech-feat-grid { grid-template-columns:1fr !important; } }

/* ===== Working with us: REDESIGN (solid navy, dark-glass cards) ===== */
.cgtech-section--engage { background:linear-gradient(120deg,#0F1230 0%,#151839 45%,#1B2044 100%) !important; position:relative !important; overflow:hidden !important; }
.cgtech-section--engage::after { content:'' !important; position:absolute !important; inset:0 !important; background:radial-gradient(680px 320px at 84% 78%, rgba(79,142,232,0.10), transparent) !important; pointer-events:none !important; z-index:0 !important; }
.cgtech-section--engage > * { position:relative !important; z-index:1 !important; }
/* headline + intro */
.cgtech-section--engage .cgtech-section__headline .elementor-heading-title { color:#FFFFFF !important; }
.cgtech-section--engage .cgtech-section__body, .cgtech-section--engage .cgtech-section__body p { color:#AEB9D4 !important; }
/* dark-glass cards with coloured top accent */
.cgtech-section--engage .cgtech-engage-card { background:rgba(255,255,255,0.05) !important; border:1px solid rgba(255,255,255,0.12) !important; border-top:3px solid #4F8EE8 !important; border-radius:14px !important; }
.cgtech-section--engage .cgtech-engage-card:first-child { border-top-color:#EA5B38 !important; }
.cgtech-section--engage .cgtech-engage-card:hover { background:rgba(255,255,255,0.08) !important; border-color:rgba(255,255,255,0.20) !important; transform:translateY(-2px) !important; }
.cgtech-section--engage .cgtech-engage-card:first-child:hover { border-top-color:#EA5B38 !important; }
.cgtech-section--engage .cgtech-engage__title .elementor-heading-title { color:#FFFFFF !important; }
.cgtech-section--engage .cgtech-engage__body p { color:#AEB9D4 !important; }
.cgtech-section--engage .cgtech-engage__kicker--blue p { color:#7BA7EE !important; }
/* stronger feature grid */
.cgtech-engage-wrap .cgtech-feat-grid { gap:26px 30px !important; }
.cgtech-feat__icon .elementor-icon { width:42px !important; height:42px !important; border-radius:11px !important; background:rgba(79,142,232,0.18) !important; border:1px solid rgba(79,142,232,0.28) !important; }
.cgtech-feat__icon .elementor-icon i, .cgtech-feat__icon .elementor-icon svg { font-size:18px !important; width:18px !important; height:18px !important; color:#8FB4F2 !important; fill:#8FB4F2 !important; }
.cgtech-feat__title .elementor-heading-title { color:#FFFFFF !important; font-size:15.5px !important; font-weight:700 !important; margin:0 0 4px !important; }
.cgtech-feat__desc p { color:#9FAAC6 !important; font-size:13px !important; line-height:1.5 !important; }

/* Working with us: readability pass (Opt A cards + Opt C feature panels) ===== */
/* Opt A: brighter card + intro body text */
.cgtech-section--engage .cgtech-section__body, .cgtech-section--engage .cgtech-section__body p { color:#D4DBEC !important; }
.cgtech-section--engage .cgtech-engage__body p { color:#D4DBEC !important; }
/* Opt C: each feature gets a faint panel */
.cgtech-engage-wrap .cgtech-feat-grid { gap:14px !important; border-top:1px solid rgba(255,255,255,0.12) !important; padding-top:26px !important; }
.cgtech-feat { background:rgba(255,255,255,0.04) !important; border:1px solid rgba(255,255,255,0.09) !important; border-radius:11px !important; padding:16px 17px !important; align-items:flex-start !important; }
.cgtech-feat:hover { background:rgba(255,255,255,0.07) !important; border-color:rgba(255,255,255,0.15) !important; }
.cgtech-feat__icon .elementor-icon { width:38px !important; height:38px !important; background:rgba(79,142,232,0.20) !important; border:1px solid rgba(79,142,232,0.30) !important; }
.cgtech-feat__icon .elementor-icon i, .cgtech-feat__icon .elementor-icon svg { color:#A5C4F5 !important; fill:#A5C4F5 !important; }
.cgtech-feat__title .elementor-heading-title { font-size:14.5px !important; }
.cgtech-feat__desc p { color:#C3CCE2 !important; font-size:12.5px !important; }

/* Working with us: width-align cards to feature grid + lift contrast ===== */
/* align: kill card-grid padding, match gap to feature grid (14px) */
.cgtech-section--engage .cgtech-engage-grid { padding:0 !important; gap:14px !important; }
/* lift card fill a touch + lighter body text */
.cgtech-section--engage .cgtech-engage-card { background:rgba(255,255,255,0.07) !important; border-color:rgba(255,255,255,0.15) !important; }
.cgtech-section--engage .cgtech-engage-card:hover { background:rgba(255,255,255,0.10) !important; }
.cgtech-section--engage .cgtech-engage__body p { color:#E2E7F3 !important; }
.cgtech-section--engage .cgtech-section__body, .cgtech-section--engage .cgtech-section__body p { color:#E2E7F3 !important; }
/* feature panels: lift fill + lighter text to match */
.cgtech-feat { background:rgba(255,255,255,0.06) !important; border-color:rgba(255,255,255,0.13) !important; }
.cgtech-feat:hover { background:rgba(255,255,255,0.09) !important; }
.cgtech-feat__desc p { color:#D2DAEC !important; }

/* ===== Footer trust strip: Option 3 - single unified white panel ===== */
/* the logos container BECOMES the white panel */
.cgtech-footer .cgtech-trust__logos { background:rgba(255,255,255,0.97) !important; border-radius:12px !important; box-shadow:0 4px 20px rgba(0,0,0,0.22) !important; padding:14px 10px !important; display:flex !important; flex-direction:row !important; align-items:center !important; gap:0 !important; flex:0 0 auto !important; width:auto !important; }
/* tiles become transparent cells with dividers */
.cgtech-footer .cgtech-trust__logos > .cgtech-trust__tile { background:transparent !important; border-radius:0 !important; box-shadow:none !important; padding:6px 26px !important; flex:0 0 auto !important; width:150px !important; max-width:150px !important; position:relative !important; display:flex !important; align-items:center !important; justify-content:center !important; }
/* divider between tiles (not before the first) */
.cgtech-footer .cgtech-trust__logos > .cgtech-trust__tile + .cgtech-trust__tile::before { content:'' !important; position:absolute !important; left:0 !important; top:50% !important; transform:translateY(-50%) !important; width:1px !important; height:34px !important; background:#E2E6EE !important; }
.cgtech-footer .cgtech-trust__tile .cgtech-trust__logo img { max-height:46px !important; width:auto !important; object-fit:contain !important; }
@media (max-width:820px){ .cgtech-footer .cgtech-trust__logos { flex-wrap:wrap !important; justify-content:center !important; } .cgtech-footer .cgtech-trust__logos > .cgtech-trust__tile { padding:8px 18px !important; } .cgtech-footer .cgtech-trust__logos > .cgtech-trust__tile + .cgtech-trust__tile::before { display:none !important; } }

/* Footer trust panel: pure white + bigger logos ===== */
.cgtech-footer .cgtech-trust__logos { background:#FFFFFF !important; padding:18px 14px !important; }
.cgtech-footer .cgtech-trust__logos > .cgtech-trust__tile { width:180px !important; max-width:180px !important; padding:8px 24px !important; }
.cgtech-footer .cgtech-trust__tile .cgtech-trust__logo img { max-height:64px !important; width:auto !important; }
.cgtech-footer .cgtech-trust__logos > .cgtech-trust__tile + .cgtech-trust__tile::before { height:44px !important; }

/* Footer trust panel: BIGGER logos, tighter padding ===== */
.cgtech-footer .cgtech-trust__logos { padding:16px 8px !important; }
.cgtech-footer .cgtech-trust__logos > .cgtech-trust__tile { width:210px !important; max-width:210px !important; padding:6px 16px !important; }
.cgtech-footer .cgtech-trust__tile .cgtech-trust__logo img { max-height:88px !important; width:auto !important; max-width:100% !important; }
/* first tile (QLD wide lockup) gets more width so it can grow */
.cgtech-footer .cgtech-trust__logos > .cgtech-trust__tile:first-child { width:240px !important; max-width:240px !important; }
.cgtech-footer .cgtech-trust__logos > .cgtech-trust__tile + .cgtech-trust__tile::before { height:56px !important; }

/* Header logo: enlarge to 180px to match footer */
.cgtech-header__logo img { max-width:180px !important; }
.cgtech-header__logo-wrap { width:auto !important; min-width:180px !important; }

/* === Direction C: capability set - page 127 pilot === */
body.parent-pageid-126 .cgtech-cap-lead p{font-family:var(--font-body)!important;font-size:16.5px!important;line-height:1.6!important;color:var(--text-body)!important;max-width:560px!important;margin:14px 0 0!important;}
body.parent-pageid-126 .cgtech-cap-frame{background:linear-gradient(150deg,rgba(17,41,185,.05),rgba(79,142,232,.06))!important;border:1px solid var(--rule)!important;border-radius:24px!important;padding:16px!important;margin-top:40px!important;}
body.parent-pageid-126 .cgtech-cap-cat{align-items:center!important;gap:10px!important;padding:12px 8px 16px!important;}
body.parent-pageid-126 .cgtech-cap-cat__ic{flex:0 0 auto!important;}
body.parent-pageid-126 .cgtech-cap-cat__ic .elementor-icon{color:#1129B9!important;}
body.parent-pageid-126 .cgtech-cap-cat__ic .elementor-icon i{font-size:15px!important;}
body.parent-pageid-126 .cgtech-cap-cat__ic .elementor-icon svg{width:15px!important;height:15px!important;fill:#1129B9!important;}
body.parent-pageid-126 .cgtech-cap-cat__label .elementor-heading-title{font-family:var(--font-heading)!important;font-size:15px!important;font-weight:600!important;letter-spacing:.02em!important;color:var(--cg-navy)!important;margin:0!important;}
body.parent-pageid-126 .cgtech-cap-grid{background:var(--rule)!important;border-radius:16px!important;overflow:hidden!important;gap:1px!important;padding:0!important;}
body.parent-pageid-126 .cgtech-cap-grid > .cgtech-cap-card{width:calc(50% - .5px)!important;min-width:280px!important;background:#FFFFFF!important;border:0!important;border-left:0!important;border-radius:0!important;box-shadow:none!important;padding:30px 32px!important;gap:20px!important;align-items:flex-start!important;transform:none!important;transition:background .18s ease!important;}
body.parent-pageid-126 .cgtech-cap-grid > .cgtech-cap-card:hover{transform:none!important;box-shadow:none!important;background:#FBFCFF!important;border-left:0!important;}
body.parent-pageid-126 .cgtech-cap-card__ic{flex:0 0 auto!important;}
body.parent-pageid-126 .cgtech-cap-card__ic .elementor-icon{width:50px!important;height:50px!important;border-radius:13px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;}
body.parent-pageid-126 .cgtech-cap-card__ic .elementor-icon i{font-size:20px!important;}
body.parent-pageid-126 .cgtech-cap-card__ic .elementor-icon svg{width:20px!important;height:20px!important;fill:currentColor!important;}
body.parent-pageid-126 .cgtech-cap-card--a .cgtech-cap-card__ic .elementor-icon{background:rgba(17,41,185,.09)!important;color:#1129B9!important;}
body.parent-pageid-126 .cgtech-cap-card--b .cgtech-cap-card__ic .elementor-icon{background:rgba(79,142,232,.13)!important;color:#4F8EE8!important;}
body.parent-pageid-126 .cgtech-cap-card--c .cgtech-cap-card__ic .elementor-icon{background:rgba(26,163,154,.13)!important;color:#1AA39A!important;}
body.parent-pageid-126 .cgtech-cap-card--d .cgtech-cap-card__ic .elementor-icon{background:rgba(93,122,153,.13)!important;color:#5D7A99!important;}
body.parent-pageid-126 .cgtech-cap-card__content{flex:1 1 auto!important;gap:0!important;}
body.parent-pageid-126 .cgtech-cap-card__content .cgtech-cap-card__title h3{margin:0 0 8px!important;}
body.parent-pageid-126 .cgtech-cap-card__out{margin-top:14px!important;}
body.parent-pageid-126 .cgtech-cap-card__out .elementor-icon-list-item{display:flex!important;align-items:center!important;}
body.parent-pageid-126 .cgtech-cap-card__out .elementor-icon-list-icon i{color:#1AA39A!important;font-size:12px!important;}
body.parent-pageid-126 .cgtech-cap-card__out .elementor-icon-list-icon svg{fill:#1AA39A!important;width:12px!important;height:12px!important;}
body.parent-pageid-126 .cgtech-cap-card__out .elementor-icon-list-text{font-family:var(--font-body)!important;font-size:12.5px!important;font-weight:600!important;color:var(--cg-navy)!important;}
@media (max-width:900px){body.parent-pageid-126 .cgtech-cap-grid > .cgtech-cap-card{width:100%!important;}}

/* === Section padding normalise - page 127 pilot === */
body.parent-pageid-126 .cgtech-section--sol-caps,body.parent-pageid-126 .cgtech-section--story,body.parent-pageid-126 .cgtech-section--proof,body.parent-pageid-126 .cgtech-section--faq,body.parent-pageid-126 .cgtech-section--sol-cta{padding-top:88px!important;padding-bottom:88px!important;}
body.parent-pageid-126 .cgtech-section--sol-hero{padding-bottom:88px!important;}

/* === CTA v2 (split, branded navy) - page 127 pilot === */
.cgtech-cta2{background:radial-gradient(1100px 380px at 85% -10%,rgba(79,142,232,.28),transparent 60%),radial-gradient(900px 480px at 0% 120%,rgba(17,41,185,.35),transparent 55%),linear-gradient(135deg,#161a42 0%,#10122e 100%)!important;position:relative;isolation:isolate;overflow:hidden;}
.cgtech-cta2::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(560px 300px at 82% 18%,#000,transparent 70%);mask-image:radial-gradient(560px 300px at 82% 18%,#000,transparent 70%);pointer-events:none;z-index:0;}
.cgtech-cta2 .cgtech-section__inner{position:relative;z-index:1;display:grid!important;grid-template-columns:1.15fr .85fr;gap:52px;align-items:center;}
.cgtech-cta2 .cgtech-eyebrow,.cgtech-cta2 .cgtech-eyebrow p{color:var(--cg-orange)!important;}
.cgtech-cta2 .cgtech-sol-cta__title h2{color:#fff!important;font-size:40px!important;line-height:1.1!important;}
.cgtech-cta2 .cgtech-sol-cta__body p{color:#c4cde6!important;font-size:16.5px!important;line-height:1.6!important;max-width:460px!important;}
.cgtech-cta2 .cgtech-cta2__card{background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:16px!important;padding:28px 30px!important;}
.cgtech-cta2 .cgtech-cta2__card-title h3{color:#fff!important;font-size:14px!important;font-weight:600!important;text-transform:uppercase!important;letter-spacing:.12em!important;margin:0 0 18px!important;}
.cgtech-cta2 .cgtech-cta2__list .elementor-icon-list-items{display:grid!important;gap:15px!important;}
.cgtech-cta2 .cgtech-cta2__list .elementor-icon-list-item{align-items:flex-start!important;}
.cgtech-cta2 .cgtech-cta2__list .elementor-icon-list-icon i{color:#1AA39A!important;font-size:14px!important;}
.cgtech-cta2 .cgtech-cta2__list .elementor-icon-list-icon svg{fill:#1AA39A!important;width:14px!important;height:14px!important;}
.cgtech-cta2 .cgtech-cta2__list .elementor-icon-list-text{color:#dde3f2!important;font-size:15px!important;line-height:1.4!important;}
@media(max-width:820px){.cgtech-cta2 .cgtech-section__inner{grid-template-columns:1fr!important;gap:28px!important;}.cgtech-cta2 .cgtech-sol-cta__title h2{font-size:30px!important;}}

/* CTA v2 grid fix: target boxed inner wrapper */
.cgtech-cta2 .cgtech-section__inner{display:block!important;}
.cgtech-cta2 .cgtech-section__inner > .e-con-inner{display:grid!important;grid-template-columns:1.15fr .85fr!important;gap:52px!important;align-items:center!important;max-width:none!important;}
@media(max-width:820px){.cgtech-cta2 .cgtech-section__inner > .e-con-inner{grid-template-columns:1fr!important;gap:28px!important;}}

/* === Featured full-width offering + floating CTA - page 127 pilot === */
body.parent-pageid-126 .cgtech-cap-grid > .cgtech-cap-card--full{width:100%!important;max-width:100%!important;border-left:3px solid #1129B9!important;}
body.parent-pageid-126 .cgtech-cap-card--full .cgtech-cap-card__ic .elementor-icon{background:rgba(17,41,185,.09)!important;color:#1129B9!important;}
body.parent-pageid-126 .cgtech-cap-card--full .cgtech-cap-card__content{max-width:760px!important;}
.cgtech-ctawrap{padding-top:72px!important;padding-bottom:72px!important;background:#F4F7FB!important;}
.cgtech-ctacard{max-width:1000px!important;margin:0 auto!important;padding:74px 44px!important;}
.cgtech-ctacard .cgtech-finalcta__body p{margin-bottom:26px!important;}
.cgtech-ctacard__reassure{margin-top:24px!important;}
.cgtech-ctacard__reassure .elementor-icon-list-items{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:10px 24px!important;}
.cgtech-ctacard__reassure .elementor-icon-list-item{margin:0!important;padding:0!important;}
.cgtech-ctacard__reassure .elementor-icon-list-icon{margin-right:8px!important;}
.cgtech-ctacard__reassure .elementor-icon-list-icon i{color:#1AA39A!important;font-size:13px!important;}
.cgtech-ctacard__reassure .elementor-icon-list-icon svg{fill:#1AA39A!important;width:13px!important;height:13px!important;}
.cgtech-ctacard__reassure .elementor-icon-list-text{color:rgba(255,255,255,.82)!important;font-size:13.5px!important;}
@media(max-width:820px){.cgtech-ctacard{padding:52px 26px!important;}}

/* === CTA v3: floating split (restore Option 2 in floating card) - page 127 === */
.cgtech-ctacard{max-width:1120px!important;margin:0 auto!important;padding:58px 56px!important;text-align:left!important;}
.cgtech-ctacard__split{display:grid!important;grid-template-columns:1.1fr .9fr!important;gap:48px!important;align-items:center!important;}
.cgtech-ctacard__copy{text-align:left!important;}
.cgtech-ctacard__copy .cgtech-eyebrow,.cgtech-ctacard__copy .cgtech-eyebrow p{color:var(--cg-orange)!important;text-align:left!important;}
.cgtech-ctacard__title h2{color:#fff!important;font-family:var(--font-heading)!important;font-size:34px!important;font-weight:700!important;line-height:1.12!important;letter-spacing:-.01em!important;text-align:left!important;margin:14px 0 0!important;}
.cgtech-ctacard__body p{color:#c4cde6!important;font-size:16px!important;line-height:1.6!important;text-align:left!important;margin:16px 0 26px!important;max-width:440px!important;}
.cgtech-ctacard__copy .cgtech-sol-cta__btn{text-align:left!important;}
.cgtech-ctacard__copy .cgtech-sol-cta__btn .elementor-button{display:inline-flex!important;align-items:center!important;gap:9px!important;}
.cgtech-ctacard__panel{background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:16px!important;padding:28px 30px!important;}
.cgtech-ctacard__panel-title h3{color:#fff!important;font-size:14px!important;font-weight:600!important;text-transform:uppercase!important;letter-spacing:.12em!important;margin:0 0 18px!important;text-align:left!important;}
.cgtech-ctacard__plist .elementor-icon-list-items{display:grid!important;gap:15px!important;}
.cgtech-ctacard__plist .elementor-icon-list-item{align-items:flex-start!important;margin:0!important;padding:0!important;}
.cgtech-ctacard__plist .elementor-icon-list-icon{margin-right:11px!important;position:relative;top:2px;}
.cgtech-ctacard__plist .elementor-icon-list-icon i{color:#1AA39A!important;font-size:14px!important;}
.cgtech-ctacard__plist .elementor-icon-list-icon svg{fill:#1AA39A!important;width:14px!important;height:14px!important;}
.cgtech-ctacard__plist .elementor-icon-list-text{color:#dde3f2!important;font-size:15px!important;line-height:1.4!important;}
@media(max-width:820px){.cgtech-ctacard__split{grid-template-columns:1fr!important;gap:28px!important;}.cgtech-ctacard{padding:44px 28px!important;}}

/* === CTA v4: floating card with grid + glow (match Option 2 mockup) - page 127 === */
.cgtech-ctacard{max-width:1120px!important;margin:0 auto!important;padding:58px 56px!important;text-align:left!important;position:relative!important;isolation:isolate!important;overflow:hidden!important;border-radius:22px!important;box-shadow:0 34px 80px rgba(11,26,120,0.30)!important;background:radial-gradient(1100px 380px at 86% -12%,rgba(79,142,232,.30),transparent 60%),radial-gradient(900px 500px at 2% 120%,rgba(17,41,185,.34),transparent 55%),linear-gradient(135deg,#161a42 0%,#10122e 100%)!important;}
.cgtech-ctacard::after{content:"";position:absolute;inset:0;z-index:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:radial-gradient(640px 360px at 90% 10%,#000,transparent 72%);mask-image:radial-gradient(640px 360px at 90% 10%,#000,transparent 72%);pointer-events:none;}
.cgtech-ctacard > *{position:relative;z-index:1;}
.cgtech-ctacard__plist .elementor-icon-list-icon i{color:#1AA39A!important;font-size:15px!important;}
.cgtech-ctacard__plist .elementor-icon-list-icon svg{fill:#1AA39A!important;width:15px!important;height:15px!important;}

/* === CTA v5: compact to mockup height + FA5 circle-check === */
.cgtech-ctacard{padding:54px 54px!important;}
.cgtech-ctacard__copy{gap:16px!important;}
.cgtech-ctacard__copy .cgtech-eyebrow p{margin:0!important;}
.cgtech-ctacard__title h2{margin:0!important;}
.cgtech-ctacard__body p{margin:0!important;max-width:430px!important;}
.cgtech-ctacard__copy .cgtech-sol-cta__btn{margin-top:12px!important;}
.cgtech-ctacard__panel{gap:0!important;}
.cgtech-ctacard__plist .elementor-icon-list-items{gap:14px!important;}
.cgtech-ctacard__split{align-items:center!important;}

/* === CTA v6: balance panel to copy height + trim === */
.cgtech-ctacard{padding:46px 52px!important;}
.cgtech-ctacard__copy{gap:14px!important;}
.cgtech-ctacard__split{align-items:stretch!important;}
.cgtech-ctacard__panel{justify-content:center!important;}

/* === AI agents box (Agentic page) === */
body.parent-pageid-126 .cgtech-section--agents{background:linear-gradient(180deg,#ffffff 0%,#f4f7fd 100%)!important;padding-top:84px!important;padding-bottom:84px!important;}
body.parent-pageid-126 .cgtech-agents-grid{display:flex!important;flex-wrap:wrap!important;background:var(--rule)!important;border-radius:16px!important;overflow:hidden!important;gap:1px!important;padding:0!important;}
body.parent-pageid-126 .cgtech-agents-grid > .cgtech-agent-card{width:calc((100% - 2px)/3)!important;min-width:220px!important;background:#FFFFFF!important;padding:28px 26px!important;gap:0!important;transition:background .18s ease!important;}
body.parent-pageid-126 .cgtech-agents-grid > .cgtech-agent-card:hover{background:#FBFCFF!important;}
body.parent-pageid-126 .cgtech-agent-card__ic{flex:0 0 auto!important;}
body.parent-pageid-126 .cgtech-agent-card__ic .elementor-icon{width:44px!important;height:44px!important;border-radius:11px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;}
body.parent-pageid-126 .cgtech-agent-card__ic .elementor-icon i{font-size:18px!important;}
body.parent-pageid-126 .cgtech-agent-card__ic .elementor-icon svg{width:18px!important;height:18px!important;fill:currentColor!important;}
body.parent-pageid-126 .cgtech-agent-card--a .cgtech-agent-card__ic .elementor-icon{background:rgba(17,41,185,.09)!important;color:#1129B9!important;}
body.parent-pageid-126 .cgtech-agent-card--b .cgtech-agent-card__ic .elementor-icon{background:rgba(79,142,232,.13)!important;color:#4F8EE8!important;}
body.parent-pageid-126 .cgtech-agent-card--c .cgtech-agent-card__ic .elementor-icon{background:rgba(26,163,154,.13)!important;color:#1AA39A!important;}
body.parent-pageid-126 .cgtech-agent-card--d .cgtech-agent-card__ic .elementor-icon{background:rgba(93,122,153,.13)!important;color:#5D7A99!important;}
body.parent-pageid-126 .cgtech-agent-card__title{margin-top:16px!important;}
body.parent-pageid-126 .cgtech-agent-card__title h3{font-size:17px!important;font-weight:600!important;color:var(--cg-navy)!important;margin:0 0 7px!important;line-height:1.25!important;}
body.parent-pageid-126 .cgtech-agent-card__body p{font-size:14px!important;line-height:1.5!important;color:var(--text-body)!important;margin:0!important;}
@media(max-width:1024px) and (min-width:781px){body.parent-pageid-126 .cgtech-agents-grid > .cgtech-agent-card{width:calc((100% - 1px)/2)!important;}}
@media(max-width:780px){body.parent-pageid-126 .cgtech-agents-grid > .cgtech-agent-card{width:100%!important;}}


/* === Challenge pages (parent 139): answer block + related === */
body.parent-pageid-139 .cgtech-qa__card{background:#151839;color:#fff;border-radius:18px;padding:30px 38px;display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:center;box-shadow:0 26px 60px rgba(11,26,120,.24);position:relative;overflow:hidden}
body.parent-pageid-139 .cgtech-qa__card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:#EA5B38}
body.parent-pageid-139 .cgtech-qa__lab p{margin:0;font-family:"Barlow",sans-serif;font-weight:700;font-size:15px;letter-spacing:.1em;text-transform:uppercase;color:#ff8f78;white-space:nowrap}
body.parent-pageid-139 .cgtech-qa__lab{border-right:1px solid rgba(255,255,255,.14);padding-right:26px}
body.parent-pageid-139 .cgtech-qa__text p{margin:0;font-size:19px;line-height:1.5;color:#eaf0fb;font-weight:500}
body.parent-pageid-139 .cgtech-qa__text b{color:#fff}
@media(max-width:900px){body.parent-pageid-139 .cgtech-qa__card{grid-template-columns:1fr;gap:16px}body.parent-pageid-139 .cgtech-qa__lab{border-right:none;border-bottom:1px solid rgba(255,255,255,.14);padding-right:0;padding-bottom:14px}}
body.parent-pageid-139 .cgtech-rel{display:flex!important;flex-wrap:wrap!important;gap:18px!important}
body.parent-pageid-139 .cgtech-rel__card{flex:1 1 calc(25% - 14px)!important;min-width:220px;background:#fff!important;border:1px solid #E5EAF2!important;border-radius:15px!important;padding:24px 22px!important;transition:transform .15s,box-shadow .15s}
body.parent-pageid-139 .cgtech-rel__card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(21,24,57,.08)}
body.parent-pageid-139 .cgtech-rel__k p{margin:0;font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#5D7A99}
body.parent-pageid-139 .cgtech-rel__card h3{font-size:16.5px;font-weight:700;margin:8px 0;color:#151839;font-family:"Barlow",sans-serif}
body.parent-pageid-139 .cgtech-rel__go p{margin:0;color:#1129B9;font-size:14px;font-weight:700}
@media(max-width:900px){body.parent-pageid-139 .cgtech-rel__card{flex:1 1 calc(50% - 9px)!important}}

body.parent-pageid-139 .cgtech-qa__card{display:grid!important}

body.parent-pageid-139 .cgtech-rel__card{position:relative!important}
body.parent-pageid-139 .cgtech-rel__go .elementor-button{background:transparent!important;color:#1129B9!important;padding:0!important;box-shadow:none!important;font-family:"Source Sans 3",sans-serif!important;font-weight:700!important;font-size:14px!important;letter-spacing:0!important}
body.parent-pageid-139 .cgtech-rel__go .elementor-button .elementor-button-icon{margin-left:7px!important}
body.parent-pageid-139 .cgtech-rel__go .elementor-button::after{content:"";position:absolute;inset:0;z-index:2}
body.parent-pageid-139 .cgtech-rel__card:hover .cgtech-rel__go .elementor-button{color:#EA5B38!important}
body.parent-pageid-139 .cgtech-rel__go{margin-top:6px}

/* challenge problem/impact cards */
body.parent-pageid-139 .cgtech-pgrid{display:flex!important;flex-wrap:wrap!important;gap:22px!important;margin-top:36px}
body.parent-pageid-139 .cgtech-pgrid > .cgtech-pcard{flex:1 1 calc(33.333% - 15px)!important;min-width:240px;background:#fff!important;border:1px solid #E5EAF2!important;border-radius:16px!important;padding:28px 26px!important;box-shadow:0 6px 18px rgba(21,24,57,.04)}
body.parent-pageid-139 .cgtech-chip{margin-bottom:16px}
body.parent-pageid-139 .cgtech-chip .elementor-icon{width:46px!important;height:46px!important;border-radius:12px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}
body.parent-pageid-139 .cgtech-chip .elementor-icon i{font-size:19px!important}
body.parent-pageid-139 .cgtech-chip .elementor-icon svg{width:19px!important;height:19px!important;fill:currentColor!important}
body.parent-pageid-139 .cgtech-chip--a .elementor-icon{background:rgba(17,41,185,.09)!important;color:#1129B9!important}
body.parent-pageid-139 .cgtech-chip--b .elementor-icon{background:rgba(79,142,232,.13)!important;color:#4F8EE8!important}
body.parent-pageid-139 .cgtech-chip--c .elementor-icon{background:rgba(26,163,154,.13)!important;color:#1AA39A!important}
body.parent-pageid-139 .cgtech-chip--d .elementor-icon{background:rgba(93,122,153,.13)!important;color:#5D7A99!important}
body.parent-pageid-139 .cgtech-pcard h3{font-size:18px;font-weight:700;color:#151839;margin-bottom:8px;font-family:"Barlow",sans-serif}
body.parent-pageid-139 .cgtech-pcard__body p{margin:0;font-size:14.5px;color:#42506A;line-height:1.6}
body.parent-pageid-139 .cgtech-rel__card{box-shadow:0 6px 18px rgba(21,24,57,.05)!important}
@media(max-width:900px){body.parent-pageid-139 .cgtech-pgrid > .cgtech-pcard{flex:1 1 100%!important}}


body.parent-pageid-139 .cgtech-section--approach .cgtech-step-card{background:#fff!important;border:1px solid #E5EAF2!important;border-radius:16px!important;box-shadow:0 6px 18px rgba(21,24,57,.05)!important}

/* problem/impact chips (unique class, no pill) + clean section bg */
body.parent-pageid-139 .cgtech-pcard__ic{text-align:left!important;margin-bottom:16px;background:transparent!important;border-radius:0!important}
body.parent-pageid-139 .cgtech-pcard__ic .elementor-icon-wrapper{text-align:left!important}
body.parent-pageid-139 .cgtech-pcard__ic .elementor-icon{width:46px!important;height:46px!important;border-radius:12px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}
body.parent-pageid-139 .cgtech-pcard__ic .elementor-icon i{font-size:19px!important}
body.parent-pageid-139 .cgtech-pcard__ic .elementor-icon svg{width:19px!important;height:19px!important;fill:currentColor!important}
body.parent-pageid-139 .cgtech-pcard__ic--a .elementor-icon{background:rgba(17,41,185,.10)!important;color:#1129B9!important}
body.parent-pageid-139 .cgtech-pcard__ic--b .elementor-icon{background:rgba(79,142,232,.14)!important;color:#4F8EE8!important}
body.parent-pageid-139 .cgtech-pcard__ic--c .elementor-icon{background:rgba(26,163,154,.14)!important;color:#1AA39A!important}
body.parent-pageid-139 .cgtech-pcard__ic--d .elementor-icon{background:rgba(93,122,153,.14)!important;color:#5D7A99!important}
body.parent-pageid-139 .cgtech-section.cgtech-bg-light{background:linear-gradient(180deg,#FFFFFF 0%,#F4F7FB 100%)!important}
body.parent-pageid-139 .cgtech-section.cgtech-bg-light .elementor-background-overlay{display:none!important}

body.parent-pageid-139 .cgtech-rel__card{padding:28px 26px!important;display:flex!important;flex-direction:column!important}
body.parent-pageid-139 .cgtech-rel__card .cgtech-pcard__ic{margin-bottom:18px!important}
body.parent-pageid-139 .cgtech-rel__k p{margin:0 0 8px!important}
body.parent-pageid-139 .cgtech-rel__card h3{margin:0 0 14px!important;line-height:1.28!important}
body.parent-pageid-139 .cgtech-rel__go{margin-top:auto!important}

body.parent-pageid-139 .cgtech-rel__card h3{font-size:15px!important;font-weight:600!important;line-height:1.45!important;margin:0 0 16px!important}

.cgtech-footer__brand .cgtech-trust__copy{margin-top:22px!important}

/* trust text relocated to footer brand column - collapse strip layout */
.cgtech-footer__brand .cgtech-trust__copy{min-height:0!important;height:auto!important;padding:0!important;margin:24px 0 0!important;display:block!important;background:transparent!important;border:none!important;box-shadow:none!important;align-items:initial!important;justify-content:initial!important;max-width:300px!important}
.cgtech-footer__brand .cgtech-trust__copy > *{margin:0!important}
.cgtech-footer__brand .cgtech-trust__copy p{margin:0!important;line-height:1.55!important}

.cgtech-footer__brand .cgtech-footer__trust{margin-top:24px!important;height:auto!important;min-height:0!important;padding:0!important;display:block!important;background:none!important;border:none!important;box-shadow:none!important}
.cgtech-footer__brand .cgtech-footer__trust .elementor-widget-container{height:auto!important;min-height:0!important;padding:0!important;display:block!important}
.cgtech-footer__brand .cgtech-footer__trust p{margin:0!important}
.cgtech-footer__brand .cgtech-footer__trust .cgtech-footer__trust-eb{color:#EA5B38!important;font-size:12px!important;letter-spacing:.14em!important;text-transform:uppercase!important;font-weight:700!important;margin:0 0 9px!important;line-height:1.2!important}
.cgtech-footer__brand .cgtech-footer__trust .cgtech-footer__trust-txt{color:#9aa4bd!important;font-size:14px!important;line-height:1.55!important;margin:0!important;max-width:300px!important}

/* FAQ: stable card width regardless of open state (fix intrinsic flex sizing) */
.cgtech-section--faq .elementor-widget-shortcode{width:100%!important;max-width:100%!important;flex:1 1 100%!important}
.cgtech-section--faq .elementor-widget-shortcode .elementor-widget-container{width:100%!important}
.cgtech-faq{width:100%!important;max-width:820px!important;margin:0 auto!important}
.cgtech-faq__item{width:100%!important;box-sizing:border-box!important}

/* service links: per-industry description line */
.cgtech-servicelinks--icons .svc-body{display:flex;flex-direction:column;gap:3px;min-width:0}
.cgtech-servicelinks--icons .svc-name{font-family:var(--font-heading);font-weight:700;font-size:16px;color:var(--cg-navy);line-height:1.3}
.cgtech-servicelinks--icons .svc-desc{font-family:var(--font-body);font-weight:400;font-size:13.5px;color:var(--text-muted,#6B7A93);line-height:1.45}
.cgtech-servicelinks--icons a{align-items:center}


/* Home "Latest Insights" cards - archive-style preview (v1) */
.cgtech-insights-home{ display:flex; flex-direction:column; gap:18px; margin-top:28px; }
.cgtech-insights-home__card{ display:grid; grid-template-columns:140px 1fr; gap:20px; align-items:center; background:#fff; border:1px solid rgba(17,41,185,0.08); border-radius:16px; padding:16px; text-decoration:none; box-shadow:0 4px 18px rgba(21,24,57,0.05); transition:transform .18s ease, box-shadow .18s ease; }
.cgtech-insights-home__card:hover{ transform:translateY(-2px); box-shadow:0 12px 30px rgba(21,24,57,0.10); }
.cgtech-insights-home__img{ display:block; width:140px; height:104px; border-radius:12px; background-size:cover; background-position:center; background-color:#EAF1FB; }
.cgtech-insights-home__text{ min-width:0; display:flex; flex-direction:column; }
.cgtech-insights-home__cat{ color:var(--cg-blue,#1129b9); font-family:var(--font-body); font-size:11px; font-weight:600; letter-spacing:0.06em; text-transform:uppercase; margin-bottom:7px; }
.cgtech-insights-home__title{ color:var(--cg-navy,#151839); font-family:var(--font-heading); font-size:18px; line-height:1.3; font-weight:600; margin:0 0 8px; }
.cgtech-insights-home__excerpt{ color:#444a63; font-family:var(--font-body); font-size:14px; line-height:1.55; margin:0 0 10px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.cgtech-insights-home__more{ color:var(--cg-orange,#EA5B38); font-family:var(--font-body); font-weight:600; font-size:14px; margin-top:auto; }
.cgtech-insights-home__card:hover .cgtech-insights-home__more{ text-decoration:underline; }
@media(max-width:782px){ .cgtech-insights-home__card{ grid-template-columns:110px 1fr; gap:14px; padding:12px; } .cgtech-insights-home__img{ width:110px; height:82px; } }





/* ============================================================
   CGTECH-BALANCE-BLOCK-v1  (added 2026-07-13)
   Location proof strip (Option A) + centred body-copy balance
   ============================================================ */
.cgtech-locproof{width:100%;margin-top:44px}
.cgtech-locproof__grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #e6e8ee;border-radius:16px;overflow:hidden;background:#fff}
.cgtech-locproof__cell{padding:30px 26px;border-right:1px solid #eef0f4;text-align:left}
.cgtech-locproof__cell:last-child{border-right:0}
.cgtech-locproof__badge{width:54px;height:54px;border-radius:15px;display:grid;place-items:center}
.cgtech-locproof__badge svg{width:23px;height:23px;display:block}
.cgtech-locproof__badge--blue{background:rgba(17,41,185,.10)}
.cgtech-locproof__badge--blue svg{fill:#1129B9}
.cgtech-locproof__badge--grey{background:#eef1f5}
.cgtech-locproof__badge--grey svg{fill:#151839}
.cgtech-locproof__t{margin:16px 0 6px;font-size:16px;line-height:1.3;color:#151839;font-weight:700}
.cgtech-locproof__d{font-size:14px;line-height:1.55;color:#4a4f5e;margin:0}
@media(max-width:820px){.cgtech-locproof__grid{grid-template-columns:1fr 1fr}.cgtech-locproof__cell{border-right:0;border-bottom:1px solid #eef0f4}.cgtech-locproof__cell:nth-child(odd){border-right:1px solid #eef0f4}.cgtech-locproof__cell:nth-last-child(-n+2){border-bottom:0}}
@media(max-width:520px){.cgtech-locproof__grid{grid-template-columns:1fr}.cgtech-locproof__cell{border-right:0 !important;border-bottom:1px solid #eef0f4}.cgtech-locproof__cell:last-child{border-bottom:0}}
.cgtech-section--localcontext .cgtech-section__body p{text-wrap:balance !important;max-width:720px;margin-left:auto;margin-right:auto}

/* Balance centred body copy + centred headings site-wide.
   Line-break hint only: cannot change box size, overflow or position.
   Scoped to the site's centred selectors, so left-aligned copy is untouched. */
.cgtech-section__body--center p,
.cgtech-final-cta__body p,
.cgtech-finalcta__body p,
.cgtech-sol-cta__body p,
.cgtech-connect-hero__body p,
.cgtech-about-hero__body p,
.cgtech-proof-intro, .cgtech-proof-intro p,
.cgtech-section--proof .cgtech-section__lede,
.cgtech-section--stories .cgtech-section__body, .cgtech-section--stories .cgtech-section__body p,
.cgtech-band-navy__body p,
.cgtech-connect__strip .cgtech-connect__trust p,
.cgtech-router__hint, .cgtech-router__hint p,
.cgtech-eyebrow--center, .cgtech-eyebrow--center p,
.cgtech-section__headline--center, .cgtech-section__headline--center .elementor-heading-title,
.cgtech-final-cta__headline h2,
.cgtech-finalcta__headline h2,
.cgtech-sol-cta__title h2,
.cgtech-tsec--center .cgtech-section__headline .elementor-heading-title,
.cgtech-section--proof .cgtech-section__headline .elementor-heading-title,
.cgtech-section--stories .cgtech-section__headline .elementor-heading-title,
.cgtech-connect-hero__title h1,
.cgtech-about-hero__title h1,
.cgtech-band-navy .elementor-heading-title,
.cgtech-band-card .elementor-heading-title{
  text-wrap:balance;
}
/* end CGTECH-BALANCE-BLOCK-v1 */
/* ============================================================
   CGTECH-BALANCE-BLOCK-v2  (added 2026-07-13)
   Balance ALL headings site-wide + centre stories-band eyebrow
   ============================================================ */
.elementor-heading-title,
.cgtech-section__headline,
h1, h2, h3, h4, h5, h6 { text-wrap: balance; }
.cgtech-section--stories .cgtech-eyebrow { align-self: center; text-align: center; }
.cgtech-section--stories .cgtech-eyebrow p { text-align: center; }
/* end CGTECH-BALANCE-BLOCK-v2 */
/* CGTECH-ENGAGE-LIP-v1 : sky-blue top lip on the 'Grow from there' card, mirroring the orange 'Start here' card and matching its own kicker colour */
.cgtech-section--engage .cgtech-engage-card:last-child{border-top-color:#7BA7EE !important}
.cgtech-section--engage .cgtech-engage-card:last-child:hover{border-top-color:#7BA7EE !important}

/* CGTECH-QUOTE-XFADE-v1 : height-stable smooth cross-fade for home testimonials rotator (slides share one grid cell so the card no longer snaps height between quotes) */
.cgtech-quote-band.cgtech-quote-rotator{ display:grid !important; grid-template-columns:1fr !important; align-items:start !important; }
.cgtech-quote-band.cgtech-quote-rotator > .cgtech-quote-slide,
.cgtech-quote-band.cgtech-quote-rotator > .cgtech-quote-slide.is-active{ position:static !important; grid-column:1 !important; grid-row:1 !important; transform:translateY(6px); transition:opacity .5s var(--ease-standard), transform .5s var(--ease-standard), visibility .5s var(--ease-standard) !important; will-change:opacity, transform; }
.cgtech-quote-band.cgtech-quote-rotator > .cgtech-quote-slide.is-active{ transform:none !important; }
.cgtech-quote-band.cgtech-quote-rotator > .cgtech-quote-dots{ grid-column:1 !important; grid-row:2 !important; }
@media (prefers-reduced-motion: reduce){ .cgtech-quote-band.cgtech-quote-rotator > .cgtech-quote-slide{ transition:none !important; transform:none !important; } }

/* CGTECH-QUOTE-MEDIA-v1 : image-left / copy-right testimonial cards driven by the Featured Image, with a graceful text-only fallback */

/* card shell: the image bleeds to the card edge, so move padding off the band and onto the copy column */
.cgtech-quote-band{ padding:0 !important; overflow:hidden !important; }
.cgtech-quote-band::before{ content:none !important; }

/* slides fill the row so the image spans the full card height */
.cgtech-quote-band.cgtech-quote-rotator{ align-items:stretch !important; }

/* two-column slide when it carries an image */
.cgtech-quote-rotator .cgtech-quote-slide--media{ display:flex !important; align-items:stretch !important; }
.cgtech-quote-slide__media{ flex:0 0 42% !important; position:relative !important; overflow:hidden !important; min-height:320px !important; background:#151839 !important; }
.cgtech-quote-slide__media img,
.cgtech-quote-slide__media .cgtech-quote-img{ position:absolute !important; inset:0 !important; width:100% !important; height:100% !important; object-fit:cover !important; display:block !important; max-width:none !important; border:0 !important; }

/* copy column */
.cgtech-quote-slide__body{ position:relative !important; display:flex !important; flex-direction:column !important; justify-content:center !important; min-width:0 !important; }
.cgtech-quote-slide--media .cgtech-quote-slide__body{ flex:1 1 auto !important; padding:38px 40px 34px 44px !important; }
/* quote mark now lives on the copy column */
.cgtech-quote-slide__body::before{ content:'\201C' !important; position:absolute !important; left:40px !important; top:16px !important; font-family:Georgia, serif !important; font-size:54px !important; line-height:1 !important; color:#EA5B38 !important; }
.cgtech-quote-slide__body .cgtech-quote-band__text{ margin-top:28px !important; }

/* text-only fallback keeps a padded, quote-marked card */
.cgtech-quote-slide:not(.cgtech-quote-slide--media) .cgtech-quote-slide__body{ padding:30px 34px 26px 68px !important; }
.cgtech-quote-slide:not(.cgtech-quote-slide--media) .cgtech-quote-slide__body::before{ left:28px !important; top:14px !important; }

/* dots: band padding is gone, so give them their own room; nudge under the copy column on image cards */
.cgtech-quote-dots{ margin:0 !important; padding:16px 0 20px !important; }
.cgtech-quote-rotator--media .cgtech-quote-dots{ padding-left:42% !important; }

@media (max-width:640px){
  .cgtech-quote-rotator .cgtech-quote-slide--media{ flex-direction:column !important; }
  .cgtech-quote-slide__media{ flex:none !important; width:100% !important; height:180px !important; min-height:0 !important; }
  .cgtech-quote-slide--media .cgtech-quote-slide__body{ padding:26px 24px 22px !important; }
  .cgtech-quote-slide__body::before{ left:24px !important; }
  .cgtech-quote-rotator--media .cgtech-quote-dots{ padding-left:0 !important; }
}

/* CGTECH-QUOTE-FRAME-v1 : Option A framed-inset testimonial image (even margin, rounded corners, soft shadow) */
.cgtech-quote-slide__media{ margin:20px !important; border-radius:14px !important; box-shadow:0 10px 24px -14px rgba(21,24,57,.45) !important; min-height:280px !important; }
.cgtech-quote-slide--media .cgtech-quote-slide__body{ padding:28px 40px 28px 26px !important; }
@media (max-width:640px){
  .cgtech-quote-slide__media{ margin:16px !important; width:auto !important; height:170px !important; min-height:0 !important; }
  .cgtech-quote-slide--media .cgtech-quote-slide__body{ padding:18px 22px 24px !important; }
}

/* CGTECH-QUOTE-SNUG-v1 : card hugs the copy; quote mark in-flow above the quote; small orange rule */
.cgtech-quote-slide__media{ min-height:170px !important; }
.cgtech-quote-slide--media .cgtech-quote-slide__body{ padding:30px 40px 30px 28px !important; }
.cgtech-quote-slide--media .cgtech-quote-slide__body::before{ position:static !important; left:auto !important; top:auto !important; display:block !important; margin:0 0 12px !important; font-size:48px !important; line-height:.7 !important; }
.cgtech-quote-slide--media .cgtech-quote-band__text{ margin-top:0 !important; }
.cgtech-quote-slide--media .cgtech-quote-band__attr::before{ content:'' !important; display:block !important; width:34px !important; height:3px !important; background:#EA5B38 !important; border-radius:2px !important; margin:4px 0 14px !important; }

/* CGTECH-QUOTE-NAVY-v1 : Option 3 full navy feedback card (replaces WING-v1) - navy card incl. dots row, framed photo, sky kicker, white copy */
.cgtech-quote-band.cgtech-quote-rotator--media{ background:radial-gradient(130% 110% at 10% 0%, #232a63, #151839 70%) !important; border:1px solid rgba(255,255,255,.14) !important; }
.cgtech-quote-slide--media .cgtech-quote-slide__media{ flex:0 0 42% !important; margin:20px !important; padding:0 !important; display:block !important; border-radius:13px !important; box-shadow:0 14px 30px -14px rgba(0,0,0,.7) !important; min-height:240px !important; background:#151839 !important; }
.cgtech-quote-slide--media .cgtech-quote-slide__body::before{ content:'Client feedback' !important; display:block !important; position:static !important; font-family:var(--font-mono),monospace !important; font-size:11px !important; font-weight:700 !important; letter-spacing:.16em !important; text-transform:uppercase !important; color:#7BA7EE !important; line-height:1 !important; margin:0 0 16px !important; }
.cgtech-quote-slide--media .cgtech-quote-band__text::before{ content:'\201C' !important; display:block !important; font-family:Georgia,serif !important; font-size:46px !important; line-height:.7 !important; color:#EA5B38 !important; margin:0 0 12px !important; }
.cgtech-quote-rotator--media .cgtech-quote-band__text p{ color:#F2F5FF !important; }
.cgtech-quote-rotator--media .cgtech-quote-band__attr p{ color:#9FB4E4 !important; }
.cgtech-quote-rotator--media .cgtech-quote-dot{ background:rgba(255,255,255,.28) !important; }
.cgtech-quote-rotator--media .cgtech-quote-dot:hover{ background:rgba(255,255,255,.50) !important; }
.cgtech-quote-rotator--media .cgtech-quote-dot.is-active{ background:#7BA7EE !important; }
/* CGTECH-QUOTE-NAVY-guard : keep copy readable if a text-only slide ever appears inside the navy media rotator */
.cgtech-quote-rotator--media .cgtech-quote-slide:not(.cgtech-quote-slide--media) .cgtech-quote-band__text p{ color:#F2F5FF !important; }
.cgtech-quote-rotator--media .cgtech-quote-slide:not(.cgtech-quote-slide--media) .cgtech-quote-band__attr p{ color:#9FB4E4 !important; }
/* CGTECH-CAROUSEL-TOPALIGN-v1 : story cards take their natural content height (min 420px) instead of stretching to the tallest card in the whole track - fixes oversized cards on pages with large story pools (home = 26) */
.cgtech-carousel__track{ align-items:flex-start !important; }
.cgtech-carousel__slide > .cgtech-proof-card{ height:auto !important; }

/* CGTECH-PRODCARD-v1 : Option 3 vendor product cards - layer top lip (sky for agent layers), icon badge in title, bottom-pinned link with hairline + orange arrow */
.cgtech-prod-grid{ align-items:stretch !important; }
.cgtech-prod-grid > .cgtech-prod-card{ border-top:3px solid var(--cg-blue) !important; border-radius:14px !important; }
.cgtech-prod-grid > .cgtech-prod-card:hover{ border-top-color:var(--cg-blue) !important; }
/* per-layer sky lips retired by CGTECH-PRODCARD-v2 (per-card colour cycle) */
.cgtech-prodicon{ display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:11px; margin-right:12px; vertical-align:middle; flex:none; }
.cgtech-prodicon i{ font-size:16px; line-height:1; }
.cgtech-prodicon--blue{ background:rgba(17,41,185,.10); color:#1129B9; }
.cgtech-prodicon--grey{ background:#eef1f5; color:#151839; }
.cgtech-prod-card__name .elementor-heading-title{ display:flex !important; align-items:center !important; }
.cgtech-prod-card > .cgtech-prod-card__link{ margin-top:auto !important; width:100% !important; border-top:1px solid #E5EAF5 !important; padding-top:12px !important; }
.cgtech-prod-card__link .elementor-button::after{ color:var(--cg-orange) !important; }

/* CGTECH-PRODCARD-v2 : roomier padding + per-card colour cycle, lip matches badge (blue > sky > navy); supersedes per-layer sky grids */
.cgtech-prod-grid > .cgtech-prod-card{ padding:30px 28px 24px !important; }
.cgtech-prod-card__name{ margin-bottom:12px !important; }
.cgtech-prod-grid > .cgtech-prod-card:nth-child(3n+1),
.cgtech-prod-grid > .cgtech-prod-card:nth-child(3n+1):hover{ border-top-color:var(--cg-blue) !important; }
.cgtech-prod-grid > .cgtech-prod-card:nth-child(3n+2),
.cgtech-prod-grid > .cgtech-prod-card:nth-child(3n+2):hover{ border-top-color:#7BA7EE !important; }
.cgtech-prod-grid > .cgtech-prod-card:nth-child(3n),
.cgtech-prod-grid > .cgtech-prod-card:nth-child(3n):hover{ border-top-color:#151839 !important; }
.cgtech-prodicon--sky{ background:rgba(123,167,238,.18); color:#3a6bc4; }

/* CGTECH-WHY-HONEST-v1 : why-items get tinted rounded-square badges + colour-cycled accent bars (matches product cards); honest2 navy panel gets the sky dot motif */
.cgtech-whyitem__t .elementor-heading-title{ gap:12px !important; }
.cgtech-whyitem__t .elementor-heading-title::before{ width:40px !important; height:40px !important; flex:0 0 40px !important; border-radius:11px !important; background-size:18px 18px !important; background-color:rgba(17,41,185,.10) !important; }
.cgtech-whygrid > .cgtech-whyitem:nth-child(3n+1)::after{ background:var(--cg-blue) !important; }
.cgtech-whygrid > .cgtech-whyitem:nth-child(3n+2)::after{ background:#7BA7EE !important; }
.cgtech-whygrid > .cgtech-whyitem:nth-child(3n)::after{ background:#151839 !important; }
.cgtech-whygrid > .cgtech-whyitem:nth-child(3n+2) .elementor-heading-title::before{ background-color:rgba(123,167,238,.18) !important; }
.cgtech-whygrid > .cgtech-whyitem:nth-child(3n) .elementor-heading-title::before{ background-color:#eef1f5 !important; }
.cgtech-honest2{ position:relative !important; z-index:0 !important; }
.cgtech-honest2::before{ content:'' !important; position:absolute !important; inset:0 !important; z-index:-1 !important; border-radius:14px !important; background-image:radial-gradient(rgba(123,167,238,.28) 1.3px, transparent 1.5px) !important; background-size:24px 24px !important; opacity:.30 !important; pointer-events:none !important; }

/* CGTECH-QUOTE-FULLWIDTH-v1 : the navy media feedback card spans the full section width to match the stories carousel above (text-only quote bands keep the 860px cap) */
.cgtech-quote-band.cgtech-quote-rotator--media{ max-width:none !important; width:100% !important; }

/* CGTECH-BPA-CENTER-v1 : centre the eyebrow + headline in the What We Build dark section (cards untouched) */
.cgtech-section--bpa .cgtech-eyebrow,
.cgtech-section--bpa .cgtech-section__headline{ align-self:center !important; text-align:center !important; }
.cgtech-section--bpa .cgtech-eyebrow p{ text-align:center !important; }

/* CGTECH-HELP-STEP4-v1 : badge colour for the new 4th How-we-help step */
.cgtech-section--help .cgtech-help__badge--4 p { border:2px solid #0B1A78 !important; color:#4E68D8 !important; }

/* CGTECH-SECTION-PAD-TOKEN-v1 : site-wide standard section padding (design token). 96px desktop scaling to 56px mobile. Excluded: hero variants (keep 140/80 + nav offset), tech-banner, the flush --gov band, and the pad utility classes for future deviations. */
:root{ --cg-section-pad: clamp(56px, 8vw, 96px); }
.cgtech-section:not(.cgtech-thero):not(.cgtech-arch__hero):not(.cgtech-section--sol-hero):not(.cgtech-section--prod-hero):not(.cgtech-section--platform-hero):not(.cgtech-section--about-hero):not(.cgtech-section--connect-hero):not(.cgtech-section--tech-banner):not(.cgtech-hero-navy):not(.cgtech-section--gov):not(.cgtech-pad--keep):not(.cgtech-pad--tight):not(.cgtech-pad--none){ padding-top:var(--cg-section-pad) !important; padding-bottom:var(--cg-section-pad) !important; }
.cgtech-section.cgtech-pad--tight{ padding-top:56px !important; padding-bottom:56px !important; }
.cgtech-section.cgtech-pad--none{ padding-top:0 !important; padding-bottom:0 !important; }

/* CGTECH-ARCHHERO-MATCH-v1 : Insights archive hero matches the landing-page hero height (140/80 padding, 660px min-height, content vertically centred) */
.cgtech-arch__hero{ padding:140px 24px 80px !important; min-height:660px !important; display:flex !important; flex-direction:column !important; justify-content:center !important; }

/* CGTECH-ARCH-SIDEBAR-v1 : Insights sidebar (search, recent posts, categories) */
.cgtech-arch__grid{ max-width:1200px; margin:0 auto; display:flex; gap:44px; align-items:flex-start; }
.cgtech-arch__grid .cgtech-arch__list{ margin:0; flex:1 1 auto; min-width:0; max-width:none; }
.cgtech-arch__side{ flex:0 0 300px; position:sticky; top:120px; display:flex; flex-direction:column; gap:20px; }
.cgtech-arch__widget{ background:#fff; border:1px solid #DEE6F5; border-radius:14px; padding:22px 22px 20px; box-shadow:0 8px 26px -20px rgba(21,24,57,.25); }
.cgtech-arch__widget-title{ font-family:var(--font-heading); font-size:15px; font-weight:700; color:#151839; margin:0; padding-bottom:10px; border-bottom:1px solid #EDF1F9; position:relative; }
.cgtech-arch__widget-title::after{ content:''; position:absolute; left:0; bottom:-1px; width:34px; height:2px; background:var(--cg-orange,#EA5B38); }
.cgtech-arch__search{ display:flex; gap:8px; margin-top:14px; }
.cgtech-arch__search input[type=search]{ flex:1 1 auto; min-width:0; border:1px solid #D6DFF0; border-radius:8px; padding:10px 12px; font-family:var(--font-body); font-size:14px; color:#151839; background:#FBFCFE; }
.cgtech-arch__search input[type=search]:focus{ outline:none; border-color:var(--cg-blue,#1129B9); background:#fff; }
.cgtech-arch__search button{ flex:none; background:var(--cg-orange,#EA5B38); color:#fff; border:none; border-radius:8px; padding:10px 16px; font-family:var(--font-body); font-size:14px; font-weight:600; cursor:pointer; }
.cgtech-arch__search button:hover{ background:#d44e2e; }
.cgtech-arch__recent{ list-style:none; margin:14px 0 0; padding:0; display:flex; flex-direction:column; gap:14px; }
.cgtech-arch__recent li{ display:flex; flex-direction:column; gap:2px; }
.cgtech-arch__recent a{ font-family:var(--font-body); font-size:14px; font-weight:600; line-height:1.45; color:#151839; text-decoration:none; }
.cgtech-arch__recent a:hover{ color:var(--cg-blue,#1129B9); }
.cgtech-arch__recent span{ font-size:12.5px; color:#5D7A99; }
.cgtech-arch__cats{ list-style:none; margin:12px 0 0; padding:0; display:flex; flex-direction:column; }
.cgtech-arch__cats li + li{ border-top:1px solid #EDF1F9; }
.cgtech-arch__cats a{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px 2px; font-family:var(--font-body); font-size:14px; font-weight:600; color:#151839; text-decoration:none; }
.cgtech-arch__cats a:hover{ color:var(--cg-blue,#1129B9); }
.cgtech-arch__cat-count{ flex:none; min-width:26px; text-align:center; background:rgba(17,41,185,.08); color:#1129B9; font-size:12px; font-weight:700; border-radius:999px; padding:2px 8px; }
@media (max-width:1024px){ .cgtech-arch__grid{ flex-direction:column; } .cgtech-arch__side{ position:static; flex:none; width:100%; } }

/* CGTECH-ARCH-SIDEBAR-v2 : blue icon badges on widget titles + tighter sticky offset */
.cgtech-arch__side{ top:96px; }
.cgtech-arch__widget-title{ display:flex; align-items:center; gap:10px; }
.cgtech-arch__widget-title::before{ content:''; width:32px; height:32px; border-radius:9px; flex:0 0 32px;
  background-color:rgba(17,41,185,.10); background-repeat:no-repeat; background-position:center; background-size:15px 15px; }
.cgtech-arch__side .cgtech-arch__widget:nth-child(1) .cgtech-arch__widget-title::before{ background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231129B9" stroke-width="2.2" stroke-linecap="round"><circle cx="10" cy="10" r="6.2"/><path d="M14.8 14.8L20 20"/></svg>'); }
.cgtech-arch__side .cgtech-arch__widget:nth-child(2) .cgtech-arch__widget-title::before{ background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231129B9" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="8.5"/><path d="M12 7.5v4.8l3.2 2"/></svg>'); }
.cgtech-arch__side .cgtech-arch__widget:nth-child(3) .cgtech-arch__widget-title::before{ background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231129B9" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3.5 7a2 2 0 0 1 2-2h4l2 2.6h7a2 2 0 0 1 2 2V17a2 2 0 0 1-2 2h-13a2 2 0 0 1-2-2z"/></svg>'); }

/* CGTECH-ARCH-SIDEBAR-v3 : sidebar no longer sticky - static position guarantees its top stays flush with the first post */
.cgtech-arch__side{ position:static !important; top:auto !important; }

/* CGTECH-TYPE-BUMP-v1 : readability lift per MD feedback. Standard body 16->17px; 14px floor for supporting text (trust line, why-item copy, product-card links). Nav stays 16, feature copy stays 18. */
.cgtech-section__body p{ font-size:17px; }
.cgtech-arch__card-excerpt{ font-size:17px !important; }
.cgtech-hero__trust{ font-size:14px !important; }
.cgtech-whyitem__p p{ font-size:14px !important; }
.cgtech-prod-card__link .elementor-button{ font-size:14px !important; }

/* CGTECH-INSMORE-v1 : auto-updating explore box under home insight cards */
.cgtech-insmore{ background:#fff; border:1px solid #DEE6F5; border-radius:14px; padding:24px 24px 22px; margin-top:22px; box-shadow:0 8px 26px -20px rgba(21,24,57,.25); }
.cgtech-insmore__title{ font-family:var(--font-heading); font-size:16px; font-weight:700; color:#151839; margin:0 0 4px; padding-bottom:10px; border-bottom:1px solid #EDF1F9; position:relative; }
.cgtech-insmore__title::after{ content:''; position:absolute; left:0; bottom:-1px; width:34px; height:2px; background:var(--cg-blue,#1129B9); }
.cgtech-insmore__list{ list-style:none; margin:14px 0 4px; padding:0; display:flex; flex-direction:column; gap:12px; }
.cgtech-insmore__list li{ display:flex; flex-direction:column; gap:2px; }
.cgtech-insmore__list a{ font-family:var(--font-body); font-size:14.5px; font-weight:600; line-height:1.45; color:#151839; text-decoration:none; }
.cgtech-insmore__list a:hover{ color:var(--cg-blue,#1129B9); }
.cgtech-insmore__list span{ font-size:12.5px; color:#5D7A99; }
.cgtech-insmore__label{ display:block; font-family:var(--font-mono),monospace; font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#5D7A99; margin:16px 0 10px; }
.cgtech-insmore__pills{ display:flex; flex-wrap:wrap; gap:8px; }
.cgtech-insmore__pills a{ background:rgba(17,41,185,.08); color:#1129B9; font-family:var(--font-body); font-size:13.5px; font-weight:600; border-radius:999px; padding:7px 14px; text-decoration:none; transition:background .2s, color .2s; }
.cgtech-insmore__pills a:hover{ background:var(--cg-blue,#1129B9); color:#fff; }
.cgtech-insmore__all{ display:inline-flex; align-items:center; gap:7px; margin-top:18px; font-family:var(--font-body); font-size:14px; font-weight:700; color:var(--cg-blue,#1129B9); text-decoration:none; }
.cgtech-insmore__all .arr{ color:var(--cg-orange,#EA5B38); transition:transform .2s; }
.cgtech-insmore__all:hover .arr{ transform:translateX(4px); }

/* CGTECH-IF-ALIGN-v1 : insights + FAQ columns stretch equal; explore box pins to the column bottom so it aligns with the last FAQ item automatically */
.cgtech-if__row{ align-items:stretch !important; }
.cgtech-if__col{ display:flex !important; flex-direction:column !important; }
.cgtech-if__col:not(.cgtech-if__col--faq) > .elementor-widget-shortcode:last-child{ margin-top:55px !important; padding-top:22px; }
.cgtech-insmore{ margin-top:0; }

/* CGTECH-IF-ALIGN-v2 : pin the explore box via its own widget class (xpro appends overlay nodes, so :last-child missed) */
.elementor-widget-shortcode.cgtech-insmore-widget{ margin-top:auto !important; padding-top:22px !important; }

/* CGTECH-IF-ALIGN-v3 : home FAQ bars get a touch more padding so the FAQ column drives the row height; the pinned explore box then aligns flush with the last question automatically */
.cgtech-section--insights .cgtech-faq__q{ padding:24px 0 !important; }

/* CGTECH-IF-ALIGN-v4 : drop the last FAQ bar's bottom margin so the explore box bottoms out flush with it */
.cgtech-section--insights .cgtech-faq__item:last-child{ margin-bottom:0 !important; }

/* CGTECH-IF-ALIGN-v5 : first blog card tops out level with the first FAQ bar */
.cgtech-if__col--insights .cgtech-insights-home{ margin-top:0 !important; }

/* CGTECH-IF-ALIGN-v6 : freeze the explore-box spacing at the collapsed-state value (55px) so opening an FAQ no longer moves it. Content row is a fixed 1200px box on desktop, so this stays flush. */
.elementor-widget-shortcode.cgtech-insmore-widget{ margin-top:55px !important; }

/* CGTECH-CAT-ARCHIVE-MATCH-v1 : category archives get the exact same treatment as the main Insights page (body.blog rules extended to body.category) */
.category .ast-container{ max-width:100% !important; padding:0 !important; display:block !important; }
.category .site-content, .category #page, .category .cgtech-arch{ padding-top:0 !important; margin-top:0 !important; }
.category #secondary, .category .widget-area{ display:none !important; }
.category #primary{ width:100% !important; max-width:100% !important; flex:1 1 100% !important; margin:0 !important; padding:0 !important; }
.category .ast-separate-container .ast-article-post{ padding:0 !important; margin:0 !important; background:transparent !important; box-shadow:none !important; }
body.category .cgtech-arch__hero{ background-image:linear-gradient(90deg, rgba(21,24,57,0.92) 0%, rgba(21,24,57,0.88) 48%, rgba(21,24,57,0.5) 74%, rgba(21,24,57,0.16) 100%), url(/wp-content/uploads/2026/06/home-digital-transformation.webp) !important; background-size:cover, cover !important; background-position:center center, center center !important; background-repeat:no-repeat, no-repeat !important; background-color:var(--cg-navy) !important; }
body.category .cgtech-arch__title{ text-shadow:0 2px 15px rgba(11,26,120,0.55), 0 1px 3px rgba(0,0,0,0.22) !important; }

/* CGTECH-SPLITCTX-UNBALANCE-v1 : body copy in left-aligned split-context sections wraps naturally to full column width; the --localcontext balance+720px rule is for centred proof strips only */
.cgtech-splitctx-text .cgtech-section__body p{ text-wrap:wrap !important; max-width:none !important; margin-left:0 !important; margin-right:0 !important; }

/* CGTECH-JOURNEY-NAVY-v1 : About journey = navy chapter band (Option 2, Tony-approved). Retires the metro rail. */
.cgtech-journey{ background:radial-gradient(120% 140% at 85% 0%, #232A63 0%, #151839 58%) !important; }
.cgtech-journey .cgtech-section__headline .elementor-heading-title{ color:#FFFFFF !important; }
.e-con.e-con.cgtech-tl3::before, .e-con.e-con.cgtech-tl3::after, .cgtech-tl3::before, .cgtech-tl3::after{ display:none !important; content:none !important; }
.e-con.e-con.cgtech-tl3__col::before, .e-con.e-con.cgtech-tl3__col::after, .cgtech-tl3__col::before, .cgtech-tl3__col::after{ display:none !important; content:none !important; }
.cgtech-tl3{ padding-top:10px !important; }
.e-con.e-con.cgtech-tl3__col{ background:#1D2350 !important; border:0 !important; border-top:3px solid #7BA7EE !important; border-radius:0 0 14px 14px !important; padding:24px 22px 26px !important; text-align:left !important; }
.e-con.e-con.cgtech-tl3__col--navy{ border-top-color:#FFFFFF !important; }
.e-con.e-con.cgtech-tl3__col--orange{ border-top-color:#EA5B38 !important; }
.cgtech-tl3__year, .cgtech-tl3__tag{ text-align:left !important; }
.cgtech-tl3__year h3{ font-size:26px !important; }
.cgtech-tl3__year--blue h3{ color:#7BA7EE !important; }
.cgtech-tl3__year--navy h3{ color:#FFFFFF !important; }
.cgtech-tl3__year--orange h3{ color:#FF7A50 !important; }
.cgtech-tl3__tag, .cgtech-tl3__tag p{ color:#9FB4E4 !important; margin:4px 0 0 !important; }
.cgtech-tl3__card, .cgtech-tl3__card--navy, .cgtech-tl3__card--orange{ background:transparent !important; border:0 !important; box-shadow:none !important; margin-top:14px !important; padding:0 !important; border-radius:0 !important; }
.cgtech-tl3__card-title h4{ color:#FFFFFF !important; }
.cgtech-tl3__list li{ color:#F2F5FF !important; }
.cgtech-tl3__list li::before{ background:#7BA7EE !important; }
.cgtech-tl3__list--navy li::before{ background:#FFFFFF !important; }
.cgtech-tl3__list--orange li::before{ background:#FF7A50 !important; }

/* CGTECH-ABOUT-POLISH-v1 : team bios, gov badge tiles, comparison spacing inside values */
.cgtech-team-card__bio p{ font-size:13.5px; color:#5A6377; line-height:1.55; margin:6px 0 10px !important; }
.cgtech-section--gov .elementor-widget-image img{ background:#FFFFFF; border-radius:12px; padding:14px 20px; max-height:88px; width:auto; object-fit:contain; }
.cgtech-section--values .cgtech-bagrid{ margin-top:34px; }

/* CGTECH-ABOUT-POLISH-v2 : values as 3 cards, equal comparison columns, bios readable on navy team cards */
.e-con.e-con.cgtech-vrows{ flex-direction:row !important; flex-wrap:wrap !important; gap:18px !important; margin-top:10px; }
.e-con.e-con.cgtech-vrows > .e-con-inner{ display:flex !important; flex-direction:row !important; flex-wrap:wrap !important; gap:18px !important; width:100%; }
.e-con.e-con.cgtech-vrow{ flex:1 1 0 !important; min-width:250px !important; width:auto !important; flex-direction:column !important; align-items:flex-start !important; background:#FFFFFF !important; border:1px solid #E4E9F5 !important; border-radius:14px !important; padding:24px 22px !important; box-shadow:0 10px 28px rgba(21,24,57,.05) !important; }
.e-con.e-con.cgtech-vrow > .e-con-inner{ display:flex; flex-direction:column; align-items:flex-start; }
.cgtech-vrow__n{ margin:0 0 10px !important; }
.e-con.e-con.cgtech-bagrid{ gap:18px !important; margin-top:34px !important; }
.e-con.e-con.cgtech-bacol{ flex:1 1 0 !important; min-width:260px !important; width:auto !important; }
.cgtech-team-card__bio p{ color:#C7D2F0 !important; font-size:13px; line-height:1.5; }


/* CGTECH-INSMORE-FIT-v1 (2026-07-19): explore box gap matches the 18px card gap and the box flex-fills the leftover column height so its bottom sits flush with the last FAQ card (and never extends past it). Article list removed via shortcode count=0; box = title + trending pills + view-all pinned to the bottom edge. Supersedes the frozen 55px margin from IF-ALIGN-v6. */
@media (min-width:821px){
  .cgtech-if__row{ align-items:stretch !important; }
  .elementor-widget-shortcode.cgtech-insmore-widget{ margin-top:18px !important; padding-top:0 !important; flex:1 1 0 !important; min-height:0 !important; display:flex !important; flex-direction:column !important; }
  .cgtech-insmore-widget .elementor-widget-container{ flex:1 1 auto; display:flex; min-height:0; }
  .cgtech-insmore-widget .cgtech-insmore{ flex:1 1 auto; display:flex; flex-direction:column; min-height:0; margin-top:0 !important; overflow:hidden; }
  .cgtech-insmore-widget .cgtech-insmore__all{ margin-top:auto; }
}
@media (max-width:820px){
  .elementor-widget-shortcode.cgtech-insmore-widget{ margin-top:18px !important; }
}

/* CGTECH-INSMORE-FIT-v1.1: the IF-ALIGN-v1 ':last-child' rule (specificity 0,4,0) was still forcing margin-top:55px over v1's 18px. Re-declare with the same selector after it, at -2px so the net gap = e-con column gap (20px) - 2 = 18px, matching the card-to-card gap exactly. */
.cgtech-if__col:not(.cgtech-if__col--faq) > .elementor-widget-shortcode:last-child,
.elementor-widget-shortcode.cgtech-insmore-widget{ margin-top:-2px !important; }

/* CGTECH-INSMORE-FIT-v1.2: Elementor optimized markup has no .elementor-widget-container - the shortcode output sits in div.elementor-shortcode. Include it in the flex chain so the box truly fills to the column bottom. */
@media (min-width:821px){
  .cgtech-insmore-widget .elementor-widget-container,
  .cgtech-insmore-widget .elementor-shortcode{ flex:1 1 auto !important; display:flex !important; flex-direction:column !important; min-height:0 !important; }
}

/* CGTECH-INSMORE-FIT-v1.3: freeze the explore box at its collapsed-state flush height instead of live flex-fill, so expanding an FAQ no longer stretches it. The insights column stops stretching (align-self:flex-start) and the box gets the measured min-height (256px border-box) that lands its bottom exactly on the last collapsed FAQ card. Desktop row is a fixed 1200px, so this height is stable; re-measure if FAQ copy or card count changes. */
@media (min-width:821px){
  .cgtech-if__col--insights{ align-self:flex-start !important; }
  .elementor-widget-shortcode.cgtech-insmore-widget{ flex:0 0 auto !important; }
  .cgtech-insmore-widget .cgtech-insmore{ min-height:256px; }
}


/* ============================================================
   CGTECH-ABOUT-OPT1-v1 (2026-07-19)
   About page rebuilt to the approved Option 1 mockup: light
   photographic hero + stat cards, story with numbered journey
   rail, values as rows, trust strip with BuyICT lockup.
   ============================================================ */
/* --- hero --- */
.cgtech-section.cgtech-about-hero{ background:linear-gradient(115deg,#FFFFFF 30%,#EEF3FC 100%) !important; padding-top:150px !important; padding-bottom:64px !important; }
.cgtech-about-hero .elementor-heading-title{ color:#151839 !important; text-shadow:none !important; }
.cgtech-about-hero .cgtech-ahero-text h1.elementor-heading-title, .cgtech-about-hero .cgtech-ahero-text .elementor-heading-title{ font-size:clamp(30px,3.6vw,44px) !important; line-height:1.12 !important; }
.cgtech-about-hero .cgtech-eyebrow, .cgtech-about-hero .cgtech-eyebrow p{ color:#1129B9 !important; text-shadow:none !important; }
.cgtech-about-hero .cgtech-ahero-text .elementor-widget-text-editor:not(.cgtech-eyebrow) p{ color:#3A4258 !important; text-shadow:none !important; font-size:16.5px; max-width:52ch; }
.cgtech-about-hero .elementor-widget-button:last-child .elementor-button{ background:transparent !important; border:1.5px solid #C2CFE8 !important; color:#151839 !important; }
.cgtech-about-hero .elementor-widget-button:last-child .elementor-button:hover{ border-color:#1129B9 !important; color:#1129B9 !important; }
.e-con.e-con.cgtech-ahero-grid{ flex-direction:row !important; flex-wrap:wrap !important; align-items:center !important; gap:44px !important; }
.e-con.e-con.cgtech-ahero-text{ flex:1.05 1 360px !important; min-width:0 !important; }
.e-con.e-con.cgtech-ahero-collage{ flex:.95 1 320px !important; display:grid !important; grid-template-columns:1.4fr 1fr !important; grid-auto-rows:150px !important; gap:12px !important; min-width:0 !important; }
.cgtech-ahero-collage .elementor-widget-image{ height:100%; border-radius:14px; overflow:hidden; box-shadow:0 14px 34px -24px rgba(21,24,57,.5); }
.cgtech-ahero-collage .elementor-widget-image:first-child{ grid-row:span 2; }
.cgtech-ahero-collage .elementor-widget-image .elementor-widget-container, .cgtech-ahero-collage .elementor-widget-image a{ height:100%; display:block; }
.cgtech-ahero-collage .elementor-widget-image img{ width:100% !important; height:100% !important; object-fit:cover !important; display:block; }
/* --- hero stat cards --- */
.e-con.e-con.cgtech-ahero-stats{ flex-direction:row !important; flex-wrap:wrap !important; gap:14px !important; margin-top:38px !important; }
.e-con.e-con.cgtech-ahero-stats > .e-con{ flex:1 1 180px !important; min-width:150px !important; width:auto !important; background:#FFFFFF !important; border:1px solid #DEE6F5 !important; border-top:3px solid #EA5B38 !important; border-radius:12px !important; padding:18px 20px 15px !important; box-shadow:0 10px 28px -22px rgba(21,24,57,.35) !important; gap:2px !important; }
.cgtech-ahero-stats .cgtech-stat__k .elementor-heading-title{ font-size:30px !important; color:#1129B9 !important; margin:0 !important; font-variant-numeric:tabular-nums; }
.cgtech-ahero-stats .cgtech-stat__v p{ font-size:13px !important; color:#5A6377 !important; margin:0 !important; }
/* --- story journey rail (numbered like the home How we help) --- */
.e-con.e-con.cgtech-asteps{ position:relative !important; flex-direction:column !important; gap:34px !important; background:transparent !important; border:none !important; box-shadow:none !important; padding:6px 0 0 4px !important; counter-reset:astep; }
.e-con.e-con.cgtech-asteps::before{ content:''; position:absolute; left:21px; top:22px; bottom:30px; width:2px; background:linear-gradient(180deg,#1129B9 0%,#7BA7EE 100%); opacity:.45; }
.e-con.e-con.cgtech-astep{ position:relative !important; padding:0 0 0 58px !important; background:transparent !important; border:none !important; box-shadow:none !important; gap:0 !important; counter-increment:astep; }
.e-con.e-con.cgtech-astep::before{ content:counter(astep); position:absolute; left:3px; top:0; width:36px; height:36px; border-radius:50%; border:2px solid #1129B9; background:#fff; color:#1129B9; font-family:var(--font-heading); font-weight:700; font-size:15px; display:flex; align-items:center; justify-content:center; z-index:1; }
.cgtech-astep__year p{ font-family:var(--font-mono),monospace !important; font-size:11.5px !important; letter-spacing:.12em; text-transform:uppercase; color:#1129B9 !important; margin:0 !important; }
.cgtech-astep__title .elementor-heading-title{ font-size:17.5px !important; color:#151839 !important; margin:3px 0 5px !important; }
.cgtech-astep__desc p{ font-size:13.5px !important; color:#5A6377 !important; margin:0 !important; }
/* --- values as rows --- */
.e-con.e-con.cgtech-vrows--rows{ flex-direction:column !important; flex-wrap:nowrap !important; gap:0 !important; }
.e-con.e-con.cgtech-vrows--rows > .e-con{ flex:1 1 auto !important; width:100% !important; min-width:0 !important; flex-direction:row !important; flex-wrap:wrap !important; align-items:flex-start !important; gap:20px !important; background:transparent !important; border:none !important; border-top:1px solid #D8E0F0 !important; border-radius:0 !important; box-shadow:none !important; padding:20px 0 !important; }
.e-con.e-con.cgtech-vrows--rows > .e-con:last-child{ border-bottom:1px solid #D8E0F0 !important; }
.e-con.e-con.cgtech-vrows--rows .cgtech-vrow__n{ flex:0 0 46px !important; min-width:0 !important; background:transparent !important; padding:0 !important; }
.cgtech-vrows--rows .cgtech-vrow__n .elementor-heading-title{ font-size:26px !important; color:#7BA7EE !important; margin:0 !important; }

.cgtech-vrows--rows .cgtech-vrow__t{ flex:0 0 230px !important; }
.cgtech-vrows--rows .cgtech-vrow__t .elementor-heading-title{ font-size:16.5px !important; color:#151839 !important; margin:3px 0 0 !important; }
.cgtech-vrows--rows .cgtech-vrow__b{ flex:1 1 300px !important; }
.cgtech-vrows--rows .cgtech-vrow__b p{ font-size:14px !important; margin:2px 0 0 !important; }
/* --- trust strip --- */
.cgtech-section.cgtech-trust{ background:#F2F5FC !important; padding:30px 0 !important; }
.e-con.e-con.cgtech-trust__inner{ flex-direction:row !important; flex-wrap:wrap !important; align-items:center !important; justify-content:space-between !important; gap:18px !important; }
.cgtech-trust .cgtech-trust__label p{ color:#5A6377 !important; margin:0 !important; }
.e-con.e-con.cgtech-cband-logos{ flex:0 0 auto !important; width:auto !important; flex-direction:row !important; gap:12px !important; margin:0 !important; }
.cgtech-trust .elementor-widget-image img{ background:#FFFFFF !important; border:1px solid #DEE6F5 !important; border-radius:12px !important; padding:12px 18px !important; max-height:72px !important; width:auto !important; object-fit:contain !important; }
/* --- team LinkedIn chip --- */
.cgtech-team-card__li p{ margin:10px 0 0 !important; }
.cgtech-team-card__li a{ display:inline-block; font-size:12px; font-weight:700; color:#C7D2F0; border:1px solid rgba(255,255,255,.28); border-radius:7px; padding:4px 10px; text-decoration:none; transition:color .2s, border-color .2s; }
.cgtech-team-card__li a:hover{ color:#FFFFFF; border-color:#FFFFFF; }
/* --- responsive --- */
@media (max-width:820px){
  .cgtech-section.cgtech-about-hero{ padding-top:120px !important; }
  .e-con.e-con.cgtech-ahero-grid{ flex-direction:column !important; }
  .e-con.e-con.cgtech-ahero-collage{ grid-auto-rows:120px !important; width:100% !important; }
  .e-con.e-con.cgtech-ahero-stats > .e-con{ flex:1 1 42% !important; }
  .cgtech-vrows--rows .cgtech-vrow__t{ flex:1 1 100% !important; }
  .e-con.e-con.cgtech-trust__inner{ justify-content:flex-start !important; }
}
/* CGTECH-ABOUT-OPT1-v1.1: neutralise the legacy "about 160 design lift" page-scoped rules that fight the Option 1 rebuild (they carry body.page-id-160 specificity + !important, so they must be out-gunned here, later in the file). */
body.page-id-160 .elementor-element-64674bf.cgtech-trust{ background:#F2F5FC !important; background-image:none !important; }
body.page-id-160 .cgtech-asteps.cgtech-story__facts{ background:transparent !important; background-image:none !important; border:none !important; box-shadow:none !important; border-radius:0 !important; padding:6px 0 0 4px !important; align-self:flex-start !important; }
body.page-id-160 .cgtech-asteps.cgtech-story__facts::before{ position:absolute !important; content:'' !important; inset:auto !important; left:21px !important; right:auto !important; top:22px !important; bottom:30px !important; width:2px !important; background:linear-gradient(180deg,#1129B9 0%,#7BA7EE 100%) !important; opacity:.45 !important; border-radius:0 !important; }
body.page-id-160 .cgtech-asteps .cgtech-astep__year p{ color:#1129B9 !important; }
.cgtech-team-card__li a{ border:none !important; padding:0 !important; border-radius:0 !important; }
body.page-id-160 .cgtech-ahero-stats .cgtech-stat{ background:#FFFFFF !important; min-height:0 !important; }
body.page-id-160 .cgtech-ahero-stats .cgtech-stat__k::after{ content:none !important; display:none !important; }
body.page-id-160 .cgtech-ahero-stats .cgtech-stat__k, body.page-id-160 .cgtech-ahero-stats .cgtech-stat__k .elementor-heading-title{ color:#1129B9 !important; font-size:30px !important; }
body.page-id-160 .cgtech-ahero-stats .cgtech-stat__v, body.page-id-160 .cgtech-ahero-stats .cgtech-stat__v p{ color:#5A6377 !important; }
/* CGTECH-ABOUT-OPT1-v1.2: structural fixes after live check. (a) Cover .e-con-inner wrappers on the hero grid/stats/trust rows (belt and braces alongside content_width:full). (b) Kill the legacy cg-anim-ready reveal that held hero stats at opacity 0. (c) The values row 'content' container was being hidden - style it as the row body instead. */
.e-con.e-con.cgtech-ahero-grid > .e-con-inner{ display:flex !important; flex-direction:row !important; flex-wrap:wrap !important; align-items:center !important; gap:44px !important; max-width:100% !important; }
.e-con.e-con.cgtech-ahero-collage > .e-con-inner{ display:grid !important; grid-template-columns:1.4fr 1fr !important; grid-auto-rows:150px !important; gap:12px !important; max-width:100% !important; width:100% !important; }
.cgtech-ahero-collage > .e-con-inner .elementor-widget-image:first-child, .cgtech-ahero-collage .elementor-widget-image:first-child{ grid-row:span 2; }
.e-con.e-con.cgtech-ahero-stats > .e-con-inner{ display:flex !important; flex-direction:row !important; flex-wrap:wrap !important; gap:14px !important; max-width:100% !important; width:100% !important; }
.e-con.e-con.cgtech-ahero-stats > .e-con-inner > .e-con, .e-con.e-con.cgtech-ahero-stats > .e-con{ flex:1 1 180px !important; min-width:150px !important; width:auto !important; background:#FFFFFF !important; border:1px solid #DEE6F5 !important; border-top:3px solid #EA5B38 !important; border-radius:12px !important; padding:18px 20px 15px !important; box-shadow:0 10px 28px -22px rgba(21,24,57,.35) !important; gap:2px !important; }
body.cg-anim-ready.page-id-160 .cgtech-ahero-stats .cgtech-stat{ opacity:1 !important; transform:none !important; }
.e-con.e-con.cgtech-vrows--rows > .e-con > .e-con:not(.cgtech-vrow__n), .e-con.e-con.cgtech-vrows--rows > .e-con-inner > .e-con > .e-con:not(.cgtech-vrow__n){ display:flex !important; flex:1 1 480px !important; min-width:260px !important; width:auto !important; flex-direction:row !important; flex-wrap:wrap !important; align-items:flex-start !important; gap:6px 20px !important; background:transparent !important; border:none !important; box-shadow:none !important; padding:0 !important; }
.e-con.e-con.cgtech-trust__inner > .e-con-inner{ display:flex !important; flex-direction:row !important; flex-wrap:wrap !important; align-items:center !important; justify-content:space-between !important; gap:18px !important; max-width:100% !important; width:100% !important; }
body.page-id-160 .elementor-element-35b16c7{ justify-content:flex-end !important; }
@media (max-width:820px){
  .e-con.e-con.cgtech-ahero-grid > .e-con-inner{ flex-direction:column !important; }
  .e-con.e-con.cgtech-ahero-collage > .e-con-inner{ grid-auto-rows:120px !important; }
}
/* CGTECH-ABOUT-OPT1-v1.3: hero reverted to the standard navy sol-hero treatment (Tony call); stat cards now a band at the top of the story section; trust strip constrained and aligned. */
.e-con.e-con.cgtech-ahero-stats--band{ max-width:1160px !important; margin:0 auto !important; padding:0 20px !important; }
body.page-id-160 .cgtech-section--story{ padding-top:56px !important; }
.e-con.e-con.cgtech-ahero-stats--band + .e-con{ margin-top:44px !important; }
.cgtech-section.cgtech-trust{ background:#F2F5FC !important; padding:32px 20px !important; }
.e-con.e-con.cgtech-trust__inner{ max-width:1160px !important; margin:0 auto !important; width:100% !important; flex-direction:row !important; flex-wrap:wrap !important; align-items:center !important; justify-content:space-between !important; gap:18px !important; padding:0 !important; }
.e-con.e-con.cgtech-trust__inner > .e-con-inner{ max-width:100% !important; }
.cgtech-trust .cgtech-trust__label{ width:auto !important; }
.cgtech-trust .cgtech-trust__label p{ font-family:var(--font-mono),monospace !important; font-size:11px !important; font-weight:700 !important; letter-spacing:.14em !important; text-transform:uppercase !important; color:#5A6377 !important; margin:0 !important; }
body.page-id-160 .elementor-element-35b16c7{ justify-content:flex-end !important; width:auto !important; flex:0 0 auto !important; margin:0 !important; }
.e-con.e-con.cgtech-cband-logos > .e-con{ width:auto !important; flex:0 0 auto !important; }
.cgtech-trust .elementor-widget-image img{ background:#FFFFFF !important; border:1px solid #DEE6F5 !important; border-radius:12px !important; padding:14px 22px !important; max-height:84px !important; width:auto !important; object-fit:contain !important; box-shadow:0 8px 22px -18px rgba(21,24,57,.3) !important; }
@media (max-width:820px){ .e-con.e-con.cgtech-trust__inner{ justify-content:center !important; } }
/* CGTECH-ABOUT-OPT1-v1.4: trust strip final - logos container class now renders (was stored under the widget key), inner is full-width flat (no .e-con-inner). Higher-specificity padding so the generic section rules lose. */
.cgtech-section.cgtech-section--light.cgtech-trust{ padding:32px 20px !important; }
.e-con.e-con.cgtech-cband-logos{ flex:0 0 auto !important; width:auto !important; flex-direction:row !important; justify-content:flex-end !important; gap:12px !important; margin:0 !important; }
.e-con.e-con.cgtech-cband-logos > .e-con{ width:auto !important; flex:0 0 auto !important; min-width:0 !important; padding:0 !important; background:transparent !important; }
.cgtech-trust .cgtech-trust__label p{ text-align:left !important; }

/* CGTECH-ABOUT-OPT1-v1.5: trust strip as a centred lockup - one small logo at the far end of a wide band read as broken, so label + logo now sit together as one centred group with hairlines defining the band. */
.cgtech-section.cgtech-section--light.cgtech-trust{ padding:34px 20px !important; border-top:1px solid #E2E8F4 !important; border-bottom:1px solid #E2E8F4 !important; }
.e-con.e-con.cgtech-trust__inner{ justify-content:center !important; gap:28px !important; }
.e-con.e-con.cgtech-cband-logos{ justify-content:center !important; }
.cgtech-trust .cgtech-trust__label{ flex:0 0 auto !important; width:auto !important; }
.cgtech-trust .cgtech-trust__label p{ text-align:right !important; color:#4A5268 !important; }
.cgtech-trust .elementor-widget-image img{ max-height:92px !important; }
@media (max-width:820px){ .e-con.e-con.cgtech-trust__inner{ flex-direction:column !important; gap:14px !important; } .cgtech-trust .cgtech-trust__label p{ text-align:center !important; } }

/* ============================================================
   CGTECH-ABOUT-OPT1-v2 (2026-07-19): stat cards redesigned with
   left-to-right pop-in + count-up; journey timeline adopts the
   home How-we-help component on a light background; leadership
   lede balanced; trust strip = standard eyebrow + centred logo.
   ============================================================ */
/* stat cards */
.cgtech-ahero-stats .cgtech-stat__k .elementor-heading-title{ font-size:38px !important; letter-spacing:-.02em !important; line-height:1 !important; }
.cgtech-ahero-stats .cgtech-stat__k .cgtech-plus{ color:#EA5B38 !important; margin-left:2px; }
.cgtech-ahero-stats .cgtech-stat__v p{ font-size:13.5px !important; margin-top:7px !important; }
.e-con.e-con.cgtech-ahero-stats > .e-con{ padding:24px 26px 20px !important; border-radius:14px !important; transition:transform .25s ease, box-shadow .25s ease; }
.cgtech-ahero-stats--band .cgtech-stat{ opacity:0; transform:translateY(22px); transition:opacity .6s ease, transform .6s ease, box-shadow .25s ease; }
.cgtech-ahero-stats--band .cgtech-stat.is-in{ opacity:1; transform:none; }
.cgtech-ahero-stats--band .cgtech-stat.is-in:hover{ transform:translateY(-4px); box-shadow:0 18px 38px -22px rgba(21,24,57,.4) !important; }
@media (prefers-reduced-motion: reduce){ .cgtech-ahero-stats--band .cgtech-stat{ opacity:1 !important; transform:none !important; transition:none !important; } }
/* journey = help steps on light */
body.page-id-160 .cgtech-story__facts.cgtech-help__steps{ background:transparent !important; background-image:none !important; border:none !important; box-shadow:none !important; border-radius:0 !important; padding:0 !important; align-self:flex-start !important; position:relative !important; }
body.page-id-160 .cgtech-story__facts.cgtech-help__steps::before{ content:none !important; display:none !important; }
.e-con.e-con.cgtech-help--onlight{ gap:36px !important; }
.cgtech-help--onlight .cgtech-help__badge p{ background:#FFFFFF !important; border:2px solid #1129B9 !important; color:#1129B9 !important; }
.cgtech-help--onlight .cgtech-help__label p{ color:#151839 !important; }
.cgtech-help--onlight .cgtech-help__desc p{ color:#5A6377 !important; }
.cgtech-help--onlight .cgtech-help__icon svg{ fill:#1129B9 !important; }
.cgtech-help--onlight .cgtech-help__icon i{ color:#1129B9 !important; }
.cgtech-help--onlight .cgtech-help__line{ background:linear-gradient(180deg,#1129B9,#7BA7EE) !important; opacity:.35; }
.cgtech-help__yr{ font-family:var(--font-mono),monospace; font-size:12px; font-weight:700; letter-spacing:.08em; color:#1129B9; margin-left:8px; }
/* leadership lede: balanced two lines, no bios on cards */
body.page-id-160 .elementor-element-c649546 p{ max-width:54ch !important; margin-left:auto !important; margin-right:auto !important; text-wrap:balance; }
/* trust strip: standard orange eyebrow, centred lockup */
.cgtech-section.cgtech-section--light.cgtech-trust{ padding:46px 20px !important; }
.cgtech-trust .cgtech-trust__label p{ font-family:var(--font-mono),monospace !important; font-size:12px !important; font-weight:700 !important; letter-spacing:.16em !important; text-transform:uppercase !important; color:#EA5B38 !important; text-align:center !important; margin:0 !important; }
.e-con.e-con.cgtech-trust__inner{ flex-direction:column !important; align-items:center !important; justify-content:center !important; gap:18px !important; }
.e-con.e-con.cgtech-cband-logos{ justify-content:center !important; }
.cgtech-trust .elementor-widget-image img{ max-height:96px !important; }
/* ============================================================
   CGTECH-ABOUT-OPT1-v3 (2026-07-19)
   (a) Stat cards go navy so they pop on the pale band; reveal
       stagger slowed to a clear one-by-one.
   (b) Timeline: the home help CSS is scoped .cgtech-section--help
       and never reached this page - full self-contained light
       variant here, line drawn on ::after (::before is claimed
       by a legacy overlay rule).
   (c) Trust strip: eyebrow + white lockup card, big BuyICT logo
       beside the approved-supplier line.
   ============================================================ */
/* --- (a) navy stat cards --- */
body.page-id-160 .cgtech-ahero-stats .cgtech-stat{ background:radial-gradient(120% 140% at 85% 0%, #232A63 0%, #151839 60%) !important; border:1px solid rgba(255,255,255,.08) !important; border-top:3px solid #EA5B38 !important; border-radius:14px !important; padding:26px 26px 22px !important; box-shadow:0 20px 44px -28px rgba(21,24,57,.6) !important; min-height:0 !important; }
body.page-id-160 .cgtech-ahero-stats .cgtech-stat__k, body.page-id-160 .cgtech-ahero-stats .cgtech-stat__k .elementor-heading-title{ color:#FFFFFF !important; font-size:40px !important; }
body.page-id-160 .cgtech-ahero-stats .cgtech-stat__k .cgtech-plus{ color:#EA5B38 !important; }
body.page-id-160 .cgtech-ahero-stats .cgtech-stat__v, body.page-id-160 .cgtech-ahero-stats .cgtech-stat__v p{ color:#AEB8D6 !important; }
.cgtech-ahero-stats--band .cgtech-stat{ transition:opacity .7s ease, transform .7s ease, box-shadow .25s ease; }
/* --- (b) timeline component, light variant, self-contained --- */
body.page-id-160 .cgtech-story__facts.cgtech-help__steps{ background:none !important; background-image:none !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; padding:6px 0 0 !important; min-height:0 !important; overflow:visible !important; align-self:flex-start !important; position:relative !important; flex:1 1 40% !important; max-width:42% !important; width:auto !important; display:flex !important; flex-direction:column !important; gap:30px !important; }
body.page-id-160 .cgtech-story__facts.cgtech-help__steps::before{ content:none !important; display:none !important; }
body.page-id-160 .cgtech-story__facts.cgtech-help__steps::after{ content:'' !important; position:absolute !important; left:21px !important; top:28px !important; bottom:28px !important; width:2px !important; background:linear-gradient(180deg,#7BA7EE,#1129B9) !important; opacity:.35 !important; z-index:0 !important; }
.cgtech-help--onlight .cgtech-help__line{ display:none !important; }
.e-con.e-con.cgtech-help--onlight .cgtech-help__step{ flex-direction:column !important; gap:8px !important; padding:0 !important; background:transparent !important; border:none !important; box-shadow:none !important; position:relative !important; z-index:1 !important; width:100% !important; }
.e-con.e-con.cgtech-help--onlight .cgtech-help__toprow{ flex-direction:row !important; align-items:center !important; gap:16px !important; width:100% !important; }
.cgtech-help--onlight .cgtech-help__badge{ flex:0 0 44px !important; width:44px !important; }
.cgtech-help--onlight .cgtech-help__badge p{ width:44px !important; height:44px !important; border-radius:50% !important; background:#FFFFFF !important; border:2px solid #1129B9 !important; color:#1129B9 !important; display:flex !important; align-items:center !important; justify-content:center !important; font-family:var(--font-heading) !important; font-weight:700 !important; font-size:16px !important; margin:0 !important; box-shadow:0 4px 14px -8px rgba(17,41,185,.5); }
.e-con.e-con.cgtech-help--onlight .cgtech-help__head{ flex-direction:row !important; align-items:center !important; gap:10px !important; flex:1 1 auto !important; width:auto !important; }
.cgtech-help--onlight .cgtech-help__icon{ margin:0 !important; line-height:1 !important; }
.cgtech-help--onlight .cgtech-help__icon .elementor-icon{ display:inline-flex !important; }
.cgtech-help--onlight .cgtech-help__icon svg{ width:17px !important; height:17px !important; fill:#1129B9 !important; }
.cgtech-help--onlight .cgtech-help__icon i{ font-size:17px !important; color:#1129B9 !important; }
.cgtech-help--onlight .cgtech-help__label p{ color:#151839 !important; font-family:var(--font-heading) !important; font-weight:700 !important; font-size:18px !important; line-height:1.3 !important; margin:0 !important; }
.cgtech-help--onlight .cgtech-help__yr{ font-family:var(--font-mono),monospace !important; font-size:11.5px !important; font-weight:700 !important; letter-spacing:.1em !important; color:#1129B9 !important; background:rgba(17,41,185,.08); border-radius:6px; padding:3px 8px; margin-left:10px; vertical-align:2px; }
.cgtech-help--onlight .cgtech-help__desc{ padding-left:60px !important; }
.cgtech-help--onlight .cgtech-help__desc p{ color:#5A6377 !important; font-size:14px !important; line-height:1.55 !important; margin:0 !important; }
/* --- (c) trust lockup card --- */
.e-con.e-con.cgtech-trust__card{ background:#FFFFFF !important; border:1px solid #DEE6F5 !important; border-radius:16px !important; padding:26px 34px !important; box-shadow:0 16px 40px -28px rgba(21,24,57,.35) !important; flex-direction:row !important; flex-wrap:wrap !important; align-items:center !important; justify-content:center !important; gap:30px !important; width:auto !important; max-width:860px !important; margin:0 auto !important; }
.e-con.e-con.cgtech-trust__card > .e-con{ width:auto !important; flex:0 0 auto !important; padding:0 !important; }
.cgtech-trust .elementor-widget-image img{ background:none !important; border:none !important; border-radius:0 !important; padding:0 !important; box-shadow:none !important; max-height:120px !important; width:auto !important; }
.cgtech-trust .cgtech-trust__blurb{ flex:1 1 320px !important; min-width:260px; max-width:46ch; }
.cgtech-trust .cgtech-trust__blurb p{ font-size:15.5px !important; line-height:1.6 !important; color:#3A4258 !important; margin:0 !important; text-align:left !important; border-left:3px solid #EA5B38; padding-left:18px; }
@media (max-width:820px){
  body.page-id-160 .cgtech-story__facts.cgtech-help__steps{ max-width:100% !important; flex-basis:100% !important; }
  .e-con.e-con.cgtech-trust__card{ flex-direction:column !important; padding:24px !important; }
  .cgtech-trust .cgtech-trust__blurb p{ text-align:center !important; border-left:none; padding-left:0; }
  .cgtech-help--onlight .cgtech-help__desc{ padding-left:0 !important; }
}
/* CGTECH-ABOUT-OPT1-v3.1: the v1.2 selector .e-con.e-con.cgtech-ahero-stats > .e-con carries (0,4,0) and was out-gunning the navy card (0,3,1). Restate at (0,5,1). */
body.page-id-160 .e-con.e-con.cgtech-ahero-stats > .e-con.cgtech-stat{ background:radial-gradient(120% 140% at 85% 0%, #232A63 0%, #151839 60%) !important; border:1px solid rgba(255,255,255,.08) !important; border-top:3px solid #EA5B38 !important; border-radius:14px !important; padding:26px 26px 22px !important; box-shadow:0 20px 44px -28px rgba(21,24,57,.6) !important; }

/* ============================================================
   CGTECH-ABOUT-OPT1-v4 (2026-07-19): polish pass on the three
   flagged blocks.
   (a) Stat band overlaps the hero bottom (bridge), cards rise
       up on reveal left to right; orange border-top ears
       replaced with an accent bar under the number.
   (b) Timeline: description aligns under the title text, gaps
       tightened, title slightly larger.
   (c) Panels card: no box-in-box around the logo, tighter card.
   ============================================================ */
/* --- (a) stat band bridge + rise --- */
.e-con.e-con.cgtech-ahero-stats--band{ position:relative !important; z-index:5 !important; margin-top:-72px !important; }
body.page-id-160 .cgtech-section--story{ padding-top:0 !important; }
.e-con.e-con.cgtech-ahero-stats--band + .e-con{ margin-top:52px !important; }
body.page-id-160 .e-con.e-con.cgtech-ahero-stats > .e-con.cgtech-stat{ border-top:none !important; border:1px solid rgba(255,255,255,.09) !important; border-radius:16px !important; padding:26px 28px 22px !important; box-shadow:0 24px 48px -26px rgba(21,24,57,.55) !important; }
body.page-id-160 .cgtech-ahero-stats .cgtech-stat__k, body.page-id-160 .cgtech-ahero-stats .cgtech-stat__k .elementor-heading-title{ font-size:42px !important; }
body.page-id-160 .cgtech-ahero-stats .cgtech-stat__k .elementor-heading-title::after{ content:'' !important; display:block !important; width:34px !important; height:3px !important; border-radius:2px !important; background:#EA5B38 !important; margin-top:10px !important; }
body.page-id-160 .cgtech-ahero-stats .cgtech-stat__v p{ margin-top:9px !important; }
/* rise-up reveal, left to right (out-rank cg-reveal defaults) */
.cgtech-ahero-stats--band .cgtech-stat, .cgtech-ahero-stats--band .cgtech-stat.cg-reveal{ opacity:0 !important; transform:translateY(44px) !important; transition:opacity .75s cubic-bezier(.2,.7,.3,1), transform .75s cubic-bezier(.2,.7,.3,1), box-shadow .25s ease !important; }
.cgtech-ahero-stats--band .cgtech-stat.is-in{ opacity:1 !important; transform:none !important; }
.cgtech-ahero-stats--band .cgtech-stat:nth-child(1){ transition-delay:.05s; }
.cgtech-ahero-stats--band .cgtech-stat:nth-child(2){ transition-delay:.25s; }
.cgtech-ahero-stats--band .cgtech-stat:nth-child(3){ transition-delay:.45s; }
.cgtech-ahero-stats--band .cgtech-stat:nth-child(4){ transition-delay:.65s; }
.cgtech-ahero-stats--band .cgtech-stat.is-in:hover{ transform:translateY(-4px) !important; }
@media (prefers-reduced-motion: reduce){ .cgtech-ahero-stats--band .cgtech-stat, .cgtech-ahero-stats--band .cgtech-stat.cg-reveal{ opacity:1 !important; transform:none !important; transition:none !important; } }
/* --- (b) timeline alignment --- */
.e-con.e-con.cgtech-help--onlight{ gap:26px !important; }
.cgtech-help--onlight .cgtech-help__label p{ font-size:19px !important; }
.cgtech-help--onlight .cgtech-help__desc{ padding-left:87px !important; }
.cgtech-help--onlight .cgtech-help__desc p{ max-width:52ch; }
body.page-id-160 .cgtech-story__facts.cgtech-help__steps::after{ top:24px !important; bottom:40px !important; }
/* --- (c) panels card declutter --- */
.e-con.e-con.cgtech-trust__card{ max-width:760px !important; padding:28px 36px !important; gap:32px !important; }
.e-con.e-con.cgtech-trust__card > .e-con, .e-con.e-con.cgtech-trust__card .e-con{ background:none !important; background-image:none !important; border:none !important; border-radius:0 !important; box-shadow:none !important; padding:0 !important; }
.cgtech-trust__card .elementor-widget-image, .cgtech-trust__card .elementor-widget-image .elementor-widget-container{ background:none !important; border:none !important; box-shadow:none !important; padding:0 !important; }
.cgtech-trust .elementor-widget-image img{ background:none !important; border:none !important; box-shadow:none !important; border-radius:0 !important; padding:0 !important; max-height:96px !important; }
.cgtech-trust .cgtech-trust__blurb{ flex:1 1 300px !important; max-width:44ch !important; }
.cgtech-trust .cgtech-trust__blurb p{ font-size:15px !important; }
@media (max-width:820px){ .e-con.e-con.cgtech-ahero-stats--band{ margin-top:-44px !important; } .cgtech-help--onlight .cgtech-help__desc{ padding-left:0 !important; } }
/* CGTECH-ABOUT-OPT1-v4.1: the site-wide cg-reveal transition was overriding the stat stagger; make the left-to-right delays authoritative. */
.cgtech-ahero-stats--band .cgtech-stat:nth-child(1){ transition-delay:.05s !important; }
.cgtech-ahero-stats--band .cgtech-stat:nth-child(2){ transition-delay:.25s !important; }
.cgtech-ahero-stats--band .cgtech-stat:nth-child(3){ transition-delay:.45s !important; }
.cgtech-ahero-stats--band .cgtech-stat:nth-child(4){ transition-delay:.65s !important; }

/* CGTECH-ABOUT-OPT1-v4.2: clean animation stack for the stat cards. The legacy cg-anim-ready is-in rule (0,4,1) reset the delays via its transition shorthand, and the v1.2 emergency rule (0,5,1) pinned opacity:1 so the entrance never played. Longhands + higher specificity, delays stated per card. No-JS stays safe: without cg-anim-ready the cards render static. */
body.cg-anim-ready.page-id-160 .e-con.e-con.cgtech-ahero-stats--band > .e-con.cgtech-stat{ opacity:0 !important; transform:translateY(44px) !important; transition-property:opacity, transform, box-shadow !important; transition-duration:.75s,.75s,.25s !important; transition-timing-function:cubic-bezier(.2,.7,.3,1) !important; }
body.cg-anim-ready.page-id-160 .e-con.e-con.cgtech-ahero-stats--band > .e-con.cgtech-stat.is-in{ opacity:1 !important; transform:none !important; transition-property:opacity, transform, box-shadow !important; transition-duration:.75s,.75s,.25s !important; transition-timing-function:cubic-bezier(.2,.7,.3,1) !important; }
body.cg-anim-ready.page-id-160 .e-con.e-con.cgtech-ahero-stats--band > .e-con.cgtech-stat:nth-child(1){ transition-delay:.05s !important; }
body.cg-anim-ready.page-id-160 .e-con.e-con.cgtech-ahero-stats--band > .e-con.cgtech-stat:nth-child(2){ transition-delay:.25s !important; }
body.cg-anim-ready.page-id-160 .e-con.e-con.cgtech-ahero-stats--band > .e-con.cgtech-stat:nth-child(3){ transition-delay:.45s !important; }
body.cg-anim-ready.page-id-160 .e-con.e-con.cgtech-ahero-stats--band > .e-con.cgtech-stat:nth-child(4){ transition-delay:.65s !important; }
body.cg-anim-ready.page-id-160 .e-con.e-con.cgtech-ahero-stats--band > .e-con.cgtech-stat.is-in:hover{ transform:translateY(-4px) !important; transition-delay:0s !important; }
@media (prefers-reduced-motion: reduce){ body.cg-anim-ready.page-id-160 .e-con.e-con.cgtech-ahero-stats--band > .e-con.cgtech-stat{ opacity:1 !important; transform:none !important; transition:none !important; } }
/* ============================================================
   CGTECH-ABOUT-OPT1-v5 (2026-07-19)
   Timeline: kill default e-con padding that pushed the badges
   off the rail; retire the guessed ::after rail and use the
   helpline.js-measured .cgtech-help__line span instead, centred
   exactly on the badge centres via translateX(-50%), in CG
   orange. Panels: white section with hairlines so it no longer
   blends into the next section; open row, logo up to 132px.
   ============================================================ */
/* --- timeline --- */
.e-con.e-con.cgtech-help--onlight .cgtech-help__step, .e-con.e-con.cgtech-help--onlight .cgtech-help__toprow, .e-con.e-con.cgtech-help--onlight .cgtech-help__head{ padding:0 !important; margin:0 !important; }
body.page-id-160 .cgtech-story__facts.cgtech-help__steps{ padding:6px 0 0 !important; }
body.page-id-160 .cgtech-story__facts.cgtech-help__steps::after{ content:none !important; display:none !important; }
.cgtech-help--onlight .cgtech-help__line{ display:block !important; position:absolute !important; width:2px !important; background:#EA5B38 !important; opacity:.5 !important; z-index:0 !important; transform:translateX(-50%) !important; border-radius:1px; }
/* --- panels and partnerships --- */
.cgtech-section.cgtech-section--light.cgtech-trust{ background:#FFFFFF !important; border-top:1px solid #E4E9F5 !important; border-bottom:1px solid #E4E9F5 !important; padding:46px 20px !important; }
.e-con.e-con.cgtech-trust__card{ background:transparent !important; border:none !important; box-shadow:none !important; padding:0 !important; max-width:840px !important; gap:38px !important; }
.cgtech-trust .elementor-widget-image img{ max-height:132px !important; }
.cgtech-trust .cgtech-trust__blurb{ max-width:42ch !important; }
.cgtech-trust .cgtech-trust__blurb p{ font-size:16px !important; line-height:1.65 !important; padding-left:22px !important; }
/* CGTECH-ABOUT-OPT1-v5.1: v1.1's element-id rule was holding the trust section at mist; restate white at matching specificity. */
body.page-id-160 .elementor-element-64674bf.cgtech-trust{ background:#FFFFFF !important; background-image:none !important; }

/* CGTECH-ABOUT-OPT1-v6: panels flow = eyebrow, centred balanced body copy, then logo. Blurb moved out of the logo row; centred with no side rule. */
.cgtech-trust .cgtech-trust__blurb{ flex:0 0 auto !important; width:100% !important; max-width:none !important; }
.cgtech-trust .cgtech-trust__blurb p{ text-align:center !important; border-left:none !important; padding-left:0 !important; font-size:16.5px !important; line-height:1.6 !important; color:#3A4258 !important; max-width:58ch !important; margin:0 auto !important; text-wrap:balance; }
.e-con.e-con.cgtech-trust__inner{ gap:14px !important; }
.e-con.e-con.cgtech-trust__card{ margin-top:14px !important; gap:0 !important; }
@media (max-width:820px){ .cgtech-trust .cgtech-trust__blurb p{ font-size:15px !important; } }
/* CGTECH-ABOUT-OPT1-v6.1: panels tightened - logo lifted closer to the copy and enlarged, section height reduced. */
.cgtech-section.cgtech-section--light.cgtech-trust{ padding:34px 20px 30px !important; }
body.page-id-160 .elementor-element-64674bf.cgtech-trust{ padding:34px 20px 30px !important; }
.e-con.e-con.cgtech-trust__inner{ gap:10px !important; }
.e-con.e-con.cgtech-trust__card{ margin-top:2px !important; }
.cgtech-trust .elementor-widget-image, .cgtech-trust .elementor-widget-image .elementor-widget-container{ margin:0 !important; line-height:0 !important; }
.cgtech-trust .elementor-widget-image img{ max-height:168px !important; }

/* CGTECH-ABOUT-OPT1-v6.2: the site-wide section-rhythm rule (.cgtech-section:not(...):not(...) padding:var(--cg-section-pad) !important) out-specifies every padding override - so set the variable itself on this section instead of fighting the rule. Logo up to 200px. */
body.page-id-160 .elementor-element-64674bf.cgtech-trust{ --cg-section-pad:28px; }
.cgtech-trust .elementor-widget-image img{ max-height:200px !important; }

/* CGTECH-ABOUT-OPT1-v6.3: timeline starts level with the story heading (measured 48px offset from the column top on desktop). */
@media (min-width:821px){ body.page-id-160 .cgtech-story__facts.cgtech-help__steps{ padding:48px 0 0 !important; } }

/* CGTECH-ABOUT-OPT1-v6.4: timeline offset increased 48 -> 74px (pane measurement under-read because vw-based heading clamp renders smaller there; calibrated against Tony's desktop screenshot). */
@media (min-width:821px){ body.page-id-160 .cgtech-story__facts.cgtech-help__steps{ padding:74px 0 0 !important; } }

/* === CGTECH-INDSOL-v1: industry x solution pages: static proof grid === */
.cgtech-proofgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;margin-top:34px;width:100%}
.cgtech-proofgrid .cgtech-proof-card{height:100%;margin:0}
.cgtech-proofgrid .pc-inner{display:flex;flex-direction:column;height:100%}
@media (max-width:880px){.cgtech-proofgrid{grid-template-columns:1fr}}
/* === CGTECH-INDSOL-v1.1: proof cards in static grid: full width (beats legacy 360px cap) === */
.cgtech-proofgrid .cgtech-proof-card{width:100% !important;max-width:none !important;min-width:0;min-height:0}
/* === CGTECH-INDSOL-v1.2: balance the centred services-section lede === */
.cgtech-section--services .cgtech-section__body p{text-wrap:balance !important;max-width:62ch;margin-left:auto;margin-right:auto}

/* === CGTECH-INDSOL-v1.3: single-card proof grid, centred === */
.cgtech-proofgrid--single{grid-template-columns:minmax(0,620px);justify-content:center}

/* === CGTECH-HEROALIGN-v1: hero content left-aligns with the header logo (like home).
   Header and hero share the same 1200px box; the hero content sat 50px right of the logo
   (10px inner padding + 40px e-con-inner margin). Zero both on desktop. === */
@media (min-width:768px){
.cgtech-section--sol-hero > .cgtech-section__inner{padding-left:0 !important;padding-right:0 !important}
.cgtech-section--sol-hero > .cgtech-section__inner > .e-con-inner{margin-left:0 !important;margin-right:0 !important}
}
/* Technologies (133) hero: standard hub hero picture treatment (hub hero overlay v3 pattern) */
body.page-id-133 .cgtech-section--sol-hero{background-image:linear-gradient(90deg, rgba(21,24,57,.92) 0%, rgba(21,24,57,.16) 100%), url('/wp-content/uploads/2026/06/home-digital-transformation.webp') !important;background-size:cover,cover !important;background-position:center,center !important;background-color:#151839 !important}
body.page-id-133 .cgtech-section--sol-hero::before{background:none !important}
/* Technologies platforms section: centre eyebrow + headline */
body.page-id-133 .cgtech-section--platforms .cgtech-eyebrow,
body.page-id-133 .cgtech-section--platforms .cgtech-section__headline,
body.page-id-133 .cgtech-section--platforms .cgtech-section__headline h2{text-align:center !important}
/* === CGTECH-HEROALIGN-v1.1: the CTA row container carries 10px default padding === */
@media (min-width:768px){.cgtech-section--sol-hero .cgtech-sol-hero__cta{padding-left:0 !important;padding-right:0 !important}}

/* === CGTECH-HEROALIGN-v1.2: insights archive hero joins the logo-aligned layout === */
@media (min-width:768px){
.cgtech-arch__hero{text-align:left}
.cgtech-arch__hero-inner{max-width:1200px !important;margin-left:auto !important;margin-right:auto !important;text-align:left !important}
}

/* === CGTECH-HEROALIGN-v1.3: arch hero inner also carries a width cap === */
@media (min-width:768px){.cgtech-arch__hero-inner{width:100% !important}}

/* === CGTECH-MOBILEHDR-v1: hamburger sits at the right edge of the header, not beside the logo === */
.xpro-elementor-horizontal-menu-toggler-wrapper{margin-left:auto !important;text-align:right !important}

/* === CGTECH-MOBILEHDR-v1.1: the toggler button itself carries a fixed right margin === */
.xpro-elementor-horizontal-menu-toggler{margin-right:0 !important;margin-left:auto !important}

/* === CGTECH-MOBILEHDR-v1.2: out-rank Xpro's own margin on the toggler === */
.xpro-elementor-horizontal-menu-toggler.xpro-elementor-horizontal-menu-toggler.xpro-elementor-horizontal-menu-toggler{margin:0 0 0 auto !important}

/* === CGTECH-MOBILEHDR-v1.3: carousel must never widen its parent (home mobile sideways scroll) === */
.cgtech-carousel{max-width:100% !important;min-width:0 !important}
.cgtech-carousel__viewport{overflow:hidden !important;max-width:100% !important}

/* === CGTECH-MOBILEHDR-v1.4: carousel nav (arrows + 13 dots) wider than small screens === */
.cgtech-carousel__nav{max-width:100% !important;flex-wrap:wrap !important;justify-content:center !important}
.cgtech-carousel__dots{flex-wrap:wrap !important;justify-content:center !important;max-width:calc(100% - 120px) !important}


/* === CGTECH-HEROHEIGHT-v1: uniform hero height site-wide (except home hero). Reference: Technologies hub hero (page 133). On desktop every landing hero renders 740px tall regardless of heading line count (tallest content across the site is 737px at 1600w). Tech product/platform heroes (.cgtech-thero) join the standard and centre their content vertically. Post mastheads get their own consistent band so 1-line and 2-line titles match. Mobile/tablet unchanged. === */
@media (min-width:1025px){
  .cgtech-section--sol-hero,
  .cgtech-section--prod-hero,
  .cgtech-section--platform-hero,
  .cgtech-section--about-hero,
  .cgtech-section--connect-hero,
  .cgtech-section--tech-banner,
  .cgtech-arch__hero{
    min-height:740px !important;
  }
  .cgtech-thero{
    min-height:740px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
  }
  .cgtech-post__hero{
    min-height:380px;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
}

/* === CGTECH-HEROHEIGHT-v1.1: on single posts Astra stamps the post's article classes (.ast-article-single, white card bg) onto the header template wrapper, painting a white band behind the now-transparent fixed header. The header wrapper must never carry a background of its own. === */
.xpro-theme-builder-header .elementor.elementor-199,
.xpro-theme-builder-header .ast-article-single{ background: transparent !important; }

/* === CGTECH-COWORK-CTA-v1: slim navy band promoting the Copilot Cowork cost estimator on high-intent pages. Inserted as an html widget inside a standard light section (.cgtech-section--toolcta); also used inline in Copilot articles. === */
.cgtech-toolcta{background:linear-gradient(150deg,#1d2456 0%,var(--cg-navy,#151839) 60%,#0e1130 100%);border-radius:var(--radius-lg,16px);padding:34px 38px;display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}
.cgtech-toolcta__chip{display:inline-block;font-family:var(--font-body);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#ffd9cd;margin:0 0 10px}
.cgtech-toolcta__title{font-family:var(--font-heading);font-size:26px;font-weight:600;letter-spacing:-.01em;color:#fff;margin:0 0 6px;text-wrap:balance}
.cgtech-toolcta__sub{font-family:var(--font-body);font-size:15.5px;line-height:1.55;color:#cdd4ec;margin:0;max-width:56ch}
.cgtech-toolcta__btn{display:inline-flex;align-items:center;gap:8px;background:var(--cg-orange,#EA5B38);color:#fff !important;font-family:var(--font-body);font-weight:600;font-size:15px;padding:14px 26px;border-radius:var(--radius-sm,8px);text-decoration:none;white-space:nowrap;transition:transform .15s ease,box-shadow .15s ease}
.cgtech-toolcta__btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px -14px rgba(234,91,56,.8);color:#fff}
.cgtech-post__body .cgtech-toolcta{margin:34px 0}
@media(max-width:767px){.cgtech-toolcta{padding:26px 22px}.cgtech-toolcta__btn{white-space:normal}}

/* ===== CGTECH-LEGAL-v1 - legal pages + footer legal links ===== */
.cgtech-legal,.elementor-widget.cgtech-legal{max-width:860px!important;margin:0 auto!important}
.cgtech-legal h2{font-size:24px;line-height:1.25;color:var(--cg-navy,#0b1233);margin:38px 0 14px;letter-spacing:-.01em}
.cgtech-legal h2:first-child{margin-top:0}
.cgtech-legal p{line-height:1.75;color:#3c4660;margin:0 0 14px;font-size:15.5px}
.cgtech-legal a{color:#1129B9;text-decoration:underline;text-underline-offset:2px}
.cgtech-legal b,.cgtech-legal strong{color:#0b1233}
.cgtech-legaldl{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1080px;margin:26px auto 0}
a.cgtech-legaldl__card{display:flex;flex-direction:column;gap:12px;background:#fff;border:1px solid #dbe2ef;border-radius:14px;padding:26px 24px;text-decoration:none;box-shadow:0 14px 34px -24px rgba(11,18,51,.35);transition:transform .15s ease,box-shadow .15s ease}
a.cgtech-legaldl__card:hover{transform:translateY(-3px);box-shadow:0 20px 40px -22px rgba(11,18,51,.5)}
.cgtech-legaldl__icon{width:44px;height:44px;border-radius:10px;background:rgba(17,41,185,.08);display:flex;align-items:center;justify-content:center;color:#1129B9;font-weight:800;font-size:12px;letter-spacing:.05em}
.cgtech-legaldl__title{font-weight:700;color:#0b1233;font-size:17px;line-height:1.35}
.cgtech-legaldl__meta{color:#5f6b86;font-size:13.5px;line-height:1.5}
.cgtech-legaldl__cta{margin-top:auto;color:#1129B9;font-weight:600;font-size:14px}
@media(max-width:860px){.cgtech-legaldl{grid-template-columns:1fr}}
.cgtech-footer__legallinks{margin-top:6px;font-size:13px}
.cgtech-footer__legallinks a{color:inherit;opacity:.72;text-decoration:none;transition:opacity .15s ease}
.cgtech-footer__legallinks a:hover{opacity:1;text-decoration:underline}
.cgtech-footer__legallinks .cgtech-legalsep{opacity:.4;margin:0 8px}
/* ===== CGTECH-REVEAL-SAFE-v1 - never let reveal hide content in print/capture ===== */
@media print {
  .cg-reveal, .cgtech-ahero-stats--band .cgtech-stat { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* ===== CGTECH-MOBILEMENU-v2.1 : approved drawer redesign (Option B + large CTA), 2026-07-21 =====
   P  = .xpro-...-tablet.xpro-...-wrapper (the drawer panel)
   PP = P with the tablet class doubled, to out-rank the header-state colour rules
   that made the old menu unreadable. Panel goes position:fixed full-screen when open
   (it is a flex child of the header, so plain width gets shrunk by the parent). */
.cgtech-mmenu-foot{display:none!important}
@media(max-width:1024px){
.xpro-elementor-horizontal-menu-responsive-tablet.xpro-elementor-horizontal-navbar-wrapper{
  background:linear-gradient(175deg,#141a3d,#0b1233 55%)!important;z-index:100000!important;
  box-sizing:border-box!important;overflow-y:auto!important;overflow-x:hidden!important;
  padding:66px 16px 26px!important;
}
.xpro-elementor-horizontal-menu-responsive-tablet.xpro-elementor-horizontal-navbar-wrapper.active{
  position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;
  width:100vw!important;max-width:100vw!important;min-width:100vw!important;
  height:100vh!important;height:100dvh!important;max-height:none!important;
  margin:0!important;flex:none!important;transform:none!important;
}
.xpro-elementor-horizontal-menu-responsive-tablet.xpro-elementor-horizontal-navbar-wrapper.active::before{
  content:""!important;position:absolute!important;top:20px!important;
  left:max(18px, calc(50% - 210px))!important;width:112px!important;height:24px!important;
  background:url(/wp-content/plugins/cgtech-site-core/assets/cgtech-logo.svg) left center/contain no-repeat!important;
}
.xpro-elementor-horizontal-menu-responsive-tablet.xpro-elementor-horizontal-navbar-wrapper .xpro-elementor-horizontal-menu-close,
.xpro-elementor-horizontal-navbar-wrapper>.xpro-elementor-horizontal-menu-close,
.xpro-elementor-horizontal-menu-close{
  position:absolute!important;top:12px!important;right:max(16px, calc(50% - 210px))!important;
  width:38px!important;height:38px!important;max-width:38px!important;min-width:0!important;
  margin:0!important;padding:0!important;transform:none!important;
  border-radius:50%!important;border:1px solid rgba(255,255,255,.28)!important;
  background:rgba(255,255,255,.08)!important;color:#fff!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
}
.xpro-elementor-horizontal-menu-close i,.xpro-elementor-horizontal-menu-close svg{font-size:15px!important;color:#fff!important;fill:#fff!important}
/* top-level items: always white, regardless of header scroll state */
.xpro-elementor-horizontal-menu-responsive-tablet.xpro-elementor-horizontal-menu-responsive-tablet.xpro-elementor-horizontal-navbar-wrapper .xpro-elementor-horizontal-navbar-nav>li>a,
.xpro-elementor-horizontal-menu-responsive-tablet.xpro-elementor-horizontal-menu-responsive-tablet.xpro-elementor-horizontal-navbar-wrapper .xpro-elementor-horizontal-navbar-nav>li>a:hover,
.xpro-elementor-horizontal-menu-responsive-tablet.xpro-elementor-horizontal-menu-responsive-tablet.xpro-elementor-horizontal-navbar-wrapper .xpro-elementor-horizontal-navbar-nav>li>a:focus,
.xpro-elementor-horizontal-menu-responsive-tablet.xpro-elementor-horizontal-menu-responsive-tablet.xpro-elementor-horizontal-navbar-wrapper .xpro-elementor-horizontal-navbar-nav>li>a:active{
  color:#FFFFFF!important;opacity:1!important;font-size:17px!important;font-weight:600!important;padding:15px 12px!important;
}
.cgtech-acc-chevron{border-color:rgba(255,255,255,.55)!important}
.cgtech-header__nav li.cgtech-acc-open>a .cgtech-acc-chevron{border-color:var(--cg-orange)!important}
/* large Call us button (Option C size), SVG phone icon */
.xpro-elementor-horizontal-menu-responsive-tablet.xpro-elementor-horizontal-menu-responsive-tablet.xpro-elementor-horizontal-navbar-wrapper .xpro-elementor-horizontal-navbar-nav>li.cgtech-mobile-contact>a{
  height:48px!important;min-height:48px!important;font-size:15px!important;font-weight:700!important;
  border-radius:12px!important;margin:2px 0 16px!important;letter-spacing:.01em!important;
  background:var(--cg-orange)!important;color:#FFFFFF!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
}
.xpro-elementor-horizontal-menu-responsive-tablet.xpro-elementor-horizontal-menu-responsive-tablet.xpro-elementor-horizontal-navbar-wrapper .xpro-elementor-horizontal-navbar-nav>li.cgtech-mobile-contact>a::before{
  content:""!important;width:16px!important;height:16px!important;margin-right:9px!important;flex:0 0 auto!important;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='%23ffffff'%3E%3Cpath d='M493 353l-101-43c-11-5-24-2-31 8l-45 55c-70-33-127-90-160-160l55-45c10-8 13-20 8-31L176 36c-5-12-18-19-31-16L51 42C38 45 29 56 29 69 29 313 227 511 471 511c13 0 24-9 27-22l22-94c3-13-4-26-16-31z'/%3E%3C/svg%3E") center/contain no-repeat!important;
  font-size:0!important;line-height:0!important;
}
/* open section: glass card */
.xpro-elementor-horizontal-menu-responsive-tablet.xpro-elementor-horizontal-navbar-wrapper li.cgtech-acc-open>.cgtech-mega,
.cgtech-header__nav li.cgtech-acc-open>.cgtech-mega{
  background:rgba(255,255,255,.05)!important;border:0!important;border-left:0!important;
  border-radius:12px!important;margin:2px 0 10px!important;padding:2px 0 6px!important;
}
/* sub items: orange dot markers */
.xpro-elementor-horizontal-menu-responsive-tablet.xpro-elementor-horizontal-menu-responsive-tablet.xpro-elementor-horizontal-navbar-wrapper .cgtech-mega__item{
  position:relative!important;display:block!important;padding:11px 16px 11px 34px!important;
  border:0!important;background:transparent!important;border-radius:0!important;
}
.xpro-elementor-horizontal-menu-responsive-tablet.xpro-elementor-horizontal-menu-responsive-tablet.xpro-elementor-horizontal-navbar-wrapper .cgtech-mega__item::before,
.xpro-elementor-horizontal-menu-responsive-tablet.xpro-elementor-horizontal-menu-responsive-tablet.xpro-elementor-horizontal-navbar-wrapper .cgtech-mega__item:hover::before{
  content:""!important;opacity:1!important;display:block!important;position:absolute!important;
  left:16px!important;top:50%!important;transform:translateY(-50%)!important;
  width:4px!important;height:4px!important;border-radius:50%!important;background:var(--cg-orange)!important;
  transition:none!important;
}
.xpro-elementor-horizontal-menu-responsive-tablet.xpro-elementor-horizontal-menu-responsive-tablet.xpro-elementor-horizontal-navbar-wrapper .cgtech-mega__it-title{font-size:14.5px!important;font-weight:500!important;color:#C7D2F0!important}
/* contact footer */
.xpro-elementor-horizontal-menu-responsive-tablet.xpro-elementor-horizontal-menu-responsive-tablet.xpro-elementor-horizontal-navbar-wrapper .xpro-elementor-horizontal-navbar-nav>li.cgtech-mmenu-foot{
  display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:9px!important;
  margin-top:10px!important;padding:14px 4px 8px!important;border-top:1px solid rgba(255,255,255,.1)!important;width:100%!important;
}
.xpro-elementor-horizontal-menu-responsive-tablet.xpro-elementor-horizontal-menu-responsive-tablet.xpro-elementor-horizontal-navbar-wrapper .xpro-elementor-horizontal-navbar-nav>li.cgtech-mmenu-foot a,
.xpro-elementor-horizontal-menu-responsive-tablet.xpro-elementor-horizontal-menu-responsive-tablet.xpro-elementor-horizontal-navbar-wrapper .xpro-elementor-horizontal-navbar-nav>li.cgtech-mmenu-foot span{
  color:#8FA1D9!important;font-size:12.5px!important;font-weight:500!important;padding:0!important;background:transparent!important;
  font-family:var(--font-body,'Aptos','Segoe UI',sans-serif)!important;text-decoration:none!important;border:0!important;
}
.xpro-elementor-horizontal-menu-responsive-tablet .cgtech-mmenu-foot__row{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:14px!important}
.xpro-elementor-horizontal-menu-responsive-tablet .cgtech-mmenu-foot__row--legal a,.xpro-elementor-horizontal-menu-responsive-tablet.xpro-elementor-horizontal-menu-responsive-tablet.xpro-elementor-horizontal-navbar-wrapper .cgtech-mmenu-foot__row--legal a{color:#6F7EA8!important;font-size:11.5px!important}
.xpro-elementor-horizontal-menu-responsive-tablet .cgtech-mmenu-foot__row--legal span,.xpro-elementor-horizontal-menu-responsive-tablet.xpro-elementor-horizontal-menu-responsive-tablet.xpro-elementor-horizontal-navbar-wrapper .cgtech-mmenu-foot__row--legal span{color:#6F7EA8!important;font-size:11.5px!important}
.xpro-elementor-horizontal-menu-responsive-tablet .xpro-elementor-horizontal-navbar-nav>li.cgtech-mmenu-foot::after{display:none!important}
}

/* ===== CGTECH-MOBILEMENU-v2.2 : indent + legal-row precision overrides ===== */
@media(max-width:1024px){
/* sub-item text indent: mirrors the desktop mega rule (0,4,3) and adds the drawer scope to beat it */
.cgtech-header__nav .xpro-elementor-horizontal-menu-responsive-tablet ul.cgtech-mega.xpro-elementor-dropdown-menu li a.cgtech-mega__item,
.xpro-elementor-horizontal-menu-responsive-tablet .cgtech-header__nav ul.cgtech-mega.xpro-elementor-dropdown-menu li a.cgtech-mega__item{
  padding:11px 16px 11px 34px!important;
}
/* legal row: smaller + more muted than the contact row */
.xpro-elementor-horizontal-menu-responsive-tablet.xpro-elementor-horizontal-menu-responsive-tablet.xpro-elementor-horizontal-navbar-wrapper .xpro-elementor-horizontal-navbar-nav>li.cgtech-mmenu-foot .cgtech-mmenu-foot__row--legal a,
.xpro-elementor-horizontal-menu-responsive-tablet.xpro-elementor-horizontal-menu-responsive-tablet.xpro-elementor-horizontal-navbar-wrapper .xpro-elementor-horizontal-navbar-nav>li.cgtech-mmenu-foot .cgtech-mmenu-foot__row--legal span{
  color:#6F7EA8!important;font-size:11.5px!important;
}
}
/* ============================================================
   CGTECH-HERO-FOCUS-v1 - background focal points
   Home hero layers get a per-image focus from hero.js via
   --cg-hero-focus. Elementor picture sections default to the
   upper middle on phones (faces usually sit there), and the
   .cg-focus-- utility classes let an editor pin the best part
   of any background image at every screen size.
   ============================================================ */
.cgtech-hero__bg-layer { background-position: var(--cg-hero-focus, 50% 45%) !important; }
@media (max-width: 820px) {
  .cgtech-hero-navy, .cgtech-bg-picture { --cg-hero-pos: 50% 30%; background-position: 50% 30% !important; }
}
/* Editor utilities: add one class to the section that carries the image.
   Each sets --cg-hero-pos (read by the per-page editable-hero style from
   enqueue.php, which outranks plain selectors) AND background-position
   for sections whose image comes straight from Elementor CSS. */
.cg-focus--tl { --cg-hero-pos: 18% 20%; background-position: 18% 20% !important; }
.cg-focus--t  { --cg-hero-pos: 50% 18%; background-position: 50% 18% !important; }
.cg-focus--tr { --cg-hero-pos: 82% 20%; background-position: 82% 20% !important; }
.cg-focus--l  { --cg-hero-pos: 18% 50%; background-position: 18% 50% !important; }
.cg-focus--c  { --cg-hero-pos: 50% 50%; background-position: 50% 50% !important; }
.cg-focus--r  { --cg-hero-pos: 82% 50%; background-position: 82% 50% !important; }
.cg-focus--bl { --cg-hero-pos: 18% 80%; background-position: 18% 80% !important; }
.cg-focus--b  { --cg-hero-pos: 50% 80%; background-position: 50% 80% !important; }
.cg-focus--br { --cg-hero-pos: 82% 80%; background-position: 82% 80% !important; }

/* ============================================================
   CGTECH-HERO-MOBILE-v1 - phone layout for the home hero
   Content starts under the header instead of floating mid-
   screen, type steps down to phone sizes, buttons go full
   width, and the CTA stays on the first screen.
   ============================================================ */
@media (max-width: 820px) {
  .cgtech-hero { min-height: 78vh !important; min-height: 78svh !important; }
  .cgtech-hero__inner {
    justify-content: flex-start !important;
    padding: 112px 22px 44px !important;
  }
  .cgtech-hero__eyebrow,
  .cgtech-hero__eyebrow .elementor-widget-container {
    font-size: 11px !important;
    letter-spacing: 0.12em !important;
    margin: 0 0 12px !important;
  }
  .cgtech-hero__caption,
  .cgtech-hero__caption .elementor-widget-container {
    font-size: 13px !important;
    margin: 0 0 16px !important;
  }
  .cgtech-hero__title .elementor-heading-title,
  .cgtech-hero__title h1,
  .cgtech-hero__title {
    font-size: clamp(32px, 8.8vw, 40px) !important;
    line-height: 1.12 !important;
    margin: 0 0 16px !important;
  }
  .cgtech-hero__subline,
  .cgtech-hero__subline .elementor-widget-container,
  .cgtech-hero__subline p {
    font-size: 15.5px !important;
    line-height: 1.6 !important;
    margin: 0 0 24px !important;
  }
  .cgtech-hero__cta {
    flex-direction: column !important;
    align-items: stretch !important;
    align-self: stretch !important;
    gap: 12px !important;
    margin-bottom: 34px !important;
  }
  .cgtech-hero__btn--primary,
  .cgtech-hero__btn--secondary,
  .cgtech-hero__btn--primary .elementor-widget-container,
  .cgtech-hero__btn--secondary .elementor-widget-container,
  .cgtech-hero__btn--primary .elementor-button-wrapper,
  .cgtech-hero__btn--secondary .elementor-button-wrapper { width: 100% !important; }
  .cgtech-hero__btn--primary .elementor-button,
  .cgtech-hero__btn--secondary .elementor-button {
    width: 100% !important;
    display: inline-flex !important;
    justify-content: center !important;
  }
  .cgtech-hero__logos { gap: 14px 22px !important; margin: 0 0 18px !important; }
  .cgtech-hero__logos img { height: 20px !important; }
  .cgtech-hero__trust,
  .cgtech-hero__trust .elementor-widget-container,
  .cgtech-hero__trust p {
    font-size: 12px !important;
    padding-top: 16px !important;
  }
}
/* CGTECH-HERO-MOBILE-v1.1: Elementor's boxed container carries its own
   140/120px padding and a 20px widget gap; on phones spacing comes from
   the widget margins above, so zero the container's copy. */
@media (max-width: 820px) {
  .cgtech-hero__inner > .e-con-inner { padding: 0 !important; gap: 0 !important; }
}
/* ============================================================
   CGTECH-CTACARD-MOBILE-v1 - floating CTA card on phones
   The CTA v5/v6 blocks set the card's desktop padding without a
   media guard, which silently overrode the 820px rules: on a
   phone the content column shrank to ~240px and the button
   wrapped to three lines. Phone sizes get their own padding,
   type scale and a full-width single-line button. Also restyles
   Astra's square blue back-to-top button into a small round
   navy one so it stops fighting the orange CTAs.
   ============================================================ */
@media (max-width: 600px) {
  .cgtech-ctawrap { padding: 40px 16px !important; }
  .cgtech-ctacard { padding: 34px 22px !important; border-radius: 18px !important; }
  .cgtech-ctacard__split { grid-template-columns: 1fr !important; gap: 26px !important; }
  .cgtech-ctacard__title h2 {
    font-size: clamp(24px, 6.6vw, 28px) !important;
    line-height: 1.18 !important;
  }
  .cgtech-ctacard__body p { font-size: 15px !important; max-width: none !important; }
  .cgtech-ctacard__copy .cgtech-sol-cta__btn,
  .cgtech-ctacard__copy .cgtech-sol-cta__btn .elementor-widget-container,
  .cgtech-ctacard__copy .cgtech-sol-cta__btn .elementor-button-wrapper { width: 100% !important; }
  .cgtech-ctacard__copy .cgtech-sol-cta__btn .elementor-button {
    display: flex !important;
    width: 100% !important;
    justify-content: center !important;
    white-space: nowrap !important;
    font-size: 15px !important;
    padding: 15px 18px !important;
  }
  .cgtech-ctacard__panel { padding: 22px 20px !important; }
  .cgtech-ctacard__panel-title h3 { margin-bottom: 14px !important; }
  .cgtech-ctacard__plist .elementor-icon-list-text { font-size: 14px !important; }
}
/* Back-to-top: small round navy, out of the CTA's way */
#ast-scroll-top {
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  background: rgba(21, 24, 57, 0.82) !important;
  color: #FFFFFF !important;
  box-shadow: 0 8px 22px rgba(11, 18, 51, 0.35) !important;
  display: flex;
  align-items: center;
  justify-content: center;
}
#ast-scroll-top svg { fill: #FFFFFF !important; }
@media (max-width: 600px) {
  #ast-scroll-top { right: 16px !important; bottom: 16px !important; }
}
/* ============================================================
   CGTECH-SOLHERO-BTNS-MOBILE-v1 - inner-page hero buttons on
   phones. Stacked buttons sized to their label text read as
   mismatched (Book a Discovery Session vs See what we do);
   match the home hero: both full width, same height, centred.
   ============================================================ */
@media (max-width: 820px) {
  .cgtech-sol-hero__cta {
    flex-direction: column !important;
    align-items: stretch !important;
    align-self: stretch !important;
    width: 100% !important;
    gap: 12px !important;
  }
  .cgtech-sol-hero__btn--primary,
  .cgtech-sol-hero__btn--secondary,
  .cgtech-sol-hero__btn--primary .elementor-widget-container,
  .cgtech-sol-hero__btn--secondary .elementor-widget-container,
  .cgtech-sol-hero__btn--primary .elementor-button-wrapper,
  .cgtech-sol-hero__btn--secondary .elementor-button-wrapper { width: 100% !important; }
  .cgtech-sol-hero__btn--primary .elementor-button,
  .cgtech-hero-navy .cgtech-sol-hero__btn--secondary .elementor-button,
  .cgtech-sol-hero__btn--secondary .elementor-button {
    display: flex !important;
    width: 100% !important;
    justify-content: center !important;
  }
}
/* ============================================================
   CGTECH-CARDGRIDS-MOBILE-v1 - card grids on phones
   Every card grid pairs a 2-or-more column width with an
   unguarded min-width (200-320px). On a phone the min-width
   wins, so cards render ~220px wide hugging the left edge with
   dead space beside them (Tony's platform-cards screenshot).
   On phones cards take the full row; small trust tiles go 2-up.
   ============================================================ */
@media (max-width: 600px) {
  .cgtech-platform-grid > .cgtech-platform-card,
  .cgtech-platform-grid-big > .cgtech-plat-card,
  .cgtech-capability-grid > .cgtech-capability-card,
  .cgtech-step-grid > .cgtech-step-card,
  .cgtech-value-grid > .cgtech-value-card,
  .cgtech-cap-grid > .cgtech-cap-card,
  .cgtech-related-grid > .cgtech-related-card,
  .cgtech-prod-cap-grid > .cgtech-prod-cap,
  .cgtech-prod-grid > .cgtech-prod-card,
  .cgtech-card-grid--4 > .cgtech-card,
  .cgtech-card-grid--3 > .cgtech-card,
  .cgtech-card-grid--2 > .cgtech-card {
    width: 100% !important;
    min-width: 0 !important;
  }
  .cgtech-trust-grid > .cgtech-trust-tile {
    width: calc((100% - 12px) / 2) !important;
    min-width: 0 !important;
  }
}
/* ============================================================
   CGTECH-MOBILE-GUTTER-v1 - one standard content gutter on
   phones. Sections were stacking their own side padding with
   their inner container's (24px + 10px), so cards ran 322px
   wide while the floating CTA card ran 358px. Standard: every
   section's content edge sits 16px from the screen edge, the
   width Tony approved on the CTA card.
   ============================================================ */
@media (max-width: 600px) {
  .cgtech-section { padding-left: 16px !important; padding-right: 16px !important; }
  .cgtech-section__inner { padding-left: 0 !important; padding-right: 0 !important; }
  .cgtech-hero__inner { padding-left: 16px !important; padding-right: 16px !important; }
  /* insights/FAQ split row nests two more padded columns */
  .cgtech-if__row, .cgtech-if__col { padding-left: 0 !important; padding-right: 0 !important; }
}
/* CGTECH-MOBILE-GUTTER-v1.1: header logo/burger align to the same 16px rail */
@media (max-width: 600px) {
  .cgtech-header { padding-left: 16px !important; padding-right: 16px !important; }
  .cgtech-header__inner { padding-left: 0 !important; padding-right: 0 !important; }
}

/* ============================================================
   CGTECH-ABOUT-MOBILE-v1 - About page (and shared components)
   on phones. (1) Numbered journey/help steps: the connecting
   rail runs at 22px, straight through full-width step text -
   indent the description clear of the badge column. (2) Stat
   band: flex-basis 180px forced one airy card per row - go
   two-up with tighter padding and a smaller figure.
   ============================================================ */
@media (max-width: 600px) {
  .cgtech-help__desc { margin-left: 60px !important; }
  .cgtech-ahero-stats.cgtech-ahero-stats--band { padding-left: 0 !important; padding-right: 0 !important; }
  .cgtech-stat {
    flex: 1 1 40% !important;
    min-width: 0 !important;
    padding: 20px 16px 16px !important;
  }
  .cgtech-stat__k { font-size: 30px !important; }
  .cgtech-stat__v { font-size: 12.5px !important; }
}
/* CGTECH-ABOUT-MOBILE-v1.1: the About legacy block styles stats/team with
   body.page-id-160 !important selectors (0,2,1) which beat the v1 rules -
   mirror the prefix so the phone layout wins. Stats go 2x2, team cards
   full width on the 16px rail. */
@media (max-width: 600px) {
  body.page-id-160 .cgtech-ahero-stats.cgtech-ahero-stats--band { padding-left: 0 !important; padding-right: 0 !important; }
  body.page-id-160 .cgtech-ahero-stats.cgtech-ahero-stats--band {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }
  body.page-id-160 .cgtech-ahero-stats--band .cgtech-stat {
    width: auto !important;
    flex: initial !important;
    padding: 18px 14px 14px !important;
  }
  body.page-id-160 .cgtech-ahero-stats--band .cgtech-stat__k { font-size: 30px !important; }
  body.page-id-160 .cgtech-ahero-stats--band .cgtech-stat__v { font-size: 12px !important; }
  body.page-id-160 .cgtech-team-row { padding: 0 !important; }
  body.page-id-160 .cgtech-team-card { flex: 1 1 100% !important; max-width: none !important; }
}
/* CGTECH-CANVAS-v1: iOS overscroll / collapsing-toolbar region past the
   page bottom showed the white canvas after the navy footer (reads as
   blank space). Give html the footer navy - body keeps its own white so
   content sections are unaffected; both page extremes are navy anyway. */
html { background-color: #151839; overscroll-behavior-y: none; }
/* Safari paints the rubber-band region from BODY's background and can
   ignore overscroll-behavior on the root - so body carries the navy and
   the page wrapper (#page.site, which spans hero to footer) carries the
   white the content used to get from body. Beyond the page = navy. */
body { overscroll-behavior-y: none; background-color: #151839 !important; }
body > .site { background-color: #FFFFFF; }
/* CGTECH-CAPCARD-NOARROW-v1: drop the arrow after Learn more on the
   capability cards (home What we do + matching cards elsewhere) - it
   wrapped onto its own line and read as a stray glyph. */
.cgtech-capability-card__link .elementor-button::after { content: none !important; }

/* ============================================================
   CGTECH-TEAM-FIVE-v1 - leadership section with five people.
   Desktop: row capped so cards sit 3 + 2, centred, at full size.
   LinkedIn chip: hidden until the card is hovered (or reached
   by keyboard); touch screens have no hover so the chip stays
   visible there. Cards without a profile link show no chip.
   ============================================================ */
@media (min-width: 1025px) {
  body.page-id-160 .cgtech-team-row { max-width: 920px !important; }
}
/* v1.1: chip always visible, dimmed; lights up (LinkedIn blue tile,
   full-white glyph) when the card is hovered or keyboard-focused.
   !important needed - a legacy About rule pins chip opacity. */
body.page-id-160 .cgtech-team-card__li {
  opacity: 0.55 !important;
  transform: none !important;
  transition: opacity .2s ease !important;
}
body.page-id-160 .cgtech-team-card__li .elementor-icon {
  border-radius: 7px !important;
  padding: 6px !important;
  background: transparent !important;
  transition: background .2s ease, transform .2s ease !important;
}
body.page-id-160 .cgtech-team-card:hover .cgtech-team-card__li,
body.page-id-160 .cgtech-team-card:focus-within .cgtech-team-card__li {
  opacity: 1 !important;
}
body.page-id-160 .cgtech-team-card:hover .cgtech-team-card__li .elementor-icon,
body.page-id-160 .cgtech-team-card:focus-within .cgtech-team-card__li .elementor-icon {
  background: var(--cg-orange, #EA5B38) !important;
  transform: translateY(-1px);
}
/* the card body is white; during the hover lift a sub-pixel seam of it
   flashed between the photo and the navy foot - paint the card navy so
   any seam is invisible */
body.page-id-160 .cgtech-team-card { background: #151839 !important; }
body.page-id-160 .cgtech-team-card__li:not(:has(a[href])) { display: none !important; }
/* ============================================================
   CGTECH-STORYPAGES-v1 - Success Stories grid page, single-story
   landing template, and the Read More line on story cards.
   ============================================================ */
/* Read more line on every story card (carousels + grid) */
.cgtech-proof-card .pc-more{ display:inline-block; margin-top:14px; font-size:13.5px; font-weight:700; color:var(--cg-blue,#1129B9) !important; text-decoration:none !important; }
.cgtech-proof-card .pc-more:hover{ text-decoration:underline !important; }
.cgtech-proof-card .pc-more span{ display:inline-block; transition:transform .2s; }
.cgtech-proof-card:hover .pc-more span{ transform:translateX(3px); }

/* Grid page */
.cgtech-storygrid__chips{ display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin:0 0 10px; }
.cgtech-storygrid__chip{ font-family:var(--font-body) !important; font-size:12.5px; font-weight:600; padding:8px 16px; border-radius:20px; border:1px solid var(--rule,#DBE2EF); background:#fff; color:#43506E; cursor:pointer; transition:background .15s,color .15s,border-color .15s; }
.cgtech-storygrid__chip:hover{ border-color:var(--cg-blue,#1129B9); color:var(--cg-blue,#1129B9); }
.cgtech-storygrid__chip.is-on{ background:var(--cg-blue,#1129B9); border-color:var(--cg-blue,#1129B9); color:#fff; }
.cgtech-storygrid__count{ text-align:center; font-size:12.5px; color:var(--text-muted,#5D7A99); margin:0 0 22px; }
.cgtech-storygrid__grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:20px; }
.cgtech-storygrid__item > .cgtech-proof-card{ height:100%; }
.cgtech-storygrid .cgtech-proof-card{ box-shadow:0 10px 28px rgba(21,24,57,.08); }

/* Single story: hero (standard inner-page hero look) */
.cgtech-story-hero__pad{ max-width:1200px; margin:0 auto; padding:158px 24px 58px; }
.cgtech-story-hero__eyebrow{ font-family:var(--font-body); font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--cg-orange) !important; margin:0 0 12px; }
.cgtech-story-hero__title{ font-family:var(--font-heading); font-size:clamp(34px,4.2vw,50px); font-weight:700; letter-spacing:-.02em; line-height:1.08; color:#fff !important; margin:0 0 16px; max-width:22ch; }
.cgtech-story-hero__badges{ display:flex; flex-wrap:wrap; gap:8px; margin:0 0 18px; }
.cgtech-story-badge{ font-family:var(--font-body); font-size:12px; font-weight:700; padding:5px 14px; border-radius:16px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.22); color:#DDE3F2; }
.cgtech-story-badge--accent{ background:rgba(234,91,56,.18); border-color:rgba(234,91,56,.45); color:#FFB49E; }
.cgtech-story-hero__back{ font-family:var(--font-body); font-size:13.5px; font-weight:600; color:rgba(255,255,255,.75) !important; text-decoration:none !important; }
.cgtech-story-hero__back:hover{ color:#fff !important; text-decoration:underline !important; }

/* Single story: body */
.cgtech-story-body__pad{ max-width:1200px; margin:0 auto; padding:56px 24px 30px; }
.cgtech-story-cols{ display:flex; gap:44px; align-items:flex-start; }
.cgtech-story-main{ flex:1; min-width:0; }
.cgtech-story__img{ margin:0 0 30px; }
.cgtech-story__img img{ width:100%; max-height:420px; object-fit:cover; border-radius:16px; display:block; }
.cgtech-story-main h2{ font-family:var(--font-heading); font-size:24px; font-weight:700; color:var(--cg-navy); margin:0 0 10px; }
.cgtech-story-main p{ font-family:var(--font-body); font-size:16px; line-height:1.65; color:var(--text-body,#43506E); margin:0 0 28px; max-width:68ch; }
.cgtech-story-long h2, .cgtech-story-long h3{ font-family:var(--font-heading); color:var(--cg-navy); }
.cgtech-story-facts{ flex:0 0 260px; background:var(--off-white,#F4F7FD); border:1px solid var(--rule,#DBE2EF); border-radius:14px; padding:20px 22px; position:sticky; top:110px; }
.cgtech-story-facts dl{ margin:0; }
.cgtech-story-facts dt{ font-family:var(--font-body); font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; font-weight:700; color:var(--text-muted,#5D7A99); margin:14px 0 3px; }
.cgtech-story-facts dt:first-child{ margin-top:0; }
.cgtech-story-facts dd{ margin:0; font-family:var(--font-body); font-size:14.5px; color:var(--cg-navy); font-weight:600; }
.cgtech-story-outs{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:8px 0 20px; }
.cgtech-story-out{ background:var(--off-white,#F4F7FD); border:1px solid var(--rule,#DBE2EF); border-radius:14px; padding:18px 18px 16px; }
.cgtech-story-out__tick{ width:28px; height:28px; border-radius:8px; background:rgba(26,163,154,.14); color:#1AA39A; font-weight:800; font-size:13px; display:flex; align-items:center; justify-content:center; margin-bottom:10px; }
.cgtech-story-out p{ margin:0; font-family:var(--font-body); font-size:14px; font-weight:600; color:var(--cg-navy); line-height:1.4; }

/* Single story: CTA band + related */
.cgtech-story-cta{ background:linear-gradient(120deg,#161a42,#10122e) !important; }
.cgtech-story-cta__pad{ max-width:760px; margin:0 auto; padding:54px 24px; text-align:center; }
.cgtech-story-cta__title{ font-family:var(--font-heading); font-size:26px; font-weight:700; color:#fff; margin:0 0 8px; }
.cgtech-story-cta__sub{ font-family:var(--font-body); font-size:15.5px; color:#C4CDE6; margin:0 0 22px; }
.cgtech-story-cta__btn{ display:inline-block; background:var(--cg-orange) !important; color:#fff !important; font-family:var(--font-body); font-weight:700; font-size:15px; padding:14px 28px; border-radius:8px; text-decoration:none !important; box-shadow:0 6px 18px rgba(234,91,56,.25); }
.cgtech-story-cta__btn:hover{ filter:brightness(.94); }
.cgtech-story-rel__pad{ max-width:1200px; margin:0 auto; padding:54px 24px 60px; }
.cgtech-story-rel__label{ font-family:var(--font-body); font-size:11.5px; letter-spacing:.12em; text-transform:uppercase; font-weight:700; color:var(--text-muted,#5D7A99); margin:0 0 18px; }
.cgtech-story-rel__row{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.cgtech-story-rel__row .cgtech-proof-card{ height:100%; }

@media (max-width: 820px){
  .cgtech-story-cols{ flex-direction:column; gap:26px; }
  .cgtech-story-facts{ flex:auto; width:100%; position:static; }
  .cgtech-story-outs, .cgtech-story-rel__row{ grid-template-columns:1fr; }
}
@media (max-width: 600px){
  .cgtech-story-hero__pad{ padding:112px 16px 36px; }
  .cgtech-story-body__pad, .cgtech-story-rel__pad{ padding-left:16px; padding-right:16px; }
  .cgtech-story-cta__pad{ padding:40px 16px; }
  .cgtech-storygrid__grid{ grid-template-columns:1fr; }
}
/* CGTECH-STORYPAGES-v1.1: the story template renders inside Astra's
   content container (max-width 1240 + padding) - release it so the
   hero and bands run full-bleed like every other landing page. */
body.single-success_story .site-content .ast-container{ max-width:100% !important; padding:0 !important; }
body.single-success_story #primary, body.single-success_story #main{ margin:0 !important; padding:0 !important; }
/* Astra's container is a flex row - the template must take the full row */
body.single-success_story .cgtech-storypage{ width:100% !important; flex:1 1 100% !important; }
/* Elementor's kit CSS (container width 1240px) does not load on this PHP
   template, so header/footer containers fell back to 1140px and the nav
   overlapped the logo - restore the site value. */
body.single-success_story .e-con{ --container-max-width:1240px; }
/* Astra pads the .elementor wrapper 40px on this template type, which
   squeezed the fixed header/footer and made the nav overlap the logo. */
body.single-success_story .elementor-199,
body.single-success_story .elementor-214{ padding:0 !important; }
/* CGTECH-STORYGRID-FIX-v1: the carousel gives .cgtech-proof-card a fixed
   width ((100%-48)/3, min 240px) - correct in the carousel track, broken
   inside grid tracks (240px cards floating in 367px cells). In grid
   contexts the card fills its cell and the outcomes block pins to the
   bottom so rows read evenly. */
.cgtech-storygrid .cgtech-proof-card,
.cgtech-story-rel__row .cgtech-proof-card{ width:100% !important; min-width:0 !important; max-width:none !important; }
.cgtech-storygrid .pc-inner,
.cgtech-story-rel__row .pc-inner{ height:100%; }
.cgtech-storygrid .pc-outlabel,
.cgtech-story-rel__row .pc-outlabel{ margin-top:auto !important; padding-top:14px; }
/* Top nav: nine items now - tighten the button spacing on desktop */
@media (min-width: 1025px){
  .cgtech-header__nav .xpro-elementor-nav-link,
  .cgtech-header__nav .menu-link{ padding:8px 7px !important; }
}
/* ==== CGTECH-STORYGRID-V2 (2026-07-22): centred heading above filters,
   labelled solution + industry rows, orange hover chips, 6-card cap with
   See more. Chip hover was blue-on-white (hard to read) - now CG orange
   fill with white text. ==== */
.cgtech-storygrid__head{ text-align:center; margin:0 0 26px; }
.cgtech-storygrid__eyebrow{ font-family:var(--font-body) !important; font-size:13px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--cg-orange,#EA5B38); margin:0 0 10px; }
.cgtech-storygrid__title{ font-family:var(--font-head,var(--font-body)) !important; font-size:clamp(26px,3vw,34px); font-weight:700; color:var(--cg-navy,#151839); margin:0; text-wrap:balance; }
.cgtech-storygrid__filters{ display:flex; flex-direction:column; align-items:center; gap:10px; margin:0 0 14px; }
.cgtech-storygrid__row{ display:flex; flex-wrap:wrap; gap:8px; justify-content:center; align-items:center; }
.cgtech-storygrid__lab{ font-family:var(--font-body) !important; font-size:11.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#5A6072; margin-right:4px; }
.cgtech-storygrid__chip:hover,
.cgtech-storygrid__chip:focus-visible{ background:var(--cg-orange,#EA5B38); border-color:var(--cg-orange,#EA5B38); color:#FFFFFF; }
.cgtech-storygrid__morewrap{ text-align:center; margin:30px 0 0; }
.cgtech-storygrid__more{ font-family:var(--font-body) !important; display:inline-flex; align-items:center; justify-content:center; padding:13px 30px; border-radius:6px; border:1.5px solid var(--cg-navy,#151839); background:transparent; color:var(--cg-navy,#151839); font-size:15px; font-weight:600; cursor:pointer; transition:background .18s,color .18s; }
.cgtech-storygrid__more:hover,
.cgtech-storygrid__more:focus-visible{ background:var(--cg-navy,#151839); color:#FFFFFF; }
@media (max-width:600px){
  .cgtech-storygrid__head{ margin:0 0 20px; }
  .cgtech-storygrid__lab{ width:100%; text-align:center; margin:2px 0 0; }
  .cgtech-storygrid__filters{ gap:12px; }
}
/* CGTECH-STORYGRID-V2.1 (2026-07-22): dropped the eyebrow that echoed the
   hero ("Real work..."); the band above the filters now carries the filter
   instruction (moved down out of the hero). */
.cgtech-storygrid__lead{ font-family:var(--font-body) !important; font-size:16px; line-height:1.5; color:var(--text-muted,#5D7A99); margin:12px auto 0; max-width:560px; text-wrap:balance; }
@media (max-width:600px){ .cgtech-storygrid__lead{ font-size:15px; } }
/* ==== CGTECH-STORY-V2 (2026-07-22): blue hero badges + blue problem line
   under the heading; body = copy left, image+facts right; CTA restyled to
   match the floating CTA card used across the site. ==== */
/* 1. Hero badges: primary tag now blue (was orange), industry stays neutral */
.cgtech-story-badge--accent{ background:rgba(79,142,232,.18) !important; border-color:rgba(79,142,232,.5) !important; color:#BFD6FF !important; }
/* 2. Blue problem line under the white heading (matches other hero sub-lines) */
.cgtech-story-hero__sub{ font-family:var(--font-heading); font-size:clamp(19px,2vw,25px); font-weight:500; line-height:1.34; color:#4F8EE8; margin:0 0 18px; max-width:40ch; letter-spacing:-.01em; }
/* 3. Body layout: copy left, image + facts stacked on the right */
.cgtech-story-side{ flex:0 0 344px; position:sticky; top:104px; display:flex; flex-direction:column; gap:20px; }
.cgtech-story-side .cgtech-story__img{ margin:0; border-radius:14px; overflow:hidden; box-shadow:0 14px 34px rgba(21,24,57,.14); }
.cgtech-story-side .cgtech-story__img img{ display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
.cgtech-story-side .cgtech-story-facts{ position:static; top:auto; flex:0 0 auto; width:auto; margin:0; }
.cgtech-story-outs__h{ margin-top:16px !important; }
.cgtech-story-outs{ grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); }
/* 4. CTA restyled as the floating card (radial blues over navy + grid texture) */
.cgtech-story-cta{ background:linear-gradient(180deg,#FFFFFF,#F4F7FD) !important; }
.cgtech-story-cta .cgtech-section__inner{ max-width:1240px; margin:0 auto; padding:72px 24px; }
.cgtech-story-cta__card{ max-width:1000px; margin:0 auto; padding:72px 44px; text-align:center; position:relative; isolation:isolate; overflow:hidden; border-radius:22px; box-shadow:0 34px 80px rgba(11,26,120,.30); background:radial-gradient(1100px 380px at 86% -12%,rgba(79,142,232,.30),transparent 60%),radial-gradient(900px 500px at 2% 120%,rgba(17,41,185,.34),transparent 55%),linear-gradient(135deg,#161a42 0%,#10122e 100%); }
.cgtech-story-cta__card::after{ content:""; position:absolute; inset:0; z-index:0; background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px); background-size:46px 46px; -webkit-mask-image:radial-gradient(640px 360px at 90% 10%,#000,transparent 72%); mask-image:radial-gradient(640px 360px at 90% 10%,#000,transparent 72%); pointer-events:none; }
.cgtech-story-cta__card > *{ position:relative; z-index:1; }
@media (max-width:600px){
  .cgtech-story-side{ position:static; top:auto; }
  .cgtech-story-cta .cgtech-section__inner{ padding:40px 16px; }
  .cgtech-story-cta__card{ padding:46px 24px; border-radius:18px; }
}
/* CGTECH-STORY-V2.1 (2026-07-22): styling for the enriched long-form detail
   (post_content) rendered inside .cgtech-story-long on story landing pages. */
.cgtech-story-long{ margin-top:4px; }
.cgtech-story-long h3{ font-family:var(--font-heading); font-size:18px; font-weight:700; color:var(--cg-navy); margin:24px 0 12px; }
.cgtech-story-long p{ font-family:var(--font-body); font-size:16px; line-height:1.65; color:var(--text-body,#43506E); margin:0 0 16px; max-width:68ch; }
.cgtech-story-long ul{ margin:0 0 22px; padding:0; list-style:none; display:grid; gap:11px; max-width:68ch; }
.cgtech-story-long li{ position:relative; padding-left:26px; font-family:var(--font-body); font-size:15.5px; line-height:1.55; color:var(--text-body,#43506E); }
.cgtech-story-long li::before{ content:""; position:absolute; left:2px; top:7px; width:8px; height:8px; border-radius:2px; background:var(--cg-orange,#EA5B38); }
/* ==== CGTECH-STORY-V2.2 (2026-07-22): CTA back to a FULL-WIDTH panel (not a
   floating card) with the new layered gradient applied to the section itself;
   plus customer intro line above the challenge and image placeholder. ==== */
/* CTA full panel: section carries the gradient + grid texture edge to edge */
.cgtech-story-cta{ background:radial-gradient(1100px 380px at 86% -12%,rgba(79,142,232,.30),transparent 60%),radial-gradient(900px 520px at 2% 120%,rgba(17,41,185,.34),transparent 55%),linear-gradient(135deg,#161a42 0%,#10122e 100%) !important; position:relative; isolation:isolate; overflow:hidden; }
.cgtech-story-cta::after{ content:""; position:absolute; inset:0; z-index:0; background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px); background-size:46px 46px; -webkit-mask-image:radial-gradient(820px 460px at 88% 6%,#000,transparent 72%); mask-image:radial-gradient(820px 460px at 88% 6%,#000,transparent 72%); pointer-events:none; }
.cgtech-story-cta .cgtech-section__inner{ position:relative; z-index:1; max-width:760px; margin:0 auto; padding:66px 24px; text-align:center; }
.cgtech-story-cta__card{ max-width:none !important; margin:0 !important; padding:0 !important; background:none !important; border-radius:0 !important; box-shadow:none !important; overflow:visible !important; }
.cgtech-story-cta__card::after{ content:none !important; }
/* Customer intro (who they are), above The challenge */
.cgtech-story-intro{ font-family:var(--font-body); font-size:17px; line-height:1.6; color:var(--cg-navy); font-weight:500; margin:0 0 28px; max-width:68ch; padding-bottom:24px; border-bottom:1px solid var(--rule,#DBE2EF); }
/* Image placeholder when no featured image is set */
.cgtech-story__img--ph{ aspect-ratio:4/3; border-radius:14px; background:linear-gradient(135deg,#EEF2FA,#DBE4F3); border:1px solid var(--rule,#DBE2EF); display:flex; align-items:center; justify-content:center; box-shadow:0 14px 34px rgba(21,24,57,.08); }
.cgtech-story__img--ph span{ font-family:var(--font-body); font-size:12.5px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:#9FB0CC; }
@media (max-width:600px){
  .cgtech-story-cta .cgtech-section__inner{ padding:48px 16px; }
  .cgtech-story-intro{ font-size:16px; }
}
/* CGTECH-STORY-V2.2a: base .cgtech-section__inner has max-width !important; pin the CTA content column narrow */
.cgtech-story-cta .cgtech-section__inner{ max-width:760px !important; }

/* CGTECH-ANCHOR-OFFSET (2026-07-22): in-page anchor targets (#services etc.) must clear the fixed sticky header. */
html{ scroll-padding-top:104px; }

/* ==== CGTECH-STORY-A (2026-07-23): Option A "feature-led editorial" body for
   success story landing pages. Snapshot bar + wide image + challenge/approach
   cards + auto-numbered steps + bold navy results band + optional quote.
   All CMS-driven. Live on RetireAustralia (360) for review. ==== */
.cgtech-a__inner{ max-width:1080px; margin:0 auto; padding:48px 24px 20px; }
.cgtech-a__snap{ display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); background:var(--off-white,#F4F7FD); border:1px solid var(--rule,#DBE2EF); border-radius:14px; overflow:hidden; margin:0 0 26px; }
.cgtech-a__snap>div{ padding:18px 24px; border-right:1px solid var(--rule,#DBE2EF); }
.cgtech-a__snap>div:last-child{ border-right:0; }
.cgtech-a__snap dt{ font-family:var(--font-body); font-size:10.5px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--text-muted,#5D7A99); margin:0 0 5px; }
.cgtech-a__snap dd{ margin:0; font-family:var(--font-body); font-size:15px; font-weight:700; color:var(--cg-navy,#151839); }
.cgtech-a__feat{ margin:0 0 34px; border-radius:16px; overflow:hidden; box-shadow:0 20px 44px rgba(21,24,57,.14); }
.cgtech-a__feat img{ display:block; width:100%; height:auto; max-height:430px; object-fit:cover; }
.cgtech-a__feat--ph{ height:300px; background:linear-gradient(135deg,#EEF2FA,#DBE4F3); display:flex; align-items:center; justify-content:center; }
.cgtech-a__feat--ph span{ font-family:var(--font-body); font-size:12.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#9FB0CC; }
.cgtech-a__read{ max-width:900px; margin:0 auto; }
.cgtech-a__intro{ font-family:var(--font-body); font-size:17px; line-height:1.6; color:var(--cg-navy,#151839); font-weight:500; margin:0 0 26px; }
.cgtech-a__ab{ display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:0 0 8px; }
.cgtech-a__block{ background:#fff; border:1px solid var(--rule,#DBE2EF); border-radius:14px; padding:22px 22px 20px; box-shadow:0 10px 26px rgba(21,24,57,.05); }
.cgtech-a__block--chal{ border-top:3px solid var(--cg-sky,#4F8EE8); }
.cgtech-a__block--appr{ border-top:3px solid var(--cg-orange,#EA5B38); }
.cgtech-a__block p{ margin:0; font-family:var(--font-body); font-size:15px; line-height:1.6; color:var(--text-body,#43506E); }
.cgtech-a__ey{ font-family:var(--font-body); font-size:11.5px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; color:var(--cg-orange,#EA5B38); margin:0 0 8px; }
.cgtech-a__block--chal .cgtech-a__ey{ color:var(--cg-sky,#4F8EE8); }
/* steps: style the CMS post_content (lead p + h3 + ul) as auto-numbered grid */
.cgtech-a__steps{ margin-top:22px; }
.cgtech-a__steps h2,.cgtech-a__steps h3{ font-family:var(--font-heading); font-size:22px; font-weight:800; color:var(--cg-navy,#151839); margin:22px 0 6px; }
.cgtech-a__steps p{ font-family:var(--font-body); font-size:15.5px; line-height:1.6; color:var(--text-body,#43506E); margin:0 0 8px; max-width:64ch; }
.cgtech-a__steps ul{ list-style:none; counter-reset:cgstep; padding:0; margin:10px 0 0; display:grid; grid-template-columns:1fr 1fr; gap:10px 34px; }
.cgtech-a__steps li{ counter-increment:cgstep; position:relative; padding:8px 0 8px 42px; font-family:var(--font-body); font-size:15px; line-height:1.5; color:var(--text-body,#43506E); }
.cgtech-a__steps li::before{ content:counter(cgstep); position:absolute; left:0; top:6px; width:28px; height:28px; border-radius:8px; background:rgba(234,91,56,.12); color:var(--cg-orange,#EA5B38); font-family:var(--font-heading); font-weight:800; font-size:14px; display:flex; align-items:center; justify-content:center; }
/* results band */
.cgtech-a-results{ background:radial-gradient(1100px 380px at 86% -12%,rgba(79,142,232,.28),transparent 60%),linear-gradient(135deg,#161a42,#10122e) !important; position:relative; isolation:isolate; overflow:hidden; }
.cgtech-a-results::after{ content:""; position:absolute; inset:0; z-index:0; background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px); background-size:46px 46px; -webkit-mask-image:radial-gradient(760px 380px at 88% 4%,#000,transparent 72%); mask-image:radial-gradient(760px 380px at 88% 4%,#000,transparent 72%); pointer-events:none; }
.cgtech-a-results__inner{ max-width:1080px; margin:0 auto; padding:52px 24px; position:relative; z-index:1; }
.cgtech-a-results__ey{ font-family:var(--font-body); font-size:11.5px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:#FFB49E; margin:0 0 10px; }
.cgtech-a-results__h{ font-family:var(--font-heading); font-size:26px; font-weight:800; color:#fff; margin:0 0 20px; }
.cgtech-a-results__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.cgtech-a-rt{ background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12); border-top:3px solid var(--cg-orange,#EA5B38); border-radius:14px; padding:24px 22px; }
.cgtech-a-rt__num{ font-family:var(--font-heading); font-size:38px; font-weight:800; color:#fff; line-height:1; margin:0 0 8px; }
.cgtech-a-rt__cap{ font-family:var(--font-body); font-size:14px; color:#C4CDE6; margin:0; }
.cgtech-a-rt__st{ font-family:var(--font-heading); font-size:19px; font-weight:700; color:#fff; margin:0; line-height:1.25; }
/* quote */
.cgtech-a-quote__inner{ max-width:900px; margin:0 auto; padding:44px 24px; }
.cgtech-a-quote blockquote{ margin:0; font-family:var(--font-heading); font-size:24px; font-weight:600; line-height:1.35; color:var(--cg-navy,#151839); letter-spacing:-.01em; border-left:4px solid var(--cg-orange,#EA5B38); padding-left:24px; }
.cgtech-a-quote cite{ display:block; font-style:normal; font-family:var(--font-body); font-size:13.5px; color:var(--text-muted,#5D7A99); font-weight:700; margin-top:12px; padding-left:28px; }
@media (max-width:600px){
  .cgtech-a__inner{ padding:32px 16px 12px; }
  .cgtech-a__ab,.cgtech-a__steps ul,.cgtech-a-results__grid{ grid-template-columns:1fr; }
  .cgtech-a__snap{ grid-template-columns:1fr 1fr; }
  .cgtech-a__snap>div{ border-right:0; border-bottom:1px solid var(--rule,#DBE2EF); }
  .cgtech-a-results__inner,.cgtech-a-quote__inner{ padding-left:16px; padding-right:16px; }
  .cgtech-a__feat--ph{ height:200px; }
}
/* ==== CGTECH-STORY-A2 (2026-07-23): review round 1 - blue step numbers;
   results moved to a light recessed band with richer cards (icon + statement
   + caption) so it reads full and separates cleanly from the navy CTA. ==== */
/* 1. "What this involved" numbers -> CG blue on a lighter blue tint */
.cgtech-a__steps li::before{ background:rgba(79,142,232,.16) !important; color:var(--cg-blue,#1129B9) !important; }
/* 2. Results: light recessed section (was navy) */
.cgtech-a-results{ background:linear-gradient(180deg,#F4F7FD 0%,#E8EEF8 100%) !important; border-top:1px solid var(--rule,#DBE2EF); }
.cgtech-a-results::after{ content:none !important; }
.cgtech-a-results__inner{ padding-top:48px !important; padding-bottom:52px !important; }
.cgtech-a-results__ey{ color:var(--cg-orange,#EA5B38) !important; }
.cgtech-a-results__h{ color:var(--cg-navy,#151839) !important; }
.cgtech-a-results__grid{ align-items:stretch; }
/* rich white cards with rotating brand accents */
.cgtech-a-rt{ background:#fff !important; border:1px solid var(--rule,#DBE2EF) !important; border-top:3px solid #1129B9 !important; border-radius:14px; padding:24px 22px 22px; box-shadow:0 12px 30px rgba(21,24,57,.07); display:flex; flex-direction:column; }
.cgtech-a-rt:nth-child(3n+2){ border-top-color:#4F8EE8 !important; }
.cgtech-a-rt:nth-child(3n+3){ border-top-color:#EA5B38 !important; }
.cgtech-a-rt__ic{ width:34px; height:34px; border-radius:9px; display:flex; align-items:center; justify-content:center; font-size:15px; font-weight:800; margin:0 0 14px; background:rgba(17,41,185,.10); color:#1129B9; }
.cgtech-a-rt:nth-child(3n+2) .cgtech-a-rt__ic{ background:rgba(79,142,232,.16); color:#2f6fd0; }
.cgtech-a-rt:nth-child(3n+3) .cgtech-a-rt__ic{ background:rgba(234,91,56,.12); color:#EA5B38; }
.cgtech-a-rt__num{ font-family:var(--font-heading); font-size:40px; font-weight:800; color:var(--cg-navy,#151839) !important; line-height:1; margin:0 0 6px; }
.cgtech-a-rt__st{ font-family:var(--font-heading); font-size:18px; font-weight:800; color:var(--cg-navy,#151839) !important; line-height:1.25; margin:0 0 7px; }
.cgtech-a-rt__cap{ font-family:var(--font-body); font-size:14px; line-height:1.5; color:var(--text-muted,#5D7A99) !important; margin:0; }
/* ==== CGTECH-STORY-A3 (2026-07-23): review round 2 - lead runs full column
   width (no early wrap), shorter CTA panel, balanced 2-line CTA sub. ==== */
.cgtech-a__steps p{ max-width:none !important; }
.cgtech-story-cta .cgtech-section__inner{ padding-top:44px !important; padding-bottom:44px !important; }
.cgtech-story-cta__sub{ max-width:600px; margin-left:auto !important; margin-right:auto !important; text-wrap:balance; }
/* ==== CGTECH-STORY-A4 (2026-07-23): review round 3 - centre results header,
   match results section height to the CTA below (kill double padding), and
   style the related-stories eyebrow like THE RESULTS eyebrow, centred. ==== */
.cgtech-a-results__ey,
.cgtech-a-results__h{ text-align:center !important; }
/* height match: remove the base .cgtech-section padding on results and let the
   inner carry balanced whitespace so total height ~= the CTA panel below */
.cgtech-a-results{ padding-top:0 !important; padding-bottom:0 !important; }
.cgtech-a-results__inner{ padding-top:100px !important; padding-bottom:108px !important; }
/* related eyebrow -> match THE RESULTS eyebrow (orange, 800, wider tracking) + centre */
.cgtech-storypage--a .cgtech-story-rel__label{ color:var(--cg-orange,#EA5B38) !important; font-weight:800 !important; letter-spacing:.14em !important; text-align:center !important; }
/* CGTECH-STORY-A4-fix: section keeps its standard 96/96; drop the inner's extra
   vertical padding (the double-padding that made results taller than the CTA). */
.cgtech-a-results__inner{ padding-top:10px !important; padding-bottom:10px !important; }
/* ==== CGTECH-STORY-A5 (2026-07-23): review round 4 - close the gap under the
   hero and turn the snapshot strip into taller white cards with brand colour. */
/* close the big gap under the hero (base .cgtech-section 96px + inner 48px) */
.cgtech-storypage--a .cgtech-section.cgtech-a{ padding-top:0 !important; }
.cgtech-storypage--a .cgtech-a__inner{ padding-top:40px !important; }
/* snapshot -> row of taller cards, rotating brand accents + coloured labels */
.cgtech-a__snap{ background:transparent !important; border:0 !important; border-radius:0 !important; overflow:visible !important; gap:14px !important; margin:0 0 32px !important; align-items:stretch; }
.cgtech-a__snap > div{ background:#fff !important; border:1px solid var(--rule,#DBE2EF) !important; border-top:3px solid #1129B9 !important; border-radius:12px !important; padding:22px 20px 20px !important; box-shadow:0 8px 22px rgba(21,24,57,.06); display:flex; flex-direction:column; justify-content:center; }
.cgtech-a__snap > div:nth-child(4n+2){ border-top-color:#4F8EE8 !important; }
.cgtech-a__snap > div:nth-child(4n+3){ border-top-color:#EA5B38 !important; }
.cgtech-a__snap > div:nth-child(4n+4){ border-top-color:#1AA39A !important; }
.cgtech-a__snap dt{ color:#1129B9 !important; margin:0 0 7px !important; }
.cgtech-a__snap > div:nth-child(4n+2) dt{ color:#2f6fd0 !important; }
.cgtech-a__snap > div:nth-child(4n+3) dt{ color:#EA5B38 !important; }
.cgtech-a__snap > div:nth-child(4n+4) dt{ color:#1AA39A !important; }
.cgtech-a__snap dd{ font-size:16px !important; line-height:1.3; }
/* ==== CGTECH-STORY-A6 (2026-07-23): review round 5 - drop hero badges (info is
   in the snapshot cards), snapshot -> centred row of 3 icon cards. ==== */
/* hero badges hidden on Option A pages (redundant with the snapshot) */
.cgtech-storypage--a .cgtech-story-hero__badges{ display:none !important; }
/* 3 equal cards, centred content, icon chip on top */
.cgtech-a__snap{ grid-template-columns:repeat(3,1fr) !important; }
.cgtech-a__snap > div{ align-items:center !important; text-align:center; padding:28px 20px 24px !important; }
.cgtech-a__snapic{ width:48px; height:48px; border-radius:13px; display:flex; align-items:center; justify-content:center; margin:0 0 14px; background:rgba(17,41,185,.10); color:#1129B9; }
.cgtech-a__snapic svg{ width:24px; height:24px; display:block; }
/* accent + icon colour rotation across the 3 cards: blue / sky / orange */
.cgtech-a__snap > div:nth-child(3n+2){ border-top-color:#4F8EE8 !important; }
.cgtech-a__snap > div:nth-child(3n+3){ border-top-color:#EA5B38 !important; }
.cgtech-a__snap > div:nth-child(3n+2) dt{ color:#2f6fd0 !important; }
.cgtech-a__snap > div:nth-child(3n+3) dt{ color:#EA5B38 !important; }
.cgtech-a__snap > div:nth-child(3n+2) .cgtech-a__snapic{ background:rgba(79,142,232,.16); color:#2f6fd0; }
.cgtech-a__snap > div:nth-child(3n+3) .cgtech-a__snapic{ background:rgba(234,91,56,.12); color:#EA5B38; }
@media (max-width:600px){ .cgtech-a__snap{ grid-template-columns:1fr !important; } }
/* CGTECH-STORY-A7 (2026-07-23): results tiles use relevant SVG icons (not ticks) */
.cgtech-a-rt__ic svg{ width:18px; height:18px; display:block; }

/* ==== CGTECH-STORY-HEROANIM (2026-07-23): story hero = layered bg (image on
   ::before, overlay on ::after) so the image can Ken Burns; typewriter on the
   H1 with the sub-line + back link fading in after. Animation scoped to
   Option A pages (.cgtech-storypage--a); other stories keep a static hero. ==== */
.cgtech-story-hero{ position:relative; overflow:hidden; isolation:isolate; background-color:var(--cg-navy,#151839) !important; }
.cgtech-story-hero::before{ content:""; position:absolute; inset:-1%; z-index:0; background-size:cover; background-position:var(--cg-hero-pos, center 30%); background-repeat:no-repeat; }
.cgtech-story-hero::after{ content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background-image:linear-gradient(90deg, rgba(21,24,57,0.92) 0%, rgba(21,24,57,0.88) 48%, rgba(21,24,57,0.5) 74%, rgba(21,24,57,0.16) 100%); }
.cgtech-story-hero__pad{ position:relative; z-index:2; }
/* Ken Burns: very slow zoom that loops via a soft fade at the boundary */
@keyframes cgStoryKB{ 0%{ transform:scale(1.0); opacity:.2; } 9%{ opacity:1; } 91%{ opacity:1; } 100%{ transform:scale(1.15); opacity:.2; } }
@media (prefers-reduced-motion: no-preference){
  .cgtech-storypage--a .cgtech-story-hero::before{ animation:cgStoryKB 30s ease-in-out infinite; will-change:transform,opacity; }
}
/* Typewriter reveal: sub-line + back link hidden while typing, fade in after */
.cgtech-storypage--a .cgtech-story-hero.cgtech-tw .cgtech-story-hero__sub,
.cgtech-storypage--a .cgtech-story-hero.cgtech-tw .cgtech-story-hero__back{ opacity:0; }
.cgtech-storypage--a .cgtech-story-hero.cgtech-tw--done .cgtech-story-hero__sub{ animation:cgtechHeroRise .6s ease-out .05s both; }
.cgtech-storypage--a .cgtech-story-hero.cgtech-tw--done .cgtech-story-hero__back{ animation:cgtechHeroRise .6s ease-out .18s both; }
.cgtech-tw__caret{ display:inline-block; width:3px; height:.9em; background:currentColor; margin-left:5px; vertical-align:-1px; animation:cgtwBlink 1s steps(1) infinite; }
@keyframes cgtwBlink{ 50%{ opacity:0; } }
/* CGTECH-STORY-HEROANIM-fix: the story hero opts OUT of the .cgtech-hero-navy
   pseudo-suppression (it uses ::before image + ::after overlay). Higher
   specificity + !important beats that global display:none/background:none. */
.cgtech-story-hero.cgtech-hero-navy::before{ content:"" !important; display:block !important; position:absolute !important; inset:-1% !important; z-index:0 !important; background-size:cover !important; background-position:var(--cg-hero-pos, center 30%) !important; background-repeat:no-repeat !important; }
.cgtech-story-hero.cgtech-hero-navy::after{ content:"" !important; display:block !important; position:absolute !important; inset:0 !important; z-index:1 !important; pointer-events:none !important; background:linear-gradient(90deg, rgba(21,24,57,0.92) 0%, rgba(21,24,57,0.88) 48%, rgba(21,24,57,0.5) 74%, rgba(21,24,57,0.16) 100%) !important; }
@media (prefers-reduced-motion: no-preference){
  .cgtech-storypage--a .cgtech-story-hero.cgtech-hero-navy::before{ animation:cgStoryKB 30s ease-in-out infinite !important; will-change:transform,opacity; }
}
/* CGTECH-STORY-HEROANIM-fix2: kill the section's default bg image and the
   sol-hero/hero-navy corner-box dimensions leaking onto our layers (they force
   width/height 480px + corner offsets). Make ::before (image) and ::after
   (overlay) full-bleed. */
.cgtech-story-hero.cgtech-hero-navy{ background-image:none !important; }
.cgtech-story-hero.cgtech-hero-navy::before{ content:"" !important; display:block !important; position:absolute !important; top:-1.5% !important; left:-1.5% !important; right:-1.5% !important; bottom:-1.5% !important; width:auto !important; height:auto !important; z-index:0 !important; background-size:cover !important; background-position:var(--cg-hero-pos, center 30%) !important; background-repeat:no-repeat !important; border-radius:0 !important; }
.cgtech-story-hero.cgtech-hero-navy::after{ content:"" !important; display:block !important; position:absolute !important; top:0 !important; left:0 !important; right:0 !important; bottom:0 !important; width:auto !important; height:auto !important; z-index:1 !important; pointer-events:none !important; background:linear-gradient(90deg, rgba(21,24,57,0.92) 0%, rgba(21,24,57,0.88) 48%, rgba(21,24,57,0.5) 74%, rgba(21,24,57,0.16) 100%) !important; border-radius:0 !important; }
/* CGTECH-STORY-CURSOR (2026-07-23): typewriter cursor matches the homepage - orange thin bar, cgtech-blink. Sequence (blink 2 / type / blink 2 / remove) is driven by the wp_footer JS. */
.cgtech-tw__cursor{ display:inline-block; width:.06em; height:.9em; margin-left:.07em; vertical-align:-.04em; background:var(--cg-orange,#EA5B38); color:transparent; }

/* CGTECH-STORY-HEROANIM-eyebrow (2026-07-23): the eyebrow also fades in after
   typing (was static). Reveals first, then sub-line, then back link. */
.cgtech-storypage--a .cgtech-story-hero.cgtech-tw .cgtech-story-hero__eyebrow{ opacity:0; }
.cgtech-storypage--a .cgtech-story-hero.cgtech-tw--done .cgtech-story-hero__eyebrow{ animation:cgtechHeroRise .6s ease-out 0s both; }
/* CGTECH-STORY-HEROANIM-fade (2026-07-23): reveal is a plain fade, not a lift
   (cgtechHeroRise includes a translateY). Overrides the earlier rise rules. */
@keyframes cgtechStoryFade{ from{ opacity:0; } to{ opacity:1; } }
.cgtech-storypage--a .cgtech-story-hero.cgtech-tw--done .cgtech-story-hero__eyebrow{ animation:cgtechStoryFade .55s ease-out 0s both !important; }
.cgtech-storypage--a .cgtech-story-hero.cgtech-tw--done .cgtech-story-hero__sub{ animation:cgtechStoryFade .55s ease-out .1s both !important; }
.cgtech-storypage--a .cgtech-story-hero.cgtech-tw--done .cgtech-story-hero__back{ animation:cgtechStoryFade .55s ease-out .2s both !important; }
/* CGTECH-STORY-HEROANIM-sync (2026-07-23): the 0/.1/.2 stagger over a .55s
   fade made the three elements finish at different times, reading as out of
   sync. Reveal them together as one group. Later rule, same specificity, wins. */
.cgtech-storypage--a .cgtech-story-hero.cgtech-tw--done .cgtech-story-hero__eyebrow,
.cgtech-storypage--a .cgtech-story-hero.cgtech-tw--done .cgtech-story-hero__sub,
.cgtech-storypage--a .cgtech-story-hero.cgtech-tw--done .cgtech-story-hero__back{ animation:cgtechStoryFade .5s ease-out 0s both !important; }

/* CGTECH-HEADER-OPAQUE (2026-07-23): scrolled header was rgba(255,255,255,.92)+blur;
   when a browser skips backdrop-filter (e.g. HW acceleration off) page text ghosts
   through the bar. Make the scrolled state near-opaque so it never depends on blur.
   Same specificity as the .92 rule, later in file, so it wins. Mobile navy rule
   (max-1024) is 3-selector specificity and still outranks this. */
.cgtech-header--solid .cgtech-header{ background: rgba(255,255,255,0.985) !important; }

/* CGTECH-PROOFCARD-EQH-v1 (2026-07-23): normalise story proof-card heights.
   Re-enables track stretch (undone by CAROUSEL-TOPALIGN-v1) but clamps body
   copy to 3 lines per paragraph so one wordy card cannot inflate the whole
   track (the original oversize problem on home's 26-card pool). Link pinned
   to the card bottom so the last row lines up. Scoped via :has() to proof
   cards only - vendor product cards and other carousels are untouched.
   Phones keep natural height (single-card view, stretch wastes space). */
@media (min-width:641px){
  .cgtech-carousel__track:has(.cgtech-proof-card){ align-items:stretch !important; }
  .cgtech-carousel__slide:has(> .cgtech-proof-card){ display:flex; }
  .cgtech-carousel__slide > .cgtech-proof-card{ height:auto !important; display:flex; flex-direction:column; }
}
.cgtech-proof-card .pc-body{ display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
.cgtech-proof-card .pc-more{ margin-top:auto !important; padding-top:14px; }
/* CGTECH-STORYGRID-V3 (2026-07-23): left-justified head, lead, chip rows and
   count (was centred, read as messy) + rounded search field with magnifier
   icon sitting right of the heading. Search collapses to full width on
   small screens. Later in file, so these override the V2 centring. */
.cgtech-storygrid__head{ display:flex; align-items:flex-end; justify-content:space-between; gap:18px 28px; flex-wrap:wrap; text-align:left !important; }
.cgtech-storygrid__headtext{ flex:1 1 420px; min-width:280px; }
.cgtech-storygrid__head .cgtech-storygrid__title,
.cgtech-storygrid__head .cgtech-storygrid__lead{ text-align:left !important; margin-left:0 !important; margin-right:0 !important; }
.cgtech-storygrid__row{ justify-content:flex-start !important; }
.cgtech-storygrid__count{ text-align:left !important; }
.cgtech-storygrid__searchwrap{ position:relative; flex:0 1 340px; min-width:260px; margin-bottom:6px; }
.cgtech-storygrid__searchwrap svg{ position:absolute; left:15px; top:50%; transform:translateY(-50%); width:16px; height:16px; color:#5D7A99; pointer-events:none; }
.cgtech-storygrid__search{ width:100%; padding:11px 18px 11px 42px; border:1px solid var(--rule,#DBE2EF); border-radius:999px; font-family:inherit; font-size:14.5px; color:var(--cg-navy,#151839); background:#FFFFFF; outline:none; box-shadow:0 2px 10px rgba(21,24,57,0.04); transition:border-color .2s, box-shadow .2s; -webkit-appearance:none; appearance:none; }
.cgtech-storygrid__search::placeholder{ color:#8A9BB8; }
.cgtech-storygrid__search:focus{ border-color:var(--cg-blue,#1129B9); box-shadow:0 0 0 3px rgba(17,41,185,0.12); }
.cgtech-storygrid__none{ text-align:left; color:#43506E; font-size:15.5px; padding:18px 0 6px; }
@media (max-width:640px){
  .cgtech-storygrid__searchwrap{ flex-basis:100%; min-width:0; }
}
/* CGTECH-STORYGRID-V4 (2026-07-23): filter PANEL redesign. Heading + lead sit
   plain-left; search and both chip rows live inside one white rounded card,
   labels in a fixed column so every chip row shares the same left edge. On
   phones the label sits above its chips and the panel tightens. Supersedes
   the V3 head-flex layout (head back to block; searchwrap restyled). */
.cgtech-storygrid__head{ display:block !important; text-align:left !important; max-width:640px; }
.cgtech-storygrid__panel{ background:#FFFFFF; border:1px solid var(--rule,#DBE2EF); border-radius:18px; padding:24px 26px; box-shadow:0 10px 30px rgba(21,24,57,0.06); margin:26px 0 16px; }
.cgtech-storygrid__panel .cgtech-storygrid__searchwrap{ flex:none; min-width:0; max-width:100%; margin:0 0 20px; }
.cgtech-storygrid__panel .cgtech-storygrid__row{ display:grid !important; grid-template-columns:92px 1fr; gap:8px 16px; align-items:start; justify-content:start !important; text-align:left; }
.cgtech-storygrid__panel .cgtech-storygrid__row + .cgtech-storygrid__row{ margin-top:16px; padding-top:18px; border-top:1px solid #EDF1F8; }
.cgtech-storygrid__panel .cgtech-storygrid__lab{ margin:0; padding-top:9px; }
.cgtech-storygrid__chips{ display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-start; }
.cgtech-storygrid__count{ text-align:left !important; margin-top:0; }
@media (max-width:640px){
  .cgtech-storygrid__panel{ padding:18px 16px; border-radius:14px; }
  .cgtech-storygrid__panel .cgtech-storygrid__row{ grid-template-columns:1fr; gap:8px; }
  .cgtech-storygrid__panel .cgtech-storygrid__lab{ padding-top:0; }
}
/* CGTECH-STORYGRID-V4.1: labels inherit old centring on mobile - force left */
.cgtech-storygrid__panel .cgtech-storygrid__lab{ text-align:left !important; justify-self:start; }

/* CGTECH-STORYGRID-V5 (2026-07-23): head back to CENTRED with the site's
   standard heading scheme (orange uppercase eyebrow + navy title + muted
   lead). Panel stays. Search input hardened against Astra's
   input[type=search] rules that were eating the left padding and leaving
   the magnifier on top of the placeholder text. */
.cgtech-storygrid__head{ display:block !important; max-width:none !important; text-align:center !important; margin:0 auto; }
.cgtech-storygrid__eyebrow{ font-family:var(--font-body); font-size:11.5px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--cg-orange,#EA5B38); margin:0 0 10px; }
.cgtech-storygrid__head .cgtech-storygrid__title{ text-align:center !important; margin:0 auto !important; }
.cgtech-storygrid__head .cgtech-storygrid__lead{ text-align:center !important; margin:12px auto 0 !important; }
.cgtech-storygrid__panel input.cgtech-storygrid__search,
.cgtech-storygrid__panel input.cgtech-storygrid__search[type="search"]{
  width:100% !important; box-sizing:border-box !important;
  padding:12px 18px 12px 46px !important;
  border:1px solid var(--rule,#DBE2EF) !important; border-radius:999px !important;
  font-family:var(--font-body) !important; font-size:14.5px !important; line-height:1.4 !important;
  color:var(--cg-navy,#151839) !important; background-color:#FFFFFF !important;
  outline:none !important; box-shadow:0 2px 10px rgba(21,24,57,0.04) !important;
  -webkit-appearance:none !important; appearance:none !important; min-height:0 !important; height:auto !important;
}
.cgtech-storygrid__panel input.cgtech-storygrid__search:focus{ border-color:var(--cg-blue,#1129B9) !important; box-shadow:0 0 0 3px rgba(17,41,185,0.12) !important; }
.cgtech-storygrid__searchwrap svg{ left:17px; width:16px; height:16px; }
/* CGTECH-STORYGRID-V6 (2026-07-23): card image on the stories grid (Carlos).
   Rounded 13px to match the .pc-logo avatar radius, sits inside the card
   padding above the head row. Grid only - carousels stay image-free. */
.cgtech-storygrid__item .pc-img{ width:100%; aspect-ratio:16/9; border-radius:13px; overflow:hidden; margin:0 0 18px; background:#EEF1F7; }
.cgtech-storygrid__item .pc-img img{ width:100%; height:100%; object-fit:cover; display:block; }
/* CGTECH-STORYGRID-V7 (2026-07-23): whole grid card clickable via stretched
   "Read the full story" link (one anchor keeps screen-reader/keyboard
   semantics; the ::after overlay covers the card). Grid only - carousel
   cards keep their plain link. */
.cgtech-storygrid__item .cgtech-proof-card{ position:relative; cursor:pointer; }
.cgtech-storygrid__item .cgtech-proof-card .pc-more::after{ content:''; position:absolute; inset:0; border-radius:inherit; }
.cgtech-storygrid__item .cgtech-proof-card:focus-within{ box-shadow:0 0 0 3px rgba(17,41,185,0.25), 0 16px 34px rgba(21,24,57,0.12) !important; }
.cgtech-storygrid__item .cgtech-proof-card .pc-more:focus{ outline:none; }

/* CGTECH-MMENU-GROUPLABELS (2026-07-23): show mega group headings inside the
   mobile drawer accordions (Solutions: "Solutions" / "Packages & Tools";
   Challenges: "AI and strategy" / "Operations and field"). Overrides the
   drawer's blanket display:none on group labels; platform heads stay hidden. */
@media (max-width:1024px){
  .xpro-elementor-horizontal-navbar-wrapper .cgtech-mega__group-label{
    display:block !important;
    font-family:var(--font-body) !important;
    font-size:11px !important; font-weight:800 !important;
    letter-spacing:.12em !important; text-transform:uppercase !important;
    color:#8FA3D0 !important; background:transparent !important;
    border:0 !important; border-bottom:1px solid rgba(255,255,255,0.12) !important;
    padding:16px 2px 8px !important; margin:4px 0 6px !important;
  }
  .xpro-elementor-horizontal-navbar-wrapper .cgtech-mega__group:first-child .cgtech-mega__group-label{ padding-top:4px !important; margin-top:0 !important; }
}
/* CGTECH-MMENU-GROUPLABELS colour fix: out-rank .cgtech-mega__cols a rule */
@media (max-width:1024px){
  .xpro-elementor-horizontal-navbar-wrapper .cgtech-mega__cols a.cgtech-mega__group-label{ color:#8FA3D0 !important; }
}


/* CGTECH-CTA-GRIDBG-v1 : full-bleed dark CTA bands get the floating CTA card background (navy gradient + grid). Opt-in via the cgtech-cta-grid class on the section. */
.cgtech-cta-grid{
  position:relative !important;
  overflow:hidden;
  background-color:#10122e !important;
  background-image:
    radial-gradient(1100px 380px at 86% -12%,rgba(79,142,232,.30),transparent 60%),
    radial-gradient(900px 500px at 2% 120%,rgba(17,41,185,.34),transparent 55%),
    linear-gradient(135deg,#161a42 0%,#10122e 100%) !important;
}
/* neutralise the picture scrim so the gradient is what shows */
.cgtech-cta-grid::before,
.cgtech-cta-grid.cgtech-bg-picture::before,
.cgtech-cta-grid.cgtech-finalcta::before{ background:transparent !important; }
.cgtech-cta-grid::after{
  content:""; position:absolute; inset:0; z-index:0;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:46px 46px;
  -webkit-mask-image:radial-gradient(640px 360px at 90% 10%,#000,transparent 72%);
  mask-image:radial-gradient(640px 360px at 90% 10%,#000,transparent 72%);
  pointer-events:none;
}
.cgtech-cta-grid > *{ position:relative; z-index:1; }


/* CGTECH-SAFEPANEL-GRAD-v1 : the "Controls we build in" panel picks up the CTA colour family without the grid, so the grid stays exclusive to calls to action. Percentage radials so the glows scale on this smaller panel and on mobile. */
.cgtech-safe__panel{
  position:relative;
  overflow:hidden;
  background-color:#10122e !important;
  background-image:
    radial-gradient(120% 90% at 88% -14%,rgba(79,142,232,.30),transparent 60%),
    radial-gradient(110% 110% at 0% 118%,rgba(17,41,185,.34),transparent 55%),
    linear-gradient(135deg,#161a42 0%,#10122e 100%) !important;
}


/* CGTECH-TOOLCTA-PANEL-v1 : estimator promo as a light instrument panel, so it separates from the navy CTA card below it. Bars animate in on scroll via the existing .cg-reveal--in hook (reveal.js). */
.cgtech-toolcta--panel{background:#fff;border:1px solid var(--blue-100,#DCE3FA);border-radius:18px;padding:8px;box-shadow:0 18px 44px -26px rgba(17,41,185,.45),0 2px 5px rgba(21,24,57,.05);display:grid;grid-template-columns:1.35fr .95fr;gap:8px;align-items:stretch}
.cgtech-toolcta--panel .cgtech-toolcta__copy{padding:28px 12px 28px 28px;display:flex;flex-direction:column;justify-content:center}
.cgtech-toolcta--panel .cgtech-toolcta__chip{color:var(--orange-700,#C8431F)}
.cgtech-toolcta--panel .cgtech-toolcta__title{color:var(--cg-navy,#151839)}
.cgtech-toolcta--panel .cgtech-toolcta__sub{color:var(--mid-grey,#4B5563)}
.cgtech-toolcta--panel .cgtech-toolcta__btn{align-self:flex-start;margin-top:18px}
.cgtech-toolcta__micro{font-family:var(--font-body);font-size:12.5px;line-height:1.5;color:var(--mid-grey,#4B5563);margin:12px 0 0}
.cgtech-toolcta__readout{background:linear-gradient(160deg,#f7f9ff 0%,#eef2fc 100%);border:1px solid var(--blue-100,#DCE3FA);border-radius:13px;padding:20px;display:flex;flex-direction:column;gap:13px;justify-content:center}
.cgtech-toolcta__rcap{font-family:var(--font-body);font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#7d8bb0;margin:0}
.cgtech-toolcta__row{display:flex;align-items:center;gap:10px}
.cgtech-toolcta__lab{font-family:var(--font-body);font-size:12.5px;color:var(--mid-grey,#4B5563);width:96px;flex:none}
.cgtech-toolcta__track{height:7px;border-radius:99px;background:#dfe6f7;flex:1;position:relative;overflow:hidden}
.cgtech-toolcta__track i{position:absolute;top:0;left:0;bottom:0;width:var(--w,50%);border-radius:99px;transform-origin:left center;background:linear-gradient(90deg,var(--cg-blue,#1129B9),var(--cg-sky,#4F8EE8))}
.cgtech-toolcta__row--foot{border-top:1px dashed #c9d4ee;padding-top:13px;margin-top:2px}
.cgtech-toolcta__row--foot .cgtech-toolcta__lab{width:auto;font-weight:600;color:var(--cg-navy,#151839)}
.cgtech-toolcta__ghost{height:11px;border-radius:5px;flex:1;background:linear-gradient(90deg,#dbe3f8 0%,#f4f7ff 45%,#dbe3f8 90%);background-size:220% 100%;background-position:0 0}
@keyframes cgToolFill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes cgToolShimmer{0%{background-position:140% 0}100%{background-position:-140% 0}}
@media (prefers-reduced-motion: no-preference){
  .cg-reveal--in .cgtech-toolcta__track i{animation:cgToolFill 850ms cubic-bezier(.16,1,.3,1) both;animation-delay:var(--d,0ms)}
  .cg-reveal--in .cgtech-toolcta__ghost{animation:cgToolShimmer 2.6s ease-in-out 900ms infinite}
}
@media(max-width:900px){.cgtech-toolcta--panel{grid-template-columns:1fr}.cgtech-toolcta--panel .cgtech-toolcta__copy{padding:24px 20px 4px}.cgtech-toolcta__readout{margin:0 12px 12px}}


/* ============================================================
   CGTECH-PAGEARC-v1   replaces CGTECH-SURFACES-v1
   One gradient on the page wrapper, light under the hero and
   deepening toward the footer. Every light section becomes
   transparent, so the sections are windows onto one continuous
   surface and there are no seams to hide.
   Home (elementor-125) is excluded on purpose.
   Delete this block to fall back to plain white sections.
   ============================================================ */
.elementor[data-elementor-type="wp-page"]:not(.elementor-125){
  background-image:linear-gradient(180deg,
    #FCFDFF 0%,      /* clean break from the navy hero */
    #F9FBFE 30%,
    #F3F7FD 55%,     /* content still sits near white here */
    #E9EFFA 78%,
    #DDE3F4 92%,
    #D6DCF1 100%     /* settles into the navy footer */
  ) !important;
}

/* windows onto the page gradient */
.elementor[data-elementor-type="wp-page"]:not(.elementor-125) .cgtech-section:not(.cgtech-bg-picture):not(.cgtech-finalcta):not(.cgtech-section--dark):not(.cgtech-hero-navy):not(.cgtech-thero):not(.cgtech-section--sol-hero):not(.cgtech-section--connect-hero),
.elementor[data-elementor-type="wp-page"]:not(.elementor-125) .cgtech-bandwrap,
.elementor[data-elementor-type="wp-page"]:not(.elementor-125) .cgtech-ctawrap,
.elementor[data-elementor-type="wp-page"]:not(.elementor-125) .cgtech-toolcta-wrap{ background:transparent !important; }

/* Elementor background overlays on those sections would break the run */
.elementor[data-elementor-type="wp-page"]:not(.elementor-125) .cgtech-section:not(.cgtech-bg-picture):not(.cgtech-finalcta):not(.cgtech-section--dark):not(.cgtech-hero-navy):not(.cgtech-thero):not(.cgtech-section--sol-hero):not(.cgtech-section--connect-hero) > .elementor-background-overlay{ display:none !important; }


/* ============================================================
   CGTECH-HEROPASS-v1 (2026-07-28)
   1. Home eyebrow styling (small uppercase label). NOTE 2026-08-06:
      the eyebrow used to be the H1; the visible headline is the H1 now
      and the eyebrow is a <p>, so these rules key off
      .elementor-heading-title rather than the h1 tag.
   2. Story hero geometry aligned to the standard inner-page hero
      (sol-hero scale), which every landing page except home uses.
   ============================================================ */
/* eyebrow-as-H1: neutralise heading defaults, reproduce the eyebrow look */
.cgtech-hero__eyebrow .elementor-heading-title{
  font-family:var(--font-body) !important;
  font-size:13px !important;
  font-weight:600 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
  color:rgba(255,255,255,.85) !important;
  line-height:1.5 !important;
  margin:0 !important;
  text-shadow:0 1px 10px rgba(11,26,120,.5);
}
@media (max-width:767px){
  .cgtech-hero__eyebrow .elementor-heading-title{ font-size:11px !important; letter-spacing:.12em !important; }
}

/* story hero: match the standard inner-page hero scale and rhythm */
.cgtech-story-hero__title{
  font-size:clamp(40px,5vw,64px) !important;
  letter-spacing:-.025em !important;
  line-height:1.08 !important;
  max-width:900px !important;
}
.cgtech-story-hero__sub{
  font-size:clamp(20px,1.8vw,26px) !important;
  line-height:1.3 !important;
  max-width:760px !important;
}
.cgtech-story-hero__eyebrow{ font-size:13px !important; }
.cgtech-story-hero__pad{ padding:140px 24px 80px; }
@media (max-width:767px){
  .cgtech-story-hero__pad{ padding:112px 16px 44px; }
}


/* CGTECH-LOGOSTRIP-SSR (2026-07-28): hero partner strip is now server-rendered
   (an Elementor HTML widget) so non-JS crawlers see it; hero.js skips injection
   when the strip already exists. Styles replicate the old JS inline styles. */
.cgtech-hero__logos{ display:flex; flex-wrap:wrap; align-items:center; gap:20px 30px; margin:4px 0 24px; max-width:780px; }
.cgtech-hero__logo{ display:inline-flex; align-items:center; gap:9px; }
.cgtech-hero__logo img{ height:26px; width:auto; max-width:none; display:block; }
.cgtech-hero__logo > span{ color:#fff; font-size:15px; font-weight:600; white-space:nowrap; letter-spacing:.01em; font-family:var(--font-body); }


/* CGTECH-STORY-HERO-STILL (2026-07-28): Tony call after the hero realignment.
   1. Ken Burns removed from story heroes (the drift read as 'off' at the new,
      larger hero scale).
   2. Focus point reset to true centre; the sitewide 50% 30% crop was framing
      story photos badly in the taller hero. */
.cgtech-storypage--a .cgtech-story-hero::before,
.cgtech-storypage--a .cgtech-story-hero.cgtech-hero-navy::before{ animation:none !important; }
.cgtech-story-hero{ --cg-hero-pos:50% 50% !important; }
.cgtech-story-hero::before{ background-position:50% 50% !important; }

/* ===== CGTECH-BANDGRID-v1 : final CTA band gets the floating-CTA gradient + grid overlay, so it reads differently from plain navy bands ===== */
.cgtech-band-card--grid{position:relative!important;isolation:isolate!important;overflow:hidden!important;background:radial-gradient(1100px 380px at 86% -12%,rgba(79,142,232,.30),transparent 60%),radial-gradient(900px 500px at 2% 120%,rgba(17,41,185,.34),transparent 55%),linear-gradient(135deg,#161a42 0%,#10122e 100%)!important;}
.cgtech-band-card--grid::after{content:"";position:absolute;inset:0;z-index:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:radial-gradient(640px 360px at 90% 10%,#000,transparent 72%);mask-image:radial-gradient(640px 360px at 90% 10%,#000,transparent 72%);pointer-events:none;}
.cgtech-band-card--grid > *{position:relative;z-index:1;}

/* ===== CGTECH-CAPTABS-STABLE-v1 : stack tab panels in one grid cell so the tabs block keeps the height of the tallest panel and content below never jumps ===== */
@media(min-width:1025px){
  .cgtech-captabs2 .elementor-tabs-content-wrapper{display:grid!important;}
  .cgtech-captabs2 .elementor-tabs-content-wrapper > .elementor-tab-content{display:block!important;grid-row:1;grid-column:1;visibility:hidden;}
  .cgtech-captabs2 .elementor-tabs-content-wrapper > .elementor-tab-content.elementor-active{visibility:visible;}
}

/* ===== CGTECH-BANDPHOTO-v1 : proof band with an Elementor-editable photo background + the standard blue overlay ===== */
.cgtech-band-card--photo{position:relative!important;isolation:isolate!important;overflow:hidden!important;}
.cgtech-band-card--photo::before{content:"" !important;position:absolute;inset:0;z-index:0;background:linear-gradient(120deg,rgba(11,26,120,0.90) 0%,rgba(13,31,148,0.78) 50%,rgba(21,24,57,0.80) 100%);}
.cgtech-band-card--photo > *{position:relative;z-index:1;}
.cgtech-band-card--photo .cgtech-band-navy__body p{color:rgba(255,255,255,.94) !important;text-shadow:0 1px 12px rgba(11,26,120,.45);}

/* ============================================================
   CGTECH-DOTTAP-v1 - touch-friendly carousel dots.
   The dots stay 9px visually; an invisible pseudo-element
   carries the touch area. The container gap grows to 12px so
   each target extends exactly 6px on every side and neighbours
   tile without overlapping (an overlapping target would make
   the wrong slide fire). Triggered by a coarse pointer OR the
   820px mobile breakpoint, so it still applies on a device that
   does not report a pointer type. 12px is deliberate: 16px
   pushed the 32-dot row set onto a fourth row (+40px tall),
   while 12px keeps the original three rows for +7px.
   ============================================================ */
@media (pointer: coarse), (max-width: 820px) {
  .cgtech-carousel__dots { gap: 12px !important; }
  .cgtech-carousel__dot { position: relative; }
  .cgtech-carousel__dot::after {
    content: "" !important;
    position: absolute;
    top: -6px;
    right: -6px;
    bottom: -6px;
    left: -6px;
    background: none;
    border: 0;
  }
}
/* ============================================================
   CGTECH-CAROUSELCOUNT-v1 - mobile carousel nav.
   32 slides means 32 dots, which wrap into rows on a phone and
   push the next arrow out of line. Under 820px the dots are
   replaced with a "2 of 30" counter between the arrows, in one
   centred row. Swipe still works. Desktop keeps the dots and
   never shows the counter. tabular-nums + min-width stop the
   arrows shifting as the numbers change width.
   ============================================================ */
.cgtech-carousel__count{
  display:none;
  font-family:var(--font-body);
  font-size:14px;
  font-weight:600;
  color:var(--cg-navy);
  letter-spacing:.05em;
  font-variant-numeric:tabular-nums;
  min-width:76px;
  text-align:center;
}
@media (max-width: 820px){
  .cgtech-carousel__nav .cgtech-carousel__dots{ display:none !important; }
  .cgtech-carousel__count{ display:inline-block; }
  .cgtech-carousel__nav{ flex-wrap:nowrap !important; gap:14px !important; }
}
/* CGTECH-STORYICON-v1 - solution icon in story card avatar box */
.pc-logo--icon i{ font-size:19px; line-height:1; }

/* ============================================================
   CGTECH-STORYHERO-GRAD-v1 - story page hero background.
   Brand blues gradient replaces the per-story photo: sky and
   blue radial glows over the deep navy diagonal, the same
   recipe as the grid CTA bands. The ::after photo overlay is
   switched off because there is no photo to knock back.
   ============================================================ */
.cgtech-story-hero.cgtech-hero-navy::before{
  background-image:
    radial-gradient(1100px 420px at 84% -10%, rgba(79,142,232,.32), transparent 60%),
    radial-gradient(900px 520px at 4% 118%, rgba(17,41,185,.40), transparent 55%),
    linear-gradient(135deg, #161a42 0%, #10122e 100%) !important;
  background-size: auto !important;
  filter: none !important;
  animation: none !important;
}
.cgtech-story-hero.cgtech-hero-navy::after{ background: none !important; }
/* CGTECH-STORYHERO-PAD-v1 - lift hero copy to match the /success-stories/ landing hero (eyebrow ~150px from section top) */
.cgtech-story-hero .cgtech-story-hero__pad{ padding-top:0 !important; padding-bottom:56px !important; }

/* CGTECH-CHIPTAP-v1 - bigger touch area for story filter chips on touch/mobile; visual size unchanged (invisible padding, chips keep their gap) */
@media (pointer: coarse), (max-width: 820px) {
  .cgtech-storygrid__chip{ position:relative; }
  .cgtech-storygrid__chip::after{ content:""; position:absolute; top:-5px; right:-4px; bottom:-5px; left:-4px; }
}

/* ============================================================
   CGTECH-FOOTERCURSOR-v1 - footer link hover accent.
   A static CG orange bar (a small, non-blinking cousin of the
   hero cursor) fades in on the left of a footer link on hover,
   spanning the link's full height including wrapped lines.
   ============================================================ */
.cgtech-footer .elementor-icon-list-item > a{ position:relative; }
.cgtech-footer .elementor-icon-list-item > a::before{
  content:"";
  position:absolute;
  left:-11px;
  top:1px;
  bottom:1px;
  width:3px;
  border-radius:2px;
  background:var(--cg-orange);
  opacity:0;
  transition:opacity .18s ease;
}
.cgtech-footer .elementor-icon-list-item > a:hover::before,
.cgtech-footer .elementor-icon-list-item > a:focus-visible::before{ opacity:1; }
/* ============================================================
   CGTECH-THERO-BTNS-MOBILE-v1 - tech/platform/product hero
   buttons on phones. Same treatment as the sol-hero fix: the
   CTA row stacks, both buttons full width, equal 48px height,
   centred labels. Covers .cgtech-thero__cta (Technologies
   platform + product pages), which the sol-hero rule missed.
   ============================================================ */
@media (max-width: 820px) {
  .cgtech-thero__cta {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    align-self: stretch !important;
    width: 100% !important;
    gap: 12px !important;
  }
  .cgtech-thero__cta > .elementor-element,
  .cgtech-thero__cta .elementor-widget-container,
  .cgtech-thero__cta .elementor-button-wrapper { width: 100% !important; }
  .cgtech-thero__cta .elementor-button,
  .cgtech-thero__cta a.cgtech-btn {
    display: flex !important;
    width: 100% !important;
    justify-content: center !important;
    align-items: center !important;
    min-height: 48px !important;
    box-sizing: border-box !important;
  }
}
/* ============================================================
   CGTECH-THERO-RAIL-v1 - Technologies hero on the 16px rail.
   The thero copy/visual columns carry their own 10px padding
   on top of the section's 16px mobile gutter, pushing hero
   content to 26px while the rest of the site sits at 16px.
   Zero the inner copies on phones (same pattern as GUTTER-v1).
   ============================================================ */
@media (max-width: 600px) {
  .cgtech-thero .cgtech-thero__copy,
  .cgtech-thero .cgtech-thero__visual {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}
/* ============================================================
   CGTECH-POST-TOOLCTA-v1 - estimator panel card inside a blog
   post body. The article typography rules on
   .cgtech-post__body-inner (h2/p/a sizes and margins) must not
   restyle the card; re-assert the card's own styles at higher
   specificity.
   ============================================================ */
.cgtech-post__body-inner .cgtech-toolcta__chip{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px}
.cgtech-post__body-inner .cgtech-toolcta__title{font-family:var(--font-heading);font-size:26px;font-weight:600;letter-spacing:-.01em;color:var(--cg-navy,#151839);margin:0 0 6px;line-height:1.25}
.cgtech-post__body-inner .cgtech-toolcta__sub{font-size:15.5px;line-height:1.55;color:var(--mid-grey,#4B5563);margin:0;max-width:56ch}
.cgtech-post__body-inner .cgtech-toolcta__micro{font-size:12.5px;line-height:1.5;color:var(--mid-grey,#4B5563);margin:12px 0 0}
.cgtech-post__body-inner a.cgtech-toolcta__btn{text-decoration:none !important;color:#fff !important;margin-top:18px}
.cgtech-post__body-inner .cgtech-toolcta__rcap{font-size:10.5px;margin:0}
.cgtech-post__body-inner .cgtech-toolcta__lab{font-size:12.5px}
/* CGTECH-POST-AUTHOR-v1 - author byline in the blog post hero meta row */
.cgtech-post__author{font-weight:600}

/* ===== CGTECH-PLATBENTO-TOOLS v1: specialist tool tiles under the vendor bento ===== */
.cgtech-platbento__tools{ grid-column:1 / -1; display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.cgtech-platbento__tool .cgtech-platbento__name{ font-size:19px; }
.cgtech-platbento__ticon{ display:flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:12px; background:#EEF2FB; color:var(--cg-blue,#1129b9); font-size:18px; margin-bottom:14px; }
.cgtech-platbento--sharegate::before{ background:#151839; }
.cgtech-platbento--avepoint::before{ background:#4F8EE8; }
.cgtech-platbento--docusign::before{ background:#EA5B38; }
@media (max-width:900px){ .cgtech-platbento__tools{ grid-template-columns:1fr; } }
.cgtech-platbento .cgtech-platbento__card .cgtech-platbento__mark{ height:34px !important; max-height:34px !important; width:34px !important; max-width:34px !important; }

/* ===== CGTECH-RELATED-CARDS v1 (2026-08-06) =====
   Richer "More insights" cards on single posts, plus a guard so a post with no
   featured image can never collapse either card layout. */
.cgtech-insight-card__txt{ flex:1 1 auto !important; }
.cgtech-insight-card__cat{ color:var(--cg-blue,#1129b9); font-family:var(--font-body); font-size:11px; font-weight:600; letter-spacing:0.06em; text-transform:uppercase; }
.cgtech-insight-card__excerpt{ color:#444a63; font-family:var(--font-body); font-size:14px; line-height:1.55; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.cgtech-insight-card__foot{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:auto; padding-top:14px; }
.cgtech-insight-card__foot .cgtech-insight-card__date{ margin-top:0; }
.cgtech-insight-card__more{ color:var(--cg-orange,#EA5B38); font-family:var(--font-body); font-weight:600; font-size:14px; white-space:nowrap; }
.cgtech-insight-card:hover .cgtech-insight-card__more{ text-decoration:underline; }
.cgtech-insights-grid--related .cgtech-card{ background:#fff !important; border:1px solid rgba(17,41,185,0.08) !important; box-shadow:0 4px 18px rgba(21,24,57,0.05) !important; }
.cgtech-insights-grid--related{ gap:24px !important; }
/* no featured image: show a brand bar instead of an empty picture well */
.cgtech-insight-card--noimg::before{ content:''; display:block; height:6px; background:linear-gradient(90deg,var(--cg-blue,#1129B9),var(--cg-sky,#4F8EE8)); }
.cgtech-insights-home__card--noimg{ grid-template-columns:1fr !important; }
@media(max-width:782px){ .cgtech-insights-home__card--noimg{ grid-template-columns:1fr !important; } }
/* ============================================================
   CGTECH-MOBILE-FORM-v1 (2026-08-06) - Dynamics 365 enquiry form on phones
   The embedded form ships fixed inline widths (outer table 600px, column
   290px) that never adapt, so on a phone it rendered ~244px wide inside a
   390px screen with a large empty gutter. Fields were also 14px, which makes
   iOS Safari zoom the page the moment someone taps one, and 30px tall against
   Apple's 44px minimum. Scoped to .marketingForm so no other table is touched.
   ============================================================ */
@media (max-width: 1024px) {
  /* 16px is the threshold below which iOS zooms on focus. Covers tablets too. */
  .marketingForm input[type="text"],
  .marketingForm input[type="email"],
  .marketingForm input[type="tel"],
  .marketingForm input[type="number"],
  .marketingForm textarea,
  .marketingForm select { font-size: 16px !important; }
}
@media (max-width: 820px) {
  /* stop the fixed desktop widths from squeezing the form */
  .marketingForm table,
  .marketingForm tbody,
  .marketingForm tr,
  .marketingForm th,
  .marketingForm td { display: block !important; width: 100% !important; max-width: 100% !important; }
  .marketingForm .columnContainer { min-width: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }
  /* every nested cell adds its own side padding, which left the fields uneven */
  .marketingForm th, .marketingForm td { padding-left: 0 !important; padding-right: 0 !important; }
  .marketingForm .submitButtonWrapper { padding-left: 0 !important; padding-right: 0 !important; }
  .marketingForm .textFormFieldBlock { padding: 8px 0 !important; }
  .marketingForm { max-width: 100% !important; }

  .marketingForm input[type="text"],
  .marketingForm input[type="email"],
  .marketingForm input[type="tel"],
  .marketingForm input[type="number"],
  .marketingForm textarea,
  .marketingForm select {
    width: 100% !important; max-width: 100% !important; box-sizing: border-box !important;
    min-height: 48px !important; padding: 12px 14px !important;
    border-radius: 8px !important; line-height: 1.4 !important;
  }
  .marketingForm textarea { min-height: 132px !important; }
  .marketingForm label { display: block !important; margin-bottom: 6px !important; }

  /* match the site's primary call to action instead of the Dynamics default */
  .marketingForm .submitButton {
    width: 100% !important; min-height: 48px !important;
    font-size: 16px !important; font-weight: 600 !important;
    border-radius: 8px !important; border: 0 !important;
    background: var(--cg-orange, #EA5B38) !important; color: #FFFFFF !important;
  }

  /* the form card carries 36px side padding from desktop, which cost the fields
     ~40px of usable width on a phone. Trim it so the inputs breathe. */
  .cgtech-connect__form-wrap { padding-left: 18px !important; padding-right: 18px !important; }
}
/* ============================================================
   CGTECH-CARD-LINK-v1 (2026-08-06) - home solution cards
   "Learn more" was a 76x14px tap target sitting on a card that was not
   itself clickable, and it was blue while the insights cards on the same
   page use orange. This gives it a 44px target, matches the orange
   read-more treatment, and stretches the hit area across the whole card.
   Safe because each of these cards contains exactly one link, and the
   class is used only on the home page.
   ============================================================ */
.cgtech-capability-card { position: relative; }
/* the button widget is position:relative by default, which would trap the
   stretched hit area inside it, so let the card be the positioned ancestor */
.cgtech-capability-card .cgtech-capability-card__link { position: static !important; }
.cgtech-capability-card a.elementor-button {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 44px !important;
  padding: 10px 0 !important;
  color: var(--cg-orange, #EA5B38) !important;
  font-weight: 600 !important;
}
/* CGTECH-CAPCARD-NOARROW-v1 above kills this pseudo-element with !important,
   so these declarations have to match it to win. Empty content keeps the arrow
   gone, which is what that rule wanted, and doubles as the stretched hit area. */
.cgtech-capability-card__link .elementor-button::after,
.cgtech-capability-card a.elementor-button::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  margin-left: 0 !important;
}
.cgtech-capability-card:hover a.elementor-button { text-decoration: underline; }
/* ============================================================
   CGTECH-MOBILE-POLISH-v1 (2026-08-06)
   1. Story preview links matched to the orange read-more used on the
      insights and solution cards, and given a 44px tap target on phones.
      Kept display:block on purpose - making it a flex container would
      split the label and its arrow span into separate flex items.
   2. Inner-page heroes were filling the whole phone screen (up to 105%
      of an iPhone viewport), so nothing hinted at content below. Padding
      drops from 140/80 to the home hero's 112/44, which still leaves the
      eyebrow clear of the 89px fixed header.
      The two-class selector is deliberate: an existing
      body.parent-pageid-126 rule sets padding-bottom:88px !important, so
      this has to match its specificity and win on source order.
   ============================================================ */
.cgtech-proof-card .pc-more { color: var(--cg-orange, #EA5B38) !important; }
@media (max-width: 820px) {
  .cgtech-proof-card .pc-more { min-height: 44px !important; }

  body .cgtech-hero-navy.cgtech-section--sol-hero,
  body .cgtech-hero-navy.cgtech-section--connect-hero {
    padding-top: 112px !important;
    padding-bottom: 44px !important;
  }
}

/* CGTECH-INDSOL-CROSSLINK-v1 (2026-08-07): related-pages block at the foot of the
   industry-by-solution pages. Sits inside the Elementor content, so it inherits the
   page container width and only needs its own spacing and list styling. */
.cgtech-indsol{ max-width:1200px; margin:0 auto; padding:48px 24px 72px; }
.cgtech-indsol__h{ font-family:'Barlow',sans-serif; font-weight:700; font-size:clamp(22px,2.2vw,28px); line-height:1.2; color:#151839; margin:0 0 12px; text-wrap:balance; }
.cgtech-indsol__p{ font-size:17px; line-height:1.6; color:#4a4d63; margin:0 0 20px; max-width:70ch; }
.cgtech-indsol__p a{ color:#1129B9; text-decoration:underline; text-underline-offset:2px; }
.cgtech-indsol__list{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:12px; }
.cgtech-indsol__list li{ margin:0; }
.cgtech-indsol__list a{ display:inline-block; padding:11px 18px; border:1px solid #d7d9e6; border-radius:6px; background:#fff; color:#151839; font-size:16px; font-weight:600; text-decoration:none; transition:border-color .18s ease, color .18s ease; }
.cgtech-indsol__list a:hover, .cgtech-indsol__list a:focus-visible{ border-color:#1129B9; color:#1129B9; }
@media (max-width:640px){ .cgtech-indsol{ padding:32px 18px 56px; } .cgtech-indsol__list{ flex-direction:column; } .cgtech-indsol__list a{ display:block; } }


/* CGTECH-CAPGRID-RULES-v1 (2026-08-07)
   The card dividers were 1px flex gaps letting the grid background show through.
   Card width was calc(50% - .5px), so both card edges landed on a fraction of a
   pixel and the browser rounded them outward over the gap. The vertical divider
   survived on some pages and vanished on others depending on how wide that page's
   section happened to be. Real borders draw the same line at every width. */
body.parent-pageid-126 .cgtech-cap-grid{ background:#FFFFFF !important; gap:0 !important; }
body.parent-pageid-126 .cgtech-cap-grid > .cgtech-cap-card{ width:50% !important; }
body.parent-pageid-126 .cgtech-cap-grid > .cgtech-cap-card:nth-child(odd):not(:last-child){ border-right:1px solid var(--rule,#E5E7EB) !important; }
body.parent-pageid-126 .cgtech-cap-grid > .cgtech-cap-card:not(:nth-child(-n+2)){ border-top:1px solid var(--rule,#E5E7EB) !important; }
@media (max-width:900px){
  body.parent-pageid-126 .cgtech-cap-grid > .cgtech-cap-card{ width:100% !important; }
  body.parent-pageid-126 .cgtech-cap-grid > .cgtech-cap-card:nth-child(odd):not(:last-child){ border-right:0 !important; }
  body.parent-pageid-126 .cgtech-cap-grid > .cgtech-cap-card:not(:first-child){ border-top:1px solid var(--rule,#E5E7EB) !important; }
}

/* ===== CGTECH-CONSOLE2-RESPONSIVE-v1 (2026-08-07) =====
   1. The original .cgtech-console2 rule set overflow:hidden WITHOUT !important while every
      other declaration in it had one. Elementor's own container styles won, so the card
      never clipped its children and the rounded corners were painted over.
   2. The 4 column grid had no responsive handling at all, so on a phone the columns fell to
      about 65px, mono text broke mid word, rows pushed past the card edge and the whole page
      picked up a horizontal scroll (which is what put white bands beside the navy sections).
      Below 760px the console scrolls on its own axis instead, matching .cgtech-console. */
.cgtech-console2{ overflow:hidden !important; }
@media (max-width:760px){
  .cgtech-console2{ overflow-x:auto !important; overflow-y:hidden !important; -webkit-overflow-scrolling:touch;
    max-width:100% !important; min-width:0 !important; }
  .cgtech-console2 > .e-con-inner,
  .cgtech-console2__bar,
  .cgtech-console2__row,
  .cgtech-console2__row > .e-con-inner,
  .cgtech-console2__foot,
  .cgtech-console2__foot > .e-con-inner{ min-width:520px !important; }
  .cgtech-console2__c p{ word-break:normal !important; overflow-wrap:normal !important; hyphens:none !important; }
}
