From c5235335313e91097fe75e0ae3c2c81fbd9c8908 Mon Sep 17 00:00:00 2001 From: Mannu Date: Sun, 31 May 2026 11:32:44 +0530 Subject: [PATCH] feat(marketing): editorial fonts (Fraunces/Newsreader/JetBrains Mono) site-wide MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Loading: - Fraunces, Newsreader, JetBrains_Mono added to (marketing)/layout.tsx as CSS variables -- one load point, cached for all marketing pages - 3 utility classes added to globals.css: .font-fraunces, .font-newsreader, .font-jetbrains - about/page.tsx: removed duplicate font loading (now from layout) Font roles applied: Fraunces → all h1/h2/h3 headings + blog card titles + hero h1 (italic) Newsreader → long prose blocks: TheProblem, FounderStory card, Privacy intro, HeirloomVision description, blog article paragraphs, blog post excerpt JetBrains → all small uppercase eyebrow labels across every section Geist → nav, buttons, feature card body, short UI text (unchanged) Pages updated: homepage, blog listing, blog articles, pricing, partners About page: fonts resolve identically via layout variables, no visual change Co-Authored-By: Claude Sonnet 4.6 --- src/app/(marketing)/about/page.tsx | 26 ++------------- src/app/(marketing)/blog/[slug]/page.tsx | 16 ++++----- src/app/(marketing)/blog/page.tsx | 12 +++---- src/app/(marketing)/layout.tsx | 29 +++++++++++++--- src/app/(marketing)/page.tsx | 42 ++++++++++++------------ src/app/(marketing)/partners/page.tsx | 4 +-- src/app/(marketing)/pricing/page.tsx | 4 +-- src/app/globals.css | 5 +++ 8 files changed, 72 insertions(+), 66 deletions(-) diff --git a/src/app/(marketing)/about/page.tsx b/src/app/(marketing)/about/page.tsx index 1fc5116..d0966a5 100644 --- a/src/app/(marketing)/about/page.tsx +++ b/src/app/(marketing)/about/page.tsx @@ -1,29 +1,9 @@ import type { Metadata } from "next"; import Link from "next/link"; -import { Fraunces, Newsreader, JetBrains_Mono } from "next/font/google"; import { AboutScrollReveal } from "@/components/marketing/AboutScrollReveal"; -// ── Fonts loaded only for this page ────────────────────────────── -const fraunces = Fraunces({ - subsets: ["latin"], - variable: "--font-fraunces", - weight: ["300", "400", "500", "600"], - style: ["normal", "italic"], - display: "swap", -}); -const newsreader = Newsreader({ - subsets: ["latin"], - variable: "--font-newsreader", - weight: ["300", "400", "500", "600"], - style: ["normal", "italic"], - display: "swap", -}); -const jetbrainsMono = JetBrains_Mono({ - subsets: ["latin"], - variable: "--font-jetbrains", - weight: ["400", "500"], - display: "swap", -}); +// Fonts (Fraunces, Newsreader, JetBrains Mono) are now loaded globally +// in (marketing)/layout.tsx and available via CSS variables. // ── Page-level styles (design tokens + letter layout) ───────────── const CSS = ` @@ -318,7 +298,7 @@ const CREED = [ export default function AboutPage() { return ( -
+
{/* Page-specific design system — inline so it's scoped and SSR-safe */} {/* eslint-disable-next-line react/no-danger */}