Restructure hero: image at natural size overflowing, intro as text, no hard-coded copy
- views/partials/page-hero.php: removed the page-intro partial call. The intro is now rendered inline as a single .page-hero__intro div containing the editor-supplied intro text only (no hard-coded heading). The H1 is rendered with a dedicated .page-hero__heading class for typography control. Breadcrumbs + H1 + intro are in a single .page-hero__content container. - views/partials/page-intro.php: deleted (no longer used). - styles/blocks/page-hero.css: rewritten layout. The hero has a min-height of clamp(31rem, 38vw, 36rem). .page-hero__media is a foreground absolutely-positioned img on the right (no mask, no cover, no object-fit), with bottom: -10% so the image's bottom hangs over the bottom edge of the hero. The vector is positioned at bottom: clamp(1.5rem, 4vw, 3rem) with some spacing from the bottom edge, full-width on the left. Both elements stay above the content layer (z-index 10) and below the breadcrumb/title text. The H1 uses Quincy serif at clamp(2.5rem, 6vw, 4.5rem). The intro text is capped at 36rem to sit alongside the H1 without spanning the full hero width. - tests/inner-page.spec.js: removed the now-obsolete .page-hero__intro-heading / .page-hero__intro-text assertions (the intro is a single text block now). Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -61,10 +61,6 @@ test.describe("inner page layout", () => {
|
||||
// Heading is rendered inside the hero.
|
||||
await expect(hero.locator("h1").first()).toBeVisible();
|
||||
|
||||
// Intro contains a heading and a body paragraph.
|
||||
await expect(intro.locator(".page-hero__intro-heading").first()).toBeVisible();
|
||||
await expect(intro.locator(".page-hero__intro-text").first()).toBeVisible();
|
||||
|
||||
// Page renders without JS errors.
|
||||
expect(pageErrors).toEqual([]);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user