﻿/* 主题标准色：主色 #032459；橙色 #FF6300 仅作点缀 */
    :root {
      --navy: #032459;
      --navy-deep: #021c45;
      --orange: #ff6300;
      --orange-hover: #e15800;
      --orange-soft: #fdf6ef;
      --bg-subtle: #f3f5f8;
      --bg-white: #ffffff;
      --text: #1a1f2e;
      --text-muted: #5a6578;
      --border: #e8ecf1;
      --radius: 10px;
      --radius-lg: 16px;
      --shadow-sm: 0 1px 3px rgba(35, 47, 62, 0.06);
      --shadow-md: 0 12px 40px rgba(35, 47, 62, 0.08);
      --header-h: 64px;
    }

    * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }

    html {
      scroll-behavior: smooth;
      scroll-padding-top: calc(var(--header-h) + 12px);
    }

    body {
      font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      color: var(--text);
      background: var(--bg-white);
      line-height: 1.65;
      font-size: 16px;
    }

    /* ----- 全站滚动条美化 ----- */
    html {
      scrollbar-width: thin;
      scrollbar-color: var(--navy) #eef2f7;
    }

    ::-webkit-scrollbar {
      width: 10px;
      height: 10px;
    }

    ::-webkit-scrollbar-track {
      background: #eef2f7;
      border-radius: 999px;
    }

    ::-webkit-scrollbar-thumb {
      background: linear-gradient(180deg, var(--navy) 0%, #0a3b86 100%);
      border-radius: 999px;
      border: 2px solid #eef2f7;
    }

    ::-webkit-scrollbar-thumb:hover {
      background: linear-gradient(180deg, var(--orange) 0%, #ff7b2b 100%);
    }

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

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

    .container {
      width: min(1200px, calc(100% - clamp(56px, 11vw, 112px)));
      margin-inline: auto;
    }

    @media (max-width: 640px) {
      .container {
        width: min(1200px, calc(100% - clamp(36px, 10vw, 52px)));
      }
    }

    /* ----- Header：白底顶栏 ----- */
    .site-header {
      position: sticky;
      top: 0;
      z-index: 300;
      background: var(--bg-white);
      border-bottom: 1px solid var(--border);
      box-shadow: var(--shadow-sm);
    }

    .header-inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      height: var(--header-h);
      gap: 20px;
    }

    .brand {
      display: flex;
      align-items: center;
      gap: 10px;
      font-weight: 800;
      font-size: 1.125rem;
      letter-spacing: -0.03em;
      color: var(--navy);
    }

    .brand img {
      width: 40px;
      height: 40px;
      object-fit: contain;
    }

    .nav-links {
      display: flex;
      align-items: center;
      gap: 0 48px;
      list-style: none;
      flex-wrap: wrap;
    }

    .nav-links a {
      font-size: 0.9375rem;
      font-weight: 500;
      color: var(--text-muted);
      transition: color 0.15s;
    }

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

    .nav-links a[aria-current="page"] {
      color: var(--navy);
      font-weight: 600;
    }

    .header-right {
      display: flex;
      align-items: center;
      gap: 18px;
      flex-shrink: 0;
    }

    .nav-toggle {
      display: none;
      align-items: center;
      justify-content: center;
      width: 44px;
      height: 44px;
      padding: 0;
      border: none;
      border-radius: 8px;
      background: transparent;
      cursor: pointer;
      color: var(--navy);
      transition: background 0.15s ease, color 0.15s ease;
      flex-shrink: 0;
    }

    .nav-toggle:hover {
      background: rgba(3, 36, 89, 0.06);
    }

    .nav-toggle:focus-visible {
      outline: 2px solid var(--orange);
      outline-offset: 2px;
    }

    .nav-toggle-inner {
      display: flex;
      flex-direction: column;
      justify-content: center;
      gap: 5px;
      width: 22px;
    }

    .nav-toggle-bar {
      display: block;
      height: 2px;
      width: 100%;
      border-radius: 2px;
      background: currentColor;
      transition: transform 0.2s ease, opacity 0.2s ease;
    }

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

    .site-header.is-nav-open .nav-toggle-bar:nth-child(2) {
      opacity: 0;
      transform: scaleX(0);
    }

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

    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      padding: 11px 22px;
      font-weight: 600;
      font-size: 0.9375rem;
      border-radius: 6px;
      border: none;
      cursor: pointer;
      transition: background 0.2s, color 0.2s, border-color 0.2s;
      white-space: nowrap;
    }

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

    .btn-primary:hover {
      background: var(--orange);
      color: #fff;
    }

    .btn-primary:active {
      background: var(--orange-hover);
    }

    .btn-ghost {
      background: transparent;
      color: var(--navy);
      border: 1px solid var(--border);
    }

    .btn-ghost:hover {
      border-color: var(--navy);
      background: var(--bg-subtle);
    }

    .btn-dark {
      background: var(--navy);
      color: #fff;
    }

    .btn-dark:hover {
      background: var(--orange);
      color: #fff;
    }

    .btn-dark:active {
      background: var(--orange-hover);
    }

    .icon-play {
      width: 18px;
      height: 18px;
      border-radius: 50%;
      border: 2px solid currentColor;
      display: inline-grid;
      place-items: center;
      font-size: 0;
    }

    .icon-play::after {
      content: "";
      border: 5px solid transparent;
      border-left: 7px solid currentColor;
      margin-left: 3px;
    }

    @media (max-width: 960px) {
      .site-header {
        position: relative;
      }

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

      .site-header nav {
        position: absolute;
        left: 0;
        right: 0;
        top: calc(100% - 1px);
        z-index: 400;
        background: var(--bg-white);
        border-bottom: 1px solid var(--border);
        box-shadow: 0 16px 32px rgba(35, 47, 62, 0.12);
        padding: 8px clamp(18px, 5vw, 40px) 16px;
        visibility: hidden;
        opacity: 0;
        transform: translateY(-6px);
        pointer-events: none;
        transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
      }

      .site-header.is-nav-open nav {
        visibility: visible;
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
      }

      .nav-links {
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        flex-wrap: nowrap;
      }

      .nav-links li {
        border-bottom: 1px solid rgba(232, 236, 241, 0.9);
      }

      .nav-links li:last-child {
        border-bottom: none;
      }

      .nav-links a {
        display: block;
        padding: 14px 4px;
        font-size: 1rem;
      }

      body.is-nav-drawer-open {
        overflow: hidden;
      }
    }

    /* ----- 全屏大图轮播（Pacvue 式：整屏背景 + 居中白字） ----- */
    .hero.hero--immersive {
      padding: 0;
      margin: 0;
      border: none;
      position: relative;
    }

    .hero-immersive-wrap {
      position: relative;
      min-height: calc(100svh - var(--header-h));
      min-height: calc(100vh - var(--header-h));
    }

    .hero-immersive-viewport {
      position: relative;
      overflow: hidden;
      min-height: calc(100svh - var(--header-h));
      min-height: calc(100vh - var(--header-h));
    }

    .hero-immersive-track {
      display: flex;
      min-height: calc(100svh - var(--header-h));
      min-height: calc(100vh - var(--header-h));
      transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
    }

    @media (prefers-reduced-motion: reduce) {
      .hero-immersive-track {
        transition: none;
      }
    }

    .hero-slide {
      flex: 0 0 100%;
      min-width: 0;
      min-height: calc(100svh - var(--header-h));
      min-height: calc(100vh - var(--header-h));
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      background-color: var(--navy-deep);
    }

    .hero-slide::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 0;
      background: linear-gradient(
        180deg,
        rgba(35, 47, 62, 0.58) 0%,
        rgba(35, 47, 62, 0.42) 45%,
        rgba(26, 35, 48, 0.72) 100%
      );
    }

    .hero-fs-content {
      position: relative;
      z-index: 2;
      text-align: center;
      padding: 48px 24px 100px;
      max-width: 920px;
      margin: 0 auto;
    }

    .hero-fs-content h1 {
      font-size: clamp(2.1rem, 5.5vw, 3.75rem);
      font-weight: 800;
      line-height: 1.12;
      letter-spacing: -0.04em;
      color: #fff;
      margin-bottom: 22px;
      text-shadow: 0 2px 18px rgba(0, 0, 0, 0.35);
    }

    .hero-fs-lead {
      font-size: clamp(1rem, 2.2vw, 1.2rem);
      color: rgba(255, 255, 255, 0.88);
      line-height: 1.65;
      margin-bottom: 14px;
      text-shadow: 0 1px 16px rgba(0, 0, 0, 0.35);
    }

    .hero-fs-sub {
      font-size: 0.98rem;
      color: rgba(255, 255, 255, 0.78);
      margin-bottom: 32px;
      line-height: 1.6;
    }

    .hero-fs-actions {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 16px 22px;
      width: 100%;
      max-width: min(400px, 100%);
      margin-inline: auto;
    }

    .hero-fs-actions .btn-hero-primary,
    .hero-fs-actions .btn-hero-secondary {
      width: 100%;
      box-sizing: border-box;
    }

    .btn-hero-primary {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 14px 28px;
      font-weight: 600;
      font-size: 1.02rem;
      border-radius: 999px;
      background: var(--navy);
      color: #fff;
      border: 1px solid rgba(255, 255, 255, 0.14);
      box-shadow: 0 8px 28px rgba(0, 0, 0, 0.22);
      transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
    }

    .btn-hero-primary:hover {
      background: var(--orange);
      border-color: rgba(255, 255, 255, 0.35);
      box-shadow: 0 10px 32px rgba(255, 121, 0, 0.35);
      transform: translateY(-1px);
    }

    .btn-hero-primary:active {
      background: var(--orange-hover);
    }

    .btn-hero-secondary {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      padding: 14px 28px;
      font-weight: 600;
      font-size: 0.98rem;
      border-radius: 999px;
      background: rgba(255, 255, 255, 0.08);
      color: #fff;
      border: 1px solid rgba(255, 255, 255, 0.88);
      transition: background 0.2s, border-color 0.2s;
    }

    .btn-hero-secondary:hover {
      background: var(--orange);
      border-color: var(--orange);
      color: #fff;
    }

    .btn-hero-secondary:active {
      background: var(--orange-hover);
      border-color: var(--orange-hover);
    }

    .btn-hero-secondary .icon-play {
      border-color: rgba(255, 255, 255, 0.95);
    }

    .btn-hero-secondary .icon-play::after {
      border-left-color: #fff;
    }

    .hero-arrow {
      position: absolute;
      top: 50%;
      z-index: 10;
      width: 48px;
      height: 48px;
      margin-top: -24px;
      border: 1px solid rgba(255, 255, 255, 0.35);
      border-radius: 50%;
      background: rgba(0, 0, 0, 0.25);
      color: #fff;
      font-size: 1.45rem;
      line-height: 1;
      cursor: pointer;
      display: grid;
      place-items: center;
      backdrop-filter: blur(6px);
      transition: background 0.2s, border-color 0.2s, color 0.2s;
    }

    .hero-arrow:hover {
      background: rgba(255, 255, 255, 0.15);
      border-color: rgba(255, 255, 255, 0.65);
    }

    .hero-arrow:focus-visible {
      outline: 2px solid var(--orange);
      outline-offset: 3px;
    }

    .hero-arrow--prev {
      left: 18px;
    }

    .hero-arrow--next {
      right: 18px;
    }

    @media (max-width: 640px) {
      .hero-arrow {
        width: 42px;
        height: 42px;
        margin-top: -21px;
        font-size: 1.25rem;
      }

      .hero-arrow--prev {
        left: 10px;
      }

      .hero-arrow--next {
        right: 10px;
      }
    }

    .hero-dot {
      width: 10px;
      height: 10px;
      padding: 0;
      border: none;
      border-radius: 50%;
      cursor: pointer;
      transition: background 0.2s, transform 0.2s;
    }

    .hero-carousel-dots.hero-dots--immersive {
      position: absolute;
      left: 0;
      right: 0;
      bottom: max(28px, env(safe-area-inset-bottom, 0px));
      margin: 0;
      padding: 0 16px;
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 10px;
      z-index: 12;
    }

    .hero-dots--immersive .hero-dot {
      width: 10px;
      height: 10px;
      background: rgba(255, 255, 255, 0.38);
    }

    .hero-dots--immersive .hero-dot:hover {
      background: rgba(255, 255, 255, 0.6);
    }

    .hero-dots--immersive .hero-dot[aria-current="true"] {
      background: var(--orange);
      transform: scale(1.2);
    }

    .hero-dots--immersive .hero-dot:focus-visible {
      outline: 2px solid #fff;
      outline-offset: 2px;
    }

    /* ----- 关于我们 + 关键数据（Pacvue：居中导语 + 下方四宫格白卡片） ----- */
    .about-intro {
      padding: 56px 0 64px;
      background: var(--bg-white);
      border-bottom: 1px solid var(--border);
    }

    .about-intro-head {
      max-width: 920px;
      margin: 0 auto 44px;
    }

    .about-intro-head .section-head {
      max-width: 920px;
      margin: 0 auto 22px;
    }

    .about-intro-desc {
      font-size: 1.0625rem;
      color: var(--text-muted);
      line-height: 1.85;
      margin: 0;
      text-align: center;
    }

    .stats-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 20px;
    }

    @media (max-width: 900px) {
      .stats-grid {
        grid-template-columns: repeat(2, 1fr);
      }
    }

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

    .stat-card--pacvue {
      background: var(--bg-white);
      border: 1px solid var(--border);
      border-radius: var(--radius-lg);
      padding: clamp(26px, 4vw, 32px) clamp(14px, 2.5vw, 22px) clamp(24px, 3vw, 30px);
      text-align: center;
      transition: box-shadow 0.2s, border-color 0.2s;
    }

    .stat-card--pacvue:hover {
      box-shadow: var(--shadow-md);
      border-color: rgba(35, 47, 62, 0.12);
    }

    .stat-icon-wrap {
      width: clamp(68px, 12vw, 80px);
      height: clamp(68px, 12vw, 80px);
      margin: 0 auto clamp(18px, 3vw, 22px);
      border-radius: 50%;
      background: var(--navy);
      display: grid;
      place-items: center;
      box-shadow: 0 6px 18px rgba(35, 47, 62, 0.2);
      perspective: 720px;
      transition: background 0.35s ease, box-shadow 0.35s ease;
    }

    .stat-icon-inner {
      display: grid;
      place-items: center;
      width: 100%;
      height: 100%;
      transform-style: preserve-3d;
      transition: transform 0.7s cubic-bezier(0.34, 1.2, 0.64, 1);
      will-change: transform;
    }

    .stat-card--pacvue:hover .stat-icon-wrap {
      background: var(--orange);
      box-shadow: 0 10px 26px rgba(255, 121, 0, 0.38);
    }

    .stat-card--pacvue:hover .stat-icon-inner {
      transform: rotateY(360deg);
    }

    @media (prefers-reduced-motion: reduce) {
      .stat-icon-inner {
        transition: none;
      }

      .stat-card--pacvue:hover .stat-icon-inner {
        transform: none;
      }
    }

    .stat-icon-wrap svg {
      width: clamp(28px, 5vw, 34px);
      height: clamp(28px, 5vw, 34px);
      fill: #fff;
    }

    .stat-line {
      font-size: 1.0625rem;
      color: var(--text-muted);
      line-height: 1.65;
      margin: 0;
    }

    .stat-line strong {
      font-weight: 800;
      color: var(--navy);
      font-size: 1em;
    }

    /* ----- 通用区块 ----- */
    .section {
      position: relative;
      padding: clamp(72px, 8vw, 96px) 0;
    }

    main > .section::before {
      content: "";
      position: absolute;
      top: 0;
      left: 50%;
      transform: translateX(-50%);
      width: min(1200px, calc(100% - 56px));
      height: 1px;
      background: linear-gradient(
        90deg,
        rgba(3, 36, 89, 0) 0%,
        rgba(3, 36, 89, 0.08) 18%,
        rgba(3, 36, 89, 0.08) 82%,
        rgba(3, 36, 89, 0) 100%
      );
    }

    .section--muted {
      background: var(--bg-subtle);
      box-shadow: inset 0 1px 0 rgba(3, 36, 89, 0.04), inset 0 -1px 0 rgba(3, 36, 89, 0.03);
    }

    .section-head {
      text-align: center;
      max-width: 820px;
      margin: 0 auto clamp(32px, 4vw, 46px);
    }

    .section-kicker {
      font-size: 0.75rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.12em;
      color: rgba(35, 47, 62, 0.55);
      margin-bottom: 10px;
    }

    .section-head h2 {
      font-size: clamp(1.72rem, 3.4vw, 2.4rem);
      font-weight: 800;
      letter-spacing: -0.03em;
      color: var(--navy);
      margin-bottom: clamp(12px, 1.8vw, 18px);
    }

    .section-head p {
      color: var(--text-muted);
      font-size: clamp(1rem, 1.7vw, 1.12rem);
      line-height: 1.75;
    }

    .cards-3 {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 22px;
    }

    #expertise .cards-3 {
      margin-top: clamp(28px, 4vw, 48px);
      margin-bottom: clamp(24px, 3.2vw, 38px);
    }

    @media (max-width: 900px) {
      .cards-3 {
        grid-template-columns: 1fr;
      }
    }

    .card {
      background: var(--bg-white);
      border: 1px solid var(--border);
      border-radius: var(--radius-lg);
      padding: 26px 24px;
      box-shadow: var(--shadow-sm);
      transition: box-shadow 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
    }

    .section--muted .card {
      background: var(--bg-white);
    }

    .card:hover {
      box-shadow: var(--shadow-md);
      border-color: rgba(35, 47, 62, 0.18);
      transform: translateY(-2px);
    }

    .card h3 {
      font-size: 1.0625rem;
      font-weight: 700;
      margin-bottom: 10px;
      color: var(--navy);
    }

    .card p {
      font-size: 0.9375rem;
      color: var(--text-muted);
    }

    .card .sub {
      font-size: 0.75rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      color: rgba(35, 47, 62, 0.62);
      margin-bottom: 8px;
    }

    .card--media {
      padding: 0;
      overflow: hidden;
    }

    .card-media {
      aspect-ratio: 4 / 3;
      min-height: 200px;
      overflow: hidden;
    }

    .card-media img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.35s ease;
      transform-origin: center;
    }

    .card--media:hover .card-media img {
      transform: scale(1.06);
    }

    .card--media .card-body {
      padding: 22px 24px 26px;
    }

    /* ----- 能力全景：Pacvue「软件可以实现」式滚动联动 ----- */
    #capabilities {
      position: relative;
      isolation: isolate;
      background:
        linear-gradient(180deg, #f5f8ff 0%, #f3f7ff 56%, #eef4ff 100%);
    }

    #capabilities::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        radial-gradient(36% 44% at 10% 18%, rgba(66, 124, 255, 0.14) 0%, rgba(66, 124, 255, 0) 100%),
        radial-gradient(38% 46% at 90% 84%, rgba(255, 134, 34, 0.12) 0%, rgba(255, 134, 34, 0) 100%);
      pointer-events: none;
      z-index: 0;
    }

    #capabilities::after {
      content: "";
      position: absolute;
      inset: 0;
      background-image:
        linear-gradient(rgba(3, 36, 89, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(3, 36, 89, 0.03) 1px, transparent 1px);
      background-size: 36px 36px;
      mask: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0.6) 0%,
        rgba(0, 0, 0, 0.22) 45%,
        rgba(0, 0, 0, 0.42) 100%
      );
      -webkit-mask: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0.6) 0%,
        rgba(0, 0, 0, 0.22) 45%,
        rgba(0, 0, 0, 0.42) 100%
      );
      opacity: 0.48;
      pointer-events: none;
      z-index: 0;
    }

    #capabilities .container {
      position: relative;
      z-index: 1;
    }

    .cap-tabs-wrap {
      margin: 0 auto;
    }

    .cap-split {
      display: grid;
      grid-template-columns: minmax(420px, 1fr) minmax(0, 0.92fr);
      gap: clamp(24px, 4vw, 52px);
      align-items: start;
      min-height: min-content;
    }

    .cap-visual-col {
      position: sticky;
      top: calc(var(--header-h) + 20px);
      align-self: start;
      z-index: 2;
    }

    @media (max-width: 980px) {
      .cap-split {
        grid-template-columns: 1fr;
      }

      .cap-visual-col {
        position: relative;
        top: 0;
      }
    }

    .cap-visual-stack {
      position: relative;
      border-radius: var(--radius-lg);
      overflow: hidden;
      min-height: clamp(420px, 52vw, 620px);
      box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.08),
        0 16px 48px rgba(35, 47, 62, 0.18);
    }

    .cap-visual {
      position: absolute;
      inset: 0;
      border-radius: inherit;
      overflow: hidden;
      background: linear-gradient(165deg, #152536 0%, var(--navy) 28%, #3d6fa3 72%, #8ec8f5 100%);
      opacity: 0;
      transform: scale(1.08) translateY(14px);
      filter: saturate(0.72) blur(2px);
      transition: opacity 0.62s ease, transform 0.62s cubic-bezier(0.22, 1, 0.36, 1), filter 0.62s ease;
      pointer-events: none;
    }

    .cap-visual.is-active {
      opacity: 1;
      transform: scale(1) translateY(0);
      filter: saturate(1) blur(0);
      pointer-events: auto;
      z-index: 2;
    }

    .cap-visual::before {
      content: "";
      position: absolute;
      inset: -40%;
      background: radial-gradient(ellipse at 30% 20%, rgba(255, 255, 255, 0.14) 0%, transparent 55%);
      pointer-events: none;
    }

    @media (prefers-reduced-motion: reduce) {
      .cap-visual {
        transition: none;
      }
    }

    .cap-float {
      position: absolute;
      background: var(--bg-white);
      border-radius: 12px;
      box-shadow:
        0 14px 36px rgba(15, 28, 48, 0.22),
        0 2px 0 rgba(255, 255, 255, 0.75) inset;
    }

    .cap-float--hero {
      left: 8%;
      top: 12%;
      width: 72%;
      padding: 14px 14px 16px;
      z-index: 2;
    }

    .cap-float-table-head {
      display: grid;
      grid-template-columns: 1fr 58px 52px;
      gap: 6px;
      align-items: center;
      margin-bottom: 10px;
      font-size: 0.5625rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.04em;
      color: var(--bg-white);
    }

    .cap-float-table-head span {
      padding: 6px 8px;
      border-radius: 6px;
      background: var(--orange);
      text-align: center;
    }

    .cap-float-table-head span:first-child {
      background: var(--navy);
      text-align: left;
    }

    .cap-float-rows {
      display: flex;
      flex-direction: column;
      gap: 6px;
    }

    .cap-float-row {
      display: grid;
      grid-template-columns: 1fr 52px 44px;
      gap: 6px;
      align-items: center;
      font-size: 0.625rem;
      color: var(--text-muted);
    }

    .cap-float-row span:last-child {
      color: #16a34a;
      font-weight: 700;
      font-size: 0.6875rem;
    }

    .cap-mini-spark {
      display: inline-flex;
      align-items: flex-end;
      gap: 2px;
      height: 22px;
    }

    .cap-mini-spark i {
      display: block;
      width: 100%;
      border-radius: 2px;
      background: linear-gradient(180deg, #38bdf8, #0284c7);
      animation: cap-spark-h 2.4s ease-in-out infinite;
    }

    .cap-mini-spark i:nth-child(1) {
      height: 35%;
      animation-delay: 0s;
    }

    .cap-mini-spark i:nth-child(2) {
      height: 70%;
      animation-delay: 0.15s;
    }

    .cap-mini-spark i:nth-child(3) {
      height: 50%;
      animation-delay: 0.3s;
    }

    @keyframes cap-spark-h {
      0%,
      100% {
        transform: scaleY(0.85);
      }
      50% {
        transform: scaleY(1);
      }
    }

    @media (prefers-reduced-motion: reduce) {
      .cap-mini-spark i {
        animation: none;
      }
    }

    .cap-float--chart {
      right: 6%;
      bottom: 18%;
      width: 52%;
      padding: 12px 12px 14px;
      z-index: 3;
    }

    .cap-line-chart {
      width: 100%;
      height: 64px;
    }

    .cap-float--donut {
      left: 10%;
      bottom: 14%;
      width: 27%;
      aspect-ratio: 1;
      padding: 10px;
      display: grid;
      place-items: center;
      z-index: 1;
    }

    .cap-donut-ring {
      width: 88%;
      aspect-ratio: 1;
      border-radius: 50%;
      background: conic-gradient(
        var(--orange) 0deg 110deg,
        #38bdf8 110deg 220deg,
        #86efac 220deg 320deg,
        var(--border) 320deg 360deg
      );
      mask: radial-gradient(farthest-side, transparent calc(100% - 9px), #000 calc(100% - 9px + 1px));
      -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 9px), #000 calc(100% - 9px + 1px));
    }

    .cap-pill {
      position: absolute;
      z-index: 4;
      padding: 6px 11px;
      border-radius: 999px;
      font-size: 0.5625rem;
      font-weight: 700;
      letter-spacing: 0.02em;
      white-space: nowrap;
      box-shadow: 0 8px 20px rgba(15, 28, 48, 0.18);
    }

    .cap-pill--orange {
      left: 14%;
      top: 52%;
      background: var(--orange);
      color: #fff;
      display: inline-flex;
      align-items: center;
      gap: 4px;
    }

    .cap-pill--orange .cap-pill-ic {
      font-size: 0.5rem;
      line-height: 1;
    }

    .cap-pill--ghost {
      right: 10%;
      top: 22%;
      background: rgba(255, 255, 255, 0.95);
      color: var(--navy);
      border: 1px solid rgba(35, 47, 62, 0.1);
    }

    .cap-pill--muted {
      right: 8%;
      bottom: 10%;
      background: rgba(255, 255, 255, 0.88);
      color: var(--navy);
      font-weight: 600;
    }

    /* 右侧：滚动条目（当前项高亮） */
    .cap-nav-side {
      display: flex;
      flex-direction: column;
    }

    .cap-nav-stack {
      display: flex;
      flex-direction: column;
      gap: 0;
    }

    .cap-step {
      min-height: clamp(150px, 18vw, 210px);
      display: flex;
      align-items: center;
    }

    .cap-nav-item {
      width: 100%;
      border-bottom: 1px solid #e9edf3;
      padding: clamp(10px, 1.4vw, 16px) 0;
      transition: border-color 0.25s ease;
    }

    .cap-step.is-active .cap-nav-item {
      border-color: rgba(35, 47, 62, 0.2);
    }

    .cap-nav-label {
      display: block;
      font-size: clamp(1.46rem, 2.55vw, 2rem);
      font-weight: 700;
      color: rgba(3, 36, 89, 0.26);
      letter-spacing: -0.02em;
      line-height: 1.25;
      transition: color 0.25s ease;
    }

    .cap-nav-desc {
      display: block;
      margin-top: 10px;
      font-size: clamp(0.96rem, 1.25vw, 1.1rem);
      line-height: 1.7;
      color: rgba(90, 101, 120, 0.33);
      transition: color 0.25s ease;
    }

    .cap-step.is-active .cap-nav-label {
      font-weight: 800;
      color: var(--navy);
    }

    .cap-step.is-active .cap-nav-desc {
      color: var(--text-muted);
    }

    @media (max-width: 980px) {
      .cap-step {
        min-height: auto;
      }

      .cap-nav-stack {
        gap: 0;
        margin-top: 18px;
      }

      .cap-nav-item {
        padding: 10px 0;
      }
    }

    /* ----- 横向亮点（参考 ROAS / CVR 数据条） ----- */
    .metrics-row {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px 20px;
      margin-top: clamp(36px, 5vw, 52px);
      padding: clamp(16px, 2.2vw, 22px) clamp(8px, 1.1vw, 12px);
      background: var(--bg-white);
      border: 1px dashed var(--border);
      border-radius: var(--radius-lg);
    }

    .metrics-row li {
      list-style: none;
      font-size: clamp(0.9375rem, 1.6vw, 1.0625rem);
      color: var(--text-muted);
      line-height: 1.55;
      text-align: center;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
    }

    @media (max-width: 900px) {
      .metrics-row {
        grid-template-columns: 1fr;
      }
    }

    .metrics-row strong {
      color: var(--navy);
      font-weight: 800;
      font-size: clamp(1.0625rem, 2vw, 1.1875rem);
    }

    .metric-ic {
      width: 22px;
      height: 22px;
      flex: 0 0 22px;
      display: grid;
      place-items: center;
      color: rgba(35, 47, 62, 0.62);
    }

    .metric-ic svg {
      width: 22px;
      height: 22px;
      fill: currentColor;
    }

    .metric-content {
      display: inline;
    }

    /* ----- 增长板块（重设计） ----- */
    .growth-layout {
      display: grid;
      gap: 24px;
    }

    .growth-overview {
      position: relative;
      isolation: isolate;
      background:
        radial-gradient(120% 160% at 100% 0%, rgba(255, 99, 0, 0.08) 0%, rgba(255, 99, 0, 0) 55%),
        linear-gradient(135deg, rgba(3, 36, 89, 0.06) 0%, rgba(3, 36, 89, 0.02) 100%);
      border: 1px solid rgba(3, 36, 89, 0.1);
      border-radius: 16px;
      padding: clamp(20px, 3vw, 30px) clamp(20px, 3.2vw, 34px);
      box-shadow: 0 12px 26px rgba(3, 36, 89, 0.06);
      overflow: hidden;
    }

    .growth-overview::before {
      content: "";
      position: absolute;
      inset: 14px auto 14px 14px;
      width: 4px;
      border-radius: 4px;
      background: linear-gradient(180deg, #ff9a1f 0%, #ff6300 100%);
      z-index: -1;
    }

    .growth-overview::after {
      content: "";
      position: absolute;
      right: -70px;
      top: -70px;
      width: 220px;
      height: 220px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(255, 153, 0, 0.16) 0%, rgba(255, 153, 0, 0) 72%);
      pointer-events: none;
      z-index: -1;
    }

    .growth-overview h3 {
      font-size: clamp(1.22rem, 1.9vw, 1.45rem);
      color: var(--navy);
      font-weight: 800;
      margin-bottom: 10px;
      line-height: 1.35;
      letter-spacing: 0.01em;
    }

    .growth-overview p {
      color: rgba(23, 40, 66, 0.8);
      font-size: 1rem;
      line-height: 1.8;
      max-width: 70ch;
    }

    @media (max-width: 680px) {
      .growth-overview {
        padding: 18px 18px 20px 22px;
      }

      .growth-overview::before {
        inset: 10px auto 10px 10px;
      }
    }

    .growth-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 16px;
    }

    @media (max-width: 1080px) {
      .growth-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }

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

    .growth-card {
      position: relative;
      min-height: 580px;
      border-radius: 12px;
      overflow: hidden;
      border: none;
      background-color: #ececec;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      box-shadow: var(--shadow-sm);
      transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
    }

    .growth-card::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        radial-gradient(190px 120px at 82% 15%, rgba(255, 255, 255, 0.76), transparent 72%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.18) 0%, rgba(7, 10, 16, 0.18) 100%);
      z-index: 0;
      filter: grayscale(1) brightness(1.05);
      transition: opacity 0.3s ease, filter 0.3s ease;
    }

    .growth-card::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, rgba(255, 143, 0, 0.06) 0%, rgba(255, 143, 0, 0.22) 100%);
      opacity: 0;
      z-index: 0;
      transition: opacity 0.3s ease;
    }

    .growth-card:hover {
      transform: translateY(-5px);
      box-shadow: 0 14px 36px rgba(10, 14, 26, 0.2);
    }

    .growth-card:hover::after {
      opacity: 1;
    }

    .growth-card:hover::before {
      filter: grayscale(0.1) brightness(1);
    }

    .growth-card__default,
    .growth-card__hover {
      position: absolute;
      inset: 0;
      z-index: 1;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      padding: 22px;
    }

    .growth-card__default {
      transition: opacity 0.28s ease, transform 0.28s ease;
      padding-bottom: 54px;
      background: linear-gradient(180deg, rgba(10, 12, 18, 0.02) 42%, rgba(10, 12, 18, 0.62) 100%);
    }

    .growth-card__default h3 {
      margin: 0;
      font-size: clamp(2rem, 2.6vw, 2.25rem);
      line-height: 1.2;
      color: #f8fbff;
      text-align: center;
      font-weight: 800;
      min-height: 52px;
      letter-spacing: 0.02em;
      text-shadow: 0 4px 14px rgba(0, 0, 0, 0.62);
    }

    .growth-card__hover {
      background: linear-gradient(180deg, rgba(30, 34, 45, 0.02) 15%, rgba(18, 20, 27, 0.58) 100%);
      opacity: 0;
      transform: translateY(24px);
      pointer-events: none;
      transition: opacity 0.28s ease, transform 0.28s ease;
      align-items: center;
      text-align: center;
      justify-content: flex-end;
      gap: 10px;
      padding-bottom: 28px;
    }

    .growth-card:hover .growth-card__hover {
      opacity: 1;
      transform: translateY(0);
      pointer-events: auto;
    }

    .growth-card:hover .growth-card__default {
      opacity: 0;
      transform: translateY(8px);
    }

    .growth-card__hover h3 {
      margin: 0;
      font-size: clamp(1.85rem, 2.3vw, 2.1rem);
      color: #ff9300;
      font-weight: 800;
      line-height: 1.2;
    }

    .growth-card__hover .sub {
      margin: 2px 0 0;
      font-size: 0.82rem;
      color: rgba(255, 255, 255, 0.78);
      letter-spacing: 0.08em;
      text-transform: uppercase;
      font-weight: 700;
    }

    .growth-card__hover p:not(.sub) {
      margin: 0;
      color: #ffffff;
      font-size: 0.98rem;
      line-height: 1.7;
      max-width: 22ch;
      text-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
    }

    .growth-card__btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin-top: 8px;
      padding: 10px 26px;
      border-radius: 999px;
      background: linear-gradient(135deg, #ffb300 0%, #ff8a00 100%);
      color: #ffffff;
      font-weight: 700;
      text-decoration: none;
      box-shadow: 0 8px 18px rgba(255, 148, 0, 0.34);
      transition: transform 0.2s ease, box-shadow 0.2s ease;
    }

    .growth-card__btn:hover {
      transform: translateY(-1px);
      box-shadow: 0 12px 20px rgba(255, 148, 0, 0.4);
    }

    .growth-card--mall {
      background-image: url("../assets/card-global.jpg");
    }

    .growth-card--store {
      background-image: url("../assets/card-moat.jpg");
    }

    .growth-card--gov {
      background-image: url("../assets/card-cognitive.jpg");
    }

    .growth-card--law {
      background-image: url("../assets/about-growth.jpg");
    }

    /* ----- 服务区：四卡 + 中心 AI 打通（浅色版） ----- */
    #services {
      position: relative;
      overflow: hidden;
      background: linear-gradient(165deg, #edf3ff 0%, #eaf2ff 100%);
      isolation: isolate;
    }

    #services::before {
      content: "";
      position: absolute;
      inset: -24px;
      background:
        linear-gradient(0deg, rgba(255, 255, 255, 0.36), rgba(255, 255, 255, 0.36)),
        url("../assets/mission-bg.jpg") center / cover no-repeat;
      filter: blur(14px) saturate(115%);
      opacity: 0.52;
      pointer-events: none;
      z-index: 0;
    }

    #services::after {
      content: "";
      position: absolute;
      inset: 0;
      background:
        radial-gradient(44% 62% at 12% 14%, rgba(63, 133, 255, 0.2) 0%, rgba(63, 133, 255, 0) 100%),
        radial-gradient(46% 68% at 88% 86%, rgba(255, 124, 31, 0.18) 0%, rgba(255, 124, 31, 0) 100%),
        linear-gradient(165deg, rgba(255, 255, 255, 0.32) 0%, rgba(255, 255, 255, 0.22) 100%);
      backdrop-filter: blur(2px);
      -webkit-backdrop-filter: blur(2px);
      pointer-events: none;
      z-index: 0;
    }

    #services .container {
      position: relative;
      z-index: 1;
    }

    .services-connect {
      display: grid;
      grid-template-columns: minmax(260px, 1fr) minmax(320px, 420px) minmax(260px, 1fr);
      align-items: center;
      gap: clamp(20px, 3.6vw, 40px);
      max-width: 1180px;
      margin: 0 auto;
      padding: clamp(10px, 1.6vw, 20px) 0;
    }

    .service-node-stack {
      display: grid;
      grid-template-rows: 1fr auto 1fr;
      gap: 12px;
      justify-items: center;
    }

    .service-node {
      width: 100%;
      max-width: 340px;
      min-height: 146px;
      background: linear-gradient(165deg, rgba(255, 255, 255, 0.68) 0%, rgba(244, 250, 255, 0.56) 100%);
      border: 1px solid rgba(255, 255, 255, 0.48);
      border-radius: 16px;
      padding: 24px 20px 20px;
      text-align: center;
      box-shadow: 0 10px 28px rgba(3, 36, 89, 0.09), inset 0 1px 0 rgba(255, 255, 255, 0.44);
      -webkit-backdrop-filter: blur(10px) saturate(115%);
      backdrop-filter: blur(10px) saturate(115%);
      transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
    }

    .service-node-icon {
      width: 56px;
      height: 56px;
      margin: 0 auto 10px;
      border-radius: 12px;
      display: grid;
      place-items: center;
      background: linear-gradient(180deg, #eef5ff 0%, #e4efff 100%);
      color: #1f5ec8;
      box-shadow: inset 0 0 0 1px rgba(31, 94, 200, 0.14);
    }

    .service-node-icon svg {
      width: 30px;
      height: 30px;
      fill: currentColor;
    }

    .service-node:hover {
      transform: translateY(-2px);
      border-color: rgba(3, 36, 89, 0.22);
      box-shadow: 0 14px 34px rgba(3, 36, 89, 0.14);
    }

    .service-node h3 {
      font-size: 1.65rem;
      font-weight: 800;
      color: var(--navy);
      margin-bottom: 14px;
      line-height: 1.35;
      letter-spacing: -0.02em;
    }

    .service-node p {
      color: var(--text-muted);
      font-size: 1.02rem;
      line-height: 1.9;
      margin: 0;
    }

    .service-node--left,
    .service-node--right {
      justify-self: center;
    }

    .service-ai-hub {
      position: relative;
      z-index: 10;
      width: 74px;
      height: 74px;
      border-radius: 50%;
      display: grid;
      place-items: center;
      background: radial-gradient(circle at 35% 30%, #77c2ff 0%, #2d76df 52%, #1747a4 100%);
      box-shadow: 0 0 0 2px rgba(40, 122, 220, 0.24), 0 10px 26px rgba(24, 71, 164, 0.24);
      isolation: isolate;
    }

    .service-ai-hub::before,
    .service-ai-hub::after {
      content: "";
      position: absolute;
      border-radius: 50%;
      inset: 0;
      border: 2px solid rgba(45, 118, 223, 0.3);
      animation: ai-ripple 2.8s ease-out infinite;
    }

    .service-ai-hub::before {
      animation-delay: 0s;
    }

    .service-ai-hub::after {
      animation-delay: 1.4s;
    }

    .service-ai-hub span {
      position: relative;
      z-index: 2;
      font-weight: 800;
      color: #fff;
      letter-spacing: 0.03em;
    }

    @keyframes ai-ripple {
      0% {
        transform: scale(1);
        opacity: 0.75;
      }
      100% {
        transform: scale(2.2);
        opacity: 0;
      }
    }

    @media (max-width: 980px) {
      .services-connect {
        grid-template-columns: 1fr;
        gap: 16px;
      }

      .service-node-stack {
        order: 2;
      }

      .service-node--left {
        order: 1;
      }

      .service-node--right {
        order: 3;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      .service-ai-hub::before,
      .service-ai-hub::after {
        animation: none;
        opacity: 0.45;
        transform: scale(1.2);
      }
    }

    /* ----- 全域增长路径（图2风格，主题蓝） ----- */
    .growth-roadmap {
      margin-top: clamp(8px, 1.4vw, 14px);
      border-radius: 0;
      background: transparent;
      padding: clamp(22px, 4vw, 44px) clamp(20px, 4.2vw, 46px) clamp(18px, 3.2vw, 26px);
      border: none;
    }

    .growth-roadmap__steps {
      margin: 0;
      padding: 0;
      list-style: none;
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 14px 40px;
      max-width: 760px;
    }

    .growth-roadmap__steps li {
      display: grid;
      grid-template-columns: auto 1fr;
      align-items: start;
      column-gap: 12px;
      row-gap: 4px;
      min-height: 72px;
    }

    .growth-roadmap__steps .index {
      width: 26px;
      height: 26px;
      border-radius: 50%;
      display: grid;
      place-items: center;
      font-size: 0.9rem;
      font-weight: 700;
      color: var(--navy);
      background: rgba(61, 111, 163, 0.14);
      border: 1px solid rgba(3, 36, 89, 0.16);
      margin-top: 1px;
    }

    .growth-roadmap__steps h3 {
      margin: 0;
      font-size: 1.18rem;
      color: var(--navy);
      line-height: 1.3;
      font-weight: 800;
      letter-spacing: -0.01em;
      grid-column: 2;
    }

    .growth-roadmap__steps p {
      margin: 0;
      grid-column: 2;
      color: rgba(35, 47, 62, 0.72);
      font-size: 0.95rem;
      line-height: 1.65;
    }

    .growth-roadmap__curve {
      margin-top: clamp(18px, 3vw, 28px);
      height: clamp(160px, 24vw, 240px);
      position: relative;
      overflow: hidden;
      background: #ffffff;
      border-radius: 10px;
    }

    .growth-roadmap__curve::before {
      content: none;
    }

    .growth-roadmap__curve svg {
      width: 100%;
      height: 100%;
      display: block;
    }

    .growth-roadmap__curve-guides line {
      stroke: rgba(3, 36, 89, 0.16);
      stroke-width: 1;
      stroke-dasharray: 6 6;
    }

    .growth-roadmap__curve-fill {
      pointer-events: none;
    }

    .growth-roadmap__curve-line {
      fill: none;
      stroke: #2f6fce;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .growth-roadmap__note {
      margin: clamp(24px, 3.6vw, 40px) 0 0;
      text-align: center;
      color: rgba(35, 47, 62, 0.72);
      font-size: 0.96rem;
      line-height: 1.7;
    }

    @media (max-width: 820px) {
      .growth-roadmap {
        border-radius: 14px;
        padding: 20px 16px 16px;
      }

      .growth-roadmap__steps {
        grid-template-columns: 1fr;
        gap: 12px;
      }

      .growth-roadmap__curve {
        height: clamp(130px, 34vw, 190px);
      }
    }

    /* ----- 使命 ----- */
    .mission {
      background: var(--navy);
      color: #fff;
      position: relative;
      overflow: hidden;
    }

    .mission--photo {
      background-color: var(--navy);
    }

    .mission-bg {
      position: absolute;
      inset: 0;
      z-index: 0;
    }

    .mission-bg img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .mission-bg::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, rgba(35, 47, 62, 0.92) 0%, rgba(26, 35, 48, 0.96) 100%);
    }

    .mission--photo .container {
      position: relative;
      z-index: 1;
    }

    .mission .section-kicker {
      color: rgba(255, 255, 255, 0.55);
    }

    .mission .section-head h2,
    .mission .section-head p {
      color: #fff;
    }

    .mission .section-head p {
      opacity: 0.88;
    }

    .pillars {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 20px;
    }

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

    .pillar {
      padding: 22px 22px 22px 24px;
      border-radius: var(--radius-lg);
      background: rgba(255, 255, 255, 0.06);
      border: 1px solid rgba(255, 255, 255, 0.12);
      border-left: 3px solid var(--orange);
    }

    .pillar h3 {
      font-size: 1rem;
      font-weight: 700;
      margin-bottom: 8px;
      color: #fff;
    }

    .pillar p {
      font-size: 0.9rem;
      opacity: 0.9;
      line-height: 1.65;
    }

    /* ----- 底部 CTA：主色深蓝底，顶边橙色点缀 ----- */
    .cta-band {
      background: var(--navy);
      border-top: 4px solid var(--orange);
      padding: 52px 0;
      text-align: center;
      color: #fff;
    }

    .cta-band h2 {
      font-size: clamp(1.4rem, 3vw, 2rem);
      font-weight: 800;
      margin-bottom: 12px;
      letter-spacing: -0.02em;
    }

    .cta-band p {
      margin-bottom: 22px;
      opacity: 0.92;
      max-width: 560px;
      margin-inline: auto;
      font-size: 1.02rem;
    }

    .cta-band .btn-dark {
      background: #fff;
      color: var(--navy);
    }

    .cta-band .btn-dark:hover {
      background: var(--orange);
      color: #fff;
      box-shadow: 0 8px 24px rgba(255, 121, 0, 0.35);
    }

    .cta-band .btn-dark:active {
      background: var(--orange-hover);
    }

    /* ----- Footer：多列（Pacvue 页脚信息架构简化版） ----- */
    .site-footer {
      background: var(--navy-deep);
      color: rgba(255, 255, 255, 0.72);
      padding: clamp(52px, 7vw, 72px) 0 clamp(40px, 6vw, 56px);
      font-size: 0.875rem;
    }

    .footer-grid {
      display: grid;
      grid-template-columns: minmax(300px, 2.05fr) repeat(3, minmax(0, 1fr)) minmax(260px, 2.15fr);
      align-items: start;
      column-gap: clamp(40px, 6vw, 72px);
      row-gap: clamp(32px, 4vw, 44px);
      margin-bottom: clamp(40px, 5vw, 52px);
    }

    @media (max-width: 1100px) {
      .footer-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }

      .footer-intro {
        grid-column: 1 / -1;
      }
    }

    @media (max-width: 900px) {
      .footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }

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

      .footer-intro {
        grid-column: auto;
      }
    }

    .footer-brand {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 12px;
    }

    .footer-intro {
      padding-inline-end: clamp(16px, 2.5vw, 32px);
    }

    .footer-intro > p {
      margin-bottom: 18px;
      line-height: 1.65;
    }

    .footer-contact {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: clamp(16px, 2.4vw, 24px);
    }

    .footer-contact img {
      flex: 0 0 auto;
      width: clamp(96px, 18vw, 120px);
      height: auto;
      border-radius: 6px;
      background: #ffffff;
    }

    .footer-address {
      margin: 0;
      font-style: normal;
      color: rgba(255, 255, 255, 0.76);
      font-size: 0.8125rem;
      line-height: 1.65;
    }

    .footer-address-line {
      margin: 0 0 10px;
    }

    .footer-email {
      margin: 0;
    }

    .footer-email a {
      color: rgba(255, 255, 255, 0.9);
      text-decoration: none;
    }

    .footer-email a:hover {
      color: var(--orange);
      text-decoration: underline;
    }

    .footer-brand img {
      width: 36px;
      height: 36px;
    }

    .footer-brand span {
      font-weight: 800;
      color: #fff;
      font-size: 1rem;
    }

    .footer-col h4 {
      color: #fff;
      font-size: 0.8125rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      margin-bottom: 14px;
    }

    .footer-col ul {
      list-style: none;
    }

    .footer-col li {
      margin-bottom: 8px;
    }

    .footer-col a:hover {
      color: var(--orange);
    }

    .footer-demo {
      padding: 16px;
      border-radius: var(--radius);
      border: 1px solid rgba(255, 255, 255, 0.12);
      background: rgba(255, 255, 255, 0.04);
    }

    .footer-demo strong {
      display: block;
      color: #fff;
      font-size: 0.8125rem;
      margin-bottom: 10px;
    }

    .footer-demo p {
      margin: 0;
      color: rgba(255, 255, 255, 0.72);
      font-size: 0.8125rem;
      line-height: 1.65;
    }

    .footer-bottom {
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap;
      gap: 12px 20px;
      border-top: 1px solid rgba(255, 255, 255, 0.1);
      padding: clamp(24px, 3.6vw, 36px) 0 clamp(6px, 1.2vw, 10px);
      text-align: left;
      font-size: 0.8125rem;
    }

    .footer-bottom .footer-copyright {
      margin: 0;
      flex: 1 1 auto;
      min-width: min(100%, 260px);
      color: inherit;
    }

    .footer-back-top {
      flex: 0 0 auto;
      color: rgba(255, 255, 255, 0.88);
      text-decoration: none;
      font-weight: 600;
      white-space: nowrap;
    }

    .footer-back-top:hover {
      color: var(--orange);
    }

    .footer-back-top:focus-visible {
      outline: 2px solid var(--orange);
      outline-offset: 3px;
      border-radius: 4px;
    }

    @media (max-width: 520px) {
      .footer-bottom {
        flex-direction: column;
        align-items: flex-start;
      }
    }

    /* ----- 服务页 solutions ----- */
    .services-page-hero {
      position: relative;
      overflow: hidden;
      padding: calc(var(--header-h) + clamp(40px, 8vw, 80px)) 0 clamp(56px, 10vw, 96px);
      background: linear-gradient(152deg, var(--navy-deep) 0%, #032a5c 38%, #074a9e 72%, #06316d 100%);
      color: #fff;
      text-align: center;
    }

    .services-page-hero-visual {
      position: absolute;
      inset: 0;
      pointer-events: none;
    }

    .services-page-hero-mesh {
      position: absolute;
      inset: -20%;
      opacity: 0.45;
      background:
        radial-gradient(ellipse 80% 55% at 12% 22%, rgba(255, 121, 0, 0.25) 0%, transparent 52%),
        radial-gradient(ellipse 60% 45% at 88% 78%, rgba(0, 148, 255, 0.2) 0%, transparent 48%),
        radial-gradient(ellipse 50% 40% at 50% 105%, rgba(255, 255, 255, 0.06) 0%, transparent 45%);
    }

    .services-page-hero-orb {
      position: absolute;
      border-radius: 50%;
      filter: blur(60px);
    }

    .services-page-hero-orb--a {
      width: min(420px, 65vw);
      height: min(420px, 65vw);
      top: -12%;
      right: -8%;
      background: rgba(255, 121, 0, 0.22);
    }

    .services-page-hero-orb--b {
      width: min(320px, 50vw);
      height: min(320px, 50vw);
      bottom: -18%;
      left: -5%;
      background: rgba(30, 120, 255, 0.25);
    }

    .services-page-hero-gridline {
      position: absolute;
      inset: 0;
      opacity: 0.22;
      background-image:
        linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
      background-size: 48px 48px;
      mask-image: radial-gradient(ellipse 85% 70% at 50% 40%, black 35%, transparent 100%);
      -webkit-mask-image: radial-gradient(ellipse 85% 70% at 50% 40%, black 35%, transparent 100%);
    }

    .services-page-hero-inner {
      position: relative;
      z-index: 1;
    }

    .services-page-kicker {
      font-size: 0.8125rem;
      font-weight: 700;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: rgba(255, 199, 150, 0.95);
      margin-bottom: 16px;
    }

    .services-page-hero h1 {
      font-size: clamp(1.9rem, 4.6vw, 2.85rem);
      font-weight: 800;
      letter-spacing: -0.035em;
      line-height: 1.18;
      margin-bottom: 20px;
      text-shadow: 0 4px 32px rgba(0, 10, 30, 0.35);
    }

    .services-page-h1-accent {
      display: inline-block;
      background: linear-gradient(135deg, #fff 30%, rgba(255, 255, 255, 0.88) 100%);
      -webkit-background-clip: text;
      background-clip: text;
      color: transparent;
      -webkit-text-fill-color: transparent;
    }

    @supports not (background-clip: text) {
      .services-page-h1-accent {
        color: #fff;
        -webkit-text-fill-color: #fff;
        background: none;
      }
    }

    .services-page-lead {
      max-width: 560px;
      margin: 0 auto 22px;
      font-size: 1.0625rem;
      line-height: 1.75;
      color: rgba(255, 255, 255, 0.9);
    }

    .services-hero-tags {
      display: flex;
      flex-wrap: wrap;
      gap: 10px 12px;
      justify-content: center;
      align-items: center;
      margin-bottom: 28px;
    }

    .services-hero-tag {
      padding: 6px 14px;
      font-size: 0.8125rem;
      font-weight: 600;
      letter-spacing: 0.04em;
      color: rgba(255, 255, 255, 0.92);
      background: rgba(255, 255, 255, 0.1);
      border: 1px solid rgba(255, 255, 255, 0.2);
      border-radius: 999px;
      backdrop-filter: blur(8px);
    }

    .services-page-hero-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 14px 18px;
      justify-content: center;
      align-items: center;
    }

    .page-services .services-page-hero-btn-secondary {
      background: rgba(255, 255, 255, 0.08);
      color: #fff;
      border: 1px solid rgba(255, 255, 255, 0.55);
      backdrop-filter: blur(6px);
    }

    .page-services .services-page-hero-btn-secondary:hover {
      background: rgba(255, 255, 255, 0.16);
      border-color: #fff;
    }

    .page-services .services-page-hero-btn-secondary:active {
      background: rgba(255, 255, 255, 0.1);
    }

    .services-page-hero .btn-primary {
      background: var(--orange);
      color: #fff;
      box-shadow: 0 8px 28px rgba(255, 99, 0, 0.35);
    }

    .services-page-hero .btn-primary:hover {
      background: var(--orange-hover);
      color: #fff;
      box-shadow: 0 10px 32px rgba(255, 99, 0, 0.42);
    }

    .services-page-hero .btn-primary:active {
      background: var(--orange-hover);
    }

    /* 服务范围：三列能力卡 */
    .section-services-scope .section-head--services-scope {
      margin-bottom: clamp(28px, 4vw, 40px);
    }

    .services-scope-pillars {
      list-style: none;
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 20px;
      margin: 0;
      padding: 0;
    }

    .services-scope-pillar {
      position: relative;
      padding: 26px 22px 28px;
      background: var(--bg-white);
      border: 1px solid var(--border);
      border-radius: var(--radius-lg);
      box-shadow: var(--shadow-sm);
      transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
    }

    .services-scope-pillar::after {
      content: "";
      position: absolute;
      top: 0;
      left: 24px;
      right: 24px;
      height: 3px;
      border-radius: 0 0 4px 4px;
      background: linear-gradient(90deg, var(--orange), rgba(255, 99, 0, 0.35));
      opacity: 0.85;
    }

    .services-scope-pillar:hover {
      transform: translateY(-4px);
      box-shadow: var(--shadow-md);
      border-color: rgba(3, 36, 89, 0.15);
    }

    .services-scope-pillar-icon {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 52px;
      height: 52px;
      margin-bottom: 16px;
      border-radius: 14px;
      color: var(--navy);
      background: linear-gradient(145deg, var(--orange-soft) 0%, #fff 100%);
      border: 1px solid rgba(255, 99, 0, 0.15);
    }

    .services-scope-pillar-icon img {
      display: block;
      width: 28px;
      height: 28px;
    }

    .services-scope-pillar h3 {
      font-size: 1.0625rem;
      font-weight: 700;
      color: var(--navy);
      margin-bottom: 10px;
      letter-spacing: -0.02em;
    }

    .services-scope-pillar p {
      font-size: 0.9375rem;
      color: var(--text-muted);
      line-height: 1.7;
      margin: 0;
    }

    @media (max-width: 900px) {
      .services-scope-pillars {
        grid-template-columns: 1fr;
      }
    }

    /* ----- 服务页：三大方案（左轨 + 卡片栅格） ----- */
    /* 三大方案：通栏纯白底（覆盖 muted 灰底与内阴影） */
    .page-services .section.section-services-bundle {
      background-color: var(--bg-white);
      background-image: none;
      box-shadow: none;
    }

    .services-bundle-head.section-head {
      text-align: center;
      margin-left: auto;
      margin-right: auto;
      max-width: 52rem;
    }

    .services-bundle-head.section-head h2 {
      text-align: center;
    }

    .services-bundle-lead {
      margin: clamp(10px, 1.5vw, 16px) auto 0;
      max-width: 40rem;
      font-size: clamp(0.98rem, 1.5vw, 1.08rem);
      line-height: 1.75;
      color: var(--text-muted);
    }

    .services-solutions-steps {
      list-style: none;
      margin: clamp(36px, 5vw, 56px) 0 0;
      padding: 0;
      counter-reset: sol;
    }

    .services-solutions-steps > li {
      position: relative;
      margin: 0;
      padding: 0 0 clamp(22px, 4vw, 32px);
    }

    .services-solutions-steps > li:last-child {
      padding-bottom: 0;
    }

    .services-solutions-steps > li:not(:last-child)::after {
      content: "";
      position: absolute;
      left: 35px;
      top: 148px;
      bottom: -6px;
      width: 2px;
      margin-left: -1px;
      border-radius: 2px;
      background: linear-gradient(
        180deg,
        rgba(255, 99, 0, 0.45) 0%,
        rgba(3, 36, 89, 0.1) 70%,
        rgba(3, 36, 89, 0.06) 100%
      );
    }

    .services-solution-panel {
      display: grid;
      grid-template-columns: minmax(88px, 108px) minmax(0, 1fr);
      gap: clamp(20px, 3.5vw, 40px);
      align-items: stretch;
    }

    .services-solution-rail {
      position: relative;
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      gap: 10px;
      padding-top: 4px;
    }

    .services-solution-num-ring {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 70px;
      height: 70px;
      border-radius: 50%;
      flex-shrink: 0;
      background: linear-gradient(145deg, #fff 0%, var(--orange-soft) 100%);
      border: 2px solid rgba(255, 99, 0, 0.45);
      box-shadow: 0 6px 20px rgba(3, 36, 89, 0.08);
    }

    .services-solution-num {
      font-size: 1.35rem;
      font-weight: 800;
      color: var(--navy);
      font-variant-numeric: tabular-nums;
      letter-spacing: -0.02em;
      line-height: 1;
      background: none;
      -webkit-text-fill-color: var(--navy);
    }

    .services-solution-eyebrow {
      font-size: 0.625rem;
      font-weight: 700;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: rgba(3, 36, 89, 0.42);
    }

    .services-solution-icon {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 44px;
      height: 44px;
      margin-top: 4px;
      border-radius: 12px;
      color: var(--navy);
      background: rgba(255, 255, 255, 0.9);
      border: 1px solid rgba(3, 36, 89, 0.1);
      box-shadow: 0 2px 8px rgba(3, 36, 89, 0.05);
    }

    .services-solution-icon img {
      display: block;
      width: 26px;
      height: 26px;
    }

    .services-solution-main {
      position: relative;
      padding: clamp(22px, 3.2vw, 30px) clamp(22px, 3.2vw, 32px) clamp(24px, 3.6vw, 34px);
      background: var(--bg-white);
      border: 1px solid rgba(3, 36, 89, 0.08);
      border-radius: calc(var(--radius-lg) + 6px);
      box-shadow: 0 4px 0 rgba(3, 36, 89, 0.03),
        0 20px 48px rgba(3, 36, 89, 0.07);
      transition: box-shadow 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
    }

    .services-solution-main::before {
      content: "";
      position: absolute;
      left: 0;
      top: clamp(14px, 2.5vw, 22px);
      bottom: clamp(14px, 2.5vw, 22px);
      width: 4px;
      border-radius: 0 4px 4px 0;
      background: linear-gradient(180deg, var(--orange) 0%, #ff9f5c 65%, rgba(255, 99, 0, 0.25) 100%);
    }

    .services-solution-panel--alt .services-solution-main::before {
      background: linear-gradient(
        180deg,
        #1a5094 0%,
        var(--navy) 55%,
        rgba(3, 36, 89, 0.25) 100%
      );
    }

    .services-solution-main:hover {
      transform: translateY(-3px);
      box-shadow: 0 4px 0 rgba(3, 36, 89, 0.04),
        0 28px 56px rgba(3, 36, 89, 0.1);
      border-color: rgba(3, 36, 89, 0.12);
    }

    .services-solutions-steps .services-solution-tags {
      list-style: none;
      display: flex;
      flex-wrap: wrap;
      gap: 8px 10px;
      margin: 0 0 clamp(14px, 2vw, 18px);
      padding: 0 0 0 8px;
    }

    .services-solutions-steps .services-solution-tags li {
      font-size: 0.75rem;
      font-weight: 600;
      letter-spacing: 0.02em;
      color: var(--navy);
      padding: 5px 12px;
      border-radius: 999px;
      background: rgba(3, 36, 89, 0.05);
      border: 1px solid rgba(3, 36, 89, 0.08);
    }

    .services-solutions-steps .services-solution-main h3 {
      font-size: clamp(1.28rem, 2.6vw, 1.68rem);
      font-weight: 700;
      color: var(--navy);
      margin: 0 0 14px;
      padding-left: 8px;
      letter-spacing: -0.035em;
      line-height: 1.28;
      border-bottom: none;
    }

    .services-solutions-steps .services-solution-main p {
      color: var(--text-muted);
      font-size: 1rem;
      line-height: 1.9;
      margin: 0;
      padding-left: 8px;
      max-width: 62ch;
    }

    @media (max-width: 720px) {
      .services-solutions-steps > li:not(:last-child)::after {
        left: 24px;
        top: 128px;
        bottom: 2px;
      }

      .services-solution-panel {
        grid-template-columns: 1fr;
        gap: 16px;
      }

      .services-solution-rail {
        display: grid;
        grid-template-columns: auto 1fr auto;
        align-items: center;
        gap: 12px 16px;
        padding: 14px 16px;
        border-radius: var(--radius-lg);
        background: rgba(255, 255, 255, 0.65);
        border: 1px solid rgba(3, 36, 89, 0.08);
      }

      .services-solution-num-ring {
        grid-column: 1;
        width: 56px;
        height: 56px;
      }

      .services-solution-num {
        font-size: 1.15rem;
      }

      .services-solution-eyebrow {
        grid-column: 2;
        justify-self: start;
        text-align: left;
        margin: 0;
      }

      .services-solution-icon {
        grid-column: 3;
        margin-top: 0;
        margin-left: 0;
      }

      .services-solutions-steps > li:not(:last-child)::after {
        display: none;
      }
    }

    @media (max-width: 520px) {
      .services-solution-rail {
        justify-content: center;
      }
    }

    .services-global-band {
      position: relative;
      overflow: hidden;
      padding: clamp(56px, 8vw, 80px) 0 clamp(60px, 8vw, 84px);
      background-color: var(--navy-deep);
      color: #fff;
    }

    .services-global-band-bg {
      position: absolute;
      inset: 0;
      pointer-events: none;
      z-index: 0;
      background-color: var(--navy-deep);
      background-image:
        linear-gradient(
          165deg,
          rgba(2, 28, 69, 0.88) 0%,
          rgba(3, 36, 89, 0.78) 42%,
          rgba(2, 20, 50, 0.92) 100%
        ),
        url("../assets/card-global.jpg");
      background-position: center;
      background-size: cover;
      background-repeat: no-repeat;
    }

    .services-global-band-bg::after {
      content: "";
      position: absolute;
      inset: 0;
      background:
        radial-gradient(ellipse 70% 50% at 20% 30%, rgba(255, 121, 0, 0.14) 0%, transparent 55%),
        radial-gradient(ellipse 55% 45% at 85% 70%, rgba(80, 160, 255, 0.18) 0%, transparent 50%);
      pointer-events: none;
    }

    .services-global-band .container {
      position: relative;
      z-index: 1;
    }

    .section-head--on-dark .section-kicker {
      color: rgba(255, 199, 150, 0.9);
    }

    .section-head--on-dark h2 {
      color: #fff;
    }

    .services-global-band-lead {
      max-width: 520px;
      margin: 12px auto 0;
      font-size: 1.02rem;
      line-height: 1.65;
      color: var(--bg-white) !important;
    }

    .services-stat-grid {
      list-style: none;
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 18px;
      margin: 40px 0 0;
      padding: 0;
    }

    .services-stat-item {
      text-align: center;
      padding: 22px 16px 24px;
      background: rgba(255, 255, 255, 0.06);
      border: 1px solid rgba(255, 255, 255, 0.12);
      border-radius: var(--radius-lg);
      backdrop-filter: blur(10px);
      transition: background 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
    }

    .services-stat-item:hover {
      background: rgba(255, 255, 255, 0.1);
      border-color: rgba(255, 255, 255, 0.2);
      transform: translateY(-2px);
    }

    .services-stat-value {
      font-size: clamp(1.75rem, 4vw, 2.4rem);
      font-weight: 800;
      background: linear-gradient(180deg, #fff 30%, rgba(255, 220, 190, 0.95) 100%);
      -webkit-background-clip: text;
      background-clip: text;
      color: transparent;
      -webkit-text-fill-color: transparent;
      margin-bottom: 8px;
      letter-spacing: -0.02em;
    }

    @supports not (background-clip: text) {
      .services-stat-value {
        color: #fff;
        -webkit-text-fill-color: #fff;
        background: none;
      }
    }

    .services-stat-label {
      font-size: 0.9375rem;
      color: rgba(255, 255, 255, 0.82);
      line-height: 1.55;
      margin: 0;
    }

    /* 服务页 CTA 条：左右分栏 */
    .cta-band--services {
      position: relative;
      overflow: hidden;
      padding: clamp(48px, 7vw, 64px) 0;
    }

    .cta-band-pattern {
      position: absolute;
      inset: 0;
      opacity: 0.07;
      background: repeating-linear-gradient(
        -12deg,
        transparent,
        transparent 40px,
        rgba(255, 255, 255, 0.5) 40px,
        rgba(255, 255, 255, 0.5) 41px
      );
      pointer-events: none;
    }

    .cta-band-inner {
      position: relative;
      z-index: 1;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      gap: 24px 32px;
      text-align: left;
    }

    .cta-band-copy {
      flex: 1 1 320px;
    }

    .cta-band-copy h2 {
      text-align: left;
    }

    .cta-band-copy p {
      margin-inline: 0;
      text-align: left;
      color: #fff;
      opacity: 1;
    }

    .cta-band-action {
      flex: 0 0 auto;
    }

    @media (max-width: 900px) {
      .services-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .cta-band-inner {
        flex-direction: column;
        align-items: stretch;
        text-align: center;
      }

      .cta-band-copy h2,
      .cta-band-copy p {
        text-align: center;
      }

      .cta-band-action {
        display: flex;
        justify-content: center;
      }
    }

    @media (max-width: 520px) {
      .services-stat-grid {
        grid-template-columns: 1fr;
      }
    }

    /* ----- 关于页 ----- */
    .page-about .services-page-hero-btn-secondary {
      background: rgba(255, 255, 255, 0.08);
      color: #fff;
      border: 1px solid rgba(255, 255, 255, 0.55);
      backdrop-filter: blur(6px);
    }

    .page-about .services-page-hero-btn-secondary:hover {
      background: rgba(255, 255, 255, 0.16);
      border-color: #fff;
    }

    .page-about .services-page-hero-btn-secondary:active {
      background: rgba(255, 255, 255, 0.1);
    }

    .about-prose {
      max-width: 52rem;
      margin: 0 auto;
      text-align: center;
    }

    .about-prose p {
      margin: 0;
      font-size: clamp(1rem, 1.5vw, 1.08rem);
      line-height: 1.9;
      color: var(--text-muted);
    }

    .section-head--about-ai {
      margin-bottom: clamp(28px, 4vw, 40px);
    }

    .about-ai-section {
      padding-bottom: clamp(64px, 8vw, 88px);
    }

    .about-ai-panel {
      position: relative;
      display: grid;
      grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
      gap: clamp(24px, 4vw, 40px);
      align-items: stretch;
      padding: clamp(28px, 4vw, 40px) clamp(26px, 4vw, 40px);
      background: linear-gradient(145deg, var(--bg-white) 0%, var(--bg-subtle) 100%);
      border: 1px solid var(--border);
      border-radius: var(--radius-lg);
      box-shadow: var(--shadow-md);
      overflow: hidden;
    }

    .about-ai-panel::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      width: 5px;
      border-radius: var(--radius-lg) 0 0 var(--radius-lg);
      background: linear-gradient(180deg, var(--orange) 0%, #1a6fd9 52%, rgba(26, 111, 217, 0.35) 100%);
    }

    .about-ai-panel-aside {
      padding-inline-start: clamp(8px, 1.5vw, 14px);
    }

    .about-ai-eyebrow {
      font-size: 0.72rem;
      font-weight: 700;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: rgba(255, 99, 0, 0.95);
      margin: 0 0 14px;
    }

    .about-ai-headline {
      margin: 0;
      font-size: clamp(1.38rem, 2.6vw, 1.92rem);
      font-weight: 800;
      letter-spacing: -0.035em;
      line-height: 1.28;
      color: var(--navy);
    }

    .about-ai-panel-body {
      padding: clamp(4px, 1vw, 10px) 0;
    }

    .about-ai-panel-body p {
      margin: 0;
      font-size: clamp(1rem, 1.45vw, 1.0625rem);
      line-height: 1.85;
      color: var(--text-muted);
    }

    .about-advantage-pillars {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: clamp(18px, 2.8vw, 22px);
    }

    .about-pillar-mark {
      display: block;
      font-size: 0.75rem;
      font-weight: 800;
      letter-spacing: 0.12em;
      color: var(--navy);
    }

    .about-mission {
      position: relative;
      overflow: hidden;
      padding: clamp(56px, 9vw, 96px) 0;
      background: radial-gradient(ellipse 120% 80% at 50% 0%, rgba(12, 60, 120, 0.35) 0%, transparent 55%),
        linear-gradient(135deg, #021946 0%, var(--navy-deep) 40%, #041a42 100%);
      color: rgba(255, 255, 255, 0.88);
    }

    .about-mission-glow {
      position: absolute;
      inset: -40% -20% auto -20%;
      height: 85%;
      background: radial-gradient(ellipse closest-side at 50% 0%, rgba(255, 121, 0, 0.16) 0%, transparent 70%);
      pointer-events: none;
    }

    .about-mission-inner {
      position: relative;
      z-index: 1;
      max-width: 720px;
      margin: 0 auto;
      text-align: center;
    }

    .about-mission-label {
      margin: 0 0 14px;
      font-size: 0.8125rem;
      font-weight: 700;
      letter-spacing: 0.28em;
      text-transform: uppercase;
      color: rgba(255, 199, 150, 0.88);
    }

    .about-mission h2 {
      margin: 0 0 18px;
      font-size: clamp(1.65rem, 4vw, 2.35rem);
      font-weight: 800;
      letter-spacing: -0.03em;
      line-height: 1.28;
      color: #fff;
    }

    .about-mission-lead {
      margin: 0;
      font-size: clamp(1.02rem, 1.85vw, 1.125rem);
      line-height: 1.82;
      color: rgba(255, 255, 255, 0.76);
    }

    @media (max-width: 768px) {
      .about-ai-panel {
        grid-template-columns: 1fr;
      }

      .about-ai-panel-aside {
        padding-inline-start: 0;
      }
    }

    @media (max-width: 640px) {
      .about-advantage-pillars {
        grid-template-columns: 1fr;
      }
    }

    /* ----- 联系页 ----- */
    .page-contact .services-page-hero-btn-secondary {
      background: rgba(255, 255, 255, 0.08);
      color: #fff;
      border: 1px solid rgba(255, 255, 255, 0.55);
      backdrop-filter: blur(6px);
    }

    .page-contact .services-page-hero-btn-secondary:hover {
      background: rgba(255, 255, 255, 0.16);
      border-color: #fff;
    }

    .page-contact .services-page-hero-btn-secondary:active {
      background: rgba(255, 255, 255, 0.1);
    }

    .contact-page-block .contact-cms-slot {
      margin-bottom: clamp(28px, 5vw, 46px);
    }

    .contact-page-head {
      margin-bottom: clamp(24px, 3.8vw, 36px);
    }

    .contact-page-lead-copy {
      margin-top: clamp(8px, 1vw, 12px);
    }

    .contact-split {
      display: grid;
      grid-template-columns: minmax(0, 1.22fr) minmax(260px, 0.92fr);
      gap: clamp(28px, 5vw, 52px);
      align-items: stretch;
    }

    .contact-help-col {
      display: flex;
      flex-direction: column;
      align-self: stretch;
      min-width: 0;
      min-height: 0;
      height: 100%;
    }

    .contact-help-grid {
      list-style: none;
      margin: 0;
      padding: 0;
      flex: 1 1 auto;
      min-height: 0;
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      grid-template-rows: 1fr 1fr;
      gap: 18px;
      align-items: stretch;
    }

    .contact-help-card {
      display: flex;
      flex-direction: column;
      height: 100%;
      min-height: 0;
      padding: 22px 20px 24px;
      background: var(--bg-white);
      border: 1px solid var(--border);
      border-radius: var(--radius-lg);
      box-shadow: var(--shadow-sm);
      transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
    }

    .contact-help-card:hover {
      transform: translateY(-3px);
      box-shadow: var(--shadow-md);
      border-color: rgba(3, 36, 89, 0.12);
    }

    .contact-help-card h3 {
      flex: 0 0 auto;
      font-size: clamp(1rem, 2vw, 1.0625rem);
      font-weight: 700;
      letter-spacing: -0.02em;
      color: var(--navy);
      margin: 0 0 10px;
    }

    .contact-help-card p {
      flex: 1 1 auto;
      margin: 0;
      font-size: 0.9375rem;
      color: var(--text-muted);
      line-height: 1.68;
    }

    .contact-aside-card {
      position: sticky;
      top: calc(var(--header-h) + 18px);
      padding: clamp(22px, 3vw, 28px);
      background: linear-gradient(155deg, var(--bg-white) 0%, var(--bg-subtle) 100%);
      border: 1px solid var(--border);
      border-radius: var(--radius-lg);
      box-shadow: var(--shadow-md);
    }

    .contact-aside-title {
      margin: 0 0 16px;
      font-size: 1.0625rem;
      font-weight: 800;
      color: var(--navy);
      letter-spacing: -0.02em;
    }

    .footer-contact--contact-page {
      gap: clamp(18px, 2.4vw, 22px);
      align-items: flex-start;
      flex-flow: row wrap;
    }

    .footer-contact--contact-page img {
      flex-shrink: 0;
    }

    /* 联系页浅色背景：覆盖页脚部样式的浅色字，正文与脚注区域对比度可读 */
    .footer-contact--contact-page {
      color: var(--text-muted);
    }

    .footer-contact--contact-page .footer-address,
    .footer-contact--contact-page .footer-address-line,
    .footer-contact--contact-page p,
    .footer-contact--contact-page li,
    .footer-contact--contact-page dd,
    .footer-contact--contact-page dt,
    .footer-contact--contact-page span {
      color: var(--text-muted);
    }

    .footer-contact--contact-page strong {
      color: var(--navy);
    }

    .footer-contact--contact-page .footer-email a,
    .footer-contact--contact-page a[href^="mailto:"] {
      color: var(--navy);
      text-decoration: none;
      font-weight: 600;
      border-bottom: 1px solid rgba(255, 99, 0, 0.35);
    }

    .footer-contact--contact-page .footer-email a:hover,
    .footer-contact--contact-page a[href^="mailto:"]:hover {
      color: var(--orange);
      border-bottom-color: var(--orange);
    }

    .contact-aside-note {
      margin: 18px 0 0;
      font-size: 0.8125rem;
      line-height: 1.6;
      color: var(--text-muted);
    }

    .contact-form-section .section-head p {
      max-width: 44rem;
      margin-left: auto;
      margin-right: auto;
    }

    .contact-form-split {
      display: grid;
      grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
      gap: clamp(28px, 5vw, 52px);
      align-items: stretch;
      margin-top: clamp(28px, 5vw, 44px);
    }

    .contact-form-visual {
      display: flex;
      flex-direction: column;
      min-width: 0;
      min-height: 0;
      height: 100%;
    }

    .contact-form-figure {
      position: relative;
      flex: 1 1 auto;
      min-height: 200px;
      margin: 0;
      border-radius: var(--radius-lg);
      overflow: hidden;
      border: 1px solid rgba(3, 36, 89, 0.1);
      box-shadow:
        0 4px 22px rgba(3, 36, 89, 0.08),
        0 2px 0 rgba(255, 255, 255, 0.6) inset;
    }

    .contact-form-figure img {
      position: absolute;
      inset: 0;
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
      background: var(--bg-subtle);
    }

    .contact-form-visual-tip {
      flex: 0 0 auto;
      margin: 14px 0 0;
      padding-left: 2px;
      font-size: 0.8125rem;
      line-height: 1.65;
      color: var(--text-muted);
    }

    .contact-form-panel.contact-form-shell {
      margin: 0;
      max-width: none;
      align-self: stretch;
    }

    .contact-form-shell {
      max-width: 720px;
      margin: clamp(32px, 5vw, 48px) auto 0;
      padding: clamp(26px, 4vw, 34px);
      background: var(--bg-white);
      border: 1px solid var(--border);
      border-radius: var(--radius-lg);
      box-shadow: var(--shadow-sm);
    }

    .contact-form-split .contact-form-shell {
      margin-top: 0;
    }

    .contact-espcms-form-wrap .admin-form > ul {
      list-style: none;
      margin: 0;
      padding: 0;
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 18px 20px;
    }

    .contact-espcms-form-wrap .admin-form > ul > li.wid-100,
    .contact-espcms-form-wrap .admin-form > ul > li.textarea,
    .contact-espcms-form-wrap .admin-form > ul > li.button {
      grid-column: 1 / -1;
    }

    .contact-espcms-form-wrap .form-div {
      display: flex;
      flex-direction: column;
      gap: 8px;
      min-width: 0;
    }

    .contact-espcms-form-wrap .admin-form .form-control {
      width: 100%;
      padding: 11px 14px;
      font-family: inherit;
      font-size: 0.9375rem;
      color: var(--text);
      background: var(--bg-subtle);
      border: 1px solid var(--border);
      border-radius: var(--radius);
      transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease;
    }

    .contact-espcms-form-wrap .admin-form textarea.form-control {
      resize: vertical;
      min-height: 120px;
      line-height: 1.6;
    }

    .contact-espcms-form-wrap .admin-form .form-control:focus {
      outline: none;
      border-color: rgba(255, 99, 0, 0.55);
      box-shadow: 0 0 0 3px rgba(255, 99, 0, 0.12);
      background: #fff;
    }

    .contact-espcms-form-wrap .admin-form li.button button[type="submit"] {
      margin-top: 6px;
      min-height: 44px;
      padding-inline: 28px;
      font-weight: 700;
      letter-spacing: 0.03em;
      border: none;
      border-radius: 999px;
      cursor: pointer;
      font-size: 0.9375rem;
      color: #fff;
      background: var(--orange);
      box-shadow: 0 8px 26px rgba(255, 99, 0, 0.32);
    }

    .contact-espcms-form-wrap .admin-form li.button button[type="submit"]:hover {
      background: var(--orange-hover);
      box-shadow: 0 10px 34px rgba(255, 99, 0, 0.4);
    }

    .contact-espcms-form-wrap .admin-form select.selectpicker.form-control {
      width: 100%;
      padding: 11px 14px;
    }

    .contact-espcms-form-wrap .dialog_link.btn {
      display: inline-flex;
      margin-top: 8px;
    }

    .contact-form-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 18px 20px;
    }

    .contact-field {
      display: flex;
      flex-direction: column;
      gap: 8px;
    }

    .contact-field--full {
      grid-column: 1 / -1;
    }

    .contact-field-label {
      font-size: 0.8125rem;
      font-weight: 600;
      color: var(--navy);
    }

    .contact-field input,
    .contact-field textarea {
      width: 100%;
      padding: 11px 14px;
      font-family: inherit;
      font-size: 0.9375rem;
      color: var(--text);
      background: var(--bg-subtle);
      border: 1px solid var(--border);
      border-radius: var(--radius);
      transition: border-color 0.2s ease, box-shadow 0.2s ease;
    }

    .contact-field textarea {
      resize: vertical;
      min-height: 120px;
      line-height: 1.6;
    }

    .contact-field input:focus,
    .contact-field textarea:focus {
      outline: none;
      border-color: rgba(255, 99, 0, 0.55);
      box-shadow: 0 0 0 3px rgba(255, 99, 0, 0.12);
      background: #fff;
    }

    .contact-form-actions {
      margin-top: 24px;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 12px;
    }

    .contact-form-hint {
      margin: 0;
      font-size: 0.8125rem;
      line-height: 1.55;
      color: var(--text-muted);
      max-width: 36rem;
    }

    @media (max-width: 900px) {
      .contact-split {
        grid-template-columns: 1fr;
      }

      .contact-help-col {
        height: auto;
      }

      .contact-help-grid {
        flex: none;
        grid-template-rows: auto;
      }

      .contact-form-split {
        grid-template-columns: 1fr;
      }

      .contact-form-visual {
        height: auto;
      }

      .contact-form-figure {
        flex: none;
        aspect-ratio: 4 / 3;
        max-height: min(52vh, 420px);
      }

      .contact-aside-card {
        position: static;
      }
    }

    @media (max-width: 640px) {
      .contact-help-grid {
        grid-template-columns: 1fr;
        grid-auto-rows: auto;
        grid-template-rows: none;
      }

      .contact-form-grid {
        grid-template-columns: 1fr;
      }

      .contact-espcms-form-wrap .admin-form > ul {
        grid-template-columns: 1fr;
      }
