/*
 * ISO 15189 · 认可全流程咨询
 * Consulting chapter refit: a deep-green closing-loop visual in pure CSS,
 * replacing the heavy static PNG, with a numbered McKinsey-style step ledger
 * on the left. Matches the shared Apple/glass language of the page.
 */

/* The legacy intro chapter is no longer present, so the first section starts
 * directly beneath the hero instead of inheriting the old page-top spacer. */
.iso-signature .iso-page {
  padding-top: 0;
}

.iso-signature .iso-stage-consulting-web {
  --consulting-green: #115845;
  --consulting-mint: #89e8c3;
  --consulting-ink: #f4fcf8;
  --consulting-copy: rgba(240, 249, 245, .86);
  --consulting-muted: rgba(224, 242, 235, .72);
  --consulting-soft: rgba(255, 255, 255, .075);
  --consulting-line: rgba(231, 248, 241, .15);
  --diagram-accent: #3fc694;
  --diagram-ink: #f0fbf6;
  --diagram-copy: rgba(220, 238, 230, .84);
  position: relative;
  display: block;
  padding: clamp(112px, 9vw, 156px) 0;
  scroll-margin-top: clamp(88px, 8vw, 112px);
  color: var(--consulting-ink);
  border-top: 0;
  overflow: visible;
  isolation: isolate;
}

.iso-signature .iso-stage-consulting-web::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0 calc(50% - 50vw);
  background: var(--consulting-green);
}

.iso-signature .iso-consulting-web {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  gap: clamp(72px, 8vw, 132px);
  align-items: center;
  width: min(100%, 1240px);
  max-width: 1240px;
  margin: 0 auto;
}

.iso-signature .iso-consulting-copy,
.iso-signature .iso-consulting-figure {
  min-width: 0;
}

.iso-signature .iso-consulting-copy {
  width: min(100%, 520px);
}

/* ---- 左：章节头 + 六步清单 ---- */
.iso-signature .iso-consulting-head {
  max-width: 570px;
}

.iso-signature .iso-consulting-head p {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  margin: 0 0 25px;
  color: var(--consulting-mint);
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .2em;
}

.iso-signature .iso-consulting-head p::before {
  content: "";
  width: 28px;
  height: 1px;
  background: rgba(125, 224, 187, .5);
}

.iso-signature .iso-consulting-head p b {
  display: grid;
  width: 25px;
  height: 25px;
  flex: 0 0 25px;
  place-items: center;
  border: 1px solid rgba(125, 224, 187, .3);
  border-radius: 50%;
  background: rgba(125, 224, 187, .07);
  color: var(--consulting-mint);
  font-size: 9px;
  letter-spacing: 0;
}

.iso-signature .iso-consulting-head h2 {
  margin: 0;
  color: var(--consulting-ink);
  font-size: clamp(43px, 4.35vw, 60px);
  font-weight: 570;
  line-height: 1.06;
  letter-spacing: -.058em;
  text-wrap: balance;
}

.iso-signature .iso-consulting-head > span {
  display: block;
  max-width: 540px;
  margin-top: 25px;
  color: var(--consulting-copy);
  font-size: 14.5px;
  line-height: 1.82;
  letter-spacing: -.008em;
}

.iso-signature .iso-consulting-steps {
  display: grid;
  gap: 0;
  margin: 38px 0 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--consulting-line);
}

.iso-signature .iso-consulting-steps li {
  position: relative;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  min-height: 74px;
  padding: 13px 16px 13px 4px;
  border-bottom: 1px solid var(--consulting-line);
  transition:
    transform .45s cubic-bezier(.16, 1, .3, 1),
    background .35s ease,
    border-color .35s ease,
    border-radius .35s ease;
}

.iso-signature .iso-consulting-steps li::before {
  content: "";
  position: absolute;
  left: -1px;
  top: 18px;
  bottom: 18px;
  width: 2px;
  border-radius: 999px;
  background: var(--consulting-mint);
  opacity: 0;
  transform: scaleY(.35);
  transition: opacity .3s ease, transform .45s cubic-bezier(.16, 1, .3, 1);
}

.iso-signature .iso-consulting-steps li b {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border: 1px solid rgba(137, 232, 195, .18);
  border-radius: 50%;
  background: rgba(137, 232, 195, .035);
  color: var(--consulting-mint);
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .04em;
  font-variant-numeric: tabular-nums;
  transition:
    color .35s ease,
    background .35s ease,
    border-color .35s ease,
    box-shadow .35s ease;
}

.iso-signature .iso-consulting-steps li > div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.iso-signature .iso-consulting-steps strong {
  color: var(--consulting-ink);
  font-size: 15.5px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: -.02em;
}

.iso-signature .iso-consulting-steps small {
  color: var(--consulting-muted);
  font-size: 11.5px;
  font-weight: 400;
  line-height: 1.5;
}

/* ---- 右：纯 CSS 认可闭环 ---- */
.iso-signature .iso-consulting-figure {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 620px;
  padding: clamp(30px, 4vw, 58px);
  isolation: isolate;
}

.iso-signature .iso-consulting-figure::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: min(96%, 570px);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(63, 198, 148, .14), rgba(24, 105, 76, .055) 48%, transparent 70%);
  filter: blur(10px);
  pointer-events: none;
}

.iso-signature .iso-consulting-ring {
  position: relative;
  width: min(100%, 540px);
  max-width: 540px;
  aspect-ratio: 1;
  border-radius: 50%;
  background:
    radial-gradient(circle at 30% 10%, rgba(255, 255, 255, .13), transparent 29%),
    conic-gradient(
      from -30deg,
      #55d3a2 0deg 58deg,
      rgba(6, 50, 39, .2) 58deg 60deg,
      #43c895 60deg 118deg,
      rgba(6, 50, 39, .2) 118deg 120deg,
      #35b785 120deg 178deg,
      rgba(6, 50, 39, .2) 178deg 180deg,
      #2ba374 180deg 238deg,
      rgba(6, 50, 39, .2) 238deg 240deg,
      #238e64 240deg 298deg,
      rgba(6, 50, 39, .2) 298deg 300deg,
      #1c7654 300deg 358deg,
      rgba(6, 50, 39, .2) 358deg 360deg
    );
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .21),
    inset 0 -1px 0 rgba(0, 22, 15, .22),
    0 52px 110px -58px rgba(0, 19, 13, .88);
  transition: transform .7s cubic-bezier(.16, 1, .3, 1), box-shadow .7s cubic-bezier(.16, 1, .3, 1);
}

.iso-signature .iso-consulting-ring::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 19%;
  border: 1px solid rgba(218, 255, 240, .12);
  border-radius: 50%;
  background:
    radial-gradient(circle at 38% 22%, rgba(98, 205, 158, .18), transparent 34%),
    linear-gradient(155deg, #0d4232 0%, #092d22 58%, #061f18 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .13),
    inset 0 0 0 1px rgba(137, 232, 195, .04),
    0 30px 68px -28px rgba(1, 15, 10, .84);
}

.iso-signature .iso-consulting-ring::after {
  content: "";
  position: absolute;
  z-index: 0;
  inset: -8.5%;
  border: 2px solid rgba(137, 232, 195, .14);
  border-right-color: rgba(137, 232, 195, .46);
  border-bottom-color: rgba(137, 232, 195, .04);
  border-radius: 50%;
  transform: rotate(24deg);
}

.iso-signature .iso-consulting-ring-core {
  position: absolute;
  z-index: 2;
  inset: 29%;
  display: grid;
  place-content: center;
  color: #fff;
  text-align: center;
  pointer-events: none;
}

.iso-signature .iso-consulting-ring-core small {
  margin-bottom: 16px;
  color: rgba(174, 240, 214, .62);
  font-size: 9px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .22em;
}

.iso-signature .iso-consulting-ring-core strong {
  color: #fff;
  font-size: clamp(25px, 2.15vw, 32px);
  font-weight: 560;
  line-height: 1.16;
  letter-spacing: -.045em;
  text-wrap: balance;
}

.iso-signature .iso-consulting-node {
  position: absolute;
  z-index: 3;
  display: grid;
  justify-items: center;
  gap: 9px;
  transform: translate(-50%, -50%);
  color: #fff;
  text-align: center;
}

.iso-signature .iso-consulting-node em {
  display: grid;
  box-sizing: border-box;
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  padding: 0;
  place-items: center;
  overflow: visible;
  border: 1px solid rgba(219, 248, 236, .36);
  border-radius: 50%;
  background: rgba(7, 49, 37, .48);
  -webkit-backdrop-filter: blur(10px) saturate(125%);
  backdrop-filter: blur(10px) saturate(125%);
  color: #eafff6;
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .2),
    0 15px 28px -16px rgba(1, 18, 12, .82);
  transition:
    transform .4s cubic-bezier(.16, 1, .3, 1),
    border-color .35s ease,
    background .35s ease,
    box-shadow .4s ease;
}

.iso-signature .iso-consulting-node i {
  color: rgba(232, 247, 240, .9);
  font-size: 11.5px;
  font-style: normal;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -.01em;
  white-space: nowrap;
}

/* 六个节点沿环均匀排布（数字圆环落在彩色环带的中线附近）。 */
.iso-signature .iso-consulting-node.n1 { left: 50%;   top: 11%; }
.iso-signature .iso-consulting-node.n2 { left: 84.5%; top: 30%; }
.iso-signature .iso-consulting-node.n3 { left: 85.5%; top: 70.5%; }
.iso-signature .iso-consulting-node.n4 { left: 50%;   top: 92%; }
.iso-signature .iso-consulting-node.n5 { left: 14.5%; top: 70.5%; }
.iso-signature .iso-consulting-node.n6 { left: 15.5%; top: 30%; }

/* ---- 动效 ---- */
.iso-signature .iso-consulting-ring::after {
  animation: iso-consult-orbit 16s linear infinite;
}

@media (prefers-reduced-motion: no-preference) {
  .iso-signature .iso-consulting-web.in .iso-consulting-head p {
    animation: iso-consult-in .72s cubic-bezier(.16, 1, .3, 1) .02s backwards;
  }

  .iso-signature .iso-consulting-web.in .iso-consulting-head h2 {
    animation: iso-consult-in .86s cubic-bezier(.16, 1, .3, 1) .08s backwards;
  }

  .iso-signature .iso-consulting-web.in .iso-consulting-head > span {
    animation: iso-consult-in .78s cubic-bezier(.16, 1, .3, 1) .17s backwards;
  }

  .iso-signature .iso-consulting-web.in .iso-consulting-steps li {
    animation: iso-consult-row .7s cubic-bezier(.16, 1, .3, 1) var(--row-delay) backwards;
  }

  .iso-signature .iso-consulting-web.in .iso-consulting-steps li:nth-child(1) { --row-delay: .2s; }
  .iso-signature .iso-consulting-web.in .iso-consulting-steps li:nth-child(2) { --row-delay: .27s; }
  .iso-signature .iso-consulting-web.in .iso-consulting-steps li:nth-child(3) { --row-delay: .34s; }
  .iso-signature .iso-consulting-web.in .iso-consulting-steps li:nth-child(4) { --row-delay: .41s; }
  .iso-signature .iso-consulting-web.in .iso-consulting-steps li:nth-child(5) { --row-delay: .48s; }
  .iso-signature .iso-consulting-web.in .iso-consulting-steps li:nth-child(6) { --row-delay: .55s; }

  .iso-signature .iso-consulting-web.in .iso-consulting-figure {
    animation: iso-consult-figure .95s cubic-bezier(.16, 1, .3, 1) .12s backwards;
  }

  .iso-signature .iso-consulting-web.in .iso-consulting-node {
    animation: iso-consult-node .6s cubic-bezier(.16, 1, .3, 1) var(--node-delay) backwards;
  }

  .iso-signature .iso-consulting-web.in .iso-consulting-node.n1 { --node-delay: .34s; }
  .iso-signature .iso-consulting-web.in .iso-consulting-node.n2 { --node-delay: .42s; }
  .iso-signature .iso-consulting-web.in .iso-consulting-node.n3 { --node-delay: .5s; }
  .iso-signature .iso-consulting-web.in .iso-consulting-node.n4 { --node-delay: .58s; }
  .iso-signature .iso-consulting-web.in .iso-consulting-node.n5 { --node-delay: .66s; }
  .iso-signature .iso-consulting-web.in .iso-consulting-node.n6 { --node-delay: .74s; }

  .iso-signature .iso-consulting-web.in .iso-consulting-ring-core {
    animation:
      iso-consult-core 1.05s cubic-bezier(.16, 1, .3, 1) .3s backwards,
      iso-consult-breathe 6.4s ease-in-out 1.4s infinite;
  }

  .iso-signature .iso-consulting-node em {
    animation: iso-consult-node-pulse 6s ease-in-out calc(.9s + var(--node-delay)) infinite;
  }

  .iso-signature .iso-consulting-web.in .iso-consulting-figure::before {
    animation: iso-consult-ambient 7s ease-in-out 1.2s infinite;
  }

  @keyframes iso-consult-in {
    from { opacity: 0; transform: translateY(20px); filter: blur(6px); }
    to { opacity: 1; transform: translateY(0); filter: blur(0); }
  }

  @keyframes iso-consult-row {
    from { opacity: 0; transform: translateX(-14px); }
    to { opacity: 1; transform: translateX(0); }
  }

  @keyframes iso-consult-figure {
    from { opacity: 0; transform: scale(.9); filter: blur(8px); }
    62% { opacity: 1; transform: scale(1.02); filter: blur(0); }
    to { opacity: 1; transform: scale(1); filter: blur(0); }
  }

  @keyframes iso-consult-node {
    from { opacity: 0; transform: translate(-50%, -50%) scale(.6); }
    to { opacity: 1; transform: translate(-50%, -50%) scale(1); }
  }

  @keyframes iso-consult-core {
    from { opacity: 0; transform: scale(.82); }
    to { opacity: 1; transform: scale(1); }
  }

  @keyframes iso-consult-breathe {
    0%, 100% { filter: brightness(1) saturate(1); }
    50% { filter: brightness(1.045) saturate(1.035); }
  }

  @keyframes iso-consult-ambient {
    0%, 100% { opacity: .72; transform: scale(.97); }
    50% { opacity: 1; transform: scale(1.035); }
  }

  @keyframes iso-consult-node-pulse {
    0%, 6%, 22%, 100% {
      border-color: rgba(219, 248, 236, .3);
      background: rgba(7, 49, 37, .62);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, .17);
    }
    12% {
      border-color: rgba(125, 224, 187, .6);
      background: rgba(74, 199, 148, .34);
      box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .2),
        0 0 0 8px rgba(86, 214, 164, .08);
    }
  }
}

@media (hover: hover) and (pointer: fine) {
  .iso-signature .iso-consulting-steps li:hover {
    transform: translateX(6px);
    border-color: rgba(208, 240, 227, .2);
    border-radius: 14px;
    background: var(--consulting-soft);
  }

  .iso-signature .iso-consulting-steps li:hover::before {
    opacity: 1;
    transform: scaleY(1);
  }

  .iso-signature .iso-consulting-steps li:hover b {
    border-color: rgba(137, 232, 195, .5);
    background: rgba(83, 211, 162, .16);
    color: #b8f5dc;
    box-shadow: 0 0 0 6px rgba(83, 211, 162, .045);
  }

  .iso-signature .iso-consulting-figure:hover .iso-consulting-ring {
    transform: translateY(-4px) scale(1.008);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, .18),
      inset 0 -1px 0 rgba(0, 22, 15, .28),
      0 54px 108px -48px rgba(0, 18, 12, .96);
  }

  .iso-signature .iso-consulting-web:has(.iso-consulting-steps li:nth-child(1):hover) .iso-consulting-node.n1 em,
  .iso-signature .iso-consulting-web:has(.iso-consulting-steps li:nth-child(2):hover) .iso-consulting-node.n2 em,
  .iso-signature .iso-consulting-web:has(.iso-consulting-steps li:nth-child(3):hover) .iso-consulting-node.n3 em,
  .iso-signature .iso-consulting-web:has(.iso-consulting-steps li:nth-child(4):hover) .iso-consulting-node.n4 em,
  .iso-signature .iso-consulting-web:has(.iso-consulting-steps li:nth-child(5):hover) .iso-consulting-node.n5 em,
  .iso-signature .iso-consulting-web:has(.iso-consulting-steps li:nth-child(6):hover) .iso-consulting-node.n6 em {
    animation: none;
    transform: scale(1.08);
    border-color: rgba(178, 244, 218, .78);
    background: rgba(73, 201, 151, .5);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, .24),
      0 0 0 9px rgba(83, 211, 162, .09);
  }
}

/* ---- 响应式 ---- */
@media (max-width: 1080px) {
  .iso-signature .iso-consulting-web {
    grid-template-columns: minmax(0, .9fr) minmax(380px, 1.1fr);
    gap: clamp(44px, 5vw, 68px);
  }
}

@media (max-width: 900px) {
  .iso-signature .iso-consulting-web {
    grid-template-columns: minmax(0, 1fr);
    gap: 58px;
  }

  .iso-signature .iso-consulting-head {
    max-width: none;
  }

  .iso-signature .iso-consulting-copy {
    width: 100%;
  }

  .iso-signature .iso-consulting-ring {
    width: min(100%, 460px);
  }
}

@media (max-width: 640px) {
  .iso-signature .iso-stage-consulting-web {
    padding: 86px 0;
  }

  .iso-signature .iso-consulting-web {
    gap: 46px;
  }

  .iso-signature .iso-consulting-head h2 {
    font-size: clamp(34px, 9.6vw, 44px);
    line-height: 1.12;
  }

  .iso-signature .iso-consulting-head > span {
    margin-top: 18px;
    font-size: 13px;
    line-height: 1.8;
  }

  .iso-signature .iso-consulting-steps {
    margin-top: 32px;
  }

  .iso-signature .iso-consulting-steps li {
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 13px;
    min-height: 69px;
    padding: 13px 8px 13px 2px;
  }

  .iso-signature .iso-consulting-steps strong {
    font-size: 13.5px;
  }

  .iso-signature .iso-consulting-figure {
    min-height: auto;
    padding: 6px;
  }

  .iso-signature .iso-consulting-ring {
    width: min(100%, 400px);
    margin: 0 auto;
  }
}

@media (max-width: 400px) {
  .iso-signature .iso-consulting-node em {
    width: 32px;
    height: 32px;
    min-width: 32px;
    min-height: 32px;
    font-size: 9.5px;
  }

  .iso-signature .iso-consulting-node i {
    font-size: 9px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .iso-signature .iso-consulting-head > *,
  .iso-signature .iso-consulting-steps li,
  .iso-signature .iso-consulting-figure,
  .iso-signature .iso-consulting-figure::before,
  .iso-signature .iso-consulting-ring,
  .iso-signature .iso-consulting-node,
  .iso-signature .iso-consulting-ring-core,
  .iso-signature .iso-consulting-node em,
  .iso-signature .iso-consulting-ring::after {
    animation: none !important;
    transition: none !important;
    opacity: 1 !important;
    filter: none !important;
  }

  .iso-signature .iso-consulting-head > *,
  .iso-signature .iso-consulting-steps li,
  .iso-signature .iso-consulting-figure,
  .iso-signature .iso-consulting-figure::before,
  .iso-signature .iso-consulting-ring,
  .iso-signature .iso-consulting-ring-core,
  .iso-signature .iso-consulting-node em {
    transform: none !important;
  }

  .iso-signature .iso-consulting-node {
    transform: translate(-50%, -50%) !important;
  }

  .iso-signature .iso-consulting-ring::after {
    transform: rotate(24deg) !important;
  }
}

/* ---- 仪表盘式闭环：可点亮扇区 + 左右联动 ---- */
.iso-signature .iso-consulting-svg {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}

.iso-signature .iso-consulting-ticks line {
  stroke-width: 1.1;
}

.iso-signature .iso-consulting-ticks line:nth-child(6n+1) {
  stroke: rgba(214, 250, 234, .55);
  stroke-width: 1.6;
}

.iso-signature .iso-consulting-slices path {
  fill: #1f7d58;
  transition: fill .45s ease, filter .45s ease, opacity .45s ease;
}

.iso-signature .iso-consulting-slices path:nth-child(1) { fill: #63d9a8; }
.iso-signature .iso-consulting-slices path:nth-child(2) { fill: #4ec896; }
.iso-signature .iso-consulting-slices path:nth-child(3) { fill: #3bb483; }
.iso-signature .iso-consulting-slices path:nth-child(4) { fill: #2d9e70; }
.iso-signature .iso-consulting-slices path:nth-child(5) { fill: #24885f; }
.iso-signature .iso-consulting-slices path:nth-child(6) { fill: #1d7351; }

.iso-signature .iso-consulting-slices path.is-active {
  fill: #9af3cc;
  filter: drop-shadow(0 0 16px rgba(140, 236, 196, .28));
}

.iso-signature .iso-consulting-ring {
  background:
    radial-gradient(circle at 32% 16%, rgba(255, 255, 255, .1), transparent 28%),
    radial-gradient(circle at 50% 50%, #0b3326 0 41%, #07241b 42% 100%);
}

.iso-signature .iso-consulting-steps li {
  cursor: pointer;
}

.iso-signature .iso-consulting-steps li.is-active {
  transform: translateX(6px);
  border-radius: 14px;
  background: rgba(255, 255, 255, .07);
}

.iso-signature .iso-consulting-steps li.is-active::before {
  opacity: 1;
  transform: scaleY(1);
}

.iso-signature .iso-consulting-steps li.is-active b {
  border-color: rgba(155, 236, 204, .62);
  background: rgba(83, 211, 162, .2);
  color: #d9fff0;
  box-shadow: 0 0 0 6px rgba(83, 211, 162, .06);
}

.iso-signature .iso-consulting-node.is-active em {
  animation: none;
  transform: scale(1.08);
  border-color: rgba(186, 248, 222, .86);
  background: rgba(79, 208, 156, .56);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .28),
    0 0 0 10px rgba(83, 211, 162, .1);
}

.iso-signature .iso-consulting-node.is-active i {
  color: #fff;
}

/* ---- 01 · Intro 编号徽标 ---- */
.iso-signature .iso-intro .iso-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 11px;
}

.iso-signature .iso-intro .iso-eyebrow b {
  display: grid;
  width: 25px;
  height: 25px;
  place-items: center;
  border: 1px solid rgba(37, 139, 100, .28);
  border-radius: 50%;
  background: rgba(37, 139, 100, .07);
  font-size: 9px;
  letter-spacing: 0;
}

/* ════ 2026-08-13 Round 2 · Apple 简化 ════
 * 左栏: 数字去圆形徽标, 安静小号数字 + 更大行距, 去掉位移/底色动效;
 * 表盘: 去刻度、去亮色环带与轨道环、去光斑与玻璃材质, 扇区统一为发丝级分区,
 *       活跃态只用一个高亮 — 两栏共享同一种状态语言。
 * 色彩: 偏离亮色 — 薄荷/亮绿全部压成低饱和灰绿(鼠尾草), 文字保持近白。
 */

/* —— 色彩令牌: 亮薄荷 → 鼠尾草灰绿 —— */
.iso-signature .iso-stage-consulting-web {
  --consulting-mint: #9db8a8;
}

.iso-signature .iso-consulting-head p::before {
  background: rgba(157, 184, 168, .45);
}

.iso-signature .iso-consulting-head p b {
  border-color: rgba(157, 184, 168, .28);
  background: rgba(157, 184, 168, .06);
}

.iso-signature .iso-consulting-ring::before {
  background:
    radial-gradient(circle at 38% 22%, rgba(255, 255, 255, .05), transparent 34%),
    linear-gradient(155deg, #0d4232 0%, #092d22 58%, #061f18 100%);
}

.iso-signature .iso-consulting-ring-core small {
  color: rgba(157, 184, 168, .6);
}

/* —— 左栏清单 —— */
.iso-signature .iso-consulting-steps {
  margin-top: 44px;
}

.iso-signature .iso-consulting-steps li {
  min-height: 80px;
  padding: 16px 12px 16px 0;
}

.iso-signature .iso-consulting-steps li b {
  width: auto;
  height: auto;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: rgba(157, 184, 168, .42);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .14em;
  box-shadow: none;
}

.iso-signature .iso-consulting-steps li:hover,
.iso-signature .iso-consulting-steps li.is-active {
  transform: none;
  border-radius: 0;
  border-color: var(--consulting-line);
  background: transparent;
}

.iso-signature .iso-consulting-steps li:hover b,
.iso-signature .iso-consulting-steps li.is-active b {
  border: 0;
  background: transparent;
  color: #b5c9bf;
  box-shadow: none;
}

/* —— 表盘: 去刻度 —— */
.iso-signature .iso-consulting-ticks {
  display: none;
}

/* —— 表盘: 单一暗色盘体, 阴影收静 —— */
.iso-signature .iso-consulting-ring {
  background: radial-gradient(circle at 50% 50%, #0c3528 0 41%, #07251c 42% 100%);
  box-shadow:
    inset 0 0 0 1px rgba(190, 210, 200, .08),
    inset 0 1px 0 rgba(255, 255, 255, .12),
    0 44px 92px -62px rgba(0, 19, 13, .9);
}

/* —— 表盘: 扇区统一为发丝级分区, 活跃扇区单一薄荷色 —— */
.iso-signature .iso-consulting-slices path,
.iso-signature .iso-consulting-slices path:nth-child(1),
.iso-signature .iso-consulting-slices path:nth-child(2),
.iso-signature .iso-consulting-slices path:nth-child(3),
.iso-signature .iso-consulting-slices path:nth-child(4),
.iso-signature .iso-consulting-slices path:nth-child(5),
.iso-signature .iso-consulting-slices path:nth-child(6) {
  fill: rgba(255, 255, 255, .045);
}

.iso-signature .iso-consulting-slices path.is-active {
  fill: rgba(44, 122, 90, .4);
  filter: none;
}

/* —— 表盘: 去旋转轨道环 —— */
.iso-signature .iso-consulting-ring::after {
  display: none;
}

/* —— 表盘: 去背景光斑 —— */
.iso-signature .iso-consulting-figure::before {
  display: none;
}

.iso-signature .iso-consulting-figure:hover .iso-consulting-ring {
  transform: none;
  box-shadow:
    inset 0 0 0 1px rgba(190, 210, 200, .08),
    inset 0 1px 0 rgba(255, 255, 255, .12),
    0 44px 92px -62px rgba(0, 19, 13, .9);
}

/* —— 节点: 实色安静, 去玻璃、去脉冲 —— */
.iso-signature .iso-consulting-node em {
  width: 42px;
  height: 42px;
  min-width: 42px;
  min-height: 42px;
  border-color: rgba(188, 206, 197, .18);
  background: #0a3a2c;
  color: #b3c4ba;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07);
  animation: none;
}

.iso-signature .iso-consulting-node.is-active em,
.iso-signature .iso-consulting-web:has(.iso-consulting-steps li:nth-child(1):hover) .iso-consulting-node.n1 em,
.iso-signature .iso-consulting-web:has(.iso-consulting-steps li:nth-child(2):hover) .iso-consulting-node.n2 em,
.iso-signature .iso-consulting-web:has(.iso-consulting-steps li:nth-child(3):hover) .iso-consulting-node.n3 em,
.iso-signature .iso-consulting-web:has(.iso-consulting-steps li:nth-child(4):hover) .iso-consulting-node.n4 em,
.iso-signature .iso-consulting-web:has(.iso-consulting-steps li:nth-child(5):hover) .iso-consulting-node.n5 em,
.iso-signature .iso-consulting-web:has(.iso-consulting-steps li:nth-child(6):hover) .iso-consulting-node.n6 em {
  transform: scale(1.05);
  border-color: rgba(168, 194, 180, .55);
  background: #1f5c45;
  box-shadow: none;
  animation: none;
}

@media (max-width: 400px) {
  .iso-signature .iso-consulting-node em {
    width: 34px;
    height: 34px;
    min-width: 34px;
    min-height: 34px;
  }
}

/* ════ 2026-08-13 Round 3 · 浅绿表盘 ════
 * 保留深绿章节背景，只将环形图中的近黑盘体换成清透的浅绿；
 * 同时将盘内文字、数字节点和分区线切换为深绿，保证对比和层级。 */
.iso-signature .iso-consulting-ring {
  background:
    radial-gradient(circle at 34% 18%, rgba(255, 255, 255, .68), transparent 24%),
    radial-gradient(circle at 50% 50%, #edf9f3 0 41%, #caeadb 42% 100%);
  box-shadow:
    inset 0 0 0 1px rgba(224, 249, 238, .76),
    inset 0 1px 0 rgba(255, 255, 255, .82),
    0 44px 92px -58px rgba(1, 42, 29, .72);
}

.iso-signature .iso-consulting-ring::before {
  border-color: rgba(24, 105, 76, .18);
  background:
    radial-gradient(circle at 36% 20%, rgba(255, 255, 255, .82), transparent 31%),
    linear-gradient(150deg, #f1fbf6 0%, #d8f1e5 56%, #c4e7d7 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .92),
    inset 0 0 0 1px rgba(23, 104, 76, .045),
    0 28px 58px -36px rgba(0, 55, 37, .48);
}

.iso-signature .iso-consulting-slices path,
.iso-signature .iso-consulting-slices path:nth-child(1),
.iso-signature .iso-consulting-slices path:nth-child(2),
.iso-signature .iso-consulting-slices path:nth-child(3),
.iso-signature .iso-consulting-slices path:nth-child(4),
.iso-signature .iso-consulting-slices path:nth-child(5),
.iso-signature .iso-consulting-slices path:nth-child(6) {
  fill: rgba(24, 112, 80, .105);
  stroke: rgba(246, 253, 249, .88);
  stroke-width: 1.35;
}

.iso-signature .iso-consulting-slices path.is-active {
  fill: rgba(29, 132, 94, .24);
  filter: none;
}

.iso-signature .iso-consulting-ring-core {
  color: #0d4c3a;
}

.iso-signature .iso-consulting-ring-core small {
  color: rgba(25, 103, 76, .58);
}

.iso-signature .iso-consulting-ring-core strong {
  color: #0b4937;
}

.iso-signature .iso-consulting-node {
  color: #123f32;
}

.iso-signature .iso-consulting-node em {
  border-color: rgba(30, 112, 82, .25);
  background: #edf8f2;
  color: #255f4c;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .9),
    0 12px 24px -18px rgba(1, 46, 31, .65);
}

.iso-signature .iso-consulting-node i,
.iso-signature .iso-consulting-node.is-active i {
  color: #174c3b;
}

.iso-signature .iso-consulting-node.is-active em,
.iso-signature .iso-consulting-web:has(.iso-consulting-steps li:nth-child(1):hover) .iso-consulting-node.n1 em,
.iso-signature .iso-consulting-web:has(.iso-consulting-steps li:nth-child(2):hover) .iso-consulting-node.n2 em,
.iso-signature .iso-consulting-web:has(.iso-consulting-steps li:nth-child(3):hover) .iso-consulting-node.n3 em,
.iso-signature .iso-consulting-web:has(.iso-consulting-steps li:nth-child(4):hover) .iso-consulting-node.n4 em,
.iso-signature .iso-consulting-web:has(.iso-consulting-steps li:nth-child(5):hover) .iso-consulting-node.n5 em,
.iso-signature .iso-consulting-web:has(.iso-consulting-steps li:nth-child(6):hover) .iso-consulting-node.n6 em {
  border-color: rgba(28, 119, 85, .42);
  background: #c7ead9;
  color: #0d523d;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .78),
    0 0 0 7px rgba(212, 242, 228, .42);
}

.iso-signature .iso-consulting-figure:hover .iso-consulting-ring {
  box-shadow:
    inset 0 0 0 1px rgba(224, 249, 238, .76),
    inset 0 1px 0 rgba(255, 255, 255, .82),
    0 44px 92px -58px rgba(1, 42, 29, .72);
}

/* ════ 2026-08-13 Round 4 · 编号放入圆形块 ════
 * 编号本身就是节点的圆形容器内容：固定尺寸、零内边距、双向居中。
 * 圆块抬到连接线之上，连接线只到圆块边缘，不穿过数字。 */
.iso-signature .iso-consulting-node {
  z-index: 4;
  gap: 10px;
}

.iso-signature .iso-consulting-node em {
  position: relative;
  z-index: 2;
  display: grid;
  box-sizing: border-box;
  width: 52px;
  height: 52px;
  min-width: 52px;
  min-height: 52px;
  margin: 0;
  padding: 0;
  place-items: center;
  align-items: center;
  justify-items: center;
  border: 1px solid rgba(30, 112, 82, .28);
  border-radius: 50%;
  background:
    radial-gradient(circle at 32% 24%, rgba(255, 255, 255, .98), transparent 30%),
    linear-gradient(145deg, #f8fdf9 0%, #e2f3e9 100%);
  color: #195d47;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .95),
    0 10px 22px -16px rgba(1, 46, 31, .58);
  transform: none;
}

.iso-signature .iso-consulting-node i {
  position: relative;
  z-index: 4;
  display: block;
  margin: 0;
  color: #174c3b;
  font-size: 13px;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
}

.iso-signature .iso-consulting-node.is-active em,
.iso-signature .iso-consulting-web:has(.iso-consulting-steps li:nth-child(1):hover) .iso-consulting-node.n1 em,
.iso-signature .iso-consulting-web:has(.iso-consulting-steps li:nth-child(2):hover) .iso-consulting-node.n2 em,
.iso-signature .iso-consulting-web:has(.iso-consulting-steps li:nth-child(3):hover) .iso-consulting-node.n3 em,
.iso-signature .iso-consulting-web:has(.iso-consulting-steps li:nth-child(4):hover) .iso-consulting-node.n4 em,
.iso-signature .iso-consulting-web:has(.iso-consulting-steps li:nth-child(5):hover) .iso-consulting-node.n5 em,
.iso-signature .iso-consulting-web:has(.iso-consulting-steps li:nth-child(6):hover) .iso-consulting-node.n6 em {
  border-color: rgba(28, 119, 85, .52);
  background:
    radial-gradient(circle at 32% 24%, rgba(255, 255, 255, .92), transparent 30%),
    linear-gradient(145deg, #e1f5e9 0%, #c5ead8 100%);
  color: #0d523d;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .94),
    0 0 0 7px rgba(212, 242, 228, .42),
    0 10px 22px -16px rgba(1, 46, 31, .58);
  transform: none;
}

@media (max-width: 760px) {
  .iso-signature .iso-consulting-node em {
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    font-size: 12px;
  }

  .iso-signature .iso-consulting-node i {
    font-size: 11px;
  }
}

@media (max-width: 400px) {
  .iso-signature .iso-consulting-node em {
    width: 40px;
    height: 40px;
    min-width: 40px;
    min-height: 40px;
    font-size: 11px;
  }
}
