FULL BRAND KIT v12.0.0 TECHNICAL SPEC

Identity & Assets

A comprehensive reference of the design primitives, assets, and core principles governing the visual identity of ewancroft.uk. Derived from physical precision and technical integrity.

[01]

Identity

SYSTEM IDENTIFICATION
DOMAIN
ewancroft.uk
TAGLINE
Anglo-Scottish pagan, poet, and programmer.
PERSONALITY
Technical · Personal · Exploratory
AESTHETIC
Minimalist, systematic, typography-led
PRIMARY LOGO
Favicon Primary
[02]

Colour Architecture

Derived from brand OKLCH hues (140–160°). Neutrals are tinted toward the brand hue (Chroma 0.005–0.01). Implementation via light-dark() ensures seamless theme transitions based on user OS preference.

Ink

--color-ink-*
50
100
200
300
400
500
600
700
800
900
950

Canvas

--color-canvas-*
50
100
200
300
400
500
600
700
800
900
950

Primary

--color-primary-*
50
100
200
300
400
500
600
700
800
900
950

Secondary

--color-secondary-*
50
100
200
300
400
500
600
700
800
900
950

Accent

--color-accent-*
50
100
200
300
400
500
600
700
800
900
950

Semantic Surfaces

sunken --surface-sunken
base --surface-color
raised --surface-raised
[03]

Typography

Variable Inter for all prose; JetBrains Mono for technical strings. Modular scale at ratio 1.25, fluid via clamp().

SANS / INTER VARIABLE / 400-800
AaBbCcDdEeFfGg
MONO / JETBRAINS MONO / 400
0123456789!?@#
TOKEN SAMPLE WEIGHT
--text-xl
Display heading
800
--text-lg
Section heading
700
--text-md
Body default
400
--text-sm
Labels and secondary copy
400
--text-xs
Captions and metadata
400
[04]

Prose Styling

Scoped under .prose for blog content. All elements are design-token compliant and rely on semantic hierarchy.

Paragraphs

Default text flow, 1.75 line-height.

Headings

1.25 modular scale, -0.025em tracking.

Links

Primary color, underlined with 35% opacity mix.

Code

JetBrains Mono, accent-600 color, raised background.

Blockquote

Primary-500 left border, italicized text.

Tables

GFM style, responsive overflow, alternating row hover.

[05]

Geometry

Spacing Scale

--space-2xs
2px
--space-xs
4px
--space-sm
8px
--space-3
12px
--space-md
16px
--space-6
24px
--space-lg
32px
--space-12
48px
--space-xl
64px
--space-2xl
96px

Corner Radii

--radius-xs 4px
--radius-sm 6px
--radius-md 12px
--radius-lg 16px
--radius-xl 24px
--radius-full 9999px
[06]

Motion

Duration

--duration-instant 100ms
--duration-fast 200ms
--duration-normal 300ms
--duration-slow 500ms

Easing

--ease-out-quart bezier(0.25, 1, 0.5, 1)
--ease-out-expo bezier(0.16, 1, 0.3, 1)
[07]

Iconography

System icons are implemented as SVG components with a default size of 16px. They inherit currentColor for seamless integration. Pagan symbols use currentColor for stroke (pentacle) or fill (triskele).

Bluesky.svelte
Pentacle.svelte
Triskele.svelte
[08]

Components

Panel Primitive

panel.component

Standard container for technical information and data displays.

Interactive Elements

Primary Button
Inline Semantics
code-snippet highlight

Blockquote

"Every element must earn its place on the screen. If it doesn't serve a functional purpose, it is slop."
[09]

Layout Systems

Three standardized shells constrain content width and manage vertical rhythm. All layouts are responsive and adapt to container widths.

Wide Shell .shell-wide
72rem

Home, blog, about, projects, meta, brand

Prose Shell .shell-prose
72rem + TOC

Blog posts

Narrow Shell .shell-narrow
48rem

Subscriptions, support

[10]

Voice & Tone

Technical

DO

Use precise terminology, cite sources, and explain technical trade-offs.

DON'T

Use marketing fluff, "revolutionary" buzzwords, or hand-wavy generalizations.

Personal

DO

Write from a first-person perspective, share personal findings, and admit uncertainty.

DON'T

Use the corporate "we" or attempt to sound like an authoritative institution.

Exploratory

DO

Document experiments (even failed ones) and ask open-ended questions.

DON'T

Present every project as a finished, perfect product.

[11]

Manifesto

01

Systematic colour

OKLCH throughout — brand-hue-tinted neutrals (140–160°), no pure black or white, no AI-standard palettes. Every shade is derived and purposeful.

02

Purposeful spacing

Every gap, padding, and margin derives from the 4pt scale with semantic token names. No magic numbers anywhere in the codebase.

03

Typography as hierarchy

Strict 1.25 modular scale with fluid clamp() sizing. Narrow columns — 65–75ch — and line-height that scales inversely with size.

04

Functional interactivity

Motion reserved for state changes only. Transitions are brief and purposeful — never decorative. Respects prefers-reduced-motion.

05

Anti-slop

Absolute ban on AI-typical patterns — no side-stripe borders, no gradient text, no hollow card aesthetics, no generic colour choices.

[12]

Assets

Core brand assets and dynamic generation endpoints.

Favicon

Favicon
PATH
/favicon.svg
SIZE
32×32
FORMAT
SVG

Open Graph (Dynamic)

OG Image Preview
ENDPOINT
/og/generate
SIZE
1200×630
PARAMS
title, type
OG COLOUR PALETTE