diff --git a/docs/syntax/hero.md b/docs/syntax/hero.md
index 206693582..57fcca9e7 100644
--- a/docs/syntax/hero.md
+++ b/docs/syntax/hero.md
@@ -24,7 +24,7 @@ The `:title:` option doubles as the page title, so a hub page needs no body H1.
|---|---|---|
| `:title:` | string | **Required.** Renders as the page `
` next to the icon. Also used as the document title. |
| `:description:` | inline markdown | One-line summary below the title. Supports bold, italics, and links. |
-| `:icon:` | string | Product key. Resolves to an inline SVG. Known keys: `elasticsearch`, `kibana`, `observability`, `security`. An unknown key falls back to a single-letter chip. |
+| `:icon:` | string | Product key. Resolves to an inline SVG. Known keys: `elasticsearch`, `kibana`, `logstash`, `observability`, `security`, `elastic-stack`. An unknown key falls back to a single-letter chip. |
| `:primary-action:` | markdown link | First action. Format: `[Label](/url)` or `[Label](#anchor)`. |
| `:secondary-action:` | markdown link | Second action. |
| `:tertiary-action:` | markdown link | Third action. |
diff --git a/docs/syntax/link-card.md b/docs/syntax/link-card.md
index f9db9fb9c..55d019be0 100644
--- a/docs/syntax/link-card.md
+++ b/docs/syntax/link-card.md
@@ -41,7 +41,7 @@ sub-list, so every group of links reads the same way wherever it appears.
`variant: es`, `obs`, or `sec` adds a left border in the matching solution colour. Use it for solution cards.
-`icon` takes the same product keys as [`{hero}`](hero.md): `elasticsearch`, `kibana`, `observability`, `security`.
+`icon` takes the same product keys as [`{hero}`](hero.md): `elasticsearch`, `kibana`, `logstash`, `observability`, `security`, `elastic-stack`.
## Inside `{explore}`
diff --git a/src/Elastic.Markdown/Myst/Directives/Hub/ProductIcons.cs b/src/Elastic.Markdown/Myst/Directives/Hub/ProductIcons.cs
index 98b96b2a9..5231c7eae 100644
--- a/src/Elastic.Markdown/Myst/Directives/Hub/ProductIcons.cs
+++ b/src/Elastic.Markdown/Myst/Directives/Hub/ProductIcons.cs
@@ -53,6 +53,13 @@ public static class ProductIcons
+ """,
+ ["elastic-stack"] = """
+
"""
}.ToFrozenDictionary(StringComparer.OrdinalIgnoreCase);