/*
 * ISO 15189 · Signature motion upgrade
 * Apple-style quality motion: blur-fade-rise entrances, ambient glow breathing,
 * staggered hero + intro reveals — one easing language across the page.
 */

/* ---- 页面级：裁掉 hero 光晕的横向扩散圈，避免窄视口出现横向滚动 ---- */
html {
  overflow-x: clip;
}

/* ---- 统一缓动语言 ---- */
.iso-signature .iso-hero-glow,
.iso-signature .dhead-in h1,
.iso-signature .dhead-in .iso-hero-cta,
.iso-signature .iso-intro .iso-eyebrow,
.iso-signature .iso-intro h2,
.iso-signature .iso-intro p {
  will-change: opacity, transform, filter;
}

/* ---- Hero：重开氛围光晕 + 缓慢呼吸 ---- */
.iso-signature nav:not(.scrolled):not(:hover):not(:focus-within):not(:has(.nav-links.open)) .nav-w > .logo .logo-mark img[src$="assets/logo-full.png"] {
  filter:
    brightness(0)
    invert(1)
    drop-shadow(0 0 4px rgba(255, 255, 255, .52))
    drop-shadow(0 0 13px rgba(255, 255, 255, .24))
    drop-shadow(0 2px 8px rgba(0, 20, 14, .28)) !important;
  transition: filter .28s ease;
}

.iso-signature .iso-hero-glow {
  display: block !important;
  animation: iso-glow-breathe 8s ease-in-out 1.2s infinite;
}

@keyframes iso-glow-breathe {
  0%, 100% {
    opacity: .82;
    transform: scale(1);
  }
  50% {
    opacity: 1;
    transform: scale(1.055);
  }
}

/* ---- Hero：标题 Apple 式 blur 入场（覆盖基础 upin） ---- */
.iso-signature .dhead-in h1 {
  animation: iso-hero-title 1s .18s cubic-bezier(.16, 1, .3, 1) backwards;
}

@keyframes iso-hero-title {
  from {
    opacity: 0;
    transform: translateY(38px);
    filter: blur(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}

/* ---- Hero：CTA 延迟渐入 ---- */
.iso-signature .dhead-in .iso-hero-cta {
  animation: iso-fade-rise .9s .42s cubic-bezier(.16, 1, .3, 1) backwards;
}

/* ---- Intro：分层 blur 入场（eyebrow → 标题 → 正文） ---- */
.iso-signature .iso-intro .iso-eyebrow {
  animation: iso-fade-rise .7s .06s both cubic-bezier(.16, 1, .3, 1);
}

.iso-signature .iso-intro h2 {
  animation: iso-fade-rise .9s .14s both cubic-bezier(.16, 1, .3, 1);
}

.iso-signature .iso-intro p {
  animation: iso-fade-rise .9s .24s both cubic-bezier(.16, 1, .3, 1);
}

@keyframes iso-fade-rise {
  from {
    opacity: 0;
    transform: translateY(24px);
    filter: blur(7px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}

/* ---- 04 性能评价 · 标准/非标矩阵文字改黑色（信息硬朗清晰） ---- */
.iso-signature .iso-performance-matrix h3 {
  color: #0d1110;
}

.iso-signature .iso-performance-matrix li b {
  color: #17191a;
}

.iso-signature .iso-performance-matrix li span {
  color: #3c4341;
}

/* ---- 05 质量管理体系 · 高级排版：严格等高网格 + 去毛玻璃 ---- */
/* 容器：干净白底、精细描边、无半透明浮感 */
.iso-signature .iso-system-web {
  background: linear-gradient(138deg, #ffffff 0%, #fbfdfc 100%);
  border: 1px solid rgba(20, 60, 45, .07);
  box-shadow:
    0 48px 96px -64px rgba(7, 66, 44, .28),
    inset 0 1px 0 rgba(255, 255, 255, 1);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

/* 网格：严格 3 行等高，卡片永不撑高行 */
.iso-signature .iso-system-grid {
  grid-template-rows: repeat(3, 158px);
  gap: 26px 48px;
  align-items: stretch;
}

/* 卡片：定高、纯白、精细边线、柔和投影，超长文字不撑行 */
.iso-signature .iso-system-card {
  gap: 18px;
  height: 158px;
  margin: 0;
  padding: 26px 28px;
  overflow: hidden;
  border: 1px solid rgba(18, 54, 41, .08);
  border-radius: 24px;
  background: #ffffff;
  box-shadow:
    0 18px 40px -34px rgba(9, 70, 46, .4),
    inset 0 1px 0 rgba(255, 255, 255, .98);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

/* 去掉卡片图标（圆点），纯文字信息更聚焦 */
.iso-signature .iso-system-card i {
  display: none;
}

.iso-signature .iso-system-card h3 {
  margin: 4px 0 7px;
  color: #122e25;
  font-size: 16.5px;
  font-weight: 640;
  letter-spacing: -.024em;
  line-height: 1.35;
}

.iso-signature .iso-system-card p {
  color: #61736b;
  font-size: 12.5px;
  line-height: 1.75;
  margin: 0;
}

.iso-signature .iso-system-card em {
  color: #188a5e;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
}

/* 中心圆：沿用性能评价蓝色圆的球体材质语言，保留品牌绿色。 */
.iso-signature .iso-system-core {
  width: min(100%, 288px);
  max-width: 288px;
  background: transparent;
  box-shadow: none;
}

/* 内缩球体：左上高光、右下压暗，与蓝色圆保持同一光源方向。 */
.iso-signature .iso-system-core::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 4%;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .5);
  border-radius: 50%;
  pointer-events: none;
  opacity: 1;
  background:
    radial-gradient(circle at 32% 19%, rgba(255, 255, 255, .72) 0%, rgba(255, 255, 255, .2) 9%, transparent 20%),
    radial-gradient(circle at 70% 76%, rgba(1, 44, 31, .48), transparent 38%),
    linear-gradient(145deg, rgba(94, 207, 163, .98) 0%, rgba(24, 145, 101, .98) 48%, rgba(5, 72, 51, .99) 100%);
  -webkit-mask: none;
  mask: none;
  -webkit-backdrop-filter: blur(18px) saturate(145%);
  backdrop-filter: blur(18px) saturate(145%);
  box-shadow:
    inset 8px 12px 22px rgba(255, 255, 255, .18),
    inset -12px -16px 26px rgba(1, 40, 27, .3),
    0 0 0 15px rgba(44, 171, 120, .11),
    0 32px 58px -30px rgba(3, 83, 55, .72);
  transform: none;
  transition: box-shadow .7s cubic-bezier(.16, 1, .3, 1);
}

/* 外部轨道：对应蓝色圆的偏心细线，不再在球体内部画圆。 */
.iso-signature .iso-system-core::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -13%;
  border: 2px solid rgba(31, 150, 105, .18);
  border-right-color: rgba(78, 208, 158, .48);
  border-bottom-color: rgba(78, 208, 158, .06);
  border-radius: 50%;
  background: transparent;
  opacity: 1;
  transform: rotate(25deg);
  box-shadow: 0 0 42px rgba(35, 172, 118, .09);
}

.iso-signature .iso-system-core > * {
  text-shadow: 0 2px 12px rgba(1, 45, 30, .3);
}

.iso-signature .iso-system-core h3 {
  font-size: clamp(22px, 2.4vw, 31px);
  color: #ffffff;
}

.iso-signature .iso-system-core > p {
  font-size: 8.5px;
  letter-spacing: .22em;
  color: rgba(218, 255, 239, .72);
}

.iso-signature .iso-system-core > span {
  font-size: 10.5px;
  line-height: 1.85;
  color: rgba(255, 255, 255, .78);
}

@media (hover: hover) and (pointer: fine) {
  .iso-signature .iso-system-core:hover {
    box-shadow: none;
  }

  .iso-signature .iso-system-core:hover::before {
    box-shadow:
      inset 8px 12px 22px rgba(255, 255, 255, .22),
      inset -12px -16px 26px rgba(1, 40, 27, .28),
      0 0 0 17px rgba(44, 171, 120, .14),
      0 38px 66px -30px rgba(3, 83, 55, .78);
  }
}

@media (prefers-reduced-motion: no-preference) {
  .iso-signature .iso-system-web.in .iso-system-core::before {
    animation: none;
  }

  .iso-signature .iso-system-web.in .iso-system-core::after {
    animation: iso-system-green-orbit 18s linear infinite;
  }

  @keyframes iso-system-green-orbit {
    to { transform: rotate(385deg); }
  }
}

@media (prefers-reduced-motion: reduce) {
  .iso-signature .iso-system-core::before {
    display: block;
  }

  .iso-signature .iso-system-core::after {
    opacity: 1 !important;
    transform: rotate(25deg) !important;
  }
}

@media (max-width: 640px) {
  .iso-signature .iso-system-core::after {
    inset: -11%;
  }
}

/* 底部链条：连成一体流程条，分隔线区分步骤，无独立卡片缝 */
.iso-signature .iso-system-chain {
  gap: 0;
  padding: 0;
  border: 1px solid rgba(18, 54, 41, .07);
  border-radius: 22px;
  background: #ffffff;
  box-shadow:
    0 16px 34px -30px rgba(9, 70, 46, .34),
    inset 0 1px 0 rgba(255, 255, 255, .98);
  overflow: hidden;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.iso-signature .iso-system-chain li {
  padding: 18px 20px;
  min-height: auto;
  border: 0;
  border-right: 1px solid rgba(18, 54, 41, .07);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.iso-signature .iso-system-chain li:last-child {
  border-right: 0;
}

.iso-signature .iso-system-chain li::before {
  display: none;
}

.iso-signature .iso-system-chain li + li::after {
  display: none;
}

.iso-signature .iso-system-chain b {
  font-size: 13px;
  letter-spacing: -.012em;
  color: #1c3c31;
}

.iso-signature .iso-system-chain span {
  font-size: 10px;
  line-height: 1.5;
  color: #71807a;
}

/* ---- prefers-reduced-motion：全部还原 ---- */
@media (prefers-reduced-motion: reduce) {
  .iso-signature .iso-hero-glow,
  .iso-signature .dhead-in h1,
  .iso-signature .dhead-in .iso-hero-cta,
  .iso-signature .iso-intro .iso-eyebrow,
  .iso-signature .iso-intro h2,
  .iso-signature .iso-intro p {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
  }
}

/* ---- 03 质量评估 · 循环环带平衡 ---- */
/* 让彩色环带保持足够的视觉面积，内圈与三段信息形成清晰层级。 */
.iso-signature .iso-quality-cycle::before {
  inset: 21%;
}

/* 核心跟随环带比例，保留苹果式的留白和呼吸感。 */
.iso-signature .iso-quality-cycle-core {
  inset: 31%;
}

/* ---- 03 质量评估 · 去掉节点小字说明（保留编号+标题） ---- */
.iso-signature .iso-quality-cycle-stage small {
  display: none;
}

/* 去掉卡片头部英文标签 CONTINUOUS LOOP 与底部注释 */
.iso-signature .iso-quality-cycle-card-head span {
  display: none;
}

.iso-signature .iso-quality-cycle-note {
  display: none;
}

/* ---- 03 质量评估 · 圆环在卡片内上下居中 ---- */
@media (min-width: 641px) {
  .iso-signature .iso-quality-cycle {
    position: absolute;
    top: 50%;
    left: 50%;
    margin: 0;
    transform: translate(-50%, -50%);
  }
}

/* ---- 03 性能评价 · 参考图三栏比例 ---- */
/* 桌面端：窄清单与圆球居中成组，右侧信息栏独立展开。 */
@media (min-width: 1081px) {
  .iso-signature .iso-performance-grid {
    grid-template-columns: minmax(190px, .72fr) minmax(300px, 1.05fr) minmax(340px, 1.23fr);
    gap: clamp(28px, 3vw, 44px);
  }

  .iso-signature .iso-performance-input {
    width: min(100%, 280px);
    max-width: 280px;
    justify-self: start;
    align-self: center;
  }
}

/* ---- 04 性能评价 · Apple OS 参考版式 ----
 * 参考 Apple OS 页面“材质服务于内容”的克制逻辑：减少纹理噪声，
 * 用系统字体、留白和单一蓝色焦点建立层级，不再依靠装饰线堆叠气氛。
 */
.iso-signature .iso-stage-performance-web {
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
}

.iso-signature .iso-performance-web {
  width: min(1680px, calc(100vw - 96px));
  /* 从 .dwrap 中等比例向两侧展开，但仍以视口中心对齐。 */
  margin-inline: calc((100% - min(1680px, calc(100vw - 96px))) / 2);
  padding: clamp(50px, 4.25vw, 82px);
  border-radius: 42px;
  background:
    radial-gradient(circle at 84% 8%, rgba(119, 158, 236, .1), transparent 26%),
    radial-gradient(circle at 12% 86%, rgba(82, 191, 161, .07), transparent 28%),
    linear-gradient(138deg, rgba(255, 255, 255, .97) 0%, rgba(249, 252, 253, .93) 48%, rgba(237, 245, 250, .87) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 1),
    inset 0 -1px 0 rgba(255, 255, 255, .62),
    0 0 0 1px rgba(255, 255, 255, .22),
    0 58px 132px -74px rgba(0, 19, 15, .9),
    0 22px 60px -42px rgba(15, 58, 48, .44);
}

.iso-signature .iso-performance-web::before {
  background:
    linear-gradient(116deg, rgba(255, 255, 255, .82) 0%, rgba(255, 255, 255, .24) 24%, transparent 44%),
    radial-gradient(circle at 8% 3%, rgba(255, 255, 255, .96), transparent 18%),
    radial-gradient(circle at 94% 89%, rgba(70, 115, 220, .06), transparent 27%);
}

/* Apple 式的干净表面：去掉会让大面积留白显得脏的网格纹理。 */
.iso-signature .iso-performance-web::after {
  display: none;
}

.iso-signature .iso-stage-performance-web .iso-performance-head {
  max-width: 780px;
  margin-bottom: clamp(72px, 6.8vw, 112px);
}

.iso-signature .iso-stage-performance-web .iso-performance-head h2 {
  color: #122f56;
  font-size: clamp(38px, 3.65vw, 58px);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -.075em;
  text-shadow: none;
}

.iso-signature .iso-stage-performance-web .iso-performance-head span {
  max-width: 680px;
  margin-top: 22px;
  color: #6b7c92;
  font-size: 13px;
  line-height: 1.9;
  letter-spacing: -.01em;
}

.iso-signature .iso-performance-grid {
  grid-template-columns: minmax(240px, .78fr) minmax(350px, .94fr) minmax(500px, 1.28fr);
  gap: clamp(32px, 3.25vw, 56px);
  align-items: center;
}

.iso-signature .iso-performance-input {
  width: min(100%, 304px);
}

.iso-signature .iso-performance-input > p {
  margin-bottom: 16px;
  color: #426bb7;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .18em;
}

.iso-signature .iso-performance-input > p::after {
  background: linear-gradient(90deg, rgba(57, 99, 181, .2), transparent);
}

.iso-signature .iso-performance-input ol::before {
  left: 29px;
  background: linear-gradient(180deg, transparent, rgba(65, 111, 217, .18) 14%, rgba(65, 111, 217, .18) 86%, transparent);
}

.iso-signature .iso-performance-input ol {
  gap: 12px;
}

.iso-signature .iso-performance-input li {
  min-height: 66px;
  padding: 13px 15px;
  border-radius: 18px;
  border-color: rgba(255, 255, 255, .98);
  background: linear-gradient(104deg, rgba(255, 255, 255, .96), rgba(248, 251, 255, .74));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 1),
    inset 0 -1px 0 rgba(91, 121, 161, .035),
    0 18px 32px -28px rgba(23, 54, 104, .44);
}

.iso-signature .iso-performance-input li::after {
  opacity: .65;
}

.iso-signature .iso-performance-input li:hover {
  transform: translateY(-2px);
}

.iso-signature .iso-performance-input li > span {
  color: #243f6b;
  font-size: 12px;
  font-weight: 650;
}

.iso-signature .iso-performance-input small {
  margin-top: 5px;
  color: #8a98aa;
  font-size: 10px;
}

.iso-signature .iso-performance-input b {
  width: 32px;
  height: 32px;
  flex-basis: 32px;
  border-radius: 11px;
  font-size: 10px;
}

.iso-signature .iso-performance-core {
  width: min(100%, 360px);
  max-width: 360px;
  filter: drop-shadow(0 30px 30px rgba(34, 73, 168, .12));
}

.iso-signature .iso-performance-core::before {
  inset: 3.5%;
  background:
    radial-gradient(circle at 30% 20%, rgba(255, 255, 255, .98) 0%, rgba(221, 234, 255, .52) 4%, rgba(181, 205, 255, .12) 11%, transparent 20%),
    radial-gradient(circle at 78% 82%, rgba(5, 25, 105, .6), transparent 48%),
    radial-gradient(circle at 43% 34%, #719eff 0%, #3e72e0 45%, #2353bd 73%, #143a98 100%);
  box-shadow:
    inset 12px 16px 32px rgba(255, 255, 255, .16),
    inset -18px -24px 40px rgba(5, 27, 111, .3),
    0 0 0 18px rgba(77, 120, 225, .075),
    0 38px 76px -38px rgba(13, 45, 143, .78);
}

.iso-signature .iso-performance-core::after {
  inset: -13%;
  opacity: .9;
}

.iso-signature .iso-performance-core strong {
  font-size: clamp(22px, 2.05vw, 31px);
  font-weight: 600;
  letter-spacing: -.055em;
}

.iso-signature .iso-performance-core span {
  color: rgba(255, 255, 255, .72);
  font-size: 10px;
}

.iso-signature .iso-performance-matrix {
  width: min(100%, 500px);
  gap: 18px;
}

.iso-signature .iso-performance-matrix section {
  padding: 21px 22px;
  border-radius: 24px;
  border-color: rgba(255, 255, 255, .94);
  background:
    radial-gradient(circle at 100% 0%, rgba(104, 148, 234, .08), transparent 34%),
    linear-gradient(140deg, rgba(255, 255, 255, .97), rgba(247, 251, 255, .78));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 1),
    inset 0 -1px 0 rgba(54, 88, 134, .04),
    0 28px 56px -44px rgba(28, 56, 103, .48);
}

.iso-signature .iso-performance-matrix section > header {
  gap: 13px;
  margin-bottom: 17px;
}

.iso-signature .iso-performance-matrix i {
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(230, 239, 255, .82);
  color: #396dd9;
  font-size: 11px;
}

.iso-signature .iso-performance-matrix h3 {
  color: #15191e;
  font-size: 19px;
  font-weight: 600;
  letter-spacing: -.045em;
}

.iso-signature .iso-performance-matrix ol {
  border-radius: 16px;
  background: rgba(249, 251, 255, .5);
}

.iso-signature .iso-performance-matrix li {
  min-height: 52px;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 13px;
  padding: 10px 13px;
}

.iso-signature .iso-performance-matrix li b {
  color: #25292d;
  font-size: 12px;
  font-weight: 650;
}

.iso-signature .iso-performance-matrix li b::before {
  width: 4px;
  height: 4px;
  flex-basis: 4px;
  background: #6090eb;
  box-shadow: 0 0 0 3px rgba(81, 129, 231, .08);
}

.iso-signature .iso-performance-matrix li span {
  color: #59616a;
  font-size: 12px;
  line-height: 1.55;
}

.iso-signature .iso-performance-value {
  grid-template-columns: 156px repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: clamp(52px, 4.6vw, 76px);
  padding: 21px 24px;
  border-radius: 22px;
  background:
    radial-gradient(circle at 4% 50%, rgba(78, 124, 229, .075), transparent 18%),
    linear-gradient(115deg, rgba(255, 255, 255, .98), rgba(247, 251, 255, .82));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 1),
    inset 0 -1px 0 rgba(54, 85, 128, .04),
    0 24px 50px -40px rgba(24, 54, 104, .44);
}

.iso-signature .iso-performance-value strong {
  color: #1d4cae;
  font-size: 16px;
  font-weight: 600;
}

@media (min-width: 1081px) {
  .iso-signature .iso-performance-grid {
    grid-template-columns: minmax(240px, .78fr) minmax(350px, .94fr) minmax(500px, 1.28fr);
    gap: clamp(32px, 3.25vw, 56px);
  }

  .iso-signature .iso-performance-input {
    width: min(100%, 304px);
    max-width: 304px;
  }

  .iso-signature .iso-performance-core {
    width: min(100%, 360px);
    max-width: 360px;
  }

  .iso-signature .iso-performance-matrix {
    width: min(100%, 500px);
    max-width: 500px;
  }
}

/* ---- 2026-08-13 品质提升 Round 2 ----
 * 1) 02 章眉题恢复居中对称双线（iso-diagram-system 后加载隐藏了 ::after）
 * 2) 03 章眉题与副标题入列后，收紧与三栏网格的间距
 * 3) 05 章眉题入列后与 headline 网格对齐
 */
.iso-signature .iso-quality-web-head p::after {
  display: block;
  content: "";
}

.iso-signature .iso-stage-performance-web .iso-performance-head p {
  margin-bottom: 15px;
}

.iso-signature .iso-stage-performance-web .iso-performance-head h2 {
  margin-bottom: 0;
}

.iso-signature .iso-reference-system .iso-system-head p {
  margin-bottom: 24px;
}

@media (max-width: 760px) {
  .iso-signature .iso-performance-web {
    width: calc(100vw - 32px);
    margin-inline: calc((100% - (100vw - 32px)) / 2);
    padding: 36px 20px 28px;
    border-radius: 30px;
  }

  .iso-signature .iso-stage-performance-web .iso-performance-head {
    margin-bottom: 42px;
  }

  .iso-signature .iso-stage-performance-web .iso-performance-head h2 {
    font-size: clamp(34px, 9.2vw, 43px);
  }

  .iso-signature .iso-performance-grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .iso-signature .iso-performance-input {
    width: 100%;
    max-width: none;
  }

  .iso-signature .iso-performance-core {
    width: min(84vw, 340px);
    max-width: 340px;
    margin: 6px auto 10px;
  }

  .iso-signature .iso-performance-matrix section {
    padding: 19px 16px;
    border-radius: 22px;
  }

  .iso-signature .iso-performance-matrix {
    grid-column: auto;
    width: 100%;
    max-width: none;
    justify-self: stretch;
  }

  .iso-signature .iso-performance-matrix h3 {
    font-size: 18px;
  }

  .iso-signature .iso-performance-matrix li {
    grid-template-columns: 98px minmax(0, 1fr);
    gap: 9px;
    padding: 10px 9px;
  }

  .iso-signature .iso-performance-value {
    grid-template-columns: 1fr;
    gap: 11px;
    margin-top: 28px;
    padding: 20px;
  }

  .iso-signature .iso-performance-value span {
    min-height: 28px;
    border-left: 0;
  }
}
