Tenor — identity sheet

Hollowbeck Bellfoundry, Nidderdale. Every mark below is hand-authored SVG on a 64-unit grid with a shared bell section: crown at 10, shoulder at 19, waist at 34, sound-bow flare from 44, mouth at 52. Nothing is traced, nothing is clip-art.

Round 1 · four concepts

A · Section
Half-section: solid cast, hatched void, centre line. The most “foundry” of the four — but three line weights and a dash pattern is a lot to ask of 24 pixels.
B · Five partials
The tuning, not the bell. Elegant and it survives shrinking — but nested arcs above a rule is a shape the world already reads as “wifi”, and it never says bronze.
C · Ring of three
Says “ring of bells”, which is what the business actually sells. Overlaps badly at small sizes and the three silhouettes fuse into one blob by 24px.
D · Struck
One contour, one counterform, one solid. Reads as a bell instantly and still reads at 24px. The open mouth is the weakness — it looks unfinished where a real bell has a heavy lip.

Round 1 verdict — the geometry is wrong in all four. Rendered side by side they read as tents, and concept C reads as three mountains, which gives the fault away: the profile widens at a constant rate from crown to mouth, so it is a triangle with curved sides. A bell does not do that. Its crown is about 45% of the mouth diameter, the waist runs almost vertical for the top half, and the whole flare happens in the bottom third at the sound-bow, which is also the thickest metal in the casting. Concept D was right in kind — one contour, one counterform — so round 2 keeps D and rebuilds the profile.

Round 2 · corrected section, three treatments

D1 · outline
Contour at 3 units with a solid lip band and the clapper swung to the strike side.
D2 · solid + void
Cast solid, clapper knocked out as a counterform. The heaviest, and the one that behaves best when it gets small.
D3 · section hybrid
Solid with the drawing-office centre line knocked through it — keeps a trace of concept A's works-drawing register.

Round 2 verdict — D2. The corrected section works: all three now read as a bell rather than a tent. D1 is handsome large but its counterform closes up by 24px and the three elements go spindly. D3 fails outright — the knocked-through centre line splits the silhouette and the thing reads as a table lamp, which is the risk of putting a drawing convention inside a mark instead of around it. D2 survives all three sizes and is the only one that still looks cast at 24px. Faults to fix in round 3: the crown domes too much and reads balloon-ish, the lip band sits under the bell like a separate plinth, and the headstock is a stub rather than a beam.

Round 3 · refining D2

3a · beam + flush lip
Flatter crown, lip narrowed to project just one unit past the mouth, headstock widened into a beam.
3b · struck on the bow
The void moved out to the sound-bow, where the clapper actually lands — it bites the silhouette instead of floating in it.
3c · bell alone
No beam. Tests whether the headstock is doing work or just adding a bar that turns to mud at favicon size.

Round 3 verdict — none of them yet, and the fault is the lip. Seen at 160px the separate lip band reads as a plinth the bell is standing on rather than as the sound-bow, which is part of the casting and the thickest metal in it. All three share the fault because all three inherited the rectangle. 3b's void, moved out to the bow, stopped reading as a clapper and started reading as a bite taken out of the edge; 3c showed the beam is worth keeping, because without it the stem alone reads as a chimney. Round 4 rebuilds the profile so the flare runs to full mouth width and the lip face is a vertical continuation of it — one contour, no rectangle.

Round 4 · integrated bow, and the void

4a · void off-centre — WINNER
The plinth is gone. Reads as one casting at every size, and the clapper sits where a clapper hangs when the bell is swung.
4b · void centred
Rejected. A centred circle inside a tapering silhouette stops being a clapper and becomes a keyhole — the mark reads as a padlock before it reads as a bell.
4c · void plus clapper shaft
Rejected. Handsome large and the most literal of the three, but the shaft is a 3-unit sliver: by 32px it is a scratch and the mark looks damaged rather than drawn.

The suite · six variants

Colour approach, and why: a theme logo ships as a data: URL and a data URL cannot read page CSS, so a static mark cannot re-tint per palette. Both gradient stops were therefore solved rather than picked — a colour clears 3:1 against both a near-white and a near-black ground only if its relative luminance lands in [0.138, 0.237], and #8E5F26 (L 0.143) and #B07A33 (L 0.232) sit at the two ends of that window. Measured against all six palettes' paper and background, in both modes, the worst case is 3.03:1. Nothing in the shipped mark is currentColor — the one variant that is (reversed) is documented as inline-only, for the reason given below it.

1 · Primary lockup
Primary lockup
Header, and the logo field in THEME.json. Mark, wordmark, and the sally at identity scale.
2 · Stacked lockup
Stacked lockup
Footer and narrow chrome. Mark at 78% so it does not tower over the wordmark on a shared centre line.
3 · Icon mark alone — 24px test
Icon mark
64 / 32 / 24px. The mobile header uses this. The whole of round 2 and 3 was decided on the 24px column.
4 · Monochrome
Monochrome lockup
One flat ink, #A06B2A — the midpoint of the window, at L 0.179. 3.67–4.32:1 on every paper and background in the theme.
5 · Reversed, on brand
HOLLOWBECK EST. 1847 · NIDDERDALE
Inline only, in currentColor, so it inherits --c-on-brand. “Reversed” cannot be one fixed colour here: on the three light palettes a brand field is dark and the mark must be near-white (8.2–12.5:1), but on the three dark palettes brand is a light bronze, mint or steel and near-white collapses to 1.8:1. Switch the palette above and watch it flip.
6 · Favicon — 32px test
Favicon
64 / 32 / 16px. A redraw, not the mark shrunk: beam dropped, figure and ground inverted so the tile holds its shape against unknown browser chrome, everything thickened, void enlarged to r2.6 — 1.3px at 16px, the smallest counterform that does not fill in.