:root {
  --news-ink: #102038;
  --news-muted: #566a80;
  --news-blue: #176fd1;
  --news-line: #dce6ef;
  --news-soft: #f3f7fb;
}

.news-body { margin: 0; color: var(--news-ink); background: #fff; font-family: Geist, Arial, sans-serif; }
.news-shell, .news-article-shell { width: min(1140px, calc(100% - 40px)); margin: 0 auto; }
.news-hero { padding: 66px 0 62px; background: radial-gradient(circle at 80% 20%, rgba(48, 132, 218, .17), transparent 30%), linear-gradient(145deg, #f8fbff, #edf5fd); }
.news-crumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 27px; color: #73859a; font-size: 14px; }
.news-crumbs a { color: #3377bf; text-decoration: none; }
.news-kicker { margin: 0 0 11px; color: var(--news-blue); font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.news-hero h1 { margin: 0; font-size: clamp(40px, 6vw, 64px); line-height: 1; letter-spacing: -.045em; }
.news-lead { max-width: 760px; margin: 23px 0 0; color: var(--news-muted); font-size: 19px; line-height: 1.65; }
.news-section { padding: 68px 0 82px; }
.news-grid { display: grid; gap: 24px; }
.news-card { display: grid; grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr); overflow: hidden; border: 1px solid var(--news-line); border-radius: 17px; background: #fff; box-shadow: 0 14px 36px rgba(27, 65, 105, .07); }
.news-card-visual { position: relative; display: block; min-height: 270px; overflow: hidden; background: #e9f3ff; }
.news-card-visual--blue { color: #176fd1; background: linear-gradient(145deg, #dbeeff, #eff7ff); }
.news-card-visual--green { color: #13836a; background: linear-gradient(145deg, #dff5ef, #f0faf7); }
.news-card-visual--orange { color: #c86820; background: linear-gradient(145deg, #fff0dc, #fff8ed); }
.news-card-visual svg { position: absolute; right: -25px; bottom: 8px; width: 92%; }
.news-card-mark { position: absolute; top: 24px; left: 26px; z-index: 1; font: 600 13px/1 JetBrains Mono, monospace; }
.news-visual-grid { fill: none; stroke: currentColor; stroke-width: 1; opacity: .16; }
.news-visual-line { fill: none; stroke: currentColor; stroke-width: 5; stroke-linecap: round; }
.news-card-visual circle, .news-article-visual circle { fill: #fff; stroke: currentColor; stroke-width: 4; }
.news-card-copy { display: flex; flex-direction: column; justify-content: center; padding: 35px 39px; }
.news-meta { display: flex; flex-wrap: wrap; gap: 10px 18px; align-items: center; color: #718297; font-size: 13px; }
.news-meta span { color: var(--news-blue); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.news-card h2 { margin: 17px 0 12px; font-size: clamp(24px, 3vw, 34px); line-height: 1.15; letter-spacing: -.025em; }
.news-card h2 a { color: inherit; text-decoration: none; }
.news-card p { margin: 0; color: var(--news-muted); font-size: 16px; line-height: 1.65; }
.news-more { margin-top: 24px; color: #1769bc; font-weight: 700; text-decoration: none; }
.news-cta { padding: 52px 0; color: #fff; background: linear-gradient(135deg, #104f8e, #1775ce); }
.news-cta .news-kicker { color: #b9dcff; }
.news-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.news-cta h2 { max-width: 720px; margin: 0; font-size: clamp(28px, 4vw, 42px); line-height: 1.13; letter-spacing: -.03em; }
.news-cta a { display: inline-flex; min-height: 46px; padding: 0 21px; align-items: center; justify-content: center; border-radius: 10px; color: #14538f; background: #fff; font-weight: 700; text-decoration: none; }

.news-article-shell { padding: 31px 0 76px; }
.news-article { max-width: 860px; margin: 0 auto; }
.news-article header { padding-top: 20px; }
.news-article h1 { margin: 19px 0 0; font-size: clamp(38px, 6vw, 62px); line-height: 1.04; letter-spacing: -.045em; }
.news-article-lead { margin: 23px 0 0; color: var(--news-muted); font-size: 20px; line-height: 1.67; }
.news-article-visual { position: relative; min-height: 360px; overflow: hidden; margin: 38px 0; border-radius: 18px; }
.news-article-visual > div { position: absolute; top: 27px; left: 30px; z-index: 2; display: flex; flex-direction: column; gap: 12px; }
.news-article-visual img { width: 180px; height: auto; }
.news-article-visual strong { color: currentColor; font: 600 12px/1 JetBrains Mono, monospace; letter-spacing: .06em; text-transform: uppercase; }
.news-article-visual svg { position: absolute; right: -40px; bottom: -12px; width: 92%; }
.news-visual-line-secondary { stroke-width: 3; opacity: .48; }
.news-article-body { color: #30445a; font-size: 17px; line-height: 1.78; }
.news-article-body h2 { margin: 42px 0 13px; color: var(--news-ink); font-size: 29px; line-height: 1.2; letter-spacing: -.02em; }
.news-article-body p { margin: 0 0 18px; }
.news-article-body ul { margin: 0 0 22px; padding-left: 23px; }
.news-article-body li { margin: 8px 0; }
.news-article-body a { color: #176fd1; }
.news-stat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 28px 0; }
.news-stat-grid div { padding: 20px; border: 1px solid var(--news-line); border-radius: 12px; background: var(--news-soft); }
.news-stat-grid strong { display: block; color: #145d9f; font-size: 27px; }
.news-stat-grid span { color: #667a90; font-size: 14px; }
.news-article-actions { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 39px; padding-top: 28px; border-top: 1px solid var(--news-line); }
.news-article-actions a { display: inline-flex; min-height: 44px; padding: 0 18px; align-items: center; border-radius: 9px; font-weight: 700; text-decoration: none; }
.news-primary-action { color: #fff; background: var(--news-blue); }
.news-secondary-action { color: #195c9c; border: 1px solid #bfd2e5; }
.news-related { max-width: 860px; margin: 65px auto 0; padding-top: 31px; border-top: 1px solid var(--news-line); }
.news-related h2 { margin: 0 0 18px; font-size: 24px; }
.news-related > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.news-related a { padding: 18px; border: 1px solid var(--news-line); border-radius: 11px; color: var(--news-ink); text-decoration: none; }
.news-related time { display: block; margin-bottom: 8px; color: #708196; font-size: 12px; }

@media (max-width: 760px) {
  .news-shell, .news-article-shell { width: min(100% - 28px, 1140px); }
  .news-hero { padding: 45px 0; }
  .news-card { grid-template-columns: 1fr; }
  .news-card-visual { min-height: 210px; }
  .news-card-copy { padding: 27px 24px; }
  .news-cta-inner { align-items: flex-start; flex-direction: column; }
  .news-article-visual { min-height: 270px; }
  .news-stat-grid, .news-related > div { grid-template-columns: 1fr; }
}
