/* M28 — Eight clear topic hubs, contextual library, accessible long-form tools */
.journal-topics{max-width:1340px;margin:0 auto 5rem;padding:0 clamp(1rem,2vw,1.7rem)}
.journal-topics__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.journal-topic{position:relative;display:flex;flex-direction:column;gap:.42rem;padding:1.28rem 1.24rem 1.15rem;border:1px solid #dce5f1;background:#fff;color:#122545!important;border-radius:15px;min-width:0;min-height:207px;text-decoration:none!important;overflow:hidden;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.journal-topic:nth-child(1),.journal-topic:nth-child(8){background:linear-gradient(132deg,#f3f8ff,#eaf1fd)}
.journal-topic:hover,.journal-topic:focus-visible{transform:translateY(-3px);border-color:#a9c7f7;box-shadow:0 16px 26px -23px #16408b}
.journal-topic[aria-current=true]{border-color:#2267e0;box-shadow:0 0 0 2px rgba(34,103,224,.17)}
.journal-topic__number{font-size:.78rem;letter-spacing:.09em;font-weight:850;color:#2668d1}
.journal-topic__name{font-size:1.05rem;font-weight:850;line-height:1.45;color:#102246}
.journal-topic__desc{font-size:.79rem;line-height:1.75;color:#60718a;max-width:30ch}
.journal-topic__footer{margin-top:auto;border-top:1px solid #e0e9f4;padding-top:.6rem;display:flex;justify-content:space-between;align-items:center;color:#326ac1;font-size:.75rem;font-weight:750}
.journal-topic__footer [aria-hidden]{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#e5efff;font-size:.95rem}
.journal-topic-focus{margin:1.15rem 0 1.35rem;border-radius:14px;padding:1.3rem 1.6rem;background:linear-gradient(110deg,#0e264e,#0d3a76);color:white;display:flex;align-items:center;justify-content:space-between;gap:1.3rem}
.journal-topic-focus[hidden]{display:none!important}
.journal-topic-focus [data-topic-eyebrow]{color:#a6cafa;font-size:.74rem;font-weight:750}
.journal-topic-focus h3{font-size:1.36rem;color:white;margin:.28rem 0 .3rem}
.journal-topic-focus p{margin:0;color:#d7e6ff;font-size:.85rem;line-height:1.8}
.journal-topic-focus a{flex:0 0 auto;color:#0d2752!important;background:white;border-radius:50px;padding:.72rem 1.1rem;white-space:nowrap;font-size:.81rem;font-weight:850}
.journal-topic-focus a:hover{background:#dbeaff}
.blog-reset{margin:.5rem .4rem;cursor:pointer;border:1px solid #adccff;background:#eef5ff;color:#115ac9;font:inherit;font-size:.83rem;font-weight:800;border-radius:8px;padding:.45rem .85rem}
.blog-reset:focus-visible{outline:3px solid #498af3;outline-offset:3px}
.blog-article__meta .journal-meta-category{display:inline-flex;align-items:center;padding:.3rem .7rem;border:1px solid #cddff7;border-radius:6px;background:#e9f0fd;color:#195bb9!important;font-size:.77rem;text-decoration:none}
.blog-article__meta .journal-meta-category:hover{background:#d7e7ff}
.journal-article-tools__buttons{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.journal-article-tools__buttons button{white-space:nowrap}
.blog-article__content>section[id]{scroll-margin-top:115px}
.blog-toc li a[aria-current=location]{color:#085bd0;font-weight:900}
.blog-toc li:has(a[aria-current=location])::marker{color:#236ae2}
@media(max-width:1100px){.journal-topics__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.journal-topic{min-height:174px}}
@media(max-width:740px){
 .journal-topics{margin-bottom:2.8rem;padding-inline:1rem}
 .journal-topics__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
 .journal-topic{padding:1rem .85rem;min-height:200px}
 .journal-topic__name{font-size:.96rem}
 .journal-topic__desc{font-size:.74rem;line-height:1.6}
 .journal-topic__footer{font-size:.7rem}
 .journal-topic-focus{flex-direction:column;align-items:stretch;padding:1.15rem;gap:.8rem}
 .journal-topic-focus a{text-align:center}
 .journal-article-tools{align-items:flex-start;flex-direction:column}
 .journal-article-tools__buttons{width:100%}
 .journal-article-tools__buttons button{flex:1;min-width:0}
}
@media(max-width:360px){.journal-topic__desc{font-size:.72rem}.journal-topic__name{font-size:.86rem}.journal-topic{min-height:212px}}
@media(prefers-reduced-motion:reduce){.journal-topic{transition:none}.journal-topic:hover{transform:none}}
@media print{
 @page{size:A4;margin:16mm}
 body:has(.blog-article){background:#fff!important;color:#111!important;font-size:11pt}
 body:has(.blog-article) :is([data-site-header],[data-site-footer],.skip-link,.journal-progress,.blog-toc,.journal-article-tools,.blog-article__back,.blog-related,.blog-endcta,.blog-article__alltags){display:none!important}
 .blog-article{max-width:100%!important;padding:0!important;margin:0!important}
 .blog-article__hero{padding:0!important;margin:0!important}
 .blog-article__hero h1{color:#111!important;font-size:23pt!important;line-height:1.3!important}
 .blog-article__deck{font-size:11pt!important;color:#444!important}
 .blog-article__meta{margin:0 0 12px!important}
 .blog-article__meta span,.blog-article__meta a{background:#fff!important;border:1px solid #aaa!important;color:#222!important}
 .blog-article__cover{max-width:100%!important;max-height:78mm!important;border-radius:0!important}
 .blog-article__cover img{height:78mm!important;object-fit:cover}
 .blog-article__layout{display:block!important;margin:13mm 0 0!important}
 .blog-article__content{font-size:10.5pt!important;line-height:1.6!important;color:#161616!important}
 .blog-article__content h2{font-size:15pt!important;color:#111!important}
 .blog-article__content h3{font-size:11pt!important;color:#222!important}
 .blog-article__content p{line-height:1.6!important}
 .blog-article__content>section[id]{padding:3mm 0 4mm!important;break-inside:auto}
 .blog-article__content :is(h2,h3){break-after:avoid}
 .blog-article__content ul{break-inside:avoid}
 .blog-article__story,.blog-article__pitfall,.blog-article__takeaways,.blog-article__faq,.blog-sources,.blog-article__conclusion{background:#fff!important;color:#111!important;box-shadow:none!important;border:1px solid #bbb!important;padding:4mm!important;margin:5mm 0!important;border-radius:0!important;break-inside:avoid}
 .blog-article__story :is(h2,p,span),.blog-article__pitfall :is(strong,p),.blog-article__takeaways :is(h2,p,li){color:#111!important}
 .blog-article__faq details{display:block!important}
 .blog-article__faq details p{display:block!important}
 .blog-article__faq details:not([open]) p{display:none}
 a{color:#111!important}
}
@media print{body:has(.blog-article) :is(.site-header,.site-footer){display:none!important}body:has(.blog-article) .site-header__inner{display:none!important}}