.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}

/* article prose */
.art-wrap{max-width:760px;margin:0 auto;padding:0 24px}
.art-head{padding:clamp(96px,13vw,150px) 24px 0}
.art-h1{font-size:clamp(30px,5vw,46px);line-height:1.08;letter-spacing:-.02em;margin:14px 0 0}
.art-meta{font-family:"IBM Plex Mono",monospace;font-size:13px;color:var(--muted);margin:18px 0 0}
.art-lede{font-size:clamp(17px,2.2vw,20px);line-height:1.55;color:var(--muted);margin:22px 0 0}
.prose{margin:clamp(40px,6vw,60px) 0 0;font-size:17px;line-height:1.72}
.prose h2{font-size:clamp(22px,3vw,28px);line-height:1.2;letter-spacing:-.01em;margin:44px 0 14px}
.prose h3{font-size:18px;margin:30px 0 8px}
.prose p{margin:0 0 18px}
.prose ul{margin:0 0 20px;padding-left:22px}
.prose li{margin:0 0 9px}
.prose a{color:var(--blue);text-decoration:underline;text-underline-offset:2px}
.prose strong{font-weight:600}
.art-cta{margin:clamp(48px,7vw,72px) 0 clamp(40px,6vw,64px);padding:clamp(28px,4vw,40px);border:1px solid var(--line);border-radius:2px;background:rgba(0,6,255,.035)}
.art-cta h3{font-size:clamp(20px,2.6vw,24px);margin:0 0 8px}
.art-cta p{color:var(--muted);margin:0 0 20px}

/* category badges + breadcrumb */
.art-bc{font-family:"IBM Plex Mono",monospace;font-size:12.5px;color:var(--muted);margin:0 0 18px}
.art-bc a{color:var(--muted);text-decoration:none}
.art-bc a:hover{color:var(--blue)}
.art-bc span{opacity:.5;margin:0 6px}
.art-cats{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 6px}
.art-cat-pill{font-family:"IBM Plex Mono",monospace;font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);background:rgba(0,6,255,.06);border:1px solid rgba(0,6,255,.18);border-radius:2px;padding:5px 11px;text-decoration:none;transition:background .15s,color .15s}
.art-cat-pill:hover{background:var(--blue);color:#fff}

/* featured image (aligned to the text column) */
.art-figure{max-width:760px;margin:0 auto;margin-top:clamp(30px,5vw,46px);padding:0 24px}
.art-figure img,.art-figure svg{width:100%;height:auto;display:block;border:1px solid var(--line);border-radius:2px}

/* prose extras (ol, quote, code, inline figure, hr) */
.prose ol{margin:0 0 20px;padding-left:22px}
.prose ol li{margin:0 0 9px}
.prose blockquote{margin:26px 0;padding:2px 0 2px 22px;border-left:3px solid var(--blue);font-size:clamp(18px,2.4vw,21px);line-height:1.5;color:var(--text)}
.prose blockquote p{margin:0}
.prose blockquote cite{display:block;font-family:"IBM Plex Mono",monospace;font-size:13px;font-style:normal;color:var(--muted);margin-top:10px}
.prose figure{margin:28px 0}
.prose figure img,.prose figure svg{width:100%;height:auto;display:block;border:1px solid var(--line);border-radius:2px}
.prose figure figcaption{font-family:"IBM Plex Mono",monospace;font-size:12.5px;color:var(--muted);margin-top:8px}
.prose code{font-family:"IBM Plex Mono",monospace;font-size:.92em;background:rgba(20,22,32,.06);border:1px solid var(--line);border-radius:2px;padding:1px 6px}
.prose pre{margin:24px 0;padding:18px 20px;background:#11131f;color:#e8eaf2;border-radius:2px;overflow-x:auto}
.prose pre code{background:none;border:none;padding:0;color:inherit;font-family:"IBM Plex Mono",monospace;font-size:13.5px;line-height:1.65}
.prose hr{border:none;border-top:1px solid var(--line);margin:36px 0}

/* legibility-fixes */
.art-cta .btn{text-decoration:none}
.art-cta .btn-primary{color:#fff}
.art-cta .btn-ghost{color:var(--text)}
