/* E-98: real editorial cards; the titles keep sentence case. */
.sh-frontend .sh-home-blog-header { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 1.5rem; }
.sh-frontend .sh-home-blog-header > *, .sh-frontend .sh-home-blog-header h2 { margin-bottom: 0; }
.sh-frontend .sh-home-blog-header p { color: var(--sh-text-muted); }
.sh-frontend .sh-home-blog-all { display: inline-flex; align-items: center; min-height: 44px; color: var(--sh-gold); font-weight: 800; text-decoration: none; }
.sh-frontend .sh-home-blog-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,18rem),1fr)); gap: 2.5rem 1.5rem; margin-top: 2.5rem; }
.sh-frontend .sh-home-blog-card { position: relative; min-width: 0; display: flex; flex-direction: column; gap: .875rem; }
.sh-frontend .sh-home-blog-image { display: block; aspect-ratio: 4/3; border-radius: var(--sh-radius); overflow: hidden; background: var(--sh-surface); }
.sh-frontend .sh-home-blog-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sh-frontend .sh-home-blog-copy { display: flex; flex: 1; flex-direction: column; gap: .875rem; }
.sh-frontend .sh-home-blog-copy h3 { margin: 0; font: 800 1.25rem/1.2 var(--font-display); text-transform: none; text-wrap: balance; overflow-wrap: anywhere; }
.sh-frontend .sh-home-blog-link { color: var(--sh-text); text-decoration: none; }
.sh-frontend .sh-home-blog-link::after { content: ''; position: absolute; inset: 0; }
.sh-frontend .sh-home-blog-link:hover { text-decoration: underline; text-decoration-color: var(--sh-gold); }
.sh-frontend .sh-home-blog-category { color: var(--sh-gold); font: 800 .75rem/1.6 var(--font-display); letter-spacing: .08em; margin: 0; }
.sh-frontend .sh-home-blog-excerpt { color: var(--sh-text-muted); font-size: .875rem; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; margin: 0; }
.sh-frontend .sh-home-blog-copy .sh-home-blog-meta { color: var(--sh-text-muted); font-size: .875rem; margin: auto 0 0; font-variant-numeric: tabular-nums; }

.sh-frontend .sh-home-blog-image { position: relative; }
.sh-frontend .sh-home-blog-image .sh-home-blog-category {
  position: absolute; bottom: .75rem; left: .75rem; max-width: calc(100% - 1.5rem);
  padding: .5rem .75rem; background: var(--sh-gold); color: var(--sh-onyx);
  border-radius: var(--sh-radius-badge); overflow-wrap: anywhere; text-transform: uppercase;
}
