diff --git a/changelog.d/3264-dark-mode-logo.fixed.md b/changelog.d/3264-dark-mode-logo.fixed.md
new file mode 100644
index 0000000000..aecbf25634
--- /dev/null
+++ b/changelog.d/3264-dark-mode-logo.fixed.md
@@ -0,0 +1 @@
+- Fixed the wheels.dev header and footer logo being invisible in dark mode — the `lockup` logo variant now swaps to the white lockup under `prefers-color-scheme: dark` via a pure-CSS toggle ([#3264](https://github.com/wheels-dev/wheels/issues/3264))
diff --git a/web/packages/ui/src/components/Logo.astro b/web/packages/ui/src/components/Logo.astro
index 66642c0eda..b1abbd30f6 100644
--- a/web/packages/ui/src/components/Logo.astro
+++ b/web/packages/ui/src/components/Logo.astro
@@ -22,16 +22,12 @@ const lockupHeights = {
md: 28,
lg: 40,
};
-
-const isLockup = variant === 'lockup' || variant === 'lockup-on-dark';
-const src =
- variant === 'mark' ? markPng : variant === 'lockup-on-dark' ? lockupWhitePng : lockupPng;
---
{
variant === 'mark' && (
+
+
+ >
+ )
+}
+
+{
+ variant === 'lockup-on-dark' && (