/* ==========================================================================
   牛马宝库 · 单页（关于）
   依赖 main.css 的变量、.page / .hero / .logo-box / .footer
   ========================================================================== */

/* logo 与域名都加了链接：去掉链接默认样式，只保留视觉 */
.about-page .logo-box,
.about-page .domain {
  text-decoration: none;
}

.about-page .logo-box {
  border-radius: 8px;
}

/* 键盘聚焦时才出现轮廓，鼠标点击不显示 */
.about-page .logo-box:focus-visible,
.about-page .domain:focus-visible {
  outline: 2px solid #7ba7c9;
  outline-offset: 6px;
}

.about-page .domain {
  display: inline-block;
  transition: color 0.2s ease;
}

.about-page .domain:hover {
  color: #8fb2cd;
}

/* 顶部整体比首页略收紧：这一页没有搜索区，主体是下面的卡片 */
.about-page .hero {
  padding-top: 74px;
}

/* --------------------------------------------------------------------------
   正文卡片
   -------------------------------------------------------------------------- */
.about-card {
  margin-top: 66px;
  padding: 60px 88px 100px;
  border-radius: var(--radius-card);
  background: rgba(255, 255, 255, 0.76);
  box-shadow:
    0 22px 54px -26px rgba(110, 150, 185, 0.5),
    0 2px 6px rgba(110, 150, 185, 0.05);
}

.about-title {
  position: relative;
  margin: 0 0 30px;
  font-size: clamp(22px, 2.1vw, 30px);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.01em;
  color: #1f3243;
}

/* --------------------------------------------------------------------------
   标题打字效果
   .about-title-ghost 是「看不见但占位」的一层，保证打字过程中标题高度不变，
   下面卡片不会跟着上下跳；真正显示的字符写在 .about-title-type 里，
   绝对定位盖在 ghost 上面，逐字追加。
   没开 JS 时 ghost 正常显示，标题照样是完整一句话。
   -------------------------------------------------------------------------- */
.about-title-ghost {
  display: block;
}

.js .about-title-ghost {
  visibility: hidden;
}

.about-title-type {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  display: block;
  white-space: normal;
}

/* 打字光标：一小段竖条，闪到打完为止 */
.about-title-type::after {
  content: "";
  display: inline-block;
  width: 3px;
  height: 1.02em;
  margin-left: 3px;
  vertical-align: -0.14em;
  border-radius: 2px;
  background: var(--accent);
  animation: about-caret 0.9s steps(1, end) infinite;
}

@keyframes about-caret {
  0%,
  49.9% {
    opacity: 1;
  }
  50%,
  100% {
    opacity: 0;
  }
}

/* 打完：停止闪烁，短暂停留后淡出，别一直杵在那儿 */
.about-title.is-done .about-title-type::after {
  animation: none;
  opacity: 0;
  transition: opacity 0.5s ease 0.4s;
}

@media (prefers-reduced-motion: reduce) {
  .about-title-type::after {
    display: none;
  }
}

.about-body {
  font-size: 14px;
  line-height: 2.05;
  color: #4a6076;
}

.about-body p {
  margin: 0;
}

/* 段落之间留一点空隙，但不至于像两个分区 */
.about-body p + p {
  margin-top: 30px;
}

/* 四类站点的清单：每段以加粗小标题开头，不用 ul，读起来更像连续介绍 */
.about-body strong {
  color: #22394d;
  font-weight: 700;
}



.about-contact a {
  color: var(--accent);
  text-decoration: none;
  border-bottom: 1px solid rgba(43, 143, 214, 0.35);
  transition: border-color 0.2s ease, color 0.2s ease;
}

.about-contact a:hover {
  color: #1c7ab8;
  border-bottom-color: rgba(28, 122, 184, 0.7);
}

/* 页脚离卡片的间距比首页略小：这一页内容短，太远会显空 */
.about-page .footer {
  margin-top: 84px;
}

/* --------------------------------------------------------------------------
   响应式
   -------------------------------------------------------------------------- */
@media (max-width: 1600px) {
  .about-page .hero {
    padding-top: 60px;
  }

  .about-card {
    margin-top: 56px;
    padding: 50px 68px 88px;
  }

  .about-title {
    margin-bottom: 26px;
  }
}

@media (max-width: 960px) {
  .about-card {
    margin-top: 44px;
    padding: 38px 34px 54px;
  }

.about-body p + p {
  margin-top: 20px;
}

  .about-body {
    font-size: 13.5px;
    line-height: 2;
  }
}

@media (max-width: 720px) {
  .about-page .hero {
    padding-top: 40px;
  }

  .about-card {
    margin-top: 34px;
    padding: 28px 22px 34px;
  }

  .about-title {
    margin-bottom: 20px;
    font-size: 20px;
  }

  .about-body {
    font-size: 13px;
    line-height: 1.95;
  }

  .about-body p.about-contact {
    margin-top: 20px;
  }

  .about-page .footer {
    margin-top: 52px;
  }
}
