# Solar Operations Maturity Institute — Variant 2 "Grid"

**What this variant is arguing:** the SOM Institute's maturity model is a measuring instrument, and
the site should behave like one. The maturity matrix (7 areas × 6 levels) is the organising object,
and everything else is cut from the same grid: ruled cells, a 12-column frame with a visible ruler,
mono labels, tabular numerals. Ink on paper, with a single electric accent reserved for the one
thing we want people to do: take the survey.

Pages: `index.html` (landing), `about.html`, `model.html` (the matrix in full), `history.html`
(where the model comes from), `privacy.html`.
Plain HTML/CSS plus one small `site.js`. No build step, no frameworks, no CDN scripts. Every page
works when opened straight from the file system.

---

## 1. Concept in one rule: fill = level ÷ 5

One idea drives every graphic on the site. **A level is shown as a fill, and the fill is level ÷ 5.**

| Where | Form | Level 0 | Level 5 |
|---|---|---|---|
| The mark | a column of square cells per level | one empty cell | a full column of 5 cells |
| Level glyph (column heads, scale bar, model page) | a square cell filled from the bottom | empty square | solid square |
| Matrix meters | a bar along the top of every matrix cell | empty track | full-width bar |
| The CTA ladder (rail and bar) | six small cells, 0 to 5 | empty | solid |

Because every row of the matrix carries the same 0→5 fill pattern, the graphic reads as **a scale,
never as a result**. Nothing on the site can be mistaken for somebody's score.

## 2. Palette

All colours are CSS custom properties at the top of `styles.css`. Ratios are WCAG 2.x contrast,
computed for the pairs actually used.

| Token | Hex | Role | Checked against |
|---|---|---|---|
| `--ink` | `#121416` | near-black charcoal: text on paper; dark plates and footer | on paper **16.5:1** |
| `--paper` | `#F3F2ED` | paper-white page | — |
| `--paper-2` | `#E8E6DF` | note bands, hover on paper | ink on it **14.8:1** |
| `--paper-3` | `#CFCCC3` | hairline rules on paper (decorative only) | — |
| `--graphite` | `#4E5359` | secondary text and mono labels on paper | on paper **6.9:1**, on paper-2 **6.2:1** |
| `--mist` | `#A9AEB4` | secondary text on dark | on ink **8.3:1** |
| `--ink-2` / `#202428` | raised dark surface / dark hover | paper on dark hover **13.9:1** |
| `--ink-3`, `--ink-4` | `#2C3035`, `#3D4248` | rules and empty meter tracks on dark (decorative) | — |
| `--accent` | `#C8F03C` | **the one accent (acid green)** | ink on accent **14.1:1**; accent on ink **14.1:1** |

**The accent rule (load-bearing):** acid green against paper is only **1.17:1**, so it is never used
for text, icons or thin lines on paper. It appears in exactly two ways: as a **fill behind ink**
(the CTA rail and bar, primary buttons, the one highlighter stroke in the hero, link hover) and as
**marks on ink** (level numbers, meters, links and arrows on the dark plates and footer). Every
accent *control* on paper (the CTA, primary buttons) also carries a 2px ink edge, so its boundary
never depends on the accent. The highlighter stroke and the link-hover fill are only grounds behind
ink text.

Focus is two-tone: a 3px ink ring with a paper halo on light surfaces, an accent ring with an ink
halo on dark surfaces, and an inset ink ring on the accent CTA. Visible on all three grounds.

## 3. Type

| Family | Used for | Fallback stack |
|---|---|---|
| **IBM Plex Sans** 400/500/600 | body, headings (600, tight tracking) | `system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif` |
| **IBM Plex Sans Condensed** 400/500/600 | matrix cells (more words per narrow cell) | `"Roboto Condensed", "Arial Narrow", "IBM Plex Sans", system-ui, …` |
| **IBM Plex Mono** 400/500/600 | labels, numerals, buttons, nav, CTA; the full name in the lockup (the wordmark itself is outlined from the Bold and Regular cuts) | `ui-monospace, "SFMono-Regular", "Cascadia Mono", "Segoe UI Mono", Consolas, "Liberation Mono", Menlo, monospace` |

Loaded with one Google Fonts `<link>`. Numerals are tabular everywhere (`font-variant-numeric:
tabular-nums`; Plex Mono is tabular by construction). Labels are 11–12px mono, upper case, tracked
+0.08em. That is the instrument-panel voice. Body copy stays in a calm sans at 16–17px with 1.6
leading. Checked offline with Google Fonts blocked (before the rename): the Segoe UI / Consolas /
Arial Narrow fallback keeps the same structure and hierarchy. The mark and the wordmark are
outlined, so they do not change offline; the full name in the lockup is live text and falls back
to the system monospace, which is no wider.

Why Plex: it is one superfamily (sans, condensed, mono) designed together, it reads as engineered
without being cold, and it is open-source (OFL). Caveat for the owner: Plex is IBM's corporate face,
so some readers will associate it with IBM.

## 4. The mark and wordmark

`assets/logo.svg` (on light), `assets/logo-reverse.svg` (on dark), `assets/favicon.svg`.

- **The mark is the 0→5 ladder drawn as cells.** Six columns on a five-row cell grid. Column *k*
  holds *k* filled cells, so the silhouette climbs from nothing to full. **Column 0 is a single
  outlined, empty cell: level 0, "blind".** It is the cell-and-ladder glyph from the brief, and it
  is literally the spine of the model. The rename did not change it.
- **The wordmark is "SOMInstitute", one word, in IBM Plex Mono**, outlined to paths so it renders
  identically with or without web fonts. Monospace means every letter occupies the same cell, so
  the name sits on the same pitch logic as the grid: twelve letters, twelve cells.
- **The four capitals are set apart by weight.** S, O, M and I are Plex Mono Bold; "nstitute" is
  Plex Mono Regular, in the same cells. On paper the whole word is ink, because the accent never
  sets text on paper (§2), so weight alone does the work. On dark the four capitals also take the
  mark's acid and the rest of the word is paper, so the initials light up with the ladder. "SOMI"
  is never written as a word anywhere else.
- **The full name, "Solar Operations Maturity Institute", is the descriptor.** In the logo files it
  is outlined in Plex Mono Medium and set to the ink width of the wordmark (34% of its size). On the
  pages it is live text, Plex Mono Medium at 11px: graphite on paper, mist on dark.
- **Two lockups.**
  - *Full:* the mark on the left spans two lines, the wordmark over the full name. The mark's top is
    the wordmark's cap line and its foot is the full name's baseline. Used in the logo files, in the
    footer of every page, and in the masthead below 960px and from 1200px.
  - *Compact:* the mark over the wordmark, left-aligned, with no full name. Used only in the
    masthead from 960 to 1199px, where the full lockup does not fit beside five nav cells and the
    rail (the numbers are in "Rename to Solar Operations Maturity Institute" at the end).
- **Reverse version:** acid cells on ink, with the empty cells of the grid shown dimly (`#3D4248`),
  so on dark the mark becomes a small LED matrix with the ladder lit. Acid initials, paper
  "nstitute", mist full name.
- **Favicon:** the acid ladder on an ink tile, readable at 16px as a rising stair. It has no letters,
  so the rename did not touch it.
- Construction: cells are 1 unit, gaps 0.2 unit. In the logo files the wordmark's cap height is 698
  units and the full name's 237, with 150 units between them, so the mark is 1,085 units tall. On
  the pages the wordmark is 18px type and the mark 27.19px (compact: 17px type under a 20px mark).
  Minimum size: 20px mark height on screen. Clear space: one cell on every side.
- Generator: the SVGs were produced from the OFL font outlines with fontTools, from the same local
  copies of Plex Mono Bold, Regular and Medium as before. Nothing third-party was redrawn. The
  partners appear as **text only** (see §8).

## 5. Layout system

- **Frame:** max width 1280px, gutters `clamp(16px, 4vw, 48px)`. On desktop the right-hand 76px
  belongs to the CTA rail and is reserved from the layout (see §6).
- **The ruler:** every section opens with a 2px ink rule, and on desktop a **12-column ruler hangs
  from it**: minor ticks every twelfth, major ticks every quarter. Every two-column structure
  (section heads, datasheets, notes, the scoring table) starts its second column **exactly on the
  25% tick**, and four- and three-column cell grids fall on the 1/4 and 1/3 ticks. The grid is
  shown, not just used.
- **Cells:** content lives in ruled cells (1px hairlines, 2px ink top edge per group), not in cards.
  No radii, no shadows.
- **Datasheets:** facts are set as `LABEL | value` rows. Examples are the "survey, specified" sheet
  and the privacy note, where the label column carries the mono label and the value column carries
  plain sentences.
- **Plates:** the dark bands are "display windows" that hold a figure (Fig. 01, the matrix), so the
  dark surface means "instrument display" rather than "dark mode".
- **Breakpoints:** 37.5em (600px), 48em (768px), 60em (960px: rail replaces the bar; desktop
  masthead), 68.75em (1100px: the full matrix becomes a table), 75em (1200px; below it the desktop
  masthead uses the compact lockup and narrows the nav cells, so five items clear the rail).
- **Mobile header:** brand row, then a five-cell tab bar (Home · About · The model · Model history
  · Take the survey). The current page is the inverted cell. No hamburger: all five destinations
  stay visible.

## 6. The CTA: always on screen, never on top of anything

The survey link is the single most important element, so it is part of the frame rather than
floating over it.

- **Desktop (≥ 960px): a fixed rail on the right edge, full height.** `position: fixed; top: 0;
  right: 0; bottom: 0; width: 76px`. It is acid green with a 2px ink left edge. Its head cell is
  exactly as tall as the masthead (72px) and carries the arrow; its 2px ink rule continues the
  masthead's bottom rule across the rail. Below that, "TAKE THE SURVEY" runs vertically (book-spine
  orientation), with "UNDER 10 MIN · CONFIDENTIAL" beside it and the 0→5 ladder at the foot. The
  whole rail is one link, so the target is the full viewport height.
  - **It never covers content:** `body { padding-right: 76px }` reserves the column, so the page,
    the masthead and the footer all end at the rail's edge. Measured in headless Chrome at
    1280×800: the rail occupies x 1204–1280 at the top, middle and bottom of every page, and no
    content box extends past x = 1204.
  - On short laptop screens (≤ 600px tall) the ladder drops out; below 430px the meta line drops
    out too. The words never do.
- **Phones and tablets (< 960px): a fixed bar along the bottom.** It is 64px tall plus the iOS
  safe-area inset, acid with a 2px ink top edge: ladder, "TAKE THE SURVEY / UNDER 10 MIN ·
  CONFIDENTIAL", and an ink "go" block with the arrow. The whole bar is one link.
  - **It never covers content or the nav:** the nav is at the top; `body { padding-bottom: 64px +
    safe-area }` reserves the bar's height. `html { scroll-padding-bottom }` stops anchor jumps
    and focused elements from landing under it. Measured at 360×780: the bar sits at y 716–780 at
    every scroll position, and at full scroll the footer ends at y = 716, exactly on the bar's top
    edge.
- **States:** on hover the rail or bar inverts (ink ground, acid text) and the arrow nudges.
  Keyboard focus is an inset ink ring that stays inside the viewport edge. The CTA comes last in
  the tab order (after the footer), and the masthead nav carries "Take the survey" early, so
  keyboard users reach it without tabbing through the page.
- **One URL, one place:** `site.js` holds `surveyUrl: '../solrboost_maturity_survey_v4.html'`. Every
  CTA is an `<a data-survey-link>` that receives that href on load, in the same tab. Each anchor also
  carries the same URL as a static `href`, the no-JavaScript fallback added in review (see "Review
  amendments"). For production, change the constant and find-and-replace the fallback.

## 7. The matrix, two ways

- **Index (Fig. 01, compressed):** the real matrix on a dark plate, short level titles only, with an
  acid meter on every cell. Pointer users get a crosshair: hovering a cell lights its row and its
  column, which shows the idea of one spine across seven areas. On phones the titles collapse and
  the figure becomes the abstract instrument: seven rows of six small meters, with area names as
  links into the full model and a spine legend underneath. The titles are still in the DOM for
  screen readers.
- **Model page (in full):** every short title and one-line description, copied verbatim from the
  brief §4.3.
  - **Desktop (≥ 1100px):** a real `<table>` with a **sticky header row** (level number, glyph,
    spine word), so the spine stays visible while you read down. A view switch (Titles +
    descriptions / Titles only) collapses it to one screen. It is hidden without JS, and the full
    view is the default. Long slashed terms ("completeness/accuracy") carry `<wbr>` so they break
    cleanly.
  - **Phones (< 600px):** each area becomes its own block, with the area heading and its six levels
    stacked. Each level reads "3 ▣ SYSTEMATIC" over its title and description, with a meter
    showing the level. A jump list (01–07) sits above. No horizontal scroll at 360px (measured).
  - **Tablets (600–1099px):** the same blocks, with levels in 2 or 3 columns.
  - Table semantics survive the reflow because explicit ARIA table roles are restated on the
    elements (`role="table|row|cell|rowheader|columnheader"`). The header row is visually hidden
    on small screens, not removed.

## 8. Single sources, content and honesty

- **Partners:** "University of Cape Town", "TruePoint South Africa", "Partnerships for Growth
  (P4G)" and "SolrBoost", set as plain text in the same neutral style for all four, with no
  fabricated logos. `site.js` holds the names in one list (`partners`), and every `[data-partner]`
  slot is rewritten from it on load, so **the TruePoint spelling is a one-line change** to the
  rendered site. The HTML keeps the same text as a no-JS and search fallback. To make a spelling
  change permanent there too, find and replace it in the five HTML files, including the meta
  descriptions, which name the partners in plain text. The model is attributed to SolrBoost and the
  benchmark to the three partners: see "Partner wording and model history" at the end.
- **Nothing invented:** the numerals that appear (7 areas, 13 rated questions, 1 yes/no question,
  under 10 minutes) are survey specifications from the brief, not statistics. There are no
  testimonials, no photos and no scores. The site states that it never shows a score, and results
  are described as emailed about two weeks after the survey closes.
- **Email:** `paul@solrboost.co.za` is the only address on the site. It appears in the privacy
  note (with its own cell at the top of the page) and as the removal-request contact in the
  footer, as the brief asks.

## 9. Accessibility notes

AA contrast on every text pair (table in §2). Visible two-tone focus on paper, ink and accent. Skip
link. Landmarks: `header` / `nav[aria-label=Primary]` / `main` / `footer` / `aside[aria-label=Survey]`.
`lang="en-ZA"`. One `h1` per page, then `h2` sections and `h3` cells. The matrix tables have
captions and scoped headers. Tap targets are at least 44px: nav cells 48px, buttons 52–60px, footer
links 44px, matrix row links 44px, toggle buttons 44px, CTA 64px or full height. Inline text links in
sentences are the WCAG inline exception. The only animation is the meters filling on the index
plate, and it is off under `prefers-reduced-motion`, as are all transitions. The fixed CTA hides in
print.

## 10. Where I was unsure, or deviated

1. **Survey links** (resolved in review): the anchors first depended on JS for their `href`. They
   now carry the URL as a static fallback as well, so they work without JavaScript, and `site.js`
   still sets it from the one constant.
2. **Retention** is written plainly ("Raw responses are deleted 12 months after the report is
   issued"). The brief calls this the *suggested* retention, so confirm it before launch.
3. **"What is collected"** names the contact fields (name, company and email address) because the
   v4 survey's contact step asks for exactly those. The brief only says "contact details".
4. **"Benchmark partners"** (2026-10-07) replaced "research partners", which the first draft used
   without naming anyone. The privacy note names all three, and every footer lists them.
5. **Google Fonts** sends a request to Google on every page view. A POPIA-careful production build
   should self-host the three Plex families. They are OFL, so this is allowed.
6. The hero's "Instrument 01" label takes its cue from the brief's own wording ("Its first
   instrument is the Solar O&M Maturity Survey").

## 11. Elements worth keeping (even if another variant wins)

- **The ladder-in-cells mark** and its rule of "fill = level ÷ 5" as a system (mark, glyph, meters,
  CTA ladder).
- **The CTA as part of the frame:** a reserved right-hand rail on desktop and a reserved bottom bar
  on phones, rather than a floating button over content.
- **Fig. 01: the real matrix as the hero graphic,** with the row and column crosshair.
- **The model page table:** sticky spine header, titles-only switch, and a clean reflow to one block
  per area on phones.
- **Datasheet sections** ("The survey, specified") for presenting facts without inventing stats.
- **The 25% ruler** that section heads, notes and sheets align to.
- **The SOMInstitute wordmark:** one cell per letter, the four initials set apart by weight on paper
  and lit in acid on dark.
- **The scoring rules as formulae:** `target − today`, `importance × gap`, `not rated ≠ 0`.

---

## Review amendments (2026-10-06, reviewer)

- Every survey anchor now carries `href="../solrboost_maturity_survey_v4.html"` in the markup as a no-JavaScript fallback; `site.js` still sets it from the single constant on load, so the production URL is still changed in one place (and, if the fallback should follow, with one find-and-replace across the pages).
- Every page carries `<meta name="robots" content="noindex, nofollow">` while the three drafts sit on the production domain. Remove it from the variant that goes live.

---

## Partner wording and model history (2026-10-07)

Owner decisions of 2026-10-07 (brief §8). This records what changed in this variant and how the new
page uses the Grid system. Earlier statements in this document that had stopped being true were
corrected in place: §4 (partners as text), §5 (five-cell tab bar, compact masthead), §6 (the survey
URL's fallback), §8 (partners), §10.1 and §10.4.

### Wording: the model, and the benchmark

The draft called the University of Cape Town, TruePoint South Africa and SolrBoost "founders". That
framing is gone. The site now separates the two parts of the SOM Institute as the brief does: the
**SOM Institute maturity model**, developed by SolrBoost, and the **SOM Institute benchmark** (the
survey, the South African cohort and the industry insights), run in partnership with the University
of Cape Town, TruePoint South Africa and Partnerships for Growth (P4G). "Founder", "founders" and "founded" no longer appear in any page,
title, meta description, class name, `data-*` attribute, `site.js` identifier or the stylesheet; this
note is the only place the word survives.

- **Landing page, section 04 (was "Founded by"):** heading "Run in partnership with", then one ruled
  row of the four names in the brief's order: University of Cape Town · TruePoint South Africa ·
  Partnerships for Growth (P4G) · SolrBoost.
  - Every name uses the same 600-weight sans at the same size, in an identical cell.
  - No cell has a label. The old per-cell labels ("Founder", and on About "Founder · survey
    operator") were role captions of the kind §8.1 rules out.
  - Below 600px the cells stack; from 600px they are 2 × 2. From 960px, where the ruler appears,
    they are one row of four cells, three columns each, with their edges on the 25/50/75% ticks.
  - Under the row is one datasheet footnote with a NOTE tag: "The maturity model behind the SOM
    Institute was developed by SolrBoost. Read the model history →".
  - The hero lede no longer names anyone, so this block is the landing page's only list of names.
    The survey-operator sentence that sat under the old row now lives on About and the privacy note.
- **About, section 01, "The model, and the benchmark.":** the §8.2 long form, verbatim, set on the 25%
  offset; the same four-cell row; a note band (SolrBoost operates the survey and is the only party
  that processes individual responses; the benchmark partners receive aggregated, anonymised results
  only); and a footnote linking to `history.html`. In the page head, the datasheet's old name row
  became "Model … developed by SolrBoost" and "Benchmark partners".
- **Footer, all five pages:** the three-cell name grid is replaced by the §8.2 short form, verbatim,
  as one line of small type. "Model by" and "Benchmark partners:" are mono labels, the names are in
  the sans, and no name breaks across lines. The footer nav gains "Model history" (six links, three
  rows of two). The confidentiality line says "benchmark partners".
- **Privacy note:** the aggregated-results row names all three benchmark partners (brief §4.5), and
  the "who sees your answers" row says SolrBoost developed the model and operates the survey.
- **Model page:** the page-head datasheet gains an "Origin" row that links to the model history.
- **Titles and meta descriptions:** none mentions founders. The landing and About descriptions use
  the model-by-SolrBoost, benchmark-with-the-three wording, and the privacy description names the
  three.
- **`site.js`:** `founders` became `partners`, with four entries (`uct`, `truepoint`, `p4g`,
  `solrboost`), and `[data-founder]` slots became `[data-partner]`. Every partner name in page copy
  is a slot whose static text is the name itself, so the pages read correctly with JavaScript off.
- **"Research partners" retired.** The draft used it, unnamed, for the institutions that receive
  aggregated results. They are now "benchmark partners" everywhere, which also keeps them distinct
  from the "independent research partner" on the history page.

### Navigation: a fifth item

The nav is now Home · About · The model · Model history · Take the survey (indexed 00–03, then →).

- **Below 960px:** the tab bar is five equal cells. At 360px each is 72px wide. "The model", "Model
  history" and "Take the survey" wrap to two lines inside the 48px cell, and the longest single word
  ("HISTORY", about 53px in Plex Mono at 11.5px) fits.
- **960–1199px:** the four-item row was already nearly full at 960px (about 796px of content in 807px
  of masthead, before a Windows scrollbar takes another 17px), so a fifth item would have run under
  the rail. In this range the masthead hid the decorative descriptor after the wordmark (the brand
  link keeps its own `aria-label`; since the rename this range uses the compact lockup, see the last
  section), and the nav cells use 14px of side padding instead of 18px: about 745px of content in
  790–1027px of masthead.
- **1200px and up:** the descriptor and the full padding return (about 960px of content in at least
  1011px with the lockup of that time; about 941px with the full lockup after the rename).

These widths are arithmetic from Plex Mono's 0.6em advance and the stylesheet's padding, gaps and
tracking; the fallback monospace faces are no wider. They were not measured in a browser in this pass.

### `history.html`: "Model history"

The page has the same head, masthead, footer, rail and bar as the other pages. It was assembled from
the edited About page, so that shared markup is identical. It uses only existing components apart
from three small additions (section 21 of `styles.css`), and it follows brief §8.4 in order:

1. **Page head:** "Where the model comes from." The lead says the model was developed by SolrBoost
   and that its shape comes from software engineering's Capability Maturity Model. A three-row
   datasheet plate gives the model, who developed it, and where its shape comes from.
2. **01 The source:** a datasheet for CMM (the Software Engineering Institute at Carnegie Mellon
   University; the late 1980s; Watts Humphrey's work; CMM v1.0 in 1991; built for the US Department
   of Defense; the five level names as chips). Its lasting idea follows as three numbered cells, then
   a note band: CMMI in the early 2000s, and the staged idea applied in many fields.
3. **02 Why it fits solar O&M:** the seven practices from §8.4 as a datasheet, each labelled with the
   area of the model that covers it (01 Monitoring … 07 Reporting), then a note band on why a
   described ladder is more useful than a score.
4. **03 Kept and changed:** Table 01 and the kept/changed lists.
   - Table 01 is a real `<table>` with a caption, scoped row and column headers and a `<colgroup>`.
     It sets CMM's five levels (1–5) beside the SOM Institute model's six (0–5) by level number.
   - From 960px its column edges sit on the 25% and 50% ticks.
   - The level column carries the site's level glyph, filled to level ÷ 5 as everywhere else.
   - The level-0 row is shaded paper-2 and tagged "No level 0" / "Added".
   - No CMM level is described beyond its name.
   - The table has six rows and never outruns its header, so the model page's sticky header was not
     reused.
   - Below the table, two cells, "= Kept from CMM" and "≠ Changed for solar", each hold a ruled list.
     The markers reuse the path-key square from the landing page and are hidden from screen readers;
     the headings carry the meaning.
5. **04 How it was built:** two cells. SolrBoost's own experience running monitoring and analytics for
   solar fleets, and research by an independent research partner, commissioned by SolrBoost. No name,
   no numbers, no dates.
6. **05 From model to benchmark:** the §8.2 long form verbatim, the aggregated-results sentence, and
   two buttons: Take the survey (primary) and Read the model. There is no closing dark band, because
   section 05 already ends on the survey button and a band straight after it would repeat that button
   within one screen. The rail or bar is on screen throughout, as on every page.

### CSS (kept small)

- **Section 4:** the tab bar repeats five columns, and one media query sets the 960–1199px compact
  masthead.
- **Section 11:** the partner row and the footnote replace the old name cells.
- **Section 17:** the footer credit line replaces the old name grid.
- **Section 21 (new, history only):** a two-cell grid, the ruled list and Table 01.

No colour, face or token was added. `styles.css` keeps its CRLF line endings. The HTML, JS and
Markdown files are LF, and `history.html` was created LF to match its siblings.

### Checked, and not checked

Checked statically:

- **Search:** a case-insensitive search of the folder for the five terms in brief §8.5 item 10
  finds nothing outside this note, and the note uses only the founder words, not the misspellings.
- **Links:** every page links to `history.html` from the nav and the footer.
- **Names:** every page's static text carries all four names and "P4G".
- **Paths:** every relative `href` and `src` resolves.
- **Markup:** every page parses with balanced tags, unique ids and one `h1`.

Not done in this pass (the shared browser was in use): a rendered check of `history.html` at
1280×800 and 360×780, and of the five-item masthead at 960–1100px. The measurements in §6 are from
the original four pages.

---

## Rename to Solar Operations Maturity Institute (2026-10-07)

Owner decision, brief §9: "SolarInSightTracker" and "SIST" are retired. The initiative is now the
**Solar Operations Maturity Institute**, short name **SOM Institute**, and the wordmark is
**SOMInstitute**. Only the name changed: no fact, link, partner, model or history content moved.
Earlier sections of this document were updated in place (the title, the concept line, §3, §4, §5,
§11 and the partner note), so this note is the only place the old name survives.

### Where the name appears

- **Titles:** "Page · Solar Operations Maturity Institute"; the landing page's is "Solar Operations
  Maturity Institute — the Solar O&M Maturity Survey". Every meta description carries the full name
  with "(SOM Institute)", including the privacy note's, which did not name the initiative before.
- **The first mention on each page is the full name:** the landing and About ledes ("The Solar
  Operations Maturity Institute (SOM Institute) is an industry initiative with two parts …"), the
  model and history ledes ("The maturity model of the Solar Operations Maturity Institute (SOM
  Institute) …") and the privacy note's "Who sees your answers" row. After that the text says "SOM
  Institute" or "the Institute's model".
  - On the history page the lede carries the full name, so it reads "The maturity model of the
    Solar Operations Maturity Institute (SOM Institute) was developed by SolrBoost" rather than the
    brief's "The SOM Institute's maturity model was developed by SolrBoost". Same facts, same order.
    Only the kicker label above it ("From CMM to SOM Institute") uses the short form first.
- **Statements of record**, verbatim from brief §9.2: "The SOM Institute maturity model was developed
  by SolrBoost. The SOM Institute benchmark — …" on About (section 01) and the history page (section
  05). Also "The SOM Institute maturity model" in the history page head, Fig. 01 "The SOM Institute
  maturity matrix", and both matrix captions.
- **Smaller places:**
  - the About datasheet row "Initiative: Solar Operations Maturity Institute (SOM Institute)";
  - the landing partner footnote: "The maturity model behind the SOM Institute was developed by
    SolrBoost.";
  - the history kicker "From CMM to SOM Institute". At 360px it is exactly as long as the landing
    page's kicker, so it still fits;
  - Table 01's third column "SOM Institute / Six levels, 0–5" and the note label under it, "In the
    SOM Institute model".
- **Footer, every page:**
  - the full lockup, with the full name;
  - the description sentence, which now opens "The Solar Operations Maturity Institute (SOM
    Institute) is …";
  - the base row, which reads "SOM Institute" and "Solar O&M Maturity Survey · South Africa" (it
    read "SIST · SolarInSightTracker").
- **Brand links:** `aria-label="Solar Operations Maturity Institute (SOM Institute): home"`. The
  logo files' `<title>`s carry the full name. The skip link never named the initiative.
- **Code:** `site.js`'s config object `SIST` is now `SOMI` (an identifier, not copy), and its header
  comment is renamed. `styles.css` renames its header comment and the Table 01 comment. No class, id
  or `data-*` attribute carried the name.
- **Not changed:** the CTA rail and bar, which never carried the name. They read "Take the survey /
  Under 10 min · confidential" and keep those words. The favicon has no letters.

### The new lockup

§4 describes it. This is why there are two arrangements:

- The old masthead lockup was the mark beside "SIST": 25px tall and 123.65px wide. From 960 to
  1199px that was the whole brand, because the descriptor was hidden, and the five nav cells fitted
  beside it with about 45px to spare (with a 17px scrollbar). "SOMInstitute" has three times the
  letters. Beside the mark, at any size where it still reads as a name, it is wider than those
  123.65px; at the mark's own minimum (20px) the word would have to drop to about 13px type.
- So from 960 to 1199px the masthead stacks the mark over the word: 17px type, 12 × 0.6 × 17 =
  122.4px wide, 1.25px narrower than before. The stack costs height (37.9px of the 72px bar), not
  width.
  - At 960px: 122.4px of brand plus 621.6px of nav in a 790.2px content box, 46.2px free (was 45px).
  - The nav still ends one gutter (38.4px) short of the rail.
- Everywhere else the full lockup fits: 279.5px wide (a 32.8px mark, an 8px gap and the full name at
  238.7px).
  - At 1200px: 279.5px plus 661.6px of nav in 1011px, 69.9px free. The old lockup and descriptor
    took 298px, leaving 51px.
  - On phones the brand row has 288px at 320px and 328px at 360px.
  - The footer uses the same 279.5px at every width.
- The full name shows where the old descriptor did: below 960px, from 1200px, and always in the
  footer.

These widths are arithmetic from Plex Mono's 0.6em advance, its vertical metrics (ascent 1.025em and
descent 0.275em, the same in the hhea, typo and win tables) and the stylesheet's sizes. The fallback
monospace faces are no wider. A fallback face can put the full name's baseline a pixel away from the
foot of the mark; the mark itself does not move.

### Logo files

`logo.svg` and `logo-reverse.svg` were regenerated with the same tool as before: the full lockup,
outlined, with the full name set to the ink width of the wordmark. The viewBox is `-60 -110 8772.69
1323.13`, about 6.6:1 (it was 3.5:1). The `p` and `y` of the full name hang below the foot of the
mark, as the `g` of the old descriptor did. Both files are still a single line ending in CRLF.

### Checked, and not checked

Checked statically:

- **Search:** a case-sensitive search for `SIST` (whole word), `SolarInSight`, `InSight` and
  `Tracker`, and a case-insensitive one for `sist` and `solarinsight`, find nothing in the `.html`,
  `.js`, `.css` and `.svg` files. In this document they appear only in this note.
- **Names:** every page's text carries "Solar Operations Maturity Institute" and "SOM Institute",
  and every `<title>` and meta description carries the full name.
- **Links and markup:** every relative `href` and `src` resolves and every SVG parses as XML. The
  four partners, the history links and the survey links are unchanged.
- **Artwork:** the SVGs were rasterised from their own path data with a small offline script, and
  the images were checked by eye.

Line endings are unchanged: `styles.css` is CRLF, the pages, `site.js` and this file are LF.

Not done: a rendered check in a browser at 960, 1080, 1280 and 360px. No browser was used in this
pass.
