diff --git a/public/assets/fonts/Test Financier Text/test-financier-text-black-italic.woff2 b/public/assets/fonts/Test Financier Text/test-financier-text-black-italic.woff2 deleted file mode 100644 index 381bdcfd..00000000 Binary files a/public/assets/fonts/Test Financier Text/test-financier-text-black-italic.woff2 and /dev/null differ diff --git a/public/assets/fonts/Test Financier Text/test-financier-text-black.woff2 b/public/assets/fonts/Test Financier Text/test-financier-text-black.woff2 deleted file mode 100644 index 3746c4b3..00000000 Binary files a/public/assets/fonts/Test Financier Text/test-financier-text-black.woff2 and /dev/null differ diff --git a/public/assets/fonts/Test Financier Text/test-financier-text-bold-italic.woff2 b/public/assets/fonts/Test Financier Text/test-financier-text-bold-italic.woff2 deleted file mode 100644 index 8cdede2d..00000000 Binary files a/public/assets/fonts/Test Financier Text/test-financier-text-bold-italic.woff2 and /dev/null differ diff --git a/public/assets/fonts/Test Financier Text/test-financier-text-bold.woff2 b/public/assets/fonts/Test Financier Text/test-financier-text-bold.woff2 deleted file mode 100644 index 8f0f407c..00000000 Binary files a/public/assets/fonts/Test Financier Text/test-financier-text-bold.woff2 and /dev/null differ diff --git a/public/assets/fonts/Test Financier Text/test-financier-text-medium-italic.woff2 b/public/assets/fonts/Test Financier Text/test-financier-text-medium-italic.woff2 deleted file mode 100644 index 1640ac5f..00000000 Binary files a/public/assets/fonts/Test Financier Text/test-financier-text-medium-italic.woff2 and /dev/null differ diff --git a/public/assets/fonts/Test Financier Text/test-financier-text-medium.woff2 b/public/assets/fonts/Test Financier Text/test-financier-text-medium.woff2 deleted file mode 100644 index 4bafedd8..00000000 Binary files a/public/assets/fonts/Test Financier Text/test-financier-text-medium.woff2 and /dev/null differ diff --git a/public/assets/fonts/Test Financier Text/test-financier-text-regular-italic.woff2 b/public/assets/fonts/Test Financier Text/test-financier-text-regular-italic.woff2 deleted file mode 100644 index 20c87743..00000000 Binary files a/public/assets/fonts/Test Financier Text/test-financier-text-regular-italic.woff2 and /dev/null differ diff --git a/public/assets/fonts/Test Financier Text/test-financier-text-regular.woff2 b/public/assets/fonts/Test Financier Text/test-financier-text-regular.woff2 deleted file mode 100644 index 95a80cef..00000000 Binary files a/public/assets/fonts/Test Financier Text/test-financier-text-regular.woff2 and /dev/null differ diff --git a/public/assets/fonts/Test Founders Grotesk Mono/test-founders-grotesk-mono-bold.woff2 b/public/assets/fonts/Test Founders Grotesk Mono/test-founders-grotesk-mono-bold.woff2 deleted file mode 100644 index 8f4f1018..00000000 Binary files a/public/assets/fonts/Test Founders Grotesk Mono/test-founders-grotesk-mono-bold.woff2 and /dev/null differ diff --git a/public/assets/fonts/Test Founders Grotesk Mono/test-founders-grotesk-mono-light.woff2 b/public/assets/fonts/Test Founders Grotesk Mono/test-founders-grotesk-mono-light.woff2 deleted file mode 100644 index c8bfa6d1..00000000 Binary files a/public/assets/fonts/Test Founders Grotesk Mono/test-founders-grotesk-mono-light.woff2 and /dev/null differ diff --git a/public/assets/fonts/Test Founders Grotesk Mono/test-founders-grotesk-mono-medium.woff2 b/public/assets/fonts/Test Founders Grotesk Mono/test-founders-grotesk-mono-medium.woff2 deleted file mode 100644 index 993f2989..00000000 Binary files a/public/assets/fonts/Test Founders Grotesk Mono/test-founders-grotesk-mono-medium.woff2 and /dev/null differ diff --git a/public/assets/fonts/Test Founders Grotesk Mono/test-founders-grotesk-mono-regular.woff2 b/public/assets/fonts/Test Founders Grotesk Mono/test-founders-grotesk-mono-regular.woff2 deleted file mode 100644 index 7224624a..00000000 Binary files a/public/assets/fonts/Test Founders Grotesk Mono/test-founders-grotesk-mono-regular.woff2 and /dev/null differ diff --git a/public/assets/fonts/Test Founders Grotesk Mono/test-founders-grotesk-mono-semibold.woff2 b/public/assets/fonts/Test Founders Grotesk Mono/test-founders-grotesk-mono-semibold.woff2 deleted file mode 100644 index 7f96713d..00000000 Binary files a/public/assets/fonts/Test Founders Grotesk Mono/test-founders-grotesk-mono-semibold.woff2 and /dev/null differ diff --git a/public/assets/fonts/financier-text-regular.woff2 b/public/assets/fonts/financier-text-regular.woff2 new file mode 100644 index 00000000..c18300b8 Binary files /dev/null and b/public/assets/fonts/financier-text-regular.woff2 differ diff --git a/public/assets/fonts/founders-grotesk-mono-regular.woff2 b/public/assets/fonts/founders-grotesk-mono-regular.woff2 new file mode 100644 index 00000000..11a3e282 Binary files /dev/null and b/public/assets/fonts/founders-grotesk-mono-regular.woff2 differ diff --git a/public/assets/fonts/soehne-fett.woff2 b/public/assets/fonts/soehne-fett.woff2 new file mode 100644 index 00000000..bc621e3d Binary files /dev/null and b/public/assets/fonts/soehne-fett.woff2 differ diff --git a/public/assets/fonts/soehne-kraftig.woff2 b/public/assets/fonts/soehne-kraftig.woff2 new file mode 100644 index 00000000..24f700ad Binary files /dev/null and b/public/assets/fonts/soehne-kraftig.woff2 differ diff --git a/public/assets/fonts/test-soehne/test-soehne-buch-kursiv.woff2 b/public/assets/fonts/test-soehne/test-soehne-buch-kursiv.woff2 deleted file mode 100644 index a0bff90e..00000000 Binary files a/public/assets/fonts/test-soehne/test-soehne-buch-kursiv.woff2 and /dev/null differ diff --git a/public/assets/fonts/test-soehne/test-soehne-buch.woff2 b/public/assets/fonts/test-soehne/test-soehne-buch.woff2 deleted file mode 100644 index 6eea685c..00000000 Binary files a/public/assets/fonts/test-soehne/test-soehne-buch.woff2 and /dev/null differ diff --git a/public/assets/fonts/test-soehne/test-soehne-dreiviertelfett-kursiv.woff2 b/public/assets/fonts/test-soehne/test-soehne-dreiviertelfett-kursiv.woff2 deleted file mode 100644 index 83f6008d..00000000 Binary files a/public/assets/fonts/test-soehne/test-soehne-dreiviertelfett-kursiv.woff2 and /dev/null differ diff --git a/public/assets/fonts/test-soehne/test-soehne-dreiviertelfett.woff2 b/public/assets/fonts/test-soehne/test-soehne-dreiviertelfett.woff2 deleted file mode 100644 index 060d8c27..00000000 Binary files a/public/assets/fonts/test-soehne/test-soehne-dreiviertelfett.woff2 and /dev/null differ diff --git a/public/assets/fonts/test-soehne/test-soehne-extrafett-kursiv.woff2 b/public/assets/fonts/test-soehne/test-soehne-extrafett-kursiv.woff2 deleted file mode 100644 index 4a539340..00000000 Binary files a/public/assets/fonts/test-soehne/test-soehne-extrafett-kursiv.woff2 and /dev/null differ diff --git a/public/assets/fonts/test-soehne/test-soehne-extrafett.woff2 b/public/assets/fonts/test-soehne/test-soehne-extrafett.woff2 deleted file mode 100644 index e1904e02..00000000 Binary files a/public/assets/fonts/test-soehne/test-soehne-extrafett.woff2 and /dev/null differ diff --git a/public/assets/fonts/test-soehne/test-soehne-extraleicht-kursiv.woff2 b/public/assets/fonts/test-soehne/test-soehne-extraleicht-kursiv.woff2 deleted file mode 100644 index 84c548a5..00000000 Binary files a/public/assets/fonts/test-soehne/test-soehne-extraleicht-kursiv.woff2 and /dev/null differ diff --git a/public/assets/fonts/test-soehne/test-soehne-extraleicht.woff2 b/public/assets/fonts/test-soehne/test-soehne-extraleicht.woff2 deleted file mode 100644 index 4b5d7dd2..00000000 Binary files a/public/assets/fonts/test-soehne/test-soehne-extraleicht.woff2 and /dev/null differ diff --git a/public/assets/fonts/test-soehne/test-soehne-fett-kursiv.woff2 b/public/assets/fonts/test-soehne/test-soehne-fett-kursiv.woff2 deleted file mode 100644 index 25de9b7c..00000000 Binary files a/public/assets/fonts/test-soehne/test-soehne-fett-kursiv.woff2 and /dev/null differ diff --git a/public/assets/fonts/test-soehne/test-soehne-fett.woff2 b/public/assets/fonts/test-soehne/test-soehne-fett.woff2 deleted file mode 100644 index 5f6d4c4f..00000000 Binary files a/public/assets/fonts/test-soehne/test-soehne-fett.woff2 and /dev/null differ diff --git a/public/assets/fonts/test-soehne/test-soehne-halbfett-kursiv.woff2 b/public/assets/fonts/test-soehne/test-soehne-halbfett-kursiv.woff2 deleted file mode 100644 index 5f61fb5e..00000000 Binary files a/public/assets/fonts/test-soehne/test-soehne-halbfett-kursiv.woff2 and /dev/null differ diff --git a/public/assets/fonts/test-soehne/test-soehne-halbfett.woff2 b/public/assets/fonts/test-soehne/test-soehne-halbfett.woff2 deleted file mode 100644 index eaa4bf06..00000000 Binary files a/public/assets/fonts/test-soehne/test-soehne-halbfett.woff2 and /dev/null differ diff --git a/public/assets/fonts/test-soehne/test-soehne-kraftig-kursiv.woff2 b/public/assets/fonts/test-soehne/test-soehne-kraftig-kursiv.woff2 deleted file mode 100644 index a21469c0..00000000 Binary files a/public/assets/fonts/test-soehne/test-soehne-kraftig-kursiv.woff2 and /dev/null differ diff --git a/public/assets/fonts/test-soehne/test-soehne-kraftig.woff2 b/public/assets/fonts/test-soehne/test-soehne-kraftig.woff2 deleted file mode 100644 index bd2c7380..00000000 Binary files a/public/assets/fonts/test-soehne/test-soehne-kraftig.woff2 and /dev/null differ diff --git a/public/assets/fonts/test-soehne/test-soehne-leicht-kursiv.woff2 b/public/assets/fonts/test-soehne/test-soehne-leicht-kursiv.woff2 deleted file mode 100644 index 82070f77..00000000 Binary files a/public/assets/fonts/test-soehne/test-soehne-leicht-kursiv.woff2 and /dev/null differ diff --git a/public/assets/fonts/test-soehne/test-soehne-leicht.woff2 b/public/assets/fonts/test-soehne/test-soehne-leicht.woff2 deleted file mode 100644 index e40c033d..00000000 Binary files a/public/assets/fonts/test-soehne/test-soehne-leicht.woff2 and /dev/null differ diff --git a/src/app/about/page.tsx b/src/app/about/page.tsx index e5ed8bb7..0cae57b1 100644 --- a/src/app/about/page.tsx +++ b/src/app/about/page.tsx @@ -36,7 +36,7 @@ export default async function AboutPage() {
-

+

Canada can be the most prosperous country on earth

diff --git a/src/app/globals.css b/src/app/globals.css index 3d4d95f9..192d890b 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -126,46 +126,22 @@ html { /* ─── Font Faces ─── */ +/* Licensed Klim webfonts (order 26070690). Weight ranges map every weight the + site requests onto the licensed cuts; italics and unlicensed bolds are + browser-synthesized. */ + /* Söhne Kraftig — Display/Headlines (primary brand font) */ @font-face { font-family: "Soehne Kraftig"; - src: url("/assets/fonts/test-soehne/test-soehne-buch.woff2") format("woff2"); - font-weight: 400; - font-style: normal; - font-display: swap; -} -@font-face { - font-family: "Soehne Kraftig"; - src: url("/assets/fonts/test-soehne/test-soehne-buch-kursiv.woff2") format("woff2"); - font-weight: 400; - font-style: italic; - font-display: swap; -} -@font-face { - font-family: "Soehne Kraftig"; - src: url("/assets/fonts/test-soehne/test-soehne-kraftig.woff2") format("woff2"); - font-weight: 500; - font-style: normal; - font-display: swap; -} -@font-face { - font-family: "Soehne Kraftig"; - src: url("/assets/fonts/test-soehne/test-soehne-kraftig-kursiv.woff2") format("woff2"); - font-weight: 500; - font-style: italic; - font-display: swap; -} -@font-face { - font-family: "Soehne Kraftig"; - src: url("/assets/fonts/test-soehne/test-soehne-dreiviertelfett.woff2") format("woff2"); - font-weight: 600; + src: url("/assets/fonts/soehne-kraftig.woff2") format("woff2"); + font-weight: 400 500; font-style: normal; font-display: swap; } @font-face { font-family: "Soehne Kraftig"; - src: url("/assets/fonts/test-soehne/test-soehne-fett.woff2") format("woff2"); - font-weight: 700; + src: url("/assets/fonts/soehne-fett.woff2") format("woff2"); + font-weight: 600 700; font-style: normal; font-display: swap; } @@ -173,59 +149,17 @@ html { /* Financier Text — Body copy */ @font-face { font-family: "Financier Text"; - src: url("/assets/fonts/Test Financier Text/test-financier-text-regular.woff2") format("woff2"); + src: url("/assets/fonts/financier-text-regular.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; } -@font-face { - font-family: "Financier Text"; - src: url("/assets/fonts/Test Financier Text/test-financier-text-regular-italic.woff2") format("woff2"); - font-weight: 400; - font-style: italic; - font-display: swap; -} -@font-face { - font-family: "Financier Text"; - src: url("/assets/fonts/Test Financier Text/test-financier-text-medium.woff2") format("woff2"); - font-weight: 500; - font-style: normal; - font-display: swap; -} -@font-face { - font-family: "Financier Text"; - src: url("/assets/fonts/Test Financier Text/test-financier-text-bold.woff2") format("woff2"); - font-weight: 700; - font-style: normal; - font-display: swap; -} /* Founders Grotesk Mono — Buttons, labels, meta */ @font-face { font-family: "Founders Grotesk Mono"; - src: url("/assets/fonts/Test Founders Grotesk Mono/test-founders-grotesk-mono-regular.woff2") format("woff2"); - font-weight: 400; - font-style: normal; - font-display: swap; -} -@font-face { - font-family: "Founders Grotesk Mono"; - src: url("/assets/fonts/Test Founders Grotesk Mono/test-founders-grotesk-mono-medium.woff2") format("woff2"); - font-weight: 500; - font-style: normal; - font-display: swap; -} -@font-face { - font-family: "Founders Grotesk Mono"; - src: url("/assets/fonts/Test Founders Grotesk Mono/test-founders-grotesk-mono-semibold.woff2") format("woff2"); - font-weight: 600; - font-style: normal; - font-display: swap; -} -@font-face { - font-family: "Founders Grotesk Mono"; - src: url("/assets/fonts/Test Founders Grotesk Mono/test-founders-grotesk-mono-bold.woff2") format("woff2"); - font-weight: 700; + src: url("/assets/fonts/founders-grotesk-mono-regular.woff2") format("woff2"); + font-weight: 400 500; font-style: normal; font-display: swap; } @@ -421,6 +355,20 @@ body { margin: 1.4em 0; } +/* Image captions: an directly after an */ +.prose-bc img:has(+ em) { + margin-bottom: 0; +} + +.prose-bc img + em { + display: block; + font-family: var(--font-label); + font-size: 0.8125rem; + font-style: normal; + color: var(--color-charcoal-500); + margin-top: 0.75em; +} + /* ─── Supporters list (memo detail) ─── */ .memo-supporters p { diff --git a/src/app/memos/[slug]/MemoPrintHeader.tsx b/src/app/memos/[slug]/MemoPrintHeader.tsx new file mode 100644 index 00000000..3a55573c --- /dev/null +++ b/src/app/memos/[slug]/MemoPrintHeader.tsx @@ -0,0 +1,84 @@ +interface MemoPrintHeaderProps { + title: string; + authorName: string; + authorTitle: string | null; + authorImage: string | null; + date: string; + url: string; + brand?: "canada" | "toronto"; +} + +/* Print-only header: Build Canada branding + memo meta. Hidden on screen + via the .print-only rules in globals.css. */ +export function MemoPrintHeader({ + title, + authorName, + authorTitle, + authorImage, + date, + url, + brand = "canada", +}: MemoPrintHeaderProps) { + return ( +
+
+ {brand === "toronto" ? ( + /* The nav's Toronto lockup: white wordmark + "Toronto" in the + accent-blue box (see Navbar.tsx). Forced color-adjust so the + box prints. */ +
+ {/* eslint-disable-next-line @next/next/no-img-element */} + Build Canada +
+ ) : ( +
+ {/* eslint-disable-next-line @next/next/no-img-element */} + Build Canada + Build Canada +
+ )} + + {url.replace(/^https?:\/\//, "")} + +
+

{title}

+
+ {authorImage && ( + /* eslint-disable-next-line @next/next/no-img-element */ + {authorName} + )} +
+

{authorName}

+ {authorTitle && ( +

+ {authorTitle} +

+ )} +

{date}

+
+
+
+ ); +} diff --git a/src/app/memos/[slug]/page.tsx b/src/app/memos/[slug]/page.tsx index ca4695b1..e7f4b2db 100644 --- a/src/app/memos/[slug]/page.tsx +++ b/src/app/memos/[slug]/page.tsx @@ -6,6 +6,7 @@ import { TwitterEmbed, MemoSubscribe, RelatedMemos } from "./MemoClientParts"; import { MemoEngagement } from "./MemoEngagement"; import { ShareSection } from "@/components/share"; import { MemoHero } from "./MemoHero"; +import { MemoPrintHeader } from "./MemoPrintHeader"; import { Signpost } from "@/components/custom/signpost"; import { buildGraph } from "@/lib/schemas/graph"; import { generateArticleSchema } from "@/lib/schemas/generators/article"; @@ -170,56 +171,27 @@ export default async function MemoDetailPage({ dangerouslySetInnerHTML={{ __html: JSON.stringify(jsonLd) }} /> - {/* Print-only header: Build Canada branding + memo meta */} -
-
-
- {/* eslint-disable-next-line @next/next/no-img-element */} - Build Canada - Build Canada -
- - {fullUrl.replace(/^https?:\/\//, "")} - -
-

{memo.title}

-
- {authorImage && ( - /* eslint-disable-next-line @next/next/no-img-element */ - {memo.author.name} - )} -
-

{memo.author.name}

- {memo.author.title && ( -

- {memo.author.title} -

- )} -

{date}

-
-
-
- - + {/* Hidden in print — the print-only header above already carries the + title, author, and date. */} +
+ +
+
- + {/* Hidden in print — the print-only header above already carries the + title, author, and date. */} +
+ +
+
+
DRAFT — not yet published
@@ -39,7 +39,7 @@ export function DraftPreviewBanner({ state }: DraftPreviewBannerProps) { } return ( -
+
No draft found for this slug.
diff --git a/src/components/custom/signpost/desktop-nav.tsx b/src/components/custom/signpost/desktop-nav.tsx index e2e860bc..429ad16f 100644 --- a/src/components/custom/signpost/desktop-nav.tsx +++ b/src/components/custom/signpost/desktop-nav.tsx @@ -45,7 +45,7 @@ export function DesktopNav({ ); return ( -