/* FULL-UPGRADE-101
   The final visual mother for the reviewed release. It consolidates the
   graphite/network language across the site without replacing the existing
   content, routes, evidence, or client assets. The rules are intentionally
   last in the cascade so the reviewed pages have one coherent surface. */
:root {
  --u101-graphite: #0d0d0f;
  --u101-graphite-2: #171719;
  --u101-graphite-3: #202024;
  --u101-paper: #edf2ee;
  --u101-ink: #182326;
  --u101-white: #f2f5f1;
  --u101-muted: #aebbb7;
  --u101-dim: #7f918f;
  --u101-line: rgba(183, 211, 207, .22);
  --u101-line-bright: rgba(200, 170, 117, .52);
  --u101-signal: #c8aa75;
  --u101-teal: #a6adb1;
  --u101-metal-1: #f7f8f2;
  --u101-metal-2: #abb4b2;
  --u101-metal-3: #5a6767;
  --u101-max: 1440px;
  --u101-ease: cubic-bezier(.2, .74, .2, 1);
}

/* Shared frame */
body.r89-static,
body.r86-page {
  background: var(--u101-graphite);
  color: var(--u101-white);
  font-synthesis: none;
}
body.r89-static a,
body.r86-page a { text-decoration-thickness: .06em; text-underline-offset: .2em; }
body.r89-static :is(a, button, summary):focus-visible,
body.r86-page :is(a, button, summary):focus-visible {
  outline: 2px solid var(--u101-signal);
  outline-offset: 5px;
}
body.r89-static .container,
body.r86-page .container { width: min(var(--u101-max), calc(100% - 96px)); }

/* Navigation: quiet glass, clear hierarchy, one accent line. */
body.r89-static .site-header,
body.r86-page .site-header {
  background: rgba(9, 15, 18, .9) !important;
  border-bottom: 1px solid rgba(200, 170, 117, .3) !important;
  box-shadow: 0 16px 42px rgba(0, 0, 0, .3) !important;
  backdrop-filter: blur(18px) saturate(1.08);
}
body.r89-static .site-header::after,
body.r86-page .site-header::after {
  height: 1px !important;
  opacity: .75 !important;
  background: linear-gradient(90deg, transparent, var(--u101-teal) 36%, var(--u101-signal) 58%, transparent) !important;
}
body.r89-static .purpose-header .mega-nav,
body.r86-page .purpose-header .mega-nav { gap: clamp(17px, 2.15vw, 34px); }
body.r89-static .purpose-header .mega-nav > :is(.i82-case-nav, .r83-service-menu, .nav-direct),
body.r86-page .purpose-header .mega-nav > :is(.i82-case-nav, .r83-service-menu, .nav-direct) { position: relative; }
body.r89-static .purpose-header .mega-nav > :is(.i82-case-nav, .r83-service-menu, .nav-direct)::after,
body.r86-page .purpose-header .mega-nav > :is(.i82-case-nav, .r83-service-menu, .nav-direct)::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 14px;
  height: 2px;
  background: var(--u101-signal);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .28s var(--u101-ease);
}
body.r89-static .purpose-header .mega-nav > :is(.i82-case-nav, .r83-service-menu, .nav-direct):hover::after,
body.r86-page .purpose-header .mega-nav > :is(.i82-case-nav, .r83-service-menu, .nav-direct):hover::after { transform: scaleX(1); }
body.r89-static .purpose-header .mega-nav > .nav-contact-direct,
body.r86-page .purpose-header .mega-nav > .nav-contact-direct {
  border-color: rgba(200, 170, 117, .6) !important;
  border-radius: 999px;
  padding: 11px 24px !important;
}
body.r89-static .purpose-header .mega-nav > .nav-contact-direct::after,
body.r86-page .purpose-header .mega-nav > .nav-contact-direct::after { display: none; }
body.r89-static .r83-service-panel,
body.r89-static .r86-learning-panel,
body.r89-static .r89-research-nav nav,
body.r86-page .r83-service-panel,
body.r86-page .r86-learning-panel,
body.r86-page .r89-research-nav nav {
  background: rgba(16, 27, 31, .98) !important;
  border-color: rgba(178, 185, 190, .42) !important;
  box-shadow: 0 28px 70px rgba(0, 0, 0, .44) !important;
}
body.r89-static .r83-service-panel a:hover,
body.r89-static .r86-learning-panel a:hover,
body.r89-static .r89-research-nav nav a:hover,
body.r86-page .r83-service-panel a:hover,
body.r86-page .r86-learning-panel a:hover,
body.r86-page .r89-research-nav nav a:hover { background: rgba(178, 185, 190, .15) !important; }

/* Homepage hero: preserve the network/3D mark mother and give it the space it
   had in the approved reference. The signal colour is reserved for wayfinding. */
body.r89-static.r86-home .home-v38 { background: var(--u101-graphite); }
body.r89-static.r86-home .revised-hero.home-statement {
  min-height: min(960px, calc(100svh - 84px));
  padding: 24px 0 150px;
  background:
    radial-gradient(circle at 50% 17%, rgba(178, 185, 190, .15), transparent 32%),
    radial-gradient(circle at 75% 70%, rgba(200, 170, 117, .08), transparent 30%),
    var(--u101-graphite) !important;
  border-bottom: 1px solid rgba(178, 185, 190, .32);
}
body.r89-static.r86-home .hero-v2-scene {
  min-height: 320px;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.r89-static.r86-home .hero-v2-environment { opacity: .95; }
body.r89-static.r86-home .hero-platform-network { opacity: .78; mix-blend-mode: screen; }
body.r89-static.r86-home .hero-v2-stage {
  height: 275px !important;
  width: min(1100px, 100%) !important;
  margin: 0 auto 8px !important;
}
body.r89-static.r86-home .hero-v2-canvas { filter: drop-shadow(0 24px 24px rgba(0,0,0,.34)); }
body.r89-static.r86-home .hero-v2-fallback {
  color: var(--u101-metal-1) !important;
  text-shadow: 1px 1px var(--u101-metal-2), 3px 4px var(--u101-metal-3), 12px 18px 22px rgba(0,0,0,.64) !important;
}
body.r89-static.r86-home .hero-content { max-width: 1120px; position: relative; z-index: 4; }
body.r89-static.r86-home .hero-content > .eyebrow {
  color: var(--u101-signal) !important;
  letter-spacing: .17em;
}
body.r89-static.r86-home .hero-content h1.hero-weight-v43 {
  max-width: 1120px;
  color: var(--u101-white) !important;
  font-size: clamp(44px, 5.25vw, 78px) !important;
  line-height: 1.18 !important;
  letter-spacing: -.045em;
  text-shadow: 0 16px 44px rgba(0,0,0,.42);
}
body.r89-static.r86-home .hero-content h1.hero-weight-v43 span { display: inline; }
body.r89-static.r86-home .hero-description {
  max-width: 840px !important;
  color: rgba(232, 239, 235, .8) !important;
  font-size: clamp(16px, 1.35vw, 20px) !important;
  line-height: 1.9 !important;
}
body.r89-static.r86-home .hero-growth-route-v54 {
  z-index: 5;
  width: min(820px, calc(100% - 96px));
  background: rgba(9, 15, 18, .54) !important;
  border-color: rgba(178, 185, 190, .46) !important;
  box-shadow: 0 22px 48px rgba(0,0,0,.18);
  backdrop-filter: blur(10px);
}
body.r89-static.r86-home .growth-stage-v54 strong { color: var(--u101-white); }
body.r89-static.r86-home .growth-stage-v54 small { color: var(--u101-muted); }
body.r89-static.r86-home .growth-stage-dot-v54 { background: var(--u101-signal); box-shadow: 0 0 20px rgba(216,233,154,.58); }
body.r89-static.r86-home .hero-scroll-cue { color: var(--u101-signal); }

/* Client wall: logos remain the evidence layer, readable and separate from the
   platform/network ecology in the hero. */
body.r89-static.r86-home .proof-wall {
  background: #0f1113 !important;
  border-color: rgba(184,190,193,.3) !important;
}
body.r89-static.r86-home .trust-heading-v47 { padding: 94px 0 46px; }
body.r89-static.r86-home .trust-heading-v47 > span { color: var(--u101-signal); letter-spacing: .16em; }
body.r89-static.r86-home .trust-heading-v47 h2 { color: var(--u101-white); font-size: clamp(30px, 4.3vw, 62px); line-height: 1.24; }
body.r89-static.r86-home .trust-ribbons-v47 { padding-bottom: 84px; }
body.r89-static.r86-home .trust-mark-v47 { opacity: .88; transition: opacity .3s var(--u101-ease), transform .3s var(--u101-ease), filter .3s var(--u101-ease); }
body.r89-static.r86-home .trust-mark-v47 img { filter: grayscale(.2) contrast(1.12) brightness(1.08) !important; mix-blend-mode: screen; }
body.r89-static.r86-home .trust-mark-v47:hover { opacity: 1; transform: translateY(-4px); }

/* Inner sections: replace the older purple card stack with mineral panels. */
body.r89-static.r86-home :is(.home-capabilities-v41, .home-services-v41, .market-stages-v47, .customer-paths-v46, .home-method-system, .portfolio-strip, .home-platforms-v38, .home-journal-v48, .home-contact) {
  border-top-color: rgba(184,190,193,.24) !important;
  background-color: var(--u101-graphite-2) !important;
  background-image: linear-gradient(90deg, rgba(184,190,193,.035) 1px, transparent 1px), linear-gradient(rgba(184,190,193,.035) 1px, transparent 1px) !important;
  background-size: 56px 56px !important;
}
body.r89-static.r86-home :is(.service-tile, .ms-v47-card, .cp-v46-card, .method-system-grid article, .journal-feature-v48, .journal-compact-v48) {
  background: rgba(23, 38, 42, .9) !important;
  border-color: rgba(184,190,193,.3) !important;
  box-shadow: 0 20px 50px rgba(0,0,0,.16);
}
body.r89-static.r86-home :is(.service-tile, .ms-v47-card, .cp-v46-card, .method-system-grid article, .journal-feature-v48, .journal-compact-v48):hover {
  border-color: var(--u101-signal) !important;
  background: rgba(30, 56, 59, .96) !important;
  transform: translateY(-5px);
}
body.r89-static.r86-home :is(.service-tile-top, .service-tile-bottom b, .ms-v47-link, .cp-v46-link, .journal-feature-v48 a, .journal-compact-v48 a) { color: var(--u101-signal) !important; }
body.r89-static.r86-home .home-platforms-v38 { color: var(--u101-white) !important; }
body.r89-static.r86-home .home-platforms-v38 nav a { border-color: rgba(184,190,193,.25); }
body.r89-static.r86-home .home-platforms-v38 nav a:hover { background: rgba(184,190,193,.13); color: var(--u101-signal); }
body.r89-static.r86-home .home-faq { background: var(--u101-paper) !important; color: var(--u101-ink) !important; }
body.r89-static.r86-home .home-contact { background: linear-gradient(118deg, #252327, #121416) !important; }

/* Footer: navigation first, then a quiet silver wordmark with the existing
   per-face motion. */
body.r89-static .footer48,
body.r86-page .footer48 { background: var(--u101-graphite) !important; border-top: 1px solid rgba(184,190,193,.36); }
body.r89-static .footer48-directory,
body.r86-page .footer48-directory { background: linear-gradient(180deg, #171719, #0d0d0f) !important; }
body.r89-static .footer48-column h2,
body.r86-page .footer48-column h2 { color: var(--u101-signal) !important; }
body.r89-static .footer48 a:hover,
body.r86-page .footer48 a:hover { color: var(--u101-signal) !important; }
body.r89-static .footer48-finale,
body.r86-page .footer48-finale {
  background: radial-gradient(circle at 50% 0, rgba(184,190,193,.17), transparent 38%), #0d0d0f !important;
  border-top: 1px solid rgba(184,190,193,.25);
}
body.r89-static .footer54-type-face,
body.r86-page .footer54-type-face {
  color: var(--u101-metal-1) !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: 1px 2px 0 var(--u101-metal-2), 3px 5px 0 var(--u101-metal-3), 0 18px 38px rgba(0,0,0,.55) !important;
}
body.r89-static .footer54-static-copy,
body.r86-page .footer54-static-copy { color: var(--u101-metal-1) !important; -webkit-text-fill-color: currentColor !important; }
body.r89-static .footer54-baseline,
body.r86-page .footer54-baseline { color: var(--u101-muted) !important; }

/* Shared inner-page surface and page opening. */
body.r89-static :is(.r83-learning, .r83-news, .service-commercial, .company-v35, .focus-page, .contact-main-grid, .page-type, .case-library, .case84-page) {
  background-color: var(--u101-graphite-2) !important;
  background-image: linear-gradient(90deg, rgba(184,190,193,.03) 1px, transparent 1px), linear-gradient(rgba(184,190,193,.03) 1px, transparent 1px) !important;
  background-size: 56px 56px !important;
}
body.r89-static :is(.r83-learning h1, .r83-news h1, .page-hero h1, .commercial-hero-grid h1) { color: var(--u101-white); text-shadow: 0 14px 36px rgba(0,0,0,.26); }
body.r89-static :is(.r83-learning .eyebrow, .r83-news .eyebrow, .page-hero .eyebrow, .commercial-hero-grid .eyebrow) { color: var(--u101-signal) !important; }
body.r89-static :is(.r83-pick, .case84-card, .article-item, .related-pages a, .contact-channel-grid > *) { background: rgba(23,38,42,.9) !important; border-color: rgba(184,190,193,.3) !important; }
body.r89-static :is(.r83-pick:hover, .case84-card:hover, .article-item:hover, .related-pages a:hover, .contact-channel-grid > *:hover) { border-color: var(--u101-signal) !important; }

@media (max-width: 900px) {
  body.r89-static .container, body.r86-page .container { width: min(var(--u101-max), calc(100% - 48px)); }
  body.r89-static.r86-home .revised-hero.home-statement { min-height: 820px; padding-bottom: 140px; }
  body.r89-static.r86-home .hero-v2-scene { min-height: 260px; }
  body.r89-static.r86-home .hero-v2-stage { height: 215px !important; }
  body.r89-static.r86-home .hero-content h1.hero-weight-v43 { font-size: clamp(38px, 6.5vw, 56px) !important; }
  body.r89-static.r86-home .hero-growth-route-v54 { width: calc(100% - 48px); }
}
@media (max-width: 700px) {
  body.r89-static .container, body.r86-page .container { width: calc(100% - 36px); }
  body.r89-static.r86-home .revised-hero.home-statement { min-height: 720px; padding: 10px 0 116px; }
  body.r89-static.r86-home .hero-v2-scene { min-height: 205px; }
  body.r89-static.r86-home .hero-v2-stage { height: 172px !important; margin-bottom: 18px !important; }
  body.r89-static.r86-home .hero-content h1.hero-weight-v43 { max-width: 355px; font-size: clamp(31px, 8.2vw, 42px) !important; line-height: 1.3 !important; }
  body.r89-static.r86-home .hero-description { font-size: 15px !important; line-height: 1.85 !important; }
  body.r89-static.r86-home .hero-growth-route-v54 { width: calc(100% - 36px); }
  body.r89-static.r86-home .growth-stage-v54 strong { font-size: 12px; }
  body.r89-static.r86-home .growth-stage-v54 small { font-size: 10px; }
  body.r89-static.r86-home .trust-heading-v47 { padding: 68px 0 32px; }
  body.r89-static.r86-home .trust-heading-v47 h2 { font-size: 31px; }
  body.r89-static.r86-home .trust-ribbons-v47 { padding-bottom: 58px; }
  body.r89-static .footer48-grid, body.r86-page .footer48-grid { grid-template-columns: 1fr 1fr; }
  body.r89-static .footer48-contact, body.r86-page .footer48-contact { grid-column: 1 / -1; }
  body.r89-static .footer54-type-face, body.r86-page .footer54-type-face { font-size: 11.8vw; }
}

/* FULL-UPGRADE-101A · approved hero mother correction
   This is deliberately a final override. The supplied approved reference is
   near-black and silver first; teal/lime are only navigation signals. */
body.r89-static.r86-home .revised-hero.home-statement {
  min-height: min(810px, calc(100svh - 84px));
  padding: 0 0 104px;
  background: #171717 !important;
  border-bottom-color: rgba(235, 236, 230, .18) !important;
}
body.r89-static.r86-home .hero-v2-scene {
  min-height: 326px;
  background: #171717 !important;
}
body.r89-static.r86-home .hero-v2-environment {
  background:
    radial-gradient(ellipse at 50% 29%, rgba(210, 214, 209, .08), transparent 46%),
    #171717 !important;
  opacity: .98;
}
body.r89-static.r86-home .hero-platform-network {
  opacity: .9 !important;
  filter: none !important;
  mix-blend-mode: screen;
}
body.r89-static.r86-home .hero-platform-network .network-first-frame {
  opacity: .82 !important;
  filter: grayscale(.12) contrast(1.08) brightness(.92) !important;
}
body.r89-static.r86-home .hero-platform-network .platform-particle {
  filter: none !important;
  opacity: .84 !important;
}
body.r89-static.r86-home .hero-atmosphere-v54 {
  opacity: .56 !important;
  filter: saturate(.72) contrast(1.08) !important;
}
body.r89-static.r86-home .hero-v2-room { opacity: .23 !important; color: #b9c0bc !important; }
body.r89-static.r86-home .hero-v2-stage {
  height: 286px !important;
  width: min(1120px, 100%) !important;
  margin: 0 auto !important;
  transform: translateZ(0);
}
body.r89-static.r86-home .hero-v2-canvas,
body.r89-static.r86-home .hero-v2-fallback {
  left: 50% !important;
  right: auto !important;
  width: 100% !important;
  max-width: none !important;
  /* The fallback still needs the centering transform, but it must remain a
     normal declaration so the rendered canvas can use its own M127 tilt. */
  transform: translateX(-50%);
}
body.r89-static.r86-home .hero-v2-fallback {
  top: 50% !important;
  text-align: center;
  color: #e8e9e4 !important;
  text-shadow: 1px 1px #8a8d89, 3px 4px #464a47, 7px 10px 12px rgba(0,0,0,.58) !important;
}
body.r89-static.r86-home .hero-content h1.hero-weight-v43 {
  color: #f0f0ec !important;
  font-weight: 850;
  text-shadow: 0 10px 30px rgba(0,0,0,.35) !important;
}
body.r89-static.r86-home .hero-content > .eyebrow { color: #d6d7d0 !important; }
body.r89-static.r86-home .hero-content > .eyebrow::before { color: #c8aa75 !important; }
body.r89-static.r86-home .hero-description { color: rgba(224, 224, 219, .78) !important; }
body.r89-static.r86-home .hero-growth-route-v54 {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
body.r89-static.r86-home .hero-growth-route-v54::before { background: linear-gradient(180deg, transparent, rgba(23,23,23,.74) 35%, transparent) !important; }
body.r89-static.r86-home .growth-route-line-v54 { background: rgba(207, 208, 200, .38) !important; }
body.r89-static.r86-home .growth-stage-v54 strong { color: #e9e9e4 !important; }
body.r89-static.r86-home .growth-stage-v54 small { color: #999b96 !important; }
body.r89-static.r86-home .growth-stage-dot-v54 { background: #171717 !important; border-color: #bfc2ba !important; box-shadow: 0 0 0 5px rgba(23,23,23,.92) !important; }
body.r89-static.r86-home .growth-stage-1 .growth-stage-dot-v54 { background: #e7e8df !important; box-shadow: 0 0 0 5px rgba(23,23,23,.92), 0 0 18px rgba(239,239,226,.35) !important; }
body.r89-static.r86-home .hero-scroll-cue { color: #c9cbc4 !important; }

/* The approved mother is a calm black/silver system. The supporting pages
   inherit it without turning every block into a neon card. */
body.r89-static.r86-home :is(.home-capabilities-v41, .home-services-v41, .market-stages-v47, .customer-paths-v46, .home-method-system, .portfolio-strip, .home-platforms-v38, .home-journal-v48, .home-contact) {
  background-color: #171717 !important;
  background-image: linear-gradient(90deg, rgba(226,228,221,.026) 1px, transparent 1px), linear-gradient(rgba(226,228,221,.026) 1px, transparent 1px) !important;
  background-size: 64px 64px !important;
}
body.r89-static.r86-home :is(.service-tile, .ms-v47-card, .cp-v46-card, .method-system-grid article, .journal-feature-v48, .journal-compact-v48) {
  background: #232323 !important;
  border-color: rgba(229,230,224,.2) !important;
  box-shadow: 0 18px 44px rgba(0,0,0,.22) !important;
}
body.r89-static.r86-home :is(.service-tile, .ms-v47-card, .cp-v46-card, .method-system-grid article, .journal-feature-v48, .journal-compact-v48):hover {
  background: #2a2a29 !important;
  border-color: rgba(216,233,154,.62) !important;
}
body.r89-static.r86-home :is(.service-tile-top, .service-tile-bottom b, .ms-v47-link, .cp-v46-link, .journal-feature-v48 a, .journal-compact-v48 a) { color: #e4e7df !important; }
body.r89-static.r86-home .proof-wall { background: #171717 !important; }
body.r89-static.r86-home .trust-heading-v47 > span { color: #b8bbb5 !important; }
body.r89-static.r86-home .trust-heading-v47 h2 { color: #eeeee9 !important; }
body.r89-static .footer48-finale,
body.r86-page .footer48-finale { background: #171717 !important; }

@media (max-width: 900px) {
  body.r89-static.r86-home .revised-hero.home-statement { min-height: 760px; padding-bottom: 100px; }
  body.r89-static.r86-home .hero-v2-scene { min-height: 244px; }
  body.r89-static.r86-home .hero-v2-stage { height: 226px !important; }
}
@media (max-width: 700px) {
  body.r89-static.r86-home .revised-hero.home-statement { min-height: 700px; padding-bottom: 94px; }
  body.r89-static.r86-home .hero-v2-scene { min-height: 196px; }
  body.r89-static.r86-home .hero-v2-stage { height: 180px !important; }
}

/* FULL-UPGRADE-101B · extend the approved black/silver mother across the
   reviewed site. Teal, lime and violet remain tiny interaction signals only;
   they cannot become the page surface. */
body.r89-static,
body.r86-page {
  --u101-graphite: #171717;
  --u101-graphite-2: #1c1c1c;
  --u101-graphite-3: #232323;
  --u101-white: #f0f0ec;
  --u101-paper: #ecece7;
  --u101-muted: #a8aaa5;
  --u101-dim: #80827e;
  --u101-line: rgba(225, 226, 220, .2);
  --u101-line-bright: rgba(237, 238, 228, .55);
  --u101-signal: #d7d8cf;
  --u101-teal: #aeb2ad;
  background: #171717 !important;
  color: #f0f0ec;
}
body.r89-static .site-header,
body.r86-page .site-header {
  background: rgba(23, 23, 23, .96) !important;
  border-bottom-color: rgba(225, 226, 220, .2) !important;
  box-shadow: 0 16px 42px rgba(0, 0, 0, .38) !important;
}
body.r89-static .site-header::after,
body.r86-page .site-header::after {
  background: linear-gradient(90deg, transparent, rgba(224, 225, 218, .52), transparent) !important;
}
body.r89-static .purpose-header .mega-nav > :is(.i82-case-nav, .r83-service-menu, .nav-direct)::after,
body.r86-page .purpose-header .mega-nav > :is(.i82-case-nav, .r83-service-menu, .nav-direct)::after {
  background: #e3e3dc !important;
}
body.r89-static .r83-service-panel,
body.r89-static .r86-learning-panel,
body.r89-static .r89-research-nav nav,
body.r86-page .r83-service-panel,
body.r86-page .r86-learning-panel,
body.r86-page .r89-research-nav nav {
  background: #202020 !important;
  border-color: rgba(225, 226, 220, .22) !important;
}
body.r89-static .revised-hero,
body.r86-page .page-hero,
body.r86-page .editorial-hero,
body.r86-page .company-opening,
body.r86-page .contact-opening,
body.r86-page .research-opening {
  background: #171717 !important;
}
body.r89-static :is(.section, .editorial-section, .page-section, .section-module),
body.r86-page :is(.section, .editorial-section, .page-section, .section-module) {
  border-color: rgba(225, 226, 220, .16) !important;
}
body.r89-static :is(.service-tile, .case84-card, .case-library .card, .r83-pick, .article-item, .related-pages a, .contact-channel-grid > *, .research-card, .institute-card),
body.r86-page :is(.service-tile, .case84-card, .case-library .card, .r83-pick, .article-item, .related-pages a, .contact-channel-grid > *, .research-card, .institute-card) {
  background: #232323 !important;
  border-color: rgba(225, 226, 220, .2) !important;
  box-shadow: 0 18px 44px rgba(0, 0, 0, .24) !important;
}
body.r89-static :is(.service-tile:hover, .case84-card:hover, .case-library .card:hover, .r83-pick:hover, .article-item:hover, .related-pages a:hover),
body.r86-page :is(.service-tile:hover, .case84-card:hover, .case-library .card:hover, .r83-pick:hover, .article-item:hover, .related-pages a:hover) {
  background: #2a2a29 !important;
  border-color: rgba(235, 236, 228, .56) !important;
}
body.r89-static :is(.proof-wall, .home-platforms-v38, .home-faq, .home-contact),
body.r86-page :is(.proof-wall, .home-platforms-v38, .home-faq, .home-contact) {
  background: #171717 !important;
  color: #f0f0ec !important;
}
body.r89-static .proof-wall,
body.r86-page .proof-wall {
  border-color: rgba(225, 226, 220, .16) !important;
}
body.r89-static .trust-mark-v47 img,
body.r86-page .trust-mark-v47 img {
  filter: grayscale(1) contrast(1.08) brightness(1.12) !important;
  mix-blend-mode: screen;
}
body.r89-static .footer48-directory,
body.r86-page .footer48-directory,
body.r89-static .footer48-finale,
body.r86-page .footer48-finale {
  background: #171717 !important;
  border-color: rgba(225, 226, 220, .18) !important;
}
body.r89-static .footer48-finale .r83-wordmark-text,
body.r86-page .footer48-finale .r83-wordmark-text {
  color: #e5e6df !important;
  text-shadow: 1px 1px #8a8b86, 3px 4px #4d4e4a, 7px 10px 12px rgba(0, 0, 0, .56) !important;
}

/* The network keeps its platform marks in colour, while its connective
   geometry stays graphite and silver like the approved reference. */
body.r89-static.r86-home .hero-platform-network canvas,
body.r86-page.r86-home .hero-platform-network canvas {
  filter: grayscale(1) brightness(.68) contrast(1.1) !important;
  opacity: .68 !important;
}
body.r89-static.r86-home .hero-atmosphere-v54,
body.r86-page.r86-home .hero-atmosphere-v54 {
  filter: grayscale(.82) brightness(.8) contrast(1.08) !important;
  opacity: .34 !important;
}

@media (max-width: 900px) {
  body.r89-static.r86-home .hero-content {
    width: min(760px, calc(100% - 36px));
    margin-inline: auto;
    text-align: center !important;
  }
  body.r89-static.r86-home .hero-content h1.hero-weight-v43 {
    max-width: 760px !important;
    margin-inline: auto !important;
    font-size: clamp(34px, 5.6vw, 56px) !important;
  }
  body.r89-static.r86-home .hero-description {
    max-width: 680px !important;
    margin-inline: auto !important;
  }
  body.r89-static.r86-home .hero-growth-route-v54 {
    width: min(760px, calc(100% - 36px)) !important;
    margin-inline: auto !important;
  }
  body.r89-static.r86-home .hero-content h1.hero-weight-v43,
  body.r89-static.r86-home .hero-description {
    text-align: center !important;
  }
}

/* FULL-UPGRADE-101C · restore the centered stage geometry. The canvas fills
   its stage; only the fallback wordmark uses the perspective transform. */
body.r89-static.r86-home .hero-v2-canvas,
body.r86-page.r86-home .hero-v2-canvas {
  inset: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  /* Keep the canvas centered without locking its transform. M127 uses the
     transform channel for the visible studio tilt; the old important reset
     made every keyframe look static even though the shader was running. */
  transform: none;
}
body.r89-static.r86-home .hero-v2-fallback,
body.r86-page.r86-home .hero-v2-fallback {
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) perspective(800px) rotateX(12deg) rotateY(-15deg) rotateZ(-5deg);
}

/* Inner pages previously inherited a few teal panel recipes that were more
   specific than the broad card reset.  Bring those surfaces back to the same
   graphite/silver mother while leaving all supplied evidence imagery alone. */
body.r89-static.r86-page:not(.r86-home) header.site-header[class*="header"],
body.r86-page:not(.r86-home) header.site-header[class*="header"] {
  background:rgba(13,13,15,.96) !important;
  border-bottom-color:rgba(205,207,210,.24) !important;
}
body.r89-static.r86-page:not(.r86-home) :is(.r83-pick,.case84-card,.article-item,.related-pages a,.contact-channel-grid > *),
body.r86-page:not(.r86-home) :is(.r83-pick,.case84-card,.article-item,.related-pages a,.contact-channel-grid > *) {
  background:#1b1d20 !important;
  background-image:linear-gradient(135deg,rgba(205,207,210,.06),transparent 58%) !important;
  border-color:rgba(205,207,210,.2) !important;
  box-shadow:0 18px 48px rgba(0,0,0,.24) !important;
}
body.r89-static.r86-page:not(.r86-home) main [class*="_nextSection_"],
body.r86-page:not(.r86-home) main [class*="_nextSection_"] {
  background:#17191b !important;
  background-image:linear-gradient(135deg,rgba(205,207,210,.055),transparent 62%) !important;
  border-color:rgba(205,207,210,.2) !important;
}

body.r89-static.r86-page:not(.r86-home) :is(.company-opening,.contact-opening,.research-opening,.company-projects,.lead-profile,.research-card-cover,.research-card,.r83-pick-art),
body.r86-page:not(.r86-home) :is(.company-opening,.contact-opening,.research-opening,.company-projects,.lead-profile,.research-card-cover,.research-card,.r83-pick-art) {
  background:#17191b !important;
  background-image:linear-gradient(135deg,rgba(205,207,210,.065),transparent 60%) !important;
  border-color:rgba(205,207,210,.2) !important;
  box-shadow:0 20px 52px rgba(0,0,0,.26) !important;
}

/* Navigation panels are part of the first visual system too.  Neutralize the
   old purple service column and keep hover/focus feedback on the same brass
   signal used by the hero rail. */
body.r89-static :is(.r83-service-panel nav,.r83-service-panel nav:first-child,.r83-service-panel nav:last-child,.r89-research-nav nav,.r83-about-nav nav),
body.r86-page :is(.r83-service-panel nav,.r83-service-panel nav:first-child,.r83-service-panel nav:last-child,.r89-research-nav nav,.r83-about-nav nav) {
  background:#17191b !important;
  border-color:rgba(205,207,210,.2) !important;
}
body.r89-static :is(.r83-service-panel a:hover,.r83-service-panel a:focus-visible,.r89-research-nav nav a:hover,.r83-about-nav nav a:hover),
body.r86-page :is(.r83-service-panel a:hover,.r83-service-panel a:focus-visible,.r89-research-nav nav a:hover,.r83-about-nav nav a:hover) {
  background:rgba(200,170,117,.1) !important;
  color:#e2c98c !important;
}
body.r89-static.r86-page.r86-home :is(.capability-node:hover,.capability-node:focus-visible),
body.r86-page.r86-home :is(.capability-node:hover,.capability-node:focus-visible) {
  background:#25282b !important;
  outline:1px solid rgba(200,170,117,.72) !important;
  box-shadow:0 16px 36px rgba(0,0,0,.28) !important;
}
body.r89-static.r86-page.r86-home .capability-core,
body.r86-page.r86-home .capability-core { text-shadow:0 8px 24px rgba(0,0,0,.34) !important; }

/* FULL-UPGRADE-101D · the approved hero is a full-bleed stage. Keep the
   artwork centered even when the local review panel is narrower than a
   desktop monitor. */
body.r89-static.r86-home .hero-v2-scene,
body.r86-page.r86-home .hero-v2-scene {
  width: 100vw !important;
  margin-left: 50% !important;
  transform: translateX(-50%) !important;
}
body.r89-static.r86-home .hero-v2-stage,
body.r86-page.r86-home .hero-v2-stage {
  width: min(1120px, 100vw) !important;
}
body.r89-static.r86-home .hero-content,
body.r86-page.r86-home .hero-content {
  width: min(1120px, calc(100vw - 72px)) !important;
  max-width: none !important;
  margin-left: 50% !important;
  transform: translateX(-50%) !important;
  text-align: center !important;
}

/* FULL-UPGRADE-101E · editorial pages use the same material palette while
   keeping their own information layout. */
body.r86-page.r83-learning,
body.r89-static.r83-learning {
  background: #171717 !important;
  color: #f0f0ec !important;
}
body.r86-page .r83-learning-hero,
body.r89-static .r83-learning-hero,
body.r86-page .r83-learning-picks,
body.r89-static .r83-learning-picks,
body.r86-page .r83-learning-library,
body.r89-static .r83-learning-library {
  background: #171717 !important;
  border-color: rgba(225, 226, 220, .16) !important;
}
body.r86-page .r83-learning-diagram,
body.r89-static .r83-learning-diagram {
  background: #202020 !important;
  border-color: rgba(225, 226, 220, .28) !important;
  box-shadow: 0 20px 48px rgba(0, 0, 0, .3) !important;
}
body.r86-page .r83-learning-diagram > div span,
body.r89-static .r83-learning-diagram > div span {
  background: #2a2a29 !important;
  border-color: rgba(225, 226, 220, .38) !important;
  color: #e6e7e1 !important;
}
body.r86-page .r83-pick,
body.r89-static .r83-pick { background: #232323 !important; }
body.r86-page .r83-pick-art,
body.r89-static .r83-pick-art {
  background: #2a2a29 !important;
  border-color: rgba(225, 226, 220, .2) !important;
  color: #e7e7e1 !important;
}
body.r86-page .r83-pick-1 .r83-pick-art,
body.r86-page .r83-pick-2 .r83-pick-art,
body.r89-static .r83-pick-1 .r83-pick-art,
body.r89-static .r83-pick-2 .r83-pick-art { background: #2a2a29 !important; }
body.r86-page .r83-pick-copy :is(p, span),
body.r89-static .r83-pick-copy :is(p, span) { color: #b7b9b3 !important; }
body.r86-page .field-filters-v46 button,
body.r89-static .field-filters-v46 button {
  color: #dfe0da !important;
  background: #232323 !important;
  border-color: rgba(225, 226, 220, .2) !important;
}
body.r86-page .field-filters-v46 button[aria-pressed="true"],
body.r89-static .field-filters-v46 button[aria-pressed="true"] {
  background: #383835 !important;
  border-color: rgba(235, 236, 228, .58) !important;
}

/* FULL-UPGRADE-102 FINAL OVERRIDES · keep these last so the approved mother
   wins over every historical refinement loaded before it. */
@media (min-width: 901px) {
  body.r89-static.r86-home .revised-hero.home-statement,
  body.r86-page.r86-home .revised-hero.home-statement {
    min-height: max(860px, calc(100svh - 30px)) !important;
    padding: 18px 0 132px !important;
  }
  body.r89-static.r86-home .hero-v2-scene,
  body.r86-page.r86-home .hero-v2-scene { min-height: 428px !important; }
  body.r89-static.r86-home .hero-v2-stage,
  body.r86-page.r86-home .hero-v2-stage {
    height: 376px !important;
    width: min(1280px, 100vw) !important;
  }
  body.r89-static.r86-home .hero-v2-fallback,
  body.r86-page.r86-home .hero-v2-fallback { font-size: clamp(76px, 8.8vw, 144px) !important; }
  body.r89-static.r86-home .hero-content,
  body.r86-page.r86-home .hero-content { margin-top: 12px !important; }
  body.r89-static.r86-home .hero-content h1.hero-weight-v43,
  body.r86-page.r86-home .hero-content h1.hero-weight-v43 {
    font-size: clamp(56px, 5vw, 78px) !important;
    line-height: 1.14 !important;
    max-width: 1240px !important;
  }
  body.r89-static.r86-home .hero-description,
  body.r86-page.r86-home .hero-description {
    max-width: 960px !important;
    font-size: clamp(17px, 1.45vw, 22px) !important;
  }
  body.r89-static.r86-home .hero-growth-route-v54,
  body.r86-page.r86-home .hero-growth-route-v54 {
    bottom: 66px !important;
    width: min(900px, calc(100% - 140px)) !important;
  }
}

body.r89-static.r86-home .trust-mark-v47 img,
body.r86-page.r86-home .trust-mark-v47 img {
  filter: grayscale(1) contrast(1.12) invert(1) brightness(.82) !important;
  mix-blend-mode: screen !important;
  opacity: .68 !important;
  transition: filter .36s var(--u101-ease), opacity .36s var(--u101-ease), transform .36s var(--u101-ease) !important;
}
body.r89-static.r86-home .trust-mark-v47:is(:hover, :focus-visible) img,
body.r86-page.r86-home .trust-mark-v47:is(:hover, :focus-visible) img {
  filter: none !important;
  mix-blend-mode: normal !important;
  opacity: 1 !important;
  transform: scale(1.045) !important;
}
body.r89-static.r86-home .trust-mark-v47:is(:hover, :focus-visible),
body.r86-page.r86-home .trust-mark-v47:is(:hover, :focus-visible) {
  background: rgba(245, 245, 240, .96) !important;
  border-color: rgba(232, 233, 225, .72) !important;
  box-shadow: 0 18px 40px rgba(0,0,0,.3), 0 0 0 1px rgba(236,237,230,.18) inset !important;
  transform: translateY(-6px) scale(1.015) !important;
}
body.r89-static.r86-home .trust-mark-v47.logo-dark:is(:hover, :focus-visible),
body.r86-page.r86-home .trust-mark-v47.logo-dark:is(:hover, :focus-visible) { background: #181818 !important; }

html.mother-motion-102 body.r89-static main :is(section, article).mother-motion-target-102,
html.mother-motion-102 body.r86-page main :is(section, article).mother-motion-target-102 {
  opacity: 1;
  transform: translate3d(0, 12px, 0);
  transition: transform .65s var(--u101-ease);
  transition-delay: var(--mother-delay, 0ms);
}
html.mother-motion-102 body.r89-static main :is(section, article).mother-motion-target-102.mother-motion-in-102,
html.mother-motion-102 body.r86-page main :is(section, article).mother-motion-target-102.mother-motion-in-102 {
  opacity: 1;
  transform: none;
}
html.mother-motion-102 body.r89-static main .mother-motion-card-102,
html.mother-motion-102 body.r86-page main .mother-motion-card-102 {
  position: relative;
  overflow: hidden;
  transition: transform .48s var(--u101-ease), border-color .35s ease, box-shadow .48s ease, background .35s ease;
}
html.mother-motion-102 body.r89-static main .mother-motion-card-102::after,
html.mother-motion-102 body.r86-page main .mother-motion-card-102::after {
  content: "";
  position: absolute;
  inset: -45% auto auto -26%;
  width: 42%;
  height: 190%;
  pointer-events: none;
  opacity: 0;
  transform: rotate(18deg) translateX(-145%);
  background: linear-gradient(90deg, transparent, rgba(239,240,234,.14), transparent);
  transition: opacity .2s ease, transform .8s var(--u101-ease);
}
html.mother-motion-102 body.r89-static main .mother-motion-card-102:hover,
html.mother-motion-102 body.r86-page main .mother-motion-card-102:hover {
  transform: translateY(-8px);
  box-shadow: 0 24px 56px rgba(0,0,0,.34) !important;
}
html.mother-motion-102 body.r89-static main .mother-motion-card-102:hover::after,
html.mother-motion-102 body.r86-page main .mother-motion-card-102:hover::after {
  opacity: 1;
  transform: rotate(18deg) translateX(410%);
}
html.mother-motion-102 body.r89-static main .mother-tilt-102,
html.mother-motion-102 body.r86-page main .mother-tilt-102 {
  transform: perspective(900px)
    rotateX(var(--mother-rotate-x, 0deg))
    rotateY(var(--mother-rotate-y, 0deg))
    translateY(var(--mother-lift, 0px));
  transform-origin: center center;
}
html.mother-motion-102 body.r89-static main .mother-tilt-102:hover,
html.mother-motion-102 body.r86-page main .mother-tilt-102:hover {
  --mother-lift: -8px;
}
html.mother-motion-102 body.r89-static main .mother-motion-card-102.mother-tilt-102:hover,
html.mother-motion-102 body.r86-page main .mother-motion-card-102.mother-tilt-102:hover {
  transform: perspective(900px)
    rotateX(var(--mother-rotate-x, 0deg))
    rotateY(var(--mother-rotate-y, 0deg))
    translateY(var(--mother-lift, -8px)) !important;
}
@media (prefers-reduced-motion: reduce) {
  html.mother-motion-102 body.r89-static main :is(section, article).mother-motion-target-102,
  html.mother-motion-102 body.r86-page main :is(section, article).mother-motion-target-102 {
    opacity: 1;
    transform: none;
    transition: none;
  }
  html.mother-motion-102 body.r89-static main .mother-tilt-102,
  html.mother-motion-102 body.r86-page main .mother-tilt-102 {
    transform: none;
  }
}

/* FULL-UPGRADE-102B · restore the three-stage rail to the approved hero
   composition. A historical static layer changed it into a flex item, which
   pushed the rail off-canvas on desktop. */
body.r89-static.r86-home .hero-growth-route-v54,
body.r86-page.r86-home .hero-growth-route-v54 {
  position: absolute !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
body.r89-static.r86-home .revised-hero.home-statement,
body.r86-page.r86-home .revised-hero.home-statement {
  display: block !important;
}
body.r89-static.r86-home .hero-v2-scene,
body.r86-page.r86-home .hero-v2-scene {
  display: block !important;
}
body.r89-static.r86-home .hero-content,
body.r86-page.r86-home .hero-content {
  width: min(1120px, calc(100vw - 72px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  transform: none !important;
}

/* FULL-UPGRADE-102C · low-frequency depth on diagrams and image surfaces;
   copy stays stable while the section gains the reference sites' visual
   rhythm. */
html.mother-motion-102 body.r89-static main .mother-depth-102,
html.mother-motion-102 body.r86-page main .mother-depth-102 {
  transform: translate3d(0, var(--mother-shift, 0px), 0);
  will-change: transform;
  transition: transform .42s var(--u101-ease);
}
html.mother-motion-102 body.r89-static.r86-home .capability-art,
html.mother-motion-102 body.r86-page.r86-home .capability-art {
  background: radial-gradient(circle at 78% 22%, rgba(216,233,154,.16), transparent 34%),
    linear-gradient(135deg, #1d292c, #111719 72%) !important;
}
html.mother-motion-102 body.r89-static.r86-home .capability-art.strategy,
html.mother-motion-102 body.r86-page.r86-home .capability-art.strategy {
  background: radial-gradient(circle at 78% 22%, rgba(216,233,154,.2), transparent 34%),
    linear-gradient(135deg, #263b3d, #12191b 72%) !important;
}
html.mother-motion-102 body.r89-static.r86-home .capability-art.film,
html.mother-motion-102 body.r86-page.r86-home .capability-art.film {
  background: radial-gradient(circle at 26% 78%, rgba(199,124,95,.2), transparent 34%),
    linear-gradient(135deg, #2b2926, #151818 72%) !important;
}
html.mother-motion-102 body.r89-static.r86-home .capability-art.operation,
html.mother-motion-102 body.r86-page.r86-home .capability-art.operation {
  background: radial-gradient(circle at 76% 78%, rgba(114,174,177,.22), transparent 34%),
    linear-gradient(135deg, #1e3435, #111719 72%) !important;
}
@media (prefers-reduced-motion: reduce) {
  html.mother-motion-102 body.r89-static main .mother-depth-102,
  html.mother-motion-102 body.r86-page main .mother-depth-102 {
    transform: none;
    transition: none;
  }
}

/* FULL-UPGRADE-103 · first-viewport composition. The approved reference is
   one continuous network field: the mark, statement and growth rail all sit
   inside the same full-height scene. Keep the artwork out of document flow so
   it cannot collapse into a short panel above the copy. */
@media (min-width: 901px) {
  body.r89-static.r86-home .revised-hero.home-statement,
  body.r86-page.r86-home .revised-hero.home-statement {
    position: relative !important;
    height: calc(100svh - 84px) !important;
    min-height: 760px !important;
    max-height: 900px !important;
    padding: 0 !important;
    overflow: hidden !important;
    display: block !important;
    isolation: isolate !important;
  }
  body.r89-static.r86-home .revised-hero.home-statement > .container,
  body.r86-page.r86-home .revised-hero.home-statement > .container {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body.r89-static.r86-home .hero-v2-scene,
  body.r86-page.r86-home .hero-v2-scene {
    position: absolute !important;
    z-index: 0 !important;
    inset: 0 auto auto 50% !important;
    width: 100vw !important;
    height: 100% !important;
    min-height: 100% !important;
    margin: 0 !important;
    transform: translateX(-50%) !important;
    overflow: hidden !important;
    pointer-events: none !important;
    background: transparent !important;
  }
  body.r89-static.r86-home .hero-v2-environment,
  body.r86-page.r86-home .hero-v2-environment {
    z-index: 1 !important;
    opacity: .92 !important;
  }
  body.r89-static.r86-home .hero-platform-network,
  body.r86-page.r86-home .hero-platform-network {
    z-index: 2 !important;
    opacity: .86 !important;
  }
  body.r89-static.r86-home .hero-v2-stage,
  body.r86-page.r86-home .hero-v2-stage {
    position: absolute !important;
    z-index: 3 !important;
    top: 18px !important;
    left: 50% !important;
    width: min(980px, 84vw) !important;
    height: 286px !important;
    margin: 0 !important;
    transform: translateX(-50%) !important;
  }
  body.r89-static.r86-home .hero-v2-fallback,
  body.r86-page.r86-home .hero-v2-fallback {
    font-size: clamp(62px, 5.5vw, 92px) !important;
  }
  body.r89-static.r86-home .hero-content,
  body.r86-page.r86-home .hero-content {
    position: relative !important;
    z-index: 4 !important;
    width: min(1120px, calc(100vw - 96px)) !important;
    max-width: 1120px !important;
    margin: 0 auto !important;
    padding-top: 314px !important;
    transform: none !important;
    text-align: center !important;
  }
  body.r89-static.r86-home .hero-content h1.hero-weight-v43,
  body.r86-page.r86-home .hero-content h1.hero-weight-v43 {
    max-width: 1120px !important;
    margin: 22px auto 22px !important;
    font-size: clamp(46px, 4.2vw, 64px) !important;
    line-height: 1.16 !important;
    letter-spacing: -.045em !important;
    white-space: nowrap !important;
  }
  body.r89-static.r86-home .hero-description,
  body.r86-page.r86-home .hero-description {
    max-width: 920px !important;
    margin: 0 auto !important;
    font-size: clamp(16px, 1.25vw, 19px) !important;
    line-height: 1.8 !important;
  }
  body.r89-static.r86-home .hero-growth-route-v54,
  body.r86-page.r86-home .hero-growth-route-v54 {
    position: absolute !important;
    z-index: 5 !important;
    left: 50% !important;
    bottom: 52px !important;
    width: min(720px, calc(100vw - 220px)) !important;
    margin: 0 !important;
    transform: translateX(-50%) !important;
  }
  body.r89-static.r86-home .hero-scroll-cue,
  body.r86-page.r86-home .hero-scroll-cue {
    z-index: 6 !important;
    bottom: 6px !important;
  }
}

@media (min-width: 901px) and (max-width: 1280px) {
  body.r89-static.r86-home .hero-content,
  body.r86-page.r86-home .hero-content { padding-top: 292px !important; }
  body.r89-static.r86-home .hero-content h1.hero-weight-v43,
  body.r86-page.r86-home .hero-content h1.hero-weight-v43 {
    font-size: clamp(42px, 4.3vw, 56px) !important;
  }
}

@media (max-width: 900px) {
  body.r89-static.r86-home .revised-hero.home-statement,
  body.r86-page.r86-home .revised-hero.home-statement {
    min-height: 720px !important;
    height: calc(100svh - 72px) !important;
    max-height: none !important;
    padding: 0 0 92px !important;
  }
  body.r89-static.r86-home .revised-hero.home-statement > .container,
  body.r86-page.r86-home .revised-hero.home-statement > .container { height: 100% !important; }
  body.r89-static.r86-home .hero-v2-scene,
  body.r86-page.r86-home .hero-v2-scene {
    position: absolute !important;
    inset: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin-left: 0 !important;
    transform: none !important;
  }
  body.r89-static.r86-home .hero-v2-stage,
  body.r86-page.r86-home .hero-v2-stage {
    top: 16px !important;
    width: 100% !important;
    height: 220px !important;
  }
  body.r89-static.r86-home .hero-v2-fallback,
  body.r86-page.r86-home .hero-v2-fallback { font-size: clamp(48px, 12vw, 72px) !important; }
  body.r89-static.r86-home .hero-content,
  body.r86-page.r86-home .hero-content {
    width: calc(100% - 36px) !important;
    max-width: 760px !important;
    margin: 0 auto !important;
    padding-top: 228px !important;
  }
  body.r89-static.r86-home .hero-content h1.hero-weight-v43,
  body.r86-page.r86-home .hero-content h1.hero-weight-v43 {
    white-space: normal !important;
    font-size: clamp(32px, 7.6vw, 54px) !important;
    line-height: 1.24 !important;
  }
  body.r89-static.r86-home .hero-description,
  body.r86-page.r86-home .hero-description { font-size: 15px !important; line-height: 1.8 !important; }
  body.r89-static.r86-home .hero-growth-route-v54,
  body.r86-page.r86-home .hero-growth-route-v54 {
    bottom: 44px !important;
    width: calc(100% - 36px) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.r89-static.r86-home .hero-v2-fallback,
  body.r86-page.r86-home .hero-v2-fallback { animation: none !important; }
}


/* Text stays readable before, during and after entrance motion. */
body.r89-static.r86-home .home-platforms-v38 > .container > p,
body.r89-static.r86-home .home-platforms-v38 > p { color: #c6c8c3 !important; }

/* FULL-UPGRADE-104 · cases are an editorial proof chapter, not a narrow
   legacy reading column. Keep the heading, explanation and entry link in a
   deliberate two-column composition and pair every dark surface with a
   readable text token. */
body.r89-static.r86-home .case-showcase-v48 .showcase-heading-v48,
body.r86-page.r86-home .case-showcase-v48 .showcase-heading-v48 {
  display: grid !important;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr) !important;
  align-items: end !important;
  width: 100% !important;
  max-width: none !important;
  gap: clamp(32px, 6vw, 88px) !important;
  margin-bottom: 46px !important;
}
body.r89-static.r86-home .case-showcase-v48 .showcase-heading-v48 > div:first-child,
body.r86-page.r86-home .case-showcase-v48 .showcase-heading-v48 > div:first-child {
  min-width: 0 !important;
}
body.r89-static.r86-home .case-showcase-v48 .showcase-heading-v48 h2,
body.r86-page.r86-home .case-showcase-v48 .showcase-heading-v48 h2 {
  width: auto !important;
  max-width: 780px !important;
  color: #f1f3ef !important;
  font-size: clamp(40px, 4.6vw, 70px) !important;
  line-height: 1.1 !important;
  letter-spacing: -.055em !important;
}
body.r89-static.r86-home .case-showcase-v48 .showcase-intro-v48,
body.r86-page.r86-home .case-showcase-v48 .showcase-intro-v48 {
  width: 100% !important;
  max-width: 520px !important;
  justify-self: end !important;
}
body.r89-static.r86-home .case-showcase-v48 .showcase-intro-v48 p,
body.r86-page.r86-home .case-showcase-v48 .showcase-intro-v48 p {
  max-width: 520px !important;
  margin: 0 0 22px !important;
  color: #c4c6c1 !important;
  font-size: 16px !important;
  line-height: 1.9 !important;
}
body.r89-static.r86-home .case-showcase-v48 .showcase-feature-v48,
body.r86-page.r86-home .case-showcase-v48 .showcase-feature-v48,
body.r89-static.r86-home .case-showcase-v48 .showcase-story-v48,
body.r86-page.r86-home .case-showcase-v48 .showcase-story-v48 {
  color: #f1f3ef !important;
}
body.r89-static.r86-home .case-showcase-v48 :is(.showcase-feature-copy-v48 h3, .showcase-story-v48 h3),
body.r86-page.r86-home .case-showcase-v48 :is(.showcase-feature-copy-v48 h3, .showcase-story-v48 h3) {
  color: #f1f3ef !important;
}
body.r89-static.r86-home .case-showcase-v48 :is(.showcase-feature-copy-v48 > p, .showcase-story-v48 > p),
body.r86-page.r86-home .case-showcase-v48 :is(.showcase-feature-copy-v48 > p, .showcase-story-v48 > p) {
  color: #c4c6c1 !important;
}

/* The cards keep hover depth and light sweep, but the copy must remain
   present even when a user jumps quickly through the page. */
html.mother-motion-102 body.r89-static main :is(section, article).mother-motion-target-102,
html.mother-motion-102 body.r86-page main :is(section, article).mother-motion-target-102 {
  opacity: 1 !important;
  transform: none !important;
}

@media (max-width: 900px) {
  body.r89-static.r86-home .case-showcase-v48 .showcase-heading-v48,
  body.r86-page.r86-home .case-showcase-v48 .showcase-heading-v48 {
    display: block !important;
    width: 100% !important;
    margin-bottom: 32px !important;
  }
  body.r89-static.r86-home .case-showcase-v48 .showcase-intro-v48,
  body.r86-page.r86-home .case-showcase-v48 .showcase-intro-v48 {
    max-width: 620px !important;
    margin-top: 24px !important;
    margin-inline-start: 0 !important;
    margin-inline-end: 0 !important;
    justify-self: start !important;
  }
}

/* FULL-UPGRADE-107 · final visual and contrast audit. These rules are kept at
   the end so old page-family styles cannot undo the approved mother system. */
body.r89-static.r86-home .trust-heading-v47 h2 strong,
body.r89-static.r86-home .trust-heading-v47 h2 strong span,
body.r86-page.r86-home .trust-heading-v47 h2 strong,
body.r86-page.r86-home .trust-heading-v47 h2 strong span {
  color: #f0f0ec !important;
  -webkit-text-fill-color: currentColor !important;
}
body.r89-static.r86-home .trust-mark-v47 img,
body.r86-page.r86-home .trust-mark-v47 img {
  filter: grayscale(1) contrast(1.12) brightness(1.55) !important;
  opacity: .95 !important;
  transition: filter .32s var(--u101-ease), opacity .32s var(--u101-ease), transform .32s var(--u101-ease) !important;
}
body.r89-static.r86-home .trust-mark-v47:hover img,
body.r89-static.r86-home .trust-mark-v47:focus-visible img,
body.r86-page.r86-home .trust-mark-v47:hover img,
body.r86-page.r86-home .trust-mark-v47:focus-visible img {
  filter: none !important;
  opacity: 1 !important;
  transform: scale(1.06);
}

/* Keep the first screen usable on a short desktop viewport: the growth rail
   belongs to the hero and must not be pushed below the first fold by a fixed
   760px minimum. */
@media (min-width: 901px) and (max-height: 800px) {
  body.r89-static.r86-home .revised-hero.home-statement,
  body.r86-page.r86-home .revised-hero.home-statement {
    min-height: 0 !important;
    height: calc(100svh - 84px) !important;
  }
  body.r89-static.r86-home .hero-content,
  body.r86-page.r86-home .hero-content { padding-top: 260px !important; }
  body.r89-static.r86-home .hero-v2-stage,
  body.r86-page.r86-home .hero-v2-stage { height: 238px !important; }
  body.r89-static.r86-home .hero-growth-route-v54,
  body.r86-page.r86-home .hero-growth-route-v54 { bottom: 52px !important; }
  body.r89-static.r86-home .hero-scroll-cue,
  body.r86-page.r86-home .hero-scroll-cue { bottom: 12px !important; }
}

/* The native activity page uses hashed module classes. Its next-step band was
   inheriting dark surfaces while retaining paper-theme ink values. */
body.r86-page.r86-inner main [class*="_nextSection_"] {
  background: radial-gradient(circle at 78% 10%, rgba(184,190,193,.16), transparent 30%), #171717 !important;
  color: #f0f0ec !important;
  border-top: 1px solid rgba(225,226,220,.18) !important;
  border-bottom: 1px solid rgba(225,226,220,.18) !important;
}
body.r86-page.r86-inner main [class*="_nextSection_"] h2 { color: #f0f0ec !important; }
body.r86-page.r86-inner main [class*="_nextSection_"] p:not([class*="_eyebrow_"]) { color: #bfc4be !important; }
body.r86-page.r86-inner main [class*="_nextSection_"] a { color: #e4e7df !important; border-color: rgba(216,233,154,.48) !important; }

/* Native cases keep their task-specific paper layout, but the accent must
   remain legible when the mother system is applied. */
body.r86-page.r86-cases :is(.case84-hero .eyebrow, .case84-section-head .eyebrow, .case84-broad-link .eyebrow) {
  color: #5d6662 !important;
}

/* Shared home footer lockup. refinement83-visual upgrades the r83-wordmark
   to the slow per-character metal canvas; the text remains the accessible
   fallback when WebGL is unavailable. */
body.r89-static.r86-home .footer-brand-lockup-v106 {
  display: grid;
  justify-items: center;
  gap: 18px;
  padding: 16px 0 10px;
  text-align: center;
}
body.r89-static.r86-home .footer-brand-lockup-v106 .footer54-heading a {
  color: #c8aa75 !important;
  font-size: 15px;
  letter-spacing: .08em;
}
body.r89-static.r86-home .footer-brand-lockup-v106 .r83-wordmark {
  display: block;
  width: min(920px, 86vw);
  min-height: 112px;
  color: #eef0eb !important;
  text-decoration: none !important;
}
body.r89-static.r86-home .footer-brand-lockup-v106 .r83-wordmark-text {
  display: inline-block;
  font-size: clamp(56px, 10vw, 142px);
  font-weight: 900;
  letter-spacing: -.08em;
  line-height: .95;
  color: #eef0eb !important;
  text-shadow: 1px 1px #aeb4b1, 4px 6px #596260, 0 22px 34px rgba(0,0,0,.58);
}
body.r89-static footer .r83-wordmark,
body.r86-page footer .r83-wordmark {
  position: relative !important;
  height: clamp(86px, 10vw, 142px) !important;
  min-height: 0 !important;
  overflow: hidden !important;
}
body.r89-static footer .r83-wordmark-canvas,
body.r86-page footer .r83-wordmark-canvas {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}
body.r89-static footer .r83-wordmark-text,
body.r86-page footer .r83-wordmark-text {
  position: absolute !important;
  inset: 0 !important;
  display: grid !important;
  place-items: center !important;
}
body.r89-static.r86-home .footer-brand-lockup-v106 .footer54-baseline {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #aebbb7;
  font-size: 12px;
  letter-spacing: .12em;
}
body.r89-static.r86-home .footer-brand-lockup-v106 .footer54-baseline i { color: #c8aa75; font-style: normal; }

/* The client proof follows the first-screen arrow directly. Preserve a
   deliberate breath, but remove the empty black band that made the section
   look disconnected from the hero in a short desktop viewport. */
body.r89-static.r86-home .proof-wall,
body.r86-page.r86-home .proof-wall { padding-top: 42px !important; }
body.r89-static.r86-home .trust-heading-v47,
body.r86-page.r86-home .trust-heading-v47 { padding-top: 30px !important; padding-bottom: 30px !important; }

/* Anchor jumps from the hero's growth rail must leave the sticky header's
   lower edge clear of the client-proof eyebrow and heading. */
body.r89-static.r86-home #client-proof,
body.r86-page.r86-home #client-proof { scroll-margin-top: 96px; }

/* Route-level mother visual: reviewed cases and public events must share the
   homepage's graphite/network language instead of falling back to paper-white
   editorial chrome. The content structure stays intact; only the visual
   surface, contrast and interaction states are unified here. */
body.r89-static.r86-cases,
body.r86-page.r86-cases,
body.r89-static.r86-events,
body.r86-page.r86-inner:has(main[class*="_page_"]) {
  background: #151719 !important;
  color: #f1f3ee !important;
}
body.r89-static.r86-cases .z-site,
body.r86-page.r86-cases .z-site,
body.r89-static.r86-events main,
body.r86-page.r86-inner:has(main[class*="_page_"]) main {
  background:
    radial-gradient(circle at 72% 16%, rgba(91, 145, 151, .16), transparent 28%),
    radial-gradient(circle at 18% 65%, rgba(174, 181, 102, .08), transparent 24%),
    repeating-linear-gradient(116deg, rgba(255,255,255,.035) 0 1px, transparent 1px 88px),
    #151719 !important;
  color: #f1f3ee !important;
}
body.r89-static.r86-cases .z-page-hero {
  min-height: min(720px, calc(100svh - 88px));
  display: flex;
  align-items: center;
  background:
    radial-gradient(circle at 50% 42%, rgba(138, 155, 164, .15), transparent 24%),
    repeating-linear-gradient(31deg, transparent 0 94px, rgba(210,224,224,.07) 95px 96px, transparent 97px 188px),
    repeating-linear-gradient(149deg, transparent 0 132px, rgba(210,224,224,.055) 133px 134px, transparent 135px 264px),
    #151719 !important;
  border-bottom: 1px solid rgba(222,232,224,.22) !important;
}
body.r89-static.r86-cases .z-page-hero::after { display: none !important; }
body.r89-static.r86-cases .z-page-hero h1,
body.r86-page.r86-cases .z-page-hero h1,
body.r89-static.r86-events main h1,
body.r86-page.r86-inner:has(main[class*="_page_"]) main h1 { color: #f4f5f1 !important; }
body.r89-static.r86-cases .z-page-hero .z-lead,
body.r86-page.r86-cases .z-page-hero .z-lead,
body.r89-static.r86-events main p,
body.r86-page.r86-inner:has(main[class*="_page_"]) main p { color: #c4cbd0 !important; }
body.r89-static.r86-cases .z-kicker,
body.r86-page.r86-cases .z-kicker,
body.r89-static.r86-events [class*="eyebrow"],
body.r86-page.r86-inner:has(main[class*="_page_"]) [class*="eyebrow"] { color: #c8aa75 !important; }
body.r89-static.r86-cases .z-section,
body.r86-page.r86-cases .z-section,
body.r89-static.r86-events main > section,
body.r86-page.r86-inner:has(main[class*="_page_"]) main > section { background: transparent !important; color: #f1f3ee !important; border-color: rgba(222,232,224,.16) !important; }
body.r89-static.r86-cases .z-section h2,
body.r86-page.r86-cases .z-section h2,
body.r89-static.r86-events main h2,
body.r86-page.r86-inner:has(main[class*="_page_"]) main h2 { color: #eef2ec !important; }
body.r89-static.r86-cases .z-section a,
body.r86-page.r86-cases .z-section a,
body.r89-static.r86-events main a,
body.r86-page.r86-inner:has(main[class*="_page_"]) main a { color: #c8aa75 !important; }
body.r89-static.r86-cases .z-section a:hover,
body.r86-page.r86-cases .z-section a:hover,
body.r89-static.r86-events main a:hover,
body.r86-page.r86-inner:has(main[class*="_page_"]) main a:hover { color: #ffffff !important; }
body.r89-static.r86-cases .z-section > :is(a,article,.card),
body.r86-page.r86-cases .z-section > :is(a,article,.card),
body.r89-static.r86-events main [class*="card"],
body.r86-page.r86-inner:has(main[class*="_page_"]) main [class*="card"] {
  background: rgba(30, 33, 36, .86) !important;
  border-color: rgba(222,232,224,.20) !important;
  color: #eef1eb !important;
  box-shadow: 0 22px 55px rgba(0,0,0,.18) !important;
}
body.r89-static.r86-events main > header,
body.r86-page.r86-inner:has(main[class*="_page_"]) main > header {
  background:
    radial-gradient(circle at 77% 18%, rgba(105, 142, 158, .24), transparent 22%),
    radial-gradient(circle at 20% 74%, rgba(200, 170, 117, .10), transparent 22%),
    repeating-linear-gradient(90deg, rgba(216,231,229,.06) 0 1px, transparent 1px 94px),
    repeating-linear-gradient(0deg, rgba(216,231,229,.045) 0 1px, transparent 1px 94px),
    #151719 !important;
  border-color: rgba(222,232,224,.22) !important;
}
body.r89-static.r86-events main [class*="hero"] em,
body.r86-page.r86-inner:has(main[class*="_page_"]) main [class*="hero"] em { color: #c8aa75 !important; }
body.r89-static.r86-events main [class*="section"],
body.r86-page.r86-inner:has(main[class*="_page_"]) main [class*="section"] { background: transparent !important; }
body.r89-static.r86-events main [class*="darkSection"],
body.r86-page.r86-inner:has(main[class*="_page_"]) main [class*="darkSection"] { background: rgba(9, 14, 16, .52) !important; }

/* Very low-frequency surface drift gives long sections depth without
   moving copy or creating a flashing background. */
@keyframes u107-surface-drift { from { background-position: 0 0, 0 0; } to { background-position: 64px 32px, -32px 64px; } }
body.r89-static.r86-home :is(.home-method-system, .home-journal-v48, .home-contact) { animation: u107-surface-drift 34s linear infinite; }
@media (prefers-reduced-motion: reduce) {
  body.r89-static.r86-home :is(.home-method-system, .home-journal-v48, .home-contact) { animation: none !important; }
}

/* FULL-UPGRADE-111 · shared desktop navigation order.
   Keep the six confirmed top-level items aligned across native and reviewed
   shells: start, services, work, learning, about, contact. */
@media (min-width: 871px) {
  ._desktopNav_113ge_10 > .r83-start-link,
  .desktopNav > .r83-start-link,
  .purpose-header .mega-nav > .nav-direct:first-child { order: 1 !important; }
  ._desktopNav_113ge_10 > .r83-service-menu,
  .desktopNav > .r83-service-menu,
  .purpose-header .mega-nav > .r83-service-menu { order: 2 !important; }
  ._desktopNav_113ge_10 > .i82-case-nav:not(.r83-learn-nav):not(.r83-about-nav),
  .desktopNav > .i82-case-nav:not(.r83-learn-nav):not(.r83-about-nav),
  .purpose-header .mega-nav > .i82-case-nav:not(.r83-learn-nav):not(.r83-about-nav) { order: 3 !important; }
  ._desktopNav_113ge_10 > .r83-learn-nav,
  .desktopNav > .r83-learn-nav,
  .purpose-header .mega-nav > .r83-learn-nav { order: 4 !important; }
  ._desktopNav_113ge_10 > .r83-about-nav,
  .desktopNav > .r83-about-nav,
  .purpose-header .mega-nav > .r83-about-nav { order: 5 !important; }
  ._desktopNav_113ge_10 > ._contactButton_113ge_11,
  .desktopNav > .contactButton,
  .desktopNav > .nav-contact-direct,
  .purpose-header .mega-nav > .nav-contact-direct { order: 6 !important; }
}

/* FULL-UPGRADE-111B · bring the native case collection onto the same
   graphite mother surface as the homepage.  The case page keeps its
   information architecture and evidence cards, while the paper-white shell
   is removed so the first view no longer feels like a separate website. */
body.r86-page.r86-cases,
body.r86-page.r86-cases main.case84-page {
  background: #151719 !important;
  color: #f1f3ee !important;
}
body.r86-page.r86-cases main.case84-page > section {
  background: transparent !important;
  color: #f1f3ee !important;
  border-color: rgba(222,232,224,.16) !important;
}
body.r86-page.r86-cases .case84-hero {
  background:
    radial-gradient(circle at 78% 18%, rgba(101,143,154,.22), transparent 25%),
    radial-gradient(circle at 20% 76%, rgba(204,220,137,.09), transparent 24%),
    repeating-linear-gradient(90deg, rgba(216,231,229,.055) 0 1px, transparent 1px 94px),
    repeating-linear-gradient(0deg, rgba(216,231,229,.04) 0 1px, transparent 1px 94px),
    #151719 !important;
  border-bottom: 1px solid rgba(222,232,224,.22) !important;
}
body.r86-page.r86-cases .case84-hero :is(h1,h2),
body.r86-page.r86-cases .case84-navigation :is(h1,h2),
body.r86-page.r86-cases .case84-projects :is(h1,h2),
body.r86-page.r86-cases .case-featured-v46 :is(h1,h2),
body.r86-page.r86-cases .customer-roster-v47 :is(h1,h2),
body.r86-page.r86-cases .case-history-v46 :is(h1,h2) { color: #f4f5f1 !important; }
body.r86-page.r86-cases .case84-hero :is(p,span),
body.r86-page.r86-cases .case84-navigation :is(p,span),
body.r86-page.r86-cases .case84-projects :is(p,span),
body.r86-page.r86-cases .case-featured-v46 :is(p,span),
body.r86-page.r86-cases .customer-roster-v47 :is(p,span),
body.r86-page.r86-cases .case-history-v46 :is(p,span) { color: #c4cbd0 !important; }
body.r86-page.r86-cases .case84-page :is(a,button) { color: #c8aa75 !important; }
body.r86-page.r86-cases .case84-page :is(a,button):hover { color: #ffffff !important; }
body.r86-page.r86-cases .case84-page :is(.case84-navigation, .case84-projects, .customer-roster-v47, .case-history-v46) {
  background: rgba(11,15,17,.28) !important;
}
body.r86-page.r86-cases .case84-page :is(.case84-card, .case84-project-card, .case-card, article, .case-featured-v46 > div) {
  background: rgba(30,33,36,.9) !important;
  border-color: rgba(222,232,224,.2) !important;
  color: #eef1eb !important;
}
body.r86-page.r86-cases .case84-page :is(input, select, [role="combobox"]) {
  color: #f1f3ee !important;
  background: rgba(30,33,36,.9) !important;
  border-color: rgba(222,232,224,.28) !important;
}

/* FULL-UPGRADE-113 · case detail hierarchy and overflow guard.
   The detail page follows the same industrial/search-network mother as the
   homepage, while keeping the evidence sequence readable: context first,
   work second, measured outcomes third, and a clear next action. */
body.r86-page.r86-case-detail {
  --u113-carbon: #0d0d0f;
  --u113-panel: rgba(20, 31, 35, .88);
  --u113-panel-strong: rgba(24, 38, 42, .96);
  --u113-ink: #f1f4ef;
  --u113-muted: #b7c2c0;
  --u113-line: rgba(205, 207, 210, .2);
  --u113-signal: #c8aa75;
  background: var(--u113-carbon) !important;
}
body.r86-page.r86-case-detail .project-page {
  position: relative;
  isolation: isolate;
  overflow: clip;
  background: var(--u113-carbon) !important;
  color: var(--u113-ink) !important;
}
body.r86-page.r86-case-detail .project-page::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 720px;
  z-index: -1;
  pointer-events: none;
  opacity: .65;
  background:
    radial-gradient(circle at 76% 18%, rgba(178, 185, 190, .2), transparent 24%),
    radial-gradient(circle at 18% 34%, rgba(200, 170, 117, .09), transparent 28%),
    repeating-linear-gradient(90deg, rgba(207, 229, 224, .045) 0 1px, transparent 1px 92px),
    repeating-linear-gradient(0deg, rgba(207, 229, 224, .035) 0 1px, transparent 1px 92px);
  mask-image: linear-gradient(180deg, #000, transparent 92%);
}
body.r86-page.r86-case-detail .project-hero {
  position: relative;
  padding: 34px 0 78px !important;
  border-bottom: 1px solid var(--u113-line) !important;
  background: linear-gradient(180deg, rgba(11,17,20,.2), rgba(11,17,20,.76));
}
body.r86-page.r86-case-detail .project-hero .container { max-width: 1280px; }
body.r86-page.r86-case-detail .project-hero .breadcrumbs {
  margin-bottom: 54px;
  color: #9eafad;
}
body.r86-page.r86-case-detail .project-hero .breadcrumbs a:hover { color: var(--u113-signal) !important; }
body.r86-page.r86-case-detail .project-hero-grid {
  grid-template-columns: minmax(0, 1.16fr) minmax(310px, .84fr) !important;
  gap: clamp(42px, 6vw, 92px) !important;
  align-items: start !important;
}
body.r86-page.r86-case-detail .project-opening-v43 { min-width: 0; max-width: 760px; }
body.r86-page.r86-case-detail .project-client-v43 {
  display: grid !important;
  grid-template-columns: minmax(190px, 246px) minmax(0, 1fr) !important;
  grid-template-rows: auto auto;
  gap: 10px 22px !important;
  align-items: center;
  min-height: 142px !important;
  margin-bottom: 30px !important;
}
body.r86-page.r86-case-detail .project-client-v43 .case84-industry-visual-detail {
  grid-column: 1;
  grid-row: 1 / span 2;
  width: auto !important;
  min-height: 142px !important;
  margin: 0 !important;
  padding: 22px !important;
  justify-content: flex-end !important;
  align-items: flex-start !important;
  text-align: left !important;
  border: 1px solid rgba(117,175,176,.48) !important;
  border-radius: 16px !important;
  background:
    radial-gradient(circle at 78% 18%, rgba(216,233,154,.1), transparent 42%),
    linear-gradient(145deg, rgba(46,50,51,.94), rgba(11,15,17,.98)) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.09), 0 18px 48px rgba(0,0,0,.22);
  overflow: hidden;
}
body.r86-page.r86-case-detail .case84-industry-visual-detail::before {
  content: "";
  position: absolute;
  inset: 12px;
  border: 1px solid rgba(216,233,154,.17);
  border-radius: 11px;
  pointer-events: none;
  animation: u113-visual-pulse 8s ease-in-out infinite;
}
body.r86-page.r86-case-detail .case84-industry-visual-detail span { color: var(--u113-signal) !important; }
body.r86-page.r86-case-detail .case84-industry-visual-detail strong {
  max-width: 190px;
  color: var(--u113-ink) !important;
  font-size: clamp(18px, 2vw, 25px) !important;
}
body.r86-page.r86-case-detail .project-client-v43 .brand-typeset {
  display: block !important;
  align-self: end;
  color: var(--u113-ink) !important;
  font-size: clamp(20px, 2.2vw, 32px) !important;
  line-height: 1.35 !important;
}
body.r86-page.r86-case-detail .project-client-v43 .brand-typeset + .project-client-name { display: none !important; }
body.r86-page.r86-case-detail .project-tags { margin-bottom: 22px; }
body.r86-page.r86-case-detail .project-tags a,
body.r86-page.r86-case-detail .project-tags > span {
  color: #d8e4df !important;
  border-color: rgba(190,219,213,.3) !important;
  background: rgba(255,255,255,.045) !important;
}
body.r86-page.r86-case-detail .project-tags a:hover { color: var(--u113-signal) !important; border-color: var(--u113-signal) !important; }
body.r86-page.r86-case-detail .project-hero h1 {
  max-width: 760px;
  margin-bottom: 24px !important;
  color: var(--u113-ink) !important;
  font-size: clamp(40px, 4.2vw, 66px) !important;
  line-height: 1.13 !important;
  letter-spacing: -.055em !important;
}
body.r86-page.r86-case-detail .project-lead {
  max-width: 710px;
  color: var(--u113-muted) !important;
  font-size: 17px !important;
  line-height: 1.95 !important;
}
body.r86-page.r86-case-detail .project-opening-links-v43 { gap: 26px; margin-top: 30px; }
body.r86-page.r86-case-detail .project-opening-links-v43 .text-link { color: var(--u113-signal) !important; }
body.r86-page.r86-case-detail .project-opening-links-v43 .text-link:hover { color: #fff !important; }
body.r86-page.r86-case-detail .case-metric-hero-v49 {
  align-self: start;
  margin-top: 48px;
  padding: 28px !important;
  border: 1px solid rgba(117,175,176,.42) !important;
  border-radius: 18px !important;
  background:
    linear-gradient(145deg, rgba(24,38,42,.96), rgba(13,21,24,.92)) !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.28), inset 0 1px rgba(255,255,255,.07);
}
body.r86-page.r86-case-detail .case-metric-hero-v49 .case-metric-hero-group-v49 {
  background: linear-gradient(145deg, rgba(31,35,37,.94), rgba(15,19,21,.98)) !important;
  border-color: rgba(222,229,224,.2) !important;
}
body.r86-page.r86-case-detail .case-metric-hero-v49 :is(.case-metric-hero-row-v49, .case-metric-hero-heading-v49) {
  border-color: rgba(225,228,221,.16) !important;
}
body.r86-page.r86-case-detail .case-metric-hero-v49 :is(h2,h3,h4,strong) { color: var(--u113-ink) !important; }
body.r86-page.r86-case-detail .case-metric-hero-v49 :is(p,small) { color: var(--u113-muted) !important; }
body.r86-page.r86-case-detail .case-metric-hero-v49 strong { color: var(--u113-signal) !important; }
body.r86-page.r86-case-detail .case-metric-hero-v49 .case-metric-hero-heading-v49 { border-bottom-color: var(--u113-line) !important; }
body.r86-page.r86-case-detail .c84-project-summary {
  max-width: 1280px;
  margin: 0 auto;
  padding: 28px 28px 34px !important;
  border-color: var(--u113-line) !important;
  background: rgba(20,31,35,.72);
}
body.r86-page.r86-case-detail .c84-project-summary dt { color: #8fa5a1 !important; }
body.r86-page.r86-case-detail .c84-project-summary dd { color: var(--u113-ink) !important; }
body.r86-page.r86-case-detail .c84-project-summary a { color: var(--u113-signal) !important; }
body.r86-page.r86-case-detail .project-narrative { max-width: 1280px; padding-top: 0 !important; }
body.r86-page.r86-case-detail .project-jumpnav {
  position: sticky;
  top: 86px;
  z-index: 4;
  display: flex;
  gap: 24px;
  margin: 0 -28px;
  padding: 17px 28px !important;
  border-bottom: 1px solid var(--u113-line);
  background: rgba(11,17,20,.86);
  backdrop-filter: blur(16px);
}
body.r86-page.r86-case-detail .project-jumpnav a { color: #b8c8c5 !important; }
body.r86-page.r86-case-detail .project-jumpnav a:hover { color: var(--u113-signal) !important; }
body.r86-page.r86-case-detail .project-chapter {
  grid-template-columns: minmax(230px, .72fr) minmax(0, 1.45fr) !important;
  gap: clamp(42px, 7vw, 100px) !important;
  padding: 92px 0 !important;
  border-bottom: 1px solid var(--u113-line) !important;
  border-top: 0 !important;
}
body.r86-page.r86-case-detail .project-chapter:nth-of-type(even) { background: linear-gradient(90deg, transparent, rgba(117,175,176,.045), transparent); }
body.r86-page.r86-case-detail .chapter-label { position: sticky; top: 150px; align-self: start; }
body.r86-page.r86-case-detail .chapter-label small { color: var(--u113-signal) !important; font-size: 12px; letter-spacing: .18em; }
body.r86-page.r86-case-detail .chapter-label h2 { color: var(--u113-ink) !important; font-size: clamp(28px, 3vw, 46px) !important; line-height: 1.27 !important; letter-spacing: -.045em; }
body.r86-page.r86-case-detail .chapter-content > p,
body.r86-page.r86-case-detail .project-prose-items p { color: var(--u113-muted) !important; font-size: 17px !important; line-height: 1.95 !important; }
body.r86-page.r86-case-detail .project-prose-items > div,
body.r86-page.r86-case-detail .project-work-steps li,
body.r86-page.r86-case-detail .case-channel-metric-v49 {
  border-color: var(--u113-line) !important;
  background: rgba(20,31,35,.58);
  border-radius: 14px;
}
body.r86-page.r86-case-detail .project-prose-items > div { padding: 24px 26px; margin-top: 16px; }
body.r86-page.r86-case-detail .project-prose-items h3,
body.r86-page.r86-case-detail .project-work-steps h3,
body.r86-page.r86-case-detail .case-channel-metric-v49 h4 { color: var(--u113-ink) !important; }
body.r86-page.r86-case-detail .project-work-steps { gap: 12px; }
body.r86-page.r86-case-detail .project-work-steps li { padding: 24px 26px !important; }
body.r86-page.r86-case-detail .work-step-number { color: var(--u113-signal) !important; }
body.r86-page.r86-case-detail .case-result-groups-v49 { margin-top: 28px; }
body.r86-page.r86-case-detail .case-channel-results-v49 { border-color: var(--u113-line) !important; background: rgba(20,31,35,.46) !important; }
body.r86-page.r86-case-detail .case-channel-heading-v49 { border-color: var(--u113-line) !important; }
body.r86-page.r86-case-detail .case-channel-heading-v49 h3 { color: var(--u113-signal) !important; }
body.r86-page.r86-case-detail .case-channel-metrics-v49 { gap: 14px; }
body.r86-page.r86-case-detail .case-channel-metric-v49 { padding: 24px !important; border: 1px solid var(--u113-line) !important; }
body.r86-page.r86-case-detail .case-channel-metric-v49 strong { color: var(--u113-signal) !important; font-size: clamp(34px, 4vw, 58px) !important; }
body.r86-page.r86-case-detail .case82-flow { border-color: var(--u113-line) !important; background: rgba(20,31,35,.72) !important; }
body.r86-page.r86-case-detail .case82-flow li { border-color: var(--u113-line) !important; color: var(--u113-ink) !important; }
body.r86-page.r86-case-detail .project-services { background: linear-gradient(145deg, #202124, #0c1316) !important; border-top: 1px solid var(--u113-line); border-bottom: 1px solid var(--u113-line); }
body.r86-page.r86-case-detail .project-services h2 { color: var(--u113-ink) !important; }
body.r86-page.r86-case-detail .project-services a strong { color: var(--u113-ink) !important; }
body.r86-page.r86-case-detail .project-services a span { color: var(--u113-muted) !important; }
body.r86-page.r86-case-detail .c84-project-collections { border-top-color: var(--u113-line) !important; }
body.r86-page.r86-case-detail .c84-project-collections h2 { color: var(--u113-ink) !important; }
body.r86-page.r86-case-detail .c84-project-collections a { border-color: var(--u113-line) !important; color: var(--u113-ink) !important; }
body.r86-page.r86-case-detail .c84-project-collections a:hover { border-color: var(--u113-signal) !important; color: var(--u113-signal) !important; }
body.r86-page.r86-case-detail .footer48-finale .r83-wordmark {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: clamp(86px, 9vw, 142px) !important;
  overflow: hidden !important;
  contain: paint;
}
body.r86-page.r86-case-detail .footer48-finale .r83-wordmark-text {
  position: absolute !important;
  inset: 0 !important;
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  color: #edf2ec !important;
  font-size: clamp(42px, 8vw, 112px) !important;
  line-height: .92 !important;
  letter-spacing: -.08em !important;
  text-shadow: 0 12px 42px rgba(117,175,176,.2);
}
body.r86-page.r86-case-detail .footer48-finale .r83-wordmark-canvas { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; }
/* The WebGL lockup is the animated presentation only after it has rendered;
   before that, the accessible text fallback remains visible. Never show two
   competing wordmarks at once. */
body.r86-page.r86-case-detail .footer48-finale .r83-wordmark[data-r83-rendered="true"] .r83-wordmark-text,
body.r89-static .footer48-finale .r83-wordmark[data-r83-rendered="true"] .r83-wordmark-text {
  opacity: 0 !important;
  visibility: hidden !important;
}
body.r86-page.r86-case-detail .footer48-finale .r83-wordmark-canvas,
body.r89-static .footer48-finale .r83-wordmark-canvas {
  display: none !important;
}
body.r86-page.r86-case-detail .footer48-finale .r83-wordmark-text,
body.r89-static .footer48-finale .r83-wordmark-text {
  z-index: 1;
  opacity: 1 !important;
  visibility: visible !important;
  background: linear-gradient(108deg, #f7faf7 0%, #aeb8bc 30%, #ffffff 46%, #7f8a90 68%, #eef3f0 84%, #ffffff 100%);
  background-size: 220% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: u113-wordmark-sheen 10s ease-in-out infinite;
  transform: translate3d(0, 0, 0);
}
@keyframes u113-wordmark-sheen { 0%,100% { background-position: 0% 50%; transform: translate3d(0,0,0); } 50% { background-position: 100% 50%; transform: translate3d(0,-2px,0); } }
@media (prefers-reduced-motion: reduce) { body.r86-page.r86-case-detail .footer48-finale .r83-wordmark-text, body.r89-static .footer48-finale .r83-wordmark-text { animation: none; } }
@keyframes u113-visual-pulse { 0%,100% { opacity: .45; transform: scale(1); } 50% { opacity: .95; transform: scale(1.015); } }
@media (prefers-reduced-motion: reduce) { body.r86-page.r86-case-detail .case84-industry-visual-detail::before { animation: none; } }
@media (max-width: 900px) {
  body.r86-page.r86-case-detail .project-hero-grid { grid-template-columns: 1fr !important; }
  body.r86-page.r86-case-detail .case-metric-hero-v49 { margin-top: 0; max-width: 720px; }
  body.r86-page.r86-case-detail .chapter-label { position: static; }
}
@media (max-width: 620px) {
  body.r86-page.r86-case-detail .project-hero { padding: 25px 0 48px !important; }
  body.r86-page.r86-case-detail .project-hero .breadcrumbs { margin-bottom: 32px; }
  body.r86-page.r86-case-detail .project-client-v43 { grid-template-columns: 1fr !important; min-height: 0 !important; }
  body.r86-page.r86-case-detail .project-client-v43 .case84-industry-visual-detail { grid-column: 1; grid-row: auto; min-height: 156px !important; }
  body.r86-page.r86-case-detail .project-client-v43 .brand-typeset { font-size: 22px !important; }
  body.r86-page.r86-case-detail .project-hero h1 { font-size: 36px !important; }
  body.r86-page.r86-case-detail .project-lead { font-size: 15px !important; }
  body.r86-page.r86-case-detail .project-jumpnav { top: 73px; margin-inline: -20px; padding-inline: 20px !important; overflow-x: auto; white-space: nowrap; }
  body.r86-page.r86-case-detail .project-chapter { display: block !important; padding: 62px 0 !important; }
  body.r86-page.r86-case-detail .chapter-label { margin-bottom: 26px; }
  body.r86-page.r86-case-detail .chapter-content > p,
  body.r86-page.r86-case-detail .project-prose-items p { font-size: 15px !important; }
  body.r86-page.r86-case-detail .project-prose-items > div,
  body.r86-page.r86-case-detail .project-work-steps li { padding: 20px !important; }
}
/* FINAL-CASE-DETAIL-113: keep the metric surface in the graphite mother
   palette. The legacy group carries an inline purple gradient; explicitly
   replace both the image and color layers so it cannot overpower the case
   hierarchy. */
body.r86-page.r86-case-detail .case-metric-hero-group-v49,
body.r86-page.r86-case-detail .case-metric-hero-v49 > .case-metric-hero-group-v49 {
  background-color: #1f2325 !important;
  background-image: linear-gradient(145deg, rgba(31,35,37,.98), rgba(15,19,21,.99)) !important;
  border-color: rgba(222,229,224,.2) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.08), 0 18px 44px rgba(0,0,0,.2) !important;
}
/* FINAL-HOME-PLATFORMS-113: platform links are a navigation aid inside the
   mother scene, so their labels must remain legible on the graphite surface. */
body.r89-static.r86-home .home-platforms-v38 nav a,
body.r86-page.r86-home .home-platforms-v38 nav a {
  color: #edf2ec !important;
  border-color: rgba(225,231,225,.24) !important;
  text-shadow: 0 0 18px rgba(117,175,176,.12);
}
body.r89-static.r86-home .home-platforms-v38 nav a span,
body.r86-page.r86-home .home-platforms-v38 nav a span {
  color: #aebcb8 !important;
}
body.r89-static.r86-home .home-platforms-v38 nav a:is(:hover,:focus-visible),
body.r86-page.r86-home .home-platforms-v38 nav a:is(:hover,:focus-visible) {
  color: #c8aa75 !important;
  border-color: rgba(216,233,154,.62) !important;
  background: rgba(117,175,176,.14) !important;
  box-shadow: 0 10px 30px rgba(0,0,0,.2), inset 0 1px rgba(255,255,255,.1);
}
/* FINAL-HOME-FAQ-113: FAQ cards remain dark in the mother scene; reset the
   inherited paper-theme ink token so the question row does not disappear. */
body.r89-static.r86-home .home-faq .faq-item summary,
body.r86-page.r86-home .home-faq .faq-item summary,
body.r89-static.r86-home .home-faq .faq-item summary span,
body.r86-page.r86-home .home-faq .faq-item summary span {
  color: #edf2ec !important;
  text-shadow: 0 0 16px rgba(117,175,176,.1);
}
body.r89-static.r86-home .home-faq .faq-item summary:is(:hover,:focus-visible),
body.r86-page.r86-home .home-faq .faq-item summary:is(:hover,:focus-visible) {
  color: #c8aa75 !important;
}
/* FINAL-LOGO-WALL-113: JPEG/PNG marks carry light paper backgrounds. In the
   quiet state invert them into silver-on-graphite so the wall reads as one
   field; hover restores the supplied brand artwork and color. */
body.r89-static.r86-home .trust-mark-v47 img,
body.r86-page.r86-home .trust-mark-v47 img {
  filter: grayscale(1) contrast(1.28) invert(1) brightness(.9) !important;
  mix-blend-mode: screen !important;
  opacity: .72 !important;
}
body.r89-static.r86-home .trust-mark-v47:is(:hover,:focus-visible) img,
body.r86-page.r86-home .trust-mark-v47:is(:hover,:focus-visible) img {
  filter: none !important;
  mix-blend-mode: normal !important;
  opacity: 1 !important;
}
/* FINAL-WORDMARK-114: a controlled depth motion replaces the retired
   per-glyph WebGL spin. It keeps one readable lockup while giving the silver
   footer mark a slow studio-light/3D presence like the reference footer. */
body.r89-static .footer48-finale .r83-wordmark-text,
body.r86-page .footer48-finale .r83-wordmark-text {
  perspective: 1200px;
  transform-style: preserve-3d;
  animation:
    u113-wordmark-sheen 10s ease-in-out infinite,
    u114-wordmark-depth 12s ease-in-out infinite !important;
  text-shadow:
    0 2px 0 rgba(255,255,255,.18),
    0 8px 0 rgba(110,120,124,.34),
    0 16px 32px rgba(0,0,0,.38),
    0 0 28px rgba(117,175,176,.14);
}
@keyframes u114-wordmark-depth {
  0%,100% { transform: perspective(1200px) rotateX(0deg) rotateY(-1.2deg) translate3d(0,0,0); }
  50% { transform: perspective(1200px) rotateX(1.8deg) rotateY(1.2deg) translate3d(0,-3px,0); }
}
@media (prefers-reduced-motion: reduce) {
  body.r89-static .footer48-finale .r83-wordmark-text,
  body.r86-page .footer48-finale .r83-wordmark-text {
    animation: none !important;
    transform: none !important;
  }
}


/* MOTHER-FINAL-115: one neutral visual system, with no green light wash. */
:root { --mf-bg:#0d0d0f; --mf-bg-2:#171719; --mf-panel:#202124; --mf-ink:#f3f2ee; --mf-muted:#b8b7b1; --mf-line:rgba(205,207,210,.22); --mf-accent:#c8aa75; --mf-silver:#d9dcda; }
body.r89-static, body.r86-page { background:var(--mf-bg)!important; color:var(--mf-ink)!important; }
body.r89-static .site-header, body.r86-page .site-header { background:rgba(13,13,15,.94)!important; border-bottom-color:rgba(205,207,210,.24)!important; box-shadow:0 16px 42px rgba(0,0,0,.38)!important; }
body.r89-static .site-header::after, body.r86-page .site-header::after { background:linear-gradient(90deg,transparent,rgba(205,207,210,.42),rgba(200,170,117,.62),transparent)!important; }
body.r89-static .purpose-header .mega-nav > :is(.i82-case-nav,.r83-service-menu,.nav-direct)::after, body.r86-page .purpose-header .mega-nav > :is(.i82-case-nav,.r83-service-menu,.nav-direct)::after { background:var(--mf-accent)!important; }
body.r89-static .r83-service-panel, body.r89-static .r86-learning-panel, body.r89-static .r89-research-nav nav, body.r86-page .r83-service-panel, body.r86-page .r86-learning-panel, body.r86-page .r89-research-nav nav { background:#171719!important; border-color:rgba(205,207,210,.28)!important; }
body.r89-static .r83-service-panel a:hover, body.r89-static .r86-learning-panel a:hover, body.r89-static .r89-research-nav nav a:hover, body.r86-page .r83-service-panel a:hover, body.r86-page .r86-learning-panel a:hover, body.r86-page .r89-research-nav nav a:hover { background:rgba(205,207,210,.08)!important; }

/* Hero: silver network lines and a single warm signal, never a green colour field. */
body.r89-static.r86-home .revised-hero.home-statement { background:#121214!important; border-bottom-color:rgba(205,207,210,.2)!important; }
body.r89-static.r86-home .hero-v2-scene, body.r89-static.r86-home .hero-v2-environment { background:#121214!important; }
body.r89-static.r86-home .hero-v2-scene::before, body.r89-static.r86-home .hero-v2-scene::after, body.r86-page.r86-home .hero-v2-scene::before, body.r86-page.r86-home .hero-v2-scene::after { background:none!important; opacity:0!important; animation:none!important; box-shadow:none!important; }
body.r89-static.r86-home .hero-v2-environment { background:radial-gradient(ellipse at 50% 25%,rgba(230,232,228,.08),transparent 44%),#121214!important; }
body.r89-static.r86-home .hero-platform-network { opacity:.82!important; filter:saturate(.68) contrast(1.1) brightness(.92)!important; }
body.r89-static.r86-home .hero-atmosphere-v54 { opacity:.32!important; filter:grayscale(.18) saturate(.55)!important; }
body.r89-static.r86-home .hero-v2-room { opacity:.18!important; color:#b9bcc0!important; }
body.r89-static.r86-home .hero-content h1.hero-weight-v43 { color:#f5f4ef!important; max-width:980px!important; text-wrap:balance; letter-spacing:-.052em!important; line-height:1.13!important; }
body.r89-static.r86-home .hero-content > .eyebrow { color:#d1d0ca!important; }
body.r89-static.r86-home .hero-content > .eyebrow::before { color:var(--mf-accent)!important; }
body.r89-static.r86-home .hero-description { max-width:720px!important; color:rgba(233,232,226,.76)!important; text-wrap:balance; }
body.r89-static.r86-home .growth-route-line-v54 { background:rgba(205,207,210,.34)!important; }
body.r89-static.r86-home .growth-route-pulse-v54 { background:var(--mf-accent)!important; box-shadow:0 0 16px rgba(200,170,117,.42)!important; }
body.r89-static.r86-home .growth-stage-v54 strong { color:#efeee8!important; }
body.r89-static.r86-home .growth-stage-v54 small { color:#a9a9a4!important; }
body.r89-static.r86-home .growth-stage-dot-v54 { border-color:#bfc2c2!important; box-shadow:0 0 0 5px rgba(18,18,20,.92)!important; }
body.r89-static.r86-home .growth-stage-v54:hover strong { color:var(--mf-accent)!important; }

/* Final hero geometry: the first viewport stays one large composition across
   desktop heights instead of collapsing into a small panel. */
@media (min-width:901px) {
  body.r89-static.r86-home .revised-hero.home-statement, body.r86-page.r86-home .revised-hero.home-statement { height:calc(100svh - 84px)!important; min-height:760px!important; max-height:none!important; }
  body.r89-static.r86-home .hero-v2-stage, body.r86-page.r86-home .hero-v2-stage { top:8px!important; width:min(1180px,90vw)!important; height:330px!important; }
  body.r89-static.r86-home .hero-v2-fallback, body.r86-page.r86-home .hero-v2-fallback { font-size:clamp(74px,7.2vw,128px)!important; letter-spacing:-.08em!important; }
  body.r89-static.r86-home .hero-content, body.r86-page.r86-home .hero-content { padding-top:342px!important; }
  body.r89-static.r86-home .hero-content h1.hero-weight-v43, body.r86-page.r86-home .hero-content h1.hero-weight-v43 { font-size:clamp(52px,4.6vw,76px)!important; line-height:1.1!important; }
  body.r89-static.r86-home .hero-description, body.r86-page.r86-home .hero-description { font-size:clamp(17px,1.35vw,21px)!important; line-height:1.75!important; }
  body.r89-static.r86-home .hero-growth-route-v54, body.r86-page.r86-home .hero-growth-route-v54 { bottom:48px!important; width:min(780px,calc(100vw - 220px))!important; }
}
@media (min-width:901px) and (max-height:800px) {
  body.r89-static.r86-home .hero-v2-stage, body.r86-page.r86-home .hero-v2-stage { height:280px!important; }
  body.r89-static.r86-home .hero-content, body.r86-page.r86-home .hero-content { padding-top:292px!important; }
  body.r89-static.r86-home .hero-content h1.hero-weight-v43, body.r86-page.r86-home .hero-content h1.hero-weight-v43 { font-size:clamp(46px,4.4vw,64px)!important; }
  body.r89-static.r86-home .hero-description, body.r86-page.r86-home .hero-description { font-size:16px!important; line-height:1.6!important; }
  body.r89-static.r86-home .hero-growth-route-v54, body.r86-page.r86-home .hero-growth-route-v54 { bottom:28px!important; }
}

/* Editorial rhythm: one proposition, one supporting paragraph, one action. */
body.r89-static.r86-home :is(.home-capabilities-v41,.home-services-v41,.market-stages-v47,.customer-paths-v46,.home-method-system,.portfolio-strip,.home-platforms-v38,.home-journal-v48,.home-contact) { background-color:var(--mf-bg-2)!important; background-image:linear-gradient(90deg,rgba(205,207,210,.026) 1px,transparent 1px),linear-gradient(rgba(205,207,210,.026) 1px,transparent 1px)!important; }
body.r89-static.r86-home :is(.service-tile,.ms-v47-card,.cp-v46-card,.method-system-grid article,.journal-feature-v48,.journal-compact-v48) { background:#1d1e20!important; border-color:rgba(205,207,210,.2)!important; box-shadow:0 20px 54px rgba(0,0,0,.24)!important; }
body.r89-static.r86-home :is(.service-tile,.ms-v47-card,.cp-v46-card,.method-system-grid article,.journal-feature-v48,.journal-compact-v48):hover { border-color:rgba(200,170,117,.72)!important; background:#242528!important; }
body.r89-static.r86-home :is(.service-tile-top,.service-tile-bottom b,.ms-v47-link,.cp-v46-link,.journal-feature-v48 a,.journal-compact-v48 a) { color:var(--mf-accent)!important; }
body.r89-static.r86-home :is(h2,h3) { text-wrap:balance; }

/* Learning keeps the confirmed three-column resource submenu. */
body.r89-static .r83-learn-nav > details, body.r86-page .r83-learn-nav > details { display:block!important; }

/* Logo wall: quiet silver by default, supplied colour only on interaction. */
/* In the quiet state invert the supplied monochrome artwork before screen
   blending; this makes opaque white JPEG corners disappear into graphite while
   keeping the mark readable. Hover/focus below restores the original asset. */
body.r89-static.r86-home .trust-mark-v47 img, body.r86-page.r86-home .trust-mark-v47 img { filter:grayscale(1) invert(1) contrast(1.16) brightness(1.08)!important; mix-blend-mode:screen!important; opacity:.66!important; }
body.r89-static.r86-home .trust-mark-v47:is(:hover,:focus-visible) img, body.r86-page.r86-home .trust-mark-v47:is(:hover,:focus-visible) img { filter:none!important; mix-blend-mode:normal!important; opacity:1!important; }
body.r89-static.r86-home .trust-mark-v47:is(:hover,:focus-visible) { transform:translateY(-6px) scale(1.04)!important; }
body.r89-static.r86-home .trust-copy-v47, body.r86-page.r86-home .trust-copy-v47 { pointer-events:none!important; }

/* Homepage footer follows the supplied purple 3D phrase; inner pages use the information footer. */
body.r89-static.r86-home .footer48:has(.footer54-motion) .footer48-finale { background:radial-gradient(ellipse at 50% 115%,#5b3aa0 0%,#35245e 38%,#1d1b26 73%,#111113 100%)!important; border-top:1px solid rgba(225,218,239,.2)!important; }
body.r89-static.r86-home .footer54-type-face { background:linear-gradient(177deg,#a9a1b8 0%,#f4f0f7 21%,#d5cedd 42%,#766b82 50%,#f5eff9 54%,#c7bdd1 71%,#9c8cac 100%); background-clip:text; -webkit-background-clip:text; color:transparent!important; }
body.r89-static.r86-home .footer54-baseline { color:#d1c6df!important; }
body.r89-static.r86-home .footer54-baseline i { color:#e2cf9d!important; }
body.r89-static:not(.r86-home) .footer48-finale .r83-wordmark, body.r86-page:not(.r86-home) .footer48-finale .r83-wordmark { display:none!important; }
body.r89-static:not(.r86-home) .footer48-finale, body.r86-page:not(.r86-home) .footer48-finale { padding:20px 0 22px!important; background:#111113!important; border-top:1px solid rgba(205,207,210,.16)!important; }
body.r89-static:not(.r86-home) .footer48-statement, body.r86-page:not(.r86-home) .footer48-statement { max-width:620px; margin:0 0 22px; color:#deddd7; font-size:clamp(20px,2.5vw,34px); line-height:1.2; letter-spacing:-.045em; }
/* Information-first footer: neutral field, generous brand column, and a
   clear utility hierarchy like the reference agency footers. */
body.r89-static .footer48, body.r86-page .footer48 { background:#0d0d0f!important; border-top:1px solid rgba(205,207,210,.22)!important; }
body.r89-static .footer48-directory, body.r86-page .footer48-directory { background:#151517!important; }
body.r89-static .footer48-grid, body.r86-page .footer48-grid { column-gap:clamp(28px,4vw,72px)!important; row-gap:54px!important; padding-top:clamp(64px,8vw,108px)!important; padding-bottom:clamp(56px,7vw,96px)!important; }
body.r89-static .footer48-contact, body.r86-page .footer48-contact { max-width:500px!important; }
body.r89-static .footer48-contact .r83-footer-intro, body.r86-page .footer48-contact .r83-footer-intro { max-width:440px!important; color:#b8b9b4!important; font-size:15px!important; line-height:1.85!important; }
body.r89-static .footer48-name, body.r86-page .footer48-name { color:#f1f0eb!important; font-size:clamp(24px,2.8vw,42px)!important; letter-spacing:-.055em!important; }
body.r89-static .footer48-column h2, body.r86-page .footer48-column h2 { color:#d6c49a!important; letter-spacing:.12em!important; }
body.r89-static.r86-home .footer48-column h2, body.r86-page.r86-home .footer48-column h2 { color:#d6c49a!important; }
body.r86-page [data-refinement83-footer] .footer48-column h2,
body.r89-static [data-refinement83-footer] .footer48-column h2 { color:#d6c49a!important; }
body.r89-static .footer48-column a, body.r86-page .footer48-column a { color:#d3d3ce!important; }
body.r89-static .footer48-column a:hover, body.r86-page .footer48-column a:hover { color:#f1eee7!important; }
body.r89-static:not(.r86-home) .footer48-finale, body.r86-page:not(.r86-home) .footer48-finale { background:#0d0d0f!important; }

/* Case detail surfaces use the same graphite / silver / brass language as the
   home hero; remove the inherited teal treatment from the older case layer. */
body.r86-page.r86-case-detail .case84-industry-visual-detail { border-color:rgba(205,207,210,.34)!important; background:radial-gradient(circle at 78% 18%,rgba(205,207,210,.09),transparent 42%),linear-gradient(145deg,#242528,#101012 76%)!important; }
body.r86-page.r86-case-detail .case84-industry-visual-detail::before { border-color:rgba(205,207,210,.18)!important; }
body.r86-page.r86-case-detail .case84-industry-visual-detail span, body.r86-page.r86-case-detail .project-opening-links-v43 .text-link, body.r86-page.r86-case-detail .chapter-label small, body.r86-page.r86-case-detail .work-step-number { color:var(--mf-accent)!important; }
body.r86-page.r86-case-detail .case-metric-hero-v49 { border-color:rgba(205,207,210,.32)!important; background:linear-gradient(145deg,#242528,#111113)!important; }
body.r86-page.r86-case-detail .c84-project-summary, body.r86-page.r86-case-detail .project-prose-items>div, body.r86-page.r86-case-detail .project-work-steps li, body.r86-page.r86-case-detail .case-channel-metric-v49, body.r86-page.r86-case-detail .case-channel-results-v49, body.r86-page.r86-case-detail .case82-flow { background:rgba(25,26,28,.76)!important; }
body.r86-page.r86-case-detail .project-jumpnav { background:rgba(13,13,15,.9)!important; }
body.r86-page.r86-case-detail .project-chapter:nth-of-type(even) { background:linear-gradient(90deg,transparent,rgba(205,207,210,.035),transparent)!important; }

/* Case bottom: partner rationale, related work, then the information footer. */
.case-partner-proof { background:#121214; border-top:1px solid rgba(205,207,210,.18); border-bottom:1px solid rgba(205,207,210,.18); padding:clamp(80px,9vw,140px) 0; }
.case-partner-proof__grid { display:grid; grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr); gap:clamp(48px,8vw,132px); align-items:center; }
.case-partner-proof__visual { min-height:430px; position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:flex-end; padding:38px; border:1px solid rgba(205,207,210,.26); background:radial-gradient(circle at 75% 22%,rgba(205,207,210,.13),transparent 28%),linear-gradient(145deg,#242428,#101012 72%); box-shadow:inset 0 1px rgba(255,255,255,.1),0 28px 70px rgba(0,0,0,.28); }
.case-partner-proof__visual-label,.case-partner-proof__eyebrow,.case-related-proof__eyebrow,.inner-footer-cta__eyebrow { color:var(--mf-accent); font-size:11px; letter-spacing:.18em; font-weight:700; }
.case-partner-proof__visual strong { position:relative; z-index:2; color:#f2f1ed; font-size:clamp(28px,3.2vw,52px); line-height:1.12; letter-spacing:-.055em; }
.case-partner-proof__visual-grid { position:absolute; inset:0; opacity:.42; background:linear-gradient(90deg,rgba(205,207,210,.16) 1px,transparent 1px),linear-gradient(rgba(205,207,210,.16) 1px,transparent 1px); background-size:54px 54px; transform:perspective(700px) rotateX(58deg) scale(1.4); transform-origin:bottom center; }
.case-partner-proof__visual i { position:absolute; width:8px; height:8px; border:1px solid #d4d6d3; border-radius:50%; box-shadow:0 0 0 5px rgba(205,207,210,.08),0 0 20px rgba(205,207,210,.3); animation:mf-proof-pulse 5s ease-in-out infinite; } .case-partner-proof__visual i:nth-of-type(1){top:22%;right:18%}.case-partner-proof__visual i:nth-of-type(2){top:45%;left:18%;animation-delay:-1.7s}.case-partner-proof__visual i:nth-of-type(3){bottom:25%;right:32%;animation-delay:-3.1s}
.case-partner-proof__copy h2 { margin:16px 0 22px; color:#f3f2ee; font-size:clamp(38px,5vw,74px); line-height:1.05; letter-spacing:-.07em; text-wrap:balance; }
.case-partner-proof__copy h2 em { color:#d6c49a; font-style:normal; } .case-partner-proof__lead { max-width:680px; color:#b9bab5; font-size:17px; line-height:1.9; }
.case-partner-proof__points { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:42px; } .case-partner-proof__points article { border-top:1px solid rgba(205,207,210,.24); padding-top:16px; } .case-partner-proof__points strong { color:var(--mf-accent); font-size:13px; letter-spacing:.1em; } .case-partner-proof__points h3 { margin:13px 0 9px; color:#ecebe6; font-size:17px; line-height:1.35; } .case-partner-proof__points p { color:#a9aaa5; font-size:13px; line-height:1.75; }
.case-partner-proof__link { display:inline-flex; gap:12px; margin-top:34px; color:#eeeDE8; border-bottom:1px solid rgba(200,170,117,.62); padding-bottom:9px; } .case-partner-proof__link:hover { color:var(--mf-accent); }
.case-related-proof { padding:clamp(64px,7vw,108px) 0; background:#171719; } .case-related-proof h2 { margin:15px 0 30px; color:#f3f2ee; font-size:clamp(30px,4vw,58px); letter-spacing:-.06em; } .case-related-proof__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; } .case-related-proof__grid a { display:flex; min-height:160px; flex-direction:column; justify-content:space-between; padding:24px; border:1px solid rgba(205,207,210,.2); background:#202124; color:#ecebe7; transition:transform .35s ease,border-color .35s ease,background .35s ease; } .case-related-proof__grid a:hover { transform:translateY(-5px); border-color:rgba(200,170,117,.72); background:#28292c; } .case-related-proof__grid strong { font-size:20px; line-height:1.35; } .case-related-proof__grid span { color:#aeb0ab; font-size:13px; line-height:1.6; }

/* Information-first footer for every inner page. */
.inner-footer-cta { background:#111113; border-top:1px solid rgba(205,207,210,.18); border-bottom:1px solid rgba(205,207,210,.18); padding:clamp(74px,9vw,124px) 0; } .inner-footer-cta__grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr); gap:80px; align-items:end; } .inner-footer-cta__copy h2 { margin:16px 0 20px; color:#f4f3ee; font-size:clamp(36px,5vw,74px); line-height:1.04; letter-spacing:-.07em; text-wrap:balance; } .inner-footer-cta__copy h2 em { color:#d6c49a; font-style:normal; } .inner-footer-cta__copy > p:not(.inner-footer-cta__eyebrow) { max-width:610px; color:#b5b6b1; line-height:1.9; } .inner-footer-cta__button { display:inline-flex; gap:13px; margin-top:30px; padding:13px 20px; border:1px solid rgba(205,207,210,.42); color:#efeee8; } .inner-footer-cta__button:hover { color:#111113; background:#d6c49a; border-color:#d6c49a; } .inner-footer-cta__signal { display:grid; grid-template-columns:auto 1fr; gap:20px 16px; align-items:center; color:#aeb0ab; font-size:11px; letter-spacing:.14em; } .inner-footer-cta__signal span { color:#d6c49a; font-size:12px; } .inner-footer-cta__signal i { grid-column:1/-1; height:1px; background:linear-gradient(90deg,rgba(205,207,210,.4),transparent); }
@keyframes mf-proof-pulse { 0%,100%{transform:scale(1);opacity:.4} 50%{transform:scale(1.3);opacity:1} }
@media(max-width:850px){ .case-partner-proof__grid,.inner-footer-cta__grid{grid-template-columns:1fr;gap:42px}.case-partner-proof__visual{min-height:300px}.case-partner-proof__points,.case-related-proof__grid{grid-template-columns:1fr}.case-partner-proof__copy h2,.inner-footer-cta__copy h2{font-size:clamp(36px,10vw,58px)} }
@media(prefers-reduced-motion:reduce){ .case-partner-proof__visual i{animation:none}.case-related-proof__grid a{transition:none} }

/* MOTHER-FINAL-118: reference-aligned polish. The hero remains the visual
   source of truth across the site: graphite surfaces, silver type, one brass
   signal, and motion that gives depth without making the brand mark wobble. */
:root {
  --mf-bg:#0d0d0f;
  --mf-bg-2:#151618;
  --mf-panel:#1b1d20;
  --mf-panel-2:#222528;
  --mf-ink:#f3f2ee;
  --mf-muted:#b9bbb8;
  --mf-dim:#858a8d;
  --mf-line:rgba(208,213,214,.2);
  --mf-accent:#c8aa75;
}

/* Remove the old teal/lime/purple wash from decorative hero layers while
   retaining the existing platform artwork and network geometry. */
body.r89-static.r86-home .hero-atmosphere-v54,
body.r86-page.r86-home .hero-atmosphere-v54 {
  opacity:.18 !important;
  filter:grayscale(1) saturate(.12) contrast(1.08) !important;
}
body.r89-static.r86-home .orbit-body-v54 i,
body.r86-page.r86-home .orbit-body-v54 i {
  border-top-color:#cfd3d6 !important;
  border-left-color:#7e878e !important;
  border-bottom-color:#2c3236 !important;
  border-right-color:#aeb5bb !important;
}
body.r89-static.r86-home .orbit-body-v54 span,
body.r86-page.r86-home .orbit-body-v54 span {
  background:radial-gradient(circle at 32% 25%,#f3f3ef,#8f999e 35%,#202427 76%) !important;
  box-shadow:0 0 24px rgba(211,218,220,.18) !important;
}
body.r89-static.r86-home .hero-spark-v54,
body.r86-page.r86-home .hero-spark-v54 { color:#c8aa75 !important; }
body.r89-static.r86-home .hero-platform-network,
body.r86-page.r86-home .hero-platform-network { filter:saturate(.72) contrast(1.08) brightness(.9) !important; }

/* The 3D canvas is deliberately smaller than the title and moves only a few
   pixels. This is the NoGood-like hierarchy: a calm identity lockup, then the
   proposition, with clear negative space between them. */
@media (min-width:901px) {
  body.r89-static.r86-home .hero-v2-stage,
  body.r86-page.r86-home .hero-v2-stage {
    width:min(820px,68vw) !important;
    height:250px !important;
    top:16px !important;
  }
  body.r89-static.r86-home .hero-content,
  body.r86-page.r86-home .hero-content { padding-top:276px !important; }
  body.r89-static.r86-home .hero-content h1.hero-weight-v43,
  body.r86-page.r86-home .hero-content h1.hero-weight-v43 {
    max-width:940px !important;
    font-size:clamp(48px,4.1vw,68px) !important;
    line-height:1.08 !important;
  }
  body.r89-static.r86-home .hero-description,
  body.r86-page.r86-home .hero-description { max-width:680px !important; font-size:clamp(16px,1.18vw,19px) !important; }
}
@media (min-width:901px) and (max-height:800px) {
  body.r89-static.r86-home .hero-v2-stage,
  body.r86-page.r86-home .hero-v2-stage { width:min(760px,64vw) !important; height:220px !important; }
  body.r89-static.r86-home .hero-content,
  body.r86-page.r86-home .hero-content { padding-top:244px !important; }
}

/* All reviewed inner pages inherit the same visual mother. Keep supplied
   photos and case artwork intact; only their framing and editorial chrome are
   normalized so a page never falls back to paper green or purple panels. */
body.r89-static:not(.r86-home) main,
body.r86-page:not(.r86-home) main {
  background:var(--mf-bg) !important;
  color:var(--mf-ink) !important;
}
body.r89-static:not(.r86-home) :is(.page-hero,.inner-hero,.r83-learning,.r83-news,.service-commercial,.company-v35,.contact-main-grid,.research-page,.events-page),
body.r86-page:not(.r86-home) :is(.page-hero,.inner-hero,.r83-learning,.r83-news,.service-commercial,.company-v35,.contact-main-grid,.research-page,.events-page) {
  background-color:var(--mf-bg) !important;
  color:var(--mf-ink) !important;
  border-color:var(--mf-line) !important;
}
body.r89-static:not(.r86-home) :is(.section,.section-head,.section-heading,.page-section,.content-section),
body.r86-page:not(.r86-home) :is(.section,.section-head,.section-heading,.page-section,.content-section) {
  border-color:var(--mf-line) !important;
}
body.r89-static:not(.r86-home) :is(h1,h2,h3,h4,strong),
body.r86-page:not(.r86-home) :is(h1,h2,h3,h4,strong) { color:var(--mf-ink) !important; }
body.r89-static:not(.r86-home) :is(p,li,dd,small,.lead,.description,.muted),
body.r86-page:not(.r86-home) :is(p,li,dd,small,.lead,.description,.muted) { color:var(--mf-muted) !important; }
body.r89-static:not(.r86-home) :is(.card,.tile,.panel,.story-card,.service-card,.article-card),
body.r86-page:not(.r86-home) :is(.card,.tile,.panel,.story-card,.service-card,.article-card) {
  background:var(--mf-panel) !important;
  border-color:var(--mf-line) !important;
  box-shadow:0 18px 48px rgba(0,0,0,.2) !important;
}
body.r89-static:not(.r86-home) :is(a,.text-link),
body.r86-page:not(.r86-home) :is(a,.text-link) { color:#d8d9d5; }
body.r89-static:not(.r86-home) :is(a,.text-link):hover,
body.r86-page:not(.r86-home) :is(a,.text-link):hover { color:var(--mf-accent); }

/* Content samples: phone/account screenshots keep their complete artwork;
   captions stay below the image instead of being painted over it. */
body.r89-static.r86-home .portfolio-strip .portfolio-grid figure,
body.r86-page.r86-home .portfolio-strip .portfolio-grid figure {
  max-height:none !important;
  height:auto !important;
  overflow:visible !important;
  background:transparent !important;
}
body.r89-static.r86-home .portfolio-strip .portfolio-grid img,
body.r86-page.r86-home .portfolio-strip .portfolio-grid img {
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-height:560px !important;
  object-fit:contain !important;
  object-position:center !important;
  background:#111113 !important;
  border:1px solid rgba(205,207,210,.18) !important;
}
body.r89-static.r86-home .portfolio-strip .portfolio-grid figcaption,
body.r86-page.r86-home .portfolio-strip .portfolio-grid figcaption {
  position:relative !important;
  inset:auto !important;
  min-height:74px !important;
  padding:16px 18px !important;
  background:#202124 !important;
  color:#f0efea !important;
  border:1px solid rgba(205,207,210,.16) !important;
  border-top:0 !important;
}
body.r89-static.r86-home .portfolio-strip .portfolio-grid figcaption small,
body.r86-page.r86-home .portfolio-strip .portfolio-grid figcaption small { color:#aeb0ab !important; }
@media(max-width:560px) {
  body.r89-static.r86-home .portfolio-strip .portfolio-grid figure,
  body.r86-page.r86-home .portfolio-strip .portfolio-grid figure { max-width:none !important; }
  body.r89-static.r86-home .portfolio-strip .portfolio-grid img,
  body.r86-page.r86-home .portfolio-strip .portfolio-grid img { max-height:none !important; }
}

/* Remove the last visible old colour signals from shared cards and controls. */
body.r89-static :is(.r83-service-panel,.r86-learning-panel,.r89-research-nav nav,.home-platforms-v38 nav a:hover),
body.r86-page :is(.r83-service-panel,.r86-learning-panel,.r89-research-nav nav,.home-platforms-v38 nav a:hover) {
  box-shadow:0 16px 40px rgba(0,0,0,.22) !important;
}
body.r89-static :is(.r83-service-panel,.r86-learning-panel,.r89-research-nav nav),
body.r86-page :is(.r83-service-panel,.r86-learning-panel,.r89-research-nav nav) {
  background:#171719 !important;
  border-color:var(--mf-line) !important;
}

@media(prefers-reduced-motion:reduce) {
  body.r89-static.r86-home .hero-atmosphere-v54,
  body.r86-page.r86-home .hero-atmosphere-v54 { animation:none !important; }
}

/* Remaining homepage sections from the earlier visual families. These rules
   prevent a purple/green card from breaking the dark technology rhythm after
   the first viewport. */
body.r89-static.r86-home :is(.home-capabilities-v41,.home-services-v41,.home-method-system,.home-editorial-v39,.home-platforms-v38,.home-journal-v48,.home-contact),
body.r86-page.r86-home :is(.home-capabilities-v41,.home-services-v41,.home-method-system,.home-editorial-v39,.home-platforms-v38,.home-journal-v48,.home-contact) {
  background-color:var(--mf-bg-2) !important;
  background-image:linear-gradient(90deg,rgba(205,207,210,.026) 1px,transparent 1px),linear-gradient(rgba(205,207,210,.026) 1px,transparent 1px) !important;
  background-size:72px 72px !important;
}
body.r89-static.r86-home :is(.service-tile,.method-system-grid article,.research-card,.journal-feature-v48,.journal-compact-v48),
body.r86-page.r86-home :is(.service-tile,.method-system-grid article,.research-card,.journal-feature-v48,.journal-compact-v48) {
  background:#1d1f22 !important;
  border-color:var(--mf-line) !important;
  box-shadow:0 22px 58px rgba(0,0,0,.25) !important;
}
body.r89-static.r86-home :is(.service-tile:hover,.service-tile:focus-visible,.method-system-grid article:hover,.research-card:hover),
body.r86-page.r86-home :is(.service-tile:hover,.service-tile:focus-visible,.method-system-grid article:hover,.research-card:hover) {
  background:#25282b !important;
  border-color:rgba(200,170,117,.7) !important;
}
body.r89-static.r86-home :is(.capability-orbit,.globe-mesh,.industrial-lines),
body.r86-page.r86-home :is(.capability-orbit,.globe-mesh,.industrial-lines) { stroke:#aeb5bb !important; }
body.r89-static.r86-home :is(.orbit-signal,.signal-one,.signal-two),
body.r86-page.r86-home :is(.orbit-signal,.signal-one,.signal-two) { fill:#c8aa75 !important; filter:drop-shadow(0 0 7px rgba(200,170,117,.38)) !important; }
body.r89-static.r86-home :is(.service-tile-top,.service-tile-bottom b,.capability-feedback i),
body.r86-page.r86-home :is(.service-tile-top,.service-tile-bottom b,.capability-feedback i) { color:var(--mf-accent) !important; }
body.r89-static.r86-home .home-editorial-v39 :is(h2,h3,p,a),
body.r86-page.r86-home .home-editorial-v39 :is(h2,h3,p,a) { color:var(--mf-ink) !important; }

/* Case/research visual cards may still carry their old colour tokens. Use a
   restrained silver/brass signal without altering supplied evidence images. */
body.r89-static :is(.research-opening,.research-article-head,.research-card-cover,.section-module.module-process),
body.r86-page :is(.research-opening,.research-article-head,.research-card-cover,.section-module.module-process) {
  background-color:#17191b !important;
  background-image:linear-gradient(135deg,rgba(205,207,210,.08),transparent 62%) !important;
  border-color:var(--mf-line) !important;
}
body.r89-static :is(.research-card,.institute-card,.section-module),
body.r86-page :is(.research-card,.institute-card,.section-module) {
  background:#1d1f22 !important;
  border-color:var(--mf-line) !important;
}
body.r89-static :is(.research-tabs a[aria-current],.research-prose a,.research-card-meta),
body.r86-page :is(.research-tabs a[aria-current],.research-prose a,.research-card-meta) { color:var(--mf-accent) !important; }

/* Static hero framing had a teal radius/border in refinement89; the mother
   scene is full-bleed and uses only a graphite edge. */
body.r89-static.r86-home .hero-v2-scene,
body.r86-page.r86-home .hero-v2-scene { border:0 !important; border-radius:0 !important; box-shadow:none !important; }

/* Sparse, clustered platform layer: keep the existing official artwork but
   leave the centre copy and wordmark readable. */
body.r89-static.r86-home .hero-platform-network .platform-particle,
body.r86-page.r86-home .hero-platform-network .platform-particle { opacity:.62 !important; filter:saturate(.72) brightness(.92) !important; }
body.r89-static.r86-home .hero-platform-network .platform-particle--decorative,
body.r86-page.r86-home .hero-platform-network .platform-particle--decorative { opacity:.38 !important; }

/* Highest-specificity chrome reset: r89's older mother layer used a teal
   header with a lime signal. The final header is graphite with a quiet silver
   to brass hairline. */
body.r89-static.r86-home header.site-header,
body.r86-page.r86-home header.site-header {
  background:rgba(13,13,15,.96) !important;
  border-bottom-color:rgba(205,207,210,.24) !important;
}
body.r89-static.r86-home header.site-header::after,
body.r86-page.r86-home header.site-header::after {
  background:linear-gradient(90deg,transparent,rgba(205,207,210,.42),rgba(200,170,117,.62),transparent) !important;
  opacity:.72 !important;
}
body.r89-static.r86-home .hero-v2-room,
body.r86-page.r86-home .hero-v2-room { color:#9da5aa !important; opacity:.12 !important; }
body.r89-static.r86-home .hero-v2-clip,
body.r86-page.r86-home .hero-v2-clip { border-color:rgba(205,207,210,.2) !important; background:rgba(255,255,255,.02) !important; }
body.r89-static.r86-home .hero-v2-playhead,
body.r89-static.r86-home .hero-v2-playhead::before,
body.r86-page.r86-home .hero-v2-playhead,
body.r86-page.r86-home .hero-v2-playhead::before { background:#c8aa75 !important; }
body.r89-static.r86-home .growth-route-line-v54,
body.r86-page.r86-home .growth-route-line-v54 { background:linear-gradient(90deg,rgba(205,207,210,.2),rgba(200,170,117,.4),rgba(205,207,210,.2)) !important; }
body.r89-static.r86-home .growth-route-pulse-v54,
body.r86-page.r86-home .growth-route-pulse-v54 { background:#c8aa75 !important; box-shadow:0 0 14px rgba(200,170,117,.35) !important; }
body.r89-static.r86-home .growth-stage-1 .growth-stage-dot-v54,
body.r86-page.r86-home .growth-stage-1 .growth-stage-dot-v54 { border-color:#9da5aa !important; background:#121416 !important; }
body.r89-static.r86-home .hero-scroll-cue,
body.r86-page.r86-home .hero-scroll-cue { color:#c8aa75 !important; }
body.r89-static.r86-home .home-platforms-v38 nav a,
body.r86-page.r86-home .home-platforms-v38 nav a { border-color:rgba(205,207,210,.24) !important; }
body.r89-static.r86-home .home-platforms-v38 nav a:hover,
body.r89-static.r86-home .home-platforms-v38 nav a:focus-visible,
body.r86-page.r86-home .home-platforms-v38 nav a:hover,
body.r86-page.r86-home .home-platforms-v38 nav a:focus-visible { background:rgba(200,170,117,.1) !important; border-color:rgba(200,170,117,.62) !important; }

/* Keep the homepage's requested closing phrase, but bring its surface back
   into the graphite/silver mother instead of the former purple wash. */
body.r89-static.r86-home .footer48:has(.footer54-motion) .footer48-finale,
body.r86-page.r86-home .footer48:has(.footer54-motion) .footer48-finale {
  background:radial-gradient(ellipse at 50% 115%,#303338 0%,#181a1c 42%,#0d0d0f 78%) !important;
  border-top-color:rgba(205,207,210,.2) !important;
}
body.r89-static.r86-home .footer54-type-face,
body.r86-page.r86-home .footer54-type-face {
  background:linear-gradient(177deg,#8f969a 0%,#f4f4ef 24%,#cfd3d3 48%,#5f686d 54%,#f0f0eb 72%,#8d969a 100%) !important;
  background-clip:text !important;
  -webkit-background-clip:text !important;
  color:transparent !important;
  text-shadow:0 12px 26px rgba(0,0,0,.34) !important;
}
body.r89-static.r86-home .footer54-baseline,
body.r86-page.r86-home .footer54-baseline { color:#b7babb !important; }
body.r89-static.r86-home .footer54-baseline i,
body.r86-page.r86-home .footer54-baseline i { color:#c8aa75 !important; }

/* MOTHER-FINAL-118B — close the last legacy cascade leaks.  The historical
   r89 header selector includes an attribute selector and therefore wins over
   the earlier home-only reset.  Match that exact shape so the first viewport
   stays graphite/silver instead of reverting to teal. */
body.r89-static.r86-page.r86-home header.site-header[class*="header"],
body.r89-static.r86-page.r86-home header.site-header.revised-header.purpose-header,
body.r86-page.r86-home header.site-header[class*="header"],
body.r86-page.r86-home header.site-header.revised-header.purpose-header {
  background:rgba(13,13,15,.96) !important;
  border-bottom-color:rgba(205,207,210,.24) !important;
}
body.r89-static.r86-page.r86-home header.site-header[class*="header"]::after,
body.r89-static.r86-page.r86-home header.site-header.revised-header.purpose-header::after,
body.r86-page.r86-home header.site-header[class*="header"]::after,
body.r86-page.r86-home header.site-header.revised-header.purpose-header::after {
  background:linear-gradient(90deg,transparent,rgba(205,207,210,.38),rgba(200,170,117,.52),transparent) !important;
  opacity:.64 !important;
}

/* The requested homepage closing phrase remains, but the surface is a quiet
   graphite/deep-violet signal rather than a saturated purple block. */
body.r89-static.r86-page.r86-home footer.footer48:has(.footer54-motion) > .footer48-finale,
body.r86-page.r86-home footer.footer48:has(.footer54-motion) > .footer48-finale {
  background:radial-gradient(ellipse at 50% 112%,#3b2c49 0%,#18171d 42%,#0d0d0f 78%) !important;
  border-top-color:rgba(205,207,210,.2) !important;
}
body.r89-static.r86-page.r86-home footer.footer48:has(.footer54-motion) .footer54-type-face,
body.r86-page.r86-home footer.footer48:has(.footer54-motion) .footer54-type-face {
  background:linear-gradient(177deg,#aaa2b7 0%,#f4f0f7 23%,#d4cddc 45%,#756a81 53%,#f5eff9 72%,#a193ac 100%) !important;
  background-clip:text !important;
  -webkit-background-clip:text !important;
  color:transparent !important;
}

/* The market-stage signal uses brass consistently with the hero rail; old
   purple/orange tokens must not recolour this shared visual system. */
body.r89-static.r86-page.r86-home .market-stages-v47,
body.r86-page.r86-home .market-stages-v47 { --ms-accent:#c8aa75 !important; --ms-glow:rgba(200,170,117,.28) !important; }

/* Case showcase cards sit below the first viewport and used to retain a
   green/olive radial wash.  Keep the supplied project artwork, but give the
   card the same graphite surface and clear caption boundary as the hero. */
body.r89-static.r86-page.r86-home :is(.showcase-feature-v48,.showcase-card-v48,.case-showcase-v48 .showcase-feature),
body.r86-page.r86-home :is(.showcase-feature-v48,.showcase-card-v48,.case-showcase-v48 .showcase-feature) {
  background:#1b1d20 !important;
  background-image:linear-gradient(135deg,rgba(205,207,210,.08),transparent 58%) !important;
  border-color:rgba(205,207,210,.2) !important;
  box-shadow:0 22px 58px rgba(0,0,0,.3) !important;
}

/* WebGL can take a moment on a cold load.  Its text fallback must still look
   like the same premium object instead of the old hard-shadow, green-tinted
   perspective treatment. */
body.r89-static.r86-page.r86-home .hero-v2-fallback,
body.r86-page.r86-home .hero-v2-fallback {
  transform:translate(-50%,-50%) perspective(1200px) rotateX(2deg) rotateY(-4deg) rotateZ(-1deg);
  text-shadow:1px 1px 0 #929496,2px 2px 0 #5f6366,3px 4px 0 #35383b,0 14px 24px rgba(0,0,0,.48) !important;
  color:#e5e5e1 !important;
}

/* MOTHER-FINAL-119 — one dark visual system for the complete desktop site.
   Older refinement layers remain in the reviewed pages for compatibility,
   so this final block deliberately closes their paper/teal/purple surfaces at
   the end of the cascade.  The hierarchy is editorial: graphite surface,
   cold-white reading line, silver boundary, one restrained brass signal. */
:root {
  --mf119-bg:#0b0c0e;
  --mf119-surface:#111316;
  --mf119-panel:#181b1e;
  --mf119-panel-2:#202327;
  --mf119-ink:#f1f2ef;
  --mf119-muted:#aeb4b7;
  --mf119-line:rgba(220,225,230,.16);
  --mf119-accent:#c8aa75;
}

body.r89-static.r86-page.r86-home,
body.r86-page.r86-home {
  background:var(--mf119-bg) !important;
  color:var(--mf119-ink) !important;
}
body.r89-static.r86-page.r86-home main,
body.r86-page.r86-home main {
  background:var(--mf119-bg) !important;
}
body.r89-static.r86-page.r86-home main > :is(section,div),
body.r86-page.r86-home main > :is(section,div) {
  border-top:1px solid var(--mf119-line) !important;
}

/* Hero and trust wall should read as one continuous black stage. */
body.r89-static.r86-page.r86-home .proof-wall,
body.r86-page.r86-home .proof-wall {
  background:
    linear-gradient(180deg,rgba(17,19,22,.94),rgba(12,13,15,.98)),
    linear-gradient(90deg,rgba(205,207,210,.035) 1px,transparent 1px),
    linear-gradient(rgba(205,207,210,.035) 1px,transparent 1px) !important;
  background-size:auto,72px 72px,72px 72px !important;
  color:var(--mf119-ink) !important;
}
body.r89-static.r86-page.r86-home .proof-wall .container,
body.r86-page.r86-home .proof-wall .container { max-width:1240px !important; }
body.r89-static.r86-page.r86-home .proof-wall h2,
body.r86-page.r86-home .proof-wall h2 {
  max-width:1000px !important;
  margin-inline:auto !important;
  color:var(--mf119-ink) !important;
  font-size:clamp(2.55rem,5vw,5.8rem) !important;
  line-height:.98 !important;
  letter-spacing:-.045em !important;
  text-wrap:balance !important;
}
body.r89-static.r86-page.r86-home .proof-wall h2 strong,
body.r86-page.r86-home .proof-wall h2 strong,
body.r89-static.r86-page.r86-home .proof-wall h2 strong span,
body.r86-page.r86-home .proof-wall h2 strong span {
  display:inline !important;
  white-space:normal !important;
}
body.r89-static.r86-page.r86-home .proof-wall h2 br,
body.r86-page.r86-home .proof-wall h2 br { display:block !important; }
body.r89-static.r86-page.r86-home .proof-wall h2 + p,
body.r86-page.r86-home .proof-wall h2 + p {
  color:#bfc4c7 !important;
  font-size:clamp(1rem,1.45vw,1.32rem) !important;
  line-height:1.6 !important;
  max-width:760px !important;
  margin:1.4rem auto 0 !important;
}
body.r89-static.r86-page.r86-home .trust-mark-v47,
body.r86-page.r86-home .trust-mark-v47 {
  background:rgba(20,22,24,.84) !important;
  border-color:rgba(220,225,230,.12) !important;
}

/* Industry directory: keep the dark surface on collection roots only. The
   previous [class*="case84-"] selector treated every descendant as a new
   surface, creating the black text blocks visible in the directory cards. */
body.r89-static.r86-page.r86-inner.r86-cases :is(main.case84-page,.case-directory,.industry-directory,.industry-list),
body.r86-page.r86-inner.r86-cases :is(main.case84-page,.case-directory,.industry-directory,.industry-list) {
  background-color:var(--mf119-bg) !important;
  color:var(--mf119-ink) !important;
}
body.r89-static.r86-page.r86-inner.r86-cases main.case84-page > :is(.case84-navigation,.case84-projects) :is(.case84-broad-link,.case84-sector-link),
body.r86-page.r86-inner.r86-cases main.case84-page > :is(.case84-navigation,.case84-projects) :is(.case84-broad-link,.case84-sector-link),
body.r89-static.r86-page.r86-inner.r86-cases :is(.case-directory,.industry-directory,.industry-list) > :is(a,article,.card),
body.r86-page.r86-inner.r86-cases :is(.case-directory,.industry-directory,.industry-list) > :is(a,article,.card) {
  background:linear-gradient(135deg,var(--mf119-panel),#121416) !important;
  color:var(--mf119-ink) !important;
  border-color:var(--mf119-line) !important;
  box-shadow:0 18px 44px rgba(0,0,0,.24) !important;
}
body.r89-static.r86-page.r86-inner.r86-cases :is(main.case84-page,.case-directory,.industry-directory,.industry-list) h1,
body.r89-static.r86-page.r86-inner.r86-cases :is(main.case84-page,.case-directory,.industry-directory,.industry-list) h2,
body.r86-page.r86-inner.r86-cases :is(main.case84-page,.case-directory,.industry-directory,.industry-list) h1,
body.r86-page.r86-inner.r86-cases :is(main.case84-page,.case-directory,.industry-directory,.industry-list) h2 { color:var(--mf119-ink) !important; }

/* MOTHER-FINAL-129 — one surface per case card. Text belongs to the card
   copy, not to another nested panel; only the visual and evidence hairline
   create a second reading beat. */
body.r89-static.r86-page.r86-inner.r86-cases main.case84-page .case84-card,
body.r86-page.r86-inner.r86-cases main.case84-page .case84-card {
  background:linear-gradient(145deg,#1b2023,#111416) !important;
  border:1px solid rgba(205,207,210,.18) !important;
  box-shadow:0 18px 44px rgba(0,0,0,.24) !important;
  padding:0 !important;
  overflow:hidden;
}
body.r89-static.r86-page.r86-inner.r86-cases main.case84-page .case84-card-link,
body.r86-page.r86-inner.r86-cases main.case84-page .case84-card-link,
body.r89-static.r86-page.r86-inner.r86-cases main.case84-page .case84-card-copy,
body.r86-page.r86-inner.r86-cases main.case84-page .case84-card-copy,
body.r89-static.r86-page.r86-inner.r86-cases main.case84-page .case84-card-action,
body.r86-page.r86-inner.r86-cases main.case84-page .case84-card-action {
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
}
body.r89-static.r86-page.r86-inner.r86-cases main.case84-page .case84-card-link,
body.r86-page.r86-inner.r86-cases main.case84-page .case84-card-link { min-height:100%; }
body.r89-static.r86-page.r86-inner.r86-cases main.case84-page .case84-card-visual,
body.r86-page.r86-inner.r86-cases main.case84-page .case84-card-visual {
  background:linear-gradient(145deg,#202c2e,#141a1c) !important;
  border-bottom:1px solid rgba(205,207,210,.18) !important;
}
body.r89-static.r86-page.r86-inner.r86-cases main.case84-page .case84-card-copy,
body.r86-page.r86-inner.r86-cases main.case84-page .case84-card-copy { padding:28px !important; }
body.r89-static.r86-page.r86-inner.r86-cases main.case84-page .case84-client,
body.r86-page.r86-inner.r86-cases main.case84-page .case84-client {
  color:#c8aa75 !important; font-size:12px !important; letter-spacing:.12em !important;
  text-transform:uppercase;
}
body.r89-static.r86-page.r86-inner.r86-cases main.case84-page .case84-card h3,
body.r86-page.r86-inner.r86-cases main.case84-page .case84-card h3 {
  color:#f1f2ef !important; font-size:clamp(20px,1.8vw,26px) !important;
  line-height:1.35 !important; margin:12px 0 0 !important;
}
body.r89-static.r86-page.r86-inner.r86-cases main.case84-page .case84-summary,
body.r86-page.r86-inner.r86-cases main.case84-page .case84-summary {
  background:transparent !important; background-image:none !important; color:#b9c3c1 !important;
  font-size:15px !important; line-height:1.85 !important; margin:22px 0 24px !important;
}
body.r89-static.r86-page.r86-inner.r86-cases main.case84-page .case84-facts,
body.r86-page.r86-inner.r86-cases main.case84-page .case84-facts {
  background:transparent !important; background-image:none !important;
  border-top:1px solid rgba(205,207,210,.18) !important; padding:18px 0 0 !important; margin:0 0 24px !important;
}
body.r89-static.r86-page.r86-inner.r86-cases main.case84-page .case84-facts > div,
body.r86-page.r86-inner.r86-cases main.case84-page .case84-facts > div {
  display:grid; grid-template-columns:minmax(62px,.35fr) 1fr; gap:14px;
  padding:0 0 11px; margin:0 0 11px; border-bottom:1px solid rgba(205,207,210,.08);
}
body.r89-static.r86-page.r86-inner.r86-cases main.case84-page .case84-facts > div:last-child,
body.r86-page.r86-inner.r86-cases main.case84-page .case84-facts > div:last-child {
  border-bottom:0; margin-bottom:0;
}
body.r89-static.r86-page.r86-inner.r86-cases main.case84-page .case84-facts dt,
body.r86-page.r86-inner.r86-cases main.case84-page .case84-facts dt { color:#7f8c8e !important; }
body.r89-static.r86-page.r86-inner.r86-cases main.case84-page .case84-facts dd,
body.r86-page.r86-inner.r86-cases main.case84-page .case84-facts dd { color:#d7dfdd !important; }
body.r89-static.r86-page.r86-inner.r86-cases main.case84-page .case84-facts .case84-result dd,
body.r86-page.r86-inner.r86-cases main.case84-page .case84-facts .case84-result dd { color:#d8bf83 !important; }
body.r89-static.r86-page.r86-inner.r86-cases main.case84-page .case84-card-action,
body.r86-page.r86-inner.r86-cases main.case84-page .case84-card-action {
  border-top:1px solid rgba(205,207,210,.18) !important; color:#f1f2ef !important; padding-top:14px !important;
}
@media (max-width:700px) {
  body.r89-static.r86-page.r86-inner.r86-cases main.case84-page .case84-card-copy,
  body.r86-page.r86-inner.r86-cases main.case84-page .case84-card-copy { padding:22px !important; }
}

/* Services / industries share the hero's dark reading surface. */
body.r89-static.r86-page.r86-home .focus-home-v46,
body.r86-page.r86-home .focus-home-v46 {
  background:var(--mf119-bg) !important;
  color:var(--mf119-ink) !important;
  padding-block:clamp(5.5rem,9vw,9rem) !important;
}
body.r89-static.r86-page.r86-home .focus-home-v46 .focus-grid-v46,
body.r86-page.r86-home .focus-home-v46 .focus-grid-v46 {
  gap:clamp(14px,2vw,26px) !important;
}
body.r89-static.r86-page.r86-home .focus-home-v46 .focus-grid-v46 > a,
body.r86-page.r86-home .focus-home-v46 .focus-grid-v46 > a {
  min-height:clamp(170px,16vw,230px) !important;
  padding:clamp(22px,2.5vw,36px) !important;
  background:linear-gradient(135deg,#1b1e21,#111315) !important;
  border:1px solid rgba(220,225,230,.17) !important;
  border-radius:18px !important;
  color:var(--mf119-ink) !important;
  transition:transform .32s ease,border-color .32s ease,background .32s ease !important;
}
body.r89-static.r86-page.r86-home .focus-home-v46 .focus-grid-v46 > a:hover,
body.r89-static.r86-page.r86-home .focus-home-v46 .focus-grid-v46 > a:focus-visible,
body.r86-page.r86-home .focus-home-v46 .focus-grid-v46 > a:hover,
body.r86-page.r86-home .focus-home-v46 .focus-grid-v46 > a:focus-visible {
  transform:translateY(-5px) !important;
  border-color:rgba(200,170,117,.72) !important;
  background:linear-gradient(135deg,#25282b,#151719) !important;
}
body.r89-static.r86-page.r86-home .focus-home-v46 .focus-grid-v46 h3,
body.r86-page.r86-home .focus-home-v46 .focus-grid-v46 h3 { color:#f1f2ef !important; font-size:clamp(1.45rem,2.1vw,2.05rem) !important; }
body.r89-static.r86-page.r86-home .focus-home-v46 .focus-grid-v46 p,
body.r86-page.r86-home .focus-home-v46 .focus-grid-v46 p { color:#aeb4b7 !important; }
body.r89-static.r86-page.r86-home .focus-home-v46 .focus-grid-v46 span,
body.r86-page.r86-home .focus-home-v46 .focus-grid-v46 span { color:var(--mf119-accent) !important; }

/* The platform section becomes a compact editorial module instead of a
   floating row above a blank rectangle. */
body.r89-static.r86-page.r86-home .home-platforms-v38,
body.r86-page.r86-home .home-platforms-v38 {
  min-height:0 !important;
  padding:clamp(5rem,9vw,9rem) 0 clamp(5.5rem,10vw,10rem) !important;
  background:
    linear-gradient(180deg,#0d0f11,#111316),
    linear-gradient(90deg,rgba(205,207,210,.034) 1px,transparent 1px),
    linear-gradient(rgba(205,207,210,.034) 1px,transparent 1px) !important;
  background-size:auto,72px 72px,72px 72px !important;
  color:var(--mf119-ink) !important;
}
body.r89-static.r86-page.r86-home .home-platforms-v38 > .container,
body.r86-page.r86-home .home-platforms-v38 > .container {
  display:grid !important;
  grid-template-columns:minmax(280px,.9fr) minmax(420px,1.1fr) !important;
  grid-template-areas:"intro nav" "copy copy" !important;
  align-items:end !important;
  gap:1.6rem clamp(2rem,7vw,8rem) !important;
  max-width:1240px !important;
}
body.r89-static.r86-page.r86-home .home-platforms-v38 > .container > div:first-child,
body.r86-page.r86-home .home-platforms-v38 > .container > div:first-child { grid-area:intro !important; display:block !important; }
body.r89-static.r86-page.r86-home .home-platforms-v38 h2,
body.r86-page.r86-home .home-platforms-v38 h2 {
  max-width:600px !important;
  margin:0 !important;
  color:var(--mf119-ink) !important;
  font-size:clamp(2.15rem,4.25vw,4.35rem) !important;
  line-height:1.03 !important;
  letter-spacing:-.045em !important;
  text-wrap:balance !important;
}
body.r89-static.r86-page.r86-home .home-platforms-v38 > .container > nav,
body.r86-page.r86-home .home-platforms-v38 > .container > nav { grid-area:nav !important; justify-content:flex-start !important; align-self:center !important; gap:10px !important; flex-wrap:wrap !important; }
body.r89-static.r86-page.r86-home .home-platforms-v38 nav a,
body.r86-page.r86-home .home-platforms-v38 nav a {
  min-width:76px !important;
  padding:12px 16px !important;
  border:1px solid rgba(220,225,230,.22) !important;
  border-radius:999px !important;
  color:#e9ece9 !important;
  background:rgba(255,255,255,.015) !important;
  transition:color .25s ease,border-color .25s ease,transform .25s ease,background .25s ease !important;
}
body.r89-static.r86-page.r86-home .home-platforms-v38 nav a:hover,
body.r89-static.r86-page.r86-home .home-platforms-v38 nav a:focus-visible,
body.r86-page.r86-home .home-platforms-v38 nav a:hover,
body.r86-page.r86-home .home-platforms-v38 nav a:focus-visible { color:#fff !important; border-color:var(--mf119-accent) !important; background:rgba(200,170,117,.1) !important; transform:translateY(-3px) !important; }
body.r89-static.r86-page.r86-home .home-platforms-v38 > .container > p,
body.r86-page.r86-home .home-platforms-v38 > .container > p { grid-area:copy !important; margin:0 !important; max-width:680px !important; color:#aeb4b7 !important; font-size:1rem !important; line-height:1.7 !important; }

/* FAQ keeps the two-column information hierarchy of the reference sites but
   removes the paper-colour rupture shown in the screenshot. */
body.r89-static.r86-page.r86-home .home-faq,
body.r86-page.r86-home .home-faq {
  background:var(--mf119-bg) !important;
  color:var(--mf119-ink) !important;
  padding-block:clamp(5.5rem,9vw,9rem) !important;
}
body.r89-static.r86-page.r86-home .home-faq .faq-layout,
body.r86-page.r86-home .home-faq .faq-layout { gap:clamp(3rem,8vw,9rem) !important; }
body.r89-static.r86-page.r86-home .home-faq h2,
body.r86-page.r86-home .home-faq h2 { color:var(--mf119-ink) !important; font-size:clamp(2.2rem,4.7vw,4.7rem) !important; line-height:1.02 !important; letter-spacing:-.045em !important; }
body.r89-static.r86-page.r86-home .home-faq .faq-item,
body.r86-page.r86-home .home-faq .faq-item { background:#1a1c1f !important; border:1px solid rgba(220,225,230,.15) !important; border-radius:14px !important; color:var(--mf119-ink) !important; box-shadow:0 16px 32px rgba(0,0,0,.2) !important; }
body.r89-static.r86-page.r86-home .home-faq .faq-item summary,
body.r86-page.r86-home .home-faq .faq-item summary { color:#f0f2ee !important; }
body.r89-static.r86-page.r86-home .home-faq .faq-item p,
body.r86-page.r86-home .home-faq .faq-item p { color:#bec4c7 !important; }
body.r89-static.r86-page.r86-home .home-faq .faq-item summary::after,
body.r86-page.r86-home .home-faq .faq-item summary::after { color:var(--mf119-accent) !important; }

/* Other old brand-experience surfaces inherit the same mother. */
body.r89-static.r86-page.r86-home :is(.brand-statement,.qr-panel,.nav-feature),
body.r86-page.r86-home :is(.brand-statement,.qr-panel,.nav-feature) { background:var(--mf119-panel) !important; color:var(--mf119-ink) !important; border-color:var(--mf119-line) !important; }

body.r89-static.r86-page.r86-home :is(.home-services-v41,.home-editorial-v39,.home-method-system,.market-stages-v47,.customer-paths-v46,.portfolio-strip,.home-journal-v48,.home-contact),
body.r86-page.r86-home :is(.home-services-v41,.home-editorial-v39,.home-method-system,.market-stages-v47,.customer-paths-v46,.portfolio-strip,.home-journal-v48,.home-contact) {
  background-color:var(--mf119-bg) !important;
  background-image:linear-gradient(90deg,rgba(205,207,210,.026) 1px,transparent 1px),linear-gradient(rgba(205,207,210,.026) 1px,transparent 1px) !important;
  background-size:72px 72px !important;
  color:var(--mf119-ink) !important;
}
body.r89-static.r86-page.r86-home :is(.home-services-v41,.home-editorial-v39,.home-method-system,.market-stages-v47,.customer-paths-v46,.portfolio-strip,.home-journal-v48,.home-contact) :is(h1,h2,h3,strong),
body.r86-page.r86-home :is(.home-services-v41,.home-editorial-v39,.home-method-system,.market-stages-v47,.customer-paths-v46,.portfolio-strip,.home-journal-v48,.home-contact) :is(h1,h2,h3,strong) { color:var(--mf119-ink) !important; }
body.r89-static.r86-page.r86-home :is(.home-services-v41,.home-editorial-v39,.home-method-system,.market-stages-v47,.customer-paths-v46,.portfolio-strip,.home-journal-v48,.home-contact) :is(p,li,small),
body.r86-page.r86-home :is(.home-services-v41,.home-editorial-v39,.home-method-system,.market-stages-v47,.customer-paths-v46,.portfolio-strip,.home-journal-v48,.home-contact) :is(p,li,small) { color:var(--mf119-muted) !important; }
body.r89-static.r86-page.r86-home .home-services-v41 :is(article,a,[class*="card"]),
body.r86-page.r86-home .home-services-v41 :is(article,a,[class*="card"]) { background:linear-gradient(135deg,var(--mf119-panel),#121416) !important; border-color:var(--mf119-line) !important; color:var(--mf119-ink) !important; }

/* A stable mark with a single studio-light drift reads more premium than a
   rotating object. */
body.r89-static.r86-page.r86-home .hero-v2-stage,
body.r86-page.r86-home .hero-v2-stage { filter:drop-shadow(0 18px 28px rgba(0,0,0,.26)) !important; }
body.r89-static.r86-page.r86-home .hero-v2-canvas,
body.r86-page.r86-home .hero-v2-canvas { animation:mf119-mark-sheen 10s ease-in-out infinite alternate !important; }
@keyframes mf119-mark-sheen { from { filter:brightness(.98) saturate(.92); transform:translateY(0) scale(1); } to { filter:brightness(1.04) saturate(1); transform:translateY(-2px) scale(1.008); } }

/* External ecosystem marks in the hero are visual nodes only. */
.platform-particle--external { display:grid; place-items:center; }
.platform-badge-icon { display:grid; place-items:center; width:100%; height:100%; border:1px solid rgba(220,225,230,.32); border-radius:32%; color:#d9dde0; background:rgba(20,22,24,.82); font:700 .72em/1 Arial,sans-serif; box-shadow:0 4px 14px rgba(0,0,0,.28); }
.platform-badge-icon svg { display:block; width:100%; height:100%; fill:currentColor; }
.platform-badge-facebook { background:rgba(35,75,130,.75); }
.platform-badge-youtube { background:rgba(130,34,34,.76); border-radius:34%; }
.platform-badge-tiktok { background:rgba(35,52,59,.82); }
.platform-badge-instagram { background:rgba(96,56,87,.76); }
.platform-badge-linkedin { background:rgba(34,76,112,.72); }
.platform-badge-reddit { background:rgba(116,70,45,.72); }
.platform-badge-x { background:rgba(46,49,53,.86); }
.platform-badge-threads { background:rgba(78,79,83,.82); }

/* Inner case pages inherit the same final surface and avoid white cards. */
body.r89-static.r86-page.r86-inner :is(.case-partner-proof,.case-related-proof,.inner-footer-cta),
body.r86-page.r86-inner :is(.case-partner-proof,.case-related-proof,.inner-footer-cta) { background:var(--mf119-bg) !important; color:var(--mf119-ink) !important; }

@media (max-width:900px) {
  body.r89-static.r86-page.r86-home .home-platforms-v38 > .container,
  body.r86-page.r86-home .home-platforms-v38 > .container { grid-template-columns:1fr !important; grid-template-areas:"intro" "nav" "copy" !important; gap:1.7rem !important; }
}
@media (max-width:560px) {
  body.r89-static.r86-page.r86-home .proof-wall h2,
  body.r86-page.r86-home .proof-wall h2 { font-size:clamp(2.2rem,10vw,3.4rem) !important; }
}

/* MOTHER-FINAL-169 — keep the reference lockup calm and leave the authored
   headline/copy enough room in the first viewport. The video remains a
   pre-rendered, transparent mark; this only controls its visual footprint. */
body.r89-static.r86-page.r86-home .hero-v2-video,
body.r86-page.r86-home .hero-v2-video,
body.r89-static.r86-page.r86-home .hero-v2-canvas,
body.r86-page.r86-home .hero-v2-canvas,
body.r89-static.r86-page.r86-home .hero-v2-fallback,
body.r86-page.r86-home .hero-v2-fallback {
  transform:scale(.78) !important;
  transform-origin:50% 50% !important;
}
body.r89-static.r86-page.r86-home .hero-content h1.hero-weight-v43,
body.r86-page.r86-home .hero-content h1.hero-weight-v43 {
  max-width:900px !important;
  font-size:clamp(44px,3.6vw,58px) !important;
  line-height:1.1 !important;
}
@media (max-width:900px) {
  body.r89-static.r86-page.r86-home .hero-content h1.hero-weight-v43,
  body.r86-page.r86-home .hero-content h1.hero-weight-v43 {
    max-width:680px !important;
    font-size:clamp(36px,5.5vw,49px) !important;
  }
}
@media (max-width:560px) {
  body.r89-static.r86-page.r86-home .hero-content h1.hero-weight-v43,
  body.r86-page.r86-home .hero-content h1.hero-weight-v43 {
    max-width:340px !important;
    font-size:clamp(29px,7vw,36px) !important;
  }
}

/* MOTHER-FINAL-145 — let WebGL own the 3D turn. CSS only gives the lockup a
   quiet studio drift; the fallback retains a readable 3D tilt when WebGL is
   unavailable. No other hero layer is changed here. */
body.r89-static.r86-page.r86-home .hero-v2-canvas,
body.r86-page.r86-home .hero-v2-canvas {
  animation:m145-mark-drift 5.67s cubic-bezier(.42,0,.58,1) infinite !important;
}
body.r89-static.r86-page.r86-home .hero-v2-fallback,
body.r86-page.r86-home .hero-v2-fallback {
  animation:m145-fallback-studio 5.67s cubic-bezier(.42,0,.58,1) infinite !important;
}
@keyframes m145-mark-drift {
  0%,100% { transform:translate3d(0,2px,0) scale(.988) rotateZ(-.18deg); filter:brightness(.96) saturate(.9); }
  25% { transform:translate3d(0,0,0) scale(1) rotateZ(-.06deg); filter:brightness(1.01) saturate(.95); }
  50% { transform:translate3d(0,-1px,0) scale(1.012) rotateZ(0deg); filter:brightness(1.05) saturate(1); }
  75% { transform:translate3d(0,0,0) scale(1) rotateZ(.14deg); filter:brightness(1) saturate(.94); }
}
@keyframes m145-fallback-studio {
  0%,100% { transform:translate(-50%,-50%) perspective(1400px) translate3d(0,2px,0) scale(.988) rotateX(2.6deg) rotateY(-13deg) rotateZ(-.24deg); filter:brightness(.96) saturate(.9); }
  25% { transform:translate(-50%,-50%) perspective(1400px) translate3d(0,0,0) scale(1) rotateX(.8deg) rotateY(-5deg) rotateZ(-.08deg); filter:brightness(1.01) saturate(.95); }
  50% { transform:translate(-50%,-50%) perspective(1400px) translate3d(0,-1px,0) scale(1.012) rotateX(-.8deg) rotateY(0deg) rotateZ(0deg); filter:brightness(1.05) saturate(1); }
  75% { transform:translate(-50%,-50%) perspective(1400px) translate3d(0,0,0) scale(1) rotateX(1.8deg) rotateY(12deg) rotateZ(.22deg); filter:brightness(1) saturate(.94); }
}

/* Keep the homepage finale inside the same black mother. */
body.r89-static.r86-page.r86-home footer.footer48 .footer48-finale,
body.r86-page.r86-home footer.footer48 .footer48-finale {
  background:
    linear-gradient(180deg,#111316 0%,#0b0c0e 100%),
    linear-gradient(90deg,rgba(205,207,210,.028) 1px,transparent 1px),
    linear-gradient(rgba(205,207,210,.028) 1px,transparent 1px) !important;
  background-size:auto,72px 72px,72px 72px !important;
  border-top-color:rgba(220,225,230,.16) !important;
}
/* Match the legacy :has() selector's specificity so the old purple finale
   cannot win through the cascade or a cached motion rule. */
body.r89-static.r86-page.r86-home footer.footer48:has(.footer54-motion) > .footer48-finale,
body.r86-page.r86-home footer.footer48:has(.footer54-motion) > .footer48-finale {
  background:
    linear-gradient(180deg,#111316 0%,#0b0c0e 100%),
    linear-gradient(90deg,rgba(205,207,210,.028) 1px,transparent 1px),
    linear-gradient(rgba(205,207,210,.028) 1px,transparent 1px) !important;
  background-size:auto,72px 72px,72px 72px !important;
  border-top-color:rgba(220,225,230,.16) !important;
}
body.r89-static.r86-page.r86-home footer.footer48 .footer54-type-face,
body.r86-page.r86-home footer.footer48 .footer54-type-face {
  background:linear-gradient(180deg,#f1f2ef 0%,#aeb4b7 58%,#c8aa75 100%) !important;
  background-clip:text !important;
  -webkit-background-clip:text !important;
  color:transparent !important;
}

/* Neutralize the old teal canvas wash while leaving the authored platform
   marks readable as sparse colour signals at the perimeter. */
body.r89-static.r86-page.r86-home .hero-platform-network canvas,
body.r86-page.r86-home .hero-platform-network canvas { filter:grayscale(.34) saturate(.72) brightness(.92) !important; }

/* MOTHER-FINAL-120 — the final visual pass after the reference review. */
@media (min-width:901px) {
  /* The short-viewport rule above was shrinking the mark to 760x220. Keep
     the first screen as one generous composition at 1280x720 and above. */
  /* Stage geometry is owned by MOTHER-FINAL-124 below.  Keeping the older
     1180px declaration here caused an avoidable 1180→1120→760 cascade. */
  body.r89-static.r86-page.r86-home .hero-content,
  body.r86-page.r86-home .hero-content { padding-top:clamp(340px,43vh,420px) !important; }
  body.r89-static.r86-page.r86-home .hero-content h1.hero-weight-v43,
  body.r86-page.r86-home .hero-content h1.hero-weight-v43 { font-size:clamp(56px,5vw,78px) !important; line-height:1.08 !important; }
  body.r89-static.r86-page.r86-home .hero-description,
  body.r86-page.r86-home .hero-description { font-size:clamp(17px,1.42vw,21px) !important; }
}
@media (min-width:901px) and (max-height:800px) {
  body.r89-static.r86-page.r86-home .hero-content,
  body.r86-page.r86-home .hero-content { padding-top:clamp(350px,45vh,405px) !important; }
}

/* Keep the platform section editorial: the title reads vertically, the five
   role links carry the interaction, and the explanation spans the full row. */
body.r89-static.r86-page.r86-home .home-platforms-v38 > .container > div:first-child,
body.r86-page.r86-home .home-platforms-v38 > .container > div:first-child { display:block !important; }

/* Industry links stay tactile but lose the oversized pale capsule treatment. */
body.r89-static.r86-page.r86-inner.r86-cases :is(.case84-sector-link,.case84-broad-link),
body.r86-page.r86-inner.r86-cases :is(.case84-sector-link,.case84-broad-link) {
  border-radius:18px !important;
  background:linear-gradient(135deg,#16191c,#101214) !important;
  border:1px solid rgba(220,225,230,.16) !important;
  color:#eef0ed !important;
  box-shadow:0 18px 42px rgba(0,0,0,.2) !important;
}
body.r89-static.r86-page.r86-inner.r86-cases :is(.case84-sector-link,.case84-broad-link):hover,
body.r86-page.r86-inner.r86-cases :is(.case84-sector-link,.case84-broad-link):hover {
  border-color:rgba(200,170,117,.68) !important;
  background:linear-gradient(135deg,#24272a,#151719) !important;
  transform:translateY(-4px) !important;
}

/* The social marks are quiet edge signals: colour appears on hover/focus,
   while the centre proposition remains silver and uncluttered. */
.platform-particle--external .platform-badge-icon { filter:grayscale(.72) saturate(.42) !important; opacity:.72 !important; transition:filter .25s ease,opacity .25s ease,transform .25s ease !important; }
.platform-particle--external:hover .platform-badge-icon,
.platform-particle--external:focus-visible .platform-badge-icon { filter:none !important; opacity:1 !important; transform:scale(1.08) !important; }
@media (prefers-reduced-motion:reduce) {
  body.r89-static.r86-page.r86-home .hero-v2-canvas,
  body.r86-page.r86-home .hero-v2-canvas { animation:none !important; }
}

/* MOTHER-FINAL-124 — the Chinese lockup is an identity anchor, not the
   headline.  NoGood keeps its mark inside a generous field of negative space;
   the previous 1120px canvas made ours read like a full-width banner.  Keep
   the scene, copy and growth rail geometry intact while giving the mark a
   restrained desktop footprint. */
@media (min-width:901px) {
  body.r89-static.r86-page.r86-home .hero-v2-stage,
  body.r86-page.r86-home .hero-v2-stage {
    width:min(760px,58vw) !important;
    height:232px !important;
  }
  body.r89-static.r86-page.r86-home .hero-v2-fallback,
  body.r86-page.r86-home .hero-v2-fallback {
    font-size:clamp(52px,4.6vw,76px) !important;
  }
}

/* MOTHER-FINAL-125 — reconcile the client proof wall and capability globe.
   The old capability illustration carried a saturated orange/purple aura and
   teal/purple node surfaces from an earlier visual family.  Keep the authored
   mesh and motion, but make the section read as one graphite editorial field:
   cold silver lines, near-black cards and one restrained brass signal. */
body.r89-static.r86-page.r86-home .proof-wall,
body.r86-page.r86-home .proof-wall {
  background:
    linear-gradient(180deg, #101214 0%, #0c0e10 100%),
    linear-gradient(90deg, rgba(220,225,230,.035) 1px, transparent 1px),
    linear-gradient(rgba(220,225,230,.035) 1px, transparent 1px) !important;
  background-size:auto, 72px 72px, 72px 72px !important;
}
body.r89-static.r86-page.r86-home .trust-mark-v47,
body.r86-page.r86-home .trust-mark-v47 {
  background: linear-gradient(145deg, rgba(27,30,33,.82), rgba(14,16,18,.86)) !important;
  border: 1px solid rgba(220,225,230,.13) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.025) !important;
}
body.r89-static.r86-page.r86-home .trust-mark-v47:is(:hover,:focus-visible),
body.r86-page.r86-home .trust-mark-v47:is(:hover,:focus-visible) {
  background: #f3f4f0 !important;
  border-color: rgba(238,240,234,.72) !important;
}
body.r89-static.r86-page.r86-home .trust-mark-v47.logo-dark:is(:hover,:focus-visible),
body.r86-page.r86-home .trust-mark-v47.logo-dark:is(:hover,:focus-visible) {
  background: #242629 !important;
}

body.r89-static.r86-page.r86-home .home-capabilities-v41,
body.r86-page.r86-home .home-capabilities-v41 {
  background:
    linear-gradient(180deg, #101214 0%, #0b0d0f 100%),
    linear-gradient(90deg, rgba(220,225,230,.026) 1px, transparent 1px),
    linear-gradient(rgba(220,225,230,.026) 1px, transparent 1px) !important;
  background-size:auto, 72px 72px, 72px 72px !important;
}
body.r89-static.r86-page.r86-home .capability-globe,
body.r86-page.r86-home .capability-globe {
  filter:none !important;
}
body.r89-static.r86-page.r86-home .capability-aura,
body.r86-page.r86-home .capability-aura {
  fill:#c8aa75 !important;
  opacity:.085 !important;
}
body.r89-static.r86-page.r86-home .capability-stage[data-i82-pointer="active"] .capability-aura,
body.r86-page.r86-home .capability-stage[data-i82-pointer="active"] .capability-aura { opacity:.2 !important; }
/* CSS wins over the SVG presentation attributes in the reviewed HTML. */
body.r89-static.r86-page.r86-home .capability-globe #capability-glow stop,
body.r86-page.r86-home .capability-globe #capability-glow stop {
  stop-color:#c8aa75 !important;
}
body.r89-static.r86-page.r86-home .capability-globe .globe-mesh,
body.r86-page.r86-home .capability-globe .globe-mesh {
  stroke:#aeb7bb !important;
  opacity:.48 !important;
}
body.r89-static.r86-page.r86-home .capability-globe .capability-orbit,
body.r86-page.r86-home .capability-globe .capability-orbit {
  stroke:#c7cdd0 !important;
  opacity:.34 !important;
}
body.r89-static.r86-page.r86-home .capability-node,
body.r86-page.r86-home .capability-node {
  background:rgba(16,19,22,.92) !important;
  border:1px solid rgba(220,225,230,.22) !important;
  box-shadow:0 16px 34px rgba(0,0,0,.28), inset 0 1px rgba(255,255,255,.035) !important;
  color:#f1f2ef !important;
}
body.r89-static.r86-page.r86-home .capability-node strong,
body.r86-page.r86-home .capability-node strong { color:#f1f2ef !important; }
body.r89-static.r86-page.r86-home .capability-node span,
body.r86-page.r86-home .capability-node span { color:#aeb7bb !important; }
body.r89-static.r86-page.r86-home .capability-node b,
body.r86-page.r86-home .capability-node b { color:#c8aa75 !important; }
body.r89-static.r86-page.r86-home .capability-node:is(:hover,:focus-visible),
body.r86-page.r86-home .capability-node:is(:hover,:focus-visible) {
  background:#1d2225 !important;
  border-color:rgba(200,170,117,.72) !important;
  box-shadow:0 18px 38px rgba(0,0,0,.34), inset 0 1px rgba(255,255,255,.06) !important;
}
body.r89-static.r86-page.r86-home .capability-core,
body.r86-page.r86-home .capability-core { text-shadow:0 2px 18px rgba(0,0,0,.72) !important; }
body.r89-static.r86-page.r86-home .capability-core small,
body.r86-page.r86-home .capability-core small { color:#c8aa75 !important; }
body.r89-static.r86-page.r86-home .capability-sides,
body.r86-page.r86-home .capability-sides { color:#9ea8ad !important; }
body.r89-static.r86-page.r86-home .capability-feedback,
body.r86-page.r86-home .capability-feedback { border-top-color:rgba(220,225,230,.14) !important; }
body.r89-static.r86-page.r86-home .capability-feedback :is(span,p),
body.r86-page.r86-home .capability-feedback :is(span,p) { color:#aeb7bb !important; }
body.r89-static.r86-page.r86-home .capability-feedback i,
body.r86-page.r86-home .capability-feedback i { color:#c8aa75 !important; }

/* MOTHER-FINAL-125 — authored studio-light motion for the Chinese mark.
   The WebGL surface carries the slow silver highlight; this outer cue only
   breathes by a couple of pixels so the identity never reads as a rotating
   banner. */
body.r89-static.r86-page.r86-home .hero-v2-stage,
body.r86-page.r86-home .hero-v2-stage {
  transform-origin:50% 50%;
  animation:mf125-mark-breathe 12s cubic-bezier(.42,0,.58,1) infinite !important;
}
body.r89-static.r86-page.r86-home .hero-v2-canvas,
body.r86-page.r86-home .hero-v2-canvas {
  animation:none !important;
}
@keyframes mf125-mark-breathe {
  0%,100% { transform:translate3d(0,0,0) scale(1); }
  48% { transform:translate3d(0,-1.5px,0) scale(1.004); }
  72% { transform:translate3d(.5px,-.5px,0) scale(1.002); }
}
@media(prefers-reduced-motion:reduce) {
  body.r89-static.r86-page.r86-home .hero-v2-stage,
  body.r86-page.r86-home .hero-v2-stage { animation:none !important; }
}

/* MOTHER-FINAL-126 — restore a visible, restrained interaction in the
   capability globe and establish a clear service hierarchy.  The page keeps
   a graphite foundation, cold white type and two small signals (ice/copper)
   so the visual system stays continuous with the first screen. */
body.r89-static.r86-page.r86-home .capability-stage,
body.r86-page.r86-home .capability-stage {
  --i82-pointer-opacity:0;
}
body.r89-static.r86-page.r86-home .capability-stage[data-i82-pointer="active"]::after,
body.r86-page.r86-home .capability-stage[data-i82-pointer="active"]::after { opacity:.92; }
body.r89-static.r86-page.r86-home .capability-aura,
body.r86-page.r86-home .capability-aura {
  fill:url(#capability-glow) !important;
  opacity:.14 !important;
  animation:auraGlow 11s ease-in-out infinite alternate !important;
}
body.r89-static.r86-page.r86-home .capability-globe #capability-glow stop:nth-child(1),
body.r86-page.r86-home .capability-globe #capability-glow stop:nth-child(1) {
  stop-color:#f4f6f1 !important; stop-opacity:.84 !important;
}
body.r89-static.r86-page.r86-home .capability-globe #capability-glow stop:nth-child(2),
body.r86-page.r86-home .capability-globe #capability-glow stop:nth-child(2) {
  stop-color:#b6bec1 !important; stop-opacity:.38 !important;
}
body.r89-static.r86-page.r86-home .capability-globe #capability-glow stop:nth-child(3),
body.r86-page.r86-home .capability-globe #capability-glow stop:nth-child(3) {
  stop-color:#c8aa75 !important; stop-opacity:.17 !important;
}
body.r89-static.r86-page.r86-home .capability-globe #capability-glow stop:nth-child(4),
body.r86-page.r86-home .capability-globe #capability-glow stop:nth-child(4) {
  stop-color:#0b0d0f !important; stop-opacity:0 !important;
}
body.r89-static.r86-page.r86-home .capability-globe .orbit-signal,
body.r86-page.r86-home .capability-globe .orbit-signal {
  fill:#d9e8df !important;
  filter:drop-shadow(0 0 8px rgba(184,190,193,.8)) !important;
}
body.r89-static.r86-page.r86-home .home-capabilities-v41 .capability-heading h2,
body.r86-page.r86-home .home-capabilities-v41 .capability-heading h2 {
  max-width:10ch;
  text-wrap:balance;
}
body.r89-static.r86-page.r86-home .home-capabilities-v41 .capability-heading > div:last-child p,
body.r86-page.r86-home .home-capabilities-v41 .capability-heading > div:last-child p {
  color:#c7d0cf !important;
  max-width:40ch;
}
body.r89-static.r86-page.r86-home .home-services-v41,
body.r86-page.r86-home .home-services-v41 {
  background:
    linear-gradient(180deg,#0f1214 0%,#0a0d0f 100%),
    linear-gradient(90deg,rgba(220,225,230,.028) 1px,transparent 1px),
    linear-gradient(rgba(220,225,230,.028) 1px,transparent 1px) !important;
  background-size:auto,72px 72px,72px 72px !important;
}
body.r89-static.r86-page.r86-home .home-services-v41 .service-mosaic,
body.r86-page.r86-home .home-services-v41 .service-mosaic {
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
}
body.r89-static.r86-page.r86-home .home-services-v41 .service-tile,
body.r86-page.r86-home .home-services-v41 .service-tile {
  min-height:300px;
  background:linear-gradient(145deg,#171c1e 0%,#0e1113 100%) !important;
  border-color:rgba(220,225,230,.16) !important;
  box-shadow:0 22px 50px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.035) !important;
}
body.r89-static.r86-page.r86-home .home-services-v41 .service-tile.tile-video,
body.r86-page.r86-home .home-services-v41 .service-tile.tile-video {
  grid-column:span 2;
  min-height:360px;
  background:
    radial-gradient(circle at 82% 14%,rgba(200,170,117,.14),transparent 40%),
    linear-gradient(145deg,#20282a 0%,#101517 100%) !important;
  border-color:rgba(200,170,117,.56) !important;
  box-shadow:0 26px 60px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.07) !important;
}
body.r89-static.r86-page.r86-home .home-services-v41 .service-tile:not(.tile-video):hover,
body.r86-page.r86-home .home-services-v41 .service-tile:not(.tile-video):hover {
  border-color:rgba(184,190,193,.58) !important;
  background:linear-gradient(145deg,#1c2527,#101416) !important;
}
body.r89-static.r86-page.r86-home .home-services-v41 .tile-video h3,
body.r86-page.r86-home .home-services-v41 .tile-video h3 {
  font-size:clamp(34px,3.6vw,54px) !important;
  line-height:1.08 !important;
  letter-spacing:-.045em;
}
body.r89-static.r86-page.r86-home .home-services-v41 .tile-video > strong,
body.r86-page.r86-home .home-services-v41 .tile-video > strong {
  max-width:620px;
  font-size:21px !important;
  color:#f0f2ee !important;
}
body.r89-static.r86-page.r86-home .home-services-v41 .tile-geo h3,
body.r86-page.r86-home .home-services-v41 .tile-geo h3 { color:#d7e7e3 !important; }
body.r89-static.r86-page.r86-home .home-services-v41 .tile-geo .service-tile-top span,
body.r86-page.r86-home .home-services-v41 .tile-geo .service-tile-top span { color:#b6bec1 !important; }
@media (max-width:900px) {
  body.r89-static.r86-page.r86-home .home-services-v41 .service-mosaic,
  body.r86-page.r86-home .home-services-v41 .service-mosaic { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  body.r89-static.r86-page.r86-home .home-services-v41 .service-tile.tile-video,
  body.r86-page.r86-home .home-services-v41 .service-tile.tile-video { grid-column:span 2; }
}
@media (max-width:700px) {
  body.r89-static.r86-page.r86-home .home-services-v41 .service-mosaic,
  body.r86-page.r86-home .home-services-v41 .service-mosaic { grid-template-columns:1fr !important; }
  body.r89-static.r86-page.r86-home .home-services-v41 .service-tile.tile-video,
  body.r86-page.r86-home .home-services-v41 .service-tile.tile-geo,
  body.r86-page.r86-home .home-services-v41 .service-tile.tile-brand,
  body.r86-page.r86-home .home-services-v41 .service-tile.tile-network,
  body.r86-page.r86-home .home-services-v41 .service-tile.tile-video { grid-column:span 1; }
  body.r89-static.r86-page.r86-home .home-services-v41 .tile-video h3,
  body.r86-page.r86-home .home-services-v41 .tile-video h3 { font-size:34px !important; }
}


/* MOTHER-FINAL-142 — logo-only NoGood motion. Keep the approved home composition and
   let the identity mark be the only moving subject in this pass. */
body.r89-static.r86-page.r86-home .revised-hero.home-statement,
body.r86-page.r86-home .revised-hero.home-statement {
  height:calc(100svh - 84px) !important;
  min-height:760px !important;
  max-height:none !important;
  background:#121214 !important;
  border-bottom:1px solid rgba(205,207,210,.2) !important;
  overflow:hidden !important;
}
body.r89-static.r86-page.r86-home .hero-v2-scene,
body.r86-page.r86-home .hero-v2-scene {
  position:absolute !important;
  inset:0 auto auto 50% !important;
  z-index:0 !important;
  width:100vw !important;
  height:100% !important;
  min-height:100% !important;
  margin:0 !important;
  overflow:hidden !important;
  pointer-events:none !important;
  transform:translateX(-50%) !important;
  background:transparent !important;
}
body.r89-static.r86-page.r86-home .hero-v2-environment,
body.r86-page.r86-home .hero-v2-environment {
  z-index:1 !important;
  opacity:1 !important;
  background:radial-gradient(ellipse at 50% 25%,rgba(230,232,228,.08),transparent 44%),#121214 !important;
}
body.r89-static.r86-page.r86-home .hero-v2-environment::before,
body.r86-page.r86-home .hero-v2-environment::before { display:none !important; }
body.r89-static.r86-page.r86-home .hero-v2-room,
body.r86-page.r86-home .hero-v2-room {
  opacity:.18 !important;
  color:#b9bcc0 !important;
}
body.r89-static.r86-page.r86-home .hero-platform-network,
body.r86-page.r86-home .hero-platform-network { display:block !important; z-index:2 !important; opacity:.82 !important; filter:saturate(.68) contrast(1.1) brightness(.92) !important; }
body.r89-static.r86-page.r86-home .hero-atmosphere-v54,
body.r86-page.r86-home .hero-atmosphere-v54 { display:block !important; opacity:.32 !important; filter:grayscale(.18) saturate(.55) !important; }
body.r89-static.r86-page.r86-home .hero-orbit-v54,
body.r86-page.r86-home .hero-orbit-v54,
body.r89-static.r86-page.r86-home .hero-spark-v54,
body.r86-page.r86-home .hero-spark-v54,
body.r89-static.r86-page.r86-home .hero-v2-film,
body.r86-page.r86-home .hero-v2-film,
body.r89-static.r86-page.r86-home .hero-v2-timeline,
body.r86-page.r86-home .hero-v2-timeline { display:block !important; }
body.r89-static.r86-page.r86-home .hero-v2-stage,
body.r86-page.r86-home .hero-v2-stage {
  position:absolute !important;
  z-index:3 !important;
  left:50% !important;
  top:8px !important;
  width:min(760px,58vw) !important;
  height:232px !important;
  aspect-ratio:auto !important;
  margin:0 !important;
  transform:translateX(-50%) !important;
  animation:none !important;
  filter:drop-shadow(0 18px 28px rgba(0,0,0,.26)) !important;
}
body.r89-static.r86-page.r86-home .hero-v2-stage::before,
body.r86-page.r86-home .hero-v2-stage::before,
body.r89-static.r86-page.r86-home .hero-v2-stage::after,
body.r86-page.r86-home .hero-v2-stage::after { display:none !important; }
body.r89-static.r86-page.r86-home .hero-v2-canvas,
body.r86-page.r86-home .hero-v2-canvas,
body.r89-static.r86-page.r86-home .hero-v2-fallback,
body.r86-page.r86-home .hero-v2-fallback {
  transform-origin:50% 52% !important;
  will-change:transform,filter !important;
  animation:m142-mark-tilt 6.4s cubic-bezier(.42,0,.58,1) infinite !important;
}
body.r89-static.r86-page.r86-home .hero-v2-fallback,
body.r86-page.r86-home .hero-v2-fallback { animation-name:m142-fallback-tilt !important; }
@keyframes m142-mark-tilt {
  0%,100% { transform:perspective(1400px) translate3d(0,2px,0) scale(.985) rotateX(3deg) rotateY(-10deg) rotateZ(-.35deg); filter:brightness(.94) saturate(.88); }
  24% { transform:perspective(1400px) translate3d(0,0,0) scale(1) rotateX(1deg) rotateY(-4deg) rotateZ(-.14deg); filter:brightness(1.01) saturate(.95); }
  50% { transform:perspective(1400px) translate3d(0,-1px,0) scale(1.012) rotateX(-1deg) rotateY(0deg) rotateZ(0deg); filter:brightness(1.06) saturate(1); }
  76% { transform:perspective(1400px) translate3d(0,0,0) scale(1) rotateX(2deg) rotateY(9deg) rotateZ(.32deg); filter:brightness(.99) saturate(.92); }
}
@keyframes m142-fallback-tilt {
  0%,100% { transform:translate(-50%,-50%) perspective(1400px) translate3d(0,2px,0) scale(.985) rotateX(3deg) rotateY(-10deg) rotateZ(-.35deg); filter:brightness(.94) saturate(.88); }
  24% { transform:translate(-50%,-50%) perspective(1400px) translate3d(0,0,0) scale(1) rotateX(1deg) rotateY(-4deg) rotateZ(-.14deg); filter:brightness(1.01) saturate(.95); }
  50% { transform:translate(-50%,-50%) perspective(1400px) translate3d(0,-1px,0) scale(1.012) rotateX(-1deg) rotateY(0deg) rotateZ(0deg); filter:brightness(1.06) saturate(1); }
  76% { transform:translate(-50%,-50%) perspective(1400px) translate3d(0,0,0) scale(1) rotateX(2deg) rotateY(9deg) rotateZ(.32deg); filter:brightness(.99) saturate(.92); }
}
body.r89-static.r86-page.r86-home .hero-content,
body.r86-page.r86-home .hero-content { padding-top:clamp(340px,43vh,420px) !important; }
body.r89-static.r86-page.r86-home .hero-content h1.hero-weight-v43,
body.r86-page.r86-home .hero-content h1.hero-weight-v43 { max-width:980px !important; font-size:clamp(56px,5vw,78px) !important; line-height:1.08 !important; letter-spacing:-.052em !important; }
body.r89-static.r86-page.r86-home .hero-description,
body.r86-page.r86-home .hero-description { max-width:720px !important; color:rgba(233,232,226,.76) !important; }
body.r89-static.r86-page.r86-home .hero-growth-route-v54,
body.r86-page.r86-home .hero-growth-route-v54 { bottom:48px !important; width:min(780px,calc(100vw - 220px)) !important; background:none !important; }
@media (min-width:901px) and (max-height:800px) {
  body.r89-static.r86-page.r86-home .hero-v2-stage,
  body.r86-page.r86-home .hero-v2-stage { height:280px !important; }
  body.r89-static.r86-page.r86-home .hero-content,
  body.r86-page.r86-home .hero-content { padding-top:292px !important; }
}
@media (max-width:900px) {
  body.r89-static.r86-page.r86-home .hero-v2-stage,
  body.r86-page.r86-home .hero-v2-stage { width:min(690px,86vw) !important; height:240px !important; }
  body.r89-static.r86-page.r86-home .hero-content,
  body.r86-page.r86-home .hero-content { padding-top:228px !important; }
}
@media (max-width:560px) {
  body.r89-static.r86-page.r86-home .hero-v2-stage,
  body.r86-page.r86-home .hero-v2-stage { width:100% !important; height:190px !important; }
  body.r89-static.r86-page.r86-home .hero-content,
  body.r86-page.r86-home .hero-content { padding-top:228px !important; }
  body.r89-static.r86-page.r86-home .hero-content h1.hero-weight-v43,
  body.r86-page.r86-home .hero-content h1.hero-weight-v43 { font-size:clamp(31px,8.2vw,42px) !important; line-height:1.3 !important; }
}
@media (prefers-reduced-motion:reduce) {
  body.r89-static.r86-page.r86-home .hero-v2-canvas,
  body.r86-page.r86-home .hero-v2-canvas,
  body.r89-static.r86-page.r86-home .hero-v2-fallback,
  body.r86-page.r86-home .hero-v2-fallback { animation:none !important; }
}

/* MOTHER-FINAL-149 — reproduce the reference media-window composition.
   NoGood's “picture-in-picture” read is a 16:9 poster layer fading into a
   looping media layer with lighten blending. Here the fallback is our static
   silver poster and the canvas is the authored moving layer. */
body.r89-static.r86-page.r86-home .hero-v2-stage,
body.r86-page.r86-home .hero-v2-stage {
  width:min(760px,60vw) !important;
  height:auto !important;
  aspect-ratio:16 / 9 !important;
  overflow:visible !important;
  isolation:isolate !important;
}
body.r89-static.r86-page.r86-home .hero-v2-fallback,
body.r86-page.r86-home .hero-v2-fallback {
  z-index:2 !important;
  opacity:1 !important;
  visibility:visible !important;
  mix-blend-mode:lighten !important;
  transition:opacity .7s ease,visibility 0s linear 0s !important;
}
body.r89-static.r86-page.r86-home .hero-v2-canvas,
body.r86-page.r86-home .hero-v2-canvas {
  z-index:3 !important;
  mix-blend-mode:lighten !important;
  transition:opacity .7s ease !important;
}
body.r89-static.r86-page.r86-home .hero-v2-stage.is-rendered .hero-v2-fallback,
body.r86-page.r86-home .hero-v2-stage.is-rendered .hero-v2-fallback {
  opacity:0 !important;
  visibility:hidden !important;
  transition:opacity .7s ease,visibility 0s linear .7s !important;
}
body.r89-static.r86-page.r86-home .hero-v2-stage.is-rendered .hero-v2-canvas,
body.r86-page.r86-home .hero-v2-stage.is-rendered .hero-v2-canvas { opacity:1 !important; }
body.r89-static.r86-page.r86-home .hero-content,
body.r86-page.r86-home .hero-content { padding-top:clamp(390px,43vh,440px) !important; }
@media (max-width:900px) {
  body.r89-static.r86-page.r86-home .hero-v2-stage,
  body.r86-page.r86-home .hero-v2-stage { width:min(680px,88vw) !important; }
  body.r89-static.r86-page.r86-home .hero-content,
  body.r86-page.r86-home .hero-content { padding-top:clamp(310px,42vh,390px) !important; }
}
@media (max-width:560px) {
  body.r89-static.r86-page.r86-home .hero-v2-stage,
  body.r86-page.r86-home .hero-v2-stage { width:100% !important; }
  body.r89-static.r86-page.r86-home .hero-content,
  body.r86-page.r86-home .hero-content { padding-top:300px !important; }
}

/* MOTHER-FINAL-148 — final cascade for the wordmark only.  The reference
   video uses a large, bevelled, whole-lockup product shot.  Keep this block
   at the true end so older hero experiments cannot override it. */
body.r89-static.r86-page.r86-home .hero-v2-stage,
body.r86-page.r86-home .hero-v2-stage {
  width:min(900px,66vw) !important;
  height:260px !important;
}
body.r89-static.r86-page.r86-home .hero-v2-canvas,
body.r86-page.r86-home .hero-v2-canvas {
  animation:m148-mark-studio 5s cubic-bezier(.42,0,.58,1) infinite !important;
}
body.r89-static.r86-page.r86-home .hero-v2-fallback,
body.r86-page.r86-home .hero-v2-fallback {
  animation:m148-fallback-studio 5s cubic-bezier(.42,0,.58,1) infinite !important;
}
@keyframes m148-mark-studio {
  0%,100% { transform:perspective(1280px) translate3d(0,2px,0) scale(.985) rotateX(4deg) rotateY(-14deg) rotateZ(-.24deg); filter:brightness(.89) saturate(.84) contrast(1.04); }
  24% { transform:perspective(1280px) translate3d(0,0,0) scale(1.01) rotateX(1deg) rotateY(-4deg) rotateZ(-.08deg); filter:brightness(.98) saturate(.9) contrast(1.02); }
  52% { transform:perspective(1280px) translate3d(0,-2px,0) scale(1.026) rotateX(-2deg) rotateY(12deg) rotateZ(.2deg); filter:brightness(1.08) saturate(.98) contrast(1.06); }
  76% { transform:perspective(1280px) translate3d(0,0,0) scale(1.005) rotateX(2deg) rotateY(5deg) rotateZ(.08deg); filter:brightness(1) saturate(.9) contrast(1.03); }
}
@keyframes m148-fallback-studio {
  0%,100% { transform:translate(-50%,-50%) perspective(1280px) translate3d(0,2px,0) scale(.985) rotateX(4deg) rotateY(-14deg) rotateZ(-.24deg); filter:brightness(.89) saturate(.84) contrast(1.04); }
  24% { transform:translate(-50%,-50%) perspective(1280px) translate3d(0,0,0) scale(1.01) rotateX(1deg) rotateY(-4deg) rotateZ(-.08deg); filter:brightness(.98) saturate(.9) contrast(1.02); }
  52% { transform:translate(-50%,-50%) perspective(1280px) translate3d(0,-2px,0) scale(1.026) rotateX(-2deg) rotateY(12deg) rotateZ(.2deg); filter:brightness(1.08) saturate(.98) contrast(1.06); }
  76% { transform:translate(-50%,-50%) perspective(1280px) translate3d(0,0,0) scale(1.005) rotateX(2deg) rotateY(5deg) rotateZ(.08deg); filter:brightness(1) saturate(.9) contrast(1.03); }
}
@media (max-width:900px) {
  body.r89-static.r86-page.r86-home .hero-v2-stage,
  body.r86-page.r86-home .hero-v2-stage { width:min(760px,90vw) !important; height:240px !important; }
}
@media (max-width:560px) {
  body.r89-static.r86-page.r86-home .hero-v2-stage,
  body.r86-page.r86-home .hero-v2-stage { width:100% !important; height:200px !important; }
}
@media (prefers-reduced-motion:reduce) {
  body.r89-static.r86-page.r86-home .hero-v2-canvas,
  body.r86-page.r86-home .hero-v2-canvas,
  body.r89-static.r86-page.r86-home .hero-v2-fallback,
  body.r86-page.r86-home .hero-v2-fallback { animation:none !important; }
}

/* MOTHER-FINAL-147 — match the observed NoGood lockup motion.
   The reference keeps the letters locked together: one five-second studio
   loop, a clear whole-object yaw, and a travelling neutral reflection.  The
   wordmark is the only subject changed in this pass. */
body.r89-static.r86-page.r86-home .hero-v2-canvas,
body.r86-page.r86-home .hero-v2-canvas {
  animation:m147-mark-studio 5s cubic-bezier(.42,0,.58,1) infinite !important;
}
body.r89-static.r86-page.r86-home .hero-v2-fallback,
body.r86-page.r86-home .hero-v2-fallback {
  animation:m147-fallback-studio 5s cubic-bezier(.42,0,.58,1) infinite !important;
}
@keyframes m147-mark-studio {
  0%,100% { transform:perspective(1400px) translate3d(0,2px,0) scale(.992) rotateX(2.5deg) rotateY(-10deg) rotateZ(-.18deg); filter:brightness(.95) saturate(.88); }
  28% { transform:perspective(1400px) translate3d(0,0,0) scale(1) rotateX(.8deg) rotateY(-1deg) rotateZ(-.06deg); filter:brightness(1.01) saturate(.94); }
  58% { transform:perspective(1400px) translate3d(0,-1px,0) scale(1.008) rotateX(-1.2deg) rotateY(10deg) rotateZ(.14deg); filter:brightness(1.06) saturate(1); }
  80% { transform:perspective(1400px) translate3d(0,0,0) scale(1) rotateX(1.4deg) rotateY(3deg) rotateZ(.06deg); filter:brightness(1) saturate(.94); }
}
@keyframes m147-fallback-studio {
  0%,100% { transform:translate(-50%,-50%) perspective(1400px) translate3d(0,2px,0) scale(.992) rotateX(2.5deg) rotateY(-10deg) rotateZ(-.18deg); filter:brightness(.95) saturate(.88); }
  28% { transform:translate(-50%,-50%) perspective(1400px) translate3d(0,0,0) scale(1) rotateX(.8deg) rotateY(-1deg) rotateZ(-.06deg); filter:brightness(1.01) saturate(.94); }
  58% { transform:translate(-50%,-50%) perspective(1400px) translate3d(0,-1px,0) scale(1.008) rotateX(-1.2deg) rotateY(10deg) rotateZ(.14deg); filter:brightness(1.06) saturate(1); }
  80% { transform:translate(-50%,-50%) perspective(1400px) translate3d(0,0,0) scale(1) rotateX(1.4deg) rotateY(3deg) rotateZ(.06deg); filter:brightness(1) saturate(.94); }
}
@media (prefers-reduced-motion:reduce) {
  body.r89-static.r86-page.r86-home .hero-v2-canvas,
  body.r86-page.r86-home .hero-v2-canvas,
  body.r89-static.r86-page.r86-home .hero-v2-fallback,
  body.r86-page.r86-home .hero-v2-fallback { animation:none !important; }
}
/* Learning uses a Seer-like editorial order: a calm two-column opening,
   one quiet diagram, then ruled reading groups. Remove the inherited purple
   surface and keep one brass accent for active links. */
body.r89-static.r86-learning,
body.r86-page.r86-learning { background:#0b0d0f !important; color:#eef1ec !important; }
body.r89-static.r86-learning :is(.r83-learning-hero,.r83-learning-picks,.r83-learning-library,.r83-learning-news),
body.r86-page.r86-learning :is(.r83-learning-hero,.r83-learning-picks,.r83-learning-library,.r83-learning-news) {
  background:#0b0d0f !important;
  border-color:rgba(220,225,230,.16) !important;
}
body.r89-static.r86-learning .r83-learning-hero,
body.r86-page.r86-learning .r83-learning-hero {
  min-height:clamp(560px,70vh,700px) !important;
  padding-top:clamp(118px,14vh,168px) !important;
  padding-bottom:clamp(82px,10vh,120px) !important;
}
body.r89-static.r86-learning .r83-learning-hero h1,
body.r86-page.r86-learning .r83-learning-hero h1 {
  max-width:11ch !important;
  font-size:clamp(48px,5.3vw,78px) !important;
  line-height:1.02 !important;
  letter-spacing:-.065em !important;
}
body.r89-static.r86-learning .r83-learning-hero > .container > p,
body.r86-page.r86-learning .r83-learning-hero > .container > p {
  max-width:44ch !important;
  color:#adb6b7 !important;
  font-size:clamp(16px,1.4vw,19px) !important;
  line-height:1.85 !important;
}
body.r89-static.r86-learning .r83-learning-diagram,
body.r86-page.r86-learning .r83-learning-diagram {
  background:#111416 !important;
  border-color:rgba(220,225,230,.28) !important;
  box-shadow:0 28px 70px rgba(0,0,0,.34) !important;
}
body.r89-static.r86-learning .r83-learning-diagram > div span,
body.r86-page.r86-learning .r83-learning-diagram > div span {
  background:#171b1d !important;
  border-color:rgba(220,225,230,.32) !important;
  color:#e8ebe6 !important;
}
body.r89-static.r86-learning :is(.r83-learning-picks,.r83-learning-library,.r83-learning-news) > .container,
body.r86-page.r86-learning :is(.r83-learning-picks,.r83-learning-library,.r83-learning-news) > .container {
  border-top:1px solid rgba(220,225,230,.14) !important;
}
body.r89-static.r86-learning :is(.r83-pick,.r83-pick-art),
body.r86-page.r86-learning :is(.r83-pick,.r83-pick-art) {
  background:#111416 !important;
  border-color:rgba(220,225,230,.18) !important;
}
body.r89-static.r86-learning :is(.r83-pick,.r83-pick-art):hover,
body.r86-page.r86-learning :is(.r83-pick,.r83-pick-art):hover {
  border-color:rgba(200,170,117,.74) !important;
  transform:translateY(-3px);
}
body.r89-static.r86-learning :is(.r83-learning-picks h2,.r83-learning-library h2,.r83-learning-news h2),
body.r86-page.r86-learning :is(.r83-learning-picks h2,.r83-learning-library h2,.r83-learning-news h2) { letter-spacing:-.045em !important; }
body.r89-static.r86-learning :is(.r83-learning-picks a,.r83-learning-library a,.r83-learning-news a),
body.r86-page.r86-learning :is(.r83-learning-picks a,.r83-learning-library a,.r83-learning-news a) { color:#c8aa75 !important; }

/* MOTHER-FINAL-145-FINAL — one coherent 3D wordmark motion layer.
   WebGL owns the metal turn; CSS only supplies a restrained studio drift.
   This final override deliberately leaves the rest of the hero untouched. */
body.r89-static.r86-page.r86-home .hero-v2-canvas,
body.r86-page.r86-home .hero-v2-canvas {
  animation:m145-mark-drift 5.67s cubic-bezier(.42,0,.58,1) infinite !important;
}
body.r89-static.r86-page.r86-home .hero-v2-fallback,
body.r86-page.r86-home .hero-v2-fallback {
  animation:m145-fallback-studio 5.67s cubic-bezier(.42,0,.58,1) infinite !important;
}
@keyframes m145-mark-drift {
  0%,100% { transform:translate3d(0,2px,0) scale(.992) rotateZ(-.08deg); filter:brightness(.97) saturate(.9); }
  50% { transform:translate3d(0,-1px,0) scale(1.008) rotateZ(.08deg); filter:brightness(1.04) saturate(.98); }
}
@keyframes m145-fallback-studio {
  0%,100% { transform:translate(-50%,-50%) perspective(1400px) translate3d(0,2px,0) scale(.992) rotateX(1.5deg) rotateY(-3deg) rotateZ(-.08deg); filter:brightness(.97) saturate(.9); }
  50% { transform:translate(-50%,-50%) perspective(1400px) translate3d(0,-1px,0) scale(1.008) rotateX(-1.5deg) rotateY(3deg) rotateZ(.08deg); filter:brightness(1.04) saturate(.98); }
}
@media (prefers-reduced-motion:reduce) {
  body.r89-static.r86-page.r86-home .hero-v2-canvas,
  body.r86-page.r86-home .hero-v2-canvas,
  body.r89-static.r86-page.r86-home .hero-v2-fallback,
  body.r86-page.r86-home .hero-v2-fallback { animation:none !important; }
}

/* MOTHER-FINAL-148 — final cascade for the wordmark only. The reference
   video uses a large, bevelled, whole-lockup product shot. Keep this block
   at the true end so older hero experiments cannot override it. */
body.r89-static.r86-page.r86-home .hero-v2-stage,
body.r86-page.r86-home .hero-v2-stage { width:min(900px,66vw) !important; height:260px !important; }
body.r89-static.r86-page.r86-home .hero-v2-canvas,
body.r86-page.r86-home .hero-v2-canvas { animation:m148-mark-studio 5s cubic-bezier(.42,0,.58,1) infinite !important; }
body.r89-static.r86-page.r86-home .hero-v2-fallback,
body.r86-page.r86-home .hero-v2-fallback { animation:m148-fallback-studio 5s cubic-bezier(.42,0,.58,1) infinite !important; }
@keyframes m148-mark-studio {
  0%,100% { transform:perspective(1280px) translate3d(0,2px,0) scale(.985) rotateX(4deg) rotateY(-14deg) rotateZ(-.24deg); filter:brightness(.89) saturate(.84) contrast(1.04); }
  24% { transform:perspective(1280px) translate3d(0,0,0) scale(1.01) rotateX(1deg) rotateY(-4deg) rotateZ(-.08deg); filter:brightness(.98) saturate(.9) contrast(1.02); }
  52% { transform:perspective(1280px) translate3d(0,-2px,0) scale(1.026) rotateX(-2deg) rotateY(12deg) rotateZ(.2deg); filter:brightness(1.08) saturate(.98) contrast(1.06); }
  76% { transform:perspective(1280px) translate3d(0,0,0) scale(1.005) rotateX(2deg) rotateY(5deg) rotateZ(.08deg); filter:brightness(1) saturate(.9) contrast(1.03); }
}
@keyframes m148-fallback-studio {
  0%,100% { transform:translate(-50%,-50%) perspective(1280px) translate3d(0,2px,0) scale(.985) rotateX(4deg) rotateY(-14deg) rotateZ(-.24deg); filter:brightness(.89) saturate(.84) contrast(1.04); }
  24% { transform:translate(-50%,-50%) perspective(1280px) translate3d(0,0,0) scale(1.01) rotateX(1deg) rotateY(-4deg) rotateZ(-.08deg); filter:brightness(.98) saturate(.9) contrast(1.02); }
  52% { transform:translate(-50%,-50%) perspective(1280px) translate3d(0,-2px,0) scale(1.026) rotateX(-2deg) rotateY(12deg) rotateZ(.2deg); filter:brightness(1.08) saturate(.98) contrast(1.06); }
  76% { transform:translate(-50%,-50%) perspective(1280px) translate3d(0,0,0) scale(1.005) rotateX(2deg) rotateY(5deg) rotateZ(.08deg); filter:brightness(1) saturate(.9) contrast(1.03); }
}
@media (max-width:900px) {
  body.r89-static.r86-page.r86-home .hero-v2-stage,
  body.r86-page.r86-home .hero-v2-stage { width:min(760px,90vw) !important; height:240px !important; }
}
@media (max-width:560px) {
  body.r89-static.r86-page.r86-home .hero-v2-stage,
  body.r86-page.r86-home .hero-v2-stage { width:100% !important; height:200px !important; }
}
@media (prefers-reduced-motion:reduce) {
  body.r89-static.r86-page.r86-home .hero-v2-canvas,
  body.r86-page.r86-home .hero-v2-canvas,
  body.r89-static.r86-page.r86-home .hero-v2-fallback,
  body.r86-page.r86-home .hero-v2-fallback { animation:none !important; }
}

/* MOTHER-FINAL-149 — reproduce NoGood's nested 16:9 media window. The
   full hero remains the outer scene; the poster/fallback and moving canvas
   are the inner media layer blended over it. */
body.r89-static.r86-page.r86-home .hero-v2-stage,
body.r86-page.r86-home .hero-v2-stage {
  width:min(760px,60vw) !important;
  height:auto !important;
  aspect-ratio:16 / 9 !important;
  overflow:hidden !important;
  isolation:isolate !important;
}
body.r89-static.r86-page.r86-home .hero-v2-fallback,
body.r86-page.r86-home .hero-v2-fallback {
  z-index:2 !important;
  opacity:1 !important;
  visibility:visible !important;
  mix-blend-mode:lighten !important;
  transition:opacity .7s ease,visibility 0s linear 0s !important;
}
body.r89-static.r86-page.r86-home .hero-v2-canvas,
body.r86-page.r86-home .hero-v2-canvas {
  z-index:3 !important;
  mix-blend-mode:lighten !important;
  transition:opacity .7s ease !important;
}
body.r89-static.r86-page.r86-home .hero-v2-stage.is-rendered .hero-v2-fallback,
body.r86-page.r86-home .hero-v2-stage.is-rendered .hero-v2-fallback {
  opacity:0 !important;
  visibility:hidden !important;
  transition:opacity .7s ease,visibility 0s linear .7s !important;
}
body.r89-static.r86-page.r86-home .hero-v2-stage.is-rendered .hero-v2-canvas,
body.r86-page.r86-home .hero-v2-stage.is-rendered .hero-v2-canvas { opacity:1 !important; }
body.r89-static.r86-page.r86-home .hero-content,
body.r86-page.r86-home .hero-content { padding-top:clamp(390px,43vh,440px) !important; }
@media (max-width:900px) {
  body.r89-static.r86-page.r86-home .hero-v2-stage,
  body.r86-page.r86-home .hero-v2-stage { width:min(680px,88vw) !important; }
  body.r89-static.r86-page.r86-home .hero-content,
  body.r86-page.r86-home .hero-content { padding-top:clamp(310px,42vh,390px) !important; }
}
@media (max-width:560px) {
  body.r89-static.r86-page.r86-home .hero-v2-stage,
  body.r86-page.r86-home .hero-v2-stage { width:100% !important; }
  body.r89-static.r86-page.r86-home .hero-content,
  body.r86-page.r86-home .hero-content { padding-top:300px !important; }
}

/* MOTHER-FINAL-150 — the media window is an explicit inner layer, matching
   the reference's poster/video composition while leaving the outer hero scene
   intact. */
body.r89-static.r86-page.r86-home .hero-v2-media,
body.r86-page.r86-home .hero-v2-media {
  position:relative !important;
  width:100% !important;
  height:100% !important;
  aspect-ratio:16 / 9 !important;
  overflow:hidden !important;
  isolation:isolate !important;
}
body.r89-static.r86-page.r86-home .hero-v2-media .hero-v2-fallback,
body.r86-page.r86-home .hero-v2-media .hero-v2-fallback { z-index:2 !important; }
body.r89-static.r86-page.r86-home .hero-v2-media .hero-v2-canvas,
body.r86-page.r86-home .hero-v2-media .hero-v2-canvas { z-index:1 !important; mix-blend-mode:lighten !important; }

/* MOTHER-FINAL-151 — make readiness belong to the inner media window, as it
   does in the reference poster-to-video handoff. */
body.r89-static.r86-page.r86-home .hero-v2-media.is-ready .hero-v2-fallback,
body.r86-page.r86-home .hero-v2-media.is-ready .hero-v2-fallback { opacity:0 !important; visibility:hidden !important; }
body.r89-static.r86-page.r86-home .hero-v2-media.is-ready .hero-v2-canvas,
body.r86-page.r86-home .hero-v2-media.is-ready .hero-v2-canvas { opacity:1 !important; }

/* MOTHER-FINAL-152 — the media window is the single visual source.  The
   poster is a quiet first frame; the moving lockup remains centred inside the
   16:9 window and never inherits the outer hero's crop. */
body.r89-static.r86-page.r86-home .hero-v2-media,
body.r86-page.r86-home .hero-v2-media {
  background:radial-gradient(ellipse at 50% 46%, rgba(36,38,37,.32), rgba(5,7,8,.04) 62%, transparent 78%) !important;
  box-shadow:inset 0 0 80px rgba(0,0,0,.20) !important;
}
body.r89-static.r86-page.r86-home .hero-v2-media .hero-v2-fallback,
body.r86-page.r86-home .hero-v2-media .hero-v2-fallback {
  animation:none !important;
  transform:translate(-50%,-50%) perspective(1400px) rotateX(2deg) rotateY(-9deg) rotateZ(-.12deg) !important;
  filter:brightness(.82) saturate(.78) contrast(1.06) !important;
}
body.r89-static.r86-page.r86-home .hero-v2-media .hero-v2-canvas,
body.r86-page.r86-home .hero-v2-media .hero-v2-canvas {
  animation:m152-mark-studio 5s cubic-bezier(.42,0,.58,1) infinite !important;
}
@keyframes m152-mark-studio {
  0%,100% { transform:perspective(1400px) translate3d(0,2px,0) scale(.985) rotateX(2deg) rotateY(-11deg) rotateZ(-.16deg); filter:brightness(.88) contrast(1.06); }
  24% { transform:perspective(1400px) translate3d(0,0,0) scale(1) rotateX(.6deg) rotateY(-2deg) rotateZ(-.05deg); filter:brightness(.96) contrast(1.03); }
  52% { transform:perspective(1400px) translate3d(0,-2px,0) scale(1.015) rotateX(-1.5deg) rotateY(10deg) rotateZ(.14deg); filter:brightness(1.04) contrast(1.08); }
  76% { transform:perspective(1400px) translate3d(0,0,0) scale(1.002) rotateX(1.6deg) rotateY(4deg) rotateZ(.06deg); filter:brightness(.98) contrast(1.04); }
}
@media (max-width:900px) {
  body.r89-static.r86-page.r86-home .hero-v2-media,
  body.r86-page.r86-home .hero-v2-media { width:100% !important; }
}

/* MOTHER-FINAL-153 — during playback the media contents alone move. The
   outer 16:9 window stays still, exactly like the reference video frame. */
body.r89-static.r86-page.r86-home .hero-v2-media .hero-v2-canvas,
body.r86-page.r86-home .hero-v2-media .hero-v2-canvas {
  animation:none !important;
  transform:none !important;
  filter:none !important;
}


/* M154-final: video-first NoGood-style media window. */
body.r89-static.r86-page.r86-home .hero-v2-media,body.r86-page.r86-home .hero-v2-media{position:relative;overflow:hidden;aspect-ratio:16/9;isolation:isolate}
body.r89-static.r86-page.r86-home .hero-v2-video,body.r86-page.r86-home .hero-v2-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:3;opacity:0;visibility:hidden;mix-blend-mode:lighten;transition:opacity .35s ease;pointer-events:none}
body.r89-static.r86-page.r86-home .hero-v2-media.is-video-ready .hero-v2-video,body.r86-page.r86-home .hero-v2-media.is-video-ready .hero-v2-video{opacity:1;visibility:visible}
body.r89-static.r86-page.r86-home .hero-v2-media.is-video-ready .hero-v2-fallback,body.r86-page.r86-home .hero-v2-media.is-video-ready .hero-v2-fallback,body.r89-static.r86-page.r86-home .hero-v2-media.is-video-ready .hero-v2-canvas,body.r86-page.r86-home .hero-v2-media.is-video-ready .hero-v2-canvas{opacity:0!important;visibility:hidden!important}

/* M155 — the NoGood-like media stage is a single moving lockup source.
   Remove every inherited plate/shadow so the video blends into the existing
   network scene instead of placing a dark rectangle over it. */
body.r89-static.r86-page.r86-home .hero-v2-stage,
body.r86-page.r86-home .hero-v2-stage,
body.r89-static.r86-page.r86-home .hero-v2-media,
body.r86-page.r86-home .hero-v2-media {
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  filter:none !important;
  contain:none !important;
  isolation:auto !important;
  mix-blend-mode:lighten !important;
}
body.r89-static.r86-page.r86-home .hero-v2-stage::before,
body.r89-static.r86-page.r86-home .hero-v2-stage::after,
body.r86-page.r86-home .hero-v2-stage::before,
body.r86-page.r86-home .hero-v2-stage::after,
body.r89-static.r86-page.r86-home .hero-v2-media::before,
body.r89-static.r86-page.r86-home .hero-v2-media::after,
body.r86-page.r86-home .hero-v2-media::before,
body.r86-page.r86-home .hero-v2-media::after { display:none !important; content:none !important; }
body.r89-static.r86-page.r86-home .hero-v2-video,
body.r86-page.r86-home .hero-v2-video {
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:50% 50% !important;
  z-index:5 !important;
  opacity:0 !important;
  visibility:hidden !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  filter:none !important;
  mix-blend-mode:lighten !important;
  pointer-events:none !important;
  transform:none !important;
  transition:opacity .28s ease,visibility 0s linear .28s !important;
}
body.r89-static.r86-page.r86-home .hero-v2-media.is-video-ready .hero-v2-video,
body.r86-page.r86-home .hero-v2-media.is-video-ready .hero-v2-video {
  opacity:1 !important;
  visibility:visible !important;
  transition:opacity .28s ease,visibility 0s linear 0s !important;
}
body.r89-static.r86-page.r86-home .hero-v2-media.is-video-ready .hero-v2-fallback,
body.r86-page.r86-home .hero-v2-media.is-video-ready .hero-v2-fallback,
body.r89-static.r86-page.r86-home .hero-v2-media.is-video-ready .hero-v2-canvas,
body.r86-page.r86-home .hero-v2-media.is-video-ready .hero-v2-canvas {
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
}
body.r89-static.r86-page.r86-home .hero-v2-media:not(.is-video-ready) .hero-v2-canvas,
body.r86-page.r86-home .hero-v2-media:not(.is-video-ready) .hero-v2-canvas { z-index:2 !important; mix-blend-mode:normal !important; }

/* MOTHER-FINAL-166 — give the wordmark breathing room inside the existing
   media window.  The window keeps the original hero spacing; only the mark
   is reduced so the headline and its two supporting lines keep their
   authored position. */
body.r89-static.r86-page.r86-home .hero-v2-video,
body.r86-page.r86-home .hero-v2-video,
body.r89-static.r86-page.r86-home .hero-v2-canvas,
body.r86-page.r86-home .hero-v2-canvas,
body.r89-static.r86-page.r86-home .hero-v2-fallback,
body.r86-page.r86-home .hero-v2-fallback {
  transform:scale(.86) !important;
  transform-origin:50% 50% !important;
}

/* MOTHER-FINAL-167 — the hero copy is a sibling of the fixed scene in the
   reviewed markup. Anchor it to the first viewport instead of allowing the
   old flow padding to place the headline below the fold. */
body.r89-static.r86-page.r86-home .hero-content,
body.r86-page.r86-home .hero-content {
  position:absolute !important;
  z-index:4 !important;
  top:calc(88px + clamp(298px,36vh,385px)) !important;
  left:50% !important;
  width:min(1120px,calc(100% - 64px)) !important;
  margin:0 !important;
  padding:0 !important;
  transform:translateX(-50%) !important;
  text-align:center !important;
  background:transparent !important;
}
body.r89-static.r86-page.r86-home .hero-content h1.hero-weight-v43,
body.r86-page.r86-home .hero-content h1.hero-weight-v43 {
  max-width:980px !important;
  font-size:clamp(48px,4.2vw,66px) !important;
  line-height:1.08 !important;
  margin:22px auto 24px !important;
}
body.r89-static.r86-page.r86-home .hero-description,
body.r86-page.r86-home .hero-description { margin:0 auto !important; }
@media (max-width:900px) {
  body.r89-static.r86-page.r86-home .hero-content,
  body.r86-page.r86-home .hero-content {
    top:calc(88px + clamp(270px,35vh,320px)) !important;
    width:min(760px,calc(100% - 48px)) !important;
  }
  body.r89-static.r86-page.r86-home .hero-content h1.hero-weight-v43,
  body.r86-page.r86-home .hero-content h1.hero-weight-v43 {
    max-width:720px !important;
    font-size:clamp(38px,6vw,52px) !important;
    line-height:1.12 !important;
  }
}
@media (max-width:560px) {
  body.r89-static.r86-page.r86-home .hero-content,
  body.r86-page.r86-home .hero-content { top:336px !important; width:calc(100% - 32px) !important; }
  body.r89-static.r86-page.r86-home .hero-content h1.hero-weight-v43,
  body.r86-page.r86-home .hero-content h1.hero-weight-v43 {
    max-width:355px !important;
    font-size:clamp(30px,7.4vw,38px) !important;
    line-height:1.22 !important;
    margin-top:16px !important;
  }
}

/* MOTHER-FINAL-170 — keep the existing silver lockup still.  The reference
   frame is cleaned to transparency so the page can carry the mark without a
   video layer, CSS wobble, or a dark rectangle behind it. */
body.r89-static.r86-page.r86-home .hero-v2-media,
body.r86-page.r86-home .hero-v2-media {
  background-color:transparent !important;
  background-image:url('/hero-v2-static.png?v=m170-20261002') !important;
  background-repeat:no-repeat !important;
  background-position:50% 50% !important;
  background-size:78% auto !important;
  mix-blend-mode:normal !important;
}
body.r89-static.r86-page.r86-home .hero-v2-video,
body.r86-page.r86-home .hero-v2-video,
body.r89-static.r86-page.r86-home .hero-v2-canvas,
body.r86-page.r86-home .hero-v2-canvas,
body.r89-static.r86-page.r86-home .hero-v2-fallback,
body.r86-page.r86-home .hero-v2-fallback {
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  animation:none !important;
  transform:none !important;
  filter:none !important;
}
body.r89-static.r86-page.r86-home .hero-content,
body.r86-page.r86-home .hero-content {
  top:calc(88px + clamp(292px,34vh,360px)) !important;
  width:min(1040px,calc(100% - 80px)) !important;
}
body.r89-static.r86-page.r86-home .hero-content > .eyebrow,
body.r86-page.r86-home .hero-content > .eyebrow {
  margin-bottom:18px !important;
  letter-spacing:.18em !important;
}
body.r89-static.r86-page.r86-home .hero-content h1.hero-weight-v43,
body.r86-page.r86-home .hero-content h1.hero-weight-v43 {
  max-width:900px !important;
  font-size:clamp(42px,3.35vw,54px) !important;
  line-height:1.12 !important;
  letter-spacing:-.035em !important;
  margin:0 auto 20px !important;
  text-wrap:balance !important;
}
body.r89-static.r86-page.r86-home .hero-description,
body.r86-page.r86-home .hero-description {
  max-width:720px !important;
  margin:0 auto !important;
  line-height:1.8 !important;
  letter-spacing:.04em !important;
}
@media (max-width:900px) {
  body.r89-static.r86-page.r86-home .hero-v2-media,
  body.r86-page.r86-home .hero-v2-media { background-size:82% auto !important; }
  body.r89-static.r86-page.r86-home .hero-content,
  body.r86-page.r86-home .hero-content {
    top:calc(88px + clamp(250px,31vh,300px)) !important;
    width:min(760px,calc(100% - 48px)) !important;
  }
  body.r89-static.r86-page.r86-home .hero-content h1.hero-weight-v43,
  body.r86-page.r86-home .hero-content h1.hero-weight-v43 {
    max-width:680px !important;
    font-size:clamp(34px,5.2vw,46px) !important;
  }
}
@media (max-width:560px) {
  body.r89-static.r86-page.r86-home .hero-v2-media,
  body.r86-page.r86-home .hero-v2-media { background-size:92% auto !important; }
  body.r89-static.r86-page.r86-home .hero-content,
  body.r86-page.r86-home .hero-content {
    top:316px !important;
    width:calc(100% - 32px) !important;
  }
  body.r89-static.r86-page.r86-home .hero-content h1.hero-weight-v43,
  body.r86-page.r86-home .hero-content h1.hero-weight-v43 {
    max-width:340px !important;
    font-size:clamp(28px,6.8vw,35px) !important;
    line-height:1.2 !important;
  }
  body.r89-static.r86-page.r86-home .hero-description,
  body.r86-page.r86-home .hero-description { font-size:14px !important; line-height:1.7 !important; }
}

/* LOCAL VISUAL AUDIT · 2026-10-06
   Keep the shared reviewed chrome readable and give each inner route a quiet
   current-section signal. No copy, facts, URLs, or discovery labels change. */

/* Parent entries stay visibly selected on their own section pages. */
body.r86-service .r83-service-menu > summary,
body.r86-industry .r83-service-menu > summary,
body.r86-cases .i82-case-nav:not(.r83-learn-nav):not(.r83-about-nav) > a,
body.r86-learning .r83-learn-nav > a,
body.r86-company .r83-about-nav > a,
body.r86-contact .nav-contact-direct,
body.r86-page .site-header .nav-direct[aria-current="page"] {
  color: var(--u101-signal) !important;
}
body.r86-cases .i82-case-nav:not(.r83-learn-nav):not(.r83-about-nav) > a::after,
body.r86-learning .r83-learn-nav > a::after,
body.r86-company .r83-about-nav > a::after,
body.r86-service .r83-service-menu > summary::after,
body.r86-industry .r83-service-menu > summary::after,
body.r86-page .site-header .nav-direct[aria-current="page"]::after {
  transform: scaleX(1);
}
body.r86-contact .nav-contact-direct {
  border-color: var(--u101-line-bright) !important;
}

/* The selected Noomo source timeline keeps the parent chrome dark and the
   navigation light, even while the iframe is showing its pastel first frame. */
body.r86-home:has(#m187-story-entrance[data-m190-state="source-timeline"]) .site-header {
  background: rgba(9, 15, 18, .94) !important;
  border-bottom-color: rgba(200, 170, 117, .3) !important;
  box-shadow: 0 16px 42px rgba(0, 0, 0, .3) !important;
  backdrop-filter: blur(18px) saturate(1.08) !important;
}
body.r86-home:has(#m187-story-entrance[data-m190-state="source-timeline"]) .site-header :is(.brand strong, .brand small, .mega-nav a, .mega-nav summary, .nav-direct) {
  color: var(--u101-white) !important;
}
body.r86-home:has(#m187-story-entrance[data-m190-state="source-timeline"]) .site-header .nav-contact-direct {
  color: var(--u101-white) !important;
  border-color: rgba(200, 170, 117, .72) !important;
}
/* Active underline belongs to the navigation wrapper, which owns the shared
   pseudo-rule in the reviewed chrome. */
body.r86-cases .mega-nav > .i82-case-nav:not(.r83-learn-nav):not(.r83-about-nav)::after,
body.r86-learning .mega-nav > .r83-learn-nav::after,
body.r86-company .mega-nav > .r83-about-nav::after,
body.r86-service .mega-nav > .r83-service-menu::after,
body.r86-industry .mega-nav > .r83-service-menu::after,
body.r86-page .site-header > .container > .header-inner > .mega-nav > .nav-direct[aria-current="page"]::after {
  transform: scaleX(1);
}
/* The mother pseudo-rule is deliberately specific; keep selected bars visible
   against that shared rule. */
body.r86-cases .mega-nav > .i82-case-nav:not(.r83-learn-nav):not(.r83-about-nav)::after,
body.r86-learning .mega-nav > .r83-learn-nav::after,
body.r86-company .mega-nav > .r83-about-nav::after,
body.r86-service .mega-nav > .r83-service-menu::after,
body.r86-industry .mega-nav > .r83-service-menu::after,
body.r86-page .site-header .mega-nav > .nav-direct[aria-current="page"]::after {
  transform: scaleX(1) !important;
}
/* Deep case routes keep the same parent signal as the collection page. */
body.r86-case-detail .i82-case-nav:not(.r83-learn-nav):not(.r83-about-nav) > a,
body:has(main.i82-testimonials) .i82-case-nav:not(.r83-learn-nav):not(.r83-about-nav) > a {
  color: var(--u101-signal) !important;
}
body.r86-case-detail .mega-nav > .i82-case-nav:not(.r83-learn-nav):not(.r83-about-nav)::after,
body:has(main.i82-testimonials) .mega-nav > .i82-case-nav:not(.r83-learn-nav):not(.r83-about-nav)::after {
  transform: scaleX(1) !important;
}
