/* The SORO publication feed, rendered with Techforma's shared typography. */
.bl-index-head h1 span { color: #008e9f; }
.bl-index-head .tf-page-intro { max-width: 660px; }
.bl-language-note { margin: var(--space-4) 0 0; color: #526e78; font-size: 14px; }
.bl-library,.bl-home,.bl-related { padding: var(--space-16) 0 var(--space-20); }
.bl-home { border-top: 1px solid #d9e6e5; }
.bl-service { border-bottom: 1px solid #d9e6e5; }
.bl-section-head { display: flex; align-items: end; justify-content: space-between; gap: var(--space-6); margin-bottom: var(--space-8); }
.bl-section-head h2 { margin: 0; }
.bl-section-head :is(.hm-eyebrow,.tf-eyebrow) { margin-bottom: var(--space-4); }
.bl-section-head > a { flex-shrink: 0; }
.bl-home .bl-language-note,.bl-service .bl-language-note { margin: -12px 0 24px; }
.bl-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--space-12) var(--space-8); }
.bl-card { display: flex; flex-direction: column; min-width: 0; }
.bl-card-image { display: block; overflow: hidden; aspect-ratio: 16/9; border-radius: var(--radius-md); background: #e6f6f0; margin-bottom: var(--space-6); }
.bl-card-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bl-card time,.bl-byline { font-size: 12px; color: #526e78; }
body.tf-site #main-content .bl-card h3 { font-size: var(--tf-type-card); line-height: 1.3; margin: var(--space-3) 0; }
.bl-card h3 a { color: #003b40; text-decoration: none; }
.bl-card h3 a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.bl-card > p { color: #526e78; font-size: 15px; line-height: 1.7; margin: 0 0 var(--space-5); }
.bl-read { display: inline-flex; gap: var(--space-3); align-items: center; align-self: flex-start; color: #003b40; font-size: 14px; padding: var(--space-2) 0; margin-top: auto; border-bottom: 1px solid #e6b400; text-decoration: none; }
.bl-read svg { width: 18px; height: 18px; }
.bl-contact { padding: var(--space-12) 0; background: #e8f8f2; border-block: 1px solid #d9e6e5; }
.bl-contact-inner { display: flex; justify-content: space-between; align-items: center; gap: var(--space-8); }
.bl-contact h2 { margin: 0 0 var(--space-3); }
.bl-contact p { color: #526e78; margin: 0; }
.bl-contact .tf-button { flex-shrink: 0; }
.bl-article-head { padding-top: var(--space-10); }
.bl-breadcrumb { display: flex; gap: var(--space-3); align-items: center; font-size: 13px; color: #526e78; margin-bottom: var(--space-12); }
.bl-breadcrumb a { color: inherit; text-decoration: none; }
.bl-breadcrumb a:hover { text-decoration: underline; }
.bl-article-heading { max-width: 900px; margin: 0 auto var(--space-10); text-align: center; }
body.tf-site #main-content .bl-article h1 { font-size: clamp(34px,4.3vw,58px); line-height: 1.12; margin: 0 0 var(--space-6); white-space: normal; }
.bl-standfirst { max-width: 760px; margin: 0 auto var(--space-6); font-size: 19px; line-height: 1.65; color: #526e78; }
.bl-byline { display: flex; align-items: center; justify-content: center; gap: var(--space-3); }
.bl-cover { display: block; width: 100%; max-height: 520px; aspect-ratio: 2.3; object-fit: cover; border-radius: var(--radius-md); }
.bl-article-layout { display: grid; grid-template-columns: minmax(0,760px) minmax(220px,1fr); gap: var(--space-20); align-items: start; padding-top: var(--space-16); padding-bottom: var(--space-20); }
.bl-prose { min-width: 0; font-size: 17px; line-height: 1.8; color: #365b63; overflow-wrap: break-word; }
.bl-prose p,.bl-prose ul,.bl-prose ol,.bl-prose blockquote,.bl-prose table { margin: 0 0 var(--space-6); }
body.tf-site #main-content .bl-prose h2 { font-size: clamp(26px,2.6vw,34px); margin: var(--space-12) 0 var(--space-5); text-wrap: initial; }
body.tf-site #main-content .bl-prose h3 { font-size: 23px; margin: var(--space-8) 0 var(--space-4); }
body.tf-site #main-content .bl-prose h4 { font-size: 20px; margin: var(--space-8) 0 var(--space-4); }
.bl-prose > :first-child { margin-top: 0; }
.bl-prose strong { font-weight: 600; color: #003b40; }
.bl-prose ul,.bl-prose ol { padding-left: var(--space-6); }
.bl-prose ul { list-style: disc; }
.bl-prose ol { list-style: decimal; }
.bl-prose li { margin: var(--space-2) 0; }
.bl-prose a { color: #007c8b; text-decoration: underline; text-underline-offset: 3px; }
.bl-prose blockquote { border-left: 3px solid #e6b400; padding: var(--space-3) var(--space-6); background: #f2faf7; }
.bl-prose img { display: block; max-width: 100%; height: auto; border-radius: var(--radius-sm); }
.bl-prose table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; font-size: 15px; }
.bl-prose td,.bl-prose th { text-align: left; border: 1px solid #d9e6e5; padding: var(--space-3); min-width: 100px; }
.bl-prose th { color: #003b40; background: #eef9f5; }
.bl-prose pre { max-width: 100%; overflow-x: auto; padding: var(--space-4); background: #eef9f5; }
.bl-article-aside { position: sticky; top: 120px; padding: var(--space-8); background: #f0faf6; border: 1px solid #d9e6e5; border-radius: var(--radius-md); }
body.tf-site #main-content .bl-article-aside h2 { font-size: 24px; line-height: 1.3; text-wrap: initial; margin: 0 0 var(--space-4); }
.bl-article-aside p:not(.tf-eyebrow) { font-size: 15px; line-height: 1.7; color: #526e78; margin: 0 0 var(--space-6); }
.bl-service-links { display: grid; gap: var(--space-4); }
.bl-service-links .tf-text-link { justify-content: space-between; min-height: 44px; gap: var(--space-3); line-height: 1.5; }
.bl-service-links .tf-text-link svg { flex-shrink: 0; }
.bl-empty { max-width: 720px; padding: var(--space-6) 0; }
@media(max-width:1100px) { .bl-article-layout { gap: var(--space-10); grid-template-columns: minmax(0,1fr) 250px; } }
@media(max-width:899px) {
    .bl-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .bl-article-layout { grid-template-columns: 1fr; max-width: 800px; }
    .bl-article-aside { position: static; }
    .bl-contact-inner { align-items: start; flex-direction: column; gap: var(--space-6); }
}
@media(max-width:599px) {
    .bl-grid { grid-template-columns: 1fr; gap: var(--space-8); }
    .bl-library,.bl-home,.bl-related { padding: var(--space-10) 0 var(--space-12); }
    .bl-section-head { align-items: start; flex-direction: column; gap: var(--space-4); }
    .bl-card-image { margin-bottom: var(--space-4); }
    .bl-card > p { font-size: 15px; }
    .bl-breadcrumb { margin-bottom: var(--space-8); }
    .bl-article-heading { text-align: left; margin-bottom: var(--space-8); }
    .bl-byline { justify-content: start; flex-wrap: wrap; }
    .bl-standfirst { font-size: 17px; }
    .bl-cover { aspect-ratio: 16/10; }
    .bl-article-layout { padding-top: var(--space-8); padding-bottom: var(--space-12); }
    .bl-prose { font-size: 16px; line-height: 1.8; }
    .bl-contact .tf-button { width: 100%; }
}
