/* =================================================================
   Visual Components · 中国区授权代理商官网  v2
   Design System: Visual Components Official 风格
   深海军蓝 + 金黄强调 + 大字无衬线 + 工业感
   ================================================================= */

:root {
  /* Palette · 深海军蓝主调 + 金黄强调 */
  --bg: #FFFFFF;
  --bg-2: #F4F6F8;            /* 浅灰分段 */
  --bg-3: #0E2A47;            /* VC 主深蓝 */
  --bg-3-2: #0A2238;          /* 稍深 */
  --bg-3-3: #081A2E;          /* 暗 · footer */
  --surface: #FFFFFF;
  --surface-2: #F8FAFC;
  --ink: #0E2A47;             /* type on light · 等同主蓝 */
  --ink-2: #1F2937;           /* body on light */
  --ink-3: #374151;
  --ink-on-dark: #FFFFFF;
  --ink-on-dark-2: rgba(255,255,255,.78);
  --ink-on-dark-3: rgba(255,255,255,.55);
  --muted: #5A6B7F;
  --muted-2: #94A3B8;
  --line: #E4E8EE;
  --line-2: #CBD5E1;
  --line-dark: #1F3D5C;
  --line-dark-2: #2A4A6B;
  --accent: #F4B829;          /* VC 品牌金黄 */
  --accent-2: #E0A523;        /* 暗黄 · hover */
  --accent-soft: #FEF4D6;     /* 极浅黄 */
  --accent-on-dark: #F4B829;  /* 蓝底上的黄 */

  /* Type · 全无衬线 · humanist sans */
  --sans: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
  --mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Monaco, "Courier New", monospace;

  /* Spacing */
  --s-1: 4px;
  --s-2: 8px;
  --s-3: 12px;
  --s-4: 16px;
  --s-5: 24px;
  --s-6: 32px;
  --s-7: 48px;
  --s-8: 64px;
  --s-9: 96px;
  --s-10: 128px;
  --s-11: 160px;

  /* Layout */
  --container: 1280px;
  --container-narrow: 920px;
  --gutter: clamp(20px, 4vw, 48px);

  --radius: 0px;
  --t-fast: 180ms cubic-bezier(.2,.7,.2,1);
  --t-mid: 320ms cubic-bezier(.2,.7,.2,1);
}

/* ---------- Reset ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.7;
  color: var(--ink);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
img, video, svg { max-width: 100%; display: block; height: auto; }
a { color: inherit; text-decoration: none; transition: color var(--t-fast); }
button { font: inherit; cursor: pointer; background: none; border: 0; color: inherit; padding: 0; }
ul, ol { margin: 0; padding: 0; list-style: none; }
h1, h2, h3, h4, h5, h6, p { margin: 0; }
hr { border: 0; border-top: 1px solid var(--line); margin: 0; }

/* ---------- Typography · 大字 + 粗 + 无衬线 ---------- */
.display, h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5 {
  font-family: var(--sans);
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1.05;
  color: var(--ink);
}
h1, .h1 { font-size: clamp(40px, 5.6vw, 80px); font-weight: 800; line-height: 1.1; letter-spacing: -0.035em; }
h2, .h2 { font-size: clamp(30px, 3.8vw, 54px); font-weight: 800; line-height: 1.15; letter-spacing: -0.025em; }
h3, .h3 { font-size: clamp(22px, 2.2vw, 30px); font-weight: 700; line-height: 1.3; letter-spacing: -0.015em; }
h4, .h4 { font-size: 18px; font-weight: 700; line-height: 1.4; letter-spacing: -0.005em; }
h5, .h5 { font-size: 15px; font-weight: 700; line-height: 1.4; }
h6, .h6 { font-size: 12px; font-weight: 700; line-height: 1.4; letter-spacing: 0.08em; text-transform: uppercase; }

.eyebrow {
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--accent-2);
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.eyebrow::before {
  content: "";
  width: 28px;
  height: 3px;
  background: var(--accent);
  display: inline-block;
}
.eyebrow--light { color: var(--accent); }
.eyebrow--light::before { background: var(--accent); }

.lede {
  font-size: clamp(17px, 1.4vw, 20px);
  line-height: 1.55;
  color: var(--ink-2);
  max-width: 60ch;
  font-weight: 400;
}

.mono { font-family: var(--mono); }

.accent-mark { color: var(--accent); }

/* ---------- Layout ---------- */
.container {
  max-width: var(--container);
  margin: 0 auto;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
.container-narrow {
  max-width: var(--container-narrow);
  margin: 0 auto;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
.section { padding-top: clamp(72px, 8vw, 120px); padding-bottom: clamp(72px, 8vw, 120px); }
.section--tight { padding-top: clamp(48px, 5vw, 80px); padding-bottom: clamp(48px, 5vw, 80px); }
.section--article { padding-top: clamp(32px, 3.5vw, 48px); padding-bottom: clamp(64px, 7vw, 96px); }
.section--dark { background: var(--bg-3); color: var(--ink-on-dark); }
.section--dark h1, .section--dark h2, .section--dark h3, .section--dark h4, .section--dark h5, .section--dark h6, .section--dark .display { color: var(--ink-on-dark); }
.section--dark .lede { color: var(--ink-on-dark-2); }
.section--dark .eyebrow { color: var(--accent); }
.section--dark .eyebrow::before { background: var(--accent); }
.section--cream { background: var(--bg-2); }
.section--darker { background: var(--bg-3-3); color: var(--ink-on-dark); }
.section--darker h1, .section--darker h2, .section--darker h3, .section--darker h4 { color: var(--ink-on-dark); }

.divider { height: 1px; background: var(--line); border: 0; }
.divider-dark { height: 1px; background: var(--line-dark); border: 0; }

/* ---------- Header / Nav · 深底白字 ---------- */
.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: var(--bg-3);
  color: var(--ink-on-dark);
  border-bottom: 1px solid var(--line-dark);
}
.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 72px;
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 var(--gutter);
  gap: 32px;
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-family: var(--sans);
  font-size: 17px;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: inherit;
}
.brand__mark {
  width: auto;
  height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  line-height: 0;
  padding: 6px 12px;
  background: #FFFFFF;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,.12);
}
.brand__mark svg { display: block; width: 100%; height: 100%; }
.brand__mark img {
  display: block;
  height: 38px;
  width: auto;
  max-width: 170px;
  object-fit: contain;
}
.brand__sub {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.12em;
  color: var(--ink-on-dark-3);
  text-transform: uppercase;
  margin-left: 4px;
  padding-left: 12px;
  border-left: 1px solid var(--line-dark-2);
  display: none;
}
@media (min-width: 760px) { .brand__sub { display: inline-block; } }
.brand__sub--tagline {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.01em;
  text-transform: none;
  color: var(--ink-on-dark);
  line-height: 1.5;
  white-space: normal;
}

.nav {
  display: none;
  align-items: center;
  gap: 42px;
}
@media (min-width: 900px) { .nav { display: flex; } }
.nav__link {
  font-size: 16px;
  font-weight: 600;
  color: var(--ink-on-dark-2);
  position: relative;
  padding: 8px 0;
  letter-spacing: 0.01em;
}
.nav__link:hover, .nav__link.is-active { color: var(--accent); }
.nav__link.is-active::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -18px;
  height: 3px;
  background: var(--accent);
}

.cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 22px;
  background: var(--accent);
  color: var(--bg-3);
  font-size: 14px;
  font-weight: 700;
  border: 1px solid var(--accent);
  transition: all var(--t-fast);
  white-space: nowrap;
  letter-spacing: 0.005em;
}
.cta-btn:hover { background: var(--accent-2); border-color: var(--accent-2); color: var(--bg-3); }
.cta-btn--ghost { background: transparent; color: var(--ink); border-color: var(--ink); }
.cta-btn--ghost:hover { background: var(--ink); color: var(--bg); }
.cta-btn--light { background: transparent; color: var(--ink-on-dark); border-color: var(--ink-on-dark); }
.cta-btn--light:hover { background: var(--ink-on-dark); color: var(--bg-3); }
.cta-btn--accent-ghost { background: transparent; color: var(--accent); border-color: var(--accent); }
.cta-btn--accent-ghost:hover { background: var(--accent); color: var(--bg-3); }
.cta-btn--lg { padding: 16px 30px; font-size: 15px; }
.cta-btn .arrow { display: inline-block; transition: transform var(--t-fast); }
.cta-btn:hover .arrow { transform: translateX(3px); }

/* ---------- Hero · 深底白字+黄色强调 ---------- */
.hero {
  position: relative;
  overflow: hidden;
  background: var(--bg-3);
  color: var(--ink-on-dark);
}
.hero::before {
  /* 微纹理 */
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle at 80% 20%, rgba(244,184,41,0.10), transparent 50%),
    radial-gradient(circle at 20% 80%, rgba(244,184,41,0.04), transparent 40%);
  pointer-events: none;
}
.hero__inner {
  position: relative;
  max-width: var(--container);
  margin: 0 auto;
  padding: clamp(44px, 5vw, 72px) var(--gutter) clamp(32px, 3vw, 48px);
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(36px, 4.5vw, 56px);
}
@media (min-width: 960px) {
  .hero__inner { grid-template-columns: 0.9fr 1.1fr; align-items: stretch; }
}
.hero__copy {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 28px;
  justify-self: start;
  max-width: min(560px, 100%);
}
.hero__title {
  display: inline-block;
  margin: 0;
  color: var(--ink-on-dark);
  line-height: 1.1;
}
.hero__title-line {
  display: block;
}
.hero__title-line--primary,
.hero__title-line--accent {
  font-size: clamp(32px, 3.8vw, 54px);
  line-height: 1.1;
  letter-spacing: -0.03em;
}
.hero__title-line--primary {
  font-weight: 700;
  color: var(--ink-on-dark);
  margin-bottom: 10px;
}
.hero__title-line--accent {
  font-weight: 800;
  color: var(--accent);
}
.hero__sub {
  font-size: clamp(15px, 1.25vw, 17px);
  line-height: 1.65;
  color: var(--ink-on-dark-2);
  max-width: none;
  margin-bottom: 22px;
  text-align: justify;
  text-align-last: left;
}
.hero__actions { display: flex; gap: 14px; width: 100%; max-width: 100%; box-sizing: border-box; }
@media (min-width: 960px) { .hero__actions { margin-top: auto; } }
.hero__actions .hero__cta {
  flex: 1 1 0;
  min-width: 0;
  width: auto;
  height: 54px;
  justify-content: center;
  text-align: center;
  box-sizing: border-box;
  border-radius: 4px;
}
.hero__actions .cta-btn { border-radius: 4px; }
.hero__cta--secondary {
  background: transparent;
  color: var(--accent);
  border: 1px solid var(--accent);
}
.hero__cta--secondary:hover {
  background: rgba(244,184,41,0.12);
  color: var(--accent);
  border-color: var(--accent);
}
.hero__cta--secondary:hover .arrow { transform: translateX(3px); }
.hero__meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin-top: clamp(32px, 4vw, 48px);
  padding-top: 24px;
  border-top: 1px solid var(--line-dark-2);
  font-size: 13px;
  color: var(--ink-on-dark-3);
  letter-spacing: 0.01em;
}
.hero__meta-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.hero__meta-item strong {
  color: var(--ink-on-dark);
  font-weight: 700;
}
.hero__meta-sep {
  width: 1px;
  height: 12px;
  background: var(--line-dark-2);
  display: inline-block;
}
.hero__visual {
  position: relative;
  aspect-ratio: 4 / 3;
  background: var(--bg-3-2);
  overflow: hidden;
  border-radius: 0;
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow:
    0 24px 70px rgba(0,0,0,0.32),
    inset 0 0 0 1px rgba(255,255,255,0.04);
}
@media (min-width: 960px) {
  .hero__visual { aspect-ratio: 16 / 10; }
}
@media (min-width: 960px) {
  .hero__visual--article {
    width: 90%;
    margin-left: auto;
  }
}
.hero__visual-frame {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 2;
  border: 1px solid rgba(255,255,255,0.10);
  background: linear-gradient(135deg, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0) 40%, rgba(255,255,255,0) 60%, rgba(255,255,255,0.03) 100%);
  backdrop-filter: blur(0.5px);
}
.hero__visual-corner {
  position: absolute;
  width: 16px;
  height: 16px;
  border-color: var(--accent);
  border-style: solid;
  opacity: 0.65;
}
.hero__visual-corner--tl { top: 10px; left: 10px; border-width: 1px 0 0 1px; }
.hero__visual-corner--br { bottom: 10px; right: 10px; border-width: 0 1px 1px 0; }
.hero__visual-corner--tr,
.hero__visual-corner--bl { display: none; }
.hero__visual img,
.hero__visual video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.hero__visual-img--workstation {
  object-position: center 32%;
}
.hero__visual-status {
  display: none;
}
.hero__visual--cap {
  position: absolute;
  left: 0; bottom: 0;
  background: var(--accent);
  color: var(--bg-3);
  padding: 8px 14px;
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.hero__visual-prompt {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: rgba(11, 16, 32, 0.35);
  color: var(--ink-on-dark);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.05em;
  opacity: 0;
  transition: opacity var(--t-fast);
  pointer-events: none;
}
.hero__visual:hover .hero__visual-prompt { opacity: 1; }
.hero__visual-play {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--accent);
  color: var(--bg-3);
  font-size: 16px;
  padding-left: 3px;
}

/* ---------- Trust band · 4 卡片 ---------- */
.trust {
  background: var(--bg-2);
  padding: clamp(56px, 6vw, 88px) 0;
  border-bottom: 1px solid var(--line);
}
.trust__head {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  align-items: end;
  margin-bottom: clamp(32px, 4vw, 48px);
}
@media (min-width: 800px) {
  .trust__head { grid-template-columns: 1fr auto; gap: 48px; }
}
.trust__head h2 {
  font-size: clamp(30px, 3.8vw, 54px);
  line-height: 1.15;
  max-width: 22ch;
  font-weight: 800;
  letter-spacing: -0.025em;
}
.trust__head h2 em { font-style: normal; color: var(--accent); }
.trust__head p {
  color: var(--ink-2);
  max-width: 38ch;
  font-size: 15px;
  line-height: 1.6;
  text-align: justify;
  text-align-last: left;
}

.stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}
@media (min-width: 720px) { .stats { grid-template-columns: repeat(4, 1fr); } }
.stat {
  padding: 32px 24px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--bg);
  text-align: center;
}
.stat__num {
  font-family: var(--sans);
  font-size: clamp(36px, 4.4vw, 56px);
  font-weight: 800;
  line-height: 1;
  color: var(--ink);
  letter-spacing: -0.03em;
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 4px;
}
.stat__num sup {
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 600;
  color: var(--accent);
  letter-spacing: 0.02em;
}
.stat__label {
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: var(--muted);
  margin-top: 12px;
}

/* ---------- Stats · 4 维度卡片 ---------- */
.stats--dims {
  border: 0;
  gap: 24px;
}
@media (max-width: 719px) {
  .stats--dims { gap: 16px; }
}
.stats--dims .stat {
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 14px;
  background: var(--bg);
  border: 1px solid var(--line);
  border-top: 3px solid var(--accent);
  padding: 24px 20px;
}
.stats--dims .stat__index {
  display: none;
}
.stats--dims .stat__title {
  font-size: clamp(20px, 1.8vw, 26px);
  font-weight: 800;
  line-height: 1.15;
  color: var(--ink);
  letter-spacing: -0.02em;
}
.stats--dims .stat__desc {
  font-size: 13px;
  line-height: 1.5;
  color: var(--muted);
  white-space: nowrap;
}
@media (max-width: 719px) {
  .stats--dims .stat__desc { white-space: normal; }
}

/* ---------- Section header · 大字 + 强 ---------- */
.sec-head {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  margin-bottom: clamp(40px, 5vw, 64px);
  padding-bottom: clamp(20px, 2.5vw, 32px);
  border-bottom: 1px solid var(--line);
}
@media (min-width: 800px) {
  .sec-head { grid-template-columns: 1fr auto; align-items: end; gap: 48px; }
}
.sec-head__title { max-width: 22ch; }
.sec-head__title em { font-style: normal; color: var(--accent); white-space: nowrap; }
.sec-head__title .accent-line { white-space: nowrap; }
.sec-head__aside {
  max-width: 38ch;
  color: var(--ink-2);
  font-size: 15px;
  line-height: 1.6;
  text-align: justify;
  text-align-last: left;
}
.sec-head__aside em {
  font-style: normal;
  font-weight: 700;
  color: var(--accent);
}
/* 区块编号 kicker · 与 faq__num 同族：mono + 琥珀金 + 字距；占整行修正栅格错位 */
.sec-head__num {
  grid-column: 1 / -1;
  display: block;
  font-family: var(--mono);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--accent);
}
.section--dark .sec-head { border-bottom-color: var(--line-dark-2); }
.section--dark .sec-head__aside { color: var(--ink-on-dark-2); }

/* ---------- Product matrix · 2 列对齐 ---------- */
.products-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}
@media (min-width: 800px) {
  .products-grid { grid-template-columns: repeat(2, 1fr); }
}
.product {
  position: relative;
  padding: clamp(28px, 3vw, 40px) clamp(24px, 3vw, 32px) clamp(28px, 3vw, 40px);
  display: flex;
  flex-direction: column;
  gap: 20px;
  background: var(--bg);
  border: 1px solid var(--line);
  border-top: 3px solid var(--accent);
  transition: border-color var(--t-fast), background var(--t-fast);
}
.product:hover { background: var(--bg-2); border-color: var(--line-2); }
.product__head,
.product__index,
.product__divider { display: none; }
.product__name {
  font-family: var(--sans);
  font-size: clamp(26px, 2.4vw, 34px);
  font-weight: 800;
  line-height: 1.15;
  color: var(--ink);
  letter-spacing: -0.02em;
}
.product__name-en {
  display: block;
  font-size: clamp(18px, 1.5vw, 22px);
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--ink);
  text-transform: none;
  margin-bottom: 6px;
}
.product__name-cn {
  color: var(--accent);
}
.product__tagline {
  font-family: var(--sans);
  font-size: clamp(17px, 1.4vw, 20px);
  font-weight: 700;
  line-height: 1.35;
  color: var(--ink);
}
.product__desc {
  color: var(--ink-2);
  font-size: 15px;
  line-height: 1.6;
  max-width: 44ch;
}
.product__list {
  display: grid;
  gap: 8px;
  margin-top: 4px;
}
.product__list li {
  font-size: 14px;
  color: var(--ink-2);
  padding-left: 28px;
  position: relative;
  line-height: 1.5;
}
.product__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 10px;
  height: 2px;
  background: var(--accent);
  border-radius: 1px;
}
.product__pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.product__pills li {
  font-size: 13px;
  font-weight: 600;
  color: var(--ink-2);
  background: var(--bg-2);
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 7px 14px;
  line-height: 1.3;
  transition: background var(--t-fast), border-color var(--t-fast);
}
.product:hover .product__pills li { background: var(--bg); }
.product__cta {
  margin-top: auto;
  padding-top: 16px;
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--accent);
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.product__badge {
  font-family: var(--sans);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
  background: var(--bg-2);
  padding: 4px 10px;
  border: 1px solid var(--line-2);
  white-space: nowrap;
}

/* ---------- Industry scenarios · 6 卡 · 与 cases 同款 ---------- */
.scenarios {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}
@media (min-width: 700px) { .scenarios { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .scenarios { grid-template-columns: repeat(3, 1fr); } }
.scenario {
  background: var(--bg);
  display: flex;
  flex-direction: column;
  border: 1px solid var(--line);
  border-top: 3px solid var(--accent);
  transition: background var(--t-fast);
  height: 100%;
}
.scenario:hover { background: var(--bg-2); }
.scenario__visual {
  aspect-ratio: 16 / 10;
  background: var(--bg-2);
  overflow: hidden;
}
.scenario__visual img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--t-mid); }
.scenario:hover .scenario__visual img { transform: scale(1.04); }
.scenario__body {
  padding: 22px 22px 26px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}
.scenario__icon {
  width: 32px;
  height: 32px;
  color: var(--accent);
  flex: 0 0 auto;
}
.scenario__title {
  font-family: var(--sans);
  font-size: 18px;
  font-weight: 800;
  line-height: 1.25;
  color: var(--ink);
  letter-spacing: -0.015em;
  min-height: 1.25em;
}
.scenario__desc {
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--ink-2);
  flex: 1;
  text-align: justify;
  text-align-last: left;
  min-height: 4.65em;
}
.scenario__desc strong {
  color: var(--accent);
  font-weight: 700;
}
.scenario__cta {
  margin-top: 8px;
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--accent);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}

/* ---------- Case cards (VC 风格 · 4 列) ---------- */
.case-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}
@media (min-width: 600px) { .case-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 960px) { .case-grid { grid-template-columns: repeat(4, 1fr); } }

.case-card {
  display: flex;
  flex-direction: column;
  background: var(--bg);
  border: 1px solid var(--line);
  border-top: 3px solid var(--accent);
  transition: border-color var(--t-fast), background var(--t-fast);
  height: 100%;
}
.case-card:hover { border-color: var(--accent); background: var(--bg-2); }
.case-card__visual {
  aspect-ratio: 4 / 3;
  background: var(--bg-2);
  overflow: hidden;
  position: relative;
}
.case-card__visual img { width: 100%; height: 100%; object-fit: cover; }
.case-card__body {
  padding: 20px 20px 24px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
}
.case-card__tag {
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--accent);
  line-height: 1.3;
}
.case-card__title {
  font-family: var(--sans);
  font-size: 17px;
  font-weight: 800;
  line-height: 1.3;
  color: var(--ink);
  letter-spacing: -0.01em;
  margin-top: 0;
  min-height: 2.6em;
}
.case-card__desc {
  color: var(--ink-2);
  font-size: 13px;
  line-height: 1.55;
  flex: 1;
}
.case-card__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
  padding-top: 12px;
  border-top: 1px solid var(--line);
  margin-top: 4px;
}
.case-card__note {
  display: inline-block;
  background: var(--accent-soft);
  color: var(--accent-2);
  padding: 3px 8px;
  border: 1px solid var(--accent);
  font-family: var(--sans);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  line-height: 1.3;
  white-space: nowrap;
}
.case-card__source {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--ink);
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 6px 14px;
  border: 1px solid var(--ink);
  background: var(--ink);
  color: var(--bg);
  border-radius: 999px;
  transition: background var(--t-fast);
  white-space: nowrap;
}
.case-card__source:hover { background: var(--accent); border-color: var(--accent); }
.case-card__source::after { content: "→"; display: inline-block; transition: transform var(--t-fast); }
.case-card__source:hover::after { transform: translateX(3px); }

/* ---------- Case rows · 原厂公开案例横向行（与 case-card 同族） ---------- */
.case-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  padding: 28px 0;
  border-top: 1px solid var(--line);
  align-items: start;
}
.case-row:last-child { border-bottom: 1px solid var(--line); }
@media (min-width: 760px) {
  .case-row { grid-template-columns: 300px 1fr; gap: 36px; padding: 32px 0; align-items: stretch; }
}
.case-row__visual {
  aspect-ratio: 4 / 3;
  background: var(--bg-2);
  overflow: hidden;
  border: 1px solid var(--line);
}
.case-row__visual img { width: 100%; height: 100%; object-fit: cover; }
.case-row__body {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 4px 0;
}
.case-row__tag {
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--accent);
  line-height: 1.3;
}
.case-row__title {
  font-family: var(--sans);
  font-size: clamp(19px, 1.8vw, 24px);
  font-weight: 800;
  line-height: 1.3;
  color: var(--ink);
  letter-spacing: -0.015em;
}
.case-row__desc {
  color: var(--ink-2);
  font-size: 14px;
  line-height: 1.65;
  max-width: 60ch;
  text-align: justify;
  text-align-last: left;
}
.case-row__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  padding-top: 14px;
  margin-top: auto;
  border-top: 1px solid var(--line);
}
.case-row__note {
  display: inline-block;
  background: var(--accent-soft);
  color: var(--accent-2);
  padding: 3px 8px;
  border: 1px solid var(--accent);
  font-family: var(--sans);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  line-height: 1.3;
  white-space: nowrap;
}
.case-row__source {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--bg);
  background: var(--ink);
  border: 1px solid var(--ink);
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 6px 14px;
  border-radius: 999px;
  transition: background var(--t-fast);
  white-space: nowrap;
}
.case-row__source:hover { background: var(--accent); border-color: var(--accent); }
.case-row__source::after { content: "→"; display: inline-block; transition: transform var(--t-fast); }
.case-row__source:hover::after { transform: translateX(3px); }

/* ---------- 行业案例（纯文字卡片） ---------- */
.industry-title {
  font-size: clamp(22px, 2.4vw, 30px);
  font-weight: 800;
  line-height: 1.2;
  color: var(--ink);
  margin: 56px 0 24px;
  padding-left: 14px;
  border-left: 4px solid var(--accent);
  /* 锚点跳转时为顶部 sticky header(72px) + 行业导航条(~50px) 预留空间 */
  scroll-margin-top: 132px;
}
.industry-title:first-of-type {
  margin-top: 40px;
}

/* ---------- 行业快速导航 · 顶部 sticky（纯 CSS，零 JS） ---------- */
.industry-nav {
  position: sticky;
  top: 72px;                 /* 紧贴全局 header 底部 */
  z-index: 40;               /* 低于 header(50)，高于正文 */
  background: var(--bg-3);
  border-top: 1px solid var(--line-dark);
  border-bottom: 1px solid var(--line-dark);
  box-shadow: 0 2px 10px rgba(0, 0, 0, .14);
}
.industry-nav__inner {
  display: flex;
  align-items: center;
  gap: 6px;
  /* 窄屏横向滚动，避免换行挤压 */
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  padding: 9px var(--gutter);
}
.industry-nav__label {
  flex: 0 0 auto;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .02em;
  color: var(--accent);
  margin-right: 6px;
  white-space: nowrap;
}
.industry-nav__link {
  flex: 0 0 auto;
  font-size: 14px;
  font-weight: 600;
  color: var(--ink-on-dark-2);
  text-decoration: none;
  padding: 6px 12px;
  border-radius: 999px;
  white-space: nowrap;
  border: 1px solid transparent;
  transition: color .15s ease, background .15s ease, border-color .15s ease;
}
.industry-nav__link:hover,
.industry-nav__link:focus-visible {
  color: var(--accent);
  background: rgba(244, 184, 41, .10);
  border-color: rgba(244, 184, 41, .35);
  outline: none;
}
.cases-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
  margin-bottom: 8px;
}
.case-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-top: 3px solid var(--accent);
  border-radius: 0;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.case-card__head { display: flex; flex-direction: column; gap: 6px; }
.case-card__eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--muted);
}
.case-card__title {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
  color: var(--ink);
  margin: 0;
}
.case-card__tag {
  align-self: flex-start;
  font-size: 12px;
  font-weight: 600;
  color: var(--bg-3);
  background: var(--accent-soft);
  border-radius: 999px;
  padding: 3px 10px;
}
.case-card__body {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.case-item {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 12px;
  align-items: start;
}
.case-item dt {
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: var(--accent-2);
  padding-top: 2px;
}
.case-item dd {
  margin: 0;
  font-size: 14px;
  line-height: 1.7;
  color: var(--ink-2);
}
.case-card__industries {
  font-size: 13px;
  color: var(--muted);
  padding-top: 12px;
  border-top: 1px solid var(--line);
  margin: 0;
}
.case-card .case-row__source {
  align-self: flex-start;
  margin-top: 2px;
}

/* ---------- Quote ---------- */
.quote {
  background: var(--bg-3);
  color: var(--ink-on-dark);
  padding: clamp(56px, 7vw, 120px) 0;
  position: relative;
  overflow: hidden;
}
.quote::before {
  content: "“";
  position: absolute;
  top: -40px;
  left: -20px;
  font-size: 320px;
  font-weight: 800;
  color: var(--accent);
  opacity: 0.15;
  font-family: Georgia, serif;
  line-height: 1;
  pointer-events: none;
}
.quote__text {
  font-family: var(--sans);
  font-size: clamp(24px, 3.4vw, 48px);
  font-weight: 800;
  line-height: 1.2;
  max-width: 28ch;
  color: var(--ink-on-dark);
  letter-spacing: -0.02em;
  position: relative;
}
.quote__text em { font-style: normal; color: var(--accent); }
.quote__cite {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 32px;
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink-on-dark-3);
  position: relative;
}
.quote__cite strong {
  color: var(--ink-on-dark);
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: none;
  font-size: 16px;
}

/* ---------- FAQ · 10 问卡片网格 ---------- */
.faq {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  border-top: 0;
}
@media (min-width: 800px) {
  .faq { grid-template-columns: repeat(2, 1fr); }
}
.faq__item {
  background: var(--bg);
  border: 1px solid var(--line);
  border-top: 3px solid var(--accent);
  padding: clamp(24px, 2.5vw, 32px);
  display: flex;
  flex-direction: column;
  gap: 14px;
  transition: background var(--t-fast), border-color var(--t-fast);
}
.faq__item:hover { background: var(--bg-2); border-color: var(--line-2); }
.faq__q {
  font-family: var(--sans);
  font-size: clamp(18px, 1.5vw, 22px);
  font-weight: 700;
  line-height: 1.3;
  color: var(--ink);
  letter-spacing: -0.01em;
}
.faq__a {
  color: var(--ink-2);
  font-size: 15px;
  line-height: 1.7;
}
.faq__a p + p { margin-top: 12px; }
.faq__num {
  font-family: var(--mono);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: var(--accent);
  line-height: 1;
}
/* ---------- Form ---------- */
.form {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  max-width: 720px;
}
@media (min-width: 720px) {
  .form { grid-template-columns: 1fr 1fr; }
  .form__full { grid-column: 1 / -1; }
}
.form__field { display: flex; flex-direction: column; gap: 8px; }
.form__field label {
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}
.form__field input,
.form__field select,
.form__field textarea {
  font: inherit;
  background: var(--surface);
  color: var(--ink);
  border: 1px solid var(--line-2);
  border-radius: 0;
  padding: 14px 16px;
  font-size: 15px;
  transition: border-color var(--t-fast);
}
.form__field input:focus,
.form__field select:focus,
.form__field textarea:focus {
  outline: none;
  border-color: var(--accent);
}
.form__field textarea { min-height: 140px; resize: vertical; }
.form__submit { margin-top: 8px; }
.form__note {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.06em;
  color: var(--muted);
  margin-top: 12px;
}

/* ---------- Contact form · 勾选项 ---------- */
.form__checks {
  grid-column: 1 / -1;
  border: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.form__checks-title {
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
  padding: 0;
  margin-bottom: 2px;
}
.form__checks-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
@media (max-width: 600px) {
  .form__checks-grid { grid-template-columns: 1fr; }
}
.form__checks-item {
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--line-2);
  padding: 12px 14px;
  font-size: 14px;
  line-height: 1.4;
  color: var(--ink-2);
  cursor: pointer;
  transition: border-color var(--t-fast), background var(--t-fast);
}
.form__checks-item:hover {
  border-color: var(--accent);
  background: rgba(244, 184, 41, 0.06);
}
.form__checks-item input {
  accent-color: var(--accent);
  width: 16px;
  height: 16px;
  flex: none;
  cursor: pointer;
}

/* ---------- Contact page · 联系方式与服务信息 ---------- */
.channels-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}
@media (min-width: 760px) {
  .channels-grid { grid-template-columns: repeat(3, 1fr); }
}
.channel-card {
  position: relative;
  background: var(--surface);
  padding: clamp(24px, 2.6vw, 32px);
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid var(--line);
  border-top: 3px solid var(--accent);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  transition: transform var(--t-fast), box-shadow var(--t-fast), border-color var(--t-fast), background var(--t-fast);
}
.channel-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.09);
  border-color: var(--line-2);
  background: var(--bg);
}
.channel-card__name {
  font-size: clamp(17px, 1.4vw, 20px);
  font-weight: 800;
  color: var(--ink);
  letter-spacing: -0.01em;
  margin-bottom: 6px;
}
.channel-card__label {
  font-size: 14px;
  font-weight: 500;
  color: var(--ink-2);
  margin-bottom: 12px;
  line-height: 1.4;
}
.channel-card__value {
  font-size: clamp(18px, 1.45vw, 24px);
  font-weight: 700;
  color: var(--ink);
  line-height: 1.35;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.channel-card__value a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid var(--line-2);
  transition: border-color var(--t-fast), color var(--t-fast);
}
.channel-card__value a:hover {
  color: var(--accent-2);
  border-color: var(--accent);
}

.sec-head--contact {
  margin-top: clamp(48px, 6vw, 80px);
}

.contact-grid {
  display: grid;
  gap: 48px;
  margin-top: clamp(48px, 5vw, 72px);
}
@media (min-width: 760px) {
  .contact-grid--2 { grid-template-columns: 1.2fr 1fr; gap: 64px; }
}
.contact-block {
  background: var(--surface);
  border: 1px solid var(--line);
  border-top: 3px solid var(--accent);
  padding: clamp(24px, 2.6vw, 32px);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}
.contact-block__title {
  font-size: clamp(20px, 1.8vw, 26px);
  font-weight: 800;
  color: var(--ink);
  margin-bottom: 20px;
  letter-spacing: -0.015em;
}
.contact-block__list {
  display: grid;
  gap: 14px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.contact-block__list li {
  position: relative;
  padding-left: 28px;
  font-size: 15px;
  line-height: 1.55;
  color: var(--ink-2);
}
.contact-block__list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--accent);
  font-weight: 700;
  font-size: 15px;
  line-height: 1.55;
}
.contact-block__address {
  font-style: normal;
  font-size: 16px;
  line-height: 1.7;
  color: var(--ink-2);
  margin-bottom: 16px;
}
.contact-block__address strong {
  color: var(--ink);
  font-weight: 700;
}
.contact-block__note {
  font-size: 14px;
  color: var(--muted);
}
.contact-block__note span {
  color: var(--ink);
  font-weight: 600;
}

/* ---------- Footer · 深底 ---------- */
.site-footer {
  background: var(--bg-3-3);
  color: var(--ink-on-dark);
  padding: clamp(40px, 4vw, 64px) 0 24px;
  border-top: 3px solid var(--accent);
}
.footer-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
  margin-bottom: 40px;
  align-items: stretch;
}
@media (min-width: 900px) {
  .footer-grid {
    grid-template-columns: 1.1fr 0.8fr 0.8fr 1.5fr;
    gap: 24px;
  }
}
@media (min-width: 1100px) {
  .footer-grid { gap: 40px; }
}
.footer__brand {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 16px;
  height: 100%;
}
@media (max-width: 560px) {
  .footer__brand { gap: 20px; }
}
.footer__company {
  font-size: 16px;
  font-weight: 800;
  color: var(--ink-on-dark);
  letter-spacing: -0.01em;
  line-height: 1.35;
}
.footer__address {
  font-size: 13px;
  line-height: 1.6;
  color: var(--ink-on-dark-2);
  max-width: 24ch;
  margin-bottom: 8px;
}
.footer__qr {
  display: flex;
  flex-wrap: nowrap;
  gap: 4px;
  margin-top: auto;
  margin-left: 0;
  align-self: flex-start;
  width: fit-content;
}
@media (min-width: 900px) {
  .footer__qr { margin-left: calc(-1 * var(--gutter)); }
}
.qr-card {
  background: var(--bg);
  border: 1px solid var(--line-2);
  border-radius: 4px;
  padding: 4px;
  width: 104px;
  flex: 0 0 104px;
  display: flex;
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
}
.qr-card img {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  display: block;
  border-radius: 2px;
}
.footer__col {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  height: 100%;
}
.footer__col h6,
.footer-grid h6 {
  font-family: var(--sans);
  font-size: 16px;
  font-weight: 800;
  letter-spacing: 0;
  color: var(--accent);
  margin-bottom: 18px;
  text-transform: none;
}
.footer__col ul,
.footer-grid ul { display: flex; flex-direction: column; gap: 12px; }
.footer__col a,
.footer-grid a {
  color: var(--ink-on-dark-2);
  font-size: 14px;
  font-weight: 500;
}
.footer__col a:hover,
.footer-grid a:hover { color: var(--accent); }
.footer__col--contact {
  background: rgba(244, 184, 41, 0.08);
  border: 1px solid rgba(244, 184, 41, 0.18);
  border-radius: 6px;
  padding: 20px 22px;
}
@media (max-width: 719px) {
  .footer__col--contact { padding: 16px; }
}
.footer__col--contact a {
  color: var(--ink-on-dark);
  font-weight: 600;
  white-space: nowrap;
}
.footer__col--contact a:hover { color: var(--accent); }
.footer__contact-info {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.footer__contact-info p {
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  color: var(--ink-on-dark);
  white-space: nowrap;
}
@media (max-width: 899px) {
  .footer__contact-info p { white-space: normal; }
}
.footer__contact-info span {
  display: inline-block;
  min-width: 4.5em;
  color: var(--ink-on-dark-3);
  font-weight: 500;
}
.footer-meta {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  padding-top: 24px;
  border-top: 1px solid var(--line-dark-2);
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.02em;
  text-transform: none;
  color: var(--ink-on-dark-3);
}

.footer-disclaimer {
  max-width: 760px;
  margin: 0 auto 18px;
  padding: 14px 18px;
  border: 1px solid var(--line-dark-2);
  border-radius: 8px;
  text-align: center;
  font-family: var(--sans);
  font-size: 12.5px;
  line-height: 1.6;
  color: var(--ink-on-dark-3);
}
.footer-disclaimer p { margin: 0; }
.footer-meta p { margin: 0; }

/* ---------- Misc utility ---------- */
.muted { color: var(--muted); }
.accent { color: var(--accent); }
.mono-tag {
  display: inline-block;
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
  padding: 4px 8px;
  border: 1px solid var(--line-2);
  background: var(--bg);
}

.text-balance { text-wrap: balance; }
.center { text-align: center; }
.relative { position: relative; }
.z1 { z-index: 1; }
.mt-0 { margin-top: 0 !important; }
.mt-2 { margin-top: 16px; }
.mt-3 { margin-top: 24px; }
.mt-4 { margin-top: 32px; }
.mt-5 { margin-top: 48px; }
.mt-6 { margin-top: 64px; }
.mb-0 { margin-bottom: 0 !important; }
.mb-2 { margin-bottom: 16px; }
.mb-3 { margin-bottom: 24px; }
.mb-4 { margin-bottom: 32px; }
.mb-5 { margin-bottom: 48px; }

.hairline-top { border-top: 1px solid var(--line); padding-top: 24px; }
.hairline-bottom { border-bottom: 1px solid var(--line); padding-bottom: 24px; }

.hide-mobile { display: none; }
@media (min-width: 720px) { .hide-mobile { display: initial; } }
.show-mobile { display: initial; }
@media (min-width: 720px) { .show-mobile { display: none; } }

/* ---------- Article / insights ---------- */
.article-head {
  display: grid;
  gap: 16px;
  padding-top: clamp(48px, 6vw, 80px);
  padding-bottom: 32px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 40px;
}
.article-meta {
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
  align-items: center;
}
.article-meta .accent-pill { color: var(--accent); }
.article-body {
  max-width: 68ch;
  font-size: 17px;
  line-height: 1.8;
  color: var(--ink-2);
}
.article-body--wide {
  max-width: none;
  width: 100%;
}
.article-body h2 {
  font-size: clamp(24px, 2.4vw, 30px);
  font-weight: 800;
  letter-spacing: -0.015em;
  margin-top: 48px;
  margin-bottom: 16px;
  color: var(--ink);
}
.article-body h3 {
  font-size: 20px;
  font-weight: 800;
  margin-top: 32px;
  margin-bottom: 12px;
  color: var(--ink);
}
.article-body p {
  margin-bottom: 18px;
  text-align: justify;
  text-align-last: left;
}
.article-body ul { margin: 12px 0 24px; padding-left: 0; }
.article-body ul li {
  position: relative;
  padding-left: 22px;
  margin-bottom: 10px;
  text-align: justify;
  text-align-last: left;
}
.article-body ul li::before {
  content: "—";
  position: absolute;
  left: 0;
  color: var(--accent);
  font-weight: 700;
}
.article-body blockquote {
  margin: 32px 0;
  padding: 24px 28px;
  border-left: 3px solid var(--accent);
  background: var(--bg-2);
  font-family: var(--sans);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
  color: var(--ink);
  letter-spacing: -0.01em;
}
.article-body code {
  font-family: var(--mono);
  font-size: 0.92em;
  background: var(--bg-2);
  padding: 2px 6px;
  border: 1px solid var(--line);
}

/* 文章内表格 · 对齐导航/amber 设计语言 + 窄屏横向滚动 */
.table-wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 24px 0 32px;
}
.table-wrap table { margin: 0; }
.article-body table {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
  line-height: 1.6;
  border: 1px solid var(--line-2);
  background: var(--surface);
}
.article-body thead th {
  background: var(--bg-3);
  color: var(--ink-on-dark);
  font-weight: 700;
  text-align: left;
  text-align-last: left;
  letter-spacing: 0.01em;
  border: 1px solid var(--line-dark);
  padding: 14px 16px;
}
.article-body tbody th {
  background: var(--bg-2);
  color: var(--ink);
  font-weight: 700;
  text-align: left;
  text-align-last: left;
  border: 1px solid var(--line);
  padding: 14px 16px;
  width: 20%;
  white-space: nowrap;
}
.article-body td {
  border: 1px solid var(--line);
  padding: 14px 16px;
  color: var(--ink-2);
  text-align: left;
  text-align-last: left;
  vertical-align: top;
}
.article-body tbody tr:nth-child(even) td { background: var(--bg-2); }
.article-body tbody tr:hover td { background: var(--accent-soft); }

/* 文末发布方声明（GEO 归属，低调 muted） */
.article-publisher {
  margin-top: 32px;
  padding: 16px 18px;
  border: 1px dashed var(--line-2);
  border-radius: 6px;
  background: var(--bg-2);
  font-size: 13.5px;
  line-height: 1.7;
  color: var(--muted);
}

.article-back { text-align: center; }

.insight-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  border-top: 1px solid var(--line);
}
.insight-list__item {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  border-bottom: 1px solid var(--line);
  padding: 32px 0;
  transition: background var(--t-fast);
}
@media (min-width: 720px) {
  .insight-list__item { grid-template-columns: 140px 1fr auto; gap: 32px; align-items: center; }
}
.insight-list__date {
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
}
.insight-list__title {
  font-family: var(--sans);
  font-size: clamp(20px, 2vw, 26px);
  font-weight: 800;
  line-height: 1.25;
  color: var(--ink);
  letter-spacing: -0.015em;
  margin: 6px 0;
}
.insight-list__excerpt {
  color: var(--ink-2);
  font-size: 14px;
  line-height: 1.6;
  max-width: 56ch;
}
.insight-list__cta {
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--accent);
}
.insight-list__item--placeholder {
  opacity: 0.6;
  border-style: dashed;
}
.insight-list__item--placeholder .insight-list__title { color: var(--muted); }

/* ---------- GEO 索引区（视觉降级：给 AI/爬虫抓取，对人低调） ---------- */
.geo-index {
  background: var(--bg-soft, #f4f4f2);
  font-size: 0.92rem;
}
.geo-index .sec-head__title { font-size: clamp(20px, 2.4vw, 28px); }
.geo-index .sec-head__aside { font-size: 13px; }
.geo-index__list {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--line);
}
.geo-index__item {
  border-bottom: 1px solid var(--line);
  padding: 14px 0;
}
.geo-index__link {
  display: block;
  text-decoration: none;
  color: var(--ink-2);
}
.geo-index__link:hover { color: var(--ink); }
.geo-index__title {
  display: block;
  font-weight: 700;
  font-size: 15px;
  color: var(--ink);
  line-height: 1.4;
}
.geo-index__excerpt {
  display: block;
  font-size: 13px;
  color: var(--muted);
  line-height: 1.55;
  margin-top: 4px;
  max-width: 80ch;
}

/* ---------- To-top anchor ---------- */
.to-top {
  position: fixed;
  right: 20px;
  bottom: 20px;
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--accent);
  color: var(--bg-3);
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 700;
  border: 1px solid var(--accent);
  z-index: 30;
  transition: background var(--t-fast);
}
.to-top:hover { background: var(--accent-2); border-color: var(--accent-2); }

/* ---------- Skip link ---------- */
.skip-link {
  position: absolute;
  left: -9999px;
}
/* 视觉隐藏但仍可被 LLM / 读屏抓取的文字（GEO：含义不依赖图标） */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.skip-link:focus {
  left: 16px;
  top: 16px;
  background: var(--accent);
  color: var(--bg-3);
  padding: 8px 12px;
  z-index: 100;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* ---------- Print ---------- */
@media print {
  .site-header, .site-footer, .to-top, .cta-btn, .industry-nav { display: none; }
  body { background: #fff; color: #000; }
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; animation: none !important; }
  html { scroll-behavior: auto; }
}

/* ---------- Product showcase · 图文分栏（参考官网产品块节奏，沿用本站设计语言） ---------- */
.showcase {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(40px, 6vw, 80px);
  align-items: center;
}
@media (min-width: 880px) {
  .showcase { grid-template-columns: 1fr 1fr; }
  .showcase--reverse .showcase__media { order: 2; }
}
.showcase__media {
  background: var(--bg-2);
  border: 1px solid var(--line);
  aspect-ratio: 16 / 10;
  overflow: hidden;
}
/* Experience 官网 mobile view 图为 4:3，单独放宽容器避免裁切 */
.showcase__media--experience {
  aspect-ratio: 4 / 3;
}
/* 生态区官网图为 1191×1052，接近 1.13:1，单独设置避免裁切 */
.showcase__media--ecosystem {
  aspect-ratio: 1191 / 1052;
}
.showcase__media img,
.showcase__media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.showcase__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 20px;
}
.showcase__body .lede {
  margin: 0;
  text-align: justify;
  text-align-last: left;
}
.showcase__body .product__list { margin: 0; }

/* ---------- 选型对比表 · 产品页（navy+amber 设计语言） ---------- */
#comparison { padding-top: clamp(36px, 4.5vw, 56px); }
#comparison .cmp { margin-top: 0; }
.cmp__head { margin-bottom: clamp(20px, 2.6vw, 30px); }
.cmp__title {
  font-size: clamp(20px, 2.4vw, 28px);
  font-weight: 800;
  color: var(--ink);
  letter-spacing: -0.02em;
  margin-bottom: 14px;
  padding-left: 14px;
  border-left: 4px solid var(--accent);
}
.cmp__lede {
  font-size: 15px;
  line-height: 1.7;
  color: var(--ink-2);
  text-align: justify;
  text-align-last: left;
}
.cmp__lede + .cmp__subtitle { margin-top: 22px; }
.cmp__subtitle {
  font-size: 17px;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 10px;
  padding-left: 14px;
  border-left: 3px solid var(--bg-3);
}
.cmp__lede a {
  color: var(--accent-2);
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid var(--line-2);
  transition: color var(--t-fast), border-color var(--t-fast);
}
.cmp__lede a:hover { color: var(--ink); border-color: var(--accent); }
.cmp__scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--line);
}
.cmp__table {
  width: 100%;
  border-collapse: collapse;
  min-width: 720px;
  font-size: 12px;
  line-height: 1.5;
  table-layout: fixed;
}
.cmp__table thead th { width: 25%; }
.cmp__caption {
  caption-side: top;
  text-align: left;
  font-size: 12.5px;
  color: var(--muted);
  padding: 0 0 10px;
}
.cmp__table thead th {
  background: var(--bg-3);
  color: var(--ink-on-dark);
  font-weight: 700;
  text-align: left;
  padding: 10px 8px;
  border-bottom: 2px solid var(--accent);
  overflow-wrap: break-word;
}
.cmp__th-vc { color: var(--accent) !important; }
.cmp__table tbody th[scope="row"] {
  text-align: left;
  font-weight: 600;
  color: var(--ink);
  background: var(--surface-2);
  padding: 8px 8px;
  border-bottom: 1px solid var(--line);
  overflow-wrap: break-word;
  position: sticky;
  left: 0;
  z-index: 1;
}
.cmp__table td {
  padding: 8px 8px;
  border-bottom: 1px solid var(--line);
  border-left: 1px solid var(--line);
  color: var(--ink-2);
  vertical-align: top;
  overflow-wrap: break-word;
}
.cmp__table tbody tr:nth-child(even) td { background: var(--surface-2); }
.cmp__table tbody tr:nth-child(even) th[scope="row"] { background: #EEF2F6; }
.cmp__table .is-vc {
  background: var(--accent-soft) !important;
  color: var(--ink);
  font-weight: 600;
}
.cmp__vc-yes { color: var(--accent-2); font-weight: 800; }
.cmp__yes { color: var(--ink); font-weight: 700; }
.cmp__no { color: var(--muted-2); }
.cmp__partial { color: var(--muted); }
.cmp__source {
  margin-top: 16px;
  font-size: 12.5px;
  line-height: 1.6;
  color: var(--muted);
}
.cmp__source a {
  color: var(--accent-2);
  text-decoration: none;
  border-bottom: 1px solid var(--line-2);
  transition: color var(--t-fast), border-color var(--t-fast);
}
.cmp__source a:hover { color: var(--ink); border-color: var(--accent); }

/* 案例页：五大场景卡（官方图 + 行业标签 + 支撑案例） */
.scenario__link {
  display: inline-block;
  margin-top: 10px;
  color: var(--accent);
  font-weight: 600;
  font-size: 14px;
  text-decoration: none;
}
.scenario__link:hover { text-decoration: underline; }
.scenario__industries {
  margin: 10px 0 4px;
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--muted, #6b7a8d);
  border-left: 3px solid var(--accent);
  padding-left: 10px;
}
.scenario__support {
  margin: 0 0 4px;
  font-size: 12.5px;
  line-height: 1.55;
  color: var(--ink-2, #41506a);
}
.scenario__support a { color: var(--accent); text-decoration: none; }
.scenario__support a:hover { text-decoration: underline; }

/* ===== thank-you 页（提交成功） ===== */
.hero--thanks .hero__inner { grid-template-columns: 1fr; }
.hero--thanks .hero__copy { max-width: 720px; }
