.howto-wrap { flex: 1 0 auto; }

    /* -- Page layout: a single article column, read like a blog post -- */
    .howto-wrap {
      width: 100%;
      max-width: calc(var(--max-prose-width) + 2 * var(--space-6));
      margin: 0 auto;
      padding: var(--space-12) var(--space-6) var(--space-16);
      box-sizing: border-box;
    }

    .howto-head {
      margin-bottom: var(--space-8);
    }
    .howto-title {
      font-family: var(--font-display);
      font-size: clamp(var(--font-size-3xl), 5vw, var(--font-size-5xl));
      font-weight: var(--font-weight-semibold);
      letter-spacing: var(--tracking-snug);
      color: var(--color-text);
      margin: 0;
      line-height: var(--line-height-tight);
    }

    /* -- Article copy -- */
    /* Full-strength text at normal weight: the site's default is grey and
       semibold, which tires the eye over long paragraphs. */
    .howto-article p {
      margin: 0;
      font-size: var(--font-size-lg);
      font-weight: var(--font-weight-normal);
      line-height: var(--line-height-loose);
      color: var(--color-text);
    }
    .howto-article p + p {
      margin-top: var(--space-5);
    }
    .howto-article .howto-lead {
      font-size: var(--font-size-xl);
      line-height: var(--line-height-normal);
    }
    .howto-article h2 {
      margin: var(--space-12) 0 var(--space-4);
      font-size: var(--font-size-2xl);
      font-weight: var(--font-weight-semibold);
      letter-spacing: var(--tracking-snug);
      line-height: var(--line-height-tight);
      color: var(--color-text);
      scroll-margin-top: var(--space-20);
    }
    .howto-article a {
      color: var(--color-text);
      text-decoration: underline;
      text-underline-offset: 0.15em;
    }
    .howto-article a:hover {
      color: var(--color-accent);
    }
    .howto-article kbd {
      font: inherit;
      font-weight: var(--font-weight-semibold);
    }
