  
  /* Fonts loaded via preload link in &lt;head> */

  /* ── Global Reset ── */
  *,
  *::before,
  *::after {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
  }

  :root {
      --warm-white: #f4f8fe;            /* 偏蓝白基底 */
      --cream: #e9f3fe;                  /* 浅蓝渐变区背景 */
      --cream-2: #daeaff;                /* 浅蓝渐变次色 */
      --charcoal: #0a1f3f;               /* 深蓝黑替代纯黑 */
      --charcoal-light: #1a2d4f;
      --terra: #1b61d5;                  /* 主色：ljglobal 蓝 */
      --terra-dark: #0e3795;             /* 深蓝 */
      --accent-orange: #e98e2f;          /* 强调橙（用于斜向渐变光斑） */
      --sage: #5a7a64;
      --muted: #5a6b80;                  /* 蓝灰文字色 */
      --line: #d4e0ee;                   /* 浅蓝灰边线 */
      --font-display: 'Fraunces', 'PingFang SC', 'Microsoft YaHei', 'Noto Sans SC', serif;
      --font-body: 'Manrope', -apple-system, 'PingFang SC', 'Microsoft YaHei', 'Noto Sans SC', sans-serif;
  }
a {
    text-decoration: none;
}
  body {
      font-family: var(--font-body);
      color: var(--charcoal);
      background: var(--warm-white);
      line-height: 1.65;
      -webkit-font-smoothing: antialiased;
  }

  /* ── Global Header ── */
  .ht-header {
      position: sticky;
      top: 0;
      z-index: 1000;
      background: var(--charcoal);
      border-bottom: 1px solid rgba(255, 255, 255, 0.08);
      backdrop-filter: blur(12px);
  }

  .ht-header-inner {
      max-width: 1180px;
      margin: 0 auto;
      padding: 0 28px;
      display: flex;
      align-items: center;
      height: 72px;
  }

  .ht-header-inner .ht-logo {
      margin-right: auto;
  }

  .ht-logo {
      display: flex;
      align-items: center;
      text-decoration: none;
  }

  .ht-logo img {
      width: 140px;
      height: auto;
  }

  @media (max-width: 900px) {
      .ht-logo img {
          width: 140px;
      }
  }

  .ht-nav {
      display: flex;
      align-items: center;
      gap: 8px;
      list-style: none;
  }

  .ht-nav a {
      font-family: var(--font-body);
      font-size: 14px;
      font-weight: 500;
      color: rgba(250, 248, 245, 0.7);
      text-decoration: none;
      padding: 8px 16px;
      border-radius: 6px;
      transition: all 0.2s ease;
      letter-spacing: 0.01em;
  }

  .ht-nav a:hover {
      color: var(--warm-white);
      background: rgba(255, 255, 255, 0.08);
  }

  .ht-nav a.active {
      color: var(--warm-white);
      background: rgba(27, 97, 213, 0.25);
  }

  .ht-nav-cta {
      font-size: 13px !important;
      font-weight: 600 !important;
      color: var(--warm-white) !important;
      background: linear-gradient(135deg, var(--terra) 0%, var(--terra-dark) 100%) !important;
      padding: 10px 22px !important;
      border-radius: 8px !important;
      margin-left: 8px !important;
      transition: all 0.2s ease !important;
      box-shadow: 0 4px 14px rgba(14, 55, 149, 0.3);
  }

  .ht-nav-cta:hover {
      background: linear-gradient(135deg, var(--terra-dark) 0%, #2c8bf5 100%) !important;
      transform: translateY(-1px);
      box-shadow: 0 6px 20px rgba(14, 55, 149, 0.4);
  }

  /* Language switcher */
  .ht-lang {
      display: flex;
      align-items: center;
      gap: 4px;
      margin-left: 16px;
      padding-left: 16px;
      border-left: 1px solid rgba(255, 255, 255, 0.12);
      order: 99;
  }

  .ht-lang a {
      font-size: 12px;
      font-weight: 600;
      color: rgba(250, 248, 245, 0.4);
      text-decoration: none;
      padding: 4px 8px;
      border-radius: 4px;
      transition: all 0.15s;
  }

  .ht-lang a:hover,
  .ht-lang a.active {
      color: var(--warm-white);
      background: rgba(255, 255, 255, 0.1);
  }

  /* Dropdown */
  .ht-dropdown {
      position: relative;
  }

  .ht-dropdown-trigger {
      display: inline-flex;
      align-items: center;
      gap: 6px;
  }

  .ht-dropdown-trigger svg {
      transition: transform 0.2s;
  }

  .ht-dropdown:hover .ht-dropdown-trigger svg {
      transform: rotate(180deg);
  }

  .ht-dropdown-menu {
      display: none;
      position: absolute;
      top: calc(100% + 12px);
      left: -16px;
      background: var(--charcoal-light);
      border: 1px solid rgba(255, 255, 255, 0.08);
      border-radius: 12px;
      padding: 20px;
      min-width: 480px;
      box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 24px;
      opacity: 0;
      visibility: hidden;
      transform: translateY(8px);
      transition: all 0.2s ease;
  }

  .ht-dropdown:hover .ht-dropdown-menu {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
  }

  .ht-dropdown-label {
      display: block;
      font-size: 11px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.12em;
      color: rgba(250, 248, 245, 0.35);
      margin-bottom: 12px;
      padding: 0 12px;
  }

  .ht-dropdown-menu a {
      display: block !important;
      padding: 10px 12px !important;
      border-radius: 8px !important;
      transition: background 0.15s !important;
  }

  .ht-dropdown-menu a:hover {
      background: rgba(255, 255, 255, 0.06) !important;
  }

  .ht-dropdown-menu strong {
      display: block;
      font-size: 14px;
      font-weight: 600;
      color: var(--warm-white);
      margin-bottom: 2px;
  }

  .ht-dropdown-menu span {
      font-size: 12px;
      color: rgba(250, 248, 245, 0.45);
      line-height: 1.4;
  }

  /* Mobile menu */
  .ht-menu-toggle {
      display: none;
      background: none;
      border: none;
      cursor: pointer;
      padding: 8px;
  }

  .ht-menu-toggle span {
      display: block;
      width: 22px;
      height: 2px;
      background: var(--warm-white);
      margin: 5px 0;
      border-radius: 2px;
      transition: all 0.3s;
  }

  @media (max-width: 900px) {
      .ht-menu-toggle {
          display: block;
      }

      .ht-lang {
          margin-left: auto;
          padding-left: 0;
          border-left: none;
          margin-right: 8px;
          order: 98;
      }

      .ht-menu-toggle {
          order: 99;
      }

      .ht-nav {
          display: none;
          position: absolute;
          top: 72px;
          left: 0;
          right: 0;
          background: var(--charcoal);
          flex-direction: column;
          padding: 16px 28px 24px;
          gap: 4px;
          border-bottom: 1px solid rgba(255, 255, 255, 0.08);
          max-height: 80vh;
          overflow-y: auto;
          -webkit-overflow-scrolling: touch;
      }

      .ht-nav.open {
          display: flex;
      }

      /* Checkbox-based mobile menu toggle (replaces inline onclick) */
      .ht-menu-toggle-cb {
          position: absolute;
          opacity: 0;
          pointer-events: none;
      }

      .ht-menu-toggle-cb:checked~.ht-nav {
          display: flex;
      }

      .ht-nav a {
          padding: 12px 16px;
          width: 100%;
      }

      .ht-dropdown-menu {
          position: static;
          opacity: 1;
          visibility: visible;
          transform: none;
          min-width: auto;
          grid-template-columns: 1fr;
          background: transparent;
          border: none;
          box-shadow: none;
          padding: 8px 0 0;
      }

      .ht-dropdown:hover .ht-dropdown-menu {
          display: grid;
      }

      .ht-dropdown-trigger svg {
          display: none;
      }
  }

  /* ── Global Footer ── */
  .ht-footer {
      background: var(--charcoal);
      color: rgba(250, 248, 245, 0.6);
      font-size: 14px;
      line-height: 1.7;
  }

  .ht-footer-main {
      max-width: 1180px;
      margin: 0 auto;
      padding: 80px 28px 48px;
      display: grid;
      grid-template-columns: 1.5fr 1fr 1fr 1fr;
      gap: 48px;
  }

  .ht-footer-brand {
      font-family: var(--font-display);
      font-size: 20px;
      font-weight: 700;
      color: var(--warm-white);
      margin-bottom: 16px;
  }

  .ht-footer-brand span {
      color: var(--terra);
  }

  .ht-footer-desc {
      color: rgba(250, 248, 245, 0.5);
      font-size: 14px;
      line-height: 1.7;
      margin-bottom: 24px;
      max-width: 300px;
  }

  .ht-footer-social {
      display: flex;
      gap: 12px;
  }

  .ht-footer-social a {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 108px;
      height: 108px;
      border-radius: 8px;
      background: rgba(255, 255, 255, 0.06);
      color: rgba(250, 248, 245, 0.9) !important;
      text-decoration: none;
      font-size: 14px;
      transition: all 0.2s;
      text-align: center;
  }

  .ht-footer-social a:hover {

  }

  .ht-footer h4 {
      font-family: var(--font-body);
      font-size: 13px;
      font-weight: 700;
      color: var(--warm-white);
      text-transform: uppercase;
      letter-spacing: 0.1em;
      margin-bottom: 20px;
  }

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

  .ht-footer li {
      margin-bottom: 10px;
  }

  .ht-footer a {
      color: rgba(250, 248, 245, 0.5);
      text-decoration: none;
      transition: color 0.2s;
      font-size: 14px;
  }

  .ht-footer a:hover {
      color: var(--terra);
  }

  .ht-footer-contact li {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      margin-bottom: 14px;
  }

  .ht-footer-contact .icon {
      flex-shrink: 0;
      margin-top: 2px;
  }

  .ht-footer-bottom {
      max-width: 1180px;
      margin: 0 auto;
      padding: 24px 28px;
      border-top: 1px solid rgba(255, 255, 255, 0.06);
      display: flex;
      align-items: center;
      justify-content: space-between;
      font-size: 13px;
      color: rgba(250, 248, 245, 0.35);
  }

  .ht-footer-bottom a {
      color: rgba(250, 248, 245, 0.35);
      text-decoration: none;
  }

  .ht-footer-bottom a:hover {
      color: var(--terra);
  }
    /* 分公司地址栏（3 列：苏州 / 徐州 / 泰州） */
  .ht-footer-branches {
      
  }
  .ht-footer-branches-inner {
      max-width: 1180px;
      margin: 0 auto;
      padding: 32px 28px;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 40px;
  }
  .ht-footer-branch {
      display: flex;
      align-items: flex-start;
      gap: 14px;
  }
  .ht-footer-branch-icon {
      width: 40px; height: 40px;
      flex-shrink: 0;
      display: inline-flex; align-items: center; justify-content: center;
      border-radius: 10px;
      background: rgba(236, 120, 40, 0.12);
      color: var(--terra, #ec7828);
  }
  .ht-footer-branch-icon svg { width: 22px; height: 22px; }
  .ht-footer-branch h5 {
      font-family: var(--font-display);
      font-size: 16px;
      font-weight: 700;
      color: var(--warm-white, #faf8f5);
      margin: 0 0 6px;
  }
  .ht-footer-branch p {
      font-size: 14px;
      color: rgba(250, 248, 245, 0.55);
      line-height: 1.6;
      margin: 0;
}
  @media (max-width: 900px) {
      .ht-footer-main {
          grid-template-columns: 1fr 1fr;
          gap: 40px;
          padding: 48px 28px 32px;
      }
  }

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

      .ht-footer-bottom {
          flex-direction: column;
          gap: 8px;
          text-align: center;
      }
  }

  /* ── WeChat Copy Button ── */
  .ht-wechat-copy {
      background: var(--terra);
      color: #fff;
      border: none;
      padding: 4px 14px;
      border-radius: 5px;
      font-size: 12px;
      font-weight: 600;
      cursor: pointer;
      margin-left: 6px;
      transition: all 0.2s;
      vertical-align: middle;
  }

  .ht-wechat-copy:hover {
      background: var(--terra-dark);
  }

  .ht-wechat-copy.copied {
      background: var(--sage);
      pointer-events: none;
  }

  .ht-toast {
      position: fixed;
      bottom: 80px;
      left: 50%;
      transform: translateX(-50%) translateY(20px);
      background: var(--charcoal);
      color: #fff;
      padding: 14px 28px;
      border-radius: 10px;
      font-size: 14px;
      font-weight: 500;
      box-shadow: 0 8px 30px rgba(0, 0, 0, 0.25);
      z-index: 9999;
      opacity: 0;
      transition: all 0.3s ease;
      pointer-events: none;
  }

  .ht-toast.show {
      opacity: 1;
      transform: translateX(-50%) translateY(0);
  }

  /* ── Ads Mode ── */
  /* Activated via ?utm_medium=cpc or ?ads=1 */
  body.ads-mode .ht-nav>*:not(.ht-nav-cta) {
      display: none !important;
  }

  body.ads-mode .ht-nav .ht-nav-cta {
      margin-left: 0 !important;
  }

  body.ads-mode .ht-menu-toggle {
      display: none !important;
  }

  body.ads-mode .ht-footer-main>div:nth-child(2),
  body.ads-mode .ht-footer-main>div:nth-child(3) {
      display: none;
  }

  body.ads-mode .ht-footer-main {
      grid-template-columns: 1.5fr 1fr;
  }

  /* Hide blog/related/FAQ sections in ads mode */
  body.ads-mode .sv-blog-card,
  body.ads-mode .sv-grid-3 .sv-blog-card {
      display: none !important;
  }

  body.ads-mode section:has(.sv-blog-card) {
      display: none !important;
  }

  body.ads-mode section:has(.sv-faq) {
      display: none !important;
  }

  /* Ads mode phone in header */
  .ht-ads-phone {
      align-items: center;
      gap: 8px;
      color: var(--warm-white);
      text-decoration: none;
      font-size: 15px;
      font-weight: 600;
      padding: 8px 16px;
      border-radius: 6px;
      transition: all 0.2s;
  }

  .ht-ads-phone:hover {
      background: rgba(255, 255, 255, 0.08);
  }

  .ht-ads-phone svg {
      flex-shrink: 0;
  }

  body.ads-mode .ht-ads-phone {
      display: inline-flex;
  }

  /* Sticky CTA bar */
  .ht-sticky-cta {
      display: none;
      position: fixed;
      bottom: 0;
      left: 0;
      right: 0;
      z-index: 999;
      background: var(--terra);
      padding: 14px 28px;
      text-align: center;
      box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.15);
  }

  .ht-sticky-cta a {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      color: #fff;
      text-decoration: none;
      font-weight: 700;
      font-size: 16px;
  }

  .ht-sticky-cta .sticky-phone {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      margin-left: 24px;
      padding-left: 24px;
      border-left: 1px solid rgba(255, 255, 255, 0.3);
  }

  body.ads-mode .ht-sticky-cta {
      display: block;
  }

  body.ads-mode {
      padding-bottom: 60px;
  }

  @media (max-width: 900px) {
      body.ads-mode .ht-footer-main {
          grid-template-columns: 1fr;
      }

      .ht-sticky-cta .sticky-phone {
          display: none;
      }
  }


  .cms-breadcrumbs {
      display: none !important;
      /* visually hidden, JSON-LD kept */
      background: var(--cream);
      padding: 12px 0;
      font-size: 13px;
      color: var(--muted);
      border-bottom: 1px solid var(--line);
  }

  .cms-breadcrumbs .wf-content {
      max-width: 1180px;
      margin: 0 auto;
      padding: 0 28px;
  }

  .cms-breadcrumbs a {
      color: var(--muted);
      text-decoration: none;
      transition: color 0.2s;
  }

  .cms-breadcrumbs a:hover {
      color: var(--terra);
  }

  .cms-breadcrumbs .bc-sep {
      margin: 0 8px;
      color: var(--line);
  }

  .cms-breadcrumbs .bc-current {
      color: var(--charcoal);
      font-weight: 500;
  }


  /* ── Homepage Styles ── */

  /* Hero */
  .hp-hero {
      position: relative;
      min-height: 85vh;
      display: flex;
      align-items: center;
      background: var(--charcoal);
      color: var(--warm-white);
      overflow: hidden;
  }

  /* Hero 背景：主色深蓝 → 中蓝 → 浅蓝渐变（仿 ljglobal b1/b3 风格） */
  .hp-hero-bg {
      position: absolute;
      inset: 0;
      z-index: 0;
      background:
          radial-gradient(ellipse at 80% 30%, rgba(0, 0, 0, 0.35) 0%, transparent 45%),
          linear-gradient(135deg, #0e3795 0%, #1b61d5 55%, #2c8bf5 100%);
      opacity: 0.95;
  }

  /* Hero 渐变叠加层：斜向蓝→橙光斑（仿 ljglobal b2） */
  .hp-hero-bg::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(-45deg, rgba(27, 97, 213, 0.4) 0%, rgba(233, 142, 47, 0.18) 60%, transparent 100%);
      pointer-events: none;
      mix-blend-mode: screen;
  }

  .hp-hero-grain {
      position: absolute;
      inset: 0;
      z-index: 1;
      background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
      pointer-events: none;
  }

  /* ── Hero 动态点缀元素 ── */
  .hp-hero-particles {
      position: absolute;
      inset: 0;
      z-index: 1;
      pointer-events: none;
      overflow: hidden;
  }

  /* 粒子：小圆点，缓慢上浮 */
  .hp-particle {
      position: absolute;
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: rgba(255, 255, 255, 0.85);
      box-shadow: 0 0 8px rgba(255, 255, 255, 0.5);
      bottom: -10px;
      animation: ht-particle-rise linear infinite;
  }

  .hp-particle:nth-child(1)  { left: 5%;  width: 5px;  height: 5px;  animation-duration: 14s; animation-delay: 0s; }
  .hp-particle:nth-child(2)  { left: 12%; width: 9px;  height: 9px;  animation-duration: 18s; animation-delay: 2s; }
  .hp-particle:nth-child(3)  { left: 20%; width: 6px;  height: 6px;  animation-duration: 12s; animation-delay: 5s; }
  .hp-particle:nth-child(4)  { left: 28%; width: 4px;  height: 4px;  animation-duration: 20s; animation-delay: 1s; }
  .hp-particle:nth-child(5)  { left: 36%; width: 8px;  height: 8px;  animation-duration: 16s; animation-delay: 7s; }
  .hp-particle:nth-child(6)  { left: 44%; width: 5px;  height: 5px;  animation-duration: 13s; animation-delay: 3s; }
  .hp-particle:nth-child(7)  { left: 52%; width: 10px; height: 10px; animation-duration: 22s; animation-delay: 6s; }
  .hp-particle:nth-child(8)  { left: 60%; width: 6px;  height: 6px;  animation-duration: 15s; animation-delay: 4s; }
  .hp-particle:nth-child(9)  { left: 68%; width: 7px;  height: 7px;  animation-duration: 17s; animation-delay: 8s; }
  .hp-particle:nth-child(10) { left: 76%; width: 4px;  height: 4px;  animation-duration: 11s; animation-delay: 2.5s; }
  .hp-particle:nth-child(11) { left: 82%; width: 9px;  height: 9px;  animation-duration: 19s; animation-delay: 5.5s; }
  .hp-particle:nth-child(12) { left: 88%; width: 5px;  height: 5px;  animation-duration: 14s; animation-delay: 1.5s; }
  .hp-particle:nth-child(13) { left: 94%; width: 7px;  height: 7px;  animation-duration: 21s; animation-delay: 9s; }
  .hp-particle:nth-child(14) { left: 15%; width: 3px;  height: 3px;  animation-duration: 10s; animation-delay: 6.5s; }
  .hp-particle:nth-child(15) { left: 55%; width: 4px;  height: 4px;  animation-duration: 13s; animation-delay: 0.5s; }
  .hp-particle:nth-child(16) { left: 78%; width: 6px;  height: 6px;  animation-duration: 16s; animation-delay: 3.5s; }

  @keyframes ht-particle-rise {
      0% {
          opacity: 0;
          transform: translateY(0) translateX(0);
      }
      10% { opacity: 0.9; }
      90% { opacity: 0.4; }
      100% {
          opacity: 0;
          transform: translateY(-100vh) translateX(40px);
      }
  }

  /* 光球：大半透明圆，缓慢飘移 + 呼吸 */
  .hp-orb {
      position: absolute;
      border-radius: 50%;
      filter: blur(35px);
      opacity: 0.4;
      animation: ht-orb-drift ease-in-out infinite;
  }

  .hp-orb-1 {
      width: 260px;
      height: 260px;
      background: rgba(29, 26, 224, 0.7);
      top: 15%;
      left: 8%;
      animation-duration: 12s;
  }

  .hp-orb-2 {
      width: 200px;
      height: 200px;
      background: rgba(44, 139, 245, 0.6);
      bottom: 10%;
      right: 12%;
      animation-duration: 15s;
      animation-delay: 3s;
  }

  .hp-orb-3 {
      width: 160px;
      height: 160px;
      background: rgba(255, 255, 255, 0.4);
      top: 45%;
      left: 50%;
      animation-duration: 10s;
      animation-delay: 5s;
  }

  .hp-orb-4 {
      width: 140px;
      height: 140px;
      background: rgba(4, 57, 172, 0.5);
      bottom: 25%;
      left: 30%;
      animation-duration: 14s;
      animation-delay: 2s;
  }

  .hp-orb-5 {
      width: 180px;
      height: 180px;
      background: rgba(27, 97, 213, 0.5);
      top: 10%;
      right: 25%;
      animation-duration: 13s;
      animation-delay: 7s;
  }

  @keyframes ht-orb-drift {
      0%, 100% { transform: translate(0, 0) scale(1); }
      25%      { transform: translate(30px, -20px) scale(1.1); }
      50%      { transform: translate(-20px, 25px) scale(0.95); }
      75%      { transform: translate(15px, 10px) scale(1.05); }
  }

  .hp-hero-inner {
      position: relative;
      z-index: 2;
      max-width: 1180px;
      margin: 0 auto;
      padding: 120px 28px 100px;
      display: grid;
      grid-template-columns: 1.4fr 1.0fr;
      gap: 60px;
      align-items: center;
  }

  .hp-hero-label {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      font-size: 13px;
      font-weight: 600;
      letter-spacing: 0.02em;
      text-transform: uppercase;
      color: var(--accent-orange);
      margin-bottom: 24px;
  }

  .hp-hero-label::before {
      content: "";
      width: 40px;
      height: 2px;
      background: var(--accent-orange);
  }

  .hp-hero h1 {
      font-family: var(--font-display);
      font-size: clamp(30px, 4.8vw, 68px);
      font-weight: 900;
      line-height: 1.25;
      margin-bottom: 24px;
      letter-spacing: 0.1em;
  }

  .hp-hero h1 em {
      font-style: italic;
      color: var(--accent-orange);
  }

  .hp-hero p {
      font-size: 17px;
      line-height: 1.7;
      color: rgba(250, 248, 245, 0.7);
      max-width: 520px;
      margin-bottom: 36px;
  }

  .hp-hero-btns {
      display: flex;
      gap: 14px;
      flex-wrap: wrap;
  }

  .hp-btn {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 14px 32px;
      border-radius: 8px;
      font-family: var(--font-body);
      font-size: 15px;
      font-weight: 600;
      text-decoration: none;
      transition: all 0.25s;
      border: none;
      cursor: pointer;
  }

  .hp-btn-primary {
      background: linear-gradient(135deg, var(--terra) 0%, var(--terra-dark) 100%);
      color: #fff;
      box-shadow: 0 8px 24px rgba(14, 55, 149, 0.25);
  }

  .hp-btn-primary:hover {
      background: linear-gradient(135deg, var(--terra-dark) 0%, #2c8bf5 100%);
      transform: translateY(-2px);
      box-shadow: 0 12px 32px rgba(14, 55, 149, 0.35);
  }

  .hp-btn-ghost {
      background: transparent;
      color: var(--warm-white);
      border: 1.5px solid rgba(250, 248, 245, 0.25);
  }

  .hp-btn-ghost:hover {
      border-color: var(--warm-white);
      background: rgba(255, 255, 255, 0.05);
  }

  .hp-hero-visual {
      position: relative;
  }

  .hp-hero-img {
      width: 100%;
      border-radius: 16px;
      box-shadow: 0 32px 64px rgba(0, 0, 0, 0.3);
  }

  .hp-hero-badge {
      position: absolute;
      bottom: -20px;
      left: -20px;
      background: var(--warm-white);
      padding: 16px 20px;
      border-radius: 12px;
      box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
      display: flex;
      align-items: center;
      gap: 12px;
  }

  .hp-hero-badge img {
      height: 40px;
  }

  .hp-hero-badge span {
      font-size: 12px;
      font-weight: 600;
      color: var(--charcoal);
      line-height: 1.3;
  }

  /* Trust bar */
  .hp-trust {
      background: linear-gradient(90deg, var(--cream-2) 0%, var(--cream) 50%, #f4f8fe 100%);
      padding: 40px 0;
      border-bottom: 1px solid var(--line);
  }

  .hp-trust-inner {
      max-width: 1180px;
      margin: 0 auto;
      padding: 0 28px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 48px;
      flex-wrap: wrap;
  }

  .hp-trust-label {
      font-size: 13px;
      color: var(--muted);
      font-weight: 500;
  }

  .hp-trust-logos {
      display: flex;
      align-items: center;
      gap: 32px;
      flex-wrap: wrap;
  }

  .hp-trust-logos img {
      height: 40px;
      opacity: 0.7;
      filter: grayscale(30%);
      transition: all 0.2s;
  }

  .hp-trust-logos img:hover {
      opacity: 1;
      filter: none;
  }

  .hp-trust-name {
      font-family: var(--font-display);
      font-size: 18px;
      font-weight: 700;
      color: var(--charcoal);
      opacity: 0.35;
      letter-spacing: -0.01em;
      transition: opacity 0.2s;
  }

  .hp-trust-name:hover {
      opacity: 0.6;
  }

  /* Services */
  .hp-services {
      padding: 110px 0;
      background: var(--warm-white);
  }

  .hp-services-inner {
      max-width: 1180px;
      margin: 0 auto;
      padding: 0 28px;
  }

  .hp-section-label {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      font-size: 16px;
      font-weight: 700;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--accent-orange);
      margin-bottom: 16px;
  }

  .hp-section-label::before {
      content: "";
      width: 32px;
      height: 2px;
      background: var(--accent-orange);
  }

  .hp-services h2 {
      font-family: var(--font-display);
      font-size: clamp(32px, 4vw, 48px);
      font-weight: 900;
      color: var(--charcoal);
      margin-bottom: 16px;
      max-width: 1180px;
  }

  .hp-services>.hp-services-inner>p {
      color: var(--muted);
      font-size: 17px;
      max-width: 880px;
      margin-bottom: 56px;
  }

  .hp-services-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
  }

  .hp-service-card {
      padding: 40px 32px;
      border-radius: 14px;
      border: 1px solid var(--line);
      background: #fff;
      transition: all 0.3s;
      position: relative;
      overflow: hidden;
  }

  .hp-service-card:hover {
      border-color: var(--terra);
      transform: translateY(-6px);
      box-shadow: 0 20px 48px rgba(0, 0, 0, 0.06);
  }

  .hp-service-card::after {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 3px;
      background: var(--terra);
      opacity: 0;
      transition: opacity 0.3s;
  }

  .hp-service-card:hover::after {
      opacity: 1;
  }

  .hp-service-icon {
      width: 52px;
      height: 52px;
      border-radius: 12px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 24px;
      margin-bottom: 20px;
      background: rgba(27, 97, 213, 0.08);
      color: var(--terra);
  }

  .hp-service-icon svg {
      width: 28px;
      height: 28px;
  }

  .hp-service-card h3 {
      font-family: var(--font-display);
      font-size: 22px;
      font-weight: 700;
      margin-bottom: 5px;
  }
    .hp-service-card h4 {
      font-family: var(--font-display);
      font-size: 16px;
      font-weight: 700;
      margin-bottom: 10px;
  }

  .hp-service-card p {
      color: var(--muted);
      font-size: 15px;
      line-height: 1.65;
      margin-bottom: 20px;
  }

  /* —— 卡片图标、标题居中（「为什么选择我们」+「核心服务」）—— */
  .hp-services-grid .hp-service-icon {
      margin-left: auto;
      margin-right: auto;
  }

  .hp-services-grid .hp-service-card h3, .hp-services-grid .hp-service-card h4 {
      text-align: center;
  }

  .hp-service-link {
      font-size: 14px;
      font-weight: 600;
      color: var(--terra);
      text-decoration: none;
      display: inline-flex;
      align-items: center;
      gap: 6px;
      transition: gap 0.2s;
  }

  .hp-service-link:hover {
      gap: 10px;
  }

  /* Results / Case Studies */
  .hp-results {
      padding: 110px 0;
      background: linear-gradient(135deg, #0a1f3f 0%, #0e3795 50%, #1b61d5 100%);
      color: var(--warm-white);
      position: relative;
      overflow: hidden;
  }

  /* Results 区右上角斜向蓝→橙光斑（与 Hero 呼应） */
  .hp-results::before {
      content: "";
      position: absolute;
      top: -20%;
      right: -10%;
      width: 60%;
      height: 60%;
      background: radial-gradient(ellipse at center, rgba(233, 142, 47, 0.25) 0%, transparent 70%);
      pointer-events: none;
      filter: blur(60px);
  }

  .hp-results-inner {
      max-width: 1180px;
      margin: 0 auto;
      padding: 0 28px;
      position: relative;
      z-index: 2;
  }

  .hp-results h2 {
      font-family: var(--font-display);
      font-size: clamp(32px, 4vw, 48px);
      font-weight: 900;
      margin-bottom: 56px;
  }

  .hp-results-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 32px;
      margin-bottom: 60px;
  }

  .hp-result-card {
      text-align: center;
      padding: 40px 20px;
      border-radius: 14px;
      background: rgba(255, 255, 255, 0.04);
      border: 1px solid rgba(255, 255, 255, 0.06);
  }

  .hp-result-num {
      font-family: var(--font-display);
      font-size: 56px;
      font-weight: 900;
      color: var(--accent-orange);
      line-height: 1;
      margin-bottom: 8px;
  }

  .hp-result-label {
      font-size: 14px;
      color: rgba(250, 248, 245, 0.6);
  }

  .hp-result-detail {
      font-size: 12px;
      color: rgba(250, 248, 245, 0.35);
      margin-top: 4px;
  }

  .hp-cases {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
  }

  .hp-case {
      background: rgba(255, 255, 255, 0.04);
      border: 1px solid rgba(255, 255, 255, 0.06);
      border-radius: 14px;
      overflow: hidden;
      transition: all 0.3s;
  }

  .hp-case:hover {
      border-color: var(--terra);
      transform: translateY(-4px);
  }

  .hp-case-img {
      width: 100%;
      height: 180px;
      object-fit: cover;
  }

  .hp-case-body {
      padding: 24px;
  }

  .hp-case-tag {
      font-size: 11px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      color: var(--accent-orange);
      margin-bottom: 8px;
  }

  .hp-case h3 {
      font-family: var(--font-display);
      font-size: 18px;
      font-weight: 700;
      margin-bottom: 6px;
  }

  .hp-case p {
      font-size: 14px;
      color: rgba(250, 248, 245, 0.5);
      line-height: 1.55;
  }

  /* Process */
  .hp-process {
      padding: 110px 0;
      background: linear-gradient(180deg, var(--warm-white) 0%, var(--cream) 100%);
  }

  .hp-process-inner {
      max-width: 1180px;
      margin: 0 auto;
      padding: 0 28px;
  }

  .hp-process h2 {
      font-family: var(--font-display);
      font-size: clamp(32px, 4vw, 48px);
      font-weight: 900;
      margin-bottom: 64px;
      text-align: center;
  }

  .hp-process-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 56px;
  }

  .hp-step {
      text-align: center;
      position: relative;
  }

  .hp-step-num {
      font-family: var(--font-display);
      font-size: 64px;
      font-weight: 900;
      color: rgba(27, 97, 213, 0.12);
      line-height: 1;
      margin-bottom: 16px;
  }

  .hp-step h3 {
      font-family: var(--font-display);
      font-size: 20px;
      font-weight: 700;
      margin-bottom: 10px;
  }

  .hp-step p {
      color: var(--muted);
      font-size: 14px;
      line-height: 1.6;
  }

  /* Industries */
  .hp-industries {
      padding: 80px 0;
      background: var(--cream);
  }

  .hp-industries-inner {
      max-width: 1180px;
      margin: 0 auto;
      padding: 0 28px;
      text-align: center;
  }

  .hp-industries h2 {
      font-family: var(--font-display);
      font-size: clamp(28px, 3.5vw, 40px);
      font-weight: 900;
      margin-bottom: 40px;
  }

  .hp-tags {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 12px;
  }

  .hp-tag {
      padding: 10px 22px;
      border-radius: 50px;
      font-size: 14px;
      font-weight: 500;
      color: var(--charcoal);
      background: var(--warm-white);
      border: 1px solid var(--line);
      text-decoration: none;
      transition: all 0.2s;
  }

  .hp-tag:hover {
      border-color: var(--terra);
      color: var(--terra);
  }

  /* ── Clients / Partners Logo 展示区 ── */
  .hp-clients {
      padding: 110px 0;
  }

  .hp-clients-inner {
      max-width: 1180px;
      margin: 0 auto;
      padding: 0 28px;
  }

  /* 标题 + MORE 按钮横向布局 */
  .hp-clients-head {
      display: flex;
      justify-content: space-between;
      align-items: flex-end;
      gap: 40px;
      margin-bottom: 72px;
  }

  .hp-clients-head > div {
      text-align: center;
      flex: 1;
  }

  .hp-clients-head .hp-section-label {
      display: inline-flex;
  }

  .hp-clients h2 {
      font-family: var(--font-display);
      font-size: clamp(28px, 3.5vw, 44px);
      font-weight: 900;
      color: var(--charcoal);
      margin-bottom: 16px;
  }
   .hp-clients h3 {
    margin-bottom: 10px;
   }
  .hp-clients-sub {
      color: var(--muted);
      font-size: 16px;
      max-width: 640px;
      margin: 0 auto;
      line-height: 1.7;
  }

  /* MORE 按钮：右上角按钮样式 */
  .hp-clients-more {
      flex-shrink: 0;
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 10px 32px;
      border: 1px solid var(--line);
      border-radius: 6px;
      background: #fff;
      color: var(--charcoal);
      text-decoration: none;
      font-size: 13px;
      font-weight: 500;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      transition: all 0.2s ease;
      align-self: center;
  }

  .hp-clients-more:hover {
      border-color: var(--terra);
      color: var(--terra);
  }

  /* Logo 视口：横向裁切溢出页，配合 track 实现整屏轮播 */
  .hp-clients-grid {
      overflow: hidden;
      margin-bottom: 48px;
  }

  /* 轨道：横向排列各页，translateX 整屏位移切换 */
  .hp-clients-track {
      display: flex;
      transition: transform 0.5s cubic-bezier(0.22, 0.61, 0.36, 1);
      will-change: transform;
  }

  /* 单页：2 行 × 5 列 = 10 个，占满视口宽度 */
  .hp-clients-page {
      flex: 0 0 100%;
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      gap: 24px;
      padding:10px;
  }

  /* 尊重用户的减少动画偏好：切换时禁用过渡 */
  @media (prefers-reduced-motion: reduce) {
      .hp-clients-track {
          transition: none;
      }
  }

  /* 单个 Logo 卡片：大尺寸、白底、淡边框、hover 轻微上浮 */
  .hp-client-logo {
      position: relative;
      aspect-ratio: 5 / 3; /* 宽高比略扁，适合 Logo 展示 */
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 12px;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 1px;
      transition: all 0.3s ease;
      overflow: hidden;
  }

  .hp-client-logo:hover {
      border-color: var(--terra);
      transform: translateY(-4px);
      box-shadow: 0 16px 40px rgba(0, 0, 0, 0.06);
  }

  /* 文字占位：等客户真实 Logo 图片到位后，可替换为 <img> */
  .hp-client-logo span {
      font-family: var(--font-display);
      font-size: clamp(15px, 1.4vw, 20px);
      font-weight: 700;
      color: var(--charcoal);
      opacity: 0.7;
      letter-spacing: 0.02em;
      text-align: center;
      transition: opacity 0.2s ease;
  }

  .hp-client-logo:hover span {
      opacity: 1;
  }

  /* 若改为 <img>，用此规则控制大小（与上面 span 互不影响） */
  .hp-client-logo img {
      max-width: 99%;
      max-height: 99%;
      object-fit: contain;
      filter: grayscale(20%);
      opacity: 1;
      transition: all 0.3s ease;
  }

  .hp-client-logo:hover img {
      filter: none;
      opacity: 1;
  }

  /* 轮播小圆点指示器 */
  .hp-clients-dots {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
  }

  .hp-clients-dot {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: var(--line);
      border: none;
      padding: 0;
      cursor: pointer;
      transition: all 0.2s ease;
  }

  .hp-clients-dot:hover {
      background: var(--muted);
  }

  .hp-clients-dot.active {
      width: 28px;
      border-radius: 4px;
      background: var(--terra);
  }

  /* ── Blog highlights ── */
  .hp-blog {
      padding: 100px 0;
      background: var(--warm-white);
  }

  .hp-blog-inner {
      max-width: 1180px;
      margin: 0 auto;
      padding: 0 28px;
  }

  .hp-blog h2 {
      font-family: var(--font-display);
      font-size: clamp(28px, 3.5vw, 42px);
      font-weight: 900;
      margin-bottom: 48px;
  }

  .hp-blog-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
  }

  .hp-blog-card {
      border-radius: 14px;
      border: 1px solid var(--line);
      overflow: hidden;
      background: #fff;
      transition: all 0.3s;
  }

  .hp-blog-card:hover {
      border-color: var(--terra);
      transform: translateY(-4px);
      box-shadow: 0 16px 40px rgba(0, 0, 0, 0.06);
  }

  .hp-blog-card img {
      width: 100%;
      height: 200px;
      object-fit: cover;
  }

  .hp-blog-card-body {
      padding: 24px;
  }

  .hp-blog-card-tag {
      font-size: 12px;
      font-weight: 600;
      color: var(--terra);
      text-transform: uppercase;
      letter-spacing: 0.08em;
      margin-bottom: 8px;
  }

  .hp-blog-card h3 {
      font-family: var(--font-display);
      font-size: 19px;
      font-weight: 700;
      margin-bottom: 8px;
  }

  .hp-blog-card h3 a {
      color: var(--charcoal);
      text-decoration: none;
  }

  .hp-blog-card h3 a:hover {
      color: var(--terra);
  }

  .hp-blog-card p {
      font-size: 14px;
      color: var(--muted);
      line-height: 1.6;
  }

  /* FAQ */
  .hp-faq {
      padding: 100px 0;
      background: linear-gradient(180deg, var(--cream) 0%, var(--cream-2) 100%);
  }

  .hp-faq-inner {
      max-width: 800px;
      margin: 0 auto;
      padding: 0 28px;
  }

  .hp-faq h2 {
      font-family: var(--font-display);
      font-size: clamp(28px, 3.5vw, 42px);
      font-weight: 900;
      text-align: center;
      margin-bottom: 48px;
  }

  .hp-faq-item {
      border-bottom: 1px solid var(--line);
      padding: 24px 0;
  }

  .hp-faq-q {
      font-family: var(--font-display);
      font-size: 18px;
      font-weight: 700;
      color: var(--charcoal);
      cursor: pointer;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 16px;
  }

  .hp-faq-q::after {
      content: "+";
      font-size: 24px;
      color: var(--accent-orange);
      flex-shrink: 0;
      transition: transform 0.2s;
  }

  .hp-faq-item.open .hp-faq-q::after {
      content: "−";
  }

  .hp-faq-a {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.3s ease;
      color: var(--muted);
      font-size: 15px;
      line-height: 1.7;
  }

  .hp-faq-item.open .hp-faq-a {
      max-height: 300px;
      padding-top: 16px;
  }

  /* CTA */
  .hp-cta {
      padding: 100px 0;
      background: linear-gradient(135deg, #0e3795 0%, #1b61d5 65%, #e98e2f 100%);
      color: #fff;
      text-align: center;
      position: relative;
      overflow: hidden;
  }

  .hp-cta::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
          radial-gradient(circle at 25% 30%, rgba(255, 255, 255, 0.18) 0%, transparent 55%),
          radial-gradient(circle at 80% 70%, rgba(233, 142, 47, 0.25) 0%, transparent 50%);
      pointer-events: none;
  }

  .hp-cta-inner {
      max-width: 700px;
      margin: 0 auto;
      padding: 0 28px;
      position: relative;
      z-index: 2;
  }

  .hp-cta h2 {
      font-family: var(--font-display);
      font-size: clamp(32px, 4vw, 48px);
      font-weight: 900;
      margin-bottom: 16px;
  }

  .hp-cta p {
      font-size: 17px;
      opacity: 0.85;
      margin-bottom: 36px;
  }

  .hp-btn-white {
      background: #fff;
      color: var(--accent-orange);
  }

  .hp-btn-white:hover {
      background: var(--cream);
      transform: translateY(-2px);
  }

  /* ═══════════════ 动态动画效果 ═══════════════ */

  /* ── 关键帧定义 ── */
  @keyframes ht-fade-up {
      from { opacity: 0; transform: translateY(36px); }
      to   { opacity: 1; transform: translateY(0); }
  }

  /* 从下方大幅飞入 */
  @keyframes ht-fly-up {
      from { opacity: 0; transform: translateY(80px) scale(0.96); }
      to   { opacity: 1; transform: translateY(0) scale(1); }
  }

  /* 从左侧飞入 */
  @keyframes ht-fly-right {
      from { opacity: 0; transform: translateX(-80px); }
      to   { opacity: 1; transform: translateX(0); }
  }

  /* 从右侧飞入 */
  @keyframes ht-fly-left {
      from { opacity: 0; transform: translateX(80px); }
      to   { opacity: 1; transform: translateX(0); }
  }

  /* 缩放飞入 */
  @keyframes ht-fly-scale {
      from { opacity: 0; transform: scale(0.7); }
      to   { opacity: 1; transform: scale(1); }
  }

  /* 3D 翻转飞入 */
  @keyframes ht-fly-flip {
      from { opacity: 0; transform: perspective(800px) rotateX(-25deg) translateY(30px); }
      to   { opacity: 1; transform: perspective(800px) rotateX(0) translateY(0); }
  }

  @keyframes ht-fade-in {
      from { opacity: 0; }
      to   { opacity: 1; }
  }

  @keyframes ht-float {
      0%, 100% { transform: translateY(0); }
      50%      { transform: translateY(-12px); }
  }

  @keyframes ht-glow-pulse {
      0%, 100% { opacity: 0.35; transform: scale(1); }
      50%      { opacity: 0.6;  transform: scale(1.08); }
  }

  @keyframes ht-shimmer {
      0%   { background-position: -200% center; }
      100% { background-position: 200% center; }
  }

  @keyframes ht-line-grow {
      from { width: 0; }
      to   { width: 32px; }
  }

  @keyframes ht-count-bounce {
      0%   { transform: scale(0.8); opacity: 0; }
      60%  { transform: scale(1.05); }
      100% { transform: scale(1); opacity: 1; }
  }

  /* ── 滚动揭示：默认隐藏，进入视口后动画展示 ── */
  [data-reveal] {
      opacity: 0;
      will-change: opacity, transform;
  }

  /* 默认飞入：从下方淡入上滑 */
  [data-reveal].ht-revealed {
      animation: ht-fade-up 1.2s cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
  }

  /* data-anim 指定飞入方向 */
  [data-anim="fly-up"].ht-revealed {
      animation: ht-fly-up 1.4s cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
  }

  [data-anim="fly-right"].ht-revealed {
      animation: ht-fly-right 1.4s cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
  }

  [data-anim="fly-left"].ht-revealed {
      animation: ht-fly-left 1.4s cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
  }

  [data-anim="fly-scale"].ht-revealed {
      animation: ht-fly-scale 1.2s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
  }

  [data-anim="fly-flip"].ht-revealed {
      animation: ht-fly-flip 1.4s cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
  }

  /* 无动画偏好：直接显示 */
  @media (prefers-reduced-motion: reduce) {
      [data-reveal] { opacity: 1 !important; animation: none !important; }
  }

  /* ── 交错延迟：网格内每个子元素依次入场 ── */
  [data-reveal][data-delay="1"].ht-revealed { animation-delay: 0.15s; }
  [data-reveal][data-delay="2"].ht-revealed { animation-delay: 0.3s; }
  [data-reveal][data-delay="3"].ht-revealed { animation-delay: 0.45s; }
  [data-reveal][data-delay="4"].ht-revealed { animation-delay: 0.6s; }
  [data-reveal][data-delay="5"].ht-revealed { animation-delay: 0.75s; }
  [data-reveal][data-delay="6"].ht-revealed { animation-delay: 0.9s; }

  /* ── Hero 区：背景光斑缓慢呼吸 ── */
  .hp-hero-bg::after {
      animation: ht-glow-pulse 6s ease-in-out infinite;
  }

  /* Hero 右侧图片悬浮 */
  .hp-hero-img {
      animation: ht-float 5s ease-in-out infinite;
  }

  /* ── 服务卡片：hover 时顶部光带 + 图标放大 ── */
  .hp-service-card:hover .hp-service-icon {
      transform: scale(1.12) rotate(-3deg);
  }

  .hp-service-icon {
      transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
  }

  /* 卡片 hover 顶部光带由蓝转橙渐变流动 */
  .hp-service-card::after {
      background: linear-gradient(90deg, var(--terra) 0%, var(--accent-orange) 50%, var(--terra) 100%);
      background-size: 200% 100%;
      opacity: 0;
      transition: opacity 0.3s;
  }

  .hp-service-card:hover::after {
      opacity: 1;
      animation: ht-shimmer 2s linear infinite;
  }

  /* ── 实战数据：数字弹入 ── */
  .hp-result-num.ht-counted {
      animation: ht-count-bounce 0.6s ease-out;
  }

  /* ── 合作流程：步骤编号 hover 放大变色 ── */
  .hp-step-num {
      transition: color 0.3s, transform 0.3s;
      cursor: default;
  }

  .hp-step:hover .hp-step-num {
      color: rgba(233, 142, 47, 0.25);
      transform: scale(1.1);
  }

  /* 流程步骤间连接线（仅桌面） */
  .hp-step:not(:last-child)::after {
      content: "";
      position: absolute;
      top: 32px;
      right: -16px;
      width: 32px;
      height: 2px;
      background: var(--line);
      background-image: repeating-linear-gradient(90deg, var(--line) 0, var(--line) 6px, transparent 6px, transparent 12px);
      background-size: 12px 2px;
      background-repeat: repeat-x;
      background-color: transparent;
      opacity: 0;
      animation: ht-fade-in 0.5s 0.4s ease forwards;
  }

  .hp-step.ht-revealed:not(:last-child)::after {
      opacity: 1;
  }

  /* ── 客户 Logo：hover 上浮 + 边框高亮 ── */
  .hp-client-logo {
      transition: all 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
  }

  .hp-client-logo:hover {
      transform: translateY(-6px) scale(1.03);
      border-color: var(--accent-orange);
      box-shadow: 0 12px 32px rgba(233, 142, 47, 0.15);
  }

  /* ── FAQ 条目展开过渡 ── */
  .hp-faq-item {
      transition: border-color 0.3s, background 0.3s;
  }

  .hp-faq-item.open {
    /*  border-color: var(--accent-orange);
      background: rgba(233, 142, 47, 0.03);
      */
  }

  /* ── CTA 按钮脉冲引导 ── */
  .hp-btn-white {
      position: relative;
      overflow: hidden;
  }

  .hp-btn-white::before {
      content: "";
      position: absolute;
      top: 0;
      left: -100%;
      width: 100%;
      height: 100%;
      background: linear-gradient(90deg, transparent, rgba(233, 142, 47, 0.25), transparent);
      transition: left 0.5s;
  }

  .hp-btn-white:hover::before {
      left: 100%;
  }

  /* ── 区块标题装饰线：滚入时展开 ── */
  .hp-section-label.ht-revealed::before {
      animation: ht-line-grow 0.5s 0.2s ease forwards;
      width: 0;
      overflow: hidden;
  }

  /* Responsive */
  @media (max-width: 900px) {
      .hp-hero {
      min-height: 58vh;
  }
      .hp-hero-inner {
          grid-template-columns: 1fr;
          padding: 80px 28px 60px;
      }

      .hp-hero-visual {
          display: none;
      }

      .hp-services-grid {
          grid-template-columns: 1fr 1fr;
      }

      .hp-results-grid {
          grid-template-columns: 1fr 1fr;
      }

      .hp-cases {
          grid-template-columns: 1fr;
      }

      .hp-process-grid {
          grid-template-columns: 1fr 1fr;
          gap: 40px;
      }

      .hp-blog-grid {
          grid-template-columns: 1fr;
      }

      /* 客户 Logo 区：平板改为一行 3 个 */
      .hp-clients {
          padding: 72px 0;
      }

      .hp-clients-head {
          flex-direction: column;
          align-items: center;
          gap: 24px;
          margin-bottom: 48px;
      }

      .hp-clients-sub {
          font-size: 15px;
      }

      .hp-clients-grid {
          margin-bottom: 36px;
      }

      .hp-clients-page {
          grid-template-columns: repeat(3, 1fr);
          gap: 16px;
      }

      .hp-client-logo {
          aspect-ratio: 4 / 3;
          padding: 16px;
      }
  }

  @media (max-width: 600px) {

      .hp-services-grid,
      .hp-results-grid,
      .hp-process-grid {
          grid-template-columns: 1fr;
      }

      /* 客户 Logo 区：手机改为一行 2 个 */
      .hp-clients {
          padding: 56px 0;
      }

      .hp-clients-inner {
          padding: 0 20px;
      }

      .hp-clients-page {
          grid-template-columns: repeat(2, 1fr);
          gap: 12px;
      }

      .hp-client-logo {
          aspect-ratio: 3 / 2;
          padding: 12px;
      }

      .hp-client-logo span {
          font-size: 14px;
      }
  }
  

  /* ZH-specific: triple badge row */
  .hp-hero-badges {
      position: absolute;
      bottom: -20px;
      left: -20px;
      right: -20px;
      display: flex;
      gap: 12px;
      flex-wrap: wrap;
  }

  .hp-hero-badges .hp-hero-badge {
      position: static;
      flex: 1;
      min-width: 120px;
  }

  /* Mobile: move badges under hero text instead of hiding */
  .hp-hero-badges-mobile {
      display: none;
  }

  @media (max-width: 900px) {
      .hp-hero-badges-mobile {
          display: flex;
          gap: 12px;
          flex-wrap: wrap;
          margin-top: 32px;
          justify-content: center;
      }

      .hp-hero-badges-mobile .hp-hero-badge {
          position: static;
          flex: 0 1 auto;
      }

      .hp-why-us-grid {
          grid-template-columns: 1fr !important;
      }
  }


  /* Fade-up safety override: default visible; JS adds .is-pre-fade for the initial state */
  .fade-up {
      opacity: 1 !important;
      transform: none !important;
  }

  .fade-up.is-pre-fade {
      opacity: 0 !important;
      transform: translateY(20px) !important;
  }

  .fade-up.is-revealed {
      opacity: 1 !important;
      transform: none !important;
      transition: opacity .6s ease, transform .6s ease;
  }

  :root {
      --color-primary: #0a1f3f;
      --primary: #1b61d5;
      --color-accent: #1b61d5;
      --accent: #1b61d5;
      --accent-orange: #e98e2f;
      --font-display: 'Fraunces', system-ui, sans-serif;
      --font-body: 'Manrope', system-ui, sans-serif;
      --radius-medium: 8px;
      --radius: 8px;
  }

  body,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  p,
  a,
  span,
  li,
  td,
  th,
  input,
  textarea,
  button,
  select {
      font-family: "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", "Noto Sans SC", "Source Han Sans SC", sans-serif !important
  }

  /* GTM stray tag stripped */
body:not(.wf-edit-mode) .wf-block-hidden {
      display: none !important
  }

  .wf-hero {
      padding: clamp(7rem, 12vw, 10rem) 0 clamp(2rem, 4vw, 3rem);
      text-align: center
  }

  .wf-hero-title {
      font-family: var(--display, var(--font-display, serif));
      font-size: clamp(1.75rem, 4vw, 2.5rem);
      font-weight: 700;
      margin: 0 0 0.5rem;
      color: var(--textPrimary, #1a1a1a)
  }

  .wf-hero-sub {
      color: var(--textSecondary, #666);
      font-size: clamp(0.95rem, 1.5vw, 1.1rem);
      max-width: 560px;
      margin: 0 auto;
      line-height: 1.6
  }

  .wf-pills {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin: clamp(1.75rem, 3.5vw, 2.75rem) 0 clamp(1.75rem, 3.5vw, 2.75rem)
  }

  .wf-pill {
      padding: 6px 16px;
      border-radius: 20px;
      font-size: 14px;
      font-weight: 500;
      text-decoration: none;
      border: 1px solid var(--border, #e0e0e0);
      color: var(--textSecondary, #666);
      background: var(--surface, #f9f9f9);
      cursor: pointer;
      transition: all 0.15s
  }

  .wf-pill:hover,
  .wf-pill.active {
      background: var(--primary, #2563eb);
      color: #fff;
      border-color: var(--primary, #2563eb)
  }

  .wf-card {
      border: 1px solid var(--border, #e0e0e0);
      border-radius: var(--radius, 8px);
      overflow: hidden;
      background: var(--surface, #fff);
      transition: box-shadow 0.2s, transform 0.2s
  }

  .wf-card:hover {
      box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
      transform: translateY(-2px)
  }

  .wf-card-elevated {
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06)
  }

  .wf-card a {
      text-decoration: none;
      color: inherit;
      display: block
  }

  .wf-blog-card-img {
      width: 100%;
      height: 200px;
      object-fit: cover;
      display: block
  }

  .wf-blog-card-placeholder {
      width: 100%;
      height: 200px;
      background: var(--surface, #f0f0f0);
      display: flex;
      align-items: center;
      justify-content: center;
      color: var(--textSecondary, #999)
  }

  .wf-blog-card-cat {
      font-size: 12px;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      color: var(--primary, #2563eb)
  }

  .wf-blog-card-date {
      font-size: 0.8rem;
      color: var(--textSecondary, #999)
  }

  .wf-shortcode-section {
      padding: clamp(3rem, 6vw, 5rem) 1rem;
      background: var(--surface, #f9fafb)
  }

  .wf-shortcode-section .wf-section-inner {
      max-width: 1200px;
      margin: 0 auto
  }

  .wf-section-head {
      display: flex;
      justify-content: space-between;
      align-items: end;
      flex-wrap: wrap;
      gap: 1rem;
      margin-bottom: clamp(1.5rem, 3vw, 2.5rem)
  }

  .wf-section-title {
      font-family: var(--display, serif);
      font-size: clamp(1.5rem, 3vw, 2rem);
      font-weight: 700;
      margin: 0 0 0.5rem;
      color: var(--textPrimary, #1a1a1a)
  }

  .wf-section-intro {
      color: var(--textSecondary, #666);
      font-size: 1rem;
      margin: 0;
      max-width: 560px
  }

  .wf-section-viewall {
      color: var(--primary, #2563eb);
      text-decoration: none;
      font-weight: 500;
      font-size: 0.95rem;
      white-space: nowrap
  }

  .wf-card-img {
      width: 100%;
      aspect-ratio: 4/3;
      object-fit: cover;
      display: block
  }

  .wf-card-body {
      padding: clamp(0.75rem, 2vw, 1.25rem)
  }

  .wf-card-title {
      font-family: var(--display, var(--font-display, serif));
      font-size: clamp(1rem, 1.5vw, 1.15rem);
      font-weight: 700;
      margin: 0 0 0.4rem;
      line-height: 1.3
  }

  .wf-card-desc {
      color: var(--textSecondary, #666);
      font-size: 0.9rem;
      line-height: 1.5;
      margin: 0 0 0.5rem
  }

  .wf-card-link {
      display: block;
      padding: 0 clamp(0.75rem, 2vw, 1.25rem) clamp(0.75rem, 2vw, 1.25rem);
      color: var(--primary, #2563eb);
      font-size: 0.9rem;
      font-weight: 500
  }

  .wf-card-extra {
      display: block;
      font-size: 0.85rem;
      color: var(--textSecondary, #666);
      margin-bottom: 0.25rem
  }

  .wf-card-extra-link {
      display: inline-block;
      font-size: 0.85rem;
      color: var(--primary, #2563eb);
      margin-bottom: 0.25rem
  }

  .wf-bc-bar {
      max-width: 1200px;
      margin: 0 auto;
      padding: clamp(5.5rem, 9vw, 7.5rem) 1.5rem 0
  }

  .wf-bc-bar+main .wf-hero,
  .wf-bc-bar+section .wf-hero,
  .wf-bc-bar+div .wf-hero {
      padding-top: 2rem
  }

  .wf-bc {
      font-size: 0.85rem;
      color: var(--textSecondary, #666);
      margin-bottom: 0
  }

  .wf-bc a {
      color: inherit;
      text-decoration: none
  }

  .wf-bc a:hover {
      text-decoration: underline
  }

  .wf-bc span {
      margin: 0 0.3rem
  }

  .wf-grid {
      display: grid;
      gap: clamp(1rem, 2vw, 1.5rem)
  }

  .wf-grid-auto {
      grid-template-columns: repeat(auto-fill, minmax(300px, 1fr))
  }

  .wf-grid-2col {
      grid-template-columns: repeat(2, 1fr)
  }

  .wf-grid-3col {
      grid-template-columns: repeat(3, 1fr)
  }

  .wf-grid-4col {
      grid-template-columns: repeat(4, 1fr)
  }

  .wf-grid-5col {
      grid-template-columns: repeat(5, 1fr)
  }

  .wf-sec-title {
      font-family: var(--display, var(--font-display, serif));
      font-size: 1.25rem;
      font-weight: 700;
      margin: 0 0 1rem
  }

  .wf-empty {
      text-align: center;
      color: var(--textSecondary, #666);
      padding: 3rem 0
  }

  .wf-widget {
      background: var(--surface, #fff);
      border: 1px solid var(--border, #e0e0e0);
      border-radius: var(--radius, 8px);
      padding: 1.25rem;
      margin-bottom: 1rem
  }

  .wf-widget-title {
      font-family: var(--display, var(--font-display, serif));
      font-size: 1rem;
      font-weight: 700;
      margin: 0 0 0.75rem
  }

  .wf-back {
      color: var(--primary, #2563eb);
      text-decoration: none;
      font-weight: 500
  }

  .wf-back:hover {
      text-decoration: underline
  }

  .wf-content {
      font-size: clamp(0.95rem, 1.2vw, 1.05rem);
      line-height: 1.8;
      color: var(--textPrimary, #1a1a1a)
  }

  .wf-content h2 {
      font-family: var(--display, var(--font-display, serif));
      font-size: clamp(1.2rem, 2vw, 1.5rem);
      font-weight: 700;
      margin: 2rem 0 0.75rem;
      line-height: 1.3
  }

  .wf-content h3 {
      font-family: var(--display, var(--font-display, serif));
      font-size: clamp(1.05rem, 1.5vw, 1.25rem);
      font-weight: 600;
      margin: 1.5rem 0 0.5rem
  }

  .wf-content h4 {
      font-weight: 600;
      margin: 1.25rem 0 0.5rem
  }

  .wf-content p {
      margin: 0 0 1rem
  }

  .wf-content a {
      color: var(--primary, #2563eb);
      text-decoration: underline;
      text-decoration-color: var(--primary, #2563eb);
      text-underline-offset: 2px
  }

  .wf-content ul,
  .wf-content ol {
      margin: 0 0 1rem;
      padding-left: 1.5rem
  }

  .wf-content li {
      margin-bottom: 0.4rem
  }

  .wf-content blockquote {
      border-left: 3px solid var(--primary, #2563eb);
      margin: 1.5rem 0;
      padding: 0.75rem 1.25rem;
      background: var(--surface, #f9f9f9);
      border-radius: 0 var(--radius, 6px) var(--radius, 6px) 0
  }

  .wf-content blockquote p {
      margin: 0;
      color: var(--textSecondary, #444)
  }

  .wf-content img {
      max-width: 100%;
      height: auto;
      border-radius: var(--radius, 8px);
      margin: 1rem 0
  }

  .wf-content table {
      width: 100%;
      border-collapse: collapse;
      margin: 1rem 0
  }

  .wf-content th,
  .wf-content td {
      padding: 0.6rem 0.75rem;
      border: 1px solid var(--border, #e0e0e0);
      text-align: left;
      font-size: 0.9rem
  }

  .wf-content th {
      background: var(--surface, #f5f5f5);
      font-weight: 600
  }

  @media(max-width:640px) {
      .wf-content table {
          display: block;
          overflow-x: auto;
          -webkit-overflow-scrolling: touch;
          white-space: nowrap;
          max-width: 100%
      }

      .wf-content th,
      .wf-content td {
          font-size: 0.85rem
      }
  }

  .wf-masonry {
      column-gap: clamp(1rem, 2vw, 1.5rem)
  }

  .wf-masonry.wf-grid-2col {
      column-count: 2
  }

  .wf-masonry.wf-grid-3col {
      column-count: 3
  }

  .wf-masonry.wf-grid-4col {
      column-count: 4
  }

  .wf-masonry.wf-grid-5col {
      column-count: 5
  }

  .wf-masonry .wf-card {
      break-inside: avoid;
      margin-bottom: clamp(1rem, 2vw, 1.5rem)
  }

  .wf-list-item {
      border-bottom: 1px solid var(--border, #e0e0e0);
      transition: background 0.15s
  }

  .wf-list-item:hover {
      background: var(--surface, #f9f9f9)
  }

  .wf-list-item a {
      text-decoration: none;
      color: inherit
  }

  .wf-list-row {
      display: flex;
      align-items: center;
      gap: 1rem;
      padding: 1rem 0
  }

  .wf-list-img {
      width: 80px;
      height: 60px;
      object-fit: cover;
      border-radius: var(--radius, 6px);
      flex-shrink: 0
  }

  .wf-list-text {
      flex: 1;
      min-width: 0
  }

  .wf-list-arrow {
      color: var(--primary, #2563eb);
      font-size: 1.25rem;
      flex-shrink: 0
  }

  .wf-lightbox {
      position: fixed;
      inset: 0;
      z-index: 9999;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer
  }

  .wf-lightbox-bg {
      position: absolute;
      inset: 0;
      background: rgba(0, 0, 0, 0.85)
  }

  .wf-lightbox-img {
      position: relative;
      max-width: 90vw;
      max-height: 90vh;
      border-radius: 8px;
      object-fit: contain
  }

  @media(max-width:900px) {

      .wf-grid-3col,
      .wf-grid-4col,
      .wf-grid-5col {
          grid-template-columns: repeat(2, 1fr)
      }

      .wf-masonry.wf-grid-3col,
      .wf-masonry.wf-grid-4col,
      .wf-masonry.wf-grid-5col {
          column-count: 2
      }
  }

  @media(max-width:480px) {

      .wf-grid-2col,
      .wf-grid-3col,
      .wf-grid-4col,
      .wf-grid-5col {
          grid-template-columns: 1fr
      }

      .wf-masonry.wf-grid-2col,
      .wf-masonry.wf-grid-3col,
      .wf-masonry.wf-grid-4col,
      .wf-masonry.wf-grid-5col {
          column-count: 1
      }

      .wf-list-img {
          width: 60px;
          height: 45px
      }
  }

  .wf-nav-dropdown {
      position: relative;
      display: inline-flex;
      align-items: center
  }

  .wf-nav-dropdown::after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      top: 100%;
      height: 12px
  }

  .wf-nav-dropdown-toggle {
      background: none;
      border: none;
      cursor: pointer;
      font: inherit;
      color: inherit;
      display: inline-flex;
      align-items: center;
      gap: .25em;
      padding: 0;
      white-space: nowrap;
      text-decoration: none
  }

  .wf-chevron {
      transition: transform .2s
  }

  .wf-nav-dropdown.open .wf-chevron {
      transform: rotate(180deg)
  }

  .wf-nav-dropdown-menu {
      display: none;
      position: absolute;
      top: 100%;
      left: 0;
      background: var(--color-surface, var(--surface, #fff));
      border: 1px solid var(--color-border, var(--border, #e0e0e0));
      border-radius: var(--radius-sm, var(--radius, 8px));
      box-shadow: 0 4px 16px rgba(0, 0, 0, .1);
      min-width: 200px;
      padding: .5rem 0;
      z-index: 200
  }

  .wf-nav-dropdown.open .wf-nav-dropdown-menu {
      display: block
  }

  .wf-nav-dropdown-menu a {
      display: block !important;
      padding: .5rem 1rem !important;
      color: var(--color-text, var(--text, #333)) !important;
      text-decoration: none !important;
      font-size: 14px !important;
      white-space: nowrap;
      transition: background .15s
  }

  .wf-nav-dropdown-menu a:hover {
      background: var(--color-background, var(--bg-alt, #f5f5f5)) !important
  }

  @media(max-width:900px) {
      .wf-nav-dropdown::after {
          display: none
      }

      .wf-nav-dropdown-menu {
          position: static;
          box-shadow: none;
          border: none;
          background: transparent;
          padding: 0 0 0 1rem
      }

      .wf-nav-dropdown-menu a {
          padding: .4rem 0 !important
      }
  }

  .wf-shortcode-section.wf-latest-insights {
  background: var(--cream, #f4f8fe); padding: 120px 32px;
}
.wf-shortcode-section.wf-latest-insights .wf-section-inner { max-width: 1200px; margin: 0 auto; }
.wf-shortcode-section.wf-latest-insights .wf-section-head {
  display: flex; justify-content: space-between; align-items: end; margin-bottom: 60px; gap: 32px;
}
.wf-shortcode-section.wf-latest-insights .wf-section-title {
  font-family: var(--font-display); font-size: clamp(32px,4vw,48px);
  font-weight: 600; line-height: 1.15; color: var(--charcoal); margin: 0 0 12px 0;
}
.wf-shortcode-section.wf-latest-insights .wf-section-intro {
  color: var(--muted); font-size: 16px; line-height: 1.6; margin: 0; max-width: 600px;
}
.wf-shortcode-section.wf-latest-insights .wf-section-viewall {
  display: inline-flex; align-items: center; gap: 8px; font-size: 14px;
  font-weight: 600; color: var(--terra); text-decoration: none; white-space: nowrap;
}
.wf-shortcode-section.wf-latest-insights .wf-section-viewall:hover { gap: 12px; }
.wf-shortcode-section.wf-latest-insights .wf-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px;
}
.wf-shortcode-section.wf-latest-insights .wf-card {
  background: #fff; border: 1px solid var(--line); border-radius: 14px;
  overflow: hidden; transition: all 0.3s;
}
.wf-shortcode-section.wf-latest-insights .wf-card:hover {
  border-color: var(--terra); transform: translateY(-6px); box-shadow: 0 20px 50px rgba(0,0,0,0.06);
}
.wf-shortcode-section.wf-latest-insights .wf-card a { display: block; text-decoration: none; color: var(--charcoal); }
.wf-shortcode-section.wf-latest-insights .wf-blog-card-img { width: 100%; height: 220px; object-fit: cover; display: block; }
.wf-shortcode-section.wf-latest-insights .wf-card-body { padding: 36px 32px; }
.wf-shortcode-section.wf-latest-insights .wf-blog-card-cat {
  display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--terra); margin-bottom: 12px;
}
.wf-shortcode-section.wf-latest-insights .wf-card-title {
  font-family: var(--font-display); font-size: 19px; font-weight: 600;
  line-height: 1.35; margin: 0 0 10px 0;
}
.wf-shortcode-section.wf-latest-insights .wf-card-desc {
  color: var(--muted); font-size: 14px; line-height: 1.6; margin: 0 0 12px 0;
}
.wf-shortcode-section.wf-latest-insights .wf-blog-card-date { font-size: 12px; color: var(--muted); }
@media (max-width: 900px) {
  .wf-shortcode-section.wf-latest-insights { padding: 56px 16px; }
  .wf-shortcode-section.wf-latest-insights .wf-section-head { flex-direction: column; align-items: flex-start; margin-bottom: 32px; }
  .wf-shortcode-section.wf-latest-insights .wf-grid { grid-template-columns: 1fr; }
}

/* =======================================================================
   共享样式合并（服务页共享内联 <style> 抽离到 common.css，避免 8+ 页面重复）
   1) wf-leads-form：询盘表单公共控件
   2) wf-hero / wf-card / wf-masonry / wf-list / wf-lightbox：内容页公共
   3) wf-nav-dropdown / wf-mnav / 移动导航：导航+移动端抽屉
   4) zp-* / sv-* 公共基版：Hero / 板块 / 卡片 / 按钮 / Lead Form / CTA / FAQ / 对比表 / 定价 / 流程
   单页独有的 page-piece（case / blog / ai / sem / seo / about / web-design / contact / shopify 文章）
     仍保留在各页 <style data-wf-page-css> 中，不做公共抽取。
   ======================================================================= */

/* 1) wf-leads-form */
.wf-leads-form {
      width: 100%;
      max-width: 540px;
      margin: 0 auto;
      text-align: left
    }

    .wf-leads-form .wf-leads-submit {
      display: block;
      margin: 0 auto
    }

    .wf-leads-row {
      display: flex;
      gap: 8px;
      flex-wrap: wrap
    }

    .wf-leads-row .wf-leads-input {
      flex: 1;
      min-width: 140px
    }

    .wf-leads-row .wf-leads-submit {
      white-space: nowrap
    }

    .wf-leads-stack {
      display: flex;
      flex-direction: column;
      gap: 14px;
      margin-bottom: 20px
    }

    .wf-leads-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
      margin-bottom: 20px
    }

    .wf-leads-full-width {
      grid-column: 1/-1
    }

    @media(max-width:640px) {
      .wf-leads-grid {
        grid-template-columns: 1fr
      }

      .wf-leads-row {
        flex-direction: column
      }
    }

    .wf-leads-field {
      display: flex;
      flex-direction: column
    }

    .wf-leads-label {
      font-family: var(--font-body, system-ui, sans-serif);
      font-size: var(--text-small, 14px);
      font-weight: 500;
      color: var(--color-text-secondary, #666);
      margin-bottom: 6px
    }

    .wf-leads-optional {
      font-weight: 400;
      opacity: .6
    }

    .wf-leads-input {
      font-family: var(--font-body, system-ui, sans-serif);
      font-size: var(--text-body, 16px);
      padding: 12px 16px;
      border: 1px solid var(--color-border, #ddd);
      border-radius: var(--radius-medium, 8px);
      background: var(--color-surface, #fff);
      color: var(--color-text-primary, #1a1a1a);
      transition: border-color .15s;
      outline: none;
      width: 100%;
      box-sizing: border-box
    }

    .wf-leads-input:focus {
      border-color: var(--color-accent, #6C5CE7)
    }

    .wf-leads-input::placeholder {
      color: var(--color-text-secondary, #999);
      opacity: .6
    }

    .wf-leads-textarea {
      resize: vertical;
      min-height: 100px
    }

    .wf-leads-submit {
      font-family: var(--font-body, system-ui, sans-serif);
      font-size: var(--text-body, 16px);
      font-weight: 600;
      padding: 12px 32px;
      border: none;
      border-radius: var(--radius-medium, 8px);
      background: var(--color-accent, #6C5CE7);
      color: #fff;
      cursor: pointer;
      transition: opacity .15s, transform .1s
    }

    .wf-leads-submit:hover {
      opacity: .9
    }

    .wf-leads-submit:active {
      transform: scale(.98)
    }

    .wf-leads-submit:disabled {
      opacity: .5;
      cursor: not-allowed
    }

    .wf-leads-status {
      margin-top: 12px;
      font-size: var(--text-small, 14px);
      min-height: 20px
    }

    .wf-leads-status.success {
      color: #16a34a
    }

    .wf-leads-status.error {
      color: #dc2626
    }

/* 2) wf-hero / wf-card / wf-masonry / wf-list / wf-lightbox */
body:not(.wf-edit-mode) .wf-block-hidden {
      display: none !important
    }

    .wf-hero {
      padding: clamp(7rem, 12vw, 10rem) 0 clamp(2rem, 4vw, 3rem);
      text-align: center
    }

    .wf-hero-title {
      font-family: var(--font-heading, var(--display, var(--font-display, serif)));
      font-size: clamp(1.75rem, 4vw, 2.5rem);
      font-weight: 700;
      margin: 0 0 0.5rem;
      color: var(--text, var(--textPrimary, #1a1a1a))
    }

    .wf-hero-sub {
      color: var(--text-secondary, var(--textSecondary, #666));
      font-size: clamp(0.95rem, 1.5vw, 1.1rem);
      max-width: 560px;
      margin: 0 auto;
      line-height: 1.6
    }

    .wf-pills {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin: clamp(1.75rem, 3.5vw, 2.75rem) 0 clamp(1.75rem, 3.5vw, 2.75rem)
    }

    .wf-pill {
      padding: 6px 16px;
      border-radius: 20px;
      font-size: 14px;
      font-weight: 500;
      text-decoration: none;
      border: 1px solid var(--border, #e0e0e0);
      color: var(--text-secondary, var(--textSecondary, #666));
      background: var(--surface, #f9f9f9);
      cursor: pointer;
      transition: all 0.15s
    }

    .wf-pill:hover,
    .wf-pill.active {
      background: var(--primary, #2563eb);
      color: #fff;
      border-color: var(--primary, #2563eb)
    }

    .wf-card {
      border: 1px solid var(--border, #e0e0e0);
      border-radius: var(--radius, 8px);
      overflow: hidden;
      background: var(--surface, #fff);
      transition: box-shadow 0.2s, transform 0.2s
    }

    .wf-card:hover {
      box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
      transform: translateY(-2px)
    }

    .wf-card-elevated {
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06)
    }

    .wf-card a {
      text-decoration: none;
      color: inherit;
      display: block
    }

    .wf-blog-card-img {
      width: 100%;
      height: 200px;
      object-fit: cover;
      display: block
    }

    .wf-blog-card-placeholder {
      width: 100%;
      height: 200px;
      background: var(--surface, #f0f0f0);
      display: flex;
      align-items: center;
      justify-content: center;
      color: var(--text-secondary, var(--textSecondary, #999))
    }

    .wf-blog-card-cat {
      font-size: 12px;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      color: var(--primary, #2563eb)
    }

    .wf-blog-card-date {
      font-size: 0.8rem;
      color: var(--text-secondary, var(--textSecondary, #999))
    }

    .wf-shortcode-section {
      padding: clamp(3rem, 6vw, 5rem) 1rem;
      background: var(--surface, #f9fafb)
    }

    .wf-shortcode-section .wf-section-inner {
      max-width: 1200px;
      margin: 0 auto
    }

    .wf-section-head {
      display: flex;
      justify-content: space-between;
      align-items: end;
      flex-wrap: wrap;
      gap: 1rem;
      margin-bottom: clamp(1.5rem, 3vw, 2.5rem)
    }

    .wf-section-title {
      font-family: var(--font-heading, var(--display, serif));
      font-size: clamp(1.5rem, 3vw, 2rem);
      font-weight: 700;
      margin: 0 0 0.5rem;
      color: var(--text, var(--textPrimary, #1a1a1a))
    }

    .wf-section-intro {
      color: var(--text-secondary, var(--textSecondary, #666));
      font-size: 1rem;
      margin: 0;
      max-width: 560px
    }

    .wf-section-viewall {
      color: var(--primary, #2563eb);
      text-decoration: none;
      font-weight: 500;
      font-size: 0.95rem;
      white-space: nowrap
    }

    .wf-card-img {
      width: 100%;
      aspect-ratio: 4/3;
      object-fit: cover;
      display: block
    }

    .wf-card-body {
      padding: clamp(0.75rem, 2vw, 1.25rem)
    }

    .wf-card-title {
      font-family: var(--font-heading, var(--display, var(--font-display, serif)));
      font-size: clamp(1rem, 1.5vw, 1.15rem);
      font-weight: 700;
      margin: 0 0 0.4rem;
      line-height: 1.3
    }

    .wf-card-desc {
      color: var(--text-secondary, var(--textSecondary, #666));
      font-size: 0.9rem;
      line-height: 1.5;
      margin: 0 0 0.5rem
    }

    .wf-card-link {
      display: block;
      padding: 0 clamp(0.75rem, 2vw, 1.25rem) clamp(0.75rem, 2vw, 1.25rem);
      color: var(--primary, #2563eb);
      font-size: 0.9rem;
      font-weight: 500
    }

    .wf-card-extra {
      display: block;
      font-size: 0.85rem;
      color: var(--text-secondary, var(--textSecondary, #666));
      margin-bottom: 0.25rem
    }

    .wf-card-extra-link {
      display: inline-block;
      font-size: 0.85rem;
      color: var(--primary, #2563eb);
      margin-bottom: 0.25rem
    }

    .wf-bc-bar {
      max-width: 1200px;
      margin: 0 auto;
      padding: clamp(5.5rem, 9vw, 7.5rem) 1.5rem 0
    }

    .wf-bc-bar+main .wf-hero,
    .wf-bc-bar+section .wf-hero,
    .wf-bc-bar+div .wf-hero {
      padding-top: 2rem
    }

    .wf-bc {
      font-size: 0.85rem;
      color: var(--text-secondary, var(--textSecondary, #666));
      margin-bottom: 0
    }

    .wf-bc a {
      color: inherit;
      text-decoration: none
    }

    .wf-bc a:hover {
      text-decoration: underline
    }

    .wf-bc span {
      margin: 0 0.3rem
    }

    .wf-grid {
      display: grid;
      gap: clamp(1rem, 2vw, 1.5rem)
    }

    .wf-grid-auto {
      grid-template-columns: repeat(auto-fill, minmax(300px, 1fr))
    }

    .wf-grid-2col {
      grid-template-columns: repeat(2, 1fr)
    }

    .wf-grid-3col {
      grid-template-columns: repeat(3, 1fr)
    }

    .wf-grid-4col {
      grid-template-columns: repeat(4, 1fr)
    }

    .wf-grid-5col {
      grid-template-columns: repeat(5, 1fr)
    }

    .wf-sec-title {
      font-family: var(--font-heading, var(--display, var(--font-display, serif)));
      font-size: 1.25rem;
      font-weight: 700;
      margin: 0 0 1rem
    }

    .wf-empty {
      text-align: center;
      color: var(--text-secondary, var(--textSecondary, #666));
      padding: 3rem 0
    }

    .wf-widget {
      background: var(--surface, #fff);
      border: 1px solid var(--border, #e0e0e0);
      border-radius: var(--radius, 8px);
      padding: 1.25rem;
      margin-bottom: 1rem
    }

    .wf-widget-title {
      font-family: var(--font-heading, var(--display, var(--font-display, serif)));
      font-size: 1rem;
      font-weight: 700;
      margin: 0 0 0.75rem
    }

    .wf-back {
      color: var(--primary, #2563eb);
      text-decoration: none;
      font-weight: 500
    }

    .wf-back:hover {
      text-decoration: underline
    }

    .wf-content {
      font-size: clamp(0.95rem, 1.2vw, 1.05rem);
      line-height: 1.8;
      color: var(--text, var(--textPrimary, #1a1a1a))
    }

    .wf-content h2 {
      font-family: var(--font-heading, var(--display, var(--font-display, serif)));
      font-size: clamp(1.2rem, 2vw, 1.5rem);
      font-weight: 700;
      margin: 2rem 0 0.75rem;
      line-height: 1.3
    }

    .wf-content h3 {
      font-family: var(--font-heading, var(--display, var(--font-display, serif)));
      font-size: clamp(1.05rem, 1.5vw, 1.25rem);
      font-weight: 600;
      margin: 1.5rem 0 0.5rem
    }

    .wf-content h4 {
      font-weight: 600;
      margin: 1.25rem 0 0.5rem
    }

    .wf-content p {
      margin: 0 0 1rem
    }

    .wf-content a {
      color: var(--primary, #2563eb);
      text-decoration: underline;
      text-decoration-color: var(--primary, #2563eb);
      text-underline-offset: 2px
    }

    .wf-content ul,
    .wf-content ol {
      margin: 0 0 1rem;
      padding-left: 1.5rem
    }

    .wf-content li {
      margin-bottom: 0.4rem
    }

    .wf-content blockquote {
      border-left: 3px solid var(--primary, #2563eb);
      margin: 1.5rem 0;
      padding: 0.75rem 1.25rem;
      background: var(--surface, #f9f9f9);
      border-radius: 0 var(--radius, 6px) var(--radius, 6px) 0
    }

    .wf-content blockquote p {
      margin: 0;
      color: var(--text-secondary, var(--textSecondary, #444))
    }

    .wf-content img {
      max-width: 100%;
      height: auto;
      border-radius: var(--radius, 8px);
      margin: 1rem 0
    }

    .wf-content table {
      width: 100%;
      border-collapse: collapse;
      margin: 1rem 0
    }

    .wf-content th,
    .wf-content td {
      padding: 0.6rem 0.75rem;
      border: 1px solid var(--border, #e0e0e0);
      text-align: left;
      font-size: 0.9rem
    }

    .wf-content th {
      background: var(--surface, #f5f5f5);
      font-weight: 600
    }

    @media(max-width:640px) {
      .wf-content table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        white-space: nowrap;
        max-width: 100%
      }

      .wf-content th,
      .wf-content td {
        font-size: 0.85rem
      }
    }

    .wf-masonry {
      column-gap: clamp(1rem, 2vw, 1.5rem)
    }

    .wf-masonry.wf-grid-2col {
      column-count: 2
    }

    .wf-masonry.wf-grid-3col {
      column-count: 3
    }

    .wf-masonry.wf-grid-4col {
      column-count: 4
    }

    .wf-masonry.wf-grid-5col {
      column-count: 5
    }

    .wf-masonry .wf-card {
      break-inside: avoid;
      margin-bottom: clamp(1rem, 2vw, 1.5rem)
    }

    .wf-list-item {
      border-bottom: 1px solid var(--border, #e0e0e0);
      transition: background 0.15s
    }

    .wf-list-item:hover {
      background: var(--surface, #f9f9f9)
    }

    .wf-list-item a {
      text-decoration: none;
      color: inherit
    }

    .wf-list-row {
      display: flex;
      align-items: center;
      gap: 1rem;
      padding: 1rem 0
    }

    .wf-list-img {
      width: 80px;
      height: 60px;
      object-fit: cover;
      border-radius: var(--radius, 6px);
      flex-shrink: 0
    }

    .wf-list-text {
      flex: 1;
      min-width: 0
    }

    .wf-list-arrow {
      color: var(--primary, #2563eb);
      font-size: 1.25rem;
      flex-shrink: 0
    }

    .wf-lightbox {
      position: fixed;
      inset: 0;
      z-index: 9999;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer
    }

    .wf-lightbox-bg {
      position: absolute;
      inset: 0;
      background: rgba(0, 0, 0, 0.85)
    }

    .wf-lightbox-img {
      position: relative;
      max-width: 90vw;
      max-height: 90vh;
      border-radius: 8px;
      object-fit: contain
    }

    @media(max-width:900px) {

      .wf-grid-3col,
      .wf-grid-4col,
      .wf-grid-5col {
        grid-template-columns: repeat(2, 1fr)
      }

      .wf-masonry.wf-grid-3col,
      .wf-masonry.wf-grid-4col,
      .wf-masonry.wf-grid-5col {
        column-count: 2
      }
    }

    @media(max-width:480px) {

      .wf-grid-2col,
      .wf-grid-3col,
      .wf-grid-4col,
      .wf-grid-5col {
        grid-template-columns: 1fr
      }

      .wf-masonry.wf-grid-2col,
      .wf-masonry.wf-grid-3col,
      .wf-masonry.wf-grid-4col,
      .wf-masonry.wf-grid-5col {
        column-count: 1
      }

      .wf-list-img {
        width: 60px;
        height: 45px
      }
    }

/* 3) wf-nav-dropdown / wf-mnav / 移动导航 */
.wf-nav-dropdown {
      position: relative;
      display: inline-flex;
      align-items: center
    }

    .wf-nav-dropdown::after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      top: 100%;
      height: 12px
    }

    .wf-nav-dropdown-toggle {
      background: none;
      border: none;
      cursor: pointer;
      font: inherit;
      color: inherit;
      display: inline-flex;
      align-items: center;
      gap: .25em;
      padding: 0;
      white-space: nowrap;
      text-decoration: none
    }

    .wf-chevron {
      transition: transform .2s
    }

    .wf-nav-dropdown.open .wf-chevron {
      transform: rotate(180deg)
    }

    .wf-nav-dropdown-menu {
      display: none;
      position: absolute;
      top: 100%;
      left: 0;
      background: var(--color-surface, var(--surface, #fff));
      border: 1px solid var(--color-border, var(--border, #e0e0e0));
      border-radius: var(--radius-sm, var(--radius, 8px));
      box-shadow: 0 4px 16px rgba(0, 0, 0, .1);
      min-width: 200px;
      padding: .5rem 0;
      z-index: 200
    }

    .wf-nav-dropdown.open .wf-nav-dropdown-menu {
      display: block
    }

    .wf-nav-dropdown-menu a {
      display: block !important;
      padding: .5rem 1rem !important;
      color: var(--color-text, var(--text, #333)) !important;
      text-decoration: none !important;
      font-size: 14px !important;
      white-space: nowrap;
      transition: background .15s
    }

    .wf-nav-dropdown-menu a:hover {
      background: var(--color-background, var(--bg-alt, #f5f5f5)) !important
    }

    @media(max-width:900px) {
      .wf-nav-dropdown::after {
        display: none
      }

      .wf-nav-dropdown-menu {
        position: static;
        box-shadow: none;
        border: none;
        background: transparent;
        padding: 0 0 0 1rem
      }

      .wf-nav-dropdown-menu a {
        padding: .4rem 0 !important
      }
    }

    .wf-mnav-grp {
      display: flex;
      flex-direction: column
    }

    .wf-mnav-row {
      display: flex;
      align-items: center
    }

    .wf-mnav-row a {
      flex: 1;
      min-width: 0
    }

    .wf-mnav-tog {
      background: none;
      border: 0;
      color: inherit;
      cursor: pointer;
      padding: 12px 4px 12px 16px;
      display: flex;
      align-items: center;
      flex: none
    }

    .wf-mnav-tog svg {
      transition: transform .2s
    }

    .wf-mnav-grp.open .wf-mnav-tog svg {
      transform: rotate(180deg)
    }

    .wf-mnav-sub {
      display: none;
      flex-direction: column
    }

    .wf-mnav-grp.open .wf-mnav-sub {
      display: flex
    }

    .nav-mobile,
    .wf-mobile-nav,
    #mobileNav {
      overflow-y: auto;
      -webkit-overflow-scrolling: touch
    }

/* 4) zp-* / sv-* 服务页公共 */
/* Lead Form (shared with service pages) */
.sv-leadform { padding: 80px 0; background: var(--charcoal); color: var(--warm-white); position: relative; overflow: hidden; }
.sv-leadform::before { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse at 30% 50%, rgba(196,93,62,0.12) 0%, transparent 60%); }
.sv-leadform-inner { max-width: 580px; margin: 0 auto; padding: 0 28px; position: relative; z-index: 2; }
.sv-leadform h3 { font-family: var(--font-display); font-size: clamp(24px, 3vw, 32px); font-weight: 900; margin-bottom: 24px; text-align: center; }
.sv-leadform .seo-form-row { display: flex; gap: 12px; margin-bottom: 0; }
.sv-leadform input, .sv-leadform textarea { width: 100%; padding: 14px 16px; border: 1px solid rgba(250,248,245,0.15); border-radius: 8px; font-family: var(--font-body); font-size: 15px; color: var(--warm-white); background: rgba(250,248,245,0.06); outline: none; transition: border-color 0.2s; margin-bottom: 12px; }
.sv-leadform input::placeholder, .sv-leadform textarea::placeholder { color: rgba(250,248,245,0.3); }
.sv-leadform input:focus, .sv-leadform textarea:focus { border-color: var(--terra); }
.sv-leadform textarea { min-height: 80px; resize: vertical; }
.sv-leadform button { width: 100%; padding: 16px 28px; border-radius: 8px; background: var(--terra); color: #fff; font-family: var(--font-body); font-size: 16px; font-weight: 700; border: none; cursor: pointer; transition: all 0.25s; }
.sv-leadform button:hover { background: var(--terra-dark); transform: translateY(-2px); }
.sv-leadform button:disabled { opacity: 0.6; cursor: not-allowed; transform: none; }
.sv-leadform-success h3 { margin-bottom: 10px; }
.sv-leadform-success p { color: rgba(250,248,245,0.7); margin-top: 10px; text-align: center; }
@media (max-width: 600px) { .sv-leadform .seo-form-row { flex-direction: column; gap: 0; } .sv-leadform .seo-form-row input { width: 100%; } }

/* Hero — split layout like EN */
.zp-hero {
  background: var(--charcoal); color: var(--warm-white);
  padding: 120px 28px 100px; position: relative; overflow: hidden;
}
.zp-hero::before {
  content: ""; position: absolute; inset: 0;
  background: radial-gradient(circle at 70% 30%, rgba(196,93,62,0.15) 0%, transparent 60%);
}
.zp-hero-split {
  max-width: 1180px; margin: 0 auto; position: relative; z-index: 2;
  display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 60px; align-items: center;
}
.zp-hero-center { text-align: center; max-width: 800px; margin: 0 auto; position: relative; z-index: 2; }
.zp-hero-label {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 13px; font-weight: 600; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--terra); margin-bottom: 20px;
}
.zp-hero-label::before { content: ""; width: 32px; height: 2px; background: var(--terra); }
.zp-hero h1 {
  font-family: var(--font-display); font-size: clamp(36px, 5vw, 60px);
  font-weight: 900; line-height: 1.08; margin-bottom: 20px;
}
.zp-hero h1 em { font-style: italic; color: var(--terra); }
.zp-hero p { font-size: 17px; color: rgba(250,248,245,0.7); line-height: 1.7; max-width: 540px; margin-bottom: 32px; }
.zp-hero-center p { max-width: 640px; margin-left: auto; margin-right: auto; margin-bottom: 32px; }
.zp-hero-btns { display: flex; gap: 14px; flex-wrap: wrap; }
.zp-hero-center .zp-hero-btns { justify-content: center; }
.zp-hero-visual img { width: 100%; border-radius: 16px; box-shadow: 0 32px 64px rgba(0,0,0,0.3); }
.zp-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 14px 32px; border-radius: 8px; font-family: var(--font-body);
  font-size: 15px; font-weight: 600; text-decoration: none;
  transition: all 0.25s; border: none; cursor: pointer;
}
.zp-btn-primary { background: var(--terra); color: #fff; }
.zp-btn-primary:hover { background: var(--terra-dark); transform: translateY(-2px); }
.zp-btn-ghost { background: transparent; color: var(--warm-white); border: 1.5px solid rgba(250,248,245,0.25); }
.zp-btn-ghost:hover { border-color: var(--warm-white); }

/* Section common */
.zp-section { padding: 100px 0; }
.zp-section-alt { background: var(--cream); }
.zp-section-dark { background: var(--charcoal); color: var(--warm-white); }
.zp-inner { max-width: 1180px; margin: 0 auto; padding: 0 28px; }
.zp-section-label {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 16px; font-weight: 700; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--terra); margin-bottom: 16px;
}
.zp-section-label::before { content: ""; width: 32px; height: 2px; background: var(--terra); }
.zp-section h2 {
  font-family: var(--font-display); font-size: clamp(28px, 3.5vw, 44px);
  font-weight: 900; margin-bottom: 16px;
}
.zp-section p.zp-lead { color: var(--muted); font-size: 17px; max-width: 600px; margin-bottom: 48px; line-height: 1.7; }

/* Cards grid */
.zp-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; }
.zp-grid-3 { grid-template-columns: repeat(3, 1fr); }
.zp-grid-4 { grid-template-columns: repeat(4, 1fr); }
.zp-card {
  padding: 36px 28px; border-radius: 14px; border: 1px solid var(--line);
  background: #fff; transition: all 0.3s; position: relative; overflow: hidden;
}
.zp-card:hover { border-color: var(--terra); transform: translateY(-4px); box-shadow: 0 16px 40px rgba(0,0,0,0.06); }
.zp-card::after {
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: var(--terra); opacity: 0; transition: opacity 0.3s;
}
.zp-card:hover::after { opacity: 1; }
.zp-card-icon { font-size: 28px; margin-bottom: 16px; color: var(--terra, #b45309); }
.zp-card h3 { font-family: var(--font-display); font-size: 20px; font-weight: 700; margin-bottom: 10px; }
.zp-card p { color: var(--muted); font-size: 15px; line-height: 1.65; }
.zp-card a { color: var(--terra); text-decoration: none; font-weight: 600; }

/* Dark cards */
.zp-card-dark { background:rgba(255,255,255,0.04); border-color:rgba(255,255,255,0.06); }
.zp-card-dark h3 { color:#fff; }
.zp-card-dark p { color:rgba(250,248,245,0.6); }

/* Stats */
.zp-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 32px; text-align: center; }
.zp-stat-num { font-family: var(--font-display); font-size: 48px; font-weight: 900; color: var(--terra); }
.zp-stat-label { color: var(--muted); font-size: 14px; margin-top: 4px; }
.zp-section-dark .zp-stat-label { color: rgba(250,248,245,0.6); }

/* Split layout */
.zp-split { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.zp-split-reverse { direction: rtl; }
.zp-split-reverse > * { direction: ltr; }
.zp-split img { width: 100%; border-radius: 14px; }
.zp-split h2 { font-family: var(--font-display); font-size: clamp(28px, 3vw, 38px); font-weight: 900; margin-bottom: 16px; }
.zp-split p { color: var(--muted); font-size: 16px; line-height: 1.7; margin-bottom: 16px; }
.zp-split ul { list-style: none; margin-bottom: 24px; }
.zp-split li { padding: 6px 0; font-size: 15px; display: flex; align-items: center; gap: 10px; }
.zp-split li::before { content: "✓"; color: var(--sage); font-weight: 700; font-size: 16px; }

/* FAQ */
.zp-faq { max-width: 800px; margin: 0 auto; }
.zp-faq-item { border-bottom: 1px solid var(--line); padding: 24px 0; }
.zp-faq-q {
  font-family: var(--font-display); font-size: 18px; font-weight: 700;
  cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px;
}
.zp-faq-q::after { content: "+"; font-size: 24px; color: var(--terra); flex-shrink: 0; transition: transform 0.2s; }
.zp-faq-item.open .zp-faq-q::after { content: "−"; }
.zp-faq-a { max-height: 0; overflow: hidden; transition: max-height 0.3s; color: var(--muted); font-size: 15px; line-height: 1.7; }
.zp-faq-item.open .zp-faq-a { max-height: 500px; padding-top: 16px; }
/* 隐藏 summary 默认三角，避免与原 +/− 图标重复（FAQ 改用 details/summary 结构后新增） */
.zp-faq summary.zp-faq-q { list-style: none; }
.zp-faq summary.zp-faq-q::-webkit-details-marker { display: none; }

/* CTA Banner */
.zp-cta {
  padding: 100px 0; background: var(--terra); color: #fff; text-align: center;
  position: relative; overflow: hidden;
}
.zp-cta::before {
  content: ""; position: absolute; inset: 0;
  background: radial-gradient(circle at 30% 50%, rgba(255,255,255,0.1) 0%, transparent 60%);
}
.zp-cta-inner { max-width: 880px; margin: 0 auto; padding: 0 28px; position: relative; z-index: 2; }
.zp-cta h2 { font-family: var(--font-display); font-size: clamp(32px, 4vw, 48px); font-weight: 900; margin-bottom: 16px; color: #fff; }
.zp-cta p { font-size: 17px; opacity: 0.85; margin-bottom: 36px; }
.zp-btn-white { background: #fff; color: var(--terra); }
.zp-btn-white:hover { background: var(--cream); transform: translateY(-2px); }

/* Process steps */
.zp-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 32px; }
.zp-step { text-align: center; }
.zp-step-num { font-family: var(--font-display); font-size: 56px; font-weight: 900; color: rgba(196,93,62,0.12); line-height: 1; margin-bottom: 12px; }
.zp-step h3 { font-family: var(--font-display); font-size: 18px; font-weight: 700; margin-bottom: 8px; }
.zp-step p { color: var(--muted); font-size: 14px; line-height: 1.6; }

/* Pricing */
.zp-pricing { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 24px; }
.zp-pricing-3 { grid-template-columns: repeat(3, 1fr); }
.zp-price-card {
  padding: 40px 32px; border-radius: 14px; border: 1px solid var(--line);
  background: #fff; text-align: center; transition: all 0.3s;
}
.zp-price-card.featured { border-color: var(--terra); box-shadow: 0 8px 32px rgba(196,93,62,0.12); position: relative; }
.zp-price-card.featured::before {
  content: "最受欢迎"; position: absolute; top: -12px; left: 50%; transform: translateX(-50%);
  background: var(--terra); color: #fff; font-size: 12px; font-weight: 700;
  padding: 4px 16px; border-radius: 50px;
}
.zp-price-name { font-family: var(--font-display); font-size: 22px; font-weight: 700; margin-bottom: 8px; }
.zp-price-amount { font-family: var(--font-display); font-size: 48px; font-weight: 900; color: var(--terra); }
.zp-price-period { font-size: 14px; color: var(--muted); margin-bottom: 24px; }
.zp-price-features { list-style: none; text-align: left; margin-bottom: 28px; }
.zp-price-features li { padding: 8px 0; font-size: 14px; border-bottom: 1px solid var(--line); display: flex; gap: 8px; }
.zp-price-features li::before { content: "✓"; color: var(--sage); font-weight: 700; }

/* Contact form layout */
.zp-contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; }
.zp-contact-info h3 { font-family: var(--font-display); font-size: 22px; font-weight: 700; margin-bottom: 16px; }
.zp-contact-item { display: flex; gap: 12px; margin-bottom: 20px; }
.zp-contact-item .icon { font-size: 20px; flex-shrink: 0; }
.zp-contact-item span { font-size: 15px; color: var(--charcoal); line-height: 1.6; }
.zp-contact-item a { color: var(--terra); text-decoration: none; }

/* Badges row */
.zp-badges { display: flex; gap: 24px; align-items: center; flex-wrap: wrap; margin-top: 24px; }
.zp-hero-center .zp-badges { justify-content: center; }
.zp-badge { display: flex; align-items: center; gap: 10px; background: rgba(255,255,255,0.06); padding: 12px 16px; border-radius: 10px; border: 1px solid rgba(255,255,255,0.08); }
.zp-badge img { height: 36px; }
.zp-badge span { font-size: 12px; font-weight: 600; }

/* Approach grid (About) */
.zp-approach { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 24px; }
.zp-approach-card {
  padding: 32px 24px; border-radius: 14px; border: 1px solid var(--line);
  background: #fff; transition: all 0.3s;
}
.zp-approach-card:hover { border-color: var(--terra); transform: translateY(-4px); box-shadow: 0 16px 40px rgba(0,0,0,0.06); }
.zp-approach-num { font-family: var(--font-display); font-size: 14px; font-weight: 900; color: var(--terra); margin-bottom: 12px; }
.zp-approach-card h3 { font-family: var(--font-display); font-size: 18px; font-weight: 700; margin-bottom: 8px; }
.zp-approach-card p { color: var(--muted); font-size: 14px; line-height: 1.65; }

/* Services strip (About) */
.zp-services { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.zp-svc { padding: 28px 20px; border-radius: 12px; border: 1px solid var(--line); background: #fff; display: flex; gap: 14px; align-items: flex-start; transition: border-color 0.2s; }
.zp-svc:hover { border-color: var(--terra); }
.zp-svc-icon { font-size: 24px; flex-shrink: 0; color: var(--terra, #b45309); }
.zp-svc h3 { font-size: 15px; font-weight: 700; margin-bottom: 4px; }
.zp-svc p { font-size: 13px; color: var(--muted); line-height: 1.5; }

/* Timeline (About) */
.zp-timeline { position: relative; max-width: 700px; }
.zp-timeline::before { content: ""; position: absolute; left: 18px; top: 0; bottom: 0; width: 2px; background: var(--line); }
.zp-tstep { position: relative; padding-left: 56px; margin-bottom: 36px; }
.zp-tstep-dot { position: absolute; left: 8px; top: 4px; width: 22px; height: 22px; border-radius: 50%; background: var(--terra); border: 3px solid var(--warm-white); }
.zp-tstep h3 { font-family: var(--font-display); font-size: 17px; font-weight: 700; margin-bottom: 6px; }
.zp-tstep p { color: var(--muted); font-size: 14px; line-height: 1.6; }

/* AI engine tags */
.zp-ai-tags { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.zp-ai-tag { display: inline-flex; align-items: center; gap: 8px; padding: 12px 20px; border-radius: 50px; border: 1px solid var(--line); background: #fff; font-size: 14px; font-weight: 600; }

/* GEO comparison cols */
.zp-compare { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 48px; }
.zp-compare-col { padding: 32px; border-radius: 14px; border: 1px solid var(--line); background: #fff; }
.zp-compare-col.hl { border-color: var(--terra); background: rgba(196,93,62,0.03); }
.zp-compare-col h3 { font-family: var(--font-display); font-size: 18px; font-weight: 700; margin-bottom: 16px; }
.zp-compare-col ul { list-style: none; padding: 0; }
.zp-compare-col li { padding: 8px 0; font-size: 14px; line-height: 1.6; display: flex; gap: 8px; }
.zp-compare-col li::before { content: "→"; color: var(--terra); font-weight: 700; }

/* Blog cards */
.zp-blog-card { display: block; border-radius: 14px; border: 1px solid var(--line); overflow: hidden; text-decoration: none; color: var(--charcoal); transition: all 0.3s; background: #fff; }
.zp-blog-card:hover { border-color: var(--terra); transform: translateY(-4px); box-shadow: 0 16px 40px rgba(0,0,0,0.06); }
.zp-blog-card-thumb { width: 100%; aspect-ratio: 16/9; overflow: hidden; background: var(--line); }
.zp-blog-card-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s; }
.zp-blog-card:hover .zp-blog-card-thumb img { transform: scale(1.05); }
.zp-blog-card-body { padding: 24px; }
.zp-blog-tag { display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--terra); margin-bottom: 10px; }
.zp-blog-card h3 { font-family: var(--font-display); font-size: 17px; font-weight: 700; line-height: 1.35; margin-bottom: 8px; }
.zp-blog-card p { color: var(--muted); font-size: 14px; line-height: 1.6; }

/* Responsive */
@media (max-width: 900px) {
  .zp-hero-split { grid-template-columns: 1fr; }
  .zp-hero-visual { display: none; }
  .zp-grid-3, .zp-grid-4 { grid-template-columns: 1fr; }
  .zp-contact-grid { grid-template-columns: 1fr; }
  .zp-hero { padding: 80px 20px 60px; }
  .zp-split, .zp-split-reverse { grid-template-columns: 1fr; direction: ltr; }
  .zp-pricing, .zp-pricing-3 { grid-template-columns: 1fr; }
  .zp-compare { grid-template-columns: 1fr; }
}

/* ================ Contact page (.cpage-* 前缀，仅联系页新增结构使用) ================ */
/* 页头（与关于我们页 .zp-hero 风格统一：深色底 + 白字） */
.cpage-hero {
  padding: 100px 0 48px;
  background: var(--charcoal);
  color: var(--warm-white);
  position: relative;
  overflow: hidden;
}
.cpage-hero-inner { max-width: 760px; margin: 0 auto; text-align: center; }
.cpage-hero-inner .cms-breadcrumbs { justify-content: center; margin-bottom: 20px; }
.cpage-hero-inner .cms-breadcrumbs a { color: rgba(255,255,255,0.75); }
.cpage-hero-inner .cms-breadcrumbs a:hover { color: #fff; }
.cpage-hero-inner .cms-breadcrumbs .bc-sep { color: rgba(255,255,255,0.4); }
.cpage-hero-inner .cms-breadcrumbs .bc-current { color: rgba(255,255,255,0.95); }
.cpage-hero h1 {
  font-family: var(--font-display); font-size: 44px; font-weight: 800;
  color: var(--warm-white, #fff); margin: 0 0 12px; line-height: 1.2;
}
.cpage-hero p {
  font-size: 16px; color: rgba(255,255,255,0.8); line-height: 1.7; margin: 0;
}

/* section 通用间距（在 zp-section 基础上微调） */
.cpage-section { padding-top: 40px; padding-bottom: 80px; }
.cpage-section.cpage-whyus {
  padding-top: 60px;
  background: var(--bg-linen, #f5f1ea);
}

/* 两栏：信息卡（左） + 表单（右） —— 底部对齐：grid stretch 等高 + flex column 推底 */
.cpage-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 40px;
  align-items: stretch;
}

/* 左右卡片内部用 flex column，配合信息卡内最后一项 margin-top:auto 实现两卡底部对齐 */
.cpage-info-card, .cpage-form {
  display: flex;
  flex-direction: column;
  height: 100%;
  box-sizing: border-box;
}
/* 信息卡：ul 做 flex column，最后一项（微信客服+二维码）自动贴底，保证两张卡片外边框底部对齐 */
.cpage-info-list {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 22px;
}
.cpage-info-list > li:last-child {
  margin-top: auto;
}
/* 表单：最后一项（状态提示）贴底，防止内容少时下方大空白导致视觉不贴 */
.cpage-form form {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.cpage-form form > .cpage-form-status {
  margin-top: auto;
}

/* 左：联系信息卡 */
.cpage-info-card {
  padding: 40px 32px;
  border-radius: 16px;
  background: #fff;
  border: 1px solid var(--line, #e5e9ef);
  box-shadow: 0 6px 24px rgba(10, 31, 63, 0.04);
}
.cpage-info-card h3 {
  font-family: var(--font-display); font-size: 24px; font-weight: 700;
  color: var(--charcoal, #0a1f3f); margin: 0 0 8px;
}
.cpage-info-sub { color: var(--muted, #5a6b80); font-size: 14px; margin: 0 0 28px; }

.cpage-info-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 22px; }
.cpage-info-item { display: flex; gap: 14px; align-items: flex-start; }
.cpage-info-icon {
  width: 40px; height: 40px; flex-shrink: 0;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(236, 120, 40, 0.12) 0%, rgba(236, 120, 40, 0.04) 100%);
  color: var(--terra, #ec7828);
}
.cpage-info-icon svg { width: 20px; height: 20px; }
.cpage-info-item h4 {
  font-family: var(--font-display); font-size: 14px; font-weight: 700;
  color: var(--charcoal, #0a1f3f); margin: 0 0 4px;
}
.cpage-info-item p {
  font-size: 14px; color: var(--charcoal, #0a1f3f); line-height: 1.6; margin: 0;
}
.cpage-info-item p em { font-style: normal; color: var(--muted, #5a6b80); font-size: 12px; margin-left: 4px; }
.cpage-info-item a { color: var(--terra, #ec7828); text-decoration: none; font-weight: 500; }
.cpage-info-item a:hover { text-decoration: underline; }
.ht-wechat-copy {
  display: inline-block; margin-left: 8px; padding: 2px 10px;
  border: 1px solid var(--line, #e5e9ef); border-radius: 6px;
  background: #fff; color: var(--terra, #ec7828);
  font-size: 12px; cursor: pointer; transition: all 0.2s;
}
.ht-wechat-copy:hover { border-color: var(--terra, #ec7828); background: rgba(236,120,40,0.06); }

/* 微信二维码块 */
.cpage-qr {
  margin-top: 18px;
  padding: 16px;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(236, 120, 40, 0.06) 0%, #fff 100%);
  border: 1px solid rgba(236, 120, 40, 0.15);
  text-align: center;
}
.cpage-qr img {
  width: 140px; height: 140px;
  object-fit: cover;
  border-radius: 8px;
  display: block;
  margin: 0 auto 10px;
  background: #fff;
  padding: 4px;
  box-shadow: 0 2px 8px rgba(10, 31, 63, 0.08);
}
.cpage-qr p {
  font-size: 13px; color: var(--muted, #5a6b80); margin: 0;
}

/* 右：表单 */
.cpage-form {
  padding: 40px 36px;
  border-radius: 16px;
  background: #fff;
  border: 1px solid var(--line, #e5e9ef);
  box-shadow: 0 6px 24px rgba(10, 31, 63, 0.04);
}
.cpage-form h3 {
  font-family: var(--font-display); font-size: 24px; font-weight: 700;
  color: var(--charcoal, #0a1f3f); margin: 0 0 8px;
}
.cpage-form-desc { color: var(--muted, #5a6b80); font-size: 14px; margin: 0 0 28px; }

.cpage-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
.cpage-form-group { margin-bottom: 16px; }
.cpage-form-row .cpage-form-group { margin-bottom: 0; }
.cpage-form-group label {
  display: block; font-size: 13px; font-weight: 600;
  color: var(--charcoal, #0a1f3f); margin-bottom: 6px;
}
.cpage-form-group label .req { color: #e5484d; margin-left: 2px; }

.cpage-input {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid var(--line, #e5e9ef);
  border-radius: 10px;
  font-size: 14px;
  font-family: var(--font-body);
  color: var(--charcoal, #0a1f3f);
  background: #fff;
  transition: border-color 0.2s, box-shadow 0.2s;
  box-sizing: border-box;
}
.cpage-input::placeholder { color: #a5afc0; }
.cpage-input:focus {
  outline: none; border-color: var(--terra, #ec7828);
  box-shadow: 0 0 0 3px rgba(236, 120, 40, 0.12);
}
.cpage-textarea { resize: vertical; min-height: 110px; line-height: 1.6; }
select.cpage-input { appearance: none; cursor: pointer; }

.cpage-submit {
  width: 100%;
  justify-content: center;
  gap: 8px;
  margin-top: 8px;
}
.cpage-submit svg { flex-shrink: 0; }
.cpage-form-status {
  margin-top: 14px; font-size: 13px; color: var(--muted, #5a6b80); min-height: 20px;
}

/* 标题区 */
.cpage-title { max-width: 720px; margin: 0 auto 48px; text-align: center; }
.cpage-title .zp-section-label { margin-bottom: 14px; }
.cpage-title h2 {
  font-family: var(--font-display); font-size: 36px; font-weight: 800;
  color: var(--charcoal, #0a1f3f); margin: 0 0 12px; line-height: 1.25;
}
.cpage-title p { font-size: 15px; color: var(--muted, #5a6b80); margin: 0; }

/* 4 项服务亮点 */
.cpage-features {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px;
}
.cpage-feature {
  padding: 36px 20px 32px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid var(--line, #e5e9ef);
  text-align: center;
  transition: all 0.25s ease;
}
.cpage-feature:hover {
  border-color: var(--terra, #ec7828);
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(236, 120, 40, 0.08);
}
.cpage-feature-icon {
  width: 52px; height: 52px; margin: 0 auto 16px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(236, 120, 40, 0.12) 0%, rgba(236, 120, 40, 0.04) 100%);
  color: var(--terra, #ec7828);
}
.cpage-feature-icon svg { width: 26px; height: 26px; }
.cpage-feature h3 {
  font-family: var(--font-display); font-size: 17px; font-weight: 700;
  color: var(--charcoal, #0a1f3f); margin: 0 0 6px;
}
.cpage-feature p { font-size: 13px; color: var(--muted, #5a6b80); margin: 0; }

/* Contact 页响应式 */
@media (max-width: 960px) {
  .cpage-hero { padding: 80px 0 36px; }
  .cpage-hero h1 { font-size: 32px; }
  .cpage-grid { grid-template-columns: 1fr; gap: 24px; }
  .cpage-features { grid-template-columns: repeat(2, 1fr); }
  .cpage-title h2 { font-size: 28px; }
}
@media (max-width: 600px) {
  .cpage-hero h1 { font-size: 26px; }
  .cpage-info-card, .cpage-form { padding: 28px 20px; }
  .cpage-form-row { grid-template-columns: 1fr; gap: 0; }
  .cpage-features { grid-template-columns: 1fr; }
  .cpage-title h2 { font-size: 24px; }
  .cpage-section { padding-bottom: 56px; }
}

/* ===================================================
   P1. case.html 页面私有：.case-hero / .case-*
   =================================================== */
/* ── 案例展示页样式 ── */
    .case-hero {
      background: linear-gradient(135deg, #0e3795 0%, #1b61d5 55%, #2c8bf5 100%);
      padding: 140px 0 60px;
      text-align: center;
      position: relative;
      overflow: hidden;
    }

    .case-hero::before {
      content: "";
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse at 80% 30%, rgba(233, 142, 47, 0.25) 0%, transparent 45%);
      pointer-events: none;
    }

    .case-hero-inner {
      position: relative;
      z-index: 2;
      max-width: 800px;
      margin: 0 auto;
      padding: 0 24px;
    }

    .case-hero h1 {
      color: #fff;
      font-size: 2.4rem;
      font-weight: 800;
      margin-bottom: 16px;
      line-height: 1.3;
    }

    .case-hero p {
      color: rgba(255, 255, 255, 0.85);
      font-size: 1.1rem;
      line-height: 1.7;
    }

    /* 模板网格 */
    .case-grid {
      max-width: 1680px;
      margin: 0 auto;
      padding: 60px 24px 80px;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 30px;
    }

    .case-item {
      position: relative;
      border-radius: 12px;
      overflow: hidden;
      background: #fff;
      box-shadow: 0 2px 12px rgba(10, 31, 63, 0.08);
      transition: box-shadow 0.4s ease, transform 0.4s ease;
    }

    .case-item:hover {
      transform: translateY(-6px);
      box-shadow: 0 12px 40px rgba(10, 31, 63, 0.18);
    }

    /* 图片容器：使用更高的 4:5 比例，展示更多内容 */
    .case-item-img {
      position: relative;
      overflow: hidden;
      aspect-ratio: 4 / 5;
    }

    /* 图片：铺满容器，垂直多余部分用 object-position 平移展示（任意长度都能滚到底） */
    .case-item-img img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: top;
      display: block;
      /* 较长的过渡时间，模拟缓慢浏览的效果 */
      transition: object-position 18s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    }

    /* 悬停时平滑滚动到图片底部 */
    .case-item:hover .case-item-img img {
      object-position: bottom;
    }

    /* 悬停遮罩 + 选用按钮：已禁用不显示 */
    .case-item-overlay,
    .case-item-btn {
      display: none !important;
    }

    .case-item-info {
      padding: 16px 20px;
    }

    .case-item-info h3 {
      font-size: 1.2rem;
      font-weight: 900;

    color: var(--warm-white);
    background: linear-gradient(135deg, #1b61d5 0%, #397ae7 100%);
    padding: 10px 22px ;
    border-radius: 8px;
    transition: all 0.2s ease;
    box-shadow: 0 4px 14px rgba(14, 55, 149, 0.3);
      margin-bottom: 4px;
      text-align: center;
    }
    .case-item-info h3:hover {
      background: linear-gradient(135deg, #397ae7 0%, #1b61d5 100%) !important;
      transform: translateY(-1px);
      box-shadow: 0 6px 20px rgba(14, 55, 149, 0.4);
    }
    .case-item-info span {
      font-size: 0.85rem;
      color: var(--muted, #5a6b80);
    }

    .case-page-btn {
      min-width: 40px;
      height: 40px;
      padding: 0 14px;
      border-radius: 8px;
      border: 1px solid #dde3ec;
      background: #fff;
      color: var(--charcoal, #0a1f3f);
      font-size: 0.95rem;
      font-weight: 500;
      cursor: pointer;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      transition: all 0.25s ease;
      user-select: none;
    }

    .case-page-btn:hover:not(:disabled) {
      border-color: #1b61d5;
      color: #1b61d5;
      transform: translateY(-1px);
      box-shadow: 0 4px 12px rgba(27, 97, 213, 0.12);
    }

    /* 当前页高亮 */
    .case-page-btn.is-active {
      background: linear-gradient(135deg, #0e3795 0%, #1b61d5 100%);
      border-color: transparent;
      color: #fff;
      cursor: default;
      box-shadow: 0 4px 14px rgba(27, 97, 213, 0.3);
    }

    /* 禁用态：首尾页的上/下一页按钮 */
    .case-page-btn:disabled {
      opacity: 0.4;
      cursor: not-allowed;
    }

    /* 省略号样式 */
    .case-page-ellipsis {
      min-width: 28px;
      height: 40px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: var(--muted, #5a6b80);
      font-size: 1rem;
      letter-spacing: 2px;
    }
    /* 分页导航 —— 同时兼容两种输出：
       1. {hlzh:content page="1"} → ThinkPHP Bootstrap 分页器 → <ul class="pagination"><li>
       2. {$page|raw} → generate_pagination_html → <div class="page"><div class="pages"> */
    .pagination {
      max-width: 1280px;
      margin: 0 auto;
      padding: 30px 24px 80px;
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 8px;
      flex-wrap: wrap;
      /* ul 默认会有 list-style/padding/margin，统一重置 */
      list-style: none;
      padding-left: 0;
    }

    /* ThinkPHP Bootstrap 分页器：<ul class="pagination"><li> */
    .pagination li {
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }
    .pagination li a,
    .pagination li span {
      min-width: 40px;
      height: 40px;
      padding: 0 14px;
      border-radius: 8px;
      border: 1px solid #dde3ec;
      background: #fff;
      color: var(--charcoal, #0a1f3f);
      font-size: 0.95rem;
      font-weight: 500;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      transition: all 0.25s ease;
      user-select: none;
      text-decoration: none;
    }
    .pagination li a:hover {
      border-color: #1b61d5;
      color: #1b61d5;
      transform: translateY(-1px);
      box-shadow: 0 4px 12px rgba(27, 97, 213, 0.12);
    }
    /* 当前页高亮 —— ThinkPHP Bootstrap 用 li.active */
    .pagination li.active span {
      background: linear-gradient(135deg, #0e3795 0%, #1b61d5 100%);
      border-color: transparent;
      color: #fff;
      box-shadow: 0 4px 14px rgba(27, 97, 213, 0.3);
    }
    /* 上一页/下一页禁用态 */
    .pagination li.disabled span {
      opacity: 0.4;
      cursor: not-allowed;
    }
    /* 省略号 */
    .pagination li.dots span {
      min-width: 28px;
      border: none;
      background: transparent;
      color: var(--muted, #5a6b80);
      letter-spacing: 2px;
    }

    /* {$page|raw} 输出的分页 —— <div class="page"><div class="pages">（保留兼容） */
    .pagination .page { width: 100%; }
    .pagination .pages {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 8px;
      flex-wrap: wrap;
    }
    .pagination .pages a,
    .pagination .pages span {
      min-width: 40px;
      height: 40px;
      padding: 0 14px;
      border-radius: 8px;
      border: 1px solid #dde3ec;
      background: #fff;
      color: var(--charcoal, #0a1f3f);
      font-size: 0.95rem;
      font-weight: 500;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      transition: all 0.25s ease;
      user-select: none;
      text-decoration: none;
    }
    .pagination .pages a:hover {
      border-color: #1b61d5;
      color: #1b61d5;
      transform: translateY(-1px);
      box-shadow: 0 4px 12px rgba(27, 97, 213, 0.12);
    }
    .pagination .pages span.current {
      background: linear-gradient(135deg, #0e3795 0%, #1b61d5 100%);
      border-color: transparent;
      color: #fff;
      box-shadow: 0 4px 14px rgba(27, 97, 213, 0.3);
    }

    @media (max-width: 640px) {
      .pagination { padding: 0 16px 60px; gap: 6px; }
      .pagination li a, .pagination li span,
      .pagination .pages a, .pagination .pages span {
        min-width: 36px; height: 36px; padding: 0 10px; font-size: 0.88rem;
      }
    }
    @media (max-width: 640px) {
      .case-page-btn { min-width: 36px; height: 36px; padding: 0 10px; font-size: 0.88rem; }
    }

    /* 响应式 */
    @media (max-width: 960px) {
      .case-grid { grid-template-columns: repeat(2, 1fr); }
    }

    @media (max-width: 640px) {
      .case-grid { grid-template-columns: 1fr; gap: 20px; padding: 40px 16px 60px; }
      .case-hero { padding: 110px 0 40px; }
      .case-hero h1 { font-size: 1.6rem; }
    }

    /* 飞入动画支持 */
    [data-reveal] { opacity: 0; }
    [data-reveal].ht-revealed { animation: ht-fade-up 1.2s cubic-bezier(0.22, 0.61, 0.36, 1) forwards; }
    [data-anim="fly-up"].ht-revealed { animation: ht-fly-up 1.4s cubic-bezier(0.22, 0.61, 0.36, 1) forwards; }
    [data-reveal][data-delay="1"].ht-revealed { animation-delay: 0.15s; }
    [data-reveal][data-delay="2"].ht-revealed { animation-delay: 0.3s; }
    [data-reveal][data-delay="3"].ht-revealed { animation-delay: 0.45s; }
    [data-reveal][data-delay="4"].ht-revealed { animation-delay: 0.6s; }
    [data-reveal][data-delay="5"].ht-revealed { animation-delay: 0.75s; }
    [data-reveal][data-delay="6"].ht-revealed { animation-delay: 0.9s; }
    [data-reveal][data-delay="7"].ht-revealed { animation-delay: 1.05s; }
    [data-reveal][data-delay="8"].ht-revealed { animation-delay: 1.2s; }
    [data-reveal][data-delay="9"].ht-revealed { animation-delay: 1.35s; }

    @media (prefers-reduced-motion: reduce) {
      [data-reveal] { opacity: 1 !important; }
    }

/* ===================================================
   P2. blog.html + shopify 案例文章 共享私有：.wf-blog-* / .wf-blog-list / .wf-content 补充
   =================================================== */
.wf-blog-list{display:flow-root;padding:0 clamp(1rem,4vw,2rem) clamp(2rem,5vw,4rem)}
.wf-blog-list .inner{max-width:1200px;margin:0 auto}
.wf-hero .inner{max-width:1200px;margin:0 auto;padding:0 clamp(1rem,4vw,2rem)}
.wf-blog-related{margin-top:clamp(2rem,4vw,3rem);padding-top:2rem;border-top:1px solid var(--border,#e0e0e0)}
.wf-blog-related-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}
.wf-blog-related-card{display:block;padding:1.25rem;border:1px solid var(--border,#e0e0e0);border-radius:var(--radius,8px);text-decoration:none;color:inherit;transition:border-color 0.15s}
.wf-blog-related-card:hover{border-color:var(--primary,#2563eb)}
.wf-blog-related-card strong{display:block;font-size:1rem;margin-bottom:0.25rem}
.wf-blog-related-card span{font-size:0.85rem;color:var(--text-secondary,var(--textSecondary,#666))}
.wf-blog-detail{padding:clamp(6rem,10vw,8rem) 0 clamp(1rem,3vw,2rem)}
.wf-blog-layout{display:grid;grid-template-columns:minmax(0,760px) 280px;gap:clamp(2rem,4vw,3rem);align-items:start;justify-content:center}
.wf-blog-main{min-width:0;max-width:760px}
.wf-blog-back{display:inline-block;font-size:0.9rem;color:var(--text-secondary,var(--textSecondary,#666));text-decoration:none;margin-bottom:1.25rem;transition:color 0.15s}
.wf-blog-back:hover{color:var(--primary,#2563eb)}
.wf-blog-post-title{font-family:var(--font-heading,var(--display,var(--font-display,serif)));font-size:clamp(1.5rem,4vw,2.25rem);font-weight:700;margin:0 0 0.75rem;line-height:1.25}
.wf-blog-meta{display:flex;align-items:center;gap:0.5rem;font-size:0.9rem;color:var(--text-secondary,var(--textSecondary,#666));margin-bottom:1.5rem}
.wf-blog-meta-sep{color:var(--border,#d0d0d0)}
.wf-blog-meta-cat{color:var(--primary,#2563eb);text-decoration:none;font-weight:500}
.wf-blog-meta-cat:hover{text-decoration:underline}
.wf-blog-post-hero{width:100%;max-height:420px;object-fit:cover;border-radius:var(--radius,8px);margin-bottom:2rem;display:block}
.wf-blog-footer{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--border,#e0e0e0)}
.wf-blog-sidebar{position:sticky;top:88px}
.wf-blog-widget-cats{list-style:none;margin:0;padding:0}
.wf-blog-widget-cats li{margin-bottom:0.25rem}
.wf-blog-widget-cats a{display:flex;justify-content:space-between;align-items:center;padding:6px 0;text-decoration:none;color:var(--text,var(--textPrimary,#333));font-size:0.9rem;border-bottom:1px solid var(--border,#f0f0f0)}
.wf-blog-widget-cats a:hover{color:var(--primary,#2563eb)}
.wf-blog-cat-count{font-size:0.8rem;color:var(--text-secondary,var(--textSecondary,#999));background:var(--surface,#f3f3f3);padding:2px 8px;border-radius:10px}
.wf-blog-widget-recent{list-style:none;margin:0;padding:0}
.wf-blog-widget-recent li{margin-bottom:0.75rem;padding-bottom:0.75rem;border-bottom:1px solid var(--border,#f0f0f0)}
.wf-blog-widget-recent li:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}
.wf-blog-widget-recent a{text-decoration:none;color:var(--text,var(--textPrimary,#333));font-size:0.9rem;font-weight:500;line-height:1.4;display:block}
.wf-blog-widget-recent a:hover{color:var(--primary,#2563eb)}
.wf-blog-recent-date{font-size:0.8rem;color:var(--text-secondary,var(--textSecondary,#999));margin-top:2px;display:block}
.wf-blog-widget-cta{background:var(--primary,#2563eb);color:#fff;border-color:var(--primary,#2563eb)}
.wf-blog-widget-cta .wf-widget-title{color:#fff}
.wf-blog-widget-cta p{font-size:0.9rem;margin:0 0 0.75rem;opacity:0.9;line-height:1.5}
.wf-blog-cta-btn{display:inline-block;padding:8px 20px;background:#fff;color:var(--primary,#2563eb);border-radius:var(--radius,6px);text-decoration:none;font-weight:600;font-size:0.9rem;transition:opacity 0.15s}
.wf-blog-cta-btn:hover{opacity:0.9}
.wf-hero-bg .wf-hero-title{color:#fff;text-shadow:0 2px 8px rgba(0,0,0,0.35)}
.wf-hero-bg .wf-hero-sub{color:rgba(255,255,255,0.92);text-shadow:0 1px 4px rgba(0,0,0,0.35)}
.wf-blog-featured{margin:0 0 clamp(2rem,4vw,3rem)}
.wf-blog-featured-card{display:grid;grid-template-columns:1.1fr 1fr;gap:0;border:1px solid var(--border,#e0e0e0);border-radius:var(--radius,8px);overflow:hidden;text-decoration:none;color:inherit;background:var(--surface,#fff);transition:border-color 0.15s,transform 0.15s}
.wf-blog-featured-card.wf-blog-featured-card-noimg{grid-template-columns:1fr}
.wf-blog-featured-card:hover{border-color:var(--primary,#2563eb);transform:translateY(-2px)}
.wf-blog-featured-img{min-height:280px;background:var(--surface,#f0f0f0);overflow:hidden}
.wf-blog-featured-body{padding:clamp(1.25rem,3vw,2rem);display:flex;flex-direction:column;justify-content:center;gap:0.6rem}
.wf-blog-featured-body h3{font-family:var(--font-heading,var(--display,serif));font-size:clamp(1.25rem,2.5vw,1.75rem);margin:0;line-height:1.3}
.wf-blog-featured-body p{margin:0;color:var(--text-secondary,var(--textSecondary,#666));line-height:1.6}
.wf-blog-featured-body time{font-size:0.85rem;color:var(--text-secondary,var(--textSecondary,#999))}
.wf-blog-cta{background:var(--surface,#f8f9fb);padding:clamp(2.5rem,6vw,4rem) clamp(1rem,4vw,2rem);margin-top:clamp(2rem,5vw,4rem)}
.wf-blog-cta-inner{max-width:700px;margin:0 auto;text-align:center}
.wf-blog-cta-inner h2{font-family:var(--font-heading,var(--display,serif));font-size:clamp(1.5rem,3vw,2rem);margin:0 0 0.75rem}
.wf-blog-cta-inner p{color:var(--text-secondary,var(--textSecondary,#555));font-size:1.05rem;line-height:1.6;margin:0 0 1.5rem}
.wf-blog-cta-inner .wf-blog-cta-btn{padding:12px 28px;font-size:1rem;background:var(--primary,#2563eb);color:#fff}
.wf-blog-cta-inner .wf-blog-cta-btn:hover{opacity:0.92;color:#fff}
@media(max-width:700px){
  .wf-blog-featured-card{grid-template-columns:1fr}
  .wf-blog-featured-img{min-height:200px}
}
@media(max-width:900px){
  .wf-blog-layout{grid-template-columns:1fr}
  .wf-blog-sidebar{position:static;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}
}
@media(max-width:760px){
  .wf-blog-main{padding-left:20px;padding-right:20px}
}
@media(max-width:480px){
  .wf-blog-sidebar{grid-template-columns:1fr}
}

/* ===================================================
   P3. ai-website-builder.html 页面私有：.aiwb-page 命名空间
   =================================================== */
/* AI Website Builder NZ — page-specific styles namespaced to .aiwb-page
   Uses site tokens (--terra, --charcoal, --warm-white, --cream, --font-display, --font-body, --muted, --line).
   Mirrors sem-service/seo-service density & rhythm. */

/* ===== Section scaffolding ===== */
.aiwb-page section { padding: clamp(64px, 9vw, 112px) 0; position: relative; }
.aiwb-page .section-inner,
.aiwb-page .hero-inner { max-width: 1180px; margin: 0 auto; padding: 0 clamp(20px, 4vw, 32px); }
.aiwb-page .section-label { display: inline-block; font-family: var(--font-body); font-size: 13px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--terra); margin-bottom: 14px; }
.aiwb-page h1, .aiwb-page h2 { font-family: var(--font-display); font-weight: 600; color: var(--charcoal); margin: 0; letter-spacing: -0.01em; }
.aiwb-page h1 { font-size: clamp(36px, 6vw, 60px); line-height: 1.06; }
.aiwb-page h2 { font-size: clamp(30px, 4.2vw, 44px); line-height: 1.1; margin-bottom: 24px; }
.aiwb-page h3 { font-family: var(--font-body); font-size: clamp(18px, 1.8vw, 21px); line-height: 1.35; font-weight: 700; color: var(--charcoal); margin: 0 0 10px; }
.aiwb-page p { color: var(--muted); line-height: 1.7; margin: 0 0 14px; font-family: var(--font-body); }

/* ===== Buttons ===== */
.aiwb-page .btn-primary { display: inline-flex; align-items: center; gap: 10px; padding: 16px 28px; background: var(--charcoal); color: var(--warm-white) !important; border-radius: 4px; font-family: var(--font-body); font-weight: 600; font-size: 15px; text-decoration: none; transition: transform 0.18s ease, background 0.18s ease; border: 0; cursor: pointer; letter-spacing: 0.01em; }
.aiwb-page .btn-primary:hover { transform: translateY(-1px); background: var(--terra); }
.aiwb-page .btn-secondary { display: inline-flex; align-items: center; gap: 10px; padding: 14px 26px; background: transparent; color: var(--charcoal) !important; border: 1.5px solid var(--charcoal); border-radius: 4px; font-family: var(--font-body); font-weight: 600; font-size: 14px; text-decoration: none; transition: background 0.18s ease, color 0.18s ease; }
.aiwb-page .btn-secondary:hover { background: var(--charcoal); color: var(--warm-white) !important; }

/* ===== Hero (full-bleed background image with strong dark overlay) ===== */
.aiwb-page .hero {
  position: relative;
  background-image:
    linear-gradient(180deg, rgba(26,26,26,0.88) 0%, rgba(26,26,26,0.78) 35%, rgba(26,26,26,0.55) 70%, rgba(26,26,26,0.55) 100%),
    linear-gradient(120deg, rgba(26,26,26,0.25) 0%, rgba(196,93,62,0.18) 100%),
    url('../image/1779845784042-flux-editorial-wide-angle-photograp.jpg');
  background-size: cover;
  background-position: center right;
  background-repeat: no-repeat;
  color: var(--warm-white);
  padding: clamp(96px, 11vw, 144px) 0 clamp(56px, 7vw, 88px);
  overflow: hidden;
  isolation: isolate;
}
.aiwb-page .hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 80% 60% at 28% 38%, rgba(26,26,26,0.45) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}
.aiwb-page .hero-inner { position: relative; z-index: 1; }
.aiwb-page .hero-inner { display: block; max-width: 1180px; margin: 0 auto; padding: 0 clamp(20px, 4vw, 32px); }
.aiwb-page .hero-badge { display: inline-flex; align-items: center; gap: 10px; padding: 8px 16px; background: rgba(250, 248, 245, 0.12); border: 1px solid rgba(250, 248, 245, 0.25); border-radius: 999px; font-family: var(--font-body); font-size: 13px; font-weight: 600; color: var(--warm-white); margin-bottom: 32px; backdrop-filter: blur(8px); }
.aiwb-page .hero-badge .dot { width: 8px; height: 8px; background: var(--terra); border-radius: 50%; box-shadow: 0 0 12px rgba(196, 93, 62, 0.7); }
.aiwb-page .hero h1 { color: var(--warm-white); max-width: 820px; text-shadow: 0 2px 24px rgba(0,0,0,0.3); }
.aiwb-page .hero h1 em { color: var(--terra); font-style: italic; font-weight: 600; }
.aiwb-page .hero-sub { font-size: clamp(17px, 1.5vw, 19px); color: rgba(250, 248, 245, 0.88); margin: 32px 0 40px; max-width: 640px; line-height: 1.6; }
.aiwb-page .hero-cta-row { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; }
.aiwb-page .hero .btn-primary { background: var(--terra); color: var(--warm-white) !important; }
.aiwb-page .hero .btn-primary:hover { background: var(--terra-dark); transform: translateY(-1px); }
.aiwb-page .hero-trust { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-body); font-size: 13px; color: rgba(250, 248, 245, 0.7); }
.aiwb-page .hero-stats-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; margin: 80px auto 0; max-width: calc(1180px - 2 * clamp(20px, 4vw, 32px)); padding: 32px 0 0; border-top: 1px solid rgba(250, 248, 245, 0.18); }
.aiwb-page .hstat { display: flex; flex-direction: column; align-items: flex-start; text-align: left; }
.aiwb-page .hstat-num { font-family: var(--font-display); font-size: clamp(28px, 3vw, 40px); font-weight: 600; color: var(--warm-white); line-height: 1; }
.aiwb-page .hstat-label { font-family: var(--font-body); font-size: 13px; color: rgba(250, 248, 245, 0.65); margin-top: 8px; letter-spacing: 0.02em; }

/* ===== Free Demo callout ===== */
.aiwb-page .free-demo { background: var(--warm-white); padding: clamp(40px, 5vw, 64px) 0; border-bottom: 1px solid var(--line); }
.aiwb-page .free-demo-inner { display: grid; grid-template-columns: 1.4fr 1fr; gap: 32px; align-items: center; background: var(--cream); border: 1px solid var(--line); border-left: 4px solid var(--terra); border-radius: 6px; padding: clamp(28px, 4vw, 40px); }
.aiwb-page .free-demo-eyebrow { display: inline-block; font-family: var(--font-body); font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--terra); margin-bottom: 10px; }
.aiwb-page .free-demo h3 { font-family: var(--font-display); font-size: clamp(22px, 2.4vw, 28px); font-weight: 600; color: var(--charcoal); margin: 0 0 10px; line-height: 1.2; letter-spacing: -0.01em; }
.aiwb-page .free-demo p { font-family: var(--font-body); color: var(--muted); margin: 0; font-size: 15px; line-height: 1.6; }
.aiwb-page .free-demo-cta { background: var(--terra); color: var(--warm-white) !important; justify-self: end; align-self: center; }
.aiwb-page .free-demo-cta:hover { background: var(--terra-dark); }

/* ===== Pain ===== */
.aiwb-page .pain { background: var(--warm-white); }
.aiwb-page .pain-header { text-align: center; max-width: 760px; margin: 0 auto 56px; }
.aiwb-page .pain-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.aiwb-page .pain-item { padding: 32px; background: var(--cream); border-radius: 6px; border: 1px solid var(--line); }
.aiwb-page .pain-item h3 { color: var(--charcoal); margin-bottom: 12px; font-style: italic; font-family: var(--font-display); font-weight: 500; font-size: 20px; }

/* ===== Services (What's Included) ===== */
.aiwb-page .services { background: var(--cream); }
.aiwb-page .services-header { display: grid; grid-template-columns: 1.2fr 1fr; gap: 48px; margin-bottom: 56px; align-items: center; }
.aiwb-page .services-header-text { color: var(--muted); margin: 18px 0 0; max-width: 540px; font-size: clamp(15px, 1.3vw, 17px); line-height: 1.65; }
.aiwb-page .services-header-right { margin: 0; }
.aiwb-page .services-feature-img { width: 100%; max-width: 440px; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 6px; border: 1px solid var(--line); box-shadow: 0 14px 36px rgba(26,26,26,0.10); display: block; margin-left: auto; }
.aiwb-page .services-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.aiwb-page .service-item { background: var(--warm-white); padding: 36px 32px; border-radius: 6px; border: 1px solid var(--line); transition: transform 0.18s ease, box-shadow 0.18s ease; }
.aiwb-page .service-item:hover { transform: translateY(-2px); box-shadow: 0 20px 50px rgba(26,26,26,0.08); }
.aiwb-page .service-num { font-family: var(--font-display); font-size: 18px; font-weight: 500; color: var(--terra); margin-bottom: 14px; letter-spacing: 0.05em; }

/* ===== Compare ===== */
.aiwb-page .compare { background: var(--warm-white); }
.aiwb-page .results-header { text-align: center; max-width: 820px; margin: 0 auto 48px; }
.aiwb-page .compare-table { overflow-x: auto; border-radius: 6px; border: 1px solid var(--line); background: var(--warm-white); }
.aiwb-page .compare-table table { width: 100%; border-collapse: collapse; min-width: 760px; }
.aiwb-page .compare-table th, .aiwb-page .compare-table td { padding: 16px 18px; text-align: left; border-bottom: 1px solid var(--line); font-family: var(--font-body); font-size: 14px; line-height: 1.5; vertical-align: top; color: var(--charcoal); }
.aiwb-page .compare-table thead th { background: var(--cream); font-weight: 700; font-size: 13px; letter-spacing: 0.02em; }
.aiwb-page .compare-table thead th.ours { background: var(--charcoal); color: var(--warm-white); }
.aiwb-page .compare-table tbody td.ours { background: rgba(196, 93, 62, 0.05); border-left: 2px solid var(--terra); }
.aiwb-page .compare-table tbody td:first-child { font-weight: 700; width: 22%; color: var(--charcoal); }
.aiwb-page .compare-note { text-align: center; max-width: 760px; margin: 40px auto 0; font-size: 15px; color: var(--muted); }

/* ===== Process ===== */
.aiwb-page .process { background: var(--cream); }
.aiwb-page .process-header { text-align: center; max-width: 720px; margin: 0 auto 40px; }
.aiwb-page .process-banner { margin: 0 auto 56px; max-width: 820px; }
.aiwb-page .process-banner img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 6px; border: 1px solid var(--line); box-shadow: 0 18px 46px rgba(26,26,26,0.12); display: block; }
.aiwb-page .process-banner figcaption { text-align: center; font-family: var(--font-body); font-size: 13px; font-style: italic; color: var(--muted); margin-top: 14px; }
.aiwb-page .process-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.aiwb-page .process-step { background: var(--warm-white); padding: 32px 28px; border-radius: 6px; border: 1px solid var(--line); }
.aiwb-page .step-num { font-family: var(--font-display); font-size: 18px; font-weight: 500; color: var(--terra); margin-bottom: 14px; }

/* ===== Pricing ===== */
.aiwb-page .pricing { background: var(--warm-white); }
.aiwb-page .pricing-header { text-align: center; max-width: 720px; margin: 0 auto 32px; }
.aiwb-page .pricing-sub { color: var(--muted); }
.aiwb-page .pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.aiwb-page .price-card { padding: 36px 32px; background: var(--warm-white); border: 1px solid var(--line); border-radius: 6px; display: flex; flex-direction: column; position: relative; transition: transform 0.18s ease, box-shadow 0.18s ease; }
.aiwb-page .price-card:hover { transform: translateY(-2px); box-shadow: 0 20px 50px rgba(26,26,26,0.08); }
.aiwb-page .price-card.featured { border-color: var(--terra); border-width: 2px; box-shadow: 0 24px 56px rgba(196, 93, 62, 0.15); }
.aiwb-page .featured-tag { position: absolute; top: -14px; right: 28px; background: var(--terra); color: var(--warm-white); font-family: var(--font-body); font-size: 12px; font-weight: 700; padding: 6px 14px; border-radius: 999px; letter-spacing: 0.05em; }
.aiwb-page .price-label { font-family: var(--font-body); font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--muted); }
.aiwb-page .price-amount { font-family: var(--font-display); font-size: clamp(36px, 4.5vw, 48px); font-weight: 600; color: var(--charcoal); margin-top: 6px; letter-spacing: -0.01em; }
.aiwb-page .price-meta { font-family: var(--font-body); font-size: 13px; color: var(--muted); margin: 6px 0 28px; }
.aiwb-page .price-features { list-style: none; padding: 0; margin: 0 0 28px; flex: 1; }
.aiwb-page .price-features li { padding: 9px 0 9px 28px; position: relative; font-family: var(--font-body); font-size: 14px; color: var(--charcoal); line-height: 1.5; }
.aiwb-page .price-features li:before { content: "→"; position: absolute; left: 4px; color: var(--terra); font-weight: 700; }
.aiwb-page .enterprise-strip { margin: 48px auto 0; padding: 24px 32px; max-width: 1000px; background: var(--charcoal); color: var(--warm-white); border-radius: 6px; display: flex; flex-wrap: wrap; align-items: center; gap: 20px; justify-content: space-between; font-family: var(--font-body); font-size: 14px; }
.aiwb-page .enterprise-strip strong { font-weight: 700; }
.aiwb-page .enterprise-strip a { color: var(--terra) !important; text-decoration: underline; font-weight: 600; }

/* ===== Industries ===== */
.aiwb-page .industries { background: var(--cream); }
.aiwb-page .industries-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.aiwb-page .industry-item { background: var(--warm-white); padding: 32px 28px; border-radius: 6px; border: 1px solid var(--line); transition: transform 0.18s ease, box-shadow 0.18s ease; }
.aiwb-page .industry-item:hover { transform: translateY(-2px); box-shadow: 0 18px 44px rgba(26,26,26,0.08); }
.aiwb-page .industry-icon { width: 44px; height: 44px; margin-bottom: 18px; display: inline-flex; align-items: center; justify-content: center; border-radius: 10px; background: rgba(196, 93, 62, 0.10); color: var(--terra); }
.aiwb-page .industry-icon svg { width: 24px; height: 24px; }

/* ===== Bundle ===== */
.aiwb-page .bundle { background: var(--warm-white); }
.aiwb-page .bundle-banner { margin: 32px auto 0; max-width: 540px; }
.aiwb-page .bundle-banner img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 6px; border: 1px solid var(--line); box-shadow: 0 16px 40px rgba(26,26,26,0.10); display: block; }
.aiwb-page .bundle-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; max-width: 960px; margin: 32px auto 0; }
.aiwb-page .bundle-card { background: var(--cream); padding: 36px; border-radius: 6px; border: 1px solid var(--line); }
.aiwb-page .bundle-price { font-family: var(--font-display); font-size: 24px; font-weight: 600; color: var(--charcoal); margin: 10px 0 20px; }
.aiwb-page .bundle-card ul { list-style: none; padding: 0; margin: 0 0 24px; }
.aiwb-page .bundle-card ul li { padding: 7px 0 7px 22px; position: relative; font-family: var(--font-body); font-size: 14px; color: var(--charcoal); }
.aiwb-page .bundle-card ul li:before { content: "→"; position: absolute; left: 0; color: var(--terra); font-weight: 700; }

/* ===== FAQ ===== */
.aiwb-page .faq { background: var(--cream); }
.aiwb-page .faq-header { text-align: center; max-width: 720px; margin: 0 auto 40px; }
.aiwb-page .faq-grid { max-width: 900px; margin: 0 auto; display: flex; flex-direction: column; gap: 12px; }
.aiwb-page .faq-item { background: var(--warm-white); border-radius: 6px; padding: 0; overflow: hidden; border: 1px solid var(--line); }
.aiwb-page .faq-item summary { padding: 22px 28px; cursor: pointer; list-style: none; user-select: none; }
.aiwb-page .faq-item summary::-webkit-details-marker { display: none; }
.aiwb-page .faq-item summary h3 { font-family: var(--font-body); font-size: 16px; margin: 0; display: inline; font-weight: 600; color: var(--charcoal); }
.aiwb-page .faq-item summary:after { content: "+"; float: right; font-size: 22px; font-weight: 300; line-height: 1; color: var(--terra); margin-left: 16px; }
.aiwb-page .faq-item[open] summary:after { content: "−"; }
.aiwb-page .faq-item p { padding: 0 28px 22px; margin: 0; font-size: 15px; color: var(--muted); }
.aiwb-page .faq-item p a { color: var(--terra); text-decoration: underline; }

/* ===== CTA ===== */
.aiwb-page .cta-final { background: var(--charcoal); color: var(--warm-white); }
.aiwb-page .cta-final h2, .aiwb-page .cta-final p, .aiwb-page .cta-final li { color: var(--warm-white); }
.aiwb-page .cta-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 5vw, 64px); }
.aiwb-page .cta-trust { list-style: none; padding: 0; margin: 28px 0 0; }
.aiwb-page .cta-trust li { padding: 8px 0 8px 26px; position: relative; opacity: 0.85; font-family: var(--font-body); font-size: 14px; }
.aiwb-page .cta-trust li:before { content: "→"; position: absolute; left: 0; color: var(--terra); }
.aiwb-page .cta-form { background: var(--warm-white); color: var(--charcoal); padding: 36px; border-radius: 6px; }
.aiwb-page .cta-form label { display: block; font-family: var(--font-body); font-size: 13px; font-weight: 600; color: var(--charcoal); margin-bottom: 6px; }
.aiwb-page .form-optional { font-weight: 400; color: var(--muted); font-size: 12px; margin-left: 2px; }
.aiwb-page .cta-form input, .aiwb-page .cta-form select, .aiwb-page .cta-form textarea { width: 100%; padding: 11px 14px; border: 1px solid var(--line); border-radius: 4px; font: inherit; font-family: var(--font-body); font-size: 14px; background: var(--warm-white); color: var(--charcoal); }
.aiwb-page .cta-form input:focus, .aiwb-page .cta-form select:focus, .aiwb-page .cta-form textarea:focus { outline: none; border-color: var(--terra); }
.aiwb-page .cta-form .form-row { margin-bottom: 16px; }
.aiwb-page .cta-form button { width: 100%; margin-top: 8px; justify-content: center; }
.aiwb-page .form-fineprint { font-family: var(--font-body); font-size: 12px; color: var(--muted); text-align: center; margin: 14px 0 0; }

/* ===== Mobile ===== */
@media (max-width: 880px) {
  .aiwb-page .services-header, .aiwb-page .cta-grid, .aiwb-page .free-demo-inner { grid-template-columns: 1fr; }
  .aiwb-page .services-feature-img { max-width: 100%; margin-left: 0; }
  .aiwb-page .free-demo-cta { justify-self: start; }
  .aiwb-page .pain-grid, .aiwb-page .services-grid, .aiwb-page .process-grid, .aiwb-page .pricing-grid, .aiwb-page .industries-grid, .aiwb-page .bundle-grid, .aiwb-page .hero-stats-strip { grid-template-columns: 1fr; }
  .aiwb-page .compare-table { font-size: 13px; }
  .aiwb-page .hero { padding: 92px 0 48px; background-position: center; }
  .aiwb-page .hero::before { background: linear-gradient(180deg, rgba(26,26,26,0.45) 0%, transparent 60%); }
  .aiwb-page .hero-stats-strip { margin-top: 48px; padding-top: 24px; }
}
@media (min-width: 881px) and (max-width: 1100px) {
  .aiwb-page .services-grid, .aiwb-page .industries-grid { grid-template-columns: repeat(2, 1fr); }
  .aiwb-page .process-grid, .aiwb-page .pricing-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ===================================================
   P4. 服务页共享私有（about / contact / sem / ai-search / seo / web-design）
   含：.zp-approach / .ab-hero / .about-hero / .sem-hero / .contact-grid /
        .sv-contact / .seo-hero / .web-design-hero / .ai-search-hero
   注：.sv-leadform / .zp-* 公共部分已在第 4 段定义，以下为各页私有扩展 + 公共基版兜底，不冲突。
   =================================================== */
/* Lead Form (shared with service pages) */
    .sv-leadform {
      padding: 80px 0;
      background: var(--charcoal);
      color: var(--warm-white);
      position: relative;
      overflow: hidden;
    }

    .sv-leadform::before {
      content: "";
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse at 30% 50%, rgba(196, 93, 62, 0.12) 0%, transparent 60%);
    }

    .sv-leadform-inner {
      max-width: 580px;
      margin: 0 auto;
      padding: 0 28px;
      position: relative;
      z-index: 2;
    }

    .sv-leadform h3 {
      font-family: var(--font-display);
      font-size: clamp(24px, 3vw, 32px);
      font-weight: 900;
      margin-bottom: 24px;
      text-align: center;
    }

    .sv-leadform .seo-form-row {
      display: flex;
      gap: 12px;
      margin-bottom: 0;
    }

    .sv-leadform input,
    .sv-leadform textarea {
      width: 100%;
      padding: 14px 16px;
      border: 1px solid rgba(250, 248, 245, 0.15);
      border-radius: 8px;
      font-family: var(--font-body);
      font-size: 15px;
      color: var(--warm-white);
      background: rgba(250, 248, 245, 0.06);
      outline: none;
      transition: border-color 0.2s;
      margin-bottom: 12px;
    }

    .sv-leadform input::placeholder,
    .sv-leadform textarea::placeholder {
      color: rgba(250, 248, 245, 0.3);
    }

    .sv-leadform input:focus,
    .sv-leadform textarea:focus {
      border-color: var(--terra);
    }

    .sv-leadform textarea {
      min-height: 80px;
      resize: vertical;
    }

    .sv-leadform button {
      width: 100%;
      padding: 16px 28px;
      border-radius: 8px;
      background: var(--terra);
      color: #fff;
      font-family: var(--font-body);
      font-size: 16px;
      font-weight: 700;
      border: none;
      cursor: pointer;
      transition: all 0.25s;
    }

    .sv-leadform button:hover {
      background: var(--terra-dark);
      transform: translateY(-2px);
    }

    .sv-leadform button:disabled {
      opacity: 0.6;
      cursor: not-allowed;
      transform: none;
    }

    .sv-leadform-success h3 {
      margin-bottom: 10px;
    }

    .sv-leadform-success p {
      color: rgba(250, 248, 245, 0.7);
      margin-top: 10px;
      text-align: center;
    }

    @media (max-width: 600px) {
      .sv-leadform .seo-form-row {
        flex-direction: column;
        gap: 0;
      }

      .sv-leadform .seo-form-row input {
        width: 100%;
      }
    }

    /* Hero — split layout like EN */
    .zp-hero {
      background: var(--charcoal);
      color: var(--warm-white);
      padding: 120px 28px 100px;
      position: relative;
      overflow: hidden;
    }

    .zp-hero::before {
      content: "";
      position: absolute;
      inset: 0;
      background: radial-gradient(circle at 70% 30%, rgba(196, 93, 62, 0.15) 0%, transparent 60%);
    }

    .zp-hero-split {
      max-width: 1180px;
      margin: 0 auto;
      position: relative;
      z-index: 2;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 60px;
      align-items: center;
    }

    .zp-hero-center {
      text-align: center;
      max-width: 880px;
      margin: 0 auto;
      position: relative;
      z-index: 2;
    }

    .zp-hero-label {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      font-size: 13px;
      font-weight: 600;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--terra);
      margin-bottom: 20px;
    }

    .zp-hero-label::before {
      content: "";
      width: 32px;
      height: 2px;
      background: var(--terra);
    }

    .zp-hero h1 {
      font-family: var(--font-display);
      font-size: clamp(36px, 5vw, 50px);
      font-weight: 900;
      line-height: 1.08;
      margin-bottom: 20px;
    }

    .zp-hero h1 em {
      font-style: italic;
      color: var(--terra);
    }

    .zp-hero p {
      font-size: 17px;
      color: rgba(250, 248, 245, 0.7);
      line-height: 1.7;
      max-width: 540px;
      margin-bottom: 32px;
    }

    .zp-hero-center p {
      max-width: 640px;
      margin-left: auto;
      margin-right: auto;
      margin-bottom: 32px;
    }

    .zp-hero-btns {
      display: flex;
      gap: 14px;
      flex-wrap: wrap;
    }

    .zp-hero-center .zp-hero-btns {
      justify-content: center;
    }

    .zp-hero-visual img {
      width: 100%;
      border-radius: 16px;
      box-shadow: 0 32px 64px rgba(0, 0, 0, 0.3);
    }

    .zp-btn {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 14px 32px;
      border-radius: 8px;
      font-family: var(--font-body);
      font-size: 15px;
      font-weight: 600;
      text-decoration: none;
      transition: all 0.25s;
      border: none;
      cursor: pointer;
    }

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

    .zp-btn-primary:hover {
      background: var(--terra-dark);
      transform: translateY(-2px);
    }

    .zp-btn-ghost {
      background: transparent;
      color: var(--warm-white);
      border: 1.5px solid rgba(250, 248, 245, 0.25);
    }

    .zp-btn-ghost:hover {
      border-color: var(--warm-white);
    }

    /* Section common */
    .zp-section {
      padding: 100px 0;
    }

    .zp-section-alt {
      background: var(--cream);
    }

    .zp-section-dark {
      background: var(--charcoal);
      color: var(--warm-white);
    }

    .zp-inner {
      max-width: 1180px;
      margin: 0 auto;
      padding: 0 28px;
    }

    .zp-section-label {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      font-size: 16px;
      font-weight: 700;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--terra);
      margin-bottom: 16px;
    }

    .zp-section-label::before {
      content: "";
      width: 32px;
      height: 2px;
      background: var(--terra);
    }

    .zp-section h2 {
      font-family: var(--font-display);
      font-size: clamp(28px, 3.5vw, 44px);
      font-weight: 900;
      margin-bottom: 16px;
    }

    .zp-section p.zp-lead {
      color: var(--muted);
      font-size: 17px;
      max-width: 600px;
      margin-bottom: 48px;
      line-height: 1.7;
    }

    /* Cards grid */
    .zp-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
      gap: 24px;
    }

    .zp-grid-3 {
      grid-template-columns: repeat(3, 1fr);
    }

    .zp-grid-4 {
      grid-template-columns: repeat(4, 1fr);
    }

    .zp-card {
      padding: 36px 28px;
      border-radius: 14px;
      border: 1px solid var(--line);
      background: #fff;
      transition: all 0.3s;
      position: relative;
      overflow: hidden;
    }

    .zp-card:hover {
      border-color: var(--terra);
      transform: translateY(-4px);
      box-shadow: 0 16px 40px rgba(0, 0, 0, 0.06);
    }

    .zp-card::after {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 3px;
      background: var(--terra);
      opacity: 0;
      transition: opacity 0.3s;
    }

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

    .zp-card-icon {
      font-size: 28px;
      margin-bottom: 16px;
      color: var(--terra, #b45309);
    }

    .zp-card h3 {
      font-family: var(--font-display);
      font-size: 20px;
      font-weight: 700;
      margin-bottom: 10px;
    }

    .zp-card p {
      color: var(--muted);
      font-size: 15px;
      line-height: 1.65;
    }

    .zp-card a {
      color: var(--terra);
      text-decoration: none;
      font-weight: 600;
    }

    /* Dark cards */
    .zp-card-dark {
      background: rgba(255, 255, 255, 0.04);
      border-color: rgba(255, 255, 255, 0.06);
    }

    .zp-card-dark h3 {
      color: #fff;
    }

    .zp-card-dark p {
      color: rgba(250, 248, 245, 0.6);
    }

    /* Stats */
    .zp-stats {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
      gap: 32px;
      text-align: center;
    }

    .zp-stat-num {
      font-family: var(--font-display);
      font-size: 32px;
      font-weight: 900;
      color: var(--terra);
    }

    .zp-stat-label {
      color: var(--muted);
      font-size: 14px;
      margin-top: 4px;
    }

    .zp-section-dark .zp-stat-label {
      color: rgba(250, 248, 245, 0.6);
    }

    /* Split layout */
    .zp-split {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 60px;
      align-items: center;
    }

    .zp-split-reverse {
      direction: rtl;
    }

    .zp-split-reverse>* {
      direction: ltr;
    }

    .zp-split img {
      width: 100%;
      border-radius: 14px;
    }

    .zp-split h2 {
      font-family: var(--font-display);
      font-size: clamp(28px, 3vw, 38px);
      font-weight: 900;
      margin-bottom: 16px;
    }

    .zp-split p {
      color: var(--muted);
      font-size: 16px;
      line-height: 1.7;
      margin-bottom: 16px;
    }

    .zp-split ul {
      list-style: none;
      margin-bottom: 24px;
    }

    .zp-split li {
      padding: 6px 0;
      font-size: 15px;
      display: flex;
      align-items: center;
      gap: 10px;
    }

    .zp-split li::before {
      content: "✓";
      color: var(--sage);
      font-weight: 700;
      font-size: 16px;
    }

    /* FAQ */
    .zp-faq {
      max-width: 800px;
      margin: 0 auto;
    }

    .zp-faq-item {
      border-bottom: 1px solid var(--line);
      padding: 24px 0;
    }

    .zp-faq-q {
      font-family: var(--font-display);
      font-size: 18px;
      font-weight: 700;
      cursor: pointer;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 16px;
    }

    .zp-faq-q::after {
      content: "+";
      font-size: 24px;
      color: var(--terra);
      flex-shrink: 0;
      transition: transform 0.2s;
    }

    .zp-faq-item.open .zp-faq-q::after {
      content: "−";
    }

    .zp-faq-a {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.3s;
      color: var(--muted);
      font-size: 15px;
      line-height: 1.7;
    }

    .zp-faq-item.open .zp-faq-a {
      max-height: 500px;
      padding-top: 16px;
    }

    /* CTA Banner */
    .zp-cta {
      padding: 100px 0;
      background: var(--terra);
      color: #fff;
      text-align: center;
      position: relative;
      overflow: hidden;
    }

    .zp-cta::before {
      content: "";
      position: absolute;
      inset: 0;
      background: radial-gradient(circle at 30% 50%, rgba(255, 255, 255, 0.1) 0%, transparent 60%);
    }

    .zp-cta-inner {
      max-width: 880px;
      margin: 0 auto;
      padding: 0 28px;
      position: relative;
      z-index: 2;
    }

    .zp-cta h2 {
      font-family: var(--font-display);
      font-size: clamp(32px, 4vw, 48px);
      font-weight: 900;
      margin-bottom: 16px;
      color: #fff;
    }

    .zp-cta p {
      font-size: 17px;
      opacity: 0.85;
      margin-bottom: 36px;
    }

    .zp-btn-white {
      background: #fff;
      color: var(--terra);
    }

    .zp-btn-white:hover {
      background: var(--cream);
      transform: translateY(-2px);
    }

    /* Process steps */
    .zp-steps {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 32px;
    }

    .zp-step {
      text-align: center;
    }

    .zp-step-num {
      font-family: var(--font-display);
      font-size: 56px;
      font-weight: 900;
      color: rgba(196, 93, 62, 0.12);
      line-height: 1;
      margin-bottom: 12px;
    }

    .zp-step h3 {
      font-family: var(--font-display);
      font-size: 18px;
      font-weight: 700;
      margin-bottom: 8px;
    }

    .zp-step p {
      color: var(--muted);
      font-size: 14px;
      line-height: 1.6;
    }

    /* Pricing */
    .zp-pricing {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
      gap: 24px;
    }

    .zp-pricing-3 {
      grid-template-columns: repeat(3, 1fr);
    }

    .zp-price-card {
      padding: 40px 32px;
      border-radius: 14px;
      border: 1px solid var(--line);
      background: #fff;
      text-align: center;
      transition: all 0.3s;
    }

    .zp-price-card.featured {
      border-color: var(--terra);
      box-shadow: 0 8px 32px rgba(196, 93, 62, 0.12);
      position: relative;
    }

    .zp-price-card.featured::before {
      content: "最受欢迎";
      position: absolute;
      top: -12px;
      left: 50%;
      transform: translateX(-50%);
      background: var(--terra);
      color: #fff;
      font-size: 12px;
      font-weight: 700;
      padding: 4px 16px;
      border-radius: 50px;
    }

    .zp-price-name {
      font-family: var(--font-display);
      font-size: 22px;
      font-weight: 700;
      margin-bottom: 8px;
    }

    .zp-price-amount {
      font-family: var(--font-display);
      font-size: 48px;
      font-weight: 900;
      color: var(--terra);
    }

    .zp-price-period {
      font-size: 14px;
      color: var(--muted);
      margin-bottom: 24px;
    }

    .zp-price-features {
      list-style: none;
      text-align: left;
      margin-bottom: 28px;
    }

    .zp-price-features li {
      padding: 8px 0;
      font-size: 14px;
      border-bottom: 1px solid var(--line);
      display: flex;
      gap: 8px;
    }

    .zp-price-features li::before {
      content: "✓";
      color: var(--sage);
      font-weight: 700;
    }

    /* Contact form layout */
    .zp-contact-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 64px;
    }

    .zp-contact-info h3 {
      font-family: var(--font-display);
      font-size: 22px;
      font-weight: 700;
      margin-bottom: 16px;
    }

    .zp-contact-item {
      display: flex;
      gap: 12px;
      margin-bottom: 20px;
    }

    .zp-contact-item .icon {
      font-size: 20px;
      flex-shrink: 0;
    }

    .zp-contact-item span {
      font-size: 15px;
      color: var(--charcoal);
      line-height: 1.6;
    }

    .zp-contact-item a {
      color: var(--terra);
      text-decoration: none;
    }

    /* Badges row */
    .zp-badges {
      display: flex;
      gap: 24px;
      align-items: center;
      flex-wrap: wrap;
      margin-top: 24px;
    }

    .zp-hero-center .zp-badges {
      justify-content: center;
    }

    .zp-badge {
      display: flex;
      align-items: center;
      gap: 10px;
      background: rgba(255, 255, 255, 0.06);
      padding: 12px 16px;
      border-radius: 10px;
      border: 1px solid rgba(255, 255, 255, 0.08);
    }

    .zp-badge img {
      height: 36px;
    }

    .zp-badge span {
      font-size: 12px;
      font-weight: 600;
    }

    /* Approach grid (About) */
    .zp-approach {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
      gap: 24px;
    }

    .zp-approach-card {
      padding: 32px 24px;
      border-radius: 14px;
      border: 1px solid var(--line);
      background: #fff;
      transition: all 0.3s;
    }

    .zp-approach-card:hover {
      border-color: var(--terra);
      transform: translateY(-4px);
      box-shadow: 0 16px 40px rgba(0, 0, 0, 0.06);
    }

    .zp-approach-num {
      font-family: var(--font-display);
      font-size: 14px;
      font-weight: 900;
      color: var(--terra);
      margin-bottom: 12px;
    }

    .zp-approach-card h3 {
      font-family: var(--font-display);
      font-size: 18px;
      font-weight: 700;
      margin-bottom: 8px;
    }

    .zp-approach-card p {
      color: var(--muted);
      font-size: 14px;
      line-height: 1.65;
    }

    /* Services strip (About) */
    .zp-services {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 20px;
    }
    /* 服务能力：窄屏降列，避免 6 块挤成一行 */
    @media (max-width: 960px) { .zp-services { grid-template-columns: repeat(2, 1fr); } }
    @media (max-width: 640px) { .zp-services { grid-template-columns: 1fr; } }

    .zp-svc {
      padding: 28px 20px;
      border-radius: 12px;
      border: 1px solid var(--line);
      background: #fff;
      display: flex;
      gap: 14px;
      align-items: flex-start;
      transition: border-color 0.2s;
    }

    .zp-svc:hover {
      border-color: var(--terra);
    }

    .zp-svc-icon {
      font-size: 24px;
      flex-shrink: 0;
      color: var(--terra, #b45309);
    }

    .zp-svc h3 {
      font-size: 15px;
      font-weight: 700;
      margin-bottom: 4px;
    }

    .zp-svc p {
      font-size: 13px;
      color: var(--muted);
      line-height: 1.5;
    }

    /* Timeline (About) */
    .zp-timeline {
      position: relative;
      max-width: 700px;
    }

    .zp-timeline::before {
      content: "";
      position: absolute;
      left: 18px;
      top: 0;
      bottom: 0;
      width: 2px;
      background: var(--line);
    }

    .zp-tstep {
      position: relative;
      padding-left: 56px;
      margin-bottom: 36px;
    }

    .zp-tstep-dot {
      position: absolute;
      left: 8px;
      top: 4px;
      width: 22px;
      height: 22px;
      border-radius: 50%;
      background: var(--terra);
      border: 3px solid var(--warm-white);
    }

    .zp-tstep h3 {
      font-family: var(--font-display);
      font-size: 17px;
      font-weight: 700;
      margin-bottom: 6px;
    }

    .zp-tstep p {
      color: var(--muted);
      font-size: 14px;
      line-height: 1.6;
    }

    /* AI engine tags */
    .zp-ai-tags {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 32px;
    }

    .zp-ai-tag {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 12px 20px;
      border-radius: 50px;
      border: 1px solid var(--line);
      background: #fff;
      font-size: 14px;
      font-weight: 600;
    }

    /* GEO comparison cols */
    .zp-compare {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 24px;
      margin-top: 48px;
    }

    .zp-compare-col {
      padding: 32px;
      border-radius: 14px;
      border: 1px solid var(--line);
      background: #fff;
    }

    .zp-compare-col.hl {
      border-color: var(--terra);
      background: rgba(196, 93, 62, 0.03);
    }

    .zp-compare-col h3 {
      font-family: var(--font-display);
      font-size: 18px;
      font-weight: 700;
      margin-bottom: 16px;
    }

    .zp-compare-col ul {
      list-style: none;
      padding: 0;
    }

    .zp-compare-col li {
      padding: 8px 0;
      font-size: 14px;
      line-height: 1.6;
      display: flex;
      gap: 8px;
    }

    .zp-compare-col li::before {
      content: "→";
      color: var(--terra);
      font-weight: 700;
    }

    /* Blog cards */
    .zp-blog-card {
      display: block;
      border-radius: 14px;
      border: 1px solid var(--line);
      overflow: hidden;
      text-decoration: none;
      color: var(--charcoal);
      transition: all 0.3s;
      background: #fff;
    }

    .zp-blog-card:hover {
      border-color: var(--terra);
      transform: translateY(-4px);
      box-shadow: 0 16px 40px rgba(0, 0, 0, 0.06);
    }

    .zp-blog-card-thumb {
      width: 100%;
      aspect-ratio: 16/9;
      overflow: hidden;
      background: var(--line);
    }

    .zp-blog-card-thumb img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.4s;
    }

    .zp-blog-card:hover .zp-blog-card-thumb img {
      transform: scale(1.05);
    }

    .zp-blog-card-body {
      padding: 24px;
    }

    .zp-blog-tag {
      display: inline-block;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--terra);
      margin-bottom: 10px;
    }

    .zp-blog-card h3 {
      font-family: var(--font-display);
      font-size: 17px;
      font-weight: 700;
      line-height: 1.35;
      margin-bottom: 8px;
    }

    .zp-blog-card p {
      color: var(--muted);
      font-size: 14px;
      line-height: 1.6;
    }

    /* Responsive */
    @media (max-width: 900px) {
      .zp-hero-split {
        grid-template-columns: 1fr;
      }

      .zp-hero-visual {
        display: none;
      }

      .zp-grid-3,
      .zp-grid-4 {
        grid-template-columns: 1fr;
      }

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

      .zp-hero {
        padding: 80px 20px 60px;
      }

      .zp-split,
      .zp-split-reverse {
        grid-template-columns: 1fr;
        direction: ltr;
      }

      .zp-pricing,
      .zp-pricing-3 {
        grid-template-columns: 1fr;
      }

      .zp-compare {
        grid-template-columns: 1fr;
      }
    }

