Greenville Triumph Design Systems Documents
Greenville Triumph SC

Documents

The class for anything a person reads on paper: multi-page proposals, reports, guides, registers, and pricing plans that end as a PDF. US Letter, flat white paper, a full-colour crest header bar over a navy rule, a running head, and page numbers. No weave anywhere. Text and tables lead; the page supplies no colour beyond ink, one navy rule weight, a Fog row tint, and a Mist table head.

Which system am I in?

Four doors, one question each. The Print row and this one are the pair that get confused, so answer the routing test below before you start a piece that could be either.

More than one page, a running head, or page numbers means Documents. One sheet built from type, colour blocks, and the weave means Print.

The routing test

Answer in order and stop at the first yes. There are two answers, Print and Documents.

1Is the reader looking at a picture or a graphic composition, with the words as labels on it?Print
2Does it want a weave band, a navy masthead, or a full bleed colour field?Print
3Is there a Fabiola hero on more than the first sheet?Print
4Is it a dense lookup table that fits one sheet by design, where spilling to a second sheet would make it wrong?Documents
5Does it run to two or more sheets of continuous reading, with sections, tables, and cross references?Documents

Question 4 lands on the .sheet one sheet variant, which is a Documents component. A promotional one-sheeter has already answered yes at question 1, 2, or 3 and gone to Print.

The cover bar and the interior page.

Both sheets below are real .page elements from document.css, laid out at 8.5 by 11 inches and scaled onto the screen. Every size in them is a print size.

Greenville Triumph SC
Greenville Triumph SC • Sample subject

Sample Report

One sentence naming the venue, the season, and the single fact a reader needs before page 2.

The lede runs two or three sentences and is capped at 6.6 inches so the cover reads as a page rather than a wall. Everything under the rule is ordinary body copy at 10.5pt.

Sample section one2
Sample section two4
Sample section three6
Sample section four8
Sample section five10
Sample section six12
Sample section seven14
Sample section eight16

Cover. Full-colour crest at 96pt, kicker, Fabiola hero sized by its own character count, standfirst, one 2pt navy rule under the whole bar. No running head and no footer. Fabiola appears here and nowhere else in a document.

Greenville Triumph Sample Report How an interior sheet is built
Section 2

How an interior sheet is built

Every sheet after the cover opens with the running head and closes with the footer. Nothing on the paper touches either one: every block clears both by real space.

A subhead is a heading, not a label

Body copy runs the full content column, 7.4 inches. Two column body text is banned in this class, because at roughly 25 characters a line the copy breaks into short ragged lines while space pools at the foot of the sheet.

Sample callout

A flat Fog panel with a 3pt navy rule down its left edge and nothing else. Emphasis is a rule and a lead-in, never a filled box.

Tables carry the arithmetic

Sample rowCountBasis
First item000Sample
Second item000Sample
Total000

A note carries a caveat, the arithmetic behind a figure, or the thing a reader has to confirm. It never carries new facts.

Sample source • as of a sample date • sample basis2

Interior page. Running head with the simplified sTc mark at 22pt over a 1.5pt navy rule, the document title at the left and the section name at the right, then the eyebrow carrying the section number, the h2, body, and the footer pinned 0.18in off the bottom with a mono page number.

Eleven sizes, and nothing else.

The rem and clamp() scale in tokens.css is the screen scale; it is sized against a viewport and is meaningless on a fixed sheet. Documents declares its own point scale, and every font-size in the class resolves to one of these. The floors in the last column are minimums, not targets.

document.css, section 1
TokenValueWhere it goesFloor
--text-doc-heroclamp(32pt, 300cqi / --mast-chars, 120pt)Cover h1, Fabiola, once per document, optional32pt
--text-doc-hero-inter34ptCover h1 on a document that carries no Fabiolaflat, takes no count
--text-doc-h222ptSection opener, Inter 90020pt to 24pt
--text-doc-step19ptStep numeral, tabular, navy
--text-doc-part15ptRun-in part bar, not a section opener
--text-doc-h313ptSubhead, and the step body subhead12pt to 14pt
--text-doc-lede11.5ptCover standfirst and page lede
--text-doc-h411ptThe closing block org line, and nothing else
--text-doc-body10.5ptBody, table cells, notes, captions10.5pt
--text-doc-label10ptEyebrows, table heads, callout labels, and h410pt
--text-doc-chrome9ptRunning head tag, footer, page number9pt, absolute

The one sheet variant adds five more, --text-sheet-title, --text-sheet-head, --text-sheet-body, --text-sheet-note, and --text-sheet-chrome. Nothing outside .sheet may use them. Body holds at 10pt there. Chrome type and table heads run at 8pt and a note at 8.5pt, because a lookup table is not continuous reading. The section title is the one piece of that chrome which does not drop: it holds at 10pt on --text-sheet-head, so a reader scanning the sheet finds the block boundaries without reading them. An 8pt body was rejected outright.

h4 is a label, not a heading. It sets at the label size, 10pt, weight 700, uppercase and tracked, and it belongs over a tight list or a short block. Three heading steps plus an eyebrow on one sheet reads as four competing ranks. When you want a real subheader under an h3, there is not one: use h3. --text-doc-h4 survives at 11pt for the closing block org line alone.

Emphasis is a rule and a lead-in.

Never a filled box. A navy patterned block floating on the paper is banned in every variation, at every size, at every opacity. When a shape keeps failing on rework, delete the shape rather than iterating on it.

Standard callout

Flat Fog panel, 3pt navy rule on the left edge, uppercase label. No border on the other three sides, no shadow, no radius.

Accent callout

Green rides the rule, never the lead-in text. Triumph Green does not carry small type on white paper, so the label stays navy. One per page at most.

The compact form, for a one line aside inside a step or beside a table.
"A quote block holds language lifted from a source verbatim, in quotation marks. Its rule is Mist, not navy, so it reads as quieter than a callout."

Callout, accent, hint, quote. The four emphasis shapes in the class, and there is no fifth. Labels 10pt uppercase, panel padding 8pt by 11pt, the rule 3pt navy or 3pt green.

What the rule rules out

No navy ground behind body copy. No weave fill at any opacity. No border on the other three sides of a callout. No shadow. No radius, here or anywhere: the system radius is 0.

Nothing on the paper touches the running head or the footer. A block set flush to a rule reads as one broken shape with a notch cut in it.

Green rides the rule and never the lead-in text, because Triumph Green does not carry small type on white paper. One accent callout per page at most.

Tables show the full build.

Mist head with a navy 0.75pt underrule, hairline rows, Fog on even rows, mono right-aligned figures, a quiet trailing column for classification, and a total row bounded by two 1pt navy rules. One value per cell. Never post a total whose arithmetic a reader cannot follow line by line.

Sample table, placeholder figures
Line itemUnitsEachSample totalBasis
First sample line000000000Placeholder
Second sample line000000000Placeholder
Third sample line000000000Placeholder
Sample total000000

Basis. Every figure on this sample is a placeholder. Table headers wrap; a nowrap header widens the widest table past the page and Chromium then shrink-to-fit scales the whole PDF, which drops every size below the print floor at once.

Table. Head, rows, and the total row bounded by two navy rules. Cells 10.5pt, heads and captions 10pt, mono figures right aligned and tabular.

Two worked examples side by side

Sample build A
StepValue
Opening figure000
Adjustment000
Result000
Sample build B
StepValue
Opening figure000
Adjustment000
Result000

The register is three columns

Sample register
ItemWhat is openNext step
First open itemA one line statement of the gap, with no new facts in it.A named person does a named thing by a named date.
Second open itemA one line statement of the gap.A named person does a named thing by a named date.

A next step that names nobody is not a next step.

Worked pair and register. Two tables in .cols2 when a reader has to compare one build against another, and the three-column register for what is still open. Two columns, never three: three gives about 25 characters a line.

Figures sit straight on the page.

No frame, no rule, no shadow: the system defines none of those. Four widths ship, 5.2in, 5.6in, 6.3in, and 7.0in. Pick the one that keeps the source above roughly 190dpi at print scale, and never upscale past native pixels or re-encode the source.

Sample seat map figure
Default, 6.3in. The width to reach for first.

The one figure that carries a hairline

Sample screenshot

Screenshots only. A UI screenshot is white to its own edge, so it takes a 0.5pt hairline. An illustration, a render, a map, or a chart does not.

Figure and screenshot. The map runs at the default 6.3in with a centred caption at body size in the quiet ink. The screenshot below it is the one exception that takes an edge.

Sizing a figure

A landscape source is the safe stand-in when you are choosing a width, because a portrait source sizes by width and grows tall, so four widths read as four heights instead.

.figure.shot is the one component sized off the element. Set --w and --h inline, both measured from the source image, and set both or neither. Unset, they fall back to 5.2in by 3.2in so an unmeasured shot still draws at a sane size.

Three images that make one point share a .figure-row and one caption, each 1.62in tall.

Part bars and step rows.

A procedural guide runs on .part dividers and .steps rows. A part bar is a run-in divider, not a shrunken h2, and a document uses part bars or h2 sections at a given level, never both. The step number is navy, because green does not carry small type on white paper.

Part 1

Sample part bar

Steps 1 to 3
1

Sample step heading

The copy centres against the screenshot. A two line instruction beside a 3in portrait shot leaves a dead white block under every step, which is why the row is centred rather than top aligned.

2

Rows sit at their natural height

A hairline separates them. Nothing stretches to fill the sheet, because an evenly stretched step list reads as a table with the rules taken out.

3

An aside rides inside the step

A one line hint sits in the step body, not beside it.
4

The stacked row, for a shot under the copy

The stack modifier drops the third column and returns the row to top alignment, so the screenshot sits under the instruction rather than beside it.

Part bar and steps. The part bar at 15pt, the step numeral at 19pt navy, and the step subhead at 13pt. Row 4 is the stacked row, top aligned with the shot under the copy instead of beside it.

The one sheet variant.

A dense staff or client lookup table that fits one sheet by design, where spilling to a second sheet would make it wrong. It keeps the class grammar, white paper, a crest header bar, tokenised colour, and no weave, and it relaxes two things and only two: the crest drops to 40pt with a 1.5pt rule under the bar, and chrome type may run to 8pt. Body holds at 10pt. An 8pt body was rejected outright.

Greenville Triumph SC

Sample Reference Sheet

Greenville Triumph SC • sample subject • placeholder figures
Sample section one
Sample categoryColumn AColumn BColumn CNote
First sample row000000000Placeholder
Second sample row000000000Placeholder
Third sample row000000000Placeholder
Fourth sample row000000000Placeholder
Fifth sample row000000000Placeholder
Sixth sample row000000000Placeholder
Sample section two
Sample categoryColumn AColumn BColumn CNote
Seventh sample row000000000Placeholder
Eighth sample row000000000Placeholder
Ninth sample row000000000Placeholder
Tenth sample row000000000Placeholder
Eleventh sample row000000000Placeholder
Twelfth sample row000000000Placeholder
Sample section three
Sample categoryColumn AColumn BColumn CNote
Thirteenth sample row000000000Placeholder
Fourteenth sample row000000000Placeholder
Fifteenth sample row000000000Placeholder
Sixteenth sample row000000000Placeholder
Seventeenth sample row000000000Placeholder
Sample total000000000

Every value on this sheet is a placeholder. The variant gets no colour literals of its own, no fallback font stacks, and no green that is not in the seven.

One sheet, crest 40pt. Title 16pt Inter 800, body 10pt, chrome 8pt, and a 1.5pt navy rule under the bar. It carries a header bar and one centred footer line instead of a running head and a page footer.

The section title does not drop

Chrome type on this variant runs at 8pt because a lookup table is not continuous reading. The section title is the exception: it holds at 10pt on --text-sheet-head, so a reader scanning the sheet finds the block boundaries without reading them.

It still spills

The variant keeps the 11in page box for the same reason .page does. A sheet defined by fitting on one sheet has to spill where the build's page-count assert can see it, rather than clipping the last row and passing every check.

Pin one set of column positions down the whole sheet with a fixed table layout and the same colgroup on every table. Auto layout sizes each table from its own longest cell and steps the columns sideways between sections.

Install and start.

Link the three sheets in this order, always. There is no pattern.css in this folder and there is no components.css: the Print components are screen and flyer atoms, and a document uses the classes in document.css.

tokens.cssByte copy of print/tokens.css. The seven brand colours, the ink ramp, and the Fabiola and Inter metric overrides. Never edited here.
logos.cssByte copy of print/logos.css. The lockups and the GE Vernova Park padding crop.
document.cssThe grammar this system owns: page box, cover bar, running chrome, the point scale, headings, tables, callouts, figures, contents, step rows, and the one sheet variant.
agents.mdThe contract. Fifteen rules, each one a correction. Read it before the first pass.
README.mdThe short system readme: link order, how to start a document, and how to re-vendor a project's _ds.
templates/proposal-document/The working project to copy: the document.html skeleton, the config, and the build, verify, and completeness checks in archive\.

Preview cards