:root {
    --ink: #0b0a08; --ink-2: #14110d; --ink-3: #1c1812;
    --rule: #2a2218; --rule-soft: #1a1510;
    --bone: #ecdfc4; --bone-dim: #b8ad94; --mute: #6e6856; --mute-2: #46412f;
    --flame: #ff551c; --flame-2: #ff7a3a; --molten: #ffb04a; --teal: #4adfb5;
    --paper: #f0e6cf; --grid: rgba(236, 223, 196, 0.06);
    --serif-cn: "Noto Serif SC", "Songti SC", "STSong", serif;
    --sans-cn:  "Noto Sans SC", -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
    --serif-en: "Instrument Serif", "Times New Roman", serif;
    --mono:     "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;
  }
  * { box-sizing: border-box; }
  html, body { margin: 0; padding: 0; background: var(--ink); color: var(--bone); }
  html { scroll-behavior: smooth; }
  body {
    font-family: var(--sans-cn); font-weight: 400;
    font-feature-settings: "ss01", "tnum";
    -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
    overflow-x: hidden; line-height: 1.55;
  }
  a { color: inherit; text-decoration: none; }
  ::selection { background: var(--flame); color: var(--ink); }

  body::before {
    content: ""; position: fixed; inset: 0; pointer-events: none; z-index: 200;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.92  0 0 0 0 0.87  0 0 0 0 0.77  0 0 0 0.13 0'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='0.5'/></svg>");
    mix-blend-mode: overlay; opacity: 0.35;
  }
  body::after {
    content: ""; position: fixed; inset: 0; pointer-events: none; z-index: 199;
    background:
      linear-gradient(var(--grid) 1px, transparent 1px) 0 0 / 100% 96px,
      linear-gradient(90deg, var(--grid) 1px, transparent 1px) 0 0 / 12.5% 100%;
    opacity: 0.55;
  }

  .frame { position: relative; max-width: 1440px; margin: 0 auto; padding: 0 56px; }
  @media (max-width: 720px) { .frame { padding: 0 24px; } }

  .eyebrow {
    font-family: var(--mono); font-size: 11px; letter-spacing: 0.16em;
    text-transform: uppercase; color: var(--mute);
    display: inline-flex; align-items: center; gap: 10px;
  }
  .eyebrow::before { content: ""; width: 28px; height: 1px; background: var(--mute); }
  .eyebrow .dot { width: 6px; height: 6px; background: var(--flame); border-radius: 50%; display:inline-block; }
  .num { font-family: var(--mono); font-variant-numeric: tabular-nums; }

  /* ===== 顶部导航 ===== */
  .topbar {
    position: fixed; top: 0; left: 0; right: 0; z-index: 100;
    backdrop-filter: blur(14px) saturate(140%);
    background: rgba(11,10,8, 0.65); border-bottom: 1px solid var(--rule-soft);
  }
  .topbar .row { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; height: 64px; gap: 24px; }
  .brand { display: flex; align-items: center; gap: 12px; line-height: 1; }
  .brand .logo-mark { height: 27px; width: auto; display: block; flex-shrink: 0; }
  .brand .wm {
    font-family: var(--sans-cn); font-weight: 900; font-size: 17px;
    letter-spacing: -0.4px; color: var(--bone); line-height: 1;
    padding-left: 11px; border-left: 1px solid var(--rule); margin-left: 1px;
  }
  .brand .wm .ac { color: var(--flame); }
  .nav { display: flex; gap: 32px; justify-content: center; font-size: 14px; }
  .nav a { color: var(--bone-dim); position: relative; padding: 6px 0; transition: color .25s; }
  .nav a:hover, .nav a.on { color: var(--bone); }
  .nav a:hover::after, .nav a.on::after {
    content: ""; position: absolute; left: 0; bottom: -2px; width: 100%; height: 1px; background: var(--flame);
  }
  .topbar .right { display: flex; justify-content: flex-end; align-items: center; gap: 18px; }
  .cta-mini {
    font-family: var(--mono); font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase;
    color: var(--ink); background: var(--flame); padding: 8px 14px; border-radius: 1px; transition: background .2s;
  }
  .cta-mini:hover { background: var(--flame-2); }
  .cta-mini::after { content: "↗"; }
  .nav-toggle { display: none; }
  @media (max-width: 880px) {
    .topbar .row { grid-template-columns: 1fr auto; }
    .nav-toggle {
      display: inline-flex; align-items: center; justify-content: center;
      width: 42px; height: 38px; background: none; cursor: pointer;
      border: 1px solid var(--rule); border-radius: 2px; color: var(--bone);
      font-size: 18px; line-height: 1; transition: border-color .2s, color .2s;
    }
    .nav-toggle:hover { border-color: var(--flame); color: var(--flame); }
    .nav {
      position: fixed; top: 64px; left: 0; right: 0; z-index: 90;
      flex-direction: column; gap: 0; justify-content: flex-start;
      padding: 6px 24px 22px; font-size: 16px;
      background: rgba(11,10,8,0.97); backdrop-filter: blur(16px) saturate(140%);
      border-bottom: 1px solid var(--rule);
      transform: translateY(-12px); opacity: 0; pointer-events: none;
      transition: opacity .22s ease, transform .22s ease;
    }
    .nav a { padding: 15px 2px; border-bottom: 1px solid var(--rule-soft); color: var(--bone-dim); }
    .nav a:hover::after, .nav a.on::after { display: none; }
    body.nav-open .nav { transform: translateY(0); opacity: 1; pointer-events: auto; }
  }

  /* ===== 页头 ===== */
  .phead {
    padding: 150px 0 70px;
    background:
      radial-gradient(ellipse at 15% 0%, rgba(255,85,28,0.10), transparent 55%),
      radial-gradient(ellipse at 95% 30%, rgba(255,176,74,0.06), transparent 55%),
      var(--ink);
    border-bottom: 1px solid var(--rule);
  }
  .phead h1 {
    font-family: var(--serif-cn); font-weight: 900; letter-spacing: -0.01em; line-height: 1.0;
    font-size: clamp(40px, 6vw, 84px); margin: 22px 0 0; color: var(--bone);
  }
  .phead h1 em { font-family: var(--serif-en); font-style: italic; font-weight: 400; color: var(--molten); }
  .phead .lede { max-width: 720px; margin: 28px 0 0; font-size: 17px; color: var(--bone-dim); line-height: 1.75; }
  .phead .meta-row {
    display: flex; flex-wrap: wrap; gap: 14px 40px; margin-top: 40px;
    font-family: var(--mono); font-size: 12px; color: var(--mute); letter-spacing: 0.04em;
  }
  .phead .meta-row b { color: var(--bone); font-weight: 500; }

  /* ===== 行业总览栅格 ===== */
  .atlas { padding: 80px 0 24px; }
  .atlas .sec-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; flex-wrap: wrap; margin-bottom: 44px; }
  .atlas .sec-head h2 { font-family: var(--serif-cn); font-weight: 900; font-size: clamp(26px,3.4vw,40px); line-height: 1.05; margin: 14px 0 0; }
  .atlas .sec-head p { max-width: 460px; color: var(--bone-dim); font-size: 15px; margin: 0; }
  .grid12 { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--rule); border-left: 1px solid var(--rule); }
  .gi {
    border-right: 1px solid var(--rule); border-bottom: 1px solid var(--rule);
    padding: 24px 24px 22px; position: relative; display: flex; flex-direction: column;
    gap: 10px; min-height: 160px; transition: background .25s; overflow: hidden;
  }
  .gi:hover { background: var(--ink-2); }
  .gi:hover .gi-name { color: var(--flame); }
  .gi .gi-idx { font-family: var(--mono); font-size: 10px; color: var(--mute); letter-spacing: 0.18em; }
  .gi .gi-name { font-family: var(--serif-cn); font-weight: 700; font-size: 23px; line-height: 1.1; color: var(--bone); transition: color .25s; }
  .gi .gi-name .en { display: block; font-family: var(--serif-en); font-style: italic; font-weight: 400; font-size: 13px; color: var(--mute); margin-top: 3px; }
  .gi .gi-tag { font-size: 12.5px; color: var(--bone-dim); line-height: 1.5; margin-top: auto; }
  .gi .arrow { position: absolute; right: 16px; top: 16px; color: var(--flame); opacity: 0; transition: opacity .25s, transform .25s; }
  .gi:hover .arrow { opacity: 1; transform: translate(2px,-2px); }
  .gi.more { background: #14110d; }
  .gi.more .gi-name { color: var(--molten); }
  @media (max-width: 980px) { .grid12 { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 560px) { .grid12 { grid-template-columns: 1fr; } .gi { min-height: 0; } }

  /* ===== 行业小节 ===== */
  .ind-sec { border-top: 1px solid var(--rule); padding: 78px 0; scroll-margin-top: 72px; }
  .ind-sec:first-of-type { border-top: 0; }
  .is-head { display: grid; grid-template-columns: auto 1fr; align-items: baseline; gap: 18px 26px; }
  .is-idx { font-family: var(--mono); font-size: 12px; color: var(--flame); letter-spacing: 0.18em; padding-top: 8px; }
  .is-name { font-family: var(--serif-cn); font-weight: 900; font-size: clamp(28px,3.6vw,44px); line-height: 1.02; margin: 0; color: var(--bone); }
  .is-name .en { font-family: var(--serif-en); font-style: italic; font-weight: 400; font-size: 0.5em; color: var(--mute); margin-left: 12px; }
  .is-tag { grid-column: 2; margin: 6px 0 0; font-size: 17px; color: var(--molten); font-family: var(--serif-cn); }
  .is-body { display: grid; grid-template-columns: 1fr 1fr; gap: 30px 56px; margin-top: 44px; }
  .is-block h4 {
    font-family: var(--mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase;
    color: var(--mute); margin: 0 0 14px; font-weight: 500;
    display: flex; align-items: center; gap: 9px;
  }
  .is-block h4::before { content: ""; width: 14px; height: 1px; background: var(--flame); }
  .is-block p { margin: 0; font-size: 14.5px; color: var(--bone-dim); line-height: 1.8; }
  .is-block ul { list-style: none; margin: 0; padding: 0; }
  .is-block li { font-size: 14px; color: var(--bone-dim); line-height: 1.65; padding-left: 16px; position: relative; margin-bottom: 9px; }
  .is-block li::before { content: ""; position: absolute; left: 0; top: 9px; width: 5px; height: 5px; background: var(--mute); border-radius: 50%; }
  .is-block dl { margin: 0; }
  .is-block dt { font-size: 13px; color: var(--bone); font-weight: 700; margin: 0 0 2px; }
  .is-block dd { margin: 0 0 13px; font-size: 14px; color: var(--bone-dim); line-height: 1.65; }
  .is-block dd:last-child { margin-bottom: 0; }
  .is-value { background: var(--ink-2); border: 1px solid var(--rule); border-left: 2px solid var(--flame); padding: 22px 24px; }
  .is-value p { color: var(--bone); }
  .back-top { font-family: var(--mono); font-size: 11px; color: var(--mute); letter-spacing: 0.1em; margin-top: 30px; display: inline-block; }
  .back-top:hover { color: var(--flame); }
  @media (max-width: 820px) { .is-body { grid-template-columns: 1fr; gap: 28px; } .is-head { grid-template-columns: 1fr; } .is-tag { grid-column: 1; } }

  /* ===== CTA ===== */
  .cta { padding: 110px 0; border-top: 1px solid var(--rule); position: relative; background: var(--ink-2); }
  .cta h2 { font-family: var(--serif-cn); font-weight: 900; font-size: clamp(28px,4vw,52px); line-height: 1.05; margin: 18px 0 0; }
  .cta h2 em { font-family: var(--serif-en); font-style: italic; font-weight: 400; color: var(--molten); }
  .cta p { max-width: 560px; color: var(--bone-dim); font-size: 16px; margin: 22px 0 0; }
  .cta-row { display: flex; gap: 16px; margin-top: 34px; flex-wrap: wrap; }
  .cta .primary { background: var(--flame); color: var(--ink); font-weight: 700; padding: 14px 26px; border-radius: 1px; transition: background .2s; }
  .cta .primary:hover { background: var(--flame-2); }
  .cta .ghost { border: 1px solid var(--rule); color: var(--bone-dim); padding: 14px 26px; border-radius: 1px; transition: border-color .2s,color .2s; }
  .cta .ghost:hover { border-color: var(--flame); color: var(--bone); }

  /* ===== Footer ===== */
  footer { border-top: 1px solid var(--rule); padding: 64px 0 28px; background: var(--ink-2); position: relative; z-index: 5; }
  .foot { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 40px; }
  .foot .col h5 { font-family: var(--mono); font-size: 11px; color: var(--mute); letter-spacing: 0.16em; text-transform: uppercase; margin: 0 0 20px; font-weight: 500; }
  .foot .col ul { list-style: none; padding: 0; margin: 0; }
  .foot .col li { margin: 0 0 10px; font-size: 14px; color: var(--bone-dim); }
  .foot .col li a:hover { color: var(--flame); }
  .foot .about .logo { height: 46px; width: auto; display: block; margin-bottom: 2px; }
  .foot .about p { font-size: 13px; color: var(--bone-dim); line-height: 1.7; margin: 16px 0 0; max-width: 360px; }
  .foot .contact { font-family: var(--mono); font-size: 12px; color: var(--bone); line-height: 1.8; }
  .foot .contact .label { color: var(--mute); white-space: pre; }
  .foot .contact a:hover { color: var(--flame); }
  .legal { border-top: 1px solid var(--rule); margin-top: 56px; padding-top: 22px; display: flex; justify-content: space-between; font-family: var(--mono); font-size: 11px; color: var(--mute); letter-spacing: 0.1em; }
  .legal a:hover { color: var(--bone); }
  @media (max-width: 880px) { .foot { grid-template-columns: 1fr 1fr; } .foot .about { grid-column: 1 / -1; } .legal { flex-direction: column; gap: 10px; } }

  .reveal { opacity: 0; transform: translateY(24px); transition: opacity .9s ease, transform .9s ease; }
  .reveal.in { opacity: 1; transform: translateY(0); }
  @media (prefers-reduced-motion: reduce) { .reveal { opacity: 1; transform: none; } html { scroll-behavior: auto; } }

  /* ===== 价值指标条 ===== */
  .metrics { list-style: none; margin: 26px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
  .metrics li {
    font-family: var(--mono); font-size: 11.5px; color: var(--mute); letter-spacing: 0.02em;
    border: 1px solid var(--rule); border-radius: 2px; padding: 7px 12px; background: var(--ink-2);
  }
  .metrics li::before { content: "▸ "; color: var(--flame); }
  .metrics li b { color: var(--bone); font-weight: 600; }

  /* ===== 行业示意图 ===== */
  .schematic {
    margin-top: 34px; border: 1px solid var(--rule); border-left: 2px solid var(--flame);
    background: radial-gradient(ellipse at 82% 0%, rgba(255,85,28,0.055), transparent 60%), var(--ink-2);
    padding: 22px 26px 16px;
  }
  .schematic svg { width: 100%; height: auto; display: block; overflow: visible; }
  .schematic .pill, .schematic .stg { fill: var(--ink-3); stroke: var(--rule); stroke-width: 1; }
  .schematic .pill.lead, .schematic .stg.hot { stroke: var(--flame); fill: rgba(255,85,28,0.09); }
  .schematic .pill-t { fill: var(--bone-dim); font-family: var(--mono); font-size: 13px; text-anchor: middle; }
  .schematic .pill-t.lead { fill: var(--flame); }
  .schematic .stg-t { fill: var(--bone); font-family: var(--serif-cn); font-weight: 700; font-size: 16px; text-anchor: middle; }
  .schematic .stg-t.hot { fill: var(--flame); }
  .schematic .tier-tag { fill: var(--mute); font-family: var(--mono); font-size: 11px; }
  .schematic .hot-tag { fill: var(--flame); font-family: var(--mono); font-size: 10px; letter-spacing: 0.12em; text-anchor: middle; }
  .schematic .pull-lab { fill: var(--molten); font-family: var(--mono); font-size: 12px; text-anchor: middle; }
  .schematic .flow { stroke: var(--mute); stroke-width: 1.4; fill: none; }
  .schematic .pull { stroke: var(--flame); stroke-width: 1.6; fill: none; opacity: .9; }
  #ar path { fill: var(--mute); }
  #arHot path { fill: var(--flame); }
  .schematic .cap { margin: 14px 0 0; font-family: var(--mono); font-size: 11.5px; color: var(--mute); letter-spacing: 0.02em; line-height: 1.6; }
  .schematic .cap b { color: var(--bone-dim); font-weight: 500; }
  @media (max-width: 560px) { .schematic { padding: 16px 14px 12px; } .metrics li { font-size: 11px; } }

  /* ===== 行业独立页 chrome ===== */
  .ind-page { padding-top: 92px; }
  .crumb { font-family: var(--mono); font-size: 12px; color: var(--mute); letter-spacing: 0.1em; padding: 20px 0 6px; }
  .crumb a { color: var(--mute); } .crumb a:hover { color: var(--flame); }
  .ind-page .ind-sec { border-top: 0; padding-top: 26px; }
  .pn-nav { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap;
    border-top: 1px solid var(--rule); margin-top: 24px; padding: 26px 0 4px; font-family: var(--mono); font-size: 13px; }
  .pn-nav a { color: var(--bone-dim); } .pn-nav a:hover { color: var(--flame); }
  .pn-nav .pn-hub { color: var(--mute); letter-spacing: 0.1em; }
  .pn-nav .pn-prev::before { content: "← "; color: var(--flame); }
  .pn-nav .pn-next::after { content: " →"; color: var(--flame); }
  .pn-nav .pn-spacer { flex: 0 0 1px; }


/* SEO-FAQ-CSS */
.ind-faq { padding: 70px 0; border-top: 1px solid var(--rule); }
.ind-faq .eyebrow { margin-bottom: 30px; display: inline-flex; }
.faq-list { border-top: 1px solid var(--rule); }
.qa { border-bottom: 1px solid var(--rule); }
.qa summary { cursor: pointer; list-style: none; padding: 22px 0; font-family: var(--serif-cn); font-weight: 700; font-size: 18px; color: var(--bone); display: flex; justify-content: space-between; align-items: baseline; gap: 18px; transition: color .2s; }
.qa summary:hover { color: var(--flame); }
.qa summary::-webkit-details-marker { display: none; }
.qa summary::after { content: "+"; color: var(--flame); font-family: var(--mono); font-size: 20px; line-height: 1; }
.qa[open] summary::after { content: "\2212"; }
.qa p { margin: 0 0 22px; color: var(--bone-dim); font-size: 14.5px; line-height: 1.85; max-width: 900px; }
