.news-entry + .news-entry { margin-top: 30px; padding-top: 28px; border-top: 1px solid var(--line); }
.news-entry .soon { display: block; }
.news-date { display: block; margin: -4px 0 16px; color: var(--muted); font-size: 14px; }
.news-more { margin-top: 18px; }
.news-accent.has-image {
  height: 330px;
  background: #f3f1ff;
  overflow: hidden;
}
.news-accent.has-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 42%;
}
.article-intro .back-link { margin-bottom: 18px; }
.article-kicker {
  margin: 0 0 12px;
  color: var(--ultramarine);
  font-size: 15px !important;
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: uppercase;
}
.article-intro h1 { max-width: 930px; }
.article-intro .article-lead { max-width: 930px; }
.article-meta { display: block; margin-top: 18px; color: var(--muted); font-size: 15px; }
.article-page { padding: 54px 0 82px; }
.article-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
  gap: 54px;
  align-items: start;
}
.article-copy { max-width: 760px; }
.article-copy p {
  font-size: 17px;
  line-height: 1.82;
  margin-bottom: 20px;
}
.article-copy p:last-child { margin-bottom: 0; }
.article-figure,
.article-detail {
  margin: 0;
}
.article-figure img,
.article-detail img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 18px;
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
}
.article-figure figcaption,
.article-detail figcaption {
  margin-top: 11px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.55;
}
.article-detail-wrap {
  margin-top: 42px;
}
.article-detail {
  width: min(440px, 100%);
  margin-left: 0;
}
.article-note {
  margin-top: 30px;
  padding: 22px 24px;
  border-radius: 14px;
  background: linear-gradient(120deg, #f5f3ff, #f7f9ff);
  color: var(--body);
}
.article-note strong { color: var(--ink); }

@media (max-width: 900px) {
  .news-accent.has-image { height: 300px; }
  .article-grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }
  .article-figure {
    width: min(560px, 100%);
  }
}
@media (max-width: 640px) {
  .news-accent.has-image { height: 270px; }
  .article-page { padding-top: 38px; }
  .article-copy p { font-size: 16px; }
}
