Skip to content

feat: replace brand mark with new mountain/river logo#37

Merged
enricopiovesan merged 1 commit into
mainfrom
claude/logo-rebrand
Jul 20, 2026
Merged

feat: replace brand mark with new mountain/river logo#37
enricopiovesan merged 1 commit into
mainfrom
claude/logo-rebrand

Conversation

@enricopiovesan

Copy link
Copy Markdown
Collaborator

Summary

Replaces the old purple/orange favicon.ico artwork and the SVG-wrapped raster icons (which were never actually vector — just base64 PNGs inside an .svg wrapper) with the new logo, supplied as two theme-paired PNGs: a dark-ground variant and a light-ground variant, each with transparent sky and an opaque ground fill matched to its theme.

Two treatments, matched to how each asset is actually used:

  • App-icon-style assets (favicon.ico, favicon-32/96, apple-touch-icon, android-chrome-192/512, OG image) are composited fully opaque onto solid Murky Depths navy. These get embedded in contexts this site can't control (browser tabs, social cards, phone home screens — possibly light or dark), so one deliberate square mark beats relying on transparency blending unpredictably.
  • In-page assets (nav logo, footer logo, hero background) keep native transparency and swap dark/light variant with the site's own theme toggle, using the same [data-theme] pattern already used elsewhere. The nav's existing home-hero override (forcing light text on the fixed-dark hero regardless of site theme) is extended to also force the dark-ground logo variant there, for the same reason.

Also fixes site.webmanifest's theme_color/background_color, which were still the pre-rebrand #08051a instead of the current #02273A, and a structured-data logo URL that pointed at a now-deleted SVG.

Bug caught during verification: Astro's CSS scoping auto-appends its scope hash to every selector segment, including ancestor selectors owned by another component. [data-theme="light"] .foo compiles to a selector requiring both attributes on the same element, which never matches — data-theme lives on <html>, the scope hash lives on Nav's own elements. It fails silently, not as an error. Wrapped it in :global(), matching the existing :global(body.home) precedent already in this same file for the identical reason.

Test plan

  • npm run build clean
  • Verified in browser: nav logo swaps dark/light with the theme toggle on interior pages; on the homepage, the nav logo stays the dark variant regardless of toggle (matches the existing forced-dark-text hero behavior); footer follows the toggle normally; hero background uses the dark variant
  • Fetched every new/changed asset URL directly — all 200, byte sizes match what was generated
  • Small-size favicon crop and nav-bar mockups checked visually before committing to sizes
  • No console errors

🤖 Generated with Claude Code

… variants

Replaces the old purple/orange favicon.ico artwork and the SVG-wrapped
raster icons (which were never actually vector — just base64 PNGs
inside an .svg wrapper) with the new logo, supplied as two proper
theme-paired PNGs: a dark-ground variant and a light-ground variant,
each with transparent sky and an opaque ground fill matched to its
theme.

Two different treatments, matched to how each asset is actually used:

- App-icon-style assets (favicon.ico, favicon-32/96, apple-touch-icon,
  android-chrome-192/512, OG image) are composited fully opaque onto
  solid Murky Depths navy. These get embedded in contexts this site
  can't control (browser tabs, social cards, phone home screens,
  possibly light or dark) — one deliberate square mark beats relying
  on transparency blending unpredictably.
- In-page assets (nav logo, footer logo, hero background) keep native
  transparency and swap dark/light variant with the site's own theme
  toggle, same [data-theme] pattern already used elsewhere. The nav's
  existing home-hero override (forcing light text on the fixed-dark
  hero regardless of site theme) is extended to also force the
  dark-ground logo variant there, for the same reason.

Also fixes site.webmanifest's theme_color/background_color, which
were still the pre-rebrand #08051a instead of the current #02273A,
and a structured-data logo URL that pointed at a now-deleted SVG.

One bug caught during verification: Astro's CSS scoping auto-appends
its scope hash to every selector segment, including ancestor
selectors owned by another component. [data-theme="light"] .foo
compiles to a selector requiring both attributes on the same element,
which never matches since data-theme lives on <html> and the scope
hash lives on Nav's own elements — silently never matching, not an
error. Wrapped it in :global(), matching the existing :global(body.home)
precedent already in this same file for the identical reason.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@enricopiovesan
enricopiovesan merged commit 94ee99b into main Jul 20, 2026
2 checks passed
@enricopiovesan
enricopiovesan deleted the claude/logo-rebrand branch July 20, 2026 18:22
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.

1 participant