Footer
The footer is pure ink — --bg-inverse, white type, mono microcopy. It's the most recognizable
Miltinson surface after the wordmark, and it's deliberately quiet.
Prototyped in design-system-docs/ui_kits/marketing/HeaderFooter.jsx.
Recipe
export function SiteFooter() {
return (
<footer className="footer">
<div className="footer__top">
<div>
<p className="footer__wordmark">
Miltinson<span className="footer__dot">.</span>
</p>
<p className="footer__tagline">Builder · Consultant · Founder</p>
</div>
<nav className="footer__nav" aria-label="Footer">
<a href="/portfolio">Portfolio</a>
<a href="/store">Store</a>
<a href="/services">Services</a>
<a href="/about">About</a>
</nav>
</div>
<p className="footer__meta">
© 2026 Miltinson Technologies — practical tech, honestly built.
</p>
</footer>
);
}.footer {
background: var(--bg-inverse);
color: var(--fg-inverse);
padding: var(--space-8) var(--gutter) var(--space-7);
margin-top: var(--space-12);
}
.footer__top {
display: flex;
justify-content: space-between;
align-items: flex-start;
gap: var(--space-7);
padding-bottom: var(--space-6);
border-bottom: 1px solid var(--border-inverse);
}
.footer__wordmark {
font-weight: var(--fw-semibold);
font-size: var(--fs-2xl);
margin: 0;
}
.footer__dot {
color: var(--accent);
}
.footer__tagline {
font-family: var(--font-mono);
font-size: var(--fs-2xs);
letter-spacing: var(--tr-caps);
text-transform: uppercase;
color: oklch(100% 0 0 / 0.55);
margin-top: var(--space-3);
}
.footer__nav {
display: flex;
gap: var(--space-6);
}
.footer__nav a {
color: var(--fg-inverse);
font-size: var(--fs-sm);
}
.footer__nav a:hover {
color: var(--signal-400);
}
.footer__meta {
font-family: var(--font-mono);
font-size: var(--fs-xs);
color: var(--ink-400);
margin: var(--space-6) 0 0;
}Rules
- Hairlines on dark use
--border-inverse(12% white) — never--border, which disappears on ink. - Link hover shifts to
--signal-400— the lighter amber step keeps AA on black. - Mono microcopy for the tagline and legal line; body sans for nothing-else-down-here.
- The dot-grid texture is allowed here at 8% opacity, but the plain ink block is the default.