/* ===== 原 <style> ===== */

    /*
      Wanersen homepage styles
      Palette:
        Brand red   #DE2823  (accents, buttons, status, thin lines)
        White       #FFFFFF  (main background)
        Cool gray   #F5F6F7  (alternate section background)
        Border gray #E2E4E7
        Info gray   #747980  (secondary / caption text)
        Dark gray   #202326  (headings, dark sections)
      Hero background can be replaced in .hero background-image.
    */

    :root {
      --brand-red-on-dark: #FF918D;
      --font-mono: ui-monospace, "SFMono-Regular", "SF Mono", Menlo, Consolas, "Liberation Mono", "Roboto Mono", "Noto Sans Mono CJK SC", monospace;
      --case-dark: #2B2F33;
      --bg-main: #FFFFFF;
      --bg-dark: #232629;
      --card-shadow: var(--shadow-card);
      --container: 1180px;
    }

    * {
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
      scroll-padding-top: 84px;
    }

    body {
      margin: 0;
      background: var(--bg-main);
    }

    a {
      color: inherit;
      text-decoration: none;
    }

    img {
      max-width: 100%;
      display: block;
    }

    .card-image {
      width: 100%;
      height: 190px;
      object-fit: cover;
      background: #D6D9DC;
    }

    .container {
      width: min(var(--container), calc(100% - 48px));
      margin: 0 auto;
    }

    .topbar {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 100;
      border-bottom: 1px solid rgba(32, 35, 38, 0.06);
    }

    .nav {
      height: 74px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 28px;
    }

    .brand {
      display: flex;
      align-items: center;
      gap: 12px;
      letter-spacing: 0.04em;
      white-space: nowrap;
    }

    .brand-logo {
      display: block;
      height: 44px;
      width: auto;
      max-width: 260px;
      object-fit: contain;
    }

    .nav-links {
      display: flex;
      align-items: center;
      gap: 13px;
      color: var(--text-strong);
      white-space: nowrap;
    }

    .nav-links a {
      transition: color 0.2s ease;
    }

    .culture-card.is-highlighted,
    #company-intro.is-highlighted {
      border-color: var(--brand-red);
      background: rgba(222, 40, 35, 0.1);
      box-shadow: 0 0 0 3px rgba(222, 40, 35, 0.22);
      transition: box-shadow 0.3s ease, border-color 0.3s ease, background 0.3s ease;
    }

    #company-intro {
      max-width: none;
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      background: rgba(255,255,255,0.055);
      border: 1px solid rgba(255,255,255,0.14);
      border-radius: 18px;
      padding: 0;
      overflow: hidden;
      transition: box-shadow 0.3s ease, border-color 0.3s ease, background 0.3s ease;
    }

    .culture-grid {
      transition: box-shadow 0.3s ease, background 0.3s ease, border-radius 0.3s ease, padding 0.3s ease, margin 0.3s ease;
      border: 1px solid transparent;
    }

    .culture-grid.is-highlighted {
      border-color: var(--brand-red);
      background: rgba(222, 40, 35, 0.06);
      border-radius: 18px;
      padding: 16px;
      margin: 0 -16px;
      box-shadow: 0 0 0 3px rgba(222, 40, 35, 0.18);
    }

    .nav-links a:hover {
      color: var(--brand-red);
    }

    .nav-dropdown {
      position: relative;
    }

    .nav-dropdown-trigger {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      font: inherit;
      color: inherit;
      background: none;
      border: none;
      padding: 0;
      cursor: pointer;
      transition: color 0.2s ease;
    }

    .nav-dropdown-trigger:hover {
      color: var(--brand-red);
    }

    .nav-dropdown-menu {
      position: absolute;
      top: calc(100% + 16px);
      left: 50%;
      transform: translateX(-50%);
      min-width: 230px;
      background: #fff;
      border: 1px solid var(--border);
      border-radius: 14px;
      box-shadow: var(--card-shadow);
      padding: 10px;
      display: none;
      flex-direction: column;
      gap: 2px;
      z-index: 110;
    }

    .nav-dropdown.is-open .nav-dropdown-menu {
      display: flex;
    }

    .nav-dropdown-menu a {
      padding: 9px 12px;
      border-radius: 8px;
      font-size: 13px;
      color: var(--text-strong);
      white-space: normal;
      line-height: 1.4;
      transition: background 0.15s ease, color 0.15s ease;
    }

    .nav-dropdown-menu a:hover {
      background: rgba(222, 40, 35, 0.06);
      color: var(--brand-red);
    }

    .nav-cta {
      padding: 9px 16px;
      border-radius: 999px;
      background: var(--brand-red);
      color: #fff;
      font-weight: 700;
      box-shadow: 0 10px 24px rgba(222, 40, 35, 0.26);
    }

    .nav-cta:hover {
      color: #fff !important;
      transform: translateY(-1px);
      box-shadow: 0 14px 28px rgba(222, 40, 35, 0.34);
    }

    /* 移动端导航：汉堡按钮 + 抽屉菜单（≤980px 时 .nav-links 被隐藏，需要替代入口） */
    .nav-mobile-toggle {
      display: none;
      width: 38px;
      height: 38px;
      padding: 0;
      border: none;
      background: none;
      cursor: pointer;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 5px;
    }

    .nav-mobile-toggle span {
      display: block;
      width: 22px;
      height: 2px;
      border-radius: 2px;
      background: var(--text-main);
      transition: transform 0.22s ease, opacity 0.22s ease;
    }

    .nav-mobile-toggle.is-open span:nth-child(1) {
      transform: translateY(7px) rotate(45deg);
    }

    .nav-mobile-toggle.is-open span:nth-child(2) {
      opacity: 0;
    }

    .nav-mobile-toggle.is-open span:nth-child(3) {
      transform: translateY(-7px) rotate(-45deg);
    }

    .mobile-menu {
      display: none;
      position: fixed;
      top: 74px;
      left: 0;
      right: 0;
      max-height: calc(100vh - 74px);
      overflow-y: auto;
      flex-direction: column;
      background: #fff;
      border-top: 1px solid var(--border);
      box-shadow: 0 18px 32px rgba(32, 35, 38, 0.12);
      z-index: 99;
      padding: 8px 0 18px;
    }

    .mobile-menu.is-open {
      display: flex;
    }

    .mobile-menu a {
      padding: 15px 24px;
      font-size: 15px;
      color: var(--text-strong);
      border-bottom: 1px solid rgba(32, 35, 38, 0.06);
    }

    .mobile-menu a.mobile-menu-sub {
      padding-left: 40px;
      font-size: 14px;
      font-weight: 500;
      color: var(--text-muted);
    }

    .mobile-menu a.mobile-menu-cta {
      margin: 12px 24px 0;
      border-bottom: none;
      border-radius: 999px;
      background: var(--brand-red);
      color: #fff;
      text-align: center;
    }

    .hero {
      min-height: 100vh;
      display: flex;
      align-items: center;
      position: relative;
      overflow: hidden;
      color: #fff;
      background-size: cover;
      background-position: center 48%;
    }

    .hero::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(90deg, rgba(8,10,11,0.78) 0%, rgba(8,10,11,0.66) 32%, rgba(8,10,11,0.38) 58%, rgba(8,10,11,0.10) 100%),
        linear-gradient(180deg, rgba(8,10,11,0.08) 0%, rgba(8,10,11,0.12) 56%, rgba(8,10,11,0.42) 100%);
      pointer-events: none;
    }

    .hero-content {
      position: relative;
      z-index: 1;
      max-width: 720px;
      padding-top: 74px;
    }

    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 8px 14px;
      border: 1px solid rgba(255,255,255,0.32);
      background: rgba(255,255,255,0.09);
      font-size: 14px;
      margin-bottom: 24px;
    }

    .eyebrow::before {
      content: "";
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: var(--brand-red);
      box-shadow: 0 0 0 5px rgba(222,40,35,0.22);
    }

    h1 {
      margin: 0 0 34px;
    }

    .hero-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 14px;
      margin-bottom: 0;
    }

    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 48px;
      padding: 0 22px;
      transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
    }

    .btn:hover {
      transform: translateY(-2px);
    }

    .btn-primary {
      background: var(--brand-red);
      color: #fff;
    }

    .btn-secondary {
      background: rgba(255,255,255,0.14);
      border: 1px solid rgba(255,255,255,0.38);
      color: #fff;
    }

    section {
      padding: var(--section-padding) 0;
    }

    .section-soft {
      background: var(--bg-soft);
    }

    .section-dark {
      background: var(--bg-dark);
      color: #fff;
    }

    #culture,
    #contact {
    }

    .section-head {
      grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr);
      gap: 64px;
      align-items: center;
    }

    h2 {
      margin: 0;
    }

    .section-title-line {
      display: flex;
    }

    .section-desc {
      margin: 0;
      color: var(--text-muted);
    }

    .section-dark .section-desc {
      color: rgba(255,255,255,0.7);
    }

    /* 区块标题：标题与描述左对齐成组，避免被推向两端 */
    .section-head-balanced {
      grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
      align-items: center;
      gap: 72px;
    }

    .section-head-balanced h2 {
      max-width: 680px;
    }

    .section-head-balanced .section-desc {
    }

    .section-head-services h2 {
      max-width: 640px;
      word-break: keep-all;
      white-space: nowrap;
    }

    .section-head-services .section-desc {
      max-width: 720px;
    }

    #engineering-services .section-head .section-desc {
      max-width: 680px;
    }

    .case-card,
.article-card {
      transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
    }

    .case-card:hover,
.article-card:hover {
      border-color: rgba(222,40,35,0.24);
    }

    h3 {
      margin: 0 0 10px;
    }

    .card-text {
      margin: 0;
      color: var(--text-muted);
      font-size: 15px;
    }

    .case-body {
    }

    #engineering-services {
    }

    .case-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .case-card {
      position: relative;
      border-left: 4px solid var(--brand-red);
    }

    .case-card:focus-visible {
      outline: 2px solid var(--brand-red);
      outline-offset: 4px;
    }

    .case-card.is-highlighted {
      box-shadow: 0 0 0 3px rgba(222, 40, 35, 0.16), 0 16px 38px rgba(32, 35, 38, 0.07);
      transition: box-shadow 0.3s ease;
    }

    .case-card:first-child {
      grid-column: 1 / -1;
      display: grid;
      grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
    }

    .case-card:first-child .card-image {
      height: 100%;
      min-height: 440px;
    }

    .case-card:first-child .case-body {
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 32px 34px;
    }

    .case-card:first-child h3 {
      font-size: 26px;
    }

    .case-card:not(:first-child) .card-image {
      height: auto;
      aspect-ratio: 3 / 2;
    }

    .case-body {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
    }

    .case-kicker {
      display: flex;
      align-items: center;
      width: 100%;
      min-height: 30px;
      margin-bottom: 19px;
      padding: 0 10px;
      border-radius: 2px;
      background: rgba(222, 40, 35, 0.08);
      color: var(--brand-red);
      font-family: var(--font-mono);
    }

    .case-body h3 {
      margin-bottom: 0;
    }

    .case-title-rule {
      width: 46px;
      height: 4px;
      margin: 20px 0 20px;
      border-radius: 999px;
      background: rgba(222, 40, 35, 0.55);
    }

    .case-read-more {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 46px;
      margin-top: 24px;
      padding: 0 22px;
      background: var(--brand-red);
      color: #fff;
      font-size: 14px;
      box-shadow: 0 12px 26px rgba(222, 40, 35, 0.22);
      transition: transform 0.2s ease, box-shadow 0.2s ease;
      cursor: pointer;
      list-style: none;
    }

    .case-read-more::-webkit-details-marker {
      display: none;
    }

    .case-read-more::before {
      content: none;
    }

    .case-card:hover .case-read-more {
      transform: translateY(-2px);
      box-shadow: 0 16px 30px rgba(222, 40, 35, 0.3);
    }

    .article-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      border-top: 1px solid var(--border);
      border-bottom: 1px solid var(--border);
    }

    .article-card {
      min-height: 230px;
      padding: 30px 0;
      cursor: pointer;
      border: 0;
      background: transparent;
      overflow: visible;
    }

    .article-card:nth-child(odd) {
      padding-right: 34px;
    }

    .article-card:nth-child(even) {
      padding-left: 34px;
      border-left: 1px solid var(--border);
    }

    .article-card:nth-child(-n + 2) {
      border-bottom: 1px solid var(--border);
    }

    .article-card:hover {
      background: rgba(222, 40, 35, 0.025);
    }

    .article-card:focus-visible {
      outline: 2px solid var(--brand-red);
      outline-offset: 4px;
    }

    .article-type {
      color: var(--brand-red-text);
      font-size: 13px;
      font-weight: 900;
      margin-bottom: 12px;
    }

    .article-read-more {
      display: inline-flex;
      align-items: center;
      gap: 4px;
      margin-top: 14px;
      font-size: 13px;
      color: var(--brand-red);
    }

    .article-read-more svg {
      transition: transform 0.2s ease;
    }

    .article-card:hover .article-read-more svg {
      transform: translateX(3px);
    }

    /* === 详情视图基础结构 === */
    .article-modal-overlay {
      position: fixed;
      top: 74px;
      right: 0;
      bottom: 0;
      left: 0;
      overflow-y: auto;
      background: #fff;
      z-index: 200;
      display: block;
      visibility: hidden;
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.3s ease, visibility 0s ease 0.3s;
    }

    .article-modal-overlay > * {
      transform: translateY(12px);
      transition: transform 0.3s ease;
    }

    .article-modal-overlay.is-open {
      visibility: visible;
      opacity: 1;
      pointer-events: auto;
      transition: opacity 0.3s ease, visibility 0s ease 0s;
    }

    .article-modal-overlay.is-open > * {
      transform: none;
    }

    .article-modal {
      position: relative;
      width: min(900px, calc(100% - 48px));
      max-width: none;
      max-height: none;
      margin: 0 auto;
      padding: 56px 0 104px;
      overflow: visible;
      background: #fff;
      border-radius: 0;
      box-shadow: none;
    }

    .article-modal-close {
      position: static;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: auto;
      min-height: 44px;
      margin: 0 0 58px;
      padding: 0 16px;
      border: 1px solid var(--border);
      background: #fff;
      color: var(--text-strong);
      cursor: pointer;
      font-size: 14px;
      line-height: 1.2;
      transition: background 0.15s ease, color 0.15s ease;
    }

    .article-modal-close:hover {
      background: rgba(222, 40, 35, 0.08);
      color: var(--brand-red);
    }

    .article-modal-type {
      color: var(--brand-red);
      font-size: 13px;
      font-weight: 900;
      margin-bottom: 10px;
    }

    .article-modal h2 {
      max-width: 860px;
      margin: 0 0 36px;
      font-size: clamp(36px, 4.2vw, 54px);
      line-height: 1.2;
    }

    .article-modal-body p {
      margin: 0 0 22px;
      font-size: 17px;
      line-height: 1.92;
      color: var(--text-strong);
    }

    .article-modal-body p:last-child {
      margin-bottom: 0;
    }

    @media (max-width: 980px) {
      .article-modal-overlay {
        top: 64px;
      }
    }

    @media (max-width: 640px) {
      .article-modal-overlay {
        top: 60px;
      }

      .article-modal {
        width: calc(100% - 40px);
        padding: 34px 0 72px;
      }

      .article-modal-close {
        margin-bottom: 40px;
      }

      .article-modal h2 {
        margin-bottom: 28px;
        font-size: 34px;
        line-height: 1.24;
      }

      .article-modal-body p {
        font-size: 16px;
        line-height: 1.86;
      }
    }

    .about-intro {
      margin-top: 0;
    }

    .about-layout {
      display: grid;
      grid-template-columns: 1fr;
      gap: 32px;
      align-items: start;
    }

    .contact-box {
      border-radius: var(--radius-panel);
      padding: 38px;
      background: rgba(255,255,255,0.07);
      border: 1px solid rgba(255,255,255,0.12);
    }

    .about-intro p,
    .contact-box p {
      color: rgba(255,255,255,0.72);
      margin: 0 0 18px; /* ⚠ 对 .about-intro p 无效：被第 1415 行覆盖 */
    }

    .about-intro p {
      font-size: 15px;
      line-height: 1.85;
      margin: 0;
      padding: 30px 32px;
    }

    .about-intro p + p {
      border-left: 1px solid rgba(255,255,255,0.1);
    }

    .culture-wrap > .section-title-line,
    .contact-box > .section-title-line {
      margin-bottom: 32px;
    }

    .safety-culture {
      background:
        radial-gradient(circle at 92% 8%, rgba(222,40,35,0.16), transparent 30%),
        linear-gradient(180deg, rgba(23,25,27,0.84), rgba(23,25,27,0.88)),
        url(images/bg-safety-culture.jpg) center / cover no-repeat;
      color: #fff;
    }

    .safety-culture .section-desc {
      color: rgba(255,255,255,0.7);
    }

    .safety-culture-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .safety-culture-card {
      min-height: 220px;
      padding: 30px 28px;
      border: 1px solid rgba(255,255,255,0.13);
      background: rgba(255,255,255,0.055);
      transition: transform 0.25s ease, border-color 0.25s ease, background 0.25s ease;
    }

    .safety-culture-card:hover {
      border-color: rgba(222,40,35,0.5);
      background: rgba(255,255,255,0.075);
    }

    .safety-culture-card h3 {
    }

    .safety-culture-card p {
    }

    .about-intro p:last-child {
      margin-bottom: 0;
    }

    .culture-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
      align-items: stretch;
    }

    .culture-card {
      padding: 26px 24px;
      background: rgba(255,255,255,0.06);
      border: 1px solid rgba(255,255,255,0.14);
      transition: border-color 0.25s ease, background 0.25s ease, transform 0.25s ease;
    }

    .culture-card:hover {
      border-color: rgba(222,40,35,0.4);
      background: rgba(255,255,255,0.08);
    }

    .culture-card h3 {
      margin: 0 0 14px;
      color: #fff;
    }

    .culture-card p {
      margin: 0;
      line-height: 1.7;
      color: rgba(255,255,255,0.72);
    }

    .culture-values-list {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 10px 16px;
      margin-top: 14px;
      padding-top: 14px;
      border-top: 1px solid rgba(255,255,255,0.1);
    }

    .culture-values-list span {
      display: flex;
      flex-direction: column;
      gap: 2px;
      font-size: 16px;
      color: rgba(255,255,255,0.72);
      white-space: nowrap;
    }

    @media (max-width: 860px) {
      .culture-grid {
        grid-template-columns: 1fr;
      }

      .safety-culture-grid {
      }

      .safety-culture-card {
      }
    }

    .contact-inner {
      display: grid;
      grid-template-columns: 1.25fr 0.85fr;
      gap: 40px;
      align-items: stretch;
    }

    [hidden] {
      display: none;
    }

    .contact-info p {
    }

    .contact-list {
      display: grid;
      gap: 12px;
      margin: 24px 0 0;
    }

    .contact-item {
      display: flex;
      justify-content: space-between;
      gap: 16px;
      padding: 14px 0;
      border-bottom: 1px solid rgba(255,255,255,0.12);
      color: rgba(255,255,255,0.86);
    }

    .contact-item strong {
      flex: 0 0 auto;
      min-width: 76px;
      white-space: nowrap;
      color: #fff;
    }

    .contact-item span {
      text-align: right;
    }

    #about {
      padding: 78px 0;
    }

    #contact {
    }

    .footer {
      color: rgba(255,255,255,0.62);
      font-size: 14px;
    }

    .key-issues-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      position: relative;
      margin-top: 0;
      border-top: 1px solid var(--border);
    }

    .key-issue {
      position: relative;
      min-width: 0;
      padding: 34px 28px 30px;
      border-left: 0;
    }

    .key-issue::before {
      content: "";
      position: absolute;
      top: -5px;
      left: 28px;
      width: 9px;
      height: 9px;
      border-radius: 50%;
      background: var(--brand-red);
      box-shadow: 0 0 0 5px var(--bg-soft);
    }

    .key-issue-number {
      display: block;
      margin-bottom: 14px;
      color: var(--brand-red-text);
      font-size: 12px;
      font-weight: 900;
      letter-spacing: .08em;
    }

    #key-issues .section-head {
      margin-bottom: 30px;
    }

    .key-issue-head {
      margin-bottom: 12px;
    }

    .key-issue h3 {
      margin: 0;
    }

    .key-issue .card-text {
      max-width: 560px;
      font-size: 15px;
      line-height: 1.85;
    }

    .solution-groups {
      display: grid;
      gap: 16px;
    }

    .solution-group {
      border: 1px solid var(--border);
      background: #fff;
      overflow: hidden;
      transition: border-color .25s ease, box-shadow .25s ease;
    }

    .solution-group[open] {
      border-color: rgba(222, 40, 35, .3);
      box-shadow: var(--card-shadow);
    }

    .solution-group.is-highlighted {
      border-color: var(--brand-red);
      box-shadow: 0 0 0 3px rgba(222, 40, 35, .14), var(--card-shadow);
    }

    .solution-group summary {
      display: grid;
      grid-template-columns: 58px minmax(0, 1fr) 32px;
      gap: 22px;
      align-items: center;
      padding: 28px 30px;
      cursor: pointer;
      list-style: none;
    }

    .solution-group summary::-webkit-details-marker {
      display: none;
    }

    .solution-number {
      color: var(--brand-red);
      font-family: var(--font-mono);
    }

    .solution-heading {
      display: grid;
      grid-template-columns: minmax(130px, .32fr) minmax(0, 1fr);
      gap: 30px;
      align-items: baseline;
    }

    .solution-heading strong {
      font-size: clamp(24px, 2.1vw, 32px);
    }

    .solution-heading em {
      color: var(--text-muted);
      font-size: 15px;
      font-style: normal;
    }

    .solution-toggle {
      position: relative;
      width: 28px;
      height: 28px;
      border-radius: 50%;
      background: rgba(222, 40, 35, .08);
    }

    .solution-toggle::before,
    .solution-toggle::after {
      content: "";
      position: absolute;
      left: 8px;
      right: 8px;
      top: 13px;
      height: 2px;
      background: var(--brand-red);
    }

    .solution-toggle::after {
      transform: rotate(90deg);
      transition: transform .2s ease;
    }

    .solution-group[open] .solution-toggle::after {
      transform: rotate(0);
    }

    .solution-items {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      margin: 0 30px 30px;
      border: 1px solid var(--border);
      border-radius: var(--radius-card);
      overflow: hidden;
      background: var(--border);
    }

    .solution-item {
      min-height: 228px;
      padding: 25px 24px;
      background: var(--bg-soft);
    }

    .solution-item span {
      display: inline-flex;
      margin-bottom: 10px;
      color: var(--brand-red);
      font-size: 12px;
      font-weight: 900;
      letter-spacing: .04em;
    }

    .solution-item h3 {
      margin-bottom: 10px;
    }

    .solution-item p {
      margin: 0;
      color: var(--text-muted);
    }

    .solution-item[data-solution-id] {
      position: relative;
      padding-bottom: 58px;
      cursor: pointer;
      transition: background .25s ease, box-shadow .25s ease, transform .25s ease;
    }

    .solution-item[data-solution-id]::after {
      content: "查看详情  ↗";
      position: absolute;
      left: 24px;
      bottom: 24px;
      color: var(--brand-red);
      font-size: 13px;
      font-weight: 800;
      letter-spacing: .02em;
    }

    @media (hover: hover) and (pointer: fine) {
      .solution-item[data-solution-id]:hover {
        z-index: 1;
        background: #fff;
        box-shadow: 0 18px 38px rgba(18, 18, 18, .10);
        transform: translateY(-3px);
      }
    }

    .solution-item.solution-item--visual {
      min-height: 0;
      padding: 0 24px 64px;
      background: #fff;
      overflow: hidden;
    }

    .solution-item--visual .solution-item-image {
      display: block;
      width: calc(100% + 48px);
      max-width: none;
      height: auto;
      aspect-ratio: 16 / 10;
      margin: 0 -24px 22px;
      object-fit: cover;
      object-position: center;
      background: #E9EBED;
      filter: grayscale(.14);
      transition: filter .3s ease, transform .35s ease;
    }

    .solution-item--visual::after {
      bottom: 24px;
    }

    @media (hover: hover) and (pointer: fine) {
      .solution-item--visual:hover .solution-item-image {
        filter: grayscale(0);
        transform: scale(1.015);
      }
    }

    .solution-modal-overlay {
      position: fixed;
      top: 74px;
      right: 0;
      bottom: 0;
      left: 0;
      z-index: 200;
      display: block;
      visibility: hidden;
      opacity: 0;
      pointer-events: none;
      overflow-y: auto;
      background: #fff;
      transition: opacity 0.3s ease, visibility 0s ease 0.3s;
    }

    .solution-modal-overlay > * {
      transform: translateY(12px);
      transition: transform 0.3s ease;
    }

    .solution-modal-overlay.is-open {
      visibility: visible;
      opacity: 1;
      pointer-events: auto;
      transition: opacity 0.3s ease, visibility 0s ease 0s;
    }

    .solution-modal-overlay.is-open > * {
      transform: none;
    }

    .solution-modal {
      position: relative;
      display: grid;
      grid-template-columns: minmax(0, .92fr) minmax(520px, 1.08fr);
      gap: clamp(56px, 6vw, 104px);
      width: min(1440px, calc(100% - 96px));
      min-height: 100%;
      margin: 0 auto;
      background: #fff;
    }

    .solution-modal-media {
      grid-column: 2;
      grid-row: 1;
      height: min(720px, calc(100svh - 194px));
      min-height: 520px;
      margin: 60px 0;
      overflow: hidden;
      background: #EBEDEF;
    }

    .solution-modal-media img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      filter: none;
    }

    .solution-modal-content {
      grid-column: 1;
      grid-row: 1;
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
      padding: 64px 0 80px;
    }

    /* 热区扩至 44px：视觉尺寸只有 95x19，加 padding 会下推整个弹窗内容，
       故用伪元素向外撑开可点区域，不影响布局。 */
    .solution-modal-back::after {
      content: '';
      position: absolute;
      inset: -13px -10px;
    }
    /* 同上：视觉尺寸 74x20，用伪元素把热区撑到 44px。
       与 .solution-modal-back 同处一个弹窗，此前漏了这一个。 */
    #solution-modal-related-button {
      position: relative;
    }
    #solution-modal-related-button::after {
      content: '';
      position: absolute;
      inset: -12px -10px;
    }

    .solution-modal-back {
      position: relative;
      align-self: flex-start;
      margin: 0 0 34px;
      padding: 0;
      border: 0;
      color: var(--brand-red);
      background: transparent;
      font-size: 13px;
      cursor: pointer;
      transition: transform .2s ease;
    }

    .solution-modal-back:hover {
      transform: translateX(-3px);
    }

    .solution-modal-tag {
      margin-bottom: 20px;
      color: #747980;
      font-size: 12px;
      font-weight: 800;
      letter-spacing: .08em;
    }

    .solution-modal h3 {
      margin: 0 0 34px;
      color: var(--text-strong);
      font-size: clamp(44px, 4.2vw, 64px);
      line-height: 1.12;
    }

    .solution-modal p {
      margin: 0;
      color: var(--text-muted);
      font-size: 17px;
      line-height: 1.92;
    }

    .solution-modal .solution-modal-lead {
      margin-bottom: 20px;
      color: var(--text-strong);
      font-size: 20px;
      font-weight: 650;
      line-height: 1.65;
    }

    .solution-modal-points {
      margin-top: 30px;
      padding-top: 24px;
      border-top: 1px solid var(--border);
    }

    .solution-modal-points > span {
      color: var(--brand-red);
      font-size: 12px;
      font-weight: 800;
      letter-spacing: .08em;
    }

    .solution-modal-points ul {
      display: grid;
      gap: 10px;
      margin: 16px 0 0;
      padding: 0;
      list-style: none;
    }

    .solution-modal-points li {
      position: relative;
      padding-left: 18px;
      color: var(--text-strong);
      font-size: 15px;
      line-height: 1.65;
    }

    .solution-modal-points li::before {
      content: "";
      position: absolute;
      top: .72em;
      left: 0;
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: var(--brand-red);
    }

    @media (max-width: 760px) {
      .solution-modal-overlay {
        top: 74px;
      }

      .solution-modal {
        display: flex;
        flex-direction: column;
        gap: 0;
        width: 100%;
        min-height: 100%;
      }

      .solution-modal-media {
        order: 2;
        width: calc(100% - 40px);
        height: 380px;
        min-height: 0;
        margin: 0 20px 28px;
      }

      .solution-modal-media img {
        min-height: 0;
      }

      .solution-modal-content {
        order: 1;
        padding: 34px 24px 38px;
      }

      .solution-modal-back {
        margin-bottom: 26px;
      }

      .solution-modal h3 {
        margin-bottom: 22px;
        font-size: 38px;
      }

      .solution-modal p {
        font-size: 15px;
        line-height: 1.82;
      }

      .solution-modal .solution-modal-lead {
        margin-bottom: 16px;
        font-size: 17px;
        line-height: 1.65;
      }

      .solution-modal-points {
        margin-top: 24px;
        padding-top: 20px;
      }
    }

    @media (max-width: 640px) {
      .solution-modal-overlay {
        top: 60px;
      }
    }

    .solution-items-rope {
      grid-template-columns: 1fr;
    }

    .solution-items-rope .solution-item {
      min-height: auto;
    }

    @media (max-width: 1180px) and (min-width: 981px) {
    }

    @media (max-width: 980px) {
      :root {
        --section-padding: 72px;
      }

      .nav-links {
        display: none;
      }

      .nav-mobile-toggle {
        display: inline-flex;
      }

      .hero {
        min-height: max(680px, calc(100svh - 74px));
        align-items: center;
        padding-bottom: 0;
        background-size: cover;
        background-position: center center;
      }

      .case-grid,
.article-grid,
.section-head,
.contact-inner {
        grid-template-columns: 1fr;
      }

      .key-issues-grid {
        grid-template-columns: 1fr;
        margin-top: 0;
        border-top: 0;
      }

      .key-issue,
      .key-issue:first-child {
        padding: 26px 0 28px 28px;
        border-top: 1px solid var(--border);
        border-left: 0;
      }

      .key-issue::before {
        top: -5px;
        left: 0;
      }

      .key-issue-number {
        margin-bottom: 12px;
      }

      .case-card:first-child {
        grid-column: auto;
        display: block;
      }

      .case-card:first-child .card-image,
      .case-card:not(:first-child) .card-image {
        width: 100%;
        height: auto;
        min-height: 0;
        aspect-ratio: 3 / 2;
      }

      .case-card:first-child .case-body {
        display: block;
        padding: 24px;
      }

      .case-card:first-child h3 {
        font-size: 22px;
      }

      .article-card,
      .article-card:nth-child(odd),
      .article-card:nth-child(even) {
        min-height: 0;
        padding: 26px 0;
        border-left: 0;
        border-bottom: 1px solid var(--border);
      }

      .article-card:last-child {
        border-bottom: 0;
      }

      .about-layout {
        grid-template-columns: 1fr;
        gap: 24px;
        align-items: start;
      }

      #about {
        padding: 72px 0;
      }

      #company-intro {
        grid-template-columns: 1fr;
        padding: 0;
      }

      .about-intro p {
        padding: 24px 22px;
      }

      .about-intro p + p {
        border-top: 1px solid rgba(255,255,255,0.1);
        border-left: 0;
      }

      #engineering-services {
        padding-bottom: 56px;
      }

      .section-head {
        gap: 16px;
      }

      .section-head-balanced {
        grid-template-columns: 1fr;
      }

      .section-head-balanced .section-desc {
        padding-left: 0;
        border-left: none;
      }

      .section-head-services h2 {
        white-space: normal;
      }
    }

    @media (max-width: 640px) {
      .container {
        width: min(100% - 32px, var(--container));
      }

      .solution-group summary {
        grid-template-columns: 42px minmax(0, 1fr) 28px;
        gap: 12px;
        padding: 22px 18px;
      }

      .solution-heading {
        grid-template-columns: 1fr;
        gap: 5px;
      }

      .solution-heading strong {
        font-size: 23px;
      }

      .solution-heading em {
        font-size: 13.5px;
        line-height: 1.65;
      }

      .solution-items {
        grid-template-columns: 1fr;
        margin: 0 18px 20px;
      }

      .solution-item {
        min-height: auto;
        padding: 22px 20px;
      }

      .topbar {
        position: fixed;
      }

      .nav {
      }

      .brand-logo {
      }

      .hero {
        padding-bottom: 0;
      }

      .hero-content {
        padding-top: clamp(88px, 14svh, 112px);
        padding-bottom: 56px;
      }

      .eyebrow {
      }

      h1 {
        margin-bottom: 30px;
      }

      .hero-actions {
      }

      .btn {
        width: 100%;
      }

      section {
        padding: 60px 0;
      }

      #about {
        padding: 60px 0;
      }

      .section-head {
        gap: 14px;
      }

      h2 {
      }

      .section-desc {
        font-size: 15px;
        line-height: 1.8;
      }

      .culture-wrap > .section-title-line,
      .contact-box > .section-title-line {
        margin-bottom: 26px;
      }

      .case-body,
.article-card,
.contact-box {
        padding: 22px;
      }

      .contact-item {
        display: block;
      }

      .contact-item span {
        display: block;
        margin-top: 6px;
        text-align: left;
        line-height: 1.7;
      }

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

      .culture-values-list span {
        white-space: normal;
      }

      .case-card:first-child .card-image,
      .case-card:not(:first-child) .card-image {
        aspect-ratio: 4 / 3;
      }

      .case-card:first-child .case-body {
        padding: 22px;
      }

      .article-card,
      .article-card:nth-child(odd),
      .article-card:nth-child(even) {
        padding: 24px 0;
      }

      body {
        padding-bottom: 68px;
      }
    }

    :focus-visible {
      outline: 2px solid var(--brand-red);
      outline-offset: 2px;
      border-radius: 4px;
    }

    @media (prefers-reduced-motion: reduce) {
      html {
        scroll-behavior: auto;
      }
      *,
      *::before,
      *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
      }
    }

    /* 最终组件：项目案例采用图像主导的深色卡片；技术与洞察采用编辑型阅读卡片 */
    #cases .case-grid {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    #cases .case-card,
    #cases .case-card:first-child {
      grid-column: auto;
      display: block;
      border: 0;
      background: var(--case-dark);
      overflow: hidden;
    }

    #cases .case-card:hover {
      border-color: transparent;
    }

    #cases .case-card .card-image,
    #cases .case-card:first-child .card-image,
    #cases .case-card:not(:first-child) .card-image {
      width: 100%;
      height: auto;
      min-height: 0;
      object-fit: cover;
      background: #fff;
    }

    #cases .case-body,
    #cases .case-card:first-child .case-body {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      justify-content: flex-start;
    }

    #cases .case-kicker {
      display: inline-flex;
      align-items: center;
      width: auto;
      margin: 0 0 18px;
      border: 1px solid rgba(255,255,255,0.18);
      border-radius: var(--radius-pill);
      background: rgba(222, 40, 35, 0.24);
      color: #fff;
      font-family: var(--font-mono);
      letter-spacing: 0.09em;
    }

    #cases .case-title-rule {
      display: none;
    }

    #cases .case-card h3,
    #cases .case-card:first-child h3 {
      margin: 0 0 17px;
      color: #fff;
    }

    #cases .case-card .card-text {
      color: rgba(255,255,255,0.72);
    }

    #cases .case-read-more {
      background: var(--brand-red);
    }

    #cases .case-view-project {
      gap: 9px;
      border: 0;
    }

    #cases .case-view-project::before {
      content: none;
    }

    #case-modal-overlay .case-modal {
      width: 100%;
      max-width: none;
      margin: 0;
      padding: 0 0 112px;
      overflow: visible;
    }

    #case-modal-overlay .article-modal-close {
      display: flex;
      width: min(1220px, calc(100% - 64px));
      margin: 0 auto;
      padding-top: 34px;
      padding-bottom: 28px;
      min-height: 0;
      justify-content: flex-start;
      border: 0;
      border-radius: 0;
      background: transparent;
      color: var(--text-strong);
      box-shadow: none;
    }

    #case-modal-overlay .case-modal-hero {
      width: min(1440px, 100%);
      height: clamp(320px, 38vw, 520px);
      margin: 0 auto;
      aspect-ratio: auto;
      overflow: hidden;
      background: #EBEDEF;
    }

    #case-modal-overlay .case-modal-hero img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    #case-modal-overlay .case-modal-intro,
    #case-modal-overlay .article-modal-body {
      width: min(900px, calc(100% - 64px));
      margin-right: auto;
      margin-left: auto;
      padding-right: 0;
      padding-left: 0;
    }

    #case-modal-overlay .case-modal-intro {
      padding-top: 54px;
    }

    #case-modal-overlay .article-modal-type {
      margin-bottom: 12px;
    }

    #case-modal-overlay .case-modal h2 {
      max-width: 780px;
      margin: 0 0 20px;
      font-size: clamp(38px, 4.2vw, 56px);
      line-height: 1.18;
    }

    #case-modal-overlay .case-modal-summary {
      max-width: 760px;
      margin: 0;
      color: var(--text-muted);
      font-size: 16px;
      line-height: 1.82;
    }

    #case-modal-overlay .article-modal-body {
      margin-top: 42px;
    }

    /* G241 案例：完整项目叙事页 */
    #case-modal-overlay .case-modal-featured {
      display: flex;
      flex-direction: column;
    }

    #case-modal-overlay .case-modal-featured .article-modal-close {
      order: 1;
    }

    #case-modal-overlay .case-modal-featured .case-modal-intro {
      order: 2;
    }

    #case-modal-overlay .case-modal-featured .case-modal-hero {
      order: 3;
      width: min(1440px, 100%);
      height: clamp(420px, 48vw, 680px);
    }

    #case-modal-overlay .case-modal-featured .article-modal-body {
      order: 4;
      margin-top: 0;
    }

    #case-modal-overlay .case-modal-featured .article-modal-type {
      margin-bottom: 18px;
      font-size: 13px;
      letter-spacing: 0.08em;
    }

    #case-modal-overlay .case-modal-featured h1 {
      margin-bottom: 24px;
      line-height: 1.12;
    }

    #case-modal-overlay .case-modal-featured .case-modal-summary {
      color: var(--text-strong);
      line-height: 1.75;
    }

    .solution-case-link {
      width: 100%;
      margin-top: 18px;
      padding: 18px 20px;
      border: 1px solid var(--border);
      background: #fff;
      display: grid;
      grid-template-columns: auto minmax(0, 1fr) auto;
      align-items: center;
      gap: 16px;
      color: var(--text-strong);
      text-align: left;
      cursor: pointer;
      box-shadow: var(--shadow-card);
      transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
    }

    .solution-case-link:hover {
      border-color: rgba(222,40,35,0.28);
      box-shadow: var(--shadow-elevated);
      transform: translateY(-2px);
    }

    .solution-case-link > span,
    .solution-modal-related > span {
      color: var(--brand-red);
      font-size: 12px;
      font-weight: 800;
      letter-spacing: .08em;
    }

    .solution-case-link > strong {
      font-size: 15px;
      line-height: 1.55;
    }

    .solution-case-link > em {
      color: var(--brand-red);
      font-size: 13px;
      font-style: normal;
      font-weight: 800;
      white-space: nowrap;
    }

    @media (max-width: 760px) {
    }

    .solution-modal-related {
      margin-top: 38px;
      padding-top: 24px;
      border-top: 1px solid var(--border);
    }

    .solution-modal-related[hidden] {
      display: none;
    }

    .solution-modal-related strong {
      display: block;
      margin: 10px 0 16px;
      color: var(--text-strong);
      font-size: 17px;
      line-height: 1.55;
    }

    .solution-modal-related button {
      padding: 0;
      border: 0;
      background: transparent;
      color: var(--brand-red);
      font-size: 14px;
      font-weight: 800;
      cursor: pointer;
    }

    @media (max-width: 640px) {
      #case-modal-overlay .case-modal {
        padding-bottom: 72px;
      }

      #case-modal-overlay .case-modal-hero {
        height: auto;
        aspect-ratio: 4 / 3;
      }

      #case-modal-overlay .article-modal-close {
        width: calc(100% - 40px);
        padding-top: 24px;
        padding-bottom: 22px;
      }

      #case-modal-overlay .case-modal-intro,
      #case-modal-overlay .article-modal-body {
        width: calc(100% - 40px);
      }

      #case-modal-overlay .case-modal-intro {
        padding-top: 36px;
      }

      #case-modal-overlay .case-modal h2 {
        font-size: 34px;
        line-height: 1.24;
      }

      #case-modal-overlay .case-modal-summary {
        font-size: 15px;
      }

      #case-modal-overlay .case-modal-featured .case-modal-intro,
      #case-modal-overlay .case-modal-featured .article-modal-body {
        width: calc(100% - 40px);
      }

      #case-modal-overlay .case-modal-featured .case-modal-intro {
        padding: 22px 0 38px;
      }

      #case-modal-overlay .case-modal-featured .case-modal-hero {
        height: auto;
        aspect-ratio: 4 / 3;
      }

      #case-modal-overlay .case-modal-featured .article-modal-body {
        padding-top: 48px;
      }

      #case-modal-overlay .case-modal-featured h1 {
        font-size: 38px;
      }

      #case-modal-overlay .case-modal-featured .case-modal-summary {
        font-size: 16px;
      }

      .solution-case-link {
        grid-template-columns: 1fr;
        gap: 7px;
      }
    }

    /* G241 案例：统一的单栏阅读节奏 */
    #case-modal-overlay .case-modal-featured .case-modal-intro,
    #case-modal-overlay .case-modal-featured .article-modal-body {
      width: min(920px, calc(100% - 64px));
    }

    #case-modal-overlay .case-modal-featured .article-modal-close {
      width: min(920px, calc(100% - 64px));
      padding-top: 26px;
      padding-bottom: 14px;
    }

    #case-modal-overlay .case-modal-featured .case-modal-intro {
      padding: 14px 0 28px;
    }

    #case-modal-overlay .case-modal-featured h1 {
      max-width: 880px;
      font-size: clamp(40px, 4vw, 52px);
    }

    #case-modal-overlay .case-modal-featured .case-modal-summary {
      max-width: 720px;
      font-size: 16px;
    }

    #case-modal-overlay .case-modal-featured .case-modal-hero {
      display: none;
    }

    #case-modal-overlay .case-modal-featured .article-modal-body {
      padding-top: 12px;
    }

    @media (max-width: 760px) {
      #case-modal-overlay .case-modal-featured .case-modal-intro,
      #case-modal-overlay .case-modal-featured .article-modal-body {
        width: calc(100% - 40px);
      }

      #case-modal-overlay .case-modal-featured .article-modal-close {
        width: calc(100% - 40px);
        padding-top: 20px;
        padding-bottom: 12px;
      }

      #case-modal-overlay .case-modal-featured h1 {
        font-size: 34px;
      }
    }

    

    /* 两列项目信息：同步每一行的左右内边距与分隔线 */
    @media (min-width: 761px) and (max-width: 900px) {
    }

    

    /* 案例详情：现场记录为奇数张时，末张通栏 */
    @media (min-width: 761px) {
    }

    /* 案例详情：相关方案入口 */
    #case-modal-overlay .case-related-solution {
      margin-top: 44px;
    }

    /* 项目信息行：窄屏保持两列，避免四行堆叠过长 */
    @media (max-width: 520px) {
    }

    @media (max-width: 640px) {

      #case-modal-overlay .case-related-solution {
        margin-top: 34px;
      }
    }

    #insights .article-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      border: 0;
    }

    #insights .article-card,
    #insights .article-card:nth-child(odd),
    #insights .article-card:nth-child(even) {
      --article-accent: var(--brand-red);
      --article-tint: rgba(222, 40, 35, 0.08);
      --article-label: var(--brand-red-text);
      position: relative;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      border: 1px solid var(--border);
      border-left: 4px solid var(--article-accent);
      background: #fff;
      overflow: hidden;
    }

    #insights .article-card:nth-child(-n + 2) {
      border-bottom: 1px solid var(--border);
    }

    #insights .article-card:hover {
      background: #fff;
      border-color: rgba(222,40,35,0.24);
      border-left-color: var(--article-accent);
    }

    #insights .article-type {
      align-items: center;
      margin: 0 0 25px;
      background: var(--article-tint);
      color: var(--article-label);
      font-family: var(--font-mono);
      letter-spacing: 0.1em;
    }

    #insights .article-card h3 {
      margin: 0;
    }

    #insights .article-card h3::after {
      content: "";
      display: block;
      border-radius: var(--radius-pill);
      background: var(--article-accent);
      opacity: 0.72;
    }

    #insights .article-card .card-text {
      color: var(--text-muted);
    }

    #insights .article-read-more {
    }

    #insights .article-read-more svg {
      display: none;
    }

    #culture,
    #contact {
      border-top: 1px solid rgba(255,255,255,0.08); /* ⚠ 对 #culture 无效：被第 6089 行覆盖 */
    }

    @media (max-width: 1100px) {
      #cases .case-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }

    @media (max-width: 760px) {
      #cases .case-grid,
      #insights .article-grid {
        grid-template-columns: 1fr;
      }

      #cases .case-card,
      #cases .case-card:first-child {
        padding: 16px;
        border-radius: var(--radius-card);
      }

      #cases .case-body,
      #cases .case-card:first-child .case-body {
        padding: 24px 4px 5px;
      }

      #insights .article-card,
      #insights .article-card:nth-child(odd),
      #insights .article-card:nth-child(even) {
        min-height: 0;
        padding: 26px 24px;
        border: 1px solid var(--border);
        border-left: 4px solid var(--article-accent);
        border-radius: var(--radius-card);
      }

      #insights .article-read-more {
        margin-top: 24px;
      }
    }
    /* 字体体系：字号档位收敛，兼顾中文与移动端可读性 */
    body {
    }

    .nav-links {
      font-size: 14px;
      font-weight: 500;
    }

    h1 {
      font-size: clamp(42px, 5.3vw, 64px);
      line-height: 1.1;
    }

    h2 {
      font-size: clamp(34px, 3vw, 44px);
      line-height: 1.2;
    }

    h3,
.key-issue h3,
.solution-item h3 {
      font-size: 22px; /* ⚠ 对 .solution-item h3 无效：被第 6338 行覆盖 */
      line-height: 1.45; /* ⚠ 对 .solution-item h3 无效：被第 6339 行覆盖 */
    }

    #cases .case-kicker,
#insights .article-type {
      line-height: 1.25;
      font-weight: 700; /* ⚠ 对 #cases .case-kicker 无效：被第 6287 行覆盖 */
    }

    .section-desc,
.solution-item p,
#cases .case-card .card-text,
#insights .article-card .card-text,
.article-modal p {
      font-size: 16px; /* ⚠ 对 #cases .case-card .card-text、#insights .article-card .card-text 无效：被第 4403 行覆盖 */
      line-height: 1.78; /* ⚠ 对 #cases .case-card .card-text、#insights .article-card .card-text 无效：被第 4404 行覆盖 */
      font-weight: 400;
    }

    #cases .case-card h3,
    #cases .case-card:first-child h3 {
    }

    #insights .article-card h3 {
    }

    .article-modal h3 {
      font-size: 24px;
      line-height: 1.4;
    }

    .btn,
    #cases .case-read-more,
    #insights .article-read-more {
      font-size: 15px; /* ⚠ 对 #cases .case-read-more、#insights .article-read-more 无效：被第 4414 行覆盖 */
      font-weight: 700; /* ⚠ 对 #cases .case-read-more、.btn 无效：被第 6399 行覆盖 */
    }

    @media (max-width: 640px) {
      h1 {
        font-size: clamp(38px, 10.5vw, 42px);
        line-height: 1.12;
      }

      h2 {
        font-size: clamp(30px, 8.3vw, 32px);
        line-height: 1.22;
      }

      h3,
.key-issue h3,
.solution-item h3 {
        font-size: 20px;
      }

      #cases .case-card h3,
      #cases .case-card:first-child h3,
      #insights .article-card h3 {
      }
    }

    /* 移动端首屏：图片主导、单一主行动、紧凑信息层级 */
    @media (max-width: 640px) {
      .topbar {
        background: rgba(255,255,255,0.96);
        border-bottom-color: rgba(32,35,38,0.05);
        box-shadow: none;
      }

      .nav {
        height: 60px;
      }

      .brand-logo {
        height: 30px;
        max-width: 190px;
      }

      .nav-mobile-toggle {
        width: 44px;
        height: 44px;
      }

      .mobile-menu {
        top: 60px;
      }

      .hero {
        width: 100%;
        height: calc(100svh - 60px);
        min-height: 620px;
        max-height: 760px;
        align-items: flex-end;
        padding: 0;
        background-size: cover;
        background-position: 56% center;
      }

      .hero::before {
        background:
          linear-gradient(180deg, rgba(8,10,11,0.08) 0%, rgba(8,10,11,0.14) 30%, rgba(8,10,11,0.52) 66%, rgba(8,10,11,0.92) 100%),
          linear-gradient(90deg, rgba(8,10,11,0.40) 0%, rgba(8,10,11,0.08) 78%);
      }

      .hero-content {
        width: min(100% - 44px, var(--container));
        max-width: none;
        margin: 0 auto;
        padding: 0 0 42px;
      }

      .eyebrow {
        gap: 9px;
        margin: 0 0 17px;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        color: rgba(255,255,255,0.78);
        font-size: 12px;
        font-weight: 500;
        letter-spacing: 0.08em;
      }

      .eyebrow::before {
        width: 24px;
        height: 2px;
        border-radius: 0;
        box-shadow: none;
      }

      .hero h1 {
        max-width: 330px;
        margin: 0 0 15px;
        font-size: clamp(34px, 9.5vw, 38px);
        line-height: 1.15;
      }

      .hero-actions {
        flex-direction: row;
        align-items: center;
        gap: 18px;
      }

      .hero-actions .btn {
        width: auto;
        min-height: 46px;
        padding: 0 19px;
        border-radius: 8px;
        font-size: 14px;
      }

      .hero-actions .btn-primary {
        box-shadow: 0 10px 24px rgba(222,40,35,0.28);
      }

      .hero-actions .btn-secondary {
        min-height: 44px;
        padding: 0 2px;
        border: 0;
        border-radius: 0;
        background: transparent;
        color: rgba(255,255,255,0.88);
        font-weight: 700;
      }

      .hero-actions .btn-secondary::after {
        content: "→";
        margin-left: 7px;
        font-size: 17px;
        font-weight: 400;
        transition: transform 0.2s ease;
      }

      .hero-actions .btn-secondary:hover::after {
        transform: translateX(3px);
      }
    }

    /* 桌面端：图像节奏与编辑式信息层级 */
    @media (min-width: 981px) {
      :root {
        --container: 1220px;
        --section-padding: 104px;
      }

      .section-head {
        gap: 72px;
        margin-bottom: 62px;
      }
    }

    /* 项目案例：保留三列入口，降低容器重量，让图片成为主角 */
    #cases .case-grid {
      gap: 30px;
    }

    #cases .case-card,
    #cases .case-card:first-child {
      padding: 16px;
    }

    #cases .case-card:hover {
    }

    #cases .case-card .card-image,
    #cases .case-card:first-child .card-image,
    #cases .case-card:not(:first-child) .card-image {
      aspect-ratio: 3 / 2;
      border-radius: 14px;
      opacity: 0.82;
      filter: none;
      transition: opacity 0.38s ease, transform 0.38s ease;
    }

    #cases .case-card[data-case-key="x209"] .card-image {
      filter: contrast(1.12) saturate(1.08) brightness(0.96);
    }

    #cases .case-card[data-case-key="x209-active"] .card-image {
      filter: contrast(1.08) saturate(1.06) brightness(1.08);
      object-position: center 48%;
    }

    #cases .case-card[data-case-key="g108"] .card-image,
    #cases .case-card[data-case-key="g108-draped"] .card-image,
    #cases .case-card[data-case-key="x109"] .card-image {
      object-position: center 34%;
      filter: contrast(1.06) saturate(1.04) brightness(1.04);
      opacity: 0.9;
    }

    @media (hover: hover) and (pointer: fine) {
      #cases .case-card:hover .card-image,
      #cases .case-card:focus-within .card-image {
        opacity: 1;
        transform: scale(1.012);
      }
    }

    #cases .case-body,
    #cases .case-card:first-child .case-body {
      padding: 24px 6px 5px;
    }

    #cases .case-kicker {
      min-height: 26px;
      margin-bottom: 14px;
      padding: 0 10px;
      font-size: 11px;
    }

    #cases .case-card h3,
    #cases .case-card:first-child h3 {
      margin-bottom: 12px;
    }

    #cases .case-card .card-text {
      font-size: 15px;
      line-height: 1.72;
    }

    #cases .case-read-more {
      min-height: 44px;
      margin-top: 22px;
      padding: 0 19px;
      font-size: 14px;
    }

    /* 技术与洞察：弱化大按钮和满幅标签，形成更轻的编辑式入口 */
    #insights .article-grid {
      gap: 30px;
    }

    #insights .article-card,
    #insights .article-card:nth-child(odd),
    #insights .article-card:nth-child(even) {
      min-height: 0;
      padding: 30px 30px 28px;
      border-left-width: 3px;
      border-radius: 18px;
      box-shadow: 0 8px 24px rgba(18, 18, 18, 0.045);
    }

    #insights .article-card:hover {
      transform: translateY(-3px);
      box-shadow: 0 14px 30px rgba(18, 18, 18, 0.08);
    }

    #insights .article-type {
      display: inline-flex;
      width: auto;
      min-height: 28px;
      margin-bottom: 21px;
      padding: 0 10px;
      border-radius: 3px;
      font-size: 11px;
    }

    #insights .article-card h3 {
      font-size: clamp(22px, 1.55vw, 25px);
      line-height: 1.4;
    }

    #insights .article-card h3::after {
      width: 38px;
      height: 3px;
      margin: 17px 0;
    }

    #insights .article-card .card-text {
      font-size: 15px;
      line-height: 1.72;
    }

    #insights .article-read-more {
      min-height: auto;
      margin-top: 22px;
      padding: 0;
      border-radius: 0;
      background: transparent;
      color: var(--brand-red);
      font-size: 14px;
      box-shadow: none;
    }

    #insights .article-read-more::after {
      content: "\2192";
      margin-left: 7px;
      font-size: 16px;
      font-weight: 400;
      transition: transform 0.2s ease;
    }

    #insights .article-card:hover .article-read-more::after {
      transform: translateX(3px);
    }

    @media (max-width: 980px) and (min-width: 641px) {
      :root {
        --section-padding: 84px;
      }

      .section-head {
        margin-bottom: 50px;
      }
    }

    @media (max-width: 640px) {
      :root {
        --section-padding: 68px;
      }

      .section-head {
        margin-bottom: 38px;
      }

      #cases .case-grid,
      #insights .article-grid {
        gap: 24px;
      }

      #cases .case-card,
      #cases .case-card:first-child {
        padding: 12px;
        border-radius: 18px;
      }

      #cases .case-body,
      #cases .case-card:first-child .case-body {
        padding: 21px 5px 5px;
      }

      #cases .case-card h3,
      #cases .case-card:first-child h3 {
        font-size: 21px;
      }

      #insights .article-card,
      #insights .article-card:nth-child(odd),
      #insights .article-card:nth-child(even) {
        padding: 25px 23px 24px;
        border-left-width: 3px;
        border-radius: 16px;
      }

      #insights .article-card h3 {
        font-size: 21px;
      }
    }

    /* 安全原则：左侧单栏信息组，标题与正文成组不分离 */
    .safety-culture .section-head.section-head-balanced {
      grid-template-columns: minmax(0, 860px);
      gap: 28px;
      align-items: start;
    }

    .safety-culture .section-head-balanced .section-desc {
    }

    @media (max-width: 760px) {
      .safety-culture .section-head.section-head-balanced {
        gap: 18px;
      }
    }

    /* 解决方案呈现示例：参考 Geovert 的图片优先与分层阅读方式 */
    .solution-group-demo .solution-items {
      gap: 18px;
      border: 0;
      overflow: visible;
      background: transparent;
    }

    .solution-group-demo .solution-item.solution-item--visual {
      padding-right: 20px;
      padding-bottom: 60px;
      padding-left: 20px;
      border: 1px solid var(--border);
      border-radius: 16px;
      overflow: hidden;
    }

    .solution-group-demo .solution-item--visual .solution-item-image {
      width: calc(100% + 40px);
      aspect-ratio: 4 / 3;
      margin-right: -20px;
      margin-bottom: 20px;
      margin-left: -20px;
      filter: none;
    }

    .solution-group-demo .solution-item p {
      line-height: 1.68;
    }

    .solution-group-demo .solution-item span {
      color: #C9231E;
      font-size: 11px;
      font-weight: 800;
      letter-spacing: .06em;
    }

    .solution-group-demo .solution-item[data-solution-id]::after {
      left: 20px;
      content: "了解更多  ↗";
    }

    /* 首屏视觉：浅色内容区 + 带留白的独立工程图片 */
    .hero-visual {
      display: none;
    }

    @media (min-width: 981px) {
      .hero {
        background-color: #F5F6F7;
      }

      .hero::before {
      }

      .hero-content {
      }

      .hero-copy {
      }

      .hero .eyebrow {
        gap: 12px;
        margin: 0 0 26px;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        font-size: 13px;
        font-weight: 700;
        letter-spacing: .08em;
      }

      .hero .eyebrow::before {
        width: 28px;
        height: 2px;
        border-radius: 0;
        box-shadow: none;
      }

      .hero h1 {
        margin: 0 0 26px;
        font-size: clamp(48px, 3.6vw, 62px);
        line-height: 1.16;
      }

      .hero-summary {
        margin: 0;
        font-size: 17px;
        line-height: 1.9;
      }

      .hero .hero-actions {
        align-items: center;
        gap: 24px;
        margin-top: 34px;
      }

      .hero .btn {
        min-height: 50px;
        border-radius: 7px;
      }

      .hero .btn-primary {
        padding: 0 24px;
        box-shadow: 0 10px 24px rgba(222,40,35,.20);
      }

      .hero .btn-secondary {
        min-height: 44px;
        padding: 0 2px;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
      }

      .hero .btn-secondary::after {
        content: "→";
        margin-left: 8px;
        color: var(--brand-red);
        font-size: 17px;
        font-weight: 500;
        transition: transform .2s ease;
      }

      .hero .btn-secondary:hover::after {
        transform: translateX(3px);
      }

      .hero-visual {
        position: absolute;
        top: 50%;
        right: auto;
        bottom: auto;
        left: calc(50% - 40px);
        z-index: 1;
        width: min(44vw, 580px);
        height: auto;
        aspect-ratio: 1 / 1;
        transform: translateY(-50%);
        border: 1px solid rgba(32,35,38,.08);
        background-image: inherit;
        background-position: center 58%;
        background-size: cover;
        background-repeat: no-repeat;
      }
    }

    @media (max-width: 980px) {
      .hero-summary {
        max-width: 340px;
        margin: 0 0 24px;
        color: rgba(255,255,255,.82);
        font-size: 15px;
        line-height: 1.72;
      }
    }

    /* 技术与洞察：官网技术资料文章框架 */
    #article-modal-overlay .article-modal {
      width: min(1120px, calc(100% - 64px));
      padding-top: 44px;
    }

    #article-modal-overlay .article-modal-close {
      margin-bottom: 72px;
      padding: 0;
      border: 0;
      border-radius: 0;
      background: transparent;
    }

    #article-modal-overlay .article-modal-close:hover {
      background: transparent;
    }

    .insight-article-header,
    #article-modal-overlay .article-modal-body,
    .insight-publish-note,
    .insight-related {
      width: min(760px, 100%);
      margin-right: auto;
      margin-left: auto;
    }

    .insight-article-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 10px 18px;
      align-items: center;
      margin-bottom: 20px;
      color: var(--text-muted);
      font-size: 13px;
      font-weight: 700;
    }

    .insight-article-meta .article-modal-type {
      margin: 0;
    }

    #article-modal-overlay .article-modal h2 {
      margin-bottom: 26px;
    }

    .insight-article-summary {
      max-width: 720px;
      margin: 0;
      color: #52575D;
      font-size: 19px;
      line-height: 1.82;
    }

    .insight-article-figure {
      width: min(960px, 100%);
      margin: 56px auto 60px;
    }

    .insight-article-figure[hidden] {
      display: none;
    }

    .insight-article-figure img {
      display: block;
      width: 100%;
      max-height: 560px;
      object-fit: cover;
    }

    .insight-article-figure figcaption {
      margin-top: 12px;
      color: var(--text-muted);
      font-size: 13px;
      line-height: 1.65;
    }

    #article-modal-overlay .article-modal-body {
      margin-top: 58px;
    }

    #article-modal-overlay .article-modal-body p {
      margin-bottom: 24px;
      color: #33383D;
      font-size: 17px;
      line-height: 1.95;
    }

    #article-modal-overlay .article-modal-body strong {
      color: var(--text-strong);
      font-weight: 750;
    }

    .insight-publish-note {
      margin-top: 58px;
      padding: 22px 0;
      border-top: 1px solid var(--border);
      border-bottom: 1px solid var(--border);
      color: var(--text-muted);
      font-size: 14px;
      line-height: 1.75;
    }

    .insight-related {
      margin-top: 64px;
    }

    .insight-related h2 {
      margin: 0 0 24px;
      font-size: 24px;
      line-height: 1.35;
    }

    .insight-related-list {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 14px;
    }

    .insight-related-link {
      min-height: 116px;
      padding: 18px;
      border: 1px solid var(--border);
      background: #fff;
      color: var(--text-strong);
      cursor: pointer;
      text-align: left;
      font: inherit;
      font-size: 15px;
      font-weight: 700;
      line-height: 1.55;
      transition: border-color .18s ease, color .18s ease, transform .18s ease;
    }

    .insight-related-link:hover {
      border-color: var(--brand-red);
      color: var(--brand-red);
      transform: translateY(-2px);
    }

    @media (max-width: 760px) {
      #article-modal-overlay .article-modal {
        width: calc(100% - 40px);
        padding-top: 28px;
      }

      #article-modal-overlay .article-modal-close {
        margin-bottom: 44px;
      }

      #article-modal-overlay .article-modal h2 {
      }

      .insight-article-summary {
        font-size: 17px;
      }

      .insight-article-figure,
      #article-modal-overlay .article-modal-body {
        margin-top: 42px;
      }

      .insight-related-list {
        grid-template-columns: 1fr;
      }

      .insight-related-link {
        min-height: 0;
      }
    }
    @media (max-width: 960px) {
    }
    @media (max-width: 560px) {
    }
    @media (prefers-reduced-motion: reduce) {
    }

    /* ===== 联系我们：咨询表单 ===== */
    #contact {
      /* 原为照片背景，但遮罩到 92%~95% 不透明，只剩约 6% 透出，
         肉眼几乎看不见，却要付 199 KB。改为纯色。
         色值取自原先「照片 + 遮罩」的实际合成色（照片均色 rgb(135,150,140)
         按 8%/5% 混入 rgb(26,29,32)），所以观感与之前一致——
         直接删图留遮罩会让这块变暗并与页脚 #17191B 糊在一起。 */
      background: #1B1E21;
    }
    .consult-form {
      margin-top: 46px;
      padding: 34px 32px 36px;
      border: 1px solid rgba(255,255,255,0.15);
      background: rgba(255,255,255,0.055);
    }
    .consult-form-head {
      margin-bottom: 24px;
    }
    .consult-form-head strong { font-size: 19px; }
    .consult-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 14px;
    }
    .consult-field {
      display: flex;
      flex-direction: column;
      gap: 7px;
      font-size: 13px;
      color: rgba(255,255,255,0.66);
    }
    .consult-label {
      display: inline-flex;
      align-items: center;
      gap: 7px;
    }
    .consult-field-full { grid-column: 1 / -1; }
    .consult-field input,
    .consult-field select,
    .consult-field textarea {
      width: 100%;
      min-height: 44px;
      padding: 12px 14px;
      border: 1px solid rgba(255,255,255,0.22);
      border-radius: 10px;
      background: rgba(255,255,255,0.07);
      color: #fff;
      font-size: 14.5px;
      font-family: inherit;
      box-sizing: border-box;
    }
    .consult-field select option { color: var(--text-main); background: #fff; }
    .consult-field textarea { min-height: 110px; resize: vertical; }
    .consult-field input::placeholder,
    .consult-field textarea::placeholder { color: rgba(255,255,255,0.38); }
    .consult-field input:focus,
    .consult-field select:focus,
    .consult-field textarea:focus {
      outline: none;
      border-color: var(--brand-red);
      box-shadow: 0 0 0 3px rgba(222,40,35,0.22);
    }
    .consult-actions {
      margin-top: 20px;
      display: flex;
      align-items: center;
      gap: 18px;
      flex-wrap: wrap;
    }
    .consult-actions .btn { border: 0; }
    .consult-status { font-size: 13.5px; color: rgba(255,255,255,0.85); }
    .consult-status.is-error { color: #ffaaa7; }
    .consult-status a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
    .consult-status.is-success { color: #b9e7c6; }
    @media (max-width: 760px) {
      .consult-grid { grid-template-columns: 1fr; }
      .consult-form { padding: 26px 20px 28px; }
    }

    /* ===== 首屏：山景背景图 ===== */
    .hero {
      background-image: url('images/bg-hero.jpg');
    }

    /* ===== 桌面端整幅山景首屏 ===== */
    @media (min-width: 981px) {
      .hero {
        position: relative;
        display: flex;
        align-items: center;
        width: 100%;
        height: calc(100svh - 74px);
        min-height: 680px;
        margin-top: 74px;
        padding: 0;
        background-position: center 50%;
        background-size: cover;
        background-repeat: no-repeat;
        color: #fff;
      }

      .hero::before {
        z-index: 0;
        background:
          linear-gradient(90deg, rgba(7,10,13,.82) 0%, rgba(7,10,13,.68) 34%, rgba(7,10,13,.26) 64%, rgba(7,10,13,.08) 100%),
          linear-gradient(180deg, rgba(7,10,13,.08) 0%, rgba(7,10,13,.12) 68%, rgba(7,10,13,.34) 100%);
      }

      .hero-content {
        position: relative;
        z-index: 2;
        display: flex;
        align-items: center;
        width: min(1220px, calc(100% - 96px));
        max-width: none;
        height: 100%;
        margin: 0 auto;
        padding: 0;
      }

      .hero-copy {
        width: min(560px, 48vw);
      }

      .hero .eyebrow {
        color: rgba(255,255,255,.76);
      }

      .hero h1 {
        max-width: 620px;
        color: #fff;
        text-shadow: 0 2px 18px rgba(0,0,0,.18);
      }

      .hero-summary {
        max-width: 530px;
        color: rgba(255,255,255,.82);
      }

      .hero .btn-secondary {
        color: #fff;
      }

      .hero-visual {
        display: none;
      }
    }

    /* ===== 页脚 ===== */
    .footer { padding: 0; background: #17191B; }
    .footer-main {
      display: grid;
      grid-template-columns: minmax(280px, 1.5fr) repeat(4, minmax(104px, 0.66fr)) minmax(150px, 0.9fr);
      gap: 24px;
      padding: 62px 0 50px;
    }
    .footer-brand-name {
      display: block;
      color: #fff;
      font-size: 20px;
      font-weight: 800;
      letter-spacing: 0.05em;
      margin-bottom: 13px;
    }
    .footer-brand p {
      margin: 0;
      max-width: 300px;
      font-size: 13.5px;
      line-height: 1.85;
      color: rgba(255,255,255,0.55);
    }
    .footer-wechat {
      margin-top: 18px;
    }
    .footer-wechat span {
      display: block;
      margin-bottom: 9px;
      font-size: 12.5px;
      color: rgba(255,255,255,0.48);
    }
    .footer-wechat .footer-qr {
      width: 86px;
      height: 86px;
    }
    .footer-contact .footer-hotline strong {
      margin-bottom: 0;
      font-size: 17px;
    }
    .footer-col h3 {
      margin: 0 0 15px;
      font-size: 12.5px;
      color: rgba(255,255,255,0.48);
    }
    .footer-col a {
      display: block;
      padding: 5px 0;
      font-size: 14px;
      color: rgba(255,255,255,0.72);
      transition: color 0.2s ease;
    }
    .footer-col a:hover { color: #fff; }

    /* 热线号码为链接时保持原有字号与字重 */
    .footer-hotline strong a {
      padding: 0;
      font-size: inherit;
      font-weight: inherit;
      color: inherit;
    }

    /* 官方微信二维码 */
    .footer-qr-live {
      border: none;
      padding: 0;
      overflow: hidden;
      border-radius: 8px;
      background: #fff;
    }
    .footer-qr-live img {
      width: 100%;
      height: 100%;
      object-fit: contain;
    }
    .footer-hotline span {
      display: block;
      margin-bottom: 4px;
      font-size: 12.5px;
      color: rgba(255,255,255,0.48);
    }
    .footer-hotline strong {
      display: block;
      margin-bottom: 16px;
      color: #fff;
      font-size: 19px;
      font-weight: 800;
      letter-spacing: 0.02em;
    }
    .footer-qr {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 96px;
      height: 96px;
      border: 1px dashed rgba(255,255,255,0.32);
      border-radius: 10px;
      text-align: center;
      font-size: 11.5px;
      line-height: 1.55;
      color: rgba(255,255,255,0.48);
    }
    .footer-bottom {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 12px;
      padding: 20px 0;
      border-top: 1px solid rgba(255,255,255,0.09);
      font-size: 13px;
      color: rgba(255,255,255,0.48);
    }
    @media (max-width: 1100px) {
      .footer-main { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px; padding: 48px 0 40px; }
      .footer-brand { grid-column: 1 / -1; }
      .footer-brand p { max-width: 620px; }
    }
    @media (max-width: 760px) {
      .footer-main { grid-template-columns: 1fr 1fr; gap: 36px; }
      .footer-brand { grid-column: 1 / -1; }
    }
    @media (max-width: 560px) {
      .footer-main { grid-template-columns: 1fr; }
      .footer-brand { grid-column: auto; }
    }

    /* ===== 原理示意图 ===== */
    .solution-item-image--diagram,
    .solution-item--visual .solution-item-image--diagram {
      object-fit: contain;
      background: #fff;
      filter: none;
    }
    .solution-item--visual:hover .solution-item-image--diagram {
      filter: none;
      transform: none;
    }
    .solution-modal-media img.is-diagram {
      object-fit: contain;
      background: #fff;
    }

    /* ===== 专项作业插图：横向构图在详情页中的聚焦展示 ===== */
    .solution-item--visual .solution-item-image--illustration {
      object-fit: cover;
      object-position: left center;
      background: #f5f5f3;
    }
    .solution-modal-media img.is-illustration {
      object-fit: cover;
      object-position: left center;
      background: #f5f5f3;
    }

    /* 喷射混凝土详情图使用与新原图一致的 16:10 构图。 */
    .solution-modal.is-shotcrete .solution-modal-media {
      align-self: start;
      height: auto;
      min-height: 0;
      aspect-ratio: 16 / 10;
      background: #fff;
    }
    .solution-modal-media img.is-shotcrete {
      object-fit: contain;
      background: #fff;
    }

    /* ===== 示意图放大查看 ===== */
    .solution-modal-media img.is-diagram { cursor: zoom-in; }
    .diagram-zoom-overlay {
      position: fixed; inset: 0; z-index: 300;
      display: flex; flex-direction: column;
      background: rgba(23,25,27,0.93);
      opacity: 0;
      transition: opacity 0.3s ease;
    }
    .diagram-zoom-overlay.is-open { opacity: 1; }
    .diagram-zoom-overlay .diagram-zoom-scroll {
      transform: translateY(12px);
      transition: transform 0.3s ease;
    }
    .diagram-zoom-overlay.is-open .diagram-zoom-scroll { transform: none; }
    @media (prefers-reduced-motion: reduce) {
      .article-modal-overlay,
      .solution-modal-overlay,
      .diagram-zoom-overlay { transition-delay: 0s; }
      .article-modal-overlay > *,
      .solution-modal-overlay > *,
      .diagram-zoom-overlay .diagram-zoom-scroll { transform: none; }
    }
    .diagram-zoom-scroll {
      flex: 1; overflow: auto; -webkit-overflow-scrolling: touch;
      display: flex; padding: 18px;
    }
    .diagram-zoom-scroll img {
      flex: 0 0 auto;
      width: 1500px; max-width: none; margin: auto;
      background: #fff; border-radius: 10px;
    }
    .diagram-zoom-hint {
      padding: 13px; text-align: center;
      color: rgba(255,255,255,0.72); font-size: 13px;
    }

    /* ===== 服务路径 ===== */
    .service-path { position: relative; }
    .sp-step {
      display: block;
      width: 100%;
      border: 0;
      background: none;
      font-family: inherit;
      text-align: left;
      cursor: pointer;
      padding: 0;
    }
    .sp-num {
      font-family: var(--font-mono);
      font-weight: 800;
      color: #6b7075;
      font-size: 13px;
      transition: color 0.2s ease;
    }
    .sp-name {
      font-weight: 800;
      color: var(--text-muted);
      transition: color 0.2s ease;
    }
    .sp-item.is-active .sp-name { color: var(--text-strong); }
    .sp-item.is-active .sp-num,
    .sp-step:hover .sp-num { color: var(--brand-red); }
    .sp-panel-kicker {
      margin-bottom: 10px;
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 0.08em;
      color: var(--brand-red);
    }
    .sp-panel-inner h3 { margin: 0 0 12px; font-size: 23px; }
    .sp-panel-inner p { margin: 0; color: var(--text-muted); line-height: 1.85; }

    @media (min-width: 861px) {
      .service-path {
        display: grid;
        grid-template-columns: repeat(6, minmax(0, 1fr));
        row-gap: 26px;
      }
      .sp-item { display: contents; }
      .sp-step {
        grid-row: 1;
        position: relative;
        padding: 26px 14px 0 0;
      }
      .sp-step::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 14px;
        height: 3px;
        border-radius: 2px;
        background: var(--border);
        transition: background 0.25s ease;
      }
      .sp-item.is-active .sp-step::before { background: var(--brand-red); }
      .sp-step:hover .sp-name { color: var(--text-strong); }
      .sp-num { display: block; margin-bottom: 5px; }
      .sp-name { display: block; font-size: 16px; }
      .sp-panel {
        grid-row: 2;
        grid-column: 1 / -1;
      }
      .sp-js .sp-panel { display: none; }
      .sp-js .sp-item.is-active .sp-panel { display: block; }
      .sp-panel-inner {
        max-width: 720px;
        padding: 34px 36px;
        background: var(--bg-main);
        border: 1px solid var(--border);
        border-radius: var(--radius-card);
        box-shadow: var(--shadow-card);
      }
      .sp-step:focus-visible {
        outline: 3px solid var(--brand-red);
        outline-offset: 4px;
        border-radius: 6px;
      }
    }

    @media (max-width: 860px) {
      .sp-item {
        position: relative;
        padding-left: 30px;
      }
      .sp-item::before {
        content: "";
        position: absolute;
        left: 7px;
        top: 0;
        bottom: 0;
        width: 2px;
        background: var(--border);
      }
      .sp-item:first-child::before { top: 20px; }
      .sp-item:last-child::before { bottom: auto; height: 20px; }
      .sp-step {
        display: flex;
        align-items: baseline;
        gap: 10px;
        padding: 13px 0;
      }
      .sp-step::before {
        content: "";
        position: absolute;
        left: 2px;
        top: 18px;
        width: 12px;
        height: 12px;
        border-radius: 50%;
        background: var(--bg-soft);
        border: 2px solid var(--border);
        box-sizing: border-box;
        transition: border-color 0.2s ease, background 0.2s ease;
      }
      .sp-item.is-active .sp-step::before {
        border-color: var(--brand-red);
        background: var(--brand-red);
      }
      .sp-name { font-size: 16.5px; }
      .sp-js .sp-panel {
        overflow: hidden;
        max-height: 0;
        transition: max-height 0.3s ease;
      }
      .sp-js .sp-item.is-active .sp-panel { max-height: 640px; }
      .sp-panel-inner { padding: 2px 0 20px; }
      .sp-panel-inner h3 { font-size: 19px; }
      .sp-panel-inner p { font-size: 14.5px; }
    }
    @media (prefers-reduced-motion: reduce) {
      .sp-panel { transition: none; }
    }

    .section-title-mark {
      display: block;
      background: var(--brand-red);
    }

    /* ===== 板块标题层级：竖向红条 ===== */
    .section-title-line {
      flex-direction: row;
      align-items: center;
      gap: 14px;
    }
    .section-title-mark {
      width: 6px;
      height: 32px;
      border-radius: 3px;
      flex: 0 0 auto;
    }
    @media (max-width: 760px) {
      .section-title-line { gap: 11px; }
      .section-title-mark { height: 25px; width: 5px; }
    }

    /* ===== 悬浮工具 ===== */
    .float-tools {
      position: fixed;
      right: 22px;
      bottom: 28px;
      z-index: 150;
      display: flex;
      flex-direction: column;
      gap: 10px;
      opacity: 0;
      transform: translateY(8px);
      pointer-events: none;
      transition: opacity 0.25s ease, transform 0.25s ease;
    }
    .float-tools.is-visible {
      opacity: 1;
      transform: none;
      pointer-events: auto;
    }
    .float-btn {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 48px;
      height: 48px;
      border-radius: 50%;
      border: 0;
      cursor: pointer;
      font-family: inherit;
      font-size: 13.5px;
      font-weight: 800;
      transition: transform 0.2s ease, box-shadow 0.2s ease;
    }
    .float-btn:hover { transform: translateY(-2px); }
    .float-btn--consult {
      background: var(--brand-red);
      color: #fff;
      box-shadow: 0 10px 22px rgba(222,40,35,0.28);
    }
    .float-btn--top {
      background: var(--bg-main);
      color: var(--text-strong);
      border: 1px solid var(--border);
      box-shadow: var(--shadow-card);
      font-size: 17px;
    }
    @media (max-width: 560px) {
      .float-tools { right: 14px; bottom: 18px; }
      .float-btn { width: 44px; height: 44px; }
    }
    @media (prefers-reduced-motion: reduce) {
      .float-tools, .float-btn { transition: none; }
    }

    /* ===== 点击区：WCAG 2.2 AA 2.5.8 要求 ≥24×24 ===== */
    .footer-hotline strong a,
    .footer-beian {
      display: inline-block;
      padding-top: 4px;
      padding-bottom: 4px;
      min-height: 24px;
      box-sizing: content-box;
    }

    /* ===== 打印 ===== */
    @media print {
      @page { margin: 14mm 12mm; }
      html { scroll-behavior: auto; }
      .topbar { position: static; box-shadow: none; }
      .float-tools,
.nav-mobile-toggle,
.mobile-menu,
.article-modal-overlay,
.solution-modal-overlay,
.diagram-zoom-overlay { display: none; }
      .hero-visual,
.hero::before { display: none !important; }

      .hero,
.section-dark,
.safety-culture,
.footer,
.culture-card,
.contact-box,
#cases .case-card,
#cases .case-body {
        background: #fff;
        background-image: none;
        box-shadow: none;
      }
      .hero,
.hero *,
.section-dark,
.section-dark *,
.safety-culture,
.safety-culture *,
.footer,
.footer *,
.culture-card,
.culture-card *,
.contact-box,
.contact-box *,
#cases .case-card,
#cases .case-card * {
        color: #202326;
        text-shadow: none;
      }.eyebrow,
#cases .case-kicker,
.key-issue-number,
.solution-number,
.sp-num {
        color: #C9231E;
      }
      /* 实心按钮改描边，避免整块实心色 */
      .btn-primary, .nav-cta {
        background: #fff;
        color: #de2823;
        border: 1px solid #de2823;
        box-shadow: none;
      }
      .btn-secondary {
        background: #fff;
        color: #202326;
        border: 1px solid #c6cace;
      }
      section,
.case-card,
.culture-card,
.safety-culture-card,
.key-issue,
.solution-item {
        break-inside: avoid;
        page-break-inside: avoid;
      }
      img { max-width: 100%; }
      a[href^="#"] { text-decoration: none; }
    }

    /* ===== 板块标题布局：左侧紧凑信息组 ===== */
    .section-head,
    .section-head-balanced,
    .safety-culture .section-head.section-head-balanced {
      display: block;
      width: 100%;
      max-width: 820px;
      margin-bottom: 50px;
    }

    .section-head .section-desc,
    .section-head-balanced .section-desc,
    .safety-culture .section-head-balanced .section-desc {
      width: 100%;
      max-width: 660px;
      margin: 18px 0 0;
      padding-left: 20px;
      font-size: 15.5px;
      line-height: 1.78;
    }

    @media (max-width: 760px) {
      .section-head,
      .section-head-balanced,
      .safety-culture .section-head.section-head-balanced {
        margin-bottom: 36px;
      }

      .section-head .section-desc,
      .section-head-balanced .section-desc,
      .safety-culture .section-head-balanced .section-desc {
        margin-top: 14px;
        padding-left: 16px;
        font-size: 15px;
        line-height: 1.72;
      }
    }

    /* ===== 工程服务：统一导航与内容区域宽度 ===== */
    @media (min-width: 861px) {
      #engineering-services .sp-panel-inner {
        max-width: none;
        padding: 34px 40px;
        box-shadow: 0 10px 30px rgba(17,24,39,.06);
      }

      #engineering-services .sp-panel-inner p {
        max-width: 760px;
      }
    }
    @media (max-width: 960px) {
    }
    @media (max-width: 560px) {
    }
    @media (max-width: 900px) {
    }
    @media (max-width: 520px) {
    }

    /* ===== 安全原则：异常条件下暂停作业 ===== */
    .safety-culture .safety-culture-grid { margin-top: 38px; }
    .safety-culture-card h3 { margin: 0 0 10px; color: #fff; }
    .safety-culture-card p { margin: 0; font-size: 14px; line-height: 1.8; color: rgba(255,255,255,0.72); }
    .safety-stop {
      margin-top: 22px;
      padding: 22px 26px;
      border-left: 3px solid var(--brand-red);
      border-radius: 0 14px 14px 0;
      background: rgba(222,40,35,0.10);
    }
    .safety-stop strong {
      display: block;
      margin-bottom: 8px;
      font-size: 15px;
      color: var(--brand-red-on-dark);
      letter-spacing: 0.04em;
    }
    .safety-stop p { margin: 0; font-size: 14.5px; line-height: 1.85; color: rgba(255,255,255,0.86); }
    @media (max-width: 860px) {
      .safety-culture-grid { grid-template-columns: 1fr; gap: 14px; }
      .safety-culture-card { min-height: 0; padding: 22px 20px; }
    }

    /* ===== 企业介绍：单栏连贯段落 ===== */
    #about .about-intro {
      columns: auto;
      padding: 0;
      border: 0;
      border-radius: 0;
      background: none;
    }
    #about .about-intro p {
      max-width: none;
    }
    #about .about-intro p + p { border: 0; }
    #about .about-intro p:last-child { margin-bottom: 0; }

    /* RM 水电案例：同步独立定稿文件的阅读版式 */
    #case-modal-overlay .case-modal-file-design .case-modal-hero,
    #case-modal-overlay .case-modal-file-design .case-modal-intro {
      display: none;
    }
    #case-modal-overlay .case-modal-file-design .article-modal-close {
      width: min(760px, calc(100% - 36px));
      padding-top: 22px;
      padding-bottom: 14px;
    }
    #case-modal-overlay .case-modal-file-design .article-modal-body {
      width: 100%;
      max-width: none;
      margin: 0;
      padding: 0;
    }
    #case-modal-overlay .case-source-shell {
      display: block;
      width: 100%;
      background: #fff;
    }
    #case-modal-overlay .case-file-wrap {
      --rm-red: #DE2823;
      --rm-ink: #202326;
      --rm-mut: #6f7479;
      --rm-line: #e4e6e8;
      --rm-soft: #f5f6f7;
      margin: 0 auto;
    }
    #case-modal-overlay .case-file-wrap * { box-sizing: border-box; }
    #case-modal-overlay .case-file-wrap .rm-tag {
      display: inline-block;
      padding: 5px 11px;
      border-radius: 6px;
      background: var(--rm-red);
      color: #fff;
      font-size: 12px;
      font-weight: 700;
    }
    #case-modal-overlay .case-file-wrap h1 {
      margin: 14px 0 8px;
      color: var(--rm-ink);
    }
    #case-modal-overlay .case-file-wrap .rm-sub {
      margin: 0 0 18px;
      color: #4a4f54;
      font-size: 15.5px;
    }
    #case-modal-overlay .case-file-wrap .rm-meta {
      padding: 8px 0;
      border-top: 1px solid var(--rm-line);
      border-bottom: 1px solid var(--rm-line);
    }
    #case-modal-overlay .case-file-wrap .rm-meta-row {
      display: flex;
      align-items: center;
      gap: 9px;
      padding: 10px 0;
      font-size: 14px;
    }
    #case-modal-overlay .case-file-wrap .rm-meta-row + .rm-meta-row { border-top: 1px solid #f0f1f2; }
    #case-modal-overlay .case-file-wrap .rm-meta-ic { width: 18px; height: 18px; flex: none; color: #8a8f94; }
    #case-modal-overlay .case-file-wrap .rm-meta-k { min-width: 86px; color: var(--rm-mut); }
    #case-modal-overlay .case-file-wrap .rm-meta-v { }
    #case-modal-overlay .case-file-wrap h2 {
      display: flex;
      align-items: center;
      gap: 8px;
      max-width: none;
      color: var(--rm-ink);
      line-height: 1.4;
    }
    #case-modal-overlay .case-file-wrap h2::before {
      content: "";
      width: 4px;
      height: 17px;
      border-radius: 2px;
      background: var(--rm-red);
    }
    #case-modal-overlay .case-file-wrap p { margin: 0 0 10px; line-height: 1.72; }
    #case-modal-overlay .case-file-wrap .rm-difficulty-strip {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      margin: 8px 0 24px;
      border-top: 1px solid #e5e5e5;
      border-bottom: 1px solid #e5e5e5;
    }
    #case-modal-overlay .case-file-wrap .rm-difficulty-item { min-width: 0; padding: 16px 18px; }
    #case-modal-overlay .case-file-wrap .rm-difficulty-item + .rm-difficulty-item { border-left: 1px solid #e5e5e5; }
    #case-modal-overlay .case-file-wrap .rm-difficulty-item b { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 600; }
    #case-modal-overlay .case-file-wrap .rm-difficulty-item span { display: block; color: #666; font-size: 13px; line-height: 1.65; }
    #case-modal-overlay .case-file-wrap .rm-implementation { border-top: 1px solid var(--rm-line); border-bottom: 1px solid var(--rm-line); }
    #case-modal-overlay .case-file-wrap .rm-implementation-feature { padding: 19px 0 22px; }
    #case-modal-overlay .case-file-wrap .rm-implementation-heading { margin-bottom: 7px; }
    #case-modal-overlay .case-file-wrap .rm-implementation-copy { max-width: 700px; }
    #case-modal-overlay .case-file-wrap .rm-implementation-no { display: block; margin-bottom: 7px; color: var(--rm-red); font-size: 11px; font-weight: 700; letter-spacing: 0.12em; }
    #case-modal-overlay .case-file-wrap .rm-implementation h3 { margin: 0 0 7px; font-size: 16px; line-height: 1.4; }
    #case-modal-overlay .case-file-wrap .rm-implementation p { margin: 0; color: #62676c; font-size: 13.5px; line-height: 1.75; }
    #case-modal-overlay .case-file-wrap .rm-implementation-secondary { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--rm-line); }
    /* 次要条目只有一条时跨满两列：否则它孤零零占左半边，右边空出等宽的一块。
       X209 主动与 X017 涞宝路都只有一条次要条目。 */
    #case-modal-overlay .case-file-wrap .rm-implementation-item:only-child { grid-column: 1 / -1; }
    #case-modal-overlay .case-file-wrap .rm-implementation-item { padding: 19px 22px 20px 0; }
    #case-modal-overlay .case-file-wrap .rm-implementation-item + .rm-implementation-item { padding-left: 22px; border-left: 1px solid var(--rm-line); }
    #case-modal-overlay .case-file-wrap .rm-table-wrap { overflow: hidden; border: 1px solid var(--rm-line); }
    #case-modal-overlay .case-file-wrap table { width: 100%; border-collapse: collapse; table-layout: fixed; }
    #case-modal-overlay .case-file-wrap td { padding: 10px 14px; border-bottom: 1px solid var(--rm-line); }
    #case-modal-overlay .case-file-wrap tr:last-child td { border-bottom: 0; }
    #case-modal-overlay .case-file-wrap .rm-band td { background: var(--rm-soft); }
    #case-modal-overlay .case-file-wrap .rm-k { width: 42%; border-right: 1px solid var(--rm-line); color: var(--rm-mut); }
    #case-modal-overlay .case-file-wrap .rm-photos { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
    #case-modal-overlay .case-file-wrap .rm-photos figure {
      position: relative;
      aspect-ratio: 4 / 3;
      margin: 0;
      overflow: hidden;
      border: 1px solid var(--rm-line);
      background: var(--rm-soft);
    }
    #case-modal-overlay .case-file-wrap .rm-photos img { width: 100%; height: 100%; object-fit: cover; }
    #case-modal-overlay .case-file-wrap .rm-photos figcaption {
      position: absolute;
      right: 0;
      bottom: 0;
      left: 0;
      padding: 22px 10px 9px;
      background: linear-gradient(180deg, transparent, rgba(0,0,0,0.62));
      color: #fff;
      font-size: 12.5px;
    }
    #case-modal-overlay .case-file-wrap--caption-below .rm-photos figure {
      aspect-ratio: auto;
      background: #fff;
    }
    #case-modal-overlay .case-file-wrap--caption-below .rm-photos img {
      display: block;
      width: 100%;
      height: auto;
      aspect-ratio: 4 / 3;
      object-fit: cover;
      background: var(--rm-soft);
    }
    #case-modal-overlay .case-file-wrap--caption-below .rm-photos figcaption {
      position: static;
      padding: 9px 12px;
      border-top: 1px solid var(--rm-line);
      background: none;
      color: #565c61;
      font-size: 12.5px;
      font-weight: 700;
    }
    #case-modal-overlay .case-file-wrap .rm-rel {
      display: flex;
      width: 100%;
      justify-content: space-between;
      gap: 10px;
      margin-top: 28px;
      padding: 13px 14px;
      border: 1px solid var(--rm-line);
      background: #fff;
      color: var(--rm-ink);
      font: inherit;
      font-size: 14px;
      text-align: left;
      cursor: pointer;
    }
    #case-modal-overlay .case-file-wrap .rm-rel b { }
    #case-modal-overlay .case-file-wrap .rm-rel span:last-child { color: var(--rm-red); }
    @media (max-width: 720px) {
      #case-modal-overlay .case-file-wrap .rm-difficulty-strip { grid-template-columns: 1fr; }
      #case-modal-overlay .case-file-wrap .rm-difficulty-item { padding: 14px 4px; }
      #case-modal-overlay .case-file-wrap .rm-difficulty-item + .rm-difficulty-item { border-top: 1px solid #e5e5e5; border-left: 0; }
    }
    @media (max-width: 520px) {
      #case-modal-overlay .case-modal-file-design .article-modal-close { width: calc(100% - 28px); }
      #case-modal-overlay .case-file-wrap { padding: 20px 14px 34px; }
      #case-modal-overlay .case-file-wrap h1 { font-size: 24px; }
      #case-modal-overlay .case-file-wrap .rm-sub { font-size: 15px; }
      #case-modal-overlay .case-file-wrap td { padding: 10px 11px; word-break: break-word; }
      #case-modal-overlay .case-file-wrap .rm-k { width: 40%; }
      #case-modal-overlay .case-file-wrap .rm-meta-k { min-width: 82px; }
      #case-modal-overlay .case-file-wrap .rm-implementation-feature { padding: 17px 0 19px; }
      #case-modal-overlay .case-file-wrap .rm-implementation-secondary { grid-template-columns: 1fr; }
      #case-modal-overlay .case-file-wrap .rm-implementation-item { padding: 17px 0; }
      #case-modal-overlay .case-file-wrap .rm-implementation-item + .rm-implementation-item { padding-left: 0; border-top: 1px solid var(--rm-line); border-left: 0; }
    }

  

/* ===== 原 <style id="hierarchy-refinement"> ===== */

    /* 关键问题：编号与标题合并为同一层，移除顶部装饰线与节点。 */
    #key-issues .key-issues-grid {
      border-top: 0;
    }

    #key-issues .key-issue {
      display: grid;
      grid-template-columns: auto minmax(0, 1fr);
      column-gap: 14px;
      row-gap: 14px;
      padding-top: 28px;
    }

    #key-issues .key-issue::before {
      content: none;
    }

    #key-issues .key-issue-number {
      grid-column: 1;
      grid-row: 1;
      align-self: baseline;
      margin: 0;
      font-size: 14px;
    }

    #key-issues .key-issue-head {
      grid-column: 2;
      grid-row: 1;
      margin: 0;
    }

    #key-issues .key-issue .card-text {
      grid-column: 1 / -1;
      grid-row: 2;
      margin: 0;
    }

    @media (max-width: 760px) {
      #key-issues .key-issue,
      #key-issues .key-issue:first-child {
        padding: 24px 0 26px;
        border-top: 0;
      }
    }

    /* 企业介绍：单段、等字号，不再拆分内容层级。 */
    #about {
      border-bottom: 0;
    }

    #about .about-layout {
      display: block;
    }

    #about .about-heading {
      margin-bottom: 42px;
    }

    #about .about-intro {
      display: block;
      width: 100%;
      max-width: 1100px;
    }

    #about .about-intro p,
    #about .about-intro p:first-child {
      margin: 0;
      padding: 0;
      border: 0;
      font-size: 15.5px;
      line-height: 1.9;
      color: rgba(255,255,255,0.88);
    }

    /* 企业文化保持为独立区块；卡片、文字颜色与层级沿用原设计。 */
    #culture {
      background: #1F2225;
      border-top: 1px solid rgba(255,255,255,0.08);
    }

    #culture .culture-wrap {
      display: block;
      padding-top: 0;
      border-top: 0;
    }

    #culture .culture-card {
      min-height: 165px;
    }

    /* 联系我们：项目表单为主要入口，电话、邮箱和微信作为紧凑的备用方式。 */
    #contact .contact-inner {
      grid-template-columns: 1fr;
      gap: 24px;
    }

    #contact .contact-info p {
      max-width: 760px;
    }

    #contact .consult-form {
      margin-top: 26px;
      border-color: rgba(255,255,255,0.22);
      background: rgba(255,255,255,0.075);
    }

    #contact .consult-form-head strong {
      font-size: 21px;
      color: #fff;
    }

    @media (max-width: 860px) {
      #about {
        padding-bottom: 64px;
      }

      #about .about-heading {
        margin-bottom: 30px;
      }

      #about .about-intro {
        max-width: none;
      }

      #about .about-intro p,
      #about .about-intro p:first-child {
        padding: 0;
        border: 0;
        font-size: 15px;
        line-height: 1.9;
      }

      #culture .culture-wrap {
        padding-top: 0;
      }

      #culture {
        padding-top: 64px;
        padding-bottom: 54px;
      }

      #culture .culture-card {
        min-height: 0;
      }

    }
  

/* ===== 原 <style id="key-issue-divider"> ===== */

    /* 关键问题 → 解决方案：两节同为浅底且相邻，104+104 的上下留白无背景色切换来分隔，
       在关键问题内容较短时会并成一条空带。按比例收窄接缝，随 --section-padding 缩放。 */
    #key-issues { }
    #services   { }

      /* 关键问题：四栏之间加竖分隔线；窄屏改为横线 */
      #key-issues .key-issue + .key-issue { border-left: 1px solid var(--border); }
      @media (max-width: 980px) {
        #key-issues .key-issue + .key-issue { border-left: 0; border-top: 1px solid var(--border); }
        #key-issues .key-issue:first-child { border-top: 0; }
      }
    

/* ===== 原 <style id="visual-spec-v1"> ===== */

    /* 视觉规范：基础变量与组件层级的统一定义 */
    :root {
      --wes-red: #DE2823;
      --wes-ink: #202326;
      --wes-text: #4A4F54;
      --wes-muted: #6B7075;
      --wes-line: #E4E6E8;
      --wes-soft: #F5F6F7;
      --wes-white: #FFFFFF;
      --brand-red: var(--wes-red);
      --brand-red-text: #C9231E;   /* 小字用：11~14px 红字在浅底上的可读色 */
      --text-main: var(--wes-ink);
      --text-strong: var(--wes-text);
      --text-muted: var(--wes-muted);
      --border: var(--wes-line);
      --bg-soft: var(--wes-soft);
      --radius-card: 16px;
      --radius-panel: 18px;
      --radius-pill: 8px;
      --shadow-card: 0 8px 24px rgba(32, 35, 38, 0.06);
      --shadow-card-hover: 0 14px 32px rgba(32, 35, 38, 0.10);
      --shadow-elevated: var(--shadow-card-hover);
      --shadow-action: var(--shadow-card);
      --shadow-action-hover: var(--shadow-card-hover);
      --section-padding: 104px;
    }

    html { color-scheme: light; }
    body {
      color: var(--wes-text);
      font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", Arial, sans-serif;
      font-size: 16px;
      line-height: 1.75;
      letter-spacing: 0;
    }
    p em { font-style: normal; }
    /* 标题统一 600 字重、0 字距。`h1, h2, h3` 已覆盖全部标题元素，
       个别例外（如 .hero h1）靠特异性胜出，不需要 !important。 */
    h1, h2, h3 {
      font-weight: 600;
      letter-spacing: 0;
    }

    .topbar {
      background: rgba(255, 255, 255, 0.985);
      -webkit-backdrop-filter: none;
      backdrop-filter: none;
      box-shadow: none;
    }
    .brand { font-weight: 700; }
    .nav-links a,
    .mobile-menu a { font-weight: 500; }

    .hero h1 {
      max-width: 760px;
      font-size: clamp(52px, 4.6vw, 56px);
      font-weight: 700 !important;
      line-height: 1.18;
    }
    .hero p { max-width: 760px; }
    .eyebrow,
    .hero .eyebrow {
      border-radius: 6px;
      -webkit-backdrop-filter: none;
      backdrop-filter: none;
      font-weight: 600;
    }

    .section-head { margin-bottom: 44px; }
    #key-issues {
      padding-top: var(--section-padding);
      padding-bottom: calc(var(--section-padding) * 0.46);
    }
    #services {
      padding-top: calc(var(--section-padding) * 0.70);
      padding-bottom: var(--section-padding);
    }
    #engineering-services,
    #safety-culture,
    #cases,
    #insights,
    #about,
    #culture,
    #contact {
      padding-top: var(--section-padding);
      padding-bottom: var(--section-padding);
    }
    .section-head h2,
    section > .container > h2 {
      font-size: clamp(30px, 2.8vw, 36px);
      line-height: 1.32;
    }
    .section-desc,
.about-intro,
.contact-info p {
      max-width: 760px;
    }
    .case-kicker,
.solution-item > span,
.solution-number {
      font-size: 12px;
      letter-spacing: 0.06em;
    }
    #cases .case-kicker,
.solution-item > span,
.solution-number { font-weight: 600 !important; }
    .solution-heading strong {
      font-weight: 600;
      letter-spacing: 0;
    }

    .case-grid,
.article-grid,
.culture-grid,
.safety-culture-grid,
.solution-items {
      gap: 24px;
    }
    .case-card,
.article-card,
.culture-card,
.safety-culture-card,
.solution-item,
.solution-group,
.service-path,
.consult-form {
      border-radius: 16px;
      box-shadow: var(--shadow-card);
    }
    .case-card:hover,
.article-card:hover,
.culture-card:hover,
.safety-culture-card:hover,
.solution-item:hover {
      transform: translateY(-2px);
      box-shadow: var(--shadow-card-hover);
    }
    .case-card h3,
.article-card h3,
.solution-item h3,
.culture-card h3,
.safety-culture-card h3 {
      font-size: 20px;
      line-height: 1.4;
    }
    #cases .case-card {
      border-radius: 16px !important;
      box-shadow: var(--shadow-card) !important;
    }
    #cases .case-card:hover {
      transform: translateY(-2px) !important;
      box-shadow: var(--shadow-card-hover) !important;
    }
    #cases .case-card h3 {
      font-size: 20px !important;
      line-height: 1.4;
    }
    #cases .case-card > .card-image {
      height: auto;
      aspect-ratio: 3 / 2;
      border-radius: 14px;
      object-fit: cover;
    }
    .case-body { padding: 24px; }
    .card-image,
.article-card img,
.solution-item img {
      border-radius: 14px;
    }
    .case-card > .card-image,
    .article-card > img {
      width: 100%;
      height: auto;
      aspect-ratio: 16 / 9;
      object-fit: cover;
    }

    .btn,
.case-read-more,
.article-read-more,
.solution-case-link,
.solution-modal-back,
.article-modal-close,
.consult-form button,
button[type="submit"] {
      border-radius: 8px;
      font-weight: 600; /* ⚠ 对 button[type="submit"] 无效：被第 6405 行覆盖 */
      letter-spacing: 0;
    }
    .btn-primary,
    .consult-form button[type="submit"],
    button[type="submit"] {
      box-shadow: var(--shadow-action);
    }
    .hero .btn-primary,
    .topbar .nav-cta,
    #cases .case-read-more {
      border-radius: 8px;
      box-shadow: var(--shadow-action);
      font-weight: 600; /* ⚠ 对 .hero .btn-primary、.topbar .nav-cta 无效：被第 6405 行覆盖 */
    }
    .hero .btn-primary,
    .topbar .nav-cta,
    .consult-form button[type="submit"],
    button[type="submit"] { font-weight: 700 !important; }
    .btn-primary:hover,
    .consult-form button[type="submit"]:hover,
    button[type="submit"]:hover {
      box-shadow: var(--shadow-action-hover);
    }
    a:focus-visible,
    button:focus-visible,
    [role="button"]:focus-visible,
    input:focus-visible,
    textarea:focus-visible,
    select:focus-visible,
    summary:focus-visible {
      outline: 3px solid var(--brand-red);
      outline-offset: 2px;
    }
    button:active,
    .btn:active,
    [role="button"]:active { transform: translateY(0); }

    input,
textarea,
select { border-radius: 8px; }
    #contact .consult-form {
      border-radius: 16px;
      box-shadow: var(--shadow-card);
    }
    #culture .culture-card h3 {
      font-size: 20px !important;
      font-weight: 600;
    }
    #culture .culture-card > p {
      font-size: 16px;
      font-weight: 400;
      line-height: 1.75;
    }

    #solution-modal-overlay .article-modal h2,
    #article-modal-overlay .article-modal h2 {
      max-width: 760px;
      font-size: clamp(38px, 3.6vw, 42px);
      line-height: 1.24;
    }
    #solution-modal-overlay .article-modal-body,
    #article-modal-overlay .article-modal-body { font-size: 16px; }

    #case-modal-overlay .case-modal-file-design .article-modal-close {
      border: 0;
      border-bottom: 1px solid var(--wes-line);
      border-radius: 0;
      background: var(--wes-white);
      box-shadow: none;
      color: var(--wes-text);
      font-weight: 500;
    }
    #case-modal-overlay .case-file-wrap {
      max-width: 760px;
      padding: 32px 30px 48px;
      color: var(--wes-ink);
      font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", Arial, sans-serif;
      line-height: 1.72;
    }
    #case-modal-overlay .case-file-wrap h1 {
      font-size: 30px;
      font-weight: 600;
      line-height: 1.3;
      letter-spacing: 0;
    }
    #case-modal-overlay .case-file-wrap h2 {
      margin: 36px 0 12px;
      font-size: 18px;
      font-weight: 600;
      letter-spacing: 0;
    }
    #case-modal-overlay .case-file-wrap p {
      margin-bottom: 12px;
      font-size: 15.5px;
    }
    #case-modal-overlay .case-file-wrap .rm-meta-v,
    #case-modal-overlay .case-file-wrap .rm-band td,
    #case-modal-overlay .case-file-wrap .rm-implementation h3,
    #case-modal-overlay .case-file-wrap .rm-rel b,
    #case-modal-overlay .case-file-wrap .rm-rel span:last-child { font-weight: 600; }
    #case-modal-overlay .case-file-wrap table {
      font-size: 14px;
      font-variant-numeric: tabular-nums;
    }
    #case-modal-overlay .case-file-wrap .rm-table-wrap,
    #case-modal-overlay .case-file-wrap .rm-photos figure,
    #case-modal-overlay .case-file-wrap .rm-rel { border-radius: 8px; }
    #case-modal-overlay .case-file-wrap .rm-photos img { aspect-ratio: 4 / 3; }
    #case-modal-overlay .case-file-wrap .rm-photos figcaption {
      font-weight: 600;
      letter-spacing: 0;
    }

    @media (min-width: 761px) and (max-width: 980px) {
      :root { --section-padding: 84px; }
    }

    @media (max-width: 760px) {
      :root { --section-padding: 68px; }
      .container { width: calc(100% - 32px); }
      body { font-size: 16px; }
      .hero h1 {
        font-size: clamp(36px, 9.8vw, 38px);
        line-height: 1.2;
      }
      .section-head { margin-bottom: 40px; }
      .section-head h2,
      section > .container > h2 {
        font-size: clamp(26px, 7.4vw, 30px);
        line-height: 1.34;
      }
      .case-card h3,
.article-card h3,
.solution-item h3,
.culture-card h3,
.safety-culture-card h3 {
        font-size: 18px;
      }
      #cases .case-card h3 { font-size: 18px !important; }
      #culture .culture-card h3 { font-size: 18px !important; }
      #culture .culture-card > p { font-size: 16px; }
      .case-body { padding: 22px; }
      #solution-modal-overlay .article-modal h2,
      #article-modal-overlay .article-modal h2 {
        font-size: clamp(30px, 8.2vw, 34px);
      }
      #case-modal-overlay .case-file-wrap {
        padding: 24px 16px 40px;
      }
      #case-modal-overlay .case-file-wrap h1 { font-size: 24px; }
      #case-modal-overlay .case-file-wrap h2 { font-size: 17px; }
      #case-modal-overlay .case-file-wrap p { font-size: 15px; }
    }
  
    #about .about-intro {
      /* 企业介绍只有正文，下方没有卡片撑满容器，限宽 660px 会在右侧留 560px 空白。
         改为整幅外框，边框/圆角/底色与企业文化卡片同一套参数，
         框铺满 1220px 容器，原本的空白变成内边距。 */
      max-width: none;
      padding: 38px 40px;
      border: 1px solid rgba(255, 255, 255, 0.14);
      border-radius: 16px;
      background: rgba(255, 255, 255, 0.06);
    }
    #about .about-intro p + p {
      margin-top: 22px;
    }
    @media (max-width: 760px) {
      #about .about-intro {
        padding: 24px 20px;
        border-radius: 14px;
      }
    }

  
    /* ===== 区块描述：宽度统一，自然折行 ===== */
    /* 原先各区块描述的 max-width 分散为 660/680px，且 660px 恰好让
       关键问题一段的末行只剩「失。」两个字。
       曾试过 text-wrap: balance，但它是靠压窄整块文字来均分行长，
       结果各段实际文字宽度从 464px 到 696px 不等，与下方铺满容器的
       卡片对不齐，反而更乱，故弃用。
       改为统一限宽 min(100%, 49em)：em 随字号伸缩，100% 使窄屏按容器
       自适应；在当前 15.5px 字号下等于 760px —— 实测 700–820px 区间内
       该值最优，关键问题/安全原则/项目案例三段收进一行，其余末行最短
       9 字（720–744px 会重新出现 2 字孤行，780px 以上末行降到 7 字以下）。 */
    /* 选择器与第 3719 行的 .section-head .section-desc 分组同级 (0,2,0)，
       靠书写顺序覆盖；工程服务另有 id 级的 680px 规则，需单独覆盖。 */
    .section-head .section-desc,
    .section-head-balanced .section-desc {
      max-width: min(100%, 49em);
    }
    #engineering-services .section-head .section-desc,
    #safety-culture .section-head-balanced .section-desc {
      max-width: min(100%, 49em);
    }

    /* ===== 咨询表单：必填标记与说明 ===== */
    .consult-req {
      color: var(--brand-red-on-dark);
      font-weight: 700;
      line-height: 1;
    }

    /* ===== 隐私政策：表单告知、页脚入口、政策弹窗内容层 ===== */
    /* 弹窗外壳复用 .article-modal-overlay / .article-modal（与 case-modal-overlay
       同一约定），定位、过渡、980/640 断点与 @media print 隐藏规则一并继承，
       此处只定义内容层。 */
    .consult-privacy {
      margin: 14px 0 0;
      font-size: 13px;
      line-height: 1.75;
      color: rgba(255, 255, 255, 0.62);
    }
    .consult-privacy .privacy-link {
      padding: 4px 2px;
      min-height: 24px;
      border: 0;
      background: none;
      color: rgba(255, 255, 255, 0.86);
      font: inherit;
      text-decoration: underline;
      text-underline-offset: 3px;
      cursor: pointer;
    }
    .consult-privacy .privacy-link:hover { color: #fff; }
    .footer-bottom-links {
      display: flex;
      align-items: center;
      gap: 16px;
    }
    .footer-privacy-btn {
      display: inline-block;
      padding: 4px 0;
      min-height: 24px;
      border: 0;
      background: none;
      color: inherit;
      font: inherit;
      text-decoration: underline;
      text-underline-offset: 3px;
      cursor: pointer;
    }
    .footer-privacy-btn:hover { color: rgba(255, 255, 255, 0.78); }
    .privacy-modal-header { margin-bottom: 34px; }
    .privacy-modal-header h2 {
      margin: 0 0 10px;
      font-size: 30px;
      line-height: 1.35;
      color: var(--text-main);
    }
    .privacy-modal-meta {
      margin: 0;
      font-size: 14px;
      color: var(--text-muted);
    }
    .privacy-modal-body h3 {
      margin: 40px 0 14px;
      font-size: 19px;
      line-height: 1.5;
      color: var(--text-main);
    }
    .privacy-modal-body h3:first-child { margin-top: 0; }
    .privacy-modal-body h4 {
      margin: 26px 0 12px;
      font-size: 16px;
      line-height: 1.5;
      color: var(--text-main);
    }
    .privacy-modal-body ul {
      margin: 0 0 22px;
      padding-left: 22px;
    }
    .privacy-modal-body li {
      margin-bottom: 8px;
      font-size: 17px;
      line-height: 1.92;
      color: var(--text-strong);
    }
    .privacy-modal-body li:last-child { margin-bottom: 0; }
    .privacy-modal-body a {
      color: var(--brand-red-text);
      text-decoration: underline;
      text-underline-offset: 3px;
    }
    .privacy-modal-body .privacy-contact {
      margin: 0 0 22px;
      padding: 18px 20px;
      border: 1px solid var(--border);
      border-radius: 12px;
      background: var(--bg-soft);
      line-height: 2;
    }
    @media (max-width: 760px) {
      .privacy-modal-header { margin-bottom: 26px; }
      .privacy-modal-header h2 { font-size: 24px; }
      .privacy-modal-body h3 { font-size: 17px; margin-top: 32px; }
      .privacy-modal-body h4 { font-size: 15px; margin-top: 22px; }
      .privacy-modal-body li { font-size: 16px; line-height: 1.86; }
    }

/* ===== 屏幕阅读器专用：内页 h1 ===== */
.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}

/* ===== 首页：解决方案三行概览 与 板块入口链接 ===== */
.service-lines{list-style:none;margin:26px 0 0;padding:0;border-top:1px solid #e4e6e8}
.service-lines li{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;padding:18px 0;border-bottom:1px solid #eceeed}
.service-lines strong{flex:none;min-width:5.5em;font-size:17px;font-weight:700;color:#202326;letter-spacing:-.01em}
.service-lines span{flex:1;min-width:14em;font-size:15px;color:#4a4f54;line-height:1.72}
.section-more{display:inline-flex;align-items:center;gap:7px;margin-top:24px;font-size:14.5px;font-weight:600;color:#DE2823;text-decoration:none}
.section-more:hover{text-decoration:underline;text-underline-offset:3px}
.section-more:focus-visible{outline:2px solid #DE2823;outline-offset:3px;border-radius:2px}
@media (max-width:600px){
  .service-lines li{gap:4px;padding:15px 0}
  .service-lines strong{min-width:0;width:100%}
  .service-lines span{min-width:0}
}
