Identity System
Governs the architecture, construction, colour behaviour, misuse boundaries and application rules of every logo file the system issues, and the clear space and minimum sizes every consumer of those files must honour.
Read the illustrated chapter, which demonstrates this foundation with live specimens rather than describing it.
This is the canonical Identity System chapter of the Fernando Kylas Brand System. It defines the architecture, construction, colour behaviour, misuse boundaries and application rules for every logo file the system issues.
Every measurement in this document was measured, not estimated. Artwork bounds were taken with a browser's own getBBox() against the seven masters on 2026-07-25; minimum sizes were judged from a rendered size ladder, not calculated from a rule of thumb. Where a value is a judgement rather than a measurement, it says so.
What is approved
Fernando Kylas approved the Identity System on 2026-07-25 as the first canonical release. The approval covers the complete identity architecture and the philosophy that governs it: all seven variants, both fixed colourways, the mark's rationale (§1), the currentColor contract (§4.1), the construction rules (§3), the misuse boundaries (§5) and the stewardship principles (§10).
Three items are acknowledged and intentionally excluded as operational follow-ups: LOGO-02 (physical print validation), LOGO-04 (PNG rasters) and LOGO-07 (the descriptor's weight and tracking, needed only for live text). None of them affects the correctness, philosophy or governance of the Identity System, §8.
No undocumented change may modify the approved identity. A change supersedes a decision in DECISIONS.md, with a reason; it does not quietly replace one. §10 explains why that rule exists and what it costs to break it.
| Companion | Purpose |
|---|---|
docs/identity/identity-system.html | The chapter rendered as a reading experience, with live artwork |
assets/logos/README.md | File-level rules, naming, the export pipeline |
assets/logos/build-exports.py | The pipeline that derives every export from source |
colour.md | The colour language the logo obeys |
1. Identity overview
What the identity is made of
The Fernando Kylas identity has three elements and no more:
- The mark: a six-armed asterisk.
- The wordmark:
fernandokylas, set as a single lowercase word with no space, in a heavy geometric sans. - The descriptor:
digital impact consultant, lowercase, set in Strawford (§2.7).
Everything else in the system (every board, report, proposal and page) is typography, rule and space. There is no pattern library, no illustrative language, no secondary graphic device competing with these three.
The logo appears less often than in most brands
This is the most important usage rule in the chapter, and the easiest to ignore.
A consultancy that publishes evidence earns attention through the substance of what it publishes. A logo repeated on every page, in every corner, at every scale, reads as a brand asserting itself, which is exactly the posture this identity avoids. One appearance per surface is the default:
| Surface | Logo appears |
|---|---|
| A report | Once, on the cover. Not on interior pages |
| A page of a document | In the running header only if the document is loose-leaf |
| A website page | Once, in the header |
| A proposal | Once, on the cover |
| A slide deck | On the opening and closing slides only |
| A social post | Once, or not at all where the account itself is the attribution |
The corollary: where the logo is absent, typography must be doing its job. A page that needs a logo to look like Fernando Kylas has a typography problem, not a branding problem.
Why the mark exists
Confirmed by Fernando Kylas, 2026-07-25. Canonical.
The mark carries two meanings. They are not two stories.
The first is personal. Long before it was a logo, the star stood for hope during a difficult period in Fernando's family. His birth marked a new beginning after loss, and the star became a quiet reminder that light can emerge from difficult moments. It is not a symbol of fame or recognition. It stands for optimism, resilience and new beginnings.
The second is professional. As the work moved into consulting, the same symbol came to sit alongside the asterisk used throughout publishing, research, technical documentation and professional writing. An asterisk tells a reader that there is additional context, supporting evidence or reasoning worth exploring. That is how this practice works with clients: not simply delivering recommendations, but explaining the thinking behind them.
Together they describe one philosophy. The mark stands for clarity emerging from uncertainty, personally, hope; professionally, understanding.
This rationale was not written to justify the design after the fact. The symbol accumulated these meanings over many years of personal life and professional practice; the logo came afterwards.
What this settles. Every future extension of the identity reasons from here: the mark may be quiet, small or abstract, but it may never be decorative. It already means something. This is distinct from §7.1, which answers the separate question of why the system carries a mark at all.
2. Logo architecture
Seven variants, each with a job. A variant is chosen by the space available and the context's need for the full name, never by preference.
| Variant | File | Aspect | Contains |
|---|---|---|---|
| Mark | fk-logo-mark.svg | 1:1 | Mark |
| Wordmark | fk-logo-wordmark.svg | 6.546:1 | Wordmark |
| Wordmark abbreviated | fk-logo-wordmark-abbreviated.svg | 1.160:1 | fk |
| Horizontal | fk-logo-horizontal.svg | 7.573:1 | Mark + wordmark |
| Horizontal abbreviated | fk-logo-horizontal-abbreviated.svg | 2.395:1 | Mark + fk |
| Stacked | fk-logo-stacked.svg | 2.551:1 | Mark over wordmark |
| Stacked with descriptor | fk-logo-stacked-descriptor.svg | 1.998:1 | Mark over wordmark over descriptor |
2.1 Mark: fk-logo-mark.svg
A six-armed asterisk: a vertical stem through the full height, crossed by two diagonal pairs. Radially symmetrical about its centre.
Strengths. Reads at the smallest size in the system. Square canvas, so it drops into a favicon, an app icon, an avatar or a stamp without adjustment. Carries no language, so it needs no localisation.
Use for. Favicon, app icon, social avatar, a repeated small-format stamp, a bullet or divider ornament where the brand needs a whisper rather than a signature.
Avoid. As the primary identifier on a first encounter. Someone who has never seen the brand learns nothing from the mark alone; it has no name in it. First contact takes a lockup.
2.2 Wordmark: fk-logo-wordmark.svg
fernandokylas: one word, no space, all lowercase.
Strengths. Says the name, which the mark cannot. The single-word compression makes a thirteen-character name behave as one object, and the lowercase setting is where the identity's quiet confidence actually lives: a name that does not shout is a name that does not need to.
Use for. Contexts already visually attributed: an email signature, a document footer, a letterhead where a mark would be redundant.
Avoid. Where the horizontal lockup fits. The mark earns its place when there is room for it.
2.3 Wordmark abbreviated: fk-logo-wordmark-abbreviated.svg
fk, lowercase.
Strengths. The smallest form that still carries a name. Nearly square, so it behaves like a monogram.
Use for. Compact avatars, a favicon alternative where the mark is too abstract for the context, a mobile header where even the abbreviated horizontal lockup will not fit.
Avoid. In any first-contact context, and anywhere the mark is also present, because fk and the asterisk together, without the full name, is two abbreviations and no identity.
2.4 Horizontal: fk-logo-horizontal.svg
The primary lockup. Mark + wordmark on one line.
Strengths. Complete: symbol and name together. Its 7.573:1 ratio suits the shape of the places a logo actually goes: website headers, document headers, slide footers, email headers.
Use for. The default. If you are unsure which variant to use, this is the answer.
Avoid. Below 120 px wide (§3.3), where the wordmark closes up. Use the abbreviated horizontal instead.
2.5 Horizontal abbreviated: fk-logo-horizontal-abbreviated.svg
Mark + fk.
Strengths. Keeps the symbol-plus-name structure of the primary lockup in a quarter of the width.
Use for. Mobile headers, narrow sidebars, compact application chrome.
Avoid. On desktop, or anywhere the full horizontal lockup fits. This is a constraint response, not a style choice.
2.6 Stacked: fk-logo-stacked.svg
Mark over wordmark, centred.
Strengths. Occupies a near-square footprint (2.551:1), so it centres well and holds the centre of a composition rather than sitting at its edge.
Use for. Report and proposal covers, title slides, portrait-format social, merchandise, any centred composition.
Avoid. In a horizontal band. A stacked lockup in a website header wastes height and forces the wordmark smaller than the horizontal lockup would at the same header height.
2.7 Stacked with descriptor: fk-logo-stacked-descriptor.svg
Mark over wordmark over digital impact consultant.
Strengths. The only variant that says what the practice does. Answers "who is this and why should I read on?" in one object.
Use for. First contact: a proposal cover for a new client, a conference slide, a printed introduction, a press kit.
Avoid. Anywhere the audience already knows the practice; the descriptor becomes noise. Never below 180 px wide (§3.3), where the descriptor is the limiting element and it fails first.
The descriptor is set in Strawford. Confirmed 2026-07-25. It is the one place the two brand voices meet inside a single artwork: the wordmark's heavy geometric sans carries the name, and Strawford, the display and editorial voice, carries the line that explains it. That is consistent with the type system's rule that the families are split by purpose, not by heading-versus-body.
Never set the descriptor as live text beside another variant. It is part of this lockup's artwork, with its own measured spacing (§3.2). A hand-typed tagline under the stacked lockup will not match it, and until the implementation notes below are completed, it cannot be made to.
Implementation notes for a future live-text extension
Measured from the outlined artwork with the browser's own getBBox(), 2026-07-25. These are the values a live-text setting must reproduce, expressed in the lockup's own user units (viewBox 0 0 1440.01 720.59) and as scale-independent ratios.
| Property | Measured | As a ratio |
|---|---|---|
| Descriptor advance width | 1020.89 | 0.7089 of the lockup width |
| x span | 209.55 to 1230.44 | centred on the lockup |
| Band height, ascender to baseline | 92.30 | — |
Tallest glyph (d, l, t ascender) | 69.66 | — |
| x-height | 46.25 | 0.6640 of the ascender height |
| Gap, wordmark baseline to descriptor ascender | 63.81 | 0.928 of s (§3.2) |
| Glyph count | 23 paths | — |
Weight, optical size and tracking are NOT yet specified, and must not be guessed. Three independent attempts to derive them from browser text metrics disagreed with each other, because canvas actualBoundingBoxAscent, DOM range rectangles and CSS weight resolution each measure something subtly different. Publishing a figure from any one of them would be false precision of exactly the kind this system forbids.
What is established: the letterforms are unambiguously Strawford: the double-storey a, the single-storey g with an open tail, and the angled t apex all match Strawford and differ from Geomanist, and the artwork's ascender-to-x-height ratio matches Strawford's while disagreeing with Geomanist's by roughly 8%.
Before any live-text extension ships: match weight, size and tracking optically against the outlined artwork at a large size, then record the resulting values here. Recorded as §8.6.
3. Construction
3.1 The corrected mark viewBox
The mark master had a real defect. Its declared viewBox was 0 0 155.35 155.35, but its artwork spans x = −0.43 → 155.79. The artwork overflowed its own canvas by 0.43 units on the left and 0.44 on the right, so both outer arm tips were clipped by any renderer honouring the viewBox.
At favicon size the loss is about 0.04 px per side: invisible, and therefore the kind of defect that survives review indefinitely. It also made a nominally square file 1.0055:1.
The correction is -0.43 -0.43 156.22 156.22: the true artwork width, squared, with the artwork centred. Nothing is clipped and the canvas is exactly 1:1.
Accepted into the master on 2026-07-25. Fernando-Kylas_Logo - Mark & Favicon.svg now declares this viewBox itself and is the authoritative source; the pipeline's VIEWBOX_FIX entry for mark has been removed. The export is byte-identical either way, which is what made the handover safe to make. verified by hashing all three mark exports before and after.
Three further masters overflow by under 0.01 units (Illustrator rounding artefacts, not defects) and remain corrected in the pipeline:
| Variant | Master viewBox | Overflow | Export viewBox | |
|---|---|---|---|---|
| Variant | Master viewBox | Overflow | Corrected to | Corrected where |
| --- | --- | --- | --- | --- |
mark | 0 0 155.35 155.35 | 0.43 left, 0.44 right, 0.01 bottom | -0.43 -0.43 156.22 156.22 | the master ✅ |
stacked | 0 0 1440 564.48 | 0.0099 right | 0 0 1440.01 564.48 | pipeline |
stacked-descriptor | 0 0 1440 720.59 | 0.0099 right | 0 0 1440.01 720.59 | pipeline |
horizontal-abbreviated | 0 0 373.14 155.77 | 0.01 bottom | 0 0 373.14 155.78 | pipeline |
horizontal, wordmark, wordmark-abbreviated | — | none | unchanged | — |
Path data is passed through byte-for-byte, verified identical across all seven variants. Only the mark's viewBox attribute was edited in a master; no path, no id, no other attribute was touched.
3.2 The lockups share one spacing constant
Measuring the gap between the mark and the type in each lockup reveals a single constant:
| Lockup | Mark height | Gap | Gap ÷ mark height |
|---|---|---|---|
horizontal | 155.76 | 38.64 | 24.81% |
horizontal-abbreviated | 155.36 | 40.42 | 26.02% |
stacked | 275.02 | 69.47 | 25.26% |
The lockups are built on ¼ of the mark's height. Call that unit s.
s = mark height ÷ 4
In stacked-descriptor, the wordmark-to-descriptor gap measures 63.81 against s = 68.76, close to s, and slightly tighter, which is correct: a descriptor binds to the name above it more closely than the name binds to the mark.
This is a discovered constant, not an imposed one. It is recorded because every future lockup, extension or application must use it, and because it gives clear space a principled basis rather than an arbitrary one.
3.3 Clear space
Minimum clear space on all four sides is 2s, half the mark's height.
Double the lockup's own internal gap, so external breathing always exceeds internal spacing. Below that, the mark starts to belong to whatever it sits next to.
For the wordmark-only variants there is no mark, so s is keyed to the type: s = ¼ of the wordmark's x-height (115.91 units) for wordmark, and ¼ of the glyph height for wordmark-abbreviated.
Derived per variant, for implementers who size the artwork by width or height:
| Variant | s | Clear space 2s | As % of rendered width | As % of rendered height |
|---|---|---|---|---|
mark | 38.84 | 77.68 | 49.7% | 49.7% |
wordmark | 28.98 | 57.96 | 4.7% | 30.5% |
wordmark-abbreviated | 38.02 | 76.04 | 43.1% | 50.0% |
horizontal | 38.94 | 77.88 | 5.4% | 41.0% |
horizontal-abbreviated | 38.84 | 77.68 | 20.8% | 49.9% |
stacked | 68.76 | 137.51 | 9.5% | 24.4% |
stacked-descriptor | 68.76 | 137.51 | 9.5% | 19.1% |
/* Primary lockup, sized by width; clear space as padding */
.fk-logo--horizontal {
inline-size: 180px;
padding: 5.4%; /* 2s, expressed against the width */
box-sizing: content-box;
}
Clear space is a layout rule applied at use, never baked into the file. Every export is tight-fitted precisely so that clear space stays the consuming layout's decision. The one exception is mark, whose square canvas carries 0.43 units (0.28%) of vertical padding by design so the favicon canvas stays 1:1.
3.4 Minimum size
Judged from a rendered size ladder at 1× on a light ground, 2026-07-25, not calculated. The minimum is the smallest width at which every element remains separable and the type does not close up.
| Variant | Minimum screen width | Limiting element | Print minimum (derived) |
|---|---|---|---|
mark | 16 px | Arm separation | 5 mm |
wordmark-abbreviated | 24 px | f / k counters | 7 mm |
horizontal-abbreviated | 48 px | f / k counters | 13 mm |
wordmark | 80 px | Letterfit across 13 characters | 22 mm |
horizontal | 120 px | Wordmark letterfit | 32 mm |
stacked | 120 px | Wordmark letterfit | 32 mm |
stacked-descriptor | 180 px | The descriptor | 48 mm |
Print minima are conversions, not proofs. Derived at 96 dpi from the screen minimum, which is conservative, because a 300 dpi press holds finer detail than a screen, so the true print minimum is probably smaller. Confirm on a physical proof before any press run. Recorded as an open item (§8.2).
3.5 Optical alignment
- The mark is optically centred, not mathematically centred. Its artwork is 156.22 × 155.36, 0.86 units wider than tall. Do not "correct" this to a square: it is how the arms balance.
- Align lockups on the wordmark's baseline, never on the bounding box. The
fascender and theydescender both extend past the x-height band, so box-centring a horizontal lockup against adjacent text will read as misaligned. Baseline is at 155.23 of the wordmark's 190.15 height. - Never re-space a lockup. The mark-to-type gap is
s; changing it breaks §3.2. - Never rebuild a lockup from parts. Placing
fk-logo-mark.svgbesidefk-logo-wordmark.svgand eyeballing the gap will not reproducefk-logo-horizontal.svg. Use the lockup file.
4. Colour behaviour
4.1 currentColor is the production contract
Production SVGs carry fill="currentColor". The consuming application supplies the colour through CSS. There is no black file, no white file, and no green file for internal use.
<!-- One file. The colour comes from CSS. -->
<span class="fk-logo" style="color: var(--fk-text-primary)">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 190.15"
fill="currentColor" role="img" aria-label="Fernando Kylas" focusable="false">
<path d="…"/>
</svg>
</span>
.fk-logo svg { display: block; inline-size: 100%; block-size: auto; }
/* Inherits the theme automatically; no second asset, no swap logic */
.fk-logo { color: var(--fk-text-primary); }
Why this and not three colourways:
| currentColor | Three fixed files |
|---|---|
| One file per variant, 7 files | 7 × 3 = 21 files to keep in sync |
| Theme inversion is free | Needs swap logic in every consuming product |
| Cannot drift from the palette | Drifts the moment a token changes |
Correct under prefers-contrast, forced colours, print | Each mode needs its own asset |
Inherits colour.md by construction | Repeats a hex the palette already owns |
The Report Engine's dark theme is a single attribute (colour.md §6.1). A logo that inherits currentColor follows it without being told. A logo that hardcodes #0A0A0A becomes invisible.
4.2 Permitted colours
The logo takes exactly the tokens the colour language permits for a graphical object: 3:1 minimum against its ground.
| Ground | Token | Value | Ratio | Permitted |
|---|---|---|---|---|
Light paper #F6F4F1 | text-primary | #0A0A0A | 18.03 | ✅ |
| Light paper | text-secondary | #4A4A4A | 8.07 | ✅ a deliberately quiet placement |
| Light paper | accent | #869F75 | 2.65 | ❌ Never |
Raised card #FCFCFB | text-primary | #0A0A0A | 19.29 | ✅ |
Dark ink #090909 | text-primary | #FAFAF7 | 19.04 | ✅ |
| Dark ink | accent | #869F75 | 6.86 | ✅ permitted, still discouraged |
Dark raised #2A2A2A | text-primary | #FAFAF7 | 13.73 | ✅ |
The logo is never green on a light ground. At 2.65:1 it fails the 3:1 graphical-object threshold. This is the single most likely misuse in the system, because green is the brand's accent and the logo is the brand's mark, and the instinct to combine them is strong and wrong. colour.md §5.
On a dark ground green is legal at 6.86:1 but still discouraged. The logo is an identifier, not a status signal; green in this system means accent or positive finding. A green logo says something the logo should not be saying. Use it only where Fernando has approved the specific application.
4.3 Fixed-colour exports: for external use only
assets/logos/export/fixed-colour/ holds files with a literal fill, for contexts that cannot inherit a CSS colour.
Use fixed-colour files for: print and press, a press kit, Office documents (Word, PowerPoint), third-party and partner usage, event and sponsor artwork, anywhere a file leaves Fernando's control.
Never use them for: the website, the Report Engine, the Documentation Engine, the Publishing Platform, or any product that can inherit a CSS colour. A fixed file inside a themed product is a latent bug: it will look correct in light mode and disappear in dark.
| Colourway | Value | Token | For |
|---|---|---|---|
black | #0A0A0A | text-primary light | Light and white grounds |
white | #FAFAF7 | text-primary dark | Dark and photographic grounds |
Two colourways, not three. There is no green fixed export, because green fails on light grounds (§4.2) and shipping a file that is only conditionally legal to an external party guarantees it will eventually appear on a white page.
Neither colourway is pure. #0A0A0A not #000000; #FAFAF7 not #FFFFFF. colour.md §13.1 and §13.2; the reasons hold for a logo as much as for text.
4.4 Accessibility
Every production export carries:
role="img" aria-label="Fernando Kylas" focusable="false"
role="img": announces one image rather than a bag of paths.aria-label="Fernando Kylas": the logo is the name, so the name is its accessible name.focusable="false": keeps legacy IE/Edge from putting the SVG in the tab order.
Where the logo sits beside the name in live text, suppress the label, otherwise a screen reader says it twice:
<a href="/" class="fk-logo">
<svg … aria-hidden="true" focusable="false"><path d="…"/></svg>
<span class="fk-sr-only">Fernando Kylas, home</span>
</a>
Fixed-colour exports omit the accessibility attributes: they are placed by a human into a document that supplies its own context, and a stale aria-label inside a Word file helps nobody.
5. Incorrect usage
Each of these is a real failure mode with a specific consequence, not a generic prohibition.
| Misuse | What breaks | Instead |
|---|---|---|
| Stretching, non-uniform scale | The mark's radial symmetry and the wordmark's letterfit both distort. A geometric sans makes this obvious | Scale uniformly. block-size: auto |
| Re-spacing a lockup | Breaks the s constant (§3.2). The lockup no longer matches any other appearance | Use the lockup file unmodified |
| Rebuilding a lockup from parts | Same as above, plus baseline drift | Use the lockup file |
| Random colours | Contradicts a three-hue palette and usually fails 3:1 | text-primary. See §4.2 |
| Green on a light ground | 2.65:1, failing the graphical-object threshold | text-primary at 18.03:1 |
| Drop shadows, glows, bevels | The system has one shadow token and strips it in print. A shadowed logo is unprintable and dates instantly | Nothing. Contrast, not effects |
| Rotation | The asterisk is radially symmetrical, so rotation looks like a mistake rather than a choice | Never rotate |
| Opacity below 100% | Silently drops measured contrast. A logo at 40% on paper is roughly 1.9:1 | Full opacity. To quiet it, use text-secondary at 8.07:1 |
| Busy or photographic backgrounds | Contrast becomes unmeasurable and varies across the artwork | A solid token ground, or a solid panel behind the logo |
| Below minimum size | Arms merge; counters close (§3.4) | The next variant down. That is what abbreviated forms are for |
| Outlining or stroking | The artwork is filled shapes. A stroke adds weight the design does not have | Fill only |
| Gradient fill | The palette has no gradients | Solid currentColor |
| Cropping or partial bleed | The mark is a complete symbol; a cropped asterisk reads as damage | Full artwork inside its clear space |
The mark plus fk, without the full name | Two abbreviations, no identity | horizontal-abbreviated (mark + fk) is the sanctioned pairing; do not add the mark to wordmark-abbreviated |
| A hand-typed tagline under the stacked lockup | Will not match the descriptor's measured spacing (§2.7) | stacked-descriptor |
| Reordering or recolouring a single arm | It is one path. There are no parts to treat separately | Never |
| A fixed-colour file inside a themed product | Correct in light, invisible in dark (§4.3) | The currentColor export |
| Baking clear space into the file | Every consumer inherits padding it cannot remove | Tight-fitted file, padding at use (§3.3) |
Editing a file in export/ | Overwritten on the next pipeline run | Fix the master, re-run the pipeline |
6. Applications
| Application | Variant | Colour | Notes |
|---|---|---|---|
| Report cover | stacked | text-primary | Once, on the cover. Never on interior pages |
| Report running header | none | — | The report title carries the header. See §1 |
| Documentation site header | horizontal | text-primary, inherits theme | Minimum 120 px |
| Website header, desktop | horizontal | currentColor | Inherits light/dark automatically |
| Website header, mobile | horizontal-abbreviated | currentColor | Minimum 48 px |
| Client portal | horizontal | currentColor | Once, top-left, linked to the portal root |
stacked on the cover | text-primary | Print forces the light theme (colour.md §6.4), so the logo renders ink | |
| Presentation, opening slide | stacked-descriptor | text-primary or reversed | Minimum 180 px. First contact, so the descriptor earns its place |
| Presentation, closing slide | stacked | as ground requires | No logo on interior slides |
| Email signature | wordmark | black fixed-colour | Email clients cannot inherit CSS reliably, so a fixed file is correct here |
| Favicon | mark | fixed-colour, both | Ship light and dark via prefers-color-scheme in the SVG, or two files |
| App / touch icon | mark | fixed-colour | Square canvas is why the mark exists in this form |
| Social avatar | mark or wordmark-abbreviated | fixed-colour | Platforms crop to a circle, and the mark's radial symmetry survives it |
| Social post | usually none | — | The account is the attribution (§1) |
| Proposal cover | stacked-descriptor | text-primary | First contact |
| Invoice / letterhead | wordmark | black fixed-colour | A mark is redundant where the document is already attributed |
| Press kit | all seven | fixed-colour, both | The only place the full set ships together |
| Merchandise, signage | stacked or mark | as substrate requires | Confirm on a physical proof (§3.4) |
Favicon
<link rel="icon" href="/fk-logo-mark-black.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="/fk-logo-mark-black-180.png">
The mark's corrected square viewBox (§3.1) is what makes this work without a separate icon file. A single SVG favicon can adapt to the browser's theme with an embedded media query: the one sanctioned exception to "no colour inside a logo file", because a favicon has no CSS context to inherit from:
<svg xmlns="http://www.w3.org/2000/svg" viewBox="-0.43 -0.43 156.22 156.22" fill="#0A0A0A">
<style>@media (prefers-color-scheme: dark) { :root { fill: #FAFAF7 } }</style>
<path d="…"/>
</svg>
7. Design decisions
7.1 Why the mark exists at all, given typography carries the identity
§1 records what the mark means; this is the separate question of why the system carries one at all, since colour.md §1 argues the identity lives in the type. The answer is the sizes and shapes typography cannot serve: a 16 px favicon, a circular avatar, a square app icon. fernandokylas at 16 px wide is illegible; the mark at 16 px is not. The mark is a wayfinding device for small and square spaces, not the identity itself, which is why it is never the primary identifier on first contact (§2.1).
7.2 Why the wordmark is one lowercase word
Three consequences, all deliberate:
- One object, not two words.
fernandokylasbehaves as a single shape, which is why the horizontal lockup holds together at 120 px where "Fernando Kylas" would break into two. - Lowercase is quieter. Capitals assert; lowercase states. The identity's stated qualities are quietly confident, and the wordmark is where that is literally set in type.
- It matches the URL. The name a reader types and the name they see are the same string.
7.3 Why restraint matters here specifically
Every element of this identity is load-bearing, so there is nothing to hide behind. A system with a pattern library, three accent colours and an illustration style can absorb a weak logo. This one cannot: if the wordmark is stretched or the mark is clipped, there is no decoration to distract from it. Restraint raises the cost of every error, which is the argument for documenting the errors. Hence §5.
7.4 Why the export pipeline is a script and not a manual export
Seven variants × three outputs = 21 files, each needing identical cleaning, the same viewBox corrections and the same accessibility attributes. Done by hand, they drift, which is exactly what happened in Figma, where two colour styles sat one hex digit from canon for long enough to pass review (colour.md §12.2). build-exports.py --check makes drift a failure rather than a discovery.
7.5 Why corrections went to the pipeline first, and the master second
assets/logos/source/ holds Fernando's authored artwork. The mark's viewBox defect was corrected in the pipeline rather than the master, because the master is his and the correction was a proposal until he accepted it.
He accepted it on 2026-07-25, and the sequence is the point, because the pipeline already produced the corrected output, accepting it into the master changed nothing downstream: all three mark exports hashed identically before and after. The proposal had already been proved before it was applied to the source.
That is the pattern for the three remaining rounding corrections, and for any future one: correct in the pipeline, prove the output, then hand the correction to the master.
8. Open items
Seven items were opened with this chapter. Four are closed. The three that remain were acknowledged in Fernando's approval and intentionally excluded from it, because each is an operational follow-up, and none can change the artwork, the architecture or the rules. Resolved items are kept alongside open ones so a reader can see what this chapter did not know and when that changed.
8.1 The mark's meaning is undocumented · LOGO-01 · RESOLVED 2026-07-25
Resolved. Fernando confirmed the rationale on 2026-07-25 and it is now canonical in §1: the star as hope, the asterisk as understanding, one philosophy of clarity emerging from uncertainty. The exploratory reading was replaced, not amended.
Retained here for provenance rather than deleted, so a reader can see what this chapter did not know and when that changed. Recorded in DECISIONS.md.
This was the chapter's only blocking item. No blocking item now remains.
8.2 Print minima are unproofed · LOGO-02 · Open
§3.4's print column is converted from screen minima at 96 dpi, which is conservative. A physical proof would likely allow smaller. Needed before any press run.
Acknowledged and excluded from the 2026-07-25 approval. It cannot invalidate an approved rule: a proof can only ever permit a smaller size than the conservative figure already documented. If it does, §3.4 is relaxed by a superseding decision.
8.3 The mark's viewBox correction needs accepting into the master · LOGO-03 · RESOLVED 2026-07-25
Resolved. The correction was accepted into Fernando-Kylas_Logo - Mark & Favicon.svg, which now declares viewBox="-0.43 -0.43 156.22 156.22" and is the authoritative source. The pipeline's VIEWBOX_FIX entry for mark has been removed. Export output verified byte-identical before and after by hashing all three mark files. §3.1 and §7.5.
Still open, deliberately: the three sub-hundredth rounding corrections for stacked, stacked-descriptor and horizontal-abbreviated remain in the pipeline. They are Illustrator rounding artefacts of 0.01 units or less, not defects, and are best folded in whenever one of those masters is next re-exported from Illustrator rather than hand-edited now.
8.4 No PNG rasters are produced · LOGO-04 · RESOLVED 2026-08-25
assets/logos/README.md allows PNG at 1× / 2× "where a raster is genuinely required". None was required while every consumer took SVG, so production was deferred until a real consumer exists, rather than generating 42 unused files.
Acknowledged and excluded from the 2026-07-25 approval. A raster derived from an approved master inherits its approval; generating one is production work, not a design decision.
Resolved 2026-08-25 on the condition this item set. The Brand System site needs an apple-touch-icon, which is the one icon slot that accepts no SVG, so the consumer the deferral was waiting for exists. One file was produced, not forty-two: export/raster/fk-logo-mark-black-180.png, generated by assets/logos/build-rasters.py from the approved mark master. Nothing about the identity was decided; the raster inherits this chapter's approval, as the paragraph above provides for.
It is the one export that carries its clear space, and §3.4's rule is the reason rather than an exception to it. Clear space stays the consuming layout's decision because a consuming layout exists; a touch icon has none, since iOS masks and places the file with no CSS context. The canonical minimum 2s from §3.3 is baked in, which makes the mark 50.1% of the canvas and as large as this chapter permits. The ground is opaque paper because iOS composites a transparent icon onto black.
8.5 Variant approval · LOGO-05 · RESOLVED 2026-07-25
Resolved. Fernando Kylas approved the Identity System on 2026-07-25 as the first canonical release. All seven variants and both fixed colourways are Approved and canonical, together with the philosophy that governs them. See What is approved above and DECISIONS.md.
This was the one item that could never be closed by further work. It is worth naming what changed: assets/logos/export/ is now canonical approved output rather than derived-and-pending. The pipeline's role is unchanged: export/ is still generated, still never edited by hand, and build-exports.py --check still fails on drift. What changed is that drift is now a governance breach rather than a stale file.
8.6 The descriptor's typeface is unconfirmed · LOGO-06 · RESOLVED 2026-07-25
Resolved. The descriptor is set in Strawford, confirmed by Fernando on 2026-07-25 and documented in §2.7. The previous entry guessed Geomanist at a lighter weight; that guess was wrong and is superseded. Independent checks agree with the confirmation: the letterforms match Strawford's a, g and t, and the ascender-to-x-height ratio matches Strawford while disagreeing with Geomanist by roughly 8%.
The residual task this entry once carried is now tracked separately as §8.7 LOGO-07, so that each item excluded from the approval has an addressable ID.
8.7 The descriptor's weight, size and tracking are unspecified · LOGO-07 · Open
The descriptor's typeface is confirmed (§8.6); its weight, optical size and tracking are not. Three attempts to derive them from browser text metrics (canvas metrics, DOM range rectangles, and CSS weight resolution across the three declared Strawford faces) disagreed with each other, so no figure has been published. Publishing the best-agreeing number would be false precision in a document where every other value was measured.
§2.7 instead records the artwork geometry a live-text setting must reproduce, and requires the three remaining values to be matched optically against the outlined artwork before any live-text extension ships.
Acknowledged and excluded from the 2026-07-25 approval. Needed only if and when the descriptor is ever set as live text. Nothing currently requires it: the descriptor ships as outlined artwork inside one lockup, and the artwork remains the specification either way.
Deferred deliberately, on a stated condition. Fernando's decision, 2026-08-26. This item closes when, and only when, a surface sets the descriptor as live text. Until then it is not unfinished work: the outlined artwork is a complete specification for every use the system has, and publishing derived figures that nothing consumes would add three unverifiable numbers to a chapter whose other values were all measured. LOGO-04 was deferred on the same shape of condition and closed the day a real consumer appeared.
And the method is decided in advance, so the next attempt does not repeat the last one. The three failed derivations all read rendered text metrics from a browser, which is why they disagreed. The descriptor is outlined paths in the master, so cap height, advances and letter positions are measurable from the geometry directly. Measure the artwork, never the rendering.
9. Identity evolution
This is not a history of the artwork. It is a record of how the meaning accumulated, because the symbol acquired its meanings before it acquired a specification, and a reader who knows only the current state will eventually mistake accumulation for design.
Most identities are drawn and then explained. This one ran the other way: the symbol meant something for years before anyone asked it to work at 16 px. Four stages, each of which added a meaning without displacing the one before it.
| Stage | Meaning added | What it established |
|---|---|---|
| 01 A personal symbol | hope | The star stood for hope during a difficult period in Fernando's family, long before it was anything else. It carried no professional weight and was not intended to. The symbol was never decorative, because it was never chosen for how it looked. |
| 02 A professional symbol | understanding | As the work moved into consulting, the same shape came to sit alongside the asterisk of publishing, research and technical documentation: the mark that tells a reader there is more to know. Nothing was redrawn. A second meaning arrived because the context changed, not because the symbol did. |
| 03 A unified identity | both, as one | The two meanings turned out to be one. Hope is clarity arriving in a personal life; understanding is clarity arriving in a client's. Recognising that they were the same philosophy is what made the symbol usable as an identity rather than as two coincidences, and it is why §1 refuses to present them as separate stories. |
| 04 A canonical Brand System | inheritable | The final stage added no meaning at all. It made the existing meaning transferable: measured, documented, versioned, and answerable by someone who was not there. Until 2026-07-25 this chapter could describe how the mark behaves but not why it exists, and a system that cannot answer why cannot survive the person who built it. |
Meaning accumulated; it was never assigned. That is why the rationale is credible, and why the next extension of this identity has to earn its meaning the same way rather than being given one.
10. Identity stewardship
From here the identity is governed by documented principles rather than personal preference. That is a deliberate transfer of authority, and it changes what a future disagreement looks like.
- The rationale is canonical: what the mark means is written down, not remembered.
- Decisions are preserved, not overwritten: the exploratory reading this chapter once carried is still on record in
DECISIONS.md, marked superseded. - A change supersedes; it does not replace: a new decision cites the one it retires and says why.
- The identity evolves through governance, not opinion: a proposal is answered from the documentation, or it changes the documentation.
The practical effect is small and permanent. A proposal to use the mark as a pattern, a texture or a repeated background is now answerable from §1 rather than from taste; the mark already means something, so it cannot be decorative. If that constraint is ever wrong, the way to change it is to supersede the decision in DECISIONS.md with a reason, not to quietly do something different.
Nothing here removes Fernando's authority; he remains the only approver. What it removes is the need for him to be present for the identity to be applied correctly.
A brand system earns its name at the moment it stops needing its author. Every measurement in this chapter was taken rather than estimated, every prohibition carries the consequence that justifies it, and every open question is recorded as a question rather than smoothed over. That is not thoroughness for its own sake. It is what allows someone arriving in five years to apply this identity correctly, disagree with it precisely, and change it accountably.
11. In closing
Seven variants, one production contract, and a mark that meant something before it was a logo. What this chapter establishes is that the identity is small, deliberate and rarely used: one appearance per surface is the default, and where the logo is absent typography is doing the identifying.
The practical consequence is that most identity questions are answered by choosing a variant and then leaving it alone. The artwork ships once, in one file per variant, and takes its colour from the context that uses it. Clear space is applied at use and never baked in. A fixed-colour file is for somewhere that cannot inherit CSS, and nowhere else.
This is the only approved chapter in the system, which means something specific: a change here supersedes a decision rather than editing a file. The rationale is approved alongside the artwork, because the reasoning is the part that has to survive.
Next: Accessibility, the gate every chapter before it must clear. All six of its sections carry thresholds as of 2026-08-25. The chapter is written and not yet approved.
12. Provenance
- Artwork: seven SVG masters in
assets/logos/source/, authored by Fernando in Illustrator. Six were read read-only and are unmodified; one was edited with authorisation. See Master edited below. - Measurements: artwork bounds, lockup gaps and the
sconstant measured 2026-07-25 using a browser'sgetBBox()against the masters and against every export. Path data verified identical between master and export for all seven variants. - Minimum sizes: judged from a rendered size ladder at 1× on
#F6F4F1, 2026-07-25. A judgement, not a measurement, §3.4. - Figma: page
04 — Logo System(14:2) in file8THxEHQJfyzTAdJbd83YcOheld 14 unannotated specimen frames (seven variants in two columns) with no clear-space, minimum-size or usage guidance. Inspected 2026-07-25. - Rationale: §1 was confirmed by Fernando Kylas on 2026-07-25 and is canonical. The exploratory reading it replaced is recorded in
DECISIONS.mdfor provenance; it must not be cited. - Descriptor typeface: Strawford, confirmed by Fernando Kylas on 2026-07-25. The previous observation-from-rendering (Geomanist, lighter weight) was wrong and is superseded.
- Master edited:
Fernando-Kylas_Logo - Mark & Favicon.svg: theviewBoxattribute only, on 2026-07-25, with Fernando's explicit authorisation. No path data, id or other attribute was touched, and all three mark exports hash identically before and after. - Approval: the Identity System was approved by Fernando Kylas on 2026-07-25 as the first canonical release, covering all seven variants, both fixed colourways and the governing philosophy.
LOGO-02,LOGO-04andLOGO-07were acknowledged and intentionally excluded. Recorded inDECISIONS.md. - Release designation: the first canonical release, in Fernando's own words. No formal release-numbering scheme has been decided;
ROADMAP.mdcarries Versioning and release process in its backlog. The document version above (4) is this chapter's revision count, not a release number. - Not carried forward: nothing. This is the first Identity System chapter; there was no previous specification to supersede.