/* Blog styles – extends styles.css (TransmissionCo theme) */
.wrap.narrow{max-width:1020px}
.crumb{display:inline-block;color:#FFD9D2;text-decoration:none;font-weight:700;font-size:15px;margin-bottom:18px}.crumb:hover{text-decoration:underline}
.hero .byline{font-size:18px;opacity:.95;margin:.2em 0 .6em}.hero .dek{font-size:22px;max-width:720px;opacity:.95;margin:.4em 0 0}
.hero time{color:inherit}
.toc{position:sticky;top:68px;z-index:15;background:#fff;border-bottom:1px solid var(--lav)}
.toc nav{display:flex;overflow-x:auto;white-space:nowrap;gap:2px;padding:6px 0}
.toc nav a{margin:0;opacity:1;color:var(--plum);font-size:14px;font-weight:700;padding:8px 12px;border-bottom:2px solid transparent;border-radius:6px}
.toc nav a:hover{border-color:var(--coral);background:var(--blush)}
@media(max-width:860px){.toc{top:96px}}
.post-sec{padding:64px 0}.post-sec.alt{background:var(--blush)}
.post-sec[id]{scroll-margin-top:120px}
.sec-h{display:flex;align-items:center;gap:16px;margin-bottom:18px}
.sec-h .num{flex:none;font-weight:900;font-size:15px;letter-spacing:.12em;color:#fff;background:var(--coral);border-radius:999px;padding:6px 13px}
.sec-h h2{margin:0}
.post p{max-width:78ch}
.post p.lead{font-size:22px;color:var(--plum);font-weight:700;margin:.2em 0 .8em}
.post h3{font-size:21px;margin:1.2em 0 .5em}.post h3.subh{margin-top:1.8em;color:var(--purple)}
.post small{display:block;font-size:13px;opacity:.8;font-weight:400;line-height:1.3;margin-top:3px}
.post ul.ticks.big li{font-size:19px;padding-top:9px;padding-bottom:9px}
.post ul.ticks.big li:before{top:17px}
.post ul.ticks.grey li:before{border-color:var(--mauve)}
.post .split{align-items:start;gap:40px}
.post .side{display:flex;justify-content:center}
.callout{background:#fff;border-left:6px solid var(--coral);border-radius:12px;padding:16px 22px;box-shadow:0 8px 24px rgba(58,20,80,.08);color:var(--plum);margin:1.4em 0;max-width:none}
.alt .callout{background:#fff}
.src,figcaption .src{display:block;font-size:13px;color:var(--mauve);letter-spacing:.02em;margin:6px 0 0}
.fig{margin:0}.fig img,.fig .crop{display:block;width:100%;height:auto;border-radius:12px}
.fig figcaption{font-size:14px;color:var(--mauve);margin-top:8px;line-height:1.35}
.fig.narrowfig{max-width:320px;width:100%}
.crop{background-repeat:no-repeat;background-color:#fff}
.fig.plug{background:#fff;border-radius:14px;padding:10px;box-shadow:0 8px 24px rgba(58,20,80,.08)}
.fig.plug .crop{max-width:300px;margin:0 auto}
.three{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:20px;margin:18px 0}
.four{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin:26px 0}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));gap:20px}
.post .two{margin:14px 0}.post .two .crop{background-color:#fff;border-radius:10px}
.post .stat{padding:8px 0 8px 18px;border-left:4px solid var(--coral);color:var(--mauve);font-size:16px}
.post .stat b{display:block;font-size:30px;color:var(--plum);line-height:1.1;text-transform:uppercase;letter-spacing:.02em}
.post .card{padding:22px 26px}.post .card p{color:var(--ink);margin:0}.post .card.tier{text-align:left}
.cmp{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin:20px 0}
@media(max-width:860px){.cmp{grid-template-columns:1fr}}
.cmp-col{background:#fff;border-radius:18px;padding:24px 26px;border-top:5px solid var(--lav);box-shadow:0 10px 30px rgba(58,20,80,.08)}
.cmp-col.hi{border-top-color:var(--coral)}
.cmp-col h3{margin-top:0}.cmp-col .vs{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--coral);vertical-align:middle;margin-left:6px}
.pair{margin-top:16px;max-width:520px}
.flow{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px;margin:12px 0}
.flow .arr,.row .arr,.stages .arr{align-self:center;color:var(--coral);font-style:normal;font-weight:900;font-size:22px}
.node{display:inline-block;background:var(--pale);color:var(--plum);border:2px solid var(--lav);border-radius:12px;padding:10px 14px;font-weight:700;font-size:16px;line-height:1.25;text-align:center}
.node.co{background:var(--coral);border-color:var(--coral);color:#fff}
.node.dim{background:#fff;border-style:dashed;color:var(--mauve)}
.node small{color:inherit}
.flow.wrap5 .node{flex:1 1 150px}
.stack .row,.arch .row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.stack .lbl{font-weight:900;color:var(--plum);margin-right:4px}
.arch-h{font-weight:900;letter-spacing:.12em;text-transform:uppercase;font-size:14px;color:var(--purple);margin:16px 0 8px}.arch-h.co{color:var(--coral);margin-top:28px}
.arch-box{background:#fff;border:2px solid var(--lav);border-radius:18px;padding:20px}.arch-box.hi{border-color:var(--coral)}
.nms{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.nms span{flex:1 1 180px;background:var(--plum);color:#fff;border-radius:8px;padding:8px 12px;font-size:14px;font-weight:700;text-align:center}.nms span.wide{flex:1 1 100%;background:var(--coral)}
.stages{display:flex;flex-wrap:wrap;align-items:stretch;gap:12px;margin:10px 0 0}
.stage{flex:1 1 200px;background:#fff;border:2px solid var(--lav);border-radius:14px;padding:16px 18px;display:flex;flex-direction:column;gap:4px;color:var(--mauve)}
.stage b{color:var(--plum);font-size:19px}.stage em{font-style:normal;color:var(--coral);font-weight:700;font-size:15px}.stage.hi{background:var(--coral);border-color:var(--coral);color:#fff}.stage.hi b{color:#fff}
.chips{margin-top:8px}.chips .chip{margin:5px 8px 5px 0}
.table-wrap{overflow-x:auto;margin:20px 0}
.tbl{border-collapse:separate;border-spacing:0;width:100%;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 10px 30px rgba(58,20,80,.08);font-size:17px}
.tbl th{background:var(--plum);color:#fff;text-align:left;padding:14px 18px;font-size:15px;letter-spacing:.05em}
.tbl th.co{background:var(--coral)}
.tbl td{padding:14px 18px;border-top:1px solid var(--pale);vertical-align:top}
.tbl.vs td.co{background:#FFF4F2;font-weight:700;color:var(--plum)}
.peer{display:grid;gap:26px}
.peer-top,.peer-bot{display:flex;flex-wrap:wrap;align-items:center;gap:18px}
.p-item{flex:1 1 180px;max-width:300px;text-align:center}.p-item .fig{margin:0 auto}
.p-op{flex:0 1 150px;text-align:center;color:var(--plum)}.p-op b{display:block;font-size:24px;color:var(--coral)}.p-op small{display:block}
.peer .callout{margin:0;flex:1 1 240px}
.q{display:flex;flex-direction:column;align-items:center;gap:12px;background:#fff;border-radius:18px;padding:26px;box-shadow:0 10px 30px rgba(58,20,80,.08);text-align:center}
.q b{font-size:28px;color:var(--coral);letter-spacing:.04em}
ol.steps{list-style:none;counter-reset:s;padding:0;margin:14px 0}
ol.steps li{counter-increment:s;position:relative;padding:8px 0 12px 54px;font-size:18px}
ol.steps li:before{content:counter(s);position:absolute;left:0;top:4px;width:38px;height:38px;border-radius:50%;background:var(--coral);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900}
.layers{display:grid;gap:8px}.layers div{background:var(--pale);border-radius:10px;padding:10px 14px;font-weight:700;color:var(--plum)}.layers div.co{background:var(--coral);color:#fff}
.map-h{font-weight:900;letter-spacing:.1em;text-transform:uppercase;font-size:14px;color:var(--purple);margin:20px 0 8px}.map-h.co{color:var(--coral)}.map-h small{display:inline;text-transform:none;letter-spacing:0;margin-left:8px;font-weight:400}
ol.final{list-style:none;padding:0;margin:0;display:grid;gap:14px}
ol.final li{position:relative;background:#fff;border-radius:14px;padding:18px 22px 18px 84px;font-size:19px;box-shadow:0 8px 24px rgba(58,20,80,.08);border-left:6px solid var(--coral)}
ol.final li span{position:absolute;left:20px;top:50%;transform:translateY(-50%);color:var(--coral);font-size:30px;font-weight:900}
.cta{background:linear-gradient(120deg,#5B2078 0%,#A02A78 55%,#F06152 120%);color:#fff;padding:64px 0}.cta h2{color:#fff}.cta .btn.ghost{margin-right:0}
.post-sec.idx{padding:56px 0 84px}
.posts{display:grid;gap:26px}
.post-card{display:grid;grid-template-columns:minmax(220px,360px) 1fr;background:#fff;border-radius:18px;overflow:hidden;text-decoration:none;color:var(--ink);box-shadow:0 10px 30px rgba(58,20,80,.12);border-left:6px solid var(--coral);transition:transform .2s}
.post-card:hover{transform:translateY(-3px)}
.pc-art{position:relative;background:linear-gradient(120deg,#5B2078 0%,#A02A78 55%,#F06152 120%);display:flex;align-items:center;justify-content:center;min-height:200px;overflow:hidden}
.pc-art span{position:relative;color:#fff;font-weight:900;font-size:40px;letter-spacing:.02em}
.pc-body{padding:28px 32px}.pc-body .meta{font-size:14px;color:var(--coral);font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.pc-body h2{margin:.3em 0 .3em;font-size:32px}.pc-body p{color:var(--mauve);margin:0 0 .4em}.pc-body .btn{margin:14px 0 0}
@media(max-width:700px){.post-card{grid-template-columns:1fr}.pc-art{min-height:130px}}
@media(max-width:860px){.post-sec{padding:44px 0}.post ul.ticks.big li{font-size:18px}}
