+ {/* With a side column the ToC becomes a real column in the
+ row, so all four tracks line up on the site grid. Without
+ one it keeps its original full-bleed absolute position. */}
+
+ {headings.length > 0 && (
+
+ )}
+
+
+
+
+ {content}
+
+
+
+
+ {/* No room beside the article below xl, so the cards
+ flow into the article width rather than vanishing
+ or keeping the rail's narrow column. */}
+
+
+
+
+
+ {/* Anchored to the article, not the viewport, so it holds
+ its place whether or not a side column is present. */}
+
-
-
-
-
- {content}
-
-
-
-
-
+ {/* ml clears the share rail, which is absolutely positioned
+ just outside the article and would otherwise sit flush
+ against the cards. */}
+ {/* A sticky element can only travel through space its
+ container has left over. The share rail is short so it
+ always has room; a tall card stack does not — hence the
+ viewport cap, which keeps the column pinned (scrolling
+ internally if needed) instead of drifting off-screen.
+ Bottom padding is kept small for the same reason. */}
+
+