1 · Strategy
Define the goal. Map the user journey. Set a measurable bar.
- Discovery interviews
- Audience research
- Success metrics
Every page on dinkodesign.com — and every page we build for clients — is assembled from the same library of tokens, textures, and patterns. This page is the reference.
Three families: purple (brand), lime (accent), and the 5 pillar colors. Backgrounds and foregrounds are subtly purple-shifted greys.
Purple — brand
Lime — accent
Trust pillar colors
New Order for display, Sinter for body. Numbers come from our --text-* scale; line-heights tightened for headlines, relaxed for body.
font-heading — New Order
The headline goes here
Body — Sinter
Body copy uses Sinter at a fluid root size of clamp(15px, 1.05vw, 20px). Line-height defaults to 1.6. Reads cleanly on dark backgrounds.
9 utility classes + 4 surface tokens, all opt-in. Stack them by composing class names: bg-grid bg-radial cat-web.
Three variants. Primary uses the purple gradient + glow on hover. Outline mirrors with a transparent background. Ghost is for low-emphasis nav.
One <Tag> primitive, 5 pillar color variants matching the Trust System.
Two of the most-reused primitives. SectionHead supports inline <em> for gradient highlights.
<Eyebrow>Eyebrow label</Eyebrow>
A supporting paragraph that adds context.
Three variants: default, lime (success), purple (brand emphasis).
Standard styling for inline notes and supporting context.
For success states, positive signals, or featured items.
For brand-emphasis moments — premium offers, featured content.
Inline stat bar with vertical hairlines. Numbers use the purple text gradient.
Card grid with icon tile + numbered title + body + checklist. Used for pain points, deliverables, services-at-a-glance, anywhere a 3-up enumeration helps.
Define the goal. Map the user journey. Set a measurable bar.
Wireframes → hi-fi → handoff. Every state, every breakpoint.
Production-grade code, fast load times, accessible by default.
Numbered horizontal/vertical process steps connected by a hairline.
Interviews + research
Week 1Structure first
Week 2Hi-fi in Figma
Weeks 3–4Code + CMS
Weeks 5–7DNS, redirects, training
Week 83-tier pricing card layout. Defaults to hidePrice=true (showing just tier kickers) per the site-wide rule.
Small projects, quick wins.
Mid-sized engagements.
Enterprise-grade builds.
Side-by-side "us vs. them" with lime checks on the left, red X marks on the right.
★ glyph rating + Google badge corner + opening quote mark in purple + avatar + name + meta. Used on every page that shows testimonials.
“Sample testimonial copy. Verbatim Google reviews live in the shared testimonials database and get rendered with this exact pattern site-wide.
Touch + drag + keyboard carousel built on Embla. Used on mobile for portfolio, reviews, and anywhere a dense desktop grid would crowd a phone. Progress dots turn purple on the active slide.
Every page on this site is built from the same three layers: data → template → patterns.
Patterns are the dumb building blocks above (Eyebrow, SectionHead, StatStrip, Deliverables, ProcessList, PricingTable, etc.). Templates assemble the patterns in a fixed order (one for service pages, one for industries, one for areas, one for the homepage). Data files supply the actual content.
Adding a new service page is a single .ts file. Reordering homepage sections is a single array shuffle. Changing a stat or a testimonial in one place updates every surface that references it.
When we move to a CMS down the road, the data files swap for an async loader against Sanity / Contentful / Keystatic. Templates and patterns don't change. That's by design.
Free 30-min audit. We'll show you what's broken on your current site and how the system would fix it.