54 Commits
Author SHA1 Message Date
Keith Solomon 1c5c727691 test: Add Playwright tests for team-grid block 2026-07-25 13:38:36 -05:00
Keith Solomon 9c4553f3d0 test: Add assertion for dynamic grid column class 2026-07-25 00:16:26 -05:00
Keith Solomon d2b2a04b56 test: Add Playwright tests for services-list block 2026-07-24 23:59:28 -05:00
Keith Solomon 8c3284399e 🐞 fix: Remove Chrome tint implementation
Deploy to Dreamhost (dev) / build (push) Successful in 33s
Sync TODOs with Issues / sync_todos (push) Successful in 6s
2026-07-12 15:30:54 -05:00
Keith Solomon 5bffd36ff8 🐞 fix: Update chrome tint implementation to use opacity for visibility and adjust related tests
Deploy to Dreamhost (dev) / build (push) Successful in 35s
Sync TODOs with Issues / sync_todos (push) Successful in 5s
2026-07-12 15:21:58 -05:00
Keith Solomon 7267f67d99 🐞 fix: Update chrome tint visibility handling to prevent dark bars over page content and enhance related tests
Deploy to Dreamhost (dev) / build (push) Successful in 36s
Sync TODOs with Issues / sync_todos (push) Successful in 6s
2026-07-12 15:13:55 -05:00
Keith Solomon 2b0daaa699 🐞 fix: Update footer color for chrome tinting and adjust related tests for iOS compatibility
Deploy to Dreamhost (dev) / build (push) Successful in 34s
Sync TODOs with Issues / sync_todos (push) Successful in 5s
2026-07-12 14:50:34 -05:00
Keith Solomon c82e6187af feature: Add independent chrome tint elements for iOS 26+ compatibility and enhance related tests
Deploy to Dreamhost (dev) / build (push) Successful in 33s
Sync TODOs with Issues / sync_todos (push) Successful in 6s
2026-07-12 14:30:41 -05:00
Keith Solomon a41f6f3834 🐞 fix: Update Chrome tint implementation for iOS 26+ compatibility and enhance test coverage
Deploy to Dreamhost (dev) / build (push) Successful in 36s
Sync TODOs with Issues / sync_todos (push) Successful in 6s
2026-07-12 14:12:18 -05:00
Keith Solomon ca367364f8 feature: Implement dynamic browser chrome tinting for header and footer visibility
Deploy to Dreamhost (dev) / build (push) Successful in 36s
Sync TODOs with Issues / sync_todos (push) Successful in 6s
2026-07-12 13:57:20 -05:00
Keith Solomon e38511126d 🐞 fix: Adjust mobile layout for blog page and add regression tests
Deploy to Dreamhost (dev) / build (push) Successful in 36s
Sync TODOs with Issues / sync_todos (push) Successful in 6s
2026-07-12 13:19:53 -05:00
Keith Solomon ae8a80484f 🐞 fix: Update media query breakpoints for navigation styles and add responsive tests
Deploy to Dreamhost (dev) / build (push) Successful in 37s
Sync TODOs with Issues / sync_todos (push) Successful in 7s
2026-07-08 18:55:19 -05:00
Keith Solomon a15209e176 test(blog): assert Read more link is present in the first card 2026-07-05 11:04:09 -05:00
Keith Solomon 702a2e3b74 test(blog): add blog-page Playwright spec 2026-07-04 20:35:46 -05:00
Keith Solomon ee9c9ce992 test(hero): update blog-index test to assert no hero (Services-only gate) 2026-07-04 19:53:23 -05:00
Keith Solomon 0aeacc3c17 test(hero): mark grandchild test as test.fail with TODO for missing fixture 2026-07-04 15:00:00 -05:00
Keith Solomon ee27133250 test(hero): add ancestor-scope Playwright spec 2026-07-04 14:47:37 -05:00
Keith Solomon 0f4cd48c60 test(contact): add contact-page Playwright spec 2026-07-04 14:12:34 -05:00
Keith SolomonandClaude 2bda7f21eb 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>
2026-07-01 16:11:28 -05:00
Keith SolomonandClaude e221f62ef7 Refine hero: gradient backdrop, intro inside hero, image on right, vector visible
- styles/blocks/page-hero.css: add blue-to-teal gradient to .page-hero (matches
  homepage-hero). Fix image mask direction (right-to-left fade) so the image
  is visible on the right and fades to transparent on the left. Reposition
  the vector to span the full bottom of the hero at z-index 2 (above the
  media layer, below content). Add .page-hero__intro and .page-hero__intro-inner
  grid rules for the new two-column heading + body block.
- views/partials/page-hero.php: drop bg-dark / bg-cover / bg-no-repeat
  utilities (the gradient comes from CSS now). Simplify the heading render.
  Load the page-intro partial inside .page-hero__content, below the heading.
- views/partials/page-intro.php: rewrite as a fragment for embedding inside
  the hero - a two-column heading (hard-coded 'Our Work') + body grid.
  Returns early when the intro field is empty.
- page.php: remove the page-intro partial call (it's now loaded from
  page-hero.php).
- tests/inner-page.spec.js: switch the selector from .page-intro to
  .page-hero__intro. Update the order assertions to verify the intro is
  a descendant of the hero (not a sibling below it).

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-01 15:25:39 -05:00
Keith Solomon 8b7819e932 Add no-intro and no-asset fallback tests for inner page layout 2026-07-01 12:16:38 -05:00
Keith Solomon 998619fa3f Add Playwright coverage for inner page layout at all viewports 2026-07-01 11:13:34 -05:00
Keith Solomon 739cb6e6e2 test: wait for contact linework before measuring
The mobile contact linework is loading=lazy and only resolved when scrolled into view. Wait for it to finish loading before the geometry assertions read its bounding rect, matching the pattern already used for the Our Work desktop vector.
2026-06-28 13:09:40 -05:00
Keith Solomon daeb184dd1 fix: use new mobile vector for our work
Replace the clip-path composition of the desktop SVG with a real <img> that references the artist-supplied mobile-work-vector.svg. Drop the CSS-layer trick and the ::before/::after background pieces; the new mobile SVG already covers the composition. Update the linework composition test to assert against the new <img>.
2026-06-28 13:06:01 -05:00
Keith Solomon 8c239e15f6 fix: use new mobile vector for contact block
Render mobile-contact-vector.svg alongside the existing contact linework. CSS hides the desktop SVG and shows the mobile <img> at <=767px so the new 342x187 composition fills the card width. Update the geometry test to assert the new linework ratio (342/187) and the snapshot.
2026-06-28 13:04:55 -05:00
Keith Solomon dbfd5bfb43 fix: use new mobile vector for pull quote
Swap pullquote-mobile-linework.png for the artist-supplied mobile-pullquote-vector.svg at the existing pull-quote__vector--mobile slot. Update the visual snapshots to match the new artwork.
2026-06-28 13:03:18 -05:00
Keith Solomon 31b498115b test: wait for Our Work desktop vector before reading source 2026-06-28 10:03:58 -05:00
Keith Solomon 0a48a1938c fix: align mobile footer navigation 2026-06-27 22:54:17 -05:00
Keith Solomon 20d25e966d fix: match mobile footer design 2026-06-27 22:49:31 -05:00
Keith Solomon 948cc7e368 refactor: harden responsive Our Work artwork 2026-06-27 22:36:46 -05:00
Keith Solomon 79ff6a1408 fix: match mobile Our Work linework 2026-06-27 22:24:38 -05:00
Keith Solomon 6206761573 fix: match mobile Our Work design 2026-06-27 22:01:47 -05:00
Keith Solomon ca8f5c939d fix: preserve reusable contact linework ratio 2026-06-27 21:38:58 -05:00
Keith Solomon f0c5c47297 refactor: isolate mobile home contact styles 2026-06-27 21:34:44 -05:00
Keith Solomon 7c143721b8 fix: refine mobile contact photo crop 2026-06-27 21:22:30 -05:00
Keith Solomon e2901ce710 fix: correct mobile contact image treatment 2026-06-27 21:16:22 -05:00
Keith Solomon 443be4fb89 fix: match mobile contact card design 2026-06-27 20:58:36 -05:00
Keith Solomon d19924e22b fix: scope mobile media text behavior 2026-06-27 20:35:10 -05:00
Keith Solomon 6263a98988 fix: match mobile image text layout 2026-06-27 20:17:30 -05:00
Keith Solomon 4969e4c9ce test: isolate pull quote linework snapshot 2026-06-27 20:05:52 -05:00
Keith Solomon aaa9d28a79 fix: harden mobile pull quote layout 2026-06-27 20:01:02 -05:00
Keith Solomon 7c3c09855d fix: add mobile pull quote artwork 2026-06-27 19:47:06 -05:00
Keith Solomon 32bbf6750b fix: show full mobile pull quote artwork 2026-06-27 19:27:17 -05:00
Keith Solomon 2986cb3ee8 fix: refine mobile pull quote artwork 2026-06-27 19:20:33 -05:00
Keith Solomon 8a601d90cb fix: align mobile pull quote crop 2026-06-27 19:00:12 -05:00
Keith Solomon 445269d291 test: lock mobile pull quote visual fidelity 2026-06-27 18:48:11 -05:00
Keith Solomon 15e832645c fix: scale mobile pull quote proportionally 2026-06-27 18:37:18 -05:00
Keith Solomon 97ebffb70d fix: match mobile pull quote design 2026-06-27 18:18:15 -05:00
Keith Solomon 81785c4aec refactor: clarify mobile hero geometry 2026-06-27 18:06:34 -05:00
Keith Solomon a360b8192a fix: complete mobile carousel and social updates 2026-06-27 18:00:32 -05:00