/* Blog index and article pages */
.bl-hero{padding-block:120px 70px}
.bl-hero h1{max-width:14ch}
.jump{display:flex;flex-wrap:wrap;justify-content:inherit;gap:10px;margin-top:28px}
.jump a{font-size:13px;color:var(--soft);border:1px solid var(--line);border-radius:4px;padding:9px 16px;background:rgba(255,255,255,.04)}
.jump a:hover{color:#fff;border-color:rgba(255,255,255,.35)}
.bl{padding-bottom:110px}
.featwrap{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:16px}
.post{display:flex;flex-direction:column;border-radius:6px;padding:0 0 24px;background:linear-gradient(160deg,rgba(75,79,184,.22),rgba(30,26,77,.35));border:1px solid var(--line);transition:border-color .2s,transform .2s;min-width:0;overflow:hidden}
.post:hover{border-color:rgba(122,143,226,.6);transform:translateY(-2px)}
.post>*:not(.pimg){margin-left:24px;margin-right:24px}
.pimg{aspect-ratio:16/9;overflow:hidden;background:var(--indigo);margin-bottom:20px}
.pimg img{width:100%;height:100%;object-fit:cover;display:block}
.post:not(:has(.pimg)){padding-top:24px}
.post time{font:600 12px/1 var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--sky)}
.post h3{font-size:21px;line-height:1.22;letter-spacing:-.02em;margin-top:14px;overflow-wrap:anywhere}
.post p{color:var(--soft);font-size:15px;margin-top:12px;margin-bottom:0}
.post .more{margin-top:auto;padding-top:20px;font:600 12px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--mist)}
.post .more::after{content:" \2192"}
.post.feat h3{font-size:clamp(26px,3.2vw,40px);line-height:1.08;max-width:24ch}
.post.feat p{font-size:17px;max-width:56ch}
.report{display:flex;flex-direction:column;justify-content:space-between;gap:18px;border-radius:6px;padding:32px;border:1px solid var(--line);background:rgba(255,255,255,.03)}
.report h3{font-size:24px;line-height:1.15;letter-spacing:-.02em;margin-top:14px}
.report p{color:var(--soft);font-size:15px;margin:10px 0 0}
.report .btn{align-self:flex-start}
.yr{font-size:clamp(30px,3.6vw,44px);margin:80px 0 0;padding-top:28px;border-top:1px solid var(--line);scroll-margin-top:110px}
.posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:28px}
@media (max-width:960px){.posts{grid-template-columns:repeat(2,minmax(0,1fr))}.featwrap{grid-template-columns:minmax(0,1fr)}}
@media (max-width:620px){.posts{grid-template-columns:minmax(0,1fr)}.yr{margin-top:60px}}
@media (prefers-reduced-motion:reduce){.post{transition:none}}

.art{padding-block:72px 40px}
.art-head{max-width:860px;text-align:left}
.back{font:600 12px/1 var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--sky)}
.back::before{content:"\2190  "}
.art-head h1{font-size:clamp(34px,5vw,60px);font-weight:700;line-height:1.05;margin-top:22px;overflow-wrap:anywhere}
.meta{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:22px;color:var(--dim);font-size:14px}
.art-body{max-width:760px;margin-top:40px;font-size:18px;line-height:1.7;color:rgba(255,255,255,.86)}
.art-body>*:first-child{margin-top:0}
.art-body p{margin:0 0 22px}
.art-body h2{font-size:clamp(26px,3vw,36px);line-height:1.15;margin:52px 0 16px;color:#fff}
.art-body h3{font-size:clamp(21px,2.2vw,26px);line-height:1.2;margin:38px 0 12px;color:#fff}
.art-body h4{font:700 18px var(--head);margin:28px 0 10px;color:#fff}
.art-body ul,.art-body ol{margin:0 0 24px;padding-left:24px}
.art-body li{margin-bottom:10px}
.art-body a{color:var(--mist);text-decoration:underline;text-underline-offset:3px}
.art-body a:hover{color:#fff}
.art-body strong,.art-body b{color:#fff;font-weight:600}
.art-body blockquote{margin:28px 0;padding:6px 0 6px 22px;border-left:2px solid var(--sky);color:#fff;font-size:20px}
.art-body figure{margin:0 0 32px}
.art-body img{display:block;width:100%;height:auto;border-radius:6px}
.art-body hr{border:0;border-top:1px solid var(--line);margin:40px 0}
.art-body table{width:100%;border-collapse:collapse;font-size:15px;margin-bottom:28px;display:block;overflow-x:auto}
.art-body td,.art-body th{border:1px solid var(--line);padding:10px 12px;text-align:left}
.related{padding-block:40px 80px}
.related .posts{margin-top:22px}
@media (max-width:620px){.art{padding-top:44px}.art-body{font-size:17px}}
.art-body figcaption{margin-top:10px;font-size:14px;line-height:1.5;color:var(--dim)}
.bl-hero .jump{justify-content:flex-start}

/* Paper: light reading surface for the blog index and articles. Header, footer and CTA cards stay dark. */
.paper{--ink:#16132E;--soft:#46435C;--dim:#6E6A84;--line:rgba(22,19,46,.13);--sky:#4B4FB8;--mist:#3A2F7A;background:#F7F6F2;color:var(--ink);color-scheme:light}
.paper .hero{background:#F7F6F2}
.paper .hero h1{color:var(--ink)}
.paper .hero h1 span{background:linear-gradient(90deg,#3A2F7A,#4B4FB8);-webkit-background-clip:text;background-clip:text;color:transparent}
.paper .jump a{background:#fff;color:var(--soft)}
.paper .jump a:hover{color:var(--ink);border-color:rgba(22,19,46,.35)}
.paper .post{background:#fff;box-shadow:0 1px 2px rgba(22,19,46,.05)}
.paper .post:hover{border-color:rgba(75,79,184,.5);box-shadow:0 6px 20px rgba(22,19,46,.08)}
.paper .post h3{color:var(--ink)}
.paper .report{background:#fff}
.paper .art-body{color:#2A2742}
.paper .art-body h2,.paper .art-body h3,.paper .art-body h4,.paper .art-body strong,.paper .art-body b,.paper .art-body blockquote{color:var(--ink)}
.paper .art-body a{color:#3A2F7A}
.paper .art-body a:hover{color:#4B4FB8}
.paper .art-body th{background:#EFEEF6}
.paper .art-body figcaption{color:var(--dim)}
.paper .art-head h1{color:var(--ink)}
.paper .cta{--ink:#fff;--soft:rgba(255,255,255,.74);--line:rgba(255,255,255,.14);--sky:#7A8FE2;--mist:#B4C3F0;color:#fff;color-scheme:dark}
.paper .cta + *,.paper > :last-child{margin-bottom:0}
.paper{padding-bottom:1px}

/* Article upgrades: key takeaways, table of contents, author box */
.tk-label{font:600 12px/1 var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--sky);margin-bottom:12px}
.art-body .takeaways{margin:32px 0 20px;padding:24px 26px;border-radius:8px;background:#EFEEF8;border:1px solid rgba(75,79,184,.22)}
.art-body .takeaways ul{margin:0;padding-left:20px}
.art-body .takeaways li{margin-bottom:8px;font-size:17px;line-height:1.55}
.art-body .takeaways li:last-child{margin-bottom:0}
.art-body .toc{margin:0 0 40px;padding:20px 26px;border-radius:8px;border:1px solid var(--line);background:#fff}
.art-body .toc ol{margin:0;padding-left:22px;font-size:16px;line-height:1.5}
.art-body .toc li{margin-bottom:6px}
.art-body .toc a{text-decoration:none;color:var(--ink)}
.art-body .toc a:hover{color:#4B4FB8;text-decoration:underline}
.art-body h2[id]{scroll-margin-top:110px}
.art-body .author-box{display:flex;gap:18px;align-items:flex-start;margin:48px 0 0;padding:24px 26px;border-radius:8px;border:1px solid var(--line);background:#fff}
.art-body .ab-mark{flex:none;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#262060,#4B4FB8);color:#fff;font:700 17px/1 var(--head);letter-spacing:.04em}
.art-body .author-box b{display:block;font:700 19px/1.2 var(--head);color:var(--ink)}
.art-body .ab-role{display:block;font-size:14px;color:var(--dim);margin-top:2px}
.art-body .author-box p{margin:10px 0 8px;font-size:16px;line-height:1.6}
.art-body .author-box a{font-size:15px}
@media (max-width:620px){.art-body .takeaways,.art-body .toc,.art-body .author-box{padding:18px}.art-body .author-box{flex-direction:column}}
