/* 首页私有样式，按设计稿模块顺序排列。公共组件样式请放 components/。 */

/* 板块标题：设计稿居中，副标题为正文色 */
/* 设计稿正文 18px，随屏宽收到 16px */
.index-page { font-size: clamp(1rem, 0.85rem + 0.3vw, 1.125rem); }
.index-page h2 { font-weight: 500; font-family: var(--dy-font-accent); }
.index-page .section-title { text-align: center; margin-bottom: 1.25rem; }
.index-page .section-subtitle { text-align: center; text-wrap: pretty; color: var(--dy-text); max-width: 1100px; margin-inline: auto; margin-bottom: 4.25rem; }
.index-tag { display: inline-block; padding: 0 0.5rem; margin-left: 0.5rem; border-radius: 4px; background: var(--dy-tag-bg); color: var(--dy-tag-text); font-size: 0.875rem; font-weight: 400; line-height: 1.5rem; vertical-align: middle; }
.index-face-plan .index-tag { padding: 0 0.375rem; font-size: 1rem; }
.index-more { display: flex; align-items: center; justify-content: center; gap: 0.5rem; width: fit-content; margin: 3rem auto 0; font-size: clamp(1.25rem, 1rem + 0.8vw, 1.875rem); font-weight: 500; font-family: var(--dy-font-accent); line-height: 1.2; text-decoration: none; }
.index-more:hover { color: var(--dy-primary-dark); }

/* 1 首屏 */
.index-hero { position: relative; display: flex; align-items: center; min-height: min(1080px, 100svh); padding: 6rem 0; color: #fff; background: #3a3566 url("/assets/images/index/hero-bg.jpg") 62% center / cover no-repeat; }
.index-hero::before { content: ""; position: absolute; inset: 0; background: rgba(23, 19, 69, 0.35); }
.index-hero .container { position: relative; }
.index-hero .index-hero-logo { width: 222px; height: auto; margin-bottom: 1.5rem; }
.index-hero h1 { margin-bottom: 2rem; font-weight: 600; font-family: var(--dy-font-accent); }
.index-hero .index-hero-lead { max-width: 420px; margin-bottom: 4.5rem; line-height: 2; color: rgba(255, 255, 255, 0.8); }
.index-hero-stats { display: flex; flex-wrap: wrap; gap: 1rem 4.5rem; margin-bottom: 5.5rem; }
.index-hero-stats dt { font-size: 1.875rem; font-weight: 500; font-family: var(--dy-font-accent); line-height: 1.2; }
.index-hero-stats dd { margin: 0; color: rgba(255, 255, 255, 0.6); }
.index-download { display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; margin: 0; }
.index-download button,
.index-download a { display: block; padding: 0; border: 0; background: none; }
.index-download img { display: block; width: 186px; height: auto; }
/* 下载二维码弹层 */
/* 整块可点的模块（section / 卡片上的 data-href，由 index.js 处理跳转） */
main [data-href] { cursor: pointer; }

/* 2 身体评估 */
.index-assess-card { display: flex; flex-direction: column; height: 100%; padding: 2.5rem 1.5rem 0; background: #f7f1ff; }
.index-assess-card h3 { font-size: clamp(1.5rem, 1rem + 1.25vw, 2.5rem); font-weight: 500; font-family: var(--dy-font-accent); line-height: 1.4; margin-bottom: 1.5rem; }
.index-assess-card p { color: var(--dy-text-muted); font-size: 1rem; margin-bottom: 2.5rem; }
/* 切图铺满浅紫底的整宽（抵消左右内边距）；卡片高度由文字最多的一张决定，其余卡的图片贴底对齐 */
.index-assess-card img { width: calc(100% + 3rem); max-width: none; height: auto; margin: auto -1.5rem 0; }

/* 3 AI 定制计划 */
.index-ai { --ai-pad-bottom: calc(var(--dy-section-gap) * 0.55); padding-bottom: var(--ai-pad-bottom); background: var(--dy-violet); color: #fff; }
.index-ai .section-title,
.index-ai .section-subtitle { color: #fff; }
.index-ai h3 { font-size: clamp(1.375rem, 1rem + 0.8vw, 1.875rem); font-weight: 500; font-family: var(--dy-font-accent); margin-bottom: 1rem; }
.index-ai p,
.index-ai-points { color: rgba(255, 255, 255, 0.75); }
.index-ai p { margin-bottom: 2.5rem; line-height: 2; }
.index-ai-points { padding-left: 1.2em; margin: -2rem 0 2rem; line-height: 1.8; }
.index-ai-refs { max-width: 684px; padding: 1.5rem; border: 1px dashed rgba(255, 255, 255, 0.6); border-radius: 20px; margin-bottom: 2rem; }
.index-ai-refs h4 { font-size: 0.875rem; font-weight: 500; font-family: var(--dy-font-accent); margin-bottom: 0.5rem; }
.index-ai-refs ul { margin: 0; padding-left: 1.2em; font-size: 0.875rem; line-height: 2; color: rgba(255, 255, 255, 0.6); }
.index-ai .index-ai-tip { margin: 0; color: rgba(255, 255, 255, 0.6); }
.index-ai-phones { width: 100%; max-width: 627px; height: auto; margin-bottom: calc(var(--ai-pad-bottom) * -1); }

/* 4 课程体系 */
.index-course-card { display: flex; flex-direction: column; height: 100%; padding: 2.5rem clamp(1.875rem, 4vw - 1.75rem, 3rem) 1.875rem; border: 1px solid #e0defa; border-radius: var(--dy-radius-xl); background: linear-gradient(180deg, #eeecff 0%, #fff 30%); }
.index-course-card h3 { font-size: clamp(1.375rem, 1rem + 0.8vw, 1.875rem); font-weight: 500; font-family: var(--dy-font-accent); margin-bottom: 1rem; }
.index-course-card p { color: var(--dy-text-muted); margin-bottom: 1.5rem; }
/* 多列并排时标题固定 1 行、副标题固定 2 行的高度；窄屏下文字折行更多时，列表贴卡片底部（各卡同为 5 项），仍然对齐 */
@media (min-width: 768px) {
  .index-course-card .index-course-list { margin-top: auto; }
  .index-course-card h3 { min-height: 1.4em; line-height: 1.4; }
  .index-course-card p { min-height: 3.6em; line-height: 1.8; }
}
.index-course-list { display: grid; gap: 0.875rem; margin: 0; padding: 0; list-style: none; }
.index-course-list a { position: relative; display: flex; align-items: center; height: 78px; padding-left: 1.25rem; border-radius: 16px; overflow: hidden; color: #151515; font-size: 1.25rem; font-weight: 500; font-family: var(--dy-font-accent); text-decoration: none; }
.index-course-list img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: right center; transition: transform 0.3s ease; }
.index-course-list span { position: relative; }
.index-course-list a:hover img { transform: scale(1.04); }

/* 5 名师带练 */
.index-teacher { padding-top: 2rem; }
.index-teacher-card { position: relative; display: flex; align-items: flex-end; gap: 2rem; margin-top: 4.25rem; padding: 0 3.5rem 0 1.875rem; border-radius: var(--dy-radius-xl); background: var(--dy-bg-soft); }
.index-teacher-body { flex: 1; padding: 2.5rem 0; }
.index-teacher-card h3 { font-size: clamp(2rem, 1.3rem + 1.6vw, 3rem); font-weight: 500; font-family: var(--dy-font-accent); margin-bottom: 1.25rem; }
.index-teacher-card h3 small { font-size: clamp(1.125rem, 1rem + 0.4vw, 1.5rem); margin-left: 0.5rem; }
.index-teacher-cert { font-size: 1.125rem; line-height: 2; margin-bottom: 0.75rem; }
.index-teacher-bio { color: var(--dy-text-muted); font-size: 1rem; line-height: 2; margin-bottom: 1.5rem; }
.index-teacher-photo { flex: 0 0 auto; width: min(492px, 38%); height: auto; }
.index-teacher-course { position: relative; display: flex; flex-direction: column; justify-content: center; max-width: 578px; min-height: 195px; padding: calc(42px + 1rem) 1.75rem 1.25rem; border-radius: 16px; overflow: hidden; background: #f6f7f7; text-decoration: none; }
.index-teacher-course > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: right center; }
.index-teacher-course > span,
.index-teacher-course > strong { position: relative; }
.index-teacher-course strong { font-size: clamp(1.375rem, 1rem + 0.7vw, 1.8rem); font-weight: 500; font-family: var(--dy-font-accent); line-height: 1.2; margin-bottom: 0.5rem; }
.index-teacher-course > span { font-size: 1.125rem; line-height: 1.67; }
.index-teacher-course .index-teacher-course-tag { position: absolute; top: 0; left: 0; padding: 0.4375rem 1.5rem; border-radius: 16px 0 16px 0; background: rgba(var(--dy-violet-rgb), 0.94); color: #fff; font-size: 1.25rem; font-weight: 500; font-family: var(--dy-font-accent); line-height: 1.75rem; }
.index-teacher-course .index-teacher-course-meta { margin-top: 0.5rem; color: rgba(92, 94, 102, 0.8); font-size: 1.0625rem; line-height: 1.25; }
.index-teacher-course-meta > span { margin-left: 2rem; }
.index-teacher-course.is-warm { color: #8a5a3c; }
.index-teacher-course.is-cool { color: #3d6aa0; }

/* 6 面部瑜伽 */
.index-face { background: #eceaff url("/assets/images/index/face-bg.jpg") center / cover no-repeat; }
.index-face-illus { width: 100%; max-width: 623px; height: auto; }
.index-face h3 { font-size: clamp(1.375rem, 1rem + 0.8vw, 1.875rem); font-weight: 500; font-family: var(--dy-font-accent); margin-bottom: 1rem; }
.index-face .index-face-lead { color: var(--dy-text-muted); margin-bottom: 1.5rem; line-height: 2; }
.index-face-plan { display: flex; color: var(--dy-text); text-decoration: none; transition: box-shadow 0.2s ease; gap: 1rem; align-items: center; max-width: 647px; min-height: 148px; padding: 1.25rem 1rem; margin-bottom: 1rem; border-radius: 16px; background: #fff; }
.index-face-plan:hover { color: var(--dy-text); box-shadow: 0 6px 20px rgba(23, 19, 69, 0.08); }
.index-face-plan > img { flex: 0 0 auto; width: 157px; height: auto; border-radius: 8px; }
.index-face-plan h4 { font-size: 1.5rem; font-weight: 500; font-family: var(--dy-font-accent); margin-bottom: 0.5rem; }
.index-face-plan p { margin: 0; font-size: 0.875rem; line-height: 1.8; color: var(--dy-text-muted); }
.index-face .index-face-tip { margin: 1.5rem 0 0; color: var(--dy-text-muted); font-size: 1rem; line-height: 2; text-wrap: pretty; } /* 比正文小一号，窄屏折行时不留单字孤行 */
.index-face-tip strong { color: var(--dy-text); font-weight: 500; font-family: var(--dy-font-accent); }

/* 7 冥想 */
.index-meditate { background: #b9b3d6 url("/assets/images/index/meditate-bg.jpg") center bottom / cover no-repeat; min-height: 920px; }
/* 切图自带白色描边和圆角，卡片不再加 border，否则是两层描边 */
.index-meditate-card { position: relative; display: block; text-decoration: none; aspect-ratio: 220 / 222; padding: 2.25rem 1rem 1rem; border-radius: var(--dy-radius-xl); overflow: hidden; color: #fdfdfe; text-align: center; }
.index-meditate-card:hover { color: #fdfdfe; }
.index-meditate-card > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.index-meditate-card::before { content: ""; position: absolute; inset: 0; z-index: 1; background: rgba(136, 103, 207, 0.35); }
.index-meditate-card h3,
.index-meditate-card p { position: relative; z-index: 2; }
.index-meditate-card h3 { font-size: clamp(1.25rem, 0.6rem + 1.1vw, 1.875rem); font-weight: 500; font-family: var(--dy-font-accent); margin-bottom: 1rem; }
.index-meditate-card p { margin: 0; font-size: clamp(0.875rem, 0.6rem + 0.5vw, 1.125rem); line-height: 2; }

/* 8 线上训练营 */
.index-camp { background: linear-gradient(180deg, #fff 0%, var(--dy-bg-soft) 100%); }
.index-camp-perks { --perks-title: clamp(1.375rem, 1rem + 0.8vw, 1.875rem); --perks-li-pad-y: 0.5rem; position: relative; padding: 1.875rem 0; border-radius: 38px; overflow: hidden; background: #fff; text-align: center; }
.index-camp-perks h3,
.index-camp-subtitle { font-size: clamp(1.375rem, 1rem + 0.8vw, 1.875rem); font-weight: 500; font-family: var(--dy-font-accent); text-align: center; }
.index-camp-perks h3 { margin-bottom: 1.5rem; line-height: 1.4; }
.index-camp-perks li { display: flex; flex-direction: column; align-items: flex-start; gap: 0.75rem; padding: var(--perks-li-pad-y) 1.875rem; font-size: 1.5rem; font-weight: 500; font-family: var(--dy-font-accent); }
/* 6 列并排时按设计稿：每列撑满整个白框，列间分隔线到顶；标题悬浮在上方，底下铺一层白到透明的渐变，
   把分隔线上端渐隐掉。列的上内边距 = 原来框内边距 + 标题高 + 标题下边距，图标文字位置不变 */
@media (min-width: 768px) {
  .index-camp-perks { padding: 0; }
  .index-camp-perks h3 { position: absolute; inset: 0 0 auto; z-index: 1; height: 8.1875rem; margin: 0; padding-top: 1.875rem; background: linear-gradient(180deg, #fff 0%, rgba(255, 255, 255, 0) 100%); pointer-events: none; }
  .index-camp-perks li { padding-top: calc(1.875rem + var(--perks-title) * 1.4 + 1.5rem + var(--perks-li-pad-y)); padding-bottom: calc(3.125rem + var(--perks-li-pad-y)); box-shadow: 1px 0 0 rgba(0, 0, 0, 0.12); }
  .index-camp-perks li:last-child { box-shadow: none; }
}
.index-camp-subtitle { margin: 3.5rem 0 1.5rem; }
.index-camp-card { display: block; height: 100%; color: inherit; text-decoration: none; transition: box-shadow 0.2s ease; border: 1px solid var(--dy-border); border-radius: 16px; overflow: hidden; background: #fff; }
.index-camp-card:hover { color: inherit; box-shadow: 0 6px 20px rgba(23, 19, 69, 0.08); }
.index-camp-card img { display: block; width: 100%; height: auto; }
.index-camp-card p { margin: 0; padding: 1rem 1.25rem 1.5rem; color: var(--dy-text-muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* 9 国际瑜伽导师培训 */
.index-ryt-card { height: 100%; padding-top: 2.5rem; border-radius: var(--dy-radius-xl); background: var(--dy-bg-soft); text-align: center; overflow: hidden; }
.index-ryt-card h3 { font-size: clamp(1.375rem, 1rem + 0.8vw, 1.875rem); font-weight: 500; font-family: var(--dy-font-accent); margin-bottom: 0.75rem; }
.index-ryt-card p { color: var(--dy-text-muted); padding: 0 2rem; margin-bottom: 0.5rem; line-height: 2; }
.index-ryt-card img { display: block; width: 100%; height: auto; }
@media (min-width: 1200px) {
  .index-ryt-card { display: flex; flex-direction: column; min-height: 37.5rem; padding-top: 4.125rem; }
  .index-ryt-card img { margin-top: auto; }
}

/* 10 用户口碑 */
.index-review .section-subtitle { margin-bottom: 2.5rem; }
.index-review-swiper { padding: 1.5rem 0 3.5rem; }
.index-review-card { display: flex; flex-direction: column; height: auto; width: 576px; margin: 0; padding: 1.75rem 2rem 1.75rem; border-radius: 36px; background: var(--dy-bg-soft); transition: transform 0.4s ease, background-color 0.4s ease, color 0.4s ease; }
/* 非当前卡的缩小和位移由 index.js 按滑动进度写在行内 transform 上，保证卡片间距一致 */
.index-review-card .bi-quote { display: block; font-size: 2.5rem; line-height: 1; color: #c5c9f5; }
.index-review-card figcaption { display: flex; align-items: center; gap: 0.625rem; margin-bottom: 1rem; font-size: 1.875rem; font-weight: 500; font-family: var(--dy-font-accent); }
.index-review-avatar { flex: 0 0 auto; width: 42px; height: 42px; border-radius: 50%; object-fit: cover; background: var(--dy-tag-bg); }
.index-review-card blockquote { margin: 0 0 1.5rem; padding-left: 3.25rem; color: var(--dy-text-muted); font-size: 1.125rem; line-height: 2; }
.index-review-stars { margin-top: auto; padding-left: 3.25rem; color: #ffc53d; letter-spacing: 0.3em; }
/* 评论长短不一，卡片统一按最高的那张等高，星级贴底 */
.index-review-swiper .swiper-wrapper { align-items: stretch; }
.index-review-card.swiper-slide-active { background: var(--dy-violet); color: #fff; }
.index-review-card.swiper-slide-active blockquote { color: rgba(255, 255, 255, 0.75); }
.index-review-card.swiper-slide-active .bi-quote { color: rgba(255, 255, 255, 0.5); }
.index-review-card.swiper-slide-active .index-review-stars { color: #fff; }
.index-review .swiper-pagination { bottom: 0; }
.index-review .swiper-pagination-bullet { background: #c5c9f5; opacity: 1; }
.index-review .swiper-pagination-bullet-active { width: 20px; border-radius: 4px; background: var(--dy-violet); }

/* 11 官方认证与媒体报道 */
.index-honor { padding-top: calc(var(--dy-section-gap) * 0.825); padding-bottom: calc(var(--dy-section-gap) * 0.6); background: var(--dy-bg-soft); }
.index-honor-grid { margin: 0 0 3rem; border-radius: 32px; background: #fff; overflow: hidden; }
.index-honor-grid li { --honor-pad-x: clamp(1.5rem, 4vw - 1rem, 3rem); padding: 2rem var(--honor-pad-x); text-align: center; box-shadow: inset -1px -1px 0 var(--dy-border); }
/* 切图是整张卡片宽的 logo 条（480×88，logo 居中、两侧留白），抵消卡片左右内边距铺满全宽 */
.index-honor-grid img { display: block; width: calc(100% + var(--honor-pad-x) * 2); max-width: none; height: auto; margin: 0 calc(var(--honor-pad-x) * -1) 1.5rem; }
.index-honor-grid h3 { font-size: 1.25rem; font-weight: 500; font-family: var(--dy-font-accent); margin-bottom: 0.5rem; }
.index-honor-grid p { margin: 0; color: var(--dy-text-muted); font-size: 1.125rem; text-wrap: pretty; }
.index-media article { display: flex; flex-direction: column; height: 100%; padding-left: 1.875rem; border-left: 1px solid var(--dy-border); }
.index-media h3 { font-size: 1.5rem; font-weight: 500; font-family: var(--dy-font-accent); line-height: 1.4; margin-bottom: 0.75rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.index-media .index-media-source { display: flex; align-items: center; gap: 0.5rem; margin-bottom: 1.25rem; font-size: 1rem; line-height: 1.875; color: var(--dy-text-muted); }
.index-media-source img { flex: none; border-radius: 50%; }
/* 媒体平台只占一行，放不下显示省略号 */
.index-media-source span { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.index-media h3 a { color: inherit; text-decoration: none; }
.index-media article:hover h3 a { color: var(--dy-primary); }
.index-media p { margin: 0; font-size: 0.875rem; line-height: 1.71; color: var(--dy-text-muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
/* 标题到媒体平台间距固定；三列等高时正文沉底对齐，标题只有一行的列，多出的空白留在媒体平台和正文之间 */
.index-media article > p:last-child { margin-top: auto; }

/* 12 瑜伽知识科普 */
.index-wiki .section-title { margin-bottom: 4.25rem; }
.index-wiki-card img { display: block; width: 100%; height: auto; border-radius: 24px; margin-bottom: 1.75rem; }
.index-wiki-card h3 { font-size: clamp(1.375rem, 1rem + 0.8vw, 1.875rem); font-weight: 500; font-family: var(--dy-font-accent); line-height: 1.45; margin-bottom: 1rem; }
.index-wiki-card h3 a { color: inherit; text-decoration: none; }
.index-wiki-card h3 a:hover { color: var(--dy-primary); }
.index-wiki-card p { margin: 0; color: var(--dy-text-muted); line-height: 2; display: -webkit-box; -webkit-line-clamp: 6; -webkit-box-orient: vertical; overflow: hidden; }

/* 13 常见问题 */
.index-faq { padding-top: 6rem; padding-bottom: calc(var(--dy-section-gap) + 1.5rem); } /* 设计稿“查看更多”到页脚 145px */
.index-faq .section-title { margin-bottom: 4.25rem; }
/* 问答卡片样式在 components/faq.css（.faq-list） */

/* 宽屏：面部瑜伽内容区与设计稿一样整体下移，下留白加大（设计稿副标题到内容约 120，下留白约 174） */
@media (min-width: 1200px) {
  .index-face { padding-bottom: calc(var(--dy-section-gap) * 1.45); }
  .index-face .section-subtitle { margin-bottom: 7.5rem; }
}
/* 1200 以下六列权益太窄，缩小字号和留白，避免“系统化编排”折行 */
@media (max-width: 1199.98px) {
  .index-camp-perks li { padding-inline: 1rem; font-size: 1.25rem; }
}

/* 平板 */
@media (max-width: 991.98px) {
  .index-hero { min-height: 0; background-position: 70% center; }
  .index-hero::before { background: rgba(23, 19, 69, 0.5); }
  .index-ai-phones { max-width: 480px; }
  .index-teacher-card { flex-direction: column-reverse; align-items: center; padding: 2rem 1.5rem 0; }
  .index-teacher-body { padding-top: 0; }
  .index-teacher-photo { width: min(320px, 70%); }
  .index-meditate { min-height: 0; }
  .index-camp-perks { --perks-li-pad-y: 1rem; }
  .index-camp-perks li { align-items: center; font-size: 1.125rem; padding-inline: 0.5rem; }
  .index-honor-grid li { --honor-pad-x: 1rem; padding: 2rem var(--honor-pad-x); }
}

/* 手机 */
@media (max-width: 767.98px) {
  .index-page .section-subtitle { margin-bottom: 2rem; font-size: 0.9375rem; }
  .index-hero { padding: calc(var(--dy-header-height) + 2.5rem) 0 3rem; } /* 顶部导航叠在首屏上，留出它的高度 */
  .index-hero .index-hero-logo { width: 160px; }
  .index-hero .index-hero-lead { margin-bottom: 2.5rem; }
  .index-hero-stats { gap: 1rem 2rem; margin-bottom: 2.5rem; }
  .index-hero-stats dt { font-size: 1.5rem; }
  .index-download { display: grid; grid-template-columns: repeat(2, minmax(0, 186px)); gap: 0.75rem; }
  .index-download img { width: 100%; }
  .index-assess-card { min-height: 0; padding-top: 2rem; }
  .index-course-card { padding: 1.75rem 1.25rem 1.25rem; }
  .index-teacher-card { gap: 1rem; margin-top: 2rem; padding: 1.5rem 1rem 0; }
  .index-teacher-card h3 small { display: block; margin: 0.5rem 0 0; }
  .index-teacher-course { min-height: 150px; padding: calc(42px + 0.75rem) 1rem 1rem; }
  .index-face-plan { flex-direction: column; align-items: flex-start; }
  .index-face-plan > img { width: 100%; }
  .index-face-plan h4 { font-size: 1.25rem; }
  .index-meditate-card { padding-top: 1.5rem; border-radius: 20px; }
  .index-camp-perks { padding: 1.5rem 0.5rem; border-radius: 20px; }
  .index-camp-perks li { font-size: 1rem; }
  .index-review-card { width: 82vw; padding: 1.25rem 1.25rem 1.5rem; border-radius: 24px; }
  .index-review-card figcaption { font-size: 1.25rem; }
  .index-review-card blockquote { font-size: 0.9375rem; line-height: 1.8; }
  .index-review-card blockquote,
  .index-review-stars { padding-left: 0; }
  .index-honor-grid { border-radius: 20px; }
  .index-honor-grid li { --honor-pad-x: 0.75rem; padding: 1.25rem var(--honor-pad-x); }
  .index-honor-grid img { margin-bottom: 0.75rem; }
  .index-honor-grid h3 { font-size: 1rem; }
  .index-honor-grid p { font-size: 0.8125rem; }
  .index-media article { padding-left: 1rem; }
  .index-media h3 { font-size: 1.25rem; }
  .index-wiki-card p { -webkit-line-clamp: 4; }
}
