/* 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/pet-care.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] .pc-before-result-val span { color: rgb(100, 99, 101); opacity: 1; }   /* 1.37:1  "blended, unreadable by rol" */
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  "Blended ROAS" */
html[data-theme] .pc-obs-item .pc-obs-num { color: rgb(112, 111, 115); }   /* 1.74:1  "01" */
html[data-theme] .cs-intervention .cs-intervention-num { color: rgb(116, 115, 121); }   /* 1.75:1  "01" */
html[data-theme] .pc-table-row.is-discovery .pc-roas-val.is-dim { color: rgb(69, 68, 77); }   /* 1.81:1  "Below 1×" */
html[data-theme] .cs-chrome-bar .cs-chrome-label { color: rgb(104, 103, 113); }   /* 1.86:1  "ads.google.com · All Campa" */
html[data-theme] .pc-arch-before .pc-arch-panel-label { color: rgb(106, 107, 110); }   /* 1.89:1  "Before" */
html[data-theme] .pc-arch-header .cs-eyebrow { color: rgb(126, 106, 72); }   /* 1.92:1  "Account Structure" */
html[data-theme] .pc-before-result .pc-before-result-val { color: rgb(99, 99, 105); }   /* 1.94:1  "7.16× blended, unreadable " */
html[data-theme] .pc-arch-after .pc-arch-panel-label { color: rgb(113, 116, 120); }   /* 1.98:1  "After" */
html[data-theme] .pc-perf-header .cs-eyebrow { color: rgb(130, 108, 74); }   /* 1.99:1  "Documented Campaign Perfor" */
html[data-theme] .pc-result-header .cs-eyebrow { color: rgb(130, 108, 74); }   /* 1.99:1  "Documented Account Perform" */
html[data-theme] .cs-mid-hook .cs-mid-hook-link { color: rgb(130, 108, 73); }   /* 2.02:1  "See what the diagnostic co" */
html[data-theme] .pc-obs-module .pc-obs-eyebrow { color: rgb(112, 111, 118); }   /* 2.08:1  "What the Blended Number Co" */
html[data-theme] .pc-distinction-box .pc-distinction-eyebrow { color: rgb(112, 111, 118); }   /* 2.08:1  "Worth Stating Clearly" */
html[data-theme] .cs-ev-num .cs-ev-val { color: rgb(162, 130, 79); }   /* 2.11:1  "7.16×" */
html[data-theme] .pc-demand-item .pc-demand-sub { color: rgb(107, 107, 113); }   /* 2.18:1  "Included in blended · High" */
html[data-theme] .pc-rpt-row-highlight .pc-rpt-role-label { color: rgb(108, 108, 118); }   /* 2.18:1  "Brand Demand" */
html[data-theme] .pc-rpt-row-blended .pc-rpt-role-label { color: rgb(108, 107, 116); }   /* 2.18:1  "Account Total · All 8 Camp" */
html[data-theme] .pc-rpt-role-label { color: rgb(111, 111, 120); }   /* 2.19:1  "High-Intent Acquisition" */
html[data-theme] .pc-arch-inner .pc-arch-footer { color: rgb(108, 108, 111); opacity: 1; }   /* 2.24:1  "The purpose was clearer me" */
html[data-theme] .pc-rpt-roas.dim { color: rgb(111, 111, 120); }   /* 2.25:1  "Below 1×" */
html[data-theme] .pc-before-result .pc-before-result-label { color: rgb(99, 99, 107); }   /* 2.26:1  "All demand types → one ble" */
html[data-theme] .pc-perf-inner .pc-table-note { color: rgb(111, 111, 114); opacity: 1; }   /* 2.27:1  "Campaign-level ROAS figure" */
html[data-theme] .pc-table-row.is-discovery .pc-ctx-text { color: rgb(69, 69, 72); opacity: 1; }   /* 2.28:1  "Immediate platform ROAS; n" */
html[data-theme] .pc-after-row.is-discovery .pc-after-roas.is-low { color: rgb(115, 115, 118); opacity: 1; }   /* 2.32:1  "Below 1×" */
html[data-theme] .pc-after-row .pc-after-role { color: rgb(115, 115, 125); }   /* 2.33:1  "High-Intent Acquisition" */
html[data-theme] .pc-after-row.is-discovery .pc-after-role { color: rgb(115, 115, 125); }   /* 2.33:1  "Upper-Funnel Testing" */
html[data-theme] .pc-result-perf-table.cs-stack th { color: rgb(107, 106, 117); }   /* 2.42:1  "Campaign Role" */
html[data-theme] .pc-arch-before .pc-before-note { color: rgb(108, 106, 115); }   /* 2.43:1  "Different forms of demand " */
html[data-theme] .pc-table-head .pc-table-head-cell { color: rgb(112, 111, 122); }   /* 2.45:1  "Campaign Role" */
html[data-theme] .pc-arch-after .pc-arch-panel-title { color: rgb(116, 115, 125); }   /* 2.47:1  "Clearer campaign responsib" */
html[data-theme] .pc-after-row.is-brand .pc-after-role.is-brand { color: rgb(116, 115, 125); }   /* 2.47:1  "Brand Demand" */
html[data-theme] .cs-compare-caption .cs-cap-nda { color: rgb(108, 108, 112); opacity: 1; }   /* 2.7:1  "Campaign names 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] .pc-after-row.is-brand .pc-after-desc { color: rgb(115, 115, 118); opacity: 1; }   /* 2.71:1  "Captures brand-name search" */
html[data-theme] .pc-after-row .pc-after-desc { color: rgb(115, 115, 118); opacity: 1; }   /* 2.71:1  "Product and category deman" */
html[data-theme] .pc-after-row.is-discovery .pc-after-desc { color: rgb(115, 115, 118); opacity: 1; }   /* 2.71:1  "Broader reach and consider" */
html[data-theme] .pc-arch-before .pc-arch-panel-title { color: rgb(107, 106, 118); }   /* 2.95:1  "Mixed performance view: de" */
html[data-theme] .cs-author-id-text .cs-author-org { color: rgb(186, 72, 34); }   /* 3.06:1  "MESAscale" */
html[data-theme] .pc-table-row.is-brand .pc-ctx-text { color: rgb(112, 112, 117); opacity: 1; }   /* 3.13:1  "Highest-intent demand; Jan" */
html[data-theme] .pc-table-row.is-blended .pc-ctx-text { color: rgb(112, 112, 117); opacity: 1; }   /* 3.13:1  "$221K platform-attributed " */
html[data-theme] .pc-table-row .pc-ctx-text { color: rgb(115, 115, 120); opacity: 1; }   /* 3.2:1  "Range across non-brand Sea" */
html[data-theme] .pc-demand-item .pc-demand-label { color: rgb(108, 105, 127); }   /* 4.41:1  "Brand-name searches" */

/* second pass: rules that needed !important to win over the page's own selectors */
html[data-theme] .pc-before-result-val span { color: rgb(99, 99, 99) !important; opacity: 1 !important; }   /* 1.97:1  "blended, unreadable by rol" */
html[data-theme] .pc-arch-after .pc-arch-panel-title { color: rgb(116, 115, 125) !important; }   /* 2.47:1  "Clearer campaign responsib" */
