# #bf31a2

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

## Values

- Hex: `#bf31a2`
- RGB: rgb(191, 49, 162)
- HSL: hsl(312, 59%, 47%)
- OKLCH: oklch(0.57 0.212 337.7)
- Relative luminance: 0.1588
- Nearest named color: Amora Purple (#bb22aa, Δ 2.637) — https://brandsweets.com/colors/amora-purple
- Moods: warm
- Page: https://brandsweets.com/colors/bf31a2

## Tints & shades

- Tints (toward white): #cd3cb0, #d251b8, #d765c0, #dc79c9, #e392d3, #e8a6db, #edbae3, #f2ceeb, #f8e3f3, #fdf7fc
- Shades (toward black): #ae2d94, #9a2883, #8a2475, #7a1f68, #691b5a, #551649, #45123b, #350e2d, #20081c, #10040e

## Harmonies

- Complementary: #31bf4d
- Analogous: #9431bf, #bf315c
- Triadic: #a2bf31, #31a2bf
- Split-complementary: #5cbf31, #31bf94
- Tetradic: #bf9431, #31bf4d, #315cbf

## Colors that go with #bf31a2

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 #bf31a2 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 #bf31a2: 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 #bf31a2: 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 #bf31a2: 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 #bf31a2: 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 #bf31a2'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 #bf31a2, 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 #bf31a2 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.03:1 — AA pass, AA-large pass, AAA fail. Fix: AAA: text → #962780 (7.24:1)
- On black (#000000): 4.18:1 — AA fail, AA-large pass, AAA fail. Fix: AA: text → #cb34ad (4.63:1); AA: background → #f5f5f5 (4.61:1); AAA: text → #da71c5 (7.15: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/bf31a2-c19fb6-80cb62-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: "#bf31a2" })`), `check_contrast` (with fixes), `generate_palette` (explore around locks), `suggest_palette` (mood/industry → curated-first), `list_palettes`.
