Logo: client-supplied lockup adopted; dot-sphere retained as brand graphic
The logo is now the client's own artwork — a fan/burst symbol with italic serif "atoms" and upright sans "AI". The halftone dot-sphere stays, with a different job: it is the loading animation and the graphic language, not the mark.
Changed
- The logo is the supplied lockup, adopted as artwork rather than rebuilt: fan/burst symbol, italic serif "atoms", upright sans "AI", and a period. Monochrome, outlined, and shipped in exactly three fills — ink, white and currentColor. Sky is no longer a logo colour; the accent belongs to the page.
- The lockup is no longer live text, so its two halves can no longer drift apart at any size.
- The navbar orb, the footer lockup, the footer's giant baseline wordmark, the OG cards, the favicon, the app icons and the apple-touch icon all carry the new artwork.
- The preloader keeps its timing to the frame: the graphic still scales in at 0.00s and the panel still lifts at 1.35s.
Kept
- The halftone dot-sphere and the phyllotaxis spiral, in full — the preloader's opening beat, the homepage hero stage, the capability cards and stages, the case-study cover tiles and the section ornaments. Only their role changed, from mark to brand graphic, and /brand now has a Graphics section that says so.
Removed
- The dot-family logo files: the dot-A monogram, its solid-A fallback, its own lockup, its favicon and its app icon. There is no letterform monogram any more; a favicon, an avatar and an app tile carry the square crop of the supplied symbol.
Engineering notes 6
- scripts/split-logo.mjs derives every distributable file from that one artwork. It measures each path's bounding box, cuts the row at its widest horizontal gap so the leftmost cluster becomes the symbol, crops a viewBox and sets a fill. Crop and fill are the only operations — no glyph is redrawn, re-spaced or re-weighted — and it prints the bounds it measured.
- "AtomsAI" used to be set as DOM text in Geist and glued to a mark with a measured gap, which meant a gap constant, a width ratio and a container-query fallback to keep the two halves in step. The artwork's own bounds are the ratio now.
- The OG card art is one sharp() call on lockup-reversed.svg. The CanvasKit glyph-by-glyph wordmark renderer is gone with the webfont it existed to work around.
- src/lib/brand-dots.ts and its one generator are unchanged, so the rendered graphic and the distributable SVGs still cannot drift.
- The retired dot-family geometry is kept for reference in design/drafts/dot-family/, outside the built site.
- The preloader's 0.29s beat is now the lockup being revealed beneath the sphere, because a filled path has no characters to stagger.