diff --git a/README.md b/README.md
index cf62399..5946185 100644
--- a/README.md
+++ b/README.md
@@ -37,8 +37,11 @@ publishing or deployment step.
`favicon.ico` contains 16px, 32px and 48px icons. PNG favicons and a 180px Apple touch icon use the
original SQLStack mark on white backing for legibility in light and dark browser chrome.
-`assets/og-sqlstack.png` is an opaque 1200 × 630 sharing card using the original SQLStack wordmark
-and the site's Inter typography. These are raster derivatives, not replacement logos or SVG originals.
+`assets/og-sqlstack-dark.png` is an opaque 1200 × 630 sharing card using the original SQLStack
+wordmark and the site's Inter typography on a near-black background. Its branding and text fit
+inside the central 630px square so small thumbnail crops retain the complete message. The previous
+`assets/og-sqlstack.png` remains available for cached metadata. These are raster derivatives, not
+replacement logos or SVG originals.
Canonical and Open Graph/Twitter URLs target `https://sqlstack.io/`. Local previews can verify the
metadata and assets, but public social-crawler validation requires a separately authorized deployment.
diff --git a/assets/og-sqlstack-dark.png b/assets/og-sqlstack-dark.png
new file mode 100644
index 0000000..bf79462
Binary files /dev/null and b/assets/og-sqlstack-dark.png differ
diff --git a/index.html b/index.html
index 8c0ca32..49c0852 100644
--- a/index.html
+++ b/index.html
@@ -12,7 +12,7 @@
-
+
@@ -20,7 +20,7 @@
-
+
diff --git a/tests/website.spec.mjs b/tests/website.spec.mjs
index e048005..26b7b91 100644
--- a/tests/website.spec.mjs
+++ b/tests/website.spec.mjs
@@ -69,10 +69,10 @@ test('approved products, sharing assets and responsive navigation work in both t
await expect(page.locator('meta[property="og:url"]')).toHaveAttribute('content', 'https://sqlstack.io/');
await expect(page.locator('meta[name="twitter:card"]')).toHaveAttribute('content', 'summary_large_image');
for (const selector of ['meta[property="og:image"]', 'meta[name="twitter:image"]']) {
- await expect(page.locator(selector)).toHaveAttribute('content', 'https://sqlstack.io/assets/og-sqlstack.png');
+ await expect(page.locator(selector)).toHaveAttribute('content', 'https://sqlstack.io/assets/og-sqlstack-dark.png');
}
for (const [path, width, height] of [
- ['/assets/og-sqlstack.png', 1200, 630],
+ ['/assets/og-sqlstack-dark.png', 1200, 630],
['/assets/favicon-16.png', 16, 16],
['/assets/favicon-32.png', 32, 32],
['/assets/apple-touch-icon.png', 180, 180],