/* Ghost-specific additions on top of sot.css (the site's CSS, ported verbatim).
   sot.css owns the design; this file only maps Ghost output (cards, content) onto it. */
.rail a.active, .menu a.active { color: var(--ink); }
.article h2, .article h3 { color: var(--ink); letter-spacing: -.015em; line-height: 1.2; margin: 38px 0 0; font-weight: 700; }
.article h2 { font-size: 24px; } .article h3 { font-size: 20px; }
.article h2 + p, .article h3 + p { margin-top: 12px; }
.article ul, .article ol { color: #c6ccd5; font-size: 17.5px; line-height: 1.75; padding-left: 24px; margin: 12px 0 0; }
.article a { color: var(--brand-ink); text-decoration: underline; text-underline-offset: 3px; }
.article blockquote { font-size: clamp(21px, 2.8vw, 26px); line-height: 1.35; font-weight: 700; color: #fff; letter-spacing: -.01em; margin: 36px 0; padding-left: 22px; border-left: 3px solid var(--brand-ink); }
.article blockquote p { font-size: inherit; line-height: inherit; color: inherit; margin: 0; }
.article blockquote.kg-blockquote-alt { font-style: normal; text-align: left; padding: 0 0 0 22px; }
.article figure, .article .kg-card { margin: 32px 0 0; }
.article img, .article .kg-image { display: block; width: 100%; height: auto; border-radius: 16px; }
.article figcaption { color: var(--faint); font-size: 13.5px; margin-top: 10px; }
.article hr { border: 0; border-top: 1px solid var(--line); margin: 40px 0; }
.article pre { background: #0e1116; border: 1px solid var(--line); border-radius: 12px; padding: 16px; overflow-x: auto; font-size: 14px; margin-top: 20px; }
.article code { font-family: "Roboto Mono", ui-monospace, monospace; font-size: .92em; }
.article .kg-callout-card { border-radius: 14px; margin-top: 24px; }
.article .kg-bookmark-container { border-color: var(--line2) !important; border-radius: 14px; }
.article .kg-button-card .kg-btn { background: var(--brand); color: #fff; border-radius: var(--r-btn); }
.article .art-punch b { color: var(--ink); }
.article em { color: #e2e6ec; }
.nrx-card--post { display: block; }
.nrx-card--ext .nrx-meta::after { content: " \2197"; }
.nr-pagination { display: flex; justify-content: space-between; gap: 16px; margin-top: 40px; font-size: 14px; color: var(--muted); }
.nr-pagination a { color: var(--brand-ink); }
.nr-subscribe { margin-top: 48px; padding: 24px; border: 1px solid var(--line2); border-radius: var(--r-card); background: var(--panel2); }
.nr-subscribe h3 { font-size: 18px; font-weight: 700; color: var(--ink); letter-spacing: -.01em; }
.nr-subscribe p { color: var(--muted); font-size: 14.5px; margin-top: 6px; }
.nr-subscribe .btn { margin-top: 14px; }
.nr-empty { color: var(--faint); margin-top: 32px; }
.nr-err { text-align: center; padding: 80px 0; }
.nr-err h1 { font-size: clamp(34px, 5vw, 52px); letter-spacing: -.025em; line-height: 1.03; }

/* Ghost editor widths (required): the article column is 680px; wide/full break out of it. */
.article .kg-width-wide { position: relative; width: min(960px, calc(100vw - 2 * var(--gut))); left: 50%; transform: translateX(-50%); }
.article .kg-width-full { position: relative; width: calc(100vw - var(--rail, 0px) - 2 * var(--gut)); left: 50%; transform: translateX(-50%); }
@media (max-width: 959px) { .article .kg-width-full { width: calc(100vw - 2 * var(--gut)); } }

/* Ghost design-settings fonts (Settings → Design → Typography) override the SOT faces when chosen. */
h1,h2,h3,.nrx-featt,.nrx-ct{font-family:var(--gh-font-heading,inherit)}
