.experiment-heading { display: block; }
.experiment-heading h1 { margin: 0 0 20px; font-size: clamp(40px, 7vw, 72px); line-height: 1.03; letter-spacing: -.04em; }
.experiment-heading .sec-lede { max-width: 40em; }
.experiment-cards { margin-top: 40px; }
.experiment-cover { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; background: var(--sun); border-bottom: 2px solid var(--line-strong); }
.experiment-cards .pc-lesson-body { flex: 1; padding: 28px; gap: 16px; }
.experiment-cards .pc-lesson-title { font-size: 25px; line-height: 1.15; letter-spacing: -.025em; overflow-wrap: anywhere; }
.experiment-card-link { margin-top: auto; padding-top: 12px; font-size: 14px; font-weight: 700; }
.experiment-back { display: inline-block; margin-bottom: 32px; text-underline-offset: 4px; }
.experiment-article { margin-inline: auto; padding-top: 40px; }
.experiment-article .kicker { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; line-height: 1.6; }
.experiment-article h1 { margin-top: 24px; font-size: clamp(36px, 6vw, 64px); line-height: 1.06; letter-spacing: -.035em; overflow-wrap: anywhere; }
.experiment-deck { color: var(--ink-muted); font-size: 20px; line-height: 1.5; margin: 24px 0; }
.experiment-image { margin: 32px 0 0; }
.experiment-image img { display: block; width: 100%; height: auto; max-height: 540px; object-fit: contain; border: 2px solid var(--ink); border-radius: var(--radius-lg); background: var(--surface-raised); }
.experiment-article .prose { margin-top: 40px; overflow-wrap: anywhere; }
.article-prose > :first-child { margin-top: 0; }
.article-prose :is(h2, h3, h4, h5, h6) { margin: 48px 0 16px; font-family: var(--font-display); font-weight: 750; letter-spacing: -.025em; line-height: 1.2; text-wrap: balance; scroll-margin-top: 24px; }
.article-prose h2 { font-size: clamp(27px, 3vw, 34px); }
.article-prose h3 { font-size: 25px; }
.article-prose :is(h4, h5, h6) { font-size: 21px; }
.article-prose :is(ul, ol) { margin: 20px 0 28px; padding-left: 1.4em; }
.article-prose li { margin-block: 12px; padding-left: .2em; }
.article-prose li > p { margin-bottom: 8px; }
.article-prose a:not(.pc-btn) { color: inherit; text-decoration-thickness: 1.5px; text-underline-offset: 4px; }
.article-prose a:not(.pc-btn):hover { text-decoration-thickness: 3px; }
.article-prose a:focus-visible { outline: 3px solid var(--sky); outline-offset: 5px; }
.article-prose blockquote { margin: 28px 0; padding: 24px 28px; border: 2px solid var(--ink); border-radius: 16px; background: var(--surface-raised); }
.article-prose blockquote p:last-child { margin-bottom: 0; }
.article-prose :is(img, video, iframe) { display: block; width: 100%; max-width: 100%; border-radius: 16px; }
.article-prose img { height: auto; }
.article-prose iframe { aspect-ratio: 16 / 9; height: auto; border: 0; }
.article-prose audio { width: 100%; }
.article-prose figure { margin: 32px 0; }
.article-prose figcaption { margin-top: 12px; color: var(--ink-muted); font-size: 15px; line-height: 1.5; text-align: center; }
.article-prose pre { margin: 28px 0; padding: 24px; max-width: 100%; overflow-x: auto; border: 1px solid var(--ink); border-radius: 12px; background: var(--surface-sunk); font-size: 15px; line-height: 1.7; white-space: pre; }
.article-prose code { font-family: var(--font-mono, monospace); font-size: .9em; }
.article-prose :not(pre) > code { background: var(--surface-sunk); padding: 2px 5px; border-radius: 4px; }
.article-prose table { display: block; width: 100%; max-width: 100%; margin-block: 28px; overflow-x: auto; border-collapse: collapse; }
.article-prose :is(td, th) { padding: 12px 16px; border: 1px solid var(--ink); min-width: 120px; text-align: left; vertical-align: top; }
.article-prose hr { margin: 40px 0; border: 0; border-top: 1px solid var(--ink-muted); }
.substack-signup { margin: 40px 0; padding: 28px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 24px; border: 2px solid var(--ink); border-radius: 20px; background: var(--sun); box-shadow: 3px 3px 0 var(--ink); }
.substack-signup-2 { background: var(--mint); }
.substack-signup-3 { margin-top: 48px; margin-bottom: 0; }
.article-prose .substack-signup h2 { margin: 0 0 10px; font-size: 26px; line-height: 1.15; letter-spacing: -.025em; }
.article-prose .substack-signup p { margin: 0; color: var(--ink); font-size: 16px; line-height: 1.5; }
.substack-signup .pc-btn { max-width: 100%; white-space: normal; text-align: center; font-size: 14px; }
@media (max-width: 600px) {
  .experiment-article { padding-top: 24px; }
  .substack-signup { grid-template-columns: 1fr; padding: 24px; gap: 20px; }
  .substack-signup .pc-btn { justify-self: start; }
  .article-prose blockquote { padding: 20px; }
}
