From 3015c37bac6dc28db58c80fdb9235942c25b83d7 Mon Sep 17 00:00:00 2001 From: Tudor Date: Sat, 15 Aug 2026 08:59:43 +0100 Subject: [PATCH] feat(home): add a first-person byline under the hero search MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit "Built for parents, by a parent." — the one line on the page written by a person rather than by a product. Placed under the search rather than in the footer, which is where it would have been true and unread. It does its work at the moment someone is deciding whether to trust a page full of government statistics, which is the moment they are looking at the search box. Set apart without shouting: display face, a step down in size, and a short brand rule in place of a bullet. No italic — Manrope ships none in the loaded weights, so font-style would be synthesised into a slant, the same reason .heroEmph resets it. Deliberately the only claim of its kind on the page. Every other trust signal here is about the data's provenance and is checkable against the DfE and Ofsted; this one is about who built it, and is not. So it is stated once, plainly, and never repeated — the opposite of the "Official & trusted" line it now sits near, which claimed something about the site that was not true. Measured 7.26:1 in the light theme and 8.86:1 in dark. Co-Authored-By: Claude Opus 5 --- nextjs-app/components/HomeView.module.css | 37 +++++++++++++++++++++++ nextjs-app/components/HomeView.tsx | 13 ++++++++ 2 files changed, 50 insertions(+) diff --git a/nextjs-app/components/HomeView.module.css b/nextjs-app/components/HomeView.module.css index fca08ba..f438e9a 100644 --- a/nextjs-app/components/HomeView.module.css +++ b/nextjs-app/components/HomeView.module.css @@ -189,6 +189,43 @@ } } +/* + * The one line in the first person, so it is set apart from the marketing copy + * around it without shouting: display face, a step down in size, and a short + * brand rule instead of a bullet or an emoji. + * + * No italic — Manrope ships no italic in the loaded weights, so font-style + * would be synthesised into a slant. Same reason .heroEmph sets font-style + * back to normal. + */ +.heroByline { + display: flex; + align-items: center; + gap: 0.55rem; + margin: 1.25rem 0 0; + font-family: var(--font-display); + font-size: var(--step--1); + font-weight: 500; + font-style: normal; + color: var(--text-secondary); +} + +.heroByline::before { + content: ''; + flex: 0 0 auto; + width: 1.25rem; + height: 2px; + border-radius: 1px; + background: var(--brand); +} + +@media (max-width: 640px) { + .heroByline { + margin-top: 1rem; + font-size: var(--step--2); + } +} + .heroEyebrow { display: inline-flex; align-items: center; diff --git a/nextjs-app/components/HomeView.tsx b/nextjs-app/components/HomeView.tsx index c5beb72..592063f 100644 --- a/nextjs-app/components/HomeView.tsx +++ b/nextjs-app/components/HomeView.tsx @@ -464,6 +464,19 @@ export function HomeView({ initialSchools, filters, totalSchools, howItWorks, ed geoError={geoError} /> + {/* + Sits under the search rather than in the footer on purpose: this + is the one line on the page written in the first person, and it + earns its place at the moment someone is deciding whether to + trust a site full of government statistics. In the footer it + would be true and unread. + + It is deliberately the only such claim — the page's other trust + signals are all about the data's provenance, which is checkable. + This one is about who made it, which is not, so it is stated + once, plainly, and never repeated. + */} +

Built for parents, by a parent.

{/*