Card
Cards are Convert's primary content surface, a warm cream panel with a subtle stroke that lifts on hover.
Examples
Every variant rendered live from cards.css. The default surface plus the watermark and visual-header variants.
Default card
A cream surface with a subtle stroke.
Watermark
Oversized faded icon anchors the theme.
Visual header
A viz panel above the body.
<div class="card">
<div class="card__body">…</div>
</div>
<div class="card card--watermark">
<i class="ph ph-chart-line card__watermark" aria-hidden="true"></i>
<div class="card__body">…</div>
</div>
<div class="card card--visual">
<div class="card__visual"><i class="ph ph-flask" aria-hidden="true"></i></div>
<div class="card__body">…</div>
</div>
Usage
Cards carry the warmth of the brand against a white page.
- Cards are cream on a white page, the surface contrast is what makes them read as cards.
- Never put padding directly on
.card; use.card__bodyso the stroke and radius stay clean. - The watermark icon is decorative, always mark it
aria-hidden="true". - One variant per card. Don't combine
--watermarkand--visualon the same surface.
States
Cards have one motion state. On hover the background shifts from --color-surface-cream to --color-surface-cream-hover, the card lifts by translateY(-2px), and --shadow-card renders beneath it. Cards are interactive only when they wrap a link, a static card still responds to hover, but should not imply an action it can't perform.
Default
Resting cream surface.
Hover me
Lifts and warms on hover.
Code
Link the stylesheet once, then compose with the element and variant classes.
<link rel="stylesheet" href="/_shared/components/cards.css">
<div class="card">
<div class="card__body">…</div>
</div>
<div class="card card--watermark">
<i class="ph ph-chart-line card__watermark" aria-hidden="true"></i>
<div class="card__body">…</div>
</div>
<div class="card card--visual">
<div class="card__visual"><i class="ph ph-flask" aria-hidden="true"></i></div>
<div class="card__body">…</div>
</div>