This guide is the single description of how Soulvaya OS looks, sounds, and behaves. It exists because the brand drifted from its own source of truth: the marketing site moved to navy and cyan while the client portal stayed on a retired cream palette, and a paying client crossed that seam the moment their PIN worked. Every value here is measured from the live system, matched to soulvaya-tokens.css, and enforced by tools/brand.test.mjs — if this page and the code disagree, the test fails and someone has to decide.
Soulvaya OS is the AI operating system for founder-led businesses — an AI Identity, a premium website, a Command Center and an AI staff, as one product.
Three claims sit under every piece of copy, and each traces to a mechanism that can be demonstrated on a call:
The tagline is “Every business needs an AI Identity.” The sign-off line is “Your truth in. Your intelligent business out.” Use either; never coin variants.
The mark is the Unicode four-pointed star (U+2726), set in the accent colour. It precedes the wordmark — ✦ Soulvaya OS — and stands alone as an avatar or bullet. It is typography, not an image: it inherits the display face and never gets redrawn, outlined, gradiented, or rotated.
Deep navy surfaces carry almost everything; cyan appears where attention should go and nowhere else. When everything glows, nothing does.
#141217 bg / ink-on-light#1E1B22 raised bg#1E1B22 surfaces#2A262F borders#F5EFE4 headings#D6CEC1 body#9A9287 captions#D9BC85 the signal#E3CDA0 accents on navy#C6A15B decorative on light#8A6827 accent TEXT on light · 5.0:1#005C7D small labels on tints · 6.4:1#1C1A17 text ON cyan#D9BC85 is 1.6:1 — invisible in sunlight, illegal at any size. Text on a cyan surface is #1C1A17; cyan as text on white is #8A6827 or deeper. The marketing CTA has always done this; buttons elsewhere must match.#F7F5F1 bg#FFFFFF#E9E5DD#4A463F body#767067 5.6:1 — readable muted, not decorative muted#2F6B4F success / done · 5.9:1 on white#A4483F danger · 5.5:1#6E5220 waiting / caution text<html> via --v-a; every token follows automatically. The brand steps back at exactly the moment the business becomes theirs. This is the single most deliberate thing in the system: the brand's job after the sale is to disappear behind the client's.Fraunces — every headline, the wordmark, and any number worth feeling.
Outfit — everything else: body, UI, buttons, tables, forms. Inter remains only as a loading fallback in the token stack; no new page should ship linking Inter.
Kickers — Outfit 700 · 10–11px · .19–.24em tracking · uppercase
| Role | Face | Spec |
|---|---|---|
| Display / H1 | Fraunces 500 | clamp(38–86px) · 1.05 line · −.02em |
| Section H2 | Fraunces 500 | clamp(26–52px) · 1.1 · −.015em |
| Card titles | Outfit 700 | 15–17px · ink |
| Body | Outfit 400 | 15–15.5px · 1.6–1.65 line |
| Captions / meta | Outfit 400–600 | 12–13px · muted — muted must still pass 4.5:1 |
The voice is a competent craftsperson explaining their own work: plain sentences, real numbers, the reason alongside the rule. It is never breathless, never vague, and it names what is unfinished before anyone asks.
skipped_no_credentials is copy, not a bug — the system saying so is the product working.| Say | Not |
|---|---|
| working to a schedule in your name | working 24/7 · never sleeps (until voice has taken a call) |
| drafts, prepares, proposes | handles, takes care of, magics |
| switches on when your registration clears | coming soon |
| we own the infrastructure | seamless, frictionless, effortless |
| your data, your accounts, yours | our platform's ecosystem |
Contractions yes; exclamation marks almost never; emoji never in product UI, sparingly in internal ops notes. “AI” is a material we build with, not a personality we perform — the agents have names (Vayla, Maya, Nora) and jobs, and none of them ever says “as an AI”.
| Idiom | Rule |
|---|---|
| Status pills | Pill radius 999px, 10–11px caps. Bucket-1 cyan-tinted, bucket-2 muted-tinted with the dependency written out. Demo/Real labels ≥4.5:1 — a label too faint to read is the same as no label. |
| Enforced cards | Claims that are code carry an ENFORCED pill and a proof line (“569 assertions across 14 gates”). Never italic — facts are not quotes. |
| Editorial header | .sv-eyebrow + .sv-h1 + .sv-sub from the token file — the shared header the Command Center and onboarding both use. |
| Buttons | Primary: cyan gradient 135deg #E3CDA0→#D9BC85 — bright cyans only, because button text is #1C1A17 and the deep cyans drop it below 4.5:1 (the brand gate measures this). Deep cyan is for bars and washes that carry no text. Secondary: card bg, line border, ink text. Radius 8–12px. 44px minimum touch height on mobile. |
| Cinematic imagery | Photography sits under a navy wash (rgba(28,26,23,.05→.9) gradient) so type stays legible and everything belongs to one world. AI-generated imagery is always labelled. |
soulvaya-tokens.css. Two themes — .sv-dark and .sv-light — and every product page opts into one and adds nothing of its own. To change the brand, change that file. A page that hardcodes a palette hex is a bug, and it is exactly how the portal stayed cream for a month after the site went navy.tools/brand.test.mjs. It fails if this guide and the tokens disagree, if a retired-palette hex reappears in a shipping page, if white lands on cyan, or if a muted text colour drops below 4.5:1. Contrast is measured computationally against composited backgrounds — never assumed from the swatch.tools/claims.test.mjs and the two-bucket rule above. The brand's strongest asset is that its honesty claims are checkable; the gates are what make that sentence true.