/* Shared marketing shell, tokens and type come from site.css and pages.css. */
.content-page { min-height: 65vh; }
.content-page .page-hero .section-inner { position: relative; z-index: 1; }
.content-page .page-hero h1 { overflow-wrap: anywhere; }
.content-page .lede { max-width: 700px; }
.content-back { display: inline-block; margin-bottom: 24px; color: var(--green); }
.content-back:hover { text-decoration: underline; }
.content-status { margin: 0; }
.content-status:not(:empty) { padding: 28px; border: 1px solid var(--line); border-radius: 12px; background: var(--bg-soft); }
.content-status:empty { display: none; }
.content-feed #retry { margin-top: 24px; }
.content-card { min-width: 0; display: flex; flex-direction: column; overflow-wrap: anywhere; }
.content-card h2 { margin: 8px 0 16px; font-size: clamp(1.4rem, 2.4vw, 2rem); line-height: 1.2; }
.content-cover { display: block; width: 100%; aspect-ratio: 16/9; object-fit: contain; border-radius: 8px; background: var(--bg); margin-bottom: 24px; }
.content-meta { font-size: .82rem; color: var(--quiet); margin: 0 0 12px; }
.content-card > a { color: var(--green); font-weight: 650; margin-top: auto; padding-top: 16px; }
.content-card > a:hover { text-decoration: underline; }
.content-page.is-article .content-feed > .section-inner { max-width: 860px; }
.content-page.is-article #posts { display: block; }
.is-article .content-card { padding: 0; border: 0; border-radius: 0; background: none; }
.content-body { line-height: 1.8; overflow-wrap: anywhere; }
.content-body h2, .content-body h3 { margin: 2em 0 .7em; }
.content-body pre, .content-body table { display: block; max-width: 100%; overflow: auto; }
.content-body pre { padding: 20px; background: var(--panel); border: 1px solid var(--line); border-radius: 8px; }
.content-body blockquote { margin: 28px 0; border-left: 3px solid var(--green); padding-left: 20px; }
.content-body a { color: var(--green); text-decoration: underline; text-underline-offset: .2em; }
.content-body img { max-width: 100%; height: auto; border-radius: 8px; }
.content-skip { position: fixed; top: -100px; left: 22px; z-index: 200; padding: 12px 20px; background: var(--green); color: var(--bg); }
.content-skip:focus { top: 12px; }
