/* Latest News — page-specific layout */

.news-h1 { font-size: 60px; line-height: 1.05; }
.news-lead { max-width: 680px; margin: 20px auto 0; line-height: 1.7; }

.news-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 36px; }
.news-card { display: flex; flex-direction: column; text-decoration: none; background: var(--tt-page); border: 1px solid var(--tt-hairline); border-radius: 8px; overflow: hidden; box-shadow: 0 6px 20px rgba(92, 59, 40, .06); }
.news-card:hover { box-shadow: 0 16px 40px rgba(92, 59, 40, .14); }
.news-media { aspect-ratio: 16 / 10; overflow: hidden; }
.news-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .45s ease; }
.news-card:hover .news-media img { transform: scale(1.08); }
.news-body { padding: 26px 26px 30px; display: flex; flex-direction: column; flex: 1; }
.news-date { font-size: 11.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--tt-clay); font-weight: 800; margin-bottom: 12px; }
.news-title { font-family: var(--tt-serif); font-weight: 600; font-size: 25px; line-height: 1.18; color: var(--tt-espresso); margin-bottom: 12px; }
.news-excerpt { font-size: 14.5px; line-height: 1.7; color: var(--tt-body); margin-bottom: 20px; flex: 1; }
.news-more { font-size: 13px; font-weight: 700; letter-spacing: .04em; color: var(--tt-clay); }
.news-more i { font-size: 11px; margin-left: 4px; }

@media (max-width: 980px) {
  .news-h1 { font-size: 50px !important; }
  .news-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 620px) {
  .news-h1 { font-size: 40px !important; }
  .news-grid { grid-template-columns: 1fr; }
}
