/* the article is a light page in both themes, so these apply in both (hero rules stay light-only).
   generated from the contrast audit for case-studies/ecommerce-meta.html: text that failed WCAG AA on its real background, lifted toward ink only as far as needed (hue kept). Regenerate with theme/_qa. */
html[data-theme] .cs-finding .cs-finding-num { color: rgb(122, 110, 92); }   /* 1.51:1  "01" */
html[data-theme] .cs-ev-num .cs-ev-lbl { color: rgb(122, 107, 82); }   /* 1.66:1  "ROAS" */
html[data-theme] .cs-intervention .cs-intervention-num { color: rgb(116, 115, 121); }   /* 1.75:1  "01" */
html[data-theme] .cs-chrome-bar .cs-chrome-label { color: rgb(104, 103, 113); }   /* 1.86:1  "adsmanager.facebook.com · " */
html[data-theme] .em-funnel-hd .cs-eyebrow { color: rgb(126, 106, 72); }   /* 1.92:1  "Funnel Architecture" */
html[data-theme] .cs-mid-hook .cs-mid-hook-link { color: rgb(130, 108, 73); }   /* 2.02:1  "The Growth Diagnostic look" */
html[data-theme] .cs-ev-num .cs-ev-val { color: rgb(162, 130, 79); }   /* 2.11:1  "5.87×" */
html[data-theme] .cs-ev-head.is-after .cs-ev-sub { color: rgb(108, 108, 112); opacity: 1; }   /* 2.56:1  "Attribution: Meta Ads Mana" */
html[data-theme] .cs-compare-caption .cs-cap-nda { color: rgb(108, 108, 112); opacity: 1; }   /* 2.7:1  "Brand identity withheld pe" */
html[data-theme] .cs-author-authority .cs-author-eyebrow { color: rgb(108, 108, 112); opacity: 1; }   /* 2.7:1  "About the strategist" */
html[data-theme] .cs-author-id-text .cs-author-org { color: rgb(186, 72, 34); }   /* 3.06:1  "MESAscale" */

/* second pass: rules that needed !important to win over the page's own selectors */
html[data-theme] .cs-ev-head.is-after .cs-ev-sub { color: rgb(108, 108, 110) !important; opacity: 1 !important; }   /* 1.96:1  "Attribution: Meta Ads Mana" */
