  /* =========================================================
     CSS VARIABLES — 设计规范附录A完整实现
     ========================================================= */
  :root {
    color-scheme: light;

    /* Color · Neutral §2.1 */
    --color-bg:             #FFFFFF;
    --color-bg-alt:         #FBFBFD;
    --color-bg-dark:        #1D1D1F;
    --color-text-primary:   #1D1D1F;
    --color-text-secondary: #6E6E73;
    --color-text-tertiary:  #86868B;
    --color-text-on-dark:   #F5F5F7;
    --color-divider:        #D2D2D7;

    /* Color · Brand §2.2 */
    --color-brand:          #05D38E;
    --color-brand-hover:    #0CE59C;
    --color-brand-pressed:  #04B87C;
    --color-link:           #0066CC;
    --color-link-hover:     #0040A0;

    /* Color · Functional §2.3 */
    --color-success:        #05D38E;
    --color-warning:        #FB9652;
    --color-danger:         #F5312B;

    /* Gradient P1/P2/P3 §2.5 */
    --gradient-p1: linear-gradient(30deg, #15EF82 0%, #3CE6E9 100%);
    --gradient-p2: linear-gradient(30deg, #76ADFF 0%, #9494FF 100%);
    --gradient-p3: linear-gradient(30deg, #FFBF1D 0%, #FF712F 100%);

    /* Typography · Family §1.1 */
    --font-sans:  -apple-system, BlinkMacSystemFont, "SF Pro Display", Inter, Poppins, "Helvetica Neue", Arial, sans-serif;
    --font-text:  -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, "Helvetica Neue", Arial, sans-serif;
    --font-cn:    "PingFang SC", "苹方", "Source Han Sans SC", "Noto Sans SC", "Microsoft YaHei", sans-serif;
    --font-num:   Poppins, -apple-system, "SF Pro Display", Inter, sans-serif;

    /* Typography · Size §1.2 */
    --font-display-xl: clamp(48px, 9vw, 120px);
    --font-display-l:  clamp(40px, 6vw, 80px);
    --font-headline:   clamp(36px, 5vw, 72px);
    --font-title:      clamp(22px, 2vw, 32px);
    --font-subtitle:   21px;
    --font-body-l:     clamp(18px, 1.6vw, 24px);
    --font-body:       16px;
    --font-caption:    12px;
    --font-eyebrow:    14px;

    /* Spacing §3.1 */
    --space-1: 4px;   --space-2: 8px;   --space-3: 12px;
    --space-4: 16px;  --space-5: 24px;  --space-6: 32px;
    --space-8: 48px;  --space-10: 64px; --space-12: 96px;
    --space-16: 128px; --space-20: 160px;

    /* Radius §4.1 */
    --radius-sm:   8px;
    --radius-md:   12px;
    --radius-lg:   18px;
    --radius-xl:   28px;
    --radius-full: 9999px;

    /* Shadow §4.2 */
    --shadow-sm: 0 1px 2px rgba(0,0,0,0.04);
    --shadow-md: 0 6px 20px rgba(0,0,0,0.06);
    --shadow-lg: 0 20px 60px rgba(0,0,0,0.08);

    /* Motion §6 */
    --ease-out:    cubic-bezier(0.22, 1, 0.36, 1);
    --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
    --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
    --dur-fast: 150ms;
    --dur-base: 250ms;
    --dur-slow: 500ms;
    --dur-hero: 800ms;

    /* Layout §3.3 */
    --container-max:        1240px;
    --container-pad-desk:   32px;
    --container-pad-mobile: 20px;
  }

  /* ===== 移动端字阶覆盖 §7.2 ===== */
  @media (max-width: 734px) {
    :root {
      --font-display-xl: 40px;
      --font-display-l:  32px;
      --font-headline:   26px;
      --font-title:      20px;
    }
  }

  /* =========================================================
     RESET & BASE
     ========================================================= */
  *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
  html { scroll-behavior: smooth; }
  body {
    font-family: var(--font-cn), var(--font-sans);
    font-size: var(--font-body);
    color: var(--color-text-primary);
    background: var(--color-bg);
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
  }

  /* ===== 大标题排版四件套 §1.3 ===== */
  .h-display, .h-headline, .final-cta h2 {
    word-spacing: 0.25em;
    text-wrap: balance;
  }
  .hero h1 {
    word-spacing: 0.15em;
    text-wrap: balance;
  }
  .phrase {
    display: inline-block;
    white-space: nowrap;
  }

  /* ===== 渐变文字 §2.5 ===== */
  .text-gradient {
    background-clip: text;
    -webkit-background-clip: text;
    color: var(--color-text-primary);
    -webkit-text-fill-color: transparent;
    background-size: 100% 100%;
  }
  .grad-p1 { background-image: var(--gradient-p1); }
  .grad-p2 { background-image: var(--gradient-p2); }
  .grad-p3 { background-image: var(--gradient-p3); }

  /* ===== 数字单位对齐 §3.5 ===== */
  .num { display: inline-flex; align-items: baseline; gap: 4px; }
  .num .suffix {
    font-size: 0.42em;
    font-weight: 500;
    color: var(--color-text-secondary);
    vertical-align: 0.35em;
  }
  .num .prefix {
    font-size: 0.42em;
    font-weight: 500;
    color: var(--color-text-secondary);
    vertical-align: 0.35em;
  }

  /* ===== CTA group §5.0 ===== */
  .cta-group {
    display: flex;
    gap: var(--space-5);
    align-items: center;
    flex-wrap: wrap;
  }

  /* ===== 卡片 flex §3.4 ===== */
  .card-flex { display: flex; flex-direction: column; }
  .card-flex > .card-footer { margin-top: auto; padding-top: var(--space-6); }

  /* ===== 容器 ===== */
  .container {
    max-width: var(--container-max);
    margin-inline: auto;
    padding-inline: var(--container-pad-desk);
  }

  /* =========================================================
     BUTTONS §5.1
     ========================================================= */
  .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    height: 44px;
    padding: 0 24px;
    border-radius: var(--radius-full);
    font-family: var(--font-sans);
    font-size: 15px;
    font-weight: 500;
    text-decoration: none;
    cursor: pointer;
    border: none;
    transition:
      background var(--dur-fast) var(--ease-out),
      color var(--dur-fast) var(--ease-out),
      font-weight var(--dur-fast) var(--ease-out),
      transform var(--dur-fast) var(--ease-out);
    white-space: nowrap;
  }
  .btn:active { transform: scale(0.97); }
  .btn:focus-visible { outline: 2px solid var(--color-link); outline-offset: 3px; }

  /* Primary (黑底白字) */
  .btn-primary {
    background: var(--color-text-primary);
    color: #FFFFFF;
  }
  .btn-primary:hover {
    background: #2C2C2E;
    font-weight: 600;
    color: #FFFFFF;
  }

  /* on-brand (绿底白字) */
  .btn-primary.on-brand {
    background: var(--color-brand-pressed);
    color: #FFFFFF;
  }
  .btn-primary.on-brand:hover {
    background: var(--color-brand);
    font-weight: 600;
    color: #FFFFFF;
  }

  /* Secondary (白底描边) */
  .btn-secondary {
    background: transparent;
    color: var(--color-text-primary);
    border: 1px solid var(--color-text-primary);
  }
  .btn-secondary:hover {
    background: var(--color-text-primary);
    color: #FFFFFF;
    font-weight: 600;
  }
  .btn-secondary.sm {
    height: 36px;
    padding: 0 var(--space-4);
    font-size: 14px;
  }

  /* Ghost (深色背景用) */
  .btn-ghost {
    background: rgba(255,255,255,0.10);
    color: var(--color-text-on-dark);
    border: 1px solid rgba(255,255,255,0.18);
  }
  .btn-ghost:hover {
    background: rgba(255,255,255,0.18);
    font-weight: 600;
  }

  /* Link (文字链) */
  .link {
    color: var(--color-text-primary);
    text-decoration: none;
    font-size: 15px;
    font-weight: 400;
    transition: font-weight var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
    position: relative;
  }
  .link:hover { font-weight: 600; }
  .dark .link { color: var(--color-text-on-dark); }

  /* =========================================================
     TOPBAR — 产品切换栏
     ========================================================= */
  .site-topbar {
    position: fixed;
    top: 0; left: 0; right: 0;
    z-index: 201;
    height: 34px;
    background: var(--color-bg-dark);
    display: flex;
    align-items: center;
  }
  .topbar-inner {
    padding-inline: 40px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .topbar-products {
    display: flex;
    gap: var(--space-6);
    align-items: center;
    list-style: none;
  }
  .topbar-products a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 400;
    color: rgba(245,245,247,0.45);
    text-decoration: none;
    font-family: var(--font-sans);
    transition: color var(--dur-fast);
  }
  .topbar-products a:hover {
    color: rgba(245,245,247,0.85);
  }
  .topbar-products li.active a {
    color: rgba(245,245,247,0.45);
    font-weight: 600;
  }
  .topbar-products .dot {
    width: 14px;
    height: 14px;
    border-radius: 4px;
    flex-shrink: 0;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
  }
  .topbar-products .dot-fakao { background-image: url(images/icon-fakao.png); }
  .topbar-products .dot-fashuo { background-image: url(images/icon-fashuo.png); }
  .topbar-products .dot-cpa { background-image: url(images/icon-cpa.png); }
  .app-download-btn { position: relative; }
  .topbar-products .dot-app {
    position: relative;
    overflow: hidden;
    background: transparent;
  }
  .topbar-products .dot-app img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    opacity: 0;
    transition: opacity 0.8s ease, transform 0.8s ease;
  }
  .topbar-products .dot-app img.dot-app-android {
    opacity: 1;
    animation: jx-topbar-slide-1 7s infinite;
  }
  .topbar-products .dot-app img.dot-app-ios {
    opacity: 0;
    animation: jx-topbar-slide-2 7s infinite;
  }
  @keyframes jx-topbar-slide-1 {
    0%, 40% { opacity: 1; transform: translateY(0); }
    45%, 95% { opacity: 0; transform: translateY(100%); }
    100% { opacity: 1; transform: translateY(0); }
  }
  @keyframes jx-topbar-slide-2 {
    0%, 40% { opacity: 0; transform: translateY(-100%); }
    45%, 95% { opacity: 1; transform: translateY(0); }
    100% { opacity: 0; transform: translateY(100%); }
  }
  .app-qrcode {
    display: none;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    width: 120px;
    height: 120px;
    margin-top: 8px;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.3);
    z-index: 1000;
  }
  .app-download-btn:hover .app-qrcode { display: block; }
  @media (max-width: 734px) {
    .topbar-products a span:not(.dot) { display: none; }
    .topbar-products { gap: var(--space-3); }
  }

  /* =========================================================
     NAV §5.3
     ========================================================= */
  .site-nav {
    position: fixed;
    top: 34px; left: 0; right: 0;
    z-index: 200;
    height: 68px;
    background: rgba(255,255,255,0.82);
    backdrop-filter: saturate(180%) blur(20px);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    border-bottom: 1px solid rgba(0,0,0,0.05);
  }
  .nav-inner {
    padding-inline: 40px;
    height: 100%;
    display: flex;
    align-items: center;
    gap: var(--space-5);
  }
  .nav-logo{display:flex;align-items:center;text-decoration:none;flex-shrink:0;}
  .nav-links {
    display: flex;
    align-items: center;
    gap: 28px;
    list-style: none;
    margin-left: 40px;
  }
  .nav-links a {
    font-size: 16px;
    font-weight: 600;
    color: var(--color-text-primary);
    text-decoration: none;
    transition: font-weight var(--dur-fast);
  }
  .nav-links a:hover { font-weight: 600; }
  .nav-links a.nav-active {
    font-weight: 600;
    color: var(--color-brand-pressed);
  }
  .nav-actions {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    flex-shrink: 0;
    margin-left: auto;
  }
  .nav-actions .btn-primary.on-brand {
    position: relative;
    overflow: hidden;
    background: #FF9500;
    box-shadow: 0 4px 12px rgba(255,149,0,0.30), 0 0 18px rgba(255,149,0,0.18);
  }
  .nav-actions .btn-primary.on-brand:hover {
    background: #E68600;
    box-shadow: 0 8px 22px rgba(255,149,0,0.42), 0 0 28px rgba(255,149,0,0.32);
    transform: translateY(-1px);
  }
  .nav-actions .btn-primary.on-brand > * {
    position: relative;
    z-index: 2;
  }
  .nav-actions .btn-primary.on-brand::before {
    content: '';
    position: absolute;
    top: 0;
    left: -75%;
    width: 55%;
    height: 100%;
    background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,0.55) 50%, transparent 100%);
    transform: skewX(-22deg);
    animation: nav-study-shine 3.6s ease-in-out 1.2s infinite;
    z-index: 1;
    pointer-events: none;
  }
  @keyframes nav-study-shine {
    0% { left: -75%; opacity: 0; }
    10% { opacity: 1; }
    50% { left: 130%; opacity: 1; }
    60%, 100% { left: 130%; opacity: 0; }
  }
  @media (prefers-reduced-motion: reduce) {
    .nav-actions .btn-primary.on-brand::before { animation: none; display: none; }
  }
  .nav-actions .btn-consult {
    background: var(--color-brand);
    color: #fff;
    border-color: transparent;
  }
  .nav-actions .btn-consult:hover {
    background: var(--color-brand-pressed);
    color: #fff;
    border-color: transparent;
  }
  .nav-mobile-toggle {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px;
    color: var(--color-text-primary);
  }
  .nav-mobile-actions { display: none; }
  @media (max-width: 1068px) {
    .nav-links { display: none; }
    .nav-mobile-toggle { display: flex; align-items: center; }
    .nav-inner > .nav-actions > a.btn { display: none; }
    .nav-mobile-actions {
      display: block;
      order: -1;
      width: 100%;
      margin-bottom: 16px;
      padding-bottom: 16px;
      border-bottom: 1px solid rgba(0,0,0,0.08);
    }
    .nav-mobile-actions .nav-actions {
      margin-left: 0;
      width: 100%;
    }
    .nav-mobile-actions .nav-actions .btn { flex: 1; }
  }

  /* =========================================================
     HERO §5.4 — 白色背景 + 品牌绿光晕
     ========================================================= */
  .hero {
    position: relative;
    overflow: hidden;
    padding-top: 190px;
    padding-bottom: 120px;
    /* §5.4 Hero背景标准方案：4 radial + 1 linear，禁用filter:blur */
    background:
      radial-gradient(ellipse 70% 60% at 20% 10%, rgba(5,211,142,0.18), transparent 60%),
      radial-gradient(ellipse 60% 50% at 85% 20%, rgba(93,234,199,0.16), transparent 60%),
      radial-gradient(ellipse 80% 60% at 50% 80%, rgba(60,230,233,0.20), transparent 65%),
      radial-gradient(ellipse 50% 50% at 0% 60%, rgba(21,239,130,0.15), transparent 60%),
      linear-gradient(180deg, #FAFAFC 0%, #FFFFFF 100%);
  }
  .hero-inner {
    max-width: var(--container-max);
    margin-inline: auto;
    padding-inline: var(--container-pad-desk);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-12);
    align-items: center;
  }
  .hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-eyebrow);
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--color-brand-pressed);
    background: rgba(5,211,142,0.08);
    padding: 5px 14px;
    border-radius: var(--radius-full);
    margin-bottom: var(--space-5);
    font-family: var(--font-sans);
  }
  .hero h1 {
    font-size: clamp(40px, 5.2vw, 76px);
    font-weight: 800;
    line-height:1.42;
    letter-spacing: -0.025em;
    color: var(--color-text-primary);
    margin-bottom: var(--space-5);
    font-family: var(--font-sans);
  }
  .hero-sub {
    font-size: clamp(15px, 1.2vw, 18px);
    color: var(--color-text-secondary);
    line-height: 1.6;
    margin-bottom: var(--space-8);
    max-width: 560px;
    letter-spacing: -0.005em;
  }
  .hero-sub strong { color: var(--color-text-primary); font-weight: 600; }
  .hero-trust {
    display: flex;
    gap: var(--space-8);
    margin-top: var(--space-10);
    padding-top: var(--space-8);
    border-top: 1px solid var(--color-divider);
  }
  .hero-stat {
    display: flex;
    flex-direction: column;
    gap: 2px;
  }
  .hero-stat-num {
    font-size: var(--font-title);
    font-weight: 700;
    color: var(--color-text-primary);
    font-family: var(--font-num);
    line-height: 1.2;
    font-feature-settings: "tnum";
  }
  .hero-stat-label {
    font-size: var(--font-caption);
    color: var(--color-text-tertiary);
    font-weight: 400;
  }

  /* Hero 右侧产品卡 */
  .hero-visual {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    position: relative;
  }
  .product-card-main {
    background: var(--color-bg);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-lg);
    overflow: hidden;
    width: 100%;
    max-width: 360px;
  }
  .card-header {
    background: var(--color-bg-dark);
    padding: 20px 24px 16px;
    color: var(--color-text-on-dark);
  }
  .card-header-label {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.06em;
    color: var(--color-brand);
    margin-bottom: 6px;
    font-family: var(--font-sans);
  }
  .card-header-title {
    font-size: 16px;
    font-weight: 700;
    color: var(--color-text-on-dark);
    font-family: var(--font-sans);
  }
  .card-body { padding: 20px 24px; }
  .task-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid var(--color-divider);
  }
  .task-row:last-child { border-bottom: none; }
  .task-check {
    width: 20px; height: 20px;
    border-radius: 50%;
    flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    font-size: 11px;
    font-weight: 700;
  }
  .check-done {
    background: var(--color-brand);
    color: #fff;
  }
  .check-todo {
    border: 2px solid var(--color-divider);
  }
  .check-active {
    background: var(--color-brand-pressed);
    color: #fff;
  }
  .task-info { flex: 1; min-width: 0; }
  .task-name {
    font-size: 13px;
    font-weight: 600;
    color: var(--color-text-primary);
    font-family: var(--font-sans);
  }
  .task-meta {
    font-size: 11px;
    color: var(--color-text-tertiary);
    margin-top: 2px;
  }
  .task-progress {
    height: 3px;
    background: var(--color-divider);
    border-radius: 2px;
    margin-top: 5px;
    overflow: hidden;
  }
  .task-progress-fill {
    height: 100%;
    background: var(--color-brand);
    border-radius: 2px;
  }
  .card-supervisor {
    background: rgba(5,211,142,0.06);
    border-top: 1px solid rgba(5,211,142,0.15);
    padding: 12px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
  }
  .card-supervisor-text {
    font-size: 12px;
    color: var(--color-brand-pressed);
    font-weight: 600;
    font-family: var(--font-sans);
  }
  .card-supervisor-badge {
    font-size: 11px;
    background: var(--color-brand);
    color: #fff;
    padding: 2px 8px;
    border-radius: var(--radius-full);
    font-weight: 700;
    white-space: nowrap;
    flex-shrink: 0;
  }
  .floating-stat {
    position: absolute;
    background: var(--color-bg);
    border-radius: var(--radius-lg);
    padding: 12px 16px;
    box-shadow: var(--shadow-lg);
    font-family: var(--font-sans);
  }
  .floating-stat-1 {
    top: -16px;
    right: -20px;
  }
  .floating-stat-2 {
    bottom: 32px;
    left: -32px;
  }
  .fs-num {
    font-size: 20px;
    font-weight: 700;
    color: var(--color-text-primary);
    font-family: var(--font-num);
    font-feature-settings: "tnum";
  }
  .fs-label {
    font-size: 11px;
    color: var(--color-text-tertiary);
    margin-top: 1px;
  }

  @media (max-width: 1068px) {
    .hero-inner {
      grid-template-columns: 1fr;
      text-align: center;
    }
    .hero-sub { max-width: 100%; margin-inline: auto; }
    .cta-group { justify-content: center; }
    .hero-trust { justify-content: center; }
    .hero-visual { margin-top: var(--space-8); }
    .floating-stat-1, .floating-stat-2 { display: none; }
  }

  /* =========================================================
     SECTION COMMONS
     ========================================================= */
  section {
    padding-block: 80px;
  }
  .section-eyebrow {
    display: inline-block;
    font-size: var(--font-eyebrow);
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--color-brand-pressed);
    margin-bottom: var(--space-4);
    font-family: var(--font-sans);
  }
  .section-headline {
    font-size: var(--font-headline);
    font-weight: 600;
    line-height:1.38;
    letter-spacing: -0.02em;
    color: var(--color-text-primary);
    margin-bottom: var(--space-5);
    font-family: var(--font-sans);
  }
  .section-headline.on-dark { color: var(--color-text-on-dark); }
  .section-sub {
    font-size: var(--font-body-l);
    color: var(--color-text-secondary);
    line-height: 1.55;
    max-width: 640px;
    letter-spacing: -0.005em;
  }
  .section-sub.on-dark { color: rgba(245,245,247,0.7); }
  .section-header { margin-bottom: var(--space-12); }
  .section-header.center { text-align: center; }
  .section-header.center .section-sub { margin-inline: auto; }

  /* ─── PATH SECTION v3 (科技感重构) ─────────────────────── */
  .path-section {
    background: #0B1120;
    padding: var(--space-20) 0;
    position: relative;
    overflow: hidden;
  }
  /* 背景点阵纹理 */
  .path-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle, rgba(255,255,255,0.13) 1px, transparent 1px);
    background-size: 28px 28px;
    pointer-events: none;
    z-index: 0;
  }
  /* 背景径向光晕 */
  .path-section::after {
    content: '';
    position: absolute;
    left: 50%; top: 55%;
    transform: translate(-50%,-50%);
    width: 700px; height: 500px;
    background: radial-gradient(ellipse, rgba(5,211,142,0.07) 0%, transparent 65%);
    pointer-events: none;
    z-index: 0;
  }
  .path-section .container { position: relative; z-index: 1; }

  /* ── 图表整体 ── */
  .path-diagram { margin-top: var(--space-10); }

  /* ── 分层标签 ── */
  .path-layer-label {
    text-align: center;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: rgba(245,245,247,0.55);
    font-family: var(--font-sans);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-bottom: 12px;
  }
  .path-layer-label-out { margin-top: 12px; margin-bottom: 12px; }
  .path-layer-dot {
    width: 5px; height: 5px; border-radius: 50%;
    background: rgba(5,211,142,0.45); flex-shrink: 0;
  }
  .path-layer-dot-out { background: rgba(5,211,142,0.75); }

  /* ── 卡片行 ── */
  .path-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
  }

  /* ── 输入卡 ── */
  .path-card {
    background: rgba(255,255,255,0.035);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 14px;
    padding: 22px 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    transition: border-color 0.2s, background 0.2s;
  }
  .path-card:hover {
    background: rgba(255,255,255,0.06);
    border-color: rgba(255,255,255,0.14);
  }
  .path-card-icon {
    width: 38px; height: 38px;
    border-radius: 10px;
    background: rgba(255,255,255,0.07);
    border: 1px solid rgba(255,255,255,0.12);
    display: flex; align-items: center; justify-content: center;
    color: rgba(245,245,247,0.75);
  }
  .path-card-title {
    font-size: 15px;
    font-weight: 700;
    color: rgba(245,245,247,0.96);
    font-family: var(--font-sans);
    letter-spacing: -0.01em;
    line-height: 1.3;
  }
  .path-card-desc {
    font-size: 14px;
    color: rgba(245,245,247,0.60);
    line-height: 1.55;
    font-family: var(--font-sans);
  }

  /* ── 输出卡 ── */
  .path-card-out {
    background: rgba(5,211,142,0.04);
    border-color: rgba(5,211,142,0.14);
  }
  .path-card-out:hover {
    background: rgba(5,211,142,0.08);
    border-color: rgba(5,211,142,0.28);
  }
  .path-card-out .path-card-icon {
    background: rgba(5,211,142,0.1);
    border-color: rgba(5,211,142,0.2);
    color: var(--color-brand);
  }
  .path-card-out .path-card-title { color: rgba(245,245,247,0.92); }
  .path-card-num {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.08em;
    color: var(--color-brand);
    font-family: var(--font-num);
  }

  /* ── 连接区域 ── */
  .path-connector-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
  }
  .path-svg {
    width: 100%;
    height: 80px;
    display: block;
    overflow: visible;
  }
  .path-line {
    fill: none;
    stroke: rgba(5,211,142,0.35);
    stroke-width: 0.6;
    stroke-dasharray: 4 5;
    animation: pathFlow 2.8s linear infinite;
  }
  .path-line-out {
    stroke: rgba(5,211,142,0.50);
    animation-direction: reverse;
    animation-duration: 2.2s;
  }
  @keyframes pathFlow {
    from { stroke-dashoffset: 0; }
    to   { stroke-dashoffset: -27; }
  }

  /* ── 引擎圆 ── */
  .path-engine {
    position: relative;
    width: 210px; height: 210px;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
  }
  /* 外发光晕 */
  .path-engine-glow {
    position: absolute;
    inset: -20px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(5,211,142,0.12) 0%, transparent 70%);
    animation: engineGlow 4s ease-in-out infinite;
  }
  @keyframes engineGlow {
    0%,100% { opacity: 0.7; transform: scale(0.95); }
    50%      { opacity: 1;   transform: scale(1.05); }
  }
  /* 外旋转环 */
  .path-engine-ring-rotate {
    position: absolute;
    inset: 4px;
    border-radius: 50%;
    border: 1px dashed rgba(5,211,142,0.25);
    animation: engineRotate 18s linear infinite;
  }
  @keyframes engineRotate {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
  }
  /* 内脉冲环 */
  .path-engine-ring-pulse {
    position: absolute;
    inset: 22px;
    border-radius: 50%;
    border: 1px solid rgba(5,211,142,0.35);
    animation: enginePulse 3s ease-in-out infinite;
  }
  @keyframes enginePulse {
    0%,100% { opacity: 0.6; transform: scale(1); }
    50%      { opacity: 1;   transform: scale(1.04); }
  }
  /* 核心圆 */
  .path-engine-core {
    position: absolute;
    inset: 42px;
    border-radius: 50%;
    background: radial-gradient(circle at 40% 35%, rgba(5,211,142,0.18) 0%, rgba(5,211,142,0.06) 60%, transparent 100%);
    border: 1px solid rgba(5,211,142,0.4);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 10px;
    box-shadow: 0 0 24px rgba(5,211,142,0.12), inset 0 0 20px rgba(5,211,142,0.06);
  }
  .path-engine-eyebrow {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: var(--color-brand);
    font-family: var(--font-sans);
    margin-bottom: 4px;
    opacity: 1;
  }
  .path-engine-name {
    font-size: 17px;
    font-weight: 800;
    color: rgba(245,245,247,0.98);
    font-family: var(--font-sans);
    letter-spacing: -0.02em;
    line-height: 1.2;
  }
  .path-engine-sub {
    font-size: 10.5px;
    color: rgba(245,245,247,0.58);
    font-family: var(--font-sans);
    margin-top: 4px;
    letter-spacing: 0.02em;
    line-height: 1.5;
  }
  /* 底部标注 */
  .path-engine-badge {
    position: absolute;
    bottom: -16px;
    left: 50%; transform: translateX(-50%);
    background: rgba(5,211,142,0.1);
    border: 1px solid rgba(5,211,142,0.25);
    border-radius: 20px;
    font-size: 10px;
    font-weight: 700;
    color: var(--color-brand);
    font-family: var(--font-sans);
    padding: 3px 11px;
    white-space: nowrap;
    letter-spacing: 0.04em;
    z-index: 2;
  }

  @media (max-width: 800px) {
    .path-row { grid-template-columns: repeat(2, 1fr); }
    .path-svg { display: none; }
    .path-engine { width: 150px; height: 150px; }
    .path-engine-core { inset: 30px; }
  }

    /* =========================================================
     §2 AUDIENCE SECTION — bg-alt
     ========================================================= */
  .audience-section { background: var(--color-bg-alt); }
  .audience-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: var(--space-6);
    margin-top: var(--space-12);
  }
  .audience-card {
    border-radius: var(--radius-xl);
    padding: var(--space-12) var(--space-8);
    position: relative;
    overflow: hidden;
    transition: transform var(--dur-base) var(--ease-out);
  }
  .audience-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); }
  .audience-card.card-zaizhi {
    background: var(--color-bg-dark);
    color: var(--color-text-on-dark);
  }
  .audience-card.card-zaijiao {
    background: #1A2B0E;
    color: var(--color-text-on-dark);
  }
  .audience-card.card-gaomubiao {
    background: #1C1400;
    color: var(--color-text-on-dark);
    border: 1px solid rgba(201,168,76,0.2);
  }
  .audience-card.card-gaomubiao:hover {
    box-shadow: 0 0 0 1px rgba(201,168,76,0.4), 0 20px 60px rgba(201,168,76,0.10);
    border-color: rgba(201,168,76,0.4);
  }
  /* 金色渐变文字 */
  .grad-gold {
    background-image: linear-gradient(30deg, #C9A84C 0%, #E8C96A 50%, #B8860B 100%);
  }
  .audience-card-eyebrow {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    opacity: 0.5;
    margin-bottom: var(--space-4);
    font-family: var(--font-sans);
  }
  .audience-card h3 {
    font-size: clamp(32px, 4.5vw, 64px);
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.02em;
    margin-bottom: var(--space-5);
    font-family: var(--font-sans);
    word-spacing: 0.15em;
    text-wrap: balance;
  }
  .audience-card h3 .phrase { white-space: normal; }
  .audience-card p {
    font-size: 15px;
    line-height: 1.7;
    opacity: 0.72;
    margin-bottom: var(--space-8);
    max-width: 400px;
  }
  .audience-tags {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    margin-bottom: var(--space-8);
  }
  .audience-tag {
    font-size: 12px;
    font-weight: 600;
    padding: 5px 12px;
    border-radius: var(--radius-full);
    background: rgba(255,255,255,0.12);
    font-family: var(--font-sans);
  }
  @media (max-width: 1068px) {
    .audience-grid { grid-template-columns: 1fr 1fr; }
  }
  @media (max-width: 734px) {
    .audience-grid { grid-template-columns: 1fr; }
    .audience-card { padding: var(--space-8) var(--space-6); }
  }

  /* =========================================================
     §3 LOOP SECTION — bg (白色)
     ========================================================= */
  /* =========================================================
     §4 NUMBERS SECTION (深色) — bg-dark
     ========================================================= */
  .numbers-section {
    background: var(--color-bg-dark);
    color: var(--color-text-on-dark);
  }
  .numbers-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1px;
    background: rgba(255,255,255,0.08);
    border-radius: var(--radius-xl);
    overflow: hidden;
  }
  .number-item {
    background: var(--color-bg-dark);
    padding: var(--space-12) var(--space-8);
    text-align: center;
    transition: background var(--dur-base) var(--ease-out);
  }
  .number-item:hover { background: #2C2C2E; }
  .number-big {
    font-size: var(--font-display-l);
    font-weight: 700;
    line-height: 1.05;
    color: var(--color-text-on-dark);
    font-family: var(--font-num);
    font-feature-settings: "tnum";
    margin-bottom: var(--space-3);
  }
  .number-label {
    font-size: 15px;
    color: rgba(245,245,247,0.6);
    font-weight: 400;
  }
  @media (max-width: 1068px) {
    .numbers-grid { grid-template-columns: 1fr 1fr; }
  }
  @media (max-width: 734px) {
    .numbers-grid { grid-template-columns: 1fr 1fr; }
    .number-item { padding: var(--space-8) var(--space-5); }
  }

  /* =========================================================
     §5 VS SECTION — bg-alt
     ========================================================= */
  .vs-section { background: var(--color-bg-alt); }
  .vs-table-wrap {
    border-radius: var(--radius-xl);
    overflow: hidden;
    box-shadow: var(--shadow-md);
  }
  .vs-table-head {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    background: var(--color-bg-dark);
  }
  .vs-th {
    padding: 20px 28px;
    font-size: 15px;
    font-weight: 700;
    color: rgba(245,245,247,0.9);
    font-family: var(--font-sans);
  }
  .vs-th.brand-col {
    background: var(--color-brand-pressed);
    color: #fff;
    text-align: center;
  }
  .vs-th.center { text-align: center; }
  .vs-row {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    border-bottom: 1px solid var(--color-divider);
    background: var(--color-bg);
    transition: background var(--dur-fast) var(--ease-out);
  }
  .vs-row:last-child { border-bottom: none; }
  .vs-row:hover { background: var(--color-bg-alt); }
  .vs-td {
    padding: 18px 28px;
    font-size: 14px;
    color: var(--color-text-primary);
    display: flex;
    align-items: center;
  }
  .vs-td.brand-col { background: rgba(5,211,142,0.04); justify-content: center; }
  .vs-td.center { justify-content: center; }
  .vs-dimension { font-weight: 600; font-family: var(--font-sans); }
  .vs-dimension small { display: block; font-size: 12px; font-weight: 400; color: var(--color-text-tertiary); margin-top: 2px; }
  .check-yes { color: var(--color-brand-pressed); font-size: 13px; font-weight: 700; font-family: var(--font-sans); }
  .check-no { color: var(--color-text-tertiary); font-size: 13px; font-family: var(--font-sans); }
  .check-part { color: var(--color-warning); font-size: 13px; font-family: var(--font-sans); }
  @media (max-width: 734px) {
    .vs-table-head, .vs-row { grid-template-columns: 1.6fr 1fr 1fr; }
    .vs-td, .vs-th { padding: 14px 12px; font-size: 12px; }
  }

  /* =========================================================
     §6 AI SECTION — bg (白色)
     ========================================================= */
  /* ══ 有人带 SERVICE SECTION ══════════════════════════════════════ */
  .service-section {
    background: var(--color-bg-alt);
    padding: var(--space-12) 0;
  }
  .service-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-6);
    margin-top: var(--space-12);
  }
  .service-card {
    background: var(--color-bg);
    border: 1px solid var(--color-divider);
    border-radius: var(--radius-xl);
    padding: 28px 26px 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    position: relative;
  }
  .service-card::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    opacity: 0;
    transition: opacity 0.25s;
    pointer-events: none;
    box-shadow: 0 0 0 1.5px var(--color-brand);
  }
  .service-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); }
  .service-card:hover::after { opacity: 1; }
  .service-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.10em;
    text-transform: uppercase;
    color: var(--color-brand);
    background: rgba(5,211,142,0.10);
    border: 1px solid rgba(5,211,142,0.22);
    border-radius: 20px;
    padding: 4px 12px;
    width: fit-content;
  }
  .service-icon {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: rgba(5,211,142,0.10);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }
  .service-icon svg {
    width: 24px;
    height: 24px;
    stroke: var(--color-brand);
    fill: none;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
  .service-card h3 {
    font-size: 20px;
    font-weight: 700;
    color: var(--color-text-primary);
    line-height: 1.25;
    letter-spacing: -0.01em;
    margin: 0;
  }
  .service-card h3 strong {
    color: var(--color-brand);
  }
  .service-card p {
    font-size: 14.5px;
    color: var(--color-text-secondary);
    line-height: 1.75;
    margin: 0;
    flex: 1;
  }
  .service-card p strong {
    color: var(--color-text-primary);
    font-weight: 600;
  }
  .service-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: auto;
  }
  .service-tag {
    font-size: 12px;
    font-weight: 500;
    color: var(--color-text-secondary);
    background: var(--color-bg-alt);
    border: 1px solid var(--color-divider);
    border-radius: 20px;
    padding: 3px 11px;
  }
  .service-cta-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 13.5px;
    font-weight: 600;
    color: var(--color-brand);
    text-decoration: none;
    margin-top: auto;
    transition: gap 0.2s ease, opacity 0.2s ease;
  }
  .service-cta-link:hover { gap: 9px; opacity: 0.82; }
  /* 底部 CTA 块 */
  .service-bottom {
    margin-top: var(--space-14);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-4);
  }
  .service-bottom-divider {
    display: flex;
    align-items: center;
    gap: 14px;
    width: 100%;
    max-width: 480px;
  }
  .service-bottom-divider::before,
  .service-bottom-divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--color-divider);
  }
  .service-bottom-label {
    font-size: 12px;
    color: var(--color-text-tertiary);
    white-space: nowrap;
  }
  .service-bottom-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--color-brand);
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    padding: 14px 36px;
    border-radius: 50px;
    text-decoration: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 4px 20px rgba(5,211,142,0.30);
  }
  .service-bottom-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 30px rgba(5,211,142,0.40);
  }
  .service-bottom-sub {
    font-size: 13px;
    color: var(--color-text-tertiary);
  }
  .service-bottom-sub a {
    color: var(--color-brand);
    text-decoration: none;
    font-weight: 600;
  }
  @media (max-width: 900px) {
    .service-grid { grid-template-columns: 1fr; gap: var(--space-4); }
  }
  @media (max-width: 600px) {
    .service-card { padding: var(--space-6) var(--space-5); }
  }
  /* ══ 真省心 PEACE SECTION ══════════════════════════════════════ */
  .peace-section {
    background: var(--color-bg);
    padding: var(--space-12) 0 0;
  }
  .peace-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2px;
    margin-top: var(--space-12);
    border: 1px solid var(--color-divider);
    border-radius: var(--radius-xl);
    overflow: hidden;
  }
  .peace-card {
    background: var(--color-bg);
    padding: 28px 24px 26px;
    position: relative;
    border-right: 1px solid var(--color-divider);
    border-bottom: 1px solid var(--color-divider);
    transition: background 0.2s ease;
  }
  .peace-card:nth-child(3n) { border-right: none; }
  .peace-card:nth-child(n+7) { border-bottom: none; }
  .peace-card:hover { background: rgba(5,211,142,0.03); }
  .peace-card-num {
    position: absolute;
    top: 20px;
    right: 22px;
    font-size: 13px;
    font-weight: 700;
    font-family: var(--font-num);
    color: rgba(5,211,142,0.35);
    letter-spacing: 0.05em;
  }
  .peace-card-icon {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: rgba(5,211,142,0.10);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
  }
  .peace-card-icon svg {
    width: 20px;
    height: 20px;
    stroke: var(--color-brand);
    fill: none;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
  .peace-card-title {
    font-size: 16px;
    font-weight: 700;
    color: var(--color-text-primary);
    margin-bottom: 8px;
    letter-spacing: -0.01em;
    line-height: 1.3;
  }
  .peace-card-desc {
    font-size: 13.5px;
    color: var(--color-text-secondary);
    line-height: 1.7;
    margin: 0;
  }
  .peace-card-desc strong {
    color: var(--color-text-primary);
    font-weight: 600;
  }
  /* 底部 CTA */
  .peace-bottom {
    margin-top: var(--space-2);
    background: linear-gradient(135deg, #05D38E 0%, #03A870 100%);
    border-radius: 0 0 var(--radius-xl) var(--radius-xl);
    padding: var(--space-10) var(--space-8);
    text-align: center;
  }
  .peace-bottom-sub {
    font-size: 13px;
    color: rgba(255,255,255,0.70);
    margin-bottom: 6px;
  }
  .peace-bottom-headline {
    font-size: clamp(18px, 2.5vw, 24px);
    font-weight: 800;
    color: #fff;
    letter-spacing: -0.02em;
    margin-bottom: 12px;
    line-height:1.38;
  }
  .peace-bottom-badge {
    display: inline-block;
    font-size: 12px;
    color: rgba(255,255,255,0.75);
    background: rgba(255,255,255,0.15);
    border-radius: 20px;
    padding: 4px 14px;
    margin-bottom: 20px;
  }
  .peace-bottom-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #fff;
    color: #03A870;
    font-size: 15px;
    font-weight: 700;
    padding: 13px 32px;
    border-radius: 50px;
    text-decoration: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 4px 20px rgba(0,0,0,0.15);
  }
  .peace-bottom-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 28px rgba(0,0,0,0.20);
  }
  @media (max-width: 900px) {
    .peace-grid { grid-template-columns: repeat(2, 1fr); }
    .peace-card:nth-child(3n) { border-right: 1px solid var(--color-divider); }
    .peace-card:nth-child(2n) { border-right: none; }
    .peace-card:nth-child(n+7) { border-bottom: 1px solid var(--color-divider); }
    .peace-card:nth-child(n+9) { border-bottom: none; }
  }
  @media (max-width: 540px) {
    .peace-grid { grid-template-columns: 1fr; }
    .peace-card { border-right: none !important; }
    .peace-card:last-child { border-bottom: none; }
  }
  /* ══ 师资 TEACHERS SECTION ══════════════════════════════════════ */
  .teachers-home-section {
    background: var(--color-bg-alt);
    padding: var(--space-16) 0 var(--space-6);
  }
  .teachers-banner-wrap {
    border-radius: var(--radius-xl);
    overflow: hidden;
    box-shadow: 0 8px 40px rgba(0,0,0,0.12);
    max-width: 720px;
    margin-inline: auto;
  }
  .teachers-banner-wrap img {
    width: 100%;
    height: auto;
    display: block;
  }
  .teachers-banner-cta {
    text-align: center;
    margin-top: var(--space-6);
  }
  .teachers-banner-cta a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 600;
    color: var(--color-brand);
    text-decoration: none;
    transition: gap 0.2s ease;
  }
  .teachers-banner-cta a:hover { gap: 10px; }
  .ai-section { background: var(--color-bg); }
  .ai-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-5);
  }
  .ai-card {
    background: var(--color-bg-alt);
    border-radius: var(--radius-xl);
    padding: var(--space-8);
    transition: transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out);
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
  }
  .ai-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); }
  .ai-card-icon {
    width: 44px; height: 44px;
    border-radius: var(--radius-md);
    background: var(--color-brand);
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
  }
  .ai-card-icon svg { width: 22px; height: 22px; fill: #fff; }
  .ai-card h3 {
    font-size: var(--font-title);
    font-weight: 600;
    color: var(--color-text-primary);
    font-family: var(--font-sans);
  }
  .ai-card p {
    font-size: 14px;
    color: var(--color-text-secondary);
    line-height: 1.65;
    flex: 1;
  }
  .ai-badge {
    font-size: 12px;
    font-weight: 700;
    color: var(--color-brand-pressed);
    background: rgba(5,211,142,0.08);
    padding: 4px 12px;
    border-radius: var(--radius-full);
    align-self: flex-start;
    font-family: var(--font-sans);
    margin-top: auto;
  }
  @media (max-width: 1068px) {
    .ai-grid { grid-template-columns: 1fr 1fr; }
  }
  @media (max-width: 734px) {
    .ai-grid { grid-template-columns: 1fr; }
  }

  /* =========================================================
     §7 TESTIMONIALS — bg-alt
     ========================================================= */
  .testi-section { background: var(--color-bg-alt); }
  .testi-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-5);
  }
  .testi-card {
    background: var(--color-bg);
    border-radius: var(--radius-xl);
    padding: var(--space-8);
    box-shadow: var(--shadow-sm);
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
    transition: transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out);
  }
  .testi-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
  .testi-quote mark{background:linear-gradient(transparent 62%, rgba(5,211,142,.3) 62%);color:inherit;font-weight:700;padding:0 1px;}
    .testi-quote {
    font-size: 15px;
    line-height: 1.8;
    color: var(--color-text-primary);
    flex: 1;
  }
  .testi-quote::before {
    content: open-quote;
    font-size: 20px;
    font-weight: 800;
    color: var(--color-brand);
    line-height: 1;
    display: block;
    margin-bottom: 6px;
    font-family: Georgia, serif;
  }
  .testi-author {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    margin-top: auto;
  }
  .testi-avatar {
    width: 40px; height: 40px;
    border-radius: var(--radius-lg);
    flex-shrink: 0;
    background: var(--color-brand);
    display: flex; align-items: center; justify-content: center;
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    font-family: var(--font-sans);
  }
  .av-dark { background: var(--color-bg-dark); }
  .testi-name {
    font-size: 14px;
    font-weight: 600;
    color: var(--color-text-primary);
    font-family: var(--font-sans);
  }
  .testi-meta {
    font-size: 12px;
    color: var(--color-text-tertiary);
    margin-top: 2px;
  }
  @media (max-width: 1068px) {
    .testi-grid { grid-template-columns: 1fr 1fr; }
  }
  @media (max-width: 734px) {
    .testi-grid { grid-template-columns: 1fr; }
  }

  /* =========================================================
     §8 PACKAGES — bg (白色)
     ========================================================= */
  .packages-section { background: var(--color-bg); }
  .packages-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-5);
    max-width: 1100px;
    margin-inline: auto;
  }
  /* 三大班型配色（与全站班型色一致） */
  .package-card{overflow:hidden;}
  .package-card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--pc,var(--color-brand));}
  .pc-zhizhi{--pc:#3B5BDB;} .pc-mingxiao{--pc:#E8960C;} .pc-dingzhi{--pc:#05D38E;}
  .package-card .pkg-name{color:var(--pc,var(--color-text-primary));}
  .pc-zhizhi .pkg-tag.hot{background:rgba(59,91,219,.10);color:#3B5BDB;}
  .pc-mingxiao .pkg-tag.hot{background:rgba(232,150,12,.12);color:#B45309;}
  .pc-dingzhi .pkg-tag.hot{background:rgba(5,211,142,.10);color:var(--color-brand-pressed);}
  .package-card:hover{border-color:var(--pc,var(--color-brand));}
  /* AI择校测评：独立横幅设计 */
  .pkg-banner{grid-column:1/-1;display:flex;align-items:center;gap:24px;flex-wrap:wrap;border:1.5px dashed rgba(5,211,142,.5);background:linear-gradient(120deg,rgba(5,211,142,.06),rgba(60,230,233,.06));border-radius:var(--radius-xl);padding:24px 28px;cursor:pointer;transition:border-color .25s var(--ease-out),box-shadow .25s var(--ease-out);}
  .pkg-banner:hover{border-color:var(--color-brand);box-shadow:var(--shadow-lg);}
  .pkg-banner .pkg-name{font-size:22px;margin-bottom:6px;color:var(--color-text-primary);}
  .pkg-banner .pkg-persona{margin-bottom:8px;}
  .pkg-banner .pkg-tags{margin-bottom:0;}
  .pkg-banner-cta{margin-left:auto;background:var(--color-brand-pressed);color:#fff;border-radius:var(--radius-lg);font-size:15px;font-weight:700;padding:13px 30px;white-space:nowrap;font-family:var(--font-sans);}
  @media(max-width:640px){.pkg-banner{padding:20px;}.pkg-banner-cta{margin-left:0;width:100%;text-align:center;}}
  .package-card {
    border: 1px solid var(--color-divider);
    border-radius: var(--radius-xl);
    padding: var(--space-8);
    background: var(--color-bg);
    position: relative;
    transition: border-color var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out);
    display: flex;
    flex-direction: column;
    min-width: 0;
  }
  .package-card:hover {
    border-color: var(--color-brand);
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg);
  }
  .package-card.featured {
    border-color: var(--color-brand);
  }
  .pkg-badge {
    position: absolute;
    top: -11px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--color-brand-pressed);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    padding: 3px 12px;
    border-radius: var(--radius-full);
    white-space: nowrap;
    font-family: var(--font-sans);
  }
  .pkg-persona {
    font-size: 12px;
    color: var(--color-text-secondary);
    line-height: 1.5;
    margin-bottom: var(--space-4);
  }
  .pkg-persona strong { color: var(--color-text-primary); font-weight: 700; }
  .pkg-name {
    font-size: 23px;
    font-weight: 800;
    color: var(--color-text-primary);
    margin-bottom: var(--space-4);
    font-family: var(--font-sans);
  }
  .pkg-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: var(--space-5);
  }
  .pkg-tag {
    font-size: 11px;
    font-weight: 600;
    padding: 3px 10px;
    border-radius: var(--radius-sm);
    background: var(--color-bg-alt);
    color: var(--color-text-secondary);
    font-family: var(--font-sans);
  }
  .pkg-tag.hot {
    background: rgba(5,211,142,0.08);
    color: var(--color-brand-pressed);
  }
  .pkg-cta {
    display: block;
    text-align: center;
    padding: 10px;
    background: var(--color-brand-pressed);
    color: #fff;
    border-radius: var(--radius-lg);
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    transition: background var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);
    font-family: var(--font-sans);
    margin-top: auto;
    cursor: pointer;
  }
  .package-card:hover .pkg-cta,
  .package-card.featured .pkg-cta {
    background: var(--color-brand);
    color: #fff;
  }
  @media (max-width: 1068px) {
    .packages-grid { grid-template-columns: repeat(2, 1fr); max-width: 680px; }
  }
  @media (max-width: 734px) {
    .packages-grid { grid-template-columns: 1fr; }
  }

  /* =========================================================
     §9 FINAL CTA — bg-dark
     ========================================================= */
  .final-cta {
    background: var(--color-bg-dark);
    padding-block: 160px;
    text-align: center;
  }
  .final-cta .container { max-width: 860px; }
  .final-cta h2 {
    font-size: clamp(32px, 4.5vw, 56px);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: var(--color-text-on-dark);
    margin-bottom: var(--space-5);
    font-family: var(--font-sans);
  }
  .final-cta p {
    font-size: var(--font-body-l);
    color: rgba(245,245,247,0.65);
    line-height: 1.6;
    margin-bottom: var(--space-10);
  }

  .site-footer {
    background: #0e0e10;
    padding-block: 64px 0;
  }
  .footer-grid {
    display: grid;
    grid-template-columns: 1.6fr 1fr 1fr 1fr;
    gap: 40px;
    padding-bottom: 56px;
  }
  /* 品牌列 */
  .footer-logo {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
  }
  .footer-brand-name {
    font-size: 17px;
    font-weight: 700;
    color: #fff;
    font-family: var(--font-sans);
  }
  .footer-brand-tagline {
    font-size: 13px;
    color: rgba(255,255,255,0.45);
    line-height: 1.6;
    margin-bottom: 20px;
  }
  /* App 下载按钮 */
  .footer-apps {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 20px;
  }
  .footer-app-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 16px;
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: 10px;
    text-decoration: none;
    background: rgba(255,255,255,0.05);
    transition: background 0.2s, border-color 0.2s;
    min-width: 128px;
  }
  .footer-app-btn:hover { background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.3); }
  .footer-app-btn svg { width: 20px; height: 20px; fill: #fff; flex-shrink: 0; }
  .footer-app-btn-text { display: flex; flex-direction: column; }
  .footer-app-label { font-size: 10px; color: rgba(255,255,255,0.5); line-height: 1.2; }
  .footer-app-platform { font-size: 13px; font-weight: 600; color: #fff; line-height: 1.3; }
  /* 社交链接 */
  .footer-socials {
    display: flex;
    gap: 16px;
  }
  .footer-socials a {
    font-size: 13px;
    color: rgba(255,255,255,0.4);
    text-decoration: none;
    transition: color 0.2s;
  }
  .footer-socials a:hover { color: rgba(255,255,255,0.8); }
  .footer-wechat-btn { position: relative; }
  .footer-wechat-qrcode {
    display: none;
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    width: 120px;
    height: auto;
    margin-bottom: 8px;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.3);
    z-index: 1000;
  }
  .footer-wechat-btn:hover .footer-wechat-qrcode { display: block; }
  /* 链接列 */
  .footer-col-title {
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 16px;
    font-family: var(--font-sans);
  }
  .footer-links {
    display: flex;
    flex-direction: column;
    gap: 12px;
    list-style: none;
  }
  .footer-links a {
    font-size: 13.5px;
    color: rgba(255,255,255,0.45);
    text-decoration: none;
    transition: color 0.2s;
  }
  .footer-links a:hover { color: rgba(255,255,255,0.85); }
  /* 底部法律信息 */
  .footer-bottom {
    border-top: 1px solid rgba(255,255,255,0.08);
    padding: 24px 0 20px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
  }
  .footer-legal-company {
    font-size: 0.8125rem;
    color: rgba(255,255,255,0.7);
    margin-bottom: var(--space-2);
    font-weight: 500;
  }
  .footer-legal-records {
    font-size: 0.75rem;
    color: rgba(255,255,255,0.45);
    line-height: 1.8;
    max-width: 680px;
    display: flex;
    flex-wrap: wrap;
    gap: 4px 8px;
    align-items: center;
    margin-bottom: var(--space-2);
  }
  .footer-legal-records a {
    color: rgba(255,255,255,0.45);
    text-decoration: none;
  }
  .footer-legal-records a:hover { color: rgba(255,255,255,0.7); }
  .footer-legal-records .dot { margin: 0 4px; }
  .footer-legal-links {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
    padding-top: 2px;
    color: rgba(255,255,255,0.45);
    font-size: 0.75rem;
  }
  .footer-legal-links a {
    font-size: 13px;
    color: rgba(255,255,255,0.45);
    text-decoration: none;
    transition: color 0.2s;
  }
  .footer-legal-links a:hover { color: rgba(255,255,255,0.7); }
  .footer-legal-links .dot { color: rgba(255,255,255,0.2); }
  .footer-tagline {
    font-size: 12px;
    color: rgba(255,255,255,0.45);
    font-style: italic;
    letter-spacing: 0.02em;
    padding: 14px 0 22px;
  }
  @media (max-width: 1068px) {
    .footer-grid { grid-template-columns: 1fr 1fr; }
  }
  @media (max-width: 734px) {
    .footer-grid { grid-template-columns: 1fr; gap: var(--space-8); }
    section { padding-block: 80px; }
    .final-cta { padding-block: 100px; }
  }

  /* =========================================================
     ENTRANCE ANIMATIONS — 参照觉晓法考官网风格 §6.2
     ========================================================= */

  /* ── 关键帧 ── */
  @keyframes jx-fade-up {
    from { opacity: 0; transform: translateY(32px); }
    to   { opacity: 1; transform: translateY(0); }
  }
  @keyframes jx-slide-right {
    from { opacity: 0; transform: translateX(48px) scale(0.97); }
    to   { opacity: 1; transform: translateX(0) scale(1); }
  }
  @keyframes jx-nav-in {
    from { opacity: 0; transform: translateY(-10px); }
    to   { opacity: 1; transform: translateY(0); }
  }
  @keyframes jx-float {
    0%, 100% { transform: translateY(0); }
    50%       { transform: translateY(-7px); }
  }

  /* ── Topbar / Nav 入场 ── */
  .site-topbar { animation: jx-nav-in 0.5s var(--ease-out) both; }
  .site-nav    { animation: jx-nav-in 0.55s 0.08s var(--ease-out) both; }

  /* ── Hero 各元素顺序入场 ── */
  .hero-eyebrow { animation: jx-fade-up 0.7s 0.18s var(--ease-out) both; }
  .hero h1      { animation: jx-fade-up 0.8s 0.30s var(--ease-out) both; }
  .hero-sub     { animation: jx-fade-up 0.7s 0.44s var(--ease-out) both; }
  .cta-group    { animation: jx-fade-up 0.7s 0.56s var(--ease-out) both; }
  .hero-trust   { animation: jx-fade-up 0.7s 0.68s var(--ease-out) both; }

  /* ── Hero 右侧产品卡 从右滑入 ── */
  .hero-visual  { animation: jx-slide-right 0.9s 0.34s var(--ease-out) both; }

  /* ── 浮动卡片持续漂浮 ── */
  .floating-stat-1 {
    animation: jx-slide-right 0.85s 0.62s var(--ease-out) both,
               jx-float 4.2s 1.5s ease-in-out infinite;
  }
  .floating-stat-2 {
    animation: jx-slide-right 0.85s 0.78s var(--ease-out) both,
               jx-float 3.8s 2.0s ease-in-out infinite;
  }

  /* =========================================================
     SCROLL ANIMATIONS §6.3
     ========================================================= */

  /* 通用滚动淡入 */
  .fade-in {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.65s var(--ease-out), transform 0.65s var(--ease-out);
  }
  .fade-in.visible {
    opacity: 1;
    transform: none;
  }
  @keyframes force-show { to { opacity:1; transform:none; } }
  .fade-in { animation: force-show 0s 2s both; }
  .fade-in.visible { animation: none; }

  /* Section 标题区块 */
  .section-header {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity 0.6s var(--ease-out), transform 0.6s var(--ease-out);
  }
  .section-header.visible {
    opacity: 1;
    transform: none;
  }

  /* 单张卡片错峰入场（JS 动态设置 transition-delay） */
  .audience-card,
  .loop-card,
  .honor-card,
  .five-card,
  .ai-card,
  .testi-card,
  .package-card {
    opacity: 0;
    transform: translateY(26px);
    transition: opacity 0.5s var(--ease-out), transform 0.5s var(--ease-out);
  }
  .audience-card.visible,
  .loop-card.visible,
  .honor-card.visible,
  .five-card.visible,
  .ai-card.visible,
  .testi-card.visible,
  .package-card.visible {
    opacity: 1;
    transform: translateY(0);
    /* 入场完成后，hover 交互用独立快速过渡 */
    transition: opacity 0.5s var(--ease-out), transform 0.3s var(--ease-out),
                box-shadow 0.25s var(--ease-out), border-color 0.25s var(--ease-out);
  }
  /* hover lift — 只对已入场的卡片生效 */
  .audience-card.visible:hover,
  .loop-card.visible:hover,
  .five-card.visible:hover,
  .ai-card.visible:hover,
  .testi-card.visible:hover,
  .package-card.visible:hover { transform: translateY(-4px); }
  .honor-card.visible:hover   { transform: translateY(-4px); }

  /* 无障碍：关闭所有动画 */
  @media (prefers-reduced-motion: reduce) {
    .site-topbar, .site-nav,
    .hero-eyebrow, .hero h1, .hero-sub, .cta-group, .hero-trust,
    .hero-visual, .floating-stat-1, .floating-stat-2 {
      animation: none !important;
      opacity: 1 !important;
      transform: none !important;
    }
    .fade-in, .section-header,
    .audience-card, .loop-card, .honor-card, .five-card,
    .ai-card, .testi-card, .package-card {
      opacity: 1 !important;
      transform: none !important;
      transition: none !important;
    }
  }

  /* =========================================================
     CONCEPT VISUALS — 动态概念图
     ========================================================= */

  /* ── Loop Diagram ── */
  .loop-diagram-wrap { display: flex; justify-content: center; margin-bottom: var(--space-12); }
  .loop-svg { width: min(480px, 92vw); height: auto; display: block; }
  @keyframes ring-rotate-cw  { to { transform: rotate( 360deg); } }
  @keyframes ring-rotate-ccw { to { transform: rotate(-360deg); } }
  .loop-ring-cw  { transform-box: fill-box; transform-origin: center; animation: ring-rotate-cw  9s linear infinite; }
  .loop-ring-ccw { transform-box: fill-box; transform-origin: center; animation: ring-rotate-ccw 14s linear infinite; }
  @keyframes node-beat {
    0%, 100% { stroke-width: 1.5; stroke: rgba(5,211,142,0.3); }
    50%       { stroke-width: 2.5; stroke: rgba(5,211,142,0.9); }
  }
  .ln1 { animation: node-beat 2.4s ease-in-out infinite 0.00s; }
  .ln2 { animation: node-beat 2.4s ease-in-out infinite 0.48s; }
  .ln3 { animation: node-beat 2.4s ease-in-out infinite 0.96s; }
  .ln4 { animation: node-beat 2.4s ease-in-out infinite 1.44s; }
  .ln5 { animation: node-beat 2.4s ease-in-out infinite 1.92s; }

  /* ── AI Card Previews ── */
  .ai-preview {
    background: var(--color-bg);
    border-radius: var(--radius-md);
    padding: 10px 12px;
    overflow: hidden;
    height: 84px;
    flex-shrink: 0;
    margin-top: var(--space-2);
    margin-bottom: var(--space-2);
  }
  /* scan lines – AI总结 */
  .aisumm-line { height: 6px; border-radius: 3px; background: var(--color-divider); margin-bottom: 8px; overflow: hidden; position: relative; }
  .aisumm-line:nth-child(1) { width: 92%; }
  .aisumm-line:nth-child(2) { width: 70%; }
  .aisumm-line:nth-child(3) { width: 84%; }
  .aisumm-line:nth-child(4) { width: 56%; }
  .aisumm-line::after { content: ''; position: absolute; top: 0; left: -100%; width: 60%; height: 100%; background: linear-gradient(90deg, transparent, rgba(5,211,142,0.55), transparent); animation: scan-sweep 2.6s ease-in-out infinite; }
  .aisumm-line:nth-child(2)::after { animation-delay: 0.32s; }
  .aisumm-line:nth-child(3)::after { animation-delay: 0.65s; }
  .aisumm-line:nth-child(4)::after { animation-delay: 0.97s; }
  @keyframes scan-sweep { 0% { left: -80%; } 100% { left: 180%; } }
  /* chat bubbles – AI答疑 */
  .aichat-row { display: flex; align-items: flex-end; gap: 5px; margin-bottom: 7px; }
  .aichat-row.r { flex-direction: row-reverse; }
  .aichat-av { width: 18px; height: 18px; border-radius: 50%; flex-shrink: 0; background: var(--color-divider); }
  .aichat-row.r .aichat-av { background: var(--color-brand); opacity: 0.75; }
  .aichat-bar { height: 7px; border-radius: 4px; flex: 1; max-width: 65%; background: var(--color-divider); }
  .aichat-row.r .aichat-bar { background: rgba(5,211,142,0.3); }
  .aichat-typing { display: flex; gap: 3px; align-items: center; padding: 5px 8px; background: rgba(5,211,142,0.12); border-radius: 9px; }
  .aichat-typing span { width: 5px; height: 5px; border-radius: 50%; background: var(--color-brand); animation: typing-dot 1.2s ease-in-out infinite; }
  .aichat-typing span:nth-child(2) { animation-delay: 0.2s; }
  .aichat-typing span:nth-child(3) { animation-delay: 0.4s; }
  @keyframes typing-dot { 0%, 80%, 100% { transform: translateY(0); opacity: 0.45; } 40% { transform: translateY(-4px); opacity: 1; } }
  /* grade marks – AI批改 */
  .aigrade-row { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
  .aigrade-bar { height: 6px; border-radius: 3px; background: var(--color-divider); flex: 1; }
  .aigrade-score { font-size: 11px; font-weight: 700; font-family: var(--font-num); color: var(--color-brand-pressed); white-space: nowrap; opacity: 0; animation: score-pop 2.8s ease-out infinite; }
  .aigrade-row:nth-child(2) .aigrade-score { animation-delay: 0.6s; }
  .aigrade-row:nth-child(3) .aigrade-score { animation-delay: 1.2s; }
  .aigrade-row:nth-child(4) .aigrade-score { animation-delay: 1.8s; }
  @keyframes score-pop { 0%, 20% { opacity: 0; transform: scale(0.7) translateY(3px); } 40%, 70% { opacity: 1; transform: scale(1) translateY(0); } 90%, 100% { opacity: 0; } }
  /* flip card – AI背诵 */
  .aiflip-wrap { perspective: 240px; display: flex; align-items: center; justify-content: center; height: 100%; }
  .aiflip-card { width: 90px; height: 58px; position: relative; transform-style: preserve-3d; animation: card-flip 4.2s ease-in-out infinite; }
  @keyframes card-flip { 0%, 30% { transform: rotateY(0deg); } 50%, 80% { transform: rotateY(180deg); } 100% { transform: rotateY(360deg); } }
  .aiflip-front, .aiflip-back { position: absolute; inset: 0; border-radius: var(--radius-md); backface-visibility: hidden; display: flex; align-items: center; justify-content: center; font-family: var(--font-cn); }
  .aiflip-front { background: var(--color-brand); color: #fff; font-size: 13px; font-weight: 700; }
  .aiflip-back { background: #fff; border: 1.5px solid var(--color-brand); color: var(--color-brand-pressed); transform: rotateY(180deg); font-size: 9.5px; text-align: center; padding: 6px; line-height: 1.5; font-weight: 500; }
  /* school pins – AI择校 */
  .aischool-grid { display: flex; flex-wrap: wrap; gap: 5px; align-content: center; height: 100%; }
  .aischool-chip { display: inline-flex; align-items: center; gap: 4px; padding: 3px 8px; border-radius: var(--radius-full); font-size: 9.5px; font-family: var(--font-cn); background: rgba(210,210,215,0.3); color: var(--color-text-tertiary); animation: chip-idle 4.5s ease-in-out infinite; white-space: nowrap; }
  .aischool-chip::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--color-divider); flex-shrink: 0; }
  .aischool-chip.match { background: rgba(5,211,142,0.12); color: var(--color-brand-pressed); animation: chip-match 4.5s ease-in-out infinite; }
  .aischool-chip.match::before { background: var(--color-brand); }
  .aischool-chip:nth-child(2) { animation-delay: 0.6s; }
  .aischool-chip:nth-child(3) { animation-delay: 1.2s; }
  .aischool-chip:nth-child(4) { animation-delay: 1.8s; }
  .aischool-chip.match:nth-child(5) { animation-delay: 2.2s; }
  .aischool-chip.match:nth-child(6) { animation-delay: 2.8s; }
  @keyframes chip-idle { 0%, 100% { opacity: 0.55; } 50% { opacity: 1; } }
  @keyframes chip-match { 0%, 100% { transform: scale(1); box-shadow: none; opacity: 1; } 50% { transform: scale(1.06); box-shadow: 0 0 0 4px rgba(5,211,142,0.15); } }
  /* bar chart – 学习数据报告 */
  .aidash-bars { display: flex; align-items: flex-end; gap: 4px; height: 60px; }
  .aidash-bar { flex: 1; border-radius: 3px 3px 0 0; transform-origin: bottom; animation: bar-rise 3s ease-in-out infinite alternate; }
  .aidash-bar:nth-child(odd)  { background: var(--color-brand); }
  .aidash-bar:nth-child(even) { background: rgba(5,211,142,0.45); }
  .aidash-bar:nth-child(2) { animation-duration: 3.6s; animation-delay: 0.3s; }
  .aidash-bar:nth-child(3) { animation-duration: 2.4s; animation-delay: 0.6s; }
  .aidash-bar:nth-child(4) { animation-duration: 4.2s; animation-delay: 0.1s; }
  .aidash-bar:nth-child(5) { animation-duration: 3.0s; animation-delay: 0.9s; }
  .aidash-bar:nth-child(6) { animation-duration: 2.7s; animation-delay: 0.4s; }
  .aidash-bar:nth-child(7) { animation-duration: 3.9s; animation-delay: 0.7s; }
  @keyframes bar-rise { from { transform: scaleY(0.25); } to { transform: scaleY(1); } }

  /* ── Audience Schedule ── */
  /* 人群卡 · 阶段路径带（替代原24h时间条） */
  .stage-strip { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin: var(--space-4) 0 var(--space-5); }
  .stage-eyebrow { width: 100%; font-size: 11px; font-weight: 600; letter-spacing: .08em; color: rgba(245,245,247,0.5); font-family: var(--font-sans); margin-bottom: 2px; }
  .stage-pill { font-size: 13px; font-weight: 600; padding: 6px 13px; border-radius: var(--radius-full); background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.14); color: rgba(245,245,247,0.92); font-family: var(--font-sans); white-space: nowrap; }
  .stage-pill.final { background: var(--color-brand); border-color: var(--color-brand); color: #04331F; }
  .stage-arrow { color: rgba(245,245,247,0.35); font-size: 13px; flex-shrink: 0; }
  @media (max-width: 480px) { .stage-pill { font-size: 12px; padding: 5px 10px; } }

  /* ── Hero supervisor badge pulse ── */
  .card-supervisor-badge { animation: badge-pulse 2s ease-in-out infinite; }
  @keyframes badge-pulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(5,211,142,0.5); } 50% { box-shadow: 0 0 0 6px rgba(5,211,142,0); } }

  /* Reduced motion: disable all concept animations */
  @media (prefers-reduced-motion: reduce) {
    .loop-ring-cw, .loop-ring-ccw, .ln1, .ln2, .ln3, .ln4, .ln5,
    .aisumm-line::after, .aichat-typing span, .aigrade-score,
    .aiflip-card, .aischool-chip, .aidash-bar,
    .card-supervisor-badge { animation: none !important; }
    .aiflip-card { transform: none !important; }
  }
  /* ── 公司荣誉 ── */
  .honors-section {
    background: var(--color-bg-dark);
    padding: var(--space-10) 0 var(--space-10);
    overflow: hidden;
  }
  /* ── 荣誉证书（法考风格）── */
  .honors-grid {
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin-top: var(--space-10);
    align-items: center;
  }
  .honors-row-wide {
    display: flex;
    gap: 20px;
    justify-content: center;
  }
  .honors-row-portrait {
    display: flex;
    gap: 20px;
    justify-content: center;
  }
  .honors-row2 { display: none; }   /* 旧的第二行隐藏 */
  .honor-card {
    flex: 1;
    min-width: 0;
    max-width: 220px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    background: transparent;
    border: none;
    padding: 0;
    cursor: default;
  }
  .honor-card::before { display: none; }
  .honor-card:hover { transform: none; box-shadow: none; }
  .honor-card-img-wrap {
    width: 100%;
    aspect-ratio: 3/4;
    border-radius: 18px;
    overflow: hidden;
    background: #1a1a1a;
    border: 1px solid rgba(255,255,255,0.08);
    box-shadow: 0 4px 24px rgba(0,0,0,0.35);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
  }
  /* 横版证书（奖状/牌匾） */
  .honor-card--wide {
    max-width: 300px;
  }
  .honor-card--wide .honor-card-img-wrap {
    aspect-ratio: 4/3;
  }
  .honor-card:hover .honor-card-img-wrap {
    transform: translateY(-6px);
    box-shadow: 0 16px 40px rgba(0,0,0,0.5), 0 0 0 1px rgba(5,211,142,0.2);
  }
  .honor-card-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
  }
  .honor-card-label {
    font-size: 13px;
    font-weight: 600;
    color: rgba(245,245,247,0.75);
    font-family: var(--font-sans);
    text-align: center;
    line-height: 1.4;
  }
  /* 旧样式归零 */
  .honor-card-type, .honor-card-name, .honor-card-issuer,
  .honor-card-meta, .honor-card-tag, .honor-card-seal { display: none; }
  @media (max-width: 900px) {
    .honors-row-wide, .honors-row-portrait { flex-wrap: wrap; justify-content: center; }
    .honor-card { max-width: calc(50% - 10px); flex: 0 0 calc(50% - 10px); }
    .honor-card--wide { max-width: calc(50% - 10px); }
  }
  @media (max-width: 480px) {
    .honor-card, .honor-card--wide { max-width: 100%; flex: 0 0 100%; }
  }
    /* ── 五件事卡片 ── */
  .five-things-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: var(--space-5);
    margin-top: var(--space-10);
  }
  .five-card {
    background: var(--color-bg);
    border: 1px solid var(--color-divider);
    border-radius: var(--radius-lg);
    padding: var(--space-8) var(--space-6);
    position: relative;
    transition: transform var(--motion-normal), box-shadow var(--motion-normal), border-color var(--motion-normal);
  }
  .five-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); border-color: rgba(5,211,142,0.4); }
  .five-card-accent { background: linear-gradient(135deg, rgba(5,211,142,0.06) 0%, rgba(60,230,233,0.04) 100%); border-color: rgba(5,211,142,0.3); }
  .five-num { font-size: 0.75rem; font-weight: 700; color: var(--color-brand); letter-spacing: 0.08em; font-family: var(--font-mono, monospace); margin-bottom: var(--space-3); }
  .five-title { font-size: 1.25rem; font-weight: 800; color: var(--color-text-primary); margin-bottom: var(--space-4); font-family: var(--font-sans); }
  .five-desc { font-size: 0.8125rem; color: var(--color-text-secondary); line-height: 1.7; }
  @media (max-width: 1068px) { .five-things-grid { grid-template-columns: repeat(3, 1fr); } }
  @media (max-width: 734px) { .five-things-grid { grid-template-columns: 1fr 1fr; gap: var(--space-4); } }
  @media (max-width: 480px) { .five-things-grid { grid-template-columns: 1fr; } }

  @media (max-width:900px) {
    .honors-grid { grid-template-columns: repeat(2, 1fr); }
  }
  @media (max-width:480px) {
    .honors-grid { grid-template-columns: 1fr 1fr; gap: var(--space-4); }
    .honor-card { padding: var(--space-6) var(--space-4); }
  }

    /* ── 全局防孤字规则 ─────────────────────────────────────────── */
    h1,h2,h3,h4{text-wrap:balance;}
    p,.hero-sub,.section-sub,.class-tagline,.hero-eyebrow,
    .match-card-pain,.wi-quote,.wi-compare,.promise-desc,
    .onev1-text,.class-point-desc,.card-desc,.stat-label,
    .timeline-desc,.teacher-bio,.story-quote{text-wrap:pretty;}
    /* ───────────────────────────────────────────────────────────── */

  /* ── Why Section ── */
  .why-section { background: var(--color-bg); }
  .why-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--space-5); margin-top: var(--space-10); }
  .why-card { background: var(--color-bg-alt); border-radius: var(--radius-xl); padding: var(--space-8); border: 1px solid var(--color-divider); transition: transform .25s, box-shadow .25s; }
  .why-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
  .why-card-num {
    width: 48px; height: 48px; border-radius: 14px;
    background: var(--color-text-primary);
    color: #fff;
    font-size: 20px; font-weight: 800;
    font-family: var(--font-num);
    display: flex; align-items: center; justify-content: center;
    margin-bottom: var(--space-5);
    flex-shrink: 0;
  }
  .why-card-title { font-size: 22px; font-weight: 800; color: var(--color-text-primary); margin-bottom: var(--space-4); font-family: var(--font-sans); line-height: 1.3; letter-spacing: -0.01em; }
  .why-card-desc { font-size: 15px; color: var(--color-text-secondary); line-height: 1.8; }
  @media(max-width:734px){ .why-grid { grid-template-columns:1fr; } }


  /* ── Loop Steps（新版） ── */
  .loop-steps { display: flex; flex-direction: column; gap: 0; margin-top: var(--space-12); }
  .loop-step {
    display: grid; grid-template-columns: 1fr 1fr;
    gap: var(--space-12); align-items: center;
    padding: var(--space-10) 0;
  }
  .loop-step-reverse { direction: rtl; }
  .loop-step-reverse > * { direction: ltr; }
  .loop-step-last { padding-bottom: 0; }
  .loop-connector { display: flex; justify-content: center; padding: 8px 0; }
  .loop-connector-line { width: 2px; height: 40px; background: linear-gradient(to bottom, var(--color-brand), rgba(5,211,142,0.2)); border-radius: 2px; }
  .loop-step-badge {
    display: inline-flex; align-items: center; justify-content: center;
    width: 44px; height: 44px; border-radius: 14px;
    background: var(--color-text-primary); color: #fff;
    font-size: 16px; font-weight: 800; font-family: var(--font-num);
    margin-bottom: var(--space-4); flex-shrink: 0;
  }
  .loop-step-badge-accent { background: var(--color-brand-pressed); }
  .loop-step-title { font-size: clamp(28px,3vw,40px); font-weight: 800; color: var(--color-text-primary); font-family: var(--font-sans); letter-spacing: -0.02em; margin-bottom: var(--space-3); line-height: 1.1; }
  .loop-step-sub { font-size: 17px; font-weight: 600; color: var(--color-brand-pressed); margin-bottom: var(--space-4); line-height: 1.4; }
  .loop-step-desc { font-size: 15px; color: var(--color-text-secondary); line-height: 1.8; margin-bottom: var(--space-5); }
  .loop-step-tags { display: flex; flex-wrap: wrap; gap: 8px; }
  .loop-step-tags span { font-size: 12px; font-weight: 600; padding: 4px 12px; border-radius: 999px; background: rgba(5,211,142,0.10); color: var(--color-brand-pressed); border: 1px solid rgba(5,211,142,0.22); }

  /* loop visual cards */
  .loop-step-visual { display: flex; align-items: center; justify-content: center; }
  .loop-visual-card {
    background: var(--color-bg-dark); border-radius: 20px;
    padding: 24px; width: 100%; max-width: 360px;
    box-shadow: 0 20px 60px rgba(0,0,0,0.12);
    border: 1px solid rgba(255,255,255,0.08);
    font-family: var(--font-sans);
  }
  .lvc-label { font-size: 11px; font-weight: 700; letter-spacing: .08em; color: var(--color-brand); margin-bottom: 16px; text-transform: uppercase; }
  /* 01 路径测评 */
  .lvc-row { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; }
  .lvc-item { font-size: 13px; padding: 6px 12px; border-radius: 8px; background: rgba(255,255,255,0.07); color: rgba(245,245,247,0.7); white-space: nowrap; }
  .lvc-item.active { background: rgba(255,255,255,0.12); color: rgba(245,245,247,0.9); }
  .lvc-item.highlight { background: rgba(5,211,142,0.2); color: #15EF82; font-weight: 700; }
  .lvc-arrow { color: rgba(255,255,255,0.3); font-size: 14px; }
  /* 02 今日计划 */
  .lvc-task { font-size: 13px; padding: 9px 12px; border-radius: 10px; margin-bottom: 8px; background: rgba(255,255,255,0.05); color: rgba(245,245,247,0.5); }
  .lvc-task.done { color: rgba(245,245,247,0.4); text-decoration: line-through; }
  .lvc-task.active { background: rgba(5,211,142,0.12); color: #15EF82; font-weight: 600; }
  .lvc-task.todo { color: rgba(245,245,247,0.35); }
  /* 03 班主任 */
  .lvc-alert { font-size: 12px; font-weight: 700; color: #ff6b6b; background: rgba(255,107,107,0.12); border-radius: 8px; padding: 8px 12px; margin-bottom: 12px; }
  .lvc-msg { font-size: 13px; color: rgba(245,245,247,0.8); background: rgba(255,255,255,0.07); border-radius: 10px; padding: 12px; margin-bottom: 10px; line-height: 1.6; }
  .lvc-ok { font-size: 12px; font-weight: 700; color: #15EF82; }
  /* 04 报告 */
  .lvc-scores { display: flex; flex-direction: column; gap: 10px; margin-bottom: 14px; }
  .lvc-score-item { display: flex; align-items: center; gap: 10px; }
  .lvc-subject { font-size: 12px; color: rgba(245,245,247,0.6); width: 28px; flex-shrink: 0; }
  .lvc-bar { flex: 1; height: 6px; background: rgba(255,255,255,0.1); border-radius: 3px; overflow: hidden; }
  .lvc-fill { height: 100%; background: #15EF82; border-radius: 3px; }
  .lvc-fill.warn { background: #ff9f43; }
  .lvc-pct { font-size: 12px; font-weight: 700; color: #15EF82; width: 46px; text-align: right; flex-shrink: 0; }
  .lvc-pct.warn { color: #ff9f43; }
  .lvc-suggest { font-size: 12px; color: rgba(245,245,247,0.5); border-top: 1px solid rgba(255,255,255,0.08); padding-top: 10px; }
  /* 05 纠偏机制 */
  .lvc-cycle { display: flex; flex-direction: column; align-items: center; gap: 4px; }
  .lvc-cycle-item { font-size: 14px; font-weight: 600; color: rgba(245,245,247,0.8); background: rgba(255,255,255,0.08); border-radius: 10px; padding: 10px 24px; width: 100%; text-align: center; }
  .lvc-cycle-item.accent { background: rgba(5,211,142,0.2); color: #15EF82; }
  .lvc-cycle-arrow { font-size: 16px; color: rgba(5,211,142,0.5); }

  @media(max-width:900px) {
    .loop-step, .loop-step-reverse { grid-template-columns: 1fr; direction: ltr; }
    .loop-step-visual { margin-top: var(--space-5); }
    .loop-visual-card { max-width: 100%; }
  }

  /* ── Loop Section ── */
  .loop-section { background: var(--color-bg-alt); }
  .loop-grid { display: grid; grid-template-columns: repeat(5,1fr); gap: var(--space-4); margin-top: var(--space-10); }
  .loop-item { background: var(--color-bg); border-radius: var(--radius-lg); padding: var(--space-6); border: 1px solid var(--color-divider); position: relative; }
  .loop-item-accent { background: var(--color-bg-dark); border-color: var(--color-brand); }
  .loop-item-accent .loop-num { color: var(--color-brand); }
  .loop-item-accent .loop-title { color: var(--color-text-on-dark); }
  .loop-item-accent .loop-desc { color: rgba(245,245,247,0.7); }
  .loop-num { font-size: 11px; font-weight: 800; color: var(--color-brand); letter-spacing: .08em; margin-bottom: var(--space-3); font-family: var(--font-num); }
  .loop-title { font-size: 17px; font-weight: 700; color: var(--color-text-primary); margin-bottom: var(--space-3); font-family: var(--font-sans); }
  .loop-desc { font-size: 14px; color: var(--color-text-secondary); line-height: 1.7; }
  @media(max-width:1068px){ .loop-grid { grid-template-columns:repeat(3,1fr); } }
  @media(max-width:734px){ .loop-grid { grid-template-columns:1fr 1fr; } }

  /* ── Advantage Section ── */
  .advantage-section { background: var(--color-bg); }
  .adv-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--space-5); margin-top: var(--space-10); }
  .adv-card { background: var(--color-bg-alt); border-radius: var(--radius-xl); padding: var(--space-8); border: 1px solid var(--color-divider); text-decoration: none; display: flex; flex-direction: column; gap: var(--space-3); transition: transform .25s, box-shadow .25s, border-color .25s; }
  .adv-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); border-color: var(--color-brand); }
  .adv-card-eyebrow { font-size: 11px; font-weight: 700; letter-spacing: .08em; color: var(--color-brand); background: rgba(5,211,142,.1); border: 1px solid rgba(5,211,142,.22); border-radius: 999px; padding: 3px 12px; width: fit-content; }
  .adv-card-title { font-size: 18px; font-weight: 700; color: var(--color-text-primary); font-family: var(--font-sans); line-height: 1.35; }
  .adv-card-desc { font-size: 14px; color: var(--color-text-secondary); line-height: 1.75; flex:1; }
  .adv-card-link { font-size: 13px; font-weight: 600; color: var(--color-brand); margin-top: auto; }
  @media(max-width:734px){ .adv-grid { grid-template-columns:1fr; } }
  
/* 人群卡机制清单（深色卡通用） */
.audience-card p.audience-mechs{font-size:15px;line-height:1.9;color:inherit;opacity:.85;margin:0 0 var(--space-6);max-width:460px;}
.audience-card p.audience-mechs b{font-weight:700;}
    .audience-card .aud-hook{font-size:15px;line-height:1.75;opacity:.8;margin-bottom:var(--space-5);}
    .audience-specs{width:100%;margin:0 0 var(--space-6);}
    .aud-spec{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:10px 0;border-bottom:1px dashed rgba(255,255,255,.16);font-size:15px;}
    .aud-spec:last-child{border-bottom:none;}
    .aud-spec .k{opacity:.55;flex-shrink:0;font-weight:400;}
    .aud-spec .v{font-weight:650;text-align:right;line-height:1.5;}
    .peace-section{padding:var(--space-16) 0;background:var(--color-bg);}
    .worry-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:980px;margin:var(--space-10) auto 0;}
    .worry-group{border-radius:20px;padding:26px 22px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center;align-content:flex-start;}
    .wg-zaizhi{background:rgba(59,91,219,.07);}
    .wg-lingjichu{background:rgba(139,92,246,.08);}
    .wg-gaofen{background:rgba(232,150,12,.09);}
    .wg-label{width:100%;text-align:center;font-size:20px;font-weight:800;letter-spacing:.04em;margin-bottom:12px;font-family:var(--font-sans);}
    .wg-zaizhi .wg-label{color:#3B5BDB;}
    .wg-lingjichu .wg-label{color:#7C3AED;}
    .wg-gaofen .wg-label{color:#C77E08;}
    .worry-chip{font-weight:600;color:var(--color-text-primary);background:var(--color-bg);border:1px solid var(--color-divider);border-radius:999px;box-shadow:0 1px 3px rgba(0,0,0,.04);}
    .worry-chip.c-l{font-size:17px;padding:12px 22px;}
    .worry-chip.c-m{font-size:14px;padding:9px 17px;}
    .worry-chip.c-s{font-size:13px;padding:7px 14px;color:var(--color-text-secondary);}
    @media(max-width:900px){.worry-groups{grid-template-columns:1fr;max-width:520px;}}
    .peace-answer{text-align:center;margin-top:26px;font-size:17px;font-weight:700;color:var(--color-text-primary);}
    .peace-cta{text-align:center;margin-top:22px;}
    .proof-section{padding:var(--space-16) 0;background:var(--color-bg-alt);}
    .proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5);margin-top:var(--space-10);}
    .proof-card{background:var(--color-bg);border:1px solid var(--color-divider);border-radius:var(--radius-xl);padding:var(--space-8) var(--space-6);display:flex;flex-direction:column;transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1);}
    .proof-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
    .proof-num{font-size:44px;font-weight:800;letter-spacing:-0.02em;color:var(--color-text-primary);line-height:1;}
    .proof-num .suffix{font-size:0.5em;font-weight:700;color:var(--color-brand);}
    .proof-label{font-size:16px;font-weight:700;color:var(--color-text-primary);margin-top:10px;}
    .proof-desc{font-size:14px;line-height:1.75;color:var(--color-text-secondary);margin-top:8px;flex:1;}
    .proof-link{font-size:14px;font-weight:600;color:var(--color-link);margin-top:14px;text-decoration:none;}
    .proof-link:hover{text-decoration:underline;}
    @media(max-width:900px){.proof-grid{grid-template-columns:1fr;}}
    @media(max-width:640px){.proof-grid{grid-template-columns:1fr;}}
    .faq-section{padding:var(--space-16) 0;background:var(--color-bg);}
    .faq-list{max-width:860px;margin:var(--space-10) auto 0;}
    .faq-item{border-bottom:1px solid var(--color-divider);}
    .faq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 4px;font-size:17px;font-weight:700;color:var(--color-text-primary);}
    .faq-item summary::-webkit-details-marker{display:none;}
    .faq-item summary::after{content:"+";font-size:22px;font-weight:400;color:var(--color-text-tertiary);flex-shrink:0;transition:transform .3s cubic-bezier(.4,0,.2,1);}
    .faq-item[open] summary::after{transform:rotate(45deg);}
    .faq-item .faq-a{font-size:15px;line-height:1.9;color:var(--color-text-secondary);padding:0 4px 24px;max-width:780px;}
    .faq-item .faq-a b{color:var(--color-brand);font-weight:700;}
@keyframes qr-pop{from{opacity:0;transform:scale(0.88);}to{opacity:1;transform:scale(1);}}
