Solanasis Brand Kit

Version 2.0 — March 2026 Status: Active — canonical reference for all brand materials

This is the single source of truth for Solanasis visual identity. Use this file when creating pitch decks, one-pagers, social graphics, email templates, website updates, or any client-facing material. If something conflicts with this file, this file wins.


Brand Identity

FieldValue
Legal nameSolanasis LLC
Marketing nameSolanasis
Taglinesolid systems. fewer unknowns. clients protected.
Site titleSolanasis | Cybersecurity & Resilience for Wealth Management
Websitesolanasis.com
Emailhi@solanasis.com
Phone303-900-8969
Booking URLhttps://go.solanasis.com/intro
LocationBoulder, CO

Logo Files

VariantPath (on website)Use
Horizontalsolanasis.com/images/logo/solanasis-logo-horizontal.pngPrimary; headers, decks, one-pagers
Squaresolanasis.com/images/logo/solanasis-logo-squared.pngSocial media profiles, favicons
Iconsolanasis.com/images/logo/solanasis-logo-icon.pngSmall spaces, app icons

Logo rules:

  • Minimum clear space: equal to the height of the “S” in Solanasis on all sides
  • Never stretch, rotate, recolor, or add effects
  • On dark backgrounds, use the light/white variant
  • On light backgrounds, use the dark/navy variant

Color Palette

Core Colors

RoleHexRGBCSS TokenTailwind ClassUsage
Primary (Ink Navy)#0205322, 5, 50--color-primaryprimaryNav bar, hero backgrounds, headers, footer, dark sections
Secondary (Deep Navy)#0916529, 22, 82--color-secondarysecondaryLinks, subheadings, icon fills, card borders
Accent (Copper)#C47A3D196, 122, 61--color-accentaccentCTA buttons, badges, callouts, highlights, progress indicators
Background (Parchment)#FEF9F1254, 249, 241--color-bgparchmentPage base, light sections, card interiors
Text (Charcoal)#11182717, 24, 39--color-textcharcoalAll body copy, form labels
Card BG (White)#FFFFFF255, 255, 255whiteCards against parchment backgrounds

Extended Colors

RoleHexCSS TokenTailwind ClassUsage
Copper Hover#D4945E--color-accent-lightaccent-hoverCTA hover state, secondary badges
Copper Pressed#A86230--color-accent-darkaccent-activeCTA active/pressed state
Slate Blue#374273--color-navy-midnavy-midMuted UI, disabled text on dark, dividers
Warm Stone#F0EBE4--color-parchment-darkwarm-stoneAlternating rows, subtle section breaks, input backgrounds
Pewter#9597A9--color-stonepewterPlaceholder text, timestamps, captions (large text only)

Semantic Colors

StateHexUsage
Success (Forest)#2D6A4FConfirmed actions, completed states
Warning (Amber)#E09F3EApproaching limits, incomplete items
Error (Brick Red)#C1292EValidation errors, destructive actions
Info (Royal Blue)#1748A0Tips, onboarding hints, informational

Gradients

NameCSSUsage
Herolinear-gradient(135deg, #020532 0%, #091652 65%, #C47A3D 130%)Landing hero, login background, pitch deck cover
Subtlelinear-gradient(180deg, #FEF9F1 0%, #F0EBE4 100%)Long page sections, bottom fade-out
Card Hoverlinear-gradient(135deg, #091652 0%, #374273 100%)Dark card hover states

Contrast Ratios (WCAG)

PairRatioAAAAA
Charcoal #111827 on Parchment #FEF9F1~16.9:1PassPass
Copper #C47A3D on dark #0B1220~5.5:1PassFail
Secondary #091652 on Parchment #FEF9F1~13.8:1PassPass
Pewter #9597A9 on Parchment #FEF9F1~3.2:1Fail (large text only)Fail

Typography

Font Stack

RoleFontFallbackWeightsSource
Display / HeadingsPlayfair DisplayGeorgia, ‘Times New Roman’, serif400, 600, 700Google Fonts
Body / UIMontserrat’Helvetica Neue’, Arial, sans-serif300, 400, 500, 600, 700Google Fonts
Accent / SubtitlesLibre BaskervilleGeorgia, serif400, 400 italic, 700Google Fonts
Code / DataJetBrains Mono’Courier New’, monospace400Google Fonts

Why This Pairing Works

  • Playfair Display is a transitional serif with high contrast between thick and thin strokes. It reads “established, sophisticated, wealth management” without being stuffy. Used in the Solanasis logo.
  • Montserrat is a geometric sans-serif that provides clean readability for body text and UI elements. Its wide character set and multiple weights make it versatile for everything from captions to bold labels.
  • Libre Baskerville is an old-style serif optimized for body text on screen. In italic, it adds a refined accent layer for subtitles, pull quotes, and emphasis. It bridges the gap between Playfair’s display personality and Montserrat’s utility.

Type Scale

Based on a 1.25 ratio (major third), starting from 16px base.

LevelFontSizeLine HeightWeightLetter SpacingUse
DisplayPlayfair Display40px / 2.5rem1.15700-0.02emLanding hero headline, pitch deck cover title
H1Playfair Display32px / 2rem1.2700-0.01emPage titles, slide titles
H2Playfair Display25px / 1.563rem1.3600-0.005emSection headers
H3Montserrat20px / 1.25rem1.46000Subsections, card titles
SubtitleLibre Baskerville18px / 1.125rem1.5400 italic0Slide subtitles, pull quotes, accent text
BodyMontserrat16px / 1rem1.64000Paragraphs, form labels
Body SmallMontserrat14px / 0.875rem1.54000.005emCaptions, helper text, metadata
CaptionMontserrat12px / 0.75rem1.45000.01emTimestamps, tags, fine print
Label / BadgeMontserrat11px / 0.688rem1.36000.05emRegulatory badges, pill labels (uppercase OK)

Pitch Deck Typography

ElementFontWeightSize Range
Slide titlesPlayfair DisplayBold (700)36-44pt
SubtitlesLibre BaskervilleItalic (400i)18-22pt
Body textMontserratRegular (400)14-16pt
Bold labelsMontserratSemiBold (600)14-16pt
Captions / footnotesMontserratLight (300)10-12pt
Regulatory badgesMontserratMedium (500)10-11pt
Large stat numbersPlayfair DisplayBold (700)60-72pt
CTA button textMontserratSemiBold (600)16-18pt

Typography Rules

  • Maximum line length: 65-75 characters for body text
  • Paragraph spacing: 1rem (16px) between paragraphs; never double line breaks
  • Heading proximity: Headings closer to content they introduce than content above (2rem above, 0.75rem below)
  • No all-caps except for small labels/tags (12px or below) and badge text
  • Bold sparingly: Montserrat 600 for emphasis in body text; reserve 700 for Playfair headings
  • Italic accent: Use Libre Baskerville italic for subtitles and pull quotes only; do not italicize Montserrat body text for emphasis (use bold instead)

Canva Brand Kit Setup

Since Canva does not support programmatic brand kit creation (see API notes below), set up manually:

  1. Canva.com > Brand tab > Brand kits > Create brand kit
  2. Name: Solanasis
  3. Logos: Upload all three variants from solanasis.com/images/logo/
  4. Colors: Add in this order:
    • #020532 (Ink Navy / Primary)
    • #091652 (Deep Navy / Secondary)
    • #C47A3D (Copper / Accent)
    • #D4945E (Copper Hover)
    • #FEF9F1 (Parchment / Background)
    • #F0EBE4 (Warm Stone)
    • #111827 (Charcoal / Text)
    • #FFFFFF (White / Card BG)
  5. Fonts:
    • Heading: Playfair Display (Bold)
    • Subheading: Libre Baskerville (Italic)
    • Body: Montserrat (Regular)

Canva API Notes

The Canva Connect API (REST, OAuth 2.0) can list and autofill brand templates but cannot create or modify brand kits programmatically. Brand kit setup (logos, fonts, colors) is UI-only. Full API capabilities (Brand Templates API, Autofill API) require a Canva Enterprise plan (30+ users, custom pricing). For Solanasis’s current size, the MCP connector plus manual brand kit setup is the right approach.


Image Style

Photography Direction

  • Documentary photo style, natural window light
  • 35mm lens, shallow depth of field
  • Subtle film grain, slight imperfections
  • Muted colors, high contrast but not HDR
  • Realistic, not glossy, not CGI

Prohibited Imagery

  • No logos, brand names, or readable text in images
  • No futuristic neon, hoodies, masks, or “hacker” tropes
  • No green Matrix code
  • No stock photo cliches (handshake silhouettes, generic team high-fives)

Preferred Subjects

  • Professional offices with natural light
  • Documents, folders, meeting rooms
  • Professionals at work (not posed)
  • Wealth management settings (modern offices, not Wall Street trading floors)

Voice Quick Reference

(Full voice profile: solanasis-voice-profile.md)

RuleDetail
No em dashesUse semicolons, periods, commas, parentheses
Banned wordsseamless, frictionless, SMBs, audit (in regulatory context), genuinely
Identity wordCybersecurity (not compliance) in headlines
Regulatory language”Examination” not “audit”; “state securities regulators” not “state AGs”
Signature termsquiet failure, false comfort, drift, blind spot, risk debt, operational drag, hidden risk, brittle systems, messy handoffs
Partner-safe”Alongside your compliance consultant” not “we handle your compliance”
CTAsLow-pressure: “Let’s see where you stand” not “Schedule your demo now!”
ContractionsYes; natural voice uses them (doesn’t, isn’t, we’ll)
SemicolonsUse as connectors; Dmitri’s signature punctuation
Technical termsExplain inline on first use

CSS Tokens (for website implementation)

:root {
  /* Colors */
  --color-primary: #020532;
  --color-secondary: #091652;
  --color-accent: #C47A3D;
  --color-accent-light: #D4945E;
  --color-accent-dark: #A86230;
  --color-bg: #FEF9F1;
  --color-text: #111827;
  --color-navy-mid: #374273;
  --color-parchment-dark: #F0EBE4;
  --color-stone: #9597A9;
  --color-success: #2D6A4F;
  --color-warning: #E09F3E;
  --color-error: #C1292E;
  --color-info: #1748A0;
  --color-link: #091652;
  --color-link-hover: #C47A3D;
 
  /* Gradients */
  --gradient-hero: linear-gradient(135deg, #020532 0%, #091652 65%, #C47A3D 130%);
  --gradient-subtle: linear-gradient(180deg, #FEF9F1 0%, #F0EBE4 100%);
 
  /* Typography */
  --font-display: 'Playfair Display', Georgia, 'Times New Roman', serif;
  --font-body: 'Montserrat', 'Helvetica Neue', Arial, sans-serif;
  --font-accent: 'Libre Baskerville', Georgia, serif;
  --font-code: 'JetBrains Mono', 'Courier New', monospace;
 
  /* Spacing (4px base) */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --space-16: 64px;
  --space-24: 96px;
 
  /* Borders */
  --radius-button: 6px;
  --radius-card: 12px;
  --radius-modal: 16px;
 
  /* Shadows */
  --shadow-card: 0 1px 3px rgba(2, 5, 50, 0.06);
  --shadow-card-hover: 0 4px 12px rgba(2, 5, 50, 0.10);
  --shadow-dropdown: 0 4px 16px rgba(2, 5, 50, 0.12);
  --shadow-focus: 0 0 0 3px rgba(9, 22, 82, 0.1);
 
  /* Buttons */
  --button-cta-bg: #C47A3D;
  --button-cta-text: #0B1220;
}

Google Fonts Embed

For website <head> or Astro layout:

<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&family=Montserrat:wght@300;400;500;600;700&family=Playfair+Display:wght@400;600;700&display=swap" rel="stylesheet">

Files That Reference Brand Identity

Update all of these when making brand changes.

FileLocationWhat it controls
This file (solanasis-brand-kit.md)solanasis-docs/brand-style/Canonical reference
Brand_Style_Guide.mdsolanasis-docs/brand-style/Extended style guide (typography section needs update)
Color Palette.mdsolanasis-docs/brand-style/Quick color reference (current, no font info)
content-style-guide.md_solanasis/solanasis-site/Voice and terminology rules
tailwind.config.mjs_solanasis/solanasis-site/Tailwind theme (currently uses Inter; needs font update)
global.css_solanasis/solanasis-site/src/styles/Font imports (currently imports Inter; needs font update)
solanasis-voice-profile.mdsolanasis-docs/Full voice profile
cowork-pitch-deck-prompt.md_solanasis/Pitch deck generation prompt (references Inter; needs update)

Website Font Migration Checklist

The website currently uses Inter everywhere. To migrate to the new font stack:

  • Update global.css: Replace @fontsource/inter imports with Google Fonts embed or @fontsource packages for Playfair Display, Montserrat, and Libre Baskerville
  • Update global.css: Change font-family on body to Montserrat
  • Update tailwind.config.mjs: Change fontFamily.sans to Montserrat; add fontFamily.display for Playfair Display and fontFamily.accent for Libre Baskerville
  • Update heading styles across Astro components to use font-display class
  • Update subtitle/accent elements to use font-accent class
  • Visual regression test all pages after font swap
  • Run npx astro build to verify build
  • Run npx playwright test to verify tests pass