{"$schema":"Canonical design tokens for beneficialmedia.com. Single source of truth for the /brand page, the MCP server, and /brand/tokens.{json,css}. scripts/check-brand-tokens.mjs fails the build if these drift from app/globals.css or a text pair drops below WCAG AA.","name":"Beneficialmedia portfolio design system","version":"1.0.0","color":{"light":{"bg":"#fafaf9","bg-elevated":"#ffffff","fg":"#0a0a0a","fg-muted":"#525252","border":"#e5e5e5","accent-home":"#0a0a0a","accent-work":"#3a3d98","accent-writing":"#0f766e","accent-about":"#c01a30","accent-brand":"#b65825","accent-fg":"#ffffff"},"dark":{"bg":"#0a0a0a","bg-elevated":"#161616","fg":"#fafafa","fg-muted":"#a3a3a3","border":"#262626","accent-home":"#fafafa","accent-work":"#818cf8","accent-writing":"#5eead4","accent-about":"#f87171","accent-brand":"#d7733c","accent-fg":"#0a0a0a"}},"colorRoles":{"bg":"Page background.","bg-elevated":"Cards, tiles, pills, and anything that sits on the page.","fg":"Primary text and icons.","fg-muted":"Secondary text: meta, captions, eyebrows, descriptions.","border":"Hairlines, card outlines, dividers.","accent-home":"Home section accent (ink).","accent-work":"Work section accent (indigo).","accent-writing":"Writing section accent (teal).","accent-about":"About section accent (red).","accent-brand":"Brand section accent (Beneficialmedia orange, AA-safe in both themes).","accent-fg":"Text and icons on an accent fill.","section-accent":"Runtime alias of the current section's accent; drives selection, focus rings, hovers, and primary pills."},"contrast":[["fg","bg"],["fg","bg-elevated"],["fg-muted","bg"],["fg-muted","bg-elevated"],["accent-home","bg"],["accent-work","bg"],["accent-writing","bg"],["accent-about","bg"],["accent-brand","bg"],["accent-fg","accent-home"],["accent-fg","accent-work"],["accent-fg","accent-writing"],["accent-fg","accent-about"],["accent-fg","accent-brand"]],"font":{"display":{"family":"Source Sans 3","weights":[400,600,700],"cssVar":"--font-display","role":"Headings and display type. Bold (700), tracking -0.015em."},"body":{"family":"Jost","weights":[400,500,600],"cssVar":"--font-body","role":"Body copy and UI. Futura-inspired geometric voice carried from the 2020 site."}},"type":[{"name":"display","size":"clamp(2.75rem, 6vw + 1rem, 6rem)","lineHeight":"0.95","tracking":"-0.025em","weight":700,"font":"display","usage":"Home hero only."},{"name":"page-title","size":"2.25rem → 3.75rem at md","class":"text-4xl md:text-6xl font-bold","font":"display","usage":"One per page: About, Work, case studies, tailored routes."},{"name":"essay-title","size":"2.25rem → 3rem at md","class":"text-4xl md:text-5xl font-bold","font":"display","usage":"Essay headers."},{"name":"section-title","size":"1.875rem → 2.25rem at md","class":"text-3xl md:text-4xl font-bold","font":"display","usage":"Section headings within a page."},{"name":"card-title","size":"1.25rem–1.5rem","class":"text-xl / text-2xl font-bold","font":"display","usage":"Work cards, timeline entries, essay rows."},{"name":"lead","size":"1.125rem","class":"text-lg leading-relaxed","font":"body","usage":"Intro paragraph under a page title."},{"name":"body","size":"1rem","class":"text-base leading-relaxed","font":"body","usage":"Prose. Measure about 720px (65–80 characters)."},{"name":"small","size":"0.875rem","class":"text-sm","font":"body","usage":"Pills, card summaries, captions in the viewer."},{"name":"eyebrow","size":"0.75rem","class":"text-xs uppercase tracking-[0.22em]","font":"body","usage":"Labels above titles (e.g. EDUCATION)."},{"name":"meta","size":"0.75rem","class":"text-xs uppercase tracking-[0.18em]","font":"body","usage":"Dates, ranges, gallery captions."},{"name":"menu","size":"clamp(2.5rem, 8vw, 5rem)","class":"font-bold leading-none tracking-tight","font":"display","usage":"Primary navigation items in the full-screen menu."}],"radius":{"card":"14px","tile":"6px","pill":"9999px"},"space":{"scale":"Tailwind 4px base (1 = 0.25rem)","container":{"maxWidth":"1280px","gutter":"clamp(1.25rem, 4vw, 3rem)","class":"container-page"},"measure":{"essay":"720px","pitch":"48rem (max-w-3xl)"},"sectionGap":"6rem between page sections (mt-24), 3rem within (mt-12)"},"motion":{"ease":[0.19,1,0.22,1],"page":"Fade up 8px over 400ms on every route change (app/template.tsx).","reveal":"Cards fade up 24px over 600ms when scrolled into view, staggered 80ms.","menu":"Three-layer clip-path circle reveal from the trigger over 800ms.","hover":"Color and ring transitions; image tiles scale to 1.03 over 300ms.","reducedMotion":"prefers-reduced-motion collapses all animation and transition durations to ~0."},"focus":{"ring":"2px solid var(--section-accent), offset 3px, radius 2px","rule":"Every interactive element shows it on :focus-visible; never remove it without a replacement."}}