.blog-shell { padding-bottom: 80px; }
.blog-breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 24px 0; font-size: 12px; color: #526d7d; }
.blog-breadcrumb a { text-decoration: underline; text-underline-offset: 3px; }
.blog-intro { position: relative; overflow: hidden; border: 1px solid #d5e1e8; border-radius: 18px; background: linear-gradient(125deg,#f0f6f9,#fff 72%); padding: clamp(25px,5vw,64px); margin: 8px 0 42px; box-shadow: 0 12px 36px #0b30480d; }
.blog-intro::before { content: ''; position: absolute; left: 0; top: 38px; bottom: 38px; width: 4px; background: #d91e2b; border-radius: 0 4px 4px 0; }
.blog-intro h1 { max-width: 850px; font-size: clamp(30px,4vw,52px); line-height: 1.13; margin: 8px 0 18px; letter-spacing: -.035em; }
.blog-intro .blog-lead { max-width: 780px; margin: 0; color: #425d6e; font-size: 17px; line-height: 1.75; }
.blog-meta { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 24px; color: #526d7d; font-size: 12px; }
.blog-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 23px; }
.blog-card { display: flex; flex-direction: column; min-width: 0; padding: 28px; border: 1px solid #d6e2e9; border-radius: 14px; background: linear-gradient(145deg,#fff,#f8fbfd); box-shadow: 0 8px 22px #0b30480a,0 2px 4px #0b304805; }
.blog-card .eyebrow { color: #687f8d; font-size: 10px; margin-bottom: 17px; }
.blog-card h2,.blog-card h3 { font-size: 22px; line-height: 1.3; letter-spacing: -.025em; margin: 0 0 14px; }
.blog-card h2 a:hover,.blog-card h3 a:hover { color: #b21724; }
.blog-card p { font-size: 14px; line-height: 1.7; color: #526d7d; margin: 0 0 20px; }
.blog-card .text-link { margin-top: auto; padding-top: 15px; }
.blog-layout { display: grid; grid-template-columns: minmax(0,760px) minmax(220px,1fr); gap: 72px; align-items: start; }
.blog-article { min-width: 0; }
.blog-article section { margin: 0 0 38px; scroll-margin-top: 120px; }
.blog-article h2 { font-size: 28px; line-height: 1.25; letter-spacing: -.025em; margin: 0 0 20px; }
.blog-article h3 { font-size: 21px; line-height: 1.35; margin: 24px 0 12px; }
.blog-article p,.blog-article li { font-size: 16px; line-height: 1.85; color: #344f61; }
.blog-article p { margin: 0 0 18px; }
.blog-article ul { padding-left: 23px; margin: 16px 0 24px; }
.blog-article li { margin-bottom: 12px; padding-left: 4px; }
.blog-article li::marker { color: #c51b29; }
.blog-sidebar { position: sticky; top: 120px; display: grid; gap: 22px; }
.blog-toc { border: 1px solid #d6e2e9; background: #f5f9fb; border-radius: 14px; padding: 26px; }
.blog-toc strong { font-size: 14px; }
.blog-toc ol { padding-left: 18px; margin: 18px 0 0; }
.blog-toc li { font-size: 12px; line-height: 1.6; color: #526d7d; padding-left: 3px; margin-top: 12px; }
.blog-toc a:hover { text-decoration: underline; }
.blog-cta { padding: 27px; border-radius: 14px; background: #0b3048; color: #fff; }
.blog-cta h2 { font-size: 22px; line-height: 1.25; color: #fff; margin: 0 0 14px; }
.blog-cta p { font-size: 13px; line-height: 1.75; color: #d8e5ec; margin-bottom: 20px; }
.blog-cta .button { width: 100%; font-size: 12px; }
.blog-sources { padding-top: 25px; border-top: 1px solid #d5e1e8; }
.blog-sources h2 { font-size: 20px; }
.blog-sources li { font-size: 13px; line-height: 1.65; overflow-wrap: anywhere; }
.blog-sources a { text-decoration: underline; text-underline-offset: 3px; }
.blog-related { margin-top: 60px; padding-top: 40px; border-top: 1px solid #d5e1e8; }
.blog-related>h2,.blog-archive>h2 { font-size: 28px; margin-bottom: 25px; }
.blog-archive { margin-top: 55px; }
.blog-archive ul { display: grid; gap: 0; list-style: none; padding: 0; border-top: 1px solid #d5e1e8; }
.blog-archive li { padding: 17px 0; border-bottom: 1px solid #d5e1e8; font-size: 14px; }
.blog-archive a:hover { text-decoration: underline; }
.blog-page .main-nav a[aria-current='page'] { color: #b21724; }
@media(max-width:1100px) { .blog-layout { gap: 35px; } .blog-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:800px) { .blog-layout { grid-template-columns: minmax(0,1fr); } .blog-sidebar { position: static; grid-row: 1; } .blog-toc { display: none; } .blog-sidebar .blog-cta { padding: 23px; } .blog-cta .button { width: auto; } }
@media(max-width:550px) { .blog-grid { grid-template-columns: minmax(0,1fr); gap: 18px; } .blog-card { padding: 25px; } .blog-intro { border-radius: 12px; margin-bottom: 30px; } .blog-article h2 { font-size: 25px; } .blog-article p,.blog-article li { font-size: 15px; line-height: 1.8; } .blog-intro .blog-lead { font-size: 15px; } .blog-meta { font-size: 11px; } }
@media print { .blog-sidebar,.blog-related,.blog-breadcrumb { display:none; } .blog-layout { display:block; } .blog-intro { border:0; box-shadow:none; background:#fff; padding:0; } }

.blog-return { margin-top: 24px; }
.blog-cta .text-link { display: inline-block; margin-top: 18px; color: #fff; }
