/*
 * About Us 页 —— 1:1 对应设计稿 Astra 6月(fwdnLm0W) / 317:1015（1920×8841）
 *
 *   首屏 317:1554     整幅 1920×980：48/53 Bold 黑字 + 红线 100×4（走 page-banner，文字是黑的）
 *   简介 1027:1891    白底 py120 px240 gap96
 *                     标题 48/53 → 分隔线（py36，1440 灰线中间压 180 红）→ 正文 28/34 #333
 *                     大图 1440×810，p26，底部 2px 进度条（灰底 + 红段）
 *   能力卡 735:519    py120 gap96：标题栈（48/53 + 红条 95×4 + 24/32 #999）
 *                     卡条 1600×529、px20 gap20，每张 p28
 *                     常态 标题 36/40 #808080、正文 28/34 #999、CTA 18/25 #999
 *                     选中 顶部 2px 主题色 + 投影，标题转黑、正文 #808080、CTA 主题色
 *   基地 317:1601     #EAECED py120 gap96：标题 + 红线 100×4
 *                     三图带 gap80：中间 1596×686（带投影），两侧 1300×559 露边
 *                     数据三栏 1440 gap32：2px 横条（首条红）→ 24/32 #808080 → 28/34 黑
 *   认证 1039:990     白底 py120：标题栈（1280）+ 认证卡 148×152 七张（gap18）
 *                     + 区域卡 280×128 三张（gap24），都是 #F9F9F9 底
 *   历史 1045:526     底图 + rgba(4,11,20,.83) 蒙版，px160 py120 gap96
 *                     标题栈白字 → 左右箭头 36 圆钮 + 内容（96/104 年份 + 18/25 说明 + 619×442 图）
 *                     → 时间轴 1600：点线交替 + 年份标签（当前年红色）
 *   品牌 317:1017     py120：标题栈 + 6×4 logo 墙（1440 宽、间距 10，首行 124 其余 112）
 *   页尾 CTA 1027:1942 沿用全站那条
 *
 * 全屏滚动：About 这页业主决定不用，各板块的「作为整屏吸附」默认关，按常规长页滚动，
 * 板块高度就是上面这些设计稿高度。想开的话打开两块以上的开关即可，
 * 吸附那套在共用的 assets/css/fullpage.css 里。
 *
 * 尺寸字号一律走 CSS 变量，由组件的响应式控制项按断点写入；
 * 这里的媒体查询只翻转排布方向，绝不写死尺寸（写死会盖掉控制项，见记忆里那条坑）。
 */

.astra-ab {
  --ab-primary: #e60012;
  --ab-primary-soft: #fdf1f1;
  --ab-text: #333333;
  --ab-strong: #000000;
  --ab-muted: #808080;
  --ab-subtle: #999999;
  --ab-border: #dedfe0;
  --ab-bg-subtle: #f9f9f9;
  --ab-bg-cool: #eaeced;

  font-family: inherit;
  color: var(--ab-text);
}

/* ================================================== 通用：居中标题栈 */
.astra-ab__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--ab-header-gap, 24px);
  width: 100%;
  max-width: calc(var(--ab-header-width, 1440px) + 32px);
  margin: 0 auto;
  padding: 0 16px;
  text-align: center;
}

.astra-ab__title {
  margin: 0;
  width: 100%;
  font-size: var(--ab-title-size, 48px);
  line-height: var(--ab-title-line, 53px);
  font-weight: 700;
  letter-spacing: -1.92px;
  color: var(--ab-strong);
  overflow-wrap: break-word;
}

.astra-ab__rule {
  display: block;
  flex: 0 0 auto;
  width: var(--ab-rule-width, 100px);
  height: var(--ab-rule-height, 4px);
  background: var(--ab-primary);
}

.astra-ab__sub {
  margin: 0;
  width: 100%;
  font-size: var(--ab-sub-size, 24px);
  line-height: var(--ab-sub-line, 32px);
  font-weight: 600;
  letter-spacing: -0.24px;
  color: var(--ab-muted);
  overflow-wrap: break-word;
}

.astra-ab__empty {
  margin: 0;
  padding: 24px 0;
  font-size: 18px;
  color: var(--ab-subtle);
  text-align: center;
}

/* ======================================================= 简介 1027:1891 */
.astra-ab-intro {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--ab-intro-gap, 96px);
  padding: var(--ab-intro-padding, 120px) 0;
  background: #ffffff;
}

.astra-ab-intro__text {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: calc(var(--ab-intro-width, 1440px) + 32px);
  margin: 0 auto;
  padding: 0 16px;
  text-align: center;
}

/* 分隔线：整条灰，中间压一段红 */
.astra-ab-intro__divider {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: var(--ab-intro-divider-pad, 36px) 0;
}

.astra-ab-intro__line {
  position: relative;
  width: 100%;
  height: 2px;
  background: var(--ab-border);
}

.astra-ab-intro__line::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: var(--ab-intro-line-lead, 180px);
  height: 100%;
  background: var(--ab-primary);
  transform: translateX(-50%);
}

.astra-ab-intro__desc {
  margin: 0;
  width: 100%;
  font-size: var(--ab-intro-desc-size, 28px);
  line-height: var(--ab-intro-desc-line, 34px);
  font-weight: 600;
  letter-spacing: -0.56px;
  color: var(--ab-text);
  overflow-wrap: break-word;
}

.astra-ab-intro__media {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: 100%;
  max-width: calc(var(--ab-intro-width, 1440px) + 32px);
  min-height: var(--ab-intro-media-height, 810px);
  margin: 0 auto;
  padding: var(--ab-intro-media-pad, 26px);
  overflow: hidden;
}

.astra-ab-intro__frame {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.astra-ab-intro__frame .swiper-slide {
  position: relative;
  height: 100%;
}

.astra-ab-intro__frame img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}

/* 左侧压一层深色（设计稿 1027:1907 那层渐变）。
   放在 __media 上而不是轮播容器里，免得跟着 swiper 的位移一起动 */
.astra-ab-intro__media::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0.2) 0%,
    rgba(102, 102, 102, 0) 100%
  );
}

/* 视频模式：视频铺满媒体框，跟图片轮播一样的裁切方式。
   这里不出进度条——那是轮播的屏数指示，视频上没有意义。 */
.astra-ab-intro__media--video {
  padding: 0; /* 图片模式那 26px 是给进度条留的位置，视频不需要 */
}

.astra-ab-intro__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  background: #000;
}

/* 开了"减弱动效"就别自动播放——自动播放的大面积画面对前庭敏感的用户很不友好。
   浏览器不会因为这条 CSS 停下来，所以配套 JS 里也判了一次（见 about.js）。 */
@media (prefers-reduced-motion: reduce) {
  .astra-ab-intro__video {
    /* 交给 JS 暂停，这里只是标记用途 */
  }
}

.astra-ab-intro__progress {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 2px;
  background: #d9d9d9;
}

.astra-ab-intro__progress span {
  display: block;
  height: 100%;
  width: var(--ab-intro-progress, 28.23%);
  background: var(--ab-primary);
  transition: width 0.35s ease;
}

/* ===================================================== 能力卡 735:519 */
.astra-ab-caps {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--ab-caps-gap, 96px);
  padding: var(--ab-caps-padding, 120px) 0;
}

.astra-ab-caps__row {
  display: flex;
  align-items: stretch;
  gap: var(--ab-caps-card-gap, 20px);
  width: 100%;
  max-width: calc(var(--ab-caps-width, 1600px) + 32px);
  min-height: var(--ab-caps-height, 529px);
  margin: 0 auto;
  padding: 0 calc(var(--ab-caps-row-pad, 20px) + 16px);
}

.astra-ab-caps__card {
  flex: 1 1 0;
  min-width: 0;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: var(--ab-caps-card-pad, 28px);
  border-top: 2px solid transparent;
  background: #ffffff;
  overflow: hidden;
  color: inherit;
  text-decoration: none;
  cursor: default;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

/* 填了链接的卡：整张可点 */
a.astra-ab-caps__card {
  cursor: pointer;
}

/* 高亮态：默认谁都不亮，鼠标移上去（或键盘聚焦到卡里）才亮。
   .is-active 留给「默认高亮第几张」那个控制项用 */
.astra-ab-caps__card.is-active,
.astra-ab-caps__card:hover,
.astra-ab-caps__card:focus-within {
  border-top-color: var(--ab-primary);
  box-shadow: 4px 4px 20px rgba(0, 0, 0, 0.05);
}

.astra-ab-caps__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  min-height: var(--ab-caps-body-height, 367px);
  padding: var(--ab-caps-body-pad, 24px) 0;
  width: 100%;
}

.astra-ab-caps__name {
  margin: 0;
  width: 100%;
  font-size: var(--ab-caps-name-size, 36px);
  line-height: var(--ab-caps-name-line, 40px);
  font-weight: 700;
  letter-spacing: -0.72px;
  color: var(--ab-muted);
  overflow-wrap: break-word;
  transition: color 0.25s ease;
}

.astra-ab-caps__card.is-active .astra-ab-caps__name,
.astra-ab-caps__card:hover .astra-ab-caps__name,
.astra-ab-caps__card:focus-within .astra-ab-caps__name {
  color: var(--ab-strong);
}

.astra-ab-caps__desc {
  margin: 0;
  width: 100%;
  font-size: var(--ab-caps-desc-size, 28px);
  line-height: var(--ab-caps-desc-line, 34px);
  font-weight: 600;
  letter-spacing: -0.56px;
  color: var(--ab-subtle);
  overflow-wrap: break-word;
  transition: color 0.25s ease;
}

.astra-ab-caps__card.is-active .astra-ab-caps__desc,
.astra-ab-caps__card:hover .astra-ab-caps__desc,
.astra-ab-caps__card:focus-within .astra-ab-caps__desc {
  color: var(--ab-muted);
}

.astra-ab-caps__cta {
  display: flex;
  /* 整张卡才是链接，这行只是视觉上的「按钮」 */
  pointer-events: none;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  font-size: var(--ab-caps-cta-size, 18px);
  line-height: var(--ab-caps-cta-line, 25px);
  font-weight: 700;
  letter-spacing: -0.36px;
  color: var(--ab-subtle);
  text-decoration: none;
  transition: color 0.25s ease;
}

.astra-ab-caps__card.is-active .astra-ab-caps__cta,
.astra-ab-caps__card:hover .astra-ab-caps__cta,
.astra-ab-caps__card:focus-within .astra-ab-caps__cta {
  color: var(--ab-primary);
}

.astra-ab-caps__cta span:last-child {
  flex: 0 0 auto;
}

/* ======================================================= 基地 317:1601 */
.astra-ab-base {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--ab-base-gap, 96px);
  padding: var(--ab-base-padding, 120px) 0;
  background: var(--ab-bg-cool);
}

.astra-ab-base__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--ab-base-head-gap, 36px);
  width: 100%;
  padding: 0 16px;
  text-align: center;
}

/* 三图带：中间大、两侧露边，整条比屏幕宽所以要裁掉两头 */
.astra-ab-base__strip {
  width: 100%;
  overflow: hidden;
}

.astra-ab-base__strip .swiper-wrapper {
  align-items: center;
}

.astra-ab-base__slide {
  position: relative;
  /* swiper-slide 宽度是 auto，这里的百分比没有可参照的父宽，
     用 vw 收窄才可预期（1920 下正好落在设计稿的 1596） */
  width: min(var(--ab-base-slide-width, 1596px), 92vw);
  height: var(--ab-base-slide-height, 686px);
  overflow: hidden;
  transition: width 0.35s ease, height 0.35s ease, box-shadow 0.35s ease;
}

.astra-ab-base__slide img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}

/* 非当前屏窄一圈也矮一截，跟设计稿里两侧那两张 1300×559 一致 */
.astra-ab-base__strip .swiper-slide:not(.swiper-slide-active) .astra-ab-base__slide {
  width: min(var(--ab-base-side-width, 1300px), 78vw);
  height: var(--ab-base-slide-side, 559px);
}

.astra-ab-base__strip .swiper-slide-active .astra-ab-base__slide {
  box-shadow: 22px 28px 20px rgba(0, 0, 0, 0.05);
}

.astra-ab-base__stats {
  display: flex;
  align-items: stretch;
  gap: var(--ab-base-stat-gap, 32px);
  width: 100%;
  max-width: calc(var(--ab-base-width, 1440px) + 32px);
  margin: 0 auto;
  padding: 0 16px;
}

/* 三栏是轮播的指示器：横线跟着当前在第几屏变红，点一栏跳到对应那屏 */
.astra-ab-base__stat {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--ab-base-stat-inner-gap, 32px);
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  font-family: inherit;
  text-align: left;
  cursor: default;
}

.astra-ab-base__stat[data-ab-stat] {
  cursor: pointer;
}

.astra-ab-base__bar {
  display: block;
  width: 100%;
  height: 2px;
  background: var(--ab-border);
  transition: background-color 0.3s ease;
}

.astra-ab-base__stat.is-active .astra-ab-base__bar {
  background: var(--ab-primary);
}

.astra-ab-base__text {
  display: block;
  width: 100%;
}

.astra-ab-base__label {
  display: block;
  margin: 0;
  width: 100%;
  font-size: var(--ab-base-label-size, 24px);
  line-height: var(--ab-base-label-line, 32px);
  font-weight: 600;
  letter-spacing: -0.24px;
  color: var(--ab-muted);
}

.astra-ab-base__value {
  display: block;
  margin: 12px 0 0;
  width: 100%;
  font-size: var(--ab-base-value-size, 28px);
  line-height: var(--ab-base-value-line, 34px);
  font-weight: 600;
  letter-spacing: -0.56px;
  color: var(--ab-strong);
  overflow-wrap: break-word;
}

/* ======================================================= 认证 1039:990 */
.astra-ab-certs {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  gap: var(--ab-certs-gap, 96px);
  padding: var(--ab-certs-padding, 120px) 0;
  background: #ffffff;
}

.astra-ab-certs__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--ab-certs-body-gap, 60px);
  width: 100%;
  padding: 0 16px;
}

.astra-ab-certs__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--ab-certs-card-gap, 18px);
}

.astra-ab-certs__card {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--ab-certs-card-inner-gap, 10px);
  width: var(--ab-certs-card-width, 148px);
  min-height: var(--ab-certs-card-height, 152px);
  padding: 16px 14px;
  background: var(--ab-bg-subtle);
  text-align: center;
}

.astra-ab-certs__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--ab-certs-icon-box, 48px);
  height: var(--ab-certs-icon-box, 48px);
}

.astra-ab-certs__icon img {
  display: block;
  width: var(--ab-certs-icon, 32px);
  height: var(--ab-certs-icon, 32px);
  max-width: none;
  object-fit: contain;
}

.astra-ab-certs__code {
  margin: 0;
  width: 100%;
  font-size: var(--ab-certs-code-size, 16px);
  line-height: 20px;
  font-weight: 700;
  letter-spacing: -0.16px;
  color: var(--ab-muted);
  overflow-wrap: break-word;
}

.astra-ab-certs__region {
  margin: 0;
  width: 100%;
  font-size: var(--ab-certs-region-size, 14px);
  line-height: 20px;
  font-weight: 400;
  color: var(--ab-muted);
}

.astra-ab-certs__zones {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--ab-certs-zone-gap, 24px);
}

.astra-ab-certs__zone {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: var(--ab-certs-zone-width, 280px);
  min-height: var(--ab-certs-zone-height, 128px);
  padding: 18px 24px;
  background: var(--ab-bg-subtle);
  color: var(--ab-muted);
  text-align: center;
}

.astra-ab-certs__zone-abbr {
  margin: 0;
  width: 100%;
  font-size: var(--ab-certs-abbr-size, 24px);
  line-height: 32px;
  font-weight: 600;
  letter-spacing: -0.24px;
}

.astra-ab-certs__zone-name {
  margin: 0;
  width: 100%;
  font-size: 16px;
  line-height: 20px;
  font-weight: 700;
  letter-spacing: -0.16px;
}

.astra-ab-certs__zone-list {
  margin: 0;
  width: 100%;
  font-size: 14px;
  line-height: 20px;
  font-weight: 400;
}

/* ======================================================= 历史 1045:526 */
.astra-ab-history {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--ab-history-gap, 96px);
  padding: var(--ab-history-padding, 120px) 0;
  overflow: hidden;
  color: #ffffff;
}

.astra-ab-history__bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.astra-ab-history__bg img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}

/* Elementor 懒加载会把容器的 background-image 掐掉，所以蒙版用伪元素铺颜色 */
.astra-ab-history__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--ab-history-veil, rgba(4, 11, 20, 0.83));
}

.astra-ab-history > *:not(.astra-ab-history__bg) {
  position: relative;
  z-index: 1;
}

.astra-ab-history .astra-ab__title,
.astra-ab-history .astra-ab__sub {
  color: #ffffff;
}

.astra-ab-history__stage {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  max-width: calc(var(--ab-history-width, 1600px) + 32px);
  margin: 0 auto;
  padding: 0 16px;
}

.astra-ab-history__nav {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 1px solid var(--ab-primary-soft);
  border-radius: 999px;
  background: transparent;
  color: #ffffff;
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.astra-ab-history__nav:hover {
  background: var(--ab-primary);
  border-color: var(--ab-primary);
}

.astra-ab-history__nav svg {
  display: block;
  width: 16px;
  height: 16px;
}

.astra-ab-history__nav--prev svg {
  transform: rotate(180deg);
}

.astra-ab-history__viewport {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
}

.astra-ab-history__slide {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--ab-history-slide-gap, 24px);
  padding: 0 var(--ab-history-slide-pad, 120px);
}

.astra-ab-history__info {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 24px;
  min-height: var(--ab-history-photo-height, 442px);
  padding: 28px 24px;
}

.astra-ab-history__year {
  margin: 0;
  font-size: var(--ab-history-year-size, 96px);
  line-height: var(--ab-history-year-line, 104px);
  font-weight: 700;
  letter-spacing: -3.84px;
  color: #ffffff;
  overflow-wrap: break-word;
}

.astra-ab-history__note {
  margin: 0;
  font-size: var(--ab-history-note-size, 18px);
  line-height: var(--ab-history-note-line, 25px);
  font-weight: 700;
  letter-spacing: -0.36px;
  color: #ffffff;
  overflow-wrap: break-word;
}

.astra-ab-history__photo {
  position: relative;
  flex: 0 0 var(--ab-history-photo-width, 619px);
  max-width: 50%;
  height: var(--ab-history-photo-height, 442px);
  overflow: hidden;
}

.astra-ab-history__photo img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}

/* 时间轴：点与线交替，当前年份转主题色 */
.astra-ab-history__timeline {
  width: 100%;
  max-width: calc(var(--ab-history-width, 1600px) + 32px);
  margin: 0 auto;
  padding: 0 16px;
}

.astra-ab-history__dots {
  display: flex;
  align-items: center;
  padding: 0 2px;
}

.astra-ab-history__dot {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  cursor: pointer;
}

.astra-ab-history__dot::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #cccccc;
  transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

.astra-ab-history__dot.is-active::before {
  background: var(--ab-primary);
  box-shadow: 0 0 0 5px var(--ab-primary-soft);
}

.astra-ab-history__link {
  flex: 1 1 0;
  min-width: 0;
  height: 1px;
  background: var(--ab-muted);
}

.astra-ab-history__years {
  display: flex;
  align-items: flex-start;
  margin-top: 16px;
}

.astra-ab-history__years span {
  flex: 1 1 0;
  min-width: 0;
  font-size: var(--ab-history-label-size, 18px);
  line-height: 25px;
  font-weight: 700;
  letter-spacing: -0.36px;
  color: #ffffff;
  text-align: center;
  transition: color 0.2s ease;
}

.astra-ab-history__years span.is-active {
  color: var(--ab-primary);
}

/* ======================================================= 品牌 317:1017 */
.astra-ab-partners {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--ab-partners-gap, 96px);
  padding: var(--ab-partners-padding, 120px) 0;
}

.astra-ab-partners__grid {
  display: grid;
  grid-template-columns: repeat(var(--ab-partners-columns, 6), minmax(0, 1fr));
  gap: var(--ab-partners-tile-gap, 10px);
  width: 100%;
  max-width: calc(var(--ab-partners-width, 1440px) + 32px);
  margin: 0 auto;
  padding: 0 16px;
}

.astra-ab-partners__tile {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  /* 这里必须是定高：给 min-height 的话 img 的 height:100% 没有参照，
     会退回图片原始高度（270×150）把格子撑大 */
  height: var(--ab-partners-tile-height, 112px);
  padding: 12px;
  border-bottom: 1px solid transparent;
  background: var(--ab-bg-subtle);
  transition: background-color 0.25s ease, border-color 0.25s ease,
    box-shadow 0.25s ease;
}

.astra-ab-partners__tile:hover,
.astra-ab-partners__tile.is-active {
  background: #ffffff;
  border-bottom-color: var(--ab-primary);
  box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.05);
}

.astra-ab-partners__tile img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: 100%;
  object-fit: contain;
  /* 默认去色，鼠标经过还原本色。注意：要看得到变化，传的 logo 得是彩色原图；
     设计稿导出的那批 24 张里有 23 张本身就是灰的，只有 GOODWE 那张是彩色 */
  filter: grayscale(var(--ab-partners-gray, 1));
  transition: filter 0.25s ease;
}

.astra-ab-partners__tile:hover img,
.astra-ab-partners__tile:focus-visible img,
.astra-ab-partners__tile.is-active img {
  filter: grayscale(0);
}

/* ======================================================== 窄屏：只翻方向 */
@media (max-width: 1200px) {
  .astra-ab-caps__row {
    flex-wrap: wrap;
  }

  /* 换行后 flex 的基准落在宽度轴上，这里给半宽 */
  .astra-ab-caps__card {
    flex: 1 1 45%;
  }

  .astra-ab-base__stats {
    flex-direction: column;
  }

  .astra-ab-base__stat {
    flex: 0 0 auto;
    width: 100%;
  }

  .astra-ab-history__slide {
    flex-direction: column;
    padding: 0;
  }

  .astra-ab-history__info {
    flex: 0 0 auto;
    width: 100%;
    min-height: 0;
    padding: 0;
  }

  .astra-ab-history__photo {
    flex: 0 0 auto;
    width: 100%;
    max-width: 100%;
  }

  .astra-ab-history__years span {
    font-size: var(--ab-history-label-size, 13px);
  }
}

@media (max-width: 768px) {
  .astra-ab-caps__card {
    flex: 1 1 100%;
  }

  .astra-ab-certs__card,
  .astra-ab-certs__zone {
    width: var(--ab-certs-card-width, 140px);
  }

  .astra-ab-certs__zone {
    width: 100%;
  }
}
