Skip to main content

An applied component set.

Color tokens

  • Primary (Lime)--primary: #56D960
  • Primary Dark--primary-d: #02800C
  • Primary Light--primary-l: #DDFBE5
  • Accent (Violet)--accent: #FFC857
  • Background--bg: #0B1220
  • Surface--surface: #161F31
  • Link / Info--link: #60A5FA
  • Success--success: #4ADE80
  • Warning--warning: #FFC857
  • Danger--danger: #F87171
  • Surface--surface: #F8F9FA

Type tokens

  • H1Poppins 50054 / 76
  • H2Poppins 50044 / 62
  • H3Poppins 50040 / 56
  • H4Poppins 50034 / 48
  • H5Poppins 50028 / 34
  • H6Poppins 50024 / 34
  • BodyPoppins 40022 / 36
  • QuotePoppins 400 italic22 / 36
— II.A · Variants

Primary carries the dominant action. One primary per surface. Secondary supports it; ghost recedes; accent reserves itself for limited offers; danger flags destructive intent.

— II.B · Sizes

Sm 14 / Md 16 / Lg 18 / Xl 20 px label. Match size to surface density.

— II.C · States

Hover deepens; active compresses; focus carries a 2px gold ring (keyboard navigation only).

— II.D · With icon

Lead icon for outbound action; trailing icon for action target; icon-only buttons require an aria-label.

— II.E · Group

Use a button group for mutually exclusive view toggles. The pressed state mirrors `aria-pressed=true`.

— II.F · On dark surface

Ghost variant on dark surfaces uses a 1.5px white border and inverts on hover.

— III.A · Text input · states

Enter a valid email address.

Idle border is Light Silver; focus replaces it with brand purple plus a 3px purple-12% halo. Error overrides border to danger red and surfaces a message.

— III.B · Variants
USD

Affix slots accept a leading icon or a trailing unit. Native HTML types preserve mobile keyboard hints.

— III.C · Textarea & Select

0 / 500 characters

Textarea uses identical border and focus states as input. The select swap-replaces the native arrow with a custom chevron in Roboto.

— IV.A · Checkbox

Native checkbox is hidden but receives focus. Visual box uses border for idle, fills purple on `:checked`, and shows a 2px gold ring on `:focus-visible`.

— IV.B · Radio

Single selection within a group. Selected state fills with brand purple inside a thicker purple ring.

— IV.C · Switch

Switches are reserved for state that takes effect immediately — toggling preferences, pause/resume, on/off. Use a checkbox for selection that requires submission.

— V.A · Single column

Single column is the default for marketing forms. Optimal completion rate; mobile-friendly without modification.

— V.B · Two column

Use two columns for paired fields (first / last, email / phone). Allow full-width spans for free-text and submission rows.

— V.C · Inline

Use inline forms for single-input actions (newsletter sign-ups, search). Stack vertically below 600px.

— VI.A · Basic card

SEO & Content

Organic visibility built from technical foundations and keyword-rich content.

Read more →

Paid Acquisition

Search and social ads tuned for cost-per-lead, not vanity metrics.

Read more →

Reputation

Review automation and response workflows that earn five stars.

Read more →

Basic card carries title + body + single anchor. Hover lifts 4px and tints the border purple.

— VI.B · Stat card
10×Average ROI
500+Businesses served
2M+Leads generated
97%Client retention

Stat cards use the H1-token numeral for emphasis with a Roboto Medium uppercase label below. Best on dark surfaces for impact.

— VI.C · Action card
Limited

90-min Strategy Session

A free deep-dive into your funnel. Walk away with a written growth plan.

New

Answer Engine Optimization

Be the answer when prospects ask AI. Now in private beta for select clients.

Action card stacks badge → title → body → button row. Pair primary and ghost; never two primaries.

— VII.A · Inline alerts

Heads up

This page is part of the IMS Brand System and is updated quarterly.

Saved

Your preferences were saved successfully.

Attention

Your trial period ends in 3 days. Add a payment method to continue.

Action required

We couldn't process your last payment. Update your card to restore service.

Use info for context; success for positive confirmation; warning for time-sensitive nudges; danger for critical errors. Each pairs an icon with a title and message.

— VIII.A · Badge colors
Default Primary Limited New Beta Deprecated

Badges are static state markers. They should not be interactive — for interactive labels, use a tag.

— VIII.B · Tags · removable
HVAC Roofing Dental Premium

Tags filter content. Each carries a × control with an accessible label naming the value being removed.

— IX.A · Standard table
Client Industry Service MRR ROI Status
Comfort Pro HVAC HVAC SEO + PPC $4,200 11.3× Active
Davis & Associates Legal Full-stack $6,500 8.7× Active
Bright Smile Dental Dental Reputation $1,800 6.2× Onboarding
Apex Roofing Co. Roofing SEO $2,400 9.1× Paused

Hairline rules between rows; mono-tabular numerals in numeric columns; embedded badges for status. Hover tints the row 4% purple.

— X.A · Tabs

Active tab carries a 2px purple underline. Tabs scroll horizontally below 640px.

— X.B · Pagination

Current page filled in purple; hover ring on the rest. Use ellipsis when total exceeds 7 pages.

— X.C · Breadcrumbs

Use a slash separator and indicate current location with `aria-current="page"`.

— XI.A · Avatar sizes
SA SA SA SA SA

Avatars show initials when no image is supplied. Background is the primary purple at 12% with the brand purple text.

— XI.B · Avatar group
SA MK JD +12

Stacked avatars overlap by 8px and use a paper-colored ring to separate. The trailing avatar shows the overflow count.

— XII.A · Spinner & dots

Use the spinner for unscoped waits (saves, submissions); use dots for short content placeholder waits within prose.

— XII.B · Skeleton

Skeleton placeholders should mirror the rough geometry of the loading content. Animation is a 1.4s gradient sweep.

— XIII.A · Hairlines

or

Default hairline at 1px / 8% ink. Strong variant at 1px / 22% ink. The labelled divider sits on a paper background.

— XIV.A · Tooltip · hover for info
SEO Paid Acquisition Reputation

Tooltip is delivered with `data-tip` and rendered with a CSS `::after`. Avoid for critical information — content must remain available without hover.

— Colophon

Built on the typographic and chromatic system documented in the IMS Brand Manual. All components are accessible by keyboard and conform to WCAG 2.2 AA contrast ratios on their declared surfaces.