/* ============================================================
   blog.css — Insights enhancement layer (blog pages only)
   Loads after site.css. Dark navy + cyan system, adds the
   Instrument Serif editorial voice reserved in the brand tokens.
   ============================================================ */

/* ---------- Cover art (pure CSS, no images) ---------- */
.cover{position:relative;overflow:hidden;border-radius:0;min-height:230px;display:flex;align-items:flex-end;
  background:
    radial-gradient(420px 300px at 85% -10%, rgba(77,212,220,.28), transparent 60%),
    radial-gradient(360px 260px at -10% 110%, rgba(46,135,196,.25), transparent 60%),
    linear-gradient(150deg,#091529,#06101f 70%);
}
.cover::before{content:"";position:absolute;inset:0;opacity:.5;
  background-image:linear-gradient(rgba(120,160,190,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(120,160,190,.07) 1px,transparent 1px);
  background-size:34px 34px;
  mask-image:radial-gradient(70% 90% at 60% 40%,#000 30%,transparent 100%);}
.cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(6,16,31,.55));}
.cover .cw{position:relative;z-index:2;font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-weight:400;
  font-size:clamp(3rem,7vw,4.6rem);line-height:.95;letter-spacing:-.02em;padding:26px 28px;
  background:linear-gradient(120deg,var(--cyan-bright),var(--cyan) 55%,#bdeef2);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.cover .ck{position:absolute;top:20px;left:28px;z-index:2;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);}
.cover .cnum{position:absolute;right:-12px;bottom:-34px;font-family:'Instrument Serif',Georgia,serif;font-style:italic;
  font-size:11rem;line-height:1;color:rgba(77,212,220,.07);user-select:none;}
.cover.cv-b{background:radial-gradient(420px 300px at 85% -10%, rgba(126,193,66,.24), transparent 60%),radial-gradient(360px 260px at -10% 110%, rgba(43,184,196,.22), transparent 60%),linear-gradient(150deg,#091529,#06101f 70%);}
.cover.cv-b .cw{background:linear-gradient(120deg,#a9e06d,#7EC142 55%,#d7f0b8);-webkit-background-clip:text;background-clip:text;}
.cover.cv-c{background:radial-gradient(420px 300px at 85% -10%, rgba(93,195,232,.28), transparent 60%),radial-gradient(360px 260px at -10% 110%, rgba(13,31,60,.9), transparent 70%),linear-gradient(150deg,#0a1a33,#06101f 70%);}
.cover.cv-c .cw{background:linear-gradient(120deg,#8fd8f5,#5DC3E8 55%,#cfeefb);-webkit-background-clip:text;background-clip:text;}

/* covers inside cards */
.post-card .cover{min-height:150px;border-radius:12px;margin:-26px -26px 18px;border-bottom:1px solid var(--line-cyan);}
.post-card .cover .cw{font-size:2.3rem;padding:18px 20px;}
.post-card .cover .cnum{font-size:7rem;bottom:-22px;}
.post-card{overflow:hidden;}
.post-card:hover{transform:translateY(-5px);border-color:var(--line-cyan);box-shadow:0 18px 44px rgba(4,12,24,.5),0 0 0 1px rgba(77,212,220,.12);}
.post-card:hover .cover .cw{filter:brightness(1.15);}
.pf-art .cover{min-height:100%;height:100%;position:absolute;inset:0;}
.pf-art{position:relative;min-height:260px;display:block;}

/* ---------- Article typography ---------- */
.page-hero .crumbs{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;}
/* tighten the hero→body seam on post pages (was ~150px of stacked padding) */
.page-hero:has(.byline){padding-bottom:30px;}
.section.tight:has(.article-body){padding-top:18px;}
.section.tight .article-body{margin-top:0;}
.article-body{font-size:1.06rem;line-height:1.78;}
.article-body > p:first-of-type::first-letter{font-family:'Instrument Serif',Georgia,serif;font-style:italic;
  font-size:3.4em;line-height:.8;float:left;padding:6px 10px 0 0;color:var(--cyan-bright);}
.article-body h2{position:relative;font-size:1.62rem;margin:52px 0 16px;padding-top:18px;letter-spacing:-.015em;}
.article-body h2::before{content:"";position:absolute;top:0;left:0;width:46px;height:3px;border-radius:2px;
  background:linear-gradient(90deg,var(--cyan-bright),transparent);}
.article-body h2 .hlink{position:absolute;margin-left:10px;opacity:0;transition:opacity .25s;color:var(--muted);text-decoration:none;font-weight:400;}
.article-body h2:hover .hlink{opacity:.8;}
.article-body p > strong:first-child{color:var(--cyan-bright);font-weight:650;}
.article-body a{text-decoration-color:rgba(77,212,220,.5);text-underline-offset:3px;}
.pullquote{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-size:1.6rem;line-height:1.4;color:var(--ink);
  border-left:3px solid var(--cyan);margin:34px 0;padding:6px 0 6px 24px;}
.pullquote small{display:block;font-family:var(--font);font-style:normal;font-size:.85rem;color:var(--muted);margin-top:10px;}

/* callout + stats upgrades */
.callout{position:relative;box-shadow:inset 0 0 60px rgba(43,184,196,.05);}
.callout::before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:3px;border-radius:2px;
  background:linear-gradient(180deg,var(--cyan-bright),transparent);}
.stat-callout > div{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 20px;flex:1;min-width:130px;}
.stat-callout .sn{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-size:2.1rem;
  background:linear-gradient(120deg,var(--cyan-bright),#bdeef2);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}

/* ---------- Key takeaways ---------- */
.takeaways{position:relative;background:var(--card);border:1px solid var(--line);border-radius:16px;
  padding:22px 26px 18px;margin:36px 0;box-shadow:inset 0 0 60px rgba(43,184,196,.05);}
.takeaways::before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:3px;border-radius:2px;
  background:linear-gradient(180deg,var(--cyan-bright),transparent);}
.takeaways .tk-head{display:flex;align-items:center;gap:9px;font-size:.72rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--cyan-bright);font-weight:650;}
.takeaways .tk-head svg{width:14px;height:14px;fill:currentColor;flex:0 0 auto;}
.takeaways ul{list-style:none;margin:8px 0 0;padding:0;counter-reset:tk;}
.takeaways li{position:relative;padding:11px 0 11px 40px;color:var(--ink-soft);font-size:.97rem;line-height:1.62;}
.takeaways li+li{border-top:1px solid rgba(120,160,190,.12);}
.takeaways li::before{counter-increment:tk;content:counter(tk,decimal-leading-zero);
  position:absolute;left:2px;top:10px;font-family:'Instrument Serif',Georgia,serif;font-style:italic;
  font-size:1.15rem;line-height:1.5;color:var(--cyan-bright);opacity:.85;}
.takeaways li strong{color:var(--ink);font-weight:650;}

/* ---------- Margin notes / asides ---------- */
.article-body .mn{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-size:1.05rem;line-height:1.55;
  color:var(--muted);border-left:2px solid rgba(77,212,220,.4);padding:4px 0 4px 16px;margin:28px 0;}
@media (min-width:1440px){
  .article-body .mn{float:left;clear:left;width:200px;margin:6px 0 20px -248px;font-size:.98rem;
    border-left:none;border-top:2px solid rgba(77,212,220,.4);padding:12px 0 0;}
}

/* ---------- Plain-English term chips ---------- */
.term{border-bottom:1px dotted rgba(77,212,220,.65);cursor:help;}
.term-tip{position:fixed;z-index:130;max-width:300px;background:#0a1a30;border:1px solid var(--line-cyan);
  border-radius:12px;padding:11px 14px;font:400 .85rem/1.55 var(--font);font-style:normal;color:var(--ink-soft);
  box-shadow:0 14px 34px rgba(4,12,24,.55);opacity:0;visibility:hidden;transform:translateY(6px);
  transition:opacity .22s,transform .22s,visibility .22s;pointer-events:none;}
.term-tip.on{opacity:1;visibility:visible;transform:none;}
.term-tip .tk{display:block;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cyan-bright);margin-bottom:4px;}

/* ---------- Checklist + step-list styling ---------- */
.article-body ul.check{list-style:none;margin:20px 0;padding:0;}
.article-body ul.check li{position:relative;padding:9px 0 9px 34px;}
.article-body ul.check li+li{border-top:1px solid rgba(120,160,190,.1);}
.article-body ul.check li::before{content:"";position:absolute;left:0;top:14px;width:18px;height:18px;
  border-radius:6px;border:1px solid var(--line-cyan);background:rgba(43,184,196,.08);}
.article-body ul.check li::after{content:"";position:absolute;left:5px;top:19px;width:9px;height:5px;
  border-left:2px solid var(--cyan-bright);border-bottom:2px solid var(--cyan-bright);transform:rotate(-45deg);}
.article-body ol.steps{list-style:none;counter-reset:st;margin:20px 0;padding:0;}
.article-body ol.steps li{position:relative;padding:11px 0 11px 46px;}
.article-body ol.steps li+li{border-top:1px solid rgba(120,160,190,.1);}
.article-body ol.steps li::before{counter-increment:st;content:counter(st);position:absolute;left:0;top:13px;
  width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:rgba(43,184,196,.12);
  border:1px solid var(--line-cyan);color:var(--cyan-bright);font:600 .85rem var(--font);}

/* ---------- Author card (auto-injected in article-foot) ---------- */
.author-card{display:flex;gap:22px;align-items:flex-start;background:var(--card);border:1px solid var(--line);
  border-radius:16px;padding:24px 26px;margin-top:34px;position:relative;overflow:hidden;}
.author-card::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(300px 180px at 100% 0%,rgba(77,212,220,.07),transparent 65%);}
.author-card .ac-photo{flex:0 0 86px;width:86px;height:86px;border-radius:50%;overflow:hidden;display:block;
  border:2px solid rgba(77,212,220,.35);box-shadow:0 6px 18px rgba(4,12,24,.45);transition:border-color .3s,transform .3s;}
.author-card .ac-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 18%;display:block;}
.author-card .ac-photo:hover{border-color:var(--cyan-bright);transform:translateY(-2px);}
.author-card .ac-k{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted-dim);}
.author-card .ac-name{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-size:1.45rem;
  color:var(--ink);margin-top:4px;line-height:1.2;}
.author-card .ac-name a{color:inherit;text-decoration:none;}
.author-card .ac-name a:hover{color:var(--cyan-bright);}
.author-card .ac-role{font-size:.83rem;color:var(--muted);margin-top:2px;}
.author-card .ac-bio{font-size:.92rem;line-height:1.65;color:var(--muted);margin:10px 0 0;max-width:58ch;}
.author-card .ac-link{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font:600 .84rem var(--font);
  color:var(--cyan-bright);text-decoration:none;}
.author-card .ac-link:hover{text-decoration:underline;text-underline-offset:3px;}
.author-card .ac-av{flex:0 0 86px;width:86px;height:86px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(140deg,rgba(43,184,196,.25),rgba(46,135,196,.2));border:2px solid rgba(77,212,220,.35);
  font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-size:1.7rem;color:var(--cyan-bright);}
@media (max-width:560px){
  .author-card{flex-direction:column;align-items:flex-start;gap:16px;}
  .takeaways{padding:20px 20px 14px;}
  .takeaways li{padding-left:34px;}
}

/* ---------- On-this-page rail (wide screens) ---------- */
.toc-rail{position:fixed;top:150px;right:max(18px,calc((100vw - 1160px)/2 - 235px));width:215px;z-index:40;
  opacity:0;transform:translateY(8px);transition:opacity .5s,transform .5s;pointer-events:none;}
.toc-rail.on{opacity:1;transform:none;pointer-events:auto;}
.toc-rail .tt{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted-dim);margin-bottom:10px;}
.toc-rail a{display:block;font-size:.83rem;line-height:1.35;color:var(--muted);text-decoration:none;
  padding:5px 0 5px 12px;border-left:2px solid var(--line);transition:color .25s,border-color .25s;}
.toc-rail a:hover{color:var(--ink);}
.toc-rail a.act{color:var(--cyan-bright);border-left-color:var(--cyan-bright);}
@media (max-width:1439px){.toc-rail{display:none;}}

/* ---------- Share row ---------- */
.share-row{display:flex;align-items:center;gap:10px;margin:0 0 26px;flex-wrap:wrap;}
.article-foot .share-row{padding-bottom:22px;border-bottom:1px solid var(--line);}
.read-progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:120;pointer-events:none;
  background:linear-gradient(90deg,var(--cyan),var(--cyan-bright));box-shadow:0 0 12px rgba(77,212,220,.5);}
.back-top{position:fixed;right:22px;bottom:22px;width:44px;height:44px;border-radius:12px;z-index:110;
  background:var(--card);border:1px solid var(--line);color:var(--muted);cursor:pointer;display:grid;place-items:center;
  opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .3s,transform .3s,border-color .3s,color .3s,visibility .3s;}
.back-top.on{opacity:1;visibility:visible;transform:none;}
.back-top:hover{border-color:var(--line-cyan);color:var(--cyan-bright);}
.share-row .sl{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted-dim);margin-right:4px;}
.share-row button,.share-row a{display:inline-flex;align-items:center;gap:7px;background:var(--card);border:1px solid var(--line);
  color:var(--ink-soft);border-radius:999px;padding:8px 15px;font:600 .82rem var(--font);cursor:pointer;text-decoration:none;
  transition:border-color .25s,color .25s,transform .25s;}
.share-row button:hover,.share-row a:hover{border-color:var(--line-cyan);color:var(--cyan-bright);transform:translateY(-2px);}
.share-row svg{width:14px;height:14px;fill:currentColor;}

/* next-up cards */
.nextup{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:34px;}
.nextup a{display:block;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px 20px;text-decoration:none;transition:.3s;}
.nextup a:hover{transform:translateY(-3px);border-color:var(--line-cyan);}
.nextup .nk{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted-dim);}
.nextup .ntt{color:var(--ink);font-weight:650;margin-top:6px;line-height:1.4;font-size:.95rem;}
@media (max-width:640px){.nextup{grid-template-columns:1fr;}}

@media (prefers-reduced-motion:reduce){
  .post-card,.share-row button,.share-row a,.nextup a,.toc-rail{transition:none;}
}

/* ---------- Tables (house component, added v20260805a) ---------- */
.article-body .tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:26px 0;border:1px solid var(--line-cyan);border-radius:14px;background:rgba(255,255,255,.02);}
.article-body table{width:100%;border-collapse:collapse;font-size:.95rem;min-width:560px;}
.article-body table th{text-align:left;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--cyan-bright);background:rgba(43,184,196,.08);padding:14px 18px;border-bottom:1px solid var(--line-cyan);}
.article-body table td{padding:13px 18px;border-bottom:1px solid var(--line);color:var(--ink-soft);vertical-align:top;}
.article-body table tbody tr:last-child td{border-bottom:none;}
.article-body table tbody tr:hover{background:rgba(43,184,196,.04);}
.article-body table td:first-child{color:var(--ink);font-weight:600;}
