/* The catalogue shares one reading rhythm across every page and topic. */
body.editorial-public:has(.blog-index){--paper:#f6f3ec;--ink:#24332f;--muted:#636c66;--gold:#8c6144;background:#f6f3ec;background-image:none}
body.editorial-public:has(.blog-index) .site-header{background:#f6f3ec}
body.editorial-public:has(.blog-index) main{max-width:1400px;padding:56px 6% 80px}
.blog-index{--blog-line:#dcded4;color:var(--ink)}
.blog-index h1,.blog-index h2,.blog-index h3{font-family:'Manrope',sans-serif;font-weight:500;letter-spacing:-.04em}
.blog-heading{display:grid;grid-template-columns:1.35fr 1fr;align-items:end;gap:18px 65px;margin-bottom:42px}
.blog-eyebrow{grid-column:1/-1;font-size:11px;letter-spacing:.12em;color:var(--gold);font-weight:500;margin:0}
.blog-heading h1{font-size:clamp(32px,3.4vw,47px);line-height:1.2;margin:0}
.blog-heading h1 span{color:var(--gold)}
.blog-intro-copy{max-width:420px;font-size:15px;line-height:1.75;color:var(--muted);margin:0 0 3px}
.blog-explore{border-block:1px solid var(--blog-line);padding:24px 0;margin-bottom:34px}
.blog-explore-top{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:20px}
.blog-explore h2{font-size:20px;line-height:1.4;margin:0}
.blog-search{display:flex;align-items:center;border:1px solid #cbd0c7;background:#fcfaf6;min-width:350px;border-radius:4px}
.blog-search:focus-within{outline:2px solid #234e58;outline-offset:2px}
.blog-search input{appearance:none;border:0;background:transparent;border-radius:4px;color:var(--ink);font:14px/1.5 'DM Sans',sans-serif;padding:12px 14px;min-width:0;width:100%;outline:0}
.blog-search input::placeholder{color:#6c736c;opacity:1}
.blog-search button{display:grid;place-items:center;flex-shrink:0;width:46px;height:46px;border:0;background:transparent;color:#234e58;cursor:pointer;border-radius:3px}
.blog-search button:hover{background:#e9ece4}
.blog-filters{display:flex;gap:8px;flex-wrap:wrap}
.blog-filter{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:8px 13px;border:1px solid #d4d8ce;border-radius:4px;font-size:12px;line-height:1.3;color:#48574e;text-decoration:none}
.blog-filter span{font-size:11px;opacity:.75}
.blog-filter:hover{border-color:#234e58;background:#eceee7}
.blog-filter.is-active{background:#234e58;color:#fff;border-color:#234e58}
.blog-index a:focus-visible,.blog-search button:focus-visible{outline:2px solid #234e58;outline-offset:4px}
.blog-results-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}
.blog-results-heading h2{font-size:22px;line-height:1.4;margin:0 0 6px}
.blog-results-heading p,.blog-sort{font-size:12px;line-height:1.5;color:var(--muted);margin:0}
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 26px}
.blog-entry{display:flex;flex-direction:column;min-width:0;border-bottom:1px solid var(--blog-line);padding-bottom:22px}
.blog-card-visual{display:block;aspect-ratio:4/3;overflow:hidden;border:1px solid #e4e3d9;background:#f3f0e8;border-radius:3px}
.blog-illustration{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:normal;mask-image:none}
.blog-card-copy{display:flex;flex-direction:column;flex:1;padding-top:19px}
.blog-entry-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:11px;font-size:11px;line-height:1.5;color:#765137}
.blog-topic{font-weight:500;letter-spacing:.02em}
.blog-language{font-size:10px;border:1px solid #ccd2c9;padding:1px 4px;border-radius:2px;color:var(--muted)}
.blog-entry h2{font-size:22px;line-height:1.38;margin:0 0 12px;overflow-wrap:break-word}
.blog-entry h2 a{display:block;text-decoration:none}
.blog-entry h2 a:hover{color:var(--gold);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.blog-entry:focus-within .blog-card-visual,.blog-entry:hover .blog-card-visual{border-color:#aebdb1}
.blog-card-copy>p{font-size:14px;line-height:1.7;color:var(--muted);margin:0 0 20px}
.blog-card-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;font-size:11px;line-height:1.5;color:var(--muted)}
.blog-card-footer svg{width:18px;height:18px;color:var(--gold)}
.blog-text-link{display:inline-flex;align-items:center;gap:14px;min-height:44px;font-size:13px;line-height:1.5;color:var(--gold)}
.blog-text-link:hover{text-decoration:underline;text-underline-offset:5px}
.blog-text-link svg{flex-shrink:0}
.blog-index .blog-pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;margin:36px 0 0;padding:0;border:0}
.blog-pagination>div:last-child{text-align:right}
.blog-page-links{display:flex;align-items:center;gap:5px}
.blog-page-link{display:grid;place-items:center;min-width:44px;height:44px;border:1px solid var(--blog-line);border-radius:3px;font-size:13px}
.blog-page-link.is-current{background:#234e58;border-color:#234e58;color:#fff}
.blog-page-link:hover{border-color:#234e58}
.blog-page-gap{padding:0 4px;color:var(--muted)}
.blog-page-direction{display:inline-flex;align-items:center;min-height:44px;font-size:13px}
.blog-studies{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid var(--blog-line);padding-top:28px;margin-top:60px}
.blog-studies p{font-size:21px;letter-spacing:-.025em;margin:0}
.blog-index .blog-rss{font-size:12px;color:var(--muted)}
.blog-empty{padding:45px 0 60px;max-width:640px}
.blog-empty h3{font-size:25px;line-height:1.4;margin:0 0 15px}
.blog-empty p{font-size:15px;line-height:1.7;color:var(--muted)}
.blog-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:960px){
 .blog-heading{grid-template-columns:1fr;gap:18px}.blog-intro-copy{max-width:620px}.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-heading h1{font-size:38px}.blog-explore-top{align-items:flex-start;flex-direction:column;gap:16px}.blog-search{width:100%;min-width:0}.blog-grid{gap:32px 24px}.blog-sort{display:none}
}
@media(max-width:620px){
 body.editorial-public:has(.blog-index) main{padding:30px 5% 55px}.blog-heading{margin-bottom:28px;gap:16px}.blog-heading h1{font-size:clamp(28px,7.2vw,36px)}.blog-eyebrow{font-size:10px}.blog-intro-copy{font-size:14px;line-height:1.7}.blog-explore{padding:20px 0;margin-bottom:26px}.blog-explore h2{font-size:18px}.blog-filters{gap:7px}.blog-filter{font-size:11px;padding:8px 10px;gap:7px;min-height:42px}.blog-grid{grid-template-columns:1fr;gap:30px}.blog-card-visual{aspect-ratio:4/3}.blog-card-copy{padding-top:16px}.blog-entry h2{font-size:23px}.blog-entry-meta{font-size:11px}.blog-entry{padding-bottom:22px}.blog-card-copy>p{font-size:14px;margin-bottom:16px}.blog-results-heading{align-items:flex-start;gap:10px}.blog-results-heading h2{font-size:20px}.blog-results-heading .blog-text-link{font-size:11px;white-space:nowrap}.blog-index .blog-pagination{grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}.blog-page-links{grid-column:1/-1;grid-row:1;justify-content:center}.blog-page-link{min-width:40px}.blog-page-direction{font-size:12px}.blog-studies{margin-top:40px;padding-top:24px}.blog-studies p{font-size:19px}.blog-text-link{font-size:12px}
}
@media print{.blog-explore,.blog-pagination,.blog-studies{display:none}.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-entry{break-inside:avoid}}
/* Compact article rows on phones let readers compare several titles at a glance. */
@media(max-width:620px){
 .blog-grid{gap:23px}
 .blog-entry{display:grid;grid-template-columns:104px minmax(0,1fr);gap:16px;align-items:start;padding-bottom:23px}
 .blog-card-copy{padding-top:0;min-width:0}
 .blog-entry-meta{font-size:10px;margin-bottom:8px}
 .blog-entry h2{font-size:19px;line-height:1.38;margin-bottom:12px}
 .blog-card-copy>p{display:none}
 .blog-card-footer{font-size:10px;gap:6px}
 .blog-card-footer svg{width:15px;height:15px}
 .blog-heading{margin-bottom:22px}
 .blog-intro-copy{font-size:13px;line-height:1.65}
}
.blog-results-heading>div{min-width:0}
.blog-results-heading h2{overflow-wrap:anywhere}
@media(max-width:620px){.blog-page-links{gap:3px}.blog-page-link{min-width:36px}}

.blog-entry--text-only .blog-card-copy{padding-top:0}
@media(max-width:620px){.blog-entry--text-only{grid-template-columns:1fr}}
