FNS 3.0
Design System

The single source of truth for FNS Training Club — colour, type, components and the rules that hold them together, plus what the development team, the social team and the franchisees each need.

Version 3.0 · Champagne Gold V1 — Green Option B · approved 3 September 2026

This is the working reference for anyone drawing new FNS screens, banners or franchisee material. Everything here is taken from the approved build — gold/index-green-secondary.html, Champagne Gold V1, Green Option B. Read the first section before you open a canvas: the rest of the system only makes sense once the division between gold and forest is fixed in your head.

The One Rule Final

One sentence governs every colour decision in FNS 3.0. If a choice is unclear, it is almost always because this rule is being broken somewhere on the artboard.

Gold is the jewellery. Forest is the material it sits on.

GOLD owns the small precise marks — numerals, ticks, bullets, stars, icons, the primary CTA, the highlight italic. It is applied sparingly, at small scale, and it is always the thing the eye is meant to land on.

GREEN owns the large quiet surfaces and the structural lines — panel grounds, card grounds, hairlines, the secondary button, the sub-headlines. It is the material, never the mark.

Why it holds

Gold at large area reads as decoration and cheapens fast; gold at small area reads as precision. Forest behaves the opposite way — it is a superb ground and a poor mark, because at mark scale it disappears against the dark page. The single exception is --forest-mark, the one green in the ramp cleared to carry type or hold an edge.

Splitting the two by size rather than by section is what makes the palette survive fourteen photographs and a franchisee adding a fifteenth.

The test

Point at any coloured element and ask: is this a mark or a ground? A mark is small, precise, and carries meaning on its own — a step number, a tick, a star, the button you want pressed. That is gold.

A ground is large, quiet, and exists so something else can sit on it — a panel, a card, a chip veil, a keyline, a divider. That is forest.

The step marker 3 is the whole system in one object: gold numeral, forest veil, forest keyline.

Colour

Two palettes, one page. Champagne Gold supplies the grounds, the text and the single accent; Forest is layered over it to supply structure. Use the token, never the raw value — every hex below is already declared as a CSS custom property.

Champagne Gold

--primary#181818Page ground. The default behind everything.
--ink-2#1F1E1DRaised panel — one step off the page.
--ink-3#262422Hairline lift.
--stone#443A31Solid panels and the community band.
--gold#C8A96AThe accent. Every mark, and only marks.
--taupe#E7DDD1Light tint; the primary button hover state.
--ivory#F7F4EFHeadings and primary text.
--bodyrgba(231,221,209,.72)Body copy.
--body-dimrgba(231,221,209,.70)Muted labels.
--line-softrgba(231,221,209,.14)Neutral hairline, where a green edge would read as a colour decision.

Forest

The green layer is deliberately narrow: one hue (145°), one saturation (20%), three lightnesses. That constraint is the reason the greens never fight each other or the photography. Do not add a fourth green, and do not shift the hue or saturation to “warm it up” for a campaign.

--forest#273A2FSolid fills and the secondary button hover. Ivory on it is 11.05:1.
--forest-deep#1B2820Panel and card grounds. Used at alpha so photography reads through.
--forest-mark#629376The ONLY green that carries type or holds an edge. 4.72:1 on the chip veil, 5.03:1 on the nav, 4.65:1 on the Promise panel.
--forest-linergba(98,147,118,.42)Drawn keyline — chips, tags, cards, nav divider.
--linergba(98,147,118,.24)Structural hairline. Overrides the gold --line.
--forest-panellinear-gradient(180deg, rgba(27,40,32,.58), rgba(21,30,24,.72))Panel ground.
--forest-fieldrgba(27,40,32,.34)Field and testimonial card ground.
--forest-veilrgba(39,58,47,.22)Chip, tag and step-marker veil.
--line is overridden, gold → green

This is the one token that changes meaning between the two palettes, and the single most common thing to get wrong when porting a component from an older Champagne Gold layout.

In this direction --line resolves to rgba(98,147,118,.24) — the forest structural hairline — not the gold one. Every structural rule, card edge and section divider is therefore green. --line-soft at rgba(231,221,209,.14) remains available as the neutral ivory hairline where green would read as a deliberate colour choice rather than structure.

Type

Three faces, each with exactly one job. They load from Google Fonts; the family string is in the Build tab. No other face is used in FNS 3.0.

Barlow Condensed — 400 / 500 / 600 / 700 — --head

Train with intent

Headlines, buttons, labels and tracked caps. It is the structural voice: condensed, uppercase, tight. If a piece of text is a heading, a button label or a tracked micro-label, it is Barlow Condensed — there is no second option.

Manrope — 300–700 — --text

Everything a member actually reads sits in Manrope: body copy, the navigation, form fields, interface text and every number a person has to parse.

Set body at 16px / 1.65. Manrope is also the interface face — nav, inputs, selects — which is why the nav does not shout at the headline above it.

Cormorant Garamond italic — --curve

the highlight word

The highlight word, and nothing else. It never sets a paragraph, a label, a button or a full headline. In the build the word is wrapped in <span class="gold">, which makes it gold as well as italic — so it is a mark, and the one-per-headline discipline is what keeps it precious.

Scale

RoleSizeLine-heightNotes
h1clamp(52px,6.2vw,96px).96Barlow Condensed. One per view.
h2clamp(34px,3.8vw,56px)1.06Barlow Condensed. Section headline.
h3clamp(26px,2.4vw,36px)—Colour --gold.
.leadclamp(17px,1.3vw,21px)1.5Manrope. The paragraph directly under a headline.
Body16px1.65Manrope.
Labels14px—.16em tracking, uppercase.
Buttons15px—.09em tracking, uppercase, padding 10px 21px.

Hard floor: nothing renders below 14px at any viewport width. The headline sizes are clamped, not stepped, so they resolve continuously between the 1400px, 1080px, 980px and 720px breakpoints — do not add a mobile override that drops a label under the floor to make a line fit. Shorten the line instead.

Components

Five live objects carry most of the interface. Each one is an application of the one rule, so they can be read as a set rather than memorised individually.

Apply now Explore classes Members only Strength 1 2
ComponentTreatmentWhere it is used
.btnBackground --gold, label #181818, 1px --gold border. Hover --taupe.The primary action — the one thing you want pressed on that screen. Gold, so it is a mark: one per view, never two side by side.
.btn-ghostTransparent, label and border --forest-mark. Hover: background --forest, label --ivory.The lower-commitment action sitting beside the primary. Green, so it recedes without disappearing.
.btn-ghost over photographyAdditionally takes background rgba(24,24,24,.45).Any ghost button placed on an image. The veil is what lets the ivory label and its keyline clear AA over bright regions of the photograph.
.pill--forest-veil ground, --forest-line keyline, --forest-mark label.Standalone status or qualifier next to a headline.
.tagIdentical treatment to .pill.Grouped metadata — class types, disciplines, filters. Same object, two names: choose by role, not by look.
.num--forest-veil ground, --forest-line keyline, numeral in --gold.Step markers in ordered sequences. The clearest statement of the rule in the system.

Every green label and every green edge in that table is --forest-mark — the one green cleared to carry type or hold an edge, at 4.72:1 on the chip veil. No other green in the ramp may do either job, and no green of any kind takes a numeral, a tick, an icon or a primary CTA.

Forms

Inputs and selects: background rgba(24,24,24,.5), border rgba(231,221,209,.38), font-size 16px, focus border --gold. Two of those are non-negotiable for reasons that are not visual — the .38 ivory hairline is what clears the 3:1 WCAG 1.4.11 minimum for a control boundary, and 16px is what stops iOS Safari zooming the page on focus. Do not lighten the field border to a decorative hairline, and do not set field text at 14px.

Note that the field border is ivory, not green: the form is the one place a neutral edge beats a structural one, because the green keyline would read as a state.

Photography and overlays

Every photograph on the site carries a treatment. They are not interchangeable — the diagonal gradients are for sections where type sits at one end of the frame, the flat veils are for sections where type sits across the whole image. Match the section, do not improvise a new overlay.

SectionOverlayType of treatment
Hero banner
A Private Training Club
FNS360 Experience
linear-gradient(45deg,#000 0%,rgba(0,0,0,.66) 100%)Diagonal. Holds one dense corner for the headline and lets the image open up away from it.
Your First Class (apply)linear-gradient(45deg,black,#00000080)Diagonal, stronger at the origin — the form sits over the dense end.
The Results Speak
Built for People Who
Flat rgba(24,24,24,.85)Even veil. Type runs across the full frame, so the image is pushed all the way back.
Day One
Performance Classes
Unchanged, 90–94%Left as built. Do not re-grade these to match the others.
.card over the diagonal#181818b8 (72%)Card ground stacked on top of a section gradient, so the card edge stays legible against a moving background.

When you supply a new photograph, supply it graded for a dark ground: the overlays darken, they do not correct. Faces and equipment should sit in the upper mid-tones so they survive the 85% flat veil. The asset set is 16 images in gold/assets/ — hero.jpg, thirteen section photographs, plus logo.svg (vector, 143×59 viewBox) and awards.webp (403×200).

Do / Don’t

The short list. Everything here has already been decided once — these are the decisions that quietly get reversed when a new screen is drawn in isolation.

Do

  • Let gold carry the marks — numerals, ticks, bullets, stars, icons, the primary CTA, the highlight italic.
  • Build grounds from --forest-deep at alpha so photography still reads through the panel.
  • Use --forest-mark for any green that has to carry type or hold an edge — it is the only green cleared for either.
  • Keep the ramp at one hue, one saturation, three lightnesses.
  • Give the highlight word Cormorant italic inside <span class="gold"> — one per headline.
  • Add rgba(24,24,24,.45) behind a ghost button whenever it sits on an image.
  • Keep form fields at 16px with the .38 ivory border.
  • Reach for --line-soft when a green hairline would read as a colour decision rather than as structure.

Don’t

  • Never use forest for a mark. No green numerals, ticks, bullets, stars or icons, and never a green primary CTA — those are gold, always.
  • Never put green type on a green ground unless it is --forest-mark. It is the only green in the ramp with the contrast to survive there.
  • Never go below 14px at any viewport width, including labels, captions and legal lines.
  • Don’t add a fourth green, or shift the 145° hue or the 20% saturation for a campaign.
  • Don’t inherit the gold --line from an older Champagne Gold layout — this direction overrides it to green.
  • Don’t place a ghost button on bright photography without its veil; the keyline drops below AA.
  • Don’t use gold across a large area — no gold panels, gold bands or gold card grounds. Gold is jewellery, not material.
  • Don’t set Cormorant for body copy, buttons, labels or an entire headline.
  • Don’t invent a new photographic overlay; use the one mapped to that section.

Known gaps that touch design

Stated plainly rather than softened. Neither affects the shipping look, but both change what you can promise a client.

Two things this tab cannot claim are finished
  1. Images are JPEG, not WebP — the build machine had no WebP encoder. Converting would cut asset weight by roughly a third.
  2. styleguide.html Type section does not cover Noir.