Skip to content

fix(homepage): breathing room between hero CTA and hero image on mobile - #405

Merged
pftg merged 1 commit into
masterfrom
claude/fix-hero-cta-button
Jul 30, 2026
Merged

fix(homepage): breathing room between hero CTA and hero image on mobile#405
pftg merged 1 commit into
masterfrom
claude/fix-hero-cta-button

Conversation

@pftg

@pftg pftg commented Jul 30, 2026

Copy link
Copy Markdown
Member

Summary

Fixes the button layout issue from the production phone screenshot: on mobile, the hero "Get a Free Code Audit" CTA sat glued to the hero image — a measured 0px gap at a 390×844 viewport. On desktop the CTA and photo are side-by-side columns; below 860px they stack, and nothing supplied a stacking margin.

One rule, scoped to the existing stacked-layout breakpoint in themes/beaver/assets/css/critical/homepage-critical.css:

@media (max-width: 860px) {
  .home-hero-media { margin-top: 28px; }
}

Diagnosis notes

  • Production is not down — the deploy pipeline's latest master runs are all green and the site serves (the phone screenshot itself renders the page). Direct curl checks from the agent container are blocked by its proxy, not by the site.
  • The button's Ruby-red 8px-radius styling itself is intentional (the site-wide CTA branding in navigation.css deliberately overrides the legacy blue 25px pill — verified via a full cascade probe). The actual defect was the missing stacking gap.

Verification

  • Browser probe at 390×844 emulation (pinned Chrome for Testing 141): gap 0px → 28px, no horizontal overflow (scrollWidth == innerWidth == 390).
  • Desktop 1280×800 screenshot unchanged — the rule lives inside the ≤860px block only.
  • Production bin/hugo-build green.

Baseline note

Mobile homepage baselines (macos/ and linux/) will show this intentional 28px shift on the next blessed-stack run — re-record via bin/test (macOS) / bin/dtest and commit alongside, per the visual-gate rule. (This container can't produce valid baselines for either stack; the Phase 3 dirty-baseline guard now protects against accidental commits meanwhile.)


🤖 Generated with Claude Code

https://claude.ai/code/session_01PXHeUErqoiyH9xN1mjC8cH


Generated by Claude Code

On desktop the CTA button and hero photo sit in side-by-side columns.
Below 860px the columns stack and nothing supplied a stacking gap - the
photo started at the button's bottom pixel (0px gap, measured with a
390px-viewport probe; visible in a production phone screenshot). Add
margin-top: 28px to .home-hero-media inside the existing 860px
breakpoint block, so only the stacked layout changes.

Verified: browser probe shows gap 0px -> 28px at 390x844 emulation;
desktop 1280x800 screenshot unchanged (rule scoped to the stacked
breakpoint). Production build green.

Note for baseline owners: mobile homepage screenshots (macos/ and
linux/) will show this intentional 28px shift on their next blessed-
stack run - re-record via bin/test (macOS) and bin/dtest.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PXHeUErqoiyH9xN1mjC8cH
@coderabbitai

coderabbitai Bot commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

@pftg, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 24 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 5ca2f0f6-d4f5-49ef-a9ad-cf9772095e23

📥 Commits

Reviewing files that changed from the base of the PR and between 0d77f1b and 3c6d871.

📒 Files selected for processing (1)
  • themes/beaver/assets/css/critical/homepage-critical.css

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@pftg
pftg merged commit 0927bb3 into master Jul 30, 2026
3 checks passed
@pftg
pftg deleted the claude/fix-hero-cta-button branch July 30, 2026 15:32
pftg added a commit that referenced this pull request Jul 31, 2026
…uilds + un-gated board sync (#407)

* feat(analytics): enable Clarity for course pilot + exclude all analytics from local/test builds

- microsoftClarity = xum05dgnec (project created by Paul 2026-07-30)
- baseof.html gates the analytics partial on baseURL containing
  jetthoughts.com: dev (1313) and test (1314) builds never inject tracking
- Clarity snippet additionally hostname-guards localhost/LAN at runtime
- macOS mobile homepage baseline re-recorded per #405's note (intentional
  28px hero gap below 860px; diff confined to the shifted photo). Linux
  baseline re-record follows in this same PR via bin/dtest.
- Board sync: PILOT GATE REMOVED (Paul 2026-07-31) - TASK-TRACKER queue
  rewritten as Waves 0/A-H; runbook 20.12 + GOAL + 20.07 statuses synced
- Test policy: bin/qtest --changed is the routine gate; bin/test+bin/dtest
  once at PR prep (CLAUDE.md, AGENTS.md, .okf/build/test-gates.md)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XzSs7FupxTPeX4QW1u5anX

* docs(okf): align test-gates description with qtest-first policy

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XzSs7FupxTPeX4QW1u5anX

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants