/* Consulting journal: editorial hierarchy with a comfortable reading measure. */
.journal-page { --journal-ink:#28183e; --journal-muted:#6b6275; --journal-line:#ded7e8; --journal-purple:#65418c; background:#faf9fc; color:var(--journal-ink); }
.journal-page .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.journal-page .eyebrow { font-size:10px; font-weight:650; letter-spacing:.14em; color:var(--journal-purple); }
.journal-hero { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:64px; align-items:center; padding-top:calc(var(--nav-h) + 64px); padding-bottom:54px; }
.journal-hero h1 { font:650 clamp(36px,3.7vw,58px)/1.13 var(--font-sans,Inter,sans-serif); letter-spacing:-.045em; margin:22px 0; }
.journal-hero h1 em { font:400 1.13em/1.1 Georgia,serif; color:var(--journal-purple); letter-spacing:-.045em; }
.journal-hero p { max-width:650px; color:var(--journal-muted); font-size:17px; line-height:1.75; margin:0; }
.journal-hero__link { display:inline-flex; align-items:center; gap:24px; min-height:48px; margin-top:19px; font-size:13px; font-weight:600; color:var(--journal-purple); }
.journal-perspective { border:1px solid #e5ddee; background:#eee8f4; border-radius:5px 48px 5px 5px; padding:28px 25px; }
.journal-perspective .eyebrow { font-size:9px; }
.journal-perspective__stack { display:grid; gap:0; margin:22px 0 19px; }
.journal-perspective__stack span { display:flex; justify-content:space-between; gap:10px; font-size:13px; font-weight:550; padding:12px 0; border-bottom:1px solid #d9cce5; }
.journal-perspective__stack b { color:var(--journal-purple); font-size:16px; font-weight:400; }
.journal-perspective p { font-size:12px; line-height:1.65; }
.journal-library { padding-bottom:72px; scroll-margin-top:20px; }
.journal-library__head { display:flex; align-items:end; justify-content:space-between; gap:24px; border-top:1px solid var(--journal-line); padding-top:30px; margin-bottom:23px; }
.journal-library h2 { font-size:25px; font-weight:600; letter-spacing:-.035em; line-height:1.3; margin:9px 0 0; }
.journal-library__head>p { font-size:12px; color:var(--journal-muted); white-space:nowrap; margin:0 0 4px; }
.journal-tools { margin-bottom:28px; }
.journal-search { max-width:550px; display:flex; align-items:center; gap:12px; min-height:50px; background:white; border:1px solid #d4cbdf; border-radius:6px; padding:0 16px; color:var(--journal-muted); }
.journal-search:focus-within { outline:2px solid var(--journal-purple); outline-offset:3px; }
.journal-search input { appearance:none; min-width:0; width:100%; border:0; outline:0; background:transparent; color:var(--journal-ink); font:inherit; font-size:15px; padding:13px 0; }
.journal-search input::placeholder { color:#777080; opacity:1; }
.journal-filters { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.journal-filters button { min-height:40px; padding:9px 16px; border:1px solid #d9d0e3; border-radius:24px; background:transparent; font:inherit; font-size:12px; color:#665574; cursor:pointer; }
.journal-filters button[aria-pressed=true] { background:var(--journal-ink); border-color:var(--journal-ink); color:white; }
.journal-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.journal-card { min-width:0; border:1px solid var(--journal-line); border-radius:10px; overflow:hidden; background:white; transition:box-shadow .2s,border-color .2s; }
.journal-card>a { height:100%; display:flex; flex-direction:column; color:inherit; text-decoration:none; }
.journal-card:hover { border-color:#b7a4cd; box-shadow:0 12px 28px #2917470b; }
.journal-card:hover h3 { color:var(--journal-purple); }
.journal-card__cover { position:relative; aspect-ratio:1.6; overflow:hidden; background:#e9e1f1; }
.journal-card__cover img { display:block; width:100%; height:100%; object-fit:cover; }
.journal-card__category { position:absolute; top:16px; left:16px; max-width:calc(100% - 32px); background:#ffffffed; color:#4e316a; border:1px solid #fff9; padding:6px 11px; border-radius:20px; font-size:10px; font-weight:600; line-height:1.4; }
.journal-card__body { padding:24px; display:flex; flex:1; flex-direction:column; }
.journal-card__meta { font-size:9px; letter-spacing:.08em; font-weight:650; color:var(--journal-purple); line-height:1.6; }
.journal-card__meta span { font-size:11px; letter-spacing:0; font-weight:400; color:var(--journal-muted); }
.journal-card h3 { font-size:23px; font-weight:600; letter-spacing:-.035em; line-height:1.3; margin:13px 0; transition:color .2s; }
.journal-card p { font-size:14px; line-height:1.7; color:var(--journal-muted); margin:0 0 25px; }
.journal-card__foot { margin-top:auto; padding-top:17px; border-top:1px solid #ece7f2; display:flex; justify-content:space-between; align-items:center; gap:12px; font-size:11px; color:var(--journal-muted); }
.journal-card__foot>span { color:var(--journal-purple); font-weight:600; white-space:nowrap; }
.journal-card__foot b { font-size:17px; font-weight:400; margin-left:8px; }
.journal-empty { border:1px dashed #c9b8db; border-radius:10px; padding:36px; text-align:center; }
.journal-empty h3 { font-size:22px; margin:0 0 12px; }
.journal-empty p { color:var(--journal-muted); font-size:15px; }
.journal-empty button { background:var(--journal-ink); color:white; border:0; border-radius:6px; min-height:44px; padding:12px 18px; font:inherit; font-size:13px; cursor:pointer; }
.journal-news { background:#efeaf4; border-block:1px solid #e6dfee; padding-block:52px; }
.journal-news .news-section { margin:0; }
.journal-page .news-section__head h2 { font:600 clamp(25px,2.5vw,34px)/1.2 Inter,sans-serif; letter-spacing:-.035em; margin-top:12px; }
.journal-news .news-grid { gap:20px; }
.journal-news .news-card { border:1px solid #ded4e8; border-radius:8px; background:#faf8fd; padding:24px; }
.journal-news .news-card>.eyebrow { font-size:9px; }
.journal-news .news-card h3 { font:550 21px/1.35 Inter,sans-serif; letter-spacing:-.025em; margin:15px 0 12px; }
.journal-news .news-card p { font-size:14px; color:var(--journal-muted); }
.journal-news .news-card__read { font-size:12px; font-weight:600; }
.journal-news .blog-meta { font-size:11px; }
.journal-editorial { display:grid; grid-template-columns:1fr 1fr; gap:60px; padding-block:60px 70px; align-items:center; }
.journal-editorial h2 { font-size:34px; font-weight:550; line-height:1.15; letter-spacing:-.035em; margin:16px 0 0; }
.journal-editorial h2 em { font:400 1.1em Georgia,serif; color:var(--journal-purple); }
.journal-editorial p { color:var(--journal-muted); font-size:15px; line-height:1.8; margin:0 0 20px; }
.journal-page .article-shell { padding-top:calc(var(--nav-h) + 32px); }
.journal-page .article-header { max-width:920px; margin:38px auto 32px; }
.journal-page .article-header h1 { font:600 clamp(35px,4.4vw,62px)/1.12 Inter,sans-serif; letter-spacing:-.045em; }
.journal-page .article-header>p { font-size:19px; line-height:1.65; }
.journal-article-cover { height:280px; max-width:920px; margin:0 auto 54px; overflow:hidden; border-radius:10px; }
.journal-article-cover img { width:100%; height:100%; display:block; object-fit:cover; }
.journal-page .article-layout { grid-template-columns:210px minmax(0,720px); gap:55px; justify-content:center; }
.journal-page .article-toc { border-left:2px solid #ded3e8; padding-left:20px; font-size:12px; gap:14px; }
.journal-page .article-toc strong { font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.journal-page .article-body { color:#493c56; font-size:17px; line-height:1.85; }
.journal-page .article-body section { scroll-margin-top:20px; }
.journal-page .article-body h2 { color:var(--journal-ink); font:600 27px/1.25 Inter,sans-serif; letter-spacing:-.03em; }
.journal-page .article-cta { border-radius:8px; }
.journal-page .blog-related { border-top:1px solid var(--journal-line); padding-top:40px; }
.journal-page .blog-related h2 { font:600 28px/1.3 Inter,sans-serif; letter-spacing:-.03em; }
.journal-page .blog-related .journal-grid { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:920px; }
.journal-page [hidden] { display:none!important; }
.journal-page :is(a,button):focus-visible { outline:2px solid #764da4; outline-offset:4px; }
@media(min-width:761px) and (max-width:1050px) {
 .journal-hero { grid-template-columns:minmax(0,1fr) 260px; gap:30px; }
 .journal-hero h1 { font-size:38px; }
 .journal-grid { gap:16px; }
 .journal-card__body { padding:18px; }
 .journal-card h3 { font-size:20px; }
 .journal-card__foot { flex-wrap:wrap; }
 .journal-page .article-layout { grid-template-columns:170px minmax(0,1fr); gap:30px; }
}
@media(max-width:760px) {
 .journal-hero { grid-template-columns:1fr; gap:25px; padding-top:calc(var(--nav-h) + 35px); padding-bottom:34px; }
 .journal-hero h1 { font-size:clamp(30px,7.5vw,48px); line-height:1.17; margin:18px 0; }
 .journal-hero h1 br { display:none; }
 .journal-hero h1 em { display:block; margin-top:3px; }
 .journal-hero p { font-size:15px; line-height:1.7; }
 .journal-hero__link { margin-top:12px; }
 .journal-perspective { display:none; }
 .journal-perspective__stack { margin:12px 0 0; }
 .journal-perspective__stack span { min-height:40px; padding:10px 0; }
 .journal-perspective p { margin-top:14px; font-size:12px; }
 .journal-library { padding-bottom:40px; }
 .journal-library__head { align-items:start; gap:14px; padding-top:25px; }
 .journal-library h2 { font-size:23px; }
 .journal-library__head>p { padding-top:3px; font-size:11px; }
 .journal-search { max-width:none; }
 .journal-search input { font-size:16px; }
 .journal-filters { gap:7px; }
 .journal-filters button { min-height:44px; padding:9px 13px; font-size:12px; }
 .journal-grid { grid-template-columns:1fr; gap:22px; }
 .journal-card__cover { aspect-ratio:1.8; }
 .journal-card__body { padding:22px; }
 .journal-card__meta { font-size:10px; }
 .journal-card h3 { font-size:25px; }
 .journal-card p { font-size:15px; }
 .journal-card__category { top:13px; left:13px; }
 .journal-card__foot { font-size:12px; }
 .journal-news { padding-block:35px; }
 .journal-news .news-card { padding:22px; }
 .journal-news .news-card h3 { font-size:22px; }
 .journal-editorial { grid-template-columns:1fr; gap:22px; padding-block:40px; }
 .journal-editorial h2 { font-size:32px; }
 .journal-page .article-breadcrumb { font-size:11px; }
 .journal-page .article-header { margin:28px 0; }
 .journal-page .article-header h1 { font-size:clamp(32px,8.5vw,48px); line-height:1.13; }
 .journal-page .article-header>p { font-size:17px; }
 .journal-article-cover { height:auto; aspect-ratio:1.8; margin-bottom:30px; border-radius:7px; }
 .journal-page .article-layout { grid-template-columns:1fr; gap:30px; }
 .journal-page .article-toc { position:static; border:1px solid #e0d5eb; border-radius:7px; background:#f1ecf6; padding:20px; gap:5px; }
 .journal-page .article-toc a { font-size:14px; padding:9px 0; min-height:44px; }
 .journal-page .article-body { font-size:17px; line-height:1.85; }
 .journal-page .article-body h2 { font-size:25px; }
 .journal-page .article-sources ul { padding-left:20px; }
 .journal-page .article-sources a { overflow-wrap:anywhere; }
 .journal-page .article-cta { padding:24px; }
 .journal-page .blog-related .journal-grid { grid-template-columns:1fr; }
 .journal-empty { padding:26px 18px; }
}
@media(prefers-reduced-motion:reduce) { .journal-card,.journal-card h3 { transition:none; } }
