/* Home: the original site's named栏目 are visible without repeating filler cards. */
.home-layout { margin-top: 20px; }
.feature-grid {
  grid-template-columns: 1.55fr 1fr 1fr;
  grid-template-rows: repeat(2, 165px);
}
.feature-grid article { border-radius: 5px; }
.home-notice { align-self: start; }
.heritage-discovery { padding-top: 38px; }
.heritage-section-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px 26px;
}
.heritage-section { min-width: 0; }
.heritage-section-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 13px;
  border-bottom: 1px solid #d8c5dd;
  padding-bottom: 9px;
}
.heritage-section-heading h3 {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  color: #813c85;
  font: 600 20px/1.4 var(--serif);
}
.heritage-section-heading .heritage-icon { font-size: 24px; }
.heritage-section-heading a { flex: none; font-size: 12px; color: #713b79; }
.heritage-section-heading a:hover { text-decoration: underline; }
.heritage-section-items { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.heritage-section-items .content-card { border-radius: 5px; }
.heritage-section-items .card-image { aspect-ratio: 16 / 9; }
.heritage-section-items .content-card h3 { font-size: 15px; }
.heritage-section-items .card-summary { display: none; }

/* Listing: compact four-column browse layout with the existing real filters. */
.heritage-page-heading { padding-top: 25px; }
.heritage-page-title {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-top: 14px;
  border-radius: 7px;
  padding: 13px 18px;
  background: #f3eaf5;
  color: #813c85;
}
.heritage-page-title .heritage-icon { font-size: 27px; }
.heritage-page-title h1 { margin: 0; font-size: 27px; }
.heritage-page-title > span:last-child { margin-left: auto; font-size: 13px; color: #755777; }
.heritage-page-heading .page-intro { margin: 10px 0 0; }
.listing .card-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px 16px; }
.listing .content-card { border-radius: 6px; }
.listing .content-card h3 { font-size: 16px; }
.listing .card-image { aspect-ratio: 16 / 10; }
.listing .card-summary { font-size: 12px; }
.listing-toolbar { border-color: #e6d8e8; }

/* Detail: keep the original section identity while preserving readable text. */
.article-section-ribbon {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 17px;
  padding: 10px 15px;
  border-radius: 6px;
  background: #f3eaf5;
  color: #813c85;
}
.article-section-ribbon > span { display: inline-flex; align-items: center; gap: 9px; font: 600 17px var(--serif); }
.article-section-ribbon .heritage-icon { font-size: 23px; }
.article-section-ribbon a { font-size: 13px; }
.article-section-ribbon a:hover { text-decoration: underline; }
.article-layout { padding-top: 25px; }
.article-aside h2 { color: #813c85; }
.article-aside h2::before {
  content: '';
  display: inline-block;
  width: 22px;
  height: 24px;
  margin-right: 8px;
  background: url('/brand/logo-ico.png') center / contain no-repeat;
  vertical-align: -.16em;
}

/* Imported partner cards contain photographs, so keep them legible as images. */
.partner-grid .partner { justify-content: flex-start; padding: 10px; gap: 10px; min-width: 0; }
.partner-grid .partner img { width: 100%; height: 116px; object-fit: cover; border-radius: 4px; }
.partner-grid .partner > a,
.partner-grid .partner > span { font-size: 13px; line-height: 1.4; }

@media (max-width: 1050px) {
  .listing .card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: 230px repeat(2, 126px); }
  .feature-main { grid-column: 1 / -1; grid-row: 1; }
  .heritage-section-grid { grid-template-columns: 1fr; gap: 28px; }
  .heritage-section-heading h3 { font-size: 18px; }
  .heritage-section-items { gap: 10px; }
  .heritage-section-items .content-card h3 { font-size: 14px; }
  .heritage-page-title { padding: 11px 13px; }
  .heritage-page-title h1 { font-size: 23px; }
  .heritage-page-title > span:last-child { font-size: 11px; }
  .listing .card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .listing .content-card h3 { font-size: 14px; }
  .listing .card-summary { display: none; }
  .article-section-ribbon { margin-top: 12px; }
  .partner-grid .partner img { height: 98px; }
}
