True Upskill is its own brand on its own domain. This page is the single written source for its colors, type, logo use, components, and tone. Where this page and the live site ever disagree, the site at trueupskill.com is correct and this page gets updated. Never the other way round.
True Upskill is a course catalog where every course ends in a credential that can be verified at the source. It lives at trueupskill.com and carries its own name, mark, typeface, and palette.
Rule of precedence, set by Patrik 2026-07-25: the live site sets the rules. Values on this page were read from TRUE-Catalog/develop/src/styles/global.css and from the HTML that trueupskill.com actually ships.
The mark is a white outlined shield forming a T over a U, on a deep navy ground (#111924). It is a raster original: the exact file, never a redrawing. In product it is always rendered as a rounded tile, with corner radius applied in code.
True Upskill
True Upskill
object-fit: cover. Radius sits at roughly a quarter of the rendered size; keep that ratio when scaling.-0.02em. 18 px in the nav, 24 px in the footer. Full values in the table below.The wordmark is live text, not an image file. It is set in the site's own typeface, so it inherits every future type change automatically. Do not export it as a PNG or SVG and do not typeset it in any other family.
| Property | Nav | Footer |
|---|---|---|
| Text | True Upskill, one space, both words capitalised | |
| Font family | 'Inter Tight', 'Inter', system-ui, -apple-system, sans-serif | |
| Weights loaded | 400, 500, 600, 700 from Google Fonts, display=swap | |
| Font size | 18px | 24px |
| Font weight | 700 | 700 |
| Letter spacing | -0.02em | -0.02em |
| Line height | 1 | 1 |
| Colour | #26333d (--ink) | #ffffff (--bg-white) |
| Wrapping | white-space: nowrap | inherits, never break the two words |
| Mark size | 32 × 32px, radius 8px | 44 × 44px, radius 10px |
| Gap, mark to text | 10px | 12px |
Source: TRUE-Catalog/develop/src/components/Brand.astro, src/styles/partials/_nav.scss, src/styles/partials/_tokens.scss, public/assets/logo-shield-hires.png (shipped on trueupskill.com), public/assets/logo-shield-invert.png, favicon links in src/layouts/Base.astro. Ground navy #111924 sampled from the file itself. Every value in the wordmark table re-measured against the production stylesheet on trueupskill.com, 8 August 2026.
The palette leads with soft blue white surfaces and near black ink. Yellow is the single accent: badges, dots, CTAs, and the highlighter behind key words. Never body text. On dark surfaces the accent shifts to Signal, a dusty light blue.
All fourteen tokens below were verified unchanged against the live code on 2026-07-25.
--bg--bg-white--bg-panel--bg-cream--ink--ink-soft--ink-accent--muted--yellow--yellow-soft--signal--border--dark--gradient-trueSource: :root tokens in TRUE-Catalog/develop/src/styles/global.css.
One family for every word. An editorial modern grotesk with tight tracking, loaded from Google Fonts in weights 400, 500, 600, and 700. Distinct on purpose from TRUE Original's Marcellus and Helvetica Neue. No italics for emphasis: use ink accent color plus the yellow highlighter instead.
Base: 16 px root, body line height 1.4, body tracking -0.01em.
<link href="https://fonts.googleapis.com/css2?family=Inter+Tight:wght@400;500;600;700&display=swap" rel="stylesheet">
--font: 'Inter Tight', 'Inter', system-ui, -apple-system, sans-serif;
Source: font link in src/layouts/Base.astro and on trueupskill.com. Scale values from .hero h1, .section-title, .pillar h3, .cat-title, .hero-sub, .section-desc, .eyebrow, and .badge in global.css. The v0.1 draft overstated several sizes; these are the shipped values.
Content sits in a 1360 px container with 32 px side padding. Sections breathe: 120 px of vertical padding on desktop, stepping down on smaller screens. The v0.1 draft said 1200 px; the site ships 1360.
| Token | Value | Notes |
|---|---|---|
--max | 1360px | Container max width, everywhere |
--pad | 32px · 20px at ≤640px | Horizontal page padding |
| Section padding | 120px · 80px at ≤1024px · 72px at ≤640px | Vertical rhythm between sections |
| Hero padding | 80px top and bottom · 56px top at ≤640px | |
| Card grid gaps | 16 to 20px | Category cards 16px, providers and courses 18 to 20px |
| Breakpoints | 1024px · 640px · 480px | Grids step 4 → 2 → 1 columns |
Source: :root, .section, .hero, and the media queries in global.css, including the comment that fixes the container at 1360 and calls out 1200 as the old guideline's own layout width.
Buttons, badges, tags, and search fields are full pills at 999 px. Content surfaces are rounded tiles between 12 and 24 px. The v0.1 claim that every element is pill rounded was wrong: cards never are.
Source: every border-radius declaration in global.css. Most frequent values: 999px (21 uses), 20px (15), 16px (7), 24px (7), 12px (10).
Shadows are soft, blue tinted, and rare: resting cards have none, only floating elements and the search pill carry one. Motion is fast and small: most transitions run 0.15 to 0.18 seconds, and hover lifts cards exactly 2 px.
0 4px 24px rgba(38,51,61,0.06)
0 8px 32px rgba(38,51,61,0.08)
0 12px 40px rgba(30,43,52,0.14)
Border turns ink, the card lifts 2 px: border-color: var(--ink) + transform: translateY(-2px) over all 0.18s.
Hovers and color changes: 0.15s. Cards and buttons: 0.18s. Dropdown reveal: 0.18s with a 6 px slide. Marquee loop: 40s linear. Nothing bounces, nothing eases longer than 0.3s.
Source: box-shadow and transition declarations in global.css.
Every component below is live: hover them. They are rebuilt here from the exact CSS the site ships.
linear-gradient(180deg, transparent 62%, var(--yellow-soft) 62%). On dark grounds the text goes white over rgba(240,216,77,0.35).
White, 1px border, radius 20px (course cards 18px). Hover: ink border, 2px lift.
linear-gradient(155deg, rgba(61,100,120,0.72), rgba(38,51,61,0.92)), lightening on hover. White text always.
Source: .btn, .badge, .eyebrow, .hero-search, .cat-hero-stat, .section-link, .card, .cat, and .marquee in global.css. Marquee copy and numbers are the live site's own.
The nav is sticky and translucent: the page background at 92% opacity behind a 20 px blur, with a 1 px border below. The footer is the one large dark surface, ink dark with a huge headline and a yellow accent word.
rgba(234,239,242,0.92) + backdrop-filter: blur(20px), bottom border.Footer headline at clamp(40px, 6vw, 72px), weight 600, with the accent word in yellow. Below it: a five column link grid, then the legal line.
Source: .nav and .footer in global.css, Footer.astro, and the shipped homepage. Note: the live footer carries no Powered by TRUE strip. The only TRUE attribution on the live site is a quiet text link on the 404 page.
The site ships Swedish as the default language on the root domain and English under /en, declared with hreflang. Anything written for True Upskill exists in both, and the Swedish version is the primary one.
| Surface | Swedish (default) | English (/en) |
|---|---|---|
| Hero H1 | Lär dig idag. Bevisa det för alltid. | Learn today. Prove it forever. |
| Title tag | True Upskill - Verifierade kurser från ledande utbildare | True Upskill - Verified courses from leading providers |
| Footer ask | Är du utbildare? | Are you a training provider? |
| Legal line | Verifierade kurser du kan lita på. | Verified courses you can trust. |
Source: <html lang="sv">, hreflang tags, and page copy fetched from trueupskill.com and trueupskill.com/en on 2026-07-25.
Upskill speaks to the learner, not the educator. Confident but never loud. Everything must be provable: if we say verified, it can be verified. The real numbers, from the site itself: 10 000+ verified courses, 200+ trusted educators, 400 000+ credentials issued.
Concrete over abstract. Course names, educator names, real numbers.
No superlatives, no urgency tricks, no "in today's world."