.about-page { padding: 88px 0 72px; }
.about-layout { display: flex; width: min(1200px, 100%); margin: 0 auto; align-items: flex-start; }
.about-anchor { position: sticky; top: 112px; width: 190px; flex: 0 0 190px; padding: 28px 0; border-right: 2px solid #008080; }
.about-anchor ul { list-style: none; padding: 0 20px 0 0; margin: 0; }
.about-anchor li { position: relative; min-height: 72px; display: flex; align-items: center; justify-content: flex-end; }
.about-anchor li::after { content: ""; position: absolute; right: -32px; width: 22px; height: 22px; border: 2px solid #008080; border-radius: 50%; background: #fff; }
.about-anchor a { color: #5a6a7e; font-size: 16px; line-height: 1.5; font-weight: 500; }
.about-anchor a:hover, .about-anchor li.is-active a { color: #008080; text-decoration: none; }
.about-anchor li.is-active::after { background: #008080; }
.about-content { min-width: 0; flex: 1; padding: 24px 32px; }
.about-section { scroll-margin-top: 104px; padding: 10px 0 12px; }
.about-section + .about-section { border-top: 1px solid #e0e0e0; }
.about-section-title { margin: 0 0 28px; text-align: center; }
.about-section-title h1, .about-section-title h2 { margin: 0 0 8px; color: #1a1a2e; font-size: 36px; line-height: 1.2; font-weight: 700; }
.about-section-title p { margin: 0; color: #5a6a7e; font-size: 20px; }
.about-paragraph { margin: 0 0 14px; color: #333; font-size: 16px; line-height: 2.2; text-align: justify; text-indent: 2em; }
.about-subheading { margin: 24px 0 10px; color: #333; font-size: 20px; line-height: 1.7; }
.about-list { margin: 10px 0 24px; padding-left: 2em; color: #333; line-height: 2.1; }
.about-entrance, .about-honor-featured { margin: 24px 0; overflow: hidden; border-radius: 6px; }
.about-entrance img, .about-honor-featured img { display: block; width: 100%; height: auto; }
.about-slogan { margin: 18px 0 32px; color: #333; font-size: 20px; line-height: 2; text-indent: 2em; }
.about-honor-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.about-honor-grid a { display: block; background: #f5f7fa; border-radius: 5px; overflow: hidden; }
.about-honor-grid img { display: block; width: 100%; height: auto; }
@media (max-width: 900px) {
  .about-page { padding-top: 64px; }
  .about-layout { display: block; width: 100%; }
  .about-anchor { position: sticky; top: 64px; z-index: 900; width: 100%; padding: 0; border: 0; border-bottom: 1px solid #dce5ec; background: #fff; }
  .about-anchor ul { display: flex; gap: 0; overflow-x: auto; padding: 0 8px; }
  .about-anchor li { min-height: 48px; padding: 0 15px; flex: 0 0 auto; border-bottom: 3px solid transparent; }
  .about-anchor li::after { display: none; }
  .about-anchor li.is-active { border-bottom-color: #008080; }
  .about-anchor a { white-space: nowrap; font-size: 15px; line-height: 1.5; }
  .about-content { padding: 16px; }
  .about-section-title h1, .about-section-title h2 { font-size: 28px; }
  .about-section-title p { font-size: 16px; }
  .about-honor-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) { .about-honor-grid { grid-template-columns: 1fr; } }


/* 2026-08-31：关于我们左侧进度线贯穿页面，并让活动节点平滑移动。 */
@media (min-width: 901px) {
  .about-layout { position: relative; }
  .about-layout::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: 28px;
    bottom: 0;
    left: 189px;
    width: 2px;
    background: #008080;
  }
  .about-anchor {
    z-index: 1;
    border-right: 0;
    --about-indicator-offset: 0px;
  }
  .about-anchor::after {
    content: "";
    position: absolute;
    z-index: 3;
    top: 55px;
    right: -8px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #008080;
    box-shadow: 0 0 0 4px rgba(0, 128, 128, .14);
    transform: translateY(var(--about-indicator-offset));
    transition: transform .48s cubic-bezier(.22, .8, .3, 1), box-shadow .3s ease;
    pointer-events: none;
  }
  .about-anchor li::after {
    z-index: 2;
    background: #fff;
    transition: border-color .3s ease, transform .3s ease, box-shadow .3s ease;
  }
  .about-anchor li.is-active::after {
    background: #fff;
    border-color: #008080;
    transform: scale(1.08);
    box-shadow: 0 0 0 3px rgba(0, 128, 128, .08);
  }
  .about-anchor a { transition: color .3s ease, transform .3s ease; }
  .about-anchor li.is-active a { transform: translateX(-3px); }
}
@media (prefers-reduced-motion: reduce) {
  .about-anchor::after,
  .about-anchor a,
  .about-anchor li::after { transition: none !important; }
}
