.c-single-post {
  --single-post-max: 90rem;
  --single-reading-max: 55rem;
  --single-heading-color: #242847;
  --single-copy-color: #646480;
  --single-content-font-size: var(--type-body-xl-size);
  --single-content-line-height: 1.875rem;
  --single-mobile-card-width: 18.4375rem;
  --single-author-size: 2.625rem;
  --single-meta-column-gap: 0.875rem;
  --single-related-card-gap: 1.0625rem;
  --single-related-card-gap-wide: 1.375rem;
  --single-hero-column-gap: 3.125rem;
  --single-related-heading-size: 1.5rem;
  --single-related-heading-line-height: 2.25rem;

  min-width: 0;
  overflow-x: clip;
  padding-block-end: var(--space-20);
  background: var(--color-surface-primary);
}

.c-article-hero,
.c-related-articles {
  max-width: var(--single-post-max);
}

.c-single-article {
  padding-block-start: var(--space-6);
}

.c-article-hero {
  display: grid;
  align-items: stretch;
  gap: var(--space-6);
}

.c-article-hero__copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: space-between;
  gap: var(--space-4);
}

.c-article-hero__summary {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.c-article-hero__title {
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--single-heading-color);
  font-family: var(--font-family-title);
  font-size: var(--type-heading-lg-size);
  font-weight: var(--font-weight-bold);
  line-height: var(--type-heading-lg-line-height);
}

.c-article-hero__description {
  margin: 0;
  color: var(--single-copy-color);
  font-size: var(--type-body-md-size);
  line-height: var(--type-body-md-line-height);
}

.c-article-hero__media {
  order: -1;
  margin: 0;
  overflow: hidden;
  aspect-ratio: 398 / 185;
  background: var(--color-brand-subtle);
}

.c-article-hero__image,
.c-article-hero__image-placeholder {
  display: block;
  width: 100%;
  height: 100%;
}

.c-article-hero__image {
  object-fit: cover;
}

.c-article-hero__image-placeholder {
  background: var(--color-brand-subtle);
}

.c-article-meta {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--single-meta-column-gap);
  color: var(--single-heading-color);
}

.c-article-meta__author {
  display: flex;
  min-width: 0;
  min-height: var(--size-target-min);
  flex: 0 0 auto;
  align-items: center;
  gap: var(--space-2);
  color: inherit;
  font-size: var(--type-body-md-size);
  line-height: var(--type-body-md-line-height);
  text-decoration: none;
}

.c-article-meta__author strong {
  max-width: 5.3125rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.c-article-meta__author img {
  width: var(--single-author-size);
  height: var(--single-author-size);
  flex: 0 0 var(--single-author-size);
  border: var(--border-width-default) solid var(--color-border-default);
  border-radius: var(--radius-circle);
  background: var(--color-surface-primary);
  object-fit: cover;
}

.c-article-meta__facts {
  display: flex;
  min-width: 0;
  flex: 0 1 auto;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: var(--space-2);
}

.c-article-meta__fact {
  display: inline-flex;
  min-height: var(--size-target-min);
  flex: 0 0 auto;
  align-items: center;
  gap: var(--space-1);
  font-size: var(--type-caption-sm-size);
  line-height: var(--type-caption-sm-line-height);
  white-space: nowrap;
}

.c-article-meta__fact img {
  width: var(--size-icon-md);
  height: var(--size-icon-md);
  flex: 0 0 var(--size-icon-md);
}

.c-article-meta__fact b,
.c-article-meta__author strong {
  font-weight: var(--font-weight-bold);
}

.c-single-article__content {
  width: min(100% - (2 * var(--spacing-container-inline)), var(--single-reading-max));
  margin-block-start: var(--space-8);
  margin-inline: auto;
  overflow-wrap: anywhere;
  color: var(--single-copy-color);
  font-size: var(--single-content-font-size);
  line-height: var(--single-content-line-height);
}

.c-single-article__content > * {
  max-width: 100%;
}

.c-single-article__content > * + * {
  margin-block-start: var(--space-5);
}

.c-single-article__content h2,
.c-single-article__content h3,
.c-single-article__content h4 {
  margin: 0;
  color: var(--single-heading-color);
  font-family: var(--font-family-title);
  font-weight: var(--font-weight-bold);
}

.c-single-article__content h2 {
  font-size: var(--type-heading-md-size);
  line-height: var(--type-heading-md-line-height);
}

.c-single-article__content h3 {
  font-size: var(--type-heading-sm-size);
  line-height: var(--type-heading-sm-line-height);
}

.c-single-article__content h4 {
  font-size: var(--type-body-xl-size);
  line-height: var(--type-body-xl-line-height);
}

.c-single-article__content > h2:not(:first-child) {
  margin-block-start: var(--space-12);
}

.c-single-article__content > h3:not(:first-child) {
  margin-block-start: var(--space-8);
}

.c-single-article__content > h4:not(:first-child) {
  margin-block-start: var(--space-6);
}

.c-single-article__content > h2 + *,
.c-single-article__content > h3 + *,
.c-single-article__content > h4 + * {
  margin-block-start: var(--space-4);
}

.c-single-article__content > h2 + h3:not(:first-child) {
  margin-block-start: var(--space-5);
}

.c-single-article__content p,
.c-single-article__content ul,
.c-single-article__content ol {
  margin-block: 0;
}

.c-single-article__content ul,
.c-single-article__content ol {
  padding-inline-start: var(--space-6);
}

.c-single-article__content li + li {
  margin-block-start: var(--space-3);
}

.c-single-article__content a {
  color: var(--color-info-600);
}

.c-single-article__content img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--radius-control);
}

.c-single-article__content > img {
  margin-block: var(--space-6);
}

.c-single-article__content > img,
.c-single-article__content > figure > img,
.c-single-article__content > .wp-caption img {
  aspect-ratio: 831 / 400;
  object-fit: cover;
}

.c-single-article__content figure,
.c-single-article__content .wp-caption {
  width: 100% !important;
  margin-block: var(--space-6);
  margin-inline: 0;
}

.c-single-article__content figcaption,
.c-single-article__content .wp-caption-text {
  margin-block-start: var(--space-2);
  color: var(--color-text-tertiary);
  font-size: var(--type-caption-md-size);
  line-height: var(--type-caption-md-line-height);
  text-align: center;
}

.c-single-article__content iframe,
.c-single-article__content video {
  width: 100%;
  max-width: 100%;
  border: 0;
  border-radius: var(--radius-control);
  aspect-ratio: 16 / 9;
  background: var(--color-neutral-900);
}

.c-single-article__content blockquote {
  margin-block: var(--space-6);
  margin-inline: 0;
  padding-inline: var(--space-6);
  color: var(--color-primary-700);
  font-size: 1.25rem;
  font-weight: var(--font-weight-bold);
  line-height: 2rem;
}

.c-single-article__content blockquote p {
  color: inherit;
}

.c-single-article__content blockquote cite,
.c-single-article__content blockquote footer {
  display: block;
  margin-block-start: var(--space-4);
  color: var(--color-text-secondary);
  font-size: var(--type-caption-md-size);
  font-style: normal;
  font-weight: var(--font-weight-regular);
  line-height: var(--type-caption-md-line-height);
}

.c-single-article__content table {
  display: block;
  width: 100%;
  overflow-x: auto;
  border-collapse: collapse;
}

.c-single-article__content th,
.c-single-article__content td {
  padding: var(--space-3);
  border: var(--border-width-default) solid var(--color-border-default);
  text-align: start;
}

.c-single-article__pages {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.c-single-article__pages > * {
  display: grid;
  min-width: var(--size-target-min);
  min-height: var(--size-target-min);
  place-items: center;
  border: var(--border-width-default) solid var(--color-border-default);
  border-radius: var(--radius-pagination);
}

.c-related-articles {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  margin-block-start: var(--space-16);
}

.c-related-articles__heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
}

.c-related-articles__heading h2 {
  margin: 0;
  color: var(--color-text-primary);
  font-family: var(--font-family-title);
  font-size: var(--single-related-heading-size);
  font-weight: var(--font-weight-bold);
  line-height: var(--single-related-heading-line-height);
}

.c-related-articles__rail {
  display: flex;
  min-width: 0;
  gap: var(--single-related-card-gap);
  overflow-x: auto;
  padding-block-end: var(--space-1);
  overscroll-behavior-inline: contain;
  scrollbar-width: none;
  scroll-padding-inline: var(--spacing-container-inline);
  scroll-snap-type: inline mandatory;
}

.c-related-articles__rail::-webkit-scrollbar {
  display: none;
}

.c-related-articles__rail .c-blog-card {
  width: min(var(--single-mobile-card-width), calc(100vw - 3rem));
  flex: 0 0 min(var(--single-mobile-card-width), calc(100vw - 3rem));
  scroll-snap-align: start;
}

.c-related-articles__rail[aria-busy="true"] {
  opacity: 0.55;
  pointer-events: none;
}

.c-related-articles__empty,
.c-related-articles__error {
  margin: var(--space-6) auto;
  text-align: center;
}

.c-related-articles__empty {
  color: var(--color-text-secondary);
}

.c-related-articles__error {
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-control);
  background: var(--color-status-error-surface);
  color: var(--color-status-error);
}

.c-related-articles__load-more {
  min-width: 10rem;
  align-self: center;
}

.c-related-articles__load-more:disabled {
  cursor: wait;
}

.c-related-articles__load-more[hidden],
.c-related-articles__error[hidden] {
  display: none;
}

@media (min-width: 48rem) {
  .c-single-post {
    --single-author-size: 4.5rem;
    --single-content-font-size: var(--type-body-xl-size);
    --single-content-line-height: 2rem;
  }

  .c-article-hero__copy {
    gap: var(--space-6);
  }

  .c-article-hero__summary {
    gap: var(--space-4);
  }

  .c-article-hero__description {
    font-size: var(--type-body-xl-size);
    line-height: var(--type-body-xl-line-height);
  }

  .c-article-meta__author,
  .c-article-meta__fact {
    font-size: var(--type-body-xl-size);
    line-height: var(--type-body-xl-line-height);
  }

  .c-article-meta__facts {
    gap: var(--space-4);
  }

  .c-article-meta__fact {
    gap: var(--space-2);
  }

  .c-article-hero__media {
    max-height: 23.5625rem;
  }

  .c-single-article__content {
    margin-block-start: var(--space-16);
  }

  .c-single-article__content h2 {
    font-size: var(--type-heading-sm-size);
    line-height: var(--type-heading-sm-line-height);
  }

  .c-single-article__content h3 {
    font-size: var(--type-heading-xs-size);
    line-height: var(--type-heading-xs-line-height);
  }

  .c-related-articles {
    gap: var(--space-6);
  }

  .c-related-articles__heading h2 {
    font-size: var(--type-heading-md-size);
    line-height: var(--type-heading-md-line-height);
  }

  .c-related-articles__rail {
    display: grid;
    overflow: visible;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-6);
    scroll-snap-type: none;
  }

  .c-related-articles__rail .c-blog-card {
    width: auto;
    flex: initial;
  }
}

@media (min-width: 80rem) {
  .c-article-hero {
    min-height: 20rem;
    grid-template-columns: minmax(0, 1fr) minmax(29rem, 37.75rem);
    gap: var(--single-hero-column-gap);
  }

  .c-article-hero__copy {
    grid-column: 1;
    grid-row: 1;
    justify-content: space-between;
    gap: var(--space-8);
  }

  .c-article-hero__media {
    grid-column: 2;
    grid-row: 1;
    order: initial;
    min-height: 20rem;
    max-height: none;
    aspect-ratio: auto;
  }

  .c-related-articles__rail {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--single-related-card-gap-wide);
  }
}
