/* ===== V3.2 · 原站级流体着色器英雄页 ===== */
.fluid-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.hero-fluid{position:relative;isolation:isolate;padding:112px 0 96px;color:var(--ink)}
.hero-fluid.fluid-fallback,
.hero-fluid:not(.fluid-on):not(.fluid-fallback){
  background:
    repeating-linear-gradient(0deg,rgba(17,24,39,.07) 0 1px,transparent 1px 24px),
    repeating-linear-gradient(90deg,rgba(17,24,39,.07) 0 1px,transparent 1px 24px),
    conic-gradient(from 220deg at 64% 48%,transparent 0deg,rgba(255,95,3,.3) 42deg,transparent 94deg),
    linear-gradient(112deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.78) 38%,rgba(239,239,239,.8) 100%);
}
.hero-fluid.fluid-on{background:#fff}
.hero-fluid.fluid-on::before{display:none}
.hero-fluid.fluid-on::after{display:none}
.hero-fluid .container{position:relative;z-index:2}
.hero-fluid .hero-tag{
  color:#b44700;background:rgba(255,95,3,.08);border-color:rgba(255,95,3,.35);
  box-shadow:0 8px 22px -16px rgba(255,95,3,.7);
}
.hero-fluid h1{color:var(--ink)}
.hero-fluid h1 .hl{color:var(--orange)}
.hero-fluid p.lead{color:var(--muted)}
.hero-fluid .hero-meta{color:rgba(31,41,55,.55)}
.hero-fluid .orbit-svg .e1{stroke:rgba(29,36,48,.4)}
.hero-fluid .orbit-svg .e2{stroke:rgba(29,36,48,.26)}
.hero-fluid .orbit-svg .e3{stroke:rgba(29,36,48,.16)}
.hero-fluid .orbit-svg .nd{fill:#1d2430}
.hero-fluid .orbit-svg .nd-ring{stroke:rgba(29,36,48,.4)}
.hero-fluid .orbit-svg .core{stroke:rgba(29,36,48,.45)}
.hero-fluid .orbit-svg .lbl{fill:rgba(29,36,48,.6)}
.hero-fluid .orbit-svg .arc-o{opacity:.8}
.hero-fluid .orbit-svg .arc-g{opacity:.5}
@media (prefers-reduced-motion:reduce){
  .fluid-canvas{display:none}
}


/* ===== V3.4 eco-map large layout ===== */
.eco-wide{display:flex;flex-direction:column;gap:8px}
.eco-wide .reveal{text-align:center;max-width:760px;margin:0 auto}
.eco-wide .section-desc{text-align:center}
.eco-map{max-width:1080px;width:100%;margin:0 auto;padding:0 20px}
.eco-t{font-size:21px;font-weight:800;fill:var(--ink-2);letter-spacing:.02em}
.eco-s{font-size:15px;fill:var(--muted)}
.eco-ec{font-size:13px;fill:var(--gold);letter-spacing:.42em;font-weight:700}
.eco-core{font-size:56px;font-weight:900;fill:#fff;letter-spacing:.18em}
.eco-core-s{font-size:20px;fill:rgba(255,255,255,.94);font-weight:600;letter-spacing:.04em}
.eco-core-s2{font-size:15px;fill:rgba(255,255,255,.68);letter-spacing:.08em}
.eco-map .c-soft{fill:rgba(242,101,34,.06);stroke:var(--orange-line);stroke-dasharray:6 7;stroke-width:1.4}
.eco-map .c-tri{fill:rgba(2
0,32,46,.05);stroke:#cfd6de;stroke-dasharray:6 7;stroke-width:1.4}
.eco-map .c-core{fill:var(--navy);stroke:var(--orange);stroke-width:2.4}
.eco-map .c-ring{fill:none;stroke:rgba(242,101,34,.4);stroke-width:1.2}
@media (max-width:900px){
  .eco-map{max-width:560px}
  .eco-t{font-size:16px}
  .eco-s{font-size:12px}
  .eco-core{font-size:40px}
  .eco-core-s{font-size:15px}
  .eco-core-s2{font-size:12px}
}
