.nl-article { max-width: 720px; margin: 0 auto; padding: 0 24px; }
.nl-article p, .nl-article ul, .nl-article ol { font-size: 17px; line-height: 1.75; color: var(--nlt-paper); margin: 18px 0; }
.nl-article ul, .nl-article ol { padding-left: 22px; }
.nl-article li { margin: 8px 0; }
.nl-article h2 { font-size: 30px; margin: 56px 0 12px; line-height: 1.25; color: var(--nlt-paper); scroll-margin-top: 100px; }
.nl-article h3 { font-size: 22px; margin: 36px 0 8px; line-height: 1.3; color: var(--nlt-paper); }
.nl-article blockquote { border-left: 3px solid var(--nlt-voltage); padding: 8px 0 8px 22px; margin: 28px 0; color: var(--nlt-stardust); font-style: italic; }
.nl-article code { font-family: var(--font-mono); font-size: 14px; background: rgba(61,163,236,0.12); color: var(--nlt-voltage); padding: 2px 6px; border-radius: 3px; }
.nl-article strong { color: var(--nlt-paper); }
.nl-toc { background: rgba(15,26,40,0.7); border: 1px solid rgba(163,176,197,0.18); border-radius: 12px; padding: 24px 28px; margin: 32px 0; }
.nl-toc-h { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--nlt-stardust); margin-bottom: 12px; display: block; }
.nl-toc ol { padding-left: 22px; margin: 0; font-size: 15px; }
.nl-toc li { margin: 6px 0; }
.nl-toc a { color: var(--nlt-paper); text-decoration: none; border-bottom: 1px solid transparent; }
.nl-toc a:hover { border-bottom-color: var(--nlt-voltage); color: var(--nlt-voltage); }
.nl-article-meta { display: flex; gap: 16px; font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--nlt-stardust); margin-top: 24px; flex-wrap: wrap; }
.nl-article-cta { background: rgba(61,163,236,0.08); border: 1px solid rgba(61,163,236,0.3); border-radius: 12px; padding: 32px; margin: 48px 0; }
.nl-article-cta h3 { margin: 0 0 12px; font-size: 22px; color: var(--nlt-paper); }
.nl-article-cta p { margin: 0 0 20px; color: var(--nlt-stardust); font-size: 15px; }
.nl-next { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; margin: 48px 0; }
.nl-next-card { background: rgba(15,26,40,0.6); border: 1px solid rgba(163,176,197,0.18); border-radius: 10px; padding: 20px; text-decoration: none; display: block; transition: border-color 0.2s, transform 0.2s; }
.nl-next-card:hover { border-color: var(--nlt-voltage); transform: translateY(-2px); }
.nl-next-eyebrow { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--nlt-voltage); }
.nl-next-title { display: block; font-size: 16px; color: var(--nlt-paper); margin-top: 8px; line-height: 1.4; font-weight: 600; }
