/* Formal Chinese article typesetting for the CMS-rendered news pages. */
.article-content > p { text-indent: 2em; }
.article-content > .lead,
.article-content figcaption,
.article-content .article-tools,
.article-content .article-nav { text-indent: 0; }

/* Public-welfare archive pages use the same editorial language as news, with longer annual entries. */
.welfare-archive-intro { padding-bottom: 0; }
.welfare-archive-stats {
  display: grid;
  grid-template-columns: 1fr 1fr 1.4fr;
  margin-top: 46px;
  border-top: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);
}
.welfare-archive-stats > div { min-height: 118px; padding: 26px 28px; border-right: 1px solid var(--color-line); }
.welfare-archive-stats > div:last-child { border-right: 0; }
.welfare-archive-stats dt { color: var(--color-primary); font-family: var(--font-serif); font-size: 24px; font-weight: 700; line-height: 1.35; }
.welfare-archive-stats dd { margin-top: 7px; color: var(--color-muted); font-size: 14px; }
.welfare-archive-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 22px; }
.welfare-archive-card { display: flex; min-height: 100%; flex-direction: column; border: 1px solid var(--color-line); border-bottom: 3px solid var(--color-gold); background: var(--color-white); transition: border-color var(--transition), box-shadow var(--transition), transform var(--transition); }
.welfare-archive-card:hover { border-color: var(--color-primary); box-shadow: 0 16px 34px rgba(2, 43, 49, 0.10); transform: translateY(-3px); }
.welfare-archive-card-media { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--color-primary-dark); }
.welfare-archive-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform 480ms ease; }
.welfare-archive-card:hover .welfare-archive-card-media img { transform: scale(1.035); }
.welfare-archive-card-body { display: flex; flex: 1; flex-direction: column; padding: 22px 22px 24px; }
.welfare-archive-card h3 { margin-top: 13px; color: var(--color-ink); font-family: var(--font-serif); font-size: 20px; line-height: 1.5; }
.welfare-archive-card h3 a { color: inherit; }
.welfare-archive-card p { display: -webkit-box; overflow: hidden; margin-top: 12px; color: var(--color-muted); font-size: 14px; line-height: 1.8; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.welfare-archive-card .text-link { margin-top: auto; padding-top: 18px; }
.welfare-article-header { padding-bottom: 46px; }
.welfare-article-year { margin-bottom: 14px; color: var(--color-gold-dark); font-size: 14px; font-weight: 700; letter-spacing: 0; }
.welfare-article-header .container { width: min(calc(100% - 48px), 1320px); }
.welfare-article-header h1 { max-width: none; font-size: 36px; line-height: 1.25; white-space: nowrap; }
.welfare-article-content .lead { text-indent: 0; }
.welfare-article-body { margin-top: 30px; }
.welfare-article-body > p { margin-top: 18px; color: var(--color-ink); text-indent: 2em; }
@media (max-width: 1220px) and (min-width: 761px) {
  .welfare-article-header h1 { font-size: 30px; }
}
@media (max-width: 1080px) {
  .welfare-article-header h1 { white-space: normal; }
}
@media (max-width: 1020px) {
  .welfare-archive-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .welfare-archive-stats { grid-template-columns: 1fr; margin-top: 34px; }
  .welfare-archive-stats > div { min-height: 0; padding: 20px 0; border-right: 0; border-bottom: 1px solid var(--color-line); }
  .welfare-archive-stats > div:last-child { border-bottom: 0; }
  .welfare-archive-grid { grid-template-columns: 1fr; gap: 18px; }
  .welfare-archive-card { display: grid; grid-template-columns: 132px minmax(0, 1fr); }
  .welfare-archive-card-media { min-height: 100%; aspect-ratio: auto; }
  .welfare-archive-card-body { min-height: 180px; padding: 17px 16px 18px; }
  .welfare-archive-card h3 { margin-top: 8px; font-size: 18px; line-height: 1.42; }
  .welfare-archive-card p { display: none; }
  .welfare-archive-card .text-link { padding-top: 12px; }
  .welfare-article-year { margin-bottom: 10px; }
  .welfare-article-header .container { width: min(calc(100% - 32px), var(--container)); }
  .welfare-article-header h1 { font-size: 32px; line-height: 1.35; white-space: normal; }
  .welfare-article-body { margin-top: 24px; }
}
