SEO & Content
Organic visibility built from technical foundations and keyword-rich content.
Read more →The interactive vocabulary of IMS — buttons, inputs, controls, surfaces, and feedback patterns. Every component obeys the typography and color rules set down in the Brand Manual.
Color tokens
--primary: #56D960--primary-d: #02800C--primary-l: #DDFBE5--accent: #FFC857--bg: #0B1220--surface: #161F31--link: #60A5FA--success: #4ADE80--warning: #FFC857--danger: #F87171--surface: #F8F9FAType tokens
54 / 7644 / 6240 / 5634 / 4828 / 3424 / 3422 / 3622 / 36Enter 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.
Affix slots accept a leading icon or a trailing unit. Native HTML types preserve mobile keyboard hints.
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.
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`.
Single selection within a group. Selected state fills with brand purple inside a thicker purple ring.
Switches are reserved for state that takes effect immediately — toggling preferences, pause/resume, on/off. Use a checkbox for selection that requires submission.
Single column is the default for marketing forms. Optimal completion rate; mobile-friendly without modification.
Use two columns for paired fields (first / last, email / phone). Allow full-width spans for free-text and submission rows.
Use inline forms for single-input actions (newsletter sign-ups, search). Stack vertically below 600px.
Organic visibility built from technical foundations and keyword-rich content.
Read more →Search and social ads tuned for cost-per-lead, not vanity metrics.
Read more →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.
Stat cards use the H1-token numeral for emphasis with a Roboto Medium uppercase label below. Best on dark surfaces for impact.
A free deep-dive into your funnel. Walk away with a written growth plan.
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.
Service grid uses a 1px gap on dark background as hairline separator. Cards stretch to equal row height via li { display: flex }. Hover reveals a dark-to-primary diagonal gradient and a gradient top border. "New" badge sits align-self: flex-start.
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.
Badges are static state markers. They should not be interactive — for interactive labels, use a tag.
Tags filter content. Each carries a × control with an accessible label naming the value being removed.
| 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.
Avatars show initials when no image is supplied. Background is the primary purple at 12% with the brand purple text.
Stacked avatars overlap by 8px and use a paper-colored ring to separate. The trailing avatar shows the overflow count.
Use the spinner for unscoped waits (saves, submissions); use dots for short content placeholder waits within prose.
Skeleton placeholders should mirror the rough geometry of the loading content. Animation is a 1.4s gradient sweep.
Default hairline at 1px / 8% ink. Strong variant at 1px / 22% ink. The labelled divider sits on a paper background.
Tooltip is delivered with `data-tip` and rendered with a CSS `::after`. Avoid for critical information — content must remain available without hover.