/* 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/apparel-brand.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] .restr-group .restr-group-label { color: rgb(116, 116, 117); opacity: 1; }   /* 1.63:1  "Search" */
html[data-theme] .cs-intervention .cs-intervention-num { color: rgb(116, 115, 121); }   /* 1.75:1  "01" */
html[data-theme] .restr-before-diag .restr-diag-label { color: rgb(115, 115, 117); opacity: 1; }   /* 1.8:1  "Structural characteristics" */
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] .ev-period-block.is-before .ev-period-roas { color: rgb(135, 134, 143); }   /* 1.87:1  "4.79×" */
html[data-theme] .restr-before .restr-panel-tag { color: rgb(115, 115, 118); opacity: 1; }   /* 1.87:1  "Accumulated Architecture ·" */
html[data-theme] .restr-after .restr-panel-tag { color: rgb(115, 115, 118); opacity: 1; }   /* 1.87:1  "Clearer Campaign Roles · M" */
html[data-theme] .restr-result-block.is-before .restr-result-roas { color: rgb(135, 134, 143); }   /* 1.87:1  "4.79×" */
html[data-theme] .appsumm-conclusion .appsumm-attribution { color: rgb(111, 111, 114); opacity: 1; }   /* 1.9:1  "All performance data sourc" */
html[data-theme] .ev-panel-meta .badge.badge-before { color: rgb(106, 109, 113); }   /* 1.91:1  "Before" */
html[data-theme] .restr-result-center .restr-result-delta-lbl { color: rgb(107, 108, 117); }   /* 1.93:1  "Relative ROAS difference" */
html[data-theme] .ev-delta .ev-delta-lbl { color: rgb(108, 108, 111); opacity: 1; }   /* 1.98:1  "Relative difference" */
html[data-theme] .appsumm-perf-table .appsumm-tbl-note { color: rgb(111, 111, 114); opacity: 1; }   /* 2.01:1  "All performance data sourc" */
html[data-theme] .cs-mid-hook .cs-mid-hook-link { color: rgb(130, 108, 73); }   /* 2.02:1  "The Growth Diagnostic is d" */
html[data-theme] .restr-before .restr-before-roas { color: rgb(113, 116, 120); }   /* 2.04:1  "4.79× ROAS · 2024" */
html[data-theme] .restr-rail-step .restr-rail-label { color: rgb(110, 111, 121); }   /* 2.04:1  "AUDIT" */
html[data-theme] .restr-role .restr-role-num { color: rgb(114, 115, 124); }   /* 2.06:1  "Role 01" */
html[data-theme] .ev-header .ev-eyebrow { color: rgb(108, 108, 117); }   /* 2.07:1  "Documented Account Compari" */
html[data-theme] .appsumm-tbl-row.is-roas-row .appsumm-td.is-roas-before { color: rgb(108, 108, 117); }   /* 2.07:1  "4.79×" */
html[data-theme] .restr-header .restr-eyebrow { color: rgb(111, 111, 119); }   /* 2.08:1  "Account Restructure" */
html[data-theme] .appsumm-header .appsumm-eyebrow { color: rgb(111, 111, 119); }   /* 2.08:1  "Documented Management Peri" */
html[data-theme] .appsumm-tbl-row .appsumm-td.is-before { color: rgb(111, 111, 119); }   /* 2.08:1  "AU$409K" */
html[data-theme] .ev-inner .ev-note { color: rgb(108, 108, 111); opacity: 1; }   /* 2.09:1  "Campaign names withheld un" */
html[data-theme] .ev-panel-meta .badge.badge-after { color: rgb(130, 105, 65); }   /* 2.11:1  "After" */
html[data-theme] .appsumm-tbl-head .appsumm-th { color: rgb(108, 108, 111); opacity: 1; }   /* 2.16:1  "Metric" */
html[data-theme] .restr-result-block.is-before .restr-result-period-lbl { color: rgb(107, 108, 119); }   /* 2.2:1  "Previous Documented Period" */
html[data-theme] .restr-result-block.is-after .restr-result-period-lbl { color: rgb(107, 108, 119); }   /* 2.2:1  "Subsequent Documented Peri" */
html[data-theme] .restr-result-block.is-before .restr-result-date { color: rgb(107, 108, 120); }   /* 2.38:1  "Jan 1 – Dec 31, 2024" */
html[data-theme] .restr-result-block.is-after .restr-result-date { color: rgb(107, 108, 120); }   /* 2.38:1  "Jan 1, 2025 – May 31, 2026" */
html[data-theme] .restr-items .restr-item.is-dashed { color: rgb(113, 115, 125); opacity: 1; }   /* 2.46:1  "Performance Max" */
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] .restr-before-diag .restr-diag-item { color: rgb(115, 115, 118); opacity: 1; }   /* 2.71:1  "Unclear query coverage res" */
html[data-theme] .ev-period-block.is-after .ev-period-tag { color: rgb(108, 107, 122); }   /* 2.96:1  "Subsequent Period" */
html[data-theme] .ev-period-block.is-after .ev-period-sublbl { color: rgb(108, 107, 122); }   /* 2.96:1  "Blended ROAS" */
html[data-theme] .cs-author-id-text .cs-author-org { color: rgb(186, 72, 34); }   /* 3.06:1  "MESAscale" */
html[data-theme] .restr-role-controls li { color: rgb(115, 115, 120); opacity: 1; }   /* 3.34:1  "Exact and phrase targeting" */
html[data-theme] .restr-role .restr-role-purpose { color: rgb(112, 114, 137); }   /* 3.98:1  "Capture and protect demons" */
html[data-theme] .ev-period-block.is-after .ev-period-mgmt { color: rgb(108, 106, 128); }   /* 4.02:1  "MESAscale management" */
