✦ Soulvaya OS · Internal

The brand is a promise
kept in public.

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.

01 · Position

One sentence, three claims

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:

Nothing acts without your yes. Approval gates are code, not policy — publishing, posting, campaigns and review replies all require a recorded human approval.
Nothing we send can spam your customers. One Governor gate: consent → quiet hours → three-a-week/one-a-day → priority. Every decision, including refusals, is ledgered.
Nothing fake, ever. A number we did not measure renders as a dash with a reason. Demos are labelled fictional. There are no testimonials until a real owner gives one.

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.

02 · The mark

✦ — the four-pointed star

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.

Wordmark. “Soulvaya OS” in Fraunces, medium weight, ink colour. “Soulvaya Labs” is the company; “Soulvaya OS” is the product. Never “SoulvayaOS”, never “SOS”.
Never. No other star glyphs (★ ✶ ✷ substituted at whim), no drop shadows on the mark, no placing it over photography without the navy wash.
03 · Colour

Navy is the room.
Cyan is the signal.

Deep navy surfaces carry almost everything; cyan appears where attention should go and nowhere else. When everything glows, nothing does.

The dark theme — marketing, checkout, welcome, help

Navy#141217 bg / ink-on-light
Navy 2#1E1B22 raised bg
Card#1E1B22 surfaces
Line#2A262F borders
Ink#F5EFE4 headings
Text#D6CEC1 body
Muted#9A9287 captions

The accent family

Cyan#D9BC85 the signal
Cyan bright#E3CDA0 accents on navy
Cyan deep#C6A15B decorative on light
Cyan text#8A6827 accent TEXT on light · 5.0:1
Cyan deepest#005C7D small labels on tints · 6.4:1
Button ink#1C1A17 text ON cyan
The one colour law people break: never white text on cyan. White on #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.

The light theme — portal, brief, ops (daylight, same brand)

Sky#F7F5F1 bg
Card#FFFFFF
Line#E9E5DD
Text#4A463F body
Muted#767067 5.6:1 — readable muted, not decorative muted

Semantic — the only non-brand hues, used only for state

Evergreen#2F6B4F success / done · 5.9:1 on white
Brick#A4483F danger · 5.5:1
Amber ink#6E5220 waiting / caution text
The handover rule. Before purchase, the accent is Soulvaya cyan — the visitor is being sold to by us. After purchase, the accent becomes the client's industry colour, set once on <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.
04 · Type

Fraunces speaks.
Outfit works.

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

RoleFaceSpec
Display / H1Fraunces 500clamp(38–86px) · 1.05 line · −.02em
Section H2Fraunces 500clamp(26–52px) · 1.1 · −.015em
Card titlesOutfit 70015–17px · ink
BodyOutfit 40015–15.5px · 1.6–1.65 line
Captions / metaOutfit 400–60012–13px · muted — muted must still pass 4.5:1
Never italicise Outfit for emphasis (use ink-colour bold), and never set body copy in Fraunces — it is a voice, not a workhorse.
05 · Voice

Warm, specific,
and incapable of bluffing

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.

The laws — these are brand, not compliance

The two-bucket rule. Every feature sentence lands visibly in one of two buckets: Working now or Included — switches on when connected, with the dependency named (carrier registration, Google verification, your payout account). A client who reads bucket two and signs anyway can never say they were misled.
Honest states. Posted means posted. A dash means not yet. skipped_no_credentials is copy, not a bug — the system saying so is the product working.
No invented proof. No testimonials until a real owner gives one, with their name. Demo businesses are labelled Demo; the one real install is labelled Real. Star ratings appear nowhere until they are someone's actual rating.
Under-promise the fast axis, name the slow one. “Your website and Command Center in 48 hours. Fully wired within ten days.” The slow clocks belong to carriers and Google — say whose clock it is.
The reason ships with the rule. “Why we can't do this for you:” precedes every ask. An unexplained request reads as laziness; an explained one reads as the only honest option.

Words

SayNot
working to a schedule in your nameworking 24/7 · never sleeps (until voice has taken a call)
drafts, prepares, proposeshandles, takes care of, magics
switches on when your registration clearscoming soon
we own the infrastructureseamless, frictionless, effortless
your data, your accounts, yoursour 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”.

06 · Components

The idioms

IdiomRule
Status pillsPill 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 cardsClaims 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.
ButtonsPrimary: 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 imageryPhotography 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.
07 · Governance

One file, one gate,
no exceptions by accident

The source of truth is 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.
The gate is 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.
Copy claims are governed by 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.