/*
 * TDG Wide Layout Layer
 * Keeps every redesigned page edge-to-edge while preserving readable content.
 */

html,
body.tdgx-redesign-page {
  width: 100%;
  max-width: none;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: clip;
}

@supports not (overflow: clip) {
  body.tdgx-redesign-page { overflow-x: hidden; }
}

body.tdgx-redesign-page .tdgx-canvas {
  position: relative;
  width: 100vw;
  max-width: none;
  min-height: 100vh;
  margin-inline: calc(50% - 50vw);
  padding: 0;
  overflow: clip;
  isolation: isolate;
}

/* Defeat common theme and page-builder content-width constraints. */
body.tdgx-redesign-page .tdgx-canvas,
body.tdgx-redesign-page .tdgx-canvas > header,
body.tdgx-redesign-page .tdgx-canvas > main,
body.tdgx-redesign-page .tdgx-canvas > footer,
body.tdgx-redesign-page .tdgx-canvas section {
  width: 100%;
  max-width: none;
}

body.tdgx-redesign-page :where(
  .site,
  .site-content,
  .content-area,
  .site-main,
  .entry,
  .entry-content,
  .wp-site-blocks,
  .wp-block-post-content,
  .elementor,
  .elementor-section-wrap,
  .elementor-widget-wrap,
  .elementor-widget-shortcode,
  .elementor-shortcode
) {
  max-width: none;
}

body.tdgx-redesign-page :where(
  .entry-content,
  .wp-block-post-content,
  .elementor-widget-shortcode,
  .elementor-shortcode
) {
  margin: 0;
  padding: 0;
}

/* Screen-wide content frame: fluid from mobile through 2K displays. */
body.tdgx-redesign-page .tdgx-canvas .shell {
  --tdgx-gutter: clamp(18px, 4.5vw, 82px);
  width: min(calc(100% - (var(--tdgx-gutter) * 2)), 2200px);
  max-width: 2200px;
  margin-inline: auto;
}

/* Preserve comfortable reading measure even on wide displays. */
body.tdgx-redesign-page .tdgx-canvas :where(
  .lede,
  .case-body p,
  .contact-aside p,
  .card-excerpt,
  .leadership-copy p,
  .story-copy p,
  .mission-copy p
) {
  text-wrap: pretty;
}

body.tdgx-redesign-page .tdgx-canvas img {
  image-rendering: auto;
  backface-visibility: hidden;
}

body.tdgx-redesign-page .tdgx-canvas .brand-mark {
  width: clamp(116px, 7.1vw, 150px);
  height: auto;
  max-height: 62px;
  object-fit: contain;
  object-position: left center;
}

/* Scale compositions rather than simply stretching them. */
@media (min-width: 1500px) {
  body.tdgx-redesign-page .tdgx-canvas {
    font-size: 1.035em;
  }

  body.tdgx-redesign-page .tdgx-canvas .nav {
    min-height: 86px;
  }

  body.tdgx-redesign-page .tdgx-canvas :where(
    .hero-grid,
    .about-hero-grid,
    .contact-hero-grid
  ) {
    column-gap: clamp(84px, 8vw, 180px);
  }

  body.tdgx-redesign-page .tdgx-canvas .work-grid {
    gap: 28px;
  }

  body.tdgx-redesign-page .tdgx-canvas .case-card {
    min-height: 620px;
  }
}

@media (min-width: 2100px) {
  body.tdgx-redesign-page .tdgx-canvas .shell {
    --tdgx-gutter: clamp(72px, 5vw, 130px);
  }

  body.tdgx-redesign-page .tdgx-canvas {
    font-size: 1.075em;
  }
}

@media (max-width: 760px) {
  body.tdgx-redesign-page .tdgx-canvas .shell {
    --tdgx-gutter: 16px;
    width: calc(100% - (var(--tdgx-gutter) * 2));
  }

  body.tdgx-redesign-page .tdgx-canvas .brand-mark {
    width: 108px;
    max-height: 52px;
  }
}


/* Version 1.4: header tagline and contrast corrections. */
body.tdgx-redesign-page .tdgx-canvas .brand {
  display: inline-flex !important;
  align-items: center !important;
  gap: clamp(10px, 1.2vw, 18px) !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  overflow: visible !important;
  color: #ffffff !important;
}

body.tdgx-redesign-page .tdgx-canvas .brand-tagline {
  display: inline-block;
  max-width: 142px;
  padding-left: clamp(10px, 1vw, 16px);
  border-left: 1px solid rgba(255,255,255,.22);
  color: rgba(255,255,255,.76) !important;
  -webkit-text-fill-color: rgba(255,255,255,.76);
  font-size: clamp(8px, .62vw, 10px);
  line-height: 1.35;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
  text-wrap: balance;
}

/* Keep important links readable on light sections, regardless of theme link rules. */
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="home"] .hero .text-link,
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="home"] .contact-section .email-link,
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="capabilities"] .hero .text-link,
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="insights"] .contact-section .email-link,
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="about"] .about-hero .text-link,
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="about"] .contact-section .email-link {
  color: #100d1a !important;
  -webkit-text-fill-color: #100d1a;
  border-color: rgba(49,39,82,.42) !important;
}

body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="home"] .hero .text-link.secondary,
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="about"] .about-hero .text-link.secondary {
  color: #514b61 !important;
  -webkit-text-fill-color: #514b61;
}

body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="capabilities"] .cap-index,
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="capabilities"] .cap-index a,
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="capabilities"] .cap-index a span {
  color: #100d1a !important;
  -webkit-text-fill-color: #100d1a;
}

body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="capabilities"] .cap-index-head {
  color: #625e70 !important;
  -webkit-text-fill-color: #625e70;
}

body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="capabilities"] .cap-index small {
  color: #5d4eb1 !important;
  -webkit-text-fill-color: #5d4eb1;
}

body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="about"] .about-index .index-link {
  color: #514b61 !important;
  -webkit-text-fill-color: #514b61;
}

body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="about"] .about-index .index-link span {
  color: #5d4eb1 !important;
  -webkit-text-fill-color: #5d4eb1;
}

body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="about"] .about-index .index-link:hover,
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="about"] .about-index .index-link:focus-visible {
  color: #100d1a !important;
  -webkit-text-fill-color: #100d1a;
}

@media (max-width: 760px) {
  body.tdgx-redesign-page .tdgx-canvas .brand {
    gap: 9px !important;
  }

  body.tdgx-redesign-page .tdgx-canvas .brand-tagline {
    max-width: 88px;
    padding-left: 9px;
    font-size: 7.5px;
    letter-spacing: .1em;
  }
}

@media (max-width: 390px) {
  body.tdgx-redesign-page .tdgx-canvas .brand-tagline {
    max-width: 72px;
    font-size: 7px;
  }
}

/* Version 1.5: accessible subnavigation and theme-proof contrast. */
body.tdgx-redesign-page .tdgx-canvas .nav-group {
  position: relative;
  display: flex;
  align-items: center;
}

body.tdgx-redesign-page .tdgx-canvas .nav-group-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

body.tdgx-redesign-page .tdgx-canvas .nav-group-link::before {
  content: "";
}

body.tdgx-redesign-page .tdgx-canvas .nav-group-link::after {
  margin-left: 2px;
}

body.tdgx-redesign-page .tdgx-canvas .nav-submenu {
  position: absolute;
  top: calc(100% + 12px);
  left: 50%;
  z-index: 120;
  display: grid;
  min-width: 190px;
  padding: 10px;
  border: 1px solid rgba(255,255,255,.14);
  background: #171126;
  box-shadow: 0 20px 46px rgba(0,0,0,.28);
  opacity: 0;
  visibility: hidden;
  translate: -50% -6px;
  transition: opacity .2s ease, visibility .2s ease, translate .2s ease;
}

body.tdgx-redesign-page .tdgx-canvas .nav-group:hover .nav-submenu,
body.tdgx-redesign-page .tdgx-canvas .nav-group:focus-within .nav-submenu {
  opacity: 1;
  visibility: visible;
  translate: -50% 0;
}

body.tdgx-redesign-page .tdgx-canvas .nav-submenu a {
  display: block;
  padding: 11px 12px !important;
  border: 0 !important;
  color: rgba(255,255,255,.88) !important;
  -webkit-text-fill-color: rgba(255,255,255,.88) !important;
  white-space: nowrap;
}

body.tdgx-redesign-page .tdgx-canvas .nav-submenu a::after { display: none !important; }
body.tdgx-redesign-page .tdgx-canvas .nav-submenu a:hover,
body.tdgx-redesign-page .tdgx-canvas .nav-submenu a:focus-visible,
body.tdgx-redesign-page .tdgx-canvas .nav-submenu a[aria-current="page"] {
  background: rgba(139,115,216,.16);
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* WordPress themes often apply global white link colors. All light surfaces are reset here. */
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="home"] :is(.hero,.trust-line,#outcomes,#capabilities,#about,#insights,.contact-section) a,
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="capabilities"] :is(.hero,.context-bar,.capability,.section:not(.connection)) a,
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="about"] :is(.about-hero,.about-index,#story,#approach,#focus,#leadership,.about-contact) a,
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="contact"] :is(.contact-hero,.contact-main,.process-section) a,
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="insights"] :is(.insights-hero,.featured-section,.archive-section,.contact-section) a,
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="team"] :is(.team-hero,.team-intro,.team-directory,.contact-section) a {
  color: #100d1a !important;
  -webkit-text-fill-color: #100d1a !important;
}

body.tdgx-redesign-page .tdgx-canvas :is(.direct-email,.email-link,.text-link,.index-link,.cap-index a,.capability-footer a) {
  text-decoration-color: currentColor !important;
}

/* Explicit dark-surface overrides. */
body.tdgx-redesign-page .tdgx-canvas .site-header a,
body.tdgx-redesign-page .tdgx-canvas .site-footer a,
body.tdgx-redesign-page .tdgx-canvas .site-header .nav-group-link {
  color: rgba(255,255,255,.88) !important;
  -webkit-text-fill-color: rgba(255,255,255,.88) !important;
}

body.tdgx-redesign-page .tdgx-canvas .site-header .nav-contact,
body.tdgx-redesign-page .tdgx-canvas .site-header .nav-contact:hover,
body.tdgx-redesign-page .tdgx-canvas .site-header .nav-contact:focus-visible {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="home"] .case-card:not(.alt),
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="home"] .case-card:not(.alt) * {
  color: #f8f7fc;
  -webkit-text-fill-color: currentColor;
}

body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="capabilities"] :is(.connection,.contact-section) a {
  color: #f4f1fb !important;
  -webkit-text-fill-color: #f4f1fb !important;
}

body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="capabilities"] .contact-section .email-link {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="contact"] .routes-section a {
  color: #e1c2f4 !important;
  -webkit-text-fill-color: #e1c2f4 !important;
}

body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="contact"] .direct-email,
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="contact"] .direct-email * {
  color: #100d1a !important;
  -webkit-text-fill-color: #100d1a !important;
}

body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="insights"] .contact-section .email-link,
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="team"] .contact-section .email-link {
  color: #100d1a !important;
  -webkit-text-fill-color: #100d1a !important;
}

body.tdgx-redesign-page .tdgx-canvas :is(.submit-button,.load-button,.category-button.active),
body.tdgx-redesign-page .tdgx-canvas :is(.submit-button,.load-button,.category-button.active) * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body.tdgx-redesign-page .tdgx-canvas input,
body.tdgx-redesign-page .tdgx-canvas textarea,
body.tdgx-redesign-page .tdgx-canvas select,
body.tdgx-redesign-page .tdgx-canvas option {
  color: #100d1a !important;
  -webkit-text-fill-color: #100d1a !important;
}

@media (max-width: 760px) {
  body.tdgx-redesign-page .tdgx-canvas .nav-group {
    display: block;
  }

  body.tdgx-redesign-page .tdgx-canvas .nav-submenu {
    position: static;
    min-width: 0;
    padding: 2px 0 5px 16px;
    border: 0;
    background: transparent;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    translate: none;
  }

  body.tdgx-redesign-page .tdgx-canvas .nav-submenu a {
    padding: 11px 4px !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
    font-size: 13px;
    color: rgba(255,255,255,.72) !important;
    -webkit-text-fill-color: rgba(255,255,255,.72) !important;
  }
}

/* Text contrast safety layer for themes that force global typography colors. */
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="home"] :is(.hero,.trust-line,#outcomes,#capabilities,#about,#insights,.contact-section) :where(h1,h2,h3,h4,h5,h6,blockquote,label,dt,strong),
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="capabilities"] :is(.hero,.context-bar,.capability,.section:not(.connection)) :where(h1,h2,h3,h4,h5,h6,blockquote,label,dt,strong),
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="about"] :is(.about-hero,.about-index,#story,#approach,#focus,#leadership,.about-contact) :where(h1,h2,h3,h4,h5,h6,blockquote,label,dt,strong),
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="contact"] :is(.contact-hero,.contact-main,.process-section) :where(h1,h2,h3,h4,h5,h6,blockquote,label,dt,strong),
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="insights"] :is(.insights-hero,.featured-section,.archive-section,.contact-section) :where(h1,h2,h3,h4,h5,h6,blockquote,label,dt,strong),
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="team"] :is(.team-hero,.team-intro,.team-directory,.contact-section) :where(h1,h2,h3,h4,h5,h6,blockquote,label,dt,strong) {
  color: #100d1a !important;
  -webkit-text-fill-color: #100d1a !important;
}

body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="home"] :is(.hero,.trust-line,#outcomes,#capabilities,#about,#insights,.contact-section) :where(p,li,dd),
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="capabilities"] :is(.hero,.context-bar,.capability,.section:not(.connection)) :where(p,li,dd),
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="about"] :is(.about-hero,.about-index,#story,#approach,#focus,#leadership,.about-contact) :where(p,li,dd),
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="contact"] :is(.contact-hero,.contact-main,.process-section) :where(p,li,dd),
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="insights"] :is(.insights-hero,.featured-section,.archive-section,.contact-section) :where(p,li,dd),
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="team"] :is(.team-hero,.team-intro,.team-directory,.contact-section) :where(p,li,dd) {
  color: #625e70 !important;
  -webkit-text-fill-color: #625e70 !important;
}

body.tdgx-redesign-page .tdgx-canvas :is(.eyebrow,.post-meta,.profile-role,.profile-fact dt,.cap-number,.outcome-label,.process-number,.step,.number) {
  color: #5d4eb1 !important;
  -webkit-text-fill-color: #5d4eb1 !important;
}

/* Reassert typography on dark components nested inside light sections. */
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="home"] .case-card:not(.alt) :where(h1,h2,h3,h4,h5,h6,p,li,span,strong,small),
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="capabilities"] :is(.outcome-panel,.connection,.contact-section) :where(h1,h2,h3,h4,h5,h6,p,li,span,strong,small,blockquote),
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="about"] :is(.about-statement,.mission-band,.evidence-section) :where(h1,h2,h3,h4,h5,h6,p,li,span,strong,small,blockquote),
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="contact"] .routes-section :where(h1,h2,h3,h4,h5,h6,p,li,span,strong,small,blockquote),
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="insights"] .editorial-section :where(h1,h2,h3,h4,h5,h6,p,li,span,strong,small,blockquote),
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="team"] :is(.team-statement,.team-culture) :where(h1,h2,h3,h4,h5,h6,p,li,span,strong,small,blockquote) {
  color: #f4f1fb !important;
  -webkit-text-fill-color: #f4f1fb !important;
}

body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="capabilities"] :is(.outcome-panel,.connection,.contact-section) :where(p,small,span),
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="about"] :is(.about-statement,.mission-band,.evidence-section) :where(p,small,span),
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="contact"] .routes-section :where(p,small,span),
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="insights"] .editorial-section :where(p,small,span),
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="team"] :is(.team-statement,.team-culture) :where(p,small,span) {
  color: rgba(244,241,251,.74) !important;
  -webkit-text-fill-color: rgba(244,241,251,.74) !important;
}

body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="capabilities"] :is(.connection,.contact-section) .eyebrow,
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="about"] :is(.mission-band,.evidence-section) .eyebrow,
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="contact"] .routes-section .eyebrow,
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="insights"] .editorial-section .eyebrow,
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="team"] .team-culture .eyebrow {
  color: #d6b0ef !important;
  -webkit-text-fill-color: #d6b0ef !important;
}

/* Version 1.6: sitewide card and image-panel readability audit. */
/* Dark cards and visual panels always use high-contrast white typography. */
body.tdgx-redesign-page .tdgx-canvas :is(
  .about-statement,
  .team-statement,
  .case-card:not(.alt),
  .outcome-panel,
  .system-map,
  .system-node,
  .focus-visual,
  .leadership-visual,
  .insight-visual,
  .featured-media,
  .card-media,
  .routes-section .route-row,
  .team-culture .culture-list article
) :where(h1,h2,h3,h4,h5,h6,p,li,span,strong,small,blockquote,dt,dd,a) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-shadow: 0 1px 2px rgba(0,0,0,.22);
}

/* Supporting text on dark cards stays bright enough without competing with headings. */
body.tdgx-redesign-page .tdgx-canvas :is(
  .about-statement,
  .team-statement,
  .case-card:not(.alt),
  .outcome-panel,
  .system-map,
  .system-node,
  .routes-section .route-row,
  .team-culture .culture-list article
) :where(p,small,dd) {
  color: rgba(255,255,255,.88) !important;
  -webkit-text-fill-color: rgba(255,255,255,.88) !important;
}

body.tdgx-redesign-page .tdgx-canvas .about-statement .statement-label,
body.tdgx-redesign-page .tdgx-canvas .about-statement .statement-label span,
body.tdgx-redesign-page .tdgx-canvas .about-statement .statement-copy blockquote,
body.tdgx-redesign-page .tdgx-canvas .about-statement .statement-copy p {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}

/* Text placed directly over photos receives a dark readability scrim. */
body.tdgx-redesign-page .tdgx-canvas :is(.featured-media,.card-media,.profile-media) {
  isolation: isolate;
}

body.tdgx-redesign-page .tdgx-canvas :is(.featured-media,.card-media)[data-has-overlay="true"]::before,
body.tdgx-redesign-page .tdgx-canvas .profile-media .media-overlay::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg,rgba(13,10,24,.08),rgba(13,10,24,.78));
  pointer-events: none;
}

body.tdgx-redesign-page .tdgx-canvas :is(.featured-media,.card-media,.profile-media) :where(.overlay-copy,.media-caption,.profile-initials) {
  position: relative;
  z-index: 2;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-shadow: 0 2px 8px rgba(0,0,0,.45);
}

/* Light cards are explicitly reset to dark text so theme-level white typography cannot leak in. */
body.tdgx-redesign-page .tdgx-canvas :is(
  .complexity-map,
  .case-card.alt,
  .quote-panel,
  .insight-copy,
  .service-card,
  .working-card,
  .leadership-copy,
  .contact-form,
  .process-item,
  .featured-copy,
  .post-card .card-body,
  .team-card .profile-body
) :where(h1,h2,h3,h4,h5,h6,blockquote,strong,dt,label,a) {
  color: #100d1a !important;
  -webkit-text-fill-color: #100d1a !important;
  text-shadow: none !important;
}

body.tdgx-redesign-page .tdgx-canvas :is(
  .complexity-map,
  .case-card.alt,
  .quote-panel,
  .insight-copy,
  .service-card,
  .working-card,
  .leadership-copy,
  .contact-form,
  .process-item,
  .featured-copy,
  .post-card .card-body,
  .team-card .profile-body
) :where(p,li,dd,small,span) {
  color: #514b61 !important;
  -webkit-text-fill-color: #514b61 !important;
  text-shadow: none !important;
}

/* Preserve branded labels on light cards while keeping WCAG-friendly contrast. */
body.tdgx-redesign-page .tdgx-canvas :is(
  .service-card,
  .working-card,
  .post-card .card-body,
  .team-card .profile-body
) :is(.eyebrow,.post-meta,.profile-role,.profile-fact dt,.step,small) {
  color: #51419f !important;
  -webkit-text-fill-color: #51419f !important;
}


/* Version 1.7: targeted visual contrast and composition corrections. */
/* Homepage: raise and enlarge the hero while retaining responsive spacing. */
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="home"] .hero {
  padding-top: clamp(42px, 5.2vw, 82px) !important;
  padding-bottom: clamp(54px, 6vw, 76px) !important;
}
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="home"] .hero .display {
  max-width: 11.5ch !important;
  font-size: clamp(4rem, 8.9vw, 8.4rem) !important;
  line-height: .91 !important;
}

/* Homepage operating model: the dark center node must stay white. */
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="home"] .complexity-map .node-core,
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="home"] .complexity-map .node-core * {
  background: linear-gradient(145deg, #0d0a18, #281747) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
  text-shadow: 0 1px 2px rgba(0,0,0,.28) !important;
}

/* Homepage primary purple outcome card: all copy is deliberately white. */
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="home"] #outcomes .case-card:not(.alt),
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="home"] #outcomes .case-card:not(.alt) :where(h1,h2,h3,h4,h5,h6,p,span,strong,small) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
  text-shadow: none !important;
}
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="home"] #outcomes .case-card:not(.alt) .metrics {
  border-top-color: rgba(255,255,255,.34) !important;
}

/* Homepage experience section: section label and heading are white. */
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="home"] .evidence-section :is(.eyebrow,.section-title) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="home"] .evidence-section :is(.lede,.evidence-item p) {
  color: rgba(255,255,255,.86) !important;
  -webkit-text-fill-color: rgba(255,255,255,.86) !important;
}

/* Capabilities: each practice card uses a dark branded surface with white text. */
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="capabilities"] .outcome-panel,
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="capabilities"] .service-card {
  background: linear-gradient(145deg, #0d0a18 0%, #1b1230 62%, #2b1849 100%) !important;
  border-color: rgba(255,255,255,.14) !important;
  color: #ffffff !important;
  box-shadow: 0 18px 44px rgba(13,10,24,.12);
}
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="capabilities"] .service-card:hover {
  background: linear-gradient(145deg, #151022 0%, #25163e 62%, #3a205f 100%) !important;
  border-color: rgba(196,119,231,.48) !important;
}
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="capabilities"] :is(.outcome-panel,.service-card) :where(h1,h2,h3,h4,h5,h6,p,span,strong,small) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
  text-shadow: none !important;
}
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="capabilities"] :is(.outcome-panel,.service-card) :is(.outcome-label,small) {
  color: #d9baf0 !important;
  -webkit-text-fill-color: #d9baf0 !important;
}
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="capabilities"] :is(.outcome-panel,.service-card) p {
  color: rgba(255,255,255,.88) !important;
  -webkit-text-fill-color: rgba(255,255,255,.88) !important;
}

/* About: purpose panel and integrated delivery model use dark purple with white typography. */
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="about"] .about-statement,
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="about"] .about-statement :where(h1,h2,h3,h4,h5,h6,p,span,strong,small,blockquote) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="about"] .focus-visual {
  background: linear-gradient(145deg, #0d0a18 0%, #1b1230 58%, #2f1a50 100%) !important;
  border-color: rgba(255,255,255,.14) !important;
  box-shadow: 0 22px 60px rgba(13,10,24,.16);
}
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="about"] .focus-orbit {
  border-color: rgba(255,255,255,.30) !important;
  box-shadow: 0 0 0 55px rgba(139,115,216,.08), 0 0 0 110px rgba(82,97,220,.045) !important;
}
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="about"] .focus-orbit::before {
  border-color: rgba(255,255,255,.26) !important;
}
body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="about"] .focus-visual .orbit-label {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
  text-shadow: 0 2px 8px rgba(0,0,0,.38) !important;
}

@media (max-width: 760px) {
  body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="home"] .hero {
    padding-top: 38px !important;
  }
  body.tdgx-redesign-page .tdgx-canvas[data-tdg-page="home"] .hero .display {
    font-size: clamp(3.45rem, 15vw, 5.45rem) !important;
  }
}
