Color Melt treats typography as a structural decision, not just a stylistic one. The pairing of a bold display typeface with a clean, legible body font gives every page two distinct visual registers: one for personality and first impressions, one for reading and understanding. Decorative elements — cursor drops, lava blobs, animated gradients — are layered on top of this typographic foundation rather than competing with it. The result is a portfolio that can afford to be vivid and unusual without ever making a visitor work to find the actual content.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/color-melt/llms.txt
Use this file to discover all available pages before exploring further.
Font Families
Color Melt uses two font families, both loaded from Google Fonts and declared at the top ofassets/main.css:
| Role | Family | Class | Usage |
|---|---|---|---|
| Display / Heading | Caprasimo | .font-display | Page titles, hero text, large decorative headings |
| Body / UI | Plus Jakarta Sans | .font-sans | Body copy, navigation labels, form fields, labels |
.font-display and is best suited to short, high-impact text at large sizes.
Plus Jakarta Sans is a geometric sans-serif with excellent readability at small and medium sizes. It is the default font-family on html and body, meaning all text inherits it unless .font-display overrides it.
To swap either family, update the @import URL and the corresponding font-family declarations in assets/main.css.
Visual Hierarchy
Color Melt pages follow a consistent heading structure that guides the reader’s eye from the most important information down to supporting detail:<h1>— Page name or hero headline. Use.font-displayand a large text scale (text-5xltotext-8xl) to make the page identity unmistakable.<h2>— Section headings. These divide the page into scannable regions. Typically rendered in Ink with a medium-to-large text size.<h3>and below — Sub-section labels, card titles, and grouped content headers.- Supporting text — Metadata, dates, tags, and labels use
.text-smor.text-xswith reduced opacity (text-ink/60) to recede visually without disappearing entirely.
Spacing System
Color Melt uses a consistent Tailwind-based spacing scale throughout the stylesheet. Pages do not feel cramped because spacing decisions are intentional and repeated, not arbitrary. Key layout patterns fromassets/main.css:
| Pattern | Class(es) | Effect |
|---|---|---|
| Maximum content width | max-w-7xl | Caps content at 80rem (1280px) on wide screens |
| Horizontal centering | mx-auto | Centers the constrained container in the viewport |
| Section padding | py-12, py-20 | Breathing room above and below major page sections |
| Horizontal gutters | px-4, px-6, px-8 | Side padding on containers; increases at breakpoints |
| Section gaps | gap-8, gap-16 | Consistent spacing in flex/grid layouts |
| Vertical stacks | space-y-6 | Even spacing between stacked card or text elements |
max-w-7xl mx-auto container so the layout stays consistent with the rest of the theme, even after content customization.
Navigation Layout
The navigation bar is a fixed strip that stays pinned to the top of every page (fixed top-0 left-0 right-0 z-40). It holds nine color-coded pill tabs — one for each page in the portfolio — and scrolls horizontally on narrow screens using overflow-x-auto with the .no-scrollbar helper to hide the scrollbar track.
Each tab is assigned a background color from the dye palette, creating an instant visual map of the site:
hover:-translate-y-1) and gains a deeper Ink shadow, reinforcing the sticker-like, tactile quality of the navigation pills. Tab changes animate with a spring (stiffness 300, damping 30) via the Navigation component.
Page Transitions
ThePageTransition component wraps each page’s content in an animated entry and exit sequence. When a visitor navigates between pages, the outgoing content fades or slides out while the incoming content eases in — keeping the “melting” visual language consistent between route changes rather than cutting abruptly from one page to another.
Because PageTransition wraps the content layer rather than the navigation bar, the fixed nav stays visible and stable throughout every transition, so visitors never lose their sense of where they are in the site.
Edit
assets/main.css for typography changes. Avoid overriding the .font-display class unless you also update any animation that depends on letter spacing.