.article-page { padding-top: 26px; }
.article-grid { display:grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 22px; }
.article-main {
  border: 1px solid var(--border); border-radius: 30px; padding: 30px;
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015)); box-shadow: var(--shadow);
}
.article-kicker { color: #ff9aa5; text-transform: uppercase; letter-spacing: .14em; font-weight: 900; font-size: .82rem; }
.article-title { margin: 14px 0 14px; font-size: clamp(2.4rem, 4vw, 4rem); line-height: 1.02; letter-spacing: -.04em; }
.article-excerpt { margin: 0 0 14px; color: var(--muted); font-size: 1.1rem; line-height: 1.8; }
.article-meta { color: var(--soft); font-weight: 700; margin-bottom: 22px; }
.article-cover { overflow:hidden; border-radius: 24px; margin-bottom: 28px; border: 1px solid var(--border); }
.article-cover img { width:100%; height:auto; max-height: 620px; object-fit:cover; }
.article-content { color: rgba(255,255,255,.92); line-height: 1.9; font-size: 1.08rem; }
.article-content p, .article-content ul, .article-content ol, .article-content blockquote { margin: 0 0 20px; }
.article-content h2, .article-content h3 { margin: 36px 0 12px; }
.article-content a { color: #ff8f97; text-decoration: underline; }
.article-sidebar { display:grid; gap:18px; align-content: start; }
.related-panel { padding: 20px; }
.related-panel h3 { margin: 0 0 18px; font-size: 1.25rem; }
.related-list { display:grid; gap: 14px; }
.related-list a {
  display:block; padding: 14px; border-radius: 18px; border: 1px solid rgba(255,255,255,.07); background: rgba(255,255,255,.02);
}
.related-list span { display:block; color:#ff9aa5; font-size:.75rem; font-weight:900; text-transform:uppercase; margin-bottom:6px; }
.related-list strong { display:block; line-height:1.4; margin-bottom:6px; }
.related-list small { color: var(--soft); }
