/* Public news pages */
.news-list{padding:8px 0 64px}
.news-list-hero.page-hero{padding:28px 0 20px}
.news-list-hero .page-hero__brand{margin-bottom:10px}
.news-list-hero .page-hero__title{margin-bottom:10px}
.news-list-hero .eyebrow{margin-bottom:10px}

.news-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
@media(max-width:960px){.news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.news-grid{grid-template-columns:1fr}}
.news-card{
  display:flex;flex-direction:column;
  background:#fff;border:1px solid var(--line);
  border-radius:var(--r-md);overflow:hidden;
  box-shadow:var(--shadow-sm);
  transition:transform .2s ease, box-shadow .2s ease;
  height:100%;
  color:inherit;
}
.news-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);color:inherit}
.news-card__cover{
  aspect-ratio:16/10;background:var(--bg-2);
  background-size:cover;background-position:center;
}
.news-card__body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.news-card__date{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--primary)}
.news-card__title{font-size:1.1rem;line-height:1.3;margin:0;color:var(--ink)}
.news-card__excerpt{margin:0;font-size:14px;color:var(--ink-2);flex:1}
.news-card__more{font-size:14px;font-weight:700;color:var(--primary);margin-top:2px}
.news-empty{
  background:#fff;border:1px solid var(--line);border-radius:var(--r-md);
  padding:32px 24px;text-align:center;color:var(--ink-2);
}
.news-pager{
  display:flex;flex-wrap:wrap;gap:8px;justify-content:center;
  margin-top:28px;
}
.news-pager a,.news-pager span{
  min-width:40px;height:40px;padding:0 12px;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:12px;border:1.5px solid var(--line);
  font-weight:600;font-size:14px;background:#fff;color:var(--ink);
}
.news-pager a:hover{border-color:var(--primary);color:var(--primary)}
.news-pager .is-current{
  background:var(--grad-primary);color:#fff;border-color:transparent;
}

/* Article */
.news-article{padding:16px 0 64px}
.news-article__wrap{max-width:880px;margin:0 auto}
.news-article__top{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:8px 16px;margin-bottom:12px;
}
.news-back{
  display:inline-flex;align-items:center;gap:6px;
  margin:0;font-weight:600;font-size:14px;color:var(--primary);
}
.news-back:hover{color:var(--primary-dark)}
.news-article__meta{
  font-size:12px;font-weight:700;color:var(--primary);
  letter-spacing:.06em;text-transform:uppercase;margin:0;
}
.news-article__title{
  font-size:clamp(26px,3.6vw,40px);margin:0 0 12px;line-height:1.15;
}
.news-article__excerpt{
  font-size:1.05rem;color:var(--ink-2);margin:0 0 18px;line-height:1.55;
  max-width:42em;
}
.news-article__cover{
  width:100%;border-radius:var(--r-md);margin:0 0 22px;
  box-shadow:var(--shadow-sm);
  max-height:420px;object-fit:cover;
}
.news-article__content{
  font-size:16px;line-height:1.7;color:var(--ink-2);
}
.news-article__content > *:first-child{margin-top:0}
.news-article__content h2,.news-article__content h3,.news-article__content h4{
  margin:1.35em 0 .5em;color:var(--ink);
}
.news-article__content p{margin:0 0 .85em}
.news-article__content ul,.news-article__content ol{margin:0 0 .85em;padding-left:1.3rem}
.news-article__content li{margin:0 0 .35em}
.news-article__content a{color:var(--primary);text-decoration:underline;text-underline-offset:3px}
.news-article__content img{max-width:100%;height:auto;border-radius:14px;margin:10px 0}
.news-article__content blockquote{
  margin:1em 0;padding:12px 16px;border-left:4px solid var(--primary);
  background:rgba(74,87,196,.06);border-radius:0 12px 12px 0;
}
.news-article__content table{width:100%;border-collapse:collapse;margin:1em 0;font-size:14px}
.news-article__content th,.news-article__content td{border:1px solid var(--line);padding:10px;text-align:left}
.news-article__content pre{
  overflow:auto;padding:14px;border-radius:14px;background:#1B1F3B;color:#fff;font-size:13px;
}

@media (max-width:640px){
  .news-article{padding:10px 0 48px}
  .news-article__cover{max-height:260px;border-radius:16px;margin-bottom:16px}
  .news-list-hero.page-hero{padding:20px 0 12px}
}
