diff --git a/apps/demo/partials/web/assets/spiritCoverOnBrand.hbs b/apps/demo/partials/web/assets/spiritCoverOnBrand.hbs
new file mode 100644
index 0000000000..1ccb9d54d4
--- /dev/null
+++ b/apps/demo/partials/web/assets/spiritCoverOnBrand.hbs
@@ -0,0 +1,13 @@
+
diff --git a/packages/web/src/scss/components/Card/README.md b/packages/web/src/scss/components/Card/README.md
new file mode 100644
index 0000000000..355144d523
--- /dev/null
+++ b/packages/web/src/scss/components/Card/README.md
@@ -0,0 +1,432 @@
+# Card
+
+Card is a compact container for organizing and displaying content about a single topic.
+
+Card is a versatile composition of a few subcomponents:
+
+- [Card](#card-1)
+ - [CardArtwork](#cardartwork)
+ - [CardMedia](#cardmedia)
+ - [CardLogo](#cardlogo)
+ - [CardBody](#cardbody)
+ - [CardTitle](#cardtitle)
+ - [CardEyebrow](#cardeyebrow)
+ - [CardFooter](#cardfooter)
+
+Additionally, Card can be used with [CardLink](#making-the-whole-card-clickable) to create a clickable card.
+
+## Card
+
+Card is the main container of the composition.
+
+```html
+
+
+
+
+
+```
+
+Regardless of the [layout](#card-layout), the Card subcomponents must be arranged in the following order:
+
+1. [CardArtwork](#cardartwork) (optional) or CardMedia (optional) — first
+2. [CardLogo](#cardlogo) (optional)
+3. [CardBody](#cardbody)
+4. [CardFooter](#cardfooter) (optional) – last
+
+ℹ️ Every `
` counts, especially on large pages. During the development of the Card component, we did our best to
+balance between flexibility and simplicity. To provide the best performance, we decided to use the CSS grid layout with
+predefined grid areas. This way, we can avoid unnecessary elements and keep the Card structure as flat as possible.
+
+ℹ️ Vertical spacing between subcomponents is implemented using the `margin-bottom` property and the Card relies on
+the specified order of its subcomponents. Since the Card uses the CSS grid layout with predefined grid areas, using the
+`gap` property would lead to redundant spacing when dropping in just some of the subcomponents.
+
+⚠️ **Arranging the subcomponents in a different order will break the spacing of the subcomponents and may also have
+negative impact on accessibility of the Card.**
+
+### Card Layout
+
+Card can be displayed in a vertical, horizontal, or reversed horizontal layout.
+
+```html
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+```
+
+👉 Keep in mind that, no matter the layout, the Card subcomponents must be arranged in the order
+[specified above](#card-1).
+
+### Boxed Cards
+
+Card can be displayed with a border and a box shadow on hover.
+
+```html
+
+
+
+```
+
+## CardArtwork
+
+CardArtwork is an optional subcomponent that displays a small image or icon.
+
+```html
+
+
+
+```
+
+### Artwork Alignment (Vertical Layout Only)
+
+In the vertical Card layout, the artwork can be horizontally aligned to the start, center, or end of the Card.
+Available alignment options are derived from the [AlignmentX][dictionary-alignment] dictionary.
+To align the artwork, use one of the following CSS modifiers:
+
+- `CardArtwork--alignmentXLeft`
+- `CardArtwork--alignmentXCenter`
+- `CardArtwork--alignmentXRight`
+
+ℹ️ These options are only available in the vertical card layout.
+
+## CardMedia
+
+To display larger images or videos, use the CardMedia subcomponent.
+
+```html
+
+
+
+
+
+```
+
+👉 Please note the empty `alt` attribute which means the image is purely decorative and does not convey any information.
+
+👉 Please note that there is no link around or inside the CardMedia subcomponent. See the
+[Linking the Media](#linking-the-media) section for more.
+
+Or, for a video:
+
+```html
+
+
+
+
+
+```
+
+### Media Sizes
+
+CardMedia can be displayed in different sizes. The available sizes are based on the [Size][dictionary-size] dictionary.
+By default, the media uses the `auto` size option which means the media will be displayed in its original aspect ratio.
+Other options set the media to a specific height (in the vertical Card layout) or width (in the horizontal Card layout).
+
+In the vertical Card layout, the media is always expanded to the full width of the CardBody content. For boxed Cards,
+the media can be even expanded [to the edges](#expanding-the-media) of the Card.
+
+- `auto` (default)
+- `small`
+- `medium`
+- `large`
+
+For example:
+
+```html
+
+
+
+```
+
+ℹ️ The Card automatically prevents the media from overflowing the Card container or even pushing the subsequent
+CardBody content out of the Card. In such cases, the media will be cropped to fit the Card container.
+
+### Expanding the Media
+
+To expand the media to the full width or height of a boxed Card, use the `CardMedia--expanded` modifier. This option is
+available for both vertical and horizontal (including reversed horizontal) Card layouts.
+
+```html
+
+
+
+
+
+
+
+
+```
+
+Additionally, there is a `CardMedia--filledHeight` modifier that expands the media to match the height of the CardBody
+content. This option works with both boxed and non-boxed Card, but is only available in the horizontal Card layout.
+
+```html
+
+
+
+
+
+
+
+
+```
+
+ℹ️ Both options work with all media sizes.
+
+🎉 Fun fact: The `.CardMedia--expanded` and `.CardMedia--filledHeight` modifiers produce the same result for non-boxed
+horizontal (and reversed horizontal) Cards. But in all other contexts, the two modifiers behave differently.
+
+## CardLogo
+
+CardLogo is an optional subcomponent that displays a logo. To achieve the best visual result, use the PartnerLogo
+subcomponent.
+
+```html
+
+
+
+
+
+```
+
+## CardBody
+
+CardBody is the main content area of the Card.
+
+```html
+
+
+
+```
+
+To make the CardBody selectable and copyable, use the `CardBody--selectable` modifier:
+
+```html
+
+
+
+
+
+
+
+
+
+
+```
+
+ℹ️ We are white-listing the selectable and copyable elements, so this option only affects lists and paragraphs.
+
+### CardTitle
+
+CardTitle displays the main title of the Card. It uses the `
` heading element by default, but you can use any other
+heading level that fits your document outline.
+
+```html
+
+```
+
+👉 See below how to extend the link in CardTitle to [make the whole card clickable](#making-the-whole-card-clickable).
+
+### CardEyebrow
+
+CardEyebrow is an optional subcomponent that accompanies the CardTitle.
+
+```html
+
Content options
+
Card Title
+```
+
+## CardFooter
+
+Use CardFooter for actions or any other content at the bottom of the Card. When using Cards with CardFooter in a Grid,
+the CardFooters will automatically line up.
+
+```html
+
+```
+
+### Footer Alignment
+
+The footer can be horizontally aligned to the start, center, or end of the Card. To align the footer, use one of the
+following CSS modifiers:
+
+- `CardFooter--alignmentXLeft`
+- `CardFooter--alignmentXCenter`
+- `CardFooter--alignmentXRight`
+
+## Card Grid
+
+In a typical use case, you will display multiple Cards in a [Grid][grid].
+
+```html
+
+
+
+
+
+
+
+
+
+
+
+```
+
+Depending on your situation, you may want to use the list semantics. And it will work!
+
+```html
+
+
+
+
+
+
+
+
+
+
+
+```
+
+## Best Practices
+
+### Making the Whole Card Clickable
+
+To make the whole Card clickable, use the provided CardLink subcomponent. For best accessibility, you would typically
+wrap your CardTitle text in the CardLink component:
+
+```html
+
+```
+
+This establishes a [clickable overlay][hugo-giraudel-card] over the whole Card, making it easier for users to interact
+with the Card.
+
+ℹ️ Don't worry, any interactive elements inside the Card (like links or buttons) will still work as expected.
+
+If you need the text content of your CardBody remains [selectable and copyable][heydon-pickering-card], you can use the
+`CardBody--selectable` modifier:
+
+```html
+
+```
+
+### Linking the Media
+
+In most cases, using just a single link in the CardTitle and
+[making the whole card clickable](#making-the-whole-card-clickable) is the best approach in terms of accessibility.
+The Card will have a single accessible link which will be announced by screen readers.
+
+However, if you cannot use the CardLink subcomponent, and you still need to make the media clickable, you can wrap the
+CardMedia image in a link:
+
+```html
+
+```
+
+👉 Please note that the `aria-hidden="true"` attribute is used to hide the link from screen readers so the user is not
+confused by too many links in the Card.
+
+### The “Read More” Use Case
+
+For article previews or similar use cases, you may want to display a limited amount of text content with a “Read More”
+link. For optimum accessibility, you should only provide this in the form of a text node, not a button or a link:
+
+```html
+
+```
+
+This way, the Card will only have a single accessible link which will be announced by screen readers.
+
+ℹ️ A big shout-out to [Ondřej Pohl][ondrej-pohl] for sharing many of these best practices!
+
+## Full Example
+
+When you put it all together:
+
+```html
+
+