.article-hero {
  position: relative;
  overflow-x: clip;
  padding-top: 75px;
  padding-bottom: var(--space-2xl);
}

.article-hero__donut {
  --art-donut-fill: var(--copper);
  position: absolute;
  top: calc(-86px - var(--header-h));
  left: calc(50% + 282px);
  z-index: -1;
  width: 600px;
  height: 600px;
  pointer-events: none;
  filter: blur(1.5px);
  -webkit-mask-image: linear-gradient(to bottom, #000 45%, transparent 95%);
  mask-image: linear-gradient(to bottom, #000 45%, transparent 95%);
}

.article-hero__inner {
  display: grid;
  justify-items: start;
  gap: var(--space-3xs);
}

.article-hero__back {
  margin-bottom: var(--space-xs);
}

.article-hero__eyebrow {
  opacity: .7;
}

.article-hero__title {
  max-width: 880px;
  text-wrap: balance;
}

.article-hero__lead {
  display: grid;
  gap: var(--space-4xs);
  max-width: 68ch;
  margin-top: var(--space-5xs);
}

.article-hero__lead strong {
  font-weight: 500;
}

.article-hero__actions {
  margin-top: var(--space-xs);
}

.article-layout {
  display: grid;
  gap: var(--space-l);
  padding-bottom: var(--space-6xl);
}

.article-main {
  display: grid;
  gap: var(--space-5xl);
  min-width: 0;
}

.article-toc {
  display: grid;
  align-self: start;
  align-content: start;
  gap: var(--space-4xs);
  padding: var(--space-xs);
  border: 1px solid var(--border-gray);
  background: var(--sand-light);
}

.article-toc .eyebrow {
  opacity: .7;
}

.article-toc__list {
  display: grid;
  gap: var(--space-5xs);
  padding-left: 1.4em;
  list-style: decimal;
}

.article-toc__link {
  color: inherit;
  text-decoration: none;
  transition: color var(--dur) var(--ease);
}

.article-toc__link:is(:hover, :focus-visible) {
  text-decoration: underline;
  text-underline-offset: .15em;
}

.article-faq .faq {
  max-width: none;
}

.article-related {
  padding-bottom: var(--space-6xl);
}

.article-related__title {
  margin-bottom: var(--space-xs);
}

.hub-list {
  display: grid;
  gap: var(--space-l);
  padding-bottom: var(--space-6xl);
}

.hub-list__intro {
  display: grid;
  gap: var(--space-5xs);
  max-width: 68ch;
}

.hub-list__cta {
  margin-top: var(--space-2xl);
}

@media (min-width: 1200px) {
  .article-layout--toc {
    grid-template-columns: 240px minmax(0, 1fr);
  }

  .article-layout--toc .article-toc {
    position: sticky;
    top: calc(var(--space-2xl) + 16px);
    max-height: calc(100vh - var(--space-2xl) - 32px);
    overflow-y: auto;
  }
}

@media (max-width: 767px) {
  .article-hero {
    padding-top: var(--space-l);
    padding-bottom: var(--space-l);
  }

  .article-hero__donut {
    top: calc(-40px - var(--header-h));
    left: auto;
    right: -180px;
    width: 340px;
    height: 340px;
  }

  .article-hero__back {
    margin-bottom: var(--space-5xs);
  }

  .article-layout,
  .article-related,
  .hub-list {
    padding-bottom: var(--space-5xl);
  }

  .article-main {
    gap: var(--space-2xl);
  }

  .article-toc {
    padding: var(--space-3xs);
  }

  .hub-list__cta {
    margin-top: var(--space-m);
  }
}
