.news-page-main { background: #f2f6fa; }

.news-page-hero {
  min-height: 430px;
  padding: 150px 0 80px;
  color: #fff;
  background: radial-gradient(circle at 82% 10%, rgba(31,139,236,.32), transparent 30%), linear-gradient(125deg, #071b33, #0b315a);
}

.news-page-hero h1 { margin: 22px 0 12px; font-size: clamp(48px, 6vw, 82px); line-height: 1; letter-spacing: -.06em; }
.news-page-hero > .container > p:not(.section-label) { max-width: 760px; margin: 0; color: rgba(255,255,255,.68); font-size: 18px; }
.news-stat { margin-top: 42px; display: flex; align-items: baseline; gap: 12px; }
.news-stat strong { color: #61baff; font: 700 38px/1 Arial, sans-serif; }
.news-stat span { color: rgba(255,255,255,.62); font-size: 14px; }

.news-archive { padding: 76px 0 110px; }
.news-toolbar { margin-bottom: 24px; padding: 22px; display: grid; grid-template-columns: minmax(0, 1fr) 220px; gap: 16px; background: #fff; border: 1px solid #dce5ed; }
.news-toolbar label { display: grid; gap: 7px; color: #627184; font-size: 12px; font-weight: 700; letter-spacing: .06em; }
.news-toolbar input,
.news-toolbar select { width: 100%; height: 48px; padding: 0 15px; color: #142235; background: #f7f9fb; border: 1px solid #dce5ed; border-radius: 0; font: inherit; font-size: 14px; outline: none; }
.news-toolbar input:focus,
.news-toolbar select:focus { border-color: #1685e6; box-shadow: 0 0 0 3px rgba(22,133,230,.12); }
.news-result { margin: 0 0 22px; color: #627184; font-size: 14px; }

.news-archive-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.archive-card { overflow: hidden; background: #fff; border: 1px solid #dce5ed; transition: transform .25s ease, box-shadow .25s ease; }
.archive-card:hover { transform: translateY(-5px); box-shadow: 0 22px 54px rgba(4,22,42,.12); }
.archive-cover { position: relative; height: 220px; display: block; overflow: hidden; background: #dfe7ee; }
.archive-cover img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.archive-card:hover .archive-cover img { transform: scale(1.04); }
.archive-cover span { position: absolute; left: 0; bottom: 0; padding: 7px 13px; color: #fff; background: #1685e6; font-size: 12px; font-weight: 700; }
.archive-copy { padding: 25px; }
.archive-copy time { color: #8a97a5; font-family: Arial, sans-serif; font-size: 12px; }
.archive-copy h2 { min-height: 3.2em; margin: 9px 0 12px; font-size: 19px; line-height: 1.6; }
.archive-copy h2 a:hover { color: #1685e6; }
.archive-copy p { min-height: 4.8em; margin: 0 0 18px; color: #627184; font-size: 14px; line-height: 1.8; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.archive-copy > a { color: #1685e6; font-size: 13px; font-weight: 700; }

.news-empty { grid-column: 1 / -1; padding: 70px 20px; text-align: center; background: #fff; border: 1px solid #dce5ed; }
.news-empty h2 { margin: 0 0 8px; font-size: 26px; }
.news-empty p { margin: 0; color: #627184; }

.news-pagination { margin-top: 42px; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px; }
.news-pagination button { min-width: 42px; height: 42px; padding: 0 13px; color: #142235; background: #fff; border: 1px solid #dce5ed; cursor: pointer; font-weight: 700; }
.news-pagination button:hover:not(:disabled),
.news-pagination button.is-current { color: #fff; background: #1685e6; border-color: #1685e6; }
.news-pagination button:disabled { opacity: .42; cursor: default; }
.news-pagination span { padding: 0 4px; color: #8a97a5; }

@media (max-width: 960px) {
  .news-archive-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
  .news-page-hero { min-height: 360px; padding: 118px 0 58px; }
  .news-page-hero h1 { font-size: 52px; }
  .news-page-hero > .container > p:not(.section-label) { font-size: 16px; }
  .news-archive { padding: 48px 0 82px; }
  .news-toolbar { grid-template-columns: 1fr; padding: 16px; }
  .news-archive-grid { grid-template-columns: 1fr; }
  .archive-cover { height: 210px; }
  .archive-copy h2,
  .archive-copy p { min-height: 0; }
  .news-pagination { gap: 6px; }
  .news-pagination button { min-width: 38px; height: 38px; padding: 0 10px; }
}
