.article-shell { padding: 2rem 0 3rem; }
.article-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 1.4rem;
}
.article-main {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 2rem;
  box-shadow: var(--shadow);
}
.article-main h1 { font-size: clamp(2rem, 4vw, 3rem); line-height: 1.05; margin: 0 0 .6rem; }
.article-main h2 { margin-top: 2rem; font-size: 1.6rem; }
.article-main h3 { margin-top: 1.3rem; font-size: 1.25rem; }
.article-main .chapo { font-size: 1.15rem; color: var(--muted); }
.article-main ul { padding-left: 1.2rem; }
.article-sidebar { display: grid; gap: 1rem; align-content: start; }
.sidebar-box {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 1.2rem;
  box-shadow: var(--shadow);
}
.definition-box {
  border-left: 6px solid var(--accent);
  background: #fcfaf5;
  padding: 1rem 1rem 1rem 1.2rem;
  border-radius: 12px;
  margin: 1rem 0;
}
.sources li + li { margin-top: .4rem; }
@media (max-width: 960px) {
  .article-layout { grid-template-columns: 1fr; }
}
