/*
Theme Name:   FinanceProspector Child
Theme URI:    https://financeprospector.com
Template:     generatepress
Version:      3.57.191
Description:  FinanceProspector child theme built on GeneratePress.
              v3.57.143 - BUSINESS BANKING FIXES: SECTION INTROS #6B7280, RHO TRUSTPILOT 4.2, 320PX POPULAR COMPARISONS SIZING; HOMEPAGE EXPLORE BY CATEGORY COMING SOON #4B5563 (PREVIEW r1; FROM v3.57.142) - 2026-10-28
              v3.57.144 - HOMEPAGE EXPLORE BY CATEGORY COMING SOON WEIGHT 600; PROVIDERS READ REVIEW TEXT STAYS WHITE ON FOCUS/HOVER/ACTIVE (P17) (PREVIEW r1; FROM v3.57.143) - 2026-10-28
              v3.57.144 r2 - + EDITOR'S PICKS READ REVIEW WHITE ON FOCUS (P18), TOP 4 PICKS READ REVIEW WHITE ON FOCUS/HOVER/ACTIVE (P19) - 2026-10-28
              v3.57.145 - TEXT ACTIONS AND MENU KEEP APPROVED COLOURS IN EVERY STATE: EXPLORE FOCUS (P20), TEXT-ACTION FAMILIES (P21), GET STARTED CORE BLUE (P22), METHODOLOGY END-NOTE LINKS CORE BLUE (P23), MOBILE ALL PROVIDERS (P24) (PREVIEW r1; FROM v3.57.144) - 2026-10-28
              v3.57.173 - BANK OF AMERICA LAST UPDATED DATE LINE (PREVIEW r1; FROM v3.57.172) - 2026-11-02
              v3.57.171 - BANK OF AMERICA PROS AND CONS, TITLES, CONTENTS LINKS, SOURCE URL AND SCHEMA DATE; SHARED HEADER SCRIPT (PREVIEW r1; FROM v3.57.170) - 2026-11-02
              v3.57.170 - PROVIDER PROS AND CONS, TITLE TAGS AND ONE-ROW HEADER (PREVIEW r3; FROM v3.57.169) - 2026-11-01
              v3.57.169 - COMPARISONS COLLECTION CARD CONTAINMENT AND ALIGNMENT (PREVIEW r1; FROM v3.57.168) - 2026-10-31
              v3.57.168 - PROVIDER TAKES IN THE GREEN-LINE COMPONENT (PREVIEW r1; FROM v3.57.167) - 2026-10-31
              v3.57.167 - COMPLETE SHORTENED SOURCES AND APPLICATIONS VISIT LINKS (PREVIEW r1; FROM v3.57.166) - 2026-10-31
              v3.57.166 - EDITORIAL REFERENCES & SOURCES, REVIEW RAILS, HOW TO MODULE (PREVIEW r1; FROM v3.57.165) - 2026-10-31
              v3.57.165 - COMPARISON TAKES IN THE EXISTING GREEN-LINE COMPONENT (PREVIEW r1; FROM v3.57.164) - 2026-10-30
              v3.57.164 - COMPARISON FEATURE SCORES AND FINANCEPROSPECTOR'S TAKE ON THREE COMPARISONS; METHODOLOGY CRITERION HEADINGS IN TITLE CASE (PREVIEW r2; FROM v3.57.163) - 2026-10-30
              v3.57.163 - ARTICLE CLEANUP: SOURCE HEADING REMOVED ON THREE COMPARISONS; CHASE VS. BANK OF AMERICA COMMUNITY REVIEWS REMOVED AND EMPHASIS RETURNED TO BODY STYLING (PREVIEW r2; FROM v3.57.162) - 2026-10-30
              v3.57.162 - THREE COMPARISONS ON THE REFERENCE STRUCTURE: READABILITY PROPOSALS, THREE PROVIDER MODULES BELOW 1280 (PREVIEW r1; FROM v3.57.161) - 2026-10-30
              v3.57.161 - MERCURY VS. NOVO LAYOUT ONLY: WIDER CANVAS FROM 1280, SIDEBAR CTAS REUSE THE PROVIDER-CARD TREATMENT (PREVIEW r1; FROM v3.57.160) - 2026-10-30
              v3.57.160 - MERCURY VS. NOVO REFERENCE PREVIEW: FRESH ARTICLE, PROVIDER-REVIEW PRESENTATION, ONE STICKY PROVIDER SIDEBAR (PREVIEW r5; FROM v3.57.158; v3.57.159 NOT INCLUDED) - 2026-10-30
              v3.57.158 - CHASE VS. BANK OF AMERICA CBA01-CBA04 (FAQ TITLE CASE, METHODOLOGY LINK AND RECHECKED DATE REMOVED, CARD-REGION NAMES); NAV-CHROME-01 SUBMENU STAYS DISMISSED AFTER ESCAPE (PREVIEW r1; FROM v3.57.157) - 2026-10-29
              v3.57.157 - MERCURY VS. NOVO MN01-MN04: FAQ TITLE CASE, METHODOLOGY LINK AND CHECKED DATE REMOVED, DISTINCT CARD-REGION NAMES (PREVIEW r1; FROM v3.57.156) - 2026-10-29
              v3.57.156 - HOW TO OPEN A BUSINESS BANK ACCOUNT HTO01-HTO02: FAQ TITLE CASE, TABLE REGION NAMES (PREVIEW r1; FROM v3.57.155) - 2026-10-29
              v3.57.155 - BEST ONLINE BUSINESS BANK ACCOUNTS O01-O03: MERCURY MONTHLY VS ANNUAL PRICING, FOUND CASH FEE QUALIFIED + FEE SCHEDULE SOURCE, MERCURY ACCOUNTANT ROLE (PREVIEW r1; FROM v3.57.154) - 2026-10-29
              v3.57.154 - BEST BUSINESS BANK ACCOUNTS BBA01 / BBA03 / BBA04: FAQ TITLE CASE, HOW TO OPEN LINKS CORE BLUE, TABLE REGION NAMES; BBA02 WITHDRAWN (PREVIEW r2; FROM v3.57.153) - 2026-10-29
              v3.57.153 - BEST BUSINESS CHECKING BC01-BC04: FOUND 15 MEMBERS, FAQ TITLE CASE, FOUND CASH FEE QUALIFIED + FEE SCHEDULE SOURCE, READ-REVIEW CARD ARROW KEPT WITH LAST WORD; ITEMLIST UNORDERED (PREVIEW r1; FROM v3.57.152) - 2026-10-29
              v3.57.152 - BANK OF AMERICA B01: CLOSING CTA WRAPS (SCOPED; NO OVERFLOW AT 320 / 400% ZOOM / TEXT SPACING) (PREVIEW r1; FROM v3.57.151) - 2026-10-29
              v3.57.151 - SLASH S01: INVOICING FAQ ANSWER, HOW TO CREATE AN INVOICE SOURCE; S02 30-DAY LINE KEPT (AGREEMENT 9(c)) (PREVIEW r1; FROM v3.57.150) - 2026-10-29
              v3.57.150 - NOVO N01: BOOKKEEPING SOURCE DESCRIPTION, BOOKKEEPING DATA AFTER ACCOUNT CLOSURE SOURCE (PREVIEW r1; FROM v3.57.149) - 2026-10-29
              v3.57.149 - FOUND F01: CASH DEPOSIT FEE-TABLE ROW, CASH DEPOSITS FUNDING BULLET, CASH DEPOSITS SOURCE (PREVIEW r1; FROM v3.57.148) - 2026-10-29
              v3.57.148 - LILI CORRECTIONS: COMBINED OUTBOUND ACH/WIRE LIMIT $150,000 PER DAY / $500,000 PER MONTH + TAKE (L01), CONTACTING THE LILI TEAM SOURCE (L02) (PREVIEW r1; FROM v3.57.147) - 2026-10-29
              v3.57.147 - GRASSHOPPER CORRECTIONS: TREASURY ELIGIBILITY + SOURCE (G01), DEBIT-CARD DELIVERY 7-10 BUSINESS DAYS + SOURCE (G02); SHARED: BREADCRUMB FOCUS KEEPS GRAY, BYLINE LINK CORE BLUE IN EVERY STATE (G03) (PREVIEW r1; FROM v3.57.146) - 2026-10-29
              v3.57.146 - RHO CONTENT CORRECTIONS: ACH LIMITS $40 MILLION PER DAY, LINKED-ACCOUNT $10 MILLION PER TRANSACTION (R01), "SUPPORTED CURRENCIES" + SUPPORTED COUNTRIES AND CURRENCIES SOURCE (R04), SS-4 DEPOSIT SENTENCE REMOVED (R05) (PREVIEW r1; FROM v3.57.145) - 2026-10-29
              v3.57.145 r2 - + FOUR COMPARISON CONTENTS LINK SETS CORE BLUE IN EVERY STATE (N1), FOOTER SOCIAL GLYPH WHITE ON HOVER (N2), MERCURY SUBSCRIPTION SERVICES ADDENDUM SOURCE (M01), ARTICLE CONTENTS WRAPPER DIV (M02), NO DATE ARIA-LABEL (M03) - 2026-10-28
              v3.57.143 r2 - + COMMUNITY RATINGS SITE-WIDE #6B7280 BOLD (TOP 4 PICKS, REVIEW TABLES), PROVIDERS INTRO #6B7280 (P14), PROVIDERS ITEMLIST ORDER FROM THE SHARED CARD SOURCE (P15) - 2026-10-28
              v3.57.142 - HOMEPAGE COLOUR FIXES: HERO SENTENCE, EDITOR'S PICKS INTRO, WHY TRUST DESCRIPTIONS #6B7280; COMING SOON LABELS #4B5563 (PREVIEW r1; FROM v3.57.141) - 2026-10-27
              v3.57.141 - RESOURCE CENTER HEADINGS: HOMEPAGE "FINANCE RESOURCE CENTER" ("FINANCE" #338E39), BUSINESS BANKING "BUSINESS BANKING RESOURCE CENTER" ("RESOURCE CENTER" #338E39) + NEW SUBCOPY (PREVIEW r1; FROM v3.57.140) - 2026-10-27
              v3.57.140 - OWNER-APPROVED COLOURS: FINANCEPROSPECTOR SCORES CORE GREEN (COMMUNITY RATINGS UNCHANGED), HOMEPAGE HEADLINE #338E39, SCORE-ROW WORDMARK, WHITE MENU TOGGLE (HOVER + KEYBOARD FOCUS), HOMEPAGE CARD TRIAL (BOLD MEDIUM GRAY #6B7280, LIGHTER COMMUNITY STARS), DROPDOWN PAGE NAMES #6B7280, PHONE/TABLET "ALL PROVIDERS" FIRST IN THE PROVIDERS LIST, COLLAPSED LIST NOT FOCUSABLE, ARTICLE DATES MONTH AND YEAR, THREE COMPARISON METHODOLOGY LINKS #2563EB, PROVIDERS DROPDOWN BUSINESS BANKING HEADING #2563EB; PHONE RATING WORDS STAY HIDDEN (PREVIEW r11; FROM v3.57.139, v3.57.138 HELD) - 2026-10-26
              v3.57.139 - BORDER STANDARD OUTSIDE HEROES: PROVIDER + CATEGORIES CARDS AND SCREENSHOT FRAMES 1PX #E5E7EB; EXTERIOR ILLUSTRATION FRAMES 1 CSS PX #90A3BC VIA NON-HERO COPIES (PREVIEW r2; FROM v3.57.137, v3.57.138 HELD) - 2026-10-26
              v3.57.137 - CONSOLIDATED FACTUAL CORRECTIONS F01-F07 (GRASSHOPPER, FOUND, RHO, NOVO, SLASH, BLUEVINE VS. NOVO, BEST BUSINESS BANK ACCOUNTS) (PREVIEW) - 2026-10-25
              v3.57.136 - CUSTOM 404: OWNER-APPROVED COPY, ONE HOMEPAGE LINK, NO SEARCH FORMS OR SIDEBAR WIDGETS (PREVIEW r2) - 2026-10-25
              v3.57.135 - HOW TO OPEN PROVIDER CARDS: TWO-LINE VISIT BOX 640-1279PX (TABLET ROW ALIGNMENT) (PREVIEW) - 2026-10-24
              v3.57.134 - CONSOLIDATED LAUNCH FIXES C01-C06 + WORK R2 RESOLUTIONS (GRASSHOPPER SAVINGS, TOP 4 REL, WHY TRUST, ONLINE SOURCE HEADINGS, SLASH TABLES, RESOURCES DISCLOSURE; NO ARTWORK CHANGES) (PREVIEW r3: HOME TABLE KEPT, CAPTERRA 4.0 GREAT / TRUSTPILOT 4.3 / G2 4.6 FRACTIONAL STARS, SLASH LIST + CAPTIONS; r4: ONE PHONE STAR AXIS) - 2026-10-24
              v3.57.133 - BYLINES: JACQUELINE DENNINGTON ON BEST BUSINESS CHECKING + BEST ONLINE (NO /CONTRIBUTOR/ LINK) (PREVIEW) - 2026-10-21
              v3.57.132 - FOOTER ALIGNMENT: EQUAL COLUMN INTERVALS, BRAND COPY ON THE FIRST LINK ROW (PREVIEW) - 2026-10-21
              v3.57.131 - NOVO PLAIN-TEXT SECTION REFERENCE; TERMS OF USE + COOKIE POLICY MONTH/YEAR DATES (PREVIEW) - 2026-10-21
              v3.57.130 - HOMEPAGE CARD TITLES; PROVIDER CTA BEFORE FAQS; CHECKING READ + VISIT PAIRS (PREVIEW) - 2026-10-21
              v3.57.129 - PROVIDER CLOSING CTAS (BLUE PROMPT, GREEN ACTION); HOMEPAGE MERCURY VS. NOVO CARD; BUSINESS BANKING BEST OF CARDS (PREVIEW r2) - 2026-10-21
              v3.57.128 - BEST ONLINE BUSINESS BANK ACCOUNTS R10 (PLAIN LANGUAGE) + BEST OF CARD FOOTER ALIGNMENT (PREVIEW) - 2026-10-21
              v3.57.127 - BEST ONLINE BUSINESS BANK ACCOUNTS REPLACEMENT (R8, EIGHT ACCOUNTS) (PREVIEW r4) - 2026-10-20
              v3.57.126 - BEST BUSINESS CHECKING ACCOUNTS REPLACEMENT (APPROVED R2, TEN ACCOUNTS) (PREVIEW r2) - 2026-10-20
              v3.57.125 - METHODOLOGY + LEGAL PAGE DATES, TITLE CASE HEADINGS, READ EDITORIAL METHODOLOGY LINK, HOMEPAGE HEADING COLOURS (PREVIEW r2) - 2026-10-20
              v3.57.124 - INLINE METHODOLOGY LINKS, CONSISTENT GLOSSARIES, CENTRED RESOURCE CARDS + TWO SUMMARIES (PREVIEW) - 2026-10-20
              v3.57.123 - MERCURY VS. NOVO COMPARISON ARTICLE; COMPARISON LISTINGS, COMPACT CARDS, HERO VISIT LINKS, PROVIDER-CARD PAIRS, MONTH/YEAR DATES (PREVIEW r3) - 2026-10-20
              v3.57.122 - COMPARISON ARTWORK OUTLINES + CARD SCALE; BUSINESS BANKING CATEGORY CORRECTIONS; PROVIDERS ROW SPACING + HEADING - 2026-10-19
              v3.57.121 - DISTINCT FILLED ARTICLE-TYPE BADGES; HOMEPAGE RESOURCE CENTER ORDER AND TITLES; FOOTER RESOURCES; HERO METHODOLOGY LINK - 2026-10-19
              v3.57.120 - BLUEVINE VS. NOVO COMPARISON ARTICLE (PREVIEW) - 2026-10-19
              v3.57.119 - CHASE VS. BANK OF AMERICA COMPARISON ARTICLE; COMPARISONS BY CATEGORY HEADING; BLUE BEST OF BADGE - 2026-10-18
              v3.57.118 - COMPARISONS LANDING HERO (APPROVED COPY + SUPPLIED ARTWORK ON THE ALL PROVIDERS HERO LAYOUT); BEST BUSINESS BANK ACCOUNTS CARD CORRECTION - 2026-10-18
              v3.57.117 - RELEASE OF REVIEWED v3.57.116 PREVIEW r3 (THREE USE-CASE CARDS, BORDERLESS TOP BUSINESS BANK ACCOUNTS SECTION, BEST GLOSSARY LABEL); NUMBERED v3.57.116 ZIP SUPERSEDED, NEVER INSTALLED - 2026-10-18
              v3.57.116 - BUSINESS BANKING USE CASES: THREE CARDS ACROSS (CASH DEPOSITS CARD REMOVED) - 2026-10-18
              v3.57.115 - COMPACT PAIRED CARDS + BUSINESS BANKING MODULE BELOW HERO + TOP 4 PICKS + BEST MODULE BEFORE FAQS - 2026-10-18
              v3.57.114 - BEST BUSINESS BANK ACCOUNTS REWRITE (R7) + PAIRED BUSINESS BANKING USE-CASE CARDS - 2026-10-18
              v3.57.113 - HOW TO SIDEBAR CLEARS THE ADMIN TOOLBAR + FOOTER LINKEDIN/FACEBOOK DESTINATIONS - 2026-10-18
              v3.57.112 - HOW TO OPEN A BUSINESS BANK ACCOUNT REPLACEMENT (R2) + FOOTER SOCIAL LINKS (LINKEDIN, X) - 2026-10-18
              v3.57.111 - PROVIDER MODULES: APPROVED TEN + HOMEPAGE CATEGORIES (ACCOUNTING COMING SOON) + FOOTER/NAV REMOVALS - 2026-10-18
              v3.57.110 - CHASE BUSINESS COMPLETE REVIEW (R1) + CHASE SCORE ON THE PROVIDERS PAGE - 2026-10-17
              v3.57.109 - BANK OF AMERICA FUNDAMENTALS REVIEW (R1) + BANK OF AMERICA SCORE ON THE PROVIDERS PAGE - 2026-10-17
              v3.57.108 - LILI CORE BUSINESS BANKING REVIEW (R2) + RHO/LILI SCORES ON THE PROVIDERS PAGE - 2026-10-17
              v3.57.107 - RHO BUSINESS BANKING REVIEW (R4) + PROVIDER PREFIXES ON PAYMENT-EXAMPLE HEADINGS - 2026-10-16
              v3.57.106 - FOUND SCREENSHOTS: SIX APPROVED CLEANER IMAGES (NEW FILES; ORIGINALS KEPT) - 2026-10-16
              v3.57.105 - FOUND ALIGNED + TWO APPROVED TAKES; SLASH/MERCURY COMPETITOR SOURCES GROUP - 2026-10-16
              v3.57.104 - NOVO DASHBOARD SCREENSHOT: APPROVED CROP (NEW LOSSLESS WEBP) - 2026-10-16
              v3.57.103 - NOVO SOURCES: WORK'S 31 EXACT DESCRIPTIONS - 2026-10-16
              v3.57.102 - NOVO ALIGNED TO THE APPROVED REVIEW TREATMENTS + TWO APPROVED TAKES - 2026-10-16
              v3.57.101 - FOUR-PROVIDER SOURCES STANDARD + MERCURY EMPHASIS CORRECTION - 2026-10-16
              v3.57.99 - PROVIDER-REVIEW COMPARE STANDARD ON SIX REVIEWS (SUPPORTING CONTENT KEPT) - 2026-10-16
              v3.57.98 - GRASSHOPPER: PUBLIC WEBSITE CLEANUP + CASH-DEPOSIT TAKE - 2026-10-16
              v3.57.97 - GRASSHOPPER ALIGNED TO THE APPROVED REVIEW TREATMENTS; BLUEVINE FEE-WAIVER CONJUNCTIONS UNBOLDED - 2026-10-16
              v3.57.96 - FINAL LOCKED CHANGES: BLUEVINE METHODOLOGY INLINE, VIEWPORT NOTE REMOVED, DASHBOARD PATH REGULAR; SOURCES INTRO (SLASH, MERCURY, BLUEVINE) - 2026-10-16
              v3.57.95 - BLUEVINE: PER-SCREENSHOT CAPTION-LINK LABELS - 2026-10-16
              v3.57.94 - BLUEVINE: ELIGIBILITY DOCUMENTS TO PREPARE + APPLICATION AND REVIEW (WORK-CLEARED R2) - 2026-10-15
              v3.57.93 - BLUEVINE: CAPTION LINKS RESTORED UNDER ALL FIVE SCREENSHOTS - 2026-10-15
              v3.57.92 - BLUEVINE: WORK'S TEN CORRECTIONS TO v3.57.91 (BLUEVINE ONLY) - 2026-10-15
              v3.57.91 - BLUEVINE ALIGNED TO THE APPROVED MERCURY/SLASH TREATMENTS + TWO APPROVED TAKES (BLUEVINE ONLY) - 2026-10-15
              v3.57.89 - SLASH GLOSSARY: WHY IT MATTERS LINES REMOVED (OWNER) - 2026-10-15
              v3.57.88 - MERCURY QUICK VERDICT SCORES IN SLASH'S BULLET LIST (FORMATTING ONLY) - 2026-10-15
              v3.57.87 - MERCURY + SLASH: SECTION-COPY LINKS REMOVED (APPROVED PREVIEWS); SOURCES RELOCATIONS - 2026-10-15
              v3.57.86 - SLASH + MERCURY CORRECTIONS: QUICK VERDICT ORDER, TABLE LABELS, MERCURY FEATURE SCORES TABLE, SOURCES ORDER, MARKERS 600, MOBILE MENU NAMES 14/500 - 2026-10-15
              v3.57.85 - SLASH UPDATE AS v3.57.84 WITH THE GLOSSARY LABEL SCOPED TO SLASH (FOUND UNCHANGED) - 2026-10-15
              v3.57.84 - SLASH REVIEW UPDATE (OWNER COPY SHEET); PROVIDERS MENU HEADING 16/700 - 2026-10-15
              v3.57.83 - MERCURY: LINK TYPOGRAPHY (HERO CTA 17/600, CLOSING CTA 19/600) - 2026-10-15
              v3.57.82 - MERCURY: CLOSING PROMPT DARK GREEN 19/700; ALL SIX SCREENSHOTS CROPPED TO CLEAN INTERFACE AREAS - 2026-10-15
              v3.57.81 - MERCURY: CLOSING PROMPT CORE NAVY; VISIT MERCURY WEBSITE ARROW; SCREENSHOT LAVENDER SURROUND TRIMMED - 2026-10-15
              v3.57.80 - MERCURY: FINANCEPROSPECTOR FEATURE SCORES SECTION AFTER AT A GLANCE; ELIGIBILITY LINK ARROW - 2026-10-15
              v3.57.79 - CORRECTIONS: BREADCRUMB FOCUS RING, METHODOLOGY BODY LINKS, SUB-MENU ARIA-EXPANDED MATCHES HOVER/FOCUS - 2026-10-15
              v3.57.78 - EDITORIAL METHODOLOGY REPLACED (V3 COPY, V2 TABLES/METADATA); PROVIDERS MENU: BUSINESS BANKING IN FIVE COLUMNS, TEN NAMES - 2026-10-14
              v3.57.77 - MERCURY: "GET STARTED WITH MERCURY" INLINE AT THE END OF ELIGIBILITY (ADDENDUM) - 2026-10-14
              v3.57.76 - MERCURY V10 REVISION (SECTION ORDER, QUICK VERDICT SCORES, CENTRAL SOURCES, FOUR TAKES, SECTION ACCORDIONS); HEADER ARROW DOWN FOCUS FIX - 2026-10-14
              v3.57.74 - MERCURY BUSINESS BANKING REVIEW (V7) AT /PROVIDERS/MERCURY/; MERCURY UNDER BUSINESS BANKING; AVERAGE OF 5 FEATURE SCORES ON ITS PROVIDERS CARD - 2026-10-14
              v3.57.72 - PROVIDER REVIEWS: CLOSING LINE "READY TO EXPLORE [PROVIDER]? GET STARTED WITH [PROVIDER]."; PROMPT IN CORE GREEN - 2026-10-13
              v3.57.71 - PROVIDER REVIEWS: COMMON CLOSING LINE "READY TO EXPLORE [PROVIDER]? APPLY ON [PROVIDER]" ON ALL FIVE - 2026-10-13
              v3.57.70 - MENU BELOW 1024: A PRESS ON ONE SUB-MENU TRIGGER NO LONGER MOVES THE LIST BEFORE THE PRESS LANDS - 2026-10-13
              v3.57.69 - PROVIDER REVIEWS: CAPTION LINKS FOLLOW THE CAPTION; GRASSHOPPER TRUSTPILOT LINK AT SOURCE SIZE; MENU SUB-MENU PRESS FIX BELOW 1024 - 2026-10-13
              v3.57.68 - PROVIDER REVIEWS: REMAINING RESEARCH AND SOURCE-DOCUMENT DATES REMOVED FROM READER COPY; NOVO PAYMENT OPTIONS WORDING - 2026-10-13
              v3.57.67 - EDITORIAL DATES FROM ONE SOURCE (HERO, SCHEMA, LISTS); DATE STACKED UNDER THE BYLINE ON PHONES; GRASSHOPPER-ONLY BYLINE RULE REMOVED - 2026-10-13
              v3.57.66 - ONE EDITORIAL DATE PER ARTICLE (PUBLISHED ON / LAST UPDATED); CHECK AND RETRIEVAL DATES REMOVED - 2026-10-13
              v3.57.65 - FOOTER COLUMN HEADINGS: MEDIUM GREEN #6FC875 FOR CONTRAST (5.11:1) - 2026-10-12
              v3.57.64 - NOVO: SIX LABELS IN THE SELECTED-FEATURES TABLE SET IN TITLE CASE - 2026-10-12
              v3.57.63 - NOVO: THREE FACTUAL WORDING CORRECTIONS (TWO USER-ROLE CELLS, ONE QUICK VERDICT PHRASE) - 2026-10-12
              v3.57.62 - NOVO: FIVE APPROVED FEATURE SCORES AND THEIR AVERAGE (9.1); FOUR COMPARISONS UNSCORED; NOVO STAYS UNRANKED - 2026-10-12
              v3.57.61 - NOVO REVIEW: WISE CITATIONS ADDED TO THE SCENARIO SOURCE LINE AND THE REFERENCES - 2026-10-12
              v3.57.60 - NOVO REVIEW REVISION 2: SCENARIOS, SELECTED-FEATURES COMPARISON, APPLICATION PREPARATION, PLANNING GUIDANCE, REFERENCES - 2026-10-12
              v3.57.59 - NOVO REVIEW: TWO PRODUCT IMAGES AND THE SCORING-PENDING LINE IN THE QUICK VERDICT - 2026-10-12
              v3.57.58 - NOVO IN THE PROVIDERS MENU; NOVO UNRANKED ON BEST BUSINESS BANK ACCOUNTS; INTEGRATIONS COUNT REMOVED - 2026-10-12
              v3.57.57 - NOVO RANKING TREATMENT, ITEMLIST SCHEMA AND INTEGRATIONS CLAIM ON BEST BUSINESS BANK ACCOUNTS - 2026-10-12
              v3.57.56 - "SCORE PENDING" CARD KEEPS FULL HEIGHT IN EVERY PROVIDER MODULE - 2026-10-12
              v3.57.55 - NOVO SCORES RECONCILED TO "SCORE PENDING" ON EVERY PAGE - 2026-10-12
              v3.57.54 - NOVO BUSINESS BANKING REVIEW, CORRECTED CANDIDATE (NO SCORES DISPLAYED) - 2026-10-12
              v3.57.52 - PROVIDER REVIEWS: SIX CONSISTENCY CORRECTIONS - 2026-10-11
              v3.57.51 - PROVIDER REVIEWS: LIST LEAD-INS, ADDITIONAL-SERVICES HEADINGS, SOURCE SEPARATORS - 2026-10-10
              v3.57.50 - PROVIDER REVIEWS: SLASH AT-A-GLANCE TABLE, FOUND SOURCE-LINK LABELS, LEGAL-SECTION HEADINGS - 2026-10-10
              v3.57.49 - PROVIDER REVIEWS: SECOND CONSISTENCY ROUND (LABELS ONLY) - 2026-10-10
              v3.57.48 - PROVIDER REVIEWS: CONSISTENT SECTION LABELS, FEATURE SUMMARY, COMMUNITY TABLES, CAPTION LINKS - 2026-10-10
              v3.57.47 - GRASSHOPPER REVIEW: FIVE SECTION LABELS, HERO SEPARATOR, CAPTION LINK - 2026-10-10
              v3.57.46 - GRASSHOPPER BUSINESS BANKING REVIEW; /PROVIDERS/ GRASSHOPPER CARD - 2026-10-10
              v3.57.45 - REFERENCES: FOUND AND BLUEVINE PROVIDER SUBHEADINGS; PROVIDERS DROPDOWN HOVER BRIDGE - 2026-10-09
              v3.57.44 - FOUND REVIEW: FOUR WORDING CORRECTIONS (CHECK DEPOSITS, ELIGIBILITY) - 2026-10-09
              v3.57.43 - FOUND REVIEW: AVERAGE OF 4 FEATURE SCORES, CHECK-DEPOSIT AND DIRECT-DEBIT COPY, POCKETS IMAGE; /PROVIDERS/ FOUND CARD - 2026-10-09
              v3.57.42 - FOUND REVIEW: QUICK VERDICT LEAD-INS, EDITORIAL REFERENCES, META DESCRIPTION - 2026-10-09
              v3.57.41 - FOUND BUSINESS BANKING REVIEW - 2026-10-09
                New provider review at /providers/found/ on the Slash/Bluevine review template.
              v3.57.40 - SLASH REVIEW: FEATURE SCORES TABLE HEADINGS AND /10 - 2026-10-09
              v3.57.39 - SLASH REVIEW: FEATURE SCORES + COMMUNITY REVIEWS - 2026-10-09
              v3.57.38 - /PROVIDERS/: DIRECTORY LIST BENEATH THE CARDS REMOVED - 2026-10-09
              v3.57.37 - /PROVIDERS/: READ REVIEW ON MERCURY, RHO AND LILI - 2026-10-08
                Same button as the other cards; no destination until a review is published.
              v3.57.36 - /PROVIDERS/: ALL TEN CARDS THE SAME HEIGHT - 2026-10-08
                Cards without a score or a published review reserve that space.
              v3.57.35 - /PROVIDERS/: MERCURY, RHO AND LILI CARDS - 2026-10-08
                Three cards appended after the existing seven; no score, and
                "Read Review" only once a review page is published.
              v3.57.34 - BLUEVINE: FEATURE SCORES HEADING + PROVIDERS CARD LABEL - 2026-10-08
                Heading, contents label and table name in the Bluevine review;
                Bluevine card label on /providers/. Nothing else.
              v3.57.33 - BLUEVINE REVIEW: COMPARISON WITH MERCURY, NOVO AND CHASE - 2026-10-08
                One subsection inside the existing Slash comparison section and one
                contents entry. Bluevine review only.
              v3.57.32 - BLUEVINE REVIEW: AVERAGE OF 7 FEATURE SCORES + COMMUNITY REVIEWS - 2026-10-08
                Average block inside the existing Quick Verdict; new Community Reviews
                section and contents entry. Bluevine review only.
              v3.57.31 - BLUEVINE REVIEW: THREE WORDING CHANGES - 2026-10-08
                Two body sentences and one FAQ question in the Bluevine review.
                Nothing else is changed.
              v3.57.30 - BLUEVINE BUSINESS CHECKING STANDARD REVIEW - 2026-10-08
                New provider review at /providers/bluevine/ on the Slash review template.
                Slash review, other articles and the methodology page are unchanged.
              v3.57.29 - SLASH REVIEW: THREE PARAGRAPHS AND THE METHODOLOGY LINK - 2026-10-07
                Three supplied paragraph replacements; 'Average of 3 Feature Scores' in the
                Quick Verdict links to /editorial-methodology/.
              v3.57.28 - PROVIDERS HERO: SIDE-COLUMN COPY - 2026-10-07
                Two paragraphs replaced with supplied copy; nothing else in the hero changes.
              v3.57.27 - PROVIDERS PAGE: CARD BUTTONS ALIGNED - 2026-10-07
                Score labels reserve two lines from 640px so buttons line up across a row.
              v3.57.26 - SLASH: PROVIDERS-PAGE CARD AND REVIEW BREADCRUMB - 2026-10-06
                /providers/ Slash card: 9.0/10, 'Average of 3 Feature Scores'.
                Provider-review breadcrumb takes the record title.
              v3.57.25 - SLASH REVIEW: FIVE SMALL CORRECTIONS - 2026-10-06
                Consistent list labels; linked section and fee-table references; on phones the
                profile link sits under the name and 'Visit Slash' under the logo.
              v3.57.24 - SLASH REVIEW: WORK'S REPETITION-CLEANUP COPY PATCH - 2026-10-06
                Exact replacements and removals in 14 places; best-for paragraph leads the verdict.
              v3.57.23 - SLASH REVIEW: QUICK VERDICT AVERAGE AND SCORE WORDING - 2026-10-06
                'Average of 3 Feature Scores: 9.0/10', one covering sentence, one line per score.
              v3.57.22 - SLASH REVIEW: QUICK VERDICT AVERAGE LABEL - 2026-10-06
                The label reads 'Average Across 3 Dimensions: 9.0/10'. Otherwise identical to v3.57.21.
              v3.57.21 - SLASH REVIEW: NEW QUICK VERDICT; PRICING NOTE; COMPACT PHONE LOGO ROW - 2026-10-06
                Quick Verdict replaced: three-dimension average, best-for paragraph, one line per score.
                A note beneath the pricing screenshots on two pictured fees, with a link to
                Slash's deposit-insurance disclosure; on phones 'Visit Slash' sits beside the logo.
              v3.57.20 - SLASH REVIEW: COMPLETE PRICING PANELS; FAQ, DATES, SOURCES - 2026-10-06
                Complete Free and Pro pricing screenshots; full-width byline row on phones;
                funding FAQ answer and its section link ('a_html', opt-in); check dates;
                shorter introduction; three sources on the security section.
              v3.57.19 - BUILD LOG CORRECTED; NO CHANGE TO THE PAGE - 2026-10-06
                Built from v3.57.18, whose docs/build-log.md repeated the v3.57.17 entry.
                Carries v3.57.18's page changes unchanged.
              v3.57.18 - SLASH REVIEW: SHORTER HERO ON TABLET AND PHONE; STACKED CARD PANELS; SOURCES - 2026-10-06
                Built from v3.57.17. Below 1024px the review hero is rearranged, with no type change,
                to be shorter. Card screenshot panels stack on tablets. Source lines and four source
                entries for the cleared additions. One FAQ cross-reference reworded.
              v3.57.17 - SLASH REVIEW: SHORTER ASSUMPTIONS IN THE PAYMENT-COST EXAMPLES - 2026-10-06
                Built from v3.57.16. The four Assumptions cells of the Illustrative Payment-Cost
                Examples table no longer restate the activity. Activity and outcome unchanged.
              v3.57.16 - SLASH REVIEW: FIGURE LINKS TO SLASH PAGES; CROPPED PRICING SCREENSHOTS - 2026-10-06
                Built from v3.57.15. Each figure's link goes to the Slash page pictured instead of
                a larger image. The two pricing screenshots are cropped above the rows the review
                holds. Two full-size composite images are no longer shipped.
              v3.57.15 - SLASH REVIEW: SEO CONTENT PATCH; UNVERIFIED G2 SECTION REMOVED - 2026-10-05
                Built from v3.57.14. Condensed Quick Verdict, six more specific H2 headings and
                alt text on nine screenshot panels, from the supplied content patch. The Slash
                Community Reviews section is removed because its G2 figures could not be verified.
              v3.57.14 - SLASH REVIEW: FINAL CORRECTIONS - 2026-10-05
                Built from v3.57.13. On phones the review's evidence date takes its own line and
                the separator dot is not shown. One Treasury sentence reworded. New meta description.
              v3.57.13 - SLASH REVIEW: NEW TITLE - 2026-10-05
                Built from v3.57.12. The Slash review's title is 'Slash Business Banking Review
                (2026): Features & Benefits' for the H1, breadcrumb, document title, social title
                and structured-data headline. The slug is unchanged.
              v3.57.12 - SLASH REVIEW: TITLE CASE FOR HEADINGS AND LABELS - 2026-10-05
                Built from v3.57.11. Headings, table labels, contents labels, glossary terms and
                bold lead-in labels in the Slash review are in Title Case. Capitalisation only;
                body sentences, quoted legal text and every other article are unchanged.
              v3.57.11 - SLASH REVIEW BYLINE: JACQUELINE DENNINGTON - 2026-10-05
                Built from v3.57.10. The Slash review's byline is Jacqueline Dennington with a
                LinkedIn Profile link beneath the name ('byline_person', opt-in). No author
                popover on this review; its Article schema author is the same person. Every
                other article keeps its byline.
              v3.57.10 - PROVIDER REVIEW: SCORE NUMBERS MATCH THE HOMEPAGE SCORE - 2026-10-05
                Built from v3.57.9. Score numbers in a review's tables are 14px, weight 700,
                #15803D - the homepage Editor's Picks score styling - at every width.
              v3.57.9 - SLASH FREE REVIEW: CLEARED CONTENT ADDITIONS - 2026-10-05
                Built from v3.57.8. Adds the cleared copy: cashback eligibility and redemption in
                Cost; a new section, Additional Slash Products and Services, after Digital Banking;
                one conditional dedicated-channel paragraph in Support Access; one new contents entry.
              v3.57.8 - PROVIDER REVIEW: COMPACT MULTI-COLUMN ON THIS PAGE - 2026-10-05
                Built from v3.57.7 (packaged, never installed). On a provider review the contents
                list runs in four columns from 1024px, two from 640px and one on phones, with
                tighter padding and link spacing. Other article families are unchanged.
              v3.57.7 - SLASH FREE REVIEW: LARGER LOGO TILE; FINAL REMOVALS - 2026-10-05
                Built from v3.57.6 (packaged, never installed). Hero logo tile 160px (120px on
                phones). On phones the Reddit contact row is a text link, not an image. The
                Related products section and the Quick Verdict provider link are removed.
              v3.57.6 - SLASH FREE REVIEW: FULL TITLE RESTORED; PER-PANEL SCREENSHOTS - 2026-10-05
                Built from v3.57.5 (packaged, never installed). The visible H1 is the full approved
                title again, with a phone size that sets it comfortably. Pricing and card screenshots
                are complete panels (side by side from 640px, stacked on phones); the contact image
                is complete from 640px and complete panels on phones. Nothing scrolls sideways.
              v3.57.5 - PROVIDER REVIEW HERO: LOGO BLOCK AND PROVIDER LINK - 2026-10-05
                Built from v3.57.4 (packaged, never installed). A provider review's hero has its
                copy on the left and, on the right, a logo tile with the provider link beneath
                it ('review_provider'). Stacks below the copy on phones. Slash uses the approved
                logo placeholder until its mark is supplied.
              v3.57.4 - SLASH FREE REVIEW: FINAL CORRECTIONS - 2026-10-05
                Built from v3.57.3 (packaged, never installed). FAQ topic-tabs screenshot removed.
                Reddit contact row kept as one image on phones. Pricing and card screenshots shown
                larger. Visible H1 'Slash Free Review (2026)'; the approved full title stays as the
                SEO title.
              v3.57.3 - SLASH FREE REVIEW: WORK'S VISUAL-QA CORRECTIONS AND JACKIE'S FOUR SCREENSHOTS - 2026-10-05
                Built from v3.57.2 (packaged, never installed). Four supplied screenshots replace the
                recaptures, with panel crops on phones. Shorter visible H1 (full title kept as the SEO
                title). Phone label of the Pro fee row corrected. Orphan legal note 7 omitted.
                Captions read 'Screenshot captured October 5, 2026'.
              v3.57.2 - SLASH FREE REVIEW: REVISION 48 COPY, RECAPTURED IMAGES, PER-TERM GLOSSARY - 2026-10-05
                Built from v3.57.1 (packaged, never installed). The Slash review carries the
                approved Revision 48 copy. The legal disclosures are text with links; the legal
                screenshot and its enlarged detail are removed. Three images recaptured from
                Slash's public site, centred at a capped width, with a phone capture below 640px.
                On a provider review each glossary term is its own dropdown.
              v3.57.1 - SLASH FREE REVIEW: REVISION 45 COPY AND FOUR SCREENSHOTS - 2026-10-05
                Built from v3.57.0 (packaged, never installed). The Slash review record,
                body and Sources parts carry the approved Revision 45 copy. Adds four
                provider screenshots with captions and full-size links, a Quick Verdict
                with a provider link ('quick_html'), and a second glossary line ('why').
              v3.57.0 - SLASH FREE PROVIDER REVIEW; REUSABLE PROVIDER-REVIEW PATTERN - 2026-10-04
                Built from v3.56.14 (installed). New article record 'slash' for the page
                /providers/slash/, with its body and Sources parts. The shared article
                template gains five opt-in keys (review, hero_kicker, hero_note,
                toc_heading, and an optional hero image); every existing article emits
                identical markup. Review styles are scoped to .fp-article--review.
              v3.56.14 - HOW TO OPEN: TOP PROVIDER MODULES AT CONTAINER WIDTH - 2026-09-30
                Built from v3.56.13 (installed). From 1280 both How to Open
                provider modules take the 1200px container, matching Best
                Business Bank Accounts (258px cards, single-line label and
                links). The reading column stays 1000px.
              v3.56.13 - ARTICLE PROVIDER CARDS, METHODOLOGY SPACING, COMPARISON TABLES - 2026-09-30
                Built from v3.56.12 (installed). Article Top Provider cards
                centre the text column, read "FinanceProspector Score", keep
                the Visit link inside the card and align rows. 16px between
                the Methodology lead-in and its dimensions. Comparison tables
                keep "FinanceProspector" whole on phones.
              v3.56.12 - ADVERTISER DISCLOSURE ON EVERY PAGE WITH PROVIDER LINKS - 2026-09-30
                Built from v3.56.11 (installed). Disclosure eligibility now
                follows the provider components' own data; added to All
                Providers, Accounting & Bookkeeping, Resources and the
                Comparisons hub. The disclosure row is white on tablet and
                phone (no gray bar). Read Review renders solid Core Blue.
              v3.56.11 - COLLECTION GRID BELOW 1280 + FOOTER SEPARATORS - 2026-09-29
                Built from v3.56.10 (installed). Collection cards: one
                full-width column below 680, two columns 680-1023, three
                1024-1279; 1280+ unchanged. Footer legal row: no separator
                is left stranded at a line break.
              v3.56.10 - RESOURCES GAP 32PX - 2026-09-29
                Built from v3.56.9 (installed). The four Resources pages sit
                32px (was 24) from the breadcrumb's last line of letters to
                the first hero text at every width; each hero moves as one
                block. Nothing else changes.
              v3.56.9 - RESOURCES BREATHING ROOM + PROVIDER CARD BORDER - 2026-09-29
                Built from v3.56.8 (installed). The four Resources pages sit
                24px from the breadcrumb's last line of letters to the first
                hero text at every width; each hero moves as one block. The
                /providers/ cards take a 1px Structural Gray #90A3BC border.
              v3.56.8 - PROVIDERS ROW, COPY + BREADCRUMB SPACING BY FAMILY - 2026-09-29
                Built from v3.56.7 (installed). /providers/: approved copy for
                the two hero columns and the section line; category row at
                160px with a Providers-only illustration copy (1.00px frame,
                2.75px lines), 28 / 600 heading, Dark Green phrase, stacked
                phone heading, 16px row -> cards. Breadcrumb letters -> first
                hero text / card / band / icon matched within each hero family
                at the family's shortest gap. Wrapped article pill fixed.
              v3.56.7 - PROVIDERS SECTION + SITE-WIDE HERO OFFSET - 2026-09-29
                Built from v3.56.6 (installed) with two approved changes.
                (1) /providers/: the supporting line at full width; the Business
                Banking row (96px illustration on the page axis, "Top Business
                Bank Account Providers" 24 / 600); the seven-provider module
                reused from Best Business Bank Accounts - no frame or heading,
                "FinanceProspector Score", a disabled Read Review button until
                a review is published, Visit links kept, 5 + 2 left-aligned.
                (2) Breadcrumb -> first hero content ~20px (18.6-21.9 measured)
                on category, index, collection, All Providers and info/legal
                heroes; no page taller; navigation -> breadcrumb unchanged.
              v3.56.6 - PROVIDERS BY CATEGORY: SUPPORTING LINE - 2026-09-29
                Built from v3.56.5 (installed). template-parts/providers-index.php
                only, plus this header and docs/build-log.md: the line under
                "Providers by Category" is now "Each provider review includes a
                FinanceProspector Score and an assessment of its products and
                services." No other copy, style, spacing or content changes.
              v3.56.5 - PROVIDERS: APPROVED COPY + PROVIDERS BY CATEGORY - 2026-09-29
                Built from v3.56.4 (installed). /providers/ only: new body copy
                in both hero side columns, and the section below the hero opens
                with "Providers by Category" (Navy, "Category" Green Dark; the
                Top 4 Picks section header) and its supporting line. The old
                "Provider reviews are being published..." sentence is removed.
                template-parts/providers-hero.php, template-parts/providers-
                index.php and assets/css/components/providers-index.css, plus
                this header and docs/build-log.md.
              v3.56.4 - HERO LABELS: ONE SCALE IN EVERY HERO - 2026-09-29
                Built from v3.56.3 (installed). Four CSS files, plus this header
                and docs/build-log.md. The blue uppercase labels in all six heroes
                (Business Banking, Accounting & Bookkeeping Software, Buying Guides,
                Best Financial Products & Services, Comparisons, All Providers)
                read one pair of tokens in base.css: 14 / 600 on 16.25px below
                1280px, 16 / 600 on 18px from 1280px, 1.04px, centred in their own
                card or column. The category heroes render identically to v3.56.3.
                The collection heroes give any extra label line back from their
                own side padding (< 1200) or copy gaps (Buying Guides and Best
                Financial, >= 1280). No hero is taller than in v3.56.3 at any
                width from 360 to 1440px. Every PHP file is unchanged.
              v3.56.3 - CATEGORY HERO LABELS: 16 / 14PX, CENTRED - 2026-09-29
                Built from v3.56.2. assets/css/components/category-hero.css only,
                plus this header and docs/build-log.md. Card 1 "Best ..." and
                Card 3 "How We Evaluate ..." share one rule: 16 / 600 from 1280px,
                14 / 600 below, centred; blue, uppercase and 1.04px tracking kept.
                From 1280 a two-line label block takes its extra height from the
                label-to-illustration gutter; below 1280 the label may use 12px of
                the card's side padding. Neither category hero is taller than in
                v3.56.2 at any width from 360 to 1440px. Card bottom padding stays
                20px. Every PHP file and every other asset is unchanged.
              v3.56.2 - HERO TITLE BREAKPOINTS: SCROLLBAR ALLOWANCE - 2026-09-29
                Built from v3.56.1 (installed). assets/css/base.css only, plus this
                header and docs/build-log.md. Two rule changes on the shared hero
                title scale: a 28 / 30.8 / -0.84px step below 380px, and the
                36px step extended from 1359.98px to 1379.98px. No hero title runs
                past two lines from 360 to 1440px with or without a classic
                scrollbar. Every PHP file and every other asset is unchanged.
              v3.50.2 - BUYING GUIDES CARD + ARTICLE ILLUSTRATION LABEL TYPOGRAPHY - 2026-09-21
                TWO frozen items, nothing else. The installed How-To article (v3.50.1) is
                byte-identical.
                ITEM 2 - Buying Guides card. inc/collection-data.php only: an explicitly
                declared collection-entry title is no longer overwritten by the registry
                title, and the How-To entry declares the approved CARD DISPLAY title
                "How to Open a Business Bank Account in 2026: Requirements & Steps". The
                card measures 384x362 with every shared property equal to the three frozen
                Best Of cards - padding 24, radius 12, border 1px #E5E7EB, stage 256x134,
                title top 220, title block 79px/3 lines at 22px/26.4px/600, date top 324,
                CTA top 323, bottom padding 25. No clamp, no ellipsis, no min-height, no
                typography change, no global card CSS. The article H1, SEO title,
                breadcrumb, page title, schema and copy are untouched, and the card link's
                accessible name still carries the full canonical title. Inert for every
                other entry: no other from_registry entry declares a title.
                ITEM 3 - article illustration label typography. The four Business Banking
                illustrations are normalized to one common rendered label cap-height,
                5.62-6.00px against a 5.80px target at collection-card display size
                (previously 3.38-6.88px). Label copy is unchanged; all 15 labels and 211
                letter-body glyph paths are Core Navy #173F73 exactly; no stroke, opacity,
                filter, blend, mask, gradient or inherited fill. In the three Best Of files
                every <path> d= is byte-identical to the outgoing asset - the glyphs are
                resized by wrapper <g> transforms only - and the How-To illustration's
                labels are regenerated from the theme's own Inter 400. Each is a NEW
                versioned file with the outgoing one retained and unreferenced. The frozen
                card transforms 1.181 / 0.918 / 1.240 / 1.220 are unchanged.
                NOT included, deliberately: Core-only colour normalization, redirects,
                legacy-page retirement and the five held internal links.
              v3.50.1 - HOW-TO ARTICLE BODY: RESTORE THE body_part POINTER - 2026-09-20
                ONE registry field. v3.50.0 shipped the how-to-open-a-business-bank-account
                record without 'body_part', which page-templates/article.php uses to resolve
                the main body, '-mid', '-close-top' and '-close'. get_template_part() emits
                nothing for a slug it cannot locate, so the installed page rendered hero, dek,
                Quick Answer, On This Page, FAQ and Glossary and silently dropped all 25 body
                sections plus the References and Editorial Note tail - while all three body
                files were installed and correct. Nothing else changes: copy, dek, hero,
                card scale 1.220, article and collection CSS, table behaviour, components,
                the frozen Best Of articles, the three authorized href migrations and the five
                held links are all byte-identical to v3.50.0.
              v3.50.0 - HOW TO OPEN A BUSINESS BANK ACCOUNT (2026) - 2026-09-20
                New canonical article at /how-to-open-a-business-bank-account/, built
                from FINAL_CANONICAL_v1.3.docx (word/document.xml SHA-256
                8a256233...95288e8): registry record, three body parts, the frozen
                how.to.business.v1 hero (5d1f69c3...9e67ec) and its social derivative.
                It REPLACES two retired articles - /business-bank-account/ and
                /resources/how-to-choose-the-right-business-bank/ - whose records, body
                parts and article-specific assets are removed. Both need a permanent 301
                to the new URL, implemented OUTSIDE the theme; this theme has no redirect
                facility and gains none here.
                Buying Guides swaps its single Business Banking entry to the new article;
                the /best-of/ collection is byte-identical. The Business Banking category
                card now falls back to the article registry when a key has no fp_guides()
                record, so no shadow guide record is needed.
                Presentation, all scoped to this slug: the existing table--wrap-head,
                footnote and eyebrow tokens are extended to it, and one scoped card
                transform scale(1.220). article.php renders the dek only when a record
                supplies one. assets/js/article-tables.js now shows the scroll hint
                whenever a table actually overflows instead of only below 1024px - proven
                inert first across 458 table measurements on 10 live pages, 0 overflow.
                Three authorized href-only migrations in frozen articles (Best Business
                Bank Accounts 172 and 600, Online BBA mid 55). Five further links to the
                retired URL are deliberately HELD pending approved replacement copy.
              v3.49.3 - BEST OF CARD ARTWORK, OPTICAL PARITY - 2026-09-20
                Online Business Bank Accounts card scale 1.183 -> 1.240, judged
                optically against the row. Nothing else changes.
              v3.49.2 - BEST OF CARD ARTWORK NORMALISATION - 2026-09-20
                One scoped transform so the third Best Of card's illustration
                matches the other two. No SVG, layout or card geometry change.
              v3.49.1 - BEST OF LISTING - 2026-09-20
                One append-only entry so Best Online Business Bank Accounts of 2026
                appears third on /best-of/. No other surface changes.
              v3.49.0 - BEST ONLINE BUSINESS BANK ACCOUNTS OF 2026 - 2026-09-20
                New Best Of article: registry record, four body parts, approved hero
                and social derivative. One shared opt-out ('providers_single') so this
                article emits the provider module once; every other record is unchanged.
              v3.40.84 - BBA regulatory precision update - 2026-09-09
                FinCEN BOI final rule and optional February 2026 CDD relief clarified.
              All custom styles live in assets/css/ — not this file.
              Foundation: v1.0
              v3.42.13 - BBA SLASH PRO MODELED INPUTS + TABLE-NOTE TYPOGRAPHY - 2026-09-18
                Best Business Bank Accounts of 2026 only; two corrections to v3.42.12.
                (1) Modeled rates, Slash Pro row: same-day/expedited ACH and outgoing
                domestic wire corrected from $1 and $6 to $0 and $0. slash.com/pricing,
                reverified 2026-09-18, lists Slash Pro at $25/month with same-day ACH $0
                and domestic wire $0, while Slash Free is $1 and $6 - which is what the
                article's own break-even paragraph already stated. The row had repeated
                the Free prices, so the published $300 Slash Pro result could not be
                reproduced from the table built to reproduce it (it computed to $492).
                The INPUTS are corrected, not the result: 12 x $25 = $300 is unchanged,
                as is every other Original Research figure.
                (2) Table-note typography: copy whose purpose is to explain, qualify,
                source, date, define or document a table's assumptions now renders as
                canonical 14px fine print in every section. The v3.42.4 adjacency rule
                and its :not(#feature-comparisons) exception are replaced by one semantic
                rule over .fp-article__table-note, .fp-article__table-takeaway and
                .fp-article__research-note; eight previously unclassed table notes gain
                the new class. This supersedes the 2026-09-16 decision keeping research
                notes at body size; their left rule is retained. Substantive copy near a
                table - FinanceProspector finding, Key Research Finding, scenario setup
                and analysis - is untouched at 17px. The Top Picks rationale lead-in is
                now semantically bold; its wording is unchanged. Scores, rankings,
                snapshots, schema, author implementation and provider links unchanged.
              v3.42.12 - BEST BUSINESS BANK ACCOUNTS 2026, POST-INSTALL CORRECTIONS - 2026-09-17
                Best Business Bank Accounts of 2026 only; two corrections to v3.42.11.
                Modeled rates: the Cash processing column is removed (seven columns to
                six) because the seven-column table was the only article table needing
                horizontal scrolling at desktop. The table adopts the existing
                fp-article__table--wrap-head modifier already defined in article.css, so
                its long headings wrap and it fits the 880px desktop content area; no CSS
                file changed. The two cash-processing inputs are preserved immediately
                below the table in the research note and identified as the assumptions
                used for the cash-deposit scenario. Both $180 results and every other
                Original Research figure are unchanged. Top Picks: the footnote area
                directly beneath the ranked table gains a ranking-rationale paragraph
                stating that accounts are ranked on overall usefulness rather than on
                whether the provider is a bank or a financial technology company,
                followed by the statement that Slash, Found, Bluevine and Novo are
                financial technology companies whose banking services are provided by
                FDIC-member partner banks. Rankings, FP Editorial Scores, dimension
                snapshots, Best Use Cases, schema, author implementation, provider
                links, navigation and footer are unchanged.
              v3.42.11 - BEST BUSINESS BANK ACCOUNTS 2026, APPROVED CORRECTION PASS - 2026-09-17
                Best Business Bank Accounts of 2026 only. Ships the approved
                editorial corrections plus the previously approved but
                uninstalled work for this article. FP Editorial Scores and all
                seven eight-dimension snapshots are UNCHANGED and were not
                recalculated: a clarification beneath the scorecard states that
                the displayed dimensions are a category-specific view, are not
                summed or averaged into the score, and that the overall score
                applies the site-wide weighted methodology. Original Research
                gains "Modeled rates used in this analysis - verified September
                16, 2026", publishing every verified per-unit input (including
                the Bluevine 1.30% and 1.75% APYs) so each modeled figure is
                reproducible; no scenario result changed, and Grasshopper's
                conflicting $10/$5 wire disclosure stays transparent with both
                values modeled and results shown as ranges. Current-terms dating:
                Chase effective June 14 2026, Bank of America effective February
                20 2026, undocumented claims verified September 16 2026, Bluevine
                Premier 3.0% APY verified September 16 2026. Partner banks named
                consistently - Slash/Column N.A., Found/Lead Bank,
                Bluevine/Coastal Community Bank, Novo/Middlesex Federal Savings -
                each preserving that the fintech is not the bank. Screening
                criteria restored verbatim from the v10 canonical master. Two
                duplicate sentences removed. Author bio corrected to the governed
                "experience behind the Charlie Thomas byline" construction;
                tooltip architecture and Person schema unchanged, no sameAs.
                References documentation corrected to 43 (32 editorial + 11
                community). Six stale source comments corrected, zero rendered
                effect. "What You Need to Open" and "FinanceProspector Bottom
                Line" remain removed. Buying Guides, Best Of collection,
                Comparisons, navigation and footer unchanged.
              v3.42.10 - BUYING GUIDES ARTWORK LINE-WEIGHT CORRECTION - 2026-09-17
                Buying Guides hero artwork only: buying-guides.v16.svg replaces
                v15. Line weight alone - colours, copy, icons, icon positions,
                progress-bar geometry and lengths, canvas, viewBox and
                composition are byte-identical to v15, and 13 of its 144 paths
                changed. Normalized to the Best Of line-weight hierarchy, now the
                canonical standard for FinanceProspector hero illustrations: a
                lighter outer frame (13.25 units, 0.906px at the 280px
                presentation) against consistent icon linework (18.07 units,
                1.235px), with genuinely lighter micro elements preserved rather
                than reduced by a blanket percentage - the four separators
                measured 10.78-12.21 units, already lighter than the Best Of
                frame, and were left untouched. Hero geometry, the 434.59px
                shared height, the 280x280 presentation size, alt text, CSS,
                Best Of, Comparisons, navigation, footer and the article grid are
                all unchanged.
              v3.42.9 - BUYING GUIDES COMPACT HERO + NORMALIZED ARTWORK - 2026-09-17
                Buying Guides joins the compact Resource Center desktop hero
                standard established by Best Of: at >=1200px, columns
                350 / 500 / 350 in the 1200px container, block padding 16px,
                inline padding 8px side and 16px centre, rhythm 24 / 32 / 32,
                H1 48 / 52.8, side headings 34 / 37.4, body 16 / 26.4, eyebrow
                13 / 16.25, artwork 280x280, H1 -> artwork 16px, natural
                alignment. A shared desktop min-height of 434.6px holds both
                Resource Center heroes at the same 434.59px: Buying Guides' H1 is
                one line, so its own content stops 11.31px short, and the surplus
                is absorbed as breathing room - the artwork is never enlarged.
                New artwork buying-guides.v15.svg: the Recraft master normalized
                to Palette v1.1 (Core Navy, Core Blue, Medium Green #6FC875, Pale
                Blue tracks, Light Navy separators, White), geometry byte-
                identical to the source, C2PA metadata stripped. Its alt text is
                updated to match. The forced <br> in 'Research. Compare. Explain.'
                is removed; at 350px it wraps naturally to the same two lines.
                Best Of, Comparisons, navigation, footer, the article grid and
                all copy are unchanged; below 1200px only the artwork and that
                heading's natural wrap differ.
              v3.42.8 - BEST OF COMPACT DESKTOP HERO, FINAL - 2026-09-17
                Best Of hero at >=1200px only. Replaces the intermediate
                Candidate D geometry installed as v3.42.6, and supersedes the
                never-installed v3.42.7 candidate, which carried the same
                horizontal geometry at the taller 494.59px vertical scale.
                Final canonical Resource Center desktop hero: columns
                350 / 500 / 350 in the same 1200px container with 8px side and
                16px centre inline padding; canonical SVG rendered at 280x280
                (the file itself is untouched; 280px is its approved minimum
                presentation size); H1 48 / 52.8 and body 16 / 26.4 and eyebrow
                13 / 16.25 all unchanged; side headings 36 -> 34 / 37.4; side
                rhythm 24 / 32 / 32; H1 -> illustration 16px; block padding 16px;
                side headings naturally top-aligned (the align-self workaround is
                removed). Hero 494.59px -> 434.59px, with all three columns
                compacted - Card 1/3 content 434.69 -> 390.32px, Card 2 content
                461.60 -> 401.60px - so the article grid starts 60px earlier.
                Three titles wrap naturally with no <br>, no non-breaking space
                and no copy change: 'Best Financial / Products & Services',
                'Built on Clear / Criteria' and 'Compare. Analyze. / Recommend.'.
                CSS only: navigation, page data, footer, Buying Guides,
                Comparisons, tablet and mobile are byte-identical to v3.42.6.
              v3.42.6 - BEST OF COMPACT DESKTOP HERO + RESOURCES NAVIGATION - 2026-09-17
                Best Of hero at >=1200px only: columns 340 / 520 / 340 inside the
                same 1200px container, so the canonical H1 wraps naturally as
                'Best Financial / Products & Services' with no typography change,
                <br> or non-breaking space; new compact Resource Center rhythm
                (side copy 24 / 32 / 32, H1 -> illustration 16px, column padding
                16px, side headings bottom-aligned in the shared row), which takes
                the hero from 523.16px to 494.59px. Supersedes 400 / 400 / 400,
                32 / 48 / 48, the 26px H1 gap and 24px padding for Best Of.
                Resources navigation now lists Best Financial Products & Services
                after Buying Guides (existing dropdown and mobile components; no
                aria-current, matching the shared component). Footer, Buying
                Guides, Comparisons, tablet and mobile, the frozen 340x340
                illustration and all copy unchanged.
              v3.42.5 - BEST FINANCIAL PRODUCTS & SERVICES LANDING PAGE - 2026-09-17
                Best Of Resource Collection page only: frozen complete hero v1.0
                (best-of.v1.svg), fp-collection__hero--best-of on the modern hero
                rules, Best Of-scoped paired side-copy rows (32 / 48 / 48 tokens),
                'All Best Financial Products & Services Articles' card grid.
                Buying Guides, Comparisons, navigation and footer unchanged.
              v3.42.4 - FINAL PRECISION CORRECTIONS - 2026-09-16
                Best Business Bank Accounts only: author card shows no image
                (name, role, biography, profile link; 418px at >=1024 unchanged);
                Feature Comparisons takeaway returns to body 17px / 400 / 1.62
                like the paragraph above it (15px exception removed; Top Picks
                fine print stays 14px).
              v3.42.3 - CANONICAL BEST OF POST-INSTALL PRECISION + AUTHOR CARD - 2026-09-16
                Best Business Bank Accounts only: On This Page card aligned to the
                first H2 at >=1280; text-wrap: pretty on body paragraphs; 15px
                Feature Comparisons takeaway after body copy (Top Picks fine print
                stays 14px); shared data-driven author card on the byline (native
                popover, hover-to-open enhancement, 418px at >=1024). No hero,
                heading, copy, score, table or schema change.
              v3.42.2 - CANONICAL BEST OF FINAL - 2026-09-16
                Best Business Bank Accounts only: five topic-specific section
                headings with matching On This Page labels (section IDs
                unchanged); Feature Comparisons order table -> body copy -> fine print;
                hero v14 (v13 with the Business Cards card border thickened
                inward to 1.25px at the 1440 hero) + matching social PNG;
                superseded v13 hero and social assets removed.
              v3.42.1 - CANONICAL BEST OF BASELINE - 2026-09-15
                Best Business Bank Accounts becomes the canonical Best Of page:
                approved v13 hero (Recraft master normalized to exact Palette
                v1.1, approved credit-card icon) + matching social PNG; approved
                dek; normalized typography; compact provider cards with real
                Visit links and the homepage FP Score treatment; D1-D4 duplicate
                consolidations; six contextual internal links; Title Case table
                titles and headers with Best Use Case in Top Picks; reader-facing
                Editorial Note; visible Updated label; keyboard-reachable table
                regions; publisher-logo schema; decorative placeholder logos.
              v3.42.0 - FINAL CONSOLIDATED RELEASE - 2026-09-15
                Five parts: the Contributor E-E-A-T upgrade (unchanged, notes
                below), plus A-D here. No copy, ranking, score, provider URL,
                table content, schema, font, colour, border or spacing value
                changes. The site header is byte-identical to v3.41.4.

                A. ONE ADVERTISER DISCLOSURE PATTERN - THE HOMEPAGE'S.
                   Every eligible page now renders the frozen component once,
                   in the homepage's page-level row: header -> disclosure row
                   -> breadcrumb / hero. The row is emitted by the existing
                   generate_after_header callback, widened from the front page
                   to the Article and Category Landing templates. Eligibility is
                   still ONLY fp_page_shows_advertiser_disclosure().
                   - Removed: the call inside the article hero (How to Choose
                     and the four comparisons showed it in the hero corner) and
                     the call after the category hero, which at >=1024 had no
                     positioning context and rendered INSIDE the global header
                     beside About Us on Business Banking.
                   - Removed: `.fp-article__hero-band { position: relative }`
                     from the component stylesheet. Nothing positions the
                     disclosure against a hero any more.
                   - Right edge follows each page's content canvas:
                     homepage gutter (unchanged), article hero edge, category
                     container edge. Host modifiers --article / --category in
                     advertiser-disclosure-host.css. Below 1024 all three are
                     the homepage's in-flow row.
                   - Best Business Bank Accounts becomes eligible via
                     'disclosure_force' (commercial provider-selection page; not
                     a monetization claim - no is_affiliate changes).
                   - The panel's Affiliate Disclosure link is resolved through
                     fp_published_page_url(): plain text, never '#', if the
                     page is ever unpublished.

                B. BEST BUSINESS BANK ACCOUNTS - HERO-WIDTH SECTIONS (>=1280).
                   Scoped to .fp-article--best-of. The hero is 1200px; Quick
                   Verdict and both provider modules were capped at 1080px and
                   the article grid was a centred 820+40+280 = 1140px. The grid
                   is now minmax(0,1fr) 280px across the hero's full box (main
                   880px, rail ending on the hero's right edge), the closing
                   FAQ / Glossary / Bottom Line column spans both tracks, and
                   the module caps are released. Prose keeps its 820px measure;
                   tables fill the column and still scroll inside their wrapper.
                   Below 1280 nothing changes - it was already aligned.

                C. QUICK VERDICT USES ITS INTERIOR WIDTH. The shared block
                   capped the label and answer at 820px inside the box (236px
                   of dead space at 1440). Released for Best Of, the same rule
                   the Business Bank Account master uses. Padding 12/24 (16
                   below 640), background, radius and type unchanged.

                D. IDENTITY GOVERNANCE, docs/comments only: 41 mentions of the
                   site owner's private first name in docs/*.md and one PHP
                   comment replaced with "the site owner". No output changes.

                QA: no WordPress/PHP on the local machine. Rendered QA is the
                live staging page (v3.41.4) with the candidate CSS and markup
                emulated in headless Chrome - qa/v3.42.0/.
              v3.42.0 - Contributor profile E-E-A-T upgrade - 2026-09-15
                AUTHOR/ENTITY TRUST LAYER. No article body, provider module,
                table, ranking, score, link, category page, font, colour or
                spacing changes. Zero new CSS.

                1. TWO NEW PROFILE SECTIONS, approved verbatim: Research
                   Standards and Editorial Independence. Both describe
                   FinanceProspector's PROCESS - what the research is built
                   from, and what compensation does and does not influence.
                   Neither makes a claim about a person, which is the point:
                   the trust signal is the method, stated truthfully.

                2. ARTICLES BY CHARLIE THOMAS, generated from the canonical
                   article registry. Only records carrying the author key
                   appear, so the list cannot drift and nothing is duplicated.
                   The heading means "published under that byline" and no line
                   claims personal keyboard authorship or hands-on testing.

                3. PROFILEPAGE + PERSON SCHEMA on /contributor/, carrying an
                   @id, and the three attributed Article author nodes now
                   reference that SAME @id. Three articles resolve to ONE
                   entity instead of three unlinked Person nodes sharing a
                   name. That reference is the structural value of the page.

                   ⚠ DELIBERATELY ABSENT AND NOT TO BE ADDED: sameAs,
                   alumniOf, hasCredential, award, memberOf, worksFor,
                   jobTitle, any external profile and any image. The byline is
                   an established public editorial identity; asserting an
                   external real-world footprint around it would be fabricated,
                   and a placeholder illustration is not a photograph of
                   anyone.

                4. EVERY LINK GUARDED. fp_published_page_url() is extracted
                   from fp_author_url() unchanged and now resolves every link
                   on the page, including the pre-existing Methodology CTA. A
                   route that is not published produces NO link rather than a
                   '#' or a 404. It can only remove a link that would break.

                5. THE APPROVED BIO IS UNTOUCHED, including its framing: "The
                   experience behind the Charlie Thomas byline includes ...".
                   It is never converted to "Charlie Thomas has ...".

                6. ONE RENDERED DEFECT FIXED WITHOUT CSS. Placed last, the
                   Last reviewed line butted against the article list -
                   .fp-info__updated carries a bottom margin only. Wrapping it
                   in the family's own .fp-info__section supplies the 32px the
                   position needs from an existing rule.

                CONTAINMENT: all eight registered articles render BYTE-IDENTICAL
                to v3.41.4. The only difference anywhere is one added @id key on
                the three Charlie-attributed Article author nodes; the five
                Organization-authored articles are unchanged to the byte.
              v3.41.4 - Provider module: four over three, centred - 2026-09-15
                GEOMETRY AND BORDERS ONLY, both modules, >=1280 only, scoped to
                .fp-providers--count-7. No content, ranking, score, link,
                table, category-page, typography or colour change.

                WHAT WAS WRONG. The shared module is four equal columns at
                >=1280, so seven records rendered four across and then three
                LEFT-ALIGNED into columns 1-3 with an empty fourth position.
                The lower row read as a truncated grid rather than a row.

                1. CENTRED WITHOUT CHANGING CELL WIDTH. The track count doubles
                   to EIGHT and every cell spans TWO, so a cell is still
                   exactly a quarter of the module and row 1 is unchanged to
                   the pixel: tracks 1-2, 3-4, 5-6, 7-8. Cell 5 starts at
                   track 2, so the lower row occupies tracks 2-7; cells 6 and 7
                   follow by ordinary auto-placement. Measured at 2048, 1920,
                   1440 and 1280: every cell 269.5px in BOTH rows, row 2
                   whitespace 134.75px left and 134.75px right - equal.

                2. THE ROW DIVIDER IS ROW 1'S BOTTOM EDGE, and that is why it
                   is complete. Row 2 is six tracks wide, so a border-top on
                   its cells would stop short at both ends and leave the
                   divider three-quarters drawn. Row 1 spans all eight tracks.
                   Row 2 keeps the family's border-top: 0, so nothing doubles.

                3. VERTICAL DIVIDERS NEEDED NO NEW RULE. Cells 5 and 6 already
                   take border-right from the shared >=1280 rule and cell 7 is
                   :last-child, so the lower row is divided between adjacent
                   cells and draws nothing against the whitespace. Cell 4's
                   border-right is cancelled where it would double the module's
                   own border.

                4. NO EMPTY FOURTH CELL, and no separate cards: it remains one
                   component with one outer border and one radius. Module width
                   1080px, border 1px, radius 12px - all unchanged.

                RESPONSIVE UNTOUCHED. 1024 and 768 keep the two-across ladder,
                430 and 390 keep the single-column stack; measured identical to
                v3.41.3 at all four.

                CONTAINMENT. Every selector is prefixed .fp-providers--count-7.
                Every other article renders --count-4 or --count-2, and all
                seven re-render byte-identical to v3.40.85.
              v3.41.3 - Category card title, approved short form - 2026-09-15
                ONE STRING. The Business Banking category card is now titled
                "Best Business Bank Accounts of 2026", using the SAME rule the
                four guide cards already use: the approved seo_title minus the
                ' | FinanceProspector' brand suffix. It is derived, not
                hardcoded, so re-titling the article re-titles the card.

                ⚠ THE ARTICLE H1 IS NOT AFFECTED and must not be changed to
                match. It stays "Best Business Bank Accounts of 2026: Compare
                Our Top Picks". So do the SEO title, meta description, dek,
                eyebrow, breadcrumb, TOC, schema and the slug
                /best-business-bank-accounts/. The short form appears on the
                CARD and nowhere else.

                ⚠ ONE NON-BREAKING SPACE, AND IT IS TYPOGRAPHY. Measured at
                1440, the shorter title broke as "Best Business Bank Accounts
                of" / "2026" - the year orphaned on line two. Binding "of 2026"
                re-breaks it as "Best Business Bank" / "Accounts of 2026": two
                balanced lines in the same two-line title zone every other card
                already occupies, so the subgrid row is unchanged. At 390 the
                title fits on one line.

                A REAL U+00A0, NOT "&nbsp;": resource-cards.php prints the
                title through esc_html(), which would escape the entity and
                render it as visible text - the same double-escaping defect
                v3.41.2 fixed in the section heading. And NO CSS:
                text-wrap: balance would have reached every card in the section
                and re-broken the four approved guide titles.

                Nothing else changed. Containment re-run: all seven other
                articles byte-identical to v3.40.85, and the only difference on
                /accounting-bookkeeping-software/ remains the single v3.41.2
                ampersand line.
              v3.41.2 - Structural/visual QA corrections - 2026-09-15
                FOUR CONTAINED CORRECTIONS. No v10 copy is rewritten and no
                approved treatment changes.

                1. BEST BUSINESS BANK ACCOUNTS IS NOW THE FIRST CARD in
                   Business Banking Guides & Resources. It is an ARTICLE, so it
                   is read from inc/article-data.php by the new
                   fp_category_guide_lead_card() and returned in the shape the
                   FROZEN FP-C-005 card markup already expects - same card
                   dimensions, border, radius, typography, spacing, badge,
                   4:3 illustration stage, date/meta row, CTA and responsive
                   behaviour. No new card component. All four guides are
                   preserved behind it, so the section is five cards.
                   Title, artwork, alt text and date all resolve FROM the
                   article record, so re-dating the article re-dates the card.

                   ⚠ GATED TO THE BUSINESS BANKING CATEGORY. fp_category_guide_
                   cards() is not category-scoped - the Business Banking guide
                   set already renders on /accounting-bookkeeping-software/ too,
                   a PRE-EXISTING condition left untouched. The gate stops the
                   new card following it there; that page's HTML is otherwise
                   byte-identical to v3.40.85.

                2. FIVE-CARD GRID ROW COUNT restated in
                   assets/css/components/category-guides.css, the file that
                   already owns this section's outer grid. The grid is a
                   5-zone subgrid whose explicit row count is zones x rows-of-
                   cards, so 20/10/5 (four cards) becomes 25/15/10 (five).
                   Arithmetic only. No card rule, width, colour, font or radius
                   is touched and no other section is reachable.

                3. VISIBLE "&amp;" DEFECT FIXED. category-guides.php passed
                   'Guides &amp; Resources' through esc_html_e(), which escaped
                   it a second time, so the category heading rendered the
                   literal text "Guides &amp; Resources". The escaping was
                   correct; the string was wrong. Now a literal ampersand.
                   This is the only line that changes on
                   /accounting-bookkeeping-software/.

                4. ZERO ORPHAN READER-FACING COPY. The scoring-transparency
                   line was emitted by article.php as a bare <p> between the
                   first provider module and the article layout - copy with no
                   owning section. The canonical master makes it the THIRD
                   supporting line of FinanceProspector Top Picks at a Glance,
                   after the community-rating note and the "FinanceProspector
                   considers ..." takeaway, so it moves there with identical
                   classes, wording and Text CTA, and the record no longer
                   declares 'methodology_note'. Other records keep the key and
                   are unaffected.

                   Verified by DOM walk, not by eye: every non-whitespace text
                   node on the page has a sectioning/component ancestor, at all
                   seven governed widths. The check was self-tested against an
                   injected bare paragraph and caught it.
              v3.41.1 - Second provider module before the FAQ - 2026-09-15
                PLACEMENT CORRECTION, record-gated, one article.

                The approved page order puts the closing Top Providers module
                immediately before Frequently Asked Questions:
                  ... article content -> Top Providers -> FAQ -> Glossary ->
                  Bottom Line -> Sources / Editorial Note
                v3.41.0 left it after The Bottom Line, which is the shared
                order and was not approved for this article.

                1. NEW RECORD KEY 'providers_before_faq'. Declared by
                   best-business-bank-accounts and by nothing else. All seven
                   other registered articles re-render BYTE-IDENTICAL to
                   v3.40.85; the new branch lives inside existing php blocks so
                   an article without the key emits the same literal
                   whitespace it always has.

                2. THE MODULE ITSELF DOES NOT MOVE IN THE DOM, and that is the
                   point. .fp-providers is max-width:1080px with auto side
                   margins, so it measures 1080 only while it is a direct child
                   of .fp-article__container. Moving the CALL inside
                   .fp-article__main would size it to the 820px reading track
                   and the two placements would stop matching. Instead FAQ,
                   Glossary and The Bottom Line move BELOW it, into a second
                   .fp-article__layout - same element, same 820px track, same
                   grid placement.

                3. MEASURED AT 2048/1920/1440/1024/768/430/390: the two modules
                   share identical x and width at every width (1080/1080 at
                   >=1280, 945 at 1024, 705 at 768, 375 at 430, 335 at 390),
                   the FAQ keeps its 820px reading column, and no element
                   overflows the viewport.

                4. NO NEW COMPONENT, CLASS, TOKEN, COLOUR OR CSS RULE. Nothing
                   is duplicated: the three parts are emitted in exactly one of
                   the two branches, never both.
              v3.41.0 - Best Business Bank Accounts reconciled to master v10 - 2026-09-14
                CONTENT RECONCILIATION, NOT A REDESIGN. One article, its
                registry record and its three body parts are rewritten to the
                approved canonical master
                FinanceProspector_Best_Business_Bank_Accounts_2026_FINAL_v10.docx.
                The v3.40.85 Best Of visual system is unchanged: no new
                component, no new token, no new colour, no new type ramp.

                1. FOUR PROVIDERS -> SEVEN, with equal editorial treatment.
                   Chase, Novo and Bank of America join Slash, Found, Bluevine
                   and Grasshopper. One frozen ranked order is used by the
                   record, the ranked table, the feature table, the scorecard,
                   the seven evaluations and BOTH provider modules:
                   Slash 9.4, Found 9.3, Bluevine 9.2, Grasshopper 9.2,
                   Chase 9.2, Novo 9.1, Bank of America 9.0. The three-way 9.2
                   tie is ordered Bluevine, Grasshopper, Chase and is frozen.

                2. SEVEN PROVIDER LINKS, IN THE RANKED TABLE ONLY, each
                   labelled with the provider's own name - "Visit Slash",
                   never a generic "Visit site" - and each pointing at that
                   provider's verified official homepage. No '#', no empty
                   href, no invented URL. The deep-dive CTAs are REMOVED and
                   both provider modules stay informational, which is the v10
                   governance rule, so each provider is linked exactly once.
                   The links reuse .fp-bestof__cta and .fp-cta-arrow, moving
                   from <span> to <a> exactly as article.css documents; the
                   shared a:focus-visible ring applies with no new rule.

                3. SECTIONS REMOVED BECAUSE v10 REMOVES THEM: Our Category
                   Winners, How the Four Accounts Compare, Which Business Bank
                   Account Is Best for You?, How FinanceProspector Chose These
                   Accounts, and the per-provider "Where X is weaker" / "Who
                   should choose X?" / Pros / Cons blocks. Do not restore them.
                   ADDED: Business Bank Account Feature Comparisons,
                   Eight-Dimension Provider Scorecard, Original Research
                   Findings, What Changed in 2026, How FinanceProspector
                   Evaluates Business Bank Accounts, Bank vs. Fintech.

                4. THE RANKED TABLE CARRIES G2 AND TRUSTPILOT COLUMNS. "N/A"
                   is a verified absence and is printed as-is; it is never a
                   dash, a blank cell or an unrelated product's rating. Both
                   are context only and neither feeds the FP Editorial Score.

                5. ONE CSS BLOCK, SCOPED TO .fp-providers--count-7: two border
                   cancellations and one row separator, because seven records
                   fill the shared 1/2/4-track grid unevenly. No track count,
                   width, colour, size or spacing is changed.

                6. STRUCTURED DATA: the best-of ItemList now declares
                   ItemListOrderDescending, matching the article's own ranking.
                   Still NO Product and NO AggregateRating - the FP Editorial
                   Score is not a community rating, and the G2/Trustpilot
                   values are not marked up as one.

                7. CONTAINMENT. The seven-provider list stays INLINE on the
                   article record, so article-providers.php never consults the
                   business-banking category registry for this page and the
                   Business Banking Buying Guide's four-provider module,
                   /business-bank-account/ and every other page are untouched.
              v3.40.85 - Best Business Bank Accounts of 2026 - 2026-09-09
                NEW COMMERCIAL ARTICLE. Built from verified v3.40.84.
                Content is verbatim from the approved canonical master
                FinanceProspector_Best_Business_Bank_Accounts_2026_FINAL_v3.docx.

                1. NEW RECORD 'best-business-bank-accounts' at
                   /best-business-bank-accounts/, carrying variant => 'best-of'
                   - the same mechanism the four FROZEN comparisons use, so no
                   existing article can be reached by any rule in this release.

                2. LAUNCH UNIVERSE IS FOUR PROVIDERS: Found, Bluevine, Slash,
                   Grasshopper. No provider carries provider_url, so every CTA
                   in all three locations renders as a styled non-clickable
                   span. No placeholder fragment, no invented URL, no
                   affiliate link anywhere in the release.

                3. SCORES ARE REUSED, NOT AUTHORED. The four approved Business
                   Banking editorial values already live on
                   /business-bank-account/ for these same providers.

                4. APPROVED HERO PNG USED AS SUPPLIED - not redrawn, cropped
                   or vectorised. Its intrinsic 1536x1024 differs from the
                   frozen SVG family's 1200x896, so article.php now reads
                   optional hero_w/hero_h with those family values as the
                   DEFAULT: every existing article emits byte-identical HTML.

                5. INTERNAL LINK to /business-bank-account/ from the
                   requirements passage; Editorial Methodology linked beneath
                   Top Picks and again inside How We Chose.

                6. Article + BreadcrumbList + FAQPage via existing FP
                   conventions. NO Product, NO AggregateRating - the FP
                   Editorial Score is not a community rating.

              v3.40.83 - Business Bank Account article master - 2026-09-08
                SEVEN FILES, BBA ONLY. Built from a FRESH v3.40.81 extract.
                Supersedes the withdrawn v3.40.82, which shipped two defects.

                ⚠ WHAT v3.40.82 GOT WRONG, AND HOW THIS FIXES IT
                  a) Its Quick Answer CSS was (0,2,0) and lost to the
                     v3.40.81 rules at (0,3,0) - :not() carries its argument's
                     specificity - so the BBA geometry silently never applied.
                     FIXED BY EXCLUSION, not by a bigger selector: the
                     v3.40.81 block now carries
                     :not(.fp-article--slug-business-bank-account) so the two
                     rule sets never both match. No cascade race remains.
                  b) The approved three-sentence Quick Answer copy was
                     prototyped but never written into inc/article-data.php.
                     It is now in the registry, verbatim.

                1. QUICK ANSWER AT HERO WIDTH, reached by REMOVING max-width.
                   1440: hero and quick both L120 R1320 W1200. Insets are the
                   hero's own 32px/20px. No inner cap at any width.
                2. APPROVED THREE-SENTENCE QUICK ANSWER COPY in the registry.
                3. TABLE TAKEAWAY: the two sentences closing a table take the
                   table wrapper's own 1140px. 16px gap untouched.
                4. EDITORIAL NOTE MOVED TO THE END, two paragraphs; the
                   competitive-benchmark disclosure moves out of References
                   into it. Appears once, all six names kept.
                5. NINETEEN DUPLICATE IDS REMOVED; section keeps the id.
                6. TOC 25 -> 24; Quick Answer removed by decision, three dead
                   destinations repointed. All 24 resolve.
                7. BENEFICIAL OWNERSHIP heading and label updated; anchor slug
                   deliberately UNCHANGED so no deep link breaks.

              v3.40.81 - Opening hierarchy v2: Quick Answer as a major module - 2026-09-07
                FOUR FILES. Informational / resource articles only; the four
                FROZEN comparison articles are excluded and unchanged.

                1. GENUINE SOURCE-ORDER CHANGE, not CSS reordering. The
                   approved informational order is now:
                     Hero -> Quick Answer -> Top Providers -> Methodology
                     -> On This Page -> Article content -> Bottom Providers
                     -> Sources
                   The Quick Answer physically precedes the commercial module
                   and the contents list physically precedes the body.

                2. GATED ON THE EXISTING 'variant' KEY. All three informational
                   records declare no variant; all four comparisons declare
                   'variant' => 'comparison'. One test, no new flag, no
                   comparison record edited.

                3. QUICK ANSWER PROMOTED TO A MAJOR MODULE. Outer width now
                   matches .fp-providers exactly - 1080px, L180 R1260 at 1440;
                   350px at true 390. Inner prose capped at the established
                   820px at >=1280, LEFT-aligned from the 24px module inset,
                   never centred; the surplus is right-hand breathing room.

                4. RHYTHM DERIVED, NOT CHOSEN. Hero -> Quick = 24px and
                   Quick -> Providers = 24px, both var(--fp-space-m), the value
                   .fp-providers already declared as its gap to the hero. The
                   old 294.58px hero-to-answer distance was never a spacing
                   value: it was the providers module's own footprint.

                5. HEIGHT UNCHANGED. Horizontal inset 16px -> 24px desktop,
                   16px below 640; vertical padding stays 12px.

              v3.40.80 - Business Checking: Sources copy + TOC anchors - 2026-09-07
                THREE FILES. No CSS, no shared component touched.

                1. STRAY <p>---</p> REMOVED. It was in the ORIGINAL guide, live
                   before this workstream - a markdown rule that leaked into the
                   HTML when the article was authored. The migration audit
                   counted it as "1 trailing paragraph" without reading it.
                   Approved cleanup of erroneous source copy.

                2. SOURCES INTRO ADDED so the section follows the family rhythm
                   H2 -> intro -> ordered list. This article's own wording, not
                   the master's sentence: shared component, article-specific copy.

                3. NO TRAILING BENCHMARK PARAGRAPH - verified, not assumed. A
                   competitor benchmark was performed, but the freeze record
                   classes the whole Production Content Record as production-only
                   content that must not render, and confirms none did.

                4. THREE TOC ANCHORS REPOINTED to #faq, #bottom-line and
                   #fp-providers-heading-bottom - the ids the article system
                   emits. The guide's own ids died in migration; the freeze
                   record confirms all 21 resolved beforehand. Labels and entry
                   count unchanged.

                ⚠ SEPARATE, NOT FIXED HERE: Business Bank Account's own TOC has
                three dead anchors of its own (#frequently-asked-questions,
                #bottom-providers, #editorial-references-and-sources). That is a
                pre-existing gap in the master, reported for a scope decision.
              v3.40.79 - Business Checking Account: two live defects - 2026-09-07
                THREE FILES. Bundles both corrections found by the live visual
                gate; v3.40.78 was packaged but never installed and is
                superseded by this release. No CSS in either fix.

                1. OPENING CHECKLIST (carried from v3.40.78). The migration
                   audit searched for literal "[ ]", found none, and left the
                   section as an ordinary .fp-article__list with blue squares.
                   Wrong test: the section is titled Opening Checklist, its
                   lead-in reads "confirm that you have:", and all ten items are
                   verification actions. CHECKLIST-NESS IS SEMANTIC, NOT
                   TEXTUAL. Ten items now take .fp-article__checklist and the
                   approved blue check. Only that list changed.

                2. SOURCES SECTION. The close part shipped a bare <ol> with no
                   section wrapper and no heading. article.php emits neither, so
                   the article rendered with NO Sources heading and, because the
                   underline-at-rest rule is scoped to
                   .fp-article__section--sources, thirteen underlined links.
                   ONE OMISSION, TWO SYMPTOMS. The part now carries the master's
                   own wrapper and H2.
                   ⚠ The section id is #editorial-references-and-sources, the
                   TOC's anchor - not the master's "sources", which would strand
                   the twenty-first On This Page entry.
                   ⚠ Scoped to this article. The four frozen comparisons keep
                   their own Sources treatment.

                All thirteen sources, their order, labels, URLs and the trailing
                paragraph are unchanged.
              v3.40.78 - Opening Checklist correction - 2026-09-07
                ONE FILE of content
                (template-parts/article-body-business-checking-account-guide.php)
                plus the version. No CSS: .fp-article__checklist already exists
                and is reused unchanged.

                THE MIGRATION AUDIT USED THE WRONG TEST. It searched for literal
                "[ ]" markers, found none, and left "Opening Checklist" as an
                ordinary .fp-article__list with blue square bullets. But the
                section is titled Opening Checklist, its lead-in reads "confirm
                that you have:", and all ten items are verification actions.
                Checklist-ness is SEMANTIC, not textual.

                Ten items now carry .fp-article__checklist and the approved blue
                checkmark, identical to Business Bank Account. Wording unchanged.

                ⚠ ONLY THIS LIST CHANGED. Action-sounding wording alone does not
                make a checklist; the authority is an explicit checklist section.
                The other four unordered lists and the ordered list are untouched.

                Caught by the live visual gate, which is the gate that can see
                this class of defect at all.
              v3.40.77 - Business Checking Account migrated to the article
                system - 2026-09-07
                FOUR FILES, three new. The family-confirmation migration.

                LAYOUT MIGRATION ONLY. Prose, order, headings, lists, tables
                and links are verbatim; the chrome moved to the registry. The
                guide's bare <h2>/<h3>/<ul>/<ol>/<table> took the master's
                classes, which is the defect this migration exists to fix.

                ⚠ THE RECORD KEY IS THE SLUG. /business-checking-account-guide/
                is the canonical and /business-checking-account/ redirects to
                it, so the key keeps the -guide suffix.

                ⚠ PATHS CONVERTED to the article registry's relative form -
                'articles/business.checking.v11.svg' and its social PNG. The
                guide's absolute form is what 404'd the BBA hero at v3.40.70.

                ONE SEMANTIC CHANGE, APPROVED: the ten-term glossary moves from
                <p><strong>Term:</strong> definition</p> to <dl>/<dt>/<dd>.
                Terms and definitions verbatim.

                NO CHECKLIST TREATMENT: this article ships no literal "[ ]".

                Charlie Thomas byline -> /contributor/, Person author schema,
                Organization publisher, and the methodology disclosure beneath
                the FIRST provider module only. Both provider modules, their
                order and the approved 9.4 / 9.2 / 9.3 / 9.2 scores preserved.
              v3.40.76 - Contributor author entity completed + 800px
                short-page minimum - 2026-09-07
                THREE FILES. Closes the Contributor workstream.

                1. THREE NEW CONTRIBUTOR SECTIONS - What Charlie Covers,
                   Editorial Approach, How FinanceProspector Evaluates
                   Providers, the last carrying the family's See Our Methodology
                   text CTA. Registry-driven via fp_author_sections(), rendered
                   with .fp-info__heading / .fp-info__section p / .fp-info__link
                   - no new component, no new styling.
                   ⚠ THIS IS THE AUTHOR ENTITY, NOT PADDING. It says what the
                   byline covers and how the work is done. That it also took the
                   page from 800px to 1567px at 1440 is a consequence.

                2. THE SHORT-PAGE MINIMUM MOVES 600 -> 800px, superseding
                   v3.40.75. 800 is the largest value keeping every insertion
                   under 200px; it reaches only the Resources index (+182 at
                   1440, +152 at 1280) and nothing at all at 390.
                   ⚠ STILL A MINIMUM, NOT A TARGET. The page-bottom rule remains
                   the natural 64px closing rhythm. Never raise this to
                   manufacture whitespace, and never restate it in vh - that was
                   v3.40.74, and it produced both a growing white void and a
                   grey band. The white #page background stays: it is what keeps
                   body's grey off the footer boundary.
              v3.40.75 - Footer-boundary correction, superseding v3.40.74 - 2026-09-07
                ONE FILE of behaviour (assets/css/base.css) plus the version.
                v3.40.74's min-height:100vh page-shell floor is REJECTED and
                replaced. It caused TWO visible defects with ONE root cause:

                1. EXCESSIVE WHITESPACE. The empty band grew with the browser
                   window - 164px on Contributor at 1440x900, 564px at 1300px
                   tall, 282px on Resources. The dependency on viewport height
                   was the defect, not the multiplier.
                2. A GREY BAND ABOVE THE FOOTER. #page is transparent and the
                   white surface is painted by the content stage, so a shell
                   taller than its stage exposed body's rgb(247,248,249).

                THE DESIGN RULE IS 64px - the site's existing closing rhythm,
                measured on every untouched page at every width. 600px is a
                SAFETY FLOOR ONLY, derived from the shortest current stage
                (Resources index, 618px) and engaging on no current page. It
                must never be raised to add whitespace, and never restated in
                viewport units. #page now paints white so the grey can never
                reappear at the boundary.

                Everything else from v3.40.74 - the Contributor page, the
                Charlie Thomas author entity, the byline, the Person schema and
                the methodology disclosure - is unchanged.
              v3.40.74 - Contributor page, Charlie Thomas author entity,
                scoring transparency, and SITE-WIDE FOOTER GOVERNANCE - 2026-09-07
                TWELVE FILES, three new. Four workstreams close together.

                1. PAGE-SHELL FOOTER GOVERNANCE, site-wide (base.css).
                   footer start = MAX(governed minimum, natural content end).
                   #page{min-height:100vh} sets the floor. The value is DERIVED,
                   not chosen: measured across nine approved pages at all seven
                   governed widths, the shipped designs already satisfy it 8/9 at
                   1440 and 9/9 at 1024, 768 and 390. Only Resources index
                   (natural footer top 707) and, at the widest viewports,
                   Comparisons index (1091) fall below. A conventional sticky
                   footer was measured and REJECTED: it pins the footer's bottom
                   to the viewport bottom, putting its top a footer-height ABOVE
                   the fold, and is a no-op on every current page.
                   ⚠ IT IS A FLOOR. Every page whose content already exceeds it
                   keeps identical content geometry, section spacing and footer
                   position, and gains no white space.

                2. CONTRIBUTOR PAGE at /contributor/ (new template, registered in
                   fp_informational_templates(), the category-page.css shell list
                   and the informational icon block). A member of the
                   informational/legal family: 1200/820, family typography, no
                   card, no sidebar. H1 "Charlie Thomas", role
                   "FinanceProspector Contributor". Its primary illustration is
                   normalised to the family's PAINTED height (delta 0.00px) and
                   its painted image->H1 gap reproduces the family's 45.75px /
                   38.54px - see the measured block in informational-page.css.
                   ⚠ CHARLIE IS NOT ON ABOUT US. /about-us/ is unchanged.

                3. AUTHOR ENTITY (new inc/author-data.php). One registry drives
                   the byline, the Article schema author, the Contributor page and
                   the footer link. Articles name an author KEY, never a name or
                   URL. Opt-in per record: the master and the four frozen
                   comparisons declare none and are byte-identical.
                   ⚠ Destinations are existence-gated - never '#', never a 404.

                4. SCORING TRANSPARENCY beneath the FIRST provider module only,
                   record-gated, reusing the canonical "See our methodology ->"
                   Text CTA. Provider scores, module geometry, CTAs and the
                   second module are untouched.
              v3.40.45 - Informational Guide template + first guide - 2026-09-02
                FIVE FILES, four new. A SEPARATELY SCOPED route for long-form
                guides: page-templates/informational-guide.php,
                inc/guide-data.php, a body template part and
                assets/css/components/informational-guide.css.
                The FROZEN comparison template, its data model and article.css
                are NOT touched - a guide has no winner chips, no per-dimension
                scores and no two-provider module, so it gets its own model
                rather than nullable keys bolted onto a frozen one.
                Every selector is .fp-guide / .fp-guide-*. The approved layout
                master used bare .fp-hero, .fp-providers, .fp-breadcrumb and
                .fp-footer, all four of which collide with live theme
                selectors, so the whole class set was renamed.
                FAQ and glossary ship as server-rendered <details>/<summary>,
                not JavaScript-built at runtime.
                REQUIRES a WordPress Page, slug
                'how-to-open-a-business-bank-account', template Informational Guide.

              v3.40.44 - Popular Comparisons: card title centred - 2026-09-02
                ONE FILE, ONE DECLARATION. .fp-pc-card__title gains
                text-align:center, so the title sits on the same axis as the
                provider row, the VS badge and the footer. Left alignment put
                every title at the same starting x, so the offset grew as the
                title got SHORTER - Bluevine vs. Slash sat 68.27px left of
                centre at 1440 and 144.27px left at 2048.
                Measured 0.01px worst case at all seven QA widths. All four
                titles stay on ONE line. The DESCRIPTION stays left-aligned and
                is the only left-aligned element in the card, deliberately.
                Scoped entirely to .fp-pc-*. Ships together with v3.40.42 and
                v3.40.43, neither of which was installed, so ONE upload covers
                the whole component.

              v3.40.43 - Popular Comparisons: VS badge on the card centre - 2026-09-02
                ONE FILE, ONE DECLARATION PAIR. .fp-pc-card__provider gains
                flex:1 1 0 and min-width:0, so the two provider columns are
                equal and the VS badge lands on the card's exact centre line.
                It was drifting up to 21.03px left, because each column was
                sized by its own provider name and Grasshopper is far wider
                than Slash. The stacks were never the problem - each name was
                already centred on its own logo to 0.01px, and still is.
                Measured 0.00px at all seven QA widths, on all four cards.
                Scoped entirely to .fp-pc-*. The FROZEN Use Case v1.0, the four
                frozen comparison articles, the FROZEN Comparisons index, Top 4
                Picks, the provider modules, the card copy, the footer, the
                breakpoints and the 4/2/1 column counts are all byte-identical.
                Ships together with v3.40.42, which was packaged but never
                installed, so only ONE upload is needed.

              v3.40.42 - Popular Business Banking Comparisons - 2026-09-02
                FIVE FILES, three new. A NEW category-page section below Top
                Business Banks by Use Case: four comparison cards, four-up from
                1280, two-up from 640, one-up below. Design reference
                documents/Popular-Business-Banking-Comparisons.png, sha256
                0e74a7f2...e9156a1f.
                EVERY selector is .fp-pc-*, and the component is scoped so it
                cannot reach the FROZEN Comparisons index (v3.40.41), the four
                frozen articles (v3.40.40), Top 4 Picks, Use Case, the category
                hero or Buying Guides - all verified byte-identical.
                Four-up starts at 1280, NOT 1024: at 1024 the footer's nowrap
                halves force the tracks unequal and overflow the document.

              v3.40.41 - Comparisons index: four compact cards in one row - 2026-09-02
                ONE FILE, ONE CSS BLOCK. With four comparisons live, three
                384px tracks left the fourth card orphaned at every desktop
                width. The 1200px canvas is UNCHANGED and the card is resized
                instead: (1200 - 3*24)/4 = 282px tracks exactly, illustration
                256x160 -> 210x131, title 22 -> 18px, padding 24 -> 20.
                Equal card heights and one shared footer baseline.
                SCOPED with :has() to the Comparisons collection only - the
                Buying Guides index shares these classes and is byte-identical.
                Nothing below 1280 changes. No markup, no article-page change.

              v3.40.40 - Two comparison articles in one package - 2026-09-02
                EIGHT FILES, six new. Ships Slash vs. Grasshopper (built and
                approved at v3.40.39 but never installed) together with
                Bluevine vs. Slash. Both records declare 'variant' and
                'hero_variant' from the outset. Bluevine vs. Slash carries one
                authorized citation correction: the dead Bluevine cash-deposit
                support URL is replaced by
                www.bluevine.com/business-checking/cash-networks.
                First article to combine a NEUTRAL winner chip WITH scores -
                a tie renders both scores unbolded, using the existing
                --neutral modifier and the existing __win-scores span. No new
                class. No CSS, no shared or frozen component touched.
                REQUIRES two WordPress Pages, slugs 'slash-vs-grasshopper'
                and 'bluevine-vs-slash'.

              v3.40.39 - Slash vs. Grasshopper comparison article - 2026-09-02
                FIVE FILES, three new. Third Business Banking comparison on the
                verified comparison system. Both variant keys declared from the
                outset. No CSS, no shared or frozen component touched.
                REQUIRES a WordPress Page with slug 'slash-vs-grasshopper'.

              v3.40.38 - Bluevine vs. Found: restore the two missing comparison
                variant keys - 2026-09-02
                ONE FILE, TWO KEYS. Fixes the table running under the On This
                Page sidebar. No CSS, no copy, no layout change.

              v3.40.37 - Bluevine vs. Found comparison article - 2026-09-02
                FIVE FILES, three new. Uses the verified v3.40.36 comparison
                system unchanged; no shared or frozen component touched.
                REQUIRES a WordPress Page with slug 'bluevine-vs-found'.

              v3.40.36 - Bluevine vs. Grasshopper article updated to the
                approved 10/10 content master - 2026-09-02
                SIX FILES. Content, dates, 10 linked sources, OG/Twitter meta
                and FAQPage schema. Provider CTAs no longer emit '#' anywhere.
                NO layout, design or responsive change.

              v3.40.35 - Major-section rhythm into the Use Case section:
                64px below 640, 80px at 640+ - 2026-09-01
                ONE FILE. One integration rule in the page shell. The frozen
                Use Case component and Top 4 Picks are both untouched.

              v3.40.34 - Top Business Banks by Use Case implemented on the
                Business Banking category landing page - 2026-09-01
                FIVE FILES. Frozen Use Case v1.0 component, approved copy,
                logo placeholders, non-clickable CTAs, never '#'.

              v3.40.33 - Category Landing route painted white: removes the
                grey strip above Top 4 Picks - 2026-09-01
                ONE FILE. One rule in the page shell. The grey was the body
                background showing through .tp's transparent 32px top margin;
                no component, geometry or frozen value is touched.

              v3.40.32 - Business Banking Top 4 Picks implemented on the
                category landing page - 2026-09-01
                FIVE FILES. Frozen Top 4 Picks v1.0 component, approved
                dataset, no real logos, no affiliate links, never '#'.

              v3.40.31 - Providers integration patch: breadcrumb branch +
                stylesheet, GeneratePress wrapper release for the template,
                empty-state separation - 2026-09-01
                FOUR FILES. No frozen component touched.

              v3.40.30 - Providers system: canonical registry, publication
                gate, /providers/ landing template, Providers Index v1.0,
                Providers Mega-Menu v1.1, schema and nav walker - 2026-09-01
                TEN FILES. Eight new, two modified (functions.php,
                site-header.php). Nothing renders until the /providers/ page
                and provider review pages are published - by design.
                NOT ADDED: the WordPress menu item. Providers stays out of the
                navigation until /providers/ exists and is published.

              v3.40.22 - Homepage: FP-C-003 title-region alignment +
                Accounting Category Icon colour refreeze - 2026-08-31
                TWO FILES CHANGED. Homepage category system only.

                assets/css/components/explore-by-category.css   +34 / -0
                  @media (min-width: 1440px) { .fp-category-card__title
                  { min-height: 3.6em; } }
                  FAMILY-LEVEL, not an Accounting-only offset. The base rule's
                  min-height: 34px is a two-line floor; in the seven-column desktop
                  layout a long category name wraps to three lines - Accounting &
                  Bookkeeping Software measured 50.39px against 34.00px for the
                  other six - which pushed its description 16.39px below the row.
                  3.6em = 3 x the existing 1.20 line-height at the existing 14px.
                  SCOPED to >=1440px: a blanket min-height was measured and costs
                  33.61px of dead space per card at 1024 and 760.
                  Measured after: description-start spread 0.00px at 1560, 1440,
                  1280, 1024, 760 and 390. Card height 394.95 -> 411.34 at 1560
                  only; unchanged at every other breakpoint, verified before and
                  after. CTA tops and card bottoms stay aligned.

                assets/icons/categories/accounting-bookkeeping-final-v1-0.svg
                  COLOUR REFREEZE. Same filename, new bytes.
                  sha256 0643006a92e439f626375859c092e3577d31a5f02dedbd8cdf370104f4c3cd0f
                  supersedes 91cb56c167408d0baae17fc075fae6413df1218022aeadb4f3299f327b07f7b0
                  Three fill values only: paths 10, 11 and 13, left ledger rows 2, 3
                  and 4, #173F73 Core Navy -> #5988F0 Medium Blue. Path 12, left row
                  1, was already Medium Blue.
                  Final hierarchy: Core Navy = structure (ledger outline, centre
                  divider, gear rings) · Medium Blue = left-column data (all four
                  left entries and the gear hub) · Medium Green = right-column data
                  (all four right entries).
                  Verified: geometry byte-identical with fills masked · path data
                  unchanged · element counts unchanged · file size identical at
                  15,965 bytes · transform, Pale Green circle, White bodies, line
                  weights, artwork scale and the 12-down placement all unchanged ·
                  five Palette v1.1 values only.
                  Record: documents/FinanceProspector-Accounting-Bookkeeping-Category-Icon-v1.0-FROZEN.md
                  section 3a, which supersedes section 3 and preserves the prior
                  hash as provenance.

                NOT IN THIS PACKAGE. Category-page centre cards remain HELD pending
                the seven-card Palette v1.1 balanced-colour pass, which must also
                correct the currently wrong centre-card border colour. No centre-card
                CSS bleed or centring, no Business Banking centre card, no Business
                Banking registry change, no dashboard removal, no migration of any
                other category page. The Accounting centre_card path from v3.40.20 is
                carried forward unchanged. Footer, Business Insurance reference sweep,
                Category Icons v2.0 and the Insurance/Lending crossover untouched.

              v3.40.21 - FP-C-003 Explore by Category: Business Insurance ->
                Accounting & Bookkeeping Software - 2026-08-31
                ONE FILE. template-parts/explore-by-category.php only.

                Slot 3 of the Business Finance group now reads:
                  title       Accounting & Bookkeeping Software
                  description Keep your books accurate with the right accounting software.
                  image       accounting-bookkeeping-final-v1-0.svg   (FROZEN icon v1.0,
                              sha256 91cb56c167408d0baae17fc075fae6413df1218022aeadb4f3299f327b07f7b0)
                  url         /accounting-bookkeeping-software/       (verified HTTP 200, 0 redirects)

                Business Insurance is removed from the ACTIVE card set only. Its
                artwork, freeze record and history are preserved and untouched:
                  business-insurance-final-v5-0.svg  6ffb5826...
                  business-insurance-final-v4-3.svg  6fe0e947...
                  category-heroes/business.insurance.v1.svg  4533bed0...

                UNCHANGED: card markup, CSS, spacing, typography, CTA treatment,
                category order, responsive ladder, and the other six category icons.

                DELIBERATELY NOT IN THIS PACKAGE. The category-page centre-card
                workstream is on HOLD pending the seven-category Palette v1.1
                balanced-colour distribution pass:
                  - no shared centre_card CSS bleed / centring changes
                  - no Business Banking centre card created, frozen or wired
                  - no Business Banking registry change; its 'illustration' and the
                    whole 'dashboard' block are intact and still live
                  - no migration of any other category page
                  - no further Accounting centre-card implementation changes
                The Accounting centre_card path shipped in v3.40.20 is carried
                forward unchanged - this package does not roll it back.

                Also unchanged: the footer, the broader Business Insurance reference
                sweep, Category Icons v2.0 and the Insurance/Lending crossover.

              v3.40.20 - Accounting Card 2: the scoped centre_card path - 2026-08-31
                THREE FILES CHANGED, ONE ADDED. Purely additive except three
                superseded Accounting copy strings.

                template-parts/category-hero.php   +54 / -0
                  Card 2 now has two mutually exclusive paths. 'dashboard' is the
                  original square-art-box treatment and is UNCHANGED - Business
                  Banking still renders through it. 'centre_card' is new: one frozen
                  SVG IS the whole card. On that path the article renders no accent
                  span, no <h2>, no border, no background and no padding, and
                  .fp-category-hero__art is never emitted, so its aspect-ratio: 1
                  cannot apply. 'dashboard' wins if a category declared both.
                  The <img> carries width/height 9600x8846 - the frozen viewBox x10 -
                  so the CLS placeholder ratio matches the artwork exactly.

                assets/css/components/category-hero.css   +34 / -0
                  .fp-category-hero__card--centre  zeroes padding, border, background
                  and shadow and switches the card to display:block.
                  .fp-category-hero__centre-card   width:100%, height:auto,
                  object-fit:contain so the frozen proportions always govern.
                  No existing rule was modified.

                inc/category-data.php   +23 / -3
                  Adds 'centre_card' to the Accounting entry and replaces three
                  approved copy strings with shorter approved versions. The shorter
                  copy is what lets Card 2 be the height authority again: at 1500px
                  all three cards measure 462.66 x 426.32, top and bottom identical,
                  residual misalignment 0.00 px.

                assets/images/category-heroes/accounting-bookkeeping-software-centre-card.svg
                  NEW. Byte-identical to the frozen master
                  category-heroes/accounting.bookkeeping.v1.centre-card.svg
                  sha256 3e0a655a5af12ba56d5c09e1b8829d068a849f3c1cebe0065fde220f3fbd892c
                  The filename difference is deliberate and recorded in the
                  presentation-geometry document. Do not rename or regenerate.

                RESPONSIVE QA PASSED at 1500 / 1024 / 768 / 375: correct proportions,
                no double border, no double accent bar, no duplicate title, no stray
                padding, no clipping and no horizontal overflow.

                NOT in this package, unchanged: FP-C-003 still shows Business
                Insurance; the footer Accounting link is still unwired; no Business
                Insurance sweep; no Category Icons v2.0; no Insurance/Lending
                crossover fix; no seven-category hero Palette v1.1 pass.

              v3.40.19 - Accounting & Bookkeeping Software category registry
                + frozen homepage Category Icon - 2026-08-31
                TWO FILES ONLY. No template, CSS or other component changed.

                inc/category-data.php
                  Adds the 'accounting-bookkeeping-software' registry entry.
                  Purely additive: 80 lines, zero removals against v3.40.18.
                  Canonical slug frozen 2026-08-30 as accounting-bookkeeping-software;
                  /accounting-bookkeeping/ deliberately NOT created.
                  H1 is "Best Accounting & Bookkeeping Software" - headline_suffix is
                  intentionally EMPTY for this category only, so "Solutions" is not
                  appended. The shared prefix/accent/suffix construction is unchanged.
                  Card 2 carries NO dashboard: 'illustration', 'illustration_alt' and
                  'dashboard' are deliberately omitted and category-hero.php already
                  guards the whole Card 2 artwork block behind if ( $fp_dash ).
                  Methodology CTA reuses the Business Banking label and the verified
                  /editorial-methodology/ route; no new CTA treatment.

                assets/icons/categories/accounting-bookkeeping-final-v1-0.svg
                  FROZEN homepage Category Icon v1.0, new file.
                  sha256 91cb56c167408d0baae17fc075fae6413df1218022aeadb4f3299f327b07f7b0
                  Ledger + Gear. Do not rename, regenerate or modify. The filename
                  intentionally uses the shorter internal convention and is NOT
                  derived from the route slug.

                NOT in this package, and unchanged: FP-C-003 Explore by Category still
                shows Business Insurance; the footer Accounting link is still unwired;
                no Business Insurance reference sweep; no Category Icons v2.0; no
                seven-category hero Palette v1.1 colour-distribution pass.

              v3.16.4 - Article hero selector repair - 2026-08-19
                DEFECT: the article hero rendered 1200 x 669.7 instead of the
                  approved 385.55 x 215.18 - 3.11x oversized in both dimensions.
                CAUSE: page-templates/article.php wraps the hero in
                  .fp-article__hero-band, but every hero rule in article.css
                  targets .fp-article__hero, which has NEVER appeared in that
                  template (verified with git log -S across all history). The two
                  diverged at 7172886, when the markup was renamed and the CSS was
                  not. So at >=1024 nothing matched: no two-column grid, no tint,
                  no padding, and the figure became a full-width block, leaving
                  max-width:100% to resolve against the 1200px container instead
                  of the 385px figure column.
                WHY ONLY NOW: the article body had never reached a browser inside
                  a complete page - suppressed by the inverted conditional before
                  v3.16.0, then fatal through v3.16.2. v3.16.3 was the first build
                  that rendered it.
                FIX: .fp-article__hero-band added alongside .fp-article__hero in
                  all 4 hero selectors. ADDITIVE - nothing renamed or removed, so
                  .fp-article__hero still matches the approved preview harness.
                  340 declarations before, 340 after, declaration set IDENTICAL.
                  No markup, no SVG, no typography, no spacing change.
                BENCHMARK CORRECTION: the previously recorded 630 x 351.6 article
                  hero figure is INVALID. It was measured against the broken,
                  fatalling DOM, whose truncated HTML produced a different tree.
                  The approved slot is 385.55 x 215.18 at 1440.
              v3.16.3 - Article runtime defect + Quick Answer data-driven - 2026-08-19
                FATAL REPAIRED. inc/provider-data.php was never require_once'd in
                  functions.php - not in any commit in the project's history - so
                  template-parts/article-providers.php called fp_article_providers(),
                  which was undefined, and EVERY article carrying a provider_category
                  died mid-render with "There has been a critical error on this
                  website." Article #1 was in that state on deployed staging v3.16.2.
                  Masked until v3.16.0: the inverted conditional in article.php meant
                  the body never rendered, so the module was never reached. Repairing
                  that conditional exposed this. Fix is the one missing require_once.
                QUICK ANSWER IS NOW DATA-DRIVEN. page-templates/article.php carried
                  Article #1's Quick Answer prose as a literal, so every article on
                  the shared template would have rendered Article #1's answer. The
                  copy moved verbatim to a new quick_answer registry key; the template
                  renders it conditionally. NO FALLBACK - an article without the key
                  renders no section, so one article's copy can never appear on
                  another. Output uses wp_kses(..., []) to match the FAQ answers so
                  numeric entities survive. Placement, id="quick-answer", heading,
                  classes, markup, spacing, typography and responsive behaviour are
                  unchanged; Article #1's visible text is byte-identical (493 chars,
                  sha256 aeb25210...).
                No CSS, no markup, no design change. Article #2 not included.
              v3.16.2 - Editor's Picks CTA stack + Categories dropdown - 2026-08-18
                EDITOR'S PICKS CTA - ZONE ONLY. The pair now stacks at EVERY width.
                  It previously stacked below 400px, sat SIDE BY SIDE from 400-1439px,
                  then stacked again at 1440+, so one card ended in two different
                  shapes depending on viewport. Two declarations changed:
                  flex-direction column unconditional, and align-items flex-start ->
                  center (a no-op at >=1440, where the card interior is exactly 144px
                  and the button fills it, so the frozen subgrid is not shifted).
                  Card height 277 -> 309.8 at 400-1439px; unchanged 356.48 at >=1440.
                  Verified at 1440/1280/1024/768/640/430/390/375: button 144x44, gap
                  12px, button-top delta 0.000 per row, no overflow.
                  NOT touched: card widths, grid architecture, category, provider,
                  wrapping, logos, Score, typography, colours, borders, padding.
                CATEGORIES DROPDOWN - "View All Categories" row removed for launch.
                  All seven categories are listed, so the eighth row led somewhere the
                  list had already covered. One <li> deleted from the walker. The
                  All-Categories PAGE is untouched and still used by the breadcrumb.
              v3.16.1 - Resource Center card image path repair - 2026-08-18
                DEFECT: the homepage Business Banking guide card requested
                  /assets/images/assets/images/articles/... and 404d, rendering a
                  broken-image icon and alt text. The companion-asset override in
                  inc/resource-data.php wrote fp_article_image_base() whole - a
                  THEME-relative path - into a field the card partial already
                  prefixes with fp_resource_image_base(). Path doubled.
                FIX: the page-type folder is derived by removing the shared base.
                  Reference/path only - no artwork, markup, CSS or geometry change.
                  Cards 2-4 were never affected and are untouched.
                NO WORDPRESS-SIDE CHANGE REQUIRED. Buying Guides is already on the
                  Resource Collection template and working; the v3.16.0 note about
                  switching it from Default is historical. Nothing in this release
                  touches templates, pages, navigation or the collection registry.
              v3.16.0 - Resource collections, Comparisons, Resources nav, homepage CTAs - 2026-08-18
                RESOURCE COLLECTION TEMPLATE (new). One reusable template serves every
                  collection; a new collection needs a registry entry and a published Page,
                  never a second template. Buying Guides is the first.
                  DEPLOYMENT NOTE: page-templates/collection-landing.php is what makes
                  "Resource Collection" appear in the WordPress Page Template selector.
                  The Buying Guides Page is still on Default and renders empty until this
                  ships AND the template is selected in WP Admin.
                COMPARISONS COLLECTION PAGE (new). /comparisons/ - a top-level route,
                  deliberately outside the Resources vocabulary and dropdown.
                COLLECTION HERO RESPONSIVE SYSTEM. Three columns is now the >=1200 case;
                  768-1199 is two tiers (identity full width, copy pair beneath, subgrid
                  retained); <768 stacks all three with identity first. Fixes three columns
                  persisting to 375px and clipping text outside the viewport.
                RESOURCES NAV DROPDOWN. FP_Resources_Nav_Walker extends the Categories
                  walker; existence-aware, so a collection appears only once its Page is
                  published. The trigger is a real <button> and does not navigate.
                HOMEPAGE CTA HIERARCHY. Editors Picks: solid-blue boxed Read Review plus a
                  centred "Visit <Provider>" text link. Resource Center: contextual text-link
                  CTAs, five-zone subgrid, card height 489.6 -> 387.6.
                ARTICLE ASSET SYSTEM. An article declares a full-size hero and a reusable
                  small-format card companion once, in the article registry.
                DEFECT REPAIR (article template). page-templates/article.php line 47 tested
                  "if ( ! $fp_article )", so the body rendered only when the registry lookup
                  FAILED. Now "if ( $fp_article )". One-line repair, no redesign.
                Frozen and unchanged: Hero, Explore by Category, Why Trust, footer geometry,
                  base tokens, Categories nav walker, front-page.php.
              Component 01 (Header):              v1.10 — Responsive Production — FROZEN 2026-08-04
                Final breakpoints: < 1024px hamburger / ≥ 1024px desktop horizontal nav.
                Geometry rationale: 6-item nav (Categories, Providers, Comparisons,
                  Resources, Editorial, About Us) overflows at 640px (−150px) and 768px
                  (−22px, only +3px clearance even at minimum viable config — unsafe).
                  1024px desktop nav clears with +23px — only safe sub-desktop tier is hamburger.
                Mobile + Tablet (< 1024px): hamburger. Logo 44px (40px at <640px).
                  Full-width vertical dropdown. 44px touch targets. 15px font.
                  Hamburger: 44×44px, 3-bar → X animation.
                  JS: Escape closes + refocuses button. Click-outside closes.
                  JS: Resize listener clears .is-open when ≥ 1024px.
                Desktop (≥ 1024px): full horizontal nav. Logo 56px. Unchanged from v1.8.
                No changes to logo artwork, colors, typography, menu labels, or desktop layout.
              Resource Article Template:          v1.0 — Responsive Production — FROZEN 2026-08-17
                Canonical long-form article system. Desktop baseline 7984827,
                responsive closeout ddeac17. EVERY future Resource article reuses
                this template: add a registry entry and body parts, never a new
                article design or a second article stylesheet.
              Component 02 (Hero):                v2.10 — Responsive Production — FROZEN 2026-08-17
                (v2.9 frozen 2026-08-04; v2.10 adds the centred card heading only)
                Tablet (640–1023px): stacked 1-col, max-width 800px centred.
                  Headline 44px / card title 24px / section top 64px / card padding 24px.
                Mobile (< 640px): stacked 1-col, full-width 20px margins.
                  Headline 36px / card title 22px / section top 48px / card padding 20px.
                  Ratings table: qualifier hidden; label wraps to 2 lines at 12px; fixed layout.
                Desktop (≥ 1024px): 2-col 49/51fr, unchanged from Phase 1.
                Rendered via PHP template part (generate_after_header hook, priority 10).
                Duplicate title suppressed: generate_add_navigation_after_header removed via wp hook.
                generate_disable_page_header filter suppresses GP Premium Page Header.
                Section padding: 96px top / 80px bottom.
                Rating table: all borders 0 (blanket suppression via qualifier-refinement polish).
                Block pattern registration removed; homepage-hero.php is the active render path.
                v2.10: Editorial Framework card heading centred (text-align on the
                  base .fp-editorial-card__title rule only). Card is intentionally
                  category-agnostic: all four rating sources are demonstrative.
                  DEPLOYED QA PASSED on staging v3.12.4, 2026-08-17: centred within
                  0.02px at 1440/1024/768/640/375; card geometry, four rating rows
                  and all other FP-C-002 behaviour unchanged. FROZEN.
              Component 03 (Explore by Category): v3.8 — Responsive density refinement — 2026-08-08
                Rendered via PHP template part (generate_after_header hook, priority 20).
                Desktop FROZEN (v3.8.0). Tablet/mobile pending visual QA.
                HTML restructured from flat grid to two .fp-category-group elements:
                  .fp-category-group--business (5 cards) / .fp-category-group--personal (2 cards).
                  Each group contains its own label + .fp-category-grid.
                Responsive grid:
                  Mobile  (<640px):  1-col per group, 32px gap between groups.
                  Tablet  (≥640px):  2-col per group, 40px gap between groups.
                  Medium  (≥1024px): 2-col per group (gap bumped to 24px).
                  Desktop (≥1440px): .fp-category-groups = repeat(7,1fr) CSS grid.
                    Business group: grid-column 1/6, subgrid (5 tracks).
                    Personal group: grid-column 6/8, subgrid (2 tracks).
                    Card grids: subgrid → identical column widths across all 7 cards.
                Icon sizes (responsive): 88px mobile / 96px tablet / 104px desktop.
                Container: 1500px section override. Card padding 16px desktop / 12px tablet / 10px mobile. Title 14px/600.
                Top padding: 24px mobile / 32px tablet / 32px desktop.
                Container margins: 20px mobile / 24px tablet+medium / 32px desktop.
                Touch target: Explore link min-height 44px at <640px.
                Group labels: visible at all breakpoints. Rule flex:1 + margin-right:20px.
                  v3.2.9: slot 80px → 104px for Final Production v3.0 SVGs (approved optical scale).
                  v3.3.0: SVG filenames updated to *-final-v3.svg convention.
                  v3.4.0: SVG filenames updated to *-final-v4-3.svg convention (Final Production v4.3).
                  v3.5.0: BUSINESS FINANCE / PERSONAL FINANCE group labels added above card grid.
                    Visible at ≥1440px (7-col) only. Label row mirrors grid (repeat(7,1fr)/24px gap).
                    BUSINESS FINANCE spans cols 1–5; PERSONAL FINANCE spans cols 6–7.
                    Hidden at <1440px where cards wrap across rows.
                  v3.6.0: Group label rule micro-refinement only. Two property changes:
                    opacity 0.3 → 0.18 (lighter). flex:1 → flex:0 1 64px (shorter/capped).
                  v3.7.0: Rule length 64px → 160px. Single property change.
                  v3.8.0: Rules restored to flex:1 (group-width-filling) + margin-right:20px
                    (trailing breathing room). Business Finance rule spans 5-col width;
                    Personal Finance rule spans 2-col width — proportional by group.
                    Desktop FROZEN / FINAL PRODUCTION.
                  v3.9.0: Tablet/mobile responsive execution. HTML restructured into two
                    .fp-category-group divs. CSS subgrid at desktop for column alignment.
                    Business Lending (5th card) left-aligns in 2-col grid at tablet.
                    PERSONAL FINANCE label appears between Business Lending and Crypto cards.
                    Icons scale: 88px mobile / 96px tablet / 104px desktop restored.
                    Pending visual QA — not yet frozen.
                  v3.9.1: Accessibility correction only. No visual or responsive changes.
                    Group label <span> → <h3 class="fp-category-group-label__text">.
                    aria-hidden="true" removed from both group label containers.
                    aria-labelledby added to each .fp-category-group container.
                    CSS: margin:0 added to .fp-category-group-label__text (h3 reset).
                    Document outline: h2 "Explore by Category" → h3 "Business Finance"
                      / h3 "Personal Finance". Card title h3s remain unchanged.
                  v3.9.2: Accessibility correction only. No visual or responsive changes.
                    Card title element changed from h3 → h4 in fp_render_category_card().
                    .fp-category-card__title class preserved — no CSS change, pixel-identical.
                    Final heading hierarchy: h2 → h3 (group) → h4 (card title).
                  v3.10.0: Responsive density refinement. CSS-only. No PHP/HTML changes.
                    Tablet (640–1439px): card padding 16px→12px, image margin-bottom 16px→12px,
                      title min-height 34px→0, title margin-bottom 8px→6px, link margin-top 16px→12px.
                    Mobile (<640px): card padding 16px→10px, image margin-bottom 16px→8px,
                      title min-height 34px→0, title margin-bottom 8px→4px, link margin-top 16px→8px.
                    Touch target min-height:44px on Explore link preserved.
                    Desktop (≥1440px) completely frozen — zero property changes.
                    Tablet/mobile: PENDING visual QA — not yet frozen.
                  Mist Blue circle is part of each SVG; no CSS circle is applied.
                  No object-fit, no extra padding, no wrapper circle.
                  Image load: eager (above fold). opacity:1 explicit (GP lazy-load guard).
                Card geometry:
                  Desktop (1440px / 7-col): card 176px, inner 144px
                  Medium  (1024px / 2-col per group): wider cards
                  Tablet  ( 768px / 2-col per group): card ~350px, inner ~318px
                  Mobile  ( 390px / 1-col): card 350px, inner 318px
                All 7 icons: Final Production v4.3 SVGs — FROZEN 2026-08-08.
                  assets/icons/categories/business-banking-final-v4-3.svg
                  assets/icons/categories/corporate-cards-spend-management-final-v4-3.svg
                  assets/icons/categories/business-insurance-final-v4-3.svg
                  assets/icons/categories/payments-final-v4-3.svg
                  assets/icons/categories/business-lending-final-v4-3.svg
                  assets/icons/categories/crypto-digital-assets-final-v4-3.svg
                  assets/icons/categories/investing-wealth-management-final-v4-3.svg
                Category order: Business Banking → Corporate Cards & Spend Management →
                  Business Insurance → Payments → Business Lending →
                  Crypto & Digital Assets → Investing & Wealth Management.
                Desktop FROZEN / FINAL PRODUCTION — 2026-08-08.
                Tablet/mobile: PENDING visual QA — 2026-08-08.
              Component 04 (Editor's Picks):      v1.0 — Responsive Production — FROZEN 2026-08-10
                Specification: Design System Manual — Final Production v2.0 (all four ranges frozen).
                Rendered via PHP template part (generate_after_header hook, priority 30).
                Homepage sequence: Header -> Hero (p10) -> Explore by Category (p20) -> Editor's Picks (p30).
                No existing hook priority was altered.
                Responsive layout:
                  Mobile   (<768px):   1-col, 7 stacked cards. 16px card-to-card gap.
                  Tablet   (768-1023px): 3-col, 3+3+1. Card 7 in column 2 of the final row
                    (current seven-card set only — reevaluate if the count changes).
                  Standard Desktop (1024-1439px): 4-col, 4+3, second row left-aligned.
                  Large Desktop (>=1440px): 7-col single row, 1392px component container.
                Shared subgrid zone floors (category / logo / provider / score / CTA):
                  Mobile 24/48/24/72/104 · Tablet 48/48/48/72/104
                  Std Desktop 48/48/48/72/80 · Large Desktop 80/48/64/72/80
                  Floors are minimums. CSS subgrid shares tracks per row so wrapping
                  cannot cause per-card drift.
                Internal zone gaps 24px at every range; card padding 24px (compact).
                  On Mobile the 16px card gap is independent of the 24px internal gap
                  (a subgrid uses its own gap, not the parent's).
                Alignment model: heading block and card grid are decoupled.
                  .fp-editors-picks__header uses the global homepage margin system
                    (20/24/32px, 1500px container) so the section heading lines up with
                    neighbouring homepage sections.
                  .fp-editors-picks__grid keeps the frozen v2.0 containers
                    (1392px large desktop / 1200px standard desktop / fluid below,
                    24px outer gutters). Card geometry is NOT adjusted for alignment.
                FinanceProspector Score: X.X 14px/700 in #15803D (AA-accessible score green);
                  /10 13px/400 Gray 500; 4px descriptor-to-value gap. No stars.
                Category labels use the AA-accessible category text tokens (>=4.92:1 on white),
                  not the frozen identity colours, which remain correct for icons and accents.
                CTAs: 'Read Review ->' / 'Visit Provider ->' as compact text links, never buttons.
                  48px minimum touch-target height at Tablet and Mobile.
                Logo zone: 48px high across the full interior card width;
                  max-width:100%, max-height:48px, width/height:auto, object-fit:contain.
                  No fixed logo width — real provider logos are not constrained.
                Logo assets: TEMPORARY approved 48x48 square LOGO placeholders
                  (v2.0 section 24.3) in assets/images/editors-picks/.
                  Replacing one with an official provider logo is an ASSET REPLACEMENT:
                  swap the file and update that <img>'s width/height attributes only.
                Review and provider URLs are '#' implementation placeholders —
                  v2.0 prohibits inventing destinations. Replace with approved URLs.
                Base tokens added (additive only, nothing redefined):
                  7 accessible category text colours, --fp-color-score-text,
                  --fp-space-xxs (4px), --fp-shadow-card-level-1, focus-ring tokens.
                  --fp-shadow-1 was deliberately NOT redefined; the Design Bible's
                  Level 1 card shadow is a separate token.
                FROZEN / FINAL PRODUCTION — all four ranges — 2026-08-10.
                v3.11.1: PACKAGING FIX ONLY. No design, component, CSS, PHP or
                  asset changes of any kind — every theme file is byte-identical
                  to v3.11.0 except this version header.
                  Archive file permissions normalised to 0644 (files) / 0755
                  (directories). v3.11.0 inherited 0600 owner-only bits on 47
                  files carried over from the v3.10.0 archive; these are
                  restrictive and can contribute to "Could not copy file"
                  errors during WordPress theme installation.
              Component 02 (Hero) — v3.11.2 patch — 2026-08-10:
                SCORE-TO-STAR SPACING CORRECTION. CSS-only, one declaration.
                `.fp-rating-row td { padding: 12px 0; }` has specificity (0,1,1)
                  and outranked the (0,1,0) `.fp-rating-row__score` padding-right,
                  so the intended gap computed to 0 and ratings rendered as "4.7*".
                  Added `.fp-rating-row td.fp-rating-row__score
                  { padding-right: 8px }` at specificity (0,2,1). Only
                  padding-right is set; the 12px vertical padding still comes
                  from the td rule, so row spacing is unchanged.
                Verified at exactly 8.0px in all four rating rows at 1440, 1280,
                  1024, 834, 768, 430, 375 and 320px.
                APPROVED SIDE EFFECT: the ratings table uses automatic layout at
                  desktop, so the 8px is taken from the label column. Between
                  approximately 1024-1128px two labels wrap to a second line and
                  the card grows 22-43px. Approved rather than reopening Hero
                  typography, table layout mode, column widths or card
                  dimensions. Tablet and Mobile are unaffected.
                No PHP changed. No other Hero value changed.
              Component 04 (Editor's Picks) — v3.11.3 patch — 2026-08-10:
                VERTICAL COMPACTION + CATEGORY-LABEL ALIGNMENT. CSS-only.
                Specification: Design System Manual v2.2.2 sections 33.1, 33.2.
                Card padding: 24px -> 16px VERTICAL. Horizontal stays 24px.
                Internal vertical zone gap: 24px -> 16px, all four ranges.
                Zone floors (category/logo/provider/score/CTA), now uniform:
                  Mobile + Tablet            24 / 48 / 24 / 40 / 104px
                  Standard + Large Desktop   24 / 48 / 24 / 40 /  48px
                  The 104px CTA floor applies only where the 48px touch-target
                  requirement does; 48px on desktop.
                Card-to-card grid gap UNCHANGED: 16px Mobile, 24px Tablet,
                  24px Standard Desktop, 24px Large Desktop. The 16px value
                  applies to INTERNAL zone gaps only (v2.2.1 / v2.2.2).
                Category labels: justify-content flex-start. The shared subgrid
                  track is sized to the tallest label in the row, so centring
                  pushed short labels' first lines downward. Every label's
                  first line now begins 17px from the card top.
                Card heights (Inter): approx 338-350 Mobile, 338-362 Tablet,
                  296-329 Standard Desktop, 422 Large Desktop — a reduction of
                  72-146px per card versus v3.11.2.
                Unchanged: card widths, containers, column counts, responsive
                  arrangements, typography, category colours, score styling,
                  CTA wording, borders, radius, shadow, horizontal padding,
                  provider order, heading alignment, 48x48 logo placeholders.
                No PHP changed. Hero, header/navigation and Explore by Category
                  are byte-identical to v3.11.2.
              Component 01 (Site Header) — v3.11.4 patch — 2026-08-10:
                BRANDING ASSET REPLACEMENT. Designer's final logo + wordmark +
                  tagline lockup ("Compare Trusted Financial Providers").
                Asset: assets/images/branding/financeprospector-logo-tagline.svg
                  Supplied by the designer and stored BYTE-FOR-BYTE UNMODIFIED.
                  Not recreated, redrawn, traced, recoloured or re-exported.
                  MD5 d92380c090e1d62e174bd6364bb3d4d7.
                  viewBox 0 0 1080 188.1 — aspect ratio 5.7416:1.
                  Colours #173F73 / #42B649. Text is fully outlined (no font
                  dependency). Approved for ALL responsive ranges including
                  Mobile; there is deliberately no separate no-tagline variant.
                KNOWN DEFECT IN THE SUPPLIED FILE: it carries width="17.2"
                  height="66.3" attributes that contradict its own viewBox
                  (portrait box around landscape artwork — an Illustrator
                  export quirk). The SVG is NOT edited to fix this. Instead the
                  <img> tag's explicit width/height attributes, which override
                  a referenced SVG's internal ones, were corrected from
                  611x123 to 1080x188. Report to the designer so future
                  exports carry dimensions consistent with the viewBox.
                Displayed sizes (height set by existing CSS, width follows the
                  aspect ratio — NO CSS CHANGE, site-header.css is untouched):
                  Large Desktop / Standard Desktop  322 x 56px
                  Tablet                            253 x 44px
                  Mobile                            229 x 40px
                  The previous asset carried ~12% safe padding inside its
                  viewBox; the new artwork's ink reaches all four edges, so the
                  same CSS heights yield a slightly larger optical size, which
                  is what lets the tagline stay legible.
                Header height unchanged (79px desktop / 67px tablet+mobile).
                  Navigation left edge unchanged at 454 / 690 / 770px. Nav
                  typography, chevrons, hover behaviour and hamburger
                  breakpoints all unchanged.
                Previous asset financeprospector-logo-dark.svg is RETAINED in
                  assets/images/branding/ for rollback; it is no longer
                  referenced by any template.
              Component 04 (Editor's Picks) — v3.11.5 patch — 2026-08-10:
                TYPOGRAPHY + CTA REFINEMENT. CSS and template-part only.
                Category heading: was 16px/600 desktop and 15px/600 tablet and
                  mobile -> now 14px / 600 / line-height 1.20 at ALL widths,
                  matching FP-C-003 .fp-category-card__title. Each category's
                  approved colour is unchanged.
                CTA typography: was 16px/600 desktop and 15px/600 tablet and
                  mobile -> now 14px / 500 / line-height 1 at ALL widths,
                  matching the approved small text-link treatment used by
                  .fp-category-card__link and .fp-editorial-card__methodology a.
                  No new CTA style was introduced.
                CTA touch target: was 48px below 1024px -> now 44px below
                  640px only, released at 640px and above. 44px follows W3C
                  enhanced target-size guidance (WCAG 2.2 SC 2.5.5), not the
                  24x24 AA floor. SUPERSEDES Design Bible s27.3 / s30.3.
                CTA group gap: 8px, reduced to 0 below 640px. The mobile pair
                  is tightened by closing the GROUP gap, never by shrinking a
                  clickable area. The two 44px targets sit flush and do not
                  overlap (measured boundary exactly 0px), so neither link's
                  hit area is ambiguous.
                  Resulting text-to-text gap: 38px -> 6px at 640px and above,
                  38px -> 28px below 640px. 28px is close to the arithmetic
                  minimum for two flush 44px targets around 14px text
                  (44 - 14 = 30px of padding, 15px per side).
                CTA zone floor: 104px -> 88px below 640px, 48-50px above.
                Visit CTA: "Visit Provider" -> "Visit {provider name}", giving
                  Visit Grasshopper / Visit Ramp / Visit National Business Capital /
                  Visit Kraken / Visit Square / Visit SoFi Invest /
                  Visit ERGO NEXT. SUPERSEDES Design Bible s11.4.
                CTA link display: was inline-flex -> now a centred text block
                  with a non-breaking space before the arrow. Under inline-flex
                  a wrapped label such as "Visit National Business Capital"
                  pushed the arrow into a separate flex column floating to the
                  right of the wrapped text. As a text block the arrow stays
                  attached to the final word, preserving the approved arrow
                  treatment.
                Card heights: approx 322-332 Mobile, 282-306 Tablet, 292-308
                  Standard Desktop, 376 Large Desktop.
                Unchanged: card widths, containers, column counts, responsive
                  arrangements, category colours, provider names, scores, score
                  styling, 48x48 logo placeholders, borders, radius, shadow,
                  card padding, zone floors other than the CTA floor, section
                  heading and subheading, provider order.
                Header, tagline logo, Hero (including the 8px score-to-star
                  spacing) and Explore by Category are byte-identical to v3.11.4.
              Component 04 (Editor's Picks) — v3.11.6 patch — 2026-08-10:
                PROVIDER-NAME TYPOGRAPHY. CSS only, one rule.
                Provider name: was 16px/600 desktop and 15px/600 tablet and
                  mobile -> now 14px / 500 / line-height 1.20 navy at ALL
                  widths. Navy is unchanged.
                Rationale: at 16px/600 the provider names read as second-level
                  headings and competed with the category heading, which
                  v3.11.5 set to 14px/600. Reducing size alone was not enough —
                  at 14px/600 the two sat at an identical typographic level and
                  navy's higher contrast still made the provider dominant. The
                  weight step to 500 is what places the provider clearly below
                  the category heading.
                Resulting card hierarchy:
                  Category heading  14px / 600 / category colour
                  Provider name     14px / 500 / navy
                  Score label       13px / 400 / Gray 500
                  Score value       14px / 700 / #15803D
                  CTAs              14px / 500 / blue
                  The provider name shares a scale with the CTAs but is
                  separated by colour (navy vs blue) and position.
                Card heights: 370 Large Desktop, 292 Standard Desktop,
                  282-303 Tablet, 322-332 Mobile.
                Unchanged from v3.11.5: category heading typography, CTA
                  typography, 44px mobile CTA touch targets, mobile CTA group
                  gap of 0, provider-specific Visit links, the non-breaking
                  arrow treatment, score typography, card widths, containers,
                  grid, colours, scores, logo placeholders, borders, radius,
                  shadow and section typography.
                No PHP changed. Header, tagline logo, Hero and Explore by
                  Category are byte-identical to v3.11.5.
              Component 04 (Editor's Picks) — v3.11.7 patch — 2026-08-10:
                BUSINESS / PERSONAL FINANCE GROUPING + REORDER + MOBILE CTA.
                Taxonomy: the seven picks are now split into two labelled
                  groups mirroring FP-C-003 Explore by Category, so the
                  homepage taxonomy reads the same in both sections.
                  BUSINESS FINANCE — Business Banking (Grasshopper), Corporate Cards
                    & Spend Management (Ramp), Business Insurance (ERGO NEXT),
                    Payments (Square), Business Lending (National Business
                    Capital).
                  PERSONAL FINANCE — Crypto & Digital Assets (Kraken),
                    Investing & Wealth Management (SoFi Invest).
                  Order matches Explore by Category exactly.
                Group labels reuse the FP-C-003 treatment: 11px / 600
                  uppercase navy, 0.08em tracking, hairline rule at 18%
                  opacity, aria-hidden with cards carrying context via h3 and
                  aria-label.
                Groups STACK at every breakpoint. Layouts:
                  Large Desktop >=1440   Business 5 / Personal 2
                  Standard Desktop       Business 3+2 / Personal 2
                  Tablet                 Business 3+2 / Personal 2
                  Mobile                 one card per row within each group
                CARD WIDTHS ARE UNCHANGED at every breakpoint — 272/327/382
                  Mobile, 224/246/309 Tablet, 226/282 Standard Desktop,
                  178.3 Large Desktop. Holding these required keeping the
                  track set that generates them rather than re-columning:
                  at >=1440 both group grids use the 7-column track set with
                  the trailing columns empty; at >=1024 the 4-column set is
                  kept and only the wrap point moves, via
                  .fp-pick-card:nth-child(4) { grid-column: 1 }.
                SUPERSEDES: the 7-across single row, 4+3, 3+3+1, and the
                  §27.1 tablet card-7 orphan rule. Those arrangements predate
                  the taxonomy and are intentionally replaced.
                Cross-group alignment: none required. The groups are always
                  separate rows, so zone tracks are shared within a group and
                  there is no row that spans the group boundary. Alignment
                  measured exact for every row of both groups at all widths.
                MOBILE CTA SPACING: text-to-text reduced 28px -> 6px while
                  each link keeps its 44px minimum tap target. Achieved by
                  padding the text to the inner edge of each 44px box (first
                  link pads 30px from the top, second 30px from the bottom)
                  and reclaiming the outer padding with a -15px block margin.
                  The two hit areas sit 8px apart and never overlap.
                Unchanged: category headings 14px/600, provider names
                  14px/500 navy, CTA typography 14px/500, score styling,
                  category colours, provider names, scores, 48x48 logo
                  placeholders, borders, radius, shadow, card padding,
                  internal zone gaps, section heading and subheading,
                  provider-specific Visit labels and arrow-wrap behaviour.
                Header, tagline logo, Hero and Explore by Category are
                  byte-identical to v3.11.6.
              Component 04 (Editor's Picks) — v3.11.8 patch — 2026-08-10:
                CTA TYPOGRAPHY + LARGE DESKTOP SINGLE-ROW CORRECTION. CSS only.
                CTA typography: 14px / 500 -> 13px / 500. Blue link colour,
                  arrows and provider-specific Visit labels unchanged. The CTAs
                  now sit one step below the site-wide small text-link
                  treatment, behind the provider name and category heading in
                  the card hierarchy.
                  Mobile tap-target padding compensated 30px -> 31px so the
                  44px minimum is exact with 13px text (31 + 13 = 44). Mobile
                  measures 44px target, 6px text-to-text spacing, 8px between
                  hit areas, no overlap — all unchanged from v3.11.7.
                LARGE DESKTOP (>=1440px): all seven cards return to ONE
                  horizontal row, with Business Finance labelled over cards
                  1-5 and Personal Finance over cards 6-7.
                  The group wrappers and their <ul>s collapse with
                  display:contents at >=1440, so all seven cards become direct
                  items of a SINGLE 7-column grid sharing one set of zone row
                  tracks. This is what eliminates cross-group drift: an
                  earlier side-by-side attempt let each group size its own
                  tracks and produced 5-11px offsets in the logo, provider,
                  score and CTA rows. Measured at 1440: every zone returns a
                  single position across all seven cards (card top 1431,
                  logo 1514, provider 1578, score 1628, CTAs 1703).
                  role="list" is set explicitly on each <ul> in the template,
                  preserving list semantics for assistive technology despite
                  display:contents.
                  Card size at Large Desktop: 178.3 x 337px (frozen width).
                TAXONOMY ACCENT RULE: the full-width rule beside each group
                  label is replaced by a short 96px accent rule, applied at
                  EVERY breakpoint so the label reads identically at all
                  widths.
                Stacked group layouts below 1440px are unchanged from v3.11.7:
                  Standard Desktop and Tablet Business 3+2 / Personal 2,
                  Mobile one card per row within each group.
                Unchanged: category headings 14px/600, provider names
                  14px/500 navy, score styling, category colours, provider
                  names, scores, order, 48x48 logo placeholders, borders,
                  radius, shadow, card padding, internal zone gaps, card
                  widths at every breakpoint, section heading and subheading.
                No PHP changed. Header, tagline logo, Hero and Explore by
                  Category are byte-identical to v3.11.7.
              Component 04 (Editor's Picks) — v3.11.9 patch — 2026-08-11:
                SHARED HOMEPAGE GRID SYSTEM + NEUTRAL CATEGORY HEADINGS.
                CSS only, one file. Three corrections in one patch.
                1. SECTION HEADING ALIGNMENT. The heading block carried the
                   global homepage margin system ON TOP OF the container's own
                   gutters, double-insetting the heading and subtitle by
                   20-32px. The override is removed; the heading block now
                   inherits the container, so heading, subtitle, taxonomy
                   labels and card grid share one left edge at every width.
                2. TAXONOMY ACCENT RULE 96px -> 150px, declared as
                   flex: 0 1 150px with min-width 24px so it holds 150px from
                   375px upward and shrinks only at 320px rather than
                   overflowing. Still a controlled accent rule, never
                   full-width or stretching.
                3. SHARED GRID SYSTEM. Editor's Picks adopts the FP-C-003
                   Explore by Category horizontal layout VERBATIM, so the
                   homepage has one card grid language rather than two
                   independently sized systems. Values were read from
                   explore-by-category.css, not estimated:
                     container  max-width 1500px, centred
                     gutters    --fp-margin-mobile/tablet/desktop
                                = 20 / 24 / 32px, switching at 640 and 1440
                     grid       1 col -> 2 cols at 640 -> 2 cols at 1024
                                -> 7 cols at 1440
                     gaps       --fp-gutter-mobile/tablet/desktop
                                = 16 / 20 / 24px
                   Measured parity with Explore at every breakpoint — card
                   left edge, card width, gap, column count and heading left
                   edge all match exactly (375, 768, 1024, 1280, 1439, 1440).
                   SUPERSEDES the 1200px and 1392px component containers and
                   every previously frozen Editor's Picks card width
                   (272/327/382, 224/246/309, 226/282, 178.3px). New widths
                   follow Explore: 335 at 375px, 350 at 768px, 476 at 1024px,
                   604 at 1280px, 683.5 at 1439px, 176 at 1440px.
                   ACCEPTED CONSEQUENCE: Explore uses 2 columns from 640px to
                   1439px, so Business Finance now breaks 2 + 2 + 1 across
                   that range, with Business Lending alone on the third row.
                   This supersedes the 3 + 2 break of v3.11.7 and matches
                   Explore's own rhythm — Explore has the identical orphan at
                   those widths. Deliberately accepted for grid consistency.
                4. CATEGORY HEADING COLOUR. Editor's Picks category headings
                   move from the per-category accessible text tokens to
                   --fp-color-navy, matching FP-C-003
                   .fp-category-card__title exactly (14px / 600 / 1.20 navy —
                   size, weight and line-height already matched, so only the
                   colour changed). The category colour system is unchanged
                   everywhere else; this applies only to the heading text
                   inside Editor's Picks cards.
                Unchanged and re-verified: seven cards on one row at >=1440
                  with Business Finance over cards 1-5 and Personal Finance
                  over cards 6-7 (labels span exactly their card groups),
                  zero cross-card zone drift, 150px accent rules, CTA
                  13px/500, 6px mobile CTA text spacing, 44px mobile tap
                  targets with 8px non-overlapping separation, provider
                  order, scores, provider names, logo placeholders,
                  provider-specific Visit labels and arrow wrapping, card
                  internal zone alignment, section heading and subtitle.
                No PHP changed. Header, tagline logo, Hero and Explore by
                  Category are byte-identical to v3.11.8 — Explore was used
                  as the reference only and was not modified.
              Homepage CTA + Editor's Picks — v3.11.10 patch — 2026-08-11:
                TWO CORRECTIONS. Editor's Picks CSS/template plus a
                homepage-wide CTA arrow normalisation that intentionally
                touches Hero and Explore by Category.
                1. TAXONOMY DIVIDER RULES. The Business Finance and Personal
                   Finance accent rules change from a fixed 150px length
                   (flex: 0 1 150px) to flex: 1 1 auto, so each rule fills the
                   remaining width of its own taxonomy group and relates to
                   the cards beneath it.
                   At Large Desktop the Business label spans columns 1-5 and
                   the Personal label columns 6-7, so the rules end exactly at
                   the right edge of card 5 (1008px) and card 7 (1408px) —
                   measured delta 0. Rule widths become 833px and 228px at
                   1440px, and both run to the container edge (355px) at
                   375px. min-width 24px is retained so the rule shrinks
                   rather than overflowing on narrow phones. Label typography
                   and the divider colour/weight are unchanged.
                2. HOMEPAGE-WIDE CTA ARROW SPACING. The four CTA types were
                   built three different ways and rendered three different
                   gaps:
                     Hero      arrow sat inside the link's single text node,
                               so the declared gap:4px never applied
                     Explore   arrow span carried a TYPED LEADING SPACE
                     Picks     template whitespace collapsed to a space
                   All four now share --fp-cta-arrow-gap: 4px (base.css),
                   applied as margin-left on an arrow <span>, with NO
                   whitespace between the text and the span in any template.
                   Measured at exactly 4px for Hero, Explore, Read Review and
                   Visit [Provider] at both 1440px and 375px.
                   4px was chosen because it is the only arrow gap that was
                   ever explicitly declared in the theme (Hero's), so it
                   represents the documented intent and is closest to the
                   previous rendering.
                   ARROW ORPHANING: removing the whitespace removes the line
                   break opportunity entirely, so the final word and the arrow
                   cannot separate. Verified by forcing the CTA container from
                   279px down to 80px — the arrow stayed on the last text line
                   at every step. No additional no-wrap wrapper is required.
                HERO AND EXPLORE: modified for arrow spacing ONLY. Verified by
                  comparing 188 element snapshots (Hero card, ratings rows,
                  stars, Explore container, grid, cards, titles, descriptions,
                  images) between v3.11.9 and this build across 1440, 1280,
                  768 and 375px — ZERO differences in position, size, font,
                  weight or colour. Their layout, typography, sizing, colours,
                  spacing and responsive behaviour remain frozen.
                3. CARD PADDING / USABLE CONTENT WIDTH. Matching the OUTER
                   card width was not sufficient. Explore used 16px padding
                   and Editor's Picks 24px, so at 1440px the usable content
                   width was 142px vs 126px and the identical category label
                   "Corporate Cards & Spend Management" wrapped to 3 lines in
                   Editor's Picks against 2 in Explore.
                   Editor's Picks now uses the FP-C-003 .fp-category-card
                   padding verbatim, including its responsive steps:
                     16px at Large Desktop
                     12px from 640px to 1439px
                     10px below 640px
                   Verified: usable content width and category-heading wrap
                   line count are now identical in both sections at 320, 375,
                   430, 768, 834, 1023, 1024, 1280, 1439 and 1440px.
                4. TAXONOMY DIVIDER RULE. Replaced the derived
                   flex: 0 1 150px / min-width sizing with the FP-C-003
                   .fp-category-group-label__rule declarations copied
                   verbatim — flex: 1 with margin-right: 20px. Rule width,
                   label-to-rule gap (10px), height (1px) and opacity (0.18)
                   now measure identically in both sections at every width.
                5. MOBILE CTA MARGIN BOUND. Reducing the card padding to 10px
                   below 640px left the CTA group's -15px negative margin
                   pushing the 44px tap area 4px past the card border.
                   Nothing was visually clipped (overflow is visible), but a
                   tap target outside its card is incorrect. The margin is
                   bounded to -10px, matching the card padding at that
                   breakpoint; tap areas now finish 1px inside the border with
                   the 44px target, 6px text spacing and 8px hit separation
                   unchanged.
                Unchanged: the shared Explore / Editor's Picks grid alignment
                  from v3.11.9 (column deltas 0 across all seven columns),
                  6px mobile CTA text spacing, 44px mobile tap targets,
                  category and provider typography, scores, provider order,
                  logo placeholders, and every responsive layout.
              Homepage CTA typography — v3.11.11 patch — 2026-08-11:
                CTA TYPOGRAPHY STANDARDISED AT 14px / 500 HOMEPAGE-WIDE.
                CSS only, one file, one declaration plus its dependent
                tap-target padding.
                An audit of the v3.11.10 package found the four homepage CTA
                links were not on one standard:
                  See our methodology ->   14px / 500
                  Explore ->               14px / 500
                  Read Review ->           13px / 500
                  Visit [Provider] ->      13px / 500
                Hero and Explore already matched; Editor's Picks was the
                outlier. .fp-pick-card__cta moves 13px -> 14px (weight 500
                unchanged), so all four now measure 14px / 500. This
                supersedes the 13px value introduced in v3.11.8.
                DEPENDENT VALUE: the mobile 44px tap target is built as
                padding + text height, so it was 31px + 13px. With 14px text
                that would produce a 45px box and push the tap area past the
                card border. Padding returns to 30px + 14px = 44px exactly.
                Verified at 44px target, tap area finishing 1px inside the
                card border, 6px CTA text spacing and 8px hit-area separation
                — all unchanged from v3.11.10.
                Hero and Explore CTAs were NOT modified; they were already at
                the standard. The shared --fp-cta-arrow-gap: 4px and the
                structural arrow attachment are unchanged, measured at 4px on
                all four CTA types at every breakpoint.
                Card heights grow marginally as a result — 274px at Standard
                Desktop (from 269px) and 339px at Large Desktop (from 334px) —
                purely the 1px larger CTA text across two lines. Card widths,
                usable content widths, category-heading wrapping, taxonomy
                divider widths and zone alignment all still match FP-C-003
                exactly at every breakpoint.
              Component 02 (Hero) — v3.11.12 patch — 2026-08-11:
                EDITORIAL SCORE ON THE PROPRIETARY 10-POINT SCALE.
                All four rows now state their scale explicitly and share one
                numeric treatment:
                  FinanceProspector  9.0/10
                  G2                 4.6/5
                  Capterra           4.5/5
                  Trustpilot         4.6/5
                The complete numeric expression, denominator included, uses
                  identical navy typography in every row (14px/700 desktop,
                  13px/700 mobile). The FinanceProspector figure is NOT larger,
                  heavier or green — the previous green override on
                  .fp-rating-row--editorial .fp-rating-row__score is removed so
                  the value inherits navy at the shared weight. The new
                  .fp-rating-row__denominator inherits size, weight and colour
                  from its cell, so number and denominator cannot diverge.
                STARS: FinanceProspector shows 10 positions on ONE continuous
                  line — 9 filled plus 1 outlined (U+2606) in full-strength
                  brand green. .fp-star-outline is separate from
                  .fp-star-empty, which fades a filled star and is retained
                  unchanged for the community /5 rows. Star size unchanged:
                  15px desktop, 13px mobile.
                DIFFERENTIATION: the FinanceProspector row is distinguished by
                  a pale-green surface (--fp-color-green-tint, brand green at
                  8%) and the green 10-star treatment, not by the number.
                MOBILE (<640px) TWO-LEVEL EDITORIAL ROW:
                  Level 1: label + 9.0/10
                  Level 2: all ten stars on one line + Excellent
                  Ten readable star positions need ~144px, more than a phone
                  column allocation can give alongside the long label and the
                  score. Rather than shrinking the stars or squeezing the card,
                  the editorial row alone becomes two levels. The ten stars
                  stay on ONE line — this is not a two-line star treatment.
                  Community rows keep their single-level layout. Verified: no
                  card or page overflow at 320, 375 or 430px.
                MOBILE RATINGS RENDER AS BLOCKS. A <tr> kept inside table
                  layout is confined to one column's width, so neither the
                  two-level row nor its full-width tint can work there. Below
                  640px .fp-ratings, tbody, rows and cells are block/flex.
                  Table markup and roles are unchanged and the visually hidden
                  <thead> still supplies column headers.
                  FOR THE RECORD: the documented mobile column allocation of
                  55/15/30 had NEVER taken effect. Under table-layout:fixed the
                  browser derives column widths from the first row — the
                  absolutely positioned <thead> — so every <td> width rule was
                  silently ignored and the columns always rendered as equal
                  thirds.
                METHODOLOGY CTA is now right-aligned at EVERY breakpoint. It
                  was previously left-aligned below 640px, the only width where
                  it did not match the approved placement. Typography
                  (14px/500) and the 4px arrow gap are unchanged.
                Unchanged: card dimensions and position, heading and
                  explanatory copy, row order, hero headline, body copy and
                  checkmark statement, community values, community navy stars,
                  green Excellent labels, and all other Hero colours, spacing
                  and typography.
                Explore by Category and Editor's Picks are byte-identical to
                  v3.11.11.
              Component 05 (Resource Center) — v3.11.13 — 2026-08-11:
                FP-C-005 INITIAL PRODUCTION BUILD. New component; no existing
                component is modified.
                Spec: approved Resource Center reference screenshot for
                  composition, Design System Manual v2.4 ch.37 for illustration
                  production rules, v2.3 s35.5 for shared homepage card system.
                CONTENT: four article cards — badge, illustration, title,
                  description, "Updated July 2026", "Read Article ->". Article
                  URLs are '#' placeholders; the article pages do not exist yet
                  and slugs must not be invented. No "View All Resources"
                  button — it is not in the approved reference.
                ARTWORK: the four designer SVGs are stored BYTE-FOR-BYTE
                  UNMODIFIED in assets/images/resource-center/.
                    business-banking.svg    96b93081ba7321d06fa40eec1fc498fc
                    comparison.svg          b3c4120929a4f111432df426a6ab3758
                    business-fees.svg       a804f14eb21b25072ad3bec78a8dc26a
                    business-insurance.svg  f1d618c4ca31117a5ad4bca918b0228c
                  Never edited, recoloured, cropped or regenerated (v2.4 37.1).
                ILLUSTRATION SIZING — measured, not estimated:
                  FP-C-003 category icons use viewBox "0 0 200 200" with
                  <circle r="94">, so their backdrop circle is 94% of the icon
                  box: 97.76px Desktop / 90.24px Tablet / 82.72px Mobile.
                  In all four Resource Center SVGs the backdrop circle spans
                  the FULL viewBox WIDTH (measured: left edge 0, right edge 599
                  at a 600px render, every file). Circle diameter therefore
                  equals rendered image WIDTH, so one shared width value makes
                  all four circles identical — NO per-file horizontal scaling
                  is required. Width is set, height is auto, so every aspect
                  ratio is preserved exactly.
                  Verified: rendered image width matches the category-icon
                  circle diameter to within 0.01px at every breakpoint.
                  business-banking.svg is 928x1152; at the same width it
                  renders ~24% taller. Its circle is identical and the
                  browser-window artwork extends above and below it, matching
                  the approved reference. The image zone is fixed at the
                  tallest render (122/112/103px) so titles start on one line.
                  Circle centres sit at 50.0% of image height in the three
                  square files and 48.8% in the banking file; the --tall
                  modifier nudges it so all four circles share one centre line.
                BADGE COLOURS use existing approved tokens only — no new
                  colour was introduced and none was sampled from the
                  screenshot:
                    GUIDE      --fp-color-score-text        #15803D  5.02:1
                    COMPARISON --fp-color-blue              #2563EB  5.17:1
                    PRICING    --fp-category-payments-text  #7C3AED  5.70:1
                  Pill radius 999px (--radius-pill), white fill, 1px border in
                  the token colour.
                RESPONSIVE GRID (approved, frozen):
                    >=1280px      4 across
                    640-1279px    2 x 2
                    <640px        1 column
                  The 1280px four-across breakpoint is FP-C-005 specific and
                  intentional. It is NOT 1024px: the card footer is
                  unwrappable — "Updated July 2026" (120px) + 16px gap +
                  "Read Article ->" (100px) needs 236px, and a four-column
                  grid at 1024px leaves only 200px of card content width,
                  overflowing by 36px. 1280px is the first width where the row
                  fits, with 266px available. Solving it at 1024px would have
                  required altering the approved footer, typography or
                  content.
                Container, gutters, gaps and card padding inherit the shared
                  homepage card system: 1500px max-width; 20/24/32px gutters;
                  16/20/24px gaps; 10/12/16px card padding.
                CTA uses the frozen homepage standard: 14px/500, blue,
                  --fp-cta-arrow-gap 4px, arrow bound to the final word with no
                  whitespace so it cannot orphan.
                HOOK: generate_after_header priority 40, is_front_page() only.
                  Sequence Hero p10 -> Explore p20 -> Editor's Picks p30 ->
                  Resource Center p40. No existing priority altered.
                Header, Hero, Explore by Category and Editor's Picks are
                  byte-identical to v3.11.12; verified by 100 element
                  snapshots across five widths with zero differences.
              Homepage section spacing + Resource Center illustrations —
              v3.11.14 — 2026-08-11:
                1. MAJOR SECTION SPACING STANDARDISED (frozen).
                   Total rendered whitespace between adjacent major homepage
                   sections is now identical:
                     Desktop >=1024px   128px
                     Tablet  640-1023   96px
                     Mobile  <640px     72px
                   Applies equally to Hero -> Explore by Category ->
                   Editor's Picks -> Resource Center. Measured
                   content-edge to content-edge, not read from CSS.
                   Tokens --fp-section-gap-mobile/tablet/desktop added to
                   base.css. The value is the SUM of one section's
                   padding-bottom and the next section's padding-top; it is
                   not applied to both. Sections split it as (gap - 32)
                   bottom + 32 top at >=640px, and (gap - 24) bottom + 24 top
                   below 640px, following the Explore -> Editor's Picks
                   reference implementation.
                   Before this change the three transitions measured
                   112/128/160 at 1440px, 112/96/128 at 1024px, 88/96/128 at
                   768px and 56/72/112 at 375px — the Resource Center
                   transition was 32-40px larger than every other one,
                   because .fp-resource-center used a symmetric
                   padding: 64px 0 while every other section used an
                   asymmetric pair.
                   Explore by Category and Editor's Picks stepped up to their
                   desktop padding at 1440px; that step moves to 1024px so
                   the desktop standard holds from 1024 upward. Those media
                   blocks contain section padding only.
                   AUDITED AND RULED OUT: Resource Center internal spacing.
                   Its heading block measures 134px at 1440px against 142px
                   for Editor's Picks and 181px for Explore — the smallest of
                   the three. No internal padding, margin, gap, empty wrapper
                   or inherited GeneratePress margin contributes.
                2. RESOURCE CENTER ILLUSTRATIONS — FINAL SET (frozen).
                   Four normalised production SVGs, all 1024x1024 viewBox
                   with the background circle at #DDE3EE, the approved
                   FinanceProspector illustration-background colour also used
                   by the seven category icons.
                   NOTE FOR INTEGRITY CHECKS: these files are NOT byte-
                   identical to the Recraft exports. Each had its background
                   circle fill corrected by a surgical edit to the fill
                   attribute of the FIRST shape only — 2 to 4 bytes per file,
                   no geometry touched, file lengths unchanged, all valid XML.
                   A blanket replace was NOT used because the same fill value
                   also occurs inside the artwork (up to 22 times in one
                   file); those occurrences are deliberately left intact.
                     business-banking.svg    #DCE2EC -> #DDE3EE
                     comparison.svg          #DCE1EA -> #DDE3EE
                     business-fees.svg       #DBE1EA -> #DDE3EE
                     business-insurance.svg  #D0D7E5 -> #DDE3EE
                   Comparison is the re-scaled Recraft version: artwork
                   564x409, 70.7% artwork-to-circle occupancy, down from
                   81.8%. Set occupancy is now 65.5 / 66.8 / 70.7 / 76.1%.
                   Insurance sits slightly higher because its composition is
                   taller; this is accepted and it is deliberately left
                   unchanged rather than chasing numerical equality.
                   Measured: every circle spans the full canvas and is
                   centred at (400,400), so ONE shared CSS width gives
                   identical circle diameters. NO per-file scaling or
                   positioning correction is used.
                3. ILLUSTRATION DISPLAY SIZE (frozen):
                     Desktop >=1024px   140px
                     Tablet  640-1023   128px
                     Mobile  <640px     118px
                   Replaces the earlier category-icon-matched sizing
                   (97.76 / 90.24 / 82.72px), which rendered too small on the
                   live page. The category icons remain the readability
                   benchmark, not the required pixel size. All four files are
                   square, so the image zone equals the circle diameter and
                   the v3.11.13 --tall vertical correction is removed as
                   obsolete.
                No PHP logic changed. Header, Hero, Explore by Category and
                  Editor's Picks card layouts are unchanged; only their
                  outer section padding participates in the spacing standard.
              Homepage spacing — v3.11.15 — 2026-08-11:
                Two corrections, both anchored to existing approved visual
                references rather than to newly chosen values.
                1. MAJOR SECTION SPACING RE-ANCHORED (frozen).
                     Desktop >=1024px   128px -> 96px
                     Tablet  640-1023    96px -> 64px
                     Mobile  <640px      72px -> 48px
                   Derived from the approved HEADER -> HERO distance, which is
                   produced entirely by .fp-hero padding-top — the header
                   contributes 0 padding, 0 border and 0 margin, so its box
                   gap is 0 and the rendered distance equals the hero's top
                   padding: 96 / 64 / 48px. Those measured values are now the
                   section-gap tokens, so all FOUR homepage boundaries share
                   one rhythm: Header -> Hero -> Explore -> Editor's Picks ->
                   Resource Center.
                   Implemented by changing padding-bottom only, on all four
                   sections. No section's padding-top was altered, so the
                   Header -> Hero reference itself is untouched.
                   Split model retained: 64+32 desktop, 32+32 tablet,
                   24+24 mobile.
                   Supersedes the 128/96/72 system frozen in v3.11.14.
                2. HEADING -> SUBHEADING NORMALISED TO 8px (frozen).
                   FP-C-003 Explore by Category is the reference pattern:
                   the gap sits on the heading's margin-bottom, not the
                   subtitle's margin-top.
                   Explore and Resource Center already measured 8px.
                   Editor's Picks measured 16px because the value sat on
                   .fp-editors-picks__subtitle { margin-top: 16px }. That is
                   moved to .fp-editors-picks__heading { margin-bottom: 8px }
                   with the subtitle at margin 0, matching Explore exactly.
                   Typography — font size, weight, line-height and copy — is
                   unchanged; only the margin moved.
                   Net effect: the Editor's Picks header block is 8px shorter
                   at every breakpoint. Verified as the ONLY layout delta
                   against v3.11.14 across 250 element snapshots at five
                   widths.
                Unchanged: Resource Center artwork, #DDE3EE circles,
                  140/128/118px illustration sizing, 4/4/2/2/1 grid, card
                  layouts, badges, titles, descriptions, dates, CTAs,
                  typography, horizontal gutters and container widths.
                No PHP changed.
              Resource Center illustrations — v3.11.16 — 2026-08-11:
                1. PRODUCTION ARTWORK TREATMENT (frozen).
                   The four Resource Center SVGs are intentionally DERIVED
                   from the approved Recraft artwork. They are not the raw
                   exports, and integrity checks should compare against these
                   production files rather than the Recraft originals.
                   Exactly two operations were applied to each, both verified
                   programmatically before the build proceeded:
                     a) Removed ONLY decorative background elements — the
                        full-canvas #DDE3EE backdrop plus the white corner
                        masks that carved the circle out of it. 3 elements
                        for business-banking and comparison, 5 for
                        business-fees and business-insurance. Each removal
                        was asserted to be either the #DDE3EE backdrop or a
                        white shape starting on a canvas edge.
                     b) Cropped the viewBox to the artwork bounds with 8
                        units of safety padding — an attribute change only.
                          business-banking    207.0 176.3 608.2 685.0
                          comparison          143.9 246.3 737.9 539.9
                          business-fees       241.2 162.7 539.9 700.4
                          business-insurance  217.3 113.2 589.4 795.9
                   NO illustration path geometry, colour, proportion or
                   composition was altered. All four remain valid XML.
                   Not sent back to Recraft for circle-free exports.
                   Rationale: the circles consumed most of the visual area
                   and the artwork inside rendered at roughly 92px, too small
                   to read. These illustrations carry far more internal
                   detail than the category icons and must function as
                   editorial article imagery, not icons.
                2. ILLUSTRATION SIZING — 200px optical, EVERY breakpoint.
                   The cropped aspect ratios differ substantially (0.741 to
                   1.367), so a single shared width would make them look very
                   unequal. They are normalised by EQUAL AREA (geometric
                   mean), the standard optical-weight measure for
                   mixed-aspect line art:
                     width = 200 * sqrt(w / h) of the cropped viewBox
                   Bounding boxes are deliberately NOT equalised.
                     business-banking    188.5px -> renders 189 x 212
                     comparison          233.8px -> renders 234 x 171
                     business-fees       175.6px -> renders 176 x 228
                     business-insurance  172.1px -> renders 172 x 232
                   Image zone height 242px (tallest render + 10px).
                   NO MOBILE REDUCTION. Card interiors measure 292 / 264 /
                   450 / 324 / 313px at 1440 / 1280 / 1024 / 768 / 375, and
                   the widest render is 234px, so 200px optical fits at every
                   width down to 320px. Mobile keeps the same readability as
                   desktop. There is deliberately no special larger size at
                   1024px either: one 200px rule is simpler and more
                   predictable than a per-breakpoint scale.
                   Supersedes the 140/128/118px circle-era sizing.
                   Resource Center card heights become 432-460px.
                3. HEADING TRACKING CORRECTION.
                   .fp-resource-center__heading was missing
                   letter-spacing: var(--fp-tracking-heading), so it rendered
                   at 0 tracking while the FP-C-003 and FP-C-004 section
                   headings used -0.02em. Added; all three now compute
                   identically.
                   A wider audit found other differences between the three
                   section headers — subtitle colour (Gray 500 vs Gray 600),
                   subtitle max-width (none vs 760px) and subtitle-to-content
                   spacing (48 / 47 / 24px). Those are DELIBERATELY LEFT AS
                   THEY ARE: the sections contain different content
                   structures, and normalising them would be a broader
                   typography decision. The heading -> subheading gap was
                   already an identical 8px in all three.
                Unchanged: section spacing 96 / 64 / 48px across all four
                  homepage boundaries, the 8px heading -> subheading gap,
                  card widths, grid breakpoints, badges, titles,
                  descriptions, dates, CTAs, typography and card padding.
                No PHP changed.
              Explore spacing + Resource Center artwork — v3.11.17 —
              2026-08-12:
                1. EXPLORE SUBHEADING -> CONTENT SPACING (frozen at 24px).
                   Was 48px at >=1024px and 32px below, against 24px in both
                   FP-C-004 Editor's Picks and FP-C-005 Resource Center, so
                   the Explore header block read looser than the other two.
                   The two reference sections put this gap on the CONTENT
                   WRAPPER's margin-top; Explore put it on the header's
                   margin-bottom. Explore now follows the reference pattern:
                     .fp-explore-category__header  margin-bottom: 0
                       (was 32px mobile / 48px desktop; the desktop override
                        block is also zeroed)
                     .fp-category-groups           margin-top: 24px  (new)
                   Note the gap belongs on .fp-category-groups, NOT
                   .fp-category-grid — the BUSINESS FINANCE group label sits
                   in the groups wrapper, outside the card grid, so a margin
                   on the grid measures 0px against the subheading.
                   Verified at 24px for Explore, Editor's Picks and Resource
                   Center at 1440 / 1280 / 1024 / 768 / 375px.
                   The 8px heading -> subheading gap is unchanged, as is the
                   96 / 64 / 48px major section spacing.
                2. NEW BUSINESS BANKING + COMPARISON ARTWORK.
                   Recraft re-supplied both illustrations with a heavier
                   primary exterior navy outline. Fees and Insurance are
                   UNCHANGED and remain byte-identical.
                   The same verified production derivation used in v3.11.16
                   was applied to each new source file, and nothing else:
                     business-banking  removed 3 decorative elements
                                       (backdrop #D0D6E0 + 2 white edge
                                       masks), 71 -> 68 paths,
                                       viewBox 201.9 171.2 620.2 695.3
                     comparison        removed 5 decorative elements
                                       (backdrop #D6DAE5 + 4 white edge
                                       masks), 50 -> 45 paths,
                                       viewBox 138.8 241.2 748.2 550.2
                   Every removal was asserted to be either the backdrop or a
                   white shape starting on a canvas edge before the build
                   proceeded. viewBox cropping used the established 8-unit
                   safety padding and is an attribute change only — no path
                   geometry was rewritten.
                   WORDING: the Banking illustration now reads "Business
                   Banking" rather than "Business Checking". This is the
                   approved wording and must not be reverted. The lettering
                   is vector paths, not live SVG text.
                   LINE WEIGHT — ACCEPTED WITH A KNOWN VARIANCE. Measured
                   from the rendered page at 4x DPR:
                     business-banking    0.75px -> 3.00px
                     comparison          1.00px -> 3.00px
                     business-fees               2.50px (unchanged)
                     business-insurance          2.50px (unchanged)
                   Recraft overshot the 2.50px reference by 0.50px, so
                   Banking and Comparison are now the heaviest of the four
                   rather than matched. ACCEPTED: the set reads as one family
                   and the residual 0.50px difference is far smaller than the
                   1.50-1.75px mismatch it replaces. Path geometry was NOT
                   altered to force a match, and the artwork is deliberately
                   not being sent back to Recraft again — further passes risk
                   more variance than they resolve.
                   These SVGs contain NO strokes; every line is a filled
                   path, so exterior weight cannot be tuned with CSS or a
                   stroke-width value. It is a property of the source
                   artwork.
                   Line weight measures identically at all five breakpoints
                   (spread 0.000px) because the 200px optical size is a
                   single fixed value with no breakpoint overrides.
                3. OPTICAL SIZING recomputed for the two new cropped aspect
                   ratios, preserving the equal-area system:
                     business-banking    188.5px -> 188.9px
                     comparison          233.8px -> 233.2px
                   Fees and Insurance unchanged at 175.6 and 172.1px.
                   Measured geometric mean is exactly 200 for all four at
                   every breakpoint. No mobile or tablet reduction.
                Unchanged: circle-free artwork, cropped viewBoxes, card
                  layout and dimensions, grid behaviour, badges, titles,
                  descriptions, dates, CTAs, typography, heading tracking and
                  section spacing. No PHP changed.
              Component 06 (Why Trust FinanceProspector) — v3.11.20 —
              2026-08-12:
                FP-C-006 INITIAL PRODUCTION BUILD. New component; no
                existing component is modified.
                Spec: approved design reference screenshot for composition;
                  v2.4 tokens for type, colour and spacing. v2.4 has NO
                  FP-C-006 chapter, so structural conventions follow
                  FP-C-003 through FP-C-005. Full detail is recorded in
                  docs/component-manifest.md.
                LAYOUT: centred heading + intro, then four pillars with
                  icon-left / copy-right.
                LOCAL INNER MAX-WIDTH 1280px — derived, not chosen. The
                  reference has dividers at x=311/611/921 in a 1282px crop,
                  a mean column pitch of 305px. Minus three 24px gaps,
                  1280px yields 302px per pillar, within 3px of the
                  reference; 1200px gives 282px and 1120px gives 262px. At
                  the global 1500px container each pillar would be ~360px
                  and the headings would stop wrapping as designed.
                  The GLOBAL container system is untouched — this width is
                  local to FP-C-006 and sits inside the standard gutters.
                RESPONSIVE: 4 across >=1280px (3 internal vertical
                  dividers); 2x2 from 640-1279 (vertical + horizontal);
                  1 column <640px (horizontal only). Dividers are
                  border-left / border-top on the pillars, so only INTERNAL
                  dividers ever render.
                ICON ZONE 48x48px at every breakpoint.
                PER-ICON OPTICAL SCALE FACTORS — INTENTIONAL:
                  shield x1.490 / target x1.000 / person+stars x1.090 /
                  calendar x1.224 plus translate(-0.6px, 1.5px).
                  DO NOT normalise these to 1x. The four SVGs share a
                  square canvas but their visible artwork fills very
                  different fractions of it (61.5% to 83.5% by height), so
                  an identical 48x48 canvas produced a 49% optical spread
                  and the shield read noticeably smaller. The factors
                  equalise the geometric mean of each icon's green bounding
                  box, chosen after rendering three candidate methods at
                  final size. Measured spread after normalisation: 2.5%.
                  No illustration geometry was modified — display scale
                  only, aspect ratios preserved.
                ASSETS — WHITE BACKGROUND ONLY. Three of the four supplied
                  exports had the transparency checkerboard baked in as real
                  geometry. It could not be deleted (removal exposed blocky
                  contamination merged into the green trace), so the masking
                  elements were recoloured to #FFFFFF. Green artwork
                  verified pixel-identical. These assets must NOT be reused
                  on tinted, coloured or dark backgrounds without new truly
                  transparent source artwork.
                HOOK: generate_after_header priority 50, is_front_page()
                  only. No existing priority altered.
                COPY: the approved written copy supersedes the design
                  reference screenshot — "Trusted Community Ratings" (not
                  "Verified"), and the fourth description ends "...products,
                  pricing, and provider information".
                No other homepage component changed.
              Hero Provider Review illustration + tablet Editorial
              Framework — v3.11.21 — 2026-08-12:
                FP-C-002 AMENDMENT. No other component changed.
                1. PROVIDER REVIEW ILLUSTRATION (frozen).
                   assets/images/hero/provider-review.svg, used exactly as
                   supplied: no redraw, recolour, crop or aspect change.
                   Inspected before use — 1024-equivalent viewBox
                   0 0 13788 17116, aspect 0.8056, 40 paths, no checkerboard
                   geometry, no embedded raster, no masks.
                   Placed in the LEFT hero column only, absolutely
                   positioned so it never enters the flow: the headline,
                   body, trust line, Editorial Framework card and hero
                   height are all unaffected by it.
                   FROZEN 1440px MASTER: 232 x 288px at x442.4-674.4.
                   232px is the largest width that covers no text. Verified
                   by rendering the hero with and without the illustration
                   and diffing for text pixels the artwork paints over —
                   240px covers 585 text pixels, 236px covers 271, 232px
                   covers none. Box-based collision tests are NOT adequate
                   here: the artwork carries 6.9% transparent padding at the
                   top and 4.0% at the bottom, so the INK, not the box, is
                   what must clear the text.
                2. DESKTOP SCALING BELOW 1440 (frozen).
                   The right edge is pinned at 0.08% inside the left column,
                   so the illustration can never escape into the card
                   gutter. Width is a CONTINUOUS function of the viewport —
                   no step at any breakpoint:
                     <= 1200px   33% of the column
                     1200-1440   calc(24.48vw - 120.5px)
                     >= 1440px   232px (the frozen master)
                   Continuous at both joins: 33% of the column at 1200px IS
                   173.3px, which is what the calc yields there, and the
                   calc yields exactly 232px at 1440.
                   Largest 1px-boundary step across 1024-1600: 0.2px.
                   Zero text pixels covered at every width tested.
                   Anchored to the column's BOTTOM, not its top: the
                   headline grows from 3 to 5 lines across this range.
                   The body and trust line cap is 66.87% of the column, not
                   a fixed 430px — at 1024 a fixed cap became 97.9% of the
                   column and pushed the copy under the illustration.
                3. TABLET HERO 768-1023 (frozen).
                   Side-by-side: copy capped at 63% of the column with the
                   illustration beside it at 33%. The stacked tablet layout
                   has NO whitespace beside the copy — the body runs the full
                   column at every width — so the cap is what creates the
                   space. Preserving the two-line headline would have needed
                   a 582px copy block, leaving only ~146px for the artwork;
                   63% lets the headline take its natural three-line break
                   and frees ~248px, close to the 232px desktop master.
                   Hero height 783 -> 857px, approved.
                4. BELOW 768px the illustration is HIDDEN and the copy
                   returns to full width. At 640px the copy column narrows to
                   ~373px, which wraps the trust statement onto two lines and
                   separates its checkmark from the text — the point at which
                   the illustration costs more than it adds.
                5. TABLET EDITORIAL FRAMEWORK ROWS 768-1023 (frozen).
                   The rating rows are a CSS GRID with four explicit tracks,
                   not a table with automatic column distribution. Automatic
                   distribution was the root cause of a long spacing cycle:
                   every adjustment to one column forced the other three to
                   redistribute, so fixing one gap always broke another.
                     grid-template-columns: 46.128% 7.1% 27.5% 19.272%
                   The label track is 46.128% and the qualifier 19.272%
                   because the rating cluster is translated +36px right of
                   the original 41%/24.4% split. Only the FIRST and LAST
                   tracks carry that translation — the score and stars
                   tracks are untouched, so the cluster's internal spacing
                   (24.4px score->stars, 24.6px stars->"Excellent") is
                   carried across unchanged.
                   At 834px: label ends 269.5, numeric column 324.8, stars
                   398.6, "Excellent" 567.7, 67.3px trailing.
                6. ALIGNMENT CONTRACT — MANDATORY.
                   Independent track control does NOT mean independent
                   alignment. On every row:
                     - all labels share one left edge
                     - all numeric scores share one LEFT edge
                       (justify-self: start). NOT right-aligned: "9.0/10" is
                       six characters against the community rows' five, so
                       right-alignment matched their right edges and left
                       "9.0/10" starting ~10px further left.
                     - all star groups share one left x
                     - all "Excellent" labels share one left x
                     - within a row all four elements centre on the row
                     - the four rows keep identical height and pitch
                   This holds because the SAME grid template applies to all
                   four rows; the editorial row overrides only its
                   background. Any per-row track override breaks it.
                   Verified at 14 widths from 768 to 1023: every horizontal
                   spread 0.000px, row-height spread 0.000px, pitch 45.68px,
                   largest 1px-boundary movement 0.47px, no wrapping,
                   collision, clipping or overflow.
                7. FULL 10-STAR TREATMENT retained on the editorial row
                   (144px against the community rows' 72px), and the label
                   remains the full "FinanceProspector Editorial Score".
                   The label was briefly shortened to "FinanceProspector
                   Score" while chasing the wrong cause; the real problem was
                   the numeric column's alignment, and once that was fixed
                   the full label fitted cleanly.
                8. THE PALE-GREEN TINT MOVES TO THE ROW in this range.
                   As grid items the cells shrink to their content, so a
                   per-cell background no longer spans the row and the band
                   fragments into four separate blocks.
                9. CSS SPECIFICITY WARNING — hit five times in this file.
                   `.fp-rating-row td` has specificity (0,1,1) and SILENTLY
                   overrides an unqualified zone class such as
                   `.fp-rating-row__stars` at (0,1,0). Padding and layout
                   rules written against the bare class do nothing. Every
                   zone rule must be qualified as
                   `.fp-rating-row td.fp-rating-row__stars`.
                   A stale 32px padding-right left on the label cell from an
                   earlier fix also silently cut its content box and wrapped
                   the longer community labels.
               10. QA NOTE — WRAP DETECTION. The score markup is split into
                   sub-spans for the value and denominator, so a single-line
                   score returns THREE client rects. Counting rects reports
                   false wrapping at every width. Wrap tests must count
                   DISTINCT LINE TOPS, not raw client-rect count.
                No other homepage component changed.
              Desktop rating-row structural fix — v3.11.22 —
              2026-08-12:
                STAGING QA BUILD. Minimal: one file changed beyond the
                version header. Not a production release — issued so the
                desktop rating row can be verified with real Inter, which
                the build harness cannot render.
                DEFECTS FIXED (both desktop-only, both pre-existing and
                both confirmed on Staging in v3.11.21):
                  a) the label -> score gap collapsed as the viewport
                     narrowed: 58.4px at 1536, 39.8 at 1440, 17.0 at 1366,
                     33.4 at 1280 and 0.0 at 1024, where the label and the
                     score touched.
                  b) the ratings table OVERFLOWED the card interior by
                     26.6px at 1024 and 0.5px at 1280.
                ROOT CAUSE: desktop still used table-layout: auto, so the
                label column sized to its own content and everything
                downstream followed immediately after it. There was no
                explicit column allocation. This is the same cause the
                tablet grid resolved at 768-1023.
                MEASURED CONSTRAINT: the desktop card is squeezed by the
                two-column hero — its interior is only 391px at 1024
                against 670-752px on tablet. Minimum content at ZERO gaps
                (label + score + ten stars + "Excellent") is about 467px in
                Inter, so:
                  1024 interior 391 -> short by 76px
                  1100 interior 430 -> short by 37px
                  1200 interior 481 -> fits only with no gaps at all
                  1280 interior 522 -> fits with room to spare
                A one-line four-column row is therefore IMPOSSIBLE below
                ~1280px at the current typography. Two treatments:
                  >= 1280px  one-line explicit four-track grid
                     grid-template-columns: minmax(0,1fr) auto 152px auto
                     column-gap 16px. The label track is proportional so the
                     total can never exceed the card; the 152px star track
                     is fixed so all four rows share one star column. Gaps
                     are 16px not 24 because at 1280 the content needs 467px
                     of a 522px interior.
                  1024-1279  the editorial row goes TWO-LEVEL:
                     line 1  FinanceProspector Editorial Score | 9.0/10
                     line 2  ten-star group | Excellent
                     Nothing is shrunk — full wording, full ten-star
                     treatment, typography and pale-green highlight are all
                     preserved; the row simply becomes taller. Community
                     rows stay one line on auto tracks, which size to
                     content and are identical across the three, so their
                     columns align without reserving the wider star track.
                TINT ON THE ROW, not the cells, in both ranges: as grid
                  items the cells shrink to their content, so a per-cell
                  background leaves the column gaps showing through and the
                  pale-green band fragments into four blocks.
                VERIFIED STRUCTURALLY at 1024, 1100, 1200, 1279, 1280, 1366
                  and 1440: zero table overflow, zero cell overflow, no
                  collisions, and score / star / qualifier column alignment
                  spreads all 0.00px. Tint band continuous at every width.
                NOT YET VERIFIED: the LINE COUNT of the editorial label at
                  1280 and 1366. The harness cannot load Inter and
                  substitutes a font about 24% wider for this string, which
                  wraps the label where Inter would not. The structure is
                  font-independent; the line count is not. Confirm on
                  Staging before freezing.
                Tablet 768-1023 and mobile are byte-identical to v3.11.21 —
                  verified by rendered position, not just by file diff.
                The separate hero-copy occlusion defect is deliberately NOT
                  addressed in this build.
              Desktop rating row — card-width driven — v3.11.23 —
              2026-08-12:
                STAGING QA BUILD. Supersedes the v3.11.22 desktop rating
                rows entirely; that implementation is removed, not patched.
                WHY v3.11.22 FAILED: it activated a fixed-track four-column
                grid on a VIEWPORT breakpoint of 1024px. The Editorial
                Framework card is squeezed by the two-column hero, so its
                interior is only 391px at a 1024px viewport against 603px at
                1440px. The fixed tracks reserved 336px regardless, leaving
                the label track at 55px for a label needing 229px. Labels
                shredded across three lines and cells overlapped.
                THE LAYOUT NOW RESPONDS TO THE CARD, NOT THE VIEWPORT, via
                a container query on .fp-editorial-card. The card is what
                actually determines whether four columns fit; a viewport
                breakpoint was only an indirect proxy for it.
                THRESHOLD 590px usable card width, derived from Staging
                measurements in the production Inter font — NOT from the
                build harness, which substitutes a font whose label is
                269px against Inter's measured 229.43px:
                  label (measured on Staging)      229.43
                  score + ten stars + Excellent    241
                  three 16px gaps                   48
                  intentional breathing room        60
                  --------------------------------------
                  raw                              578.43  -> rounded to 590
                Rounded UP so the compact layout engages slightly early
                rather than the grid engaging in a marginally narrow card.
                WIDE (card >= 590px): one shared four-column grid,
                  minmax(0,1fr) 52px 152px max-content, column-gap 16px.
                  The 1fr label track absorbs all slack, so the label ->
                  score gap is a consequence of the track system rather
                  than a value tuned on any element. In Inter that gap is
                  ~58px at the threshold and ~71px at a 1440 viewport.
                COMPACT (card < 590px): the label takes its own full-width
                  line and the rating cluster sits beneath it on three
                  shared columns. All four alignment axes still hold.
                TRACKS ARE FIXED, NEVER : each <tr> is its own grid
                  container, so an auto track sizes to THAT ROW's content —
                  the editorial score track measured 49.4px against the
                  community rows' 39.7px, and the 1fr label track absorbed
                  the 9.75px difference, shifting every community column.
                  The qualifier track is the one exception: max-content is
                  safe there because Excellent is identical in all four
                  rows, so it resolves the same for each.
                TINT IS BACKGROUND ONLY on the editorial row — no padding,
                  no track override. Carrying it with padding previously
                  indented that row's label by 12px and broke the label
                  axis.
                VERIFIED at 13 widths from 1380 to 1460 plus 1024-1600:
                  all four alignment axes 0.00px in BOTH modes, zero
                  overflow, no wrapping, no collision, clean single
                  transition with no cramped intermediate state.
                Tablet 768-1023 and mobile are byte-identical to v3.11.21,
                  verified by rendered position. Hero illustration and the
                  hero-copy occlusion are untouched.
              Hero illustration — structural headline clearance —
              v3.11.24 — 2026-08-12:
                STAGING QA BUILD. One structural change; the illustration
                keeps its approved 232px size at 1440 and its approved
                scaling below that. No other hero change.
                DEFECT: on Staging the Provider Review illustration painted
                over the headline's second line — "Choose with Confidence."
                appeared cut off. It was OCCLUSION, not clipping: the
                artwork is opaque and sat on top of the text.
                WHY THE BUILD HARNESS MISSED IT: the harness cannot load
                Inter and substitutes a font about 24% wider for this
                string. "Choose with Confidence." measures 593px in Inter
                against 777px in the substitute, so the harness WRAPPED the
                headline where Inter fits it on one line. Every local
                text-collision result was therefore measured against the
                wrong line breaking. Typography-dependent QA must be done on
                Staging.
                ROOT CAUSE: the illustration's positioning context was
                .fp-hero__left — the WHOLE column, headline included — so it
                could occupy any vertical position in the column depending
                on how the headline wrapped. A bottom-anchored illustration
                rose into the headline band whenever the headline was
                shorter.
                FIX: a new .fp-hero__lower wrapper contains the body, trust
                line and illustration, and is the illustration's positioning
                context. The artwork is anchored top: 0 within it, so it
                sits BELOW the headline structurally rather than by a tuned
                offset. Headline clearance no longer depends on font metrics
                or viewport: verified clear at 1024, 1200, 1280, 1366, 1440,
                1536, 1600 and 1920 in the substitute font, and it holds by
                construction in any font.
                KNOWN, PENDING STAGING: in the substitute font the 232px
                artwork then covers the trust line at 1440 (110 text pixels)
                and extends past the hero's lower edge at 1440 and above.
                Both consequences are font-dependent — Inter renders the
                headline one line shorter and the trust line narrower, so
                production has MORE room than the harness shows. The
                approved 232px size is therefore retained pending Staging
                evidence. A reduction to about 200px would satisfy the
                harness, but that figure comes from substitute-font geometry
                and is deliberately NOT applied.
                The Editorial Framework rating system is frozen and
                untouched. Tablet, mobile and all other components unchanged.
              Hero illustration — reclaim headline leading —
              v3.11.25 — 2026-08-12:
                STAGING QA BUILD. One value changed from v3.11.24:
                .fp-hero__illustration top: 0 -> -20px inside
                .fp-hero__lower. Nothing else. The illustration keeps its
                approved 232px master and its approved scaling below 1440.
                WHY: v3.11.24 fixed the headline occlusion structurally but
                placed the artwork too low — it read as dropping out of the
                hero rather than sitting beside the body copy. -20px
                reclaims the headline's line-box LEADING, the empty space
                between the headline's ink bottom and its box bottom, so
                the artwork starts as high as guaranteed ink clearance
                allows. Verified clear of the headline ink at 1366, 1440,
                1600 and 1920.
                THIS IS THE STRUCTURAL CEILING. Measured at 1440 in the
                build harness: the copy block (body ink top to trust ink
                bottom) is 140px tall while the 232px artwork is 288px tall
                — roughly twice its height. Any position clearing the
                headline ink therefore puts most of the artwork's mass
                below the copy. Reclaiming the leading buys about 20px; it
                cannot buy the 70px+ that centring on the copy would need.
                KNOWN, PENDING STAGING: in the harness the artwork still
                covers the trust line at 1440 and extends about 17px below
                the hero at 1600 and 1920. Both are font-dependent. Inter
                renders the headline on TWO lines against the harness
                substitute's THREE — about 60px more vertical room — and a
                narrower trust line, so production may resolve both without
                any size change. The approved 232px is retained pending
                that evidence; a reduction to about 200px would satisfy the
                harness but is derived from substitute-font geometry and is
                deliberately NOT applied.
                The Editorial Framework rating system is FROZEN and byte-
                identical to v3.11.23. Tablet, mobile and every other
                component unchanged.
              Hero illustration — 190px responsive system —
              v3.11.26 — 2026-08-12:
                STAGING QA BUILD. Replaces the illustration sizing and
                positioning rules; the asset and its aspect ratio are
                untouched.
                WHY THE SIZE CHANGED. 232px was being treated as a required
                display size when it is really the desktop MAXIMUM. The left
                column caps at 672px, so the open area beside the copy caps
                at 241px and never grows — at 1600, 1920 or 2200. A 232px
                artwork therefore filled almost all of it and could never be
                centred, and at 288px tall it was twice the height of the
                140px copy block, so it always hung below the copy. Every
                symptom chased on this hero — headline occlusion, trust-line
                overlap, hero overflow, "too low", "hugging left" — came
                from the artwork being larger than the space it had to
                occupy. Measured at 1366: 211px of open width for a 214px
                artwork.
                190px x 235.9px resolves all of them at once.
                HORIZONTAL: right: max(1px, calc(16.565% - 95px)).
                  16.565% is half the 33.13% open area (the copy is capped
                  at 66.87% of the column), so the artwork centres in that
                  area and tracks the column at any width. The max() clamps
                  it inside the column below ~1300px, where centring would
                  otherwise push it into the gutter — measured 157 stray
                  pixels at 1280 and 890 at 1240 before the clamp. The
                  clamp is 1px, not 0: at 0 the right edge lands exactly on
                  the boundary and antialiasing spilled 36 pixels at 1260.
                VERTICAL: top: max(-20px, calc(50% - 118px)).
                  Centres the artwork on the body/trust block rather than
                  anchoring it to the top, which is what made it hang low.
                  The max() clamps it so it can never rise above the
                  headline — clearance stays structural, inherited from the
                  .fp-hero__lower wrapper introduced in v3.11.24.
                No per-viewport overrides. The earlier
                  calc(24.48vw - 120.5px) and 232px width rules are removed,
                  so one continuous rule now governs the whole desktop
                  range.
                VERIFIED at 1240, 1250, 1260, 1270, 1280, 1300, 1366, 1440,
                  1600 and 1920: ZERO illustration pixels outside the left
                  column, zero text pixels covered anywhere in the hero,
                  headline clear, inside the hero boundary, aspect 0.8056
                  exact at every width.
                Containment was verified by DIFFING the gutter with and
                  against the illustration hidden. Two earlier tests gave
                  false readings — one sampled a strip containing the card,
                  the other caught the card's border. Box arithmetic alone
                  is not sufficient here.
                PENDING STAGING: vertical placement depends on the copy
                  block's height, and Inter renders the headline one line
                  shorter than the build harness's substitute font, so the
                  artwork should sit slightly higher on the real site than
                  in local renders. Horizontal centring is font-independent.
                The Editorial Framework rating system is FROZEN and byte-
                  identical to v3.11.23. Tablet, mobile and all other
                  components unchanged.
              Hero illustration — new Provider Review asset —
              v3.11.27 — 2026-08-12:
                STAGING QA BUILD. Asset replacement plus the one derived
                constant that had to follow it. No layout or positioning
                rules changed.
                NEW ASSET. assets/images/hero/provider-review.svg replaced
                with the new Provider Review illustration. This is an
                intentional design change, not a re-export: the previous
                artwork was a portrait document at aspect 0.805562; the new
                one is SQUARE at 1:1, viewBox 0 0 11488 11488, and shows a
                review sheet listing Pricing & Fees, Features, Customer
                Support, Reliability & Security and Best Fit.
                WHY IT WAS REPLACED. The previous asset was structurally
                opaque — a full-canvas navy path with white masking shapes
                over it, the same construction as the FP-C-006 icons. It
                could not be made transparent by deleting elements: removing
                the navy path and both white masks did produce transparency
                but changed 18,976 visible pixels, because the navy path was
                simultaneously the backdrop and the document's visible
                backing. The navy leaked through a sub-pixel gap at the
                canvas edge, producing a faint rectangular seam that landed
                on a device pixel at some widths (visible at 1280 and 1440,
                absent at 1600 and 1920).
                NEW ASSET INSPECTION — all pass. Genuinely transparent:
                30.4% of a red test background shows through, all four
                corners transparent, outermost 1px frame 100% background,
                and zero non-white pixels on any canvas edge when rendered
                on white. 140 paths, no <image>, no base64, no <mask>, no
                <rect>, no full-canvas backdrop. Valid XML.
                DERIVED CONSTANT. The vertical centring rule
                  top: max(-20px, calc(50% - Xpx))
                takes X as half the rendered height. With a 1:1 asset at
                190px that is 95px, not the 118px the 0.8056 portrait
                required. The RULE is unchanged; only the constant it
                derives from the aspect ratio moves. No new positioning
                rules were introduced.
                LEGIBILITY, ACCEPTED. The embedded checklist labels are
                about 5px tall at the 190px hero size and are not readable.
                This is accepted: the illustration's role in the hero is
                visual, and the rows function as texture. Enlarging it to
                make them legible would reintroduce the space conflicts that
                190px resolved.
                VERIFIED at 1280, 1366, 1440, 1600 and 1920: zero gutter
                  bleed, zero text pixels covered, headline clear, inside
                  the hero, clear of the Editorial Framework card, aspect
                  1.0000 exact at every width.
                The Editorial Framework rating system is FROZEN and byte-
                  identical to v3.11.23. Tablet, mobile, hero copy, hero
                  dimensions and all other components unchanged.
              PRODUCTION RELEASE — v3.11.28 — 2026-08-12:
                Same code as the approved v3.11.27 QA build. This entry adds
                the release designation and the documentation record; no
                CSS, markup or asset changed between v3.11.27 and v3.11.28.
                HERO FROZEN. The Provider Review illustration is approved at
                190px with its current positioning. Established by
                measurement, not preference:
                  - it sits 2.8px below the headline ink — the highest
                    structurally safe position;
                  - its centre is within 1.0px of the lower copy block's
                    centre, so it is already vertically centred on the copy;
                  - reducing the 24px headline-to-lower gap does NOT help:
                    with the clearance clamp restored the artwork cannot
                    rise, so the copy moves up around it and the artwork
                    ends 15.8px LOWER relative to the copy;
                  - it cannot rise beside the headline either — the second
                    line, "Choose with Confidence.", is 593px of a 643px
                    column at 1440, leaving 50px where 190px is needed.
                EDITORIAL FRAMEWORK FROZEN, byte-identical since v3.11.23.
              Editorial Score label padding — 670px lower bound —
              v3.11.29 — 2026-08-12:
                FINAL PRODUCTION CANDIDATE. One value changed from
                v3.11.28: the label-padding media query's lower bound,
                640px -> 670px. Nothing else in the code.
                REGRESSION FIXED. The 32px label padding introduced for the
                640-767 range wrapped "FinanceProspector Editorial Score"
                onto a second line at the narrow end, growing the editorial
                row 46 -> 67px, the card 411 -> 433px and the hero
                783 -> 805px. That 22px growth was an unintended change to
                behaviour approved in v3.11.20.
                WHY 670 AND NOT 660. The card interior is 542px at 640px and
                the label already fits there with ZERO slack, so ANY padding
                — even 8px — wraps it. The wrap persists through 665px and
                clears at 670px. A 660px bound was tested and still wrapped.
                ACCEPTED TRADE. 640-669 loses the wider label -> score gap
                and returns to about 3px at 640. A one-line label and the
                approved 783px hero height matter more than the extra
                separation in that narrow band.
                VERIFIED at 639, 640, 659, 669, 670, 700, 767 and 768:
                  one-line label at every width, no overflow, and 640-669
                  byte-equal to the v3.11.20 baseline (row 46px, card 411px,
                  hero 783px). The 669 -> 670 transition changes only the
                  gap (20 -> 34px); component heights are unchanged.
                Desktop, tablet 768-1023, mobile below 640, the Provider
                  Review asset and the frozen Editorial Framework are all
                  untouched.
              Rating rows 640-767 — explicit shared grid —
              v3.11.30 — 2026-08-12:
                STAGING QA BUILD. Replaces the automatic table layout in the
                640-767 band with the same explicit grid used at 768-1023
                and >=1024, and REMOVES the 670-767 label padding rather
                than stacking on top of it.
                WHAT WAS WRONG. The band used table-layout: auto, which
                sizes each row's columns from that row's own content:
                  - the numeric scores never formed a column. The score axis
                    measured a 9.7px spread at EVERY width — exactly the
                    width difference between "9.0/10" and "4.6/5" — because
                    auto layout right-aligned each score inside a per-row
                    cell;
                  - the stars sat 8px from the score at every width;
                  - the label -> score gap swung from 3px at 640 to 95px at
                    767 with nothing anchoring it.
                The 32px label padding introduced earlier forced separation
                but could not fix the axes, and at the narrow end it wrapped
                the label and grew the hero 783 -> 805px, which is why its
                lower bound had to be moved to 670. The grid makes both the
                padding and that bound unnecessary.
                TRACKS. minmax(0,1fr) 52px 152px max-content, column-gap
                  12px. Fixed widths for the three elements whose content
                  differs per row, so all four rows share identical
                  geometry; max-content for the qualifier, safe because
                  "Excellent" is identical in every row.
                GAPS ARE 12px, NOT 16. At 16px with a 56px score track the
                  label has -1px of slack at 640 in Inter and would wrap,
                  reintroducing the height regression. 12px leaves +15px
                  there while still raising score -> stars from 8px to 21px.
                TINT ON THE ROW with no horizontal padding — as grid items
                  the cells shrink to their content, so a per-cell
                  background fragments the band, and row padding would
                  indent the label and break the label axis.
                VERIFIED STRUCTURALLY at 640, 659, 670, 700 and 767: label,
                  score, star and qualifier axes all 0.00px spread, no table
                  or cell overflow, ten-star group intact at 144px.
                PENDING STAGING: label line count at 640-670. The harness
                  substitute font renders the label at 269px against Inter's
                  measured 229.43px, so it wraps locally where Inter has
                  15-45px of slack. Local wrapping in this band is NOT
                  authoritative.
                Mobile below 640, tablet 768-1023 and desktop verified
                  byte-identical to v3.11.29 by rendered position.
              PRODUCTION RELEASE — v3.11.31 — 2026-08-12:
                Same code as the approved v3.11.30 QA build. This entry adds
                the release designation and the documentation record; no
                CSS, markup or asset changed between v3.11.30 and v3.11.31.
                STAGING CONFIRMED at 640, 670 and 767 in the production
                Inter font: "FinanceProspector Editorial Score" stays on ONE
                LINE at all three widths, the score, star and qualifier axes
                are aligned, score-to-stars separation is clear, and there
                is no clipping or overflow. 640px was the risk case — the
                label had only about 15px of predicted Inter slack there —
                and it passes.
                The 640 row is the tightest in the band: "Excellent" sits
                close to the right edge but is not clipped and the
                four-column relationship stays readable. Deliberately left
                alone; adding breathing room there would reopen the wrapping
                and alignment problems this cycle eliminated.
                Every homepage range now uses an explicit shared column
                system: <640 mobile two-level, 640-767 grid, 768-1023 grid,
                >=1024 grid under a container query. No range relies on
                table-layout: auto.
              Mobile rating rows — explicit grid — v3.11.32 —
              2026-08-12:
                STAGING QA BUILD. Below 640px only. 640px and above is
                unchanged and verified byte-identical to v3.11.31 by
                rendered position at 640, 700, 767, 768, 834, 1023, 1024,
                1280 and 1440.
                WHAT WAS WRONG. The range used flex-wrap, so the line breaks
                were EMERGENT rather than declared:
                  - at 375px the editorial row ran out of room and collapsed
                    to THREE levels (label / score / stars+qualifier), and
                    the row grew to 91px;
                  - the community rows had no shared axes — their scores sat
                    51px apart at 639px;
                  - the editorial row's 12px horizontal padding indented its
                    label, so the four labels did not share a left edge;
                  - the editorial row's second level used space-between, so
                    the gap between the stars and "Excellent" stretched from
                    0px to 389px across the range.
                HYBRID STRUCTURE. The FinanceProspector row is deliberately
                distinct — tinted, two-level, ten stars, qualifier visible —
                while the community rows stay compact on one line:
                  editorial   grid-template-columns: minmax(0,1fr) auto
                              column-gap 12px, row-gap 6px
                              line 1  label | 9.0/10
                              line 2  ten stars | Excellent
                  community   grid-template-columns: minmax(0,1fr) auto auto
                              column-gap 8px, single line, qualifier hidden
                8px gaps on the community rows, not 12: at 12px the label
                  track drops to 164px against the 166px "Trustpilot
                  Community Rating" needs at 375px and it would wrap.
                The editorial row's horizontal padding is REMOVED so its
                  label shares the community label axis. The tint now spans
                  the full card interior, as it does in every other range.
                The FinanceProspector score does NOT share an axis with the
                  community scores. This is intended: the two rows are
                  different component treatments. What matters is that the
                  three community rows align with each other and that the
                  editorial row is internally balanced.
                VERTICAL SPACING UNCHANGED — 10px row padding and the 18.6px
                  line box are preserved. The card gets SHORTER, not taller:
                  375px 530 -> 521 and hero 943 -> 935 in the harness, and
                  further once the label stops wrapping in Inter; 414-639
                  card -6px, hero -6px.
                VERIFIED at 375, 414, 480, 560 and 639: label, score and
                  star axes all 0px spread across all four rows, community
                  qualifier hidden, table within the card interior, no
                  clipping, collision or page overflow.
                PENDING STAGING: the label line count at 375px. The label
                  track is 214px and the label needs 231px in the harness
                  substitute font but about 197px in Inter — a +17px fit.
                  The harness therefore wraps it and shows an 83px row where
                  Inter should give a 64px two-level row. The track is
                  correct; only the substitute font overflows it.
              Narrow-phone community rows — two-level — v3.11.33 —
              2026-08-12:
                STAGING QA BUILD. Below 400px only. 400px and above is
                verified byte-identical to v3.11.32 by rendered position at
                400, 414, 480, 560, 639, 640, 700, 767, 834, 1024 and 1440.
                The FinanceProspector mobile row is FROZEN and untouched.
                WHAT WAS WRONG. At 375px the card interior is 293px. After
                the score, the five-star group and two 8px gaps the label
                track is 163px, but "Trustpilot Community Rating" needs
                about 181px in Inter — 17px short. Capterra and Trustpilot
                wrapped and the three community rows ended at uneven
                39 / 57 / 57px heights.
                REDUCING THE GAP CANNOT FIX IT: even at a visually
                unacceptable 2px gap the label is still 5px short. The width
                is simply not there.
                THRESHOLD. The bare crossing point is 392px, where the track
                reaches 181px exactly. That leaves under 3px of margin and
                the projection carries a few pixels of uncertainty, so the
                breakpoint is set at 400px, where the track is 188px against
                181px required — a 7px margin. Written as
                max-width: 399.98px so it cannot overlap the 400px-and-above
                rules on fractional viewports.
                STRUCTURE below 400px:
                  line 1   community label, full interior width
                  line 2   numeric score | five-star group
                All three labels share one left edge with the editorial
                label, all three scores share one axis and all three star
                groups share one axis. The community qualifier stays hidden.
                CELL PADDING MOVED TO THE ROW. `.fp-rating-row td` carries
                  padding: 10px 0, which on a two-level row is counted TWICE
                  — 20px on line 1 plus 20px on line 2 gave 78px rows. The
                  cells are zeroed and the row carries 10px 0 instead,
                  giving 58px rows.
                RESULT at 375: community rows 39/57/57 -> 58/58/58, all
                  labels on ONE line, card 503 -> 541, hero 890 -> 954.
                  The height is the deliberate cost of a consistent
                  structure; the alternative was two wrapped rows of uneven
                  height.
                No font-size reduction, no abbreviation, no change to the
                  star treatment, wording, colours or row order.
                VERIFIED at 375, 390, 399, 400, 414, 480 and 639: label,
                  score and star axes all 0px spread, community qualifier
                  hidden, no clipping, collision or page overflow.
                PENDING STAGING: the harness substitute font is wider than
                  Inter, so it wraps the community labels at 400-413 where
                  Inter fits them. The 400px breakpoint is derived from
                  Inter metrics calibrated against observed Staging
                  behaviour, not from harness rendering.
              PRODUCTION CANDIDATE — v3.11.34 — 2026-08-12:
                Same code as the approved v3.11.33 QA build. This entry adds
                the release designation and documentation; no CSS, markup or
                asset changed between v3.11.33 and v3.11.34.
                MOBILE FROZEN. Staging verified at 375, 399, 400 and 414 in
                production Inter: all three community labels stay on ONE
                line in both treatments, and the 400px transition returns
                them to the compact single-line layout without wrapping. The
                FinanceProspector row is consistent at all four widths.
                THE RESPONSIVE ARCHITECTURE IS NOW COMPLETE. Every range of
                the rating rows uses an explicit column system:
                  below 400px   grid — editorial 2x2, community two-level
                  400-639px     grid — editorial 2x2, community single line
                  640-767px     grid — 1fr 52px 152px max-content, gap 12px
                  768-1023px    grid — tablet system
                  >= 1024px     grid — container query at 590px card width
                No range uses table-layout: auto or flex-wrap for the rating
                rows. The recurring lesson is that automatic distribution
                cannot hold a four-column reading when one row's content is
                materially wider than the others — the FinanceProspector
                label is 42px wider than the widest community label, and
                that asymmetry defeated every padding-based attempt until
                the columns were made explicit at every breakpoint.
              Resource Center — Business Banking asset — v3.11.35 —
              2026-08-12:
                STAGING QA BUILD. Asset replacement plus the one derived
                width that had to follow it. Two functional changes, both in
                FP-C-005; nothing else in the theme is touched.
                NEW ASSET. assets/images/resource-center/business-banking.svg
                replaced. viewBox 0 0 20864 20864, aspect 1.000000 against
                the previous 0.891989 — the artwork is now SQUARE.
                62 paths, 4 fills (#15284C, #E2E2E7, #397140, #A09AA5).
                INSPECTED BEFORE USE, and a first submission was REJECTED at
                this step: it carried an explicit full-canvas rectangle,
                path 0, d="M0 0L1024 0L1024 1024L0 1024L0 0Z" filled
                #FEFEFE, so 0% of a red test background showed through and
                all four corners painted near-white. That is the same opaque
                construction that produced the hero illustration's canvas
                seam. The corrected export passes: 83.4% of the background
                shows through, all four corners transparent, outer 1px frame
                100% background, zero non-white pixels on the frame when
                rendered on white, and no path starts at the canvas origin.
                No embedded raster, no base64, no masks, no clipPath.
                WIDTH 188.9px -> 200px. The Resource Center normalises its
                illustrations by EQUAL AREA: width = 200 x sqrt(aspect), so
                every card renders at a geometric mean of 200.0. The 188.9px
                value was derived from the OLD 0.891989 asset. At 1:1 the
                same formula gives exactly 200px. Left at 188.9 the new
                artwork rendered at a geometric mean of 188.9 against its
                three siblings' 200.0 — 5.6% smaller by area. This applies
                the component's existing rule to the new aspect ratio; it is
                not a new rule.
                VERIFIED at 1440, 1280, 1024, 834, 768, 640, 414 and 375:
                  aspect 1.0000 exact, no clipping, no distortion, no
                  overflow of the 242px image zone, centred to 0.0px, and
                  all four illustrations at a geometric mean of 200.0.
                Hero, Editorial Framework, header, Explore by Category,
                  Editor's Picks, Why Trust, footer, Resource Center layout
                  and card dimensions, typography, copy, spacing and the
                  other three illustrations are all unchanged.
              DOCUMENTED STAGING CANDIDATE — v3.11.36 — 2026-08-12:
                Same code as the approved v3.11.35 QA build. This entry adds
                the candidate designation and the documentation record; no
                CSS, markup or asset changed between v3.11.35 and v3.11.36.
                BUSINESS BANKING ILLUSTRATION FROZEN. Staging visual QA
                passed at desktop, tablet and mobile: visual weight
                consistent with the other three illustrations, correct
                centring, no square panel, off-white edge or seam, and no
                disturbance to card structure, typography or spacing.
                The 200px equal-area normalisation is approved and frozen.
              Header — spacing and logo position — v3.11.37 —
              2026-08-12:
                STAGING QA BUILD. FP-C-001 only; one file changed beyond the
                version header. The logo asset, its rendered size, the
                tagline, navigation labels, order, typography and colours are
                all unchanged, as is every homepage section below the header.
                VERTICAL PADDING 11px -> 16px. The logo occupied 71% of the
                header's height at 56px in a 79px header, with only 11px
                above and 12px below. Now 16px above and 17px below in an
                89px header.
                LOGO MOVED 20px LEFT at >= 1280px, and ONLY the left padding
                is removed — the 20px right padding stays so the navigation
                keeps its existing gutter. Measured: logo left 200 -> 180 at
                1600, 120 -> 100 at 1440, 40 -> 20 at 1280. Below 1280 the
                container fills the viewport and nothing moves horizontally.
                BOX-SIZING: BORDER-BOX with max-width 1240px was REQUIRED for
                the move to have any effect, and is arithmetically identical
                to the previous content-box 1200px + 40px padding — the
                rendered container is 1240px either way, confirmed by
                measurement at every width. Under content-box, reducing the
                horizontal padding shrinks the box by exactly what the
                centring margin gives back: at 1440 the logo sat at x120 with
                20px OR 0px padding. The container is not widened.
                THE LOGO IS NOT RESIZED. 321.5 x 56 on desktop, 252.6 x 44 at
                tablet, 229.7 x 40 at mobile — identical to v3.11.36. Aspect
                5.7415 throughout, matching the viewBox; there is no
                distortion. An earlier diagnosis claimed a 0.5% squash; that
                was wrong, having compared against naturalWidth/naturalHeight,
                which is unreliable for this SVG because its width/height
                attributes (17.2 x 66.3) contradict its viewBox.
                LOGO -> NAV CLEARANCE improves 329 -> 349px at >= 1280.
                Tablet and mobile gain only the vertical padding: header
                67 -> 77px, logo position and size unchanged.
              Header — logo aligned to the hero left axis —
              v3.11.38 — 2026-08-12:
                STAGING QA BUILD. FP-C-001 only; one file changed beyond the
                version header.
                TARGET. The logo's visible left edge now aligns with the "F"
                in "Find." at every responsive range. Before this the two
                floated independently: the logo sat 98px right of the
                headline at 1600 and 68px right at 1440, but 12px LEFT of it
                at 1280 and 1024 and 21px left at 834. Only 375 matched, and
                only because both happened to land on the same 20px gutter.
                ROOT CAUSE. The header and hero used different container
                systems — header max-width 1240 with a 20px gutter, hero
                1500/32px on desktop, 800/24px at tablet and none/20px on
                mobile. They differed in max-width, gutter AND breakpoints.
                TWO INDEPENDENT ANCHORS. A single shared container was
                rejected: matching the hero would have widened the header to
                1500px and moved the navigation about 130px right at 1600.
                Instead the inner is full-width with no horizontal padding
                and the two elements are anchored separately:
                  logo  margin-left:  calc(max(0px,(100vw-1500px)/2) + 32px)
                        tablet 640-1023: (100vw-800px)/2 + 24px
                        mobile <640:     20px
                  nav   margin-right: calc(max(0px,(100vw-1240px)/2) + 20px)
                The logo formula MIRRORS .fp-hero__container's own max-width
                and gutter at each range rather than using per-viewport pixel
                offsets, so it self-corrects if the hero container changes.
                The nav formula reproduces v3.11.37's right edge exactly.
                VERIFIED: logo-to-headline delta 0.0px at 1600, 1440, 1280,
                1024, 834 and 375. Navigation right edge unchanged at 1400,
                1320, 1240 and 1004. Logo size unchanged at 321.5x56 desktop,
                252.6x44 tablet, 229.7x40 mobile. Header height 89px desktop
                and 77px tablet/mobile, and the 16/17px vertical spacing, are
                all identical to v3.11.37. No page overflow.
                At 834 the logo moves RIGHT by 21px (20 -> 41). That is the
                rule working: the hero's tablet container is 800px centred,
                so its left axis sits further in. It is the only width where
                the logo moves right.
                Logo asset, tagline, navigation labels, order, typography,
                colours and every homepage section below the header are
                unchanged.
              DOCUMENTED STAGING CANDIDATE — v3.11.39 — 2026-08-12:
                Same code as the visually approved v3.11.38. This entry adds
                the candidate designation and the documentation record; no
                CSS, markup or asset changed between v3.11.38 and v3.11.39.
                HEADER FROZEN. Staging visual QA passed at 375, 834, 1440 and
                wide desktop. Frozen: the logo/wordmark/tagline size, the
                16/17px vertical spacing and 89px / 77px header heights, the
                logo-to-hero shared left axis, and the navigation's
                independent right alignment. No further header height or
                padding is to be added.
                THE SHARED AXIS DEPENDS ON THE HERO CONTAINER. The logo's
                margin-left formula mirrors .fp-hero__container's own
                max-width and gutter at each range (1500/32, 800/24,
                none/20). Any future change to the hero container must be
                mirrored in site-header.css or the alignment breaks.
              Header — desktop navigation horizontal balance —
              v3.11.40 — 2026-08-12:
                STAGING QA BUILD. One value changed from v3.11.39: the nav
                right-anchor basis, 1240px -> 1092px. Nothing else.
                WHY. When the logo moved to the hero's left axis the nav was
                left on the header's OLD 1240px axis, so it sat 123-148px
                right of the centre of the space beside the logo. At 1440 the
                gap was 417px on the left against 120px on the right; at 1280,
                337px against 40px.
                MODERATED SHIFT, NOT CENTRING. Full geometric centring —
                margin-left:auto with margin-right:auto — was measured and
                rejected: it produced symmetrical 323px gaps at 1600, leaving
                too much dead space on the right and splitting the header into
                three unrelated zones. The chosen basis moves the block
                roughly halfway, keeping its right-side visual weight.
                FIT. margin-right: calc(max(0px,(100vw - 1092px)/2) + 20px)
                is exact against the target at 1280 and 1440, +12px at 1600,
                and leaves 1024 unchanged, where the formula floors at 20px
                and the logo-to-nav gap is already only 101px — the tightest
                width and the one least needing the shift.
                Navigation typography, item spacing, labels, order and
                dropdown arrows are unchanged; only the block's position
                moves. Logo position and size, header height, the 16/17px
                vertical spacing, the logo-to-hero shared left axis and all
                tablet/mobile hamburger behaviour are untouched, as is every
                homepage section below the header.
              Header — fluid nav gap at narrow desktop — v3.11.42 —
              2026-08-12:
                STAGING QA BUILD. Built on v3.11.40. The v3.11.41 nav
                breakpoint change is NOT carried over: the full six-item
                navigation is visible from 1024px upward and the hamburger
                is used only below 1024px, as before.
                WHY v3.11.41 WAS REVERTED. Moving the nav to a 1200px
                breakpoint solved the 1024 crowding mechanically but hid the
                whole navigation across 1024-1199, which read as too empty —
                especially at 1199, where there is plainly room for a visible
                nav. It was a design decision that did not survive visual QA,
                not an implementation fault.
                THE REAL CONSTRAINT. The nav block is a fixed 550px: six
                items totalling 359.8px of text plus five 38px gaps, which
                are 190px of the total. At 1024 the space between the logo
                (ending x353.5) and the 20px right margin is only 650px, so
                the block left just 101px of clearance. The right margin is
                already at its 20px floor there, so the block cannot move
                right — the inter-item gap is the only lever.
                FLUID GAP: clamp(24px, calc(24px + (100vw - 1024px)*0.0795),
                38px). Tightens ONLY where the space is short:
                  1024  gap 24.0  clearance 171
                  1080  gap 28.5  clearance 204
                  1150  gap 34.0  clearance 218
                  1199  gap 37.9  clearance 223
                  1200  gap 38.0  clearance 223
                  1440  gap 38.0  clearance 343
                CONTINUOUS AT 1200 — the gap reaches exactly 38px and meets
                the wider-desktop treatment with no jump. A fixed tighter gap
                was rejected: it would over-loosen 1199 and spring back
                visibly at 1200.
                No font-size reduction, no logo resize, no header-height
                change, no alignment change. Labels, order, dropdown arrows,
                nav positioning, the logo/hero shared left axis, the 16/17px
                vertical spacing and every homepage section below the header
                are unchanged, as is all behaviour below 1024px.
              DOCUMENTED STAGING CANDIDATE — v3.11.43 — 2026-08-12:
                Same code as the visually approved v3.11.42. This entry adds
                the candidate designation and the documentation record; no
                CSS, markup or asset changed between v3.11.42 and v3.11.43.
                HEADER AND NAVIGATION FROZEN. Staging visual QA passed at
                375, 834, 1024, 1080, 1199, 1200, 1440 and wide desktop.
                  below 1024px      hamburger
                  1024-1199px       full six-item nav, fluid gap 24 -> 38px
                  1200px and above  full six-item nav, 38px gap
                Frozen with it: the logo asset and size, the header vertical
                whitespace and 89px / 77px heights, the logo alignment to the
                hero "Find." axis, and the nav positioning formula.
                No further functional changes to the header.
              CTA system implementation — v3.11.44 — 2026-08-12:
                STAGING QA BUILD. Implements Bible chapter 54 across
                FP-C-003, FP-C-004 and FP-C-005 plus the shared tokens and
                the Editorial Framework Text CTA states. No other homepage
                change.
                UNIVERSAL BOX CTA. 144 x 44px, 16px padding, 10px radius,
                14px/600, nowrap, 1px border on BOTH variants so Primary and
                Secondary are geometrically identical. Added to base.css as
                a shared component because three sections use it.
                "VISIT SITE" IS NOW THE VISIBLE PRIMARY LABEL. The
                provider-specific visible label is retired. Provider identity
                is preserved in aria-label="Visit [Provider]"; the
                external-link icon is aria-hidden. A comment at the call site
                records that this must not be reverted — "Visit National
                Business Capital" needs 260px inside a 144px box.
                STRING AUDIT BEFORE THE CHANGE: 'Visit %s' appeared in
                exactly two places, both in editors-picks.php, one of which
                is the aria-label and is RETAINED. There are no .pot/.po/.mo
                files and no textdomain loader in the child theme, so no
                translation catalogue is orphaned.
                EDITOR'S PICKS ARRANGEMENT is deterministic by explicit
                flex-direction, never flex-wrap:
                  below 400px      column
                  400-1439.98px    row
                  1440px and above column
                RESOURCE CENTER FOOTER becomes a column — metadata, 16px
                gap, CTA row, margin-top: auto retained. Necessary, not
                cosmetic: the previous space-between row needed 280px, which
                overflows the 266px usable width at 1280 and 262px at 640.
                EDITORIAL FRAMEWORK keeps its Text CTA; only :active and
                :visited were added for ch. 54.9 compliance. Its focus ring
                remains at its existing 3px offset rather than the spec's
                2px, to avoid an unrequested visual change to a frozen
                component — flagged for review.
                VERIFIED at 375, 399, 400, 834, 1279, 1280, 1439, 1440 and
                1600: 25 CTAs all exactly 144x44, zero clipped labels, all
                one line, arrangement correct at every boundary, footer gap
                16px, 1px border on both variants, no page overflow.
              COMBINED CANDIDATE — CTA + FP-C-007 Footer —
              v3.11.45 — 2026-08-13:
                STAGING QA BUILD. Latest CTA state PLUS the approved footer.
                WHY THIS EXISTS. The previous footer package, v3.11.44-footer,
                was built on the frozen v3.11.43 to keep the footer isolated
                from the open CTA work. Installing it on Staging therefore
                also REVERTED the Resource Center CTA implementation — the
                footer arrived correctly but the CTA work disappeared. That
                was a packaging-baseline error, not a fault in either
                component. This build corrects it: the CTA files are carried
                forward byte-for-byte and the footer is added on top.
                CTA FILES UNCHANGED from the CTA working build — editors-
                picks.php, explore-by-category.php, resource-center.php,
                base.css, editors-picks.css, explore-by-category.css,
                resource-center.css and hero.css are all byte-identical.
                Neither component was reopened or "improved".
                FOOTER FILES UNCHANGED from the approved footer-only build —
                footer.php, template-parts/site-footer.php,
                assets/css/components/site-footer.css and
                FinanceProspector-Logo-Horizontal-Inverted-No-Tagline.svg
                (md5 e31144b1f4eb4d1d552cfcd76e711aa8) are all byte-identical.
                functions.php is the ONLY file that differs from BOTH parent
                builds: it needs the CTA build's contents plus the single
                fp-site-footer enqueue. That is the only integration change.
                OPEN DEFECT CARRIED FORWARD, NOT RESOLVED: the Primary CTA
                renders taller than the Secondary on Staging. It could not be
                reproduced locally in any build; the corrected selectors
                (a.fp-cta at 0,1,1) plus width/height pinned with min- and
                max- on both axes are present here and have never been on
                Staging. This build is the first opportunity to test that fix.
                NEITHER COMPONENT IS FROZEN.
              Two approved visual corrections — v3.11.46 —
              2026-08-13:
                STAGING QA BUILD. Carries forward everything in v3.11.45 and
                adds the two corrections approved after Staging review and
                documented in Bible v3.2, chapters 59 and 60.
                1. RESOURCE CENTER CTA — .fp-resource-card__cta gains
                   margin-right: 12px. The footer row is space-between, so
                   the button sat flush against the card's right padding and
                   read as too far right. Measured right inset is now 13px —
                   the 12px margin plus the CTA's own 1px border — identical
                   on all four cards at every breakpoint. The CTA remains
                   EXACTLY 144 x 44: the shift is margin, not geometry. The
                   "Jul 2026" metadata, card width, height and padding, and
                   the single-row footer structure are all unchanged.
                2. FOOTER FULL-BLEED — Bible ch. 59.1. The footer sits inside
                   GeneratePress's contained #page wrapper, so a plain block
                   rendered as a navy card floating between white margins.
                   width: 100vw with margin-left: 50% and
                   transform: translateX(-50%) escapes that wrapper without
                   modifying GeneratePress or the page structure. The INNER
                   container keeps the 1200px content width, so only the
                   background stretches — the five columns do not.
                   Radii: 24px top-left and top-right; bottom corners
                   declared explicitly as 0 so the square bottom is stated
                   intent and is not later collapsed into a four-corner
                   shorthand. The curves now sit at the extreme edges of the
                   PAGE rather than at a card boundary.
                VERIFIED at 1600, 1440, 1280, 1199, 1024, 834, 640 and 375:
                  background spans the full viewport at every width; inner
                  content 1200px at 1280 and above; radii 24/24/0/0
                  throughout; CTA 144 x 44 with a 13px inset; no horizontal
                  overflow.
                OPEN AND UNRESOLVED: the Primary CTA renders taller than the
                  Secondary on Staging. Never reproduced locally in any
                  build. The corrected a.fp-cta selectors and the width and
                  height pinned with min- and max- on both axes are present
                  here and have still never reached Staging — v3.11.44
                  carried the older, lower-specificity selectors. This build
                  is the first real test of that fix.
                FP-C-007 IS NOT FROZEN. Awaiting Staging responsive QA at
                  1200, 1199, 834 and 375.
              Footer structural correction — v3.11.47 —
              2026-08-13:
                STAGING QA BUILD. Corrects the DOM placement of FP-C-007.
                No design change: site-footer.css is byte-identical to
                v3.11.46.
                THE BUG WAS OURS, NOT GENERATEPRESS'S. v3.11.46 overrode
                footer.php and rendered the footer directly, then closed
                </body>. That skipped GeneratePress's own closing markup, so
                #content.site-content and #page were never closed and the
                footer became a CHILD of .site-content — a
                display: flex; flex-flow: row nowrap container. The flex row
                then SHRANK the 100vw footer to the container width.
                MEASURED ON STAGING at a 1200px viewport:
                  footer width  892.539px   footer left 153.730px
                  width: 100vw !important   -> 892.539px, no change
                  flex-shrink: 0            -> exactly 1200px
                The forced-width test is what proved it: the element was
                being SHRUNK as a flex item, not sized incorrectly. Ruled
                out along the way: wrong deployment, cache, a competing
                width rule, CSS specificity, the 1200/1199 breakpoint, and
                the max-content Brand tracks.
                flex-shrink: 0 WAS REJECTED as the production fix. It
                corrects the number while leaving two unclosed <div>s in
                every page, the contentinfo landmark nested inside the
                content region, and the footer exposed to any rule scoped to
                .site-content.
                THE CORRECTION:
                  footer.php REMOVED — GeneratePress's native footer
                    template runs again and its wrapper-closing lifecycle is
                    restored.
                  The footer is injected on generate_after_footer, which
                    fires after GeneratePress closes #content and #page, so
                    FP-C-007 sits where a site footer belongs: a page-level
                    sibling, not a descendant of the content area.
                  GeneratePress's VISIBLE footer output is suppressed via
                    remove_action on generate_construct_footer_widgets and
                    generate_construct_footer, plus a CSS guard hiding
                    .site-footer:not(.fp-footer) in case a GeneratePress
                    version uses different action names. The lifecycle, its
                    hooks and wp_footer() all continue to run.
                  Closing </div> tags were NOT hard-coded: GeneratePress's
                    wrapper structure varies with its container settings.
                UNVERIFIED PENDING STAGING: that generate_after_footer fires
                  OUTSIDE #page in this GeneratePress version. It does in the
                  standard template. If the DOM check returns
                  pageContainsFooter: true, the remaining fix is a one-line
                  hook change — no CSS.
                Also carries the Resource Center CTA at margin-right: 20px.
                The 1200/1199 boundary, the Brand track and Bible v3.2 are
                unchanged. FP-C-007 IS NOT FROZEN.
              Footer alignment, compaction and obsolete-CSS removal —
              v3.11.48 — 2026-08-13:
                STAGING QA BUILD. Six footer changes plus one Resource
                Center value. No change to any other component. The v3.11.47
                structural correction is PRESERVED — the child-theme
                footer.php stays deleted and the footer is still rendered on
                generate_after_footer.
                THE THEME OF THIS BUILD: removing CSS that existed only to
                compensate for the wrong DOM position. Three separate
                Staging defects all traced back to it.
                1. OBSOLETE FULL-BLEED REMOVED. width: 100vw with
                   margin-left: 50% and transform: translateX(-50%) existed
                   solely to escape the contained #page wrapper. The footer
                   is now outside #page, so a plain block already spans the
                   full width. 100vw INCLUDES the classic scrollbar while
                   the page does not, so it made the footer ~15px wider than
                   the viewport, produced horizontal overflow and exposed a
                   strip of page background at the right edge. Now
                   width: 100%.
                2. GREY BAND REMOVED. The footer carried margin-top: 96px.
                   Inside #page that margin rendered over the white content
                   area; outside it, over GeneratePress's #f7f8f9 site
                   background — a grey band. Transparent margin cannot be
                   coloured, so the space moved to #page as padding, where
                   it is genuinely page area, with an explicit white
                   background. The body/site background is NOT changed.
                3. SPACING RHYTHM RESTORED. Converting that margin to
                   padding lost margin-collapsing, so the gap STACKED with
                   FP-C-006's own padding: 64 + 96 = 160px instead of 96.
                   #page padding-bottom is therefore 32px on desktop and
                   24px below 640px — values DERIVED from the measured
                   section rhythm, not halved from the desktop figure.
                   Verified Why Trust -> Footer: 96 at 1440 and 1199, 64 at
                   834 and 640, 48 at 375 — matching every other homepage
                   section gap at the same width.
                4. CONTENT AXIS ALIGNED. The inner container used
                   --fp-container-max-width (1200px) while every other
                   section uses .fp-hero__container (1500 / 32px). The
                   footer was inset an extra 120px at 1440 and 150px at 1600
                   — the ONLY section on the page that did not align. Now
                   max-width: 1500px with the same gutters: content sits at
                   32-1408 at 1440, matching the hero exactly.
                5. GRID REBALANCED. The four navigation tracks were all
                   max-content, so every extra pixel went to the 1fr Brand
                   column — it would have grown 255 -> 495px. The three text
                   columns now share the width proportionally with a
                   max-content floor so no label wraps; Social stays
                   max-content because three fixed 48px circles gain nothing
                   from extra width. At 1440: 308 / 308 / 228 / 228 / 176.
                6. VERTICAL COMPACTION. padding-top 56 -> 40, divider
                   margin-top 40 -> 32, legal padding-top 24 -> 20, inner
                   padding-bottom 32 -> 24, list-item spacing 14 -> 10.
                   Footer height 448 -> 388px at 1440, a 13.4% reduction,
                   with no change to the logo, typography, social circles or
                   the 1200px-equivalent readability of the links.
                RESOURCE CENTER: Read Article margin-right 20 -> 32px after
                   Staging review. The CTA remains EXACTLY 144 x 44 — the
                   shift is margin, not geometry — and "Jul 2026" is
                   unmoved.
                VERIFIED at 1440, 1199, 834, 640 and 375: correct gap at
                   every width, footer spans both viewport edges, no grey
                   band, no right-edge strip, no horizontal overflow, radii
                   24/24/0/0, no label wrapping or clipping, legal row never
                   starts a line with a separator, social 48 x 48, CTA
                   144 x 44.
                FP-C-007 IS NOT FROZEN. Bible v3.2 not yet updated.
              Footer corner background — v3.11.49 — 2026-08-13:
                STAGING QA BUILD. One defect fixed. No geometry, spacing or
                responsive change; v3.11.48's footer is otherwise untouched.
                THE DEFECT. Staging showed light grey through the areas
                OUTSIDE both 24px top corners. Outside a radius the footer's
                own background is transparent, so whatever sits behind it
                shows through the corner cut-outs. The footer is a sibling
                of #page, so that is GeneratePress's site background — grey.
                THIS IS THE THIRD ISSUE from the same root: the band above
                the footer, the right-edge strip, and now the corners. All
                three come from a rounded, transparent-cornered box sitting
                over a grey site background at page level. The v3.11.48 fix
                painted #page white, which covered the space ABOVE the
                footer but not the area BEHIND it.
                THE FIX. A wrapper of our own that hugs the footer exactly:
                  <div class="fp-footer-outer"> around <footer class="fp-footer">
                  .fp-footer-outer { background-color: var(--fp-color-white); }
                One element, one declaration. No change to the body or site
                background, no 100vw, no transform, no negative margins, and
                the radii are untouched.
                WHY A WRAPPER, NOT .fp-footer::before WITH z-index: -1. A
                negative-z-index child can paint behind ANCESTOR backgrounds
                when no ancestor creates a stacking context — behaviour that
                varies with the parent theme. The wrapper is deterministic.
                VERIFIED by sampling the actual rendered pixels 2px inside
                each corner with the body forced to #f7f8f9, the same grey
                Staging shows: both corners read (255,255,255) at 1440,
                1199, 834, 640 and 375. Footer edges still reach the
                viewport at every width, no horizontal overflow, height 388
                at 1440, content 32-1408, radii 24/24/0/0, no label wrapping,
                social 48x48, legal row never starting with a separator.
                The wrapper's height equals the footer's at every width, so
                it adds nothing to the page.
                FP-C-007 IS NOT FROZEN. Bible v3.2 not yet updated.
              Full-width white transition + date balance —
              v3.11.50 — 2026-08-13:
                STAGING QA BUILD. Two fixes. No footer geometry, spacing or
                responsive change.
                1. GREY STRIPS BESIDE THE FOOTER. v3.11.49 made the corner
                   cut-outs white but grey remained further out at both
                   edges. Cause: the white was on #page, GeneratePress's
                   CONTAINED wrapper, which spans only 120-1320 at a 1440
                   viewport — so the white stopped at the container edge and
                   left 120px of grey down each side. Measured 6px above the
                   footer: x2/x60/x119 BODY grey, x121-x1319 #page white,
                   x1321/x1380/x1438 BODY grey.
                   FIX: .fp-footer-outer now owns BOTH the white and the
                   Why Trust -> Footer gap, and ALL #page rules are removed.
                   The wrapper is a body-level sibling and therefore already
                   full width, so the white reaches both viewport edges with
                   no full-bleed technique — and the child theme no longer
                   styles a parent-theme element at all.
                   This closes the fourth and last issue from one root
                   cause: a rounded, transparent-cornered box over a grey
                   site background at page level produced, in turn, a band
                   above the footer, a right-edge strip, grey corner
                   cut-outs, and grey side strips. Each fix was correct as
                   far as it reached; only this one covers the full width.
                2. RESOURCE CENTER DATE BALANCE. "Jul 2026" sat 1px from the
                   card's interior edge while the CTA sat 33px from its own,
                   so the action row read as unbalanced. padding-left: 32px
                   brings the date's ink to 33px — exact symmetry.
                   NOTE: an earlier recommendation of 20px was WRONG. It was
                   derived from a baseline measured off the CARD edge rather
                   than the card's INTERIOR edge, and would have left the
                   date 12px short of balance. Measure insets from the
                   padding box, not the border box.
                VERIFIED at 1440, 1199, 834, 640 and 375 with a contained
                  #page and the body forced to #f7f8f9: white sampled across
                  seven x-positions spanning the full viewport at every
                  width, gaps 96/96/64/64/48, footer edges flush to the
                  viewport, height 388 at 1440, date ink 33 vs CTA 33, CTA
                  144 x 44, no horizontal overflow.
                FP-C-007 IS NOT FROZEN. Bible v3.2 not yet updated.
              Mobile optimisation + theme image cache busting —
              v3.11.51 — 2026-08-14:
                STAGING QA BUILD. Three changes. No desktop geometry change.
                1. MOBILE FOOTER — Variant A. Four full-width stacked groups
                   made the footer 1389px tall at 375. Categories keeps full
                   width because "Corporate Cards & Spend Management" needs
                   275px and would otherwise wrap; the three shorter groups
                   pair into two columns. 1389 -> 1130px, a 259px saving,
                   with ZERO label wrapping, no typography reduction and no
                   cramped spacing. A variant placing Social beside Brand
                   saved only 12px more but squeezed the tagline into a
                   158px ragged block, and was rejected.
                2. MOBILE ACTION ROW. The Resource Center row sat 24px below
                   the description but only 11px above the card bottom — the
                   card's own 10px padding plus its 1px border — and read as
                   bottom-heavy. 6px beneath the row brings that to 17px,
                   the SAME row-to-bottom desktop already uses. Card padding,
                   the illustration, the title and the description are all
                   untouched; card height grows 478 -> 484 on mobile only,
                   which is unavoidable since the row cannot gain space below
                   without the card growing. Desktop is byte-identical.
                3. THEME IMAGE CACHE BUSTING — fp_asset_url(). Stylesheets
                   get ?ver= from wp_enqueue_style, but IMAGE URLs did not.
                   Because a replaced asset keeps its filename, its URL never
                   changed and caches served the old file indefinitely. That
                   cost a full QA round: the Business Banking illustration
                   was replaced at v3.11.35, yet Staging still rendered the
                   previous "Business Checking" artwork — which read as a
                   wrong-asset bug when the packaged file was correct all
                   along. Every theme image was equally exposed.
                   Applied across all seven templates. IMPORTANT: the helper
                   wraps the COMPLETE final URL. A first attempt applied it
                   to the base variables in the three templates that
                   concatenate a filename afterwards, which would have
                   produced .../categories/?ver=3.11.51business-banking.svg —
                   a broken URL on three sections. Those bases are now plain
                   paths and the helper wraps the whole concatenation.
                   SCOPE: child-theme images only — branding, hero, category
                   images and icons, Editor's Picks, Resource Center, Why
                   Trust. NOT the Media Library, parent-theme assets or
                   external URLs. The chevron mask in site-header.css is
                   already covered, since it is relative to a stylesheet
                   that carries ?ver=.
                   TRADE-OFF: theme images refetch on every version bump even
                   when unchanged. Accepted for reliable invalidation.
                NOTE: the CURRENT stale copy on Staging still needs one
                  manual cache purge. The version query prevents recurrence;
                  it cannot retroactively invalidate a URL already cached
                  without one.
                VERIFIED at 375, 414, 640, 834, 1199 and 1440: footer 1130 on
                  mobile and 388 at 1440, zero wrapping, social 48x48, seven
                  categories and four legal links at every width, action row
                  17px above the card bottom on mobile, CTA 144x44
                  throughout, no horizontal overflow.
                FP-C-007 IS NOT FROZEN. The Primary CTA height defect remains
                  OPEN pending Staging confirmation at 375.
              Mobile Primary CTA label centring — v3.11.52 —
              2026-08-14:
                STAGING QA BUILD. ONE value changed from v3.11.51:
                  editors-picks.css, inside @media (max-width: 639px),
                  .fp-pick-card__cta + .fp-pick-card__cta
                  padding-bottom: 30px -> 0
                THE DEFECT. At 375 and 414 the "Visit Site" label sat at the
                TOP of its blue button while "Read Review" was correctly
                centred. The button geometry was never wrong — 144 x 44 at
                every width — only the label position. Measured label centre
                offset: -15.5px at 375 and 414; -0.5px at 640 and above.
                CAUSE. 30px of bottom padding inside a fixed 44px box pushes
                the label up 15.5px. The selector is (0,2,0) — two classes —
                and therefore OUTRANKS a.fp-cta at (0,1,1), so the CTA
                system's own padding: 0 16px lost.
                WHY ONLY THE SECOND BUTTON: the adjacent-sibling selector
                matches "Visit Site" alone. "Read Review" matches only the
                base rule, which a.fp-cta correctly overrides.
                WHY ONLY BELOW 640: the rule lives in that media block.
                ORIGIN. A leftover from the pre-CTA text-link design, where
                the two links each kept a 44px tap area while their visible
                labels were pulled toward each other — the first padded from
                the top, the second from the bottom. Meaningless once the
                CTAs became fixed-size boxes.
                The sibling rule .fp-pick-card__cta { padding-top: 30px } is
                DELIBERATELY LEFT IN PLACE. It is currently harmless because
                a.fp-cta outranks it, and leaving it keeps the production
                diff minimal — but it is the same latent trap and should be
                neutralised if that block is ever revisited.
                VERIFIED at 375, 414, 640, 834, 1199 and 1440: both CTAs
                  exactly 144 x 44, padding 0/0 throughout, "Read Review"
                  centre offset 0 and "Visit Site" -0.5 at every width. The
                  residual -0.5px is the external-link glyph's own metrics,
                  present at the widths already approved.
                >= 640 IS UNCHANGED — the rule never applied there.
                FP-C-007 IS NOT FROZEN. Bible v3.2 not yet updated.
              Mobile Editorial Score placement — v3.11.53 —
              2026-08-14:
                STAGING QA BUILD. One change, below 640px only.
                Below 640 the editorial rating read as an awkward split
                across two levels — the label and the score shared row 1
                while the stars and the qualifier shared row 2, so one
                rating was cut in half. The score now joins the star row:
                  row 1   FinanceProspector Editorial Score
                  row 2   [stars]        9.0/10   Excellent
                FOUR RULES CHANGED, all inside @media (max-width: 639px):
                  grid  minmax(0,1fr) auto -> minmax(0,1fr) auto auto
                  label       grid-column: 1 / -1 (spans; the score left row 1)
                  score       grid-row 2, justify-self end, align-self center
                  qualifier   grid-column 3, 8px from the score
                VERIFIED at 375 and 414: label alone on row 1, stars, score
                  and qualifier together on row 2 with 0px centre variance,
                  left-to-right order stars < score < qualifier. Mobile row
                  height 83 -> 64 at 375, because the label no longer shares
                  its row with the score and therefore no longer wraps.
                >= 640 VERIFIED BYTE-IDENTICAL to v3.11.52 by element
                  position at 640, 834, 1199 and 1440.
                CTA LABEL DECISION — "Visit Site" RETAINED. "Visit Provider"
                was measured against the canonical system and rejected: it
                needs 107.22px against the 92.59px the 144px box allows
                after 32px padding, a 13.41px icon and a 6px gap. It does
                not clip or wrap — flex centring lets it spill into the
                padding — but it compresses the declared 16px horizontal
                padding to 8.69px each side, a 46% reduction, and would
                become the tightest label in the system. Bible 54.1 and 54.2
                therefore stand unamended.
                  For the record: "Read Review" at 101.25px already
                  compresses that padding to about 12px. "Visit Provider"
                  would have set a new floor.
                FP-C-007 IS NOT FROZEN. Bible v3.2 not yet updated. Final
                  Staging QA outstanding.
              Mobile Editorial Score order — v3.11.54 — 2026-08-14:
                STAGING QA BUILD. One file changed beyond the version
                header. CSS only, below 640px only, no markup change.
                Row 2 of the editorial rating is reordered so the numeric
                score leads, matching the three community rows beneath it:
                  row 1   FinanceProspector Editorial Score
                  row 2   9.0/10   [stars]   Excellent
                Previously the stars led and the score sat to their right,
                which gave the editorial row a different reading order from
                the community rows and made it look like special treatment
                rather than the same pattern.
                THREE RULES, all inside @media (max-width: 639px):
                  grid   minmax(0,1fr) auto auto -> auto auto minmax(0,1fr)
                         so the qualifier takes the remainder and sits right
                  score  grid-column 1, justify-self start, text-align left,
                         8px padding-right to the first star
                  stars  grid-column 2, justify-self start
                NO COLOUR CHANGE WAS MADE. The score was reported as green,
                but measurement before touching anything showed it already
                computing rgb(23, 63, 115) — FinanceProspector navy — for
                both "9.0" and the "/10" denominator, from
                .fp-rating-row__score { color: var(--fp-color-navy) }. There
                is no green override in the mobile block. Green in that row
                is the stars and "Excellent" only, which is the intended
                split: rating name navy, numeric rating navy, stars green
                for FinanceProspector and navy for community rows,
                qualifier green.
                VERIFIED at 375 and 414: order score < stars < qualifier,
                  all three centres within 3px, label alone on row 1, score
                  navy, stars and qualifier green, no wrapping, no overlap —
                  each element ends before the next begins — and the
                  qualifier's right edge lands exactly on the panel edge
                  without exceeding it. Community rows unchanged: navy
                  scores, navy stars, qualifier hidden.
                >= 640 VERIFIED BYTE-IDENTICAL to v3.11.53 by element
                  position at 640, 834, 1199 and 1440.
                REGRESSION CHECK at all six widths: picks CTAs 144x44 with
                  centred labels, Resource Center action row 17px above the
                  card bottom on mobile, mobile footer 1130px, desktop
                  footer 388px, no horizontal overflow.
                FP-C-007 IS NOT FROZEN. The homepage, Bible v3.2 and the
                  component manifest are not frozen. Final Staging QA
                  outstanding.
              Score colour + CTA arrow — v3.11.55 — 2026-08-14:
                STAGING QA BUILD. Two consistency corrections. No geometry,
                spacing, typography or responsive change anywhere.
                1. EDITOR'S PICKS SCORE -> NAVY. The numeric FinanceProspector
                   Score is DATA, not a positive-status indicator. Green is
                   reserved for the FinanceProspector stars and the
                   qualitative rating ("Excellent"). Two selectors changed,
                   not one:
                     .fp-pick-card__score-number
                       --fp-color-score-text (#15803D green) -> navy
                     .fp-pick-card__score-denominator
                       --fp-color-gray-500 (#6B7280 grey) -> navy
                   The "/10" was GREY, not green — so making the whole score
                   navy was a change to both parts. This aligns Editor's
                   Picks with the Editorial Framework, whose score and
                   denominator were already navy.
                   THE SEMANTIC COLOUR SYSTEM IS NOW:
                     rating name              navy
                     numeric score            navy  (FP and community)
                     community stars          navy
                     FinanceProspector stars  green
                     qualitative rating       green
                2. CTA ARROW -> STRAIGHT RIGHT. The visible glyph changes
                   from &#8599; (up-right, U+2197) to &#8594; (right,
                   U+2192), so the canonical Primary CTA is now
                   "Visit Site ->".
                   THIS SUPERSEDES THE EXTERNAL-LINK ARROW CONVENTION
                   SITEWIDE. The up-right glyph was originally chosen to
                   signal an outbound destination; that rationale is
                   superseded by the sitewide straight-arrow convention that
                   "See our methodology ->" already established. DO NOT
                   revert it to the external-link glyph.
                   A theme-wide search found EXACTLY ONE production-facing
                   occurrence, in editors-picks.php. Zero remain.
                   PRESENTATION ONLY: the icon stays aria-hidden, the
                   provider-specific aria-label "Visit %s" is unchanged, and
                   the href and external-link behaviour are untouched. The
                   arrow does not determine whether a link opens externally.
                   MEASURED: both glyphs render at 13.41px, so the CTA's
                   content width, left inset and right inset are IDENTICAL
                   to two decimals before and after. No centring impact.
                --fp-color-score-text REMAINS DEFINED though now unused.
                  Removing an orphaned token is cleanup and was deliberately
                  kept out of this change.
                VERIFIED at 375, 414, 640, 834, 1199 and 1440: score number
                  and denominator both rgb(23,63,115) across all seven cards,
                  arrow renders ->, CTA exactly 144x44, insets 26.72/26.72
                  unchanged, one line, no clipping, no overflow. Editorial
                  Framework, Resource Center, footer, hero and header
                  compared element-by-element against v3.11.54 — identical
                  at all six widths.
                NOTHING IS FROZEN. Bible v3.2 and the component manifest are
                  not yet updated; the arrow supersession must be recorded
                  there before the homepage is called done.
              Mobile qualifier + CTA stack alignment — v3.11.56 —
              2026-08-14:
                STAGING QA BUILD. Two corrections, both below 640px only.
                Both were stale mobile compensation rules that no longer
                matched the current CTA and rating design.
                1. "EXCELLENT" HIDDEN ON MOBILE. The editorial qualifier is
                   now display: none below 640, matching the community rows
                   in the same block, and the editorial grid drops from
                   three columns to two (auto minmax(0,1fr)) so there is no
                   dead third track. Mobile now reads:
                     row 1   FinanceProspector Editorial Score
                     row 2   9.0/10   [green stars]
                   Score stays navy, stars stay green.
                2. CTA STACK CENTRED AND UNPINNED FROM THE CARD EDGE.
                   Two separate faults, both leftovers:
                   (a) margin-block: -10px was written to reclaim the 30px
                       label padding of the pre-CTA text-link design. That
                       padding was removed at v3.11.52, so the negative
                       margin no longer compensated for anything — it just
                       dragged the stack into the card's padding, leaving
                       "Visit Site" 1px from the card border. Now 0, and the
                       measured gap is 11px.
                   (b) The arrangement rule added at v3.11.51 declares
                       align-items: flex-start, correct for the side-by-side
                       pair but LEFT-ALIGNING the stacked column: the buttons
                       measured 11px from the card's left and 180px from its
                       right. Now centred at 96/96.
                SOURCE ORDER, NOT SPECIFICITY. The first attempt put
                  align-items: center inside the existing 639px block and it
                  had NO EFFECT. The arrangement rule carries no media query
                  and sits LATER in the file; at equal specificity the later
                  rule wins. The override was therefore moved to the end of
                  the file, after that rule, scoped to max-width: 639.98px —
                  and the ineffective declaration was REMOVED from the
                  earlier block rather than left in place. A rule that never
                  applies is exactly the trap this component keeps hitting.
                THE >=1440 STACK IS DELIBERATELY NOT CENTRED. Its CTA zone is
                  142px against a 144px button, so centring would shift it
                  against the frozen seven-column subgrid.
                VERIFIED at 375, 414, 640, 834, 1199 and 1440: CTAs 144x44
                  with an 8px gap at every width, 375 insets 96/96 and 11px
                  above the card bottom, qualifier hidden below 640 and
                  visible above, score navy and stars green throughout.
                  >= 640 compared element-by-element against v3.11.55 —
                  identical at all four widths.
                NOTHING IS FROZEN. Bible v3.2 and the component manifest are
                  still not updated.
              Resource Center date relief bands — v3.11.57 —
              2026-08-14:
                STAGING QA BUILD. One file changed beyond the version
                header. Two narrow media queries added; no base value, card,
                grid, CTA or typography change anywhere.
                THE DEFECT. "Jul 2026" truncated to "Jul 2..." on Staging at
                640 and again at 1280. The action row needs 269.1px of
                usable card width:
                  32 date inset + 53.1 date + 8 gap + 144 CTA + 32 CTA margin
                64px of that is DECORATIVE — the two balance insets added at
                v3.11.55. The date is the only shrinkable element in the row
                (flex: 0 1 auto, min-width: 0, text-overflow: ellipsis), so
                it absorbs any shortfall and ellipsises.
                BOTH FAILURES SIT IMMEDIATELY ABOVE A COLUMN-COUNT INCREASE.
                The grid goes 1 -> 2 columns at 640 and 2 -> 4 at 1280. At
                each jump the card is at its NARROWEST, and the fixed 64px of
                insets is the largest share of it. This is the mechanism, and
                any future breakpoint that adds columns will reproduce it.
                MEASURED ON STAGING, not derived from the harness:
                  640   usable 262    short 7.1   clipped
                  655   usable 269.5  spare 0.4   clean
                  834   usable 359    spare 89.9  clean
                  1280  usable 266    short 3.1   clipped
                  1290  usable 268.5  short 0.6   clipped
                  1300  usable 271    spare 1.9   clean
                  1440  usable 294    spare 24.9  clean
                THE BANDS. Date inset 32 -> 20px in 640-654.98 and
                1280-1299.98 only. 20px, not 24: 24 clears 640 by 0.9px, and
                clearing by under a pixel against a sub-pixel text
                measurement is how this defect arose. Predicted spare with
                20px: +4.9 at 640, +8.9 at 1280, +11.4 at 1290.
                WHY NOT A CONTAINER QUERY. An earlier proposal used
                @container (max-width: 269px). Staging reports
                containerType: normal at every width — no container context
                exists — and the card-width theory was disproved outright by
                834 (383px card) FAILING while 1440 (326px card) PASSED. The
                variable was never card width in isolation.
                THIN EDGES, DELIBERATELY LEFT: 655 clears by 0.4px and 1300
                  by 1.9px. Both are the first width back on the 32px inset
                  after a band, so by construction they only just fit. Both
                  render whole on Staging. Extending the bands was
                  considered and REJECTED — it would alter widths already
                  confirmed correct. A longer month string or a font change
                  would clip these two first.
                VERIFIED: the bands switch on exactly the right pixel at 639,
                  640, 654, 655, 1279, 1280, 1299 and 1300, across ALL FOUR
                  cards. Footer logic re-tested against Staging's measured
                  card widths: every width clears with the full date, CTA
                  144x44 and gap above the 8px floor.
                PENDING STAGING: dateClipped at 1280, 1290 and 1300. The
                  harness's four-column cards are narrower than Staging's, so
                  the clip flag cannot be reproduced locally above 1199.
                Editorial Framework remains ON HOLD. Nothing frozen.
              Editorial tint hugs its content — v3.11.58 —
              2026-08-14:
                STAGING QA BUILD. One file changed beyond the version
                header. Compact-mode editorial row only; the v3.11.57
                Resource Center relief bands are carried forward untouched.
                THE DEFECT. The pale-green background behind the
                FinanceProspector Editorial Score stretched most of the card
                while the score content occupied roughly half of it.
                MEASURED ON STAGING, "Excellent" always ending at 293.5px:
                  1199  tint 480.2  trailing 186.7
                  1280  tint 521.5  trailing 228.0
                  1300  tint 531.7  trailing 238.2
                  1360  tint 562.3  trailing 268.8
                  1440  WIDE 4-track, 603.1 — a different layout entirely
                THE TRAILING SPACE GROWS WITH THE CARD, so this was never a
                1280-1300 problem. A viewport-band patch was proposed first
                and REJECTED after measuring 1199 and 1360: it would have
                fixed three widths and left the same appearance either side.
                CAUSE. Compact mode gives the row width: 100% and the third
                track minmax(0, 1fr), so the qualifier track absorbed all
                surplus card width and the row background stretched with it.
                Compact mode spans roughly 1024-1410 on Staging, switching
                to the wide 4-track layout at 590px card width.
                THE FIX, inside the compact branch, editorial row only:
                  grid-template-columns: 52px 152px max-content;
                  width: fit-content;
                  padding-right: var(--fp-space-m);
                Tracks 1 and 2 stay fixed at 52 and 152, so the score and
                star axes DO NOT MOVE. Only the editorial row is changed
                because only it carries a background; the community rows
                keep their full width, which is invisible without a
                background and is what preserves the shared score, star and
                qualifier axes.
                VERIFIED locally at 1024, 1199, 1280, 1300, 1360 and 1400:
                  tint constant at 327px with 24px trailing at EVERY width —
                  it no longer grows with the card. Score 0-49.4, stars
                  68-212.5 and "Excellent" 236-303 are identical to before,
                  and the community rows share the same 68px star axis and
                  236-303 qualifier axis. Mobile at 375 and 414 is untouched:
                  full card width, qualifier hidden.
                  On Staging the tint should land near 317px — the harness
                  renders "Excellent" about 9px wider than Inter.
                PENDING STAGING: that the wide 4-track execution at 1440 is
                  unaffected. The rule lives in the compact branch and
                  structurally cannot apply in wide mode, but the harness
                  card caps at 482.7px inner from 1199 up, never crosses the
                  590px threshold, and therefore cannot demonstrate it.
                Editorial Framework responsive question remains ON HOLD.
                Nothing frozen; Bible v3.2 and the manifest still not updated.
              Editorial wide-mode scoping correction — v3.11.59 —
              2026-08-14:
                REGRESSION FIX. One file changed beyond the version header.
                v3.11.58's Resource Center relief bands and compact tint
                behaviour are carried forward untouched.
                WHAT v3.11.58 GOT WRONG. Its changelog described the tint
                rule as compact-scoped. IT WAS NOT — the rule was placed in
                the BASE, outside any container query. The
                @container (min-width: 590px) block overrides
                grid-template-columns but never reset width or padding, so
                width: fit-content LEAKED INTO WIDE MODE.
                THE DAMAGE, measured on Staging at 1440:
                  tint          603.1 -> 563
                  label track   293.594px -> 229.43px
                  editorial score at 245.4 against the community rows' 309.6
                  same 64.2px shift on stars (313.4 vs 377.6) and the
                  qualifier (481.4 vs 545.6)
                293.594 - 229.43 = 64.164, which is exactly the offset:
                fit-content collapsed the flexible label track to its content
                and dragged the whole editorial row left, breaking the shared
                score, star and qualifier axes the four-row wide layout
                depends on. Those axes were IDENTICAL before v3.11.58; the
                offset was four hours old, not pre-existing, and was nearly
                accepted as approved geometry.
                THE FIX — two declarations inside the wide block:
                  .fp-rating-row--editorial { width: 100%; padding-right: 0; }
                LESSON: a rule intended for one branch of a container query
                must be placed INSIDE that branch, or explicitly reset in the
                other. The wide block overriding grid-template-columns made
                the leak invisible — the track count still looked right while
                the row width silently changed. Verify the property you
                changed, not just the ones nearby.
                VERIFIED LOCALLY at 375, 414, 1024, 1199, 1280, 1360: compact
                  tint holds at 327 with 24px trailing, and the editorial and
                  community score and star axes are identical (0/0 and
                  68/68). Mobile untouched.
                NOT VERIFIABLE LOCALLY: the wide branch itself. The harness
                  editorial card caps at 482.7px inner from 1199 up, below
                  the 590px threshold, so it never enters wide mode. The
                  reset is correct by inspection and needs Staging at 1440.
                NO TINT TREATMENT for wide mode in this build. Any future
                  wide-mode tint must NOT use row width — a pseudo-element
                  background layer outside grid sizing is the approach under
                  discussion.
                Resource Center relief bands unchanged and still awaiting
                  their own Staging check at 655 and 1300, which fail.
                Nothing frozen; Bible v3.2 and the manifest not updated.
              Hero methodology alignment + RC band extensions —
              v3.11.60 — 2026-08-14:
                STAGING QA BUILD. Two files changed beyond the version
                header. The v3.11.59 wide-mode scoping correction is carried
                forward untouched.
                1. HERO — COMPACT METHODOLOGY ALIGNMENT. In compact mode the
                   ratings block ends at ~293.5px and its tint at ~317.5px,
                   while the title, description and the methodology row all
                   ran the full ~480px card width. The right-aligned link
                   therefore finished 163px past the tint and pointed
                   straight at the void the ratings leave — which is what
                   made the card read as oversized.
                     @media (min-width: 1024px) and (max-width: 1414.98px)
                     .fp-editorial-card__methodology { max-width: 317px; }
                   text-align: right is retained, so the link's ink ends
                   FLUSH with the tint's right edge and the ratings plus CTA
                   read as one left-weighted group.
                   REJECTED FIRST, each on measurement:
                     - capping .fp-editorial-card to 499px. Previewed live
                       on Staging: the card itself looked tighter, but it
                       opened an excessive gap between the hero columns and
                       produced a 499 -> 605px jump across one pixel at the
                       compact/wide boundary.
                     - changing the hero 49fr/51fr ratio: out of scope, and
                       it moves frozen hero geometry.
                     - spreading the ratings to full width: would drag the
                       tint back to full width, undoing v3.11.58.
                     - centring the ratings: a new alignment language inside
                       a left-aligned card.
                   THE RULE CANNOT BE A CONTAINER QUERY. .fp-editorial-card
                   is itself the query container (container-type: inline-size
                   from 1024px), so sizing anything that feeds back into its
                   own inline size is a cycle. Verified empirically: injected
                   inside @container, max-width computed to `none` and the
                   card did not move. A media query is the only mechanism,
                   which is what couples 1414.98 to the hero geometry.
                2. RESOURCE CENTER — RELIEF BANDS EXTENDED.
                     640-654.98  -> 640-669.98
                     1280-1299.98 -> 1280-1319.98
                   The original bounds sat where the arithmetic said the
                   32px inset just fits. Staging then CLIPPED at both:
                     655   usable 269.5  spare +0.4  -> clipped
                     1300  usable 271.0  spare +1.9  -> clipped
                   Sub-3px spare is not reliable — sub-pixel text metrics
                   and rounding decide it. The new bounds carry ~6-8px of
                   real margin, about four times what failed.
                FOUR MEASURED CONSTANTS NOW IN PLAY, none of them designed:
                     1414.98   the 590px card content-box threshold under
                               current hero geometry (1414 last 3-track,
                               1415 first 4-track, measured on Staging)
                     317px     the compact tint width: score + stars +
                               "Excellent" + 24px trailing
                     669.98 /  the 269.1px action-row requirement at the two
                     1319.98   column-count transitions
                   All four are correct today and all four are coupled to
                   the hero ratio, container max-width, card padding and
                   border, and the literal text of the qualifier and date
                   strings. REVALIDATE THEM AS A SET if any of those move.
                   Three of the four were found only because a string
                   visibly clipped.
                VERIFIED LOCALLY at 375, 414, 639, 640, 655, 669, 670, 834,
                  1023, 1024, 1199 and 1279: every boundary switches on the
                  correct pixel, no clipping, CTA 144x44 throughout, gap
                  above the 8px floor, all four Resource Center cards
                  identical. 655 now clears with 18.6px of gap; 670 clears
                  at the 32px inset with 14.1px.
                NOT VERIFIABLE LOCALLY at 1280 and above: the harness
                  four-column card gives 246px usable against Staging's 266,
                  so the date clips there regardless of the fix. 1279 shows
                  540px usable and passes; 1280 drops to 246 and fails. This
                  is the documented harness divergence, not a defect.
                  Predicted on Staging: 1280 +8.9px spare, 1300 +13.9,
                  1319 +18.2, 1320 +6.4 at the restored 32px inset.
                Nothing frozen. Bible v3.3 and the component manifest are
                  still not written, deliberately, until this passes QA.
              Hero narrow-desktop containment + RC action-row cap —
              v3.11.61 — 2026-08-15:
                Two files changed beyond the version header. Both fixes were
                measured on Staging with PAINTED bounds (glyph ink vs opaque
                artwork pixels), not element boxes.
                1. HERO — NARROW-DESKTOP ILLUSTRATION CONTAINMENT. The >=1024
                   rule sizes the artwork at a FIXED 190px while the open area
                   beside the copy is a PROPORTION — that rule's own comment
                   states the copy is capped at 66.87% of the column, so the
                   open area is the remaining 33.13%. The model holds only
                   while 33.13% of the column is at least 190px (a ~575px
                   column, reached near 1303px). Below that the artwork is
                   wider than the space it is centred in; the max() clamp
                   keeps it inside the column, so the surplus lands on the
                   copy. Painted overlap measured on Staging: 31.1px at 1024,
                   18.4 at 1100, 10.8 at 1199, 10.3 at 1200, clear by 1220.
                   At 1024 the word "the" in the body sentence was occluded.
                     @media (min-width: 1024px) and (max-width: 1249.98px)
                     .fp-hero__illustration { width: min(190px, 33%); }
                   Restores the artwork to the open area the rule already
                   assumes, which is also the approved <=1200px behaviour on
                   record for FP-C-002 ("33% of the left column"). min() caps
                   at the approved 190px so it can never grow. Bounded at
                   1249.98 so 1250+ is byte-identical. Copy position, body
                   line count, hero height, card geometry and the vertical
                   anchor are all unchanged; the artwork stays inside the
                   column, so the 1px anti-gutter clamp still holds.
                   ACCEPTED: 181.3px at 1249 stepping to 190px at 1250.
                   REJECTED: moving the artwork into the card gutter (the 1px
                   clamp exists to prevent exactly that) and narrowing the
                   copy cap (reflows the body and lifts the headline 14.4px).
                2. RESOURCE CENTER — ACTION-ROW WIDTH CAP. The row's content
                   is a constant 261.1px at every breakpoint (32 date inset +
                   53.1 "Jul 2026" + 8 gap + 144 CTA + 32 CTA margin) and
                   space-between puts ALL remaining card width between the
                   ends. Nothing bounded the row, so the gap tracked card
                   width and blew out wherever the card is widest — directly
                   BELOW a column-count increase, the mirror of the relief
                   bands, which handle the card being too narrow. Measured:
                     639   1-col  card 599.0  gap 315.9
                     1199  2-col  card 563.5  gap 276.4
                     1279  2-col  card 603.5  gap 316.4
                     1440  4-col  card 326.0  gap  30.9  <- already correct
                     .fp-resource-card__footer { max-width: 292px; }
                   292px is the footer width at 1440 — the widest already
                   correct row — and is 261.1 content + that same 30.9 gap,
                   so every wide card now presents the 1440 action row.
                   DELIBERATELY UNSCOPED: max-width self-disables wherever the
                   footer is naturally narrower, which is every narrow-card
                   range INCLUDING both relief bands, so it cannot reopen the
                   date-clipping defects those bands fix. Left-anchored, so
                   the date does not move at any width; only the CTA comes
                   inward. justify-content was NOT used — it takes width from
                   the date and reopened clipping at 640.
                RELIEF BANDS UNCHANGED. 640-669.98 and 1280-1319.98 both still
                  carry the 20px date inset and both verified no-op.
                VERIFIED ON STAGING at 375, 430, 639, 640, 655, 669, 670, 767,
                  768, 834, 1023, 1024, 1100, 1199, 1230, 1249, 1250, 1279,
                  1280, 1300, 1319, 1320, 1400, 1415 and 1440: no horizontal
                  overflow, no clipping, full "Jul 2026" everywhere, CTA
                  144x44 on one line everywhere, card heights unchanged,
                  hero copy position and hero height unchanged.
                Why Trust (FP-C-006) and all other frozen components untouched.
                Nothing newly frozen; the manifest is not updated by this build.
              CTA interaction states -- Secondary hover/active + focus --
              v3.11.62 -- 2026-08-15:
                One file changed beyond the version header: assets/css/base.css,
                plus removal of superseded declarations in three component
                stylesheets. No geometry, typography, copy or markup changes.
                Audited against CTA Execution Rules v1.0 (Aug 2026).
                1. SECONDARY BOX CTA HOVER/ACTIVE TEXT COLOUR. GeneratePress
                   emits "a:hover, a:focus, a:active { color: var(--contrast) }"
                   (#222222) from an inline <style> printed AFTER base.css.
                   That selector is (0,1,1) -- the SAME specificity as
                   a.fp-cta--secondary -- so the tie fell to source order and GP
                   won. The secondary hover/active rules declared
                   background-color only, so nothing re-stated the colour and
                   every Secondary CTA label went dark on hover and on press.
                   Primary was never affected: its hover/active rules already
                   declare colour, which is why only Secondary showed it.
                     a.fp-cta--secondary:hover  { ... color: var(--fp-color-blue); }
                     a.fp-cta--secondary:active { ... color: var(--fp-color-blue); }
                   Fixes all 18 Secondary CTAs at (0,2,1). No !important.
                2. UNIFIED BOX-CTA TRANSITION. Equivalent CTAs animated three
                   different ways: Explore "text-decoration, color"; Read Review
                   "text-decoration-color" -- a property that never changes on a
                   box CTA, so its hover SNAPPED while Explore's faded; and Read
                   Article had no component rule at all, inheriting
                   GeneratePress's "a, button, input" transition at 0.1s. This
                   is what made Explore and Read Review look different despite
                   reaching the same (incorrect) end state. Now declared once on
                   a.fp-cta, listing only properties that change between states
                   -- never geometry, so a state change cannot animate layout.
                   Reduced-motion handled centrally.
                3. FOCUS GEOMETRY PRESERVED. The component :focus-visible rules
                   date from when these were TEXT links and set border-radius
                   2px/4px for a tight ring. On boxed CTAs they squared the 10px
                   corners for the duration of focus. The button radius is now
                   restated on a.fp-cta:focus-visible and the component
                   overrides removed, so focus adds a ring and changes nothing
                   else.
                BLAST RADIUS: homepage only. .fp-cta appears in four
                  front-page-scoped template parts and in zero other rendered
                  pages (verified: /sample-page/ 200, /hello-world/ 301,
                  /providers/ 404 -- all zero occurrences; homepage 58).
                VERIFIED ON STAGING at 375, 768 and 1440 with real hover: all
                  three Secondary CTAs identical (#2563EB on #F9FAFB), focus
                  preserves 10px radius and 144x44 with no geometry movement,
                  Primary unregressed, Hero Q1 (min(190px,33%)) and Resource
                  Center 292px cap + relief bands intact.
                :ACTIVE is corrected by the same cascade mechanism as :hover but
                  could not be held open for automated measurement -- confirm
                  with a manual click-and-hold after deployment.
                DELIBERATELY NOT CHANGED (on hold, documentation/implementation
                  conflict to be resolved separately): CTA dimensions --
                  the sheet specifies 144x40 / 8px radius / 15px Medium while
                  the frozen implementation ships 144x44 / 10px / 14px 600 --
                  Primary external-link icon (currently U+2192, sheet specifies
                  U+2197), header/nav hover and focus states, visited colours,
                  and footer behaviour.
                Nothing newly frozen; the component manifest is not updated.
              Footer navigation label consistency --
              v3.11.63 -- 2026-08-15:
                One file changed beyond the version header:
                template-parts/site-footer.php. Text-only; no CSS, geometry,
                markup structure or destination changes.
                FOOTER COLUMN HEADING "Resource Center" -> "Resources". The
                  header navigation labels this taxonomy "Resources" (WordPress
                  menu, menu-item-14 -> /resources/) while the footer column
                  heading was longer, so the same taxonomy carried two names.
                  "Resources" is also consistent with its three sibling column
                  headings: Categories, Company, Follow Us.
                NOT CHANGED, deliberately:
                  id="fp-footer-resources" and the wrapping
                    aria-labelledby -- both already read "resources", so the
                    accessibility wiring required no edit;
                  the four column links (Buying Guides, Industry Insights,
                    Market Trends, Glossary) and their destinations;
                  footer CSS and geometry;
                  the homepage FP-C-005 section heading, which remains
                    "Resource Center". The editorial section name is
                    intentionally longer than the navigation label.
                RESULTING HIERARCHY: header nav "Resources" / footer column
                  "Resources" / homepage section "Resource Center".
                VERIFIED ON STAGING at 375, 768 and 1440 by substituting the
                  string in the live DOM: heading stays on ONE line at every
                  width, and column widths, column heights, footer height,
                  document height and horizontal overflow are all identical.
                  The column track is fixed (198px desktop, 157.5px mobile)
                  and both strings already fit on one line.
                CTA system (v3.11.62), Hero, Resource Center layout, Why Trust
                  and all other frozen components are untouched.
              Resource Center -> article linking -- v3.15.1 --
              2026-08-17:
                INTEGRATION FIX. No design change: the Resource Article
                Template, article.css, the article templates, the hero asset,
                header, footer and tokens are byte-identical to ddeac17.

                DEFECT. Article #1 was unreachable on staging. The theme ships
                a PAGE TEMPLATE, which only renders once a WordPress Page is
                assigned to it - installing the theme creates no content
                object. No page existed for /resources/ or for the article, so
                both 404ed, and every Resource Center card still pointed at its
                '#' placeholder.

                FIX, theme side. inc/resource-data.php gains a 'slug' for
                article #1 and a fp_resource_url() resolver: a card links to a
                published page with that slug, and falls back to '#' when none
                exists. Same data-driven idiom as fp_live_categories() and
                fp_resources_hub_url(). The card MARKUP is unchanged - one
                attribute value now resolves through the helper - so both the
                homepage module and the /resources/ hub link the moment the
                page is published, and neither can ever render a link to a 404.

                STILL REQUIRED MANUALLY, and not inventable in the theme: the
                two WordPress Pages. 'resources' on the Resources Landing
                template, and 'how-to-choose-the-right-business-bank' on the
                Article template as its CHILD, which is what produces the
                approved nested URL.

              Resource Article Template v1.0 FROZEN --
              v3.15.0 -- 2026-08-17:
                Documentation and freeze only. NO visual change: article.css,
                the templates, the data files and the hero asset are all
                byte-identical to ddeac17.

                FROZEN: the FinanceProspector Resource Article Template v1.0.
                Desktop baseline 7984827, responsive closeout ddeac17.

                CANVAS 1200 centred; two-column composition 820 main + 40
                gutter + 280 rail, centred as one unit, from 1280 up; single
                flow below. Prose 820; wide editorial content 1140.

                TYPE (article-scoped, global tokens untouched, no font-family
                declared): H1 42/700, H2 32/700, H3 20/600, body 17/400 at
                1.62, FAQ question 17/600 at EVERY width, FAQ answer 17/400,
                table header 17/700, table body 16/400, Sources 21, end
                matter 14-15.

                COMPONENTS: hero 1px gray-200 + 12px radius + 6% category tint,
                no shadow, transparent SVG with no backing shape; provider
                module 1080 centred at 4/2x2/1 columns; Quick Answer 12/16 on
                the prose axis; On This Page 280 rail then full-width band;
                tables 8/16 cells with ~41px rows and contained horizontal
                scroll below 430; FAQ native details with ~48px rows and an
                11x7 masked navy chevron; square blue list markers with
                checkmarks on the checklist alone.

                RESPONSIVE VERIFIED at 1440/1280/1024/834/768/640/430/390/375:
                zero horizontal page overflow at every width.

                TWO DEFECTS FIXED DURING THE BUILD, recorded so they are not
                reintroduced: a bare `.fp-article p` at (0,1,1) captured the
                dek, metadata and Guide pill until prose was scoped; and the
                two-column composition once began at 1024, where the container
                is 960px against the 1140px required - 60px of overflow. It
                begins at 1280 and must not be lowered.

                REUSE MANDATE: articles 2-4 and every article after them are
                produced by adding a registry entry plus body parts. No new
                article design, no per-article layout CSS.

              Article #1 + reusable Article template --
              v3.14.0 -- 2026-08-17:
                MINOR bump: new page template, new long-form component and the
                first production article. No frozen component is modified; the
                homepage and all seven category pages are untouched.

                1. REUSABLE ARTICLE TEMPLATE -- page-templates/article.php.
                   Articles 2-4 need only a registry entry plus a body part;
                   this file does not change per article. Structure: breadcrumb
                   / pill / H1 / dek / metadata / hero / Quick Answer / TOC /
                   body / FAQ / closing CTA.

                2. DERIVED FROM THE BIBLE v3.2, NOT INVENTED. ch2 type scale
                   (Heading XL = H1 48/42/34, Heading L = H2 36/32/28,
                   Heading M = H3, Body L = dek, Body M = prose, Caption =
                   metadata); ch5 1200px container, 760px reading width,
                   paragraph 24px, heading->paragraph 16px, section 64px; ch6
                   card language for the TOC; ch7 links blue with underline on
                   HOVER ONLY; ch8 accessibility; ch54.4 Text CTA; ch57.3 short
                   metadata with the full form in the accessible name.

                3. BREAKPOINTS -- the site's EXISTING production system, 640 and
                   1024. The Bible's general 768/1024/1440 baseline was NOT
                   adopted: a second site-wide responsive system was rejected.
                   The Bible's Mobile column maps to <640, Tablet to 640-1023,
                   Desktop to >=1024.

                4. LINE HEIGHTS declared locally, not promoted to global tokens.
                   The Bible specifies 115/125/130/155/160%; base.css carries
                   only 1.10/1.20/1.65. Only this page type needs them so far.

                5. FAQ -- native <details>/<summary>, ZERO JavaScript. Complete
                   questions and answers are in the initial HTML whether open or
                   closed; the accordion is presentation only and never fetches.
                   Keyboard operation, button semantics and focus come from the
                   element. The <h3> sits inside <summary> so hierarchy holds.

                6. GUIDE PILL reuses the frozen Resource Center badge classes --
                   the same component as the card taxonomy, not a lookalike.

                7. HERO -- approved asset used unmodified and deliberately NOT
                   container-width: capped at 600px desktop / 560px tablet
                   inside the 760px reading column so it supports the H1 rather
                   than dominating. One illustration only.

                8. SPECIFICITY DEFECT FOUND AND FIXED IN QA. A bare
                   `.fp-article p` at (0,1,1) silently outranked every
                   single-class BEM rule at (0,1,0) and captured the dek, the
                   metadata line and the Guide pill -- all <p> elements. The
                   prose rule is now scoped to .fp-article__section /
                   .fp-article__closing, and the two remaining collisions
                   (closing lead, disclosure) use compound selectors. This is
                   the trap already recorded in docs/coding-standards.md.
                   Zero !important in the stylesheet.

                CONTENT is Editorial Master v1.1, reproduced verbatim. One
                approved structural correction: the "Shortlist rule" paragraph
                sat inside the On This Page list in the DOCX -- an authoring
                artifact -- and now closes section 4. Wording unchanged.

                SCHEMA: Article with Organization as author and publisher. No
                Person schema -- there are no bylines to represent. No FAQPage:
                FAQ rich results are restricted to authoritative government and
                health sites, so it would add markup without producing a result.

                CTAs both point to /business-banking/, the only live
                destination. Breadcrumb Home > Resources > [title]; the
                Resources crumb links only once /resources/ is published, so the
                trail never points at a 404.

                NOT DONE: no Guides & Resources module on any category page, no
                articles 2-4, no /resources/ changes, no homepage change.

              Resource Center hub -- /resources/ --
              v3.13.0 -- 2026-08-17:
                MINOR bump, not a patch: adds a new route and page template.
                The FROZEN homepage FP-C-005 section is NOT redesigned and its
                rendered DOM is unchanged.

                1. SHARED DATA SOURCE. inc/resource-data.php is now the single
                   source of truth for the four launch resources. The array was
                   moved out of template-parts/resource-center.php UNCHANGED.
                   No duplicate array exists. It still returns a list of arrays
                   with the same keys, so the later WP_Query migration is
                   preserved. NO custom post type: four launch articles do not
                   justify publishing infrastructure.

                2. SHARED CARD MARKUP. template-parts/resource-cards.php holds
                   the frozen four-card grid, moved verbatim. Both the homepage
                   section and the hub render it, so they cannot drift. Card
                   ORDER stays load-bearing (nth-child artwork widths), the CTA
                   arrow still has no preceding whitespace, and the visible date
                   stays compact.

                3. NEW ROUTE /resources/ -- page-templates/resources-landing.php.
                   The Resource Center HUB, not a Buying Guides index. Shows the
                   four ACTUAL launch resources only: no placeholder cards, no
                   empty libraries for Industry Insights / Market Trends /
                   Glossary, no "Coming Soon". H1 "Financial Guides & Resources"
                   with its own intro; the homepage keeps its "Resource Center"
                   H2, so neither duplicates the other.

                4. GEOMETRY INHERITED, NOT RESTATED. The hub reuses
                   .fp-resource-center__container and the frozen grid, so the
                   1500px cap, 20/24/32px gutters, 1/2/4 columns at 640/1280,
                   144x44 CTA, 200px artwork normalisation and the date relief
                   bands all apply without a second copy free to drift.
                   assets/css/components/resources-index.css carries page chrome
                   ONLY -- section band, H1, intro. 51 lines, no card rule.

                5. BREADCRUMB. The existing approved component, not a new
                   design. fp_page_breadcrumbs() gained one branch returning
                   Home > Resources.

                6. PAGE SHELL. category-page.css v1.1 -- the wrapper-release
                   selector now covers the resources template. .fp-category-main
                   is a PAGE-SHELL class, not a category-specific one, and is
                   reused rather than duplicated under a new name.

                CTAs REMAIN '#' on both surfaces. The article pages do not exist
                and slugs must not be invented. When approved, setting them in
                inc/resource-data.php populates both surfaces at once.

                DELIBERATELY NOT DONE: no Guides & Resources module on any of
                the seven category pages -- not built, not hidden, no reserved
                space, no placeholder. The category template flows straight
                through. No individual article page. No changes to
                /providers/, /comparisons/, /editorial/, /about-us/ or any other
                route. No frozen homepage component touched.

              Editorial Framework card heading alignment --
              v3.12.4 -- 2026-08-17:
                ONE DECLARATION. assets/css/components/hero.css --
                `text-align: center` added to the base
                .fp-editorial-card__title rule. No markup change, no other file
                beyond the version header and documentation.

                SET ON THE BASE RULE DELIBERATELY. The only other rules touching
                this heading are the 640-1023 rule (font-size: 24px) and the
                < 640 rule (font-size: 22px; margin-bottom: 8px). Neither
                declares text-align, so the centring inherits to every
                breakpoint from one place. No breakpoint-specific rule added.

                VERIFIED ON STAGING by applying the declaration to the live DOM.
                Gaps from the card content box to the painted text:
                  1440  card 669.13   56.99 / 56.99   28px/600
                  1024  card 456.96   23.87 / 23.87   28px/600
                   768  card 720      125.67 / 125.68 24px/600
                   640  card 592      61.67 / 61.68   24px/600
                   375  card 335      11.55 / 11.55   22px/600
                Centred to within 0.01px at every width; the two 0.01 readings
                are sub-pixel rounding on an odd remainder, not an offset.

                NO PADDING CHANGE NEEDED -- the card's symmetric 32/24/20px
                padding already produces true centring.

                UNCHANGED: wording, font family, size, weight, colour,
                line-height, margin-bottom and vertical position (heading box
                still starts 33px from the card top at desktop, 25px at
                tablet/mobile). Card width, height, padding, position, border,
                radius and shadow identical at every width.

                Two-line wrapping at 1024 and 375 is PRE-EXISTING: card heights
                at those widths match the pre-change baselines (591.88 and
                542.63), so nothing reflowed.

                NOT CHANGED, deliberately: the four rating rows and their
                values, G2 / Capterra / Trustpilot presence, qualifier
                treatment, stars, methodology link, hero geometry, columns,
                headline, supporting copy, trust statement and illustration.

                THE HOMEPAGE CARD IS INTENTIONALLY CATEGORY-AGNOSTIC. It
                demonstrates the full set of rating sources FinanceProspector
                may display site-wide, not a specific Business Banking
                provider. The v1.2 Community Ratings Source Matrix governs
                per-category components; the methodology-compliance changes
                diagnosed for this card were deliberately NOT implemented.

              Final homepage copy + terminology refinement --
              v3.12.3 -- 2026-08-17:
                ACCESSIBILITY FIX -- Escape did not visually close the
                Categories dropdown. Found in manual browser QA.

                CAUSE: Escape correctly removed .is-subnav-open, set
                aria-expanded="false" and returned focus to the Categories
                trigger - but that trigger sits INSIDE .fp-has-subnav, so
                :focus-within kept matching and held the panel open. Removing a
                class cannot beat a selector that still matches. The same would
                have happened on :hover with the pointer still over the item.

                FIX: an .is-subnav-dismissed flag, set by Escape, guards the two
                PASSIVE triggers:
                  .fp-has-subnav:hover:not(.is-subnav-dismissed) > .fp-subnav
                  .fp-has-subnav:focus-within:not(.is-subnav-dismissed) > .fp-subnav
                .is-subnav-open is unguarded, so a deliberate reopen still wins.
                The flag clears when focus or the pointer genuinely leaves the
                item, on click-outside, and on any deliberate open - so hover
                and focus behave normally afterwards. Applied to the mobile
                block too, which carried the same :focus-within trigger.

                Verified by selector matching rather than computed style: after
                Escape from "Business Banking", from "View All Categories" and
                from the trigger itself, ZERO open-state selectors match the
                panel, aria-expanded is "false", the flag is set and focus is on
                the trigger. Reopening after dismissal still works.

                Keyboard focus-return behaviour is unchanged. No change to
                dropdown dimensions, links, typography, header geometry or
                mobile presentation.

              v3.12.2 -- 2026-08-17:
                CATEGORIES INDEX LAYOUT. Two defects, both diagnosed against
                the live staging DOM.

                1. WRAPPER RELEASE NEVER LOADED THERE -- the v3.12.1 rule
                   .page-template-categories-landing #page.grid-container was
                   correct and the body class was present, but it lived in
                   category-hero.css, which is enqueued ONLY on the category
                   template. The stylesheet carrying the selector never loaded
                   on /categories/, so the page kept GeneratePress's 1200px cap
                   and 120px grey gutters. Moved to a new shared shell,
                   assets/css/components/category-page.css, enqueued on BOTH
                   category routes.

                2. <main> COLLAPSED TO ITS CONTENT -- #content.site-content is
                   display:flex, so <main> is a flex item. With no explicit
                   basis a flex item is sized by its content: the category hero
                   has a wide max-content (three cards) and filled by accident,
                   but the Categories index has a narrow one and collapsed to
                   755.5px inside a 1200px wrapper. .fp-category-main now
                   declares flex:1 1 100% and min-width:0, so both routes fill
                   the wrapper deliberately rather than by accident.

                Result at 1440: page 1440, main 1440, white section 1440,
                gutters 0/0, breadcrumb + heading + card all on the 32px axis.

                No component styling changed. Business Banking hero, header,
                dropdown, breadcrumb and homepage are untouched.

              v3.12.1 -- 2026-08-17:
                STAGING INTEGRATION CORRECTIONS. Diagnosed against the live
                staging render, not the local preview.

                1. FULL-WIDTH CATEGORY WRAPPER -- GeneratePress caps its page
                   wrapper with .grid-container{max-width:1200px} (main.min.css),
                   applied to #page. The hero sat inside it, so at 1440 it
                   rendered 1200px with 120px of body background (#F7F8F9)
                   showing as grey gutters, and cards came out 362.7px instead
                   of the approved 442.7px. Released SCOPED to the two category
                   body classes; GeneratePress's 1200px default is untouched
                   everywhere else. #masthead and the footer sit outside #page,
                   so neither is affected.

                2. CARD 1 -- NO CHANGE. There was never an overlap: the visible
                   heading-to-circle gap measured 32px, the approved value, at
                   both widths. The icon's box is 146.3px around a 120px painted
                   circle, so the BOX edge sits 18.9px below the heading while
                   the CIRCLE sits 32px below. Narrower cards made it read as
                   crowding.

                3. FP-C-012 CATEGORY BREADCRUMB -- new shared component.
                   Home > Categories > [Category]. Data-driven from the
                   registry, so all seven inherit it with no category-specific
                   CSS. nav[aria-label], ordered list, aria-current="page" on
                   the unlinked final crumb, schema.org BreadcrumbList.
                   Renders INSIDE <main>: #content.site-content is display:flex,
                   so a sibling became a second flex item and sat beside the
                   hero (measured 1187.6px wide, 252.4px gutter).

                4. CATEGORIES DROPDOWN -- scoped header freeze exception. The
                   green chevron previously implied a dropdown that did not
                   exist: staging had zero menu-item-has-children and sub-menus
                   were display:none "hidden at launch".
                   Driven by FP_Category_Nav_Walker from the registry rather
                   than WordPress menu items, so it can never outrun reality:
                   fp_live_categories() returns only categories that have BOTH a
                   data entry AND a published page. Today that is Business
                   Banking alone - no dead links. Hover, focus-within, click,
                   ArrowDown-to-open, Escape-to-close with focus return, click
                   outside to close, aria-expanded/aria-controls throughout.
                   Panel is absolutely positioned, so header height and
                   top-level nav geometry are unchanged (verified 89px before
                   and after opening). Mobile expands inline inside the
                   hamburger rather than floating over the items below.

                5. /categories/ ROUTE -- new "Categories Landing" template plus
                   categories-index.css, so the nav item, the dropdown's
                   "View All Categories" and the middle breadcrumb crumb all
                   resolve instead of 404ing. The list is data-driven; a new
                   category appears the moment its page is published.

                HOMEPAGE UNCHANGED: every homepage template part and stylesheet
                remains byte-identical to v3.11.64.

              v3.12.0 -- 2026-08-17:
                MINOR bump, not a patch: this release adds a new component and a
                new page template rather than adjusting existing ones.

                1. FP-C-008 CATEGORY HERO -- new shared component for all seven
                   category landing pages. Three equal cards: identity, frozen
                   illustration, methodology. New files:
                     inc/category-data.php            registry + window helpers
                     template-parts/category-hero.php markup
                     page-templates/category-landing.php  "Category Landing"
                     assets/css/components/category-hero.css
                     assets/images/category-heroes/business-banking.svg
                   Cards 1 and 3 share a four-row zone grid at >= 1280 so their
                   headings, circles, copy and bottom actions align exactly.

                2. CARD 2 DIVISION OF LABOUR -- the approved SVG supplies
                   ILLUSTRATION ONLY. The panel border, the four service tiles
                   and all nine labels are HTML/CSS. The asset's own traced
                   chrome measured uneven (tile widths 196.9-203.3, gaps
                   20.1-24.3) and drew soft shadows rather than borders, so it
                   is windowed rather than used as chrome. The SVG is never
                   modified; regions are cropped in CSS.

                3. RESPONSIVE LADDER -- 1 / 2 / 3 columns at 640 and 1280.
                   3-column deliberately starts at 1280, NOT 1024: at 1024 the
                   columns are 309px and headings wrap past their zone, while
                   1023 already works in 2-column. Below 1280 the outer cards
                   use plain flow so zones grow with wrapped text.

                4. CONTAINER QUERIES -- Card 2 is a query container and every
                   length inside it is in cqw, so the dashboard scales with the
                   card instead of being pinned in px. At the approved 1440
                   composition 3.3104cqw == 13px exactly.

                5. LOGO -- corrected designer master installed.
                   financeprospector-logo-tagline.svg
                     was cc320853a20f25140df2015862a5fede2c24d2b480abe8725b18e37249060dce
                     now 40195e4d3509a7b84191df71fb292ae674de4d9c7d1882ff861c3ef64b595254
                   Same filename and same viewBox (0 0 1080 188.1), so no markup
                   or CSS changed and header geometry is untouched. Corrects the
                   magnifying-glass handle. Shared header, so it propagates to
                   every page from one asset.

                6. CONDITIONAL STYLESHEET -- category-hero.css is the theme's
                   first conditional enqueue, gated on the Category Landing
                   template so the homepage payload is unchanged.

                HOMEPAGE UNCHANGED: every homepage template part and stylesheet
                is byte-identical to v3.11.64.

              v3.11.64 -- 2026-08-15:
                COPY ONLY. Four text strings in four template parts, plus the
                version header and a manifest entry. No CSS, markup structure,
                component dimensions, breakpoints or responsive rules changed.
                1. HERO -- "consumers" -> "individuals". Terminology only; the
                   sentence is otherwise the v3.11.63 wording. Zero geometry
                   change at every tested width, and clearance to the Provider
                   Review illustration IMPROVES: 1199 5.8 -> 9.8px, 1024
                   13.2 -> 17.1, 1250 14.4 -> 18.4, 1280 29.1 -> 33.1.
                2. EXPLORE -- adds "and compare".
                3. EDITOR'S PICKS -- "Our top-rated providers in each
                   category." -> "Top financial providers ranked using our
                   independent editorial methodology."
                4. WHY TRUST -- replaced with a concise, extractable statement
                   of the evidence model: independent editorial research,
                   category-specific scoring criteria, and third-party
                   community ratings.
                TWO HERO REWRITES TESTED AND REJECTED. Both changed the body's
                  line count. The left column grows, and because the hero grid
                  is align-items:center the headline moved 14.3-14.4px --
                  exactly the movement rejected during the v3.11.62 Q1 work.
                  Shortening did NOT fix it: any copy shorter than the baseline
                  reaches its 4->3 line wrap boundary at a narrower viewport,
                  so the divergence band MOVES and WIDENS. Baseline holds four
                  lines to ~1198; a 111-char rewrite diverged from ~1076, a
                  103-char rewrite from ~1051. Recorded in the manifest as the
                  copy-is-geometry rule.
                ACCEPTED RESPONSIVE WRAPS, not defects and not fixed in CSS:
                  Explore subtitle 2 -> 3 lines at 375 (+26.4px); Editor's
                  Picks subtitle 1 -> 2 lines at 375/430 (+26.4px). Verified at
                  both widths: no clipping, collision, overflow or CTA
                  displacement; pick-card x/width/height unchanged, CTAs still
                  144x44. Page height +53 at 375, +26 at 430, 0 elsewhere.
                TERMINOLOGY FROZEN: audiences are "businesses and individuals";
                  taxonomy stays "Business Finance" / "Personal Finance";
                  "consumer"/"consumers" is not the general audience label and
                  no longer appears in rendered homepage copy.
                VERIFIED ON STAGING at 375, 430, 768, 1024, 1100, 1199, 1250,
                  1280 and 1440: Hero line counts, headline position, trust
                  line, hero height, illustration size/position and Editorial
                  Framework card geometry all identical to v3.11.63; painted
                  overlap 0 throughout; zero horizontal overflow.
                Unchanged: H1, hero trust line, Editorial Framework card,
                  Resource Center copy, footer tagline, Why Trust pillars,
                  "customer feedback", the CTA system (v3.11.62), Hero Q1 and
                  the Resource Center cap and relief bands.
*/
