.article-layout { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:7vw; align-items:start; }
.article-body { max-width:790px; }
.article-body h2 { margin:55px 0 16px; font:600 clamp(28px,4vw,40px)/1.18 var(--display); letter-spacing:-.035em; }
.article-body h3 { margin:35px 0 12px; font:600 21px/1.3 var(--display); }
.article-body p,.article-body li { color:#aeb8c5; font-size:16px; }
.article-body .article-meta { margin:0 0 24px; color:#748399; font-size:12px; letter-spacing:.02em; }
.article-body li+li { margin-top:8px; }
.article-body strong { color:var(--text); }
.article-body a { color:var(--sky-soft); text-decoration:underline; }
.article-aside { position:sticky; top:120px; padding:22px; background:var(--panel); border:1px solid var(--line); border-radius:11px; }
.article-aside h2 { margin:0 0 14px; font-size:15px; }
.article-aside a { display:block; padding:10px 0; color:var(--muted); border-top:1px solid var(--line); font-size:12px; }
.article-aside a:hover { color:var(--white); }
.definition { margin:28px 0; padding:24px; background:rgba(120,170,255,.07); border-left:3px solid var(--sky); }
.definition p { margin:0; color:#cbd5e1; }
.faq-list { display:grid; gap:10px; }
.faq-list details { padding:20px 22px; background:var(--panel); border:1px solid var(--line); border-radius:10px; }
.faq-list summary { color:var(--text); font:600 15px/1.4 var(--display); cursor:pointer; }
.faq-list p { margin:14px 0 0; color:var(--muted); font-size:14px; }
@media(max-width:860px){.article-layout{grid-template-columns:1fr}.article-aside{position:static;order:-1}}
