.article {
  max-width: var(--wp--style--global--content-size);
  margin-inline: auto;
}

.article__head {
  padding-block: var(--wp--preset--spacing--5) var(--wp--preset--spacing--4);
}

.article__head h1 {
  font-size: var(--wp--preset--font-size--h-2);
  line-height: 1.2;
}

.article__meta {
  margin: var(--wp--preset--spacing--3) 0 0;
  color: var(--wp--preset--color--muted);
  font-size: var(--wp--preset--font-size--small);
}

.article__meta .entry__type {
  display: block;
  margin-top: 0.15rem;
  color: var(--wp--preset--color--ink);
}

.article__photo,
.article__body figure {
  margin: 0 0 var(--wp--preset--spacing--4);
}

.article__photo figcaption,
.article__body figcaption,
.article__body .wp-caption-text {
  margin-top: var(--wp--preset--spacing--1);
  color: var(--wp--preset--color--muted);
  font-size: var(--wp--preset--font-size--small);
}

.article__body {
  line-height: 1.7;
  overflow-wrap: break-word;
}

.article__body p,
.article__body ul,
.article__body ol,
.article__body table {
  margin: 0 0 var(--wp--preset--spacing--3);
}

.article__body h1,
.article__body h2,
.article__body h3,
.article__body h4 {
  margin: var(--wp--preset--spacing--4) 0 var(--wp--preset--spacing--2);
  font-size: var(--wp--preset--font-size--h-3);
}

.article__body blockquote {
  margin: 0 0 var(--wp--preset--spacing--3);
  border-left: 3px solid var(--wp--preset--color--accent);
  padding-left: var(--wp--preset--spacing--2);
}

.article__body iframe {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  border: 0;
  margin: 0 0 var(--wp--preset--spacing--4);
}

.article__body .wp-caption {
  max-width: 100%;
}

.article__body .aligncenter {
  margin-inline: auto;
}

.article__body .alignleft {
  float: left;
  margin: 0.3rem var(--wp--preset--spacing--3) var(--wp--preset--spacing--2) 0;
}

.article__body .alignright {
  float: right;
  margin: 0.3rem 0 var(--wp--preset--spacing--2) var(--wp--preset--spacing--3);
}

.article__body::after {
  content: "";
  display: table;
  clear: both;
}

.related {
  border-top: var(--wp--custom--rule);
  margin-top: var(--wp--preset--spacing--5);
  padding-top: var(--wp--preset--spacing--4);
}

.related h2 {
  font-size: var(--wp--preset--font-size--h-2);
  margin-bottom: var(--wp--preset--spacing--4);
}

@media (max-width: 40rem) {
  .article__body .alignleft,
  .article__body .alignright {
    float: none;
    margin-inline: 0;
  }
}
