.article-header{margin-bottom:var(--space-6)}.article-header h1{font-size:var(--text-3xl);margin-bottom:var(--space-4)}.article-header .lede{margin-bottom:var(--space-4)}.article-meta{gap:var(--space-2) var(--space-4);font-size:var(--text-sm);color:var(--color-muted);flex-wrap:wrap;display:flex}.article-meta a{color:var(--color-ink-soft);font-weight:600}.article-layout{gap:var(--space-6);padding-top:clamp(32px,5vw,64px);display:grid}@media (width>=64rem){.article-layout{grid-template-columns:minmax(0, var(--container-prose)) 16rem;justify-content:center;align-items:start}.article-aside{top:var(--space-5);position:sticky}}.prose{font-size:1.125rem}.prose>*+*{margin-top:var(--space-4)}.prose{color:var(--color-ink-soft);line-height:1.75}.prose h2{margin-top:var(--space-7);color:var(--color-ink);font-size:clamp(26px,3vw,36px)}.prose h3{margin-top:var(--space-6);color:var(--color-ink);font-size:clamp(21px,2.2vw,26px)}.prose h2,.prose h3,.prose h4{text-decoration:underline;text-decoration-color:var(--color-heart);text-underline-offset:.22em;text-decoration-skip-ink:auto;text-decoration-thickness:2px}.prose strong{color:var(--color-ink)}.prose a{color:var(--color-accent)}.prose li::marker{color:var(--color-heart)}.prose ul,.prose ol{padding-left:1.4em}.prose li+li{margin-top:var(--space-2)}.prose blockquote{margin:var(--space-5) 0;padding:var(--space-4) var(--space-5);border-left:4px solid var(--color-heart);background:var(--color-surface-muted);color:var(--color-primary);font-family:var(--font-serif);border-radius:6px;font-size:1.2rem}.prose table{border-collapse:collapse;width:100%;font-size:var(--text-sm);display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--color-border);padding:var(--space-2) var(--space-3);text-align:left;vertical-align:top}.prose th{background:var(--color-surface-muted);color:var(--color-ink)}.prose table{border-radius:6px}.prose hr{border:0;border-top:1px solid var(--color-border);margin:var(--space-7) 0}.prose input[type=checkbox]{margin-right:var(--space-2);accent-color:var(--color-cta)}.toc{background:var(--color-surface-muted);padding:var(--space-5);font-size:var(--text-sm);border-radius:10px}.toc summary{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;color:var(--color-accent);font-size:12px}.toc ol{margin:var(--space-3) 0 0;gap:var(--space-2);padding-left:1.2em;display:grid}.toc a{color:var(--color-ink-soft);text-decoration:none}.toc a:hover{color:var(--color-primary);text-decoration:underline}.pin-image{margin-top:var(--space-5)}.pin-image img{border-radius:var(--radius-md);max-width:16rem}.pin-image figcaption{font-size:var(--text-xs);color:var(--color-muted);margin-top:var(--space-2)}.share{gap:var(--space-2);margin-top:var(--space-6);font-size:var(--text-sm);flex-wrap:wrap;align-items:center;display:flex}.share ul{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.share>span{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent);font-size:12px}.share a{border:1px solid var(--color-primary);color:var(--color-primary);border-radius:999px;padding:8px 18px;font-weight:500;text-decoration:none;display:inline-block}.share a:hover{background:var(--color-primary);color:#faf6f3}.share li:first-child a{background:var(--color-cta);border-color:var(--color-cta);color:#fff}.share li:first-child a:hover{background:var(--color-cta-hover)}.source-notes{margin-top:var(--space-7);padding-top:var(--space-5);border-top:1px solid var(--color-border);font-size:var(--text-sm);color:var(--color-ink-soft)}.source-notes h2{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent);font-size:12px}.disclosure,.disclaimer-note{font-size:var(--text-sm);color:var(--color-ink-soft);background:var(--color-surface-muted);padding:var(--space-3) var(--space-4);border-radius:6px}.disclaimer-note{margin-top:var(--space-6)}.inline-image{margin:var(--space-6) 0}.inline-image img{background:var(--color-surface-muted);border-radius:6px;width:100%;height:auto}.inline-image figcaption{font-size:var(--text-sm);color:var(--color-muted);margin-top:var(--space-2)}.inline-image .credit{font-size:var(--text-xs)}
