.article-layout { display: grid; grid-template-columns: minmax(0, 920px) 280px; gap: 48px; align-items: start; padding-top: 3rem; padding-bottom: 5rem; }
.article-page { max-width: 920px; padding: 0; }
.article-page h1 { font-family: 'Playfair Display', serif; font-size: clamp(2rem, 5vw, 3.5rem); line-height: 1.15; margin: 1rem 0; }
.article-page .kicker { margin-top: 2rem; }
.article-description { font-size: 1.2rem; line-height: 1.7; }
.article-byline { color: #665d75; margin: 1.2rem 0; }
.article-image { width: 100%; max-height: 520px; object-fit: cover; border-radius: 16px; }
.article-body { font-size: 1.075rem; line-height: 1.85; overflow-wrap: anywhere; }
.article-body h2, .article-body h3 { margin: 2rem 0 1rem; line-height: 1.3; }
.article-body p, .article-body ul, .article-body ol { margin: 1rem 0; }
.article-body ul, .article-body ol, .article-sources ul { padding-left: 1.5rem; }
.article-body pre { overflow-x: auto; padding: 1rem; background: #f0edf5; border-radius: 8px; }
.article-body blockquote { border-left: 3px solid #7c3aed; padding-left: 1.25rem; margin: 1.5rem 0; }
.article-body a, .article-sources a { color: var(--lime, #d7ff54); text-decoration: underline; text-decoration-color: rgba(215,255,84,.5); text-underline-offset: 3px; }
.article-sources { border-top: 1px solid var(--line, #292d32); margin-top: 3rem; padding-top: 1.5rem; overflow-wrap: anywhere; color: var(--soft, #c2c0b9); }
.article-preview { padding: 1rem 1.25rem; margin: 1rem 0 1.5rem; border: 1px solid #8e6a23; border-radius: 8px; background: #211b0d; color: #f4d77c; font-size: .9rem; font-weight: 700; }
.article-body img { max-width: 100%; height: auto; border-radius: 8px; }
.article-table { overflow-x: auto; margin: 1.5rem 0; }
.article-table table { width: 100%; border-collapse: collapse; }
.article-table th, .article-table td { padding: .85rem 1rem; border: 1px solid var(--line, #292d32); }
.article-table th { background: #242a1b; color: #efffb0; font-weight: 800; }
.article-table td { background: #111419; color: var(--soft, #c2c0b9); }
.article-journey { margin: 3rem 0; padding: 2rem; border: 1px solid #536b25; background: linear-gradient(135deg, #1d2814, #131a12); }
.article-journey { position: relative; overflow: hidden; }
.article-journey::after { content: "↗"; position: absolute; right: 1.5rem; top: 1rem; color: var(--lime, #d7ff54); font-size: 4rem; font-weight: 800; line-height: 1; opacity: .22; }
.article-journey-label { display: block; margin-bottom: 1rem; color: var(--lime, #d7ff54); font-size: .68rem; font-weight: 900; letter-spacing: .14em; }
.article-journey h2 { margin: 0 0 .75rem; color: var(--white, #f2f0e9); font-size: clamp(1.6rem, 4vw, 2.4rem); }
.article-journey p { max-width: 650px; color: var(--soft, #c2c0b9); }
.article-journey-button { display: inline-flex; margin-top: 1.25rem; padding: .8rem 1.1rem; background: var(--lime, #d7ff54); color: #11140d !important; font-weight: 800; text-decoration: none !important; }
.article-sidebar { position: sticky; top: 110px; padding: 18px; border: 1px solid var(--line, #292d32); background: var(--panel, #101216); }
.article-sidebar-brand { display: flex; align-items: center; gap: 10px; padding-bottom: 18px; border-bottom: 1px solid var(--line, #292d32); color: var(--white, #f2f0e9); font-size: 19px; font-weight: 800; letter-spacing: -.06em; }
.article-sidebar-brand img { width: 34px; height: 34px; }
.article-sidebar-brand em { color: var(--lime, #d7ff54); font-style: normal; }
.article-sidebar-block { padding-top: 24px; }
.article-sidebar-block .kicker { margin: 0 0 12px; font-size: 9px; }
.article-related-link { display: block; padding: 15px 0; border-top: 1px solid var(--line, #292d32); }
.article-related-link span, .article-related-link small { display: block; color: var(--lime, #d7ff54); font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.article-related-link strong { display: block; margin: 7px 0; color: var(--white, #f2f0e9); font-size: 16px; line-height: 1.15; }
.article-related-link small { color: var(--dim, #777a7d); letter-spacing: 0; text-transform: none; }
.article-related-link:hover strong { color: var(--lime, #d7ff54); }
.article-sidebar-note { padding: 18px; margin-top: 20px; background: #1d2814; }
.article-sidebar-note strong { display: block; color: var(--white, #f2f0e9); font-size: 20px; line-height: 1.1; }
.article-sidebar-note a { display: block; margin-top: 18px; color: var(--lime, #d7ff54); font-size: 12px; font-weight: 800; }
.article-body > p > img { width: 100%; max-height: 430px; object-fit: cover; margin: 2.2rem 0; border: 1px solid var(--line, #292d32); }
@media (max-width: 980px) { .article-layout { grid-template-columns: 1fr; } .article-sidebar { position: static; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; } .article-sidebar-brand { grid-column: 1 / -1; } }
@media (max-width: 600px) { .article-layout { padding-top: 1.5rem; } .article-sidebar { display: block; } .article-sidebar-note { margin-top: 22px; } .article-body { font-size: 1rem; } }
.article-table .align-left { text-align: left; }
.article-table .align-center { text-align: center; }
.article-table .align-right { text-align: right; }
