Quov

/design-system/web

Web pages

The marketing site and any public Quov page. It reads like a datasheet from a serious supplier: ruled structure, data set as data, and the mark’s 2×2 grid as the shape of the page.

Agent filequov-web.en.mdquov-web.es.md

01

Tokens

Every value lives in src/styles/globals.css as a Tailwind 4 token, with the names the apps use. Components use the token names, never a literal color; outside the site, copy the token block from the brand file.

bg-background
Page base. The only page background; sections do not alternate bands.
bg-card
One step of elevation: screenshot mats, code, an open sheet.
bg-secondary
Subtle fills: hover on a ghost control, a tag.
text-foreground
Text, the current navigation item, the letters of the mark.
text-muted-foreground
Leads, captions, metadata, inactive navigation.
bg-primary
The primary button, with text-primary-foreground. One per view.
border-border
Every hairline, rule and frame, at 10% alpha.
ring
Focus outline: 2 px solid, 3 px offset.
font-heading
Aoboshi One. h1 and h2 get it from the base layer.
font-sans
Geist, the default on body.
font-mono
Geist Mono, for data only.
rounded-lg
0.375rem, the system radius: controls and frames. rounded-md and rounded-sm for smaller parts.
ease-out-quint
cubic-bezier(0.22, 1, 0.36, 1), the only easing.
light:
Variant for the paper theme, active when <html> carries data-theme="light".

02

Type scale

Fluid, with at least a 1.25 ratio between steps. Aoboshi One for the top three levels, Geist for reading, Geist Mono for data.

Display

The hero statement, once per page.

font-heading text-display: clamp(2.25rem, 1.2rem + 3.4vw, 4.5rem), 1.06

From the first line of code to the last device.

Title

Section titles, the contact title.

font-heading text-title: clamp(1.75rem, 1.3rem + 1.8vw, 3rem), 1.1

Infrastructure

Subtitle

Product names, step titles, the reference project name.

font-heading text-subtitle: clamp(1.375rem, 1.25rem + 0.5vw, 1.625rem), 1.25

Kin

Lead

The paragraph under a section title.

text-lead: clamp(1.125rem, 1.07rem + 0.25vw, 1.25rem), 1.6

Ready-to-use products, built and run by Quov.

Body

Running text.

default: 1.0625rem, 1.65 (1.6 on paper), max-w-[65ch]

When no product fits, Quov designs, builds and operates software for a single client.

Label

Table header cells, small labels.

text-xs font-medium uppercase tracking-wider

Status

Data

Indexes, statuses, domains, the language switch.

font-mono text-[0.8125rem] tabular-nums

01 By invitation kin.quov.io EN / ES

03

Layout

Generous space between sections, tight grouping inside them. Each section is built differently, so the page never turns into a grid of cards.

Container
container-page: max-width 76rem, centered, gutters of 1rem on phones, 1.5rem from 40rem wide, 2rem from 64rem.
Section rhythm
section-y: padding-block clamp(4rem, 2.75rem + 5vw, 7.5rem). Sections sit on the page background and are separated by one hairline.
Section head
A mono index (01 to 04), the title in Aoboshi One, then a lead in muted-foreground under 65 characters.
Composition
Asymmetric two columns from lg: the head on the narrow side, the content on the wide side. A single column on phones.
Depth
Borders only, at the 10% token. No shadows anywhere. Never a container inside a container.
Anchors
The header is fixed, so anchored sections keep a 5rem scroll padding.

04

Components

The site’s pieces, rendered in both themes. Before building something new, use one of these.

Header

Fixed. Transparent at the top, then the background with a bottom hairline once the page scrolls. Mark and wordmark link home; four anchors; the EN / ES switch in mono; the theme toggle; one primary button. Below lg the anchors, switch and toggle move into a side sheet.

Quov

dark, default

Quov

light, paper

Hero index

The mark is four letters in a 2×2 grid and Quov offers four things, so the hero carries a ruled 2×2 index of them. Each cell is a link to its section: mono index, name in Aoboshi One, one short line. It sits beside the statement from lg and below it on phones.

  1. 01ProductsKin, Merxes and Heak, built and run by Quov.
  2. 02Tailored softwareDesigned, built and operated for one client.
  3. 03InfrastructureNetworks, access rules and storage, as code.
  4. 04DevicesCompany laptops and phones, managed at scale.

dark, default

  1. 01ProductsKin, Merxes and Heak, built and run by Quov.
  2. 02Tailored softwareDesigned, built and operated for one client.
  3. 03InfrastructureNetworks, access rules and storage, as code.
  4. 04DevicesCompany laptops and phones, managed at scale.

light, paper

Ledger table

Products as a ruled ledger: name in Aoboshi One, what it does, who it is for, the status in mono, the link in mono. A row without a link shows nothing in that cell, never a disabled control. On phones each row stacks.

  • KinBy invitation

    Company email addresses on your own domain, answered from the inbox each person already uses.

    Companies

    kin.quov.io

  • MerxesBy invitation

    Income and expense tracking, bookkeeping and electronic invoices.

    Individuals and companies

  • HeakBy invitation

    A weekly menu built around your macros, with an optional chef at home.

    Individuals

Merxes and Heak are independent brands owned by Quov.

dark, default

  • KinBy invitation

    Company email addresses on your own domain, answered from the inbox each person already uses.

    Companies

    kin.quov.io

  • MerxesBy invitation

    Income and expense tracking, bookkeeping and electronic invoices.

    Individuals and companies

  • HeakBy invitation

    A weekly menu built around your macros, with an optional chef at home.

    Individuals

Merxes and Heak are independent brands owned by Quov.

light, paper

Spec list

Two columns, term and description, ruled. Used for capabilities, never cards.

Networks
A network and VPC per environment, isolated from each other.
Firewall and access
Inbound and outbound rules, segmentation, least privilege.
Isolated storage
Encrypted drives and buckets per team or workload, with backups.
Defined as code
Every environment can be reviewed and reproduced.

dark, default

Networks
A network and VPC per environment, isolated from each other.
Firewall and access
Inbound and outbound rules, segmentation, least privilege.
Isolated storage
Encrypted drives and buckets per team or workload, with backups.
Defined as code
Every environment can be reviewed and reproduced.

light, paper

Numbered sequence

For steps that happen in order, and only then. Mono index, title, one line. Four columns from lg under one rule; a ruled list on phones.

  1. 01DefinitionScope, data model, architecture, delivery plan.
  2. 02BuildComplete flows in a test environment the client reviews.
  3. 03LaunchProduction, with real operation.
  4. 04OperationMonitoring, support, evolution.

dark, default

  1. 01DefinitionScope, data model, architecture, delivery plan.
  2. 02BuildComplete flows in a test environment the client reviews.
  3. 03LaunchProduction, with real operation.
  4. 04OperationMonitoring, support, evolution.

light, paper

Framed screenshot

A real page, 1600 px wide, in grayscale, inside a hairline frame whose top bar names the domain in mono.

femcng.com

femcng.com

dark, default

femcng.com

femcng.com

light, paper

Contact block

Title in Aoboshi One, a short lead, the booking link as the primary action and the email address as the secondary one.

Schedule a call

Tell us what you need: a product, a platform, a network or a device fleet. The first call defines scope and next steps.

Schedule a callcontact@quov.io

dark, default

Schedule a call

Tell us what you need: a product, a platform, a network or a device fleet. The first call defines scope and next steps.

Schedule a callcontact@quov.io

light, paper

Footer

Mark and wordmark, one line on what Quov does, the four anchors, the language switch, the design system link, the email address and the legal line. No identification number.

Quov

The technology a company runs on, built and kept running.

  • Products
  • Software
  • Infrastructure
  • Devices
EN / ESDesign systemcontact@quov.io© 2026 Quov S.A.S.

dark, default

Quov

The technology a company runs on, built and kept running.

  • Products
  • Software
  • Infrastructure
  • Devices
EN / ESDesign systemcontact@quov.io© 2026 Quov S.A.S.

light, paper

Buttons and links

One primary button per view. Text links underline with a hairline that darkens on hover; external links add an arrow. Data links (domains, email addresses) are mono.

PrimarySecondaryText linkkin.quov.io

dark, default

PrimarySecondaryText linkkin.quov.io

light, paper

05

Motion

Quiet. Two moments in the whole site, and nothing else.

Entrance
The hero’s 2×2 index only: each cell fades in and rises a few pixels, staggered, with ease-out-quint. Opacity and transform only.
Theme switch
A 300 ms crossfade of color, background and border color.
Never
Scroll-triggered reveals, parallax, hover lifts, bounce or elastic easing, animated layout properties.
Reduced motion
prefers-reduced-motion collapses every animation and transition to an instant change.

06

Languages

English and Spanish, complete in both. A new string ships in both languages at once.

Routes
English at /, Spanish under /es. Route segments and anchor ids stay English in both: #products, #software, #infrastructure, #devices, #contact.
Document
<html lang="en"> and <html lang="es-CO">; og:locale en_US and es_CO with the other as alternate; hreflang en, es and x-default; a canonical per locale.
Switch
EN / ES in mono in the header and the footer. It links to the same page in the other language and marks the current one with aria-current.
Copy
One typed dictionary per locale; the Spanish one is typed from the English one, so a missing key fails the build.
Register
English without contractions; Spanish with tú.
Schedule a call
Links to the booking page. Until one exists, it is a mailto to contact@quov.io with a subject in the page’s language.

07

Themes

Dark slate is the default for every first visit; the operating system preference is not consulted. Paper is one click away and stays chosen.

Toggle
An icon button in the header with an accessible label in the page’s language that names the target (“Switch to light theme”, “Cambiar a tema claro”) and aria-pressed.
Storage
localStorage under quov-theme, every access in try/catch. Without storage the site stays dark and still works.
No flash
An inline script in <head> sets data-theme="light" on <html> before the first paint.
Browser color
theme-color carries both values, and the toggle updates it.
Applying the stored theme before paint
<!-- In <head>, before any stylesheet paints: applies the stored theme. -->
<script>
  try {
    if (localStorage.getItem('quov-theme') === 'light') {
      document.documentElement.dataset.theme = 'light';
    }
  } catch {
    /* No storage: the page stays dark. */
  }
</script>

08

Imagery and access

Screenshots
Real pages of shipped work only, in grayscale, in the bordered frame above. Alt text in both languages says what the image shows and invents nothing.
Never
Stock photography, illustrations, 3D shapes, generated images, portraits.
Contrast
WCAG 2.2 AA in both themes, checked with a contrast computation, not assumed.
Keyboard
The header and the sheet are reachable and operable by keyboard. Focus is always visible: 2 px ring, 3 px offset.
Structure
One h1 per page, h2 per section, h3 for items. Decorative SVG carries aria-hidden.

09

Rules

Do

  • Build each section from a different structure: index, ledger, spec list, sequence, frame.
  • Set data as data: indexes, statuses, domains and figures in mono.
  • Ship English and Spanish together, each one complete.
  • Check the page at 375 and 1440 px, in both themes and both languages.

Do not

  • A grid of identical cards with an icon, a title and a line.
  • Hero metrics, logo walls, testimonials, carousels.
  • An accent color, a gradient, glass, a shadow or a side-stripe border.
  • A booking control that looks disabled, or any link to nothing.

Agent file

The rules of this page as a Markdown file for an agent: in a CLAUDE.md, a system prompt or attached to a request. Load quov-brand first; this file applies it and never overrides it. Identical content in English and Spanish.

Fetch from the command line
curl -fLO https://quov.io/design-system/quov-brand.en.md
curl -fLO https://quov.io/design-system/quov-web.en.md
curl -fLO https://quov.io/design-system/quov-web.es.md