/* Blog posts, archives and plain pages inside the live version's header and footer. */
.rl-shell-content { padding-block: clamp(40px, 7vw, 96px); max-width: var(--rl-container, 1180px); margin-inline: auto; padding-inline: 20px; }
.rl-shell-content .rl-article { max-width: 72ch; margin-inline: auto; }
.rl-shell-content .rl-article-header h1,
.rl-shell-content .rl-archive-header h1 { font-family: var(--rl-font-heading, inherit); line-height: 1.12; margin: 0 0 .5em; font-size: clamp(2rem, 4.4vw, 3.1rem); }
.rl-shell-content .rl-post-meta { color: var(--rl-muted, #5b6370); font-size: .92rem; margin: 0 0 .75em; }
.rl-shell-content .rl-article-image { margin: 0 0 2rem; border-radius: var(--rl-radius, 6px); overflow: hidden; }
.rl-shell-content .rl-article-image img { width: 100%; height: auto; display: block; }
.rl-prose { font-size: 1.075rem; line-height: 1.72; color: var(--rl-ink, #1d2127); }
.rl-prose > * + * { margin-top: 1.1em; }
.rl-prose h2, .rl-prose h3 { font-family: var(--rl-font-heading, inherit); line-height: 1.2; margin-top: 1.9em; }
.rl-prose img { max-width: 100%; height: auto; border-radius: var(--rl-radius, 6px); }
.rl-prose a { color: var(--rl-primary, #1f4e79); text-underline-offset: .18em; }
.rl-prose blockquote { border-left: 3px solid var(--rl-accent, #c79a3b); margin-left: 0; padding-left: 1.2em; color: var(--rl-muted, #5b6370); }
.rl-post-list { display: grid; gap: 40px 32px; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); margin-top: 32px; }
.rl-post-card h2 { font-size: 1.3rem; line-height: 1.25; margin: .2em 0 .4em; font-family: var(--rl-font-heading, inherit); }
.rl-post-card h2 a { color: inherit; text-decoration: none; }
.rl-post-card h2 a:hover { text-decoration: underline; }
.rl-post-card .rl-media { display: block; aspect-ratio: 3 / 2; overflow: hidden; border-radius: var(--rl-radius, 6px); margin-bottom: 14px; }
.rl-post-card .rl-media img { width: 100%; height: 100%; object-fit: cover; }
.rl-pagination { margin-top: 48px; display: flex; gap: 8px; flex-wrap: wrap; }
.rl-pagination .page-numbers { padding: 8px 14px; border: 1px solid var(--rl-line, #dde1e7); border-radius: var(--rl-radius, 6px); text-decoration: none; color: inherit; }
.rl-pagination .current { background: var(--rl-ink, #1d2127); color: #fff; border-color: transparent; }
.rl-shell-content .post-navigation { max-width: 72ch; margin: 56px auto 0; display: flex; justify-content: space-between; gap: 24px; }
.rl-shell-content .post-navigation .nav-links { display: contents; }
.rl-shell-content .post-navigation a { text-decoration: none; color: inherit; display: block; }
.rl-shell-empty { text-align: center; padding-block: 40px; }
.rl-skip { position: absolute; left: -9999px; top: 8px; z-index: 1000; background: #fff; color: #000; padding: 10px 16px; }
.rl-skip:focus { left: 8px; }
