.lse-blog { padding: 5rem 6%; background: var(--lsol-gray-50,#F5F7F9); }
.lse-blog__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.75rem; max-width: 1240px; margin-inline: auto; }
.lse-blog--featured .lse-blog__grid { grid-template-columns: 1.5fr 1fr 1fr; }
.lse-blog__card { background:#fff; border-radius:16px; overflow:hidden; display:flex; flex-direction:column; border:1px solid rgba(0,0,0,.05); transition:transform .3s, box-shadow .3s; }
.lse-blog__card:hover { transform:translateY(-4px); box-shadow:0 16px 40px rgba(12,35,64,.1); }
.lse-blog__img-link { aspect-ratio:16/9; overflow:hidden; display:block; }
.lse-blog__card--featured .lse-blog__img-link { aspect-ratio:3/2; }
.lse-blog__img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.lse-blog__card:hover .lse-blog__img { transform:scale(1.05); }
.lse-blog__body { padding:1.5rem; flex:1; display:flex; flex-direction:column; gap:.75rem; }
.lse-blog__meta { display:flex; align-items:center; gap:.75rem; flex-wrap:wrap; }
.lse-blog__cat  { font-size:.7rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; padding:.2rem .65rem; border-radius:999px; background:rgba(20,168,157,.1); color:var(--lsol-teal,#14A89D); }
.lse-blog__date { font-size:.75rem; color:var(--lsol-gray-600,#5A6B7A); }
.lse-blog__title { font-family:var(--luc-font-secondary,'Fraunces',serif); font-size:1.1rem; font-weight:700; color:var(--lsol-navy,#0C2340); line-height:1.3; margin:0; }
.lse-blog__card--featured .lse-blog__title { font-size:1.4rem; }
.lse-blog__title a { text-decoration:none; color:inherit; transition:color .2s; }
.lse-blog__title a:hover { color:var(--lsol-teal,#14A89D); }
.lse-blog__excerpt { font-size:.9rem; color:var(--lsol-gray-600,#5A6B7A); line-height:1.65; margin:0; flex:1; }
.lse-blog__read-more { font-size:.85rem; font-weight:700; color:var(--lsol-teal,#14A89D); text-decoration:none; display:inline-flex; align-items:center; gap:.3rem; transition:gap .2s; margin-top:auto; }
.lse-blog__read-more:hover { gap:.6rem; }
.lse-blog__footer { text-align:center; margin-top:2.5rem; }
.lse-blog-empty { text-align:center; color:var(--lsol-gray-600,#5A6B7A); padding:3rem; }
@media (max-width:1024px) { .lse-blog__grid, .lse-blog--featured .lse-blog__grid { grid-template-columns:1fr 1fr; } }
@media (max-width:600px)  { .lse-blog__grid, .lse-blog--featured .lse-blog__grid { grid-template-columns:1fr; } .lse-blog { padding:4rem 5%; } }
