.blog-main{padding-block:70px 90px}.blog-main h1{font-size:clamp(38px,5vw,64px);letter-spacing:-.04em;margin:12px 0 20px}.blog-intro{max-width:680px;font-size:20px;line-height:1.6}.blog-filters{display:grid;grid-template-columns:2fr 1fr 1fr auto;align-items:end;gap:16px;margin:36px 0 24px}.blog-filters label{display:grid;gap:10px;font-size:13px}.blog-filters input,.blog-filters select,.blog-filters button{font:inherit;color:#253d4e;border:1px solid #b6b4ab;background:#f0eee8;border-radius:20px;padding:14px;min-width:0}.blog-filters button{cursor:pointer}.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.blog-card{min-width:0;border-bottom:1px solid #cbc8bf;padding-bottom:26px}.blog-card-title{text-decoration:none;display:block}.blog-card img{width:100%;height:190px;object-fit:cover;border-radius:20px;background:#e4e0d7}.blog-card h3{font-size:22px;line-height:1.25;margin:18px 0 12px;color:#253d4e}.blog-description{font-size:15px;line-height:1.65;color:#53616a}.blog-categories,.blog-tags{display:flex;gap:8px;flex-wrap:wrap}.blog-categories a{font-size:12px;color:#886a40}.blog-tags a{font-size:12px;padding:5px 9px;background:#e6e2d9;border-radius:20px;color:#253d4e;text-decoration:none}.blog-tags a:hover,.blog-card-title:hover h3{text-decoration:underline}#blog-more{margin-top:32px;cursor:pointer}.blog-program-feed{padding-block:55px;border-top:1px solid #ccc7bd;margin-top:50px;margin-bottom:50px;max-width:1180px;width:calc(100% - 60px);margin-inline:auto}.blog-program-feed h2{font-size:32px;color:#253d4e;margin-bottom:28px}.blog-program-feed>.button{margin-top:28px}.blog-grid [hidden],#blog-more[hidden]{display:none}@media(max-width:800px){.blog-filters{grid-template-columns:1fr 1fr}.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.blog-grid,.blog-filters{grid-template-columns:1fr}.blog-main{padding-top:35px}.blog-card img{height:200px}}

/* Shared blog cards: consistent typography; sculpted surfaces on the master index. */
.blog-card :is(h2,h3){font-size:22px;line-height:1.3;letter-spacing:-.025em;margin:18px 0 12px;color:#253d4e;overflow-wrap:anywhere}
.blog-description{font-size:16px;line-height:1.65;color:#4a545c}
.blog-categories a{font-size:13px;line-height:1.5;color:#73552e}
.blog-tags a{font-size:13px;line-height:1.5;padding:7px 10px}
.blog-card a:focus-visible{outline:3px solid #73552e;outline-offset:4px}
.blog-main .blog-grid{gap:28px;align-items:stretch}
.blog-main .blog-card{padding:16px 20px 22px;background:#e9e4d8;border:0;border-radius:20px;box-shadow:9px 11px 19px #a9a39555,-7px -7px 16px #ffffffd9,inset 1px 1px 1px #ffffffb0;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.blog-main .blog-card:hover{transform:translateY(-2px);box-shadow:11px 14px 22px #a9a39565,-8px -8px 18px #ffffffe6,inset 1px 1px 1px #ffffffb0}
.blog-main .blog-card img{display:block;height:auto;aspect-ratio:16/9;border-radius:20px;object-fit:cover}
.blog-main .blog-tags{margin-top:auto;padding-top:10px}
.blog-main .blog-intro{max-width:65ch;font-size:18px}
.blog-main .blog-filters label{font-size:14px}
.blog-main .blog-filters input,.blog-main .blog-filters select{font-size:16px;min-height:48px;border:0;border-radius:20px;background:#e6e2d8;box-shadow:inset 5px 5px 9px #aaa49677,inset -5px -5px 9px #fffdf5;padding-inline:20px}
.blog-main .blog-filters button{min-height:48px;border:0;border-radius:20px;background:#e9e4d8;box-shadow:4px 5px 9px #ada69855,-4px -4px 8px #ffffffc9}
.blog-main .blog-filters button:active{box-shadow:inset 3px 3px 6px #aaa49677,inset -3px -3px 6px #fffdf5}
.blog-main .blog-filters :is(input,select,button):focus-visible{outline:3px solid #73552e;outline-offset:4px}
.blog-archive-link{font-size:15px;color:#4a545c;max-width:65ch}
.blog-archive-link a{text-underline-offset:3px}
#blog-count{font-size:14px;color:#566168;margin-block:24px}
@media(max-width:520px){.blog-main{padding-block:35px 50px}.blog-main h1{font-size:38px;line-height:1.12}.blog-main .blog-card{padding:14px 17px 20px}.blog-main .blog-grid{gap:24px}.blog-main .blog-filters{gap:14px}.blog-card :is(h2,h3){font-size:24px}}

.blog-main .blog-card img.blog-report-cover{object-fit:contain;background:#f8f7f3;padding:8px}
@media(prefers-reduced-motion:reduce){.blog-main .blog-card{transition:none}.blog-main .blog-card:hover{transform:none}}
