.ap-blog-home { background: #f3f4f7; }
.ap-site .ap-blog-banner { position: relative; display: block; overflow: hidden; min-height: 330px; color: #fff; background: #192331; margin-bottom: 40px; text-decoration: none; }
.ap-blog-banner > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.ap-blog-banner::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(17,25,35,.92),rgba(17,25,35,.6) 48%,rgba(17,25,35,.12)); }
.ap-blog-banner > div { position: relative; z-index: 1; padding: 44px; max-width: 650px; }
.ap-site .ap-blog-banner h2, .ap-site .ap-blog-banner h3 { color: #fff; font-size: clamp(30px,4vw,50px); line-height: 1.15; margin: 16px 0; }
.ap-site .ap-blog-banner p { color: #e5ebf5; }
.ap-blog-banner .ap-text-link { margin-top: 16px; }
.ap-blog-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px 28px; }
.ap-blog-entry, .ap-blog-post { min-width: 0; }
.ap-blog-post { display: flex; flex-direction: column; align-items: flex-start; height: 100%; }
.ap-blog-image { display: block; overflow: hidden; width: 100%; background: #dce1e7; }
.ap-blog-image img { display: block; width: 100%; height: auto; aspect-ratio: 3/2; object-fit: cover; }
.ap-blog-meta { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 18px 0 12px; color: #586577; font-size: 12px; }
.ap-site .ap-blog-post h2 { font-size: clamp(20px,2vw,25px); line-height: 1.35; margin: 0 0 12px; }
.ap-site .ap-blog-post h2 a { color: #1d2b3d; }
.ap-site .ap-blog-post > p { color: #586577; font-size: 14px; line-height: 1.7; margin: 0 0 16px; }
.ap-site .ap-blog-post > .ap-text-link { margin-top: auto; color: #3f548c; }
.ap-blog-list > .pagination { margin-top: 36px; }
.ap-blog-article { display: grid; grid-template-columns: fit-content(32%) minmax(0,70ch); gap: 36px; align-items: start; }
.ap-blog-article-copy { min-width: 0; }
.ap-blog-article figure { margin: 0; }
.ap-blog-article img { display: block; width: auto; max-width: 100%; height: auto; }
.ap-blog-article figcaption { font-size: 12px; color: #586577; margin-top: 10px; }
.ap-blog-article blockquote { margin: 20px 0; padding: 0 0 0 20px; border-left: 2px solid #9daddc; font-size: 22px; line-height: 1.6; }
.ap-blog-article-copy > .ap-button { margin: 24px 20px 12px 0; }
@media (prefers-reduced-motion: no-preference) and (hover: hover) {
    .ap-blog-image img, .ap-blog-banner > img { transition: transform 300ms ease; }
    .ap-blog-image:hover img, a.ap-blog-banner:hover > img { transform: scale(1.025); }
}
@media (max-width: 900px) { .ap-blog-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 800px) { .ap-blog-article { grid-template-columns: 1fr; gap: 24px; } }
@media (max-width: 600px) {
    .ap-blog-grid, .ap-blog-article { grid-template-columns: 1fr; gap: 32px; }
    .ap-site .ap-blog-banner { min-height: 310px; margin-bottom: 28px; }
    .ap-blog-banner > div { padding: 28px 22px; }
    .ap-blog-banner::after { background: rgba(17,25,35,.72); }
}
