  /* 全局样式定义 */
  html {
      scroll-behavior: smooth;
      font-size: 17px;
  }

  @media (max-width: 768px) {
    html {
      font-size: 15px; /* 你想更小就 14px */
    }
  }
  body {
      font-family: 'Noto Sans SC', sans-serif;
      background-color: #f8faff;
  }
  .gradient-text {
      background: linear-gradient(135deg, #6366f1 0%, #a855f7 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
  }
  .hero-gradient {
      background:
        radial-gradient(circle at 10% 0%, rgba(99, 102, 241, 0.14) 0%, transparent 38%),
        radial-gradient(circle at 85% 8%, rgba(56, 189, 248, 0.14) 0%, transparent 36%),
        linear-gradient(180deg, #f6f9ff 0%, #f8faff 40%, #ffffff 100%);
  }
  .card-shadow {
      box-shadow: 0 12px 30px -10px rgba(37, 99, 235, 0.16), 0 10px 12px -8px rgba(15, 23, 42, 0.06);
  }

  .nav-glass {
      background: #f3f6ff;
      border-bottom: 1px solid rgba(99, 102, 241, 0.12);
      box-shadow: 0 8px 24px -20px rgba(37, 99, 235, 0.24);
  }

  .nav-inner {
      max-width: 1500px;
  }

  .brand-logo {
      color: #17407e;
      letter-spacing: .1px;
      gap: 10px;
  }

  .brand-logo-icon {
      width: 30px;
      height: 30px;
      object-fit: contain;
      display: block;
      filter: drop-shadow(0 4px 10px rgba(37, 99, 235, 0.25));
  }

  .brand-badge {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 28px;
      height: 28px;
      background: transparent;
      border: 0;
      box-shadow: none;
      overflow: visible;
  }

  .brand-name {
      font-size: 28px;
      font-weight: 700;
      color: #244a88;
      font-family: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
  }

  .brand-art {
      font-family: "Segoe UI", "Avenir Next", "Noto Sans SC", sans-serif;
      font-weight: 800;
      letter-spacing: .5px;
      background: linear-gradient(135deg, #1f5fff 0%, #4f46e5 45%, #0ea5e9 100%);
      -webkit-background-clip: text;
      background-clip: text;
      color: transparent;
      text-shadow: 0 6px 20px rgba(37, 99, 235, 0.18);
  }

  .nav-menu {
      margin-left: auto;
      gap: 38px;
      transform: translateX(-12px);
  }

  .nav-link {
      color: #4f5f80;
      font-weight: 700;
      font-size: 15px;
      line-height: 1;
      display: inline-flex;
      align-items: center;
      gap: 8px;
  }

  .nav-mini-icon {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 24px;
      height: 24px;
      border-radius: 999px;
      color: #fff;
      box-shadow: 0 8px 14px -8px rgba(37, 99, 235, 0.55);
      flex-shrink: 0;
  }

  .nav-mini-icon svg {
      width: 14px;
      height: 14px;
      fill: none;
      stroke: currentColor;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
  }

  .nav-mini-icon-blue { background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%); }
  .nav-mini-icon-purple { background: linear-gradient(135deg, #8b5cf6 0%, #6d28d9 100%); }
  .nav-mini-icon-cyan { background: linear-gradient(135deg, #06b6d4 0%, #0891b2 100%); }
  .nav-mini-icon-orange { background: linear-gradient(135deg, #f59e0b 0%, #ea580c 100%); }

  .nav-mini-icon-light {
      color: #fff;
      background: rgba(255,255,255,.2);
      border: 1px solid rgba(255,255,255,.28);
      box-shadow: none;
  }

  .nav-link:hover {
      color: #334e7d;
  }

  .hero-chip {
      background: rgba(255, 255, 255, 0.88);
      border: 1px solid rgba(99, 102, 241, 0.14);
      box-shadow: 0 12px 24px -16px rgba(79, 70, 229, 0.55);
  }

  .hero-top-badge {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 6px 14px;
      border-radius: 999px;
      border: 1px solid rgba(99, 102, 241, 0.18);
      background: #eceffc;
      color: #5966d9;
      font-weight: 700;
      font-size: 12px;
  }

  .hero-title {
      font-size: 50px;
      line-height: 1.16;
      font-weight: 800;
      letter-spacing: -0.2px;
  }

  .hero-title-dark { color: #17223a; }

  .hero-title-gradient {
      background: linear-gradient(135deg, #5b67e8 0%, #764fc8 100%);
      -webkit-background-clip: text;
      background-clip: text;
      color: transparent;
      margin-left: 6px;
  }

  .hero-subtitle {
      margin-top: 10px;
      font-size: 20px;
      font-weight: 700;
      color: #1c2b46;
  }

  .hero-desc {
      margin-top: 12px;
      font-size: 19px;
      color: #7b8aa6;
      font-weight: 500;
  }

  .hero-safe-badge {
      display: inline-flex;
      margin-top: 18px;
      padding: 8px 14px;
      border-radius: 999px;
      background: #dcf6e9;
      border: 1px solid rgba(16, 185, 129, 0.2);
      color: #0f8f66;
      font-size: 15px;
      font-weight: 700;
  }

  .hero-slogan {
      margin-top: 14px;
      color: #8fa0be;
      font-size: 17px;
      font-weight: 600;
      font-style: normal;
  }

  .hero-rating-badge {
      margin: 14px auto 0;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 8px 15px;
      border-radius: 999px;
      background: #e8e8f3;
      border: 1px solid rgba(148, 163, 255, 0.5);
      color: #5b61da;
      font-weight: 700;
      font-size: 14px;
      line-height: 1;
  }

  .hero-rating-stars {
      color: #f7b500;
      letter-spacing: 2px;
  }

  .hero-rating-score {
      color: #1f2a44;
      font-weight: 800;
  }

  .hero-feature-row {
      margin-top: 20px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 12px;
      flex-wrap: wrap;
  }

  .hero-feature-chip {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 8px 14px;
      border-radius: 999px;
      background: #ffffff;
      border: 1px solid rgba(203, 213, 225, 0.8);
      color: #2a3b59;
      font-size: 14px;
      font-weight: 700;
      box-shadow: 0 6px 20px -16px rgba(15, 23, 42, 0.35);
  }

  .hero-feature-link {
      background: #eaf2ff;
      border-color: rgba(96, 165, 250, 0.35);
      color: #2f6fd6;
      text-decoration: none;
  }

  .hero-main-cta {
      margin-top: 20px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 196px;
      height: 46px;
      border-radius: 999px;
      background: linear-gradient(135deg, #5c7eff 0%, #724fca 100%);
      color: #fff;
      font-size: 15px;
      font-weight: 700;
      text-decoration: none;
      box-shadow: 0 12px 22px -16px rgba(92, 99, 240, 0.8);
  }

  .feature-card {
      transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
  }
  .feature-card:hover {
      transform: translateY(-6px);
      border-color: rgba(99, 102, 241, 0.25);
      box-shadow: 0 18px 40px -20px rgba(79, 70, 229, 0.45);
  }

  .advantage-highlight-card {
      transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
      animation: cardFloat 4.2s ease-in-out infinite;
  }

  .faq-article-trigger {
      cursor: pointer;
      transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  }

  .faq-article-trigger:hover {
      transform: translateY(-2px);
      border-color: rgba(99, 102, 241, .22);
      box-shadow: 0 10px 24px -20px rgba(37, 99, 235, .45);
  }

  .advantage-highlight-card:hover {
      transform: translateY(-6px);
      border-color: rgba(99,102,241,.35);
      box-shadow: 0 28px 52px -28px rgba(79, 70, 229, .45);
      animation-play-state: paused;
  }

  .recommend-badge {
      animation: badgePulse 2.2s ease-in-out infinite;
  }

  @keyframes cardFloat {
      0%, 100% { transform: translateY(0); }
      50% { transform: translateY(-4px); }
  }

  @keyframes badgePulse {
      0%, 100% { box-shadow: 0 8px 16px -10px rgba(249,115,22,.45); }
      50% { box-shadow: 0 14px 24px -12px rgba(249,115,22,.68); }
  }

  .soft-glow {
      box-shadow: 0 0 0 1px rgba(99, 102, 241, 0.08), 0 18px 45px -25px rgba(99, 102, 241, 0.45);
  }

  .btn-primary {
      background: linear-gradient(135deg, #4f46e5 0%, #6366f1 50%, #2563eb 100%);
      box-shadow: 0 10px 22px -10px rgba(79, 70, 229, 0.65);
      transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
  }
  .btn-primary:hover {
      transform: translateY(-1px);
      filter: brightness(1.03);
      box-shadow: 0 14px 26px -12px rgba(37, 99, 235, 0.65);
  }

  .promo-bar {
      height: 54px;
      background: linear-gradient(90deg, #5f63db 0%, #656be8 50%, #5a67da 100%);
      color: #fff;
      position: relative;
      z-index: 60;
      box-shadow: 0 8px 16px -12px rgba(79, 70, 229, 0.45);
  }

  .promo-pill {
      font-size: 12px;
      line-height: 1;
      font-weight: 700;
      padding: 7px 12px;
      border-radius: 999px;
      background: rgba(255, 255, 255, 0.2);
      margin-right: 10px;
      white-space: nowrap;
  }

  .promo-text {
      font-size: 15px;
      line-height: 1.25;
      font-weight: 600;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      flex: 1;
      min-width: 0;
      animation: promoFade .45s ease;
  }

  .promo-link {
      margin-left: 12px;
      font-size: 13px;
      font-weight: 700;
      padding: 7px 12px;
      border-radius: 999px;
      background: rgba(255, 255, 255, 0.2);
      border: 1px solid rgba(255,255,255,.24);
      transition: background .2s ease;
      white-space: nowrap;
  }

  .promo-link:hover {
      background: rgba(255, 255, 255, 0.34);
  }

  .promo-close {
      margin-left: 10px;
      width: 28px;
      height: 28px;
      border-radius: 999px;
      border: 1px solid rgba(255,255,255,.35);
      background: rgba(255,255,255,.15);
      color: #fff;
      font-size: 18px;
      line-height: 1;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      transition: background .2s ease, transform .2s ease;
  }

  .promo-close:hover {
      background: rgba(255,255,255,.3);
      transform: scale(1.04);
  }

  .nav-cta {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 112px;
      height: 42px;
      padding: 0 18px;
      color: #ffffff !important;
      font-size: 14px;
      font-weight: 700;
      letter-spacing: .1px;
      line-height: 1;
      border-radius: 999px;
      background: linear-gradient(135deg, #5f84ff 0%, #6b63ee 100%);
      box-shadow: 0 10px 18px -12px rgba(92, 99, 240, 0.64);
      transition: transform .2s ease, filter .2s ease, box-shadow .2s ease;
      border: 0;
      text-decoration: none;
  }

  .nav-cta:hover {
      transform: translateY(-1px);
      filter: brightness(1.05);
      box-shadow: 0 14px 24px -14px rgba(92, 99, 240, 0.78);
  }


  @keyframes promoFade {
      from { opacity: 0; transform: translateY(4px); }
      to { opacity: 1; transform: translateY(0); }
  }

  @media (max-width: 768px) {
      .promo-bar {
          height: 48px;
      }
      .promo-pill {
          font-size: 11px;
          padding: 6px 10px;
          margin-right: 8px;
      }
      .promo-text {
          font-size: 13px;
      }
      .promo-link {
          font-size: 12px;
          padding: 6px 10px;
          margin-left: 8px;
      }
      .promo-close {
          width: 24px;
          height: 24px;
          font-size: 15px;
          margin-left: 6px;
      }

      .nav-cta {
          min-width: 78px;
          height: 38px;
          padding: 0 14px;
          font-size: 12px;
      }

      .hero-top-badge {
          font-size: 13px;
          padding: 8px 14px;
      }

      .hero-title {
          font-size: 46px;
      }

      .hero-subtitle {
          margin-top: 16px;
          font-size: 28px;
      }

      .hero-desc {
          margin-top: 8px;
          font-size: 20px;
      }

      .hero-safe-badge {
          margin-top: 14px;
          padding: 8px 14px;
          font-size: 16px;
      }

      .hero-slogan {
          font-size: 16px;
      }

      .hero-feature-chip {
          font-size: 14px;
          padding: 8px 12px;
      }

      .hero-main-cta {
          min-width: 210px;
          height: 54px;
          font-size: 20px;
      }

      .hero-rating-badge {
          font-size: 13px;
          padding: 7px 12px;
          gap: 6px;
      }

      .advantages-title {
          margin-top: 64px;
          margin-bottom: 8px;
      }

      .advantages-heading {
          font-size: 26px;
      }

      .advantages-subtitle {
          font-size: 14px;
          margin-bottom: 24px;
      }


  }
  .advantages-title {
      margin-top: 88px;
      margin-bottom: 10px;
      text-align: center;
  }

  .advantages-heading {
      font-size: 34px;
      line-height: 1.2;
      color: #1f2f4d;
  }

  .advantages-subtitle {
      text-align: center;
      font-size: 18px;
      color: #7b8aa6;
      margin-bottom: 38px;
  }

  .packages-title {
      margin-top: 75px;
      margin-bottom: 10px;
      text-align: center;
  }

  .packages-subtitle {
      margin-bottom: 38px;
  }

  .tutorial-modal-trigger {
      border: 1px solid rgba(99, 102, 241, 0.28);
      background: #eef2ff;
      color: #4f46e5;
      font-size: 12px;
      font-weight: 700;
      border-radius: 999px;
      padding: 3px 12px;
  }

  .tutorial-modal {
      position: fixed;
      inset: 0;
      z-index: 120;
      display: none;
  }

  .tutorial-modal.is-open { display: block; }

  .tutorial-modal-mask {
      position: absolute;
      inset: 0;
      background: rgba(15, 23, 42, .45);
      backdrop-filter: blur(2px);
  }

  .tutorial-modal-card {
      position: relative;
      width: min(860px, 92vw);
      max-height: 85vh;
      overflow: auto;
      margin: 6vh auto 0;
      background: #f8faff;
      border: 1px solid #dde6fb;
      border-radius: 20px;
      box-shadow: 0 28px 60px -30px rgba(37, 99, 235, .5);
      padding: 22px;
  }

  .tutorial-modal-head { display: flex; justify-content: space-between; align-items: center; }
  .tutorial-modal-head h3 { font-size: 28px; font-weight: 800; color: #1f2f4d; }
  .tutorial-modal-sub { color: #7b8aa6; margin: 8px 0 18px; }
  .tutorial-close { font-size: 28px; color: #7185aa; line-height: 1; }

  .tutorial-scroll-area {
      max-height: 52vh;
      overflow: auto;
      padding-right: 4px;
  }

  .tutorial-list { display: grid; gap: 12px; }
  .tutorial-item {
      background: #fff;
      border: 1px solid #dde5f8;
      border-radius: 14px;
      padding: 14px;
      cursor: pointer;
      transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
  }
  .tutorial-item:hover {
      border-color: #c9d6f6;
      transform: translateY(-2px);
      box-shadow: 0 10px 24px -18px rgba(37, 99, 235, .45);
  }
  .tutorial-item-hidden { display: none; }
  .tutorial-item h4 { font-size: 18px; font-weight: 700; color: #1f2f4d; margin-bottom: 6px; }
  .tutorial-item p { font-size: 14px; color: #6f81a3; line-height: 1.6; }
  .tutorial-load-tip {
      margin-top: 10px;
      text-align: center;
      color: #8ca0bf;
      font-size: 12px;
      position: sticky;
      bottom: 0;
      background: linear-gradient(to top, #f8faff 65%, rgba(248,250,255,0));
      padding-top: 8px;
  }

  .tutorial-detail-view { padding-top: 2px; }

  @media (max-width: 768px) {
      .tutorial-scroll-area { max-height: 60vh; }
  }
  .tutorial-back-btn {
      border: 1px solid #d4ddf2;
      background: #ffffff;
      color: #4f46e5;
      font-size: 13px;
      font-weight: 700;
      border-radius: 999px;
      padding: 6px 12px;
      margin-bottom: 14px;
  }
  .tutorial-detail-title { font-size: 22px; font-weight: 800; color: #1f2f4d; margin-bottom: 8px; }
  .tutorial-detail-desc { font-size: 14px; color: #6f81a3; margin-bottom: 14px; }
  .tutorial-detail-content { font-size: 14px; color: #506584; line-height: 1.8; background: #fff; border: 1px solid #dde5f8; border-radius: 12px; padding: 14px; white-space: pre-line; }

  .packages-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 2rem;
  }

  .premium-shadow {
      box-shadow: 0 20px 40px -15px rgba(99, 102, 241, 0.15);
  }

  .package-card {
      background: #fff;
      border-radius: 1.5rem;
      border: 1px solid #e5eaf6;
      transition: all .3s ease;
      transform: translateY(0);
  }

  .package-card:hover {
      transform: translateY(-8px);
      box-shadow: 0 30px 60px -15px rgba(99, 102, 241, 0.25);
  }

  .package-corner-wrap {
      position: absolute;
      top: -14px;
      right: -10px;
      z-index: 20;
      transform: rotate(6deg);
  }

  .package-corner-tag {
      position: relative;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      overflow: hidden;
      border-radius: 999px;
      padding: 6px 16px;
      color: #fff;
      font-size: 13px;
      font-weight: 700;
      letter-spacing: .02em;
      box-shadow: 0 8px 16px -6px rgba(15, 23, 42, .25);
  }

  .tag-shimmer {
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      width: 48px;
      background: linear-gradient(to right, transparent, rgba(255,255,255,.5), transparent);
      animation: shimmer 2.5s infinite linear;
      transform: translateX(-150%) skewX(-20deg);
  }

  @keyframes shimmer {
      0% { transform: translateX(-150%) skewX(-20deg); }
      100% { transform: translateX(200%) skewX(-20deg); }
  }

  .package-tag-green { background: linear-gradient(to right, #34d399, #10b981); }
  .package-tag-rose { background: linear-gradient(to right, #fb7185, #f43f5e); }
  .package-tag-orange { background: linear-gradient(to right, #fbbf24, #f97316); }

  .package-ribbon {
      background: linear-gradient(to right, #3b82f6, #6366f1);
      color: rgba(255,255,255,.92);
      text-align: center;
      padding: 16px 24px;
      border-top-left-radius: 1.5rem;
      border-top-right-radius: 1.5rem;
      font-size: 14px;
      font-weight: 500;
      letter-spacing: .02em;
  }

  .package-card-body {
      padding: 2rem;
      display: flex;
      flex: 1;
      flex-direction: column;
      align-items: center;
  }

  .package-card-body h3 {
      font-size: 1.5rem;
      line-height: 1.2;
      font-weight: 700;
      color: #1e293b;
      margin-bottom: .5rem;
  }

  .package-card-body p {
      font-size: .875rem;
      color: #64748b;
      margin-bottom: 2rem;
  }

  .package-price-wrap {
      display: flex;
      align-items: flex-start;
      color: #4f46e5;
      margin-bottom: 2rem;
  }

  .package-currency {
      font-size: 1.5rem;
      margin-top: .25rem;
      margin-right: .25rem;
      font-weight: 700;
  }

  .package-price {
      font-size: 2.0rem;
      line-height: 1;
      font-weight: 800;
      letter-spacing: -0.01em;
      color: #4f46e5;
  }

  .package-divider {
      width: 100%;
      height: 1px;
      background: #f1f5f9;
      margin-bottom: 2rem;
  }

  .package-feature-list {
      width: 100%;
      display: flex;
      flex-direction: column;
      gap: 1rem;
      margin-bottom: 2.5rem;
      flex: 1;
  }

  .package-feature-list li {
      display: flex;
      align-items: center;
      color: #475569;
      font-size: .875rem;
  }

  .package-check {
      width: 20px;
      height: 20px;
      margin-right: .75rem;
      flex-shrink: 0;
      color: #6366f1;
  }

  .package-btn-row {
      width: 100%;
      display: flex;
      flex-direction: column;
      gap: .75rem;
      margin-top: auto;
  }

  .package-btn {
      width: 100%;
      height: 46px;
      border-radius: .75rem;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: .95rem;
      font-weight: 600;
      transition: all .2s ease;
      position: relative;
      overflow: hidden;
      letter-spacing: .2px;
  }

  .package-step-badge {
      position: absolute;
      left: 8px;
      top: 8px;
      width: 26px;
      height: 26px;
      border-radius: 9px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: .76rem;
      font-weight: 900;
      line-height: 1;
      box-shadow: 0 8px 16px rgba(15, 23, 42, .18);
      backdrop-filter: blur(2px);
      transform: none;
      z-index: 2;
      transition: transform .22s ease, box-shadow .22s ease;
    }

  .package-step-badge::before {
      content: '';
      position: absolute;
      inset: 2px;
      border-radius: 7px;
      border: 1px dashed rgba(255,255,255,.55);
      pointer-events: none;
  }

  .package-btn:hover .package-step-badge {
      transform: translateY(-2px);
      box-shadow: 0 12px 20px rgba(15, 23, 42, .24);
  }

  .package-btn-primary {
      color: #fff;
      background: linear-gradient(to right, #3b82f6, #6366f1);
      box-shadow: 0 6px 14px rgba(99, 102, 241, .25);
  }

  .package-btn-primary .package-step-badge {
      background: linear-gradient(135deg, rgba(255,255,255,.3) 0%, rgba(255,255,255,.14) 100%);
      border: 1px solid rgba(255, 255, 255, .55);
      color: #ffffff;
  }

  .package-btn-primary:hover {
      filter: brightness(1.05);
      box-shadow: 0 10px 18px rgba(99, 102, 241, .3);
  }

  .package-btn-soft {
      background: linear-gradient(135deg, #eef4ff 0%, #e8edff 100%);
      border: 1px solid rgba(129, 140, 248, .28);
      color: #4b53da;
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, .75);
  }

  .package-btn-soft .package-step-badge {
      background: linear-gradient(135deg, #e9efff 0%, #d5deff 100%);
      border: 1px solid rgba(99, 102, 241, .3);
      color: #3f46c8;
  }

  .package-btn-soft .package-step-badge::before {
      border-color: rgba(79, 70, 229, .35);
  }

  .package-btn-soft:hover {
      background: linear-gradient(135deg, #e8efff 0%, #dde6ff 100%);
      color: #4248cf;
  }

  @media (max-width: 1024px) {
      .packages-grid {
          grid-template-columns: 1fr;
          gap: 1.25rem;
      }

      .package-card-body {
          padding: 1.5rem;
      }
  }

  @media (max-width: 640px) {
      .package-step-badge {
          width: 24px;
          height: 24px;
          left: 7px;
          top: 7px;
          font-size: .72rem;
      }

      .package-btn:hover .package-step-badge,
      .package-btn:active .package-step-badge {
          transform: translateY(-1px);
      }
  }
  /* 避免导航栏遮挡锚点标题 */
  section {
      scroll-margin-top: 6rem;
  }

  /* 会员套餐区域：锚点跳转时整体上移，视觉更接近屏幕居中 */
  #packages {
      scroll-margin-top: 2.5rem;
  }
  /* 移动端菜单切换动画 */
  #mobile-menu {
      transition: all 0.3s ease-in-out;
  }
  .menu-hidden {
      transform: translateY(-20px);
      opacity: 0;
      pointer-events: none;
  }

  .site-footer-links {
      background: #ffffff;
      color: #1e293b;
      margin-top: 0;
      border-top: 1px solid #e6e9ef;
  }

  .footer-main {
      padding-top: 56px;
      padding-bottom: 52px;
  }

  .footer-grid-strict {
      display: grid;
      grid-template-columns: minmax(220px, 1fr) minmax(320px, 1.25fr) minmax(180px, .85fr);
      gap: 40px;
      justify-content: center;
      align-items: start;
  }

  .footer-brand-col {
      display: block;
      text-align: center;
  }

  .footer-links-col,
  .footer-about-col {
      text-align: left;
  }

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

  .footer-logo-img {
      width: 24px;
      height: 24px;
      object-fit: contain;
      filter: drop-shadow(0 2px 6px rgba(37, 99, 235, 0.2));
  }

  .footer-brand-title {
      font-size: 32px;
      font-weight: 800;
      color: #3d63dc;
      letter-spacing: -0.01em;
      line-height: 1;
  }

  .footer-brand-sub {
      color: #6f82a1;
      font-size: 13px;
      line-height: 1.6;
      max-width: 300px;
      margin: 0 auto;
  }

  .footer-mini-title {
      font-size: 16px;
      font-weight: 700;
      color: #91a5c4;
      margin-bottom: 16px;
      display: inline-flex;
      align-items: center;
      gap: 10px;
      line-height: 1;
      justify-content: flex-start;
  }

  .footer-mini-title span {
      width: 20px;
      height: 2px;
      background: #ccd4e1;
      display: inline-block;
  }

  .footer-quick-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 18px 24px;
  }

  .footer-quick-item {
      display: block;
      text-decoration: none;
      padding: 0;
      border: 0;
      text-align: left;
  }

  .footer-quick-item-wide {
      grid-column: 1 / 2;
  }

  .footer-quick-icon {
      display: none;
  }

  .footer-quick-label {
      font-size: 14px;
      font-weight: 700;
      color: #233a5a;
      line-height: 1.25;
  }

  .footer-quick-desc {
      font-size: 12px;
      color: #92a5c2;
      margin-top: 3px;
      line-height: 1.35;
  }

  .footer-about-nav {
      display: flex;
      flex-direction: column;
      gap: 12px;
      margin-left: 0;
      margin-top: 4px;
      align-items: flex-start;
  }

  .footer-about-nav a {
      text-decoration: none;
      font-size: 14px;
      color: #324a6b;
      line-height: 1.25;
  }

  .footer-bottom {
      padding: 64px 16px 52px;
  }

  .footer-bottom-inner {
      max-width: 980px;
      margin: 0 auto;
      text-align: center;
      color: #98a9c2;
      font-size: 15px;
      line-height: 1.8;
  }

  .footer-copyright {
      margin-top: 52px;
      color: #bcc8da;
      font-size: 11px;
      letter-spacing: .35em;
      text-transform: uppercase;
      font-weight: 700;
  }

  @media (max-width: 1024px) {
      .footer-main {
          padding-top: 56px;
          padding-bottom: 48px;
      }

      /* 移动端两行布局：第一行品牌，第二行快速链接+关于我们并列 */
      .footer-grid-strict {
          grid-template-columns: 1fr 1fr;
          grid-template-areas:
              "brand brand"
              "links about";
          gap: 24px 20px;
          justify-content: center;
      }

      .footer-brand-col { grid-area: brand; }
      .footer-links-col { grid-area: links; }
      .footer-about-col { grid-area: about; }

      .footer-brand-col,
      .footer-links-col,
      .footer-about-col {
          width: 100%;
          margin: 0;
      }

      .footer-mini-title { font-size: .95rem; margin-bottom: 12px; }
      .footer-quick-grid { grid-template-columns: 1fr; gap: 12px; }
      .footer-quick-item-wide { grid-column: auto; }
      .footer-quick-label,
      .footer-about-nav a { font-size: .95rem; }
      .footer-quick-desc,
      .footer-bottom-inner { font-size: .82rem; }
      .footer-about-nav { gap: 10px; }
      .footer-bottom { padding: 44px 14px 34px; }
      .footer-copyright { margin-top: 24px; letter-spacing: .16em; font-size: .72rem; }
  }




/* 子页面按钮缩窄（plus/pro-100/pro-200） */
.subpage-btn-half .package-btn-row {
    width: 100%;
    align-items: center;
}

.subpage-btn-half .package-btn {
    width: 50%;
    min-width: 0;
    max-width: 260px;
}

@media (max-width: 640px) {
    .subpage-btn-half .package-btn {
        width: 70%;
        max-width: 240px;
    }
}
