Skip to main content

Internal · v1.0

Brand guidelines for
new modules on livefront.com.

A living reference distilled from the production site. Every token, rule, and pattern below was extracted from livefront.com so any new module blends in seamlessly.

Read this first

Our assumptions.

This guide is a working document, not a contract with the design team. Where we extracted something verbatim, we say so. Where we had to substitute, we flag it. Treat anything below as a starting point for the new module — and a basis for a follow-up conversation with brand owners before launch.

  • Extracted

    Color tokens

    All 50+ --color-* CSS custom properties were pulled directly from the production stylesheet on livefront.com. Names, RGB values, and aliases match the live site.

  • Extracted

    The −6.9° slant

    Pulled from the production CSS literal in the Astro-bundled stylesheet. The angle, gradient stop, and transparent edge offset are preserved exactly.

  • Extracted

    Voice & tone

    Derived from quoted copy across /, /about, /careers, /see/scale, /livefront-and-zeal, and /contact. Every example is real.

  • Extracted

    Real Tiempos & Onest

    The actual .otf / .ttf files are served locally from ./assets/livefront/fonts/, with the same per-weight family-name convention as the live site (e.g. bold = TiemposHeadline-Bold, not font-weight: 700).

  • Internal-only

    Tiempos is licensed

    Tiempos Headline / Tiempos Text are commercial Klim Type Foundry fonts under Livefront's license. Don't commit the .otf files to a public repo or ship them to a third-party CDN — Onest is open source (SIL OFL) and is fine to redistribute.

  • Out of scope

    Logo & brand assets

    We don't yet have access to wordmark / lockup files, clear-space rules, or photography license terms. Loop in the design team before shipping anything that uses the Livefront mark itself.

Section 1

Voice & tone.

Confident, calm, and concrete. Statements end in periods. Numbers do the bragging. Define ourselves by paired contrasts — partners, not clients.

Partners, not clients.

Products, not projects.

Accessibility first.

Dedicated teams.

Design for people.

Working software, weekly.

A team that cares.

The seven principles, verbatim from the About page.

Voice principles.

Declarative, period-stopped.
"We help companies build intelligent products and platforms." · "We move faster." · "We lift teams up." · "We drive results."
First-person plural.
"We" do the work; "you / your team" are the audience. Never refer to Livefront in the third person.
Numbers do the bragging.
"238+ products shipped" · "97m monthly engaged users" · "5x iOS test coverage increase" · "10-fold productivity gains." Confidence comes from concrete metrics, not adjectives.
Calm, not loud.
No exclamation marks anywhere on the marketing site. Emphasis comes from one short highlighted phrase, never punctuation.
Paired contrasts.
Define what we are by saying what we aren't, with parallel grammar: X, not Y.
Craft language.
Use the verbs designers and engineers actually use — ship, iterate, prototype, validate, refine. Avoid generic SaaS adjectives.

Voice in practice

Quick rewrite reference.

Drop these patterns in any time you find yourself reaching for hype words.

Off-brand

"We're a leading agency that delivers cutting-edge solutions!"

"Click Here To Learn More About Our Services"

"Best-in-class digital experiences for your business"

"Our team will work with your team to leverage synergies"

"Contact us today for a free consultation!"

On-brand

"We help companies build intelligent products and platforms."

"Learn more"

"Digital experiences people love."

"We create one team with you to iterate and build together."

"Let's talk."

Section 2

Color tokens.

Always reference tokens by name, not by hex. The site exposes 50+ --color-* CSS custom properties; the most common are listed below.

Brand.

--color-navy

rgb(36, 68, 89) · #244459

Primary ink, hero, slants

--color-off-black

rgb(14, 27, 36) · #0E1B24

Deep ink, scrim base

--color-blue

rgb(43, 145, 217) · #2B91D9

Accent fills, button hover, <mark> highlight

--color-accessible-blue

rgb(0, 119, 193) · #0077C1

Link & button label color (AA on white)

--color-medium-blue

rgb(161, 220, 252) · #A1DCFC

Decorative accents (the + motifs)

--color-light-blue

rgb(227, 245, 255) · #E3F5FF

Default button background, soft surfaces

Neutrals.

--color-white

rgb(255, 255, 255)

Cards, default surface

--color-grey

rgb(249, 250, 251) · #F9FAFB

Page sections, soft fills

--color-border

rgb(225, 228, 229) · #E1E4E5

Hairlines, card borders, disabled

--color-body-text

rgb(55, 73, 82) · #374952

Default paragraph text

--color-secondary-text

rgb(102, 116, 122) · #66747A

Captions, bylines, muted

--color-lavender

rgb(238, 238, 255) · #EEEEFF

Soft purple surface

Semantic accents.

Use sparingly. Green is not the primary CTA color — it's an accent reserved for success states and select case studies (e.g. Box Tops). Don't substitute it for the blue button system.

--color-green

rgb(103, 163, 0) · #67A300

--color-error

rgba(228, 2, 0, 1)

--color-chip-background

rgb(247, 247, 247)

Section 3

Typography.

Three families: Tiempos Headline (display serif), Tiempos Text (body serif), and Onest (UI sans). Headlines are always fluid via clamp() — never a hard-coded desktop size.

H1 · Hero · TiemposHeadline-Bold

We help companies build intelligent products and platforms.

font-family: TiemposHeadline-Bold;
font-size: clamp(2.5rem, 1.2532rem + 2.5974vw, 4.5rem);
line-height: clamp(2.75rem, 1.0357rem + 3.5714vw, 5.5rem);
letter-spacing: -0.0625rem; text-wrap: balance;

H2 · Section · TiemposHeadline-Bold

Our unique model of co-creation.

font-size: clamp(1.75rem, 0.6591rem + 2.2727vw, 3.5rem);
line-height: clamp(2rem, 0.4416rem + 3.2468vw, 4.5rem);

H3 · Card · Tiempos Headline

Helping a beloved brand win in the digital economy.

Pull quote · Tiempos Headline RegularItalic

"One of the highlights of my year was working with your team."

Body · Tiempos Text

Distilled from 25 years of experience, MESH combines deep product discipline, the latest advances in AI product delivery, and a partner-first mindset. The result? One unified team, meshed together and accelerated by AI, that turns goals into outcomes and ideas into impact.

UI text · Onest

Default UI / paragraph copy uses Onest at 1rem with line-height 1.5 and letter-spacing −0.015625rem.

Eyebrow · Onest ExtraBold

Where we start

font-size: 0.8125rem; letter-spacing: 0.1875rem; text-transform: uppercase;

Section 4

Layout & spacing.

rem-based throughout. Containers, gutters, and vertical rhythm are all fluid — nothing scales in fixed pixels.

Prose max-width
--text-content-max-width: 60rem (960px). Full-bleed sections are allowed; constrain reading lines.
Page gutters
padding-inline: clamp(1.5rem, 0.8766rem + 1.2987vw, 2.5rem);
Section rhythm
margin-block: clamp(2.5rem, 0.9416rem + 3.2468vw, 5rem);
Breakpoints
48rem (768px, tablet) · 64rem (1024px, desktop). No 1280px container.

Section 5

Components.

Hover the button to see the signature blue gradient slide. Tab to it to see the focus ring. None of this requires JavaScript.

Primary button

Let's talk

Default: --color-light-blue bg, --color-accessible-blue label.
Hover: --color-blue gradient slides over the surface, label flips white.

Inline link

Read case study

Onest SemiBold, --color-accessible-blue. Arrow translates +0.1875rem on hover or focus.

Chips

Strategy AI & Automation Engineering Data Marketing

Pill-shaped (border-radius: 9999px). Pair *-background + *-text tokens; never invent new chip variants.

Card

Strategy & Product

Define success, reduce risk.

From 3–6 weeks

border-radius: 1.5rem, white surface, soft card shadow. Padding scales with viewport.

Section 6

Motion.

  • Default ease: ease-in-out.
  • Standard durations: 0.2s UI, 0.25s icons, 0.35s button hover gradient.
  • Never transition: all. List specific properties.
  • Wrap non-essential motion in @media (prefers-reduced-motion: no-preference).

Section 7

Accessibility floor.

  • WCAG AA contrast on all text.
  • Use --color-accessible-blue for text on white, not --color-blue.
  • Visible focus ring on every interactive element.
  • Tap targets ≥ 44×44px.
  • Honor prefers-reduced-motion.

Section 8

Implementation.

The new module uses Tailwind. Extend the theme so token names match this guide and docs/BRAND.md. When the page already exposes a CSS variable, prefer bg-[var(--color-navy)] over duplicating the value.

tailwind.config.js

module.exports = {
  theme: {
    extend: {
      colors: {
        navy: 'rgb(36 68 89 / <alpha-value>)',
        'off-black': 'rgb(14 27 36 / <alpha-value>)',
        blue: {
          DEFAULT: 'rgb(43 145 217 / <alpha-value>)',
          accessible: 'rgb(0 119 193 / <alpha-value>)',
          medium: 'rgb(161 220 252 / <alpha-value>)',
          light: 'rgb(227 245 255 / <alpha-value>)',
        },
        body: 'rgb(55 73 82 / <alpha-value>)',
        secondary: 'rgb(102 116 122 / <alpha-value>)',
        border: 'rgb(225 228 229 / <alpha-value>)',
        grey: 'rgb(249 250 251 / <alpha-value>)',
      },
      // Production convention: one family per weight.
      // Switch weight by switching family, not via font-weight.
      fontFamily: {
        sans:        ['Onest', 'system-ui', 'sans-serif'],
        'sans-semi': ['Onest-SemiBold', 'Onest', 'system-ui', 'sans-serif'],
        'sans-extra':['Onest-ExtraBold', 'Onest', 'system-ui', 'sans-serif'],
        serif:       ['TiemposHeadline-Bold', 'Georgia', 'serif'],
        'serif-italic':['TiemposHeadline-RegularItalic', 'Georgia', 'serif'],
        body:        ['TiemposText', 'Georgia', 'serif'],
      },
      borderRadius: { card: '1.5rem', btn: '0.75rem' },
      boxShadow: {
        card:   '0 0.215625rem 1.7225rem rgba(0,0,0,0.08)',
        lifted: '0 0.25rem 1.5rem rgba(0,0,0,0.16)',
      },
    },
  },
};

@font-face (production-accurate).

/* Each weight is its own family. Switch family to switch weight. */
@font-face { font-family: TiemposHeadline;
  src: url('/fonts/TiemposHeadline-Regular.otf') format('opentype');
  font-weight: 400; font-display: fallback; }
@font-face { font-family: TiemposHeadline-Bold;
  src: url('/fonts/TiemposHeadline-Bold.otf') format('opentype');
  font-weight: 700; font-display: fallback; }
@font-face { font-family: TiemposHeadline-RegularItalic;
  src: url('/fonts/TiemposHeadline-RegularItalic.otf') format('opentype');
  font-weight: 400; font-display: fallback; }
/* …+ TiemposHeadline-BoldItalic, TiemposText{,-Bold,-RegularItalic},
        Onest{,-Medium,-SemiBold,-Bold,-ExtraBold} */

CSS variables (drop-in).

:root {
  --color-navy:            rgb(36, 68, 89);
  --color-off-black:       rgb(14, 27, 36);
  --color-blue:            rgb(43, 145, 217);
  --color-accessible-blue: rgb(0, 119, 193);
  --color-light-blue:      rgb(227, 245, 255);
  --color-medium-blue:     rgb(161, 220, 252);
  --color-white:           rgb(255, 255, 255);
  --color-grey:            rgb(249, 250, 251);
  --color-border:          rgb(225, 228, 229);
  --color-body-text:       rgb(55, 73, 82);
  --color-secondary-text:  rgb(102, 116, 122);
  --text-content-max-width: 60rem;
}

/* Production h1 — note `font-weight: unset`. Weight is in the family name. */
h1, .as-h1 {
  font-family: TiemposHeadline-Bold, serif;
  font-weight: unset;
  font-size:   clamp(2.5rem, 1.2532rem + 2.5974vw, 4.5rem);
  line-height: clamp(2.75rem, 1.0357rem + 3.5714vw, 5.5rem);
  letter-spacing: -0.0625rem;
  text-wrap: balance;
  color: var(--color-navy);
  margin: 0;
}

The slant.

.slant {
  width: 100%;
  height: var(--slant-height);
  background: linear-gradient(
    -6.9deg,
    var(--color-navy) 50%,
    transparent calc(50% + 1px)
  );
}

Up Next

Let's create something remarkable, together.

Questions, gaps, or contradictions with the production site? Open a ticket against this module so we can fold the answer back into docs/BRAND.md.