﻿/* Product Pages 共享样式 — Surfer & Grapher 等产品页通用 */

  /* ================== 页面 Hero · 视频背景版 ================== */
    .page-hero {
      position: relative;
      min-height: clamp(560px, 82vh, 820px);
      display: flex;
      align-items: center;
      overflow: hidden;
      isolation: isolate;
      color: #fff;
      background: #0b1118;
    }
    /* 视频背景 */
    .hero-bg-video {
      position: absolute;
      inset: 0;
      z-index: 0;
      overflow: hidden;
      pointer-events: none;
    }
    .hero-bg-video iframe {
      position: absolute;
      top: 50%;
      left: 50%;
      width: 100vw;
      height: 56.25vw;        /* 16:9 → 保持宽度撑满 */
      min-height: 100%;
      min-width: 177.78vh;    /* 16:9 → 保证高度撑满 */
      transform: translate(-50%, -50%);
      border: 0;
    }
    /* 三层叠加：主渐变暗化 + 色彩光晕 + 细微噪点 */
    .hero-bg-video::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(105deg,
          rgba(11, 17, 24, 0.88) 0%,
          rgba(11, 17, 24, 0.72) 45%,
          rgba(11, 17, 24, 0.35) 75%,
          rgba(11, 17, 24, 0.55) 100%),
        radial-gradient(700px 500px at 85% 15%, rgba(255, 186, 0, 0.22), transparent 65%),
        radial-gradient(600px 500px at 10% 110%, rgba(51, 120, 200, 0.28), transparent 60%);
      z-index: 1;
    }
    .hero-bg-video::after {
      content: "";
      position: absolute;
      inset: 0;
      background-image: radial-gradient(circle, rgba(255,255,255,0.05) 1px, transparent 1.5px);
      background-size: 3px 3px;
      opacity: 0.35;
      z-index: 2;
      mix-blend-mode: overlay;
    }

    /* 文本内容 */
    .page-hero > .gs-container {
      position: relative;
      z-index: 3;
      width: 100%;
      padding-top: 100px;
      padding-bottom: 80px;
    }
    .page-hero-inner {
      max-width: 820px;
    }
    .page-hero-eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 6px 16px 6px 6px;
      background: rgba(255, 255, 255, 0.10);
      -webkit-backdrop-filter: blur(14px);
      backdrop-filter: blur(14px);
      border: 1px solid rgba(255, 255, 255, 0.18);
      border-radius: var(--gs-radius-pill);
      font-size: 13px;
      color: rgba(255, 255, 255, 0.92);
      margin-bottom: 26px;
      box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
    }
    .page-hero-eyebrow img {
      width: 28px;
      height: 28px;
      border-radius: 50%;
      padding: 3px;
      background: #fff;
      box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
    }
    .page-hero h1 {
      font-size: clamp(38px, 5.4vw, 66px);
      line-height: 1.08;
      font-weight: 800;
      color: #fff;
      letter-spacing: -0.8px;
      margin-bottom: 24px;
      text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35);
    }
    .page-hero h1 span {
      background: linear-gradient(120deg, var(--gs-accent) 0%, #ff8c00 100%);
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      filter: drop-shadow(0 2px 16px rgba(255, 186, 0, 0.35));
    }
    .page-hero-sub {
      font-size: clamp(16px, 1.6vw, 19px);
      line-height: 1.75;
      color: rgba(255, 255, 255, 0.85);
      margin-bottom: 36px;
      max-width: 640px;
      text-shadow: 0 1px 10px rgba(0, 0, 0, 0.3);
    }
    .page-hero-actions {
      display: flex;
      gap: 14px;
      flex-wrap: wrap;
      margin-bottom: 40px;
    }
    /* Ghost 按钮在深色背景需反白 */
    .page-hero .gs-btn-ghost {
      background: rgba(255, 255, 255, 0.08);
      border: 1px solid rgba(255, 255, 255, 0.25);
      color: #fff;
      -webkit-backdrop-filter: blur(10px);
      backdrop-filter: blur(10px);
    }
    .page-hero .gs-btn-ghost:hover {
      background: rgba(255, 255, 255, 0.18);
      border-color: rgba(255, 255, 255, 0.4);
    }

    /* 底部亮点条 */
    .page-hero-stats {
      display: flex;
      gap: 36px;
      flex-wrap: wrap;
      padding-top: 28px;
      border-top: 1px solid rgba(255, 255, 255, 0.15);
      max-width: 640px;
    }
    .page-hero-stats .stat .num {
      font-size: clamp(22px, 2.4vw, 28px);
      font-weight: 800;
      color: #fff;
      letter-spacing: -0.3px;
      line-height: 1;
      margin-bottom: 6px;
    }
    .page-hero-stats .stat .num em {
      font-style: normal;
      background: linear-gradient(120deg, var(--gs-accent), #ff8c00);
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
    }
    .page-hero-stats .stat .lbl {
      font-size: 12.5px;
      color: rgba(255, 255, 255, 0.6);
      letter-spacing: 0.5px;
      text-transform: uppercase;
    }

    /* 滚动提示（向下箭头） */
    .hero-scroll {
      position: absolute;
      left: 50%;
      bottom: 24px;
      transform: translateX(-50%);
      z-index: 3;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 6px;
      color: rgba(255, 255, 255, 0.55);
      font-size: 11px;
      letter-spacing: 2px;
      text-transform: uppercase;
      animation: heroScrollBob 2.4s ease-in-out infinite;
      pointer-events: none;
    }
    .hero-scroll svg { width: 20px; height: 20px; }
    @keyframes heroScrollBob {
      0%, 100% { transform: translate(-50%, 0); opacity: 0.55; }
      50% { transform: translate(-50%, 8px); opacity: 1; }
    }

    @media (max-width: 980px) {
      .page-hero { min-height: 620px; }
      .page-hero > .gs-container { padding-top: 90px; padding-bottom: 70px; }
    }
    @media (max-width: 560px) {
      .page-hero { min-height: 560px; }
      .page-hero > .gs-container { padding-top: 70px; padding-bottom: 60px; }
      .page-hero-actions .gs-btn { padding: 11px 20px; font-size: 14px; }
      .page-hero-stats { gap: 22px; padding-top: 22px; }
      .hero-scroll { display: none; }
    }

  /* ================== 信任声明条（KPI 浅色版） ================== */
    .trust-strip {
      position: relative;
      padding: 80px 0 90px;
      overflow: hidden;
      background:
        linear-gradient(180deg, #ffffff 0%, #f7fafd 60%, #f0f5fa 100%);
      color: var(--gs-primary);
    }
    /* 顶部金线渐变 + 柔光斑 */
    .trust-strip::before {
      content: "";
      position: absolute;
      top: 0; left: 0; right: 0;
      height: 1px;
      background: linear-gradient(90deg, transparent, rgba(255, 186, 0, 0.55), transparent);
    }
    .trust-strip::after {
      content: "";
      position: absolute;
      inset: 0;
      background:
        radial-gradient(700px 360px at 18% 0%, rgba(255, 186, 0, 0.10), transparent 65%),
        radial-gradient(800px 400px at 82% 110%, rgba(51, 120, 200, 0.10), transparent 65%);
      pointer-events: none;
    }
    .trust-strip > .gs-container {
      position: relative;
      z-index: 1;
    }
    .trust-lead {
      text-align: center;
      max-width: 880px;
      margin: 0 auto 56px;
    }
    .trust-lead .badge {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 6px 16px;
      font-size: 11.5px;
      font-weight: 700;
      letter-spacing: 2px;
      color: var(--gs-accent-dark);
      background: #fff;
      border: 1px solid rgba(255, 186, 0, 0.35);
      border-radius: var(--gs-radius-pill);
      margin-bottom: 22px;
      text-transform: uppercase;
      box-shadow: 0 6px 16px rgba(255, 186, 0, 0.15);
    }
    .trust-lead .badge::before {
      content: "";
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: var(--gs-accent);
      box-shadow: 0 0 10px var(--gs-accent);
    }
    .trust-lead h2 {
      font-size: clamp(20px, 2.4vw, 26px);
      font-weight: 600;
      line-height: 1.6;
      color: var(--gs-primary);
      letter-spacing: -0.2px;
    }
    .trust-lead h2 strong {
      font-weight: 800;
      background: linear-gradient(120deg, var(--gs-accent-dark), #ff8c00);
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
    }
    .trust-kpis {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 0;
      max-width: 1100px;
      margin: 0 auto;
      background: #fff;
      border: 1px solid var(--gs-border);
      border-radius: var(--gs-radius-lg);
      box-shadow:
        0 14px 38px -12px rgba(51, 77, 100, 0.18),
        0 0 0 1px rgba(255, 255, 255, 0.6) inset;
      overflow: hidden;
    }
    .trust-kpi {
      position: relative;
      padding: 36px 24px;
      text-align: center;
      transition: background 0.3s ease;
    }
    .trust-kpi:hover {
      background: linear-gradient(180deg, #fffaef 0%, #ffffff 60%);
    }
    .trust-kpi + .trust-kpi::before {
      content: "";
      position: absolute;
      left: 0;
      top: 22%;
      height: 56%;
      width: 1px;
      background: linear-gradient(180deg, transparent, rgba(51, 77, 100, 0.12), transparent);
    }
    .trust-kpi .num {
      font-size: clamp(30px, 3.6vw, 44px);
      font-weight: 800;
      letter-spacing: -1px;
      line-height: 1;
      margin-bottom: 10px;
      background: linear-gradient(135deg, var(--gs-primary) 0%, #ff8c00 100%);
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
    }
    .trust-kpi .lbl {
      font-size: 13px;
      color: var(--gs-text-soft);
      letter-spacing: 0.5px;
      line-height: 1.4;
    }
    @media (max-width: 760px) {
      .trust-strip { padding: 60px 0 64px; }
      .trust-kpis { grid-template-columns: repeat(2, 1fr); }
      .trust-kpi { padding: 26px 16px; }
      .trust-kpi:nth-child(2)::before { display: none; }
      .trust-kpi:nth-child(3)::before { display: none; }
      .trust-kpi:nth-child(3),
      .trust-kpi:nth-child(4) {
        border-top: 1px solid rgba(51, 77, 100, 0.08);
      }
    }

  /* ================== 通用版块 ================== */
    .feature-section {
      position: relative;
      padding: 110px 0;
      background: #fff;
      overflow: hidden;
    }
    .feature-section.alt {
      background: var(--gs-bg-soft);
    }
    /* 装饰：右上角等高线斑驳 */
    .feature-section::before {
      content: "";
      position: absolute;
      top: 0; right: 0;
      width: 360px;
      height: 360px;
      background:
        radial-gradient(circle at 100% 0%, rgba(255, 186, 0, 0.10), transparent 60%);
      pointer-events: none;
    }
    .feature-section > .gs-container {
      position: relative;
      z-index: 1;
    }

    /* ---------- 非对称图文展示区 ---------- */
    .feature-showcase {
      display: grid;
      grid-template-columns: 1fr 1.1fr;
      gap: 70px;
      align-items: center;
      margin-bottom: 80px;
    }
    .feature-showcase-text .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 6px 14px;
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 2px;
      text-transform: uppercase;
      color: var(--gs-accent-dark);
      background: rgba(255, 186, 0, 0.12);
      border: 1px solid rgba(255, 186, 0, 0.28);
      border-radius: var(--gs-radius-pill);
      margin-bottom: 22px;
    }
    .feature-showcase-text .eyebrow::before {
      content: "01";
      font-family: ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
      font-size: 11px;
      padding-right: 10px;
      border-right: 1px solid rgba(255, 186, 0, 0.4);
      color: var(--gs-accent-dark);
      opacity: 0.7;
    }
    .feature-showcase-text h2 {
      font-size: clamp(30px, 3.8vw, 46px);
      font-weight: 800;
      color: var(--gs-primary);
      line-height: 1.18;
      letter-spacing: -0.6px;
      margin-bottom: 22px;
    }
    .feature-showcase-text h2 em {
      font-style: normal;
      background: linear-gradient(120deg, var(--gs-accent), #ff8c00);
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
    }
    .feature-showcase-text p {
      font-size: 16px;
      line-height: 1.9;
      color: var(--gs-text-soft);
      margin-bottom: 16px;
    }
    .feature-showcase-text .quick-tags {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
      margin-top: 26px;
    }
    .feature-showcase-text .quick-tags span {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 6px 12px;
      font-size: 12.5px;
      font-weight: 600;
      color: var(--gs-primary);
      background: #fff;
      border: 1px solid var(--gs-border);
      border-radius: var(--gs-radius-pill);
      box-shadow: var(--gs-shadow-sm);
    }
    .feature-showcase-text .quick-tags span::before {
      content: "";
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: var(--gs-accent);
    }

    /* 图片画框 */
    .feature-showcase-media {
      position: relative;
      isolation: isolate;
    }
    .feature-showcase-media::before {
      content: "";
      position: absolute;
      inset: -20px -20px -28px 30px;
      border-radius: 28px;
      background:
        radial-gradient(420px 280px at 75% 30%, rgba(255, 186, 0, 0.22), transparent 70%),
        radial-gradient(380px 280px at 20% 90%, rgba(51, 120, 200, 0.18), transparent 70%);
      filter: blur(18px);
      z-index: -1;
    }
    .feature-showcase-media .frame {
      position: relative;
      border-radius: 22px;
      overflow: hidden;
      background: #fff;
      box-shadow:
        0 30px 60px -20px rgba(51, 77, 100, 0.35),
        0 14px 30px -10px rgba(51, 77, 100, 0.20),
        0 0 0 1px rgba(51, 77, 100, 0.08);
      transform: perspective(1400px) rotateY(-3deg) rotateX(1deg);
      transition: transform 0.5s ease;
    }
    .feature-showcase-media .frame:hover {
      transform: perspective(1400px) rotateY(0deg) rotateX(0deg);
    }
    .feature-showcase-media .frame img {
      display: block;
      width: 100%;
      height: auto;
    }
    /* 浮动数据卡 */
    .floating-stat {
      position: absolute;
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 12px 16px;
      background: #fff;
      border-radius: 14px;
      box-shadow: 0 14px 32px rgba(51, 77, 100, 0.18);
      border: 1px solid rgba(51, 77, 100, 0.06);
      z-index: 2;
    }
    .floating-stat .ico {
      width: 36px; height: 36px;
      border-radius: 10px;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #fff;
      flex-shrink: 0;
    }
    .floating-stat .ico svg { width: 18px; height: 18px; }
    .floating-stat .num {
      font-size: 18px;
      font-weight: 800;
      color: var(--gs-primary);
      line-height: 1;
      margin-bottom: 2px;
    }
    .floating-stat .lbl {
      font-size: 11px;
      color: var(--gs-muted);
      letter-spacing: 0.3px;
    }
    .floating-stat.tl {
      top: 28px;
      left: -34px;
      animation: fStatFloat 6s ease-in-out infinite;
    }
    .floating-stat.tl .ico { background: linear-gradient(135deg, var(--gs-accent), #ff8c00); color: #1d1d1d; }
    .floating-stat.br {
      bottom: 30px;
      right: -28px;
      animation: fStatFloat 6s ease-in-out -3s infinite;
    }
    .floating-stat.br .ico { background: linear-gradient(135deg, var(--gs-primary), var(--gs-primary-light)); }
    @keyframes fStatFloat {
      0%, 100% { transform: translateY(0); }
      50% { transform: translateY(-8px); }
    }

    /* ---------- 能力卡片网格 ---------- */
    .capability-head {
      text-align: center;
      max-width: 760px;
      margin: 0 auto 50px;
    }
    .capability-head .label {
      display: inline-block;
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 3px;
      color: var(--gs-accent-dark);
      text-transform: uppercase;
      margin-bottom: 14px;
    }
    .capability-head h3 {
      font-size: clamp(22px, 2.6vw, 30px);
      font-weight: 800;
      color: var(--gs-primary);
      line-height: 1.3;
      letter-spacing: -0.3px;
    }

    .feature-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 22px;
    }
    .feature-card {
      position: relative;
      padding: 32px 28px 28px;
      background: #fff;
      border: 1px solid var(--gs-border);
      border-radius: var(--gs-radius-lg);
      transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
      overflow: hidden;
      isolation: isolate;
    }
    /* 顶部彩色渐变进度条 */
    .feature-card::before {
      content: "";
      position: absolute;
      top: 0; left: 0; right: 0;
      height: 3px;
      background: linear-gradient(90deg, var(--gs-accent), #ff8c00);
      transform: scaleX(0);
      transform-origin: left;
      transition: transform 0.4s ease;
    }
    /* 角标编号水印 */
    .feature-card::after {
      content: attr(data-num);
      position: absolute;
      right: 22px;
      top: 18px;
      font-size: 56px;
      font-weight: 800;
      letter-spacing: -2px;
      color: rgba(51, 77, 100, 0.05);
      line-height: 1;
      font-family: ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
      pointer-events: none;
      transition: color 0.3s ease;
    }
    .feature-card:hover {
      transform: translateY(-6px);
      box-shadow: 0 20px 40px -10px rgba(51, 77, 100, 0.18);
      border-color: rgba(255, 186, 0, 0.5);
    }
    .feature-card:hover::before { transform: scaleX(1); }
    .feature-card:hover::after { color: rgba(255, 186, 0, 0.10); }

    .feature-card-icon {
      position: relative;
      width: 52px;
      height: 52px;
      border-radius: 14px;
      background: linear-gradient(135deg, var(--gs-primary), var(--gs-primary-light));
      color: #fff;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 22px;
      box-shadow: 0 8px 18px rgba(51, 77, 100, 0.22);
      z-index: 1;
    }
    .feature-card-icon::after {
      content: "";
      position: absolute;
      inset: -4px;
      border-radius: 18px;
      border: 1px solid rgba(255, 186, 0, 0.25);
      opacity: 0;
      transition: opacity 0.3s ease;
    }
    .feature-card:hover .feature-card-icon::after { opacity: 1; }
    .feature-card-icon svg { width: 24px; height: 24px; }

    .feature-card h3 {
      font-size: 18px;
      font-weight: 800;
      color: var(--gs-primary);
      margin-bottom: 12px;
      letter-spacing: -0.2px;
    }
    .feature-card p {
      font-size: 14.5px;
      line-height: 1.85;
      color: var(--gs-text-soft);
    }

    .feature-foot {
      text-align: center;
      margin-top: 56px;
    }

    @media (max-width: 980px) {
      .feature-section { padding: 80px 0; }
      .feature-showcase { grid-template-columns: 1fr; gap: 50px; margin-bottom: 60px; }
      .feature-showcase-media .frame { transform: none; }
      .floating-stat.tl { left: 12px; }
      .floating-stat.br { right: 12px; }
    }
    @media (max-width: 720px) {
      .feature-grid { grid-template-columns: 1fr; }
      .feature-section::before { display: none; }
      .floating-stat { padding: 10px 12px; }
      .floating-stat .ico { width: 30px; height: 30px; }
      .floating-stat .num { font-size: 15px; }
    }

  /* ================== 视频内嵌 ================== */
    .embed-video {
      position: relative;
      max-width: 960px;
      margin: 0 auto;
      border-radius: var(--gs-radius-lg);
      overflow: hidden;
      box-shadow: var(--gs-shadow-lg);
      background: #000;
      aspect-ratio: 16 / 9;
    }
    .embed-video iframe {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      border: 0;
    }

  /* ================== Speed · 影院级视频区 ================== */
    .speed-section {
      position: relative;
      padding: 120px 0 110px;
      overflow: hidden;
      background: linear-gradient(180deg, #ffffff 0%, #f7fafd 60%, #f0f5fa 100%);
      color: var(--gs-primary);
    }
    .speed-section::before {
      content: "";
      position: absolute; inset: 0;
      background:
        radial-gradient(900px 500px at 100% 0%, rgba(255, 186, 0, 0.12), transparent 60%),
        radial-gradient(800px 500px at 0% 100%, rgba(51, 120, 200, 0.10), transparent 60%);
      pointer-events: none;
    }
    .speed-section::after {
      content: "";
      position: absolute; inset: 0;
      background-image:
        linear-gradient(rgba(51, 77, 100, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(51, 77, 100, 0.05) 1px, transparent 1px);
      background-size: 60px 60px;
      -webkit-mask-image: radial-gradient(ellipse 80% 70% at 50% 50%, #000 30%, transparent 75%);
      mask-image: radial-gradient(ellipse 80% 70% at 50% 50%, #000 30%, transparent 75%);
      pointer-events: none;
    }
    .speed-section > .gs-container { position: relative; z-index: 1; }
    .speed-head {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 60px;
      align-items: end;
      margin-bottom: 56px;
    }
    .speed-eyebrow {
      display: inline-flex; align-items: center; gap: 10px;
      padding: 6px 16px;
      font-size: 11.5px; font-weight: 700; letter-spacing: 2.5px;
      color: var(--gs-accent-dark);
      background: #fff;
      border: 1px solid rgba(255, 186, 0, 0.35);
      border-radius: var(--gs-radius-pill);
      margin-bottom: 22px;
      text-transform: uppercase;
      box-shadow: 0 6px 16px rgba(255, 186, 0, 0.15);
    }
    .speed-eyebrow::before {
      content: ""; width: 7px; height: 7px; border-radius: 50%;
      background: var(--gs-accent); box-shadow: 0 0 10px var(--gs-accent);
    }
    .speed-head h2 {
      font-size: clamp(30px, 4vw, 48px);
      font-weight: 800; line-height: 1.15; letter-spacing: -0.5px;
      color: var(--gs-primary); margin-bottom: 18px; max-width: 720px;
    }
    .speed-head h2 em {
      font-style: normal;
      background: linear-gradient(120deg, var(--gs-accent), #ff8c00);
      -webkit-background-clip: text; background-clip: text;
      -webkit-text-fill-color: transparent;
    }
    .speed-head p {
      font-size: 15.5px; line-height: 1.85;
      color: var(--gs-text-soft); max-width: 720px;
    }
    .speed-stat {
      flex-shrink: 0; padding: 18px 24px;
      border-left: 2px solid var(--gs-accent);
      background: #fff;
      border-radius: 0 14px 14px 0;
      box-shadow: 0 10px 26px -10px rgba(255, 186, 0, 0.30);
    }
    .speed-stat .num {
      font-size: clamp(36px, 4.5vw, 54px);
      font-weight: 800; line-height: 1; letter-spacing: -2px;
      background: linear-gradient(135deg, var(--gs-accent), #ff8c00);
      -webkit-background-clip: text; background-clip: text;
      -webkit-text-fill-color: transparent;
    }
    .speed-stat .lbl {
      font-size: 12px; color: var(--gs-muted);
      letter-spacing: 1px; margin-top: 6px; text-transform: uppercase;
    }
    .speed-cinema {
      position: relative;
      max-width: 1080px; margin: 0 auto;
      border-radius: 22px; overflow: hidden;
      background: #000; aspect-ratio: 16 / 9;
      box-shadow:
        0 30px 60px -20px rgba(51, 77, 100, 0.35),
        0 0 0 1px rgba(51, 77, 100, 0.08),
        0 0 60px -10px rgba(255, 186, 0, 0.25);
    }
    .speed-cinema iframe {
      position: absolute; inset: 0; width: 100%; height: 100%; border: 0;
    }
    .speed-cinema::before {
      content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px;
      background: linear-gradient(90deg, transparent, var(--gs-accent) 30%, var(--gs-accent) 70%, transparent);
      z-index: 2;
    }
    .speed-foot {
      text-align: center; margin-top: 36px;
      font-size: 16px; color: var(--gs-primary); font-weight: 500;
    }
    .speed-foot a {
      color: var(--gs-accent-dark); font-weight: 700;
      border-bottom: 1px solid rgba(255, 186, 0, 0.5);
    }
    .speed-foot a:hover { border-color: var(--gs-accent); }
    @media (max-width: 880px) {
      .speed-section { padding: 80px 0; }
      .speed-head { grid-template-columns: 1fr; gap: 28px; }
      .speed-stat { border-left: none; border-top: 2px solid var(--gs-accent); border-radius: 0 0 12px 12px; }
    }

  /* ================== Communicate · 编号叙事 ================== */
    .communicate-section {
      position: relative; padding: 110px 0;
      background: #fff; overflow: hidden;
    }
    .communicate-section::before {
      content: ""; position: absolute; top: -100px; left: -100px;
      width: 320px; height: 320px;
      background: radial-gradient(circle, rgba(51, 120, 200, 0.10), transparent 70%);
      pointer-events: none;
    }
    .communicate-section > .gs-container { position: relative; z-index: 1; }
    .communicate-head {
      display: grid;
      grid-template-columns: 1.1fr 1fr;
      gap: 70px; align-items: center; margin-bottom: 60px;
    }
    .communicate-head .eyebrow {
      display: inline-block;
      font-size: 12px; font-weight: 700; letter-spacing: 3px;
      color: var(--gs-accent-dark); text-transform: uppercase;
      margin-bottom: 16px;
      position: relative; padding-left: 36px;
    }
    .communicate-head .eyebrow::before {
      content: ""; position: absolute; left: 0; top: 50%;
      width: 24px; height: 1px; background: var(--gs-accent-dark);
    }
    .communicate-head h2 {
      font-size: clamp(30px, 3.8vw, 46px);
      font-weight: 800; color: var(--gs-primary);
      line-height: 1.18; letter-spacing: -0.5px; margin-bottom: 22px;
    }
    .communicate-head h2 em {
      font-style: normal;
      background: linear-gradient(120deg, var(--gs-accent), #ff8c00);
      -webkit-background-clip: text; background-clip: text;
      -webkit-text-fill-color: transparent;
    }
    .communicate-head p {
      font-size: 16px; line-height: 1.9; color: var(--gs-text-soft);
      margin-bottom: 14px;
    }
    .communicate-pullquote {
      position: relative;
      padding: 40px 36px 36px 60px;
      background: linear-gradient(135deg, #fffaef 0%, #ffffff 70%);
      border: 1px solid rgba(255, 186, 0, 0.30);
      border-radius: 22px;
      box-shadow: 0 16px 40px -10px rgba(255, 186, 0, 0.18);
    }
    .communicate-pullquote::before {
      content: "\201C";
      position: absolute; left: 22px; top: 6px;
      font-family: Georgia, serif; font-size: 110px; line-height: 1;
      color: var(--gs-accent); opacity: 0.55;
    }
    .communicate-pullquote p {
      font-size: 17.5px; font-weight: 600; line-height: 1.7;
      color: var(--gs-primary);
    }
    .communicate-pullquote .by {
      margin-top: 16px; font-size: 13px;
      color: var(--gs-muted); letter-spacing: 0.3px;
    }
    .narrative-grid {
      display: grid; grid-template-columns: repeat(3, 1fr);
      gap: 22px; counter-reset: narrate;
    }
    .narrative-card {
      counter-increment: narrate;
      position: relative;
      padding: 38px 32px 30px;
      background: #fff; border: 1px solid var(--gs-border);
      border-radius: var(--gs-radius-lg);
      transition: transform .3s, box-shadow .3s, border-color .3s;
      overflow: hidden;
    }
    .narrative-card::before {
      content: "0" counter(narrate);
      position: absolute; top: -12px; right: 16px;
      font-size: 100px; font-weight: 800; letter-spacing: -5px;
      color: rgba(51,77,100,0.05); line-height: 1;
      font-family: ui-monospace,'SF Mono',Menlo,Consolas,monospace;
      pointer-events: none; transition: color .3s;
    }
    .narrative-card::after {
      content: ""; position: absolute;
      top: 38px; bottom: 38px; left: 0; width: 3px;
      background: linear-gradient(180deg, var(--gs-accent), #ff8c00);
      transform: scaleY(0); transform-origin: top;
      transition: transform .4s;
    }
    .narrative-card:hover {
      transform: translateY(-6px);
      border-color: rgba(255,186,0,0.5);
      box-shadow: 0 22px 44px -14px rgba(51,77,100,0.20);
    }
    .narrative-card:hover::before { color: rgba(255,186,0,0.12); }
    .narrative-card:hover::after { transform: scaleY(1); }
    .narrative-card .ico {
      width: 48px; height: 48px; border-radius: 12px;
      background: linear-gradient(135deg, var(--gs-primary), var(--gs-primary-light));
      color: #fff; display: flex; align-items: center; justify-content: center;
      margin-bottom: 22px;
      box-shadow: 0 8px 18px rgba(51,77,100,0.22);
    }
    .narrative-card .ico svg { width: 22px; height: 22px; }
    .narrative-card h3 {
      font-size: 18px; font-weight: 800;
      color: var(--gs-primary); margin-bottom: 12px;
      letter-spacing: -0.2px;
    }
    .narrative-card p {
      font-size: 14.5px; line-height: 1.85; color: var(--gs-text-soft);
    }
    @media (max-width: 980px) {
      .communicate-section { padding: 80px 0; }
      .communicate-head { grid-template-columns: 1fr; gap: 36px; margin-bottom: 50px; }
      .narrative-grid { grid-template-columns: 1fr; gap: 16px; }
    }

  /* ================== 图片画廊 · 幻灯片跑马灯 ================== */
    .gallery-section {
      position: relative; padding: 110px 0;
      overflow: hidden;
      background:
        radial-gradient(800px 500px at 90% 0%, rgba(255, 186, 0, 0.10), transparent 60%),
        radial-gradient(700px 500px at 10% 100%, rgba(51, 120, 200, 0.08), transparent 60%),
        var(--gs-bg-soft);
    }
    .gallery-section > .gs-container { position: relative; z-index: 1; }
    .gallery-head {
      text-align: center;
      max-width: 760px;
      margin: 0 auto 56px;
    }
    .gallery-head .eyebrow {
      display: inline-block;
      font-size: 12px; font-weight: 700; letter-spacing: 3px;
      color: var(--gs-accent-dark); text-transform: uppercase;
      margin-bottom: 14px;
    }
    .gallery-head h2 {
      font-size: clamp(28px, 3.6vw, 42px);
      font-weight: 800; color: var(--gs-primary);
      letter-spacing: -0.4px; line-height: 1.2; margin-bottom: 14px;
    }
    .gallery-head p {
      font-size: 15.5px; color: var(--gs-text-soft); line-height: 1.85;
    }
    /* 跑马灯容器 */
    .gallery-marquee {
      position: relative;
      overflow: hidden;
      margin: 0 -24px;
      padding: 12px 24px 16px;
      -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
      mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
    }
    .gallery-track {
      display: flex;
      gap: 22px;
      width: max-content;
      animation: gs-gallery-marquee 160s linear infinite;
    }
    .gallery-marquee:hover .gallery-track {
      animation-play-state: paused;
    }
    @keyframes gs-gallery-marquee {
      from { transform: translateX(0); }
      to { transform: translateX(-50%); }
    }
    /* 单张图片卡 */
    .gallery-item {
      position: relative;
      flex: 0 0 380px;
      aspect-ratio: 4 / 3;
      border-radius: 18px;
      overflow: hidden;
      background: #fff;
      box-shadow: 0 10px 26px -10px rgba(51, 77, 100, 0.25);
      transition: transform .4s ease, box-shadow .4s ease;
      cursor: pointer;
    }
    .gallery-item img {
      width: 100%; height: 100%; object-fit: cover;
      transition: transform .6s ease;
    }
    .gallery-item:hover {
      transform: translateY(-6px);
      box-shadow: 0 24px 48px -14px rgba(51, 77, 100, 0.30);
    }
    .gallery-item:hover img { transform: scale(1.06); }
    /* 标题永久浮层 */
    .gallery-item .meta {
      position: absolute; left: 0; right: 0; bottom: 0;
      padding: 22px 22px 18px;
      color: #fff;
      background: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.82) 80%);
      pointer-events: none;
    }
    .gallery-item .meta .tag {
      display: inline-block;
      padding: 3px 10px;
      font-size: 10.5px; font-weight: 700; letter-spacing: 1.5px;
      color: #1d1d1d;
      background: var(--gs-accent);
      border-radius: 4px;
      text-transform: uppercase;
      margin-bottom: 8px;
    }
    .gallery-item .meta h4 {
      font-size: 15.5px; font-weight: 700; line-height: 1.4;
    }
    @media (max-width: 680px) {
      .gallery-section { padding: 70px 0; }
      .gallery-item { flex: 0 0 280px; }
      .gallery-track { gap: 16px; }
    }
    @media (prefers-reduced-motion: reduce) {
      .gallery-track { animation: none; }
    }

  /* ================== Total Control · 控制面板版 ================== */
    .control-section {
      position: relative; padding: 110px 0;
      background: linear-gradient(180deg, #f7fafd 0%, #ffffff 100%);
      overflow: hidden;
    }
    .control-section::before {
      content: ""; position: absolute;
      top: 60px; right: -120px;
      width: 380px; height: 380px;
      background: radial-gradient(circle, rgba(255,186,0,0.12), transparent 70%);
      pointer-events: none;
    }
    .control-section > .gs-container { position: relative; z-index: 1; }
    .control-grid {
      display: grid;
      grid-template-columns: 0.85fr 1.15fr;
      gap: 70px; align-items: start;
    }
    /* 左侧粘性面板 */
    .control-panel {
      position: sticky; top: 100px;
      padding: 34px 30px;
      background: #fff;
      border: 1px solid var(--gs-border);
      border-radius: 22px;
      box-shadow: 0 18px 44px -14px rgba(51,77,100,0.18);
    }
    .control-panel .badge {
      display: inline-flex; align-items: center; gap: 8px;
      padding: 5px 14px;
      font-size: 11px; font-weight: 700; letter-spacing: 2.5px;
      color: var(--gs-accent-dark);
      background: rgba(255, 186, 0, 0.10);
      border: 1px solid rgba(255, 186, 0, 0.28);
      border-radius: var(--gs-radius-pill);
      margin-bottom: 22px; text-transform: uppercase;
    }
    .control-panel .badge::before {
      content: ""; width: 6px; height: 6px; border-radius: 50%;
      background: var(--gs-accent); box-shadow: 0 0 8px var(--gs-accent);
    }
    .control-panel h2 {
      font-size: clamp(26px, 3.2vw, 36px);
      font-weight: 800; color: var(--gs-primary);
      line-height: 1.22; letter-spacing: -0.4px; margin-bottom: 18px;
    }
    .control-panel h2 em {
      font-style: normal;
      background: linear-gradient(120deg, var(--gs-accent), #ff8c00);
      -webkit-background-clip: text; background-clip: text;
      -webkit-text-fill-color: transparent;
    }
    .control-panel p {
      font-size: 15px; line-height: 1.85;
      color: var(--gs-text-soft); margin-bottom: 14px;
    }
    .control-panel .pq {
      margin-top: 20px; padding: 16px 18px;
      background: linear-gradient(135deg, #fffaef 0%, #ffffff 100%);
      border-left: 3px solid var(--gs-accent);
      border-radius: 0 12px 12px 0;
      font-size: 14.5px; font-style: italic;
      color: var(--gs-primary); line-height: 1.7;
    }
    /* 右侧横向卡列表 */
    .control-list {
      display: flex; flex-direction: column; gap: 16px;
    }
    .control-card {
      position: relative;
      display: grid;
      grid-template-columns: 64px 1fr;
      gap: 22px; align-items: start;
      padding: 26px 28px;
      background: #fff;
      border: 1px solid var(--gs-border);
      border-radius: var(--gs-radius-lg);
      transition: transform .3s, box-shadow .3s, border-color .3s;
      overflow: hidden;
    }
    .control-card::before {
      content: ""; position: absolute;
      top: 0; right: 0; bottom: 0; width: 4px;
      background: linear-gradient(180deg, var(--gs-accent), #ff8c00);
      transform: scaleY(0); transform-origin: top;
      transition: transform .4s;
    }
    .control-card:hover {
      transform: translateX(-4px);
      border-color: rgba(255,186,0,0.5);
      box-shadow: 0 18px 36px -12px rgba(51,77,100,0.18);
    }
    .control-card:hover::before { transform: scaleY(1); }
    .control-card .ico {
      width: 56px; height: 56px;
      border-radius: 14px;
      background: linear-gradient(135deg, var(--gs-primary), var(--gs-primary-light));
      color: #fff;
      display: flex; align-items: center; justify-content: center;
      box-shadow: 0 10px 22px rgba(51,77,100,0.24);
      flex-shrink: 0;
    }
    .control-card .ico svg { width: 26px; height: 26px; }
    .control-card .body h3 {
      display: flex; align-items: center; gap: 12px;
      font-size: 18px; font-weight: 800;
      color: var(--gs-primary); margin-bottom: 10px;
      letter-spacing: -0.2px;
    }
    .control-card .body h3 .num {
      font-size: 12px; font-weight: 700;
      letter-spacing: 1.5px;
      padding: 3px 8px; border-radius: 6px;
      color: var(--gs-accent-dark);
      background: rgba(255,186,0,0.12);
      font-family: ui-monospace,'SF Mono',Menlo,Consolas,monospace;
    }
    .control-card .body p {
      font-size: 14.5px; line-height: 1.85; color: var(--gs-text-soft);
    }
    @media (max-width: 980px) {
      .control-section { padding: 80px 0; }
      .control-grid { grid-template-columns: 1fr; gap: 36px; }
      .control-panel { position: static; }
      .control-card { grid-template-columns: 1fr; gap: 16px; }
    }

  /* ================== 团队支持区 ================== */
    .support-section {
      padding: 100px 0;
      background: #fff;
    }
    .support-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 60px;
      align-items: center;
      margin-bottom: 70px;
    }
    .support-grid img {
      border-radius: var(--gs-radius-lg);
      box-shadow: var(--gs-shadow-md);
    }
    .support-grid h2 {
      font-size: clamp(28px, 3.6vw, 40px);
      font-weight: 800;
      color: var(--gs-primary);
      margin-bottom: 18px;
      line-height: 1.25;
    }
    .support-grid p {
      font-size: 16px;
      color: var(--gs-text-soft);
      line-height: 1.85;
      margin-bottom: 14px;
    }
    .resource-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 28px;
    }
    .resource-card {
      padding: 32px 30px;
      background: linear-gradient(180deg, #ffffff 0%, #f7fafd 100%);
      border: 1px solid var(--gs-border);
      border-radius: var(--gs-radius-lg);
    }
    .resource-card h3 {
      font-size: 19px;
      font-weight: 700;
      color: var(--gs-primary);
      margin-bottom: 12px;
    }
    .resource-card p {
      font-size: 14.5px;
      color: var(--gs-text-soft);
      line-height: 1.8;
      margin-bottom: 18px;
    }
    .resource-links {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }
    .resource-link {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 7px 14px;
      font-size: 13px;
      font-weight: 500;
      color: var(--gs-primary);
      background: rgba(51, 77, 100, 0.06);
      border-radius: var(--gs-radius-pill);
      transition: background 0.2s ease, color 0.2s ease;
    }
    .resource-link:hover {
      background: var(--gs-accent);
      color: #1d1d1d;
    }
    @media (max-width: 880px) {
      .support-section { padding: 70px 0; }
      .support-grid,
      .resource-grid { grid-template-columns: 1fr; gap: 30px; }
    }

  /* ================== FAQ · 双栏 + 装饰版 ================== */
    .faq-section {
      position: relative;
      padding: 110px 0;
      overflow: hidden;
      background:
        radial-gradient(700px 400px at 0% 0%, rgba(255, 186, 0, 0.08), transparent 60%),
        radial-gradient(700px 500px at 100% 100%, rgba(51, 120, 200, 0.08), transparent 60%),
        var(--gs-bg-soft);
    }
    .faq-section > .gs-container { position: relative; z-index: 1; }
    .faq-grid {
      display: grid;
      grid-template-columns: 0.85fr 1.15fr;
      gap: 60px;
      align-items: start;
    }
    /* 左侧粘性标题面板 */
    .faq-aside {
      position: sticky; top: 100px;
    }
    .faq-aside .eyebrow {
      display: inline-flex; align-items: center; gap: 10px;
      padding: 6px 14px;
      font-size: 11.5px; font-weight: 700; letter-spacing: 2.5px;
      color: var(--gs-accent-dark);
      background: #fff;
      border: 1px solid rgba(255, 186, 0, 0.32);
      border-radius: var(--gs-radius-pill);
      margin-bottom: 22px;
      text-transform: uppercase;
      box-shadow: 0 6px 16px rgba(255, 186, 0, 0.15);
    }
    .faq-aside .eyebrow::before {
      content: ""; width: 6px; height: 6px; border-radius: 50%;
      background: var(--gs-accent); box-shadow: 0 0 10px var(--gs-accent);
    }
    .faq-aside h2 {
      font-size: clamp(28px, 3.4vw, 42px);
      font-weight: 800; color: var(--gs-primary);
      line-height: 1.2; letter-spacing: -0.4px; margin-bottom: 18px;
    }
    .faq-aside h2 em {
      font-style: normal;
      background: linear-gradient(120deg, var(--gs-accent), #ff8c00);
      -webkit-background-clip: text; background-clip: text;
      -webkit-text-fill-color: transparent;
    }
    .faq-aside p {
      font-size: 15.5px; line-height: 1.85;
      color: var(--gs-text-soft); margin-bottom: 24px;
    }
    .faq-cta {
      padding: 22px 24px;
      background: #fff;
      border: 1px solid var(--gs-border);
      border-radius: 16px;
      box-shadow: 0 14px 32px -12px rgba(51, 77, 100, 0.18);
    }
    .faq-cta strong {
      display: block;
      font-size: 15px; color: var(--gs-primary); margin-bottom: 6px;
    }
    .faq-cta span {
      display: block;
      font-size: 13.5px; color: var(--gs-text-soft); margin-bottom: 14px;
      line-height: 1.6;
    }
    .faq-cta a {
      display: inline-flex; align-items: center; gap: 6px;
      font-size: 14px; font-weight: 700;
      color: var(--gs-accent-dark);
      border-bottom: 1px solid rgba(255, 186, 0, 0.5);
      padding-bottom: 1px;
    }
    .faq-cta a::after { content: "→"; }
    .faq-cta a:hover { border-color: var(--gs-accent); }

    /* 右侧 FAQ 列表 */
    .faq-list {
      counter-reset: faqn;
      display: flex; flex-direction: column; gap: 14px;
    }
    details.faq-item {
      counter-increment: faqn;
      position: relative;
      background: #fff;
      border: 1px solid var(--gs-border);
      border-radius: 16px;
      margin-bottom: 14px;
      overflow: hidden;
      transition: border-color 0.2s ease, box-shadow 0.2s ease;
    }
    details.faq-item[open] {
      border-color: rgba(255, 186, 0, 0.5);
      box-shadow: var(--gs-shadow-sm);
    }
    details.faq-item:hover {
      border-color: rgba(255, 186, 0, 0.4);
    }
    /* 左侧色条 — 展开时由上至下展开 */
    details.faq-item::before {
      content: "";
      position: absolute;
      left: 0; top: 18px; bottom: 18px; width: 3px;
      background: linear-gradient(180deg, var(--gs-accent), #ff8c00);
      transform: scaleY(0); transform-origin: top;
      transition: transform 0.4s ease;
    }
    details.faq-item[open]::before { transform: scaleY(1); }
    .faq-item summary {
      padding: 22px 28px 22px 32px;
      font-size: 16.5px;
      font-weight: 600;
      color: var(--gs-primary);
      cursor: pointer;
      list-style: none;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 16px;
    }
    .faq-item summary::-webkit-details-marker { display: none; }
    /* 序号 chip */
    .faq-item summary .qnum {
      flex-shrink: 0;
      display: inline-flex;
      width: 30px; height: 30px;
      align-items: center; justify-content: center;
      font-size: 12px; font-weight: 700;
      color: var(--gs-accent-dark);
      background: rgba(255, 186, 0, 0.12);
      border-radius: 8px;
      font-family: ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
      letter-spacing: 0.5px;
      transition: background 0.25s ease, color 0.25s ease;
    }
    details.faq-item[open] summary .qnum {
      background: linear-gradient(135deg, var(--gs-accent), #ff8c00);
      color: #1d1d1d;
    }
    .faq-item summary .qtxt { flex: 1; }
    /* 展开/收起图标 */
    .faq-item summary .qtoggle {
      flex-shrink: 0;
      width: 36px; height: 36px;
      border-radius: 50%;
      background: rgba(255, 186, 0, 0.10);
      display: flex; align-items: center; justify-content: center;
      color: var(--gs-accent-dark);
      transition: transform 0.3s ease, background 0.25s ease;
    }
    .faq-item summary .qtoggle::before {
      content: "+";
      font-size: 22px; font-weight: 300; line-height: 1;
    }
    .faq-item[open] summary .qtoggle {
      transform: rotate(135deg);
      background: var(--gs-accent);
      color: #1d1d1d;
    }
    .faq-content {
      padding: 4px 28px 26px 32px;
      font-size: 15px;
      line-height: 1.85;
      color: var(--gs-text-soft);
      border-top: 1px dashed var(--gs-border);
      margin-top: 0;
      padding-top: 18px;
    }
    .faq-content ul { margin: 10px 0 10px 22px; list-style: disc; }
    .faq-content li { margin-bottom: 6px; }
    .faq-content strong { color: var(--gs-primary); }
    .faq-content a { color: var(--gs-accent-dark); text-decoration: underline; }

    @media (max-width: 980px) {
      .faq-section { padding: 80px 0; }
      .faq-grid { grid-template-columns: 1fr; gap: 40px; }
      .faq-aside { position: static; }
    }
    @media (max-width: 560px) {
      .faq-section { padding: 70px 0; }
      .faq-item summary { padding: 18px 18px 18px 22px; font-size: 15px; gap: 12px; }
      .faq-item summary .qnum { width: 26px; height: 26px; font-size: 11px; }
      .faq-item summary .qtoggle { width: 32px; height: 32px; }
      .faq-content { padding: 16px 20px 20px 22px; }
    }
