.news-page { color: var(--text); background: var(--bg); }
.news-shell { width: min(1120px, calc(100% - 48px)); margin-inline: auto; }
.news-label { margin: 0 0 30px; color: var(--brand-text); font-size: var(--fs-label); font-weight: 800; letter-spacing: .16em; }
.news-hero { padding: clamp(160px, 16vw, 240px) 0 clamp(100px, 10vw, 150px); background: linear-gradient(120deg, var(--bg) 55%, var(--brand-soft)); }
.news-hero h1 { margin: 0; font-size: clamp(3rem, 5.6vw, 5.8rem); line-height: 1.12; letter-spacing: -.04em; word-break: keep-all; }
.news-hero h1 span { color: var(--brand-text); }
.news-hero p:last-child { max-width: 640px; margin: 30px 0 0; color: var(--text-muted); font-size: var(--fs-lead); line-height: 1.7; }
.news-list { padding: clamp(70px, 9vw, 130px) 0; }
.news-item { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: clamp(26px, 5vw, 80px); padding: clamp(40px, 5vw, 70px) 0; border-top: 1px solid var(--border); }
.news-item:last-child { border-bottom: 1px solid var(--border); }
.news-item__meta { display: grid; align-content: start; gap: 12px; color: var(--text-muted); font-size: .85rem; }
.news-item__meta span { color: var(--brand-text); font-weight: 800; letter-spacing: .1em; }
.news-item__content h2 { max-width: 690px; margin: 0 0 18px; font-size: clamp(1.8rem, 3vw, 3rem); line-height: 1.3; word-break: keep-all; }
.news-item__content p { max-width: 690px; margin: 0; color: var(--text-muted); font-size: var(--fs-lead); line-height: 1.7; }
.news-item__content a { display: inline-flex; gap: 14px; align-items: center; min-height: 44px; margin-top: 30px; color: var(--brand-text); font-weight: 700; text-decoration: none; }
.news-item__content a:hover { text-decoration: underline; text-underline-offset: 5px; }
.news-contact { padding: clamp(100px, 11vw, 160px) 0; background: var(--bg-dark); color: var(--text-on-dark); }
.news-contact__layout { display: flex; gap: 40px; align-items: end; justify-content: space-between; }
.news-contact .news-label { color: var(--brand-pale); }
.news-contact h2 { margin: 0; font-size: var(--fs-h2); line-height: 1.2; }
.news-contact a { display: inline-flex; gap: 14px; align-items: center; min-height: 50px; padding: 12px 22px; border-radius: 999px; background: var(--brand); color: #fff; font-weight: 700; white-space: nowrap; text-decoration: none; }
.news-contact a:hover { background: var(--brand-hover); }
@media (max-width: 760px) {
  .news-shell { width: min(100% - 32px, 1120px); }
  .news-hero { padding-block: 126px 90px; }
  .news-item { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .news-contact__layout { align-items: start; flex-direction: column; }
}
