/* ASR Editorial System 2026-10-17
   Last public-only design authority. Preserve the actual white/violet
   branding and never apply typography/contrast fixes to private workspaces. */
:root {
  --asr-editorial-ink: #24192d;
  --asr-editorial-copy: #504459;
  --asr-editorial-muted: #605468;
  --asr-editorial-violet: #663084;
  --asr-editorial-paper: #ffffff;
  --asr-editorial-wash: #fbf8fd;
  --asr-editorial-line: #e6dce9;
  --asr-editorial-focus: #783aa3;
}
/* Universal public navigation: no near-invisible navigation metadata. */
html body > header.asr-unified-header .asr-uh-brand-name {
  font-size: 12px !important;
  color: #3b3142 !important;
  -webkit-text-fill-color: #3b3142 !important;
}
html body > header.asr-unified-header .asr-uh-nav > a,
html body > header.asr-unified-header .asr-uh-nav > details > summary {
  color: #312438 !important;
  -webkit-text-fill-color: #312438 !important;
  font-size: 14px !important;
}
html body > header.asr-unified-header .asr-uh-panel-eyebrow,
html body > header.asr-unified-header .asr-uh-tool-tech,
html body > header.asr-unified-header .asr-uh-card-footer,
html body > header.asr-unified-header .asr-uh-lang {
  color: #663084 !important; -webkit-text-fill-color: #663084 !important;
  font-size: 12px !important; line-height: 1.4 !important;
}
html body > header.asr-unified-header .asr-uh-item-description,
html body > header.asr-unified-header .asr-uh-help-item small,
html body > header.asr-unified-header .asr-uh-panel-foot > span {
  color: #55495e !important; -webkit-text-fill-color: #55495e !important;
  font-size: 13.5px !important; line-height: 1.58 !important;
}
html body > header.asr-unified-header .asr-uh-dropdown-panel {
  border-color: #e5d9eb !important;
  box-shadow: 0 24px 65px rgba(43,26,50,.11) !important;
}
/* A compact, accessible optional reading mode control in the existing header. */
html body > header.asr-unified-header .asr-uh-actions .asr-readable-toggle,
html body > header.asr-unified-header .asr-uh-mobile-actions .asr-readable-toggle {
  appearance: none; display: inline-flex; align-items: center; justify-content: center;
  gap: 7px; flex: 0 0 auto; min-height: 42px; min-width: 44px; padding: 8px 11px;
  border: 1px solid #d9c9e4; border-radius: 10px;
  background: #fff; color: #59316e; -webkit-text-fill-color: #59316e;
  font-weight: 750; font-size: 15px; line-height: 1.2; font-family: inherit;
  cursor: pointer; transition: background .2s ease, border-color .2s ease, transform .2s ease;
}
html body > header.asr-unified-header .asr-readable-toggle:hover {
  background: #f8f1fb; border-color: #af8cc5;
}
html body > header.asr-unified-header .asr-readable-toggle[aria-pressed="true"] {
  background: #633083; color: #fff; -webkit-text-fill-color: #fff; border-color: #633083;
}
html body > header.asr-unified-header .asr-readable-toggle:focus-visible {
  outline: 3px solid var(--asr-editorial-focus) !important; outline-offset: 3px !important;
}
html body > header.asr-unified-header .asr-uh-actions .asr-readable-toggle .asr-readable-label {
  display: none;
}
html body > header.asr-unified-header .asr-uh-mobile-actions .asr-readable-toggle {
  width: 100%; justify-content: center; margin-top: 6px;
}
@media (min-width:1441px) {
  html body > header.asr-unified-header .asr-uh-actions .asr-readable-toggle {
    min-width: 56px;
  }
}
@media (max-width:1340px) {
  html body > header.asr-unified-header .asr-uh-actions .asr-readable-toggle {
    display:none;
  }
}
/* Typographic rhythm / legible copy on the real React pages. */
html body .public-site[data-page="home"] main.home-premium-v131805 .hp-hero-copy h1 {
  color: var(--asr-editorial-ink) !important;
  -webkit-text-fill-color: var(--asr-editorial-ink) !important;
  font-size: clamp(42px, 5vw, 76px) !important;
  line-height: 1.06 !important;
  letter-spacing: -.056em !important;
  text-wrap: balance;
}
html body .public-site[data-page="home"] main.home-premium-v131805 .hp-hero-copy h1 em {
  color: #6e328b !important; -webkit-text-fill-color: #6e328b !important;
}
html body .public-site[data-page="home"] main.home-premium-v131805 .hp-hero-copy > p {
  color: var(--asr-editorial-copy) !important;
  -webkit-text-fill-color: var(--asr-editorial-copy) !important;
  font-size: clamp(16px, 1.3vw, 18px) !important;
  line-height: 1.72 !important; max-width: 63ch !important;
}
html body .public-site[data-page="home"] main.home-premium-v131805 .hp-live-kicker {
  color: #59306d !important; -webkit-text-fill-color: #59306d !important;
  background: #f9f3fc !important; border-color: #eadcf1 !important;
  font-size: 12px !important; line-height: 1.5 !important;
}
html body .public-site[data-page="home"] main.home-premium-v131805 .hp-live-kicker b {
  color: #663084 !important; -webkit-text-fill-color: #663084 !important;
}
html body .public-site[data-page="home"] main.home-premium-v131805 .hp-trust {
  color: #51475b !important; -webkit-text-fill-color: #51475b !important;
  font-size: 13.5px !important; line-height: 1.5 !important;
}
html body .public-site[data-page="home"] main.home-premium-v131805 .hp-section-head h2,
html body .public-site[data-page="home"] main.home-premium-v131805 .asr-home-explore h2 {
  line-height: 1.14 !important; text-wrap: balance;
}
html body .public-site[data-page="home"] main.home-premium-v131805 .hp-section-head p,
html body .public-site[data-page="home"] main.home-premium-v131805 :is(
 .asr-service-lines p, .asr-home-stack-grid p, .asr-orunmila-copy > p, .asr-home-careers-prompt p
) {
  color: #554a60 !important; -webkit-text-fill-color: #554a60 !important;
  font-size: clamp(15.5px, 1.1vw, 17px) !important; line-height: 1.68 !important;
}
html body .public-site[data-page="home"] main.home-premium-v131805 .asr-service-lines > article {
  border-radius: 18px !important; border-color: #e4d8e9 !important;
  box-shadow: 0 9px 30px rgba(57,29,75,.045) !important;
}
html body .public-site[data-page="home"] main.home-premium-v131805 .asr-home-stack-grid > article {
  border-radius: 16px !important;
}
html body .public-site[data-page="home"] main.home-premium-v131805 :is(
 .hp-research-card, .asr-home-careers-prompt, .asr-orunmila-card
) { border-radius: 18px !important; }
html body .public-site[data-page="home"] main.home-premium-v131805 .asr-service-lines > article strong {
  font-size: 12.5px !important; line-height: 1.45 !important; letter-spacing: .035em !important;
}
/* Services: replace tiny commercial-card copy with calm, readable editorial type. */
html body.asr-services-light main.asr-services-page {
  --svc-ink: #24192d; --svc-copy: #51465b;
  --svc-violet: #663084; --svc-border: #e6dce9;
}
html body.asr-services-light main.asr-services-page :is(
 .asr-svc-offer-copy, .asr-svc-receive li, .asr-svc-section-head p,
 .asr-svc-contact-box p, .asr-svc-capability > p, .asr-svc-lead
) {
  font-size: clamp(15.5px, 1.15vw, 17px) !important;
  line-height: 1.72 !important;
  color: #51465b !important; -webkit-text-fill-color: #51465b !important;
}
html body.asr-services-light main.asr-services-page :is(
 .asr-svc-index, .asr-svc-offer-top > span, .asr-svc-kicker,
 .asr-svc-price > span, .asr-svc-receive > b, .asr-svc-capability-phase
) {
  color: #663084 !important; -webkit-text-fill-color: #663084 !important;
  font-size: 12px !important; line-height: 1.5 !important;
  letter-spacing: .055em !important;
}
html body.asr-services-light main.asr-services-page :is(.asr-svc-hero h1, .asr-svc-section-head h2) {
  line-height: 1.12 !important; text-wrap: balance;
  color: #261b2f !important; -webkit-text-fill-color: #261b2f !important;
}
html body.asr-services-light main.asr-services-page .asr-svc-offer {
  border-color: #e2d6e9 !important; border-radius: 18px !important;
  box-shadow: 0 10px 32px rgba(57,29,75,.055) !important;
}
html body.asr-services-light main.asr-services-page :is(.asr-svc-offer-link, .asr-svc-cta a) {
  font-size: 15px !important; min-height: 44px !important;
}
/* Authoritative Services offer-card type — defeats the legacy CMS-specific
   !important selector that still forces 14px after dynamic recovery. */
html body.asr-services-light.asr-public-current-v20260927
 main.asr-services-page.asr-services-premium .asr-svc-offers
 .asr-svc-offer .asr-svc-offer-copy,
html body.asr-services-light.asr-public-current-v20260927
 main.asr-services-page.asr-services-premium .asr-svc-offers
 .asr-svc-offer .asr-svc-receive li {
  font-size: 16px !important; line-height: 1.72 !important;
  color: #51465b !important; -webkit-text-fill-color: #51465b !important;
}
html body.asr-services-light.asr-public-current-v20260927
 main.asr-services-page.asr-services-premium .asr-svc-offers
 .asr-svc-offer .asr-svc-offer-top > span {
  font-size: 12.5px !important;
  color: #663084 !important; -webkit-text-fill-color: #663084 !important;
}
/* FIIDQ / Training: keep rate laboratory and credentials legible. */
html body.fiidq-document main.fiidq-main :is(
 .fiidq-module > p, .fiidq-feature p, .fiidq-outputs p, .fiidq-lab-intro p,
 .fiidq-time-card p, .fiidq-section p, .fiidq-faq p
) {
  font-size: clamp(15.5px, 1.2vw, 17px) !important;
  line-height: 1.72 !important;
  color: #51465b !important; -webkit-text-fill-color: #51465b !important;
}
html body.fiidq-document main.fiidq-main :is(
 .fiidq-module-number span, .fiidq-chart-overline, .fiidq-hero-kicker,
 .fiidq-module-outcome, .fiidq-feature .index
) {
  color: #623184 !important; -webkit-text-fill-color: #623184 !important;
  font-size: 12.5px !important; line-height: 1.5 !important;
}
html body.fiidq-document main.fiidq-main :is(.fiidq-module, .fiidq-time-card, .fiidq-feature) {
  border-radius: 17px !important;
}
html body.fiidq-document main.fiidq-main h3 {
  color: #24192d !important; -webkit-text-fill-color: #24192d !important;
  line-height: 1.23 !important;
}
html body.fiidq-document main.fiidq-main :is(.fiidq-btn, button, select, input) {
  min-height: 42px;
}
/* FIIDQ's legacy module-specific !important rules must not lower text below 16px. */
html body.fiidq-document[data-fiidq-experience-v2="1"]
 main.fiidq-main .fiidq-section .fiidq-module-grid .fiidq-module > p {
  font-size: 16px !important; line-height: 1.72 !important;
  color: #51465b !important; -webkit-text-fill-color: #51465b !important;
}
html body.fiidq-document[data-fiidq-experience-v2="1"]
 main.fiidq-main .fiidq-section .fiidq-module-grid .fiidq-module
 :is(.fiidq-module-number span, .fiidq-module-outcome) {
  font-size: 13px !important; line-height: 1.55 !important;
  color: #623184 !important; -webkit-text-fill-color: #623184 !important;
}
/* Research, careers, products and About: preserve each existing background but
   raise copy sizes and remove all 9px metadata in editorial cards. */
html body .public-site:is(
 [data-page="research"], [data-page="publication"], [data-page="about"],
 [data-page="careers"], [data-page="faq"], [data-page="meetings"], [data-page="support"],
 [data-page="pricing"], [data-page="dinav"], [data-page="orunmila"]
) main :is(p,li) {
  line-height: 1.65;
  overflow-wrap: break-word;
}
html body .public-site[data-page="research"] main.research-premium :is(
 .rp-card-meta, .rp-card-footer, .rp-tags, .rp-library-count
) { font-size: 13px !important; line-height: 1.5 !important; }
html body .public-site[data-page="research"] main.research-premium .rp-publication-card > p {
  font-size: 15.5px !important; line-height: 1.72 !important;
}
html body .public-site:is([data-page="careers"],[data-page="about"],[data-page="meetings"])
 main :is(small, time) { font-size: max(12.5px, .8em) !important; line-height: 1.5 !important; }
/* Cross-page keyboard, mobile overflow and tap targets. */
html body > header.asr-unified-header :is(a,button,summary):focus-visible,
html body .public-site main :is(a,button,input,select,textarea,summary):focus-visible,
html body.asr-services-light main.asr-services-page :is(a,button,input,select,textarea,summary):focus-visible,
html body.fiidq-document main.fiidq-main :is(a,button,input,select,textarea,summary):focus-visible {
  outline: 3px solid #7c379f !important; outline-offset: 3px !important;
}
html body .public-site main :is(h1,h2,h3),
html body.asr-services-light main.asr-services-page :is(h1,h2,h3),
html body.fiidq-document main.fiidq-main :is(h1,h2,h3) {
  overflow-wrap: anywhere; text-wrap: balance;
}
html body .public-site main :is(button,a), 
html body.asr-services-light main.asr-services-page :is(button,a),
html body.fiidq-document main.fiidq-main :is(button,a) {
  touch-action: manipulation;
}
/* User-controlled "Aa" mode: more space and a minimum comfortable scale.
   The default appearance above is already legible; this mode is optional. */
html[data-asr-reading="enhanced"] body .public-site main :is(p,li),
html[data-asr-reading="enhanced"] body.asr-services-light main.asr-services-page :is(p,li),
html[data-asr-reading="enhanced"] body.fiidq-document main.fiidq-main :is(p,li) {
  font-size: max(17px, 1.06em) !important;
  line-height: 1.85 !important;
  letter-spacing: .005em !important;
}
html[data-asr-reading="enhanced"] body .public-site main :is(small,time,.rp-card-meta),
html[data-asr-reading="enhanced"] body.asr-services-light main.asr-services-page :is(small,time,.asr-svc-kicker),
html[data-asr-reading="enhanced"] body.fiidq-document main.fiidq-main :is(small,time,.fiidq-module-number) {
  font-size: max(13.5px, .85em) !important; line-height: 1.65 !important;
}
html[data-asr-reading="enhanced"] body .public-site main :is(p,li),
html[data-asr-reading="enhanced"] body.asr-services-light main.asr-services-page :is(p,li),
html[data-asr-reading="enhanced"] body.fiidq-document main.fiidq-main :is(p,li) {
  max-width: 74ch;
}
@media(max-width:700px) {
  html body .public-site[data-page="home"] main.home-premium-v131805 .hp-hero-copy h1 {
    font-size: clamp(35px, 9.2vw, 48px) !important; letter-spacing: -.045em !important;
  }
  html body .public-site[data-page="home"] main.home-premium-v131805 .hp-hero {
    gap: 25px !important; padding-top: 37px !important;
  }
  html body .public-site main :is(button,a), html body.asr-services-light main.asr-services-page :is(button,a) {
    overflow-wrap: anywhere;
  }
}
@media(prefers-reduced-motion:reduce) {
  html body > header.asr-unified-header .asr-readable-toggle { transition: none !important; }
}

/* ASR Home / Signature capability strip · 2026-10-17
   Replaces stale download/view counters with research infrastructure.
   White editorial grid, calm motion, full keyboard and mobile support. */
html body .public-site[data-page="home"] .asr-proof-strip {
  background: #fdfbfe !important; background-image: none !important;
  border-top: 1px solid #e7dfeb !important; border-bottom: 1px solid #e7dfeb !important;
  color-scheme: light !important; isolation: isolate;
}
html body .public-site[data-page="home"] .asr-proof-strip > .shell {
  width: min(100%, 1440px) !important; max-width: 1440px !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  gap: 0 !important; align-items: stretch;
}
html body .public-site[data-page="home"] .asr-proof-strip .asr-proof-stat {
  position: relative !important; min-width: 0 !important; min-height: 240px !important;
  padding: 36px clamp(25px,3vw,45px) 31px !important;
  display: flex !important; flex-direction: column !important;
  justify-content: center !important; align-items: flex-start !important;
  border: none !important; border-right: 1px solid #e7dfeb !important;
  border-radius: 0 !important; background: #fdfbfe !important;
  box-shadow: none !important; color: #24192d !important;
  text-decoration: none !important; overflow: hidden !important;
  transition: background-color .24s ease, box-shadow .24s ease !important;
}
html body .public-site[data-page="home"] .asr-proof-strip .asr-proof-stat:first-child {
  border-left: 1px solid #e7dfeb !important;
}
html body .public-site[data-page="home"] .asr-proof-strip .asr-proof-stat::before {
  content: '' !important; display: block !important; pointer-events: none !important;
  position: absolute !important; top: 0 !important; left: 0 !important;
  right: auto !important; bottom: auto !important;
  width: 100% !important; height: 3px !important; border-radius: 0 !important;
  background: linear-gradient(90deg,#72349a 0%,#ac79c5 64%,transparent 100%) !important;
  opacity: 0 !important; transform: scaleX(.75) !important;
  transform-origin: left !important; transition: opacity .24s ease, transform .4s ease !important;
}
html body .public-site[data-page="home"] .asr-proof-strip a.asr-proof-stat:is(:hover,:focus-visible) {
  background: #f8f3fb !important;
  box-shadow: inset 0 -3px rgba(114,52,154,.09) !important;
}
html body .public-site[data-page="home"] .asr-proof-strip a.asr-proof-stat:is(:hover,:focus-visible)::before {
  opacity: 1 !important; transform: scaleX(1) !important;
}
html body .public-site[data-page="home"] .asr-proof-strip .asr-proof-stat > .asr-proof-index {
  position: absolute !important; top: 24px !important; right: 27px !important;
  display: inline-block !important; font-size: 12px !important; line-height: 1.5 !important;
  font-weight: 760 !important; font-family: inherit !important; letter-spacing: .10em !important;
  color: #867292 !important; -webkit-text-fill-color: #867292 !important;
}
html body .public-site[data-page="home"] .asr-proof-strip .asr-proof-stat > .asr-proof-eyebrow {
  display: block !important; margin: 0 0 13px !important;
  max-width: calc(100% - 30px) !important;
  color: #68348b !important; -webkit-text-fill-color: #68348b !important;
  font-size: 12.5px !important; line-height: 1.55 !important;
  font-weight: 800 !important; letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
html body .public-site[data-page="home"] .asr-proof-strip .asr-proof-stat > b {
  display: block !important; margin: 0 0 11px !important;
  color: #24192d !important; -webkit-text-fill-color: #24192d !important;
  font-size: clamp(30px,3.1vw,45px) !important;
  line-height: 1.09 !important; font-weight: 770 !important;
  letter-spacing: -.048em !important; text-wrap: balance !important;
}
html body .public-site[data-page="home"] .asr-proof-strip .asr-proof-stat > small {
  display: block !important; margin: 0 !important;
  max-width: 36ch !important; color: #584e60 !important;
  -webkit-text-fill-color: #584e60 !important;
  font-size: clamp(15px,1.05vw,16.5px) !important;
  line-height: 1.6 !important; font-weight: 460 !important;
  text-wrap: pretty !important;
}
html body .public-site[data-page="home"] .asr-proof-strip .asr-proof-stat > .asr-proof-action {
  display: inline-flex !important; align-items: center !important; gap: 6px !important;
  margin-top: 18px !important; color: #703592 !important;
  -webkit-text-fill-color: #703592 !important;
  font-size: 13.5px !important; font-weight: 780 !important;
  line-height: 1.4 !important; letter-spacing: .015em !important;
}
html body .public-site[data-page="home"] .asr-proof-strip .asr-proof-action svg {
  width: 16px !important; height: 16px !important;
  stroke: currentColor !important; transition: transform .2s ease !important;
}
html body .public-site[data-page="home"] .asr-proof-strip a.asr-proof-stat:is(:hover,:focus-visible) .asr-proof-action svg {
  transform: translate(3px,-3px) !important;
}
html body .public-site[data-page="home"] .asr-proof-strip :is(.asr-proof-loading,.asr-proof-empty) {
  grid-column: 1 / -1 !important; display: flex !important;
  align-items: center !important; min-height: 215px !important;
  padding: 30px 38px !important;
  color: #605368 !important; -webkit-text-fill-color: #605368 !important;
  font-size: 16px !important; line-height: 1.5 !important;
}
html body .public-site[data-page="home"] .asr-proof-strip a.asr-proof-stat:focus-visible {
  outline: 3px solid #783aa3 !important; outline-offset: -4px !important;
}
@media (max-width: 980px) {
  html body .public-site[data-page="home"] .asr-proof-strip > .shell {
    grid-template-columns: 1fr !important;
  }
  html body .public-site[data-page="home"] .asr-proof-strip .asr-proof-stat {
    min-height: 176px !important; padding: 27px 30px !important;
    border: none !important; border-bottom: 1px solid #e7dfeb !important;
  }
  html body .public-site[data-page="home"] .asr-proof-strip .asr-proof-stat:first-child {
    border-left: none !important;
  }
  html body .public-site[data-page="home"] .asr-proof-strip .asr-proof-stat:last-child {
    border-bottom: none !important;
  }
  html body .public-site[data-page="home"] .asr-proof-strip .asr-proof-stat > b {
    font-size: clamp(30px,5vw,39px) !important;
  }
  html body .public-site[data-page="home"] .asr-proof-strip .asr-proof-stat > .asr-proof-index {
    top: 24px !important; right: 30px !important;
  }
}
@media (max-width: 480px) {
  html body .public-site[data-page="home"] .asr-proof-strip .asr-proof-stat {
    padding: 27px 22px !important; min-height: 180px !important;
  }
  html body .public-site[data-page="home"] .asr-proof-strip .asr-proof-stat > .asr-proof-index {
    right: 22px !important;
  }
  html body .public-site[data-page="home"] .asr-proof-strip .asr-proof-stat > small {
    font-size: 15.5px !important;
  }
}
@media (prefers-reduced-motion:reduce) {
  html body .public-site[data-page="home"] .asr-proof-strip .asr-proof-stat,
  html body .public-site[data-page="home"] .asr-proof-strip .asr-proof-stat::before,
  html body .public-site[data-page="home"] .asr-proof-strip .asr-proof-action svg {
    animation: none !important; transition: none !important; transform: none !important;
  }
}