/* Single-post editorial layout. Deliberately scoped away from other page types. */
.io-editorial{--ink:#172c41;--ink-soft:#34495c;--ink-muted:#526575;--border:#d4dce2;--accent:#2469a3;--bg-code:#e9eff4;background:#f8f9f7;color:var(--ink);padding:64px 32px 96px}
.io-editorial-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:245px minmax(0,1fr);gap:48px;align-items:start}
.io-editorial-rail{font-size:14px;line-height:1.6;padding-top:5px;position:sticky;top:110px}
.io-editorial a{color:#2469a3}
.io-editorial a:hover{text-decoration:underline;text-underline-offset:4px}
.io-editorial a:focus-visible,.io-editorial button:focus-visible{outline:3px solid #2469a3;outline-offset:4px}
.io-editorial-back{display:inline-block;margin-bottom:40px;font-weight:500}
.io-editorial-label{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:600;margin:0 0 24px;color:#526575}
.io-editorial-author{display:flex;gap:12px;align-items:center;margin:0 0 20px}
.io-editorial-author img{width:44px;height:44px;object-fit:cover;border-radius:50%}
.io-editorial-author a{color:#172c41;font-weight:600}
.io-editorial-author p{font-size:12px;margin:3px 0 0;color:#526575}
.io-editorial-bio{font-size:13px;color:#526575}
.io-editorial-reading{font-size:12px;margin:24px 0;color:#526575}
.io-editorial-sharing{display:flex;flex-direction:column;align-items:flex-start;gap:12px;border-top:1px solid #d4dce2;padding-top:24px}
.io-editorial-sharing .io-editorial-label{margin-bottom:2px}
.io-editorial-sharing button{font:inherit;border:0;border-bottom:1px solid #9baebf;border-radius:0;background:none;color:#2469a3;padding:0;cursor:pointer}
.io-editorial-article{min-width:0;border-left:1px solid #b8c5ce;padding-left:48px}
.io-editorial-heading time{font-family:Georgia,serif;font-size:14px;color:#526575}
.io-editorial-heading h1{font-size:clamp(36px,4.4vw,62px);font-weight:400;line-height:1.12;letter-spacing:-.035em;color:#2469a3;margin:14px 0 32px;max-width:none;overflow-wrap:break-word}
.io-editorial-deck{font:italic 21px/1.55 Georgia,serif;color:#34495c;margin:0 0 28px}
.io-editorial-heading{border-bottom:1px solid #b8c5ce;padding-bottom:20px;margin-bottom:28px}
.io-editorial-content{font-family:Georgia,'Times New Roman',serif;font-size:19px;line-height:1.75;color:#243747;overflow-wrap:break-word}
.io-editorial-content p,.io-editorial-content li{color:inherit}
.io-editorial-content p{margin:0 0 1.35em}
.io-editorial-content h2,.io-editorial-content h3,.io-editorial-content h4{font-family:'IBM Plex Sans',sans-serif;color:#172c41;line-height:1.25;letter-spacing:-.02em}
.io-editorial-content h2{font-size:32px;margin:48px 0 20px}
.io-editorial-content h3{font-size:25px;margin:32px 0 16px}
.io-editorial-content a{text-decoration:underline;text-underline-offset:3px}
.io-editorial-content img,.io-editorial-content video,.io-editorial-content iframe{max-width:100%}
.io-editorial-content img{height:auto}
.io-editorial-content figure{max-width:100%;margin:32px 0}
.io-editorial-content figcaption{font:13px/1.5 'IBM Plex Sans',sans-serif;color:#526575;margin-top:12px}
.io-editorial-content blockquote{border-left:3px solid #2469a3;border-radius:0;background:#edf2f5;padding:20px 24px;margin:30px 0;color:#243747}
.io-editorial-content pre{max-width:100%;overflow:auto;background:#e9eff4;color:#172c41;font-size:14px}
.io-editorial-content code{color:#172c41;background:#e9eff4}
.io-editorial-content table{font:15px/1.5 'IBM Plex Sans',sans-serif;color:#172c41}
.io-editorial-end{border-top:1px solid #b8c5ce;margin-top:56px;padding-top:24px;display:flex;justify-content:space-between;gap:16px;font-size:14px}
.io-editorial .comment-body,.io-editorial .comment-respond{background:#edf2f5;color:#172c41}
.io-editorial input,.io-editorial textarea{background:#fff;color:#172c41;border:1px solid #9baebf}
@media(max-width:850px){.io-editorial{padding:36px 24px 64px}.io-editorial-grid{grid-template-columns:1fr;gap:28px}.io-editorial-rail{position:static;display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center}.io-editorial-back{width:100%;margin:0 0 12px}.io-editorial-rail>.io-editorial-label{width:100%;margin:0}.io-editorial-author{margin:0}.io-editorial-reading{margin:0}.io-editorial-bio{display:none}.io-editorial-sharing{width:100%;flex-direction:row;align-items:center;flex-wrap:wrap;gap:18px;padding-top:14px}.io-editorial-sharing .io-editorial-label{margin:0}.io-editorial-article{border:0;padding:0}.io-editorial-heading h1{font-size:42px}.io-editorial-content{font-size:18px}.io-editorial-deck{font-size:20px}}
@media(max-width:450px){.io-editorial{padding:28px 20px 56px}.io-editorial-heading h1{font-size:36px}.io-editorial-content h2{font-size:28px}.io-editorial-end{flex-direction:column}}
.io-editorial .card{background:#edf2f5;border:1px solid #d4dce2;box-shadow:none;color:#172c41}
.io-editorial .card h2,.io-editorial .card h3,.io-editorial .card label{color:#172c41}
.io-editorial .card p,.io-editorial .card .eyebrow{color:#526575}

/* Keep feedback subordinate to the article title. */
body.single-post .io-editorial #feedback > h2{font-size:24px;line-height:1.3;letter-spacing:-.025em;margin:8px 0 12px}
.io-blueprint-facts{border-top:1px solid var(--border);padding-top:20px;margin:24px 0;font-size:13px}
.io-blueprint-facts dt{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);margin:16px 0 6px}
.io-blueprint-facts dd{margin:0;overflow-wrap:anywhere}
.io-blueprint-tools{display:flex;flex-wrap:wrap;gap:6px}.io-blueprint-tools span{font-size:11px;line-height:1.5;padding:4px 7px;border:1px solid var(--border);border-radius:4px}
.io-blueprint-sections{margin-top:24px;border-top:1px solid var(--border);padding-top:20px}.io-blueprint-sections .io-editorial-label{margin-bottom:12px}.io-blueprint-sections a{display:block;font-size:12px;margin:8px 0}
.io-blueprint-image{margin:0 0 28px}.io-blueprint-image img{max-width:100%;height:auto}
@media(max-width:850px){.io-blueprint-facts,.io-blueprint-sections{width:100%;margin:8px 0}.io-blueprint-facts{display:flex;gap:20px;flex-wrap:wrap}.io-blueprint-facts dt{margin-top:0}}
@media(max-width:600px){body.single-post .io-editorial #feedback > h2{font-size:22px}}
