Living reference
Brand guide
The source of truth for every visual decision on kasama systems. If a token isn't here yet, add it here first, then use it in the build. Current scope: the name, logos, color, type, and spacing; component patterns join as the homepage refinish lands.
The name
The name is the brand. Two rules, no exceptions.
1. Always lowercase
Including at the start of a sentence, a heading, or a title tag. Never "Kasama", never "KASAMA".
2. Always distinguished
The name never blends into the text around it; it reads as a mark, not a word. In copy, set it a different weight than the surrounding text. In headings, a different weightor a different color.
…helps mid-market suppliers respond. kasama systems turns the mandate into a plan.
What kasama does
Enforcement
Never type the name inline; use<Kasama />(src/components/Kasama.astro), the one place the rules are enforced. Passsystems for the full company name; it handles the weight offset. For the color treatment in headings, add a color class:<Kasama class="text-accent" />. The plain string in constants.tsexists only for meta tags and structured data, where markup isn't possible.
Logos
Official wordmark, transparent PNGs insrc/assets/images/branding/(masters: EPS, PDF, styleguide, insrc/assets/branding/). The ™ is part of the artwork. Keep clear space equal to one "a" around the perimeter. Never retype the wordmark, recolor it outside these variants, or set it on a ground it wasn't made for.




Color tokens
Defined in the @theme block ofsrc/styles/global.css(hex values mirrored in constants.ts). Never hardcode a hex in a template; use the generated utility. v2 uses these flat: no gradients, no shadows, no translucency.
Brand palette
#08486B--color-primary
Dominant anchor. Dark grounds, headings, footer.
#4B8794--color-secondary
Supporting bands and UI. Digital-only; not in the print styleguide.
#F9A823--color-accent
CTAs and highlights. Dark text only, never white.
#EBC288--color-sand
Muted surfaces, borders, flat section grounds.
#F9F5EC--color-parchment
Page base. Text color on dark grounds.
#B32149--color-plum
Risk and warning states, rare emphasis.
#414042--color-chocolate
Body text on light surfaces.
Surfaces
--color-base-100
page ground (parchment)
--color-base-200
inset / muted panels
--color-base-300
strong borders, pressed states
--color-surface
white cards lifted above the ground
--color-base-content
default text color
contrast rules (WCAG AA)
- Sunshine Gold (#F9A823) never carries white text: roughly 2:1 on white, a hard AA failure. Pair it with Deep Teal.
- Sand and parchment are surfaces, not text colors on light grounds. Use them as text only on primary or plum.
- Verify before launch. These ratios are reasoned from the hex values, not measured; checklist A3 runs the real audit.
Text tokens
Two families, self-hosted via@fontsource(external font CDNs fail the build by design). Declared as--font-heading and--font-body inglobal.css.
Poppins
--font-headingHeadings and UI labels. Weights 500 · 600 · 700. Tracking −0.02em globally.
Frictionless reporting
Frictionless reporting
Frictionless reporting
Atkinson Hyperlegible Next
--font-bodyBody copy. Weights 400 · 400 italic · 600 · 700.
Kasama means a companion: to accompany, together with. A guide and partner through the quagmire of reporting requirements.
Designed by the Braille Institute for maximum character distinction, chosen to support the accessibility commitment.Italic supported. Bold supported.
Casing
Headings and UI copy use sentence case: capitalize the first word and proper nouns, nothing else. The all-lowercase heading treatment used in earlier drafts is retired (client direction, August 2026). The one exception is the name: kasama is always lowercase, even at the start of a sentence or heading; see "The name" above.
Type scale
Tailwind's default steps, restricted to these sanctioned sizes.text-7xl and arbitrary sizes are off the menu.
text-8xl6rem · 96pxstat momentstext-6xl3.75rem · 60pxhero headline (desktop)text-5xl3rem · 48pxsection headline (desktop)text-4xl2.25rem · 36pxhero headline (mobile)text-3xl1.875rem · 30pxsection headline (mobile), card statementstext-2xl1.5rem · 24pxcard titles, package namestext-xl1.25rem · 20pxsub-headingstext-lg1.125rem · 18pxlead paragraphstext-base1rem · 16pxbody copytext-sm0.875rem · 14pxsupporting copy, nav, footertext-xs0.75rem · 12pxeyebrows, fine printSpacing tokens
One base unit, --spacing: 0.25remin global.css, and every numeric utility (p-*,m-*,gap-*) is a multiple of it. Stay on the sanctioned steps below; no arbitrary values likep-[18px].
Micro: inside components
10.25rem · 4px20.5rem · 8px30.75rem · 12px41rem · 16pxComponent: padding and gaps
61.5rem · 24px82rem · 32px102.5rem · 40px123rem · 48pxMacro: layout and section rhythm
164rem · 64px205rem · 80px246rem · 96px287rem · 112px