/* STORES Magazine-inspired editorial TOC (page-local only).
   Reproduces the compact, white, hierarchical right-rail pattern, not source CSS. */
@media (min-width: 881px) {
  .article-sidebar { position: sticky; top: 20px; align-self: start; min-width: 0; }
  .article-toc { background: #fff; border-top: 2px solid #222a25; padding: 16px 0 0; }
}
@media (min-width: 881px) and (max-width: 1180px) {
  .article-columns { grid-template-columns: minmax(0, 1fr) minmax(245px, 30%); gap: 28px; }
}
.article-toc .toc-top { border-bottom: 1px solid #e5e8e6; padding: 0 2px 13px; }
.article-toc .toc-top strong { font-size: 16px; font-weight: 800; letter-spacing: -.035em; color: #222a25; }
.article-toc .toc-top span { font-size: 10px; color: #8b9690; font-weight: 700; letter-spacing: .1em; }
.article-toc .toc-scroll { max-height: min(64vh, 690px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: none; -ms-overflow-style: none; }
.article-toc .toc-scroll::-webkit-scrollbar { display: none; width: 0; height: 0; }

.article-toc .toc-sections, .article-toc .toc-children { list-style: none; padding: 0; margin: 0; max-height: none; overflow: visible; }
.article-toc .toc-sections { padding: 10px 0 7px; }
.article-toc .toc-item { margin: 0; padding: 0; }
.article-toc .toc-h2 { border-bottom: 1px solid #eef0ed; }
.article-toc .toc-h2 > a { color: #303b34; font-weight: 650; font-size: 14px; line-height: 1.65; padding: 9px 8px 9px 13px; border: 0; border-left: 3px solid transparent; }
.article-toc .toc-children { display: none; border-left: 1px solid #e5ebe6; margin: 0 0 9px 13px; padding: 0 0 0 9px; }
.article-toc .toc-h2.is-expanded > .toc-children { display: block; }
.article-toc .toc-h3 > a { font-size: 13px; line-height: 1.65; font-weight: 450; color: #77817b; padding: 5px 6px 5px 10px; border: 0; border-left: 2px solid transparent; }
.article-toc .toc-h2 > a:hover, .article-toc .toc-h3 > a:hover { color: #155d50; background: #f5f9f6; }
.article-toc a:focus-visible, .mobile-article-toc a:focus-visible, .mobile-article-toc summary:focus-visible { outline: 3px solid #438b7a; outline-offset: 2px; }
.article-toc .toc-item > a.is-active { background: #f0f7f2; color: #145b4d; border-left-color: #29836f; font-weight: 750; }
.article-toc .toc-h2.is-parent-active > a { color: #286c5a; }
.article-sidebar .sidebar-more { margin-top: 18px; border-top: 1px solid #e1e7e1; padding-top: 14px; }
.article-prose h2[id], .article-prose h3[id] { scroll-margin-top: 24px; }
.article-prose .editorial-related-link { font-size: 13px; line-height: 1.85; background: #f5f9f7; border-left: 2px solid #acd4bf; padding: 11px 14px; margin: 19px 0; }
.article-prose .editorial-related-link a { font-weight: 700; }
.mobile-article-toc { display: none; }
@media (max-width: 880px) {
  .mobile-article-toc { display: block; margin: 0 0 28px; border: 1px solid #dce8e0; background: #fff; }
  .mobile-article-toc summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px 18px; list-style: none; cursor: pointer; font-weight: 800; color: #263b32; }
  .mobile-article-toc summary::-webkit-details-marker { display: none; }
  .mobile-article-toc summary::after { content: '+'; font-weight: 400; margin-left: auto; font-size: 23px; line-height: 1; }
  .mobile-article-toc[open] summary::after { content: '−'; }
  .mobile-article-toc summary small { font-weight: 500; color: #6c8275; font-size: 11px; }
  .mobile-toc-nav { border-top: 1px solid #e7ede9; padding: 8px 13px 12px; max-height: 58vh; overflow-y: auto; }
  .mobile-toc-nav ol { margin: 0; padding: 0; list-style: none; }
  .mobile-toc-nav .toc-sections > li { border-bottom: 1px solid #eef1ee; }
  .mobile-toc-nav .toc-h2 > a { display: block; font-size: 15px; padding: 9px 6px; color: #2d4c3e; font-weight: 700; }
  .mobile-toc-nav .toc-children { display: none; border-left: 1px solid #d6e6db; margin: 0 0 8px 9px; padding-left: 11px; }
  .mobile-toc-nav .toc-h2.is-expanded > .toc-children { display: block; }
  .mobile-toc-nav .toc-h3 a { display: block; font-size: 14px; line-height: 1.7; color: #607269; padding: 6px 3px; }
  .mobile-toc-nav .is-active { color: #16644f !important; background: #edf7f0; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* 2026-10-23: readability corrections without changing grid, images, or card geometry. */
.article-prose figcaption, .article-prose .editorial-figure figcaption { font-size: 13.5px; line-height: 1.8; }
.technical-note p { font-size: 15px; line-height: 1.85; }
.technical-note strong { font-size: 15px; line-height: 1.6; }
/* Preserve clearly legible notice text at all screen sizes. */
.article-prose .notice, .article-prose .warning-box, .article-prose .summary-box,
.article-prose .comparison-note, .article-prose .info-box { font-size: 15px; line-height: 1.85; }
