main>article {
  display: grid;
  grid-template-columns: max-content 1fr;
  grid-template-areas:
    "title title"
    "image image"
    "date author"
    "content content";
  align-items: start;
}

main>article>header {
  display: contents;
}

main>article>header>h1 {
  grid-area: title;
  margin: 0;
  padding-bottom: 1rem;
}

main>article>header>div.image {
  grid-area: image;
  width: 100%;
  padding-bottom: 1rem;
}

main>article>header>div.image:empty {
  display: none;
}

main>article>header>div.image>img {
  display: block;
  width: 100%;
  height: auto;
}

main>article>header>div.created,
main>article>header>div.date {
  grid-area: date;
  white-space: nowrap;
  padding-right: 1rem;
  padding-bottom: 1rem;
}

main>article>header>div.author {
  grid-area: author;
  padding-bottom: 1rem;
}

main>article>div.content {
  grid-area: content;
}