isServicesDescendant() gates the inner-page hero on being a Services
descendant. The existing inner-page.spec.js fixtures (sample-page, etc.)
are not Services descendants, so without the bypass the hero would not
render in tests and the suite would fail.
The constant CWC_TEST_BYPASS_HERO_GATE was added in lib/extras.php for
exactly this case, but the dev site's wp-config.php is operator-managed
and cannot be modified by the theme. This note records the single line
the operator needs to add to wp-config.php, plus the rationale and a
production warning.
- Goal: hero is now a blue-to-teal gradient (not a flat dark color) and the
intro block lives inside the hero composition (not as a separate page
section).
- Architecture: reduced from 3-part (hero / intro / body) to 2-part
(hero / body) since the intro is now embedded in the hero.
- Hero Partial: dropped the bg-dark utility (gradient is set in CSS), the
hero image is anchored to the right with a left-to-right fade, and the
vector is full-width anchored to the bottom at z-index 2.
- Hero Partial CSS: the file is at styles/blocks/page-hero.css (not
views/partials/page-hero.css). Updated the rules to match the new
gradient + image right-side + vector bottom-center + intro grid layout.
- Intro Partial: rewritten as a fragment for embedding inside the hero
(two-column heading + body grid) rather than a centered standalone
section. Partial is loaded by page-hero.php, not page.php.
- page.php Wiring: no longer loads the page-intro partial directly; the
partial is loaded by page-hero.php.
- Error Handling, Verification, and Acceptance Criteria: updated to
match the new structure (no empty .page-intro wrapper check; intro is
a descendant of the hero; gradient + image-right + vector-bottom-center
expectations).
Co-Authored-By: Claude <noreply@anthropic.com>
Defines the inner page layout: dark hero with background image and decorative
vector (driven by two new fields on the existing Page Heading ACF group), a
centered narrow intro section underneath (driven by the existing Intro field),
and the standard the_content body.
The mockup's bottom dark block is the existing site footer, not a new CTA. No
new ACF blocks are introduced; the layout reuses the existing Page Heading meta
box and the page-hero partial that header.php already loads.
Co-Authored-By: Claude <noreply@anthropic.com>
Capture the per-block approach, what changed in each PHP/CSS file, and the test/geometry updates needed for the new mobile-*-vector.svg files. Mirror the structure used by the prior 2026-06-27 mobile-homepage-fidelity spec.