/* Blog inherits the site's type, colors and common 1180px container. */
.blog-heading{padding:110px 0 40px;background:#e8eef3}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;font-size:.8125rem;color:#526372;margin-bottom:26px;line-height:1.6}
.breadcrumbs a{text-decoration:underline;text-underline-offset:3px}
.blog-heading-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr);gap:52px;align-items:center}
.blog-heading h1{font-size:clamp(1.9rem,3vw,2.7rem);line-height:1.2;margin:14px 0 20px;letter-spacing:-.035em}
.inner-page .blog-heading p{font-size:1rem;line-height:1.75;text-align:justify;hyphens:auto;max-width:none}
.blog-photo{display:flex;justify-content:center;min-width:0}
.blog-photo img{width:auto;max-width:100%;height:auto;max-height:320px;border-radius:10px;object-fit:contain}
.inner-page .blog-heading .blog-date{font-size:.8125rem;text-align:left;color:#606e79;margin-top:20px}
.blog-directory{padding:40px 0 52px}
.blog-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 44px}
.blog-card{display:flex;flex-direction:column;align-items:start;min-width:0;padding:28px 0;border-top:1px solid #cbd6df}
.blog-category{font-size:.75rem;color:var(--gold-ink);text-transform:uppercase;letter-spacing:.08em;font-weight:600}
.blog-card h2{font-size:1.4rem;line-height:1.3;margin:10px 0 14px;text-wrap:balance}
.blog-card h2 a:hover{color:#285f82}
.inner-page .blog-card p{font-size:1rem;line-height:1.7;text-align:justify;hyphens:auto;margin-bottom:20px}
.blog-card .text-link{margin-top:auto;min-height:44px}
.blog-reading-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,.34fr);gap:64px;padding-block:40px 44px;align-items:start}
.blog-body{min-width:0}
.blog-body section{scroll-margin-top:100px;margin-bottom:32px}
.blog-body section:last-child{margin-bottom:0}
.blog-body h2{font-size:clamp(1.4rem,2vw,1.7rem);line-height:1.3;margin-bottom:16px;text-wrap:balance}
.inner-page .blog-body p{font-size:1rem;line-height:1.8;text-align:justify;hyphens:auto;max-width:none}
.blog-body p+p{margin-top:16px}
.blog-body ul{padding-left:22px;line-height:1.8;margin:16px 0}
.blog-body li+li{margin-top:10px}
.blog-sidebar{min-width:0;border-left:1px solid #d4dfe7;padding-left:26px}
.blog-sidebar h2{font-size:1.125rem;line-height:1.4;margin-bottom:14px}
.blog-sidebar nav a{display:block;padding:12px 0;border-bottom:1px solid #d4dfe7;font-size:.9375rem;line-height:1.6}
.blog-sidebar nav a:hover{color:var(--gold-ink)}
.blog-contact{margin-top:30px}
.inner-page .blog-contact p{font-size:.9375rem;line-height:1.7;text-align:justify;hyphens:auto}
.blog-contact .contact-phone{font-size:1.3rem;margin-block:14px}
.blog-contact .button{border-radius:8px;min-height:48px;width:100%;gap:12px}
.blog-sources{border-top:1px solid #cbd6df;padding-top:24px}
.blog-sources a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.blog-sources li{font-size:.875rem;line-height:1.6}
.inner-page .blog-sources p{font-size:.8125rem;line-height:1.7;color:#526372}
.blog-article-footer{background:#edf1f4;padding:32px 0}
.blog-related{display:grid;grid-template-columns:1fr 1.4fr;gap:40px}
.blog-related h2{font-size:1.5rem;margin-top:10px}
.blog-related a{display:block;border-bottom:1px solid #cbd6df;padding:13px 0;font-size:1rem;line-height:1.5}
.blog-related a:hover{color:var(--gold-ink)}
.blog-footer-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;margin-top:28px}
.blog-footer-links .text-link{min-height:44px}
@media(max-width:1000px){
 .blog-heading-grid{gap:30px}
 .blog-reading-grid{gap:36px;grid-template-columns:minmax(0,1fr) minmax(200px,.4fr)}
 .blog-sidebar{padding-left:20px}
}
@media(max-width:850px){
 .blog-heading{padding-top:96px}
 .blog-reading-grid{grid-template-columns:1fr;gap:32px}
 .blog-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:32px;border-left:0;border-top:1px solid #cbd6df;padding:24px 0 0}
 .blog-contact{margin-top:0}
}
@media(max-width:620px){
 .blog-heading{padding-bottom:28px}
 .blog-heading-grid{grid-template-columns:1fr;gap:24px}
 .blog-heading h1{text-align:center;font-size:clamp(1.6rem,6.6vw,2rem)}
 .blog-heading .kicker{display:flex;justify-content:center}
 .blog-photo img{max-height:240px}
 .blog-card-grid{grid-template-columns:1fr;gap:0}
 .blog-directory{padding:28px 0 36px}
 .blog-card{padding:24px 0}
 .blog-card h2{font-size:1.25rem}
 .blog-reading-grid{padding-block:30px;gap:24px}
 .blog-body h2{font-size:1.35rem}
 .blog-sidebar,.blog-related{grid-template-columns:1fr;gap:24px}
 .blog-footer-links{flex-direction:column;align-items:start;gap:12px}
}
