/* ============================================================
 * Codex polish pass：首页最终观感
 * 保留 Oceanic Intelligence，提高第一屏识别度、产品信号与正式官网质感
 * ============================================================ */
body {
  background:
    linear-gradient(180deg, #050A12 0%, #06101E 38%, #050A12 100%);
}

body::before {
  background:
    radial-gradient(960px 540px at 50% -12%, rgba(32, 217, 255, 0.13), transparent 62%),
    radial-gradient(860px 520px at 12% 18%, rgba(22, 119, 255, 0.10), transparent 58%),
    radial-gradient(720px 460px at 92% 34%, rgba(6, 214, 160, 0.055), transparent 64%),
    linear-gradient(180deg, rgba(5, 10, 18, 0), rgba(5, 10, 18, 0.55));
}

.nav {
  background: rgba(5, 10, 18, 0.72);
  box-shadow: 0 1px 0 rgba(150, 190, 230, 0.06);
}

.nav-inner { height: 76px; }

.brand-mark {
  box-shadow: inset 0 0 18px rgba(32, 217, 255, 0.08), 0 0 0 1px rgba(32, 217, 255, 0.05);
}

.hero {
  min-height: 100svh;
  display: grid;
  align-items: center;
  padding: 142px 0 78px;
  isolation: isolate;
}

.hero::before {
  content: '';
  position: absolute;
  inset: 92px 0 auto;
  height: min(78svh, 760px);
  background:
    linear-gradient(rgba(150, 190, 230, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(150, 190, 230, 0.045) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: radial-gradient(ellipse at center, #000 18%, transparent 72%);
  pointer-events: none;
  opacity: 0.72;
}

.hero::after {
  content: 'HAIYUN BOZHI';
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 0;
  transform: translate(-50%, -49%);
  font-family: var(--font-en);
  font-weight: 800;
  font-size: clamp(58px, 13.6vw, 188px);
  line-height: 1;
  letter-spacing: 0.04em;
  white-space: nowrap;
  color: rgba(245, 249, 255, 0.026);
  pointer-events: none;
}

.hero-inner { max-width: 1180px; }

.hero-title {
  max-width: 940px;
  margin: 20px auto 18px;
  font-size: clamp(42px, 6.4vw, 76px);
  line-height: 1.08;
  letter-spacing: 0;
  text-wrap: balance;
}

.hero-title::after {
  content: '';
  display: block;
  width: min(420px, 56vw);
  height: 1px;
  margin: 24px auto 0;
  background: linear-gradient(90deg, transparent, rgba(32, 217, 255, 0.46), transparent);
}

.hero .lead {
  max-width: 760px;
  margin-bottom: 8px;
  color: rgba(245, 249, 255, 0.82);
  font-size: clamp(18px, 1.7vw, 22px);
  line-height: 1.85;
}

.hero .lead-sub {
  max-width: 640px;
  color: rgba(169, 183, 201, 0.78);
}

.hero-actions { margin-top: 28px; }

.hero-actions .btn {
  min-width: 138px;
  box-shadow: 0 0 0 1px rgba(245, 249, 255, 0.04);
}

.signal-rail {
  width: min(820px, 100%);
  margin: 28px auto 10px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-block: 1px solid rgba(150, 190, 230, 0.11);
  background: linear-gradient(90deg, transparent, rgba(13, 27, 42, 0.68), transparent);
}

.signal-rail span {
  min-height: 58px;
  padding: 10px 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  color: var(--text-tertiary);
  font-size: 13px;
  border-right: 1px solid rgba(150, 190, 230, 0.09);
}

.signal-rail span:last-child { border-right: 0; }
.signal-rail b {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 1.8px;
  color: var(--brand-cyan);
}

.convergence {
  max-width: 980px;
  margin-top: 18px;
  padding: 0;
  filter: drop-shadow(0 22px 70px rgba(32, 217, 255, 0.08));
}

.convergence::before {
  content: '';
  position: absolute;
  inset: 7% 12% 12%;
  z-index: -1;
  background: radial-gradient(ellipse at center, rgba(32, 217, 255, 0.14), transparent 68%);
  filter: blur(22px);
}

.hero,
.brand-idea,
.final-cta { overflow: clip; }
.section-head { margin-bottom: clamp(36px, 5vw, 64px); }
.section-head.center { max-width: 780px; }
.section-sub,
.brand-scene-title .section-sub { color: rgba(169, 183, 201, 0.82); }

.home-products-section {
  position: relative;
  background:
    radial-gradient(720px 360px at 82% 0%, rgba(32, 217, 255, 0.07), transparent 64%),
    linear-gradient(180deg, rgba(5, 10, 18, 0.98), rgba(8, 19, 33, 0.92));
  border-top: 1px solid rgba(150, 190, 230, 0.08);
}

.home-products-section::before {
  content: 'PRODUCT SYSTEM';
  position: absolute;
  right: max(24px, calc((100vw - var(--container)) / 2));
  top: 42px;
  font-family: var(--font-en);
  font-size: clamp(38px, 8vw, 112px);
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1;
  color: rgba(245, 249, 255, 0.025);
  pointer-events: none;
}

.home-product-system {
  position: relative;
  border-top: 1px solid var(--border-default);
}

.home-product-system::before {
  content: '';
  position: absolute;
  left: 81px;
  top: 0;
  bottom: 0;
  width: 1px;
  background: linear-gradient(180deg, rgba(32, 217, 255, 0.34), rgba(150, 190, 230, 0.08));
}

.home-product-row {
  position: relative;
  min-height: 106px;
  display: grid;
  grid-template-columns: 58px 46px minmax(220px, 1fr) minmax(170px, 250px) 112px 34px;
  align-items: center;
  gap: 18px;
  padding: 24px 0;
  color: inherit;
  border-bottom: 1px solid var(--border-default);
  text-decoration: none;
  transition: border-color var(--t-normal) var(--ease), transform var(--t-normal) var(--ease);
}

.home-product-row::before {
  content: '';
  position: absolute;
  inset: 14px -18px;
  border-radius: var(--radius-card);
  background:
    radial-gradient(260px 120px at 18% 50%, color-mix(in srgb, var(--p-color) 12%, transparent), transparent 70%),
    linear-gradient(90deg, rgba(13, 27, 42, 0.50), transparent);
  opacity: 0;
  transition: opacity var(--t-normal) var(--ease);
}

.home-product-row > span {
  position: relative;
  z-index: 1;
}

.home-product-row:hover {
  border-color: rgba(32, 217, 255, 0.28);
  transform: translateX(6px);
}

.home-product-row:hover::before,
.home-product-row.is-current::before {
  opacity: 1;
}

.hps-index,
.hps-state {
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0;
  color: var(--text-tertiary);
}

.hps-node {
  width: 15px;
  height: 15px;
  border-radius: 50%;
  border: 1px solid color-mix(in srgb, var(--p-color) 74%, rgba(245, 249, 255, 0.28));
  background: rgba(5, 10, 18, 0.92);
  box-shadow: 0 0 0 8px color-mix(in srgb, var(--p-color) 10%, transparent);
}

.home-product-row.is-current .hps-node {
  background: var(--p-color);
}

.hps-main b {
  display: block;
  margin-bottom: 8px;
  color: var(--text-primary);
  font-size: clamp(22px, 2.4vw, 32px);
  line-height: 1.2;
  letter-spacing: 0;
}

.hps-main small {
  display: block;
  color: var(--text-secondary);
  font-size: 15px;
  line-height: 1.6;
}

.hps-meta {
  display: flex;
  flex-direction: column;
  gap: 8px;
  color: var(--text-tertiary);
  font-size: 13px;
}

.hps-meta em,
.hps-meta i {
  font-style: normal;
}

.hps-meta em {
  color: var(--text-secondary);
}

.hps-state {
  color: var(--brand-cyan);
}

.hps-go {
  justify-self: end;
  color: var(--brand-cyan);
  opacity: 0.68;
  transition: transform var(--t-normal) var(--ease), opacity var(--t-normal) var(--ease);
}

.home-product-row:hover .hps-go {
  opacity: 1;
  transform: translateX(4px);
}

.home-how-section {
  position: relative;
  background:
    linear-gradient(180deg, rgba(13, 27, 42, 0.84), rgba(8, 19, 33, 0.72)),
    var(--bg-elevated);
  border-block: 1px solid rgba(150, 190, 230, 0.08);
}

.home-how-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: var(--border-default);
  border: 1px solid var(--border-default);
}

.home-how-step {
  min-height: 250px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  background:
    linear-gradient(180deg, rgba(13, 27, 42, 0.88), rgba(5, 10, 18, 0.74));
}

.hh-index {
  color: var(--brand-cyan);
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0;
}

.hh-label {
  width: max-content;
  margin: 22px 0 18px;
  padding: 5px 10px;
  border: 1px solid rgba(32, 217, 255, 0.24);
  color: var(--text-secondary);
  font-size: 12px;
}

.home-how-step h3 {
  min-height: 54px;
  margin-bottom: 14px;
  font-size: 19px;
  line-height: 1.45;
  letter-spacing: 0;
}

.home-how-step p {
  min-height: 72px;
  color: var(--text-secondary);
  font-size: 14.5px;
  line-height: 1.7;
}

.brand-scene {
  max-width: 1120px;
  margin-top: -8px;
}

.brand-scene-title { padding: 0 24px; }
.brand-scene-title .h2 { text-shadow: 0 0 34px rgba(32, 217, 255, 0.16); }

.featured-lg {
  position: relative;
  min-height: min(760px, 76vh);
}

.featured-lg::before {
  content: '';
  position: absolute;
  left: -7%;
  right: -7%;
  top: 9%;
  bottom: 9%;
  z-index: -1;
  background:
    radial-gradient(520px 300px at 74% 40%, rgba(32, 217, 255, 0.10), transparent 68%),
    linear-gradient(90deg, rgba(13, 27, 42, 0.46), transparent 55%);
  border-block: 1px solid rgba(150, 190, 230, 0.07);
}

.featured-lg .f-tagline {
  max-width: 620px;
  letter-spacing: 0;
  text-wrap: balance;
}

.agent-flow {
  border-color: rgba(32, 217, 255, 0.18);
  background:
    linear-gradient(180deg, rgba(13, 27, 42, 0.94), rgba(5, 10, 18, 0.86)),
    rgba(8, 19, 33, 0.92);
  box-shadow:
    0 22px 70px rgba(0, 0, 0, 0.22),
    inset 0 1px 0 rgba(245, 249, 255, 0.035);
}

.agent-flow::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(rgba(150, 190, 230, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(150, 190, 230, 0.045) 1px, transparent 1px);
  background-size: 34px 34px;
  mask-image: linear-gradient(180deg, #000, transparent 74%);
}

.product-card {
  position: relative;
  background:
    linear-gradient(180deg, rgba(13, 27, 42, 0.86), rgba(8, 19, 33, 0.64)),
    rgba(13, 27, 42, 0.72);
  box-shadow: inset 0 1px 0 rgba(245, 249, 255, 0.035);
}

.product-card::before {
  content: '';
  position: absolute;
  top: -1px;
  left: 22px;
  right: 22px;
  height: 1px;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--p-color) 70%, transparent), transparent);
  opacity: 0;
  transition: opacity var(--t-normal) var(--ease);
}

.product-card:hover::before { opacity: 1; }
.product-card:hover { border-color: color-mix(in srgb, var(--p-color) 38%, transparent); }

.p-visual {
  background:
    radial-gradient(220px 150px at 50% 34%, color-mix(in srgb, var(--p-color) 12%, transparent), transparent 70%),
    linear-gradient(165deg, rgba(13, 27, 42, 0.9), rgba(5, 10, 18, 0.58));
}

.p-visual::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(rgba(150, 190, 230, 0.04) 1px, transparent 1px);
  background-size: 100% 34px;
  opacity: 0.58;
}

.p-visual svg {
  position: relative;
  z-index: 1;
}

.portal {
  min-height: 300px;
  display: flex;
  flex-direction: column;
}

.portal .portal-go {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.stat b {
  color: var(--text-primary);
  text-shadow: 0 0 28px rgba(32, 217, 255, 0.10);
}

.upd-feature,
.upd-minor {
  background:
    linear-gradient(180deg, rgba(13, 27, 42, 0.78), rgba(8, 19, 33, 0.62)),
    rgba(13, 27, 42, 0.6);
}

.final-cta {
  background:
    radial-gradient(620px 320px at 50% 30%, rgba(32, 217, 255, 0.09), transparent 68%),
    var(--bg-deep-ocean);
}

.final-cta .h2 { font-size: clamp(30px, 4.2vw, 48px); }

@media (max-width: 900px) {
  .hero {
    min-height: auto;
    padding-top: 128px;
  }

  .signal-rail {
    grid-template-columns: 1fr;
    width: min(520px, 100%);
  }

  .signal-rail span {
    border-right: 0;
    border-bottom: 1px solid rgba(150, 190, 230, 0.09);
  }

  .signal-rail span:last-child { border-bottom: 0; }

  .home-products-section::before {
    left: 24px;
    right: auto;
    top: 34px;
    font-size: clamp(34px, 12vw, 82px);
  }

  .home-product-system::before {
    left: 62px;
  }

  .home-product-row {
    grid-template-columns: 42px 38px minmax(0, 1fr) 32px;
    gap: 12px;
    min-height: 128px;
    padding: 22px 0;
  }

  .hps-meta,
  .hps-state {
    grid-column: 3 / 4;
  }

  .hps-meta {
    margin-top: -10px;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px 14px;
  }

  .hps-state {
    margin-top: -2px;
  }

  .hps-go {
    grid-column: 4 / 5;
    grid-row: 1 / span 3;
  }

  .home-how-steps {
    grid-template-columns: 1fr;
  }

  .home-how-step {
    min-height: 0;
  }

  .home-how-step h3,
  .home-how-step p {
    min-height: 0;
  }
}

@media (max-width: 640px) {
  .nav-inner { height: 68px; }
  .hero-title { font-size: clamp(38px, 11vw, 52px); }
  .hero-title::after { margin-top: 18px; }
  .hero .lead { font-size: 17px; line-height: 1.75; }
  .convergence { margin-top: 10px; width: 112%; margin-left: -6%; }
  .home-product-row,
  .home-product-row:hover { transform: none; }
  .home-product-row::before { inset-inline: -10px; }
  .hps-main b { font-size: 22px; }
  .hps-main small { font-size: 14px; }
  .brand-scene { width: 118%; margin-left: -9%; }
  .brand-scene-title .h2 { font-size: 25px; }
  .featured-lg::before { inset: 4% -5%; }
}

/* ============================================================
 * 稳定基线修正
 * 页面共享同一套 token，仅修正边界、可读性与表单状态。
 * ============================================================ */
html { overflow-x: hidden; }

/* 可点击卡片统一为链接语义（评审 关于我们-1 P0：onclick → <a>，键盘可达） */
a.scene-card { display: block; }
a.portal { display: block; }

.portal-focus-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 0;
  min-height: 28px;
}

.portal-focus {
  color: var(--text-secondary);
  font-size: 13.5px;
  white-space: nowrap;
}

.portal-focus + .portal-focus::before {
  content: '·';
  color: var(--brand-cyan);
  margin: 0 9px;
}

.form-error {
  display: none;
  margin-top: 16px;
  padding: 12px 16px;
  border: 1px solid rgba(255, 111, 111, 0.38);
  border-radius: var(--radius-btn);
  background: rgba(255, 111, 111, 0.08);
  color: var(--danger-text);
  font-size: 14px;
}

.form-field input[aria-invalid="true"],
.form-field textarea[aria-invalid="true"] {
  border-color: rgba(255, 111, 111, 0.72);
}

.products-overview-hero {
  padding-top: 112px;
  padding-bottom: 24px;
}

.products-overview-hero p {
  max-width: 820px;
}

.products-catalog {
  padding-top: 32px;
}

.products-catalog .section-head {
  margin-bottom: 20px;
}

.products-catalog .filters {
  margin-bottom: 16px;
}

.catalog-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.9fr);
  align-items: end;
  gap: 32px;
  margin-bottom: 28px;
}

.catalog-head .section-head {
  max-width: 620px;
  margin-bottom: 0;
}

.catalog-head .filters {
  justify-content: flex-end;
  margin-bottom: 0;
}

.products-catalog .product-card {
  padding: 22px;
  gap: 10px;
}

.products-catalog .p-visual {
  height: 104px;
  margin-bottom: 2px;
}

.products-catalog .p-icon {
  width: 42px;
  height: 42px;
}

.products-catalog .product-card h3 {
  font-size: 20px;
}

.contact-hero {
  padding-bottom: 28px;
}

.contact-hero + .block {
  padding-top: 82px;
}

@media (max-width: 640px) {
  .page-hero { padding-top: 124px; }
  .products-overview-hero { padding-top: 84px; padding-bottom: 16px; }
  .products-catalog { padding-top: 34px; }
  .catalog-head { grid-template-columns: 1fr; gap: 14px; margin-bottom: 16px; }
  .catalog-head .filters {
    justify-content: flex-start;
    flex-wrap: nowrap;
    overflow-x: auto;
    margin-right: -4%;
    padding-bottom: 4px;
    scrollbar-width: none;
  }
  .catalog-head .filters::-webkit-scrollbar { display: none; }
  .catalog-head .filters .btn {
    flex: 0 0 auto;
    padding-inline: 12px;
    font-size: 12px;
  }
  .product-card { padding: 22px; }
  .products-catalog .p-visual { height: 104px; }
  .grid-cards { grid-template-columns: 1fr; }
  .form-card { padding: 24px; }
  .contact-grid { grid-template-columns: 1fr; gap: 36px; }
  .contact-hero + .block { padding-top: 56px; }
}

/* ============================================================
 * Final product polish
 * 以真实官网质感为准：层级更稳、控件更硬朗、移动端更可读。
 * ============================================================ */
:root {
  --radius-card: 8px;
  --radius-lg: 12px;
  --shadow-soft: 0 1px 0 rgba(245, 249, 255, 0.04), 0 18px 56px rgba(0, 0, 0, 0.18);
}

.btn,
.chip,
.badge,
.form-field input,
.form-field textarea,
.form-field select {
  letter-spacing: 0;
}

.btn {
  box-shadow: inset 0 1px 0 rgba(245, 249, 255, 0.06);
}

.btn:active {
  transform: translateY(0);
}

.nav {
  border-bottom-color: rgba(150, 190, 230, 0.08);
}

.nav-links a,
.mobile-menu a {
  letter-spacing: 0;
}

.nav-burger {
  color: var(--text-secondary);
  font-size: 0;
  position: relative;
}

.nav-burger::before,
.nav-burger::after {
  content: '';
  position: absolute;
  left: 12px;
  right: 12px;
  height: 1.5px;
  border-radius: 2px;
  background: currentColor;
  transition: transform var(--t-normal) var(--ease), top var(--t-normal) var(--ease);
}

.nav-burger::before { top: 16px; }
.nav-burger::after { top: 26px; }
.nav-burger[aria-expanded="true"]::before { top: 21px; transform: rotate(45deg); }
.nav-burger[aria-expanded="true"]::after { top: 21px; transform: rotate(-45deg); }

.mobile-menu {
  padding: 96px 24px 48px;
  justify-content: flex-start;
  align-items: stretch;
}

.mobile-menu a {
  width: min(420px, 100%);
  margin-inline: auto;
  padding: 14px 4px;
  border-bottom: 1px solid rgba(150, 190, 230, 0.10);
  font-size: 20px;
}

.mobile-menu .btn {
  margin-top: 8px;
  border-bottom: 0;
}

.hero .eyebrow {
  padding: 6px 12px;
  border: 1px solid rgba(32, 217, 255, 0.18);
  border-radius: 999px;
  background: rgba(13, 27, 42, 0.36);
  backdrop-filter: blur(12px);
}

.hero .eyebrow::before {
  display: none;
}

.lead,
.lead-sub,
.section-sub,
.product-card .one-line,
.portal p,
.upd-feature p,
.upd-minor p,
.footer .desc,
.footer a,
.ci-item span {
  text-wrap: pretty;
}

.agent-flow,
.product-card,
.upd-feature,
.upd-minor,
.form-card,
.faq-item,
.scene-card,
.dist-box,
.evid-panel {
  border-radius: var(--radius-card);
}

.product-card:hover,
.cap-item:hover,
.scene-card:hover,
.upd-feature:hover {
  box-shadow: var(--shadow-soft);
}

.product-card .p-foot {
  min-height: 54px;
}

.p-card-cta svg,
.portal-go svg {
  transition: transform var(--t-fast) var(--ease);
}

.p-card-cta:hover svg,
.portal:hover .portal-go svg {
  transform: translateX(3px);
}

.portal {
  outline: 1px solid transparent;
  outline-offset: 18px;
}

.portal:hover {
  outline-color: rgba(32, 217, 255, 0.10);
}

.stats {
  align-items: start;
}

.stat b {
  overflow-wrap: anywhere;
}

.footer {
  background:
    linear-gradient(180deg, rgba(8, 19, 33, 0.92), rgba(5, 10, 18, 0.98)),
    var(--bg-deep-ocean);
}

.footer-grid {
  align-items: start;
}

.footer h4 {
  color: var(--text-secondary);
}

.footer-bottom {
  align-items: center;
}

.form-card {
  box-shadow: var(--shadow-soft);
}

.form-field input::placeholder,
.form-field textarea::placeholder {
  color: rgba(111, 128, 149, 0.78);
}

.form-field input:hover,
.form-field textarea:hover,
.form-field select:hover {
  border-color: rgba(150, 190, 230, 0.22);
}

.form-ok {
  border-radius: var(--radius-card);
}

.form-error[style*="block"],
.form-ok[style*="block"] {
  display: block;
}

.products-catalog .product-card {
  min-height: 392px;
}

.products-catalog .product-card .tags {
  min-height: 31px;
}

.catalog-head .filters .btn {
  min-width: 78px;
}



/* 产品详情页精修：统一模块密度，同时保留各产品人格 */
.pd-hero,
.hc-hero,
.gz-hero,
.ps-hero,
.cx-hero,
.ld-hero {
  border-bottom: 1px solid var(--border-default);
}

.cap-list {
  gap: 18px;
}

.cap-item,
.scenario-item,
.belief-item,
.dist-box,
.faq-item {
  transition: border-color var(--t-normal) var(--ease), transform var(--t-normal) var(--ease), box-shadow var(--t-normal) var(--ease);
}

.cap-item h3,
.scenario-item h4 {
  text-wrap: balance;
}

.cap-item p,
.scenario-item p,
.faq-a,
.dist-box p {
  text-wrap: pretty;
}

.cap-demo {
  display: inline-flex;
  margin-left: 8px;
  color: var(--text-tertiary);
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.08em;
}

.scenario-item:hover,
.faq-item:hover {
  border-color: var(--border-active);
}

.dist-box {
  position: relative;
  overflow: hidden;
}

.dist-box::before {
  content: '';
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--border-active), transparent);
  opacity: 0.7;
}


/* ============================================================
 * 响应式精修（原 2803-2891，已剔除废弃产品世界的死规则）
 * ============================================================ */
@media (max-width: 1024px) {
  .grid-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .brand-scene-title { position: relative; inset: auto; margin-top: -56px; }
}
@media (max-width: 768px) {
  .nav { background: rgba(5, 10, 18, 0.94); }
  .hero { padding-bottom: 56px; }
  .hero-actions .btn { width: min(240px, 100%); }
  .signal-rail span { justify-content: flex-start; }
  .updates-wrap .updates-head { position: static; }
  .footer-grid { gap: 28px; padding-top: 46px; }
}
@media (max-width: 640px) {
  body { font-size: 15px; }
  .container { width: min(100% - 32px, var(--container)); }
  .grid-cards { grid-template-columns: 1fr; }
  .hero-title { line-height: 1.14; }
  .hero .lead,
  .hero .lead-sub { max-width: 32em; }
  .convergence { width: 122%; margin-left: -11%; }
  .brand-scene { width: 126%; margin-left: -13%; }
  .brand-scene-title { width: min(100vw - 32px, 420px); margin-inline: auto; margin-top: -42px; }
  .stats { grid-template-columns: 1fr; }
  .stat { text-align: center; }
  .products-catalog .product-card { min-height: auto; }
  .product-card .p-foot {
    align-items: flex-start;
    flex-direction: column;
  }
  .ci-item { gap: 12px; }
  .ci-ic {
    width: 40px;
    height: 40px;
    border-radius: var(--radius-card);
  }
  .pd-actions .btn { width: 100%; }
  .float-cta { right: 16px; bottom: 16px; }
}
/* ============================================================
 * Product Pages Unified Pass
 * 产品总览与详情统一回 Oceanic Intelligence，不再按产品切换整页视觉体系。
 * ============================================================ */
#products-app {
  background:
    radial-gradient(820px 460px at 84% 0%, rgba(32, 217, 255, 0.08), transparent 64%),
    radial-gradient(720px 420px at 0% 20%, rgba(22, 119, 255, 0.08), transparent 60%),
    var(--bg-abyss);
}

#products-app .page-hero,
#products-app .pd-hero {
  position: relative;
}

#products-app .page-hero::after,
#products-app .pd-hero::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: min(420px, 56vw);
  height: 1px;
  background: linear-gradient(90deg, rgba(32,217,255,.42), transparent);
}

.products-overview-hero {
  padding-top: 116px;
  padding-bottom: 30px;
}

.products-overview-hero .h1,
.pd-title {
  letter-spacing: 0;
  text-wrap: balance;
}

.products-overview-hero p,
.pd-one,
.pd-tagline,
.pd-values,
.section-sub {
  text-wrap: pretty;
}

.products-catalog {
  background:
    linear-gradient(180deg, rgba(8, 19, 33, 0.92), rgba(5, 10, 18, 0.98));
  border-block: 1px solid var(--border-default);
}

.products-catalog .container {
  width: min(100% - 48px, 1120px);
}

.catalog-head {
  align-items: start;
}

.catalog-tools {
  align-self: end;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
}

.products-catalog .filters {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
  padding: 5px;
  border: 1px solid rgba(150, 190, 230, 0.12);
  border-radius: var(--radius-card);
  background: rgba(5, 10, 18, 0.42);
}

.products-catalog .filters .btn {
  min-height: 36px;
  box-shadow: none;
}

.products-catalog .filters .btn-primary {
  background: rgba(32, 217, 255, 0.14);
  border-color: rgba(32, 217, 255, 0.34);
  color: var(--text-primary);
}

.products-catalog .filters .btn[aria-pressed="true"] {
  background:
    linear-gradient(180deg, rgba(32, 217, 255, 0.18), rgba(32, 217, 255, 0.08));
  border-color: rgba(32, 217, 255, 0.48);
  color: var(--brand-cyan);
  box-shadow:
    inset 0 1px 0 rgba(245, 249, 255, 0.08),
    0 0 0 1px rgba(32, 217, 255, 0.08);
}

.products-count {
  color: var(--text-tertiary);
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0;
}

.products-catalog .grid-cards {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  align-items: stretch;
}

.products-catalog .product-card {
  min-height: 428px;
  height: 100%;
  border-radius: var(--radius-card);
  background:
    linear-gradient(180deg, rgba(13, 27, 42, 0.88), rgba(8, 19, 33, 0.70)),
    rgba(13, 27, 42, 0.72);
}

.products-catalog .p-visual {
  height: 128px;
  margin-bottom: 4px;
  padding: 24px;
  display: grid;
  place-items: center;
  overflow: hidden;
}

.products-catalog .p-visual svg {
  width: auto;
  max-width: 76%;
  max-height: 74px;
}

.p-card-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
}

.p-card-badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}

.p-card-badges .badge,
.p-card-badges .chip {
  min-height: 28px;
  padding-inline: 10px;
}

.p-card-badges .p-attr {
  color: var(--text-secondary);
  border-color: rgba(150, 190, 230, 0.18);
}

.p-card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.products-catalog .product-card .one-line {
  min-height: 46px;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.products-catalog .product-card .tags {
  min-height: 60px;
  align-content: flex-start;
}

.p-icon {
  width: 48px;
  height: 48px;
  border-radius: var(--radius-card);
  display: grid;
  place-items: center;
  color: var(--p-color, var(--brand-cyan));
  background: rgba(22, 119, 255, 0.10);
  border: 1px solid rgba(32, 217, 255, 0.18);
}

.pd-hero {
  padding-top: 146px;
}

.pd-grid {
  align-items: center;
}

.pd-title {
  font-size: clamp(38px, 5vw, 58px);
  line-height: 1.12;
}

.pd-tagline {
  color: var(--text-primary);
  max-width: 620px;
}

.pd-values {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  max-width: 760px;
}

.pd-values li {
  min-height: 48px;
  padding: 10px 12px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-card);
  background: rgba(150, 190, 230, 0.045);
}

.evid-panel {
  border-color: rgba(32, 217, 255, 0.18);
  background:
    radial-gradient(360px 220px at 20% 0%, rgba(32, 217, 255, 0.11), transparent 70%),
    linear-gradient(180deg, rgba(13, 27, 42, 0.92), rgba(5, 10, 18, 0.76));
  box-shadow: 0 22px 70px rgba(0, 0, 0, 0.22);
}

.evid-visual {
  height: 220px;
  border-radius: var(--radius-card);
  background:
    radial-gradient(260px 160px at 50% 44%, color-mix(in srgb, var(--p-color) 16%, transparent), transparent 72%),
    linear-gradient(165deg, rgba(13, 27, 42, 0.92), rgba(5, 10, 18, 0.62));
}

.evid-label {
  color: var(--brand-cyan);
}

#products-app .block.bg-deep,
#products-app .block.bg-abyss,
#products-app .block.bg-elevated,
#products-app .block-alt {
  border-top: 1px solid rgba(150, 190, 230, 0.08);
}

#products-app .block.bg-deep {
  background: var(--bg-deep-ocean);
}

#products-app .block.bg-elevated,
#products-app .block-alt {
  background: var(--bg-elevated);
}

#products-app .cap-list {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

#products-app .cap-item,
#products-app .scenario-item,
#products-app .belief-item,
#products-app .dist-box,
#products-app .faq-item {
  border-radius: var(--radius-card);
  background:
    linear-gradient(180deg, rgba(13, 27, 42, 0.76), rgba(8, 19, 33, 0.62));
  border-color: var(--border-default);
  box-shadow: inset 0 1px 0 rgba(245, 249, 255, 0.035);
}

#products-app .cap-item:hover,
#products-app .scenario-item:hover,
#products-app .belief-item:hover {
  border-color: var(--border-active);
  transform: translateY(-3px);
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.16);
}

#products-app .cap-item .cap-num,
#products-app .cap-item .cap-demo {
  color: var(--brand-cyan);
}

#products-app .belief-item b {
  color: var(--brand-cyan);
}

#products-app .stats {
  gap: 28px;
}

#products-app .stat {
  background: none;
  border: 0;
  border-top: 1px solid var(--border-default);
  border-radius: 0;
  padding: 22px 4px 8px;
  text-align: left;
}

#products-app .stat b {
  font-size: clamp(34px, 4.2vw, 54px);
  color: var(--text-primary);
  text-shadow: 0 0 28px rgba(32, 217, 255, 0.10);
}

#products-app .dist-box {
  padding: 30px;
}

#products-app .faq-list {
  max-width: 860px;
}

.products-help {
  background:
    radial-gradient(540px 300px at 50% 0%, rgba(32, 217, 255, 0.07), transparent 64%),
    var(--bg-abyss);
}

.products-help .section-head {
  margin-bottom: 28px;
}

.products-help-actions {
  display: flex;
  justify-content: center;
}

@media (max-width: 900px) {
  .products-catalog .grid-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .catalog-tools {
    width: 100%;
    align-items: flex-start;
  }

  .products-catalog .filters {
    justify-content: flex-start;
  }

  .pd-values {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .products-overview-hero,
  .pd-hero {
    padding-top: 112px;
  }

  .products-overview-hero {
    padding-bottom: 24px;
  }

  .products-catalog .container {
    width: min(100% - 32px, var(--container));
  }

  .products-catalog .grid-cards {
    grid-template-columns: 1fr;
  }

  .products-catalog .product-card {
    min-height: 0;
  }

  .products-catalog .filters .btn {
    flex: 1 1 auto;
  }

  .products-catalog .p-visual {
    height: 118px;
  }

  .p-card-badges {
    max-width: 190px;
  }

  .products-catalog .product-card .tags {
    min-height: 0;
  }

  .pd-title {
    font-size: clamp(34px, 10vw, 44px);
  }

  .pd-actions .btn {
    width: 100%;
  }

  .evid-visual {
    height: 170px;
  }

  #products-app .stat {
    text-align: center;
  }
}


/* ============================================================
 * 第 6 轮精修 · Industry Refinement Pass（行业级视觉细节）
 * 对标：Linear / Vercel / Stripe 的细节质感
 * 原则：只动质感层，不改信息架构；全部使用既有 Token 与 color-mix
 * ============================================================ */

/* ---------- 1. 全局渲染细节 ---------- */
html { scrollbar-color: rgba(150, 190, 230, 0.22) transparent; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
  background: rgba(150, 190, 230, 0.16);
  border-radius: var(--radius-tag);
  border: 3px solid var(--bg-abyss);
}
::-webkit-scrollbar-thumb:hover { background: rgba(32, 217, 255, 0.30); }

body {
  text-rendering: optimizeLegibility;
  -webkit-tap-highlight-color: transparent;
}

/* 标题自动均衡换行；正文尾行避孤字 */
h1, h2, h3, h4 { text-wrap: balance; }
.section-sub, .lead, .lead-sub { text-wrap: pretty; }

/* 数字等宽：统计值 / 时间戳 / 序号在动效与加载中永不跳动 */
.stat b, .stat--long b, .upd-feature time, .upd-minor time, .log-item time,
.hh-index, .pr-num, .mf-num, .ms-num, .cap-num, .hps-index, .ml-stage,
.catalog-tools .products-count {
  font-variant-numeric: tabular-nums;
}

/* 胶片颗粒：全站统一材质层（4% 内不影响可读性） */
body::after {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 3000;
  pointer-events: none;
  opacity: 0.032;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");
}

/* ---------- 2. 按钮精致化（活渐变 + 分层辉光） ---------- */
.btn-primary {
  background-image: linear-gradient(135deg, #1677FF 0%, #20D9FF 118%);
  background-size: 132% 132%;
  background-position: 12% 12%;
  box-shadow:
    inset 0 1px 0 rgba(245, 249, 255, 0.20),
    inset 0 0 0 1px rgba(245, 249, 255, 0.04),
    0 8px 26px rgba(22, 119, 255, 0.24),
    0 2px 10px rgba(32, 217, 255, 0.16);
}
.btn-primary:hover {
  background-position: 88% 88%;
  box-shadow:
    inset 0 1px 0 rgba(245, 249, 255, 0.28),
    inset 0 0 0 1px rgba(245, 249, 255, 0.06),
    0 14px 38px rgba(22, 119, 255, 0.36),
    0 4px 16px rgba(32, 217, 255, 0.24);
}
.btn-primary:active { transform: translateY(0) scale(0.99); }
.btn-ghost { backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.btn-ghost:hover { transform: translateY(-1px); background: rgba(32, 217, 255, 0.09); }

/* ---------- 3. 导航玻璃增强（滚动后提亮饱和） ---------- */
.nav.scrolled {
  background: rgba(5, 10, 18, 0.72);
  -webkit-backdrop-filter: blur(20px) saturate(170%);
  backdrop-filter: blur(20px) saturate(170%);
}

/* ---------- 4. Hero 标题：纵向光泽（立体感而非彩色渐变） ---------- */
.hero-title {
  background: linear-gradient(180deg, #FFFFFF 2%, #E9F2FF 52%, rgba(169, 183, 201, 0.92) 106%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
.hero-title::after {
  margin-top: 26px;
  background: linear-gradient(90deg, transparent, rgba(32, 217, 255, 0.55), rgba(22, 119, 255, 0.28), transparent);
}

/* eyebrow：拉丁字距工程感统一（中文自然回退） */
.eyebrow {
  font-family: var(--font-en);
  font-size: 12.5px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

/* ---------- 5. 卡片层 ---------- */
/* 顶部玻璃光晕：叠加背景实现，不占用伪元素槽位 */
.product-card, .faq-item, .form-card, .agent-flow, .evid-panel, .featured {
  background-image:
    radial-gradient(130% 90% at 50% -8%, rgba(245, 249, 255, 0.055), transparent 56%);
}

/* 产品图标座跟随产品色相（修复：guwen 朱红图标曾配蓝色底） */
.p-icon {
  background: color-mix(in srgb, var(--p-color, #20D9FF) 11%, transparent);
  border-color: color-mix(in srgb, var(--p-color, #20D9FF) 26%, transparent);
  box-shadow: inset 0 1px 0 rgba(245, 249, 255, 0.08);
}

/* hover 氛围光：产品色自顶部渗出（与发丝线同色相） */
.product-card::after {
  content: '';
  position: absolute;
  inset: -1px;
  z-index: 0;
  pointer-events: none;
  opacity: 0;
  transition: opacity var(--t-slow) var(--ease);
  background: radial-gradient(46% 42% at 50% 0%,
    color-mix(in srgb, var(--p-color, #20D9FF) 13%, transparent), transparent 74%);
}
.product-card > * { position: relative; z-index: 1; }
.product-card:hover::after { opacity: 1; }

.faq-item summary { transition: background var(--t-fast) var(--ease); }
.faq-item summary:hover { background: rgba(150, 190, 230, 0.05); }

/* stat 数字上色点缀：顶缘发丝线内的品牌呼吸 */
.stat { transition: border-color var(--t-normal) var(--ease); }
.stat:hover { border-color: rgba(32, 217, 255, 0.30); }

/* ---------- 6. Reduced Motion 全局闸（PRD 15.12） ---------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  /* 降低动态偏好下内容直接呈现，不做入场隐藏 */
  html.js [data-reveal] { opacity: 1; transform: none; }
  html { scroll-behavior: auto; }
}

/* ---------- 7. 响应式兜底：网格塌缩（High 修复） ----------
 * 级联缺陷：base.css 断点内的塌缩被后加载的 products/components
 * 无媒体查询两列定义覆盖，导致 ≤1024px 详情页右栏溢出视口。
 * 本文件为加载链最后一层，此处声明同断点规则以恢复塌缩。 */
@media (max-width: 1024px) {
  .pd-grid,
  .featured,
  .contact-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}

/* ---------- 8. 产品总览：价值句 / 卡片行动区 / 选品指南 ---------- */
/* 一句用户价值（PRD 6.3）：与定位一句拉开层级 */
.product-card .value {
  font-size: 13.5px;
  line-height: 1.7;
  color: var(--text-secondary);
}
.product-card .one-line { color: var(--text-tertiary); }

.p-foot-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; justify-content: flex-end; margin-left: auto; }
.p-card-btn { white-space: nowrap; }
/* 分类徽标不允许断行；foot 放不下时整组换行而不是字被切开 */
.product-card .p-foot { flex-wrap: wrap; row-gap: 10px; }
.product-card .p-foot > .chip { white-space: nowrap; }
.product-card.coming .p-foot-actions { opacity: 0.92; }

.dl-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 26px; }
.dl-note { color: var(--text-tertiary); font-size: 13.5px; margin-bottom: 24px; }

/* 非数字信任项：常规权重，不再套大数字排版 */
.stat--txt b {
  font-size: clamp(20px, 2.2vw, 26px) !important;
  font-weight: 650 !important;
  letter-spacing: 0;
  line-height: 1.35 !important;
  white-space: normal;
}

/* ---------- 10. 详情页产品色统一注入 + 中段组件精修 ----------
 * 历史缺陷：详情视图未设置 --p-color，信念/能力编号等产品色文字
 * 实际回退为默认色，五款产品的中段个性从未生效。 */
#products-app {
  /* 小字号产品色文字的提亮变体：深底上保证 ≥4.5:1（朱红等深色相 60% 混白后约 5.7:1） */
  --pt: color-mix(in srgb, var(--p-color, #20D9FF) 60%, #ffffff);
}

#products-app .cap-num,
#products-app .belief-item b,
#products-app .scenario-item .sc-num { color: var(--pt); }

/* 场景卡：与能力卡同级能量语言（hover 上浮 + 产品色边界） */
#products-app .scenario-item {
  transition: transform var(--t-normal) var(--ease), border-color var(--t-normal) var(--ease),
    background var(--t-normal) var(--ease);
}
.scenario-item .sc-num {
  display: block;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 1.5px;
  margin-bottom: 8px;
  font-variant-numeric: tabular-nums;
}
#products-app .scenario-item:hover {
  transform: translateY(-3px);
  border-color: color-mix(in srgb, var(--p-color) 35%, transparent);
  background: color-mix(in srgb, var(--p-color) 5%, rgba(13, 27, 42, 0.6));
}

/* 能力卡 hover 换用产品色（原全局 cyan 与个体色相冲突） */
#products-app .cap-item:hover {
  border-color: color-mix(in srgb, var(--p-color) 35%, transparent);
}

/* Hero 证据面板：顶缘产品色发丝线（与产品卡 hover 语言一致，此处常显） */
.evid-panel { overflow: hidden; }
.evid-panel::after {
  content: '';
  position: absolute;
  top: 0; left: 22px; right: 22px;
  height: 1px;
  background: linear-gradient(90deg, transparent,
    color-mix(in srgb, var(--p-color) 65%, transparent), transparent);
}
.evid-visual { height: 216px; }

/* 选品指南徽标状态字同步提亮变体 */

/* ---------- 11. 总览网格补位幽灵卡 + 卡片行动区对齐 ---------- */
/* 幽灵卡：填充 3 列网格的最后一行空洞，安静的召唤而非残缺 */
.product-card--ghost {
  border-style: dashed;
  border-color: rgba(150, 190, 230, 0.20);
  background: rgba(13, 27, 42, 0.35);
}
.product-card--ghost .p-visual {
  display: grid;
  place-items: center;
  color: var(--brand-cyan);
  opacity: 0.55;
  background: none;
  border: 0;
}
.product-card--ghost .p-visual svg { width: 30px; height: 30px; }
.p-icon--ghost {
  color: var(--brand-cyan);
  background: rgba(32, 217, 255, 0.07);
  border-color: rgba(32, 217, 255, 0.20);
}
.product-card--ghost .value { color: var(--text-tertiary); }
.product-card--ghost:hover { border-color: rgba(32, 217, 255, 0.38); }

/* 徽标行内的分类徽标（自 foot 上移） */
.p-cat { color: var(--text-tertiary); }

/* ---------- 12. 详情视图节奏与信念 pills ---------- */
/* 详情页节奏收紧一档（总览页不受影响），消除区块间的松散感 */
#products-app.pd-detail .block { padding-block: clamp(56px, 7vw, 112px); }

/* 信念 pills：短口号用产品色胶囊行，替代大半空白的盒子 */
.belief-pills { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 36px; }
.belief-pill {
  padding: 10px 20px;
  border-radius: var(--radius-tag);
  border: 1px solid color-mix(in srgb, var(--p-color) 32%, transparent);
  background: color-mix(in srgb, var(--p-color) 7%, transparent);
  color: var(--text-primary);
  font-size: 14.5px;
  font-weight: 600;
  transition: background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);
}
.belief-pill:hover {
  border-color: color-mix(in srgb, var(--p-color) 55%, transparent);
  background: color-mix(in srgb, var(--p-color) 13%, transparent);
}

/* ---------- 13. 总览页减法：工具行 + 联系条带 ---------- */
/* 目录区不再重复页面标题，只留筛选工具行 */
.catalog-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 44px;
}

/* 联系入口条带：单行、轻量（路径已由幽灵卡与导航覆盖） */
.help-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  border-top: 1px solid var(--border-default);
  padding-top: 30px;
  max-width: 840px;
  margin-inline: auto;
}
.help-strip p { color: var(--text-secondary); font-size: 15px; }

/* ---------- 14. 规模化工具行：搜索 / 分页 / 空状态 ---------- */
.grid-more { display: flex; justify-content: center; margin-top: 36px; }
.grid-more[hidden] { display: none; }

.grid-empty {
  grid-column: 1 / -1;
  text-align: center;
  padding: 72px 24px;
  border: 1px dashed var(--border-default);
  border-radius: var(--radius-card);
  color: var(--text-secondary);
}
.grid-empty p { margin-bottom: 18px; }

/* hidden 属性必须真正隐藏按钮（.btn 的 display:inline-flex 会覆盖 UA 的 [hidden] 规则） */
.btn[hidden] { display: none !important; }

/* ---------- 15. P0 主角化：featured 大卡 / 开源位 / 快速开始 / 企业位 ---------- */
/* Hycore featured 大卡（编辑式双列：头部相邻 / 行动行左对齐贴底 / 右面板等高） */
.product-card--featured {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr);
  gap: 56px;
  align-items: stretch;
  padding: 44px 48px;
}
.product-card--featured .pf-main {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-self: stretch;
  min-width: 0;
}
.product-card--featured .p-card-head {
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  gap: 14px;
  margin-bottom: 20px;
}
.product-card--featured h3 { font-size: 30px; margin: 0 0 6px; }
.product-card--featured .one-line { font-size: 14px; margin: 0 0 14px; }
.product-card--featured .value { font-size: 15px; margin: 0 0 18px; max-width: 560px; }
.product-card--featured .tags { margin: 0 0 26px; }
.product-card--featured .p-foot-actions {
  margin: auto 0 0;
  justify-content: flex-start;
}
.pf-side { display: grid; align-items: stretch; }
.pf-side .agent-flow { height: 100%; padding: 24px; }

/* 开源位条带 */
.oss-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}
.oss-strip .section-sub { max-width: 620px; }
.oss-strip .h2 { margin: 14px 0 12px; }

/* 快速开始代码块 */
.qs-wrap { margin-bottom: 24px; }
.qs-title { font-weight: 700; margin-bottom: 10px; }
.qs-code {
  background: var(--bg-abyss);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-btn);
  padding: 16px 18px;
  font-family: var(--font-mono);
  font-size: 13px;
  color: var(--text-primary);
  overflow-x: auto;
  white-space: pre;
}
.qs-note { color: var(--text-tertiary); font-size: 12.5px; margin-top: 8px; }

/* 企业版规划位 */
.ent-note {
  margin-top: 18px;
  padding: 14px 18px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-card);
  background: rgba(13, 27, 42, 0.5);
  color: var(--text-secondary);
  font-size: 13.5px;
}
.ent-note a { color: var(--brand-cyan); font-weight: 600; }

@media (max-width: 900px) {
  .product-card--featured { grid-template-columns: 1fr; }
}

/* ---------- 16. 你会获得什么（之前 → 之后对照卡） ---------- */
.gains-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 20px;
  max-width: 1080px;
  margin-inline: auto;
}
.gain-card {
  background: rgba(13, 27, 42, 0.6);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-card);
  padding: 26px;
  transition: transform var(--t-normal) var(--ease), border-color var(--t-normal) var(--ease);
}
.gain-card:hover {
  transform: translateY(-4px);
  border-color: color-mix(in srgb, var(--p-color) 35%, transparent);
}
.gain-num {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 1.5px;
  color: var(--text-tertiary);
  font-variant-numeric: tabular-nums;
}
.gain-card h3 { font-size: 16.5px; margin: 8px 0 16px; }
.gain-row { display: flex; gap: 10px; align-items: flex-start; margin-bottom: 10px; }
.gain-row:last-child { margin-bottom: 0; }
.gain-row p { font-size: 13.5px; color: var(--text-secondary); line-height: 1.65; }
.gain-tag {
  flex-shrink: 0;
  font-size: 11.5px;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: var(--radius-tag);
  margin-top: 1px;
}
.gain-tag.before { color: var(--text-tertiary); border: 1px solid var(--border-default); }
.gain-tag.after {
  color: var(--pt, var(--p-color));
  border: 1px solid color-mix(in srgb, var(--p-color) 40%, transparent);
}

/* ---------- 17. 排版精修（Typography Refinement） ----------
 * 目标：解决中西文混排无间隙、全角标点留白、卡片文字层级倒挂。 */
/* 1) 中西文自动间距 + 行首行尾标点挤压（渐进增强，旧浏览器忽略） */
body {
  text-autospace: normal;
  text-spacing-trim: space-first;
}

/* 2) 中文展示级标题改用微正字距（负字距对中文大标题易挤压） */
.hero-title, .h1, .pd-title { letter-spacing: 0.015em; }
.h2 { letter-spacing: 0.01em; }

/* 3) 卡片文字层级倒挂纠正：价值句是主信息，定位句退为引导 */
.product-card .one-line {
  font-size: 13.5px;
  color: var(--text-tertiary);
  margin-bottom: 2px;
}
.product-card .value {
  font-size: 14.5px;
  color: var(--text-primary);
  line-height: 1.7;
}

/* 4) 段落呼吸：次级说明文字行高放宽 */
.section-sub, .pd-one, .lead-sub { line-height: 1.8; }

/* ---------- 18. 光标跟随辉光（卡片活体感 · T2） ---------- */
.product-card::after,
.gain-card::after {
  content: '';
  position: absolute;
  inset: -1px;
  z-index: 0;
  pointer-events: none;
  opacity: 0;
  transition: opacity var(--t-slow) var(--ease);
  background: radial-gradient(
    340px 240px at var(--mx, 50%) var(--my, -20%),
    color-mix(in srgb, var(--p-color, #20D9FF) 12%, transparent),
    transparent 72%
  );
  border-radius: inherit;
}
.product-card:hover::after,
.gain-card:hover::after { opacity: 1; }
.gain-card > * { position: relative; z-index: 1; }

/* ---------- 19. T3-T7：活体演示 / 宣言带 / 目录轨 / 进度条 / 提醒 / 第一人称 ---------- */
/* T3 agent-flow 序列点亮：五个步骤依次亮起，循环（提示条模拟输入中） */
.af-prompt {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border: 1px solid var(--border-active);
  border-radius: var(--radius-btn);
  background: var(--bg-abyss);
  font-family: var(--font-mono);
  font-size: 12.5px;
  color: var(--text-primary);
  margin-bottom: 16px;
}
.af-caret {
  width: 2px;
  height: 14px;
  background: var(--brand-cyan);
  animation: caretBlink 1.1s steps(2) infinite;
}
@keyframes caretBlink { 0%, 49% { opacity: 1; } 50%, 100% { opacity: 0; } }

.af-steps .af-node { opacity: 0.3; }
.af-steps .af-node:nth-child(1) { animation: afLight 5.6s var(--ease) infinite; }
.af-steps .af-node:nth-child(2) { animation: afLight 5.6s var(--ease) 0.8s infinite; }
.af-steps .af-node:nth-child(3) { animation: afLight 5.6s var(--ease) 1.6s infinite; }
.af-steps .af-node:nth-child(4) { animation: afLight 5.6s var(--ease) 2.4s infinite; }
.af-steps .af-node:nth-child(5) { animation: afLight 5.6s var(--ease) 3.2s infinite; }
@keyframes afLight { 0%, 18% { opacity: 1; } 30%, 100% { opacity: 0.3; } }

/* T4 沉淀宣言带：全宽纯排版时刻，打破卡片节奏 */
.manifesto-band { padding: clamp(72px, 9vw, 128px) 0; text-align: center; }
.manifesto-line {
  font-size: clamp(28px, 4.2vw, 48px);
  font-weight: 650;
  line-height: 1.5;
  letter-spacing: 0.02em;
}
.manifesto-line em {
  font-style: normal;
  background: var(--gradient-text);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* T5 页内目录轨（大屏侧栏）+ 阅读进度条 */
.toc-rail {
  position: fixed;
  left: calc(50% - 736px);
  top: 50%;
  transform: translateY(-50%);
  display: none;
  z-index: 40;
}
@media (min-width: 1560px) { .toc-rail { display: block; } }
.toc-rail a {
  display: block;
  padding: 7px 0 7px 14px;
  font-size: 12.5px;
  color: var(--text-tertiary);
  border-left: 1px solid var(--border-default);
  transition: color var(--t-fast), border-color var(--t-fast);
}
.toc-rail a:hover { color: var(--text-secondary); }
.toc-rail a.on { color: var(--brand-cyan); border-left-color: var(--brand-cyan); }

#read-progress {
  position: fixed;
  top: 0; left: 0;
  height: 2px;
  width: 0;
  background: var(--gradient-primary);
  z-index: 130;
  pointer-events: none;
}

/* T6 上线提醒（即将上线卡的诚实出口） */
.p-notify {
  display: inline-block;
  font-size: 12.5px;
  color: var(--text-secondary);
  border-bottom: 1px dashed var(--border-active);
  padding-bottom: 1px;
  transition: color var(--t-fast);
}
.p-notify:hover { color: var(--brand-cyan); border-bottom-color: var(--brand-cyan); }

/* T7 第一人称叙事块（关于页） */
.fp-note {
  max-width: 720px;
  margin: 0 auto 44px;
  padding: 20px 26px;
  border-left: 2px solid var(--brand-cyan);
  background: rgba(150, 190, 230, 0.05);
  border-radius: 0 var(--radius-card) var(--radius-card) 0;
  color: var(--text-secondary);
  font-size: 15.5px;
  line-height: 1.9;
}

/* ---------- 20. Hero 排版精修（红框问题） ---------- */
/* H1 字号回归 PRD 15.6 规范上限（64-72），并在展示级关闭中西文自动间距（间距由 .lat 精确控制） */
.hero-title {
  font-size: clamp(40px, 5.6vw, 72px);
  text-autospace: no-autospace;
  text-wrap: balance;
}
/* 中西文混排的精确间距：AI 用 Inter 渲染，两侧 0.14em 发丝间距，取代巨大空格 */
.hero-title .lat {
  font-family: var(--font-en);
  font-weight: 600;
  margin: 0 0.14em;
}
/* lead：两行均衡 + 收窄量宽 */
.lead { text-wrap: balance; max-width: 700px; }

/* ---------- 21. Final CTA 双按钮与节奏 ---------- */
.fc .btn-ghost + .btn-ghost,
.fc .btn-primary + .btn-ghost { margin-left: 14px; }
@media (max-width: 640px) {
  .fc .btn-primary + .btn-ghost { margin-left: 0; margin-top: 12px; }
  .final-cta .fc .btn { width: 100%; }
  .fc .btn-primary + .btn-ghost { margin-top: 12px; }
}

/* ---------- 22. 关于页排版节奏（红框问题） ---------- */
/* 页首段落：两行均衡，避免孤字断行 */
.page-hero .brand-story p {
  max-width: 620px;
  text-wrap: balance;
  line-height: 1.9;
}
/* 第一人称引用块：破折号已从文案移除，行高放宽 */
.fp-note p { line-height: 2.0; text-wrap: pretty; }
/* 使命行动流：编号与胶囊垂直居中对齐，间距统一 */
.mission-flow .mf-step { align-items: center; }


/* ---------- 24. 谁在构建：轨道系统（与首页汇聚图同语言） ---------- */
.team-orbit-svg { display: block; width: 100%; max-width: 820px; height: auto; margin-inline: auto; }
.to-orbit { fill: none; stroke: var(--border-default); }
.to-orbit--far { stroke-dasharray: 3 8; opacity: 0.55; }
.to-glow { fill: rgba(32, 217, 255, 0.08); animation: toGlow 3.6s ease-in-out infinite; }
@keyframes toGlow { 0%, 100% { opacity: 0.35; } 50% { opacity: 0.9; } }
.to-core { }
.to-core-label {
  font-size: 15px;
  font-weight: 700;
  fill: var(--text-primary);
  letter-spacing: 0.08em;
}
.to-label {
  font-size: 15px;
  font-weight: 600;
  fill: var(--text-primary);
  letter-spacing: 0.06em;
}
.team-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  max-width: 1080px;
  margin: 28px auto 0;
}
.team-card {
  border: 1px solid var(--border-default);
  border-radius: var(--radius-card);
  padding: 20px 22px;
  background: rgba(13, 27, 42, 0.45);
  transition: transform var(--t-normal) var(--ease), border-color var(--t-normal) var(--ease);
}
.team-card:hover {
  transform: translateY(-4px);
  border-color: var(--border-active);
}
.team-card b { display: block; font-size: 15.5px; margin-bottom: 6px; color: var(--brand-cyan); }
.team-card span { color: var(--text-secondary); font-size: 13.5px; line-height: 1.7; display: block; }
@media (max-width: 1024px) { .team-cards { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .team-cards { grid-template-columns: 1fr; } }

/* 轨道容器：脱离旧三列网格（SVG 全宽呈现） */
.about.html .team-cross, .team-cross { display: block; max-width: 860px; margin-inline: auto; }
.team-orbit-svg { grid-column: auto; }

/* ---------- 25. 合作咨询：邮箱/企微双通道卡片 ---------- */
.reach {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 20px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-card);
  background: rgba(13, 27, 42, 0.5);
  margin-bottom: 14px;
  transition: border-color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease);
}
a.reach:hover { border-color: var(--border-active); transform: translateY(-2px); }
.reach-ic {
  width: 42px; height: 42px;
  border-radius: 12px;
  display: grid; place-items: center;
  color: var(--brand-cyan);
  background: rgba(22, 119, 255, 0.10);
  border: 1px solid var(--border-active);
  flex-shrink: 0;
}
.reach-main { flex: 1; min-width: 0; }
.reach-main b { display: block; font-size: 15px; margin-bottom: 3px; }
.reach-main span { color: var(--text-tertiary); font-size: 13px; }
.wx-copy {
  padding: 9px 16px;
  border-radius: var(--radius-btn);
  border: 1px solid var(--border-active);
  background: rgba(32, 217, 255, 0.06);
  color: var(--brand-cyan);
  font-size: 13px;
  font-weight: 600;
  transition: all var(--t-fast) var(--ease);
  white-space: nowrap;
}
.wx-copy:hover { background: rgba(32, 217, 255, 0.14); }
.wx-copy.copied { color: var(--success); border-color: rgba(6, 214, 160, 0.45); background: rgba(6, 214, 160, 0.08); }
.mail-fields { margin: 4px 0 0; }
.mail-fields summary {
  cursor: pointer;
  font-size: 13px;
  color: var(--text-secondary);
  padding: 6px 0;
}
.mail-fields summary:hover { color: var(--brand-cyan); }
.mail-fields ul {
  margin: 10px 0 0;
  padding-left: 20px;
  color: var(--text-tertiary);
  font-size: 13px;
  line-height: 1.9;
}
@media (max-width: 640px) {
  .reach { flex-wrap: wrap; }
}

/* ---------- 26. 企微二维码弹框 + 滑块验证 ---------- */
.wx-modal { position: fixed; inset: 0; z-index: 200; }
.wx-modal[hidden] { display: none; }
.wx-modal-mask {
  position: absolute; inset: 0;
  background: rgba(3, 7, 12, 0.72);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.wx-modal-box {
  position: absolute;
  left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  width: min(400px, calc(100vw - 40px));
  background: var(--bg-surface);
  border: 1px solid var(--border-active);
  border-radius: var(--radius-lg);
  padding: 28px 28px 26px;
  text-align: center;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.5);
}
/* 验证态更紧凑；二维码态有图自然撑高 */
.wx-modal-box:has(.wx-verify:not([hidden])) { padding: 26px 28px 22px; }
.wx-modal-box h3 { margin-bottom: 16px; }
.wx-modal-box:has(.wx-result:not([hidden])) h3 { margin-bottom: 22px; }
.wx-modal-box h3 { font-size: 20px; margin-bottom: 22px; }
.wx-close {
  position: absolute;
  top: 14px; right: 18px;
  font-size: 26px;
  color: var(--text-tertiary);
  line-height: 1;
  transition: color var(--t-fast);
}
.wx-close:hover { color: var(--text-primary); }

.wx-verify-tip { color: var(--text-secondary); font-size: 14px; margin-bottom: 16px; }
.wx-slider {
  position: relative;
  width: 100%;
  height: 48px;
  border-radius: var(--radius-btn);
  border: 1px solid var(--border-default);
  background: var(--bg-abyss);
  overflow: hidden;
  cursor: grab;
  touch-action: none;
}
.wx-slider:active { cursor: grabbing; }
.wx-slider-knob {
  position: absolute;
  left: 3px; top: 3px;
  width: 58px; height: 40px;
  border-radius: 8px;
  background: var(--gradient-primary);
  color: var(--on-brand);
  display: grid; place-items: center;
  font-size: 20px;
  font-weight: 700;
  user-select: none;
  transition: box-shadow var(--t-fast);
}
.wx-slider-knob.ok { background: linear-gradient(135deg, #06D6A0, #20D9FF); }
.wx-slider-text {
  position: absolute;
  inset: 0;
  display: grid; place-items: center;
  color: var(--text-tertiary);
  font-size: 13.5px;
  pointer-events: none;
}
.wx-verify-hint { min-height: 18px; color: var(--danger-text); font-size: 12.5px; margin-top: 10px; }

.wx-result img.wx-qrcode {
  width: 220px; height: 220px;
  margin: 0 auto 14px;
  border-radius: var(--radius-card);
  border: 1px solid var(--border-default);
  background: #fff;
  padding: 8px;
}
.wx-wxid { font-size: 14px; color: var(--text-primary); margin-bottom: 10px; }
.wx-wxid code {
  font-family: var(--font-mono);
  color: var(--brand-cyan);
  background: rgba(32, 217, 255, 0.08);
  padding: 2px 10px;
  border-radius: var(--radius-tag);
}
.wx-note { color: var(--text-tertiary); font-size: 12.5px; line-height: 1.7; }

/* ---------- 27. 图标放大：确保产品含义清晰可读 ---------- */
.p-icon svg { width: 28px; height: 28px; }
.ci-ic svg { width: 24px; height: 24px; }
.reach-ic svg { width: 24px; height: 24px; }

/* ---------- 28. ICP 备案链接 ---------- */
.icp-link { color: var(--text-tertiary); text-decoration: none; transition: color var(--t-fast); }
.icp-link:hover { color: var(--brand-cyan); }
