These elements are created with the figures/image shortcodes from the old site.
Make them wide, and give them XL block margins.
Along the way, make sure that any element with only an <img> child has a line height
of 1 to avoid a weird gap below the image.
This is an (annoying) quirk of how Hugo renders Markdown. Sometimes images
are embedded in <p> tags, even if the <img> element is produced by a shortcode.
In addition to the color scheme changing based on the system setting, enable
setting the color scheme explicitly by adding a color-scheme="light | dark" attribute
on the <html> element.
Doing this was a bit tricky. I originally implemented the grayscale ramp by
reversing it when prefers-color-scheme: dark. This was convenient, but meant that
setting the color scheme explicitly didn't work.
Along the way I discovered the light-dark() CSS function. Deploy that as the preferred
style if the browser supports it. Otherwise, fall back on the prefers-color-scheme
media queries. This function only works if color-scheme: light dark is set on the
:root element.
Give <sup> elements a line height of 1 and set vertical-align to text-top instead
of sup so it bumps up against the top of the line, rather than pushing above it.
Use a computed text size, rather than a relative percentage too.
Make CSS variables for sans, serif, and mono font families. Create utility classes
to apply them to an element.
Add a .text--small style to style an element like <small>.