/* Homepage "Latest news" row (2026-10-11): client story cards right under the hero. Data: data/news/latest.json. */
.home-news { padding-top: 28px; padding-bottom: 28px; }
.home-news h2 { margin-top: 0; }
.hn-list { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 18px; }
@media (min-width: 700px) { .hn-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1080px) { .hn-list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.hn-card { display: flex; flex-direction: column; height: 100%; border: 1px solid var(--line, #e6e8eb); border-radius: 12px; overflow: hidden; background: #fff; transition: box-shadow .15s ease, transform .15s ease; }
.hn-card:hover, .hn-card:focus-within { box-shadow: 0 8px 24px rgba(17, 20, 24, .12); transform: translateY(-1px); }
.hn-link { display: flex; flex-direction: column; flex: 1; color: inherit; text-decoration: none; }
.hn-img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; background: #f6f7f8; }
.hn-body { display: flex; flex-direction: column; gap: 6px; padding: 14px 16px 6px; }
.hn-label { align-self: flex-start; font-size: .7rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; background: #ec0017; color: #fff; border-radius: 4px; padding: 2px 7px; }
.hn-title { margin: 0; font-weight: 700; font-size: 1.08rem; line-height: 1.3; }
.hn-link:hover .hn-title, .hn-link:focus-visible .hn-title { text-decoration: underline; text-underline-offset: 3px; }
.hn-meta { font-size: .85rem; color: var(--muted, #545b64); }
.hn-disc { margin: 0; padding: 2px 16px 14px; font-size: .75rem; line-height: 1.4; color: var(--muted, #545b64); }
