/* 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/lifestyle-scale.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  "Blended ROAS" */
html[data-theme] .cs-intervention .cs-intervention-num { color: rgb(116, 115, 121); }   /* 1.75:1  "01" */
html[data-theme] .port-axis-row .port-axis-spacer { color: rgb(112, 112, 114); opacity: 1; }   /* 1.78:1  "Campaign" */
html[data-theme] .port-axis-row .port-axis-bars { color: rgb(112, 112, 114); opacity: 1; }   /* 1.78:1  "Demand Type" */
html[data-theme] .port-axis-row .port-axis-role-head { color: rgb(112, 112, 114); opacity: 1; }   /* 1.78:1  "Efficiency Role" */
html[data-theme] .port-axis-row .port-axis-end { color: rgb(112, 112, 114); opacity: 1; }   /* 1.78:1  "ROAS" */
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] .port-group-head .port-group-tag { color: rgb(115, 115, 123); }   /* 1.86:1  "01 · Demand Capture" */
html[data-theme] .port-meta .port-interp { color: rgb(111, 111, 114); opacity: 1; }   /* 2.01:1  "A lower campaign ROAS does" */
html[data-theme] .cs-mid-hook .cs-mid-hook-link { color: rgb(130, 108, 73); }   /* 2.02:1  "The Growth Diagnostic exam" */
html[data-theme] .port-footer .port-footer-roas-lbl { color: rgb(109, 110, 120); }   /* 2.04:1  "Blended ROAS" */
html[data-theme] .port-header .port-eyebrow { color: rgb(111, 111, 119); }   /* 2.08:1  "Campaign Portfolio" */
html[data-theme] .cs-ev-num .cs-ev-val { color: rgb(162, 130, 79); }   /* 2.11:1  "4.06×" */
html[data-theme] .port-row.is-primary .port-role-note { color: rgb(113, 113, 115); opacity: 1; }   /* 2.13:1  "High conversion rate; defe" */
html[data-theme] .port-row .port-role-note { color: rgb(115, 115, 118); opacity: 1; }   /* 2.16:1  "Concentrates on purchase-i" */
html[data-theme] .port-bar-track .port-demand-type { color: rgb(112, 112, 116); opacity: 1; }   /* 2.29:1  "Captured: existing & in-ma" */
html[data-theme] .port-footer .port-footer-label { color: rgb(108, 109, 122); }   /* 2.38:1  "Portfolio Summary · All 7 " */
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] .cs-author-id-text .cs-author-org { color: rgb(186, 72, 34); }   /* 3.06:1  "MESAscale" */
html[data-theme] .port-footer .port-footer-detail { color: rgb(106, 109, 132); }   /* 3.89:1  "Campaign-level range: 3.75" */
