diff --git a/.okf/build/index.md b/.okf/build/index.md
index a885217bf..21fed65fa 100644
--- a/.okf/build/index.md
+++ b/.okf/build/index.md
@@ -1,7 +1,7 @@
# Build & Test
* [Hugo build pipeline](hugo-build.md) - bin/hugo-build with the 8 course validators; also the PurgeCSS cold-start race and the minified-unquoted-attribute audit-tool trap
-* [Test gates](test-gates.md) - the local suites, when each is a commit blocker, the 0.0001 default tolerance, the SECTION_CONFIGS shield, why a green run never refreshes a baseline, and why below-fold content is invisible at any tolerance, bin/record-baselines for accepting only the baselines you meant to move, and why a deleted source file still serves from every local _dest/ tree, plus the NULL CHANGE - a diff that passes every gate and alters nothing - and what `okf_validate` actually guards (shape, not truth; error-only conformance) with the two-spec trap
+* [Test gates](test-gates.md) - the local suites, when each is a commit blocker, the 0.0001 default tolerance, why the SECTION_CONFIGS shield was deleted and what measuring it cost, why a green run never refreshes a baseline, and why below-fold content is invisible at any tolerance, bin/record-baselines for accepting only the baselines you meant to move, and why a deleted source file still serves from every local _dest/ tree, plus the NULL CHANGE - a diff that passes every gate and alters nothing - and what `okf_validate` actually guards (shape, not truth; error-only conformance) with the two-spec trap
* [CI gates](ci-gates.md) - what GitHub Actions enforces: build, unit, path-scoped link check (visual regression is report-only), and what gates a PR never sees
* [Template PDFs](pdf-templates.md) - regenerating the downloadable course PDFs
* [Classes only on <th> get purged](hugo-stats-th-classes.md) - Hugo 0.165 writeStats records no class attrs on `
`, so PurgeCSS deletes those rules from the production bundle while dev builds look fine and the visual gate stays green; also two sibling false-greens on the /next/ rail (site-scripts in a landing baseof, computed `resources.Get` paths defeating the orphan guard)
diff --git a/.okf/build/test-gates.md b/.okf/build/test-gates.md
index 8f4c4b123..e3a1f34f1 100644
--- a/.okf/build/test-gates.md
+++ b/.okf/build/test-gates.md
@@ -88,32 +88,39 @@ genuinely new features**. This is the policy for what you ACCEPT, distinct from
the mechanical default that decides whether the suite even reports a diff.
That default is **0.0001** (`DEFAULT_SCREENSHOT_CONFIG`,
-`test/support/screenshot_section_config.rb:29`), lowered from 0.02 on 2026-08-21.
+`test/application_system_test_case.rb`), lowered from 0.02 on 2026-08-21.
Both halves still hold: the accept-policy is unchanged, and individual calls
may still pin their own tolerance (~30 do, mostly 0.03 - e.g.
`test/system/blog_special_content_test.rb:136`), which the default never
overrides. What changed is the floor for calls that pin NOTHING.
-**`SECTION_CONFIGS` is now a deliberate temporary shield, not configuration.**
-Its 7 keys all held 0.02, which equalled the old default - so the table was a
-silent no-op for as long as it existed. Lowering the default made it
-load-bearing: it now holds ~22 section screenshots at the OLD tolerance while
-their drift is unmeasured. It is kept ON PURPOSE and deleted once those are
-measured and re-recorded. Its keys match the tail after `/_`, which is easy to
-misread: `services/_technologies` hits the `technologies` key (0.02), while
-`services/_testimonials-header` does NOT hit `testimonials` and gets the
-default - one string, not a prefix. Both the table and the rule live in
-`test/support/screenshot_section_config.rb`, apart from
-`ApplicationSystemTestCase` so they can be unit-tested without booting Hugo,
-Capybara, or that file's dirty-fixtures `abort`; the near-miss above is pinned
-in `test/unit/screenshot_section_config_test.rb`.
+**`SECTION_CONFIGS` is GONE (deleted 2026-08-21), and its exit condition was
+met by measurement, not by judgement.** It existed for one day as a temporary
+shield holding ~22 section screenshots at the old 0.02 while their drift was
+unmeasured. Measured on the full macOS system suite, both sides in the same
+environment: **shield in place 48 failing screenshots, shield emptied 50** -
+a cost of exactly **+2**, `desktop/services/_use-cases` (0.017498) and
+`desktop/services/_technologies` (0.013838). Both were then classified and
+re-recorded, so the table was deleted along with `screenshot_config_for`,
+`extract_section_key`, `test/support/screenshot_section_config.rb` and its
+unit test. `DEFAULT_SCREENSHOT_CONFIG` survives as a plain constant on
+`ApplicationSystemTestCase`; there is no per-section tolerance table any more,
+and a call that needs slack pins its own tolerance.
+
+The deleted table's keys matched the tail after `/_`, which mattered because
+it was easy to misread: `services/_technologies` hit the `technologies` key
+(0.02) while `services/_testimonials-header` did NOT hit `testimonials` and
+got the default - one string, not a prefix. That subtlety is only recorded
+here now; nothing in the tree implements it.
Why 0.0001: on a 1920x1080 capture, 0.02 means ~41,472 pixels must differ
before the assertion fails. A one-cell copy edit measures 0.0004 (844 px), so
the gate was blind to it by 50x - and passed, which is worse than failing
(see the fossilization bullet below). Measured run-to-run noise on a static
-page is 0.0, so the floor only has to clear zero; 0.0001 (~207 px) fails that
-copy edit and goes green again when it is reverted. The noise claim is
+page is ~1e-6, not 0 (three runs of `services/_technologies`: 0.013838252,
+0.013838252, 0.013837770 - about 2 px of 2,073,600), so the floor has to clear
+that; 0.0001 (~207 px) sits 100x above it, fails that copy edit, and goes green
+again when it is reverted. The noise claim is
checkable without re-running the copy edit: two independent runs of the same
test reported difference_levels identical to 16 decimal places (0.6893909143518518
for `services/_footer` every time), and 2 of the 7 screenshots stayed GREEN at
@@ -141,8 +148,28 @@ shield deletion, and they are exactly the two whose names happen to hit a
SECTION_CONFIGS key. The two changes look like one line and one dead constant,
but they move different screenshots.
-All of these are the #540 dark-surface recolour: real stale-baseline
-detections, not machine drift, and not caused by the tolerance change.
+All are real stale-baseline detections, not machine drift, and none is caused
+by the tolerance change.
+
+**Correction (2026-08-21, from the re-record that measured them):** an earlier
+version of this section attributed all five to the #540 dark-surface recolour.
+Only the two big ones are. `_footer` and `_cta-contact_us` are #540
+(`rgb(0,0,0)` -> `rgb(20,17,15)` is 97-99% of their changed pixels). The three
+small ones - `_testimonials-header`, `_use-cases`, `_technologies` - contain
+**0.13% or less** of that transition. They are a **1-pixel vertical offset**
+from #528's eyebrow consolidation, which touched `services-critical.css` and
+`content-block.css` and re-recorded only the two sections that exceeded 0.02;
+everything below the eyebrow on /services/ shifted 1px, passed under the old
+default, and fossilized. Measured, not inferred: realigning baseline to
+candidate by one pixel drops the residual to **exactly 0.0000 in several
+bands** and collapses the non-blend suspect count by orders of magnitude
+(`blog/index/_pagination`: 32,652 px at dy=0 -> 106 at dy=-1). It does NOT
+reach zero page-wide - a sub-pixel shift re-rasterizes glyphs rather than
+translating them, so `services/_use-cases` still differs in 22,895 px after
+the best realignment. Content is identical on inspection; position moved. The
+lesson is the one this file already teaches - a plausible cause that matches
+the loudest diffs will happily absorb the quiet ones that have a different
+cause entirely.
# Below the fold is invisible to the gate at ANY tolerance
@@ -208,6 +235,24 @@ Minitest under `test/`, driven by `Rakefile` (`Rake::TestTask`).
frontmatter is set, and adds it to the ratchet. The script self-reports slack
(`post-visuals: floor is loose, lower FLOOR to N`) - obey it: `FLOOR` dropped
78 -> 72 on 2026-08-20 on the script's own prompt.
+- **Screen a CI re-record with the gate's own instrument** (2026-08-21).
+ `FORCE_SCREENSHOT_UPDATE` rewrites every baseline, so a CI record commit is
+ much larger than the real change set - the 2026-08-21 Linux record touched
+ 83 files. Do not screen it by eye or by file size. Compute the libvips
+ **dE00 fraction above `perceptual_threshold = 2.0`** (what
+ `difference_level` actually measures) for each file and compare against the
+ 0.0001 default: files above it would FAIL the gate, so the rewrite is real
+ and dropping them leaves CI red; files at exactly 0 are encoder churn and
+ should be reverted. That split was 77 keep / 6 drop, and it needs no
+ judgement call.
+
+ **Neither OS baseline set is a subset of the other**, so never infer one
+ from the other. Earlier PRs re-recorded only the OS they ran on: #528
+ committed `macos/mobile/services.png` and left `linux/mobile/services.png`
+ stale (still carrying the shift), while `linux/.../inline_style_post` was
+ already current from a post-#520 CI record when macOS was 25% stale. The
+ Linux record here was legitimately BROADER than the macOS one (77 vs 50).
+
- **`FORCE_SCREENSHOT_UPDATE=1` re-records EVERYTHING** (2026-08-14). On
`bin/dtest` it also disables the `git checkout -- .../linux` guard that
normally discards sub-tolerance Rosetta drift, so a run rewrites all 45
@@ -271,7 +316,7 @@ Minitest under `test/`, driven by `Rakefile` (`Rake::TestTask`).
record: 356 runs, 6329 assertions, 0 failures (run 32347402944). Note the
governing tolerance for these is **0.03**, set per-call at
`test/system/blog_special_content_test.rb:136` - NOT the
- `DEFAULT_SCREENSHOT_CONFIG` in `test/support/screenshot_section_config.rb:29`,
+ `DEFAULT_SCREENSHOT_CONFIG` in `test/application_system_test_case.rb`,
which only applies when a call omits an explicit tolerance.
- **Content-only diffs skip the visual suites entirely** (Paul 2026-07-31).
diff --git a/.okf/log.md b/.okf/log.md
index 4bcb6dca0..68b716737 100644
--- a/.okf/log.md
+++ b/.okf/log.md
@@ -66,6 +66,88 @@ set BASE_URL or the browser silently loads the LIVE site's CSS. The shared
mobile table-clip defect (all three pilots, column 2 off-edge without
affordance) is deliberately deferred to the winner's graft round - fixing it
three times buys nothing.
+## 2026-08-21 - the macOS suite is green again: 50 baselines re-recorded, and the shield deleted on a measurement
+
+The macOS visual suite had been red on master since #540. It is green now:
+**79 runs, 218 assertions, 0 failures; 134 screenshots compared, no failures.**
+
+**What was stale, and why.** Two mechanics compose into fossilization: a
+capture overwrites the baseline PNG, then a PASSING run restores the git-HEAD
+image back over it. So any change small enough to pass leaves the baseline
+showing the OLD render, permanently. #540 was large enough to FAIL and simply
+was not re-recorded; #520 and #528 were not, and had been accumulating quietly
+under the old 0.02 default. Lowering the default to 0.0001 (#560) is what
+finally surfaced the quiet ones.
+
+**50 baselines re-recorded, every one classified before it was accepted** -
+by baseline-vs-candidate pixel transitions, never by difference_level:
+
+| n | class | evidence |
+|---|---|---|
+| 42 | #540 dark-surface recolour | `rgb(0,0,0)` -> `rgb(20,17,15)` is 94-100% of changed px |
+| 3 | #520 `description` backfill | template renders it as a grey lead; rendered text matches the frontmatter string verbatim |
+| 2 | #552 course module eyebrow | ruby eyebrow above the H1 shifts the page down |
+| 3 | #528 eyebrow consolidation | 1px vertical offset; realigning by one pixel gives residual **exactly 0.0000** in several bands |
+
+The DOMINANT cause of every file is explained, so nothing was withheld as a
+suspected regression. Independent review (opus, own instruments, exact
+transition count over all 50) reproduced the 42/3/2/3 split and agreed
+file-by-file. It also found what the classification does not name: three files
+carry a SECONDARY 1px displacement on top of the recolour, and two mobile files
+carry #540's sibling `--ruby-on-ink` token change. All position-or-token only,
+content identical - which is why no baseline is wrong, and why "zero
+unexplained" is the wrong phrase for "every dominant cause identified".
+
+**`SECTION_CONFIGS` is deleted, on a measurement rather than a judgement.**
+Its stated exit condition was "delete once the shielded screenshots are
+measured and re-recorded", so it was measured both ways in the same
+environment: **shield in place 48 failing screenshots, shield emptied 50**.
+Cost of deletion: **+2**, both on /services/, both the #528 1px offset, both
+re-recorded. Gone with it: `screenshot_config_for`, `extract_section_key`,
+`test/support/screenshot_section_config.rb` and its unit test.
+`DEFAULT_SCREENSHOT_CONFIG` survives as a plain constant on
+`ApplicationSystemTestCase`.
+
+**A correction to this bundle, found by doing the work.** test-gates said all
+five failing `/services/` screenshots were the #540 recolour. Only two are;
+the three small ones carry **0.13% or less** of the black->ink transition and
+are #528's 1px shift instead. A plausible cause that fits the loudest diffs
+will absorb the quiet ones that have a different cause - which is why the
+transition histogram, not the difference_level, is the classifier.
+
+**And one instrument error, caught by this bundle's own rule.** The first
+transition script loaded each baseline from a reused temp filename; libvips
+caches operations by filename, so runs 2..n silently re-compared image 1. It
+reported `services/_footer`'s baseline as a pure-black frame - a dramatic,
+completely false finding. A brightness audit over all 155 tracked macOS
+baselines refuted it in one pass (darkest mean 69/255, none below 1.0). The
+rewritten script carries a permanent control: an unchanged baseline
+(`desktop/vibe_code_rescue`) must report exactly 0 changed pixels, and does.
+"Test the instrument against a case where the answer is known" earned its
+keep here.
+
+**The Linux leg, and a screening rule worth reusing.** Recorded through CI on
+the branch (`gh workflow run test.yml --ref -f screenshots=true -f
+update-baselines=true`), never locally - local ARM Docker plants false drift.
+`FORCE_SCREENSHOT_UPDATE` rewrites EVERYTHING, so the bot commit touched 83
+files and had to be screened. Screen it with **the gate's own instrument**,
+not by eye or by file size: compute the libvips dE00 fraction above
+`perceptual_threshold = 2.0` for each file and compare it to the 0.0001
+default. That splits 83 into **77 keep** (would fail the gate, so the rewrite
+is real) and **6 drop** (difference_level exactly 0 - pure encoder churn).
+
+The Linux set being BROADER than the macOS one (77 vs 50) looks wrong and is
+not: earlier PRs re-recorded only one OS. #528 committed
+`macos/mobile/services.png` and left its `linux/` twin stale, so that file
+still carries a visible #528 shift on Linux; conversely
+`linux/.../inline_style_post` barely moves because Linux was re-recorded after
+#520 while macOS was 25% stale. **Neither OS baseline set is a subset of the
+other** - do not reason about one from the other.
+
+Run-to-run noise, measured across three runs of `services/_technologies`:
+0.013838252, 0.013838252, 0.013837770 - about **2 px of 2,073,600** (~1e-6),
+comfortably under the 0.0001 floor. The earlier claim that noise is exactly
+0.0 was very nearly right and is now stated as what was actually observed.
## 2026-08-21 - register pilot B, and the two ways a second pilot breaks the first pilot's gates
diff --git a/docs/20-29-testing-qa/20.10-test-coverage-gap-analysis-reference.md b/docs/20-29-testing-qa/20.10-test-coverage-gap-analysis-reference.md
index 404ee8940..265491a95 100644
--- a/docs/20-29-testing-qa/20.10-test-coverage-gap-analysis-reference.md
+++ b/docs/20-29-testing-qa/20.10-test-coverage-gap-analysis-reference.md
@@ -427,8 +427,10 @@ with any content ratchet - assert structure, per 20.05.
test holding the same list.
4. **FIXED 2026-08-21 — screenshot tolerance was 2%**, so a four-word link
change (~0.24% of frame) passed and never re-recorded the baseline. Default
- is now 0.0001 (`test/support/screenshot_section_config.rb`); mechanism,
- remaining blind axes, and the section-shield are in `.okf/build/test-gates.md`.
+ is now 0.0001 (`test/application_system_test_case.rb`); mechanism and the
+ remaining blind axes are in `.okf/build/test-gates.md`. The section-tolerance
+ shield that briefly held ~22 screenshots at the old default is gone - its
+ drift was measured and re-recorded on 2026-08-21.
5. **`content/clients/**` is not covered** by the marketing ratchet and still
carries "to the next level" in two case-study excerpts. The exclusion is
commented in the test rather than implied.
diff --git a/test/application_system_test_case.rb b/test/application_system_test_case.rb
index afab3a1cc..6e4bea31e 100644
--- a/test/application_system_test_case.rb
+++ b/test/application_system_test_case.rb
@@ -10,7 +10,6 @@
require "support/setup_capybara"
require "support/setup_snap_diff"
require "support/hugo_helpers"
-require "support/screenshot_section_config"
# Every system-test run REWRITES the committed baseline PNGs in place
# (snap_diff design: working tree = candidate, git HEAD = baseline). Starting
@@ -74,7 +73,13 @@ class ApplicationSystemTestCase < Minitest::Test
include CapybaraScreenshotDiff::Minitest::Assertions
include NavigationHelpers
- include ScreenshotSectionConfig
+ # Floor for calls that pin no tolerance of their own. 0.02 let ~41,472 pixels
+ # of a 1920x1080 frame change before failing, so real diffs passed green and
+ # the baseline fossilized. Measured run-to-run noise is ~1e-6 (three runs of
+ # services/_technologies: 0.013838252 twice, then 0.013837770 - about 2 px of
+ # 2,073,600), so the floor only has to clear that: 0.0001 is ~207 px. Calls
+ # needing real slack (font-swap, animation) still pin their own tolerance.
+ DEFAULT_SCREENSHOT_CONFIG = {tolerance: 0.0001}.freeze
private
@@ -96,8 +101,7 @@ def assert_screenshot(name, **options)
# resolves instantly once fonts are cached, so warm sessions pay ~0.
page.evaluate_async_script("var done = arguments[0]; document.fonts.ready.then(function() { done(true) })")
- section_config = screenshot_config_for(name)
- final_options = section_config.merge(options)
+ final_options = DEFAULT_SCREENSHOT_CONFIG.merge(options)
# skip_area CSS selectors resolve via Capybara `all(sel, visible: true)`
# INSIDE the gem, which waits default_max_wait_time (5s) for EVERY selector
diff --git a/test/fixtures/screenshots/linux/desktop/404.png b/test/fixtures/screenshots/linux/desktop/404.png
index 5f119f610..9d1686f86 100644
Binary files a/test/fixtures/screenshots/linux/desktop/404.png and b/test/fixtures/screenshots/linux/desktop/404.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/about_page/_achievements.png b/test/fixtures/screenshots/linux/desktop/about_page/_achievements.png
index 154e79310..cf917e076 100644
Binary files a/test/fixtures/screenshots/linux/desktop/about_page/_achievements.png and b/test/fixtures/screenshots/linux/desktop/about_page/_achievements.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/about_page/_cta-contact_us.png b/test/fixtures/screenshots/linux/desktop/about_page/_cta-contact_us.png
index 53bba2373..b7ab13e48 100644
Binary files a/test/fixtures/screenshots/linux/desktop/about_page/_cta-contact_us.png and b/test/fixtures/screenshots/linux/desktop/about_page/_cta-contact_us.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/about_page/_footer.png b/test/fixtures/screenshots/linux/desktop/about_page/_footer.png
index a40949094..3d45a1c5e 100644
Binary files a/test/fixtures/screenshots/linux/desktop/about_page/_footer.png and b/test/fixtures/screenshots/linux/desktop/about_page/_footer.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/about_page/_missions.png b/test/fixtures/screenshots/linux/desktop/about_page/_missions.png
index ac6499dcd..42cbd00ba 100644
Binary files a/test/fixtures/screenshots/linux/desktop/about_page/_missions.png and b/test/fixtures/screenshots/linux/desktop/about_page/_missions.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/about_page/_values.png b/test/fixtures/screenshots/linux/desktop/about_page/_values.png
index 15fab1eeb..3528b1013 100644
Binary files a/test/fixtures/screenshots/linux/desktop/about_page/_values.png and b/test/fixtures/screenshots/linux/desktop/about_page/_values.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/blog/index.png b/test/fixtures/screenshots/linux/desktop/blog/index.png
index 9a8fd239e..9fa120243 100644
Binary files a/test/fixtures/screenshots/linux/desktop/blog/index.png and b/test/fixtures/screenshots/linux/desktop/blog/index.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/blog/index/_pagination.png b/test/fixtures/screenshots/linux/desktop/blog/index/_pagination.png
index 2a0f16b3d..f497b5210 100644
Binary files a/test/fixtures/screenshots/linux/desktop/blog/index/_pagination.png and b/test/fixtures/screenshots/linux/desktop/blog/index/_pagination.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/blog/special/codeblocks/bare.png b/test/fixtures/screenshots/linux/desktop/blog/special/codeblocks/bare.png
index a9a05f8f5..b7a84ce62 100644
Binary files a/test/fixtures/screenshots/linux/desktop/blog/special/codeblocks/bare.png and b/test/fixtures/screenshots/linux/desktop/blog/special/codeblocks/bare.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/blog/special/codeblocks/indented.png b/test/fixtures/screenshots/linux/desktop/blog/special/codeblocks/indented.png
index 6320b1144..7413ec7ce 100644
Binary files a/test/fixtures/screenshots/linux/desktop/blog/special/codeblocks/indented.png and b/test/fixtures/screenshots/linux/desktop/blog/special/codeblocks/indented.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/blog/special/inline_style_post.png b/test/fixtures/screenshots/linux/desktop/blog/special/inline_style_post.png
index 58fe2ecd0..ba1d3cdd0 100644
Binary files a/test/fixtures/screenshots/linux/desktop/blog/special/inline_style_post.png and b/test/fixtures/screenshots/linux/desktop/blog/special/inline_style_post.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/blog/tag.png b/test/fixtures/screenshots/linux/desktop/blog/tag.png
index 3bf7cefd2..fba201cc1 100644
Binary files a/test/fixtures/screenshots/linux/desktop/blog/tag.png and b/test/fixtures/screenshots/linux/desktop/blog/tag.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/careers.png b/test/fixtures/screenshots/linux/desktop/careers.png
index 306318cdf..983cebf40 100644
Binary files a/test/fixtures/screenshots/linux/desktop/careers.png and b/test/fixtures/screenshots/linux/desktop/careers.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/careers/_footer.png b/test/fixtures/screenshots/linux/desktop/careers/_footer.png
index 0c3b6f950..27769fe83 100644
Binary files a/test/fixtures/screenshots/linux/desktop/careers/_footer.png and b/test/fixtures/screenshots/linux/desktop/careers/_footer.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/careers/_newsletter.png b/test/fixtures/screenshots/linux/desktop/careers/_newsletter.png
index 0c3b6f950..27769fe83 100644
Binary files a/test/fixtures/screenshots/linux/desktop/careers/_newsletter.png and b/test/fixtures/screenshots/linux/desktop/careers/_newsletter.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/careers/_offers.png b/test/fixtures/screenshots/linux/desktop/careers/_offers.png
index 864836564..c121f5008 100644
Binary files a/test/fixtures/screenshots/linux/desktop/careers/_offers.png and b/test/fixtures/screenshots/linux/desktop/careers/_offers.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/careers/junior-ruby-on-rails-developer.png b/test/fixtures/screenshots/linux/desktop/careers/junior-ruby-on-rails-developer.png
index e39e02ad2..6c059685a 100644
Binary files a/test/fixtures/screenshots/linux/desktop/careers/junior-ruby-on-rails-developer.png and b/test/fixtures/screenshots/linux/desktop/careers/junior-ruby-on-rails-developer.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/careers/junior-ruby-on-rails-developer/_footer.png b/test/fixtures/screenshots/linux/desktop/careers/junior-ruby-on-rails-developer/_footer.png
index 8eecd83b2..ffa580a77 100644
Binary files a/test/fixtures/screenshots/linux/desktop/careers/junior-ruby-on-rails-developer/_footer.png and b/test/fixtures/screenshots/linux/desktop/careers/junior-ruby-on-rails-developer/_footer.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/clients.png b/test/fixtures/screenshots/linux/desktop/clients.png
index f8f335ecc..407692aa3 100644
Binary files a/test/fixtures/screenshots/linux/desktop/clients.png and b/test/fixtures/screenshots/linux/desktop/clients.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/clients/_cta-contact_us.png b/test/fixtures/screenshots/linux/desktop/clients/_cta-contact_us.png
index 4cfb19478..3456c2626 100644
Binary files a/test/fixtures/screenshots/linux/desktop/clients/_cta-contact_us.png and b/test/fixtures/screenshots/linux/desktop/clients/_cta-contact_us.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/clients/_footer.png b/test/fixtures/screenshots/linux/desktop/clients/_footer.png
index 5b5bc757c..d43f78edc 100644
Binary files a/test/fixtures/screenshots/linux/desktop/clients/_footer.png and b/test/fixtures/screenshots/linux/desktop/clients/_footer.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/clients/_real-clients.png b/test/fixtures/screenshots/linux/desktop/clients/_real-clients.png
index aa5ff20b5..33a2f5d21 100644
Binary files a/test/fixtures/screenshots/linux/desktop/clients/_real-clients.png and b/test/fixtures/screenshots/linux/desktop/clients/_real-clients.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/clients/_testimonials.png b/test/fixtures/screenshots/linux/desktop/clients/_testimonials.png
index dea1f67d5..277bc025f 100644
Binary files a/test/fixtures/screenshots/linux/desktop/clients/_testimonials.png and b/test/fixtures/screenshots/linux/desktop/clients/_testimonials.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/clients/agent-inbox/_cta-contact_us.png b/test/fixtures/screenshots/linux/desktop/clients/agent-inbox/_cta-contact_us.png
index ca6fc5a5b..d6ab3d5a5 100644
Binary files a/test/fixtures/screenshots/linux/desktop/clients/agent-inbox/_cta-contact_us.png and b/test/fixtures/screenshots/linux/desktop/clients/agent-inbox/_cta-contact_us.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/clients/agent-inbox/_footer.png b/test/fixtures/screenshots/linux/desktop/clients/agent-inbox/_footer.png
index e85dd1abc..41f52de9c 100644
Binary files a/test/fixtures/screenshots/linux/desktop/clients/agent-inbox/_footer.png and b/test/fixtures/screenshots/linux/desktop/clients/agent-inbox/_footer.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/contact_us.png b/test/fixtures/screenshots/linux/desktop/contact_us.png
index 0f928381f..54ffee14f 100644
Binary files a/test/fixtures/screenshots/linux/desktop/contact_us.png and b/test/fixtures/screenshots/linux/desktop/contact_us.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/free_consultation.png b/test/fixtures/screenshots/linux/desktop/free_consultation.png
index 2fd7ff1a9..1dabec67e 100644
Binary files a/test/fixtures/screenshots/linux/desktop/free_consultation.png and b/test/fixtures/screenshots/linux/desktop/free_consultation.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/friday_report.png b/test/fixtures/screenshots/linux/desktop/friday_report.png
new file mode 100644
index 000000000..e4f3171f3
Binary files /dev/null and b/test/fixtures/screenshots/linux/desktop/friday_report.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/homepage/_clients.png b/test/fixtures/screenshots/linux/desktop/homepage/_clients.png
index 2193bc3d4..aae171ec4 100644
Binary files a/test/fixtures/screenshots/linux/desktop/homepage/_clients.png and b/test/fixtures/screenshots/linux/desktop/homepage/_clients.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/homepage/_cta-contact_us.png b/test/fixtures/screenshots/linux/desktop/homepage/_cta-contact_us.png
index b4a57427a..5649bc7d3 100644
Binary files a/test/fixtures/screenshots/linux/desktop/homepage/_cta-contact_us.png and b/test/fixtures/screenshots/linux/desktop/homepage/_cta-contact_us.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/homepage/_footer.png b/test/fixtures/screenshots/linux/desktop/homepage/_footer.png
index d4687375f..7920b919a 100644
Binary files a/test/fixtures/screenshots/linux/desktop/homepage/_footer.png and b/test/fixtures/screenshots/linux/desktop/homepage/_footer.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/homepage/_services.png b/test/fixtures/screenshots/linux/desktop/homepage/_services.png
index d3ea1954a..7fafe7a52 100644
Binary files a/test/fixtures/screenshots/linux/desktop/homepage/_services.png and b/test/fixtures/screenshots/linux/desktop/homepage/_services.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/homepage/_technologies.png b/test/fixtures/screenshots/linux/desktop/homepage/_technologies.png
index fddd79f91..56428600b 100644
Binary files a/test/fixtures/screenshots/linux/desktop/homepage/_technologies.png and b/test/fixtures/screenshots/linux/desktop/homepage/_technologies.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/next/editorial.png b/test/fixtures/screenshots/linux/desktop/next/editorial.png
new file mode 100644
index 000000000..82ae0fb9f
Binary files /dev/null and b/test/fixtures/screenshots/linux/desktop/next/editorial.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/next/pilot.png b/test/fixtures/screenshots/linux/desktop/next/pilot.png
index 9eab6881d..c224b9f5a 100644
Binary files a/test/fixtures/screenshots/linux/desktop/next/pilot.png and b/test/fixtures/screenshots/linux/desktop/next/pilot.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/next/precision.png b/test/fixtures/screenshots/linux/desktop/next/precision.png
new file mode 100644
index 000000000..696f4fda8
Binary files /dev/null and b/test/fixtures/screenshots/linux/desktop/next/precision.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/next/rescue-room.png b/test/fixtures/screenshots/linux/desktop/next/rescue-room.png
new file mode 100644
index 000000000..e9cf4cfac
Binary files /dev/null and b/test/fixtures/screenshots/linux/desktop/next/rescue-room.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/privacy-policy.png b/test/fixtures/screenshots/linux/desktop/privacy-policy.png
index c8b453c26..9094a862d 100644
Binary files a/test/fixtures/screenshots/linux/desktop/privacy-policy.png and b/test/fixtures/screenshots/linux/desktop/privacy-policy.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/services/_cta-contact_us.png b/test/fixtures/screenshots/linux/desktop/services/_cta-contact_us.png
index 69aa6772b..e5f406d88 100644
Binary files a/test/fixtures/screenshots/linux/desktop/services/_cta-contact_us.png and b/test/fixtures/screenshots/linux/desktop/services/_cta-contact_us.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/services/_footer.png b/test/fixtures/screenshots/linux/desktop/services/_footer.png
index b4296b113..721d6b73c 100644
Binary files a/test/fixtures/screenshots/linux/desktop/services/_footer.png and b/test/fixtures/screenshots/linux/desktop/services/_footer.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/services/_overview.png b/test/fixtures/screenshots/linux/desktop/services/_overview.png
index ac8cb1763..b9b2dfb38 100644
Binary files a/test/fixtures/screenshots/linux/desktop/services/_overview.png and b/test/fixtures/screenshots/linux/desktop/services/_overview.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/services/_services.png b/test/fixtures/screenshots/linux/desktop/services/_services.png
index d18be40df..463c7f0d5 100644
Binary files a/test/fixtures/screenshots/linux/desktop/services/_services.png and b/test/fixtures/screenshots/linux/desktop/services/_services.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/services/_technologies.png b/test/fixtures/screenshots/linux/desktop/services/_technologies.png
index 8e408bf8b..cc3e4f3b7 100644
Binary files a/test/fixtures/screenshots/linux/desktop/services/_technologies.png and b/test/fixtures/screenshots/linux/desktop/services/_technologies.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/services/_testimonials-header.png b/test/fixtures/screenshots/linux/desktop/services/_testimonials-header.png
index 4759b98d8..99117ebe5 100644
Binary files a/test/fixtures/screenshots/linux/desktop/services/_testimonials-header.png and b/test/fixtures/screenshots/linux/desktop/services/_testimonials-header.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/services/_use-cases.png b/test/fixtures/screenshots/linux/desktop/services/_use-cases.png
index 232caf428..2fc40b00b 100644
Binary files a/test/fixtures/screenshots/linux/desktop/services/_use-cases.png and b/test/fixtures/screenshots/linux/desktop/services/_use-cases.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/services/app_web_development.png b/test/fixtures/screenshots/linux/desktop/services/app_web_development.png
index 9ff2e0360..3015ece74 100644
Binary files a/test/fixtures/screenshots/linux/desktop/services/app_web_development.png and b/test/fixtures/screenshots/linux/desktop/services/app_web_development.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/services/app_web_development_hero.png b/test/fixtures/screenshots/linux/desktop/services/app_web_development_hero.png
index 95a5369bd..3015ece74 100644
Binary files a/test/fixtures/screenshots/linux/desktop/services/app_web_development_hero.png and b/test/fixtures/screenshots/linux/desktop/services/app_web_development_hero.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/services/fractional-cto/_cta-contact_us.png b/test/fixtures/screenshots/linux/desktop/services/fractional-cto/_cta-contact_us.png
index eae893993..fed004e7e 100644
Binary files a/test/fixtures/screenshots/linux/desktop/services/fractional-cto/_cta-contact_us.png and b/test/fixtures/screenshots/linux/desktop/services/fractional-cto/_cta-contact_us.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/services/fractional-cto/_footer.png b/test/fixtures/screenshots/linux/desktop/services/fractional-cto/_footer.png
index 05ddbda7c..99280fefe 100644
Binary files a/test/fixtures/screenshots/linux/desktop/services/fractional-cto/_footer.png and b/test/fixtures/screenshots/linux/desktop/services/fractional-cto/_footer.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/services/fractional-cto/_overview.png b/test/fixtures/screenshots/linux/desktop/services/fractional-cto/_overview.png
index a3cc4fe90..fe6005de2 100644
Binary files a/test/fixtures/screenshots/linux/desktop/services/fractional-cto/_overview.png and b/test/fixtures/screenshots/linux/desktop/services/fractional-cto/_overview.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/services/fractional-cto/_testimonials.png b/test/fixtures/screenshots/linux/desktop/services/fractional-cto/_testimonials.png
index e5dc8102f..61fdf8ca7 100644
Binary files a/test/fixtures/screenshots/linux/desktop/services/fractional-cto/_testimonials.png and b/test/fixtures/screenshots/linux/desktop/services/fractional-cto/_testimonials.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/services/fractional_cto.png b/test/fixtures/screenshots/linux/desktop/services/fractional_cto.png
index 0855765c3..39c727a1e 100644
Binary files a/test/fixtures/screenshots/linux/desktop/services/fractional_cto.png and b/test/fixtures/screenshots/linux/desktop/services/fractional_cto.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/use-cases/_cta-contact_us.png b/test/fixtures/screenshots/linux/desktop/use-cases/_cta-contact_us.png
index c770b48c4..f54762f5b 100644
Binary files a/test/fixtures/screenshots/linux/desktop/use-cases/_cta-contact_us.png and b/test/fixtures/screenshots/linux/desktop/use-cases/_cta-contact_us.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/use-cases/_footer.png b/test/fixtures/screenshots/linux/desktop/use-cases/_footer.png
index 37029c303..8de084f7e 100644
Binary files a/test/fixtures/screenshots/linux/desktop/use-cases/_footer.png and b/test/fixtures/screenshots/linux/desktop/use-cases/_footer.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/use-cases/_overview.png b/test/fixtures/screenshots/linux/desktop/use-cases/_overview.png
index b2f3944d0..4ac9dede8 100644
Binary files a/test/fixtures/screenshots/linux/desktop/use-cases/_overview.png and b/test/fixtures/screenshots/linux/desktop/use-cases/_overview.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/use-cases/startup-mvp-prototyping-development/_cta-contact_us.png b/test/fixtures/screenshots/linux/desktop/use-cases/startup-mvp-prototyping-development/_cta-contact_us.png
index ee88f1ec7..131533809 100644
Binary files a/test/fixtures/screenshots/linux/desktop/use-cases/startup-mvp-prototyping-development/_cta-contact_us.png and b/test/fixtures/screenshots/linux/desktop/use-cases/startup-mvp-prototyping-development/_cta-contact_us.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/use-cases/startup-mvp-prototyping-development/_footer.png b/test/fixtures/screenshots/linux/desktop/use-cases/startup-mvp-prototyping-development/_footer.png
index e35eefcad..3b3aa8791 100644
Binary files a/test/fixtures/screenshots/linux/desktop/use-cases/startup-mvp-prototyping-development/_footer.png and b/test/fixtures/screenshots/linux/desktop/use-cases/startup-mvp-prototyping-development/_footer.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/use-cases/startup-mvp-prototyping-development/_overview.png b/test/fixtures/screenshots/linux/desktop/use-cases/startup-mvp-prototyping-development/_overview.png
index fe9b86f8b..5a2037609 100644
Binary files a/test/fixtures/screenshots/linux/desktop/use-cases/startup-mvp-prototyping-development/_overview.png and b/test/fixtures/screenshots/linux/desktop/use-cases/startup-mvp-prototyping-development/_overview.png differ
diff --git a/test/fixtures/screenshots/linux/desktop/use-cases/startup-mvp-prototyping-development/_solution.png b/test/fixtures/screenshots/linux/desktop/use-cases/startup-mvp-prototyping-development/_solution.png
index ebb1b976b..62224f8a4 100644
Binary files a/test/fixtures/screenshots/linux/desktop/use-cases/startup-mvp-prototyping-development/_solution.png and b/test/fixtures/screenshots/linux/desktop/use-cases/startup-mvp-prototyping-development/_solution.png differ
diff --git a/test/fixtures/screenshots/linux/mobile/about_page/achievements.png b/test/fixtures/screenshots/linux/mobile/about_page/achievements.png
index 699cf522b..1ad930ab2 100644
Binary files a/test/fixtures/screenshots/linux/mobile/about_page/achievements.png and b/test/fixtures/screenshots/linux/mobile/about_page/achievements.png differ
diff --git a/test/fixtures/screenshots/linux/mobile/about_page/values.png b/test/fixtures/screenshots/linux/mobile/about_page/values.png
index a6e73bbf0..73ac58adf 100644
Binary files a/test/fixtures/screenshots/linux/mobile/about_page/values.png and b/test/fixtures/screenshots/linux/mobile/about_page/values.png differ
diff --git a/test/fixtures/screenshots/linux/mobile/blog/index.png b/test/fixtures/screenshots/linux/mobile/blog/index.png
index 2d671f265..02258ed7a 100644
Binary files a/test/fixtures/screenshots/linux/mobile/blog/index.png and b/test/fixtures/screenshots/linux/mobile/blog/index.png differ
diff --git a/test/fixtures/screenshots/linux/mobile/blog/index/_pagination.png b/test/fixtures/screenshots/linux/mobile/blog/index/_pagination.png
index 2cced9afa..3d1feb720 100644
Binary files a/test/fixtures/screenshots/linux/mobile/blog/index/_pagination.png and b/test/fixtures/screenshots/linux/mobile/blog/index/_pagination.png differ
diff --git a/test/fixtures/screenshots/linux/mobile/blog/special/codeblocks/indented.png b/test/fixtures/screenshots/linux/mobile/blog/special/codeblocks/indented.png
index c55f239fd..09dcba82b 100644
Binary files a/test/fixtures/screenshots/linux/mobile/blog/special/codeblocks/indented.png and b/test/fixtures/screenshots/linux/mobile/blog/special/codeblocks/indented.png differ
diff --git a/test/fixtures/screenshots/linux/mobile/blog/special/mermaid_post.png b/test/fixtures/screenshots/linux/mobile/blog/special/mermaid_post.png
index cd6ebd871..42530bd91 100644
Binary files a/test/fixtures/screenshots/linux/mobile/blog/special/mermaid_post.png and b/test/fixtures/screenshots/linux/mobile/blog/special/mermaid_post.png differ
diff --git a/test/fixtures/screenshots/linux/mobile/blog/tag.png b/test/fixtures/screenshots/linux/mobile/blog/tag.png
index c43d75f15..2eb153dd6 100644
Binary files a/test/fixtures/screenshots/linux/mobile/blog/tag.png and b/test/fixtures/screenshots/linux/mobile/blog/tag.png differ
diff --git a/test/fixtures/screenshots/linux/mobile/clients.png b/test/fixtures/screenshots/linux/mobile/clients.png
index 1afd72c3e..abca7d3d9 100644
Binary files a/test/fixtures/screenshots/linux/mobile/clients.png and b/test/fixtures/screenshots/linux/mobile/clients.png differ
diff --git a/test/fixtures/screenshots/linux/mobile/free_consultation.png b/test/fixtures/screenshots/linux/mobile/free_consultation.png
index ff0836019..817d42d79 100644
Binary files a/test/fixtures/screenshots/linux/mobile/free_consultation.png and b/test/fixtures/screenshots/linux/mobile/free_consultation.png differ
diff --git a/test/fixtures/screenshots/linux/mobile/friday_report.png b/test/fixtures/screenshots/linux/mobile/friday_report.png
new file mode 100644
index 000000000..9ee72a334
Binary files /dev/null and b/test/fixtures/screenshots/linux/mobile/friday_report.png differ
diff --git a/test/fixtures/screenshots/linux/mobile/nav/hamburger_menu/services.png b/test/fixtures/screenshots/linux/mobile/nav/hamburger_menu/services.png
index 9c4c1dc43..8e6f69139 100644
Binary files a/test/fixtures/screenshots/linux/mobile/nav/hamburger_menu/services.png and b/test/fixtures/screenshots/linux/mobile/nav/hamburger_menu/services.png differ
diff --git a/test/fixtures/screenshots/linux/mobile/next/editorial.png b/test/fixtures/screenshots/linux/mobile/next/editorial.png
new file mode 100644
index 000000000..eb3bd6f0c
Binary files /dev/null and b/test/fixtures/screenshots/linux/mobile/next/editorial.png differ
diff --git a/test/fixtures/screenshots/linux/mobile/next/precision.png b/test/fixtures/screenshots/linux/mobile/next/precision.png
new file mode 100644
index 000000000..3c1baafd8
Binary files /dev/null and b/test/fixtures/screenshots/linux/mobile/next/precision.png differ
diff --git a/test/fixtures/screenshots/linux/mobile/next/rescue-room.png b/test/fixtures/screenshots/linux/mobile/next/rescue-room.png
new file mode 100644
index 000000000..1cfed3965
Binary files /dev/null and b/test/fixtures/screenshots/linux/mobile/next/rescue-room.png differ
diff --git a/test/fixtures/screenshots/linux/mobile/services.png b/test/fixtures/screenshots/linux/mobile/services.png
index ae97580ca..1842de5e4 100644
Binary files a/test/fixtures/screenshots/linux/mobile/services.png and b/test/fixtures/screenshots/linux/mobile/services.png differ
diff --git a/test/fixtures/screenshots/linux/mobile/services/fractional_cto.png b/test/fixtures/screenshots/linux/mobile/services/fractional_cto.png
index 51f10fdc0..9f00d74b0 100644
Binary files a/test/fixtures/screenshots/linux/mobile/services/fractional_cto.png and b/test/fixtures/screenshots/linux/mobile/services/fractional_cto.png differ
diff --git a/test/fixtures/screenshots/linux/mobile/use_cases/startup-mvp-prototyping-development.png b/test/fixtures/screenshots/linux/mobile/use_cases/startup-mvp-prototyping-development.png
index f043c8f81..711117685 100644
Binary files a/test/fixtures/screenshots/linux/mobile/use_cases/startup-mvp-prototyping-development.png and b/test/fixtures/screenshots/linux/mobile/use_cases/startup-mvp-prototyping-development.png differ
diff --git a/test/fixtures/screenshots/linux/mobile/vibe_code_rescue.png b/test/fixtures/screenshots/linux/mobile/vibe_code_rescue.png
index d28341f58..0e204d350 100644
Binary files a/test/fixtures/screenshots/linux/mobile/vibe_code_rescue.png and b/test/fixtures/screenshots/linux/mobile/vibe_code_rescue.png differ
diff --git a/test/fixtures/screenshots/macos/desktop/about_page/_achievements.png b/test/fixtures/screenshots/macos/desktop/about_page/_achievements.png
index e06e42dee..c6e166e87 100644
Binary files a/test/fixtures/screenshots/macos/desktop/about_page/_achievements.png and b/test/fixtures/screenshots/macos/desktop/about_page/_achievements.png differ
diff --git a/test/fixtures/screenshots/macos/desktop/about_page/_cta-contact_us.png b/test/fixtures/screenshots/macos/desktop/about_page/_cta-contact_us.png
index 89e6567d2..959ae7198 100644
Binary files a/test/fixtures/screenshots/macos/desktop/about_page/_cta-contact_us.png and b/test/fixtures/screenshots/macos/desktop/about_page/_cta-contact_us.png differ
diff --git a/test/fixtures/screenshots/macos/desktop/about_page/_footer.png b/test/fixtures/screenshots/macos/desktop/about_page/_footer.png
index beba24ebb..00bd6e828 100644
Binary files a/test/fixtures/screenshots/macos/desktop/about_page/_footer.png and b/test/fixtures/screenshots/macos/desktop/about_page/_footer.png differ
diff --git a/test/fixtures/screenshots/macos/desktop/about_page/_values.png b/test/fixtures/screenshots/macos/desktop/about_page/_values.png
index b5919ba27..7dffaf399 100644
Binary files a/test/fixtures/screenshots/macos/desktop/about_page/_values.png and b/test/fixtures/screenshots/macos/desktop/about_page/_values.png differ
diff --git a/test/fixtures/screenshots/macos/desktop/blog/index/_pagination.png b/test/fixtures/screenshots/macos/desktop/blog/index/_pagination.png
index 3685d17b3..e14405aed 100644
Binary files a/test/fixtures/screenshots/macos/desktop/blog/index/_pagination.png and b/test/fixtures/screenshots/macos/desktop/blog/index/_pagination.png differ
diff --git a/test/fixtures/screenshots/macos/desktop/blog/special/code_highlight_post.png b/test/fixtures/screenshots/macos/desktop/blog/special/code_highlight_post.png
index d4602c57d..3c2c34e3b 100644
Binary files a/test/fixtures/screenshots/macos/desktop/blog/special/code_highlight_post.png and b/test/fixtures/screenshots/macos/desktop/blog/special/code_highlight_post.png differ
diff --git a/test/fixtures/screenshots/macos/desktop/blog/special/codeblocks/bare.png b/test/fixtures/screenshots/macos/desktop/blog/special/codeblocks/bare.png
index d6578da07..2c59fe5b8 100644
Binary files a/test/fixtures/screenshots/macos/desktop/blog/special/codeblocks/bare.png and b/test/fixtures/screenshots/macos/desktop/blog/special/codeblocks/bare.png differ
diff --git a/test/fixtures/screenshots/macos/desktop/blog/special/codeblocks/indented.png b/test/fixtures/screenshots/macos/desktop/blog/special/codeblocks/indented.png
index 7259f9ab3..03540cbea 100644
Binary files a/test/fixtures/screenshots/macos/desktop/blog/special/codeblocks/indented.png and b/test/fixtures/screenshots/macos/desktop/blog/special/codeblocks/indented.png differ
diff --git a/test/fixtures/screenshots/macos/desktop/blog/special/inline_style_post.png b/test/fixtures/screenshots/macos/desktop/blog/special/inline_style_post.png
index b180e4971..fcefee41d 100644
Binary files a/test/fixtures/screenshots/macos/desktop/blog/special/inline_style_post.png and b/test/fixtures/screenshots/macos/desktop/blog/special/inline_style_post.png differ
diff --git a/test/fixtures/screenshots/macos/desktop/careers/_footer.png b/test/fixtures/screenshots/macos/desktop/careers/_footer.png
index 816332dfb..2a126c033 100644
Binary files a/test/fixtures/screenshots/macos/desktop/careers/_footer.png and b/test/fixtures/screenshots/macos/desktop/careers/_footer.png differ
diff --git a/test/fixtures/screenshots/macos/desktop/careers/_newsletter.png b/test/fixtures/screenshots/macos/desktop/careers/_newsletter.png
index 816332dfb..2a126c033 100644
Binary files a/test/fixtures/screenshots/macos/desktop/careers/_newsletter.png and b/test/fixtures/screenshots/macos/desktop/careers/_newsletter.png differ
diff --git a/test/fixtures/screenshots/macos/desktop/careers/_offers.png b/test/fixtures/screenshots/macos/desktop/careers/_offers.png
index 3666d5f52..0c0588748 100644
Binary files a/test/fixtures/screenshots/macos/desktop/careers/_offers.png and b/test/fixtures/screenshots/macos/desktop/careers/_offers.png differ
diff --git a/test/fixtures/screenshots/macos/desktop/careers/junior-ruby-on-rails-developer/_footer.png b/test/fixtures/screenshots/macos/desktop/careers/junior-ruby-on-rails-developer/_footer.png
index 4d373c384..fae4ba199 100644
Binary files a/test/fixtures/screenshots/macos/desktop/careers/junior-ruby-on-rails-developer/_footer.png and b/test/fixtures/screenshots/macos/desktop/careers/junior-ruby-on-rails-developer/_footer.png differ
diff --git a/test/fixtures/screenshots/macos/desktop/clients/_cta-contact_us.png b/test/fixtures/screenshots/macos/desktop/clients/_cta-contact_us.png
index 3d37728a3..9a138c0a4 100644
Binary files a/test/fixtures/screenshots/macos/desktop/clients/_cta-contact_us.png and b/test/fixtures/screenshots/macos/desktop/clients/_cta-contact_us.png differ
diff --git a/test/fixtures/screenshots/macos/desktop/clients/_footer.png b/test/fixtures/screenshots/macos/desktop/clients/_footer.png
index 7742e5e4d..55528f263 100644
Binary files a/test/fixtures/screenshots/macos/desktop/clients/_footer.png and b/test/fixtures/screenshots/macos/desktop/clients/_footer.png differ
diff --git a/test/fixtures/screenshots/macos/desktop/clients/_testimonials.png b/test/fixtures/screenshots/macos/desktop/clients/_testimonials.png
index b7a3994bf..9a33bd7ad 100644
Binary files a/test/fixtures/screenshots/macos/desktop/clients/_testimonials.png and b/test/fixtures/screenshots/macos/desktop/clients/_testimonials.png differ
diff --git a/test/fixtures/screenshots/macos/desktop/clients/agent-inbox/_cta-contact_us.png b/test/fixtures/screenshots/macos/desktop/clients/agent-inbox/_cta-contact_us.png
index 7ac0121e5..142c7e27a 100644
Binary files a/test/fixtures/screenshots/macos/desktop/clients/agent-inbox/_cta-contact_us.png and b/test/fixtures/screenshots/macos/desktop/clients/agent-inbox/_cta-contact_us.png differ
diff --git a/test/fixtures/screenshots/macos/desktop/clients/agent-inbox/_footer.png b/test/fixtures/screenshots/macos/desktop/clients/agent-inbox/_footer.png
index 6c49886d3..41a904ad4 100644
Binary files a/test/fixtures/screenshots/macos/desktop/clients/agent-inbox/_footer.png and b/test/fixtures/screenshots/macos/desktop/clients/agent-inbox/_footer.png differ
diff --git a/test/fixtures/screenshots/macos/desktop/contact_us.png b/test/fixtures/screenshots/macos/desktop/contact_us.png
index 70d2d0525..347cbb4c6 100644
Binary files a/test/fixtures/screenshots/macos/desktop/contact_us.png and b/test/fixtures/screenshots/macos/desktop/contact_us.png differ
diff --git a/test/fixtures/screenshots/macos/desktop/course/chapter.png b/test/fixtures/screenshots/macos/desktop/course/chapter.png
index 9663d8991..730f278fd 100644
Binary files a/test/fixtures/screenshots/macos/desktop/course/chapter.png and b/test/fixtures/screenshots/macos/desktop/course/chapter.png differ
diff --git a/test/fixtures/screenshots/macos/desktop/homepage/_clients.png b/test/fixtures/screenshots/macos/desktop/homepage/_clients.png
index 966a891f3..cb3d01abf 100644
Binary files a/test/fixtures/screenshots/macos/desktop/homepage/_clients.png and b/test/fixtures/screenshots/macos/desktop/homepage/_clients.png differ
diff --git a/test/fixtures/screenshots/macos/desktop/homepage/_cta-contact_us.png b/test/fixtures/screenshots/macos/desktop/homepage/_cta-contact_us.png
index 71e886746..4571b9137 100644
Binary files a/test/fixtures/screenshots/macos/desktop/homepage/_cta-contact_us.png and b/test/fixtures/screenshots/macos/desktop/homepage/_cta-contact_us.png differ
diff --git a/test/fixtures/screenshots/macos/desktop/homepage/_footer.png b/test/fixtures/screenshots/macos/desktop/homepage/_footer.png
index ab84a5910..65db5f340 100644
Binary files a/test/fixtures/screenshots/macos/desktop/homepage/_footer.png and b/test/fixtures/screenshots/macos/desktop/homepage/_footer.png differ
diff --git a/test/fixtures/screenshots/macos/desktop/homepage/_services.png b/test/fixtures/screenshots/macos/desktop/homepage/_services.png
index 1d53adfab..953a3ac77 100644
Binary files a/test/fixtures/screenshots/macos/desktop/homepage/_services.png and b/test/fixtures/screenshots/macos/desktop/homepage/_services.png differ
diff --git a/test/fixtures/screenshots/macos/desktop/homepage/_technologies.png b/test/fixtures/screenshots/macos/desktop/homepage/_technologies.png
index 36903ce0e..ec4cb226b 100644
Binary files a/test/fixtures/screenshots/macos/desktop/homepage/_technologies.png and b/test/fixtures/screenshots/macos/desktop/homepage/_technologies.png differ
diff --git a/test/fixtures/screenshots/macos/desktop/services/_cta-contact_us.png b/test/fixtures/screenshots/macos/desktop/services/_cta-contact_us.png
index 6485784f7..291540967 100644
Binary files a/test/fixtures/screenshots/macos/desktop/services/_cta-contact_us.png and b/test/fixtures/screenshots/macos/desktop/services/_cta-contact_us.png differ
diff --git a/test/fixtures/screenshots/macos/desktop/services/_footer.png b/test/fixtures/screenshots/macos/desktop/services/_footer.png
index a7ec44ba5..b0e86917c 100644
Binary files a/test/fixtures/screenshots/macos/desktop/services/_footer.png and b/test/fixtures/screenshots/macos/desktop/services/_footer.png differ
diff --git a/test/fixtures/screenshots/macos/desktop/services/_technologies.png b/test/fixtures/screenshots/macos/desktop/services/_technologies.png
index 162696673..9bdef5f97 100644
Binary files a/test/fixtures/screenshots/macos/desktop/services/_technologies.png and b/test/fixtures/screenshots/macos/desktop/services/_technologies.png differ
diff --git a/test/fixtures/screenshots/macos/desktop/services/_testimonials-header.png b/test/fixtures/screenshots/macos/desktop/services/_testimonials-header.png
index e1fffae6e..0b439154e 100644
Binary files a/test/fixtures/screenshots/macos/desktop/services/_testimonials-header.png and b/test/fixtures/screenshots/macos/desktop/services/_testimonials-header.png differ
diff --git a/test/fixtures/screenshots/macos/desktop/services/_use-cases.png b/test/fixtures/screenshots/macos/desktop/services/_use-cases.png
index bb14d67cb..cc7d3e7f8 100644
Binary files a/test/fixtures/screenshots/macos/desktop/services/_use-cases.png and b/test/fixtures/screenshots/macos/desktop/services/_use-cases.png differ
diff --git a/test/fixtures/screenshots/macos/desktop/services/app_web_development.png b/test/fixtures/screenshots/macos/desktop/services/app_web_development.png
index 8d5487f89..1cc60956f 100644
Binary files a/test/fixtures/screenshots/macos/desktop/services/app_web_development.png and b/test/fixtures/screenshots/macos/desktop/services/app_web_development.png differ
diff --git a/test/fixtures/screenshots/macos/desktop/services/app_web_development_hero.png b/test/fixtures/screenshots/macos/desktop/services/app_web_development_hero.png
index 8d5487f89..1cc60956f 100644
Binary files a/test/fixtures/screenshots/macos/desktop/services/app_web_development_hero.png and b/test/fixtures/screenshots/macos/desktop/services/app_web_development_hero.png differ
diff --git a/test/fixtures/screenshots/macos/desktop/services/fractional-cto/_cta-contact_us.png b/test/fixtures/screenshots/macos/desktop/services/fractional-cto/_cta-contact_us.png
index f009c4932..99bfa9d69 100644
Binary files a/test/fixtures/screenshots/macos/desktop/services/fractional-cto/_cta-contact_us.png and b/test/fixtures/screenshots/macos/desktop/services/fractional-cto/_cta-contact_us.png differ
diff --git a/test/fixtures/screenshots/macos/desktop/services/fractional-cto/_footer.png b/test/fixtures/screenshots/macos/desktop/services/fractional-cto/_footer.png
index 604ff437e..60e8a4532 100644
Binary files a/test/fixtures/screenshots/macos/desktop/services/fractional-cto/_footer.png and b/test/fixtures/screenshots/macos/desktop/services/fractional-cto/_footer.png differ
diff --git a/test/fixtures/screenshots/macos/desktop/services/fractional-cto/_overview.png b/test/fixtures/screenshots/macos/desktop/services/fractional-cto/_overview.png
index 09e5508bc..9dd5d8c18 100644
Binary files a/test/fixtures/screenshots/macos/desktop/services/fractional-cto/_overview.png and b/test/fixtures/screenshots/macos/desktop/services/fractional-cto/_overview.png differ
diff --git a/test/fixtures/screenshots/macos/desktop/services/fractional-cto/_testimonials.png b/test/fixtures/screenshots/macos/desktop/services/fractional-cto/_testimonials.png
index 38c6511ed..83678b720 100644
Binary files a/test/fixtures/screenshots/macos/desktop/services/fractional-cto/_testimonials.png and b/test/fixtures/screenshots/macos/desktop/services/fractional-cto/_testimonials.png differ
diff --git a/test/fixtures/screenshots/macos/desktop/services/fractional_cto.png b/test/fixtures/screenshots/macos/desktop/services/fractional_cto.png
index e6b37f8dc..fe0529cc8 100644
Binary files a/test/fixtures/screenshots/macos/desktop/services/fractional_cto.png and b/test/fixtures/screenshots/macos/desktop/services/fractional_cto.png differ
diff --git a/test/fixtures/screenshots/macos/desktop/use-cases/_cta-contact_us.png b/test/fixtures/screenshots/macos/desktop/use-cases/_cta-contact_us.png
index fc0e5b900..ff761b203 100644
Binary files a/test/fixtures/screenshots/macos/desktop/use-cases/_cta-contact_us.png and b/test/fixtures/screenshots/macos/desktop/use-cases/_cta-contact_us.png differ
diff --git a/test/fixtures/screenshots/macos/desktop/use-cases/_footer.png b/test/fixtures/screenshots/macos/desktop/use-cases/_footer.png
index fe1347f04..2d060da54 100644
Binary files a/test/fixtures/screenshots/macos/desktop/use-cases/_footer.png and b/test/fixtures/screenshots/macos/desktop/use-cases/_footer.png differ
diff --git a/test/fixtures/screenshots/macos/desktop/use-cases/startup-mvp-prototyping-development/_cta-contact_us.png b/test/fixtures/screenshots/macos/desktop/use-cases/startup-mvp-prototyping-development/_cta-contact_us.png
index 811392725..8115321b5 100644
Binary files a/test/fixtures/screenshots/macos/desktop/use-cases/startup-mvp-prototyping-development/_cta-contact_us.png and b/test/fixtures/screenshots/macos/desktop/use-cases/startup-mvp-prototyping-development/_cta-contact_us.png differ
diff --git a/test/fixtures/screenshots/macos/desktop/use-cases/startup-mvp-prototyping-development/_footer.png b/test/fixtures/screenshots/macos/desktop/use-cases/startup-mvp-prototyping-development/_footer.png
index 982a819af..0c621bb16 100644
Binary files a/test/fixtures/screenshots/macos/desktop/use-cases/startup-mvp-prototyping-development/_footer.png and b/test/fixtures/screenshots/macos/desktop/use-cases/startup-mvp-prototyping-development/_footer.png differ
diff --git a/test/fixtures/screenshots/macos/desktop/use-cases/startup-mvp-prototyping-development/_overview.png b/test/fixtures/screenshots/macos/desktop/use-cases/startup-mvp-prototyping-development/_overview.png
index 7bdd1434f..db0e9f5e7 100644
Binary files a/test/fixtures/screenshots/macos/desktop/use-cases/startup-mvp-prototyping-development/_overview.png and b/test/fixtures/screenshots/macos/desktop/use-cases/startup-mvp-prototyping-development/_overview.png differ
diff --git a/test/fixtures/screenshots/macos/desktop/use-cases/startup-mvp-prototyping-development/_solution.png b/test/fixtures/screenshots/macos/desktop/use-cases/startup-mvp-prototyping-development/_solution.png
index 07a063990..e9411cdbe 100644
Binary files a/test/fixtures/screenshots/macos/desktop/use-cases/startup-mvp-prototyping-development/_solution.png and b/test/fixtures/screenshots/macos/desktop/use-cases/startup-mvp-prototyping-development/_solution.png differ
diff --git a/test/fixtures/screenshots/macos/mobile/about_page/achievements.png b/test/fixtures/screenshots/macos/mobile/about_page/achievements.png
index e80307b7c..14c967b55 100644
Binary files a/test/fixtures/screenshots/macos/mobile/about_page/achievements.png and b/test/fixtures/screenshots/macos/mobile/about_page/achievements.png differ
diff --git a/test/fixtures/screenshots/macos/mobile/blog/index/_pagination.png b/test/fixtures/screenshots/macos/mobile/blog/index/_pagination.png
index 9793dfb4b..6b0722549 100644
Binary files a/test/fixtures/screenshots/macos/mobile/blog/index/_pagination.png and b/test/fixtures/screenshots/macos/mobile/blog/index/_pagination.png differ
diff --git a/test/fixtures/screenshots/macos/mobile/blog/special/code_highlight_post.png b/test/fixtures/screenshots/macos/mobile/blog/special/code_highlight_post.png
index a1e46a62c..af5f00f86 100644
Binary files a/test/fixtures/screenshots/macos/mobile/blog/special/code_highlight_post.png and b/test/fixtures/screenshots/macos/mobile/blog/special/code_highlight_post.png differ
diff --git a/test/fixtures/screenshots/macos/mobile/blog/special/codeblocks/indented.png b/test/fixtures/screenshots/macos/mobile/blog/special/codeblocks/indented.png
index 0dda3140a..ebf453e4a 100644
Binary files a/test/fixtures/screenshots/macos/mobile/blog/special/codeblocks/indented.png and b/test/fixtures/screenshots/macos/mobile/blog/special/codeblocks/indented.png differ
diff --git a/test/fixtures/screenshots/macos/mobile/course/chapter.png b/test/fixtures/screenshots/macos/mobile/course/chapter.png
index b737b64dd..57b1de8b3 100644
Binary files a/test/fixtures/screenshots/macos/mobile/course/chapter.png and b/test/fixtures/screenshots/macos/mobile/course/chapter.png differ
diff --git a/test/fixtures/screenshots/macos/mobile/services/fractional_cto.png b/test/fixtures/screenshots/macos/mobile/services/fractional_cto.png
index 34cf377ca..87810fb19 100644
Binary files a/test/fixtures/screenshots/macos/mobile/services/fractional_cto.png and b/test/fixtures/screenshots/macos/mobile/services/fractional_cto.png differ
diff --git a/test/fixtures/screenshots/macos/mobile/use_cases/startup-mvp-prototyping-development.png b/test/fixtures/screenshots/macos/mobile/use_cases/startup-mvp-prototyping-development.png
index 929408050..16832e3be 100644
Binary files a/test/fixtures/screenshots/macos/mobile/use_cases/startup-mvp-prototyping-development.png and b/test/fixtures/screenshots/macos/mobile/use_cases/startup-mvp-prototyping-development.png differ
diff --git a/test/support/screenshot_section_config.rb b/test/support/screenshot_section_config.rb
deleted file mode 100644
index 2c06a0865..000000000
--- a/test/support/screenshot_section_config.rb
+++ /dev/null
@@ -1,41 +0,0 @@
-# frozen_string_literal: true
-
-# Which tolerance a screenshot assertion gets, by name.
-#
-# Lives apart from ApplicationSystemTestCase so it can be unit-tested without
-# booting Hugo, Capybara or the dirty-fixtures guard that file runs on load.
-module ScreenshotSectionConfig
- # TEMPORARY SHIELD, not configuration. Every value here equalled the old 0.02
- # default, so this table did nothing; now that the default is 0.0001 it is
- # load-bearing - it holds ~22 section screenshots at the OLD tolerance while
- # their drift is still unmeasured. Delete it once they are measured and
- # re-recorded; that is the whole point of keeping it.
- SECTION_CONFIGS = {
- "cta" => {tolerance: 0.02},
- "cta-contact_us" => {tolerance: 0.02},
- "clients" => {tolerance: 0.02},
- "use-cases" => {tolerance: 0.02},
- "technologies" => {tolerance: 0.02},
- "testimonials" => {tolerance: 0.02},
- "why-us" => {tolerance: 0.02}
- }.freeze
-
- # 0.02 let ~41,472 pixels of a 1920x1080 frame change before failing, so real
- # diffs passed green - services/_testimonials-header sat at 0.005923 for a
- # whole recolour and reported no change. Repeat runs report IDENTICAL
- # difference_levels, i.e. run-to-run noise is 0.0, so the floor only has to
- # clear zero: 0.0001 is ~207 px. Calls that need real slack (font-swap,
- # animation) still pin their own tolerance.
- DEFAULT_SCREENSHOT_CONFIG = {tolerance: 0.0001}.freeze
-
- def screenshot_config_for(name)
- SECTION_CONFIGS.fetch(extract_section_key(name), DEFAULT_SCREENSHOT_CONFIG)
- end
-
- # The key is the tail after "/_", so "services/_technologies" matches the
- # "technologies" key but "services/_testimonials-header" does NOT match
- # "testimonials" - it is one string, not a prefix.
- def extract_section_key(name)
- name.to_s.split("/_").last
- end
-end
diff --git a/test/unit/screenshot_section_config_test.rb b/test/unit/screenshot_section_config_test.rb
deleted file mode 100644
index 385608f96..000000000
--- a/test/unit/screenshot_section_config_test.rb
+++ /dev/null
@@ -1,39 +0,0 @@
-# frozen_string_literal: true
-
-require "minitest/autorun"
-require "support/screenshot_section_config"
-
-# The shield mapping was inert while its values equalled the default. Lowering
-# the default made it decide which screenshots keep the OLD tolerance, so the
-# "/_" tail rule is now behaviour worth pinning - a near-miss like
-# "_testimonials-header" silently inheriting the "testimonials" shield would
-# re-blind the gate on that section.
-class ScreenshotSectionConfigTest < Minitest::Test
- include ScreenshotSectionConfig
-
- def test_section_name_matching_a_key_is_shielded
- assert_equal 0.02, screenshot_config_for("services/_technologies")[:tolerance]
- end
-
- def test_longer_section_name_does_not_match_a_shorter_key
- refute_equal 0.02, screenshot_config_for("services/_testimonials-header")[:tolerance]
- assert_equal DEFAULT_SCREENSHOT_CONFIG, screenshot_config_for("services/_testimonials-header")
- end
-
- def test_name_without_a_section_gets_the_default
- assert_equal DEFAULT_SCREENSHOT_CONFIG, screenshot_config_for("homepage")
- assert_equal DEFAULT_SCREENSHOT_CONFIG, screenshot_config_for("blog/post")
- end
-
- def test_key_is_the_tail_after_the_last_section_separator
- assert_equal "footer", extract_section_key("services/_footer")
- assert_equal "homepage", extract_section_key("homepage")
- end
-
- def test_every_shielded_section_is_looser_than_the_default
- ScreenshotSectionConfig::SECTION_CONFIGS.each do |key, config|
- assert_operator config[:tolerance], :>, DEFAULT_SCREENSHOT_CONFIG[:tolerance],
- "#{key} shields nothing - drop it from SECTION_CONFIGS"
- end
- end
-end
|