card card--pink
Feature card
Product feature or capability on the marketing homepage. Icon slot (any accent fill), title, body, link. Use 3–4 per grid. Vary shadow colours across cards (ink / lime / violet / pink) for visual rhythm — don't use the same shadow on every card in a row.
Shadow: default is lime. Swap to box-shadow:var(--shadow) or var(--shadow-violet) on neighbours.
card card--featured
Featured card
Violet surface, white text. The single most important item in a section — flagship product, lead offer, hero value prop. Grabs immediate attention via the 20% violet budget. Use at most one per section. Never place two featured cards side-by-side.
If you need a second highlighted card, use a feature card with --shadow-violet instead.
card card--blog
Blog / content card
Content listing with 16:9 cover image, category tag, title, and author meta. Use on blog listing pages, "Related posts" panels, and homepage content previews. The cover fills the full card width; keep aspect ratio locked at 16:9 for consistent grid rhythm.
Tag uses --color-accent-soft fill. Author avatar is a 28px circle — use real image or initials.
Prefer semantic tokens in new UI. Use these when overriding or building component recipes in tokens/_components.scss.
TokenResolves toNote
Button
--button-radius--r-md (12px)Default button corners.
--button-border--border2px ink border.
--button-shadow--shadowResting shadow.
--button-shadow-hover6px 6px 0 inkPair with translate(-2px,-2px).
--button-shadow-active1px 1px 0 inkPair with translate(2px,2px).
--button-pad-y / --button-pad-x13px / 26pxMedium button padding.
--button-primary-bg / --button-primary-text--color-primary / --color-on-primaryPrimary variant.
--button-secondary-bg / --button-secondary-text--color-accent / --color-on-accentLime secondary.
--button-disabled-*--color-disabled-*Disabled button trio.
.btn__iconinherits --button-outline-text / variant text12px SVG chevron; stroke currentColor.
Card
--card-bg--color-surfaceDefault card fill.
--card-radius--r-lg16px card corners.
--card-shadow--shadowSwap lime/violet/pink for rhythm.
--card-pad26pxInner card padding.
--card-featured-bg / --card-featured-text--color-primary / --color-on-primaryViolet featured card.
Nav
--nav-bg--color-surfaceFloating pill background.
--nav-radius--r-lgPill corner radius.
--nav-shadow--shadowHard offset under nav.
--nav-gap20pxLink spacing in desktop nav.
Badge
--badge-radius--r-sm9px badge corners.
--badge-border--bw-hairline solid ink1.5px — lighter than default border.
--badge-pad-y / --badge-pad-x6px / 12pxBadge padding.
--badge-violet-* / --badge-lime-* / --badge-pink-*semantic on-colour pairsVariant bg + text tokens.
Input
--input-radius11pxBetween r-sm and r-md.
--input-focus-shadow--shadow-violetViolet focus ring.
Section tag
--section-tag-size42pxSticker section marker (01, 02…).
--section-tag-bg--color-accentLime sticker fill.
--section-tag-shadow--shadow-smSmall hard shadow on tag.
Text sticker
--text-sticker-bg / --text-sticker-border / --text-sticker-shadow--color-accent / --border / --shadow-smInline lime highlight (partners, hero).
--text-sticker-radius / --text-sticker-pad-x / --text-sticker-rotate8px / 10px / -1.5degSticker geometry.
Partners
--partners-bg / --partners-text / --partners-subtext--violet-900 / --white / --color-on-primary-mutedIntro block; dark mode → faint violet + text-dark.
--partners-intro-pad-top / --partners-cta-margin-bottom60px / 40pxIntro spacing before paper track.
Partners track (marquee)
--partners-track-bg / --partners-track-border-top--paper / --borderFull-bleed rolling band; dark → --color-surface.
--partners-track-marquee-duration / --partners-track-marquee-gap35s / --s-4Infinite scroll; pauses on hover.
Partners logo tile
--partners-logo-bg / --partners-logo-border / --partners-logo-shadow--white / 2px ink / none at restMarquee tile — flat until hover; lime shadow on hover (both themes on violet-900 band).
--partners-logo-min-width / --partners-logo-height / --partners-logo-img-max-height200px / 64px / 36pxTile + logo bounds (website parity).