.active-nav-link { color: var(--navy); border-bottom-color: var(--orange) !important; }
.news-hero { min-height: 390px; display: flex; align-items: end; padding: 65px clamp(18px,7vw,110px); color: var(--white); background: linear-gradient(90deg,rgba(8,31,49,.95),rgba(8,31,49,.52)),url("assets/scenario-road-construction.webp") center / cover no-repeat; }
.news-hero > div { max-width: 820px; }
.news-hero h1 { margin: 0 0 18px; }
.news-hero p:not(.section-kicker) { max-width: 680px; margin: 0; color: #dbe8ef; font-size: 17px; }
.news-library { display: grid; grid-template-columns: minmax(280px,360px) minmax(0,1fr); gap: 52px; align-items: start; background: #f4f7f9; }
.news-sidebar { position: sticky; top: 96px; overflow: hidden; border-top: 4px solid var(--orange); background: var(--white); box-shadow: 0 16px 38px rgba(12,34,51,.09); }
.news-sidebar-heading { padding: 25px 24px 20px; border-bottom: 1px solid var(--border); }
.news-sidebar-heading h2 { margin: 5px 0 8px; font-size: 25px; }
.news-sidebar-heading p:last-child { margin: 0; color: var(--muted); font-size: 12px; }
.news-list { display: grid; }
.news-list-item { display: grid; gap: 6px; width: 100%; padding: 17px 22px; border: 0; border-bottom: 1px solid var(--border); color: var(--navy); background: var(--white); text-align: left; cursor: pointer; transition: background .2s ease,border-color .2s ease; }
.news-list-item:hover,.news-list-item.active { background: #eef3f6; box-shadow: inset 4px 0 var(--orange); }
.news-list-item[hidden] { display: none; }
.news-list-item span { color: var(--orange); font-size: 9px; font-weight: 900; text-transform: uppercase; }
.news-list-item strong { font-size: 13px; line-height: 1.45; }
.news-list-item small { color: var(--muted); font-size: 10px; }
.news-pagination { display: flex; gap: 5px; padding: 16px; background: #f7f9fa; }
.news-pagination button { min-width: 34px; height: 34px; padding: 0 9px; border: 1px solid var(--border); color: var(--navy); background: var(--white); font-size: 10px; font-weight: 850; cursor: pointer; }
.news-pagination button:hover,.news-pagination button.active { color: var(--white); border-color: var(--navy); background: var(--navy); }
.news-pagination button:disabled { cursor: not-allowed; opacity: .35; }
.news-reading-pane { min-height: 850px; padding: 48px clamp(24px,5vw,72px); border-top: 4px solid var(--navy); background: var(--white); box-shadow: 0 16px 38px rgba(12,34,51,.07); }
.news-article[hidden] { display: none; }
.news-article { max-width: 900px; }
.news-article h2 { margin: 16px 0 20px; font-size: clamp(34px,4vw,54px); line-height: 1.08; }
.news-meta { display: flex; gap: 18px; color: var(--orange); font-size: 11px; font-weight: 900; text-transform: uppercase; }
.news-meta span { color: var(--muted); }
.news-lead { max-width: 780px; color: #4f6676; font-size: 18px; line-height: 1.7; }
.news-feature-placeholder { min-height: 390px; display: grid; place-items: center; margin: 35px 0; border: 1px dashed #b9c8d2; color: #8799a6; background: repeating-linear-gradient(135deg,#edf2f5,#edf2f5 14px,#f7f9fa 14px,#f7f9fa 28px); font-size: 11px; font-weight: 850; text-transform: uppercase; }
.news-article h3 { margin: 32px 0 10px; color: var(--navy); font-size: 22px; }
.news-article p:not(.news-meta):not(.news-lead) { color: var(--muted); line-height: 1.8; }
.news-contact-band { display: grid; grid-template-columns: 1fr auto; gap: 35px; align-items: center; padding: 58px clamp(18px,6vw,90px); color: var(--white); background: var(--navy); }
.news-contact-band h2 { color: var(--white); }
.news-contact-band p:not(.section-kicker) { margin: 0; color: #d4e1e9; }

@media (max-width:1100px) {
  .news-library { grid-template-columns: 310px minmax(0,1fr); gap: 25px; }
  .news-reading-pane { padding: 38px 30px; }
}

@media (max-width:900px) {
  .news-library { grid-template-columns: 1fr; }
  .news-sidebar { position: static; }
  .news-list { grid-template-columns: repeat(2,1fr); }
  .news-list-item { border-right: 1px solid var(--border); }
  .news-pagination { justify-content: center; }
}

@media (max-width:720px) {
  .news-hero { min-height: 380px; padding: 50px 18px; }
  .news-hero h1 { font-size: 39px; }
  .news-library { padding-left: 14px; padding-right: 14px; }
  .news-list { grid-template-columns: 1fr; }
  .news-reading-pane { min-height: 600px; padding: 28px 20px; }
  .news-article h2 { font-size: 34px; }
  .news-feature-placeholder { min-height: 240px; }
  .news-contact-band { display: block; }
  .news-contact-band .btn { width: 100%; margin-top: 22px; }
}
