# Asset credits & provenance

All resources below are free-licensed. Retrieved for this site on 2026-10-01.
No photography is used: every image on the page is generated artwork
(drawn programmatically, see below).

## Typefaces (SIL Open Font License 1.1)

- **Archivo** (variable, wdth/wght) - 3 subset webfonts
  `assets/fonts/k3kQo8UDI-1M0wlSf*.woff2` + `assets/img/Archivo-Variable.ttf`
  source: https://fonts.google.com/specimen/Archivo
  TTF: https://raw.githubusercontent.com/google/fonts/main/ofl/archivo/Archivo%5Bwdth,wght%5D.ttf
- **Newsreader** (variable, roman + italic, opsz/wght) - 6 subset webfonts
  `assets/fonts/cY9CfjOCX1hbuyalUrK439*.woff2` (roman) +
  `assets/fonts/cY9AfjOCX1hbuyalUrK439*.woff2` (italic) +
  `assets/img/Newsreader-Variable.ttf`
  source: https://fonts.google.com/specimen/Newsreader
  TTF: https://raw.githubusercontent.com/google/fonts/main/ofl/newsreader/Newsreader%5Bopsz,wght%5D.ttf
- **Space Mono** (400 + 700) - 6 subset webfonts
  `assets/fonts/i7dPIFZifjKcF5UAWdDR*.woff2` (400) +
  `assets/fonts/i7dMIFZifjKcF5UAWdDR*.woff2` (700) +
  `assets/img/SpaceMono-Regular.ttf`
  source: https://fonts.google.com/specimen/SpaceMono

`assets/css/fonts.css` is the Google Fonts CSS rewritten to point at the
local `assets/fonts/` files. Variable TTFs are kept for reference/regeneration.

## JavaScript (all free for commercial use)

- **gsap.min.js** 3.12.5 - MIT / gsap-standard-free
  source: https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.5/gsap.min.js
- **ScrollTrigger.min.js** 3.12.5 - MIT / gsap-standard-free
  source: https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.5/ScrollTrigger.min.js
- **lenis.min.js** 1.3.11 - MIT
  source: https://cdn.jsdelivr.net/npm/lenis@1.3.11/dist/lenis.min.js

## Icons (MIT, Solar icons by 480 Design)

- `assets/icons/arrow-up-right.svg` - source: https://api.iconify.design/solar/arrow-right-up-bold.svg
- `assets/icons/arrow-down.svg` - source: https://api.iconify.design/solar/arrow-down-linear.svg

Both are inlined in `index.html` (paths normalised to `currentColor`);
the files are kept as their source of record.

## Generated artwork (original, drawn for this site)

- `assets/img/cover-threshold.png`, `cover-cadence.png`, `cover-harmattan.png`,
  `cover-atlas.png` - project cover compositions generated with Pillow by
  `gen_art.py` (typographic/geometric compositions; 2x supersampled).
- `assets/img/app-threshold.png` - brand guidelines spread plate (wordmark
  construction, type scale, colour chips, usage rules), same generator.
- `assets/img/app-cadence.png` - social/issue template kit plate (four 1:1
  templates plus newsletter header), same generator.
- `assets/img/plate-signage.png` - signage kit board (directional panel with
  five language layers, room and information signs, colour bar, production
  spec), same generator.
- `assets/img/plate-collateral.png` - Threshold Press stationery set
  (letterhead, card front and reverse, compliment slip, DL envelope),
  same generator.
- `assets/img/plate-strip.png` - full-bleed poster applications (Threshold
  launch, Cadence issue 10, Harmattan cafe poster), same generator.
- `assets/img/prev-*.jpg` - 760 px hover previews derived from the covers.
- `assets/img/og.png` - Open Graph card (1200x630), same generator.
- `assets/img/grain.png` - 400px tileable paper-grain overlay (Pillow).

They illustrate fictional case studies: "Threshold Press", "Cadence
Quarterly", "Harmattan Roasters" and "Atlas Archive" are demo content for
this portfolio template, not real client work. The persona (Johnson
Afolayan) is fictional and safe to swap for a real identity later.
