A blog post reads with its contents on one side and its offer on the other. On a wide screen the two rails split: the contents list on the left, the writer's card on the right, in the margin the article was leaving empty. Each pins on its own, so the list no longer scrolls inside whatever the card leaves over, and the card stays on screen for the length of a long read instead of disappearing within the first screenful. Narrower desktops keep the single left rail.
The reading measure grows with it, from 40.5rem to 43rem, which is what the widest comparison table needs — at the old width it was clipped and carrying a scroll shadow.
The phone's contents bar is a label, not a menu. It named the section you were reading and also opened the whole list on tap. The list is the desktop rail's job; on a phone the line only needs to say where you are. The chevron, the panel and everything behind them are gone.
Smaller corrections
- The hero's typing caret sat below the baseline of the line it was typing on. It was a "|" glyph carrying the font's own descender; it is drawn as a rule now.
- The help desk widget's rows drop their hairline on the hero in light, where the fill was already a legible step off the card.
- The client intake widget's dot field shimmers on hover, the light masked by the dots so the paper between them stays put.
- Customer story rows are square. A radius on a row whose only edge is its top rule bent that rule into corners with no sides to meet.
Separately, and not part of this build: every sidebar CTA on the blog was rewritten to fit two lines in the card, and the comparison table headers were shortened so none of them wraps to three. Those live in Ghost and are already out.