From 128843467b172baaa87e3a9f514a486bffc7fda4 Mon Sep 17 00:00:00 2001 From: Paul Keen Date: Sun, 19 Jul 2026 03:55:07 +0200 Subject: [PATCH 01/31] refactor(css): C3 prep - greedy purge protection for career-/clients- prefixes Same mechanism as C2's testimonials-/cta-banner entries: semantic re-keys must not lose the accidental /^fl-node/ purge shield for runtime-only descendant classes. Added BEFORE the renames so each re-key commit stays a pure substitution. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01GYRU9wGepomJo5hSuqtu7V --- postcss.config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/postcss.config.js b/postcss.config.js index 44f3b7ebb..70afee027 100644 --- a/postcss.config.js +++ b/postcss.config.js @@ -47,7 +47,7 @@ const purgecss = createPurgeCss({ // protection their selectors previously got from /^fl-node/ (PowerPack // runtime classes like pp-swiper-button/pp-review-image are never in // hugo_stats.json, so without this the renamed rules get purged). - /^testimonials-/, /^cta-banner/, + /^testimonials-/, /^cta-banner/, /^career-/, /^clients-/, // Brand CTA buttons — preserve any selector mentioning these classes. // Standard safelist didn't catch tag+class compound selectors like // `a.fl-button` on CI (produced blue pills instead of Ruby red). From d680e2b83bbe82b852465859c2ca62690f59c730 Mon Sep 17 00:00:00 2001 From: Paul Keen Date: Sun, 19 Jul 2026 03:56:43 +0200 Subject: [PATCH 02/31] refactor(css): C3.2 re-key fl-node-g2six6yjldnm -> use-cases-hero Class rename only. Gate: all bundles byte-identical after guarded reverse substitution EXCEPT one cssnano selector-group reorder in the use-cases bundle (same rule, selectors alphabetized differently) - sorted-rule-set and last-wins winner map both identical. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01GYRU9wGepomJo5hSuqtu7V --- themes/beaver/assets/css/pages/use-cases.css | 10 +++++----- themes/beaver/layouts/page/use-cases.html | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/themes/beaver/assets/css/pages/use-cases.css b/themes/beaver/assets/css/pages/use-cases.css index d660f6169..d0cd9ef87 100644 --- a/themes/beaver/assets/css/pages/use-cases.css +++ b/themes/beaver/assets/css/pages/use-cases.css @@ -954,7 +954,7 @@ img.mfp-img { } -.fl-node-g2six6yjldnm > .fl-row-content-wrap { +.use-cases-hero > .fl-row-content-wrap { background-repeat: no-repeat; background-position: center center; @@ -963,14 +963,14 @@ img.mfp-img { } -.fl-node-g2six6yjldnm > .fl-row-content-wrap { +.use-cases-hero > .fl-row-content-wrap { padding-top: 200px; padding-bottom: 130px; } @media ( max-width: 1115px ) { - .fl-node-g2six6yjldnm.fl-row > .fl-row-content-wrap { + .use-cases-hero.fl-row > .fl-row-content-wrap { padding-top: 150px; padding-bottom: 50px; } @@ -978,7 +978,7 @@ img.mfp-img { @media ( max-width: 860px ) { - .fl-node-g2six6yjldnm.fl-row > .fl-row-content-wrap { + .use-cases-hero.fl-row > .fl-row-content-wrap { padding-top: 100px; padding-bottom: 50px; } @@ -2754,7 +2754,7 @@ div.gform_wrapper .field_sublabel_below .ginput_complex.ginput_container label { } -.fl-node-g2six6yjldnm .fl-row-content { +.use-cases-hero .fl-row-content { min-width: 0px; } diff --git a/themes/beaver/layouts/page/use-cases.html b/themes/beaver/layouts/page/use-cases.html index 9416d2507..c86811f87 100644 --- a/themes/beaver/layouts/page/use-cases.html +++ b/themes/beaver/layouts/page/use-cases.html @@ -47,7 +47,7 @@ class="fl-builder-content fl-builder-content-3021 fl-builder-content-primary fl-builder-global-templates-locked" data-post-id="3021">
Date: Sun, 19 Jul 2026 03:58:45 +0200 Subject: [PATCH 03/31] refactor(css): C3.2 re-key fl-node-r5xy9wufkc2e -> use-cases-technologies Class rename only (incl. the leaked rule in shared technologies.css). Gate: canonical rule-set equality (selector groups comma-sorted) across all bundles - only cssnano alphabetization artifacts differ. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01GYRU9wGepomJo5hSuqtu7V --- themes/beaver/assets/css/pages/use-cases.css | 10 +++++----- themes/beaver/assets/css/technologies.css | 2 +- themes/beaver/layouts/page/use-cases.html | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/themes/beaver/assets/css/pages/use-cases.css b/themes/beaver/assets/css/pages/use-cases.css index d0cd9ef87..ce2e77a2c 100644 --- a/themes/beaver/assets/css/pages/use-cases.css +++ b/themes/beaver/assets/css/pages/use-cases.css @@ -985,7 +985,7 @@ img.mfp-img { } -.fl-node-r5xy9wufkc2e > .fl-row-content-wrap { +.use-cases-technologies > .fl-row-content-wrap { background-color:#f5f6f8; background-repeat: no-repeat; background-position: center center; @@ -994,14 +994,14 @@ img.mfp-img { } -.fl-node-r5xy9wufkc2e > .fl-row-content-wrap { +.use-cases-technologies > .fl-row-content-wrap { padding-top: 130px; padding-bottom: 130px; } @media ( max-width: 1115px ) { - .fl-node-r5xy9wufkc2e.fl-row > .fl-row-content-wrap { + .use-cases-technologies.fl-row > .fl-row-content-wrap { padding-top: 50px; padding-bottom: 50px; } @@ -1009,7 +1009,7 @@ img.mfp-img { @media ( max-width: 860px ) { - .fl-node-r5xy9wufkc2e.fl-row > .fl-row-content-wrap { + .use-cases-technologies.fl-row > .fl-row-content-wrap { padding-top: 50px; padding-right: 20px; padding-bottom: 50px; @@ -2759,7 +2759,7 @@ div.gform_wrapper .field_sublabel_below .ginput_complex.ginput_container label { } -.fl-node-r5xy9wufkc2e .fl-row-content { +.use-cases-technologies .fl-row-content { min-width: 0px; } diff --git a/themes/beaver/assets/css/technologies.css b/themes/beaver/assets/css/technologies.css index 076549147..cec35a442 100644 --- a/themes/beaver/assets/css/technologies.css +++ b/themes/beaver/assets/css/technologies.css @@ -66,6 +66,6 @@ quick fix services page /* quick fix use-case page */ -.fl-node-r5xy9wufkc2e>.fl-row-content-wrap { +.use-cases-technologies>.fl-row-content-wrap { padding-top: 0; } \ No newline at end of file diff --git a/themes/beaver/layouts/page/use-cases.html b/themes/beaver/layouts/page/use-cases.html index c86811f87..5ae931c19 100644 --- a/themes/beaver/layouts/page/use-cases.html +++ b/themes/beaver/layouts/page/use-cases.html @@ -58,7 +58,7 @@
+ class="fl-row fl-row-full-width fl-row-bg-photo use-cases-technologies fl-row-default-height fl-row-align-center">
From ef0d516e6634666ffa471fe39d2cb9d80dd578fd Mon Sep 17 00:00:00 2001 From: Paul Keen Date: Sun, 19 Jul 2026 03:59:33 +0200 Subject: [PATCH 04/31] refactor(css): C3.2 re-key fl-node-xpwrib80cd2l -> use-cases-cta Class rename only; gate: converged builds, canonical rule-set equality (byte-identity modulo guarded reverse substitution and cssnano selector-group alphabetization). Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01GYRU9wGepomJo5hSuqtu7V --- themes/beaver/assets/css/pages/use-cases.css | 16 ++++++++-------- themes/beaver/layouts/page/use-cases.html | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/themes/beaver/assets/css/pages/use-cases.css b/themes/beaver/assets/css/pages/use-cases.css index ce2e77a2c..f3a15c375 100644 --- a/themes/beaver/assets/css/pages/use-cases.css +++ b/themes/beaver/assets/css/pages/use-cases.css @@ -1018,7 +1018,7 @@ img.mfp-img { } -.fl-node-xpwrib80cd2l > .fl-row-content-wrap { +.use-cases-cta > .fl-row-content-wrap { background-repeat: no-repeat; background-position: center top; @@ -1027,12 +1027,12 @@ img.mfp-img { } -.fl-node-xpwrib80cd2l .fl-builder-bottom-edge-layer { +.use-cases-cta .fl-builder-bottom-edge-layer { bottom: -0.5%; } -.fl-node-xpwrib80cd2l .fl-builder-bottom-edge-layer > * { +.use-cases-cta .fl-builder-bottom-edge-layer > * { width: 100%; left: calc(50% - 50%); right: auto; @@ -1043,26 +1043,26 @@ img.mfp-img { } -.fl-node-xpwrib80cd2l .fl-builder-bottom-edge-layer .fl-shape-content .fl-shape { +.use-cases-cta .fl-builder-bottom-edge-layer .fl-shape-content .fl-shape { fill: #000000; } -.fl-node-xpwrib80cd2l > .fl-row-content-wrap { +.use-cases-cta > .fl-row-content-wrap { padding-top: 130px; padding-bottom: 0px; } @media ( max-width: 1115px ) { - .fl-node-xpwrib80cd2l.fl-row > .fl-row-content-wrap { + .use-cases-cta.fl-row > .fl-row-content-wrap { padding-top: 50px; } } @media ( max-width: 860px ) { - .fl-node-xpwrib80cd2l.fl-row > .fl-row-content-wrap { + .use-cases-cta.fl-row > .fl-row-content-wrap { padding-top: 50px; padding-right: 20px; padding-bottom: 0px; @@ -2764,6 +2764,6 @@ div.gform_wrapper .field_sublabel_below .ginput_complex.ginput_container label { } -.fl-node-xpwrib80cd2l .fl-row-content { +.use-cases-cta .fl-row-content { min-width: 0px; } \ No newline at end of file diff --git a/themes/beaver/layouts/page/use-cases.html b/themes/beaver/layouts/page/use-cases.html index 5ae931c19..072f146fb 100644 --- a/themes/beaver/layouts/page/use-cases.html +++ b/themes/beaver/layouts/page/use-cases.html @@ -68,7 +68,7 @@
Date: Sun, 19 Jul 2026 04:00:21 +0200 Subject: [PATCH 05/31] refactor(css): C3.2 re-key fl-node-7l8hya5ixfdo -> use-cases-cta-box Class rename only; gate: converged builds, canonical rule-set equality (byte-identity modulo guarded reverse substitution and cssnano selector-group alphabetization). Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01GYRU9wGepomJo5hSuqtu7V --- themes/beaver/assets/css/pages/use-cases.css | 16 ++++++++-------- themes/beaver/layouts/page/use-cases.html | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/themes/beaver/assets/css/pages/use-cases.css b/themes/beaver/assets/css/pages/use-cases.css index f3a15c375..d11a0a4e5 100644 --- a/themes/beaver/assets/css/pages/use-cases.css +++ b/themes/beaver/assets/css/pages/use-cases.css @@ -1071,12 +1071,12 @@ img.mfp-img { } -.fl-node-7l8hya5ixfdo { +.use-cases-cta-box { width: 100%; } -.fl-node-7l8hya5ixfdo > .fl-col-content { +.use-cases-cta-box > .fl-col-content { background-color: #F5F6F8; border-top-left-radius: 20px; border-top-right-radius: 20px; @@ -1086,7 +1086,7 @@ img.mfp-img { @media (max-width: 1115px) { - .fl-builder-content .fl-node-7l8hya5ixfdo { + .fl-builder-content .use-cases-cta-box { width: 100% !important; max-width: none; -webkit-box-flex: 0 1 auto; @@ -1099,7 +1099,7 @@ img.mfp-img { @media (max-width: 860px) { - .fl-builder-content .fl-node-7l8hya5ixfdo { + .fl-builder-content .use-cases-cta-box { width: 100% !important; max-width: none; clear: none; @@ -1108,19 +1108,19 @@ img.mfp-img { } -.fl-node-7l8hya5ixfdo > .fl-col-content { +.use-cases-cta-box > .fl-col-content { margin-top: 180px; } @media ( max-width: 860px ) { - .fl-node-7l8hya5ixfdo.fl-col > .fl-col-content { + .use-cases-cta-box.fl-col > .fl-col-content { margin-top: 50px; } } -.fl-node-7l8hya5ixfdo > .fl-col-content { +.use-cases-cta-box > .fl-col-content { padding-top: 80px; padding-right: 60px; padding-bottom: 120px; @@ -1129,7 +1129,7 @@ img.mfp-img { @media ( max-width: 860px ) { - .fl-node-7l8hya5ixfdo.fl-col > .fl-col-content { + .use-cases-cta-box.fl-col > .fl-col-content { padding-top: 30px; padding-right: 20px; padding-bottom: 30px; diff --git a/themes/beaver/layouts/page/use-cases.html b/themes/beaver/layouts/page/use-cases.html index 072f146fb..c939403a2 100644 --- a/themes/beaver/layouts/page/use-cases.html +++ b/themes/beaver/layouts/page/use-cases.html @@ -97,7 +97,7 @@ class="fl-col-group fl-node-xfdrceov0hji fl-col-group-custom-width" data-node="xfdrceov0hji">
Date: Sun, 19 Jul 2026 04:01:24 +0200 Subject: [PATCH 06/31] refactor(css): C3.3 re-key fl-node-3debxjmt89f4 -> career-hero Class rename only; gate: converged builds, canonical rule-set equality. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01GYRU9wGepomJo5hSuqtu7V --- themes/beaver/assets/css/critical/single-careers.css | 10 +++++----- themes/beaver/assets/css/pages/single-career.css | 2 +- themes/beaver/layouts/careers/single.html | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/themes/beaver/assets/css/critical/single-careers.css b/themes/beaver/assets/css/critical/single-careers.css index 2e6610f8f..2303b36d8 100644 --- a/themes/beaver/assets/css/critical/single-careers.css +++ b/themes/beaver/assets/css/critical/single-careers.css @@ -505,7 +505,7 @@ h2 { -ms-flex: 0 1 auto; flex: 0 1 auto; } - .fl-node-3debxjmt89f4.fl-row > .fl-row-content-wrap { + .career-hero.fl-row > .fl-row-content-wrap { padding-top: 150px; padding-bottom: 50px; } @@ -1145,19 +1145,19 @@ body:not(.single-fl-theme-layout) padding: 0 !important; margin: 0 !important; } -.fl-node-3debxjmt89f4 > .fl-row-content-wrap { +.career-hero > .fl-row-content-wrap { background-color: #f5f6f8; background-repeat: no-repeat; background-position: center center; background-attachment: scroll; background-size: cover; } -.fl-node-3debxjmt89f4 > .fl-row-content-wrap { +.career-hero > .fl-row-content-wrap { padding-top: 200px; padding-bottom: 80px; } @media (max-width: 860px) { - .fl-node-3debxjmt89f4.fl-row > .fl-row-content-wrap { + .career-hero.fl-row > .fl-row-content-wrap { padding-top: 100px; padding-bottom: 50px; } @@ -1644,7 +1644,7 @@ body:not(.single-fl-theme-layout) border-bottom-right-radius: 8px; padding: 20px; } -.fl-node-3debxjmt89f4 .fl-row-content { +.career-hero .fl-row-content { min-width: 0; } .fl-node-ywcmkjq4az6f .fl-row-content { diff --git a/themes/beaver/assets/css/pages/single-career.css b/themes/beaver/assets/css/pages/single-career.css index 45c434aa5..70262822e 100644 --- a/themes/beaver/assets/css/pages/single-career.css +++ b/themes/beaver/assets/css/pages/single-career.css @@ -10,7 +10,7 @@ /* Hero tablet breakpoint (critical has only the 860px step) */ @media (max-width: 1115px) { - .fl-node-3debxjmt89f4.fl-row > .fl-row-content-wrap { + .career-hero.fl-row > .fl-row-content-wrap { padding-top: 150px; padding-bottom: 50px; } diff --git a/themes/beaver/layouts/careers/single.html b/themes/beaver/layouts/careers/single.html index 4f8a86bc0..67cfc8f96 100644 --- a/themes/beaver/layouts/careers/single.html +++ b/themes/beaver/layouts/careers/single.html @@ -14,7 +14,7 @@ class="fl-builder-content fl-builder-content-3050 fl-builder-global-templates-locked" data-post-id="3050">
From b8dd65fa72bf76bb5b9506b4a8f1267c79fb2990 Mon Sep 17 00:00:00 2001 From: Paul Keen Date: Sun, 19 Jul 2026 04:02:13 +0200 Subject: [PATCH 07/31] refactor(css): C3.3 re-key fl-node-8ws2e9fm0yqn -> career-hero-col Class rename only; gate: converged builds, canonical rule-set equality. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01GYRU9wGepomJo5hSuqtu7V --- themes/beaver/assets/css/critical/single-careers.css | 8 ++++---- themes/beaver/layouts/careers/single.html | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/themes/beaver/assets/css/critical/single-careers.css b/themes/beaver/assets/css/critical/single-careers.css index 2303b36d8..8cf21c8a6 100644 --- a/themes/beaver/assets/css/critical/single-careers.css +++ b/themes/beaver/assets/css/critical/single-careers.css @@ -1182,20 +1182,20 @@ body:not(.single-fl-theme-layout) padding-bottom: 50px; } } -.fl-node-8ws2e9fm0yqn { +.career-hero-col { width: 100%; } -.fl-node-8ws2e9fm0yqn > .fl-col-content { +.career-hero-col > .fl-col-content { padding-bottom: 40px; } @media (max-width: 860px) { - .fl-builder-content .fl-node-8ws2e9fm0yqn { + .fl-builder-content .career-hero-col { width: 100% !important; max-width: none; clear: none; float: left; } - .fl-node-8ws2e9fm0yqn.fl-col > .fl-col-content { + .career-hero-col.fl-col > .fl-col-content { padding-bottom: 0; } } diff --git a/themes/beaver/layouts/careers/single.html b/themes/beaver/layouts/careers/single.html index 67cfc8f96..82932b284 100644 --- a/themes/beaver/layouts/careers/single.html +++ b/themes/beaver/layouts/careers/single.html @@ -22,7 +22,7 @@ class="fl-col-group fl-node-l6ztmq3h7fv2 fl-col-group-custom-width" data-node="l6ztmq3h7fv2">
Date: Sun, 19 Jul 2026 04:03:00 +0200 Subject: [PATCH 08/31] refactor(css): C3.3 re-key fl-node-nmsh5axc3k28 -> career-meta-item Class rename only; gate: converged builds, canonical rule-set equality. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01GYRU9wGepomJo5hSuqtu7V --- themes/beaver/assets/css/critical/single-careers.css | 8 ++++---- themes/beaver/layouts/careers/single.html | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/themes/beaver/assets/css/critical/single-careers.css b/themes/beaver/assets/css/critical/single-careers.css index 8cf21c8a6..e48ba138b 100644 --- a/themes/beaver/assets/css/critical/single-careers.css +++ b/themes/beaver/assets/css/critical/single-careers.css @@ -1199,11 +1199,11 @@ body:not(.single-fl-theme-layout) padding-bottom: 0; } } -.fl-node-nmsh5axc3k28 { +.career-meta-item { width: 20%; } @media (max-width: 1115px) { - .fl-builder-content .fl-node-nmsh5axc3k28 { + .fl-builder-content .career-meta-item { width: 25% !important; max-width: none; -webkit-box-flex: 0 1 auto; @@ -1214,13 +1214,13 @@ body:not(.single-fl-theme-layout) } } @media (max-width: 860px) { - .fl-builder-content .fl-node-nmsh5axc3k28 { + .fl-builder-content .career-meta-item { width: 100% !important; max-width: none; clear: none; float: left; } - .fl-node-nmsh5axc3k28.fl-col > .fl-col-content { + .career-meta-item.fl-col > .fl-col-content { padding-top: 30px; } } diff --git a/themes/beaver/layouts/careers/single.html b/themes/beaver/layouts/careers/single.html index 82932b284..dcf3c983a 100644 --- a/themes/beaver/layouts/careers/single.html +++ b/themes/beaver/layouts/careers/single.html @@ -44,7 +44,7 @@

data-node="0enadgf5wp84"> {{ range .Params.requirements }}
Date: Sun, 19 Jul 2026 04:03:47 +0200 Subject: [PATCH 09/31] refactor(css): C3.3 re-key fl-node-qs2ucemf7j56 -> career-meta-label Class rename only; gate: converged builds, canonical rule-set equality. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01GYRU9wGepomJo5hSuqtu7V --- themes/beaver/assets/css/critical/single-careers.css | 6 +++--- themes/beaver/layouts/careers/single.html | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/themes/beaver/assets/css/critical/single-careers.css b/themes/beaver/assets/css/critical/single-careers.css index e48ba138b..2219d51f5 100644 --- a/themes/beaver/assets/css/critical/single-careers.css +++ b/themes/beaver/assets/css/critical/single-careers.css @@ -1253,11 +1253,11 @@ body:not(.single-fl-theme-layout) .fl-node-p8famz26ljce > .fl-col-content { padding-left: 65px; } -.fl-builder-content .fl-node-qs2ucemf7j56 .fl-module-content .fl-rich-text, -.fl-builder-content .fl-node-qs2ucemf7j56 .fl-module-content .fl-rich-text * { +.fl-builder-content .career-meta-label .fl-module-content .fl-rich-text, +.fl-builder-content .career-meta-label .fl-module-content .fl-rich-text * { color: var(--color-primary); } -.fl-builder-content .fl-node-qs2ucemf7j56 .fl-rich-text { +.fl-builder-content .career-meta-label .fl-rich-text { font-weight: 700; font-size: 16px; } diff --git a/themes/beaver/layouts/careers/single.html b/themes/beaver/layouts/careers/single.html index dcf3c983a..17903a973 100644 --- a/themes/beaver/layouts/careers/single.html +++ b/themes/beaver/layouts/careers/single.html @@ -48,7 +48,7 @@

data-node="nmsh5axc3k28">
From 4592f080fb3680a91b0b583e61470923c1056183 Mon Sep 17 00:00:00 2001 From: Paul Keen Date: Sun, 19 Jul 2026 04:04:47 +0200 Subject: [PATCH 10/31] refactor(css): C3.3 re-key fl-node-73cldefikyg5 -> career-meta-value Class rename only; gate: converged builds, canonical rule-set equality. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01GYRU9wGepomJo5hSuqtu7V --- themes/beaver/assets/css/critical/single-careers.css | 6 +++--- themes/beaver/layouts/careers/single.html | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/themes/beaver/assets/css/critical/single-careers.css b/themes/beaver/assets/css/critical/single-careers.css index 2219d51f5..59d5e2eea 100644 --- a/themes/beaver/assets/css/critical/single-careers.css +++ b/themes/beaver/assets/css/critical/single-careers.css @@ -1261,10 +1261,10 @@ body:not(.single-fl-theme-layout) font-weight: 700; font-size: 16px; } -.fl-builder-content .fl-node-73cldefikyg5 .fl-rich-text { +.fl-builder-content .career-meta-value .fl-rich-text { font-size: 20px; } -.fl-node-73cldefikyg5 > .fl-module-content { +.career-meta-value > .fl-module-content { margin-top: 20px; } .fl-builder-content .fl-node-wtch9dloa7yx .fl-module-content .fl-rich-text, @@ -1464,7 +1464,7 @@ body:not(.single-fl-theme-layout) padding-top: 30px; padding-left: 0; } - .fl-node-73cldefikyg5.fl-module > .fl-module-content { + .career-meta-value.fl-module > .fl-module-content { margin-top: 10px; } .fl-node-rnjk7gex4iu1.fl-module > .fl-module-content { diff --git a/themes/beaver/layouts/careers/single.html b/themes/beaver/layouts/careers/single.html index 17903a973..35920aed1 100644 --- a/themes/beaver/layouts/careers/single.html +++ b/themes/beaver/layouts/careers/single.html @@ -57,7 +57,7 @@

From fde3714aeefc1f33a80259f5133b808b057b0bf1 Mon Sep 17 00:00:00 2001 From: Paul Keen Date: Sun, 19 Jul 2026 04:05:34 +0200 Subject: [PATCH 11/31] refactor(css): C3.3 re-key fl-node-5m4it1br29ze -> career-share-col Class rename only; gate: converged builds, canonical rule-set equality. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01GYRU9wGepomJo5hSuqtu7V --- themes/beaver/assets/css/critical/single-careers.css | 10 +++++----- themes/beaver/layouts/careers/single.html | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/themes/beaver/assets/css/critical/single-careers.css b/themes/beaver/assets/css/critical/single-careers.css index 59d5e2eea..0215a92ee 100644 --- a/themes/beaver/assets/css/critical/single-careers.css +++ b/themes/beaver/assets/css/critical/single-careers.css @@ -1224,11 +1224,11 @@ body:not(.single-fl-theme-layout) padding-top: 30px; } } -.fl-node-5m4it1br29ze { +.career-share-col { width: 40%; } @media (max-width: 1115px) { - .fl-builder-content .fl-node-5m4it1br29ze { + .fl-builder-content .career-share-col { width: 50% !important; max-width: none; -webkit-box-flex: 0 1 auto; @@ -1238,7 +1238,7 @@ body:not(.single-fl-theme-layout) flex: 0 1 auto; } } -.fl-node-5m4it1br29ze > .fl-col-content { +.career-share-col > .fl-col-content { padding-left: 50px; } .fl-node-1swhjnc7y8ki { @@ -1436,13 +1436,13 @@ body:not(.single-fl-theme-layout) margin-top: 20px; } @media (max-width: 860px) { - .fl-builder-content .fl-node-5m4it1br29ze { + .fl-builder-content .career-share-col { width: 100% !important; max-width: none; clear: none; float: left; } - .fl-node-5m4it1br29ze.fl-col > .fl-col-content { + .career-share-col.fl-col > .fl-col-content { padding-top: 20px; } .fl-builder-content .fl-node-1swhjnc7y8ki { diff --git a/themes/beaver/layouts/careers/single.html b/themes/beaver/layouts/careers/single.html index 35920aed1..b8bad58be 100644 --- a/themes/beaver/layouts/careers/single.html +++ b/themes/beaver/layouts/careers/single.html @@ -69,7 +69,7 @@

{{ end }}
Date: Sun, 19 Jul 2026 04:06:21 +0200 Subject: [PATCH 12/31] refactor(css): C3.3 re-key fl-node-wtch9dloa7yx -> career-share-label Class rename only; gate: converged builds, canonical rule-set equality. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01GYRU9wGepomJo5hSuqtu7V --- themes/beaver/assets/css/critical/single-careers.css | 6 +++--- themes/beaver/layouts/careers/single.html | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/themes/beaver/assets/css/critical/single-careers.css b/themes/beaver/assets/css/critical/single-careers.css index 0215a92ee..5ab9a73d5 100644 --- a/themes/beaver/assets/css/critical/single-careers.css +++ b/themes/beaver/assets/css/critical/single-careers.css @@ -1267,11 +1267,11 @@ body:not(.single-fl-theme-layout) .career-meta-value > .fl-module-content { margin-top: 20px; } -.fl-builder-content .fl-node-wtch9dloa7yx .fl-module-content .fl-rich-text, -.fl-builder-content .fl-node-wtch9dloa7yx .fl-module-content .fl-rich-text * { +.fl-builder-content .career-share-label .fl-module-content .fl-rich-text, +.fl-builder-content .career-share-label .fl-module-content .fl-rich-text * { color: var(--color-primary); } -.fl-builder-content .fl-node-wtch9dloa7yx .fl-rich-text { +.fl-builder-content .career-share-label .fl-rich-text { font-weight: 700; font-size: 16px; } diff --git a/themes/beaver/layouts/careers/single.html b/themes/beaver/layouts/careers/single.html index b8bad58be..167096234 100644 --- a/themes/beaver/layouts/careers/single.html +++ b/themes/beaver/layouts/careers/single.html @@ -73,7 +73,7 @@

data-node="5m4it1br29ze">
From ddb6499400f6c4e427c02e4c6adfc5a6bf271046 Mon Sep 17 00:00:00 2001 From: Paul Keen Date: Sun, 19 Jul 2026 04:07:09 +0200 Subject: [PATCH 13/31] refactor(css): C3.3 re-key fl-node-rnjk7gex4iu1 -> career-share-module Class rename only; gate: converged builds, canonical rule-set equality. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01GYRU9wGepomJo5hSuqtu7V --- .../assets/css/critical/single-careers.css | 26 +++++++++---------- .../beaver/assets/css/pages/single-career.css | 14 +++++----- themes/beaver/layouts/careers/single.html | 2 +- 3 files changed, 21 insertions(+), 21 deletions(-) diff --git a/themes/beaver/assets/css/critical/single-careers.css b/themes/beaver/assets/css/critical/single-careers.css index 5ab9a73d5..cade6a6c4 100644 --- a/themes/beaver/assets/css/critical/single-careers.css +++ b/themes/beaver/assets/css/critical/single-careers.css @@ -968,7 +968,7 @@ h2 { -ms-flex-pack: flex-end; justify-content: flex-end; } - .fl-node-rnjk7gex4iu1 + .career-share-module .pp-social-share-content .pp-share-button .pp-share-button-text { @@ -1375,33 +1375,33 @@ body:not(.single-fl-theme-layout) justify-content: flex-start; } .fl-builder-content - .fl-node-rnjk7gex4iu1 + .career-share-module .pp-social-share-content.pp-social-share-col-0 .pp-social-share-inner { margin-left: calc(-30px / 2); margin-right: calc(-30px / 2); } .fl-builder-content - .fl-node-rnjk7gex4iu1 + .career-share-module .pp-social-share-content.pp-social-share-col-0 .pp-share-button { margin-left: calc(30px / 2); margin-right: calc(30px / 2); } .fl-builder-content - .fl-node-rnjk7gex4iu1 + .career-share-module .pp-social-share-content.pp-share-buttons-skin-minimal .pp-share-button .pp-share-button-icon { background-color: var(--color-dark); } .fl-builder-content - .fl-node-rnjk7gex4iu1 + .career-share-module .pp-social-share-content.pp-share-buttons-skin-minimal .pp-share-button a, .fl-builder-content - .fl-node-rnjk7gex4iu1 + .career-share-module .pp-social-share-content.pp-share-buttons-skin-minimal .pp-share-button a @@ -1409,30 +1409,30 @@ body:not(.single-fl-theme-layout) color: var(--color-dark); } .fl-builder-content - .fl-node-rnjk7gex4iu1 + .career-share-module .pp-social-share-content.pp-share-buttons-skin-minimal .pp-share-button .pp-share-button-icon * { color: var(--color-dark); } -.fl-node-rnjk7gex4iu1 .pp-social-share-content .pp-share-button { +.career-share-module .pp-social-share-content .pp-share-button { height: 22px; } -.fl-node-rnjk7gex4iu1 .pp-social-share-content .pp-share-button a { +.career-share-module .pp-social-share-content .pp-share-button a { border-width: 2px; } -.fl-node-rnjk7gex4iu1 +.career-share-module .pp-social-share-content.pp-social-share-col-0 .pp-share-button { margin-bottom: 0; } -.fl-node-rnjk7gex4iu1 .pp-social-share-content .pp-share-button-title { +.career-share-module .pp-social-share-content .pp-share-button-title { font-family: var(--font-system-ui); font-weight: 300; font-size: 20px; } -.fl-node-rnjk7gex4iu1 > .fl-module-content { +.career-share-module > .fl-module-content { margin-top: 20px; } @media (max-width: 860px) { @@ -1467,7 +1467,7 @@ body:not(.single-fl-theme-layout) .career-meta-value.fl-module > .fl-module-content { margin-top: 10px; } - .fl-node-rnjk7gex4iu1.fl-module > .fl-module-content { + .career-share-module.fl-module > .fl-module-content { margin-top: 10px; } } diff --git a/themes/beaver/assets/css/pages/single-career.css b/themes/beaver/assets/css/pages/single-career.css index 70262822e..112201f7f 100644 --- a/themes/beaver/assets/css/pages/single-career.css +++ b/themes/beaver/assets/css/pages/single-career.css @@ -18,33 +18,33 @@ /* Mobile: hide the share-button text label */ @media (max-width: 860px) { - .fl-node-rnjk7gex4iu1 .pp-social-share-content .pp-share-button .pp-share-button-text { + .career-share-module .pp-social-share-content .pp-share-button .pp-share-button-text { display: none; } } /* Share-button hover states (e966 3782-3804) */ -.fl-builder-content .fl-node-rnjk7gex4iu1 .pp-social-share-content.pp-share-buttons-skin-flat .pp-share-button a, .fl-builder-content .fl-node-rnjk7gex4iu1 .pp-social-share-content.pp-share-buttons-skin-gradient .pp-share-button a, .fl-builder-content .fl-node-rnjk7gex4iu1 .pp-social-share-content.pp-share-buttons-skin-boxed .pp-share-button .pp-share-button-icon, .fl-builder-content .fl-node-rnjk7gex4iu1 .pp-social-share-content.pp-share-buttons-skin-minimal .pp-share-button .pp-share-button-icon { +.fl-builder-content .career-share-module .pp-social-share-content.pp-share-buttons-skin-flat .pp-share-button a, .fl-builder-content .career-share-module .pp-social-share-content.pp-share-buttons-skin-gradient .pp-share-button a, .fl-builder-content .career-share-module .pp-social-share-content.pp-share-buttons-skin-boxed .pp-share-button .pp-share-button-icon, .fl-builder-content .career-share-module .pp-social-share-content.pp-share-buttons-skin-minimal .pp-share-button .pp-share-button-icon { background-color: var(--color-dark); } -.fl-builder-content .fl-node-rnjk7gex4iu1 .pp-social-share-content.pp-share-buttons-skin-framed .pp-share-button a, .fl-builder-content .fl-node-rnjk7gex4iu1 .pp-social-share-content.pp-share-buttons-skin-minimal .pp-share-button a, .fl-builder-content .fl-node-rnjk7gex4iu1 .pp-social-share-content.pp-share-buttons-skin-boxed .pp-share-button a, .fl-builder-content .fl-node-rnjk7gex4iu1 .pp-social-share-content.pp-share-buttons-skin-framed .pp-share-button a *, .fl-builder-content .fl-node-rnjk7gex4iu1 .pp-social-share-content.pp-share-buttons-skin-minimal .pp-share-button a *, .fl-builder-content .fl-node-rnjk7gex4iu1 .pp-social-share-content.pp-share-buttons-skin-boxed .pp-share-button a * { +.fl-builder-content .career-share-module .pp-social-share-content.pp-share-buttons-skin-framed .pp-share-button a, .fl-builder-content .career-share-module .pp-social-share-content.pp-share-buttons-skin-minimal .pp-share-button a, .fl-builder-content .career-share-module .pp-social-share-content.pp-share-buttons-skin-boxed .pp-share-button a, .fl-builder-content .career-share-module .pp-social-share-content.pp-share-buttons-skin-framed .pp-share-button a *, .fl-builder-content .career-share-module .pp-social-share-content.pp-share-buttons-skin-minimal .pp-share-button a *, .fl-builder-content .career-share-module .pp-social-share-content.pp-share-buttons-skin-boxed .pp-share-button a * { color: var(--color-dark); } -.fl-builder-content .fl-node-rnjk7gex4iu1 .pp-social-share-content.pp-share-buttons-skin-flat .pp-share-button a *, .fl-builder-content .fl-node-rnjk7gex4iu1 .pp-social-share-content.pp-share-buttons-skin-gradient .pp-share-button a *, .fl-builder-content .fl-node-rnjk7gex4iu1 .pp-social-share-content.pp-share-buttons-skin-boxed .pp-share-button .pp-share-button-icon *, .fl-builder-content .fl-node-rnjk7gex4iu1 .pp-social-share-content.pp-share-buttons-skin-minimal .pp-share-button .pp-share-button-icon * { +.fl-builder-content .career-share-module .pp-social-share-content.pp-share-buttons-skin-flat .pp-share-button a *, .fl-builder-content .career-share-module .pp-social-share-content.pp-share-buttons-skin-gradient .pp-share-button a *, .fl-builder-content .career-share-module .pp-social-share-content.pp-share-buttons-skin-boxed .pp-share-button .pp-share-button-icon *, .fl-builder-content .career-share-module .pp-social-share-content.pp-share-buttons-skin-minimal .pp-share-button .pp-share-button-icon * { color: var(--color-dark); } -.fl-builder-content .fl-node-rnjk7gex4iu1 .pp-social-share-content.pp-share-buttons-skin-flat .pp-share-button:hover a, .fl-builder-content .fl-node-rnjk7gex4iu1 .pp-social-share-content.pp-share-buttons-skin-gradient .pp-share-button:hover a, .fl-builder-content .fl-node-rnjk7gex4iu1 .pp-social-share-content.pp-share-buttons-skin-boxed .pp-share-button:hover .pp-share-button-icon, .fl-builder-content .fl-node-rnjk7gex4iu1 .pp-social-share-content.pp-share-buttons-skin-minimal .pp-share-button:hover .pp-share-button-icon { +.fl-builder-content .career-share-module .pp-social-share-content.pp-share-buttons-skin-flat .pp-share-button:hover a, .fl-builder-content .career-share-module .pp-social-share-content.pp-share-buttons-skin-gradient .pp-share-button:hover a, .fl-builder-content .career-share-module .pp-social-share-content.pp-share-buttons-skin-boxed .pp-share-button:hover .pp-share-button-icon, .fl-builder-content .career-share-module .pp-social-share-content.pp-share-buttons-skin-minimal .pp-share-button:hover .pp-share-button-icon { background-color: var(--color-primary); } -.fl-builder-content .fl-node-rnjk7gex4iu1 .pp-social-share-content.pp-share-buttons-skin-framed .pp-share-button:hover a, .fl-builder-content .fl-node-rnjk7gex4iu1 .pp-social-share-content.pp-share-buttons-skin-minimal .pp-share-button:hover a, .fl-builder-content .fl-node-rnjk7gex4iu1 .pp-social-share-content.pp-share-buttons-skin-boxed .pp-share-button:hover a, .fl-builder-content .fl-node-rnjk7gex4iu1 .pp-social-share-content.pp-share-buttons-skin-framed .pp-share-button:hover a *, .fl-builder-content .fl-node-rnjk7gex4iu1 .pp-social-share-content.pp-share-buttons-skin-minimal .pp-share-button:hover a *, .fl-builder-content .fl-node-rnjk7gex4iu1 .pp-social-share-content.pp-share-buttons-skin-boxed .pp-share-button:hover a * { +.fl-builder-content .career-share-module .pp-social-share-content.pp-share-buttons-skin-framed .pp-share-button:hover a, .fl-builder-content .career-share-module .pp-social-share-content.pp-share-buttons-skin-minimal .pp-share-button:hover a, .fl-builder-content .career-share-module .pp-social-share-content.pp-share-buttons-skin-boxed .pp-share-button:hover a, .fl-builder-content .career-share-module .pp-social-share-content.pp-share-buttons-skin-framed .pp-share-button:hover a *, .fl-builder-content .career-share-module .pp-social-share-content.pp-share-buttons-skin-minimal .pp-share-button:hover a *, .fl-builder-content .career-share-module .pp-social-share-content.pp-share-buttons-skin-boxed .pp-share-button:hover a * { color: var(--color-primary); } -.fl-builder-content .fl-node-rnjk7gex4iu1 .pp-social-share-content.pp-share-buttons-skin-flat .pp-share-button:hover a *, .fl-builder-content .fl-node-rnjk7gex4iu1 .pp-social-share-content.pp-share-buttons-skin-gradient .pp-share-button:hover a *, .fl-builder-content .fl-node-rnjk7gex4iu1 .pp-social-share-content.pp-share-buttons-skin-boxed .pp-share-button:hover .pp-share-button-icon *, .fl-builder-content .fl-node-rnjk7gex4iu1 .pp-social-share-content.pp-share-buttons-skin-minimal .pp-share-button:hover .pp-share-button-icon * { +.fl-builder-content .career-share-module .pp-social-share-content.pp-share-buttons-skin-flat .pp-share-button:hover a *, .fl-builder-content .career-share-module .pp-social-share-content.pp-share-buttons-skin-gradient .pp-share-button:hover a *, .fl-builder-content .career-share-module .pp-social-share-content.pp-share-buttons-skin-boxed .pp-share-button:hover .pp-share-button-icon *, .fl-builder-content .career-share-module .pp-social-share-content.pp-share-buttons-skin-minimal .pp-share-button:hover .pp-share-button-icon * { color: var(--color-primary); } diff --git a/themes/beaver/layouts/careers/single.html b/themes/beaver/layouts/careers/single.html index 167096234..11336cf1b 100644 --- a/themes/beaver/layouts/careers/single.html +++ b/themes/beaver/layouts/careers/single.html @@ -82,7 +82,7 @@