    header {
      text-align: center;
    }
    header h1 {
      margin-top: 0.5rem;
    }

    body {
      max-width: 42rem;
      margin: 4rem auto;
      padding: 0 1.25rem;
      font: 18px/1.6 system-ui, sans-serif;
    }

    .profile-picture {
      width: 10rem;
      height: 10rem;
      object-fit: cover;
      border-radius: 50%;
    }

    nav {
      display: flex;
      gap: 1rem;
      flex-wrap: wrap;
    }

    /* color swatches */

    .heading-swatch {
	display: inline-block;
	width: 0.65em;
	height: 0.65em;
	background: var(--swatch);
	border: 1px solid #888;
	border-radius: 3px;
	vertical-align: 0.05em;
	margin-right: 0.15em;
	box-sizing: border-box;
    }

    .colour-swatch {
	display: inline-flex;
	align-items: center;
	gap: 0.4em;
	font-family: monospace;
	white-space: nowrap;
    }

    .colour-swatch::before {
	content: "";
	display: inline-block;
	width: 1em;
	height: 1em;
	background-color: var(--colour);
	border: 1px solid #888;
	border-radius: 3px;
    }

    /* constrain images to column */
    .figure {
	max-width: 100%;
	margin-inline: 0;
    }

    .figure img {
	display: block;
	max-width: 100%;
	height: auto;
	margin-inline: auto;
    }
