/* Luma Strategy — article pages. Requires tokens.css and site.css. */

:root { --article-max: 760px; }

/* Hero */
.article-hero > .container { padding-top: 72px; padding-bottom: 64px; }
@media (min-width: 768px) { .article-hero > .container { padding-top: 96px; padding-bottom: 80px; } }
.article-hero-inner { max-width: var(--article-max); margin: 0 auto; }
.article-title { font: 300 clamp(36px, 5.4vw, 60px)/1.06 var(--font-display); letter-spacing: -0.025em; color: var(--fg-on-dark); margin: 0 0 32px; text-wrap: balance; }
.article-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; font: 400 16px/1.4 var(--font-body); color: var(--fg-on-dark-2); }
.article-meta .dot { display: inline-block; width: 4px; height: 4px; border-radius: var(--radius-pill); background: var(--luma-gold); }
.article-author { display: inline-flex; align-items: center; gap: 10px; }
.article-author img { width: 32px; height: 32px; border-radius: var(--radius-pill); object-fit: cover; }
.article-author strong { color: var(--fg-on-dark); font-weight: 500; }

/* Body */
.article-body > .container { max-width: calc(var(--article-max) + 2 * var(--gutter)); padding-top: 56px; padding-bottom: 96px; }
@media (min-width: 768px) { .article-body > .container { padding-top: 72px; padding-bottom: 128px; } }
.article-body p { font: 400 clamp(18px, 1.35vw, 20px)/1.75 var(--font-body); color: var(--fg-2); margin: 0 0 24px; }
.article-body p.lede { font: 400 clamp(21px, 1.65vw, 24px)/1.6 var(--font-display); color: var(--fg-1); margin-bottom: 32px; padding-left: 20px; border-left: 2px solid var(--luma-raspberry); }
.article-body h2 { font: 400 clamp(28px, 3vw, 36px)/1.18 var(--font-display); letter-spacing: -0.015em; color: var(--fg-1); margin: 56px 0 18px; }
.article-body a { color: var(--fg-link); text-decoration: underline; text-decoration-color: var(--luma-teal); text-decoration-thickness: 2px; text-underline-offset: 3px; transition: color var(--dur-fast) var(--ease-out), text-decoration-color var(--dur-fast) var(--ease-out); }
.article-body a:hover { color: var(--fg-link-hover); text-decoration-color: var(--luma-raspberry); }
.article-body a.pill { text-decoration: none; }
.article-body em { font-style: italic; }
.article-body strong { font-weight: 600; color: var(--fg-1); }

/* Sectioned variant: hairline above each h2 */
.article-sectioned .article-body h2 { padding-top: 22px; border-top: 1px solid var(--border-subtle); }
.article-sectioned .article-body h2:first-of-type { margin-top: 48px; }

/* Lists — diamond bullets, as on the homepage phase cards */
.article-body ul { list-style: none; margin: 0 0 28px; padding: 0; }
.article-body ul li { position: relative; font: 400 clamp(18px, 1.35vw, 20px)/1.7 var(--font-body); color: var(--fg-2); padding-left: 30px; margin-bottom: 14px; }
.article-body ul li::before { content: ""; position: absolute; left: 4px; top: .62em; width: 8px; height: 8px; border-radius: 2px; background: var(--luma-teal); transform: rotate(45deg); }

/* Key takeaway callout */
.takeaway { margin: 44px 0; padding: 28px 32px; border-radius: var(--radius-lg); background: var(--surface-card); border: 1px solid var(--border-subtle); border-left: 4px solid var(--luma-gold); box-shadow: var(--shadow-1); }
.takeaway p:last-child { margin-bottom: 0; }

/* Figures */
.article-figure { margin: 44px 0; }
.article-figure img { display: block; width: 100%; height: auto; border-radius: var(--radius-md); border: 1px solid var(--border-subtle); background: var(--surface-card); }
.article-figure.narrow { max-width: 380px; margin-left: auto; margin-right: auto; }
.article-figure figcaption { margin-top: 14px; font: 400 16px/1.55 var(--font-body); color: var(--fg-3); text-align: center; }
.article-figure figcaption strong { color: var(--fg-1); font-weight: 600; }

/* Chart embed */
.chart-embed { margin: 40px 0; }
.chart-embed iframe { width: 100%; height: 1240px; border: 1px solid var(--border-subtle); border-radius: var(--radius-lg); display: block; background: var(--surface-card); }
@media (max-width: 700px) { .chart-embed iframe { height: 1480px; } }

/* Author CTA */
.article-cta { margin: 64px 0 0; padding: 40px; border-radius: var(--radius-xl); background: var(--surface-card); border: 1px solid var(--border-subtle); border-top: 4px solid var(--luma-teal); box-shadow: var(--shadow-1); display: flex; gap: 24px; align-items: center; flex-wrap: wrap; }
.article-cta img { width: 84px; height: 84px; border-radius: var(--radius-pill); object-fit: cover; flex-shrink: 0; }
.article-cta-text { flex: 1; min-width: 220px; }
.article-cta-text h3 { font: 400 24px/1.25 var(--font-display); letter-spacing: -0.01em; color: var(--fg-1); margin: 0 0 6px; }
.article-body .article-cta-text p { font-size: 17px; line-height: 1.6; color: var(--fg-3); margin: 0; }
.article-cta .pill { flex-shrink: 0; }
