.key-facts {
  margin: 1.5rem 0 3rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}
.key-facts > div {
  padding: 1rem 1.1rem;
  border: 1px solid var(--line);
  border-radius: .9rem;
  background: rgba(255, 253, 248, .78);
}
.key-facts dt {
  margin: 0 0 .25rem;
  color: var(--muted);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.key-facts dd {
  margin: 0;
  color: var(--pine-900);
  font-size: .88rem;
  font-weight: 720;
  line-height: 1.45;
}
.article-table-wrap {
  margin: 1.6rem 0 2rem;
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 1rem;
  background: var(--paper);
}
.article-table {
  width: 100%;
  min-width: 36rem;
  border-collapse: collapse;
  font-size: .82rem;
}
.article-table th,
.article-table td {
  padding: .85rem 1rem;
  border-bottom: 1px solid var(--line);
  vertical-align: top;
  text-align: left;
}
.article-table th {
  color: var(--pine-900);
  background: var(--moss-light);
  font-size: .66rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.article-table tr:last-child td { border-bottom: 0; }
.practical-list {
  margin: 1.4rem 0 0;
  padding: 0;
  list-style: none;
  counter-reset: practical;
}
.practical-list li {
  counter-increment: practical;
  display: grid;
  grid-template-columns: 2rem 1fr;
  gap: .75rem;
  padding: .75rem 0;
  border-bottom: 1px solid var(--line);
}
.practical-list li::before {
  content: counter(practical, decimal-leading-zero);
  color: var(--ember);
  font-size: .66rem;
  font-weight: 850;
  letter-spacing: .08em;
}
.source-box {
  margin: 4rem 0 0;
  padding: 1.35rem 1.5rem;
  border-radius: 1rem;
  color: #dce7e1;
  background: var(--pine-900);
}
.source-box h2 {
  margin: 0 0 .8rem;
  color: white;
  font-family: inherit;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.source-box ul { margin: 0; padding-left: 1.1rem; }
.source-box li { margin: .45rem 0; }
.source-box a { color: var(--moss-light); font-size: .78rem; }
.source-box p { margin: .8rem 0 0; color: #aebfb6; font-size: .72rem; }
.article-note {
  margin: 1.6rem 0;
  padding: 1.1rem 1.25rem;
  border-radius: .85rem;
  color: var(--pine-900);
  background: #e9eee2;
  font-size: .86rem;
}
.article-note strong { display: block; margin-bottom: .25rem; }
@media (max-width: 580px) {
  .key-facts { grid-template-columns: 1fr; }
  .article-table { min-width: 31rem; }
}
