.article-band, .article-body { font-family: system-ui, -apple-system, "Segoe UI", sans-serif; }
.article-section { padding: 48px 0 72px; }
.article-layout { display: grid; grid-template-columns: minmax(0, 760px); justify-content: center; }
.article-body { color: var(--header); font-size: 1.0625rem; line-height: 1.7; }
.article-band h1, .article-body h2, .article-body h3 { text-transform: none; font-family: system-ui, -apple-system, "Segoe UI", sans-serif; }
.article-body h2 { font-size: 1.5rem; line-height: 1.3; margin: 2rem 0 0.75rem; color: var(--theme2); }
.article-body h3 { font-size: 1.15rem; margin: 1.5rem 0 0.5rem; color: var(--header); }
.article-body p, .article-body li { margin-bottom: 0.9rem; }
.article-body ul, .article-body ol { padding-left: 1.25rem; }
.article-body a { color: var(--theme2); }
.article-body .diagram { margin: 1.5rem 0 0.4rem; background: var(--bg); border: 1px solid var(--border); }
.article-body .diagram img { display: block; width: 100%; height: auto; }
.article-body .diagram figcaption { font-size: 0.875rem; color: var(--text); padding: 8px 12px 10px; }
.table-scroll { overflow-x: auto; max-width: 100%; margin: 1rem 0 1.25rem; border: 1px solid var(--border); }
.compare { width: 100%; border-collapse: collapse; font-size: 0.92rem; line-height: 1.45; min-width: 880px; }
.compare th, .compare td { border-bottom: 1px solid var(--border); padding: 10px 12px; text-align: left; vertical-align: top; }
.compare th { background: var(--theme2); color: var(--white); font-weight: 600; }
.compare tr:nth-child(even) td { background: var(--bg); }
.sources { font-size: 0.95rem; }
.article-cta { margin-top: 2rem; padding: 22px 22px 18px; background: var(--bg); border-left: 4px solid var(--theme); }
.article-cta p { margin-bottom: 12px; }
.article-cta .theme-btn { text-transform: none; }
.related { margin-top: 1.5rem; }
.related ul { list-style: none; padding-left: 0; }
.blog-list { display: grid; gap: 18px; }
.blog-card { border: 1px solid var(--border); padding: 18px 20px; background: var(--white); }
.blog-card p { margin-bottom: 0.4rem; }
.blog-card time { color: var(--text); font-size: 0.875rem; }
.template-note { background: #fff6e8; border: 1px solid #f0d2a8; padding: 12px 14px; margin-bottom: 1rem; }
