:root {
  --content: 1280px;
  --ink: #161616;
  --muted: #5e5e5e;
  --line: #e4e4e4;
  --fill: #f3f3f3;
  --fill-2: #e7e7e7;
  --block: #d9d9d9;
  --btn: #2468f2;
  --btn-hover: #1a56d6;
  --white: #fff;
  --gap: 16px;
  --nav-h: 80px;
  --radius: 4px;
  font-family: "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  color: var(--ink);
  background: var(--white);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; }
img { max-width: 100%; }
button, input { font: inherit; color: inherit; }
a { color: inherit; }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.skip {
  position: absolute;
  left: 16px;
  top: -40px;
  background: #111;
  color: #fff;
  padding: 8px 12px;
  z-index: 20;
}
.skip:focus { top: 8px; }

.wrap {
  width: min(var(--content), calc(100% - 48px));
  margin-inline: auto;
}

h1, h2, h3, p { margin: 0; }
h1, h2 { font-size: 32px; line-height: 1.35; font-weight: 700; letter-spacing: 0; }
h3 { font-size: 16px; line-height: 1.4; font-weight: 700; }

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  padding: 0 16px;
  border: 0;
  border-radius: var(--radius);
  background: var(--btn);
  color: #fff;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}
.btn:hover { background: var(--btn-hover); }
.btn-row { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }

:focus-visible { outline: 2px solid #111; outline-offset: 2px; }

.nav {
  position: sticky;
  top: 0;
  z-index: 10;
  background: #fff;
  border-bottom: 1px solid var(--line);
  min-height: var(--nav-h);
}
.nav-bar {
  display: flex;
  align-items: center;
  gap: 20px;
  min-height: var(--nav-h);
}
.logo {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  font-weight: 700;
  font-size: 18px;
  flex: 0 0 auto;
}
.logo-mark {
  width: 18px;
  height: 18px;
  background: var(--block);
  clip-path: polygon(50% 0, 100% 86%, 0 86%);
}
.nav-links, .nav-tools {
  display: flex;
  align-items: center;
  gap: 22px;
}
.nav-links { flex: 1; }
.nav-explore-wrap {
  position: static;
  display: inline-flex;
  align-items: center;
  height: 36px;
}
.nav-explore {
  display: inline-flex;
  align-items: center;
  height: 36px;
  font-size: 16px;
  line-height: 1;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
}
.nav-explore[aria-expanded="true"] { font-weight: 700; }
.explore[hidden] { display: none; }
.explore {
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  background: #fff;
  border-top: 1px solid var(--line);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08);
  padding: 28px 0 200px;
}
.explore-sheet {
  width: min(var(--content), calc(100% - 48px));
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 40px;
}
.explore-kicker { font-size: 14px; font-weight: 700; margin-bottom: 16px; }
.explore-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.explore-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  text-decoration: none;
}
.explore-shot {
  width: 100%;
  height: 132px;
  border-radius: 8px;
  background: #c8c8c8;
  display: grid;
  place-items: center;
  color: #555;
  font-size: 13px;
}
.explore-card strong { font-size: 15px; line-height: 1.4; }
.explore-card > span:last-child { color: var(--muted); font-size: 13px; line-height: 1.5; }
.explore-foot { display: flex; gap: 24px; margin-top: 28px; }
.explore-foot a { font-size: 14px; text-decoration: none; }
.explore-side {
  border-left: 1px solid var(--line);
  padding-left: 28px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}
.explore-side-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
.explore-side-head .explore-kicker { margin-bottom: 0; }
.explore-close {
  width: 28px;
  height: 28px;
  border: 0;
  background: none;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}
.explore-visual {
  width: 100%;
  height: 108px;
  margin: 12px 0 8px;
  border-radius: 8px;
  background: #151b2d url("assets/neo/12-master-fluent.png") 72% center / cover no-repeat;
}
.explore-blurb { color: var(--muted); font-size: 13px; line-height: 1.55; margin-bottom: 18px; }
.nav-links a, .nav-tools a, .icon-btn {
  text-decoration: none;
  font-size: 16px;
  line-height: 1;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
}
.explore-side > a { font-size: 14px; line-height: 1.45; padding: 14px 0; text-decoration: none; }
.chip-link {
  background: var(--fill);
  border-radius: var(--radius);
  padding: 6px 10px;
}
.nav-tools { margin-left: auto; gap: 14px; }
.icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 36px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-sizing: border-box;
}
.nav-scrim[hidden] { display: none; }
.nav-scrim {
  position: fixed;
  z-index: 9;
  left: 0;
  right: 0;
  bottom: 0;
  top: var(--nav-h);
  background: rgba(255, 255, 255, .34);
  backdrop-filter: blur(16px) saturate(140%);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
}
@media (prefers-reduced-transparency: reduce) {
  .nav-scrim { backdrop-filter: none; -webkit-backdrop-filter: none; background: rgba(255, 255, 255, .82); }
}
.nav-toggle { display: none; }
.nav-search-wrap { position: relative; width: 260px; height: 40px; }
.nav-search-field {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  height: 40px;
  padding: 0 14px;
  border: 1px solid #e6e6e6;
  border-radius: 20px;
  background: #fff;
  color: #8d8d8d;
  box-sizing: border-box;
}
.nav-search-field input {
  width: 100%;
  min-width: 0;
  height: auto;
  border: 0;
  outline: none;
  background: transparent;
  padding: 0;
  border-radius: 0;
  font: inherit;
  font-size: 14px;
  color: var(--ink);
}
.nav-search-field input::placeholder { color: #b0b0b0; }
.search-ico { width: 16px; height: 16px; flex: none; }
.nav-search-wrap.is-open .nav-search-field {
  position: absolute;
  right: 0;
  top: 0;
  z-index: 13;
  width: 480px;
  border-radius: 12px 12px 0 0;
  border-color: #ececec;
  box-shadow: 0 10px 28px rgba(0, 0, 0, .08);
}
.nav-search-wrap.is-open .search-ico { order: 2; margin-left: auto; }
.search-panel {
  position: absolute;
  z-index: 12;
  top: 40px;
  right: 0;
  width: 480px;
  padding: 8px 0 0;
  background: #fff;
  border: 1px solid #ececec;
  border-top: 0;
  border-radius: 0 0 12px 12px;
  box-shadow: 0 16px 28px rgba(0, 0, 0, .08);
}
.search-panel[hidden] { display: none; }
.search-hot {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 8px 18px 6px;
  color: #8a8a8a;
  font-size: 14px;
}
.search-hot span {
  width: 14px;
  height: 14px;
  border: 1.5px solid #9a9a9a;
  border-radius: 50%;
  box-sizing: border-box;
}
.search-panel ol { list-style: none; margin: 0; padding: 0 8px 8px; }
.search-panel li a {
  display: flex;
  align-items: center;
  gap: 12px;
  height: 36px;
  padding: 0 10px;
  text-decoration: none;
  font-size: 15px;
}
.search-panel li b {
  width: 16px;
  font-size: 15px;
  font-weight: 700;
  color: #b5b5b5;
}
.search-panel li:nth-child(-n+3) b { color: #6e6e6e; }
.search-ai {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 8px 8px;
  padding: 12px 10px 8px;
  border-top: 1px solid #f0f0f0;
  text-decoration: none;
  color: #6a6a6a;
  font-size: 14px;
}
.search-ai::before {
  content: "";
  width: 14px;
  height: 14px;
  border: 1.5px solid #9a9a9a;
  border-radius: 3px;
  box-sizing: border-box;
}
.composer input, .stack-form input {
  width: 100%;
  height: 40px;
  border: 1px solid #d7e3f4;
  background: #fff;
  border-radius: var(--radius);
  padding: 0 12px;
}

.hero {
  background: #0a1020;
  padding: 0;
}
.hero-banner {
  position: relative;
  background: #0a1020;
  color: #1a1a1a;
  min-height: 460px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  overflow: hidden;
  padding: 64px 0 28px;
  transition: color .35s ease;
}
/* 全屏底图：轮播图铺满首屏，左侧轻量渐变保证文案可读 */
.hero-slides { position: absolute; inset: 0; }
.hero-slides img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 62% 50%;
  opacity: 0;
  transition: opacity var(--fx-dur, 420ms) var(--fx-ease, cubic-bezier(.16, 1, .3, 1));
}
.hero-slides img.is-on { opacity: 1; }
.hero-slides::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  transition: background .35s ease;
}
.hero-banner[data-theme="light"] .hero-slides::after {
  background: linear-gradient(
    105deg,
    rgba(255, 255, 255, .92) 0%,
    rgba(255, 255, 255, .72) 28%,
    rgba(255, 255, 255, .28) 48%,
    rgba(255, 255, 255, 0) 68%
  );
}
.hero-banner[data-theme="dark"] .hero-slides::after {
  background: linear-gradient(
    105deg,
    rgba(6, 10, 22, .82) 0%,
    rgba(6, 10, 22, .55) 30%,
    rgba(6, 10, 22, .2) 52%,
    rgba(6, 10, 22, 0) 72%
  );
}
.hero-copy, .hero-banner .wrap { position: relative; z-index: 1; }
.hero-copy { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; padding-bottom: 8px; max-width: none; }
.hero-tabs { margin-top: auto; padding-top: 48px; }
.hero-copy h1 {
  font-size: clamp(32px, 4.2vw, 44px);
  line-height: 1.22;
  white-space: nowrap;
  transition: color .35s ease;
}
.hero-copy p {
  font-size: 16px;
  line-height: 1.6;
  max-width: none;
  white-space: nowrap;
  transition: color .35s ease;
}
.hero-banner[data-theme="light"] { color: #1a1a1a; }
.hero-banner[data-theme="light"] .hero-copy h1 { color: #121212; }
.hero-banner[data-theme="light"] .hero-copy p { color: #3a3a3a; }
.hero-banner[data-theme="dark"] { color: #f5f7fb; }
.hero-banner[data-theme="dark"] .hero-copy h1 { color: #fff; }
.hero-banner[data-theme="dark"] .hero-copy p { color: rgba(255, 255, 255, .86); }
.hero-banner .btn {
  min-width: 148px;
  height: 44px;
  padding: 0 28px;
  border-radius: 8px;
  background: #2468f2;
  color: #fff;
  border: 1px solid transparent;
  transition: background .25s ease, color .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.hero-banner .btn-row .btn:last-child { background: #fff; color: #2468f2; border: 1px solid #2468f2; }
.hero-banner .btn:hover { background: #1a56d6; }
.hero-banner .btn-row .btn:last-child:hover { background: #eef4ff; }
.hero-banner[data-theme="dark"] .btn-row .btn:last-child {
  background: rgba(255, 255, 255, .1);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .72);
  backdrop-filter: blur(8px);
}
.hero-banner[data-theme="dark"] .btn-row .btn:last-child:hover {
  background: rgba(255, 255, 255, .2);
}
.promo {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 28px;
  margin: 8px 0 18px;
}
.promo button {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  padding: 0 0 4px;
  border: 0;
  background: none;
  cursor: pointer;
  text-align: left;
  font-size: 15px;
  line-height: 1.4;
  color: inherit;
  white-space: nowrap;
  transition: color .35s ease, opacity .25s ease;
}
.hero-banner[data-theme="light"] .promo button { color: #1a1a1a; }
.hero-banner[data-theme="light"] .promo button:not(.is-on) { opacity: .72; }
.hero-banner[data-theme="dark"] .promo button { color: rgba(255, 255, 255, .92); }
.hero-banner[data-theme="dark"] .promo button:not(.is-on) { opacity: .62; }
.promo .track {
  display: block;
  height: 2px;
  background: rgba(0, 0, 0, .18);
  position: relative;
  overflow: hidden;
  transition: background .35s ease;
}
.hero-banner[data-theme="dark"] .promo .track { background: rgba(255, 255, 255, .28); }
.promo .fill {
  position: absolute;
  inset: 0;
  background: #2468f2;
  transform: scaleX(0);
  transform-origin: left center;
}
.hero-banner[data-theme="dark"] .promo .fill { background: #fff; }
.promo button.is-on .fill {
  animation: hero-play var(--play, 5s) linear forwards;
}
.board, .thumb-art {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.thumb-art { height: 52px; background: #d5dbe3; }
.art-plan { gap: 14px; background: #c5ced8; color: #f7fafc; }
.art-plan .agent-word { font-size: 36px; }
.thumb-art.art-plan .agent-mark { width: 28px; height: 28px; font-size: 12px; border-width: 2px; }
.thumb-art.art-plan .agent-word { font-size: 12px; }
.art-platform, .art-seedance, .art-ip, .art-token { flex-direction: column; gap: 8px; padding: 16px; align-items: stretch; }
.art-platform { background: #d9e0e8; }
.ui-row { height: 28px; background: #fff; border-radius: 2px; }
.ui-row.short { width: 70%; }
.art-seedance { background: #ddd4cc; flex-direction: row; gap: 8px; }
.frame { flex: 1; height: 72%; background: #f6f3ef; border: 1px solid #c8beb4; }
.thumb-art.art-seedance .frame { height: 100%; }
.art-ip { background: #d8d5de; color: #2a2a2a; }
.art-ip strong { font-size: 28px; letter-spacing: 0.04em; }
.thumb-art.art-ip strong { font-size: 11px; }
.art-token { background: #d5e0d8; flex-direction: row; gap: 8px; }
.price { flex: 1; background: #fff; min-height: 64%; }
.thumb-art.art-token .price { min-height: 100%; }
@keyframes hero-play { to { transform: scaleX(1); } }
.agent-mark {
  width: 72px;
  height: 72px;
  border: 3px solid #f7fafc;
  border-radius: 10px;
  display: grid;
  place-items: center;
  color: #f7fafc;
  font-weight: 700;
  font-size: 22px;
  position: relative;
}
.agent-mark::after {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  background: #f7fafc;
  top: -4px;
  right: -4px;
}
.agent-word {
  display: flex;
  flex-direction: column;
  color: #f7fafc;
  font-size: 40px;
  line-height: 1.05;
  font-weight: 600;
}
.agent-head { text-align: center; margin-bottom: 36px; }
.agent-head h2 { font-size: 32px; font-weight: 600; letter-spacing: 0.04em; }
.agent-head p {
  width: 100%;
  margin-top: 14px;
  color: #8d8d8d;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
}
.agent-head p::before, .agent-head p::after {
  content: "";
  flex: 1;
  border-top: 1px dashed #d0d0d0;
}
.agent-body {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.9fr);
  gap: 28px;
  align-items: stretch;
}
.scene-list { display: flex; flex-direction: column; border-top: 1px dashed #e3e3e3; }
.scene {
  box-sizing: border-box;
  width: 100%;
  height: 84px;
  border: 0;
  border-bottom: 1px dashed #e3e3e3;
  background: transparent;
  text-align: left;
  padding: 0 18px;
  font-size: 16px;
  line-height: 1.4;
  color: #8a8a8a;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.scene em { font-style: normal; }
.scene.is-on {
  background: #f4f7fb;
  color: #1a1a1a;
  font-size: 22px;
  font-weight: 600;
  border-bottom-color: transparent;
}
.scene.is-on em { color: #ff6a00; font-weight: 700; }
.scene .go {
  flex: 0 0 auto;
  height: 34px;
  padding: 0 14px;
  background: #111;
  color: #fff;
  font-size: 13px;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
}
.scene .go[hidden] { display: none; }
.video-stage {
  background: #000;
  min-height: 100%;
  position: relative;
}
.video-stage.agent-ambient {
  background: #151b2d url("assets/neo/10-agent-ambient.png") center / cover no-repeat;
}
.video-track {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
}
.video-track .fill {
  display: block;
  width: 100px;
  height: 1px;
  transform: scaleX(0);
  transform-origin: left center;
  animation: hero-play var(--play, 6s) linear forwards;
}

.entries {
  width: 100%;
  margin: 0;
  padding: 8px 0;
  background: #fff;
  border-top: 1px solid #e8eaed;
  border-bottom: 1px solid #e8eaed;
  color: #1a1a1a;
}
.entries-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  width: min(var(--content), calc(100% - 48px));
  margin: 0 auto;
  padding: 0;
}
.entries a {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 14px;
  min-height: 56px;
  padding: 10px 18px;
  background: transparent;
  text-decoration: none;
  text-align: left;
  color: #1a1a1a;
  border-right: 1px solid #e5e7eb;
  overflow: hidden;
  isolation: isolate;
  transition:
    background-color 220ms ease,
    transform 220ms ease,
    box-shadow 220ms ease,
    color 220ms ease;
}
.entries a:last-child { border-right: 0; }
.entries-ico {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: #eaf1ff;
  color: #2468f2;
  transition:
    background-color 220ms ease,
    color 220ms ease,
    transform 220ms ease;
}
.entries-ico svg {
  width: 26px;
  height: 26px;
  display: block;
}
.entries-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  min-width: 0;
}
.entries a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 2px;
  background: #2468f2;
  opacity: 0;
  transform: scaleY(0.4);
  transition: opacity 220ms ease, transform 220ms ease;
}
.entries a::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, rgba(36, 104, 242, 0.08), transparent 55%);
  opacity: 0;
  transition: opacity 220ms ease;
  pointer-events: none;
  z-index: -1;
}
.entries strong {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  color: #1a1a1a;
  transition: color 220ms ease;
}
.entries span:not(.entries-ico):not(.entries-copy) {
  color: #6b7280;
  font-size: 12px;
  line-height: 1.35;
  max-width: 100%;
  transition: color 220ms ease;
}
.entries-copy > span {
  color: #6b7280;
  font-size: 12px;
  line-height: 1.35;
  max-width: 100%;
  transition: color 220ms ease;
}
.entries a:hover,
.entries a:focus-visible {
  background: #fff;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(26, 32, 44, 0.06);
  outline: none;
  z-index: 1;
}
.entries a:hover::before,
.entries a:focus-visible::before {
  opacity: 1;
  transform: scaleY(1);
}
.entries a:hover::after,
.entries a:focus-visible::after {
  opacity: 1;
}
.entries a:hover .entries-ico,
.entries a:focus-visible .entries-ico {
  background: #2468f2;
  color: #fff;
  transform: scale(1.04);
}
.entries a:hover strong,
.entries a:focus-visible strong {
  color: #2468f2;
  text-decoration: none;
}
.entries a:hover .entries-copy > span,
.entries a:focus-visible .entries-copy > span {
  color: #4b5563;
}
.entries a:active {
  transform: translateY(0);
  box-shadow: 0 2px 8px rgba(26, 32, 44, 0.05);
}
@media (prefers-reduced-motion: reduce) {
  .entries a,
  .entries a::before,
  .entries a::after,
  .entries strong,
  .entries-ico,
  .entries-copy > span {
    transition: none;
  }
  .entries a:hover,
  .entries a:focus-visible,
  .entries a:active,
  .entries a:hover .entries-ico,
  .entries a:focus-visible .entries-ico {
    transform: none;
  }
}
@media (max-width: 960px) {
  .entries a {
    min-height: 52px;
    padding: 10px 14px;
    gap: 10px;
  }
  .entries-ico {
    flex-basis: 36px;
    width: 36px;
    height: 36px;
  }
  .entries-ico svg { width: 22px; height: 22px; }
  .entries a:nth-child(2n) { border-right: 0; }
  .entries a:nth-child(-n+2) { border-bottom: 1px solid #e5e7eb; }
}
@media (max-width: 560px) {
  .entries-row { grid-template-columns: 1fr; }
  .entries a {
    border-right: 0;
    border-bottom: 1px solid #e5e7eb;
  }
  .entries a:last-child { border-bottom: 0; }
}

.section { padding: 88px 0; scroll-margin-top: calc(var(--nav-h) + 8px); }
#hero, #closing { scroll-margin-top: var(--nav-h); }
.section-alt { background: #fafafa; }
#industry {
  position: relative;
  background: #fff;
  overflow: hidden;
}
.industry-bgs {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}
.industry-bg {
  position: absolute;
  inset: 0;
  background: center / cover no-repeat;
  opacity: 0;
  transition: opacity var(--fx-dur, 420ms) var(--fx-ease, cubic-bezier(.16, 1, .3, 1));
}
.industry-bg.is-on { opacity: 0.2; }
#industry > .wrap { position: relative; z-index: 1; }

/* 全页内容切换统一微动效 */
:root {
  --fx-dur: 420ms;
  --fx-ease: cubic-bezier(.16, 1, .3, 1);
  --fx-y: 10px;
}
@keyframes fx-in {
  from { opacity: 0; transform: translateY(var(--fx-y)); }
  to { opacity: 1; transform: none; }
}
.fx-in {
  animation: fx-in var(--fx-dur) var(--fx-ease) both;
}
@media (prefers-reduced-motion: reduce) {
  .industry-bg,
  .hero-slides img { transition: none; }
  .fx-in { animation: none; }
}
.center-head {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  margin-bottom: 40px;
}
.center-head p { max-width: 760px; color: var(--muted); font-size: 16px; line-height: 1.65; }

.qs-tabs, .cat-tabs {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px 28px;
  margin-bottom: 28px;
}
.qs-tabs button, .cat-tabs button, .tabs button {
  background: none;
  border: 0;
  padding: 8px 2px 10px;
  cursor: pointer;
  font-size: 16px;
  color: #8d8d8d;
  border-bottom: 2px solid transparent;
}
.qs-tabs button[aria-selected="true"],
.cat-tabs button[aria-selected="true"],
.tabs button[aria-selected="true"] {
  color: var(--ink);
  font-weight: 700;
  border-bottom-color: #2468f2;
}
.qs-grid,
.agent-stage {
  min-height: 640px;
  align-content: stretch;
}
.agent-stage {
  display: flex;
  flex-direction: column;
  gap: 24px;
  background: transparent;
  border-radius: 0;
  padding: 0;
  align-items: stretch;
}
.agent-lead {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
  max-width: 720px;
}
.agent-lead h2 {
  margin: 0;
  font-size: 32px;
  line-height: 1.35;
  font-weight: 700;
  color: #1a1a1a;
}
.agent-lead > p {
  margin: 0;
  color: #6b7280;
  font-size: 16px;
  line-height: 1.5;
}
.agent-lead .btn-line {
  background: #fff;
  color: #2468f2;
  border: 1px solid #2468f2;
}
.agent-lead .btn-line:hover {
  background: #eef4ff;
}
.agent-p1 {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.9fr);
  gap: 20px;
  min-height: 480px;
  align-items: stretch;
}
.agent-demo {
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
}
.agent-demo-stage {
  position: relative;
  flex: 1;
  min-height: 440px;
  height: 100%;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #e6ebf5;
  background:
    linear-gradient(180deg, rgba(15, 23, 42, 0.28), rgba(15, 23, 42, 0.55)),
    #151b2d url("assets/neo/10-agent-ambient.png") center / cover no-repeat;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 28px 28px 40px;
}
.agent-demo-center {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  width: 100%;
  max-width: 360px;
  margin: 0 auto;
}
.agent-demo-play {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, 0.92);
  color: #2468f2;
  font-size: 22px;
  line-height: 1;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.22);
  flex: 0 0 auto;
}
.agent-demo-center p {
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.92);
  text-align: center;
}
.agent-demo-stage .video-track {
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 18px;
  width: auto;
}
.agent-pick {
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
  background: #fff;
  border: 1px solid #e6ebf5;
  border-radius: 12px;
  overflow: hidden;
}
.agent-pick-head {
  padding: 18px 18px 14px;
  border-bottom: 1px solid #eef1f6;
  flex: 0 0 auto;
}
.agent-pick-head h3 {
  margin: 0;
  font-size: 16px;
  line-height: 1.35;
  font-weight: 700;
  color: #1a1a1a;
}
.agent-pick-head p {
  margin: 6px 0 0;
  color: #6b7280;
  font-size: 13px;
  line-height: 1.5;
}
.agent-pick-list {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
}
.agent-pick-row {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  flex: 1 1 0;
  min-height: 72px;
  padding: 12px 16px;
  border-bottom: 1px solid #eef1f6;
  cursor: pointer;
  background: #fff;
  transition: background-color 180ms ease, box-shadow 180ms ease;
}
.agent-pick-row:last-child { border-bottom: 0; }
.agent-pick-row:hover,
.agent-pick-row:focus-visible {
  background: #f5f8ff;
  outline: none;
}
.agent-pick-row.is-on {
  background: #eef4ff;
  box-shadow: inset 3px 0 0 #2468f2;
}
.agent-pick-ico {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: #eaf1ff;
  color: #2468f2;
  font-size: 12px;
  font-weight: 700;
  flex: 0 0 auto;
}
.agent-pick-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2px;
  min-width: 0;
  text-align: left;
}
.agent-pick-copy strong {
  font-size: 15px;
  line-height: 1.35;
  color: #1a1a1a;
}
.agent-pick-copy span {
  color: #6b7280;
  font-size: 12px;
  line-height: 1.4;
}
.agent-clone {
  flex: 0 0 auto;
  height: 32px;
  padding: 0 12px;
  border-radius: 4px;
  border: 1px solid #2468f2;
  background: #fff;
  color: #2468f2;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  transition: background-color 160ms ease, color 160ms ease;
}
.agent-clone:hover {
  background: #2468f2;
  color: #fff;
}
.build-card,
.build-row,
.build-cta { display: none; }

@media (max-width: 960px) {
  .agent-p1 { grid-template-columns: 1fr; }
  .agent-demo-stage { min-height: 280px; }
  .agent-lead { max-width: none; }
}
.qs-grid {
  display: grid;
  grid-template-columns: minmax(280px, 400px) minmax(0, 1fr);
  column-gap: 36px;
  row-gap: 20px;
  align-items: stretch;
}
.qs-copy { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; height: 100%; }
.qs-copy p { color: var(--muted); font-size: 16px; line-height: 1.5; }
.model-explain {
  width: 100%;
  margin-top: auto;
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  background: #fff;
  border: 1px solid #e6ebf5;
  border-radius: 12px;
  overflow: hidden;
}
.model-explain-head {
  padding: 14px 16px 12px;
  border-bottom: 1px solid #eef1f6;
  flex: 0 0 auto;
}
.model-explain-head h3 {
  margin: 0;
  font-size: 16px;
  line-height: 1.4;
  font-weight: 700;
  color: #1a1a1a;
}
.model-explain-head p {
  margin: 4px 0 0;
  color: #6b7280;
  font-size: 12px;
  line-height: 1.45;
}
.model-explain-stage {
  position: relative;
  flex: 1;
  min-height: 320px;
  background: #f6f8fc;
  overflow: hidden;
}
.model-explain-stage img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
.model-explain-stage img.is-in { animation: model-pop 0.28s ease; }
.ark-start,
.ark-bar,
.ark-copy,
.ark-key { display: none; }
.model-preview {
  width: min(100%, 280px);
  min-height: 220px;
  margin: 8px 0 0;
  background: #f4f4f4;
  border: 1px solid #e0e0e0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 18px;
}
.model-preview figcaption {
  min-height: 1.4em;
  color: #666;
  font-size: 13px;
}
.model-preview.is-in { animation: model-pop 0.28s ease; }
@media (prefers-reduced-motion: reduce) {
  .hero-slides img { transition: none; }
  .model-preview.is-in { animation: none; }
}
@keyframes model-pop {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: none; }
}
.model-preview-stage { width: 100%; min-height: 140px; display: grid; place-items: center; }
.model-art.has-plate { width: 100%; height: 148px; }
.model-art.has-plate img { width: 100%; height: 148px; object-fit: cover; object-position: 70% center; }
.model-art { width: 180px; height: 120px; display: grid; align-content: center; gap: 8px; }
.model-art i { display: block; background: #d0d0d0; }
.art-文 i { height: 10px; }
.art-文 i:nth-child(2) { width: 78%; }
.art-文 i:nth-child(4) { width: 62%; }
.art-视 { grid-template-columns: repeat(3, 1fr); gap: 8px; align-items: stretch; }
.art-视 i { height: 88px; background: #dedede; border: 8px solid #c8c8c8; }
.art-图 i { width: 148px; height: 96px; margin: 0 auto; background: #d7d7d7; border: 8px solid #c4c4c4; }
.art-音 { grid-template-columns: repeat(7, 1fr); align-items: end; height: 88px; gap: 6px; }
.art-音 i { height: 28px; background: #bdbdbd; }
.art-音 i:nth-child(2), .art-音 i:nth-child(6) { height: 48px; }
.art-音 i:nth-child(3), .art-音 i:nth-child(5) { height: 68px; }
.art-音 i:nth-child(4) { height: 88px; }
.art-cube { place-items: center; }
.art-cube i {
  width: 72px;
  height: 72px;
  margin: 16px auto 0;
  background: #d5d5d5;
  border: 2px solid #8d8d8d;
  transform: rotate(18deg) skewX(-12deg);
}
.art-vec { grid-template-columns: repeat(3, 1fr); gap: 16px; place-items: center; }
.art-vec i { width: 14px; height: 14px; border-radius: 50%; background: #9a9a9a; }
.model-frame {
  grid-column: 2;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: 100%;
}
.model-board {
  flex: 1;
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #e6ebf5;
  border-radius: 12px;
  padding: 22px 22px 0;
  min-height: 560px;
}
.model-board-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; flex: 0 0 auto; }
.model-board-head h3 { font-size: 20px; }
.model-board-head a { font-size: 14px; text-decoration: none; color: var(--muted); white-space: nowrap; }
.model-table {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: repeat(3, minmax(112px, 1fr));
  border-top: 1px solid #e6ebf5;
  flex: 1;
  min-height: 360px;
}
.model-cell {
  position: relative;
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
  align-content: start;
  min-height: 112px;
  padding: 20px 14px;
  border: 0;
  border-right: 1px solid #e6ebf5;
  border-bottom: 1px solid #e6ebf5;
  background: transparent;
  text-align: left;
  color: inherit;
  transition: background-color 180ms ease, box-shadow 180ms ease;
}
.model-cell:nth-child(2n) { border-right: 0; }
.model-cell:hover,
.model-cell:focus-within {
  background-color: #eef4ff;
  background-image: radial-gradient(rgba(36, 104, 242, .18) 1px, transparent 1.2px);
  background-size: 8px 8px;
  z-index: 1;
}
.model-info { min-width: 0; }
.model-actions {
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: stretch;
  opacity: 0;
  pointer-events: none;
  transform: translateX(4px);
  transition: opacity 160ms ease, transform 160ms ease;
}
.model-cell:hover .model-actions,
.model-cell:focus-within .model-actions {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(0);
}
.model-act {
  height: 28px;
  padding: 0 10px;
  border-radius: 4px;
  border: 1px solid #2468f2;
  background: #fff;
  color: #2468f2;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}
.model-act-primary {
  background: #2468f2;
  color: #fff;
}
.model-act:hover { filter: brightness(0.96); }
.model-cell.is-on {
  background-color: transparent;
  background-image: none;
}
@media (prefers-reduced-motion: reduce) {
  .model-actions,
  .model-cell,
  .agent-pick-row,
  .agent-clone {
    transition: none;
  }
  .model-actions {
    transform: none;
  }
}
.model-mark {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  overflow: hidden;
  background: transparent;
  display: grid;
}
.model-mark img { display: block; width: 100%; height: 100%; }
.model-api-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 18px;
  background: #fff;
  border: 1px solid #e6ebf5;
  border-radius: 12px;
}
.model-api-copy {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.model-api-copy strong {
  font-size: 15px;
  line-height: 1.35;
  color: #1a1a1a;
}
.model-api-copy span {
  font-size: 13px;
  line-height: 1.45;
  color: #6b7280;
}
.model-api-bar .btn {
  flex: 0 0 auto;
  background: #2468f2;
}
.model-api-bar .btn:hover { background: #1a56d6; }
@media (max-width: 960px) {
  .model-api-bar {
    flex-direction: column;
    align-items: stretch;
  }
  .model-api-bar .btn { width: 100%; }
}
.shot-mark {
  width: 40px;
  height: 40px;
  background: #d2d2d2;
  display: grid;
  place-items: center;
  font-size: 14px;
  font-weight: 700;
  color: #555;
}
.model-name { display: block; font-size: 16px; }
.model-desc {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-top: 6px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
  min-height: calc(1.45em * 2);
}
.model-price { display: flex; flex-direction: column; align-items: flex-start; margin-top: 10px; color: #666; font-size: 12px; line-height: 1.55; }
.qs-tools { display: flex; flex-direction: column; gap: 8px; }
.strip, .codebar {
  background: #2c2c2c;
  color: #fff;
  border-radius: 2px;
  min-height: 44px;
  display: flex;
  align-items: center;
  padding: 0 14px;
  font-size: 14px;
}
.codebar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  font-family: Consolas, "Courier New", monospace;
  font-size: 13px;
}
.codebar span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.codebar button {
  height: 32px;
  padding: 0 10px;
  background: transparent;
  color: #fff;
  border: 1px solid #8d8d8d;
  border-radius: var(--radius);
  cursor: pointer;
}
.shots {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}
.shot {
  min-height: 108px;
  background: #e3e3e3;
  border-radius: var(--radius);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 6px;
  padding: 12px;
  color: #555;
  font-size: 12px;
  line-height: 1.4;
}
.shot strong { font-size: 13px; color: var(--ink); line-height: 1.35; }

.matrix {
  display: grid;
  grid-template-columns: 1.15fr 1fr 1fr;
  grid-template-rows: auto auto;
  gap: 16px;
  align-items: stretch;
}
.featured {
  grid-column: 1;
  grid-row: 1 / span 2;
  background: var(--fill);
  border-radius: 8px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 420px;
}
.mini {
  background: var(--fill);
  border-radius: 8px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  min-height: 202px;
}
.ico {
  width: 36px;
  height: 36px;
  background: #eef4ff center / cover no-repeat;
  border-radius: 8px;
  flex: 0 0 auto;
}
.featured p, .mini p { color: var(--muted); font-size: 14px; line-height: 1.5; }
.ph {
  margin-top: auto;
  height: 160px;
  background: var(--block);
  border-radius: 8px;
  display: grid;
  place-items: center;
  color: #555;
  overflow: hidden;
}
.ph img { width: 100%; height: 100%; object-fit: cover; }
#matrix {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #fff;
}
#matrix::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: url("assets/matrix-flow-light.jpg") center / cover no-repeat;
  opacity: .15;
}
#matrix > * { position: relative; z-index: 1; }
#matrix .matrix { position: relative; z-index: 1; }
#matrix .featured {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  background: rgba(255,255,255,.94);
  border: 1px solid #e7eef8;
  border-radius: 16px;
  box-shadow: 0 12px 36px rgba(36, 104, 242, .08);
  padding: 22px 22px 0;
  overflow: hidden;
  min-height: 520px;
}
#matrix .featured .ico { width: 40px; height: 40px; background-color: transparent; background-size: contain; }
#matrix .featured h3 { margin: 16px 0 0; font-size: 22px; }
#matrix .featured > p { max-width: 16em; }
#matrix .featured .btn,
#matrix .featured .btn-detail { margin-top: 16px; }
#matrix .featured .ph {
  width: calc(100% + 44px);
  margin: 18px -22px 0;
  height: 280px;
  min-height: 280px;
  border-radius: 0;
  background: #eef3fb;
}
#matrix .featured .ph img { object-fit: cover; object-position: 62% 42%; }
#matrix .mini h3::before {
  content: "";
  display: block;
  width: 18px;
  height: 3px;
  margin-bottom: 10px;
  border-radius: 2px;
  background: #2468f2;
}
#matrix .mini {
  position: relative;
  background: rgba(255,255,255,.94);
  border: 1px solid #e7eef8;
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(36, 104, 242, .06);
  padding: 22px 96px 18px 22px;
}
#matrix .mini .ico {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 72px;
  height: 72px;
  background-color: transparent;
  background-size: contain;
}
#matrix .mini h3 { margin-top: 36px; }
#matrix .mini .btn {
  margin-top: auto;
  background: #fff;
  color: #2468f2;
  border: 1px solid #d5e2f4;
  border-radius: 8px;
  height: 36px;
}
#matrix .mini .btn:hover { background: #eef4ff; }
#matrix .center-link a { color: #2468f2; text-decoration: none; }
.featured .btn,
.mini .btn { align-self: flex-start; height: 32px; font-size: 14px; }
.mini .btn { margin-top: auto; }
.center-link { text-align: center; margin-top: 20px; }
.center-link a { font-size: 14px; }

.section-head {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 16px;
  margin-bottom: 28px;
}
.section-head h2 { grid-column: 2; text-align: center; }
.section-head a { grid-column: 3; justify-self: end; font-size: 15px; white-space: nowrap; }

#cases .case-head {
  display: grid;
  grid-template-columns: 1fr minmax(0, 28em) 1fr;
  align-items: start;
  gap: 16px;
  margin-bottom: 28px;
}
#cases .case-head > div {
  grid-column: 2;
  justify-self: center;
  text-align: center;
}
#cases .case-head h2 {
  max-width: none;
  text-align: center;
}
#cases .case-head p {
  margin-top: 8px;
  color: #5e5e5e;
  font-size: 14px;
  line-height: 1.6;
  text-align: center;
}
#cases .case-head a {
  grid-column: 3;
  justify-self: end;
  align-self: start;
  color: #2468f2;
  font-size: 14px;
  white-space: nowrap;
  text-decoration: underline;
  text-underline-offset: 4px;
}
#cases {
  padding-bottom: 48px;
}
#cases .brand-row {
  margin-top: 48px;
  margin-bottom: 0;
}
.case-stage { position: relative; padding-bottom: 56px; }
.case-viewport { overflow: hidden; padding: 18px 0 8px; }
.case-slider { display: flex; align-items: center; will-change: transform; }
.case-pager {
  position: absolute;
  left: 50%;
  bottom: 0;
  z-index: 3;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 4px;
  height: 40px;
  padding: 0 6px;
  border-radius: 999px;
  background: #161616;
  color: #fff;
}
.case-pager span { min-width: 42px; text-align: center; font-size: 13px; font-variant-numeric: tabular-nums; }
.arrow {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 0;
  background: transparent;
  color: #fff;
  cursor: pointer;
  font-size: 18px;
  line-height: 1;
}
.arrow:hover { background: rgba(255, 255, 255, .12); }
.case-card {
  position: relative;
  z-index: 1;
  flex: none;
  min-height: 420px;
  border-radius: 28px;
  background-color: #1a2436;
  background-size: cover;
  background-position: center;
  color: #fff;
  overflow: hidden;
  padding: 28px 32px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 24px;
  transform-origin: center center;
  transition: filter 0.5s ease, box-shadow 0.5s ease;
}
.case-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(8, 12, 22, 0) 0%, rgba(8, 12, 22, 0) 24%, rgba(8, 12, 22, .42) 58%, rgba(8, 12, 22, .8) 100%);
}
.case-card:not(.is-active) {
  z-index: 1;
  filter: brightness(0.42) saturate(0.75);
}
.case-card.is-active {
  z-index: 2;
  filter: none;
}
.case-main, .case-cta { position: relative; z-index: 1; }
.case-main { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.case-card.is-after:not(.is-active) .case-main { align-items: flex-end; text-align: right; margin-left: auto; }
.case-mark {
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.2;
}
.case-brand {
  display: block;
  height: 36px;
  width: auto;
  max-width: 168px;
  object-fit: contain;
  object-position: left center;
  filter: brightness(0) invert(1);
  opacity: .96;
}
.case-card.is-after:not(.is-active) .case-brand {
  object-position: right center;
  margin-left: auto;
}
.case-body {
  max-width: none;
  font-size: 13px;
  line-height: 1.65;
  color: rgba(255, 255, 255, .88);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  transition: opacity 0.35s ease, transform 0.35s ease;
}
.case-card:not(.is-active) .case-body,
.case-card:not(.is-active) .metrics,
.case-card:not(.is-active) .case-cta { opacity: 0; pointer-events: none; }
.case-cta {
  min-width: 0;
  height: 36px;
  padding: 0 14px;
  align-self: end;
  border-radius: 999px;
  background: #fff;
  color: #161616;
  transition: opacity 0.35s ease, transform 0.35s ease, background 0.2s ease, color 0.2s ease;
}
.case-cta:hover { background: #e8eefc; color: #2468f2; }

/* ---- 案例卡 hover 交互：默认呈现落地成绩指标，悬浮切换为正文 + CTA ---- */
/* 互换区：正文与指标叠放在同一格里，底部对齐，保证「原位切换」 */
.case-swap { display: grid; width: 100%; }
.case-swap > .case-body,
.case-swap > .metrics { grid-area: 1 / 1; align-self: end; margin-top: 0; }

/* 指标：文案在上、数字在下（品牌白标已上移到卡片标题位） */
.metrics { display: flex; flex-wrap: wrap; gap: 36px; transition: opacity 0.35s ease, transform 0.35s ease; }
.metric {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  min-width: 108px;
  max-width: 180px;
}
.metric-label {
  margin: 0;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.35;
  color: rgba(255, 255, 255, .72);
}
.metric-value {
  margin: 0;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: #fff;
}

/* 默认态（当前大卡、未悬浮）：正文与 CTA 隐藏，只留标题、场景图与指标 */
.case-card.is-active .case-body { opacity: 0; transform: translateY(12px); }
.case-card.is-active .case-cta { opacity: 0; transform: translateY(8px); pointer-events: none; }

/* 悬浮态：指标淡出上移，正文原位淡入，CTA 延迟出现 */
.case-card.is-active:hover .metrics { opacity: 0; transform: translateY(-12px); pointer-events: none; }
.case-card.is-active:hover .case-body { opacity: 1; transform: translateY(0); transition-delay: 0.08s; }
.case-card.is-active:hover .case-cta { opacity: 1; transform: translateY(0); pointer-events: auto; transition-delay: 0.14s; }

/* 触屏设备没有悬浮：全部展开 */
@media (hover: none) {
  .case-swap { display: block; }
  .case-card.is-active .case-body { opacity: 1; transform: none; margin: 0 0 12px; }
  .case-card.is-active .case-cta { opacity: 1; transform: none; pointer-events: auto; }
}

.logo-row {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 12px;
  margin: 36px 0 0;
  padding: 0;
}
.logo-row li {
  height: 56px;
  display: grid;
  place-items: center;
  background: #fff;
  border: 1px solid var(--line);
  color: #9a9a9a;
  font-size: 12px;
}
.brand-row {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0;
  margin: 36px 0 0;
  padding: 0;
}
.brand-row li {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.brand-row .brand-logo {
  height: 28px;
  width: auto;
  max-width: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
  margin: 0 auto;
  filter: grayscale(1);
  opacity: .72;
}
.brand-row strong { font-size: 15px; letter-spacing: 0.06em; font-weight: 800; }
.brand-row small { font-size: 10px; letter-spacing: 0.08em; color: #444; }

.tabrow {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 40px;
  border-bottom: 0;
}
.tabs { display: flex; flex-wrap: wrap; gap: 4px 20px; }
.tabrow > a { font-size: 15px; padding-bottom: 10px; white-space: nowrap; }
.industry-body {
  display: grid;
  grid-template-columns: minmax(280px, 520px) minmax(0, 1fr);
  gap: 32px;
  align-items: stretch;
}
.industry-side {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-width: 0;
}
.industry-copy { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.industry-ask {
  width: 100%;
  margin-top: auto;
  padding-top: 20px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
}
.hint { color: var(--muted); font-size: 16px; line-height: 1.65; }
.composer, .stack-form {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  width: 100%;
  align-items: center;
}
.composer input, .stack-form input { flex: 1 1 220px; }
.form-note { font-size: 14px; color: var(--muted); min-height: 1.4em; }
.sol-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.sol {
  min-height: 210px;
  background: #fff;
  border: 1px solid #e7eef8;
  border-radius: 16px;
  padding: 20px 20px 16px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  box-shadow: 0 8px 24px rgba(36, 104, 242, .06);
}
.sol-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: 12px;
}
.sol-logo {
  min-height: 0;
  padding: 0;
  background: transparent;
  display: flex;
  align-items: center;
  font-size: 20px;
  line-height: 1.2;
  font-weight: 760;
  letter-spacing: -0.02em;
  color: #151b2d;
}
.sol-icon {
  height: 20px;
  width: auto;
  max-height: 20px;
  max-width: 120px;
  flex: 0 0 auto;
  margin-left: auto;
  align-self: center;
  display: block;
  object-fit: contain;
  object-position: right center;
  background: transparent;
  border: 0;
  padding: 0;
}
.sol h3 { font-size: 16px; font-weight: 600; color: #2468f2; }
.sol p {
  font-size: 13px;
  line-height: 1.65;
  color: #3d4a63;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
.sol-more {
  margin-top: auto;
  color: #2468f2;
  font-size: 14px;
  text-decoration: none;
}
.sol-more::after { content: " →"; }
.sol-more:hover { text-decoration: underline; }

.trust-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 24px;
  align-items: stretch;
}
.arch {
  background: var(--block);
  min-height: 440px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.arch p { font-size: 14px; }
.layer {
  flex: 1;
  background: #eee;
  display: grid;
  place-items: center;
  font-size: 16px;
  font-weight: 700;
}
.trust-side {
  display: grid;
  grid-template-rows: 1fr 1fr 1fr;
  gap: 12px;
}
.evidence {
  background: #f4f7f8;
  border: 1px solid var(--line);
  padding: 16px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
}
.evidence p { color: var(--muted); font-size: 13px; line-height: 1.55; }
.evidence a { font-size: 13px; }
.trust-lead { margin-top: 12px; color: var(--muted); font-size: 15px; line-height: 1.6; }
.call-path {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
  margin-top: 28px;
}
.call-step {
  min-height: 168px;
  padding: 14px 12px;
  border: 1px solid var(--line);
  background: #f7f7f7;
  text-align: left;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}
.call-step b { font-size: 15px; }
.call-step span { color: var(--muted); font-size: 12px; line-height: 1.5; }
.call-step small {
  margin-top: auto;
  font-size: 11px;
  letter-spacing: 0.04em;
  color: #888;
}
.call-step.is-on { border-color: #161616; background: #fff; }
.call-step.is-break { background: #ececec; }
.call-step.is-break small { color: #161616; font-weight: 700; }
.trace-panel {
  margin-top: 16px;
  padding: 18px 20px;
  background: #f3f3f3;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: 20px;
  align-items: center;
}
.trace-id { font-size: 14px; font-weight: 700; letter-spacing: 0.02em; }
.trace-main p + p { margin-top: 8px; font-size: 14px; line-height: 1.6; }
.fail-list { display: flex; flex-wrap: wrap; gap: 8px; }
.fail-list button, .deploy-list button {
  height: 36px;
  padding: 0 12px;
  border: 1px solid #b5b5b5;
  background: #fff;
  cursor: pointer;
  font-size: 13px;
}
.fail-list button[aria-selected="true"] { background: #161616; color: #fff; border-color: #161616; }
.trace-note { margin-top: 12px; color: var(--muted); font-size: 13px; line-height: 1.55; }
.trust-checks {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 28px;
}
.deploy-bar {
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
}
.deploy-bar > p { font-size: 15px; font-weight: 700; }
.deploy-list { display: flex; flex-wrap: wrap; gap: 8px; }

.suite {
  display: grid;
  grid-template-columns: minmax(280px, 420px) minmax(0, 1fr);
  gap: 40px;
  align-items: start;
}
.suite-visual { display: flex; flex-direction: column; gap: 12px; }
.stories {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.story {
  background: #e7eef5;
  border-radius: 8px;
  padding: 16px 14px 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-height: 460px;
}
.story h3 { font-size: 16px; }
.story > p { color: var(--muted); font-size: 12px; line-height: 1.5; }
.phone, .racks, .monitor { margin-top: auto; }
.phone {
  background: #fff;
  border: 1px solid #cfd6df;
  border-radius: 16px;
  padding: 12px;
  min-height: 240px;
}
.phone-top {
  display: flex;
  justify-content: space-between;
  font-size: 11px;
  color: var(--muted);
  margin-bottom: 10px;
}
.line {
  height: 8px;
  background: var(--fill-2);
  border-radius: 4px;
  margin-bottom: 6px;
}
.line.short { width: 62%; }
.caps {
  list-style: none;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  margin: 12px 0 0;
  padding: 0;
}
.caps li {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  font-size: 11px;
  line-height: 1.3;
  text-align: center;
  padding: 6px 4px;
}
.racks {
  min-height: 240px;
  background: #243044;
  border-radius: 8px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  padding: 16px;
  align-items: end;
}
.racks span {
  height: 180px;
  border-radius: 2px;
  background: repeating-linear-gradient(#4d647c, #4d647c 7px, #243044 7px, #243044 13px);
}
.monitor {
  min-height: 200px;
  background: #f7f7f7;
  border: 8px solid #c8c8c8;
  border-bottom-width: 22px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  color: #666;
  font-size: 13px;
}
.suite-copy { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.suite-copy .stack-form {
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
}
.suite-copy .stack-form input { width: 100%; flex: none; background: #fff; border: 1px solid var(--line); }
.suite-copy .stack-form .btn { align-self: stretch; }
.stack-result {
  width: 100%;
  min-height: 88px;
  background: #fff;
  border: 1px solid var(--line);
  padding: 12px 14px;
}
.stack-result p { font-size: 14px; color: var(--muted); line-height: 1.5; }
.stack-result ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.stack-result li { font-size: 14px; line-height: 1.4; }
.stack-result small { display: block; color: var(--muted); font-size: 12px; }
.suite-more { display: flex; justify-content: center; margin: 4px 0 0; }
.btn-line { background: #fff; color: var(--ink); border: 1px solid #b5b5b5; }
.btn-line:hover { background: #f4f4f4; }
.infra {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin: 0 0 20px;
  padding: 0;
  text-align: center;
}
.infra strong { display: block; font-size: 32px; line-height: 1.2; }
.infra span { color: var(--muted); font-size: 14px; }
.globe {
  position: relative;
  height: 420px;
  margin-top: 28px;
  background: var(--fill);
  border-radius: 8px;
}
.disc {
  position: absolute;
  left: 50%;
  top: 50%;
  width: min(460px, 70%);
  aspect-ratio: 1;
  transform: translate(-50%, -50%);
  border: 1px dashed #bdbdbd;
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 50%, transparent 58%, rgba(0, 0, 0, 0.03) 59% 60%, transparent 61%),
    repeating-linear-gradient(#0000, #0000 46px, rgba(0, 0, 0, 0.04) 47px);
}
.closing {
  position: relative;
  padding: 96px 0 64px;
  background: #f5f8fd url("assets/closing-force.jpg") center 30% / cover no-repeat;
  overflow: hidden;
}
.closing::before {
  content: "";
  position: absolute;
  inset: 0;
  /* 居中文案：白色遮罩上下均匀压暗，底部让照片淡淡透出 */
  background: linear-gradient(180deg, rgba(255, 255, 255, .96) 0%, rgba(255, 255, 255, .9) 48%, rgba(255, 255, 255, .68) 82%, rgba(255, 255, 255, .5) 100%);
}
.closing-inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 24px;
}
.closing-cta {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
}
.closing-cta .btn {
  height: 46px;
  padding: 0 30px;
  border-radius: 10px;
  font-size: 15px;
}
.closing-cta .btn-strong { background: #2468f2; border-color: #2468f2; box-shadow: 0 10px 26px rgba(36, 104, 242, .32); }
.closing-cta .btn-strong:hover { background: #1a56d6; }
.closing-cta .btn-line { color: #2468f2; border-color: #2468f2; background: #fff; }
.closing-cta .btn-line:hover { background: #eef4ff; }
.guides {
  counter-reset: guide;
  list-style: none;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  gap: 16px;
  margin: 36px 0 0;
  padding: 0;
  text-align: left;
}
.guides li {
  background: rgba(255, 255, 255, .82);
  border: 1px solid rgba(16, 24, 40, .08);
  border-radius: 12px;
  padding: 22px 20px 18px;
  min-height: 168px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  backdrop-filter: blur(8px);
}
.guides h3 {
  display: flex;
  align-items: baseline;
  gap: 10px;
}
.guides h3::before {
  counter-increment: guide;
  content: counter(guide, decimal-leading-zero);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .04em;
  color: #9aa4b2;
}
.guides p { color: var(--muted); font-size: 14px; line-height: 1.6; }
.guides a { margin-top: auto; font-size: 14px; color: #2468f2; text-decoration: none; }
.guides a::after { content: "→"; margin-left: 6px; }
.guides a:hover { color: #1a56d6; }

.footer { background: #f7f7f7; padding: 28px 0 20px; border-top: 1px solid var(--line); }
.promises {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--line);
}
.promises div { display: flex; flex-direction: column; gap: 4px; align-items: flex-start; }
.promises span, .legal, .footer-grid p { color: var(--muted); font-size: 13px; line-height: 1.5; }
.footer-grid {
  display: grid;
  grid-template-columns: 140px repeat(5, minmax(0, 1fr));
  gap: 24px;
  padding: 28px 0;
}
.footer-grid h3 { margin-bottom: 10px; }
.footer-grid a, .footer-brand { display: flex; }
.footer-grid a { text-decoration: none; font-size: 14px; line-height: 1.9; }
.footer-brand { align-items: center; gap: 8px; }
.qrs { display: grid; grid-template-columns: repeat(3, 52px); gap: 8px; margin-top: 8px; }
.qrs span {
  height: 52px;
  background: var(--block);
  display: grid;
  place-items: center;
  font-size: 10px;
  color: #555;
}
.legal { border-top: 1px solid var(--line); padding-top: 16px; }

.rail {
  position: fixed;
  right: 14px;
  top: 75%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  z-index: 9;
}
.rail-item {
  width: 54px;
  height: 54px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  color: #161616;
  text-decoration: none;
  font-size: 11px;
  line-height: 1;
}
.rail-item svg { width: 18px; height: 18px; }
.rail-item:hover { background: #f5f5f5; }
.rail-item.rail-circle {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  gap: 0;
}
.rail-consult {
  position: relative;
  overflow: visible;
  width: 56px;
  height: 118px;
  gap: 8px;
  border: 1px solid rgba(255, 255, 255, .62);
  border-radius: 999px;
  background:
    linear-gradient(160deg,
      rgba(255, 255, 255, .78) 0%,
      rgba(210, 225, 255, .55) 32%,
      rgba(168, 150, 255, .42) 68%,
      rgba(90, 140, 255, .48) 100%);
  backdrop-filter: blur(18px) saturate(170%);
  -webkit-backdrop-filter: blur(18px) saturate(170%);
  color: #1a2a6c;
  font-size: 13px;
  font-weight: 600;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .85),
    inset 0 -1px 0 rgba(90, 100, 220, .12),
    0 10px 28px rgba(90, 110, 220, .28),
    0 0 0 0 rgba(140, 120, 255, .22);
  animation: rail-pulse-enterprise 2.4s ease-in-out infinite;
  transition: background .35s ease, box-shadow .35s ease, border-color .35s ease, color .35s ease, transform .2s ease;
}
.rail-consult-glow {
  position: absolute;
  inset: -8px;
  border-radius: inherit;
  background:
    radial-gradient(circle at 50% 18%, rgba(255, 255, 255, .7), transparent 55%),
    radial-gradient(circle at 40% 85%, rgba(140, 120, 255, .35), transparent 60%);
  opacity: .7;
  pointer-events: none;
  mix-blend-mode: soft-light;
}
.rail-consult svg { width: 22px; height: 22px; position: relative; z-index: 1; }
.rail-consult > span { position: relative; z-index: 1; }
.rail-consult:hover {
  transform: translateY(-2px) scale(1.03);
  border-color: rgba(255, 255, 255, .85);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .95),
    inset 0 -1px 0 rgba(90, 100, 220, .16),
    0 14px 34px rgba(90, 110, 220, .36),
    0 0 0 1px rgba(180, 190, 255, .35);
}
.rail[data-consult-mode="enterprise"] .rail-consult {
  background:
    linear-gradient(160deg,
      rgba(255, 255, 255, .8) 0%,
      rgba(200, 230, 255, .52) 34%,
      rgba(160, 140, 255, .4) 70%,
      rgba(100, 150, 255, .46) 100%);
  color: #1a2a6c;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .85),
    inset 0 -1px 0 rgba(90, 100, 220, .12),
    0 10px 28px rgba(90, 110, 220, .28),
    0 0 0 0 rgba(140, 120, 255, .22);
  animation-name: rail-pulse-enterprise;
}
.rail[data-consult-mode="architecture"] .rail-consult {
  background:
    linear-gradient(160deg,
      rgba(255, 255, 255, .82) 0%,
      rgba(190, 215, 255, .58) 36%,
      rgba(120, 150, 255, .48) 72%,
      rgba(70, 110, 240, .52) 100%);
  color: #142a72;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .9),
    inset 0 -1px 0 rgba(36, 104, 242, .16),
    0 10px 28px rgba(36, 104, 242, .3),
    0 0 0 0 rgba(100, 140, 255, .26);
  animation-name: rail-pulse-architecture;
}
.rail[data-consult-mode="builder"] .rail-consult {
  background:
    linear-gradient(160deg,
      rgba(255, 255, 255, .86) 0%,
      rgba(220, 210, 255, .58) 34%,
      rgba(150, 140, 255, .46) 70%,
      rgba(90, 120, 255, .5) 100%);
  color: #2a1f72;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .92),
    inset 0 -1px 0 rgba(124, 107, 255, .16),
    0 10px 28px rgba(124, 107, 255, .28),
    0 0 0 0 rgba(155, 125, 255, .24);
  animation-name: rail-pulse-builder;
}
@keyframes rail-pulse-enterprise {
  0%, 100% { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .85), inset 0 -1px 0 rgba(90, 100, 220, .12), 0 10px 28px rgba(90, 110, 220, .28), 0 0 0 0 rgba(140, 120, 255, .2); }
  50% { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9), inset 0 -1px 0 rgba(90, 100, 220, .14), 0 14px 34px rgba(90, 110, 220, .4), 0 0 0 10px rgba(140, 120, 255, 0); }
}
@keyframes rail-pulse-architecture {
  0%, 100% { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9), inset 0 -1px 0 rgba(36, 104, 242, .16), 0 10px 28px rgba(36, 104, 242, .3), 0 0 0 0 rgba(100, 140, 255, .24); }
  50% { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .95), inset 0 -1px 0 rgba(36, 104, 242, .18), 0 14px 36px rgba(36, 104, 242, .42), 0 0 0 10px rgba(100, 140, 255, 0); }
}
@keyframes rail-pulse-builder {
  0%, 100% { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .92), inset 0 -1px 0 rgba(124, 107, 255, .16), 0 10px 28px rgba(124, 107, 255, .28), 0 0 0 0 rgba(155, 125, 255, .22); }
  50% { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .96), inset 0 -1px 0 rgba(124, 107, 255, .18), 0 14px 36px rgba(124, 107, 255, .4), 0 0 0 10px rgba(155, 125, 255, 0); }
}
.rail-tip {
  position: absolute;
  right: calc(100% + 12px);
  top: 0;
  width: 168px;
  padding: 12px 26px 12px 14px;
  background: #fff;
  border: 1px solid #d7e3f4;
  border-radius: 12px;
  box-shadow: 0 8px 22px rgba(20, 40, 90, .12);
  transition: border-color .3s ease, box-shadow .3s ease, opacity .35s ease, transform .35s ease;
}
.rail-tip p { margin: 0; font-size: 12px; line-height: 1.6; color: #1a2338; }
.rail-tip::after {
  content: "";
  position: absolute;
  right: -6px;
  top: 24px;
  width: 10px;
  height: 10px;
  background: #fff;
  border-top: 1px solid #d7e3f4;
  border-right: 1px solid #d7e3f4;
  border-top-right-radius: 2px;
  transform: rotate(45deg);
  transition: border-color .3s ease;
}
.rail[data-consult-mode="enterprise"] .rail-tip {
  border-color: rgba(13, 148, 136, .45);
  box-shadow: 0 10px 26px rgba(13, 148, 136, .18);
}
.rail[data-consult-mode="enterprise"] .rail-tip::after {
  border-top-color: rgba(13, 148, 136, .45);
  border-right-color: rgba(13, 148, 136, .45);
}
.rail[data-consult-mode="architecture"] .rail-tip {
  border-color: rgba(36, 104, 242, .45);
  box-shadow: 0 10px 26px rgba(36, 104, 242, .18);
}
.rail[data-consult-mode="architecture"] .rail-tip::after {
  border-top-color: rgba(36, 104, 242, .45);
  border-right-color: rgba(36, 104, 242, .45);
}
.rail[data-consult-mode="builder"] .rail-tip {
  border-color: rgba(124, 107, 255, .45);
  box-shadow: 0 10px 26px rgba(124, 107, 255, .18);
}
.rail[data-consult-mode="builder"] .rail-tip::after {
  border-top-color: rgba(124, 107, 255, .45);
  border-right-color: rgba(124, 107, 255, .45);
}
.rail-tip.is-swap {
  animation: fx-in var(--fx-dur, 420ms) var(--fx-ease, cubic-bezier(.16, 1, .3, 1)) both;
}
.rail-tip-close {
  position: absolute;
  top: 4px;
  right: 6px;
  padding: 2px 4px;
  border: 0;
  background: none;
  color: var(--muted);
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
}
.rail-tip-close:hover { color: #161616; }
.rail-tip[hidden] { display: none; }

@media (prefers-reduced-motion: reduce) {
  .rail-consult { animation: none; }
  .rail-tip.is-swap { animation: none; }
}

.consult-mask {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, .28);
  z-index: 40;
}
.consult-mask[hidden] { display: none; }
.consult-drawer {
  position: fixed;
  top: 0;
  right: 0;
  width: 400px;
  max-width: 92vw;
  height: 100dvh;
  display: flex;
  flex-direction: column;
  background: #fff;
  border-left: 1px solid var(--line);
  box-shadow: -8px 0 24px rgba(0, 0, 0, .10);
  z-index: 50;
  animation: consult-in .24s ease;
  --consult-accent: #0d9488;
}
.consult-drawer[data-consult-mode="enterprise"] { --consult-accent: #0d9488; }
.consult-drawer[data-consult-mode="architecture"] { --consult-accent: #2468f2; }
.consult-drawer[data-consult-mode="builder"] { --consult-accent: #7c6bff; }
.consult-drawer::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: linear-gradient(180deg, var(--consult-accent), color-mix(in srgb, var(--consult-accent) 35%, #fff));
  pointer-events: none;
}
.consult-drawer[hidden] { display: none; }
@keyframes consult-in {
  from { transform: translateX(40px); opacity: 0; }
  to { transform: translateX(0); opacity: 1; }
}
body.consult-open { overflow: hidden; }
.consult-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid var(--line);
}
.consult-head h3 { margin: 0; font-size: 16px; color: #141c30; }
.consult-close {
  padding: 2px 8px;
  border: 0;
  background: none;
  font-size: 20px;
  line-height: 1;
  color: var(--muted);
  cursor: pointer;
}
.consult-close:hover { color: #161616; }
.consult-tabs {
  display: flex;
  border-bottom: 1px solid var(--line);
}
.consult-tab {
  flex: 1;
  padding: 12px 0;
  border: 0;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  background: none;
  font-size: 14px;
  font-weight: 600;
  color: #8a8a8a;
  cursor: pointer;
}
.consult-tab.is-on {
  color: var(--consult-accent, #2468f2);
  border-bottom-color: var(--consult-accent, #2468f2);
  font-weight: 600;
}
.consult-pane { flex: 1; display: flex; flex-direction: column; min-height: 0; }
.consult-pane[hidden] { display: none; }
.consult-chat {
  flex: 1;
  overflow-y: auto;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  background: #fafafa;
}
.msg {
  max-width: 85%;
  padding: 10px 12px;
  font-size: 13px;
  line-height: 1.6;
  border-radius: 10px;
}
.msg-ai { align-self: flex-start; background: #fff; border: 1px solid var(--line); }
.consult-quick {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px 16px 4px;
}
.consult-quick button {
  padding: 6px 12px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  font-size: 12px;
  cursor: pointer;
}
.consult-quick button:hover {
  border-color: var(--consult-accent, #2468f2);
  color: var(--consult-accent, #2468f2);
}
.consult-input .btn,
#consult-leave-msg {
  background: var(--consult-accent, #2468f2) !important;
  border-color: var(--consult-accent, #2468f2) !important;
  color: #fff !important;
}
.msg-user {
  align-self: flex-end;
  background: var(--consult-accent, #161616);
  color: #fff;
}
.consult-input {
  display: flex;
  gap: 8px;
  padding: 12px 16px 16px;
}
.consult-input input {
  flex: 1;
  height: 40px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  font-size: 13px;
}
.consult-input .btn { height: 40px; }
.consult-human { padding: 20px; display: flex; flex-direction: column; gap: 12px; }
.consult-human h4 { margin: 0; font-size: 16px; }
.consult-human p { margin: 0; font-size: 13px; color: var(--muted); line-height: 1.6; }
.consult-phone { color: #161616 !important; font-weight: 600; }
.consult-human textarea {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  font-size: 13px;
  font-family: inherit;
  resize: vertical;
  box-sizing: border-box;
}
.consult-note { font-size: 12px !important; }

@media (max-width: 960px) {
  h1, h2, #trust-v3-title, #ai-solution-title, .case-card .case-mark { font-size: 26px; }
  .hero-banner { min-height: 460px; padding-top: 48px; }
  .hero-copy { max-width: none; }
  .hero-copy h1, .hero-copy p { white-space: normal; }
  .promo { gap: 14px; overflow-x: auto; }
  .nav-toggle { display: inline-flex; margin-left: auto; height: 32px; padding: 0 10px; }
  .nav-links, .nav-tools { display: none; }
  .nav.is-open .nav-links, .nav.is-open .nav-tools {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
  }
  .nav.is-open .nav-bar { flex-wrap: wrap; padding: 10px 0; }
  .explore { position: static; box-shadow: none; padding: 8px 0 0; border-top: 0; }
  .explore-sheet { width: 100%; grid-template-columns: 1fr; gap: 20px; }
  .explore-cards { grid-template-columns: 1fr; }
  .explore-side { border-left: 0; padding-left: 0; border-top: 1px solid var(--line); padding-top: 16px; }
  .hero-grid, .qs-grid, .industry-body, .trust-body, .suite, .matrix, .footer-grid {
    grid-template-columns: 1fr;
  }
  .model-frame { grid-column: auto; grid-row: auto; }
  .model-list li { grid-template-columns: 40px minmax(0, 1fr); }
  .model-price { align-items: flex-start; grid-column: 2; }
  .featured { grid-row: auto; grid-column: auto; min-height: 0; }
  .entries-row, .shots, .promises { grid-template-columns: 1fr 1fr; }
  .promo, .logo-row, .certs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .section-head { grid-template-columns: 1fr; }
  .section-head h2, .section-head a { grid-column: 1; justify-self: start; text-align: left; }
  .case-card { grid-template-columns: 1fr; padding: 28px 20px; }
  .case-cta { justify-self: start; }
  .brand-row { flex-wrap: wrap; row-gap: 20px; }
  .call-path, .trust-checks { grid-template-columns: 1fr 1fr; }
  .trace-panel, .deploy-bar { grid-template-columns: 1fr; }
  .agent-body { grid-template-columns: 1fr; }
  .scene.is-on { font-size: 18px; }
  .stories, .guides, .infra { grid-template-columns: 1fr; }
  .story { min-height: 0; }
  .globe { height: 240px; }
  .tabrow { flex-direction: column; align-items: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

/* ===== Technical architecture decision area ===== */
.btn-strong {
  background: #161616;
  color: #fff;
  border: 1px solid #161616;
}
.btn-strong:hover { background: #2a2a2a; }
.eyebrow {
  margin: 0 0 8px;
  color: #6b6b6b;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.tech-decision-section { background: #fff; }
.tech-block { scroll-margin-top: calc(var(--nav-h) + 14px); }
.tech-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 32px;
  align-items: end;
  margin-bottom: 28px;
}
.tech-head h2 {
  max-width: 760px;
  font-size: 32px;
  line-height: 1.3;
}
.tech-lead {
  max-width: 820px;
  margin-top: 12px;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.75;
}
.tech-head-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}
.architecture-board {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  border: 1px solid var(--line);
  background: #f7f7f7;
}
.arch-main { padding: 24px; min-width: 0; }
.arch-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--line);
}
.arch-title-row strong { font-size: 16px; }
.arch-title-row span { color: var(--muted); font-size: 12px; text-align: right; }
.arch-flow {
  display: grid;
  grid-template-columns: minmax(120px, .8fr) 24px minmax(150px, 1fr) 24px minmax(180px, 1.25fr) 24px minmax(140px, .9fr);
  gap: 8px;
  align-items: center;
  padding: 28px 0 20px;
}
.arch-node {
  min-height: 104px;
  padding: 16px 14px;
  border: 1px solid #cfcfcf;
  background: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
}
.arch-node b { font-size: 14px; }
.arch-node span { color: var(--muted); font-size: 12px; line-height: 1.5; }
.arch-runtime, .arch-ops { background: #f0f2f4; }
.arch-stack { display: grid; gap: 8px; }
.arch-stack .arch-node { min-height: 58px; padding: 10px 12px; }
.arch-arrow { text-align: center; color: #777; font-size: 18px; }
.arch-badges { display: flex; flex-wrap: wrap; gap: 8px; }
.arch-badges span,
.tech-tags span,
.convert-proof span {
  padding: 6px 9px;
  border: 1px solid #d8d8d8;
  background: #fff;
  font-size: 11px;
  line-height: 1;
}
.arch-verdict {
  padding: 24px 22px;
  border-left: 1px solid var(--line);
  background: #fff;
}
.arch-verdict h3 { margin-bottom: 16px; font-size: 20px; }
.arch-verdict ol { margin: 0; padding: 0; list-style: none; display: grid; gap: 14px; }
.arch-verdict li { padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.arch-verdict li:last-child { padding-bottom: 0; border-bottom: 0; }
.arch-verdict b { display: block; margin-bottom: 4px; font-size: 13px; }
.arch-verdict span { color: var(--muted); font-size: 12px; line-height: 1.55; }
.tech-solution-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
}
.tech-solution-card {
  min-height: 220px;
  padding: 20px;
  border: 1px solid var(--line);
  background: #f4f7f8;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.tech-num,
.trust-index {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 24px;
  margin-bottom: 16px;
  border: 1px solid #c7c7c7;
  background: #fff;
  font-size: 11px;
  font-weight: 700;
}
.tech-solution-card h3 { font-size: 16px; }
.tech-solution-card p { margin-top: 8px; color: var(--muted); font-size: 13px; line-height: 1.65; }
.tech-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; padding-top: 18px; }
.governance-boundary {
  margin-top: 16px;
  padding: 22px;
  border: 1px solid var(--line);
  background: #fff;
}
.boundary-intro {
  display: grid;
  grid-template-columns: minmax(220px, .85fr) minmax(0, 1.15fr);
  column-gap: 32px;
  align-items: start;
}
.boundary-intro .eyebrow { grid-column: 1 / -1; }
.boundary-intro h3 { font-size: 20px; line-height: 1.45; }
.boundary-intro > p:last-child { color: var(--muted); font-size: 13px; line-height: 1.65; }
.boundary-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 20px;
}
.boundary {
  min-height: 92px;
  padding: 14px;
  border: 1px solid var(--line);
  background: #f7f7f7;
  text-align: left;
  cursor: pointer;
}
.boundary b { display: block; margin-bottom: 6px; font-size: 14px; }
.boundary span { color: var(--muted); font-size: 12px; line-height: 1.5; }
.boundary.is-on { border-color: #161616; background: #fff; box-shadow: inset 0 0 0 1px #161616; }
.boundary-detail {
  margin-top: 10px;
  padding: 14px 16px;
  background: #f1f1f1;
  color: #333;
  font-size: 13px;
  line-height: 1.6;
}
.poc-panel {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 24px;
  margin-top: 16px;
  padding: 22px;
  border: 1px solid var(--line);
  background: #f7f7f7;
}
.poc-copy h3 { font-size: 20px; line-height: 1.45; }
.poc-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.poc-steps span {
  min-height: 92px;
  padding: 12px;
  border: 1px solid var(--line);
  background: #fff;
  display: flex;
  flex-direction: column;
  gap: 5px;
  font-size: 13px;
}
.poc-steps b { font-size: 11px; color: #777; }
.poc-steps small { color: var(--muted); font-size: 11px; line-height: 1.4; }
.tech-divider { margin: 56px 0; border-top: 1px solid var(--line); }
.trust-tech-head .eyebrow { margin-bottom: 0; }
.trust-tech-head .trust-lead { max-width: 800px; margin-top: 0; }
.trust-core { margin-top: 22px; }
.trust-core .evidence { min-height: 210px; padding: 20px; }
.trust-core .evidence h3 { font-size: 20px; }
.trust-core .evidence p { font-size: 13px; line-height: 1.65; }
.trust-links { display: flex; flex-wrap: wrap; gap: 8px 14px; margin-top: auto; padding-top: 16px; }
.trust-links a { font-size: 12px; }
.trace-evidence-block { margin-top: 20px; padding: 22px; border: 1px solid var(--line); background: #fff; }
.trace-evidence-head {
  display: grid;
  grid-template-columns: minmax(240px, .8fr) minmax(0, 1.2fr);
  gap: 28px;
  align-items: end;
}
.trace-evidence-head h3 { font-size: 20px; }
.trace-evidence-head > p { color: var(--muted); font-size: 13px; line-height: 1.65; }
.technical-convert {
  padding: 28px;
  border: 1px solid #cfcfcf;
  background: #f2f2f2;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
  gap: 36px;
  align-items: center;
  scroll-margin-top: calc(var(--nav-h) + 16px);
}
.technical-convert h2 { max-width: 680px; font-size: 32px; }
.technical-convert > div > p:not(.eyebrow) { margin-top: 10px; color: var(--muted); font-size: 14px; line-height: 1.65; }
.convert-proof { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 16px; }
.eval-form { display: flex; flex-direction: column; gap: 10px; }
.eval-form input {
  width: 100%;
  min-height: 44px;
  border: 1px solid #cfcfcf;
  background: #fff;
  padding: 0 12px;
}
.eval-buttons { display: flex; flex-wrap: wrap; gap: 8px; }
.eval-buttons .btn { flex: 1 1 auto; }
.form-note { color: var(--muted); font-size: 12px; line-height: 1.5; }

@media (max-width: 1080px) {
  .tech-head { grid-template-columns: 1fr; }
  .tech-head-actions { justify-content: flex-start; }
  .architecture-board { grid-template-columns: 1fr; }
  .arch-verdict { border-left: 0; border-top: 1px solid var(--line); }
  .arch-flow { grid-template-columns: 1fr; }
  .arch-arrow { transform: rotate(90deg); }
  .arch-stack { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .poc-panel { grid-template-columns: 1fr; }
  .technical-convert { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .tech-solution-grid,
  .boundary-list,
  .poc-steps,
  .trust-core { grid-template-columns: 1fr; }
  .boundary-intro,
  .trace-evidence-head { grid-template-columns: 1fr; gap: 10px; }
  .arch-stack { grid-template-columns: 1fr; }
  .arch-title-row { align-items: flex-start; flex-direction: column; }
  .arch-title-row span { text-align: left; }
  .technical-convert { padding: 20px; }
}

/* ===== Enterprise Agent architecture decision experience v3 ===== */
.architecture-v3 { background: #fff; }
.platform-architecture-head {
  max-width: 980px;
  margin: 0 auto 48px;
  text-align: center;
}
.platform-architecture-head h2,
#trust-v3-title,
#ai-solution-title {
  margin: 10px 0 0;
  font-size: 32px;
  line-height: 1.35;
  letter-spacing: 0;
  font-weight: 700;
}
.platform-architecture-head > p:not(.eyebrow) {
  max-width: 920px;
  margin: 16px auto 0;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.65;
}
.platform-head-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-top: 22px;
}
.v3-module {
  padding: 0;
  margin-top: 176px;
  border-top: 0;
  scroll-margin-top: calc(var(--nav-h) + 14px);
}
.v3-module:first-of-type { margin-top: 0; }
.section.trust-zone { padding-top: 40px; }
/* 多场景 Agent：并入 #quickstart 第三切换栏 */
#panel-quick.scene-bridge {
  display: block;
  margin-top: 0;
}
#panel-quick.scene-bridge .agent-head { margin-bottom: 40px; }
#panel-quick.scene-bridge .agent-head h2 {
  font-size: 32px;
  line-height: 1.35;
  letter-spacing: 0;
  font-weight: 700;
}
#panel-quick.scene-bridge .agent-head p { font-size: 16px; line-height: 1.65; }
.v3-module-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: end;
  margin-bottom: 40px;
}
.v3-module-head h3,
.ai-solution-copy h3 {
  margin: 0;
  max-width: none;
  font-size: 20px;
  line-height: 1.35;
  font-weight: 700;
}
.v3-module-head > div:first-child > p:last-child,
.ai-solution-copy > p:not(.eyebrow) {
  max-width: 860px;
  margin-top: 16px;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.65;
}
.v3-index {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 26px;
  margin-bottom: 12px;
  border: 1px solid #cfcfcf;
  background: #fff;
  font-size: 11px;
  font-weight: 700;
}
.builder-presets {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}
.builder-preset {
  min-height: 36px;
  padding: 0 13px;
  border: 1px solid #d5d5d5;
  background: #fff;
  cursor: pointer;
  font-size: 12px;
}
.builder-preset.is-on {
  border-color: #161616;
  background: #161616;
  color: #fff;
}
.arch-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.arch-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  min-height: 200px;
  padding: 20px;
  border: 1px solid #e0e0e0;
  background: #fff;
  cursor: pointer;
  transition: border-color .18s ease, box-shadow .18s ease;
}
.arch-card:hover { border-color: #9a9a9a; }
.arch-card.is-on { border-color: #2468f2; box-shadow: inset 0 3px 0 #2468f2; }
.arch-card-link { color: #2468f2; }
#architecture-builder {
  background:
    linear-gradient(180deg, rgba(255,255,255,.9), rgba(244,248,255,.94)),
    url("assets/neo/11-architecture-ambient.png") center / cover;
}
.arch-card h4 { margin: 0; font-size: 16px; letter-spacing: -0.01em; }
.arch-card-scene { margin: 0; color: #161616; font-size: 13px; font-weight: 600; }
.arch-card-tech { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.6; }
.arch-card-kpi { margin: 0; color: #161616; font-size: 12px; font-weight: 650; }
.arch-card-link { margin-top: auto; padding-top: 10px; font-size: 13px; text-decoration: underline; text-underline-offset: 4px; }
.arch-stage { margin-top: 24px; }
.arch-overview {
  position: relative;
  margin: 0;
  background: #151b2d url("assets/neo/11-architecture-ambient.png") center / cover no-repeat;
}
.arch-overview img[hidden] { display: none; }
.arch-overview img { display: block; width: 100%; height: 460px; object-fit: contain; }
.arch-overview figcaption {
  position: absolute;
  left: 28px;
  bottom: 22px;
  max-width: 60ch;
  color: rgba(255, 255, 255, .82);
  font-size: 13px;
  line-height: 1.6;
}
.arch-detail-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 16px;
}
.arch-detail-head h4 { margin: 0; font-size: 20px; letter-spacing: -0.01em; }
.arch-back {
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  color: var(--muted);
  font-size: 13px;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.arch-foot {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
  margin-top: 32px;
}
.arch-summary { max-width: 520px; margin: 0; color: var(--muted); font-size: 16px; line-height: 1.65; }
.arch-cta-wrap { display: flex; flex-direction: column; align-items: flex-end; gap: 10px; flex-shrink: 0; }
.arch-cta { display: flex; align-items: center; gap: 20px; }
.arch-consult { font-size: 14px; text-decoration: underline; text-underline-offset: 4px; white-space: nowrap; }
.arch-note { margin: 0; color: #9a9a9a; font-size: 12px; white-space: nowrap; }
.arch-cell {
  min-height: 62px;
  padding: 10px 12px;
  border: 1px solid #161616;
  background: #fff;
}
.arch-cell strong { display: block; margin-bottom: 5px; font-size: 13px; }
.arch-cell small { color: var(--muted); font-size: 11px; line-height: 1.45; }
.lane-options.cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.builder-canvas {
  position: relative;
  min-width: 0;
  padding: 0;
  overflow: hidden;
}
.builder-brand-line {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .9;
}
.builder-brand-line::before,
.builder-brand-line::after {
  content: "";
  position: absolute;
  left: 42px;
  right: 42px;
  height: 1px;
  background: linear-gradient(90deg, transparent, #cfcfcf 12%, #cfcfcf 88%, transparent);
}
.builder-brand-line::before { top: 35%; }
.builder-brand-line::after { top: 67%; }
.builder-brand-line span {
  position: absolute;
  top: 35%;
  left: 6%;
  width: 110px;
  height: 2px;
  background: linear-gradient(90deg, transparent, #ff6a00, transparent);
  animation: architecture-flow 4.2s linear infinite;
}
@keyframes architecture-flow {
  0% { transform: translateX(-120px); opacity: 0; }
  12% { opacity: 1; }
  50% { transform: translateX(520px); opacity: .9; }
  88% { opacity: 1; }
  100% { transform: translateX(920px); opacity: 0; }
}
.builder-lane {
  position: relative;
  z-index: 1;
  padding: 16px;
  border: 1px solid #d7d7d7;
  background: rgba(255,255,255,.88);
}
.builder-lane + .builder-lane { margin-top: 12px; }
.lane-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 12px;
}
.lane-title b { font-size: 14px; }
.lane-title span { color: var(--muted); font-size: 11px; text-align: right; }
.lane-options {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.lane-entry .lane-options { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.arch-choice {
  position: relative;
  min-height: 72px;
  padding: 12px;
  border: 1px solid #d4d4d4;
  background: #f7f7f7;
  text-align: left;
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.arch-choice:hover { transform: translateY(-1px); border-color: #a9a9a9; }
.arch-choice strong { display: block; margin-bottom: 5px; font-size: 12px; }
.arch-choice small { color: var(--muted); font-size: 10px; line-height: 1.45; }
.arch-choice[aria-pressed="true"] {
  border-color: #161616;
  background: #fff;
  box-shadow: inset 3px 0 0 #ff6a00;
}
.arch-choice[aria-pressed="false"] { opacity: .55; }
.arch-choice.is-fixed::after {
  content: "必选";
  position: absolute;
  top: 7px;
  right: 8px;
  color: #7a7a7a;
  font-size: 9px;
}
.builder-strategy {
  padding: 24px 22px;
  border-left: 1px solid #d6d6d6;
  background: #fff;
}
.builder-strategy h4 { margin: 0 0 10px; font-size: 20px; line-height: 1.4; }
.builder-strategy > p:not(.eyebrow) { color: var(--muted); font-size: 12px; line-height: 1.65; }
.builder-output { display: grid; gap: 8px; margin-top: 18px; }
.builder-output div {
  padding: 10px 11px;
  border: 1px solid var(--line);
  background: #f7f7f7;
}
.builder-output span { display: block; margin-bottom: 4px; color: #777; font-size: 10px; }
.builder-output b { font-size: 12px; font-weight: 600; line-height: 1.45; }
.builder-selected {
  margin: 16px 0;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}
.builder-selected > span { display: block; margin-bottom: 6px; color: #777; font-size: 10px; }
.builder-selected p { color: #333; font-size: 11px; line-height: 1.6; }
.builder-strategy .btn { width: 100%; }

.trust-v3-head { grid-template-columns: 1fr; }
.trust-v3 .eyebrow { color: #2468f2; }
.trust-stage {
  display: grid;
  grid-template-columns: minmax(280px, .72fr) minmax(0, 1.35fr);
  gap: 24px;
  align-items: stretch;
  min-height: 506px;
}
.trust-picks { display: grid; grid-template-rows: repeat(3, minmax(0, 1fr)); gap: 16px; }
.trust-picks .trust-pillar {
  min-height: 0;
  margin: 0;
  padding: 24px;
  border: 1px solid #d7e3f4;
  background: #fff;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.trust-picks .trust-pillar:hover { border-color: #2468f2; background: #f7faff; }
.trust-picks .trust-pillar.is-on,
.trust-picks .trust-pillar.is-on:hover {
  background: #151b2d;
  color: #fff;
  border-color: #151b2d;
  box-shadow: inset 3px 0 0 #6fd9f3;
}
.trust-picks .trust-pillar.is-on p { color: #c9d7ee; }
.trust-picks .trust-pillar h3 { margin: 0; font-size: 20px; }
.trust-picks .trust-pillar p { margin: 0; font-size: 14px; line-height: 1.65; color: #555; }
.trust-plate {
  margin: 0;
  padding: 40px;
  background: #f4f7fc;
  border: 1px solid #e3ebf6;
  display: flex;
  flex-direction: column;
}
.trust-plate h3 {
  margin: 26px 0 10px;
  font-size: 20px;
  line-height: 1.4;
  letter-spacing: -0.01em;
}
.trust-plate-line { max-width: 46ch; margin: 0; color: #3c3c3c; font-size: 15px; line-height: 1.7; }
.guard-demo { margin-top: 22px; }
.guard-rail {
  position: relative;
  height: 4px;
  margin: 0 0 14px;
  background: #d5e2f4;
  border-radius: 99px;
}
.guard-dot {
  position: absolute;
  top: 50%;
  left: 0;
  width: 14px;
  height: 14px;
  margin-top: -7px;
  border-radius: 50%;
  background: #2468f2;
  box-shadow: 0 0 0 6px rgba(36, 104, 242, .16);
  transition: left .55s cubic-bezier(.16, 1, .3, 1), background .3s ease, box-shadow .3s ease;
}
.guard-demo[data-mode="ops"] .guard-dot { background: #0d9488; box-shadow: 0 0 0 6px rgba(13, 148, 136, .16); }
.guard-demo[data-mode="agent"] .guard-dot { background: #7555f5; box-shadow: 0 0 0 6px rgba(117, 85, 245, .16); }
.guard-demo.is-correct .guard-dot { box-shadow: 0 0 0 8px rgba(117, 85, 245, .22); }
.guard-steps {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.guard-steps li {
  color: #7d90ab;
  font-size: 12px;
  line-height: 1.45;
}
.guard-steps li.is-on { color: #151b2d; font-weight: 700; }
.guard-note { margin: 14px 0 0; color: #3c3c3c; font-size: 14px; line-height: 1.65; }
.pillar-links { display: flex; flex-wrap: wrap; gap: 12px 16px; margin-top: 4px; }
.pillar-links a { color: #2468f2; font-size: 13px; text-decoration: none; }
.trust-pillar.is-on .pillar-links a { color: #9ad7ff; }
.pillar-links a:hover { text-decoration: underline; }
.proof-rail {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
  margin: 30px 0 0;
  padding: 0;
  list-style: none;
}
.proof-rail li {
  min-height: 64px;
  padding-top: 14px;
  border-top: 1px solid #c5d4ea;
  color: #7d90ab;
  font-size: 14px;
}
.proof-rail li.is-mark {
  border-top: 3px solid #2468f2;
  color: #2468f2;
  font-weight: 700;
}
.trust-plate-id {
  margin: 34px 0 0;
  color: #151b2d;
  font-size: 36px;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.proof-hidden { margin-top: auto; padding-top: 28px; }
.proof-hidden summary {
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 4px;
  color: #2468f2;
}
.trust-v3 .call-step { background: #fff; border-color: #d7e3f4; }
.trust-v3 .call-step.is-on { border-color: #2468f2; background: #fff; box-shadow: inset 0 3px 0 #2468f2; }
.trust-v3 .call-step.is-break { background: #eef3fb; }
.trust-v3 .call-step.is-break small { color: #2468f2; }
.trust-v3 .trace-panel { background: #fff; border: 1px solid #e3ebf6; }
.trust-v3 .fail-list button[aria-selected="true"] {
  background: #2468f2;
  color: #fff;
  border-color: #2468f2;
}
.proof-hidden .call-path, .proof-hidden .trace-panel, .proof-hidden .deploy-bar { margin-top: 12px; }
.trust-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  margin-top: 28px;
}
.trust-foot-cta { display: flex; align-items: center; gap: 22px; flex-shrink: 0; }
.cert-strip-wrap { display: flex; align-items: center; gap: 18px; min-width: 0; }
.cert-cap { flex-shrink: 0; color: #9a9a9a; font-size: 12px; }
.cert-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.cert-strip img {
  display: block;
  height: 44px;
  width: auto;
  opacity: 1;
  transition: opacity .18s ease;
}
.cert-strip img:hover { opacity: .82; }
.trust-v3 .trust-whitepaper { color: #2468f2; }
.trust-v3 .btn-strong { background: #2468f2; border-color: #2468f2; }
.trust-v3 .btn-strong:hover { background: #1a56d6; }
.trust-whitepaper { font-size: 14px; text-decoration: underline; text-underline-offset: 4px; }
.trust-three { margin-top: 0; }
.trust-three .evidence {
  position: relative;
  min-height: 300px;
  cursor: pointer;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.trust-three .evidence:hover { transform: translateY(-1px); border-color: #bdbdbd; }
.trust-three .trust-pillar.is-on { border-color: #161616; box-shadow: inset 0 3px 0 #161616; }
.trust-three .trust-pillar.is-on .trust-index { background: #161616; color: #fff; border-color: #161616; }
.trust-three ul {
  margin: 14px 0 0;
  padding: 14px 0 0 18px;
  border-top: 1px solid var(--line);
}
.trust-three li { margin: 6px 0; color: #4f4f4f; font-size: 11px; line-height: 1.55; }
.shared-proof { margin-top: 14px; background: #f7f7f7; }
.shared-proof .trace-panel { background: #fff; }

.ai-solution-input {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(420px, 1.05fr);
  gap: 42px;
  align-items: start;
  padding-bottom: 0;
}
.ai-solution-copy .convert-proof { margin-top: 18px; }
.architecture-input-form {
  padding: 20px;
  border: 1px solid #d4d4d4;
  background: #f5f5f5;
}
.architecture-input-form label { font-size: 12px; font-weight: 700; }
.architecture-input-form textarea {
  width: 100%;
  resize: vertical;
  min-height: 150px;
  padding: 12px;
  border: 1px solid #cfcfcf;
  background: #fff;
  font: inherit;
  font-size: 13px;
  line-height: 1.65;
}
.input-context { color: #777; font-size: 11px; line-height: 1.5; }

@media (prefers-reduced-motion: reduce) {
  .model-preview.is-in { animation: none; }
  .builder-brand-line span { animation: none; display: none; }
  .arch-choice, .trust-three .evidence { transition: none; }
}
@media (max-width: 1080px) {
  .v3-module-head { grid-template-columns: 1fr; }
  .builder-presets { justify-content: flex-start; }
  .arch-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .arch-card { min-height: 0; }

  .trust-stage { grid-template-columns: 1fr; }
  .arch-foot { flex-direction: column; align-items: flex-start; gap: 24px; }
  .arch-cta-wrap { align-items: flex-start; }
  .trust-picks { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: none; }
  .builder-strategy { border-left: 0; border-top: 1px solid #d6d6d6; }
  .ai-solution-input { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .model-table { grid-template-columns: 1fr; }
  .model-cell, .model-cell:nth-child(2n) { border-right: 0; }
  .lane-title { align-items: flex-start; flex-direction: column; }
  .lane-title span { text-align: left; }
  .lane-options, .lane-options.cols-3, .lane-entry .lane-options { grid-template-columns: 1fr 1fr; }
  .trust-picks { grid-template-columns: 1fr; }
  .proof-rail { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .arch-cards { grid-template-columns: minmax(0, 1fr); }

  .trust-plate { padding: 24px; }
  .trust-plate-id { font-size: 26px; }
  .trust-foot { flex-direction: column; align-items: flex-start; gap: 20px; }
  .trust-three { grid-template-columns: 1fr; }
  .architecture-input-form { padding: 16px; }
}
@media (max-width: 480px) {
  .lane-options, .lane-entry .lane-options { grid-template-columns: 1fr; }
  .builder-presets { display: grid; grid-template-columns: 1fr; }
  .builder-preset { width: 100%; }
}

/* ===== v4 interaction + completeness fixes ===== */
.tech-jumpbar {
  position: sticky;
  top: var(--nav-h);
  z-index: 8;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
  margin: -22px 0 34px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(10px);
  box-shadow: 0 8px 22px rgba(0,0,0,.04);
}
.tech-jumpbar a {
  min-height: 54px;
  padding: 10px 14px;
  border-right: 1px solid var(--line);
  display: flex;
  align-items: center;
  gap: 9px;
  text-decoration: none;
  font-size: 12px;
}
.tech-jumpbar a:hover { background: #f6f6f6; }
.tech-jumpbar b { color: #8a8a8a; font-size: 10px; }
.tech-jumpbar .tech-jump-register {
  border-right: 0;
  background: #161616;
  color: #fff;
  font-weight: 700;
}
.tech-jumpbar .tech-jump-register:hover { background: #2a2a2a; }

.builder-node-detail {
  margin: 0 0 16px;
  padding: 12px 13px;
  border: 1px solid var(--line);
  background: #fff;
}
.builder-node-detail > span {
  display: block;
  margin-bottom: 5px;
  color: #7b7b7b;
  font-size: 10px;
}
.builder-node-detail b { display: block; font-size: 12px; }
.builder-node-detail p { margin-top: 5px; color: var(--muted); font-size: 11px; line-height: 1.58; }

.trust-links { gap: 7px; }
.trust-links .trust-resource {
  padding: 0;
  border: 0;
  border-bottom: 1px solid #777;
  background: transparent;
  color: #222;
  cursor: pointer;
  font: inherit;
  font-size: 12px;
  line-height: 1.5;
  text-align: left;
}
.trust-links .trust-resource:hover { border-bottom-color: #111; font-weight: 600; }

.ai-solution-workbench { min-width: 0; }
.generated-solution {
  margin-top: 12px;
  padding: 18px;
  border: 1px solid #161616;
  background: #fff;
  scroll-margin-top: calc(var(--nav-h) + 76px);
}
.generated-solution[hidden] { display: none; }
.generated-head > span {
  color: #777;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .06em;
}
.generated-head > b { display: block; margin-top: 5px; font-size: 17px; }
.generated-head > p { margin-top: 7px; color: var(--muted); font-size: 11px; line-height: 1.58; }
.generated-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 14px;
}
.generated-grid article {
  min-height: 118px;
  padding: 12px;
  border: 1px solid var(--line);
  background: #f7f7f7;
}
.generated-grid article > span { color: #888; font-size: 9px; }
.generated-grid article > b { display: block; margin-top: 4px; font-size: 12px; }
.generated-grid article > p { margin-top: 7px; color: var(--muted); font-size: 10px; line-height: 1.58; }
.generated-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.generated-actions .btn { min-height: 38px; height: auto; }

.ai-solution-copy {
  max-width: 520px;
}
.ai-solution-copy h3,
.ai-solution-copy > p:not(.eyebrow) {
  max-width: 520px;
}
.ai-solution-input .eyebrow { color: #2468f2; }
.ai-solution-copy .convert-proof span {
  border-color: #d7e4fb;
  background: #eef4ff;
  color: #1e4fc4;
}
.architecture-input-form {
  border-color: #e3ebf8;
  background: #f6f8fc;
  box-shadow: inset 0 3px 0 #6fd9f3, 0 12px 32px rgba(36, 104, 242, .06);
}
.architecture-input-form label { color: #151b2d; }
.architecture-input-form textarea {
  border-color: #d5e2f5;
  border-radius: 4px;
  color: #151b2d;
}
.architecture-input-form textarea:focus {
  outline: 2px solid rgba(36, 104, 242, .28);
  border-color: #2468f2;
}
.input-context { color: #5b6b86; }
.ai-solution-input .btn-strong { background: #2468f2; border-color: #2468f2; }
.ai-solution-input .btn-strong:hover { background: #1a56d6; }
.ai-solution-input .btn-line { color: #2468f2; border-color: #2468f2; background: #fff; }
.ai-solution-input .btn-line:hover { background: #eef4ff; }
.generated-solution { border-color: #e3ebf8; }
.generated-head > span { color: #2468f2; }
.generated-grid article { border-color: #e3ebf8; background: #f6f8fc; }
.generated-grid article > span { color: #2468f2; }

/* Make every technical target land below sticky nav + jump bar. */
#architecture-builder, #trust, #technical-consult, #trust-proof, #generated-solution {
  scroll-margin-top: calc(var(--nav-h) + 76px);
}

@media (max-width: 1080px) {
  .tech-jumpbar { grid-template-columns: repeat(3, minmax(0, 1fr)); position: static; margin-top: -12px; }
  .tech-jumpbar .tech-jump-register { grid-column: 1 / -1; justify-content: center; }
  .call-path { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .call-step { min-height: 132px; }
  .trace-panel { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .tech-jumpbar { grid-template-columns: 1fr; }
  .tech-jumpbar a { border-right: 0; border-bottom: 1px solid var(--line); }
  .tech-jumpbar .tech-jump-register { grid-column: auto; border-bottom: 0; }
  .call-path { grid-template-columns: 1fr 1fr; }
  .deploy-bar { grid-template-columns: 1fr; }
  .generated-grid { grid-template-columns: 1fr; }
  .platform-head-actions .btn { width: 100%; }
  .arch-overview img { height: 300px; }
  .arch-overview figcaption { position: static; padding: 14px 18px 18px; color: rgba(255, 255, 255, .75); }
}
@media (max-width: 480px) {
  .call-path { grid-template-columns: 1fr; }
}

/* ===== 企业级 Agent 云上部署方案 · 深色高保真（Neo-Digital Precision） ===== */
.architecture-v3 {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 116px 0 56px;
  background:
    radial-gradient(56% 40% at 50% 0%, rgba(36, 104, 242, .32), rgba(36, 104, 242, 0) 68%),
    radial-gradient(30% 26% at 86% 92%, rgba(117, 85, 245, .18), rgba(117, 85, 245, 0) 70%),
    radial-gradient(26% 22% at 10% 84%, rgba(111, 217, 243, .10), rgba(111, 217, 243, 0) 70%),
    linear-gradient(180deg, #060b1a 0%, #0b1430 48%, #081022 100%);
  color: #e8eefb;
}
.architecture-v3::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: conic-gradient(from 180deg at 50% -14%,
    transparent 0deg, rgba(111, 217, 243, .14) 7deg, transparent 15deg,
    rgba(36, 104, 242, .20) 25deg, transparent 34deg,
    rgba(245, 247, 255, .12) 43deg, transparent 52deg,
    rgba(36, 104, 242, .22) 62deg, transparent 71deg,
    rgba(111, 217, 243, .16) 81deg, transparent 90deg,
    rgba(36, 104, 242, .18) 100deg, transparent 109deg,
    rgba(245, 247, 255, .12) 119deg, transparent 128deg,
    rgba(36, 104, 242, .20) 138deg, transparent 147deg,
    rgba(111, 217, 243, .14) 157deg, transparent 166deg,
    transparent 180deg);
  -webkit-mask-image: linear-gradient(180deg, #000 0%, transparent 88%);
  mask-image: linear-gradient(180deg, #000 0%, transparent 88%);
  pointer-events: none;
}
.architecture-v3::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    repeating-linear-gradient(90deg, rgba(148, 178, 255, .05) 0 1px, transparent 1px 104px),
    repeating-linear-gradient(0deg, rgba(148, 178, 255, .04) 0 1px, transparent 1px 104px);
  -webkit-mask-image: radial-gradient(72% 58% at 50% 16%, #000 0%, transparent 80%);
  mask-image: radial-gradient(72% 58% at 50% 16%, #000 0%, transparent 80%);
  pointer-events: none;
}
.architecture-v3 > .wrap { position: relative; z-index: 1; }

/* 头部 */
.architecture-v3 .platform-architecture-head { margin-bottom: 56px; }
.architecture-v3 .platform-architecture-head .eyebrow { color: #6fd9f3; }
.architecture-v3 .platform-architecture-head h2 {
  color: #f5f7ff;
  font-size: 32px;
  letter-spacing: -0.01em;
}
.architecture-v3 .platform-architecture-head > p:not(.eyebrow) { color: #93a4c8; }

/* 方案卡：深色玻璃 */
.architecture-v3 .architecture-builder { margin-top: 0; }
#architecture-builder { background: none; }
.architecture-v3 .arch-cards { gap: 18px; }
.architecture-v3 .arch-card {
  position: relative;
  overflow: hidden;
  padding: 24px 22px 20px;
  border: 1px solid rgba(148, 178, 255, .16);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(23, 33, 66, .58), rgba(11, 18, 39, .62));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease;
}
.architecture-v3 .arch-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(111, 217, 243, .5), transparent);
  opacity: 0;
  transition: opacity .25s ease;
}
.architecture-v3 .arch-card::after {
  content: "";
  position: absolute;
  top: 20px;
  right: 20px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  border: 1px solid rgba(148, 178, 255, .4);
  transition: background .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.architecture-v3 .arch-card:hover {
  transform: translateY(-3px);
  border-color: rgba(111, 217, 243, .45);
  box-shadow: 0 16px 36px rgba(2, 8, 26, .55), inset 0 1px 0 rgba(255, 255, 255, .06);
}
.architecture-v3 .arch-card:hover::before { opacity: 1; }
.architecture-v3 .arch-card:hover::after { border-color: #6fd9f3; }
.architecture-v3 .arch-card.is-on,
.architecture-v3 .arch-card.is-on:hover {
  transform: none;
  border-color: rgba(36, 104, 242, .9);
  background: linear-gradient(180deg, rgba(36, 104, 242, .22), rgba(11, 18, 39, .7));
  box-shadow: 0 0 0 1px rgba(36, 104, 242, .4), 0 0 34px rgba(36, 104, 242, .3), inset 0 0 26px rgba(36, 104, 242, .12);
}
.architecture-v3 .arch-card.is-on::before { opacity: 1; }
.architecture-v3 .arch-card.is-on::after {
  background: #6fd9f3;
  border-color: #6fd9f3;
  box-shadow: 0 0 12px rgba(111, 217, 243, .9);
}
.architecture-v3 .arch-card:focus-visible { outline: 2px solid #6fd9f3; outline-offset: 3px; }
.architecture-v3 .arch-card h4 { color: #f2f6ff; font-size: 16px; }
.architecture-v3 .arch-card-scene { color: #c9d7ee; }
.architecture-v3 .arch-card-tech { color: #8fa2c6; }
.architecture-v3 .arch-card-kpi { color: #6fd9f3; font-weight: 600; }
.architecture-v3 .arch-card-link { color: #6fd9f3; }

/* 架构舞台：总览图与详情面板 */
.architecture-v3 .arch-stage { margin-top: 28px; }
.architecture-v3 .arch-overview {
  border: 1px solid rgba(148, 178, 255, .18);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 30px 80px rgba(2, 6, 20, .6), inset 0 1px 0 rgba(255, 255, 255, .06);
}
.architecture-v3 .arch-overview figcaption { color: rgba(233, 239, 252, .78); }
.architecture-v3 .arch-detail {
  padding: 26px 28px 28px;
  border: 1px solid rgba(148, 178, 255, .18);
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(17, 26, 54, .6), rgba(8, 13, 30, .72));
  box-shadow: 0 30px 80px rgba(2, 6, 20, .6), inset 0 1px 0 rgba(255, 255, 255, .05);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.architecture-v3 .arch-detail-head h4 { color: #f5f7ff; }
.architecture-v3 .arch-back { color: #6fd9f3; }
.architecture-v3 .arch-back:hover { color: #a5e8f8; }

/* 架构 lane 图深色化 */
.architecture-v3 .builder-lane {
  border: 1px solid rgba(148, 178, 255, .16);
  border-radius: 14px;
  background: rgba(13, 20, 43, .66);
}
.architecture-v3 .lane-title b { color: #eef3fd; }
.architecture-v3 .lane-title span { color: #7d90b5; }
.architecture-v3 .arch-choice {
  border: 1px solid rgba(148, 178, 255, .16);
  border-radius: 10px;
  background: rgba(23, 33, 66, .5);
  color: #dbe6ff;
}
.architecture-v3 .arch-choice strong { color: #eef3fd; }
.architecture-v3 .arch-choice small { color: #8fa2c6; }
.architecture-v3 .arch-choice:hover { border-color: rgba(111, 217, 243, .45); }
.architecture-v3 .arch-choice[aria-pressed="true"] {
  border-color: rgba(36, 104, 242, .9);
  background: rgba(36, 104, 242, .18);
  box-shadow: inset 3px 0 0 #6fd9f3, 0 0 18px rgba(36, 104, 242, .25);
}
.architecture-v3 .arch-choice[aria-pressed="false"] { opacity: .5; }
.architecture-v3 .arch-choice.is-fixed::after { color: #7d90b5; }
.architecture-v3 .builder-brand-line::before,
.architecture-v3 .builder-brand-line::after {
  background: linear-gradient(90deg, transparent, rgba(148, 178, 255, .3) 12%, rgba(148, 178, 255, .3) 88%, transparent);
}
.architecture-v3 .builder-brand-line span {
  background: linear-gradient(90deg, transparent, #6fd9f3, transparent);
}

/* 底部 CTA */
.architecture-v3 .arch-summary { color: #93a4c8; }
.architecture-v3 .arch-note { color: #7d90b5; }
.architecture-v3 .arch-consult { color: #6fd9f3; }
.architecture-v3 .arch-consult:hover { color: #a5e8f8; }
.architecture-v3 .arch-cta .btn-strong { box-shadow: 0 10px 28px rgba(36, 104, 242, .4); }

/* 滚动入场编排 */
.architecture-v3 .arch-reveal {
  transition: opacity .7s cubic-bezier(.16, 1, .3, 1), transform .7s cubic-bezier(.16, 1, .3, 1);
  transition-delay: calc(var(--i, 0) * 90ms);
}
.architecture-v3.reveal-armed .arch-reveal { opacity: 0; transform: translateY(24px); }
.architecture-v3.reveal-armed.in .arch-reveal { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  .architecture-v3 .arch-reveal { transition: none; }
}
@media (max-width: 760px) {
  .architecture-v3 { padding: 84px 0; }
  .architecture-v3 .arch-detail { padding: 18px; }
}

/* ===== 架构图面板：分层架构图高保真还原（顶部入口 lane / 三列联动 / 底部云底座 lane） ===== */
.architecture-v3 .arch-overview {
  border: 1px solid rgba(122, 162, 255, .30);
  border-radius: 22px;
  background:
    radial-gradient(78% 58% at 50% 0%, rgba(36, 104, 242, .16), rgba(36, 104, 242, 0) 70%),
    linear-gradient(168deg, rgba(20, 29, 60, .95), rgba(9, 14, 32, .97));
  box-shadow:
    0 30px 90px rgba(2, 6, 20, .55),
    0 0 90px rgba(36, 104, 242, .14),
    inset 0 1px 0 rgba(198, 218, 255, .14);
  overflow: hidden;
  position: relative;
}
.architecture-v3 .arch-overview::before {
  content: "";
  position: absolute;
  top: 0;
  left: 8%;
  right: 8%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(150, 195, 255, .85) 30%, rgba(190, 160, 255, .9) 50%, rgba(150, 195, 255, .85) 70%, transparent);
  filter: drop-shadow(0 0 6px rgba(120, 160, 255, .8));
  z-index: 4;
  pointer-events: none;
}
.architecture-v3 .arch-overview figcaption {
  position: static;
  max-width: none;
  margin-top: 16px;
  padding: 0 6px;
  color: rgba(160, 178, 214, .72);
  font-size: 12.5px;
  text-align: center;
}
.archmap {
  position: relative;
  isolation: isolate;
  height: 470px;
  padding: 34px 46px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}
.archmap::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    repeating-linear-gradient(90deg, rgba(148, 178, 255, .055) 0 1px, transparent 1px 56px),
    repeating-linear-gradient(0deg, rgba(148, 178, 255, .045) 0 1px, transparent 1px 56px);
  -webkit-mask-image: radial-gradient(85% 85% at 50% 45%, #000 30%, transparent 100%);
  mask-image: radial-gradient(85% 85% at 50% 45%, #000 30%, transparent 100%);
  pointer-events: none;
}
.archmap-wires {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
}
.archmap-wires path {
  stroke: rgba(140, 190, 255, .52);
  stroke-width: 1.6px;
  vector-effect: non-scaling-stroke;
  filter: drop-shadow(0 0 3px rgba(111, 217, 243, .55));
}
.archmap-node {
  position: absolute;
  z-index: 2;
  left: var(--nx);
  top: var(--ny);
  width: 8px;
  height: 8px;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  background: #d4ecff;
  box-shadow: 0 0 7px 2px rgba(150, 215, 255, .95), 0 0 20px 6px rgba(36, 104, 242, .45);
  pointer-events: none;
}
.archmap-lane {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  height: 56px;
  padding: 0 22px;
  border: 1px solid rgba(140, 170, 255, .24);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(16, 25, 54, .82), rgba(10, 16, 38, .88));
  box-shadow: inset 0 1px 0 rgba(190, 210, 255, .10);
}
.ampill {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  height: 36px;
  padding: 0 18px;
  border-radius: 999px;
  font-size: 13.5px;
  font-weight: 600;
  letter-spacing: .02em;
  color: #dfe8fb;
  background: rgba(26, 38, 76, .72);
  border: 1px solid rgba(140, 170, 255, .30);
  white-space: nowrap;
}
.ampill svg { width: 15px; height: 15px; flex-shrink: 0; }
.ampill-mini-group { display: inline-flex; gap: 10px; }
.ampill-mini {
  display: inline-flex;
  align-items: center;
  height: 28px;
  padding: 0 13px;
  border-radius: 999px;
  font-size: 12px;
  letter-spacing: .08em;
  color: #9db1d8;
  background: rgba(18, 28, 58, .5);
  border: 1px solid rgba(140, 170, 255, .22);
}
.ampill-cloud { color: #eaf1ff; }
.ampill-guard {
  color: #9db1d8;
  background: rgba(18, 28, 58, .5);
  border-style: dashed;
}
.archmap-grid {
  position: relative;
  z-index: 3;
  flex: 1;
  min-height: 0;
  display: grid;
  grid-template-columns: 1fr 1.25fr 1fr;
  gap: 0 56px;
  align-content: center;
  margin: 26px 0;
}
.archmap-col { display: flex; flex-direction: column; min-width: 0; }
.amcol-label {
  height: 22px;
  line-height: 22px;
  margin: 0 0 14px;
  text-align: center;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .14em;
  color: #8fa3cc;
}
.amcol-core .amcol-label {
  font-size: 17px;
  letter-spacing: .06em;
  color: #f2f6ff;
}
.amblock {
  display: flex;
  align-items: center;
  gap: 12px;
  height: 64px;
  padding: 0 20px;
  border-radius: 12px;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: .02em;
}
.amblock + .amblock { margin-top: 18px; }
.amblock svg { width: 20px; height: 20px; flex-shrink: 0; }

/* 分析：左2 / 中3 / 右2 */
.archmap--grid-2-3-2 .archmap-grid {
  grid-template-columns: 1fr 1.35fr 1fr;
  gap: 0 40px;
}
.archmap--grid-2-3-2 .amblock {
  height: 52px;
  font-size: 14px;
  padding: 0 16px;
}
.archmap--grid-2-3-2 .amblock + .amblock { margin-top: 12px; }
.archmap--grid-2-3-2 .amcol-core .amblock {
  height: 48px;
}
.archmap--grid-2-3-2 .amcol-core .amblock + .amblock { margin-top: 10px; }

/* 知识：左1 / 中3阶梯 / 右1 */
.archmap--ladder-5 .archmap-grid {
  grid-template-columns: 0.9fr 1.4fr 0.9fr;
  gap: 0 36px;
  align-items: center;
}
.archmap--ladder-5 .archmap-col:not(.amcol-core) {
  justify-content: center;
}
.archmap--ladder-5 .archmap-col:not(.amcol-core) .amblock {
  min-height: 72px;
  height: auto;
  padding: 16px 18px;
}
.archmap--ladder-5 .amcol-core .amblock {
  height: 50px;
  font-size: 14px;
}
.archmap--ladder-5 .amcol-core .amblock + .amblock { margin-top: 10px; }
.archmap--ladder-5 .amcol-core .amblock:nth-child(2) { margin-left: 0; }
.archmap--ladder-5 .amcol-core .amblock:nth-child(3) { margin-left: 12px; width: calc(100% - 12px); }
.archmap--ladder-5 .amcol-core .amblock:nth-child(4) { margin-left: 24px; width: calc(100% - 24px); }

/* 运维：左2 / 中1枢纽 / 右2 */
.archmap--fork-5 .archmap-grid {
  grid-template-columns: 1fr 0.95fr 1fr;
  gap: 0 36px;
  align-items: center;
}
.archmap--fork-5 .amcol-core {
  justify-content: center;
}
.archmap--fork-5 .amcol-core .amblock {
  min-height: 96px;
  height: auto;
  padding: 22px 18px;
  text-align: center;
  justify-content: center;
  flex-direction: column;
  gap: 8px;
}
.archmap--fork-5 .amblock {
  height: 56px;
  font-size: 14px;
  padding: 0 16px;
}
.archmap--fork-5 .amblock + .amblock { margin-top: 14px; }

.am-blue {
  background: linear-gradient(135deg, rgba(36, 104, 242, .95), rgba(27, 79, 208, .92));
  border: 1px solid rgba(140, 180, 255, .55);
  box-shadow: 0 10px 26px rgba(36, 104, 242, .32), inset 0 1px 0 rgba(255, 255, 255, .22);
}
.am-amber {
  background: linear-gradient(135deg, rgba(245, 166, 35, .95), rgba(226, 132, 12, .92));
  border: 1px solid rgba(255, 205, 120, .55);
  box-shadow: 0 10px 26px rgba(245, 166, 35, .26), inset 0 1px 0 rgba(255, 255, 255, .28);
}
.am-green {
  background: linear-gradient(135deg, rgba(47, 191, 154, .92), rgba(29, 158, 124, .9));
  border: 1px solid rgba(140, 235, 205, .5);
  box-shadow: 0 10px 26px rgba(47, 191, 154, .26), inset 0 1px 0 rgba(255, 255, 255, .22);
}

/* 底部 CTA：还原参考图的居中双按钮 */
.architecture-v3 .arch-foot {
  flex-direction: column;
  align-items: center;
  gap: 16px;
  margin-top: 30px;
  text-align: center;
}
.architecture-v3 .arch-summary { max-width: none; white-space: nowrap; font-size: 14px; }
.architecture-v3 .arch-cta-wrap { align-items: center; }
.architecture-v3 .arch-cta { gap: 16px; }
.architecture-v3 .arch-cta .btn-strong {
  padding: 13px 30px;
  border-radius: 10px;
  font-size: 14.5px;
}
.architecture-v3 .arch-consult {
  display: inline-flex;
  align-items: center;
  padding: 12px 28px;
  border: 1px solid rgba(200, 216, 255, .45);
  border-radius: 10px;
  color: #e8eefb;
  font-size: 14.5px;
  text-decoration: none;
  transition: border-color .2s ease, background .2s ease;
}
.architecture-v3 .arch-consult:hover {
  border-color: rgba(200, 216, 255, .85);
  background: rgba(255, 255, 255, .06);
  color: #fff;
}

@media (max-width: 860px) {
  .archmap { height: auto; padding: 24px 18px; }
  .archmap-wires, .archmap-node { display: none; }
  .archmap-grid { grid-template-columns: 1fr; gap: 22px; margin: 22px 0; }
  .archmap-lane { flex-wrap: wrap; height: auto; padding: 14px 16px; row-gap: 10px; }
  .architecture-v3 .arch-cta { flex-direction: column; align-items: stretch; }
}

/* ===== 架构区白底 + 微氛围（覆盖上方深色规则） ===== */
.architecture-v3 {
  background: #fff;
  color: #1a2338;
}
.architecture-v3::before {
  display: block;
  background:
    radial-gradient(46% 34% at 50% -4%, rgba(36, 104, 242, .09), rgba(36, 104, 242, 0) 72%),
    radial-gradient(28% 24% at 92% 88%, rgba(36, 104, 242, .05), rgba(36, 104, 242, 0) 70%),
    radial-gradient(24% 20% at 6% 78%, rgba(91, 160, 255, .045), rgba(91, 160, 255, 0) 70%);
  -webkit-mask-image: none;
  mask-image: none;
  opacity: 1;
}
.architecture-v3::after {
  display: block;
  background:
    repeating-linear-gradient(90deg, rgba(36, 104, 242, .035) 0 1px, transparent 1px 96px),
    repeating-linear-gradient(0deg, rgba(36, 104, 242, .028) 0 1px, transparent 1px 96px);
  -webkit-mask-image: radial-gradient(78% 62% at 50% 18%, #000 0%, transparent 78%);
  mask-image: radial-gradient(78% 62% at 50% 18%, #000 0%, transparent 78%);
  opacity: 1;
}

/* 头部 */
.architecture-v3 .platform-architecture-head .eyebrow { color: #2468f2; }
.architecture-v3 .platform-architecture-head h2 { color: #141c30; }
.architecture-v3 .platform-architecture-head > p:not(.eyebrow) { color: #5b6b8c; }

/* 方案卡：白卡 */
.architecture-v3 .arch-card {
  border: 1px solid #e3e9f5;
  background: #fff;
  box-shadow: 0 2px 10px rgba(20, 40, 90, .05);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.architecture-v3 .arch-card::before {
  background: linear-gradient(90deg, transparent, rgba(36, 104, 242, .6), transparent);
}
.architecture-v3 .arch-card::after { border-color: #c9d4ea; }
.architecture-v3 .arch-card:hover {
  border-color: rgba(36, 104, 242, .45);
  box-shadow: 0 14px 32px rgba(20, 40, 90, .12);
}
.architecture-v3 .arch-card:hover::after { border-color: #2468f2; }
.architecture-v3 .arch-card.is-on,
.architecture-v3 .arch-card.is-on:hover {
  border-color: #2468f2;
  background: linear-gradient(180deg, #f2f6ff, #fff);
  box-shadow: 0 0 0 1px rgba(36, 104, 242, .25), 0 12px 30px rgba(36, 104, 242, .14);
}
.architecture-v3 .arch-card.is-on::after {
  background: #2468f2;
  border-color: #2468f2;
  box-shadow: 0 0 8px rgba(36, 104, 242, .55);
}
.architecture-v3 .arch-card:focus-visible { outline-color: #2468f2; }
.architecture-v3 .arch-card h4 { color: #141c30; }
.architecture-v3 .arch-card-scene { color: #44547a; }
.architecture-v3 .arch-card-tech { color: #6b7a99; }
.architecture-v3 .arch-card-kpi { color: #2468f2; }
.architecture-v3 .arch-card-link { color: #2468f2; }

/* 架构图面板：白底 */
.architecture-v3 .arch-overview {
  border-color: #dfe6f4;
  background:
    radial-gradient(70% 50% at 50% 0%, rgba(36, 104, 242, .05), rgba(36, 104, 242, 0) 70%),
    linear-gradient(180deg, #ffffff, #f7f9fe);
  box-shadow: 0 24px 60px rgba(20, 40, 90, .10), inset 0 1px 0 #fff;
}
.architecture-v3 .arch-overview::before {
  background: linear-gradient(90deg, transparent, rgba(36, 104, 242, .55) 30%, rgba(117, 85, 245, .5) 50%, rgba(36, 104, 242, .55) 70%, transparent);
  filter: drop-shadow(0 0 4px rgba(36, 104, 242, .35));
}
.architecture-v3 .arch-overview figcaption { color: #7a89ab; }
.archmap::before {
  background:
    repeating-linear-gradient(90deg, rgba(30, 60, 120, .05) 0 1px, transparent 1px 56px),
    repeating-linear-gradient(0deg, rgba(30, 60, 120, .04) 0 1px, transparent 1px 56px);
}
.archmap-wires path {
  stroke: rgba(36, 104, 242, .38);
  filter: drop-shadow(0 0 2px rgba(36, 104, 242, .3));
}
.archmap-node {
  background: #2468f2;
  box-shadow: 0 0 5px 1px rgba(36, 104, 242, .5), 0 0 12px 4px rgba(36, 104, 242, .18);
}
.archmap-lane {
  border-color: #e0e7f4;
  background: linear-gradient(180deg, #fbfcff, #f2f5fc);
  box-shadow: inset 0 1px 0 #fff, 0 2px 8px rgba(20, 40, 90, .04);
}
.ampill { color: #2a3a5f; background: #fff; border-color: #d8e1f2; }
.ampill-mini { color: #6b7a99; background: #f2f5fb; border-color: #e0e7f4; }
.ampill-guard { color: #6b7a99; background: #f2f5fb; }
.amcol-label { color: #7a89ab; }
.amcol-core .amcol-label { color: #141c30; }
.am-blue { box-shadow: 0 8px 20px rgba(36, 104, 242, .22), inset 0 1px 0 rgba(255, 255, 255, .25); }
.am-amber { box-shadow: 0 8px 20px rgba(245, 166, 35, .2), inset 0 1px 0 rgba(255, 255, 255, .3); }
.am-green { box-shadow: 0 8px 20px rgba(47, 191, 154, .2), inset 0 1px 0 rgba(255, 255, 255, .25); }

/* 详情面板：白底 */
.architecture-v3 .arch-detail {
  border-color: #dfe6f4;
  background: linear-gradient(180deg, #ffffff, #f7f9fe);
  box-shadow: 0 24px 60px rgba(20, 40, 90, .10);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.architecture-v3 .arch-detail-head h4 { color: #141c30; }
.architecture-v3 .arch-back { color: #2468f2; }
.architecture-v3 .arch-back:hover { color: #1a4fc0; }

/* 底部 CTA：浅色 */
.architecture-v3 .arch-summary { color: #5b6b8c; }
.architecture-v3 .arch-note { color: #8a97b5; }
.architecture-v3 .arch-consult { color: #2a3a5f; border-color: #c9d4ea; }
.architecture-v3 .arch-consult:hover {
  border-color: #2468f2;
  color: #2468f2;
  background: rgba(36, 104, 242, .05);
}
@media (max-width: 1080px) {
  .architecture-v3 .arch-summary { white-space: normal; }
}

/* ===== 可信三卡：蓝紫白液晶玻璃按钮 ===== */
.trust-picks {
  gap: 14px;
}
.trust-picks .trust-pillar {
  --pillar: #5b7cff;
  --pillar-end: #9b7dff;
  position: relative;
  overflow: hidden;
  min-height: 0;
  margin: 0;
  padding: 22px 22px 18px;
  border: 1px solid rgba(255, 255, 255, .55);
  border-radius: 14px;
  background:
    linear-gradient(155deg,
      rgba(255, 255, 255, .88) 0%,
      rgba(210, 225, 255, .55) 38%,
      rgba(168, 150, 255, .32) 72%,
      rgba(100, 140, 255, .28) 100%);
  backdrop-filter: blur(16px) saturate(160%);
  -webkit-backdrop-filter: blur(16px) saturate(160%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .9),
    inset 0 -1px 0 rgba(90, 100, 220, .1),
    0 8px 24px rgba(70, 90, 200, .1);
  color: #1a2a6c;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 8px;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
}
.trust-picks .trust-pillar::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 2px;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--pillar) 55%, #fff), color-mix(in srgb, var(--pillar-end) 55%, #fff), transparent);
  opacity: .55;
  transition: opacity .22s ease;
}
.trust-picks .trust-pillar::after {
  content: "";
  position: absolute;
  inset: -20% 20% auto;
  height: 55%;
  background: radial-gradient(ellipse at 50% 0%, rgba(255, 255, 255, .55), transparent 70%);
  pointer-events: none;
  opacity: .7;
}
.trust-picks .trust-pillar:hover {
  transform: translateY(-2px);
  border-color: rgba(255, 255, 255, .85);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .95),
    inset 0 -1px 0 rgba(90, 100, 220, .14),
    0 14px 34px rgba(90, 110, 220, .22);
}
.trust-picks .trust-pillar:hover::before { opacity: .95; }
.trust-picks .trust-pillar.is-on,
.trust-picks .trust-pillar.is-on:hover {
  transform: none;
  border-color: rgba(180, 190, 255, .75);
  background:
    linear-gradient(155deg,
      rgba(255, 255, 255, .92) 0%,
      rgba(190, 215, 255, .62) 34%,
      rgba(150, 130, 255, .42) 68%,
      rgba(70, 110, 245, .4) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .95),
    inset 0 -1px 0 rgba(90, 100, 220, .16),
    0 0 0 1px rgba(120, 140, 255, .28),
    0 14px 36px rgba(80, 100, 230, .28);
  color: #142a72;
}
.trust-picks .trust-pillar.is-on::before { opacity: 1; }
.trust-picks .trust-pillar:focus-visible {
  outline: 2px solid var(--pillar);
  outline-offset: 3px;
}

.pillar-top {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 4px;
  position: relative;
  z-index: 1;
}
.pillar-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  color: #3b5bdb;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .9), rgba(180, 200, 255, .45));
  border: 1px solid rgba(255, 255, 255, .7);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .85),
    0 4px 12px rgba(90, 110, 220, .18);
  flex-shrink: 0;
}
.pillar-ico svg { width: 15px; height: 15px; }
.pillar-cap {
  font-size: 12px;
  letter-spacing: .04em;
  color: #6b7a9a;
  white-space: nowrap;
}
.trust-picks .trust-pillar h3 {
  margin: 0;
  position: relative;
  z-index: 1;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: .01em;
  line-height: 1.25;
  color: transparent;
  background-image: linear-gradient(105deg, #2468f2 0%, #7c6bff 55%, #9b7dff 100%);
  -webkit-background-clip: text;
  background-clip: text;
}
.trust-picks .trust-pillar p,
.trust-picks .trust-pillar.is-on p {
  margin: 0;
  position: relative;
  z-index: 1;
  color: #4a5a78;
  font-size: 13px;
  line-height: 1.65;
}
.pillar-link {
  margin-top: auto;
  padding-top: 6px;
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  color: #3b5bdb;
  text-decoration: none;
}
.pillar-link i { font-style: normal; transition: transform .18s ease; }
.pillar-link:hover { color: #2468f2; }
.pillar-link:hover i { transform: translateX(3px); }

/* 证据链面板内的技术方案链接 */
.trust-plate-cta {
  display: flex;
  align-items: center;
  gap: 28px;
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid #e6ecf7;
}
.trust-plate-cta a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13.5px;
  font-weight: 600;
  color: #2468f2;
  text-decoration: none;
}
.trust-plate-cta a i { font-style: normal; transition: transform .18s ease; }
.trust-plate-cta a:hover { color: #1a4fc0; }
.trust-plate-cta a:hover i { transform: translateX(3px); }
.trust-plate-cta .trust-consult-link { color: #151b2d; }
.trust-plate-cta .trust-consult-link:hover { color: #2468f2; }

/* trust-foot 只剩资质条，居中展示 */
.trust-foot { justify-content: center; }
.trust-foot .cert-strip-wrap { align-items: center; text-align: center; }

@media (max-width: 760px) {
  .trust-plate-cta { flex-direction: column; align-items: flex-start; gap: 12px; }
}

/* ===== 出海：基础设施对应商机，不再是空圆盘 ===== */
#global { background: #fff; }
#global .eyebrow { color: #2468f2; text-transform: none; letter-spacing: .06em; }
.global-head { max-width: 760px; margin: 0 auto 36px; text-align: center; }
.global-head h2 {
  margin: 8px 0 0;
  font-size: 32px;
  line-height: 1.35;
  letter-spacing: 0;
}
.global-head > p:not(.eyebrow) {
  margin: 14px 0 0;
  color: #5b6b86;
  font-size: 16px;
  line-height: 1.7;
}
.global-board {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
  gap: 20px;
  align-items: stretch;
}
.global-map {
  position: relative;
  min-height: 420px;
  border: 1px solid #e3ebf8;
  border-radius: 16px;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .2), rgba(246, 248, 252, .55)),
    url("assets/neo/hero-ribbon.png") center / cover no-repeat;
}
.global-orbit {
  position: absolute;
  left: 50%;
  top: 46%;
  width: min(520px, 86%);
  aspect-ratio: 1.7;
  transform: translate(-50%, -50%);
  border: 1px solid rgba(36, 104, 242, .28);
  border-radius: 50%;
  box-shadow:
    0 0 0 18px rgba(36, 104, 242, .05),
    inset 0 0 0 1px rgba(111, 217, 243, .45);
}
.global-orbit::before,
.global-orbit::after {
  content: "";
  position: absolute;
  inset: 18% 8%;
  border: 1px dashed rgba(36, 104, 242, .35);
  border-radius: 50%;
}
.global-orbit::after { inset: 34% 18%; border-style: solid; border-color: rgba(111, 217, 243, .55); }
.global-pin {
  position: absolute;
  left: var(--x);
  top: var(--y);
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  padding: 10px 12px 10px 28px;
  border: 1px solid #d7e4fb;
  border-radius: 10px;
  background: rgba(255, 255, 255, .92);
  color: #151b2d;
  font-size: 14px;
  font-weight: 700;
  box-shadow: 0 10px 24px rgba(36, 104, 242, .08);
}
.global-pin::before {
  content: "";
  position: absolute;
  left: 12px;
  top: 16px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #2468f2;
  box-shadow: 0 0 0 4px rgba(36, 104, 242, .16);
}
.global-pin em {
  font-style: normal;
  font-weight: 500;
  font-size: 12px;
  color: #5b6b86;
}
.global-map-note {
  position: absolute;
  left: 20px;
  bottom: 16px;
  margin: 0;
  color: #1e4fc4;
  font-size: 13px;
  font-weight: 600;
}
.global-opps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.global-opps li {
  flex: 1;
  display: flex;
  gap: 14px;
  padding: 18px 18px 16px;
  border: 1px solid #e3ebf8;
  border-radius: 14px;
  background: #fff;
  box-shadow: inset 3px 0 0 #6fd9f3;
}
.global-opps li > span {
  flex: none;
  color: #2468f2;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
}
.global-opps strong { display: block; font-size: 16px; line-height: 1.4; }
.global-opps p { margin: 6px 0 0; color: #3d4a63; font-size: 13px; line-height: 1.65; }
#global .infra { margin-top: 20px; }
#global .infra li {
  padding: 18px 12px 16px;
  border: 1px solid #e3ebf8;
  border-radius: 12px;
  background: #f6f8fc;
}
#global .infra strong { color: #2468f2; font-size: 26px; white-space: nowrap; }
#global .infra span { display: block; margin-top: 4px; color: #151b2d; font-size: 14px; font-weight: 650; }
#global .infra em {
  display: block;
  margin-top: 6px;
  font-style: normal;
  color: #5b6b86;
  font-size: 12px;
  line-height: 1.5;
}
#global .center-link { margin-top: 28px; }
#global .btn-strong { background: #2468f2; border-color: #2468f2; color: #fff; }
@media (max-width: 960px) {
  .global-board { grid-template-columns: 1fr; }
  .global-map { min-height: 320px; }
}

/* ===== 用户测试：咨询抽屉指标条（白绿） ===== */
.consult-track {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 18px 12px;
  padding: 9px 12px;
  border: 1px solid rgba(22, 163, 74, .28);
  border-radius: 10px;
  background: linear-gradient(180deg, #f0fdf4 0%, #fbfefc 100%);
}
.consult-track[hidden] { display: none; }
.consult-track-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #16a34a;
  box-shadow: 0 0 0 3px rgba(22, 163, 74, .16);
  flex-shrink: 0;
}
.consult-track p {
  margin: 0;
  font-size: 12px;
  line-height: 1.5;
  color: #3f5a48;
}
.consult-track b {
  color: #15803d;
  font-weight: 700;
}

/* ===== 转化按钮三组件：诱导注册 / 诱导咨询 / 查看详情 ===== */
/* 1. 诱导注册：实心渐变（蓝→紫），全页最高转化权重 */
.btn-register {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .32), rgba(255, 255, 255, 0) 46%),
    linear-gradient(135deg, #2468f2 0%, #7555f5 100%);
  border: 1px solid rgba(255, 255, 255, .28);
  color: #fff;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .55),
    0 8px 22px rgba(90, 80, 220, .28);
  transition: transform .2s ease, box-shadow .25s ease, background .25s ease, color .2s ease;
}
.btn-register:hover {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .4), rgba(255, 255, 255, 0) 42%),
    linear-gradient(135deg, #1a56d6 0%, #6242e8 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .7),
    0 0 0 1px rgba(170, 150, 255, .35),
    0 14px 32px rgba(90, 70, 230, .42),
    0 0 28px rgba(120, 90, 255, .38);
  transform: translateY(-2px);
  color: #fff;
}

/* 2. 诱导发起咨询：白底蓝边，低承诺的「找我们聊」动作 */
.btn-consult {
  background: #fff;
  border: 1px solid #2468f2;
  color: #2468f2;
  transition: background .2s ease, box-shadow .2s ease, transform .2s ease, color .2s ease;
}
.btn-consult:hover {
  background: #f4f8ff;
  box-shadow:
    0 0 0 1px rgba(36, 104, 242, .18),
    0 10px 24px rgba(36, 104, 242, .28),
    0 0 18px rgba(80, 140, 255, .28);
  transform: translateY(-2px);
  color: #2468f2;
}

/* 3. 查看详细信息：文字链，最轻量的导航动作 */
.btn-detail {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: none;
  border: 0;
  padding: 0;
  color: #2468f2;
  font-size: 14px;
  text-decoration: none;
  cursor: pointer;
}
.btn-detail:hover { color: #1a56d6; text-decoration: underline; }

/* --- 各区块上下文校正 --- */
/* 首屏：原有 .hero-banner .btn 规则优先级相同，这里靠后置位置让渐变生效 */
.hero-banner .btn-register { background: linear-gradient(135deg, #2468f2 0%, #7555f5 100%); }
.hero-banner .btn-register:hover { background: linear-gradient(135deg, #1a56d6 0%, #6242e8 100%); }
.hero-banner .btn-consult { background: #fff; color: #2468f2; border-color: #2468f2; }
.hero-banner .btn-consult:hover { background: #eef4ff; }
.hero-banner[data-theme="dark"] .btn-consult {
  background: rgba(255, 255, 255, .1);
  color: #fff;
  border-color: rgba(255, 255, 255, .72);
  backdrop-filter: blur(8px);
}
.hero-banner[data-theme="dark"] .btn-consult:hover { background: rgba(255, 255, 255, .2); box-shadow: none; }

/* 智能体模板行内「快速复刻」：注册组件的小尺寸变体 */
.agent-clone.btn-register {
  height: 32px;
  padding: 0 12px;
  border-radius: 4px;
  border: 0;
  font-size: 12px;
  box-shadow: none;
  display: inline-flex;
  align-items: center;
}
.agent-clone.btn-register:hover { box-shadow: 0 4px 12px rgba(36, 104, 242, .3); transform: none; }

/* 产品矩阵卡片内的详情链 */
.featured .btn-detail, .mini .btn-detail { align-self: flex-start; }
.mini .btn-detail { margin-top: auto; }

/* 案例卡上的「查看案例」：图片底上用白色文字链，保留原有悬浮编排 */
.case-cta.btn-detail {
  min-width: 0;
  height: auto;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: #fff;
  font-size: 14px;
}
.case-cta.btn-detail::after { content: " →"; }
.case-cta.btn-detail:hover { background: transparent; color: #fff; text-decoration: underline; }

/* 结尾三入口卡：按意图套用组件，保持底部对齐 */
.guides a.btn-register { color: #fff; }
.guides a.btn-consult { color: #2468f2; }
.guides a.btn-register::after, .guides a.btn-consult::after { content: none; }
.guides li a.btn-register, .guides li a.btn-consult { align-self: flex-start; }

/* 出海区咨询按钮字号 */
.center-link .btn-consult { font-size: 15px; }

/* 深色技术区里的详情链用亮色 */
.architecture-v3 .btn-detail { color: #6fd9f3; }
.architecture-v3 .btn-detail:hover { color: #a5e8f8; }
