/* 产品关联图与 OPC 计划的增强层；保留原站布局与离线字体。 */
.hero {
  grid-template-columns: minmax(0, .93fr) minmax(0, 1.07fr);
  gap: clamp(28px, 3.4vw, 50px);
  align-items: center;
  min-height: 0;
  padding-block: 124px 91px;
}
.hero-copy, .hero-network { min-width: 0; }
.hero h1 { font-size: clamp(44px, 5vw, 78px); line-height: 1.15; letter-spacing: -.045em; }
.hero-copy .hero-kicker { margin-bottom: 14px; }
.hero-position { margin-bottom: 25px; color: var(--gold); font-size: 12px; line-height: 1.7; letter-spacing: .085em; }
.hero-description { max-width: 32em; }
.hero-beliefs { display: flex; flex-wrap: wrap; align-items: center; gap: 9px 19px; max-width: 100%; width: fit-content; margin-top: 23px; padding-top: 17px; border-top: 1px solid var(--line-soft); color: #b1b7a3; font-size: 11px; line-height: 1.7; }
.hero-beliefs > span { display: inline-flex; align-items: center; gap: 7px; }
.hero-beliefs > span::before { content: ""; flex: 0 0 auto; width: 3px; height: 3px; background: #ab9368; }
.hero-network { width: 100%; align-self: center; }
.hero-network .orbit-stage { width: 100%; max-width: none; height: 480px; min-height: 480px; }
.hero-network #orbit-canvas { opacity: .48; }
.hero-network .orbit-aura { opacity: .65; }
.hero-network .orbit-label-top { top: 8px; left: 0; font-size: 9px; letter-spacing: .15em; }
.hero-network .orbit-label-bottom { display: none; }
.hero-network .orbit-ui { bottom: 0; z-index: 5; }
.hero-network .orbit-ui p { margin-bottom: 7px; }

/* 节点坐标由脚本提供，文字和焦点始终保留在 DOM 中。 */
#product-network { position: absolute; inset: 35px 0 80px; z-index: 2; isolation: isolate; pointer-events: none; }
#network-links, #network-nodes { position: absolute; inset: 0; width: 100%; height: 100%; }
#network-links { z-index: 0; overflow: visible; pointer-events: none; }
#network-links path, #network-links line {
  fill: none;
  stroke: rgba(216, 181, 121, .16);
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
  transition: stroke .25s, opacity .25s;
}
#network-links .is-related, #network-links .is-active, #network-links .is-selected, #network-links .is-highlight {
  stroke: rgba(239, 210, 161, .72);
  stroke-width: 1.35;
}
#network-links .is-dimmed, #network-links .is-muted { opacity: .32; }
#network-links .is-planned { stroke-dasharray: 4 4; }
#network-nodes { z-index: 1; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px 9px; align-content: center; }
.network-node {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  width: 90px;
  min-height: 44px;
  padding: 7px 5px;
  transform: translate(-50%, -50%);
  background: #171914;
  color: #dad8ca;
  border: 1px solid rgba(216, 181, 121, .42);
  border-radius: 3px;
  box-shadow: 0 3px 12px rgba(8, 10, 6, .22);
  text-align: center;
  line-height: 1.35;
  cursor: pointer;
  pointer-events: auto;
  transition: border-color .2s, background-color .2s, color .2s, box-shadow .2s;
}
.network-node .node-mark { color: #b9a37f; font: 9px/1.1 "Segoe UI", sans-serif; letter-spacing: .09em; }
.network-node .node-name { font-size: 12px; font-weight: 550; overflow-wrap: anywhere; }
.network-node .node-planned { color: #b2b5a7; font-size: 9px; line-height: 1.2; }
.network-node:hover, .network-node:focus-visible { z-index: 4; border-color: var(--gold-bright); color: var(--gold-bright); background: #24261c; }
.network-node:focus-visible { outline-offset: 3px; }
.network-node.is-related { border-color: #a68b5e; background: #202219; }
.network-node.is-selected, .network-node[aria-pressed="true"] {
  z-index: 3;
  border-color: var(--gold-bright);
  background: #dcc08d;
  color: #191b13;
  box-shadow: 0 0 0 3px rgba(216, 181, 121, .09), 0 5px 22px rgba(5, 7, 3, .22);
}
.network-node.is-selected .node-mark, .network-node.is-selected .node-planned,
.network-node[aria-pressed="true"] .node-mark, .network-node[aria-pressed="true"] .node-planned { color: #4d4839; }
.network-node.is-dimmed, .network-node.is-muted { border-color: rgba(216, 181, 121, .22); color: #a6aa9a; }
/* 脚本未设置位置时，用普通网格显示已有节点，避免十个按钮堆在一起。 */
#network-nodes .network-node:not([style*="left"]) { position: relative; inset: auto; transform: none; width: 100%; }
.network-detail {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 9px;
  height: auto;
  min-height: 0;
  margin-top: 23px;
  padding: 21px 0 0;
  border-top: 1px solid var(--line);
  background: transparent;
  text-align: left;
  overflow-wrap: anywhere;
}
#network-status { width: fit-content; font-size: 10px; color: var(--gold); letter-spacing: .04em; }
#network-title { font-size: clamp(20px, 1.8vw, 26px); line-height: 1.35; font-weight: 550; letter-spacing: -.025em; }
#network-description { max-width: 48em; color: #b5b8a9; font-size: 13px; line-height: 1.8; }
.network-explainer { display: flex; flex-wrap: wrap; align-items: baseline; gap: 3px 6px; margin-top: 7px; color: #c1bca6; font-size: 11px; line-height: 1.7; }
.network-explainer > span { color: #959f87; font-size: 10px; }
#network-relations { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-top: 3px; }
#network-relations > span, #network-relations > small { color: var(--muted); font-size: 10px; }
#network-relations button, #network-relations a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  max-width: 100%;
  padding: 7px 12px;
  border: 1px solid var(--line-soft);
  border-radius: 3px;
  background: transparent;
  color: #c7c9b9;
  font-size: 11px;
  line-height: 1.5;
}
#network-relations button:hover, #network-relations a:hover { border-color: var(--gold); color: var(--gold-bright); }
#network-relations .network-relation { flex-direction: column; align-items: flex-start; gap: 3px; text-align: left; }
.network-relation-description { color: #a7b096; font-size: 10px; line-height: 1.5; }
#network-relations .network-relation.is-planned { border-style: dashed; }
#network-open { justify-self: start; width: fit-content; min-height: 44px; margin-top: 3px; font-size: 12px; }

/* 两份同宽内容形成连续字带，控制按钮独占一行，不覆盖文字。 */
.word-ribbon { padding-block: 22px 12px; color: #747967; }
.word-ribbon > .ribbon-track {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0;
  width: max-content;
  min-width: 0;
  max-width: none;
  font: 550 clamp(25px, 2.9vw, 43px)/1.25 "Segoe UI", "Microsoft YaHei", sans-serif;
  letter-spacing: -.025em;
  animation: product-ribbon-flow 46s linear infinite;
}
.ribbon-group { display: flex; flex: 0 0 auto; align-items: center; gap: 34px; padding-right: 34px; white-space: nowrap; }
.word-ribbon b { color: #a7916b; }
#ribbon-toggle {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: fit-content;
  min-width: 90px;
  min-height: 44px;
  margin: 10px auto 0;
  padding: 7px 14px;
  border: 1px solid transparent;
  border-radius: 3px;
  background: transparent;
  color: #aab09b;
  font-size: 10px;
  line-height: 1.4;
  letter-spacing: .04em;
}
#ribbon-toggle:hover, #ribbon-toggle:focus-visible { border-color: var(--line); color: var(--gold-bright); }
.word-ribbon.is-paused .ribbon-track,
.ribbon-track.is-paused,
.word-ribbon[data-paused="true"] .ribbon-track { animation-play-state: paused; }
@media (hover: hover) and (pointer: fine) {
  .word-ribbon > .ribbon-track:hover { animation-play-state: paused; }
}
@keyframes product-ribbon-flow { to { transform: translateX(-50%); } }

/* 市场分析先讲判断问题，再用一块操作面板展开方法。 */
.market-section { padding-top: clamp(78px, 8vw, 116px); }
.market-layout { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); align-items: start; gap: clamp(35px, 5vw, 78px); }
.market-intro, .market-workbench { min-width: 0; }
.market-intro h2 { max-width: 10em; font-size: clamp(40px, 4.5vw, 62px); }
.market-intro > p:not(.section-kicker):not(.status-pill) { max-width: 31em; margin-top: 24px; color: #b0b6a2; font-size: 14px; line-height: 1.9; }
.market-intro > .status-pill { margin-bottom: 23px; }
.market-intro .case-actions, .market-intro .hero-actions { margin-top: 28px; }
.market-workbench { border: 1px solid rgba(216, 181, 121, .3); border-radius: 4px; background: #181b15; }
.market-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-bottom: 1px solid var(--line); }
.market-tabs button {
  position: relative;
  min-width: 0;
  min-height: 68px;
  padding: 14px 8px;
  background: transparent;
  color: #aeb5a1;
  font-size: 12px;
  line-height: 1.45;
  border-right: 1px solid var(--line-soft);
}
.market-tabs button:last-child { border-right: 0; }
.market-tabs button:hover { background: #21261b; color: var(--gold-bright); }
.market-tabs button[aria-selected="true"], .market-tabs button[aria-pressed="true"], .market-tabs button.is-active { background: #292c20; color: var(--gold-bright); box-shadow: inset 0 -2px var(--gold); }
.market-tabs button:focus-visible { z-index: 1; outline-offset: -5px; }
.market-tabs button small { display: block; margin-bottom: 5px; color: inherit; font-size: 9px; opacity: .8; }
#market-panel { min-height: 370px; padding: clamp(25px, 3.3vw, 45px); }
#market-question { font-size: clamp(23px, 2.35vw, 32px); line-height: 1.4; font-weight: 550; letter-spacing: -.03em; }
#market-summary { margin-top: 20px; color: #c1c6b5; font-size: 14px; line-height: 1.9; }
#market-evidence { display: grid; gap: 10px; margin-block: 24px; padding-top: 21px; border-top: 1px solid var(--line-soft); color: #adb69d; font-size: 12px; line-height: 1.85; }
#market-evidence li { position: relative; padding-left: 15px; }
#market-evidence li::before { content: ""; position: absolute; left: 0; top: .8em; width: 4px; height: 4px; background: #ac956a; }
#market-action { max-width: 100%; min-height: 44px; margin-top: 3px; font-size: 12px; }
.market-note, .method-note { margin-top: 15px; color: #939d85; font-size: 11px; line-height: 1.85; }

/* OPC 用证据、路线和可修改假设呈现，视觉上区分事实与计划。 */
.opc-section { border-top: 1px solid var(--line); }
.opc-heading { max-width: 1000px; margin-bottom: clamp(36px, 5vw, 64px); }
.opc-heading h2 { max-width: 15em; }
.opc-heading > p:not(.section-kicker):not(.status-pill) { max-width: 48em; margin-top: 25px; color: #b4bba6; font-size: 15px; line-height: 1.9; }
.opc-heading > .status-pill { margin-bottom: 21px; }
.opc-thesis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line-soft); border-bottom: 1px solid var(--line-soft); }
.opc-evidence { display: flex; flex-direction: column; min-width: 0; padding: 31px clamp(20px, 2.6vw, 38px) 27px; border-right: 1px solid var(--line-soft); }
.opc-evidence:first-child { padding-left: 0; }
.opc-evidence:last-child { padding-right: 0; border-right: 0; }
.evidence-kicker { color: #a6ad97; font-size: 10px; line-height: 1.7; letter-spacing: .055em; }
.evidence-value { display: block; margin-top: 18px; color: var(--gold); font-size: clamp(30px, 3.25vw, 46px); line-height: 1.25; font-weight: 500; letter-spacing: -.04em; overflow-wrap: anywhere; }
.opc-evidence h3 { margin-top: 17px; font-size: 20px; line-height: 1.4; font-weight: 550; }
.opc-evidence p:not(.evidence-kicker):not(.evidence-value) { margin-top: 13px; color: #acb39f; font-size: 13px; line-height: 1.85; }
.opc-evidence a { display: inline-flex; align-items: center; align-self: flex-start; gap: 8px; min-height: 44px; margin-top: auto; padding-top: 15px; color: #d7c092; font-size: 11px; line-height: 1.5; text-decoration: underline; text-underline-offset: 5px; overflow-wrap: anywhere; }
.opc-evidence a:hover { color: var(--gold-bright); }
.opc-path { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(20px, 3vw, 42px); margin-top: 52px; }
.opc-step { min-width: 0; padding-top: 19px; border-top: 1px solid rgba(216, 181, 121, .42); }
.opc-step > span, .opc-step > small, .opc-step > b, .step-number { display: block; color: #b59c6c; font-size: 12px; font-weight: 400; letter-spacing: .07em; }
.opc-step h3 { margin-top: 17px; font-size: 21px; line-height: 1.4; font-weight: 550; }
.opc-step p { margin-top: 13px; color: #aeb8a0; font-size: 13px; line-height: 1.85; }
.opc-economics { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(32px, 5vw, 80px); align-items: start; margin-top: 66px; padding-top: 42px; border-top: 1px solid var(--line-soft); }
.opc-economics > * { min-width: 0; }
.opc-economics h3 { max-width: 14em; font-size: clamp(27px, 2.8vw, 39px); line-height: 1.4; letter-spacing: -.035em; font-weight: 500; }
.opc-economics p { max-width: 38em; margin-top: 18px; color: #aeb7a0; font-size: 13px; line-height: 1.85; }
.opc-economics .section-kicker { color: var(--gold); margin-top: 0; margin-bottom: 20px; font-size: 11px; }
#opc-calculator { padding: 28px 30px; background: #191e15; border: 1px solid var(--line); border-radius: 4px; }
#opc-calculator label { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 1px 16px; margin-bottom: 14px; color: #c0c7b1; font-size: 12px; line-height: 1.6; }
#opc-calculator label > output, #opc-calculator label > b { color: var(--gold-bright); font-size: 13px; font-weight: 500; font-variant-numeric: tabular-nums; }
#opc-calculator input[type="range"] { grid-column: 1 / -1; display: block; width: 100%; min-width: 0; height: 44px; margin: 0; padding: 0; appearance: none; -webkit-appearance: none; background: transparent; accent-color: var(--gold); cursor: pointer; }
#opc-calculator input[type="range"]::-webkit-slider-runnable-track { height: 3px; background: #6a684d; border-radius: 2px; }
#opc-calculator input[type="range"]::-webkit-slider-thumb { width: 18px; height: 24px; margin-top: -10.5px; appearance: none; -webkit-appearance: none; background: var(--gold); border: 2px solid #191e15; border-radius: 3px; box-shadow: 0 0 0 1px #c3a56e; }
#opc-calculator input[type="range"]::-moz-range-track { height: 3px; background: #6a684d; border-radius: 2px; }
#opc-calculator input[type="range"]::-moz-range-thumb { width: 14px; height: 20px; background: var(--gold); border: 2px solid #191e15; border-radius: 3px; box-shadow: 0 0 0 1px #c3a56e; }
#opc-calculator input[type="range"]:focus-visible { outline-offset: 2px; }
.opc-results, .calculator-results { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; margin-top: 17px; padding-top: 23px; border-top: 1px solid var(--line); }
#opc-hours, #opc-value { display: block; color: var(--gold-bright); font-size: clamp(30px, 3vw, 42px); line-height: 1.25; font-weight: 500; font-variant-numeric: tabular-nums; letter-spacing: -.025em; overflow-wrap: anywhere; }
.opc-results span, .calculator-results span { display: block; margin-top: 8px; color: #aab69a; font-size: 11px; }
#opc-calculator .calculator-note, #opc-calculator > p { margin-top: 20px; color: #aab49a; font-size: 10px; line-height: 1.85; }

/* 侧栏仅占宽屏留白，窄屏沿用原顶部阅读进度。 */
.section-rail { display: none; }
@media (min-width: 1051px) {
  .hero { padding-block: 124px 75px; }
  .hero-network .orbit-stage { height: 430px; min-height: 430px; }
  .network-detail { gap: 8px; }
  #network-title { padding-right: 200px; }
  #network-open { position: absolute; top: 21px; right: 0; max-width: 188px; margin-top: 0; font-size: 11px; line-height: 1.5; white-space: normal; }
  #network-relations .network-relation-description { display: none; }
  #network-relations .network-relation { padding-block: 7px; }
}
@media (min-width: 1600px) {
  .section-rail { position: fixed; z-index: 35; top: 50%; right: max(4px, calc((100vw - 1440px) / 2 - 84px)); transform: translateY(-50%); display: flex; flex-direction: column; align-items: center; width: 64px; max-height: calc(100dvh - 110px); padding: 9px 0; overflow-y: auto; scrollbar-width: none; border-left: 1px solid rgba(216, 181, 121, .17); background: var(--ink); }
  .section-rail::-webkit-scrollbar { display: none; }
  #rail-percent { display: block; margin-bottom: 13px; color: var(--gold); font: 500 17px/1.3 "Segoe UI", sans-serif; font-variant-numeric: tabular-nums; }
  .section-rail a { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 44px; padding: 7px 3px; color: #959e86; font-size: 10px; line-height: 1.45; text-align: center; }
  .section-rail a:hover, .section-rail a.is-active, .section-rail a.active, .section-rail a[aria-current="location"], .section-rail a[aria-current="true"] { color: var(--gold-bright); background: #202319; box-shadow: inset 2px 0 var(--gold); }
  .section-rail a:focus-visible { outline-offset: -3px; }
  .rail-controls { display: grid; justify-items: center; gap: 4px; margin-top: 11px; }
  #rail-prev, #rail-next { display: inline-flex; align-items: center; justify-content: center; width: 44px; min-height: 44px; margin-top: 5px; padding: 7px; background: transparent; border: 1px solid var(--line-soft); border-radius: 3px; color: #c7b894; font-size: 15px; }
  #rail-prev:hover, #rail-next:hover { border-color: var(--gold); color: var(--gold-bright); }
  #rail-prev:disabled, #rail-next:disabled { opacity: .45; }
}

@media (max-width: 1100px) {
  .hero { gap: 28px; }
  .hero h1 { font-size: clamp(44px, 5vw, 78px); }
  .market-layout { gap: 30px; }
  .market-tabs button { font-size: 11px; }
  #market-panel { padding: 28px; }
  .opc-thesis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .opc-evidence { padding-inline: 22px; }
}
@media (max-width: 1050px) {
  .hero { grid-template-columns: minmax(0, 1fr); gap: 41px; padding-top: 120px; }
  .hero-copy { max-width: 800px; }
  .hero h1 { font-size: clamp(48px, 8.6vw, 70px); }
  .hero-network { width: min(100%, 740px); justify-self: center; }
  .hero-network .orbit-stage { height: 480px; min-height: 480px; }
  .network-detail { margin-top: 25px; }
  .market-layout { grid-template-columns: minmax(0, 1fr); gap: 37px; }
  .market-intro h2 { max-width: 15em; }
  .market-intro > p:not(.section-kicker):not(.status-pill) { max-width: 46em; }
  #market-panel { min-height: 320px; padding: 34px; }
  .market-tabs button { min-height: 64px; font-size: 13px; }
}
@media (max-width: 850px) {
  .hero h1 { font-size: clamp(48px, 8.6vw, 70px); }
  .opc-heading > p:not(.section-kicker):not(.status-pill) { font-size: 14px; }
  .opc-evidence { padding-inline: 19px; }
  .opc-evidence h3 { font-size: 18px; }
  .opc-evidence p:not(.evidence-kicker):not(.evidence-value) { font-size: 12px; }
  .evidence-value { font-size: 31px; }
  .opc-path { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 34px; }
  .opc-economics { grid-template-columns: minmax(0, 1fr); gap: 29px; margin-top: 51px; padding-top: 34px; }
  .opc-economics h3, .opc-economics p { max-width: 45em; }
}
@media (max-width: 680px) {
  .hero { padding-top: 107px; padding-bottom: 74px; gap: 29px; }
  .hero h1 { font-size: clamp(40px, 10.8vw, 58px); line-height: 1.18; letter-spacing: -.045em; }
  .hero-copy .hero-kicker { margin-bottom: 11px; }
  .hero-position { margin-bottom: 21px; font-size: 11px; letter-spacing: .04em; }
  .hero-description br { display: none; }
  .hero-beliefs { margin-top: 20px; padding-top: 15px; gap: 7px 14px; font-size: 10px; }
  .hero-network .orbit-stage { height: 560px; min-height: 560px; }
  .hero-network .orbit-label-top { top: 10px; font-size: 8px; letter-spacing: .09em; }
  .hero-network .orbit-label-top span { padding-inline: 8px; }
  #product-network { inset: 35px 0 80px; }
  .network-node { width: 76px; min-height: 44px; padding: 7px 4px; }
  .network-node .node-name { font-size: 11px; }
  .network-node .node-mark { font-size: 8px; }
  .network-node .node-planned { font-size: 8px; }
  #network-nodes { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px 10px; }
  .network-detail { margin-top: 23px; padding-top: 20px; gap: 10px; }
  #network-title { font-size: 22px; }
  #network-description { font-size: 12px; }
  #network-relations { gap: 7px; }
  #network-relations button, #network-relations a { padding-inline: 10px; font-size: 10px; }
  #network-open { font-size: 11px; }
  .word-ribbon { padding-block: 19px 9px; }
  .word-ribbon > .ribbon-track { font-size: 26px; }
  .ribbon-group { gap: 24px; padding-right: 24px; }
  #ribbon-toggle { margin-top: 8px; }
  .market-layout { gap: 29px; }
  .market-intro h2 { font-size: clamp(34px, 8.5vw, 45px); }
  .market-intro > p:not(.section-kicker):not(.status-pill) { margin-top: 21px; font-size: 13px; }
  .market-intro .case-actions, .market-intro .hero-actions { margin-top: 24px; }
  .market-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .market-tabs button { min-height: 52px; font-size: 12px; padding: 11px 9px; }
  .market-tabs button:nth-child(2) { border-right: 0; }
  .market-tabs button:nth-child(-n+2) { border-bottom: 1px solid var(--line-soft); }
  #market-panel { min-height: 0; padding: 25px 22px; }
  #market-question { font-size: 24px; }
  #market-summary { margin-top: 17px; font-size: 13px; }
  #market-evidence { margin-block: 20px; padding-top: 18px; font-size: 11px; }
  #market-action { font-size: 11px; white-space: normal; }
  .opc-heading { margin-bottom: 32px; }
  .opc-heading > p:not(.section-kicker):not(.status-pill) { margin-top: 21px; font-size: 13px; }
  .opc-thesis { grid-template-columns: minmax(0, 1fr); }
  .opc-evidence, .opc-evidence:first-child, .opc-evidence:last-child { padding: 25px 0; border-right: 0; border-bottom: 1px solid var(--line-soft); }
  .opc-evidence:last-child { border-bottom: 0; }
  .evidence-value { margin-top: 13px; font-size: 37px; }
  .opc-evidence h3 { margin-top: 14px; font-size: 21px; }
  .opc-evidence p:not(.evidence-kicker):not(.evidence-value) { max-width: 40em; font-size: 13px; }
  .opc-evidence a { margin-top: 11px; padding-top: 6px; }
  .opc-path { gap: 29px 21px; margin-top: 34px; }
  .opc-step { padding-top: 16px; }
  .opc-step h3 { font-size: 19px; margin-top: 13px; }
  .opc-step p { margin-top: 10px; font-size: 12px; }
  .opc-economics { margin-top: 41px; padding-top: 31px; }
  .opc-economics h3 { font-size: 28px; }
  #opc-calculator { padding: 24px 21px; }
  #opc-calculator label { font-size: 11px; gap: 2px 10px; }
  .opc-results, .calculator-results { gap: 14px; padding-top: 21px; }
  #opc-hours, #opc-value { font-size: clamp(28px, 8vw, 37px); }
}
@media (max-width: 380px) {
  .hero h1 { font-size: clamp(34px, 10.7vw, 40px); }
  .hero-network .orbit-stage { height: 560px; min-height: 560px; }
  .opc-path { grid-template-columns: minmax(0, 1fr); }
}

/* 独立暂停与全站静态偏好均立即生效，不影响内容及按钮。 */
body.motion-off .ribbon-track { animation: none !important; transform: none !important; }
body.motion-off .network-node { transition: none !important; }
@media (prefers-reduced-motion: reduce) {
  .word-ribbon > .ribbon-track { animation: none !important; transform: none !important; }
  .network-node, #network-links path, #network-links line { transition: none !important; }
}
@media (forced-colors: active) {
  .network-node, .market-workbench, .market-tabs button, #opc-calculator, #network-relations button, #network-relations a, #rail-prev, #rail-next { border-color: ButtonText; }
  .network-node.is-selected, .network-node[aria-pressed="true"], .market-tabs button[aria-selected="true"], .market-tabs button[aria-pressed="true"] { outline: 2px solid Highlight; outline-offset: -3px; }
  #network-links path, #network-links line { stroke: GrayText; }
  #network-links .is-related, #network-links .is-active, #network-links .is-selected, #network-links .is-highlight { stroke: Highlight; }
}

#product-network { scroll-margin-top: 115px; }
