.news-hero {
  min-height: 48vh;
  padding: 150px clamp(24px, 7vw, 112px) 78px;
  display: grid;
  align-items: end;
  color: #f2f7ff;
  background:
    radial-gradient(circle at 76% 44%, rgba(107, 168, 231, .22), transparent 24%),
    linear-gradient(125deg, #061226 0%, #0a2448 72%, #07162f 100%);
}

.news-hero-inner,
.news-article {
  width: min(100%, 980px);
  margin: 0 auto;
}

.news-hero h1 {
  max-width: 900px;
  margin: 14px 0 20px;
  font-size: clamp(40px, 6vw, 78px);
  line-height: .98;
  letter-spacing: -.045em;
}

.news-hero .portal-lead {
  max-width: 720px;
}

.news-meta {
  display: flex;
  gap: 16px;
  margin-top: 28px;
  color: #a8bdd8;
  font-size: 13px;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.news-article {
  padding: 72px 24px 100px;
  color: #14253a;
}

.news-article .lead {
  max-width: 780px;
  margin: 0 0 54px;
  color: #34506c;
  font-size: clamp(21px, 2.5vw, 29px);
  line-height: 1.45;
}

.news-article section {
  margin: 0 0 48px;
}

.news-article h2 {
  margin: 0 0 16px;
  font-size: clamp(28px, 4vw, 44px);
  letter-spacing: -.025em;
}

.news-article p,
.news-article li {
  max-width: 780px;
  color: #40566f;
  font-size: 18px;
  line-height: 1.75;
}

.news-article ul {
  padding-left: 1.2em;
}

.news-article strong {
  color: #173452;
}

.news-sources {
  border-top: 1px solid #d9e4ee;
  padding-top: 36px;
}

.news-sources h2 {
  font-size: clamp(24px, 3vw, 32px);
}

.news-sources p,
.news-sources li {
  font-size: 15px;
}

.news-sources a {
  color: #165eaa;
  text-underline-offset: 4px;
}

.news-system-map {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 18px minmax(0, 1fr) 18px minmax(0, 1fr) 18px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  margin: 30px 0 34px;
}

.news-system-map > div {
  min-height: 142px;
  padding: 20px;
  border: 1px solid #cfe0ef;
  border-radius: 16px;
  background: #f4f9fd;
}

.news-system-map small,
.news-system-map strong,
.news-system-map em { display: block; }
.news-system-map small { color: #49769e; font-size: 10px; font-weight: 800; letter-spacing: .14em; }
.news-system-map strong { margin-top: 12px; color: #102d4e; font-size: 18px; line-height: 1.2; }
.news-system-map em { margin-top: 8px; color: #57708a; font-size: 12px; font-style: normal; }
.news-system-map > span { color: #5b85ad; font-size: 19px; text-align: center; }

.case-architecture {
  margin: 34px 0 38px;
  padding: clamp(20px, 3vw, 34px);
  border: 1px solid #d5e3f0;
  border-radius: 24px;
  background: linear-gradient(145deg, #f7fbff, #eaf3fb);
}

.case-architecture figcaption {
  margin-bottom: 24px;
  color: #315d85;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.case-architecture > p {
  max-width: none;
  margin: 22px 0 0;
  color: #617b94;
  font-size: 13px;
  line-height: 1.55;
}

.case-diagram {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 66px minmax(0, 1.5fr) 66px minmax(0, 1fr);
  grid-template-areas:
    ". . identity . ."
    "source flow-in core flow-out client"
    ". . siem . .";
  align-items: center;
  gap: 26px 0;
}

.case-node {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 122px;
  padding: 18px 20px;
  border: 1px solid #cbdced;
  border-radius: 17px;
  background: #fff;
  box-shadow: 0 8px 25px rgba(24, 67, 106, .06);
}

.case-node small {
  color: #5984aa;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
}

.case-node strong {
  margin-top: 11px;
  color: #153658;
  font-size: clamp(20px, 2.2vw, 28px);
  line-height: 1.13;
}

.case-node span {
  margin-top: 10px;
  color: #617b94;
  font-size: 12px;
  line-height: 1.45;
}

.case-core {
  grid-area: core;
  min-height: 170px;
  border-color: #347eb7;
  background: linear-gradient(135deg, #102e55, #0c1e3d);
  box-shadow: 0 16px 32px rgba(8, 36, 72, .17);
}

.case-core small { color: #8fbfe6; }
.case-core strong { color: #fff; font-size: clamp(28px, 3vw, 40px); }
.case-core span { color: #c2d8ea; }
.case-source { grid-area: source; }
.case-client { grid-area: client; }
.case-identity { grid-area: identity; }
.case-siem { grid-area: siem; }

.case-identity::after,
.case-siem::before {
  position: absolute;
  left: calc(50% - 1px);
  width: 2px;
  height: 27px;
  background: #84a9ca;
  content: "";
}

.case-identity::after { bottom: -27px; }
.case-siem::before { top: -27px; }

.case-flow {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #577b9f;
}

.case-flow span { font-size: 10px; font-weight: 700; }
.case-flow b { font-size: 26px; font-weight: 400; line-height: 1; }
.case-flow-in { grid-area: flow-in; }
.case-flow-out { grid-area: flow-out; }

.news-callout {
  margin-top: 62px;
  padding: clamp(28px, 5vw, 52px);
  border-radius: 22px;
  color: #eaf4ff;
  background: #081a35;
}

.news-callout h2,
.news-callout p {
  color: inherit;
}

.news-callout a {
  display: inline-block;
  margin-top: 8px;
  color: #bfe0ff;
  font-weight: 700;
  text-underline-offset: 5px;
}

.localized-en { display: none; }
html[data-language="en"] .localized-ru { display: none; }
html[data-language="en"] .localized-en { display: block; }

@media (max-width: 720px) {
  .news-hero { min-height: 430px; padding: 128px 20px 56px; }
  .news-meta { flex-direction: column; gap: 5px; }
  .news-article { padding: 50px 20px 72px; }
  .news-article p, .news-article li { font-size: 16px; }
  .news-system-map { grid-template-columns: 1fr; gap: 8px; }
  .news-system-map > div { min-height: auto; padding: 18px; }
  .news-system-map > span { transform: rotate(90deg); line-height: 1; }
  .case-diagram { grid-template-columns: 1fr; grid-template-areas: "identity" "source" "core" "client" "siem"; gap: 10px; }
  .case-node, .case-core { min-height: auto; padding: 19px; }
  .case-node strong, .case-core strong { font-size: 23px; }
  .case-flow, .case-identity::after, .case-siem::before { display: none; }
}
