/* LOCAL-REFINEMENT-86 · editorial design layer
   Loaded after the existing site styles. It changes rhythm, hierarchy and interaction
   without changing copy, URLs, facts, or the existing footer markup. */
:root {
  --r86-ink: #151517;
  --r86-ink-2: #1d1d20;
  --r86-paper: #f3f1eb;
  --r86-paper-2: #e9e6df;
  --r86-text: #f7f5ef;
  --r86-muted: #b6b1b8;
  --r86-muted-dark: #68636b;
  --r86-line: rgba(255,255,255,.14);
  --r86-line-dark: rgba(21,21,23,.16);
  --r86-lime: #e6efab;
  --r86-violet: #9b83db;
  --r86-violet-deep: #4a386c;
  --r86-orange: #ed8b57;
  --r86-max: 1240px;
  --r86-reading: 760px;
  --r86-radius: 18px;
  --r86-ease: cubic-bezier(.22,.7,.2,1);
}

html { scroll-padding-top: 96px; }
body.r86-page { background: var(--r86-ink); }
body.r86-page .container { width: min(var(--r86-max), calc(100% - 88px)); }
body.r86-page main { overflow: clip; }
/* M213: iOS Safari must keep the home story section in the document's native
   vertical scrolling chain. `overflow: clip` on the main wrapper can make a
   sticky, touch-driven scene feel inert even though the section itself has
   travel. Keep horizontal artwork clipped, while allowing vertical pan to
   reach the parent document. Other pages and desktop retain the existing
   clipping rule. */
@media (max-width: 820px), (pointer: coarse) {
  body.r86-page.r86-home main:has(#m187-story-entrance) {
    /* WebKit can normalize a mixed `clip visible` pair into a containing
       scroller. The opening itself owns its width, so release the main
       wrapper entirely and keep the native document pan chain intact. */
    overflow: visible;
  }
}
body.r86-page p { text-wrap: pretty; }
body.r86-page h1, body.r86-page h2, body.r86-page h3 { text-wrap: balance; }
body.r86-page a { transition: color .25s var(--r86-ease), border-color .25s var(--r86-ease), background-color .25s var(--r86-ease), transform .25s var(--r86-ease); }

/* Shared page chrome */
body.r86-page .site-header { height: 88px; background: rgba(21,21,23,.88); border-bottom-color: rgba(230,239,171,.2); }
body.r86-page .site-header:after { content: ""; position: absolute; inset: auto 0 -1px; height: 1px; background: linear-gradient(90deg, transparent, rgba(230,239,171,.65), transparent); opacity: .35; pointer-events: none; }
body.r86-page .brand { gap: 12px; }
body.r86-page .brand img { width: 42px; height: 42px; border-radius: 9px; box-shadow: 0 0 0 1px rgba(255,255,255,.12); }
body.r86-page .brand strong { font-size: 20px; letter-spacing: -.045em; }
body.r86-page .brand small { color: #c5bdc9; letter-spacing: .08em; }
body.r86-page .mega-nav { gap: clamp(18px, 2.4vw, 34px); }
body.r86-page .mega-nav > a, body.r86-page .mega-nav summary { color: #e9e5eb; font-size: 13px; letter-spacing: .01em; }
body.r86-page .mega-nav > a:hover, body.r86-page .mega-nav summary:hover { color: var(--r86-lime); }
body.r86-page .nav-contact-direct, body.r86-page .home-contact-quick { border-color: rgba(230,239,171,.62); border-radius: 999px; padding: 12px 19px; }
body.r86-page .nav-contact-direct:hover, body.r86-page .home-contact-quick:hover { background: var(--r86-lime); color: var(--r86-ink); }

body.r86-page .eyebrow { gap: 11px; margin-bottom: 18px; color: var(--r86-lime); font-size: 11px; letter-spacing: .16em; }
body.r86-page .eyebrow:before { content: ""; width: 28px; height: 1px; background: var(--r86-lime); }
body.r86-page .section-head { align-items: end; margin-bottom: clamp(34px, 5vw, 58px); }
body.r86-page .section-head h2 { max-width: 820px; font-size: clamp(32px, 4.8vw, 64px); line-height: 1.12; letter-spacing: -.065em; }
body.r86-page .section-head p { max-width: 390px; color: #aaa5af; line-height: 1.9; }
body.r86-page .button { border-radius: 999px; min-height: 47px; padding: 12px 20px; gap: 22px; }
body.r86-page .button.primary { box-shadow: 0 8px 22px rgba(230,239,171,.12); }

/* Home lower half: measured vertical chapters and card rhythm */
body.r86-home .proof-wall,
body.r86-home .home-services-v41,
body.r86-home .home-platforms-v38,
body.r86-home .home-method-system,
body.r86-home .home-journal-v48,
body.r86-home .home-contact { position: relative; }
body.r86-home .proof-wall { padding: clamp(68px, 9vw, 132px) 0 clamp(72px, 10vw, 148px); background: var(--r86-paper); color: var(--r86-ink); }
body.r86-home .proof-wall:before { content: "01"; position: absolute; left: max(20px, calc((100vw - var(--r86-max))/2)); top: clamp(24px, 4vw, 50px); font: 600 11px/1 Arial,sans-serif; letter-spacing: .18em; color: var(--r86-muted-dark); }
body.r86-home .trust-heading-v47 { width: min(var(--r86-max), calc(100% - 88px)); margin: 0 auto clamp(42px, 6vw, 72px); display: grid; grid-template-columns: .65fr 1.35fr; gap: 38px; align-items: end; }
body.r86-home .trust-heading-v47 > span { color: var(--r86-violet-deep); font: 600 11px/1.4 Arial,sans-serif; letter-spacing: .16em; text-transform: uppercase; }
body.r86-home .trust-heading-v47 h2 { margin: 0; font-size: clamp(34px, 5vw, 70px); letter-spacing: -.07em; line-height: 1.05; }
body.r86-home .trust-heading-v47 h2 strong { color: var(--r86-violet-deep); font-weight: 700; }
body.r86-home .trust-ribbons-v47 { border-top: 1px solid var(--r86-line-dark); border-bottom: 1px solid var(--r86-line-dark); padding: 16px 0; overflow: hidden; }
body.r86-home .trust-ribbon-v47 { filter: grayscale(.2); }
body.r86-home .trust-mark-v47 { opacity: .7; border-color: transparent; background: transparent; }
body.r86-home .trust-mark-v47:hover { opacity: 1; transform: translateY(-2px); }

body.r86-home .home-services-v41 { padding: clamp(76px, 10vw, 148px) 0; background: var(--r86-ink); border-top: 1px solid var(--r86-line); }
body.r86-home .home-services-v41:before { content: "02"; position: absolute; left: max(20px, calc((100vw - var(--r86-max))/2)); top: 42px; color: var(--r86-lime); font: 600 11px/1 Arial,sans-serif; letter-spacing: .18em; }
body.r86-home .home-services-v41 .section-head h2 { color: var(--r86-text); }
body.r86-home .home-services-v41 .section-head p { color: #aaa4ad; }
body.r86-home .service-mosaic { gap: 12px; }
body.r86-home .service-tile { min-height: 285px; padding: 28px 27px 24px; border-radius: var(--r86-radius); border: 1px solid rgba(255,255,255,.13); background: #202024; box-shadow: 0 15px 38px rgba(0,0,0,.12); }
body.r86-home .service-tile:nth-child(2) { background: #25222e; }
body.r86-home .service-tile:nth-child(3) { background: #242620; }
body.r86-home .service-tile:nth-child(4) { background: #2a2221; }
body.r86-home .service-tile:hover { border-color: rgba(230,239,171,.75); background: #292930; transform: translateY(-6px); }
body.r86-home .service-tile-top { border-bottom: 1px solid var(--r86-line); padding-bottom: 16px; margin-bottom: 28px; }
body.r86-home .service-tile-top span:first-child { color: var(--r86-lime); font-size: 11px; letter-spacing: .12em; }
body.r86-home .service-tile h3 { max-width: 12em; font-size: clamp(22px, 2.1vw, 30px); line-height: 1.2; letter-spacing: -.05em; }
body.r86-home .service-tile p { color: #b7b1bb; font-size: 14px; line-height: 1.85; }
body.r86-home .service-tile-bottom { margin-top: auto; padding-top: 20px; }
body.r86-home .service-tile-bottom a { color: var(--r86-lime); font-size: 12px; }

body.r86-home .home-method-system { padding: clamp(78px, 10vw, 142px) 0; background: var(--r86-ink-2); border-top: 1px solid var(--r86-line); }
body.r86-home .home-method-system:before { content: "04"; position: absolute; left: max(20px, calc((100vw - var(--r86-max))/2)); top: 42px; color: var(--r86-lime); font: 600 11px/1 Arial,sans-serif; letter-spacing: .18em; }
body.r86-home .method-system-grid { align-items: stretch; gap: 1px; background: var(--r86-line); border: 1px solid var(--r86-line); }
body.r86-home .method-system-grid > * { background: var(--r86-ink-2); padding: 30px 26px; }
body.r86-home .method-system-grid > *:hover { background: #26242b; }
body.r86-home .method-system-grid h3 { font-size: 21px; }
body.r86-home .method-system-grid p { color: #b8b2bb; font-size: 14px; line-height: 1.85; }

body.r86-home .home-journal-v48 { padding: clamp(82px, 11vw, 156px) 0; background: #242029; border-top: 1px solid rgba(230,239,171,.22); }
body.r86-home .home-journal-v48:before { content: "05"; position: absolute; left: max(20px, calc((100vw - var(--r86-max))/2)); top: 44px; color: var(--r86-lime); font: 600 11px/1 Arial,sans-serif; letter-spacing: .18em; }
body.r86-home .journal-heading-v48 h2 { color: var(--r86-text); font-size: clamp(34px, 4.5vw, 62px); letter-spacing: -.07em; }
body.r86-home .journal-layout-v48 { gap: 14px; }
body.r86-home .journal-feature-v48, body.r86-home .journal-compact-v48 { border: 1px solid rgba(255,255,255,.15); border-radius: var(--r86-radius); overflow: hidden; background: #2b2733; }
body.r86-home .journal-feature-v48:hover, body.r86-home .journal-compact-v48:hover { border-color: rgba(230,239,171,.6); transform: translateY(-4px); }
body.r86-home .journal-copy-v48 { padding: 26px; }
body.r86-home .journal-copy-v48 h3 { font-size: clamp(18px, 2.2vw, 26px); line-height: 1.38; letter-spacing: -.04em; }
body.r86-home .journal-summary-v48 { color: #bbb4c1; line-height: 1.85; }
body.r86-home .journal-read-v48 { color: var(--r86-lime); font-size: 12px; }

body.r86-home .home-platforms-v38 { padding: 58px 0; background: #e8e5de; color: var(--r86-ink); border-top: 1px solid var(--r86-line-dark); }
body.r86-home .home-platforms-v38 .container { display: grid; grid-template-columns: 1fr auto; gap: 18px 40px; align-items: end; }
body.r86-home .home-platforms-v38 small { color: var(--r86-muted-dark); letter-spacing: .12em; }
body.r86-home .home-platforms-v38 h2 { max-width: 530px; margin-top: 14px; font-size: clamp(27px, 3.4vw, 44px); line-height: 1.08; letter-spacing: -.06em; }
body.r86-home .home-platforms-v38 nav { display: flex; flex-wrap: wrap; justify-content: end; gap: 8px; }
body.r86-home .home-platforms-v38 nav a { padding: 10px 13px; border: 1px solid var(--r86-line-dark); border-radius: 999px; color: var(--r86-ink); font-size: 12px; }
body.r86-home .home-platforms-v38 nav a:hover { background: var(--r86-ink); color: var(--r86-lime); border-color: var(--r86-ink); }
body.r86-home .home-platforms-v38 p { grid-column: 1/-1; max-width: 680px; margin: 4px 0 0; color: var(--r86-muted-dark); font-size: 13px; }

body.r86-home .home-contact { padding: clamp(76px, 10vw, 138px) 0; background: #30223f; border-top: 1px solid rgba(230,239,171,.25); }
body.r86-home .home-contact h2 { max-width: 690px; color: var(--r86-text); font-size: clamp(34px, 4.8vw, 62px); line-height: 1.08; letter-spacing: -.065em; }
body.r86-home .home-contact p { max-width: 620px; color: #c3b8c8; }
body.r86-home .home-contact-phone { color: var(--r86-lime); border-bottom: 1px solid rgba(230,239,171,.5); padding-bottom: 5px; }

/* Inner templates: a quiet reading grid with stronger title and rule hierarchy */
body.r86-inner .page-hero, body.r86-inner .case84-hero, body.r86-inner .r83-learning-hero, body.r86-inner .research-article-head { padding-top: clamp(52px, 7vw, 104px); padding-bottom: clamp(60px, 8vw, 110px); border-bottom: 1px solid var(--r86-line); background: #1b1b1f; }
body.r86-inner .page-hero .breadcrumbs, body.r86-inner .case84-breadcrumb { margin-bottom: 36px; color: #98929f; }
body.r86-inner .page-hero h1, body.r86-inner .case84-hero h1, body.r86-inner .r83-learning-hero h1, body.r86-inner .research-article-head h1 { max-width: 900px; font-size: clamp(40px, 6vw, 82px); line-height: 1.02; letter-spacing: -.075em; }
body.r86-inner .page-hero .intro, body.r86-inner .case84-summary, body.r86-inner .r83-learning-intro { max-width: var(--r86-reading); margin-top: 28px; color: #c1bac5; font-size: clamp(16px, 1.45vw, 19px); line-height: 1.92; }
body.r86-inner .page-layout { grid-template-columns: minmax(160px, 220px) minmax(0, var(--r86-reading)); justify-content: space-between; gap: clamp(32px, 7vw, 110px); padding-top: clamp(55px, 8vw, 110px); }
body.r86-inner .toc { top: 112px; color: #aaa2ae; }
body.r86-inner .toc a { color: #bdb6c1; padding: 9px 0; }
body.r86-inner .toc a:hover { color: var(--r86-lime); }
body.r86-inner .article-section { padding: 0 0 52px; margin-bottom: 54px; border-bottom-color: var(--r86-line); }
body.r86-inner .article-section h2 { font-size: clamp(27px, 3.2vw, 44px); letter-spacing: -.06em; line-height: 1.17; }
body.r86-inner .article-section .lead { color: #c1b9c8; font-size: 16px; line-height: 1.95; }
body.r86-inner .article-item { padding: 26px; border-radius: 14px; border-color: var(--r86-line); background: #222127; }
body.r86-inner .article-item:hover { border-color: rgba(230,239,171,.6); background: #29262e; }
body.r86-inner .article-item p { color: #bdb5c4; }
body.r86-inner .article-item a, body.r86-inner .article-section p a { color: var(--r86-lime); }
body.r86-inner .table-wrap { border-radius: 14px; border-color: var(--r86-line); }
body.r86-inner th { background: #292530; color: var(--r86-lime); }
body.r86-inner td { color: #c6becb; }

/* Service pages */
body.r86-service .service-commercial { background: #1b1b1f; }
body.r86-service .service-title-v43 { max-width: 920px; }
body.r86-service .service-title-v43 h1 { font-size: clamp(40px, 5.9vw, 78px); line-height: 1.03; letter-spacing: -.075em; }
body.r86-service .commercial-hero-grid { align-items: end; gap: clamp(32px, 7vw, 100px); padding: clamp(58px, 8vw, 112px) 0; }
body.r86-service .commercial-art, body.r86-service .capability-art { border: 1px solid var(--r86-line); border-radius: 24px; background: #24232a; }
body.r86-service .section-module { padding-block: clamp(62px, 8vw, 112px); border-top-color: var(--r86-line); }
body.r86-service .section-topic { color: var(--r86-lime); font-size: 11px; letter-spacing: .15em; }
body.r86-service .section-body { max-width: var(--r86-reading); }
body.r86-service .section-body h2 { font-size: clamp(28px, 4vw, 52px); letter-spacing: -.065em; }
body.r86-service .section-body p { color: #bdb5c4; line-height: 1.95; }
body.r86-service .related-pages a { border-radius: 14px; border-color: var(--r86-line); background: #222127; }
body.r86-service .related-pages a:hover { background: #2b2830; border-color: rgba(230,239,171,.55); transform: translateY(-3px); }

/* Cases and collections */
body.r86-cases .case84-page { background: var(--r86-paper); color: var(--r86-ink); }
body.r86-cases .case84-hero { background: var(--r86-paper); border-bottom-color: var(--r86-line-dark); }
body.r86-cases .case84-hero h1 { color: var(--r86-ink); }
body.r86-cases .case84-summary, body.r86-cases .case84-hero-bottom { color: var(--r86-muted-dark); }
body.r86-cases .case84-navigation { border-color: var(--r86-line-dark); }
body.r86-cases .case84-navigation a { color: #4e4852; border-color: var(--r86-line-dark); border-radius: 999px; }
body.r86-cases .case84-navigation a:hover, body.r86-cases .case84-navigation a[aria-current="page"] { color: var(--r86-paper); background: var(--r86-ink); border-color: var(--r86-ink); }
body.r86-cases .case84-section-head h2 { font-size: clamp(28px, 4vw, 50px); letter-spacing: -.065em; }
body.r86-cases .case84-grid { gap: 14px; }
body.r86-cases .case84-card { border: 1px solid var(--r86-line-dark); border-radius: var(--r86-radius); background: #f8f6f1; box-shadow: 0 12px 25px rgba(21,21,23,.06); }
body.r86-cases .case84-card:hover { border-color: var(--r86-violet); transform: translateY(-5px); box-shadow: 0 20px 34px rgba(21,21,23,.12); }
body.r86-cases .case84-card-copy h3 { font-size: 22px; letter-spacing: -.045em; }
body.r86-cases .case84-card-copy p, body.r86-cases .case84-facts { color: var(--r86-muted-dark); }
body.r86-cases .case84-card-action { color: var(--r86-violet-deep); }
body.r86-case-detail .project-page { background: #f3f1eb; color: var(--r86-ink); }
body.r86-case-detail .project-hero { padding-top: clamp(55px, 8vw, 108px); padding-bottom: clamp(55px, 9vw, 130px); }
body.r86-case-detail .project-hero h1 { font-size: clamp(42px, 6vw, 88px); line-height: 1; letter-spacing: -.08em; }
body.r86-case-detail .project-prose-items { max-width: var(--r86-reading); }
body.r86-case-detail .project-chapter { border-top-color: var(--r86-line-dark); }
body.r86-case-detail .project-chapter h2 { font-size: clamp(28px, 4vw, 50px); letter-spacing: -.07em; }
body.r86-case-detail .project-chapter p { color: #565058; line-height: 1.95; }
body.r86-case-detail .work-step-number { color: var(--r86-violet-deep); }

/* Industry, company, learning and contact rhythm */
body.r86-industry .focus-page, body.r86-company .company-v35, body.r86-contact .contact-main-grid, body.r86-learning .r83-learning { background: #1b1b1f; }
body.r86-industry .focus-detail-v46, body.r86-company .company-overview-v49, body.r86-company .company-strengths, body.r86-contact .contact-editorial { border-top-color: var(--r86-line); padding-block: clamp(62px, 8vw, 118px); }
body.r86-industry .focus-detail-head-v46 h2, body.r86-company .company-overview-v49 h2, body.r86-company .company-strengths h2, body.r86-contact .contact-opening h1 { font-size: clamp(30px, 4.3vw, 58px); line-height: 1.08; letter-spacing: -.07em; }
body.r86-industry .cp-v46-card, body.r86-company .company-strength-grid > *, body.r86-contact .contact-channel-grid > * { border: 1px solid var(--r86-line); border-radius: 16px; background: #232127; }
body.r86-industry .cp-v46-card:hover, body.r86-company .company-strength-grid > *:hover, body.r86-contact .contact-channel-grid > *:hover { border-color: rgba(230,239,171,.58); transform: translateY(-4px); }
body.r86-learning .r83-learning { color: var(--r86-text); }
body.r86-learning .r83-learning-hero { background: #1b1b1f; }
body.r86-learning .r83-learning-diagram { border-color: rgba(230,239,171,.45); background: #25232a; }
body.r86-learning .r83-pick { border-radius: 16px; border-color: var(--r86-line); background: #242129; }
body.r86-learning .r83-pick:hover { border-color: rgba(230,239,171,.6); transform: translateY(-5px); }
body.r86-learning .r83-pick-art { background: #403052; }
body.r86-learning .r83-pick-copy h3 { letter-spacing: -.045em; }
body.r86-learning .r83-learning-library { background: #1b1b1f; }
body.r86-contact .contact-main-grid { padding-top: clamp(58px, 8vw, 112px); padding-bottom: clamp(70px, 10vw, 138px); }
body.r86-contact .contact-person, body.r86-contact .contact-process, body.r86-contact .contact-topic-v46, body.r86-contact .i82-contact-panel { border-color: var(--r86-line); border-radius: 18px; background: #232127; }
body.r86-contact .large-phone { color: var(--r86-lime); letter-spacing: -.045em; }

/* Footer remains content-identical, but receives the same spacing and contrast system. */
body.r86-page [data-refinement83-footer] { border-top-color: rgba(230,239,171,.25); background: #17171a; }
body.r86-page [data-refinement83-footer] .footer48-directory { padding-top: clamp(56px, 8vw, 100px); }
body.r86-page [data-refinement83-footer] .r83-footer-intro { max-width: 560px; color: #bbb4be!important; }

/* Scroll reveal is opt-in through refinement86-design.js. */
body.r86-motion [data-r86-reveal] { opacity: 0; transform: translateY(22px); transition: opacity .72s var(--r86-ease), transform .72s var(--r86-ease); transition-delay: var(--r86-delay, 0ms); }
body.r86-motion [data-r86-reveal].r86-visible { opacity: 1; transform: none; }
body.r86-motion [data-r86-stagger] > [data-r86-reveal]:nth-child(2) { --r86-delay: 70ms; }
body.r86-motion [data-r86-stagger] > [data-r86-reveal]:nth-child(3) { --r86-delay: 140ms; }
body.r86-motion [data-r86-stagger] > [data-r86-reveal]:nth-child(4) { --r86-delay: 210ms; }
body.r86-motion [data-r86-reveal="rule"] { transform: scaleX(.25); transform-origin: left center; }
body.r86-motion [data-r86-reveal="rule"].r86-visible { transform: scaleX(1); }

@media (max-width: 900px) {
  body.r86-page .container, body.r86-home .trust-heading-v47 { width: calc(100% - 52px); }
  body.r86-home .trust-heading-v47 { grid-template-columns: 1fr; gap: 18px; }
  body.r86-home .home-platforms-v38 .container { grid-template-columns: 1fr; }
  body.r86-home .home-platforms-v38 nav { justify-content: start; }
  body.r86-inner .page-layout { display: block; }
  body.r86-inner .toc { position: static; margin-bottom: 46px; padding-bottom: 16px; border-bottom: 1px solid var(--r86-line); }
}
@media (max-width: 620px) {
  body.r86-page .container, body.r86-home .trust-heading-v47 { width: calc(100% - 36px); }
  body.r86-page .site-header { height: 74px; }
  body.r86-home .proof-wall, body.r86-home .home-services-v41, body.r86-home .case-showcase-v48, body.r86-home .home-method-system, body.r86-home .home-journal-v48 { padding-block: 74px; }
  body.r86-home .trust-heading-v47 { margin-bottom: 34px; }
  body.r86-home .trust-heading-v47 h2 { font-size: 38px; }
  body.r86-home .service-mosaic { grid-template-columns: 1fr; }
  body.r86-home .service-tile { min-height: 245px; }
  body.r86-home .home-platforms-v38 { padding: 44px 0; }
  body.r86-inner .page-hero h1, body.r86-inner .case84-hero h1 { font-size: 43px; }
  body.r86-inner .page-hero, body.r86-inner .case84-hero, body.r86-inner .r83-learning-hero, body.r86-inner .research-article-head { padding-block: 48px 62px; }
  body.r86-inner .article-section { margin-bottom: 42px; padding-bottom: 42px; }
}
@media (prefers-reduced-motion: reduce) {
  body.r86-motion [data-r86-reveal], body.r86-motion [data-r86-reveal="rule"] { opacity: 1; transform: none; transition: none; }
  body.r86-page a, body.r86-page * { animation-duration: .001ms!important; transition-duration: .001ms!important; }
}

/* LOCAL-REFINEMENT-87 · graphite / white palette correction
   User feedback: remove paper-beige and broad violet fields; keep one restrained
   signal accent, make trust marks legible, and preserve contrast for case reading. */
:root {
  --r86-ink: #111416;
  --r86-ink-2: #181d20;
  --r86-paper: #f4f6f5;
  --r86-paper-2: #e8edeb;
  --r86-text: #f7faf8;
  --r86-muted: #aeb8b9;
  --r86-muted-dark: #586266;
  --r86-line: rgba(235, 242, 240, .15);
  --r86-line-dark: rgba(17, 20, 22, .16);
  --r86-lime: #d9ee65;
  --r86-violet: #7ea7ad;
  --r86-violet-deep: #1d5963;
  --r86-orange: #f3a15a;
}

/* The reveal layer is opt-in only after the observer is ready. If a script is
   delayed or fails, all copy remains visible instead of becoming a blank page. */
body.r86-motion [data-r86-reveal],
body.r86-motion [data-r86-reveal="rule"] { opacity: 1; transform: none; }
body.r86-motion.r86-motion-ready [data-r86-reveal] {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .68s var(--r86-ease), transform .68s var(--r86-ease);
  transition-delay: var(--r86-delay, 0ms);
}
body.r86-motion.r86-motion-ready [data-r86-reveal].r86-visible { opacity: 1; transform: none; }
body.r86-motion.r86-motion-ready [data-r86-reveal="rule"] { transform: scaleX(.3); transform-origin: left center; }
body.r86-motion.r86-motion-ready [data-r86-reveal="rule"].r86-visible { transform: scaleX(1); }

/* Shared surfaces: cool neutrals replace the yellow paper and purple panels. */
body.r86-page { background: var(--r86-ink); color: var(--r86-text); }
body.r86-page .site-header { background: rgba(17,20,22,.94); border-bottom-color: rgba(217,238,101,.22); }
body.r86-page .site-header:after { background: linear-gradient(90deg, transparent, rgba(217,238,101,.68), transparent); }
body.r86-page .brand small { color: #bac4c4; }
body.r86-page .mega-nav > a, body.r86-page .mega-nav summary { color: #e7eceb; }
body.r86-page .mega-nav > a:hover, body.r86-page .mega-nav summary:hover { color: var(--r86-lime); }
body.r86-page .section-head p { color: #aeb8b9; }

/* Home trust wall: one compact heading, cool white evidence surface, and
   containers whose existing logo assets remain legible. */
body.r86-home .proof-wall,
body.r86-home .proof-wall.proof-wall-v47 {
  /* Keep the existing trust-wall composition, but use a cool near-white
     surface so the section reads as evidence rather than a purple panel. */
  background: #f4f6f5;
  color: var(--r86-ink);
  border-top-color: rgba(17,20,22,.14);
  border-bottom-color: rgba(17,20,22,.14);
}
body.r86-home .trust-heading-v47 {
  width: min(var(--r86-max), calc(100% - 88px));
  /* Put the context label above the headline; this removes the unused left
     column visible in the previous screenshot without changing copy. */
  display: block;
  margin-bottom: clamp(34px, 4vw, 52px);
}
body.r86-home .trust-heading-v47 > span {
  display: block;
  color: var(--r86-violet-deep);
  margin-bottom: 16px;
  padding-top: 0;
  font-size: 11px;
  letter-spacing: .14em;
}
body.r86-home .trust-heading-v47 h2 {
  max-width: 900px;
  color: var(--r86-ink);
  font-size: clamp(32px, 4.2vw, 58px);
  line-height: 1.12;
  letter-spacing: -.06em;
}
body.r86-home .trust-heading-v47 h2 strong { color: var(--r86-violet-deep); font-weight: 700; }
body.r86-home .trust-heading-v47 h2 strong span { display: inline-block; white-space: nowrap; }
body.r86-home .trust-ribbons-v47 {
  border-top-color: rgba(17,20,22,.16);
  border-bottom-color: rgba(17,20,22,.16);
}
body.r86-home .trust-mark-v47 {
  background: #171c1f;
  border: 1px solid rgba(17,20,22,.14);
  border-radius: 10px;
  opacity: 1;
}
body.r86-home .trust-mark-v47:is(:hover,:focus-visible) { background: #f4f6f5; border-color: #d9ee65; }
body.r86-home .trust-mark-v47.logo-dark:is(:hover,:focus-visible) { background: #171c1f; }

/* Home rhythm: cool white case chapters alternate against graphite sections. */
body.r86-home .home-services-v41 { background: #111416; }
body.r86-home .service-tile,
body.r86-home .service-tile:nth-child(2),
body.r86-home .service-tile:nth-child(3),
body.r86-home .service-tile:nth-child(4) {
  background: #1b2124;
  border-color: rgba(235,242,240,.13);
}
body.r86-home .service-tile:nth-child(2) { border-top-color: rgba(126,167,173,.8); }
body.r86-home .service-tile:nth-child(3) { border-top-color: rgba(217,238,101,.8); }
body.r86-home .service-tile:nth-child(4) { border-top-color: rgba(243,161,90,.8); }
body.r86-home .service-tile:hover { background: #222b2e; border-color: var(--r86-lime); }
body.r86-home .home-method-system { background: #181d20; }
body.r86-home .method-system-grid > * { background: #181d20; }
body.r86-home .method-system-grid > *:hover { background: #222b2e; }
body.r86-home .home-journal-v48 { background: #151b1e; }
body.r86-home .journal-feature-v48,
body.r86-home .journal-compact-v48 { background: #1d2528; }
body.r86-home .home-platforms-v38 { background: #e8edeb; }
body.r86-home .home-contact { background: #0f171a; }
body.r86-home .home-contact h2 { color: #f7faf8; }
body.r86-home .home-contact p { color: #b8c2c1; }

/* Legacy/native modules that can still appear below the reviewed templates.
   Keep their geometry and copy, but remove isolated purple gradients so the
   page reads as one system. */
body.r86-page :is(
  .service-overview-grid article,
  .geo-method-feature,
  .geo-hero-signal,
  .company-opening,
  .company-history,
  .company-projects,
  .contact-opening,
  .research-opening,
  .research-card,
  .section-module.module-process,
  .cp-v46-method,
  .case-proof-v43,
  .customer-paths-v46,
  .customer-path-page-v46
) { background: #181d20; }
body.r86-page :is(
  .capability-art.strategy,
  .research-card-cover
) { background: #1f5961; }
body.r86-page .nav-feature { background: #1a2528; }
body.r86-page .research-card-cover { color: #f7faf8; }
body.r86-page :is(
  .market-stages-v47,
  .ms-v47-card,
  .ms-v47-contact,
  .observation-opening,
  .observation-service,
  .observation-answer,
  .r83-service-panel,
  .r83-service-panel nav:first-child
) { background: #181d20; }
body.r86-page .ms-v47-growth { --ms-accent: #7ea7ad; --ms-glow: rgba(126,167,173,.12); }

/* Inner pages, collections, and case details retain reading contrast. */
body.r86-inner .page-hero,
body.r86-inner .case84-hero,
body.r86-inner .r83-learning-hero,
body.r86-inner .research-article-head,
body.r86-service .service-commercial,
body.r86-industry .focus-page,
body.r86-company .company-v35,
body.r86-contact .contact-main-grid,
body.r86-learning .r83-learning { background: #181d20; }
body.r86-inner .article-item,
body.r86-service .related-pages a,
body.r86-industry .cp-v46-card,
body.r86-company .company-strength-grid > *,
body.r86-contact .contact-channel-grid > *,
body.r86-contact .contact-person,
body.r86-contact .contact-process,
body.r86-contact .contact-topic-v46,
body.r86-contact .i82-contact-panel { background: #20282b; }
body.r86-learning .r83-pick { background: #20282b; }
body.r86-learning .r83-pick-art { background: #1e5962; }
body.r86-learning .r83-learning-diagram { background: #20282b; }
body.r86-cases .case84-page,
body.r86-cases .case84-hero,
body.r86-case-detail .project-page { background: #f4f6f5; color: var(--r86-ink); }
body.r86-cases .case84-card { background: #ffffff; }
body.r86-case-detail .project-chapter p { color: #4f5a5e; }
body.r86-cases .case84-card:hover { border-color: var(--r86-violet-deep); }
body.r86-cases .case84-card-action,
body.r86-case-detail .work-step-number { color: var(--r86-violet-deep); }
body.r86-page [data-refinement83-footer] { background: #111416; border-top-color: rgba(217,238,101,.22); }

/* Native shells use the same cool neutral treatment when they expose legacy names. */
body.r86-page :is(.proof-brand,.client-mark-v47) { background: #171c1f; border-color: rgba(235,242,240,.12); }
body.r86-page :is(.proof-brand,.client-mark-v47):is(:hover,:focus-visible) { background: #f4f6f5; }

@media (max-width: 900px) {
  body.r86-home .trust-heading-v47 { display: block; }
}
@media (max-width: 620px) {
  body.r86-home .trust-heading-v47 { width: calc(100% - 36px); }
  body.r86-home .trust-heading-v47 > span { margin-bottom: 14px; }
  body.r86-home .trust-heading-v47 h2 { font-size: 35px; }
  body.r86-home .trust-mark-v47 { border-radius: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  body.r86-motion [data-r86-reveal], body.r86-motion [data-r86-reveal="rule"] { opacity: 1; transform: none; transition: none; }
}

/* LOCAL-REFINEMENT-87 · case card readability and honest logo states.
   Case collections use a light reading surface; do not inherit the dark
   template's muted text or fluorescent result color on that surface. */
body.r86-cases .case84-page,
body.r86-cases .case84-hero,
body.r86-cases .case84-projects { background: #f4f6f5; color: #111416; }
body.r86-cases .case84-collection-intro,
body.r86-cases .case84-hero-bottom p,
body.r86-cases .case84-section-head > p,
body.r86-cases .case84-summary,
body.r86-cases .case84-card-copy p,
body.r86-cases .case84-facts { color: #4f5a5e; }
body.r86-cases .case84-breadcrumb,
body.r86-cases .case84-section-head output,
body.r86-cases .case84-industry,
body.r86-cases .case84-facts dt { color: #586266; }
body.r86-cases .case84-card { background: #ffffff; border-color: rgba(17,20,22,.16); }
body.r86-cases .case84-card-visual { background: #20272a; border-bottom-color: rgba(235,242,240,.16); }
body.r86-cases .case84-client,
body.r86-cases .case84-facts .case84-result dd,
body.r86-cases .case84-card-action,
body.r86-cases .case84-card-action > span { color: #1d5963; }
body.r86-cases .case84-facts { border-top-color: rgba(17,20,22,.14); }
body.r86-cases .case84-facts dd { color: #273236; }
body.r86-cases .case84-logo {
  min-height: 102px;
  background: #fbfcfb;
  border: 1px solid rgba(17,20,22,.12);
  padding: 12px 18px;
}
body.r86-cases .case84-logo img {
  display: block;
  max-width: 90%;
  max-height: 78px;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: none;
  mix-blend-mode: normal;
}
body.r86-cases .case84-logo img.logo-compact { max-width: 74%; }
body.r86-cases .case84-logo img.logo-wide { max-width: 96%; }
body.r86-cases .case84-logo img.logo-small { max-width: 62%; max-height: 68px; }
body.r86-cases .case84-logo-fallback {
  display: grid;
  place-items: center;
  width: 100%;
  min-height: 74px;
  border: 1px dashed rgba(29,89,99,.28);
  border-radius: 6px;
  color: #586266;
  background: #eef2f0;
  font-size: 13px;
  letter-spacing: .06em;
}
body.r86-cases .case84-navigation a { color: #4f5a5e; }
body.r86-cases .case84-navigation a:hover,
body.r86-cases .case84-navigation a[aria-current="page"] { color: #f4f6f5; }
body.r86-cases .case84-filters input,
body.r86-cases .case84-filters select { background: #ffffff; color: #111416; border-color: rgba(17,20,22,.28); color-scheme: light; }
body.r86-cases .case84-reset { color: #273236; border-color: rgba(17,20,22,.28); }
body.r86-cases .case84-reset:hover { color: #1d5963; border-color: #1d5963; }
body.r86-cases .case84-no-results { color: #4f5a5e; border-color: rgba(17,20,22,.16); }

/* Case collection: a white reading surface needs dark values in every field,
   including result rows and the active filters. */
body.r86-cases .case84-page {
  --case84-accent: #b84032;
  --case84-muted: #5d686b;
  --case84-line: #cbd4d2;
  --case84-panel: #ffffff;
  background: #f4f6f5;
  color: #111416;
}
body.r86-cases .case84-hero,
body.r86-cases .case84-hero-bottom p,
body.r86-cases .case84-collection-intro { color: #2d373a; }
body.r86-cases .case84-breadcrumb,
body.r86-cases .case84-hero-bottom p,
body.r86-cases .case84-collection-intro,
body.r86-cases .case84-section-head > p,
body.r86-cases .case84-search label,
body.r86-cases .case84-service-filter label,
body.r86-cases .case84-card-copy p,
body.r86-cases .case84-summary,
body.r86-cases .case84-facts dt,
body.r86-cases .case84-no-results,
body.r86-cases .case84-return p { color: #5d686b; }
body.r86-cases .case84-breadcrumb a,
body.r86-cases .case84-section-head h2,
body.r86-cases .case84-card h3,
body.r86-cases .case84-card-copy,
body.r86-cases .case84-card-action,
body.r86-cases .case84-questions h3,
body.r86-cases .case84-platform h3 { color: #111416; }
body.r86-cases .case84-navigation,
body.r86-cases .case84-fine-navigation,
body.r86-cases .case84-return { border-color: #cbd4d2; }
body.r86-cases .case84-navigation a,
body.r86-cases .case84-reset { color: #263337; border-color: #aebbb9; }
body.r86-cases .case84-navigation a:hover,
body.r86-cases .case84-navigation a[aria-current="page"],
body.r86-cases .case84-reset:hover { color: #ffffff; background: #111416; border-color: #111416; }
body.r86-cases .case84-broad-link,
body.r86-cases .case84-sector-link { color: #172124; border-color: #c4cfcd; background: #e8edeb; }
body.r86-cases .case84-broad-link small,
body.r86-cases .case84-sector-link small { color: #5d686b; }
body.r86-cases .case84-broad-link:hover,
body.r86-cases .case84-broad-link[aria-current],
body.r86-cases .case84-sector-link:hover { color: #111416; border-color: #b84032; background: #ffffff; }
body.r86-cases .case84-filters input,
body.r86-cases .case84-filters select {
  border-color: #9eacab;
  background: #ffffff;
  color: #172124;
  color-scheme: light;
}
body.r86-cases .case84-filters input::placeholder { color: #758083; }
body.r86-cases .case84-active-filter,
body.r86-cases .case84-section-head output,
body.r86-cases .case84-page .text-link { color: #a2372d; }
body.r86-cases .case84-card { border-color: #c5cfcd; background: #ffffff; }
body.r86-cases .case84-card-visual { background: #e8edeb; border-bottom-color: #cbd4d2; }
body.r86-cases .case84-industry { color: #3f4b4e; }
body.r86-cases .case84-client { color: #a2372d; }
body.r86-cases .case84-facts { border-top-color: #cbd4d2; }
body.r86-cases .case84-facts dd { color: #273437; }
body.r86-cases .case84-facts .case84-result dd,
body.r86-cases .case84-card-action > span { color: #a2372d; }
body.r86-cases .case84-card:hover { border-color: #b84032; }
body.r86-cases .case84-judgment { border-top-color: #cbd4d2; background: #e8edeb; }
body.r86-cases .case84-questions article { border-top-color: #cbd4d2; }
body.r86-cases .case84-questions p,
body.r86-cases .case84-platform p { color: #465356; }
body.r86-cases .case84-platform { border-left-color: #b84032; background: #ffffff; }

/* Native fallback collections use the z-site shell rather than case84
   classes. Keep their cards and filter controls on the same white surface. */
body.r86-cases .z-site { background: #f4f6f5; color: #111416; }
body.r86-cases .z-site > .z-section { border-color: #cbd4d2; }
body.r86-cases #all-cases article {
  border: 1px solid #c5cfcd;
  border-radius: 14px;
  padding: 24px;
  background: #ffffff;
}
body.r86-cases #all-cases article h3,
body.r86-cases #all-cases article h3 a { color: #111416; }
body.r86-cases #all-cases article dt { color: #5d686b; }
body.r86-cases #all-cases article dd { color: #273437; }
body.r86-cases #all-cases article a { color: #a2372d; }
body.r86-cases .case-library { --case-ink: #111416; --case-muted: #5d686b; --case-line: #cbd4d2; background: #f4f6f5; color: #111416; }
body.r86-cases .case-library .filters { border-color: #cbd4d2; }
body.r86-cases .case-library .filters button { color: #263337; }
body.r86-cases .case-library .filters button[aria-pressed="true"] { background: #111416; color: #ffffff; }
body.r86-cases .case-library .heading p,
body.r86-cases .case-library .tags,
body.r86-cases .case-library .summary,
body.r86-cases .case-library .result small { color: #5d686b; }
body.r86-cases .case-library .card { border-color: #c5cfcd; background: #ffffff; }
body.r86-cases .case-library .body h3 a { color: #111416; }
body.r86-cases .case-library .result { border-top-color: #cbd4d2; }
body.r86-cases .case-library .result strong,
body.r86-cases .case-library .more span,
body.r86-cases .case-library .more { color: #a2372d; }

/* Native project detail shell: retain a deep reading canvas so the project
   evidence does not become dark text on a dark image module. */
body.r86-case-detail .z-site { background: #181d20; color: #f7faf8; }
body.r86-case-detail .z-site :is(h1,h2,h3,h4,strong) { color: #f7faf8; }
body.r86-case-detail .z-site :is(p,li,dd) { color: #c4cecd; }
body.r86-case-detail .z-site .v4-case-header { background: #181d20; border-color: rgba(235,242,240,.16); }
body.r86-case-detail .z-site .v4-case-header .z-lead,
body.r86-case-detail .z-site .z-case-facts dt { color: #aeb8b9; }
body.r86-case-detail .z-site .v4-case-subtitle { color: #aeb8b9; }
body.r86-case-detail .z-site .v4-case-nav { background: #20282b; border-color: rgba(235,242,240,.16); }
body.r86-case-detail .z-site .v4-case-nav a,
body.r86-case-detail .z-site a { color: #d9ee65; }
body.r86-case-detail .z-site .z-case-narrative { border-top-color: rgba(235,242,240,.16); }

/* Project detail keeps its intentionally deep canvas; only the collection
   receives the white treatment above. */
body.r86-case-detail .project-page { background: #181d20; color: #f7faf8; }
body.r86-case-detail .project-page :is(h1,h2,h3,h4,strong) { color: #f7faf8; }
body.r86-case-detail .project-page :is(p,li,dd) { color: #c4cecd; }
body.r86-case-detail .project-page a { color: #d9ee65; }
body.r86-case-detail .project-chapter { border-top-color: rgba(235,242,240,.16); }
body.r86-case-detail .project-chapter p { color: #c4cecd; }
