Bits&Letters
  • What We Do
  • Work
  • Ideas
  • About B&L
Get in Touch

Design system

Every rule in DESIGN.md, rendered with the published tokens and components. If it looks wrong here, fix the system, not the page.

Type

  • Title · step-5 The world needs better websites. Let’s build yours together.
  • Title · step-4 The world needs better websites. Let’s build yours together.
  • Title · step-3 The world needs better websites. Let’s build yours together.
  • Subhead · sans semibold, opsz 24 The world needs better websites. Let’s build yours together.
  • Heading 2 · bnl-heading-2 The world needs better websites. Let’s build yours together.
  • Body · sans step-0 The world needs better websites. Let’s build yours together.
  • Prose · serif step-1 The world needs better websites. Let’s build yours together.
  • Label · medium step--1 The world needs better websites. Let’s build yours together.
  • Caption · ink-light step--1 The world needs better websites. Let’s build yours together.
  • Eyebrow · bnl-eyebrow The world needs better websites. Let’s build yours together.
  • Code · mono ink-code The world needs better websites. Let’s build yours together.

Eyebrow and heading

About us

Thirty years on the web, and we still read the docs.

The eyebrow names the block. The heading carries the punch.

Our services

Our services

The eyebrow repeats the heading. Keep one.

Color

Ink

  • ink-bold headings, strong
  • ink body text
  • ink-light captions, loud dividers
  • ink-xlight borders, rules
  • ink-code inline code

Surface

  • surface page ground
  • surface-raised cards
  • surface-recessed wells

Fill and on-fill

  • Aa fill-loud / on-loud
  • Aa fill-quiet / on-quiet

Accents

  • accent-1 brand; services; header CTA
  • accent-2 about
  • accent-3 work
  • accent-4 ideas

Wayfinding in the menu, focus rings, and the brand button. Never body text, large light fills, or a button rainbow.

Light and dark

The world needs better websites. Let’s build yours together.

No pitch deck, no pressure. Just a conversation about what you’re building, where you’re stuck, and whether we’re the right partner.

text-ink-bold, text-ink, text-ink-light on bg-surface-raised.

The world needs better websites. Let’s build yours together.

No pitch deck, no pressure. Just a conversation about what you’re building, where you’re stuck, and whether we’re the right partner.

Same classes inside a wa-dark wrapper.

Patterns

The named pattern set, drawn by one shader in the brand accents. A pattern takes the slot brand imagery does: at most one image- or pattern-backed section per page above the footer. Duotone at most: two tones per preset, with the light as the only third voice. Still by default; motion is opt-in on hero-level surfaces only. Tune in the Pattern Studio, then add the result as a preset.

  • arcs · light surface , accent-1

    Lavender and pale pink shapes radiating from a rounded box off the bottom right, under a fuchsia light.

  • field · dark surface , accent-3

    Stacked green waves rising from the bottom left, lime and deep green.

  • chevron · dark surface , accent-4

    Blue chevrons hanging from above, each with a muted orange edge.

  • ember · dark surface , accent-2

    Orange squircle shapes from the top left with a dark inner edge, shading to near black.

  • ember-soft · dark surface , accent-2

    Low-contrast orange squircle bands radiating from the top left.

  • ripple · dark surface , accent-4

    Blue shapes from the right edge with a shadowed inner edge, low contrast.

  • stone · dark surface

    Stone shapes for a dark neutral section: texture without a hue.

  • mesh · light surface , accent-4

    Blue and lavender-pink mesh gradient: no bands, for quiet light heroes.

Controls

Book a call Get in touch See the work Not now Small Large Disabled Native anchor
Book a call Get in touch See the work Not now Small Large Disabled Native anchor

Neutral is the default. Brand (accent-1) is for the header CTA and little else. Inline text links are plain anchors, not buttons.

Radius

  • rounded-sm

    controls, small boxes

  • rounded-xl

    cards, testimonials, code

  • rounded-3xl

    page-width wells

Layout

full
wide · 72rem
content · 44rem

Prose

Longform reads in GT Canon

Articles, case studies, and service bodies go inside <Prose>. Headings, lists, quotes, and code are styled once here, so pages never restyle them. Bold flips back to the sans so emphasis stays crisp against the serif.

Subheads are sans semibold

  • Lists get a squircle marker from the ink scale.
  • Spacing is in line-heights, so rhythm follows the type size.

A good website should be as usable for the internal team running it as it is for the visitors reading it.

npx turbo check-types --filter=./frontend

Applied

A page fragment as it would ship: one brand-image-backed dark section with the eyebrow-and-heading pair, a three-up of feature cards under a single heading, and a testimonial.

Website redesign

Your site should outlast your marketing plan.

Content model, CMS, components, redirects, and performance, built as one system your team can keep running after launch day.

Book a call See the work

What we do

Astro marketing websites

Fast, scalable sites built for performance and long-term upkeep.

CMS strategy and Sanity

Flexible CMS setups designed around how your team actually works.

Design systems

Components, patterns, and docs so new pages don’t start from zero.

David strikes that rare balance of design, creativity, and technical know-how, and made it easy for our team to move fast without sacrificing quality. He made the process of building and updating pages fun by creating templates and reusable components.

Hazal Mestci
Developer Marketer, Oso
Oso logo

FAQ

Light, on surface

Do we need everything figured out before we talk?

No. Most clients arrive with a problem and a rough goal. The first conversation is about whether we can help.

Can you work with our existing stack?

Usually. We work in Astro, Next.js, Sanity, WordPress, and Webflow, and we will tell you when a migration is the better call.

If the answer is no, we say so on the first call.

Dark, on surface

Do we need everything figured out before we talk?

No. Most clients arrive with a problem and a rough goal. The first conversation is about whether we can help.

Can you work with our existing stack?

Usually. We work in Astro, Next.js, Sanity, WordPress, and Webflow, and we will tell you when a migration is the better call.

If the answer is no, we say so on the first call.

Native details with a currentColor outline, so it reads on any band. Questions are headings; answers are Markdown; the component emits FAQPage JSON-LD. Do not use a raw wa-accordion on a page; its panel fill is a Web Awesome surface token that disappears on tinted backgrounds.

Lead capture and trust

Tell us about your site

Send

Thanks. Pick a time to talk.

We reply within one business day. If you want to skip the wait, grab a slot below.

Loading the calendar, or book a 30-minute intro directly.

Partner agency Astro official partner agency
  • [00] Performance
  • [00] Accessibility
  • [00] Best Practices
  • [00] SEO
  • LCP
  • CLS
  • INP

[LIGHTHOUSE SCREENSHOT]

Placeholder until a screenshot is supplied

One lead form for the whole site. It posts through submitLead, calls trackLead(source) on success, and mounts the Cal.com embed in place. Landing pages pair it with the Astro partner badge, client logos, and a Lighthouse score. Submitting here sends a real lead tagged design-system.

Green fingerprint pattern

Let's see what your site could be

Schedule a call
Partner agency Astro official partner agency Partner agency Sanity partner agency Partner agency Kinsta partner agency
Partner agency Vercel partner agency

hello@bitsandletters.com +1 (802) 214-7289

© 2026 Bits & Letters LLC

Made with love in New Jersey

We use cookies for analytics and, if you allow it, advertising measurement.

See our Privacy Policy for more info.

Decline Accept