Commit Graph
94 Commits
Author SHA1 Message Date
Keith Solomon 6c78d23512 🐞 fix: Add parameters for icon sizing 2026-07-05 16:39:26 -05:00
Keith Solomon 43e3316a70 feature: Style pagination
Deploy to Dreamhost (dev) / build (push) Successful in 34s
Sync TODOs with Issues / sync_todos (push) Successful in 5s
2026-07-05 16:13:21 -05:00
Keith Solomon 1544a7a04b 🐞 fix: Adjust line-height
Deploy to Dreamhost (dev) / build (push) Successful in 32s
Sync TODOs with Issues / sync_todos (push) Successful in 6s
2026-07-05 15:52:04 -05:00
Keith Solomon c2a1eed2cf feature: Sidebar styling
Deploy to Dreamhost (dev) / build (push) Successful in 34s
Sync TODOs with Issues / sync_todos (push) Successful in 5s
2026-07-05 15:45:54 -05:00
Keith Solomon 78360dfc89 feature: Add new Instagram icon
Deploy to Dreamhost (dev) / build (push) Successful in 35s
Sync TODOs with Issues / sync_todos (push) Successful in 6s
2026-07-05 14:35:56 -05:00
Keith Solomon 36cf891659 fix(header): adjust hero section display logic for non-front pages
Deploy to Dreamhost (dev) / build (push) Successful in 35s
Sync TODOs with Issues / sync_todos (push) Successful in 6s
fix(nav-aux): update padding for auxiliary navigation container
2026-07-05 12:15:26 -05:00
Keith Solomon 02f9999621 🐞 fix: Update header/hero to swap based on service page children
Deploy to Dreamhost (dev) / build (push) Successful in 34s
Sync TODOs with Issues / sync_todos (push) Successful in 6s
2026-07-05 10:36:27 -05:00
Keith Solomon 0a19256310 🐞 fix: Adjust mobile styles for contact block
Deploy to Dreamhost (dev) / build (push) Successful in 33s
Sync TODOs with Issues / sync_todos (push) Successful in 6s
2026-07-04 19:40:01 -05:00
Keith Solomon 01c6fb7831 feature: Set up contact info block and map
Deploy to Dreamhost (dev) / build (push) Successful in 34s
Sync TODOs with Issues / sync_todos (push) Successful in 7s
2026-07-04 19:22:26 -05:00
Keith Solomon 9d1a5f8b81 fix(contact): restore aligned = spacing in contact-info block 2026-07-04 15:41:17 -05:00
Keith Solomon 634635f726 fix(contact): fix PHPCS OperatorSpacing warnings in contact-info block 2026-07-04 15:37:45 -05:00
Keith Solomon f77a78b856 fix(contact): use wp_kses_post for block wrapper and AA color for required marker
- contact-info.php was calling esc_attr() on the output of
  blockWrapperAttributes(), which returns a full attribute string.
  esc_attr() turned the wrapping quotes into " so the class
  attribute rendered literally as class="contact-info ...".
  Switched to wp_kses_post() to match the pattern used by every
  other block template in the project.
- contact-info.css: .gfield_required used --color-cwc-orange-01
  (#e15747, 3.71:1 on white) which fails WCAG 2 AA. Swapped to the
  project's --color-secondary-accessible token (#c43c2b) so the
  required marker is brand-aligned and meets the 4.5:1 minimum.
- Regenerated static/dist/theme.css to match.
2026-07-04 14:14:50 -05:00
Keith Solomon af067fc5d0 feat(contact): style Gravity Forms fields and submit button 2026-07-04 13:45:05 -05:00
Keith Solomon bcb2486576 feat(contact): add two-column layout and icon styles 2026-07-04 13:40:57 -05:00
Keith Solomon 966fb2624c style(contact-info): use tab indentation to match project standard 2026-07-04 13:37:12 -05:00
Keith Solomon e3024a6cdc feat(contact): rewrite contact-info block to two-column layout 2026-07-04 13:31:06 -05:00
Keith Solomon dddb4b8c54 feature: Build interior layout
Deploy to Dreamhost (dev) / build (push) Successful in 38s
Sync TODOs with Issues / sync_todos (push) Successful in 7s
2026-07-01 18:33:01 -05:00
Keith SolomonandClaude 6452f28932 Refine hero: vector full-width, image top padding, content flush left
- styles/blocks/page-hero.css:
  - .page-hero__vector: width is now 100% (was clamp(28rem, 60vw, 56rem))
    so the orange linework spans the full width of the hero. The SVG
    scales proportionally (1920x489 viewBox).
  - .page-hero__media: added top: clamp(2rem, 4vw, 4rem) so the image
    has visible top padding inside the hero (in addition to overflowing
    the bottom). Reduced right offset to clamp(0.5rem, 2vw, 2rem) so
    the image sits closer to the right edge. Width is 'auto' with
    max-width: clamp(20rem, 30vw, 28rem) so the image's natural aspect
    ratio (490x613 portrait) is preserved.
- views/partials/page-hero.php: .page-hero__content is now 'container
  mx-auto px-0!' so the breadcrumbs, H1, and intro sit flush left at
  x=0, matching the logo's left edge (which is also at x=0 thanks to
  the header's px-0! override on its container).

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-01 16:39:29 -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 998619fa3f Add Playwright coverage for inner page layout at all viewports 2026-07-01 11:13:34 -05:00
Keith Solomon cda3878169 Render hero_image and hero_vector in page-hero partial; drop in-hero intro 2026-07-01 10:29:26 -05:00
Keith Solomon ffdf79ae01 Add page-intro partial for centered narrow intro section 2026-07-01 10:10:00 -05:00
Keith Solomon b53f7bb4ca 🐞 fix: Adjust gradient on mobile
Deploy to Dreamhost (dev) / build (push) Successful in 33s
Sync TODOs with Issues / sync_todos (push) Successful in 7s
2026-06-30 20:42:13 -05:00
Keith Solomon 01101ff712 fix: update mobile navigation styles and comment out unused code
Deploy to Dreamhost (dev) / build (push) Successful in 35s
Sync TODOs with Issues / sync_todos (push) Successful in 7s
2026-06-28 20:52:40 -05:00
Keith Solomon 09d42ba2a9 fix: style mobile menu per spec
Per the user's spec, the mobile menu is:
- Dark navy background, white links, 95% viewport width
- Parent items (those with child links) get an orange chevron
- Child items get an orange border; nothing else gets any border
- Bottom of menu has a Contact link styled as a button and social icons

Changes:

1. Menu CSS (styles/navigation/nav-mobile-sliding.css):
   - Switch the menu background from white to bg-cwc-blue-02 (dark navy)
   - Switch menu item text from black to white
   - Hide the existing .menu-vdi__submenu and show the children inline under their
     parent with a 2px orange border, rounded corners, and white text
   - Style the existing chevron SVG inside the parent <button> with the orange
     secondary color so it's visible against the navy background
   - Add a .menu-vdi__footer block (Contact button + social icons) anchored to
     the bottom of the menu panel, shown only when the toggle is aria-expanded
   - Hide .menu-vdi__footer entirely at desktop so it doesn't leak into the
     page DOM and trigger accessibility warnings

2. Menu template (views/components/nav-main.php):
   - Append a .menu-vdi__footer div after the menu items containing a Contact
     link to home_url('/contact/') and the existing social-media partial
   - The footer renders inside <nav> but is positioned via fixed CSS to align
     with the menu panel

Header/toggle button unchanged - the orange/coral rounded button design from
the original mobile-fidelity plan was already correct and is left alone.
2026-06-28 17:32:05 -05:00
Keith Solomon 2399023286 🐞 fix: Adjust social icon styling 2026-06-28 14:11:46 -05:00
Keith Solomon a761c16802 fix: anchor mobile hero vector to the viewport
Move the mobile hero <img> out of the .vector container (which is intentionally wider than the viewport to bleed the desktop SVG) so the mobile img anchors to .heroVector's full-width edges. Set width: 100vw, left: 0, bottom: 6.25rem so the 402-wide mobile SVG distributes the linework across the full hero at the 402 reference composition.
2026-06-28 13:35:35 -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 14de24351e fix: use new mobile vector for hero
Add hero-vector-mobile.php that renders mobile-hero-vector.svg alongside the existing desktop hero partial. The homepage-hero.css hides the desktop SVG and shows the mobile <img> below 768px while preserving every other mobile rule.
2026-06-28 13:03:58 -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 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 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