.editorial-link {
  margin: 2rem 0 0;
  padding-top: 1.5rem;
  border-top: 1px solid var(--hair-dark);
  font-size: 1rem;
  line-height: 1.7;
}
.editorial-link a {
  font-weight: 600;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
}
.editorial-link a:hover { color: var(--amber-deep); }
.article-page { background: #fff; }
.article-page .nav { border: 1px solid #e4e5e6; }
.article-page .nav__brand img { height: 40px; }
.article-header { padding-top: 132px; padding-bottom: 30px; }
.article-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.7rem;
  margin-bottom: 30px;
  color: #565d64;
  font-size: 0.8rem;
}
.article-breadcrumb a { text-underline-offset: 3px; }
.article-header .eyebrow { color: var(--amber-deep); }
.article-header h1 {
  max-width: 1000px;
  font-size: 2.875rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0;
  text-wrap: balance;
  overflow-wrap: break-word;
}
.article-meta { color: #5b6168; font-size: 0.875rem; margin: 20px 0 0; }
.article-image { margin: 0 auto 44px; }
.article-image picture { display: block; }
.article-image img { width: 100%; height: auto; }
.article-layout {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  gap: 64px;
  align-items: start;
  padding-bottom: 88px;
}
.article-index { position: sticky; top: 114px; }
.article-index > p {
  font-size: 0.8rem;
  font-weight: 700;
  margin: 0 0 18px;
  color: var(--amber-deep);
}
.article-index ol { margin: 0; padding: 0 0 0 18px; }
.article-index li { padding: 0 0 15px 5px; font-size: 0.84rem; line-height: 1.6; }
.article-index a { text-decoration: none; }
.article-index a:hover { color: var(--amber-deep); text-decoration: underline; }
.article-prose { min-width: 0; max-width: 760px; font-size: 1rem; line-height: 1.85; }
.article-prose > p:first-child { font-size: 1.125rem; font-weight: 500; margin-top: 0; }
.article-prose p { margin: 0 0 1.4rem; }
.article-prose h2 {
  margin: 3rem 0 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid #e3e5e7;
  font-size: 1.75rem;
  line-height: 1.35;
  font-weight: 600;
  scroll-margin-top: 120px;
}
.article-prose h3 { font-size: 1.125rem; line-height: 1.5; font-weight: 600; margin: 1.6rem 0 0.75rem; }
.article-prose a { text-decoration-color: var(--amber); text-underline-offset: 4px; }
.article-prose a:hover { color: var(--amber-deep); }
.article-prose ul { padding-left: 1.3rem; margin: 0 0 1.5rem; }
.article-prose li { padding-left: 0.2rem; margin-bottom: 0.5rem; }
.article-table { overflow-x: auto; margin: 1.5rem 0; }
.article-table table { width: 100%; border-collapse: collapse; font-size: 0.9rem; line-height: 1.7; }
.article-table th, .article-table td { padding: 14px; text-align: left; vertical-align: top; border-bottom: 1px solid #dcdfe2; }
.article-table th { background: #edf1f3; font-weight: 600; }
.article-table td:first-child { font-weight: 600; width: 28%; }
.article-skip { position: fixed; left: 16px; top: -100px; z-index: 50; padding: 12px; background: #fff; color: #111; }
.article-skip:focus { top: 12px; }
@media (max-width: 1000px) {
  .article-layout { grid-template-columns: 210px minmax(0, 1fr); gap: 32px; }
}
@media (max-width: 780px) {
  .article-page .nav__brand img { height: 32px; }
  .article-header { padding-top: 114px; padding-bottom: 24px; }
  .article-header h1 { font-size: 2rem; line-height: 1.25; }
  .article-breadcrumb { margin-bottom: 24px; }
  .article-image { margin-bottom: 28px; }
  .article-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; padding-bottom: 56px; }
  .article-index { position: static; padding-bottom: 14px; border-bottom: 1px solid #e3e5e7; }
  .article-index li { padding-bottom: 10px; }
  .article-prose h2 { font-size: 1.5rem; }
  .article-table th, .article-table td { padding: 10px 8px; overflow-wrap: anywhere; }
}
@media (max-width: 360px) {
  .article-header h1 { font-size: 1.75rem; }
}
