Sooner
Brand Guidelines
v1.0 — February 2026
Download Design System (Markdown)
Website
joinsooner.com
Mission
Making homeownership accessible in Dubai
Tagline
Split your down payment. Own your home sooner.
Split your down payment.
Own your home sooner.
Sooner makes homeownership accessible in Dubai by covering upfront closing costs. We split the financial barrier so people can own their home — sooner.

What we do

We cover the upfront costs that stop people from buying. DLD fees, agency commission, mortgage processing — we pay them so you don't have to. You pay us back over time, after you've moved in.

Brand personality

Confident. Direct. Minimal. We don't explain — we show. We lead with numbers, not promises. Every word earns its place. Every pixel breathes.

Design Inspiration

Ramp

Primary inspo: minimal, bold type, accent color, "show the math" transparency

Linear

Keyboard shortcuts, precision tooling UI, dark headers

Stripe

Clean documentation, component hierarchy

Mercury

Premium fintech feel, warm tones, trustworthy

Wise

Transparent pricing breakdowns

Vercel

Monochrome + single accent, minimal

Palette
Yellow is an accent, never a flood. Cream breathes. Dark anchors. White cleans. Restraint is the point.

Primary

Sooner Yellow
#E9FE0F
Soft Yellow
#E2F55C
Dark
#1C1B17
Cream
#F5F4F0
White
#FFFFFF

Secondary / UI

Grey Text
#6B6B6B
Light Grey
#6E6E6E
Border
#E0E0E0
Placeholder
#9B9B9B
Manrope
Our typeface is Manrope — a modern geometric sans-serif from Google Fonts. It's clean, highly legible, and works across every context. Previously some materials used Instrument Sans; Manrope is the canonical font going forward.
Hero / Display
59px · Weight 500 · Line 1.2
Own your home
Heading 2
47px · Weight 500 · Line 1.15
Split your down payment
Heading 3
16px · Weight 400 · Line 1.5
To buy this home today, you need
Body
16px · Weight 400 · Line 1.5
Sooner covers your upfront costs — DLD fees, agency commission, mortgage processing — so you can move in now and pay us back over time.
Button
16px · Weight 500
Check your eligibility →
Small / Disclaimer
13–14px · Weight 400
Subject to eligibility. Terms apply. Sooner is not a bank or mortgage provider.
The yellow highlighter
Our signature. A yellow marker drawn through words — not under them. Like someone grabbed a highlighter and marked the part that matters. Used on key phrases in headings and carousel copy.
Split your down payment.
Own your home sooner.
You're eligible for AED 166,000 in support

How it works

The highlight sits at ~35–80% of the text height, mimicking a physical highlighter pen. It uses #E9FE0F at 55% opacity as a background gradient.

When to use

Hero headlines, carousel slides, key stats. Highlight the word or number that delivers the gut punch. One highlight per heading max.

Buttons & Inputs
Minimal. No shadows, no gradients. Yellow for primary actions. Arrow (→) signals forward momentum on directional CTAs.

Buttons

Primary button

Background: #E9FE0F
Text: #1C1B17 · 16px · Weight 500
Radius: 8px · Padding: 14px 28px
Hover: #E2F55C
No borders, no shadows

CTA conventions

Sentence case — never ALL CAPS
Add → for forward actions
Sell before the click: "See how much you save →" not "Submit"
Keep it short: 2–5 words

Input Fields

Input spec

Border: 1px solid #E0E0E0
Focus: border-color #1C1B17
Radius: 4px · Font: 18px / 400
Placeholder: #9B9B9B

How we write
Three patterns define Sooner's communication: the calculator breakdown, the gut-punch stat, and the confident CTA. Master these and you've got the voice.

The calculator breakdown

Lead with what they need. Break it into clean line items. Bold the total. Dot leaders for scanability. This is our most-used pattern.

To buy this home today, you need:

Down payment (20%) AED 400,000
DLD fee (4%) AED 80,000
Agency commission (2%) AED 40,000
Mortgage processing AED 26,250
Valuation & trustee AED 7,350
Total upfront AED 553,600

Pattern rules

  • • Context line at top: what they're looking at
  • • Dot leaders between label and value
  • • Bold total at bottom, separated by solid rule
  • • Hierarchy through size, not decoration
  • • CTA that sells before the click

The gut-punch stat

Massive number first. Context second. Used in carousels, social, and landing pages. The number should hit before the brain processes the words.

AED 166K
in upfront support — paid by Sooner
63%
less cash needed to move in
AED 2M
home · AED 553K upfront · you pay AED 400K

The confident CTA

Never generic. Sell the outcome before the click. The user should know what they'll get.

Do

Check your eligibility →

See how much you save →

You're eligible for AED 166K in support →

Don't

Submit

Click here

Learn more about our services

Confident, direct, punchy
Every word earns its place. No jargon, no fluff. Short sentences that land. We talk to smart adults who are about to make the biggest purchase of their lives.
Our voice

Split your down payment. Own your home sooner.

Up to AED 300,000 in upfront support.

Sooner pays AED 166K towards your upfront costs.

You bring the down payment. We handle the rest.

Not our voice

We provide comprehensive financial solutions for property acquisition.

Our innovative platform leverages technology to streamline the homebuying journey.

Take the first step towards your dream home today!

Unlock your homeownership potential with our tailored solutions.

Formatting rules

  • • Currency: always AED — never "Dh" or symbols
  • • Numbers: use commas — AED 300,000
  • • Abbreviate large numbers in headlines — AED 166K
  • • Percentages: 20% not twenty percent
  • • No exclamation marks. Confidence doesn't shout.

Information hierarchy

  • 1. Gut punch number — the stat that stops the scroll
  • 2. Breakdown — the context that makes it real
  • 3. CTA — that sells before the click
  • This order is sacred. Never bury the number.
Space is the design
Inspired by Ramp and Linear. Minimal, high whitespace, bold typography does the work. No decoration for decoration's sake.

Spacing system

  • • Section padding: 48–64px vertical
  • • Element groups: 24–32px between
  • • Card padding: 32–40px
  • • Max content width: ~1200px centered

Rules

  • • No drop shadows
  • • No gradients (except subtle on cards)
  • • Generous breathing room everywhere
  • • Let typography carry the hierarchy
Warm, real, Dubai
Aspirational but authentic. Natural light. Clean compositions. Dubai skyline, modern apartments, real moments of homeownership. No stock photo clichés — handshakes over keys, pointing at contracts, forced diversity groups.

Use

Dubai skyline at golden hour. Modern apartment interiors. Couples on balconies. Aerial neighborhood views. Real property photography.

Avoid

Generic business handshakes. Staged "happy family with keys" shots. Overly filtered or HDR images. Clip art or illustrations.

@joinsooner
Active on Instagram, X, LinkedIn, and TikTok. The feed is a brand surface — every post should feel like it belongs in the same room.

Grid aesthetic

Alternate between yellow-accent and cream/white posts. Typographic-forward — big numbers, clean copy. Occasional property imagery. Minimal, never cluttered.

Carousel structure

Slide 1: Gut punch stat or question. Slide 2–4: Breakdown with calculator pattern. Final slide: CTA with yellow highlight. Always yellow highlighter through key words.

Do's and don'ts
When in doubt, choose restraint. Less is always more with Sooner.

✓ Do

  • Keep it minimal and clean
  • Use generous whitespace
  • Let typography do the heavy lifting
  • Use yellow as an accent, not a background flood
  • Write in short, confident sentences
  • Lead with the number, explain second
  • Use "AED" for currency — always
  • Use commas in numbers: AED 300,000
  • Sell the outcome in your CTA
  • Highlight through words, not under them

✗ Don't

  • Add a period after "Sooner" in the logo
  • Use "Dh" instead of "AED"
  • Use drop shadows or gradients
  • Overcrowd layouts
  • Use generic stock photography
  • Write in corporate jargon
  • Use ALL CAPS on buttons
  • Bury numbers in paragraphs
  • Use exclamation marks
  • Write CTAs that don't sell ("Submit", "Click here")
Patterns & Components
Reusable UI patterns across the Sooner product. Each pattern is documented with exact specs and a live example.

Arrow Conventions

Use for forward/continue actions within the app. Use for external links that open in a new tab.

Bottom-Border Input

Typeform-style input: transparent background, bottom border only (1.5px #1C1B17), large font (22–28px Manrope), placeholder in grey. Focus state keeps border dark.

AED

Spec

Background: transparent
Border: bottom only, 1.5px solid #1C1B17
Font: 22–28px Manrope, weight 400
Placeholder: #9B9B9B

Section Labels

Small uppercase labels used to organize groups within cards. 11px, Manrope weight 600, uppercase, letter-spacing 0.08em, color #6B6B6B.

DOWN PAYMENT CLOSING COSTS

Spec

Font: 11px Manrope, weight 600
Transform: uppercase
Letter-spacing: 0.08em
Color: #6B6B6B

Calculator / Breakdown Card

White card with structured line items. Labels left in grey, values right in dark. Thick bottom divider before the total row.

DLD fee (4%) AED 80,000
Agency commission AED 40,000
Mortgage processing AED 26,250
Subtotal AED 146,250
Total upfront AED 546,250

Status Badges

Two types: category pills with yellow background, and status badges with border and dot indicator.

FORM VERSIONS LIVE

Progress Bar

2px height, fixed at viewport top. Sooner Yellow fill indicating percentage complete.

~40% complete

Spec

Height: 2px
Background: #E9FE0F
Position: fixed, top of viewport
Width: percentage of completion

Choice Cards

Selectable cards with hover lift, selected state with yellow border, and keyboard shortcut badges.

1
Ready-to-move
Property is complete
2
Off-plan
Under construction
3
Resale
Secondary market

Highlight Through Middle — Exact CSS

The exact CSS for our signature yellow highlighter effect. Apply to any inline or inline-block element.

Own your home sooner

Exact CSS

background-image: linear-gradient(
  transparent 15%,
  #E9FE0F 15%,
  #E9FE0F 70%,
  transparent 70%
);
background-repeat: no-repeat;
background-size: 100% 100%;
Every state, specified
Components don't just have a default look. Here's every state — hover, active, disabled, loading, error — all defined.

Primary Button States

Default

Hover

Active

Disabled

Loading

Secondary Button States

Default

Hover

Active

Disabled

Loading

Input States (Bottom-Border)

Default

Focus / Filled

Please enter a valid amount

Error

Disabled

Choice Card States

Default
Idle state
Hover
On hover
Selected
Chosen option
Disabled
Unavailable

Yes / No Button States

Default

Hover

Selected

Default

Selected

Yellow Element Rules

Button Hover

Primary buttons darken to #D4E80D on hover. No border changes. Never add a dark border on hover — it looks heavy.

Yellow + Dark Border

Compact elements (checkbox, radio, calendar dot, back button circle) get a dark #1C1B17 border for definition. Rule: if it's compact, outline it. If it's a surface, darken it.

Card Hover

Cards fill yellow with a dark border on hover. This applies to inspiration cards, info cards, and any hoverable card surface.

Selected States

Choice cards: yellow #E9FE0F border + light cream #FEFFF0 fill. Yes/No buttons: yellow fill + yellow border. Never use dark borders on selected states — keep it light and warm.

Every field you'll need
Specs for all form fields beyond the basic text input. Same bottom-border aesthetic, consistent sizing.

Dropdown / Select

  • Ready-to-move
  • Off-plan
  • Resale

Checkbox

I agree to the terms
Send me updates

Radio Button

Salaried employee
Self-employed

Phone Input

🇦🇪 +971

Date Picker

February 2026

SuMoTuWeThFrSa 1 2345678 9101112131415 161718192021 22 232425262728

Textarea

12-column grid
A flexible 12-column grid with responsive gutters. Max container 1200px, generous margins.

12 Columns

1
2
3
4
5
6
7
8
9
10
11
12

Common Layouts

Full width (12 cols)

12

Content centered (8 cols, offset 2)

8 cols centered

Split 50/50 (6 + 6)

6
6

Split 2/3 + 1/3 (8 + 4)

8
4

Card grid (4 + 4 + 4)

4
4
4

Grid CSS

.container { max-width: 1200px; margin: 0 auto; padding: 0 48px; }
.grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 24px; }

@media (max-width: 1024px) {
  .container { padding: 0 24px; }
}
@media (max-width: 640px) {
  .container { padding: 0 16px; }
  .grid { gap: 16px; }
}
Subtle, fast, purposeful
Motion supports content, never distracts. Nothing should feel slow. Max 300ms for UI transitions.

Timing

  • 150ms — Micro (hover, focus)
  • 200ms — State changes
  • 300ms — Page transitions
  • 600–800ms — Celebrations

Easing

  • Default — cubic-bezier(0.4, 0, 0.2, 1)
  • Enter — cubic-bezier(0, 0, 0.2, 1)
  • Exit — cubic-bezier(0.4, 0, 1, 1)
  • Bounce — cubic-bezier(0.34, 1.56, 0.64, 1)

Interactive Examples — Hover to see

Hover Lift

150ms · translateY(-2px)

Hover: sooner

Highlight sweep · 800ms

Progress bar · hover to fill

Rules

  • • Never animate layout shifts (no width/height on flow elements)
  • • Prefer transform + opacity (GPU accelerated)
  • • Disable motion for prefers-reduced-motion: reduce
  • • No animation on mobile for performance-critical elements

Standard Transitions CSS

/* Hover lift */
transition: all 0.15s cubic-bezier(0.4, 0, 0.2, 1);
transform: translateY(-1px);

/* Fade in */
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: none; }
}
animation: fadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);

/* Highlight sweep */
@keyframes highlightSweep {
  from { background-size: 0% 100%; }
  to { background-size: 100% 100%; }
}
animation: highlightSweep 0.8s 0.3s ease forwards;
Quick Reference
Key specs for developers. For the full reference with copy-paste CSS, download the design system markdown.

Spacing Scale (px)

4 8 12 16 20 24 32 40 48 64 80 120

Breakpoints

< 640px

Mobile

640–1024px

Tablet

> 1024px

Desktop · max 1200px

Component Quick Reference

Component Background Border Radius Padding
Primary Button #E9FE0F none 8px 14px 32px
Secondary Button #FFFFFF 1px #E0E0E0 8px 14px 32px
Breakdown Card #FFFFFF 1px #E0E0E0 12px 24px
Choice Card #FFFFFF 1.5px #E0E0E0 8px 16px 20px
Badge (Category) #E9FE0F none 4px 3px 10px
Back Button #FFFFFF 1px #E0E0E0 50% — (40×40)

Z-Index Layers

  • 0 — Base
  • 1 — Card
  • 10 — Sticky
  • 50 — Header
  • 100 — Modal
  • 200 — Toast

Border Radius

  • 4px — Pills, badges
  • 8px — Cards, buttons
  • 12px — Large cards
  • 16px — Modals
Flat by default
Sooner is flat-design. Shadows are reserved for floating and overlapping elements — never on static cards (use borders instead). Four elevation levels define depth.
0
Flat
No shadow — default
1
Raised
Hover states
2
Floating
Dropdowns, popovers
3
Overlay
Modals, dialogs

Backdrop overlay

Background content behind modal...

More background content here.

Modal dialog

Level 3 + backdrop blur

CSS values

/* Level 0 */ box-shadow: none;
/* Level 1 */ box-shadow: 0 1px 3px rgba(0,0,0,0.04),
                          0 1px 2px rgba(0,0,0,0.06);
/* Level 2 */ box-shadow: 0 4px 12px rgba(0,0,0,0.08);
/* Level 3 */ box-shadow: 0 12px 40px rgba(0,0,0,0.12);
/* Backdrop */ background: rgba(28,27,23,0.5);
             backdrop-filter: blur(4px);

Rules

  • • Flat by default — Level 0 for all static elements
  • • Static cards use borders, never shadows
  • • Shadows only on floating/overlapping elements
  • • Backdrop always behind modals and dialogs
Lucide Icons
Stroke-based, 1.5px weight, round caps and joins. Always use currentColor. Source: lucide.dev — open source, consistent stroke style.

Style

  • • Stroke-based, 1.5px weight
  • • Round line caps and joins
  • • Always currentColor — inherits text color

Sizes

  • 16px — inline with text
  • 20px — inside buttons
  • 24px — feature sections
  • 32–48px — hero / empty states

Icon spacing

8px gap between icon and text. Use display: inline-flex; align-items: center; gap: 8px;

Core icon set

arrow-left
arrow-right
arrow-up-right
chevron-down
x
menu
search
download
copy
check
check-circle
alert-triangle
info
x-circle
wallet
calculator
home
building
banknote
percent
eye
calendar
clock
user
mail
phone
Color mapping
Yellow accent stays identical in both modes. Use CSS custom properties and prefers-color-scheme. Dark headers stay dark in both modes.
Token Light Dark
--bg #F5F4F0 #1C1B17
--card #FFFFFF #2A2924
--text #1C1B17 #F5F4F0
--text-secondary #6B6B6B #9B9B9B
--border #E0E0E0 #3A3935
--yellow #E9FE0F #E9FE0F ⚡ NEVER changes
--error #D32F2F #FF6B6B

Side-by-side preview

Light mode

Your savings

Based on AED 2,000,000 property

DLD fee AED 80,000
Commission AED 40,000

Dark mode

Your savings

Based on AED 2,000,000 property

DLD fee AED 80,000
Commission AED 40,000

CSS implementation

:root {
  --bg: #F5F4F0;
  --card: #FFFFFF;
  --text: #1C1B17;
  --text-secondary: #6B6B6B;
  --border: #E0E0E0;
  --yellow: #E9FE0F;
  --error: #D32F2F;
}

@media (prefers-color-scheme: dark) {
  :root {
    --bg: #1C1B17;
    --card: #2A2924;
    --text: #F5F4F0;
    --text-secondary: #9B9B9B;
    --border: #3A3935;
    /* --yellow stays #E9FE0F */
    --error: #FF6B6B;
  }
}
Exact spacing map
Precise pixel spacing between specific element pairs. These are the numbers that make Sooner feel Sooner.

Form spacing

  • Logo → content: 56px
  • Title → subtitle: 12px
  • Subtitle → input: 24px
  • Input → button: 16px
  • Between choice cards: 12px
  • Choice card padding: 18px 24px
  • Back button from edges: 16px

Card spacing

  • Card padding: 20–24px
  • Card-to-card gap: 16px
  • Section label → content: 12px
  • Line items gap: 5px
  • Divider spacing: 12px
  • Total row top margin: 16px

Section spacing

  • Major sections: 80–120px
  • Label → title: 8px
  • Title → description: 16px
  • Description → content: 32px

Nav spacing

  • Nav height: 56px
  • Nav padding: 16px 24px
  • Link gap: 16px
  • Progress bar height: 2px

Visual spacing diagram — form layout

16px from edges
Sooner
56px
What's the property price?
12px
Enter the listing price in AED
24px
AED 2,000,000
16px
2px bar