# #bf31a0

A color — warm. Deterministic analysis from BrandSweets (no inference).

## Values

- Hex: `#bf31a0`
- RGB: rgb(191, 49, 160)
- HSL: hsl(313, 59%, 47%)
- OKLCH: oklch(0.569 0.21 338.4)
- Relative luminance: 0.1581
- Nearest named color: Amora Purple (#bb22aa, Δ 2.853) — https://brandsweets.com/colors/amora-purple
- Moods: warm
- Page: https://brandsweets.com/colors/bf31a0

## Tints & shades

- Tints (toward white): #cd3cae, #d251b6, #d765be, #dc79c7, #e392d1, #e8a6da, #edbae2, #f2ceeb, #f8e3f3, #fdf7fc
- Shades (toward black): #ae2d92, #9a2881, #8a2474, #7a1f66, #691b58, #551647, #45123a, #350e2c, #20081b, #10040e

## Harmonies

- Complementary: #31bf50
- Analogous: #9631bf, #bf3159
- Triadic: #a0bf31, #31a0bf
- Split-complementary: #59bf31, #31bf96
- Tetradic: #bf9631, #31bf50, #3159bf

## Colors that go with #bf31a0

Named partners (harmony on the OKLCH wheel, co-occurrence in curated palettes and brand systems, and the neutrals that carry it), best first:

- **Sea Green** #2e8b57 [harmony, pool: complementary] — Sea Green sits directly opposite #bf31a0 on the wheel — the strongest contrast one hue can give another, so use it small: a button, a link colour, one highlight. Seen in: Next.js (https://brandsweets.com/colors/brands/nextjs-org). — https://brandsweets.com/colors/seagreen
- **Denim** #1560bd [pool] — Designers have shipped Denim with #bf31a0: 4 real palettes, including Hasbro's brand system and Peacock, as the supporting colour. Seen in: Hasbro (https://brandsweets.com/colors/brands/hasbro-com), Peacock (https://brandsweets.com/palettes/vivid#peacock), Ulta Beauty (https://brandsweets.com/colors/brands/ulta-com), Chase (https://brandsweets.com/colors/brands/chase-com). — https://brandsweets.com/colors/denim
- **Dark Cyan** #008b8b [harmony, pool: split] — Dark Cyan is a split-complement of #bf31a0: nearly opposite, so it still pops against it, without the vibrating edge of a true complement. Seen in: Peacock (https://brandsweets.com/palettes/vivid#peacock). — https://brandsweets.com/colors/darkcyan
- **Charcoal** #36454f [role, pool] — Charcoal is the body-text near-black for #bf31a0: its slight blue cast keeps type crisp beside a warm colour where pure #000 looks heavy. Seen in: Hasbro (https://brandsweets.com/colors/brands/hasbro-com). — https://brandsweets.com/colors/charcoal
- **Olive Drab** #6b8e23 [harmony: split] — Olive Drab is a split-complement of #bf31a0: nearly opposite, so it still pops against it, without the vibrating edge of a true complement. — https://brandsweets.com/colors/olivedrab
- **Crimson** #dc143c [harmony, pool: analogous] — Crimson is #bf31a0's neighbour on the wheel, so the two read as one family — use it for hover states, gradients and secondary surfaces. Seen in: The Ordinary (https://brandsweets.com/colors/brands/theordinary-com). — https://brandsweets.com/colors/crimson
- **Orange** #ffa500 [pool] — Two real palettes: Sunset Boulevard and Rippling's brand system put Orange beside #bf31a0, as the supporting colour. Seen in: Sunset Boulevard (https://brandsweets.com/palettes/warm#sunset-boulevard), Rippling (https://brandsweets.com/colors/brands/rippling-com). — https://brandsweets.com/colors/orange
- **Royal Blue** #4169e1 [pool] — Royal Blue is paired with #bf31a0 in two real palettes: Ubisoft's brand system and Chase's brand system, as the accent. Seen in: Ubisoft (https://brandsweets.com/colors/brands/ubisoft-com), Chase (https://brandsweets.com/colors/brands/chase-com). — https://brandsweets.com/colors/royalblue

## Contrast (WCAG 2.x, as text)

- On white (#ffffff): 5.05:1 — AA pass, AA-large pass, AAA fail. Fix: AAA: text → #9a2881 (7.01:1)
- On black (#000000): 4.16:1 — AA fail, AA-large pass, AAA fail. Fix: AA: text → #cb34aa (4.61:1); AA: background → #f2f2f2 (4.51:1); AAA: text → #da71c4 (7.14:1)

## Fonts for this mood

- warm: https://brandsweets.com/fonts/mood/warm

## Palette tool

Open this color locked as the lead with four explored companions: https://brandsweets.com/palettes/new/bf31a0-c19fb5-7ecb62-2d1f24-efe9f1?lock=0&style=vibrant
(Humans lock/regenerate in the tool; the URL is the state — read `lock=` back to see what they kept.)

## Connect an agent

Point any MCP client at the BrandSweets colors endpoint for the same engine:

- Endpoint: https://mcp.brandsweets.com/colors/mcp
- Tools: `analyze_color` (e.g. `analyze_color({ color: "#bf31a0" })`), `check_contrast` (with fixes), `generate_palette` (explore around locks), `suggest_palette` (mood/industry → curated-first), `list_palettes`.
