Concept

Clear Ground, Earned Emphasis

Quiet base. Emphasis only when earned.

Clear Ground

Clear = transparency, readability, accessibility. The user always knows where they stand. Data hierarchy is explicit, not hidden.

Ground = stability, trust, foundation. Deep navy anchors the system. The palette feels earthy and timeless, not trendy. The user is making a major financial decision and needs to feel grounded, not uncertain.

This is the foundational register. Every surface, every interaction, every default state should feel transparent and stable. 95% of the interface lives here.

Earned Emphasis

The principle for when you break the baseline. It answers: "When do we add visual flourish?"

Answer: only when the system has earned the right to say "I understand why you're here."

The magic moment isn't a UI state. It's the moment the system connects the borrower's motivation to their numbers. The gradient wash, the tertiary palette, the Clarity Report headline. These activate because understanding was earned, not because a button was pressed.

So what?
Decision: Two registers, one system. Ground is the default. Emphasis is earned by understanding.
Why: A financial product that's always intense is exhausting. One that's always calm is forgettable. The shift between them is what creates trust.
Where: Ground = every screen by default. Emphasis = Clarity Report surfaces, scenario reframing, magic moments.
Not here: Emphasis never activates for onboarding, data collection, or loading states.
Palette: Primary — Clear Ground

The foundation of every interface. These colors establish calm confidence and transparency. "We understand your situation. You're in capable hands." This is where 95% of the interface lives.

Deep Navy
ink-900
#14102A
Lavender Gray
stone-400
#B3A7B7
Warm Cream
ground-50
#F7F4F0
TokenUseDon't use
ink-900 Text, headers, primary surfaces, navigation chrome Never as background wash behind data cards
stone-400 Secondary text, borders, dividers Not for primary actions or headlines
ground-50 Page backgrounds, card surfaces, input fields Not for text or interactive elements
So what?
Decision: Three primary colors. Navy anchors, lavender recedes, cream holds.
Why: Financial decisions need grounding, not excitement. The base palette says "trustworthy" before anything else.
Where: Every screen, every state, every default surface.
Not here: Never saturated, never competing with semantic accents.
Palette: Secondary — Clarity Dots

Four semantic categories that map to the borrower's information landscape. Each color carries meaning: not just what information it is, but what kind of information it is.

Two registers: muted for ambient dots (7px, always present), saturated for explicit chips/tags (larger UI elements where emphasis is earned).

Ambient Register (Dots)

Facts
dot-fact
#C9A84C
Constraints
dot-constraint
#7A8A4C
Preferences
dot-preference
#9B6BB0
Opportunities
dot-opportunity
#5A8A8A
7 items captured

Explicit Register (Chips / Tags)

Facts
signal-fact
#FFC300
Constraints
signal-constraint
#6B35E4
Preferences
signal-preference
#FE5F22
Opportunities
signal-opportunity
#2C841D
Rate: 6.5% Can't move Lower payment $40k equity
CategoryWhat it capturesBorrower or SystemExamples
Facts Verifiable data the borrower shared Borrower voice Income, home value, current rate, balance, credit score
Constraints Hard limits that can't flex Borrower voice Can't move, max payment $2400, need to close by June
Preferences What matters to them, any intensity Borrower voice Want lower payment, prefer shorter term, want cash out
Opportunities What the system surfaced back Advisor voice $40k tappable equity, rate gap of 1.2%, $347/mo savings potential

Why not 5 categories?

Priorities merged into Preferences. "I want lower payments" and "I NEED lower payments" are both things the user said about what matters. Intensity is tracked internally, not with a separate dot.

Questions dropped. A question is a conversational state, not a captured artifact. The answer becoming a Fact is what earns the dot.

Motivations don't get dots. See Magic Moment spec. The motivation is the frame, not a data point.

So what?
Decision: 4 categories. 2 color registers (muted ambient, saturated explicit).
Why: First three are borrower voice. Fourth is advisor voice. That's the full Clarity Engine loop in four dots.
Where: Muted dots in navbar bar, chat pin chips. Saturated chips in Clarity Report, tags, larger UI.
Not here: Pink (#F171C6) removed from category system. If used elsewhere, it's decorative only, never semantic.
Magic Moment

The moment the system earns the right to say "I understand why you're here."

What it is

Not a UI state change. Not "user enters comparison mode." The magic moment is when the system has enough information to connect the borrower's motivation to their numbers.

"You said you want to stop worrying. Here's what that costs: $347/month less. Here's what it buys: 11 years of not thinking about it."

That's the moment the product stops being a calculator and becomes the thing David built it to be.

The rule

A magic moment is a layer, not a new theme.

Same typography. Same components. Same spacing. Only the background wash and highlight treatment change.

The tertiary palette activates because understanding was earned, not because a button was pressed.

Trigger

The system has captured enough dots AND can write the Clarity Report opening line: the motivation connected to the numbers.

Before this threshold: just data collection. After it: the data has meaning.

Ground:   Dots accumulate (facts, constraints, preferences, opportunities)
Ground:   Conversation continues, advisor asks questions
Ground:   Scenarios appear as cards, unranked

--- magic threshold: motivation + enough data to connect them ---

Emphasis: Clarity Report surfaces with motivation as headline
Emphasis: Scenarios reframe around the motivation
Emphasis: Tertiary palette activates (background wash only)

Pink rule

If pink appears in the system, it must be one accent among many. Never the dominant mood. If a screen reads "gendered" or decorative, pull back to the primary gradient only.

So what?
Decision: Magic moment = system earned understanding. Not a screen, not a button, not a timer.
Why: David's dad didn't need better numbers. He needed someone to say "I heard you, and here's what it means."
Where: Clarity Report headline, scenario reframing, background wash activation.
Not here: Onboarding, data collection, loading, or any passive browsing state.
Dot Presence Mechanic

Six-line spec

LineSpec
What it is A presence indicator that acknowledges real-time data capture. The system is actively listening and translating conversation into actionable artifacts.
Why it exists The borrower is sharing vulnerable financial information. The dot closes the feedback loop between speaking and seeing that information become part of their financial picture. Without it, the conversation feels like talking into a void.
When it appears Three moments, in sequence: (1) user shares information in chat, (2) system captures and confirms that data point, (3) that point feeds into scenario modeling. Never random.
What it means Conversation → Capture → Artifact → Scenario. Each dot is a step forward in the decision-making journey. Words become structured data, then become part of their financial model.
Where it lives Chat pin chips (next to messages), dot bar at top of drawer, Clarity Report items. Dots fly between these locations during state transitions.
If we drop it Replace with "3 Items Captured — See Clarity Report" in the nav. Same meaning (progress + acknowledgment) without the dot visual language.

Visual behaviour

During conversation: pin chips appear next to messages. Dots fly from pin to bar.

Drawer half-open: dots fly DOWN from bar to Clarity items.

Drawer full: dots fly UP from Clarity to bar.

Bar stays visible until last dot departs.

dots bridge conversation and clarity
So what?
Decision: Dots are the bridge between conversation and structured understanding.
Why: The borrower needs to see their words becoming part of the picture, not disappearing into a chat log.
Where: Chat pin chips, drawer bar, Clarity Report items. Flight animations during transitions.
Not here: Never decorative. Never on loading states, empty states, or static screens.
Typography: Product vs Marketing

This is a decision, not indecision.

Inclusive Sans body is locked everywhere. The header typeface flexes by context. In the product, we choose restraint. In marketing, we choose whatever serves the story.

ContextHeaderBodyRule
In-product Rethink Sans, Semi Bold Inclusive Sans, Regular/Medium Legibility and restraint. No decorative headers. Every word earns its weight on screen.
Marketing / top-of-funnel Crimson Text or Rethink Sans (designer's choice per campaign) Inclusive Sans Personality allowed. Serif is optional when warmth or editorial tone serves the message.

Type scale (in-product)

StyleTypefaceWeightSize
H3. HeadlineRethink SansSemi Bold32
H4. HeadlineRethink SansSemi Bold28
H5. HeadlineRethink SansSemi Bold26
S1. SubtitleInclusive SansSemi Bold18
S2. SubtitleInclusive SansSemi Bold16
B1. BodyInclusive SansRegular16
B2. BodyInclusive SansMedium16
LabelInclusive SansMedium14
ButtonInclusive SansSemi Bold16
So what?
Decision: Inclusive Sans body locked. Header flexes by context.
Why: Product demands legibility. Marketing demands warmth. One font can't do both headers.
Where: Product = Rethink Sans headers. Marketing = Crimson Text optional.
Not here: Never mix header fonts within one context. Pick one per surface.
Motivation

The why behind everything

Motivations are upstream of facts, constraints, and preferences. They're the emotional foundation the whole picture sits on.

Motivations don't get dots.

They get the Clarity Report headline.

"I want to stop worrying about money" isn't a data point. It's the frame. The four dot categories capture the what. The motivation captures the why.

The why shouldn't compete for space in a 7px dot. It should anchor the entire report.

"You told us you want to stop worrying. Here's what that costs: $347/month less. Here's what it buys: 11 years of not thinking about it."

So what?
Decision: Motivation = Clarity Report headline, not a dot category.
Why: Dots are tactical clarity. Motivation is strategic clarity. Different register, different placement.
Where: Opening line of Clarity Report. Scenario reframing after magic threshold.
Not here: Never a chip, never a tag, never competing with data points.
Palette: Tertiary — Magic Moments

The tertiary set activates when the magic threshold is crossed. Slightly more saturated. Gradient surfaces. Reserved for moments where understanding was earned.

Layer, not theme. Same type, same components, same spacing. Only background wash and highlight treatment change.

TokenDescription
magic-wash-startGradient start. Slightly more saturated version of primary palette.
magic-wash-endGradient end. Warm direction, not cool.
magic-highlightAccent highlight on active scenario cards during comparison.

HEX values TBD. Define after gradient direction and intensity are locked in prototype.

So what?
Decision: Tertiary activates at magic threshold, not on user action.
Why: Visual intensity should match cognitive intensity, not UI events.
Where: Clarity Report background wash, scenario card highlights.
Not here: Onboarding, chat, home, or any passive state.