.article-page { background: var(--cream); }
.article-main { padding: 150px 0 100px; }
.article-wrap { max-width: 860px; margin: 0 auto; }
.article-kicker { color: var(--gold-dk); font-size: .76rem; letter-spacing: .18em; text-transform: uppercase; margin-bottom: 18px; }
.article-title { font-family: var(--serif); font-size: clamp(2.6rem, 5vw, 4.6rem); font-weight: 300; line-height: 1.03; color: var(--ink); margin: 0 0 24px; }
.article-meta { color: var(--ink-dim); font-size: .82rem; margin-bottom: 44px; }
.article-lead { background: var(--white); border-left: 3px solid var(--gold); padding: 24px 28px; color: var(--ink); font-size: 1.08rem; line-height: 1.8; margin-bottom: 48px; }
.article-body { background: var(--white); padding: clamp(28px, 5vw, 68px); border: 1px solid var(--border); }
.article-body h2 { font-family: var(--serif); font-weight: 400; font-size: 2rem; line-height: 1.15; margin: 42px 0 16px; color: var(--ink); }
.article-body h3 { font-family: var(--serif); font-weight: 500; font-size: 1.35rem; margin: 30px 0 10px; color: var(--ink); }
.article-body h2:first-child, .article-body h3:first-child { margin-top: 0; }
.article-body p, .article-body li { color: var(--ink-dim); line-height: 1.85; font-size: 1rem; }
.article-body ul, .article-body ol { padding-left: 1.35rem; margin: 18px 0; }
.article-body li { padding-left: 5px; margin: 7px 0; }
.article-body strong { color: var(--ink); font-weight: 600; }
.article-body a { color: var(--gold-dk); text-decoration: underline; text-underline-offset: 3px; }
.article-body blockquote { border-left: 2px solid var(--gold); margin: 24px 0; padding: 8px 24px; color: var(--ink); font-style: italic; }
.article-body table { width: 100%; border-collapse: collapse; margin: 24px 0; font-size: .9rem; }
.article-body th, .article-body td { border: 1px solid var(--border); padding: 12px 14px; text-align: left; vertical-align: top; line-height: 1.5; }
.article-body th { color: var(--ink); background: var(--cream); font-weight: 600; }
.article-related { margin-top: 36px; padding: 24px; background: var(--cream); }
.article-related h2 { font-size: 1.7rem; margin: 0 0 14px; }
.article-related ul { margin: 0; padding-left: 1.2rem; }
.article-cta { margin-top: 42px; background: var(--ink); color: var(--white); padding: 34px; }
.article-cta h2 { font-family: var(--serif); font-weight: 300; font-size: 2.1rem; margin: 0 0 10px; }
.article-cta p { color: rgba(255,255,255,.68); line-height: 1.7; margin: 0 0 20px; }
@media (max-width: 640px) {
  .article-main { padding: 118px 0 64px; }
  .article-title { font-size: clamp(2.05rem, 10vw, 2.7rem); }
  .article-body { padding: 24px 20px; }
  .article-body table { display: block; overflow-x: auto; }
  .article-cta { padding: 25px 22px; }
}
