:root {
  font-size: calc(100vw / 7.5);
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  min-width: 320px;
}

button, a {
  font: inherit;
}

button {
  appearance: none;
  border: 0;
  background: none;
  cursor: pointer;
}

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

img {
  max-width: 100%;
  vertical-align: middle;
}

@media (min-width: 750px) {
  :root { font-size: 100px; }

  body {
    background: linear-gradient(135deg, #F5F3FE 0%, #FFFFFF 50%, #F2F8D9 100%);
    min-height: 100vh;
  }

  .page {
    max-width: 750px;
    margin: 0 auto;
    background: var(--off-white);
    box-shadow: 0 0 80px rgba(0, 0, 0, 0.08);
    min-height: 100vh;
  }
}

@media (min-width: 1100px) {
  :root { font-size: 88px; }
}

/* app.wxss — 全局样式（自动注入到所有页面）*/
body {
  background-color: var(--off-white);
  color: var(--gray-700);
  font-family: 'PingFang SC', 'HarmonyOS Sans SC', 'Helvetica Neue', Helvetica, 'Microsoft YaHei', sans-serif;
  font-size: 0.28rem;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
}

*, *::before, *::after { box-sizing: border-box; }

/* 工具类：装饰字体（霞鹜文楷降级到衬线 + 系统中文）*/
.wenkai {
  font-family: 'STSong', 'KaiTi', 'STKaiti', serif;
  font-feature-settings: "palt";
  letter-spacing: 0.02em;
}

/* 工具类：英文/数字（小程序里 Inter 不可用 → 用 SF/Helvetica 衬底）*/
.inter {
  font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Helvetica, Arial, sans-serif;
  letter-spacing: 0;
}

/* ===== 字号层级 ===== */
.t-display { font-size: 0.72rem; line-height: 1.1; font-weight: 700; }
.t-h1      { font-size: 0.56rem; line-height: 1.2; font-weight: 700; }
.t-h2      { font-size: 0.44rem; line-height: 1.25; font-weight: 600; }
.t-h3      { font-size: 0.36rem; line-height: 1.3; font-weight: 600; }
.t-h4      { font-size: 0.32rem; line-height: 1.4; font-weight: 500; }
.t-body-l  { font-size: 0.3rem; line-height: 1.6; }
.t-body    { font-size: 0.28rem; line-height: 1.6; }
.t-body-s  { font-size: 0.24rem; line-height: 1.5; }
.t-cap     { font-size: 0.22rem; line-height: 1.4; }

/* ===== 按钮 ===== */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.12rem;
  padding: 0.24rem 0.4rem;
  border-radius: var(--radius-pill);
  font-size: 0.28rem;
  font-weight: 500;
  line-height: 1;
  border: none;
  text-align: center;
  letter-spacing: 0.02em;
}
.btn::after { border: none; }   /* 移除小程序 button 默认边框 */

.btn-primary {
  background: var(--gray-900);
  color: var(--white);
}
.btn-primary:active { background: var(--purple-500); }

.btn-ghost {
  background: var(--white);
  color: var(--gray-900);
  border: 1px solid var(--gray-900);
}
.btn-ghost:active { border-color: var(--purple-500); color: var(--purple-500); }

.btn-accent {
  background: var(--purple-500);
  color: var(--white);
  box-shadow: var(--shadow-purple);
}
.btn-accent:active { background: var(--purple-700); }

.btn-lg {
  padding: 0.32rem 0.56rem;
  font-size: 0.32rem;
}

/* ===== 卡片 ===== */
.card {
  background: var(--white);
  border: 1px solid var(--gray-100);
  border-radius: var(--radius-md);
  padding: 0.48rem;
}

.card-accent {
  background: var(--purple-50);
  border-radius: var(--radius-lg);
  padding: 0.64rem;
}

/* ===== 标签 / Tag ===== */
.tag {
  display: inline-flex;
  align-items: center;
  gap: 0.08rem;
  padding: 0.08rem 0.2rem;
  border-radius: var(--radius-pill);
  font-size: 0.22rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.02em;
}

.tag-purple {
  background: var(--purple-100);
  color: var(--purple-700);
}

.tag-firefly {
  background: var(--green-500);
  color: var(--gray-900);
  font-weight: 600;
}

.tag-light {
  background: rgba(255, 255, 255, 0.15);
  color: var(--white);
  backdrop-filter: blur(0.2rem);
}

/* ===== 萤火虫装饰点 ===== */
.firefly {
  position: absolute;
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 50%;
  /* 径向渐变 · 中心保持高亮、边缘 100% 完全透明，整团光线全靠 background 实现 */
  background: radial-gradient(circle,
    rgba(184, 214, 46, 0.85) 0%,
    rgba(184, 214, 46, 0.55) 18%,
    rgba(184, 214, 46, 0.30) 38%,
    rgba(184, 214, 46, 0.14) 60%,
    rgba(184, 214, 46, 0.05) 80%,
    rgba(184, 214, 46, 0) 100%);
  /* 不再使用 box-shadow 模拟外发光（避免边缘亮度跳变出现"白边"）*/
  animation: firefly-blink 3.2s infinite ease-in-out;
}

/* 大号变体 · 用于 hero 顶部主光团（基础 firefly 的 3 倍） */
.firefly-lg {
  width: 2.4rem;
  height: 2.4rem;
}

@keyframes firefly-blink {
  0%, 100% { opacity: 0.55; transform: scale(0.9); }
  50% { opacity: 1; transform: scale(1.2); }
}

/* ===== 区块标题 ===== */
.sec-overline {
  display: inline-block;
  font-size: 0.22rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  color: var(--purple-500);
  text-transform: uppercase;
  margin-bottom: 0.24rem;
}

.sec-title {
  font-size: 0.56rem;
  line-height: 1.25;
  font-weight: 700;
  color: var(--gray-900);
  letter-spacing: 0;
}

.sec-lead {
  font-size: 0.28rem;
  line-height: 1.7;
  color: var(--gray-700);
  margin-top: 0.24rem;
}

/* pages/index/index.wxss — 萤课小渡落地页 */

/* ============================================================
   全局
   ============================================================ */
.page {
  width: 100%;
  background: var(--off-white);
}

.screen {
  position: relative;
  padding: 0.96rem 0.4rem;
  overflow: hidden;
}

.hl {
  background: linear-gradient(transparent 60%, rgba(184, 214, 46, 0.5) 60%);
  padding: 0 0.04rem;
}

.strong { font-weight: 600; color: var(--gray-900); }

.btn-arrow {
  display: inline-block;
  margin-left: 0.04rem;
  font-size: 0.28rem;
}

/* ============================================================
   S1 · HERO
   ============================================================ */
.s-hero {
  background:
    radial-gradient(ellipse 60% 35% at 75% 22%, rgba(124, 110, 245, 0.14) 0%, transparent 70%),
    radial-gradient(ellipse 50% 35% at 25% 55%, rgba(184, 214, 46, 0.14) 0%, transparent 70%),
    var(--white);
  padding-top: 0.32rem;
  padding-bottom: 0.64rem;
}

.topnav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.16rem 0 0.48rem;
}
.tn-logo {
  display: flex;
  align-items: center;
  gap: 0.16rem;
}
.tn-logo-img {
  width: 0.56rem;
  height: 0.56rem;
}
.tn-logo-text {
  font-size: 0.32rem;
  font-weight: 600;
  color: var(--gray-900);
  letter-spacing: 0.02em;
}
.tn-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.08rem;
  padding: 0.14rem 0.26rem;
  background: var(--white);
  color: var(--gray-900);
  font-size: 0.24rem;
  border-radius: var(--radius-pill);
  font-weight: 500;
  border: 0.03rem solid var(--gray-900);
}
.tn-cta:active {
  border-color: var(--purple-500);
  color: var(--purple-500);
}
.tn-cta-arrow { font-size: 0.24rem; }

.hero-text {
  position: relative;
  z-index: 2;
  padding: 0.32rem 0 0.64rem;
}

.hero-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.12rem;
  padding: 0.12rem 0.24rem;
  background: var(--purple-50);
  border-radius: var(--radius-pill);
  margin-bottom: 0.48rem;
  font-size: 0.24rem;
  color: var(--purple-700);
}
.hero-tag .dot {
  width: 0.12rem;
  height: 0.12rem;
  border-radius: 50%;
  background: var(--green-500);
  box-shadow: 0 0 0.12rem var(--green-500);
}

.hero-title {
  font-size: 0.66rem;
  line-height: 1.3;
  font-weight: 800;
  color: var(--gray-900);
  letter-spacing: 0;
  margin-bottom: 0.4rem;
}
.hero-title-line {
  display: block;
  margin-top: 0.12rem;
}

.hero-sub {
  font-size: 0.3rem;
  line-height: 1.7;
  color: var(--gray-700);
  margin-bottom: 0;
}
.hero-sub-line {
  display: block;
  margin-top: 0.08rem;
  color: var(--gray-900);
  font-weight: 500;
}

/* Hero 服务说明行（次要信息，权重低于副标）*/
.hero-service {
  margin-top: 0.24rem;
  padding-top: 0.2rem;
  border-top: 1px solid var(--gray-100);
  font-size: 0.2rem;
  line-height: 1.4;
  color: var(--gray-500);
  letter-spacing: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.hero-ctas {
  display: flex;
  justify-content: center;
  margin-top: 0.48rem;
}
.hero-btn-primary {
  font-size: 0.26rem;
  padding: 0.2rem 0.4rem;
}

/* 装饰艺术卡（MiniMax 风格 · 浅紫 + 几何）*/
.art-card {
  position: relative;
  border-radius: var(--radius-xl);
  padding: 0.4rem 0.48rem;
  color: var(--gray-900);
  overflow: hidden;
  margin-bottom: 0;
  box-shadow: 0 0.16rem 0.48rem rgba(124, 110, 245, 0.15);
  /* 取材 s8 dark-cta 双光晕风格，但底色保留浅紫 */
  background:
    radial-gradient(ellipse at 80% 20%, rgba(124, 110, 245, 0.32) 0%, transparent 60%),
    radial-gradient(ellipse at 20% 80%, rgba(184, 214, 46, 0.20) 0%, transparent 60%),
    linear-gradient(135deg, #EDE7FE 0%, #DCD3FB 100%);
}

/* 隐藏装饰艺术卡里的萤火虫（在浅紫底上看不清）*/
.art-fly { display: none; }

.art-stamp {
  position: relative;
  z-index: 2;
  margin-bottom: 0.28rem;
  text-align: center;
}
.art-stamp-cn {
  display: inline-flex;
  align-items: center;
  gap: 0.14rem;
  padding: 0.14rem 0.32rem;
  background: var(--white);
  border-radius: var(--radius-pill);
  border: 1px solid rgba(124, 110, 245, 0.18);
  box-shadow:
    0 0.04rem 0.16rem rgba(124, 110, 245, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.8);
}
.art-stamp-dot {
  width: 0.12rem;
  height: 0.12rem;
  border-radius: 50%;
  background: var(--green-500);
  box-shadow: 0 0 0.12rem var(--green-500);
  flex: none;
}
.art-stamp-brand {
  font-size: 0.3rem;
  font-weight: 700;
  color: var(--purple-900);
  letter-spacing: 0.06em;
}
.art-stamp-sep {
  font-size: 0.3rem;
  color: var(--purple-300);
  font-weight: 400;
}
.art-stamp-role {
  font-size: 0.3rem;
  font-weight: 700;
  color: var(--purple-700);
  letter-spacing: 0.06em;
}

.art-trust {
  position: relative;
  z-index: 2;
  font-size: 0.32rem;
  line-height: 1.7;
  color: var(--gray-900);
  letter-spacing: 0.02em;
  font-family: 'STSong', 'KaiTi', 'STKaiti', serif;
  font-feature-settings: "palt";
  font-weight: 500;
  margin-bottom: 0.32rem;
}

.art-slogan {
  position: relative;
  z-index: 2;
  font-size: 0.24rem;
  line-height: 1.5;
  color: var(--green-700);
  letter-spacing: 0.04em;
  font-weight: 500;
  opacity: 1;
  padding-top: 0.24rem;
  border-top: 1px solid rgba(124, 110, 245, 0.18);
}
.art-slogan-line { display: block; margin-top: 0.04rem; }

/* 数据统计 */
.art-stats {
  display: flex;
  align-items: center;
  background: var(--white);
  border: 1px solid var(--gray-100);
  border-radius: var(--radius-lg);
  padding: 0.32rem 0.24rem;
  box-shadow: var(--shadow-sm);
}
.as-item {
  flex: 1;
  text-align: center;
}
.as-num {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 0.04rem;
  margin-bottom: 0.08rem;
}
.as-num .num {
  font-size: 0.56rem;
  font-weight: 700;
  color: var(--purple-500);
  line-height: 1;
}
.as-em {
  font-size: 0.22rem;
  color: var(--gray-500);
}
.as-num-text {
  font-size: 0.36rem;
  font-weight: 700;
  color: var(--purple-500);
  line-height: 1;
}
.as-lbl {
  font-size: 0.22rem;
  color: var(--gray-500);
  letter-spacing: 0.05em;
}
.as-divider {
  width: 1px;
  height: 0.56rem;
  background: var(--gray-100);
}

/* ============================================================
   通用 sec-head
   ============================================================ */
.sec-head { margin-bottom: 0.64rem; }
.sec-overline {
  display: inline-block;
  font-size: 0.22rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  color: var(--purple-500);
  margin-bottom: 0.24rem;
}
.sec-title {
  font-size: 0.56rem;
  line-height: 1.25;
  font-weight: 700;
  color: var(--gray-900);
  letter-spacing: 0;
}
.sec-title-line { display: block; }
.sec-lead {
  font-size: 0.28rem;
  line-height: 1.7;
  color: var(--gray-700);
  margin-top: 0.24rem;
}
.sec-lead-line {
  display: block;
}
.sec-lead-line-gap {
  margin-top: 0.16rem;
}
.sec-lead-strong {
  display: block;
  color: var(--gray-900);
  font-weight: 600;
}

/* ============================================================
   S2 · 痛点共鸣
   ============================================================ */
.s-pain {
  background:
    radial-gradient(ellipse 65% 40% at 40% 50%, rgba(26, 26, 26, 0.07) 0%, transparent 70%),
    radial-gradient(ellipse 55% 35% at 70% 50%, rgba(26, 26, 26, 0.05) 0%, transparent 70%),
    var(--white);
}
.pain-grid {
  display: flex;
  flex-direction: column;
  gap: 0.24rem;
  margin-top: 0.48rem;
  margin-bottom: 0.96rem;
}
/* 痛点卡：紫色单色渐进（4 档浓度从深到浅）+ 三行版式 */
.pain-card {
  border-radius: var(--radius-lg);
  padding: 0.36rem;
}

/* 4 档灰色浓淡渐进 · 困境从浓到淡，自然过渡到下一屏紫色木桶图（解法登场）*/
.pc-shade-1 {
  background: linear-gradient(135deg, #E8E8EC 0%, #ECECF0 100%);
  border: 1px solid rgba(26, 26, 26, 0.10);
}
.pc-shade-2 {
  background: linear-gradient(135deg, #ECECF0 0%, #F0F0F4 100%);
  border: 1px solid rgba(26, 26, 26, 0.08);
}
.pc-shade-3 {
  background: linear-gradient(135deg, #F0F0F4 0%, #F5F5F8 100%);
  border: 1px solid rgba(26, 26, 26, 0.06);
}
.pc-shade-4 {
  background: linear-gradient(135deg, #F5F5F8 0%, #FAFAFC 100%);
  border: 1px solid rgba(26, 26, 26, 0.04);
}

/* 第一行：编号 + 标题（同行）*/
.pc-head {
  display: flex;
  align-items: baseline;
  gap: 0.2rem;
  margin-bottom: 0.16rem;
}
.pc-ix {
  flex: none;
  font-size: 0.44rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.02em;
  color: var(--gray-900);
  opacity: 0.35;
}
.pc-title {
  flex: 1;
  font-size: 0.34rem;
  line-height: 1.4;
  font-weight: 600;
  color: var(--gray-900);
  letter-spacing: 0.01em;
}

/* 第二行：徽章（独占一行）*/
.pc-badge-row {
  margin-bottom: 0.24rem;
}
.pc-badge {
  display: inline-block;
  padding: 0.08rem 0.18rem;
  border-radius: var(--radius-pill);
  font-size: 0.22rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  background: rgba(255, 255, 255, 0.7);
  color: var(--gray-700);
  border: 1px solid rgba(26, 26, 26, 0.15);
}

/* 第三行：正文 */
.pc-body {
  font-size: 0.26rem;
  line-height: 1.8;
  color: var(--gray-700);
}

/* ===== 顾问 Insight 卡（取材报告系统 .insight-c · 小程序适配版）===== */
.insight-c {
  position: relative;
  margin: 1.6rem 0 0.32rem;
  padding: 0.32rem 0.36rem;
  border-radius: 0.56rem;
  background: linear-gradient(135deg, #1e1a2e 0%, #1a1a2a 40%, #161820 100%);
  color: var(--white);
  overflow: hidden;
  box-shadow:
    0 0.32rem 0.96rem rgba(0, 0, 0, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
}
/* 顶部高光线（::after 在小程序里也能用，但因为 .insight-c-glow 已有装饰，简化掉）*/

/* 萤光绿光晕（右上）*/
.insight-c-glow-green {
  position: absolute;
  top: -1.2rem;
  right: -0.8rem;
  width: 5.2rem;
  height: 5.2rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(184, 214, 46, 0.22) 0%, rgba(184, 214, 46, 0.06) 45%, transparent 70%);
  z-index: 1;
  pointer-events: none;
}

/* 紫色光晕（左下）*/
.insight-c-glow-purple {
  position: absolute;
  bottom: -1.6rem;
  left: -1.2rem;
  width: 6.4rem;
  height: 6.4rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(124, 110, 245, 0.18) 0%, rgba(124, 110, 245, 0.05) 50%, transparent 70%);
  z-index: 1;
  pointer-events: none;
}

.insight-c-inner {
  position: relative;
  z-index: 3;
}

.insight-c-header {
  display: flex;
  align-items: center;
  gap: 0.16rem;
  margin-bottom: 0.32rem;
}
.firefly-glow {
  width: 0.16rem;
  height: 0.16rem;
  border-radius: 50%;
  background: var(--green-500);
  box-shadow: 0 0 0.24rem var(--green-500), 0 0 0.48rem rgba(184, 214, 46, 0.4);
}
.insight-c-label {
  font-size: 0.22rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  color: var(--green-500);
}
.insight-c-logo {
  margin-left: auto;
  width: 0.56rem;
  height: 0.56rem;
}
.insight-c-title {
  font-size: 0.28rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.7);
  opacity: 1;
  margin-bottom: 0.12rem;
  letter-spacing: 0.02em;
}
.insight-c-body {
  font-size: 0.4rem;
  line-height: 1.55;
  color: var(--white);
  letter-spacing: 0.02em;
  font-weight: 500;
}
.insight-c-body .strong {
  color: var(--white);
  font-weight: 600;
}

.insight-c-footer {
  margin-top: 0.24rem;
  padding-top: 0.2rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  display: flex;
  align-items: center;
  gap: 0.16rem;
}
.wang-avatar-mini {
  width: 0.48rem;
  height: 0.48rem;
  border-radius: 50%;
  border: 1px solid rgba(184, 214, 46, 0.6);
  background: transparent;
}
.wang-credit {
  font-size: 0.18rem;
  color: rgba(255, 255, 255, 0.5);
  letter-spacing: 0.05em;
}

/* ============================================================
   S3 · 方法论
   ============================================================ */
.s-method {
  background:
    radial-gradient(ellipse 65% 35% at 30% 35%, rgba(124, 110, 245, 0.22) 0%, transparent 70%),
    radial-gradient(ellipse 55% 35% at 75% 78%, rgba(184, 214, 46, 0.20) 0%, transparent 70%),
    var(--white);
}

/* 木桶图 */
.bucket-fig {
  margin: 0.48rem 0 0.64rem;
  text-align: center;
}
.bucket-image {
  width: 100%;
  max-width: 6rem;
  height: auto;
  display: block;
  margin: 0 auto;
}
.bucket-cap {
  font-size: 0.28rem;
  line-height: 1.7;
  color: var(--gray-700);
  text-align: center;
  margin-top: 0.24rem;
}
.bucket-cap-line { display: block; }

/* 方法卡片 */
.method-grid {
  display: flex;
  flex-direction: column;
  gap: 0.24rem;
}
.method-card {
  background: var(--white);
  border: 1px solid var(--gray-100);
  border-radius: var(--radius-lg);
  padding: 0.4rem 0.32rem;
  box-shadow: 0 0.04rem 0.2rem rgba(124, 110, 245, 0.04);
}

/* 头部：图标 + 标题区，横向对齐 */
.mc-head {
  display: flex;
  align-items: center;
  gap: 0.24rem;
  margin-bottom: 0.24rem;
}

/* 图标容器：72×0.72rem 圆角块，浅紫底，跟主色系一致 */
.mc-glyph {
  flex: none;
  width: 0.88rem;
  height: 0.88rem;
  border-radius: var(--radius-md);
  background: linear-gradient(135deg, var(--green-100) 0%, #E8F0C8 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(184, 214, 46, 0.25);
}
.mc-icon {
  width: 0.48rem;
  height: 0.48rem;
}

/* 标题区：标题/编号同行 + 副标在下 */
.mc-head-text {
  flex: 1;
  min-width: 0;
}
.mc-title-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.16rem;
  margin-bottom: 0.06rem;
}
.mc-title {
  font-size: 0.36rem;
  font-weight: 600;
  color: var(--gray-900);
  letter-spacing: 0.02em;
}
.mc-ix {
  flex: none;
  font-size: 0.28rem;
  font-weight: 800;
  color: var(--green-500);
  letter-spacing: 0.05em;
  opacity: 0.7;
}
.mc-tagline {
  display: inline-block;
  font-size: 0.22rem;
  color: var(--gray-900);
  font-weight: 600;
  letter-spacing: 0.02em;
  background: transparent;
  border: 1px solid var(--green-500);
  padding: 0.04rem 0.14rem;
  border-radius: var(--radius-pill);
}

/* 分隔线 */
.mc-divider {
  height: 1px;
  background: linear-gradient(90deg, rgba(124, 110, 245, 0.15) 0%, transparent 100%);
  margin-bottom: 0.24rem;
}

/* 正文 */
.mc-body {
  font-size: 0.26rem;
  line-height: 1.75;
  color: var(--gray-700);
}

/* ============================================================
   S4 · 创始人 / about-team 完整团队介绍（共用 .s-founder 容器）
   ============================================================ */
.s-founder {
  padding: 0.64rem 0.4rem;
  background:
    radial-gradient(ellipse 60% 40% at 70% 50%, rgba(58, 46, 143, 0.18) 0%, transparent 70%),
    radial-gradient(ellipse 50% 35% at 25% 50%, rgba(124, 110, 245, 0.12) 0%, transparent 70%),
    var(--white);
}

/* ============================================================
   S4 名片版 · 关于我们（hero 后第一站，30 秒读完）
   ----------------------------------------------------------
   头像 + 名 + 职衔 + 锚点 + 金句 + 「了解完整团队 →」按钮
*/
.s-founder-card {
  /* 名片版背景更克制，光晕收一些 · 让 hero 之后的过渡更轻盈 */
  background:
    radial-gradient(ellipse 50% 35% at 70% 50%, rgba(58, 46, 143, 0.10) 0%, transparent 70%),
    radial-gradient(ellipse 40% 30% at 25% 50%, rgba(124, 110, 245, 0.08) 0%, transparent 70%),
    var(--white);
}

/* 裸排容器：无底色 / 无边框 / 无阴影，靠垂直节奏建立归属感 */
.fc-bare {
  display: flex;
  flex-direction: column;
  padding: 0.24rem 0.08rem 0.08rem;
}

/* 头部与金句之间的极淡分隔线 */
.fc-divider {
  width: 0.8rem;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--purple-300), transparent);
  margin: 0.36rem auto;
}

.fc-header {
  display: flex;
  align-items: center;
  gap: 0.24rem;
  margin-bottom: 0.28rem;
}
.fc-avatar {
  flex: none;
  width: 1.44rem;
  height: 1.44rem;
  border-radius: 50%;
  overflow: hidden;
  border: 0.04rem solid var(--white);
  box-shadow: 0 0.08rem 0.24rem rgba(124, 110, 245, 0.18);
}
.fc-avatar-img {
  width: 100%;
  height: 100%;
}
.fc-meta {
  flex: 1;
  min-width: 0;
}
.fc-name {
  display: flex;
  align-items: baseline;
  gap: 0.12rem;
  margin-bottom: 1px;
}
.fc-cn {
  font-size: 0.4rem;
  font-weight: 700;
  color: var(--gray-900);
  letter-spacing: 0.04em;
}
.fc-en {
  font-size: 0.22rem;
  color: var(--gray-500);
  letter-spacing: 0.06em;
}
.fc-role {
  font-size: 0.24rem;
  color: var(--purple-700);
  font-weight: 600;
  letter-spacing: 0.04em;
  margin-bottom: 0.04rem;
}
.fc-anchor {
  font-size: 0.22rem;
  color: var(--gray-700);
  line-height: 1.4;
  letter-spacing: 0.02em;
}

.fc-quote {
  position: relative;
  font-size: 0.38rem;
  line-height: 1.5;
  font-weight: 600;
  color: var(--purple-900);
  text-align: center;
  padding: 0 0.04rem;
  letter-spacing: 0.02em;
}
/* 双行金句容器：第一行三阶递进 + 第二行结果落点 */
.fc-quote-line {
  display: block;
  white-space: nowrap;
  font-size: 0.32rem;
}
.fc-quote-result {
  margin-top: 0.16rem;
  font-size: 0.38rem;
}
/* 三个关键词「定方向 · 改思维 · 练能力」紫色加粗 */
.fc-quote-key {
  color: var(--purple-700);
  font-weight: 700;
  letter-spacing: 0.02em;
}
/* 关键词之间的分隔点 */
.fc-quote-sep {
  color: var(--purple-300);
  margin: 0 0.04rem;
  font-weight: 400;
}
.fc-quote-mark {
  color: var(--purple-300);
  font-weight: 700;
}
/* 落点结果「Offer 拿稳」萤光绿下划线 */
.fc-quote-em {
  color: var(--gray-900);
  font-weight: 700;
  background: linear-gradient(180deg, transparent 62%, rgba(184, 214, 46, 0.55) 62%);
  padding: 0 0.04rem;
}

/* 「了解完整团队 →」次按钮，沿用品牌规范 6.2 次按钮风格 */
.fc-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.14rem;
  align-self: center;
  margin: 0 auto;
  padding: 0.18rem 0.36rem;
  background: var(--white);
  border: 1px solid var(--gray-900);
  border-radius: 9.99rem;
  width: max-content;
  max-width: 100%;
  /* 在 .fc-bare 这个 flex 容器里居中（容器本身已是 flex column） */
  margin-left: auto;
  margin-right: auto;
  margin-top: 0.32rem;
}
.fc-action-text {
  font-size: 0.26rem;
  font-weight: 500;
  color: var(--gray-900);
  letter-spacing: 0.02em;
  line-height: 1.3;
}
.fc-action-arrow {
  width: 0.14rem;
  height: 0.14rem;
  position: relative;
}
.fc-action-arrow::before {
  /* 向右箭头 → */
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.1rem;
  height: 0.1rem;
  border-top: 1px solid var(--gray-900);
  border-right: 1px solid var(--gray-900);
  transform: translate(-65%, -50%) rotate(45deg);
}

.founder-card {
  display: flex;
  flex-direction: column;
  gap: 0.24rem;
  margin: 0 auto 0.32rem;
  max-width: 6.4rem;
}
/* 头像内嵌在 founder-bio 卡片右上角 */
.fb-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.16rem;
  margin-bottom: 0.24rem;
}
.fb-header-text {
  flex: 1;
  min-width: 0;
}
.fb-avatar {
  flex: none;
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 50%;
  overflow: hidden;
  background: var(--purple-50);
  box-shadow: 0 0.08rem 0.24rem rgba(124, 110, 245, 0.18);
}
.fb-avatar-img {
  width: 100%;
  height: 100%;
  display: block;
}

.founder-bio {
  background: var(--white);
  padding: 0.36rem 0.32rem;
  border-radius: var(--radius-lg);
  border: 1px solid var(--gray-100);
}
.fb-name {
  display: flex;
  align-items: baseline;
  gap: 0.1rem;
  margin-bottom: 0.04rem;
}
.fb-cn {
  font-size: 0.36rem;
  font-weight: 700;
  color: var(--gray-900);
  letter-spacing: 0.04em;
}
.fb-en {
  font-size: 0.22rem;
  color: var(--gray-500);
  letter-spacing: 0.02em;
}
.fb-role {
  font-size: 0.22rem;
  color: var(--purple-500);
  font-weight: 500;
}

/* ============================================================
   完整团队页 · 创始人肖像区（① 个人经历段落起始）
   ============================================================ */
.fb-founder {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 0.32rem;
  padding-bottom: 0.24rem;
  border-bottom: 1px solid var(--gray-100);
}
.fb-founder-portrait {
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  overflow: hidden;
  border: 0.04rem solid var(--white);
  box-shadow: 0 0.12rem 0.32rem rgba(124, 110, 245, 0.20);
  margin-bottom: 0.24rem;
}
.fb-founder-img {
  width: 100%;
  height: 100%;
}
.fb-founder-meta {
  text-align: center;
}
.fb-founder-name {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 0.12rem;
  margin-bottom: 0.06rem;
}
.fb-founder-cn {
  font-size: 0.4rem;
  font-weight: 700;
  color: var(--gray-900);
  letter-spacing: 0.04em;
}
.fb-founder-en {
  font-size: 0.22rem;
  color: var(--gray-500);
  letter-spacing: 0.06em;
}
.fb-founder-role {
  font-size: 0.24rem;
  color: var(--purple-700);
  font-weight: 600;
  letter-spacing: 0.04em;
}

.fb-list {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  margin-bottom: 0.24rem;
  padding-bottom: 0.24rem;
  border-bottom: 1px solid var(--gray-100);
}
.fb-li {
  display: flex;
  gap: 0.12rem;
  font-size: 0.22rem;
  line-height: 1.55;
  color: var(--gray-500);
}
.fb-li .strong {
  color: var(--gray-700);
  font-weight: 500;
}
.fbl-dot {
  flex: none;
  width: 0.06rem;
  height: 0.06rem;
  border-radius: 50%;
  background: var(--purple-300);
  margin-top: 0.14rem;
}
.fb-note {
  font-size: 0.26rem;
  line-height: 1.7;
  color: var(--gray-700);
  padding: 0.24rem;
  background: var(--purple-50);
  border-radius: var(--radius-md);
  margin-bottom: 0.32rem;
}

/* 价值转译层 v5 · 3 张资历卡 + 点睛金句 */
.fb-translate {
  margin: 0.32rem 0 0.28rem;
}
.ft-lead {
  font-size: 0.26rem;
  font-weight: 600;
  color: var(--gray-900);
  margin-bottom: 0.2rem;
  letter-spacing: 0.02em;
}
.ft-card {
  background: var(--purple-50);
  border-radius: var(--radius-md);
  padding: 0.24rem 0.28rem;
  margin-bottom: 0.16rem;
}
/* 折叠态卡片 · 标题行点击切换 */
.ft-card-collapsible {
  transition: background 0.2s ease;
}
.ft-card-collapsible:active {
  background: var(--purple-100);
}
.ft-card-head-row {
  display: flex;
  align-items: center;
  gap: 0.16rem;
}
.ft-card-collapsible .ft-card-head {
  flex: 1;
  margin-bottom: 0;
}
.ft-card-collapsible.is-open .ft-card-head {
  margin-bottom: 0.12rem;
}
.ft-card-chev {
  flex: none;
  width: 0.32rem;
  height: 0.32rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.22rem;
  color: var(--gray-500);
  transition: transform 0.25s ease;
}
.ft-card-chev-open {
  transform: rotate(180deg);
}
.ft-card-head {
  font-size: 0.24rem;
  font-weight: 400;
  color: var(--gray-900);
  margin-bottom: 0.12rem;
  letter-spacing: 0.02em;
}
/* 展开态标题加重，强调当前焦点 */
.ft-card-collapsible.is-open .ft-card-head {
  font-weight: 600;
}
.ft-card-body {
  font-size: 0.24rem;
  line-height: 1.7;
  color: var(--gray-700);
}
.ft-card-body .strong {
  display: block;
  margin-top: 0.04rem;
  color: var(--gray-900);
  font-weight: 600;
}
.ft-coda {
  margin-top: 0.24rem;
  padding: 0.2rem 0;
  text-align: center;
  font-size: 0.28rem;
  line-height: 1.6;
  color: var(--purple-700);
  letter-spacing: 0.04em;
}
/* 开场版：金句作为开场宣言，独立区块、视觉冲击力强 */
.ft-coda-opener {
  position: relative;
  margin-top: 0;
  margin-bottom: 0.32rem;
  padding: 0.32rem 0 0.36rem;
  border-top: 0.04rem solid transparent;
  border-bottom: 1px solid rgba(124, 110, 245, 0.15);
  background:
    linear-gradient(90deg, transparent, rgba(184, 214, 46, 0.08), transparent);
}
/* 顶部紫绿渐变细线 · 强化区块边界与品牌色 */
.ft-coda-opener::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 0.8rem;
  height: 0.04rem;
  border-radius: 1px;
  background: linear-gradient(90deg, var(--purple-500), var(--green-500));
}
.ft-coda-opener .ft-coda-line {
  font-size: 0.38rem;
  font-weight: 600;
  line-height: 1.5;
  margin-top: 0.1rem;
  letter-spacing: 0.02em;
  white-space: normal;
}
.ft-coda-line {
  display: block;
  color: var(--gray-900);
  font-weight: 500;
  margin-top: 0.04rem;
  font-size: 0.24rem;
  letter-spacing: 0;
  white-space: nowrap;
}
.ft-coda-hl {
  background: linear-gradient(transparent 60%, rgba(184, 214, 46, 0.5) 60%);
  padding: 0 0.04rem;
}
.fb-team {
  background: var(--off-white);
  padding: 0.24rem;
  border-radius: var(--radius-md);
}
.ft-label {
  font-size: 0.22rem;
  color: var(--gray-500);
  letter-spacing: 0.05em;
  margin-bottom: 0.16rem;
}
.ft-row {
  display: flex;
  align-items: center;
}
.ft-av {
  width: 0.72rem;
  height: 0.72rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: var(--purple-50);
  border: 1px solid var(--white);
  box-shadow: 0 1px 0.06rem rgba(0, 0, 0, 0.08);
  margin-left: -0.12rem;  /* 相邻头像略微叠压，形成团队感 */
}
.ft-av:first-child { margin-left: 0; }
.ft-av.main {
  border-color: var(--green-500);
  box-shadow: 0 1px 0.08rem rgba(184, 214, 46, 0.4);
  z-index: 2;
  position: relative;
}
.ft-av-image {
  width: 100%;
  height: 100%;
  display: block;
}
.ft-av-text {
  margin-left: 0.08rem;
  font-size: 0.22rem;
  color: var(--gray-500);
}

.founder-quote {
  position: relative;
  background: var(--gray-900);
  border-radius: var(--radius-xl);
  padding: 0.64rem 0.48rem 0.48rem;
  text-align: center;
  color: var(--white);
  overflow: hidden;
}
.founder-quote::before {
  content: '';
  position: absolute;
  bottom: -0.4rem;
  right: -0.4rem;
  width: 2rem;
  height: 2rem;
  background: radial-gradient(circle, rgba(184, 214, 46, 0.18) 0%, transparent 70%);
  pointer-events: none;
}
.fq-mark {
  position: absolute;
  top: 0.16rem;
  left: 0.32rem;
  font-size: 1.2rem;
  color: var(--purple-500);
  opacity: 0.4;
  line-height: 1;
}
.fq-text {
  font-size: 0.4rem;
  line-height: 1.5;
  position: relative;
  z-index: 2;
  margin-bottom: 0.32rem;
}
.fq-text-line { display: block; margin-top: 0.08rem; }
.fq-sig {
  position: relative;
  z-index: 2;
  font-size: 0.24rem;
  color: var(--green-500);
  letter-spacing: 0.05em;
}

/* ============================================================
   S5 · 服务总览表
   ============================================================ */
.s-overview {
  background:
    radial-gradient(ellipse 60% 40% at 35% 50%, rgba(124, 110, 245, 0.14) 0%, transparent 70%),
    radial-gradient(ellipse 50% 35% at 75% 50%, rgba(124, 110, 245, 0.09) 0%, transparent 70%),
    var(--white);
}

/* s5 重构 · 三大服务形态卡（按投入深度分类导航）
   ----------------------------------------------------------
   每张卡：编号 + 形态名 + 副标 + 标签 / 适合谁 / 我们怎么做 / 包含产品 / CTA
   点击整张卡跳到 s6 对应集群（cluster-1/2/3）
*/
.form-list {
  display: flex;
  flex-direction: column;
  gap: 0.24rem;
  margin-bottom: 0.48rem;
}

/* ============ 卡片基础 · 借鉴报告模板 .trace-a 玻璃片质感 ============
   特征：大圆角 0.56rem + 多重阴影（外阴影 + inset 白描边）
   + 顶部 1px 横向高光线（替代左侧竖条）
   + 角落 glow 辉光（仅紫绿卡）
*/
.form-card {
  position: relative;
  border-radius: 0.4rem;
  padding: 0;
  overflow: hidden;
  transition: box-shadow 0.2s ease, transform 0.15s ease;
  box-shadow:
    0 0.16rem 0.64rem rgba(124, 110, 245, 0.10),
    0 0 0 1px rgba(255, 255, 255, 0.85) inset,
    0 1px 0 rgba(255, 255, 255, 1) inset;
}
.form-card::after {
  /* 顶部 1px 高光横线（替代左侧竖条，是 trace-a 标志性细节） */
  content: '';
  position: absolute;
  top: 0;
  left: 10%;
  right: 10%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.95) 50%, transparent);
  z-index: 2;
}
.form-card:active {
  transform: scale(0.99);
}
.form-inner {
  position: relative;
  z-index: 3;
  padding: 0.32rem 0.36rem 0.28rem;
}

/* 角落辉光（绝对定位 · 浮在底色之上、内容之下） */
.form-glow {
  position: absolute;
  z-index: 1;
  pointer-events: none;
}
.form-glow-tr {
  top: -1.2rem;
  right: -1rem;
  width: 5.6rem;
  height: 5.6rem;
  background: radial-gradient(circle, rgba(124, 110, 245, 0.28) 0%, rgba(124, 110, 245, 0.08) 45%, transparent 70%);
}
.form-glow-bl {
  bottom: -1.4rem;
  left: -1rem;
  width: 6rem;
  height: 6rem;
  background: radial-gradient(circle, rgba(184, 214, 46, 0.22) 0%, rgba(184, 214, 46, 0.05) 50%, transparent 70%);
}
.form-glow-tr-green {
  background: radial-gradient(circle, rgba(184, 214, 46, 0.26) 0%, rgba(184, 214, 46, 0.06) 50%, transparent 70%);
}
.form-glow-bl-green {
  background: radial-gradient(circle, rgba(184, 214, 46, 0.22) 0%, rgba(138, 168, 31, 0.06) 50%, transparent 70%);
}
.form-glow-bl-purple {
  background: radial-gradient(circle, rgba(124, 110, 245, 0.24) 0%, rgba(90, 76, 209, 0.06) 50%, transparent 70%);
}

/* === 变体 ① 紫色调 · 深度陪跑 === */
.form-card-purple {
  background: linear-gradient(135deg, #F8F6FF 0%, #F3F0FE 50%, #EEF0FF 100%);
  border: 1px solid rgba(124, 110, 245, 0.14);
}
.form-card-purple:active {
  box-shadow:
    0 0.24rem 0.64rem rgba(124, 110, 245, 0.20),
    0 0 0 1px rgba(255, 255, 255, 0.85) inset;
}
.form-card-purple .form-num { color: var(--purple-500); }
.form-card-purple .form-row-h { color: var(--purple-700); }
/* 紫卡场景下的标签：与浅紫底色拉开对比 */
.form-card-purple .form-tag.tag-purple {
  background: var(--purple-500);
  color: var(--white);
  font-weight: 600;
}

/* === 变体 ② 绿色调 · 单项服务 === */
.form-card-green {
  background: linear-gradient(135deg, #F8FCEA 0%, #F2F8D9 50%, #EEF4D0 100%);
  border: 1px solid rgba(184, 214, 46, 0.32);
  box-shadow:
    0 0.16rem 0.64rem rgba(184, 214, 46, 0.12),
    0 0 0 1px rgba(255, 255, 255, 0.85) inset,
    0 1px 0 rgba(255, 255, 255, 1) inset;
}
.form-card-green:active {
  box-shadow:
    0 0.24rem 0.64rem rgba(184, 214, 46, 0.22),
    0 0 0 1px rgba(255, 255, 255, 0.85) inset;
}
.form-card-green .form-num { color: var(--green-700); }
.form-card-green .form-row-h { color: var(--green-700); }


/* ============ 卡头 ============ */
.form-head {
  display: flex;
  gap: 0.14rem;
  align-items: flex-start;
  padding-bottom: 0.18rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  margin-bottom: 0.22rem;
}
.form-num {
  flex: none;
  width: 0.72rem;
  font-size: 0.36rem;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.05;
}
.form-head-text {
  flex: 1;
  min-width: 0;
}
.form-name {
  font-size: 0.32rem;
  font-weight: 700;
  color: var(--gray-900);
  letter-spacing: 0.02em;
  line-height: 1.3;
  margin-bottom: 0.06rem;
}
.form-sub {
  font-size: 0.23rem;
  color: var(--gray-500);
  line-height: 1.5;
  letter-spacing: 0.02em;
}
.form-tag {
  flex: 0 0 auto;
  align-self: flex-start;
  margin-top: 0.04rem;
  /* 兜底：确保 inline-flex 标签在 flex 父容器里能正确显示底色 */
  display: inline-flex;
  white-space: nowrap;
}

/* ============ 内容行 · label 上 / body 下 ============ */
.form-row {
  margin-bottom: 0.14rem;
}
.form-row:last-of-type { margin-bottom: 0; }
.form-row-h {
  display: block;
  font-size: 0.24rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  margin-bottom: 0.04rem;
}
.form-row-body {
  display: block;
  font-size: 0.26rem;
  line-height: 1.62;
  color: var(--gray-900);
  font-weight: 500;
  letter-spacing: 0.01em;
}

/* ============ CTA · 品牌规范圆形按钮（白底 / 黑圈 / 内向右箭头）============ */
.form-cta-row {
  margin-top: 0.22rem;
  padding-top: 0.18rem;
  border-top: 1px dashed rgba(0, 0, 0, 0.08);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.16rem;
}
.form-cta-text {
  font-size: 0.26rem;
  font-weight: 600;
  color: var(--gray-900);
  letter-spacing: 0.04em;
}
.form-cta-circle {
  flex: none;
  width: 0.6rem;
  height: 0.6rem;
  border-radius: 50%;
  background: var(--white);
  border: 1px solid var(--gray-900);
  position: relative;
}
.form-cta-circle::before {
  /* 圆心向右的箭头 → */
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.14rem;
  height: 0.14rem;
  border-top: 1px solid var(--gray-900);
  border-right: 1px solid var(--gray-900);
  transform: translate(-65%, -50%) rotate(45deg);
}

/* ============================================================
   方案 E · 暖橘玻璃片（与紫绿卡同款工艺，只换主题色）
   ----------------------------------------------------------
   主色：amber 系
     #FFF7E6 极浅暖底
     #FFEDC2 浅暖
     #FFE0A3 中浅（边框）
     #F5A623 主色（与现有 warning-box 同色，品牌一致）
     #C47D0A 深色（文字、深辉光）
*/
.form-card-amber {
  background: linear-gradient(135deg, #FFF7E6 0%, #FFEFD0 50%, #FFE9BC 100%);
  border: 1px solid rgba(245, 166, 35, 0.28);
  box-shadow:
    0 0.16rem 0.64rem rgba(245, 166, 35, 0.12),
    0 0 0 1px rgba(255, 255, 255, 0.85) inset,
    0 1px 0 rgba(255, 255, 255, 1) inset;
}
.form-card-amber:active {
  transform: scale(0.99);
  box-shadow:
    0 0.24rem 0.64rem rgba(245, 166, 35, 0.22),
    0 0 0 1px rgba(255, 255, 255, 0.85) inset;
}
.form-card-amber .form-num {
  background: linear-gradient(135deg, #F5A623 0%, #C47D0A 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.form-card-amber .form-row-h {
  color: #C47D0A;
}

/* 暖橘辉光 */
.form-glow-amber-tr {
  background: radial-gradient(circle, rgba(245, 166, 35, 0.20) 0%, rgba(245, 166, 35, 0.05) 50%, transparent 70%);
}
.form-glow-amber-bl {
  background: radial-gradient(circle, rgba(255, 200, 100, 0.16) 0%, rgba(245, 166, 35, 0.04) 50%, transparent 70%);
}

/* 暖橘标签 */
.tag-amber {
  background: #F5A623;
  color: var(--white);
  font-weight: 600;
}

/* 暖橘 CTA 行（即将上线） */
.form-cta-row-amber {
  border-top: 1px dashed rgba(245, 166, 35, 0.30);
  justify-content: center;
}
.form-cta-row-amber .form-cta-text {
  color: #C47D0A;
  font-weight: 600;
  letter-spacing: 0.06em;
}


/* s5 旧版 · 卡片式服务总览（保留兼容，未使用）*/
.match-list {
  display: flex;
  flex-direction: column;
  gap: 0.16rem;
  margin-bottom: 0.32rem;
}
.ml-row {
  display: flex;
  flex-direction: column;
  gap: 0.14rem;
  padding: 0.36rem 0.32rem;
  background: var(--white);
  border: 1px solid rgba(124, 110, 245, 0.12);
  border-radius: var(--radius-lg);
  box-shadow: 0 0.04rem 0.16rem rgba(26, 26, 26, 0.05);
}
.ml-row-feat {
  background: linear-gradient(135deg, var(--purple-50) 0%, rgba(184, 214, 46, 0.06) 100%);
  border-color: rgba(184, 214, 46, 0.4);
  box-shadow: 0 0.12rem 0.32rem rgba(184, 214, 46, 0.18);
}
/* 「即将上线」AI 平台卡 · 虚化灰阶 */
.ml-row-soon {
  background: var(--off-white);
  border: 1px dashed rgba(26, 26, 26, 0.15);
  box-shadow: none;
  opacity: 0.78;
}
.ml-row-soon .ml-row-name {
  color: var(--gray-500);
}

/* 头部：产品名 + 价格（同行）*/
.ml-row-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.12rem;
}
.ml-row-name {
  font-size: 0.32rem;
  font-weight: 600;
  color: var(--gray-900);
  letter-spacing: 0.02em;
}
.ml-row-price {
  flex: none;
  display: flex;
  align-items: baseline;
  gap: 1px;
  color: var(--gray-900);
}
.ml-cur {
  font-size: 0.22rem;
  color: var(--gray-500);
  margin-right: 1px;
}
.ml-row-price .num {
  font-size: 0.36rem;
  font-weight: 700;
}
.ml-price-em {
  font-size: 0.2rem;
  color: var(--gray-500);
  margin-left: 0.04rem;
}
.ml-price-sep {
  font-size: 0.22rem;
  color: var(--gray-300);
}

/* 状态描述 */
.ml-state {
  font-size: 0.24rem;
  color: var(--gray-500);
  line-height: 1.5;
}

/* 产品标签 */
.ml-tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.08rem;
}
.tag-light-purple {
  background: var(--purple-50);
  color: var(--purple-700);
}
.tag-aux {
  background: var(--gray-100);
  color: var(--gray-700);
}
.tag-ai {
  background: rgba(124, 110, 245, 0.12);
  color: var(--purple-700);
  border: 1px dashed rgba(124, 110, 245, 0.35);
}
.tag-gray {
  background: var(--gray-100);
  color: var(--gray-500);
  border: 1px dashed var(--gray-300);
}

/* 即将上线 · 替代价格的灰阶标记 */
.ml-row-coming {
  font-size: 0.22rem;
  color: var(--gray-500);
  letter-spacing: 0.05em;
  font-weight: 500;
  white-space: nowrap;
}
.ml-save {
  font-size: 0.2rem;
  color: var(--green-700);
  font-weight: 600;
  background: var(--green-100);
  padding: 0.04rem 0.12rem;
  border-radius: var(--radius-pill);
}

/* 产品描述 · 2 行 bullet */
.ml-desc {
  display: flex;
  flex-direction: column;
  gap: 0.08rem;
  padding-top: 0.04rem;
}
.ml-desc-li {
  display: flex;
  align-items: flex-start;
  gap: 0.12rem;
  font-size: 0.24rem;
  line-height: 1.6;
  color: var(--gray-700);
}
.ml-desc-dot {
  flex: none;
  width: 0.06rem;
  height: 0.06rem;
  border-radius: 50%;
  background: var(--purple-300);
  margin-top: 0.14rem;
}

/* 附赠徽章（仅深度陪跑 / 套餐有）*/
.ml-bonus {
  display: inline-block;
  align-self: flex-start;
  font-size: 0.22rem;
  color: var(--green-700);
  background: var(--green-100);
  padding: 0.06rem 0.16rem;
  border-radius: var(--radius-pill);
  font-weight: 500;
  margin-top: 0.04rem;
}

/* 底部 CTA */
.match-cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.2rem;
  padding: 0.4rem 0.32rem;
  background: var(--gray-900);
  border-radius: var(--radius-lg);
  color: var(--white);
  text-align: center;
}
.mc-text {
  font-size: 0.26rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.85);
  text-wrap: balance;
  word-break: keep-all;
  overflow-wrap: break-word;
}
.mc-btn {
  background: var(--white);
  color: var(--gray-900);
  font-weight: 600;
  padding: 0.2rem 0.56rem;
}

/* ============================================================
   S6 · 核心产品详情
   ============================================================ */
.s-products {
  background:
    radial-gradient(ellipse 60% 40% at 70% 50%, rgba(124, 110, 245, 0.10) 0%, transparent 70%),
    radial-gradient(ellipse 50% 35% at 25% 50%, rgba(124, 110, 245, 0.07) 0%, transparent 70%),
    var(--white);
}

/* 服务底层信念卡 · s6 标题与产品集群之间的定调段 */
/* 信念区 · 散文裸排 + 对仗卡片 */
.belief-card {
  position: relative;
  margin: 0 0 0.72rem;
}
.belief-stripe { display: none; }
.belief-body {
  position: relative;
  z-index: 2;
  margin-bottom: 0.32rem;
}
.belief-lead {
  font-size: 0.3rem;
  line-height: 1.85;
  color: var(--gray-900);
  font-weight: 500;
  margin-bottom: 0.2rem;
  letter-spacing: 0.01em;
}
.belief-foot {
  font-size: 0.3rem;
  line-height: 1.85;
  color: var(--gray-700);
  letter-spacing: 0.01em;
}

/* 对仗卡片 · 萤光绿点缀，打破紫色单调 */
.belief-pair {
  position: relative;
  background: var(--off-white);
  border-radius: 0.24rem;
  padding: 0.36rem 0.4rem 0.32rem;
  overflow: hidden;
  box-shadow:
    0 0.08rem 0.24rem rgba(26, 26, 26, 0.04),
    inset 0 1px 0 rgba(255, 255, 255, 0.8);
}
/* 卡片右上萤光绿微光晕（呼应品牌色，破紫单调）*/
.belief-pair::before {
  content: "";
  position: absolute;
  top: -0.8rem;
  right: -0.8rem;
  width: 2.8rem;
  height: 2.8rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(184, 214, 46, 0.18) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}
/* 卡片左侧萤光绿引导竖条（复用 hero firefly 语言）*/
.belief-pair::after {
  content: "";
  position: absolute;
  top: 0.36rem;
  bottom: 0.36rem;
  left: 0.16rem;
  width: 0.04rem;
  border-radius: 1px;
  background: linear-gradient(180deg, var(--green-500) 0%, rgba(184, 214, 46, 0.2) 100%);
  z-index: 1;
}
.belief-pair-line {
  position: relative;
  z-index: 2;
  display: block;
  font-size: 0.28rem;
  line-height: 1.7;
  color: var(--gray-700);
  padding: 0.18rem 0 0.18rem 0.08rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  letter-spacing: 0.01em;
}
.belief-pair-line:first-child { padding-top: 0.04rem; }
.belief-pair-coda {
  border-bottom: none;
  padding-bottom: 0.04rem;
}
/* 第二行(落点)整体加深 */
.belief-pair-strong {
  display: block;
  margin-top: 0.06rem;
  color: var(--gray-900);
  font-weight: 500;
}
/* 卡片内强调词换成萤光绿底高光（复用 fc-quote-em 视觉语言）*/
.belief-pair .belief-em {
  color: var(--gray-900);
  font-weight: 700;
  background: linear-gradient(180deg, transparent 62%, rgba(184, 214, 46, 0.55) 62%);
  padding: 0 0.04rem;
}
/* 卡片内弱化词保持灰但更克制 */
.belief-pair .belief-mute {
  color: var(--gray-500);
  font-weight: 400;
}
.belief-em {
  color: var(--purple-700);
  font-weight: 700;
}
.belief-mute {
  color: var(--gray-500);
  font-weight: 400;
}

.cluster {
  margin-bottom: 0.64rem;
}
.cluster-head {
  display: flex;
  align-items: center;
  gap: 0.16rem;
  margin-bottom: 0.32rem;
  padding-bottom: 0.24rem;
  border-bottom: 1px solid var(--gray-100);
}
.cluster-mark {
  width: 0.08rem;
  height: 0.48rem;
  border-radius: 0.04rem;
}
.cluster-mark-1 { background: var(--purple-500); }
.cluster-mark-2 { background: var(--gray-900); }
.cluster-mark-3 { background: var(--gray-300); }
.cluster-title {
  font-size: 0.36rem;
  font-weight: 600;
  color: var(--gray-900);
  margin-bottom: 0.04rem;
}
.cluster-sub {
  font-size: 0.22rem;
  color: var(--gray-500);
}

/* 产品卡 */
.prod-card {
  background: var(--white);
  border: 1px solid var(--gray-100);
  border-radius: var(--radius-lg);
  padding: 0.4rem 0.32rem;
  margin-bottom: 0.24rem;
}

/* 可展开变体：折叠时只显示头部 + intro + 适合谁 + 切换条
   兼容 .prod-card 与 .single-card 两种基类，padding 交给内部 summary/detail */
.prod-card-collapsible,
.single-card.prod-card-collapsible {
  padding: 0;
  transition: border-color 0.2s ease;
}
.prod-card-collapsible.is-open {
  border-color: var(--purple-300);
  box-shadow: 0 0.08rem 0.32rem rgba(124, 110, 245, 0.08);
}
.pd-summary {
  padding: 0.4rem 0.32rem 0.24rem;
}
.pd-detail {
  padding: 0 0.32rem 0.4rem;
  border-top: 1px dashed var(--purple-100);
  margin-top: 0.08rem;
  padding-top: 0.32rem;
}
/* 展开切换按钮 · 品牌规范 6.1 主按钮（Primary）
   gray-900 实心底 / 白字 / pill 椭圆 · 锚点色 */
.pd-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.12rem;
  align-self: center;
  margin: 0.16rem auto 0;
  padding: 0.16rem 0.36rem;
  background: var(--gray-900);
  border-radius: 9.99rem;
  font-size: 0.26rem;
  font-weight: 500;
  color: var(--white);
  letter-spacing: 0.02em;
  line-height: 1.3;
  box-shadow: 0 0.08rem 0.2rem rgba(26, 26, 26, 0.18);
  /* 兼容 prod-card 内 .pd-summary 的 flex/block 布局：保证按钮不撑满整行 */
  width: max-content;
  max-width: 100%;
}
.pd-toggle-text {
  font-size: 0.26rem;
  font-weight: 500;
  color: var(--white);
  line-height: 1.3;
  letter-spacing: 0.02em;
}
/* 文字旁的小箭头 · CSS 几何，渲染稳定 */
.pd-toggle-chev {
  flex: none;
  width: 0.14rem;
  height: 0.14rem;
  position: relative;
  transition: transform 0.25s ease;
  /* 清掉 ▼ 字符样式（wxml 里写了 ▾ 字符，但用 CSS border 渲染，所以隐藏字符） */
  font-size: 0;
  color: transparent;
}
.pd-toggle-chev::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.1rem;
  height: 0.1rem;
  border-right: 1px solid var(--white);
  border-bottom: 1px solid var(--white);
  transform: translate(-50%, -65%) rotate(45deg);
}
.pd-toggle-chev-open {
  transform: rotate(180deg);
}
/* 整张卡需要让 .pd-toggle 在 summary 里居中 —— summary 是 block 容器，
   button 用 inline-flex + margin: auto 实现自适应居中 */
.pd-summary { display: flex; flex-direction: column; }
.pd-head {
  display: flex;
  gap: 0.16rem;
  margin-bottom: 0.24rem;
  padding-bottom: 0.24rem;
  border-bottom: 1px solid var(--gray-100);
  align-items: flex-start;
}
.pd-num {
  flex: none;
  width: 0.6rem;
  font-size: 0.32rem;
  font-weight: 700;
  color: var(--purple-500);
  line-height: 1;
  padding-top: 0.08rem;
}
.pd-head-text { flex: 1; }
.pd-name {
  font-size: 0.36rem;
  font-weight: 600;
  color: var(--gray-900);
  margin-bottom: 0.04rem;
}
.pd-sub {
  font-size: 0.22rem;
  color: var(--gray-500);
}
.pd-price {
  flex: none;
  display: flex;
  align-items: baseline;
}
.pd-cur {
  font-size: 0.22rem;
  color: var(--gray-500);
  margin-right: 0.04rem;
}
.pd-price .num {
  font-size: 0.4rem;
  font-weight: 700;
  color: var(--gray-900);
}
.pd-intro {
  font-size: 0.26rem;
  line-height: 1.7;
  color: var(--gray-700);
  margin-bottom: 0.32rem;
  padding: 0.24rem;
  background: var(--purple-50);
  border-radius: var(--radius-md);
}
.pd-block, .pd-deliv {
  margin-bottom: 0.24rem;
}
.pd-block-h, .pd-deliv-h {
  display: inline-block;
  font-size: 0.22rem;
  font-weight: 600;
  color: var(--purple-500);
  letter-spacing: 0.1em;
  margin-bottom: 0.12rem;
  padding: 0.04rem 0.12rem;
  background: var(--purple-50);
  border-radius: 0.06rem;
}
.pd-deliv-h {
  background: var(--green-100);
  color: var(--green-700);
}
.pd-list {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
}
.pd-li {
  display: flex;
  gap: 0.12rem;
  font-size: 0.26rem;
  line-height: 1.6;
  color: var(--gray-700);
}
.pd-li-dot {
  flex: none;
  width: 0.06rem;
  height: 0.06rem;
  border-radius: 50%;
  background: var(--purple-500);
  margin-top: 0.16rem;
}
.pd-li-num {
  flex: none;
  width: 0.36rem;
  height: 0.36rem;
  border-radius: 50%;
  background: var(--purple-50);
  color: var(--purple-700);
  font-size: 0.22rem;
  font-weight: 700;
  text-align: center;
  line-height: 0.36rem;
}
.pd-li-check {
  flex: none;
  width: 0.36rem;
  height: 0.36rem;
  border-radius: 50%;
  background: var(--green-100);
  color: var(--green-700);
  font-size: 0.22rem;
  font-weight: 700;
  text-align: center;
  line-height: 0.36rem;
}

/* 报告样例（扁平版）*/
.report-block {
  background: var(--off-white);
  border-radius: var(--radius-lg);
  padding: 0.32rem 0.24rem;
  margin: 0.32rem 0;
}
.rb-head {
  margin-bottom: 0.24rem;
}
.rb-pin {
  display: inline-block;
  font-size: 0.22rem;
  font-weight: 600;
  color: var(--purple-700);
  background: var(--purple-100);
  padding: 0.06rem 0.16rem;
  border-radius: var(--radius-pill);
  margin-bottom: 0.08rem;
}
.rb-meta {
  display: block;
  font-size: 0.22rem;
  color: var(--gray-500);
  line-height: 1.5;
}
.rb-body {
  display: flex;
  gap: 0.24rem;
  align-items: flex-start;
}
.rb-cover {
  flex: none;
  width: 2rem;
  min-height: 2.8rem;
  background: linear-gradient(160deg, var(--purple-500) 0%, var(--purple-700) 100%);
  border-radius: var(--radius-md);
  padding: 0.2rem 0.16rem;
  color: var(--white);
  position: relative;
  box-shadow: var(--shadow-md);
  display: flex;
  flex-direction: column;
}
.rb-cover-tag {
  font-size: 0.14rem;
  letter-spacing: 0.1em;
  opacity: 0.7;
  margin-bottom: 0.12rem;
}
.rb-cover-cn {
  font-size: 0.24rem;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 0.08rem;
}
.rb-cover-cn-line { display: block; }
.rb-cover-en {
  font-size: 0.16rem;
  font-style: italic;
  opacity: 0.7;
  margin-bottom: 0.24rem;
}
.rb-cover-meta {
  display: flex;
  flex-direction: column;
  gap: 0.04rem;
  font-size: 0.14rem;
  opacity: 0.7;
  margin-top: auto;
  padding-bottom: 0.32rem;
}
.rb-cover-foot {
  display: flex;
  align-items: center;
  gap: 0.08rem;
  position: absolute;
  bottom: 0.16rem;
  left: 0.16rem;
  right: 0.16rem;
  padding-top: 0.12rem;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  font-size: 0.16rem;
  font-weight: 600;
}
.rb-cover-logo {
  width: 0.24rem;
  height: 0.24rem;
}

.rb-info { flex: 1; }
.rb-info-list {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  margin-bottom: 0.16rem;
}
.rb-info-li {
  display: flex;
  gap: 0.1rem;
  font-size: 0.24rem;
  color: var(--gray-700);
  line-height: 1.5;
}
.rb-bullet {
  flex: none;
  width: 0.06rem;
  height: 0.06rem;
  border-radius: 50%;
  background: var(--purple-500);
  margin-top: 0.14rem;
}
.rb-pages-pill {
  display: inline-block;
  background: var(--gray-900);
  color: var(--white);
  padding: 0.08rem 0.16rem;
  border-radius: var(--radius-pill);
  font-size: 0.22rem;
  margin-bottom: 0.12rem;
}
.rb-pages-pill .num {
  font-weight: 700;
  font-size: 0.24rem;
}
.rb-cta {
  display: flex;
  align-items: center;
  gap: 0.08rem;
  font-size: 0.22rem;
  color: var(--purple-500);
  font-weight: 500;
}
.rb-cta-full {
  margin-top: 0.24rem;
  padding-top: 0.24rem;
  border-top: 1px solid var(--gray-100);
  justify-content: center;
}

/* 双报告 */
.rb-body-dual {
  flex-direction: column;
  gap: 0.24rem;
}
.rb-mini {
  display: flex;
  gap: 0.2rem;
  align-items: flex-start;
}
.rb-cover-mini {
  width: 1.4rem;
  min-height: 2rem;
  padding: 0.16rem 0.12rem;
}
.rb-cover-mini .rb-cover-cn {
  font-size: 0.22rem;
}
.rb-cover-mini .rb-cover-en {
  font-size: 0.14rem;
}
.rb-cover-meta-mini {
  font-size: 0.18rem;
  opacity: 0.7;
  margin-top: auto;
}
.rb-cover-script {
  background: linear-gradient(160deg, var(--gray-900) 0%, var(--purple-900) 100%);
}
.rb-mini-info { flex: 1; padding-top: 0.08rem; }
.rb-mini-title {
  font-size: 0.28rem;
  font-weight: 600;
  color: var(--gray-900);
  margin-bottom: 0.12rem;
}

/* 产品底部 */
.pd-foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 0.24rem;
  border-top: 1px solid var(--gray-100);
  flex-wrap: wrap;
  gap: 0.16rem;
}
.pd-foot-price {
  display: flex;
  align-items: baseline;
  gap: 0.04rem;
}
.pd-foot-price .num {
  font-size: 0.4rem;
  font-weight: 700;
  color: var(--gray-900);
}
.pd-foot-em {
  font-size: 0.22rem;
  color: var(--gray-500);
  margin-left: 0.08rem;
}

/* 报告样例行（前缀 + 名称 + 查看按钮）*/
.pd-sample-row {
  display: flex;
  align-items: center;
  gap: 0.08rem;
  padding: 0.24rem 0 0.08rem;
  margin-top: 0.24rem;
  border-top: 1px solid var(--gray-100);
}
.pd-sample-row + .pd-sample-row {
  /* 双交付物时第二行不再加顶部边框（避免双线）*/
  border-top: none;
  margin-top: 0;
  padding-top: 0.08rem;
}
.pd-sample-prefix {
  flex: none;
  font-size: 0.22rem;
  color: var(--gray-500);
  font-weight: 500;
  letter-spacing: 0.05em;
}
.pd-sample-name {
  flex: 1;
  font-size: 0.3rem;
  font-weight: 600;
  color: var(--gray-900);
  letter-spacing: 0.02em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pd-sample-link {
  flex: none;
  font-size: 0.22rem;
  color: var(--white);
  background: var(--gray-900);
  padding: 0.1rem 0.22rem;
  border-radius: var(--radius-pill);
  font-weight: 500;
  letter-spacing: 0.02em;
}
.pd-sample-link:active {
  background: var(--purple-500);
}

/* 报告价值说明 · 紧贴 sample-row 下方的极轻量补充 */
.pd-sample-note {
  display: flex;
  gap: 0.1rem;
  padding: 0.12rem 0 0.04rem;
  font-size: 0.24rem;
  line-height: 1.65;
  color: var(--gray-500);
  letter-spacing: 0.01em;
}
.pd-sample-note-mark {
  flex: none;
  color: var(--purple-300);
  font-weight: 700;
  line-height: 1.65;
}
.pd-sample-note-em {
  color: var(--purple-700);
  font-weight: 600;
}

/* 单项卡 sc-head 右侧价格 */
.sc-head-price {
  flex: none;
  display: flex;
  align-items: baseline;
  margin-left: auto;
}
.sc-head-price .num {
  font-size: 0.32rem;
  font-weight: 700;
  color: var(--gray-900);
}

/* 套餐卡 · 分块标签 */
.cc-section-label {
  display: inline-block;
  font-size: 0.22rem;
  font-weight: 600;
  color: var(--green-500);
  letter-spacing: 0.1em;
  margin-bottom: 0.16rem;
}

/* 套餐内子项 · ¥ 货币符号 */
.cc-it-cur {
  font-size: 0.18rem;
  margin-right: 1px;
  opacity: 0.8;
}

/* 套餐附赠徽章 */
.cc-bonus-tag {
  display: inline-block;
  align-self: flex-start;
  font-size: 0.22rem;
  color: var(--gray-900);
  background: var(--green-500);
  padding: 0.08rem 0.18rem;
  border-radius: var(--radius-pill);
  font-weight: 600;
  margin: 0.16rem 0;
}

/* 套餐卡 */
.combo-card {
  position: relative;
  border-radius: var(--radius-xl);
  padding: 0.56rem 0.32rem 0.4rem;
  color: var(--white);
  margin-bottom: 0.24rem;
  overflow: hidden;
  box-shadow: var(--shadow-lg);
  /* 取材 s8 dark-cta 底纹风格：紫色右上 + 萤光绿左下双光晕 + 黑紫渐变底 */
  background:
    radial-gradient(ellipse at 80% 20%, rgba(124, 110, 245, 0.3) 0%, transparent 60%),
    radial-gradient(ellipse at 20% 80%, rgba(184, 214, 46, 0.15) 0%, transparent 60%),
    linear-gradient(135deg, var(--gray-900) 0%, var(--purple-900) 100%);
}
.cc-ribbon {
  position: absolute;
  top: 0.32rem;
  right: -0.4rem;
  background: var(--green-500);
  color: var(--gray-900);
  padding: 0.08rem 0.56rem;
  font-size: 0.24rem;
  font-weight: 700;
  transform: rotate(28deg);
  letter-spacing: 0.05em;
  box-shadow: var(--shadow-md);
}
.cc-head {
  text-align: left;
  margin-bottom: 0;
}
.cc-tag {
  display: inline-block;
  background: var(--green-500);
  color: var(--gray-900);
  padding: 0.06rem 0.16rem;
  border-radius: var(--radius-pill);
  font-size: 0.22rem;
  font-weight: 600;
  margin-bottom: 0.16rem;
}
.cc-name {
  font-size: 0.44rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-bottom: 0.08rem;
}
.cc-sub {
  font-size: 0.24rem;
  opacity: 0.85;
}

.cc-includes {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.08rem;
  margin-bottom: 0.32rem;
}
.cc-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.24rem;
  background: rgba(255, 255, 255, 0.08);
  border-radius: var(--radius-md);
  backdrop-filter: blur(0.2rem);
}
.cc-item-bonus {
  background: rgba(184, 214, 46, 0.15);
  border: 1px solid rgba(184, 214, 46, 0.3);
}
.cc-it-name {
  font-size: 0.28rem;
  font-weight: 500;
}
.cc-it-price {
  display: flex;
  align-items: baseline;
  gap: 0.04rem;
  font-size: 0.24rem;
}
.cc-it-price .num {
  font-size: 0.32rem;
  font-weight: 700;
}
.cc-it-em { opacity: 0.7; font-size: 0.2rem; }
.cc-plus {
  text-align: center;
  font-size: 0.56rem;
  font-weight: 300;
  opacity: 0.6;
  line-height: 1;
  margin: 0.04rem 0;
  color: var(--green-500);
}

.cc-bonus-detail {
  background: rgba(0, 0, 0, 0.18);
  border-radius: var(--radius-md);
  padding: 0.24rem;
  margin-bottom: 0.32rem;
}
.cc-bonus-label {
  display: inline-block;
  font-size: 0.22rem;
  color: var(--green-500);
  letter-spacing: 0.1em;
  margin-bottom: 0.16rem;
  font-weight: 600;
}
.cc-bonus-detail .pd-li {
  color: rgba(255, 255, 255, 0.85);
}
.cc-bonus-detail .pd-li-check {
  background: rgba(184, 214, 46, 0.25);
  color: var(--green-500);
}

.cc-price-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding: 0.24rem;
  background: rgba(0, 0, 0, 0.25);
  border-radius: var(--radius-md);
  margin-bottom: 0.24rem;
}
.cc-orig {
  display: flex;
  flex-direction: column;
  gap: 0.04rem;
}
.cc-orig-label {
  font-size: 0.2rem;
  opacity: 0.6;
}
.cc-orig-val {
  font-size: 0.22rem;
  text-decoration: line-through;
  opacity: 0.6;
}
.cc-final {
  text-align: right;
  display: flex;
  flex-direction: column;
  gap: 0.04rem;
}
.cc-final-label {
  font-size: 0.2rem;
  color: var(--green-500);
  letter-spacing: 0.1em;
  font-weight: 600;
}
.cc-final-val {
  display: inline-flex;
  align-items: baseline;
  gap: 0.04rem;
}
.cc-cur {
  font-size: 0.24rem;
  color: var(--green-500);
}
.cc-final-val .num {
  font-size: 0.56rem;
  font-weight: 700;
  color: var(--green-500);
  line-height: 1;
}
.cc-final-save {
  display: inline-block;
  margin-top: 0.12rem;
  padding: 0.06rem 0.18rem;
  background: var(--green-500);
  color: var(--gray-900);
  font-size: 0.22rem;
  font-weight: 700;
  border-radius: var(--radius-pill);
  letter-spacing: 0.05em;
}
.cc-btn {
  width: 100%;
  background: var(--green-500);
  color: var(--gray-900);
  font-weight: 600;
}
.cc-btn:active { background: var(--green-700); }

/* 单项卡 */
.single-card {
  background: var(--white);
  border: 1px solid var(--gray-100);
  border-radius: var(--radius-lg);
  padding: 0.4rem 0.32rem;
  margin-bottom: 0.24rem;
}
.sc-head {
  display: flex;
  gap: 0.16rem;
  margin-bottom: 0.16rem;
  align-items: baseline;
}
.sc-num {
  flex: none;
  width: 0.6rem;
  font-size: 0.32rem;
  font-weight: 700;
  color: var(--gray-900);
  line-height: 1;
  padding-top: 0.08rem;
}
.sc-head-text { flex: 1; }
.sc-name {
  font-size: 0.32rem;
  font-weight: 600;
  color: var(--gray-900);
  margin-bottom: 0.04rem;
}
.sc-sub {
  font-size: 0.22rem;
  color: var(--gray-500);
}
.sc-intro {
  font-size: 0.26rem;
  line-height: 1.7;
  color: var(--gray-700);
  margin-bottom: 0.24rem;
}
.sc-block {
  margin-bottom: 0.2rem;
}
.sc-block-h {
  display: inline-block;
  font-size: 0.22rem;
  font-weight: 600;
  color: var(--purple-500);
  margin-bottom: 0.08rem;
  letter-spacing: 0.1em;
}
.sc-block-body {
  font-size: 0.26rem;
  line-height: 1.6;
  color: var(--gray-700);
}
.sc-foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 0.24rem;
  border-top: 1px solid var(--gray-100);
  flex-wrap: wrap;
  gap: 0.16rem;
}
.sc-price {
  display: flex;
  align-items: baseline;
  gap: 0.04rem;
}
.sc-price .num {
  font-size: 0.4rem;
  font-weight: 700;
  color: var(--gray-900);
}
.sc-price-multi {
  display: flex;
  align-items: center;
  gap: 0.16rem;
}
.sc-price-multi-item {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.sc-pl {
  font-size: 0.2rem;
  color: var(--gray-500);
  letter-spacing: 0.05em;
}
.sc-pn {
  display: flex;
  align-items: baseline;
  gap: 0.04rem;
}
.sc-pn .num {
  font-size: 0.32rem;
  font-weight: 700;
  color: var(--gray-900);
}
.sc-price-multi-divider {
  width: 1px;
  height: 0.4rem;
  background: var(--gray-100);
}

/* 辅助卡（折叠）*/
.aux-card {
  background: var(--white);
  border: 1px solid var(--gray-100);
  border-radius: var(--radius-md);
  margin-bottom: 0.16rem;
  overflow: hidden;
}
.aux-head {
  display: flex;
  align-items: center;
  gap: 0.16rem;
  padding: 0.24rem;
}
.aux-info { flex: 1; min-width: 0; }
.aux-name {
  font-size: 0.28rem;
  font-weight: 600;
  color: var(--gray-900);
  margin-bottom: 0.04rem;
}
.aux-sub {
  font-size: 0.22rem;
  color: var(--gray-500);
  line-height: 1.4;
}
.aux-price {
  flex: none;
  display: flex;
  align-items: baseline;
  gap: 1px;
}
.aux-price .num {
  font-size: 0.28rem;
  font-weight: 700;
  color: var(--gray-900);
}
.aux-price-em {
  font-size: 0.2rem;
  color: var(--gray-500);
  margin-left: 0.04rem;
}
.aux-price-soon {
  background: var(--green-500);
  color: var(--gray-900);
  padding: 0.06rem 0.16rem;
  border-radius: var(--radius-pill);
  font-size: 0.2rem;
  font-weight: 600;
}
.aux-chev {
  flex: none;
  width: 0.32rem;
  text-align: center;
  font-size: 0.28rem;
  color: var(--gray-500);
  transition: transform 0.2s;
}
.aux-chev-open { transform: rotate(180deg); }
.aux-body {
  padding: 0 0.24rem 0.24rem;
  font-size: 0.24rem;
  line-height: 1.7;
  color: var(--gray-700);
  border-top: 1px solid var(--gray-100);
  padding-top: 0.24rem;
}

/* ============================================================
   S7 · 学员案例
   ============================================================ */
.s-cases {
  background:
    radial-gradient(ellipse 60% 40% at 70% 50%, rgba(124, 110, 245, 0.18) 0%, transparent 70%),
    radial-gradient(ellipse 50% 35% at 25% 50%, rgba(184, 214, 46, 0.14) 0%, transparent 70%),
    var(--white);
}
/* 案例卡 · 毛玻璃模板（与 form-card 同语言） */
.case-card {
  position: relative;
  border-radius: 0.4rem;
  padding: 0;
  margin: 0 0.16rem 0.14rem;
  overflow: hidden;
  transition: box-shadow 0.2s ease, transform 0.15s ease;
  box-shadow:
    0 0.16rem 0.64rem rgba(124, 110, 245, 0.10),
    0 0 0 1px rgba(255, 255, 255, 0.85) inset,
    0 1px 0 rgba(255, 255, 255, 1) inset;
}
/* 顶部 1px 高光横线（毛玻璃模板标志细节）*/
.case-card::after {
  content: '';
  position: absolute;
  top: 0;
  left: 10%;
  right: 10%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.95) 50%, transparent);
  z-index: 2;
  pointer-events: none;
}
.case-card:active {
  transform: scale(0.99);
}
/* 内容容器 · 浮在辉光之上 */
.cc-inner {
  position: relative;
  z-index: 3;
  padding: 0.22rem 0.26rem;
}
/* 角落辉光（绝对定位 · 浮在底色之上、内容之下）*/
.cc-glow {
  position: absolute;
  z-index: 1;
  pointer-events: none;
}
.cc-glow-tr {
  top: -1.2rem;
  right: -1rem;
  width: 4.8rem;
  height: 4.8rem;
}
.cc-glow-bl {
  bottom: -1.4rem;
  left: -1rem;
  width: 5.2rem;
  height: 5.2rem;
}

/* === 已上岸 · 紫色毛玻璃 === */
.case-card-landed {
  background: linear-gradient(135deg, #F8F6FF 0%, #F3F0FE 50%, #EEF0FF 100%);
  border: 1px solid rgba(124, 110, 245, 0.14);
}
.case-card-landed:active {
  box-shadow:
    0 0.24rem 0.64rem rgba(124, 110, 245, 0.20),
    0 0 0 1px rgba(255, 255, 255, 0.85) inset;
}
.case-card-landed .cc-glow-tr {
  background: radial-gradient(circle, rgba(124, 110, 245, 0.28) 0%, rgba(124, 110, 245, 0.08) 45%, transparent 70%);
}
.case-card-landed .cc-glow-bl {
  background: radial-gradient(circle, rgba(124, 110, 245, 0.18) 0%, rgba(124, 110, 245, 0.05) 50%, transparent 70%);
}
.case-card-landed .cc-chev {
  border-color: var(--purple-500);
}
.case-card-landed .cc-chev::before {
  border-bottom-color: var(--purple-500);
  border-right-color: var(--purple-500);
}

/* === 求职中 · 绿色毛玻璃 === */
.case-card-seeking {
  background: linear-gradient(135deg, #F8FCEA 0%, #F2F8D9 50%, #EEF4D0 100%);
  border: 1px solid rgba(184, 214, 46, 0.32);
  box-shadow:
    0 0.16rem 0.64rem rgba(184, 214, 46, 0.12),
    0 0 0 1px rgba(255, 255, 255, 0.85) inset,
    0 1px 0 rgba(255, 255, 255, 1) inset;
}
.case-card-seeking:active {
  box-shadow:
    0 0.24rem 0.64rem rgba(184, 214, 46, 0.22),
    0 0 0 1px rgba(255, 255, 255, 0.85) inset;
}
.case-card-seeking .cc-glow-tr {
  background: radial-gradient(circle, rgba(184, 214, 46, 0.28) 0%, rgba(184, 214, 46, 0.06) 50%, transparent 70%);
}
.case-card-seeking .cc-glow-bl {
  background: radial-gradient(circle, rgba(184, 214, 46, 0.22) 0%, rgba(138, 168, 31, 0.06) 50%, transparent 70%);
}
.case-card-seeking .cc-chev {
  border-color: var(--green-700);
}
.case-card-seeking .cc-chev::before {
  border-bottom-color: var(--green-700);
  border-right-color: var(--green-700);
}
.cc-head {
  /* 折叠时无 margin / 边框；展开时（有 cc-body 紧随）会有视觉过渡 */
}
/* 标题行：banner + 折叠箭头 + 横向分割线（与 form-head 同款）*/
.cc-banner-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.16rem;
  padding-bottom: 0.12rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  margin-bottom: 0.1rem;
}
/* 折叠箭头 · 圆环样式（与 form-cta-circle 同款）*/
.cc-chev {
  flex: none;
  width: 0.56rem;
  height: 0.56rem;
  border-radius: 50%;
  background: var(--white);
  border: 1px solid var(--gray-900);
  position: relative;
  font-size: 0;
  color: transparent;
  transition: transform 0.25s ease;
  align-self: flex-start;
}
/* 用 ::before 画出向下箭头（▾ 替代品） */
.cc-chev::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.14rem;
  height: 0.14rem;
  border-bottom: 1px solid var(--gray-900);
  border-right: 1px solid var(--gray-900);
  transform: translate(-50%, -65%) rotate(45deg);
}
.cc-chev-open {
  transform: rotate(180deg);
}
.cc-tags {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 0.08rem;
  margin-top: 0.06rem;
}
/* 已上岸状态标签 · 紫色实底品牌主色 + 白色对勾前缀（与求职中脉冲点对仗：稳定的勋章感）*/
.cc-tag-landed {
  display: inline-flex;
  align-items: center;
  gap: 0.06rem;
  background: var(--purple-700);
  color: var(--white);
  padding: 0.06rem 0.14rem;
  border-radius: var(--radius-pill);
  font-size: 0.2rem;
  font-weight: 600;
  letter-spacing: 0.04em;
}
.cc-tag-landed::before {
  content: '✓';
  font-size: 0.22rem;
  font-weight: 700;
  line-height: 1;
}
/* 求职中状态标签 · 跟教育标签并排，但用萤光绿+闪烁点强调 */
.cc-tag-status {
  display: inline-flex;
  align-items: center;
  gap: 0.06rem;
  background: var(--green-100);
  border: 1px solid var(--green-500);
  color: var(--green-700);
  padding: 0.06rem 0.14rem;
  border-radius: var(--radius-pill);
  font-size: 0.2rem;
  font-weight: 600;
}
.cc-tag-status::before {
  content: '';
  width: 0.08rem;
  height: 0.08rem;
  border-radius: 50%;
  background: var(--green-500);
  box-shadow: 0 0 0.08rem var(--green-500);
  animation: status-blink 1.6s infinite ease-in-out;
}
@keyframes status-blink {
  0%, 100% { opacity: 0.4; }
  50% { opacity: 1; }
}
.cc-banner {
  flex: 1;
  font-family: 'PingFang SC', 'HarmonyOS Sans SC', 'Helvetica Neue', sans-serif;
  font-size: 0.28rem;
  font-weight: 600;
  color: var(--gray-900);
  line-height: 1.5;
  letter-spacing: 0.02em;
  /* 锁定 3 行高度：保证所有折叠态卡片视觉等高 */
  min-height: calc(0.28rem * 1.5 * 3);
}
.cc-target {
  font-size: 0.22rem;
  color: var(--purple-700);
  margin-top: 0.08rem;
  background: var(--purple-50);
  display: inline-block;
  padding: 0.06rem 0.16rem;
  border-radius: var(--radius-pill);
}
.cc-body {
  display: flex;
  flex-direction: column;
  gap: 0.24rem;
  margin-top: 0.28rem;
  padding-top: 0.28rem;
  border-top: 1px solid var(--gray-100);
}
.cc-block {
  display: flex;
  flex-direction: column;
  gap: 0.08rem;
}
.cc-block-h {
  display: inline-block;
  font-size: 0.22rem;
  font-weight: 600;
  color: var(--purple-500);
  letter-spacing: 0.15em;
  align-self: flex-start;
  padding: 0.04rem 0.12rem;
  background: var(--purple-50);
  border-radius: 0.06rem;
}
.cc-block-body {
  font-size: 0.26rem;
  line-height: 1.7;
  color: var(--gray-700);
}
.cc-block-key .cc-block-h {
  background: var(--green-100);
  color: var(--green-700);
}
.cc-highlight {
  display: block;
  margin-top: 0.12rem;
  padding: 0.16rem 0.2rem;
  background: var(--white);
  border-left: 0.06rem solid var(--green-500);
  border-radius: var(--radius-sm);
  font-weight: 500;
  color: var(--gray-900);
  line-height: 1.6;
}
.cc-coda {
  margin-top: 0.08rem;
  padding: 0.24rem;
  background: var(--gray-900);
  color: var(--green-500);
  border-radius: var(--radius-md);
  font-size: 0.28rem;
  line-height: 1.6;
  text-align: center;
  letter-spacing: 0.02em;
}

/* 学员故事区收尾 · 三段渐进衬线温度收束 */
.cases-foot {
  text-align: center;
  padding: 0.56rem 0 0.24rem;
}
.cases-foot-line {
  display: block;
  font-size: 0.3rem;
  line-height: 1.85;
  color: var(--gray-700);
  letter-spacing: 0.02em;
}
/* 末句落点：加重 + 略大字号 */
.cases-foot-coda {
  margin-top: 0.04rem;
  font-size: 0.32rem;
  font-weight: 600;
  color: var(--gray-900);
}
/* 收尾金句萤光绿底高光下划线（与 ft-coda-hl / fc-quote-em 同款品牌通用金句样式）*/
.cases-foot-hl {
  background: linear-gradient(transparent 60%, rgba(184, 214, 46, 0.5) 60%);
  padding: 0 0.04rem;
}

/* ============================================================
   S8 · FAQ + 客服 + 页脚
   ============================================================ */
.s-faq {
  background:
    radial-gradient(ellipse 65% 40% at 30% 50%, rgba(184, 214, 46, 0.22) 0%, transparent 70%),
    radial-gradient(ellipse 55% 35% at 75% 50%, rgba(184, 214, 46, 0.14) 0%, transparent 70%),
    var(--white);
  padding-bottom: 0;
}

.faq-list {
  display: flex;
  flex-direction: column;
  gap: 0.16rem;
  margin-bottom: 0.64rem;
}
.faq-item {
  background: var(--white);
  border: 1px solid var(--gray-100);
  border-radius: var(--radius-md);
  padding: 0.24rem 0.28rem;
}
.fq-q-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0.16rem;
}
.fq-q {
  flex: 1;
  font-size: 0.28rem;
  font-weight: 500;
  color: var(--gray-900);
  line-height: 1.5;
}
.fq-chev {
  flex: none;
  width: 0.48rem;
  height: 0.48rem;
  border-radius: 50%;
  background: var(--white);
  text-align: center;
  line-height: 0.48rem;
  font-size: 0.28rem;
  color: var(--purple-500);
  transition: transform 0.2s;
  border: 1px solid var(--gray-100);
}
.fq-chev-open {
  transform: rotate(180deg);
  background: var(--purple-50);
}
.fq-a {
  margin-top: 0.16rem;
  padding-top: 0.16rem;
  border-top: 1px solid var(--gray-100);
  font-size: 0.26rem;
  line-height: 1.7;
  color: var(--gray-700);
}
/* FAQ 段落 · 多行结构化文本 */
.fq-p {
  margin-bottom: 0.14rem;
}
.fq-p:last-child {
  margin-bottom: 0;
}
/* FAQ 内 bullet 列表 */
.fq-bullets {
  display: flex;
  flex-direction: column;
  gap: 0.08rem;
  margin: 0.14rem 0;
  padding: 0.16rem 0.2rem;
  background: var(--purple-50);
  border-radius: var(--radius-md);
}
.fq-bullet-li {
  display: flex;
  align-items: flex-start;
  gap: 0.12rem;
  font-size: 0.25rem;
  line-height: 1.65;
  color: var(--gray-700);
}
.fq-bullet-dot {
  flex: none;
  width: 0.06rem;
  height: 0.06rem;
  border-radius: 50%;
  background: var(--purple-500);
  margin-top: 0.14rem;
}
.fq-flow {
  display: flex;
  flex-wrap: wrap;
  gap: 0.12rem;
  align-items: center;
}
.fq-flow-step {
  display: inline-flex;
  align-items: center;
  gap: 0.08rem;
  padding: 0.12rem 0.16rem;
  background: var(--purple-50);
  border-radius: var(--radius-pill);
  font-size: 0.24rem;
  color: var(--purple-700);
  font-weight: 500;
}
.fs-n {
  width: 0.32rem;
  height: 0.32rem;
  border-radius: 50%;
  background: var(--purple-500);
  color: var(--white);
  text-align: center;
  line-height: 0.32rem;
  font-size: 0.22rem;
  font-weight: 700;
}
.fq-flow-arr {
  color: var(--gray-300);
  font-size: 0.24rem;
}

/* 深色 CTA */
.dark-cta {
  position: relative;
  margin: 0 -0.4rem;
  padding: 0.8rem 0.4rem;
  background:
    radial-gradient(ellipse at 80% 20%, rgba(124, 110, 245, 0.3) 0%, transparent 60%),
    radial-gradient(ellipse at 20% 80%, rgba(184, 214, 46, 0.15) 0%, transparent 60%),
    linear-gradient(135deg, var(--gray-900) 0%, var(--purple-900) 100%);
  color: var(--white);
  overflow: hidden;
}
.fly-dark {
  width: 0.48rem;
  height: 0.48rem;
  background: radial-gradient(circle,
    rgba(184, 214, 46, 0.55) 0%,
    rgba(184, 214, 46, 0.35) 22%,
    rgba(184, 214, 46, 0.18) 45%,
    rgba(184, 214, 46, 0.08) 70%,
    rgba(184, 214, 46, 0) 100%);
}

.dc-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.12rem;
  padding: 0.12rem 0.24rem;
  background: rgba(255, 255, 255, 0.1);
  border-radius: var(--radius-pill);
  margin-bottom: 0.32rem;
  font-size: 0.24rem;
  color: var(--green-500);
  backdrop-filter: blur(0.2rem);
}
.dc-dot {
  width: 0.12rem;
  height: 0.12rem;
  border-radius: 50%;
  background: var(--green-500);
  box-shadow: 0 0 0.12rem var(--green-500);
}

.dc-title {
  font-size: 0.48rem;
  line-height: 1.4;
  font-weight: 600;
  margin-bottom: 0.48rem;
  letter-spacing: 0.02em;
}
.dc-title-line { display: block; }

/* 二维码卡 · 透明容器，二维码自身成为视觉单元 */
.dc-qr-card {
  background: transparent;
  padding: 0;
  text-align: center;
  margin-bottom: 0.32rem;
  position: relative;
  z-index: 2;
}
.dc-qr-img {
  position: relative;
  width: 4.4rem;
  height: 4.4rem;
  margin: 0 auto 0.2rem;
  overflow: hidden;
  border-radius: 0.24rem;
  background: var(--white);
  box-shadow: 0 0.12rem 0.4rem rgba(0, 0, 0, 0.18);
}
.dc-qr-image {
  width: 100%;
  height: 100%;
  background: var(--white);
}
/* 二维码占位（图未替换时显示）*/
.dc-qr-img-empty {
  position: absolute;
  inset: 0;
  background: repeating-conic-gradient(var(--gray-100) 0% 25%, var(--off-white) 0% 50%) 50% / 0.32rem 0.32rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.08rem;
  z-index: -1;
}
.dc-qr-image[src=""] + .dc-qr-img-empty {
  z-index: 1;
}
.dc-qr-img-empty-text {
  font-size: 0.24rem;
  font-weight: 600;
  color: var(--gray-500);
}
.dc-qr-img-empty-sub {
  font-size: 0.18rem;
  color: var(--gray-300);
}

.dc-qr-tip {
  font-size: 0.26rem;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.85);
  margin-bottom: 0.16rem;
}
.dc-qr-id {
  display: inline-flex;
  align-items: center;
  gap: 0.08rem;
  padding: 0.12rem 0.24rem;
  background: var(--off-white);
  border-radius: var(--radius-pill);
  font-size: 0.22rem;
  color: var(--gray-700);
  margin-bottom: 0.12rem;
}
.dc-qr-id-label { color: var(--gray-500); }
.dc-qr-id-code {
  color: var(--purple-500);
  font-weight: 600;
}
.dc-qr-id-copy {
  font-size: 0.18rem;
  color: var(--gray-500);
  margin-left: 0.08rem;
}
.dc-qr-time {
  font-size: 0.22rem;
  color: var(--gray-500);
}

/* 流程侧栏 */
.dc-side {
  position: relative;
  z-index: 2;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--radius-lg);
  padding: 0.32rem;
  backdrop-filter: blur(0.2rem);
  margin-bottom: 0.32rem;
}
.dcs-title {
  font-size: 0.32rem;
  font-weight: 600;
  margin-bottom: 0.24rem;
  color: var(--white);
}
.dcs-flow {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  margin-bottom: 0.32rem;
}
.dcs-step {
  display: flex;
  align-items: flex-start;
  gap: 0.16rem;
}
.dcs-n {
  flex: none;
  width: 0.48rem;
  height: 0.48rem;
  border-radius: 50%;
  background: var(--green-500);
  color: var(--gray-900);
  text-align: center;
  line-height: 0.48rem;
  font-size: 0.24rem;
  font-weight: 700;
}
.dcs-step-text {
  display: flex;
  flex-direction: column;
  gap: 0.04rem;
}
.dcs-step-strong {
  font-size: 0.26rem;
  font-weight: 500;
  color: var(--white);
}
.dcs-step-em {
  font-size: 0.22rem;
  color: rgba(255, 255, 255, 0.6);
}

.dcs-pledge {
  display: flex;
  gap: 0.16rem;
  align-items: flex-start;
  padding: 0.2rem;
  background: rgba(184, 214, 46, 0.1);
  border: 1px solid rgba(184, 214, 46, 0.3);
  border-radius: var(--radius-md);
}
.dcs-p-ic {
  flex: none;
  font-size: 0.32rem;
  color: var(--green-500);
  line-height: 1;
}
.dcs-pledge-text {
  display: flex;
  flex-direction: column;
  gap: 0.04rem;
}
.dcs-pledge-strong {
  font-size: 0.24rem;
  font-weight: 600;
  color: var(--white);
}
.dcs-pledge-em {
  font-size: 0.22rem;
  color: rgba(255, 255, 255, 0.7);
}

/* 页脚 */
.page-foot {
  margin: 0 -0.4rem -0.96rem;
  padding: 0.64rem 0.4rem 0.48rem;
  background: var(--gray-900);
  color: rgba(255, 255, 255, 0.7);
}
.pf-brand {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.18rem;
  margin-bottom: 0.28rem;
  padding-bottom: 0.24rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.pf-logo {
  width: 1.1rem;
  height: 1.1rem;
  flex: none;
}
.pf-brand-text {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
}
/* 中文名 + 英文名 作为一组：宽度由中文名决定，英文铺满后两端对齐 */
.pf-name-block {
  display: inline-flex;
  flex-direction: column;
  align-items: stretch;
}
.pf-name {
  font-size: 0.32rem;
  font-weight: 600;
  color: var(--white);
  line-height: 1.2;
  white-space: nowrap;
}
.pf-sub-en {
  font-size: 0.2rem;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.5);
  line-height: 1.3;
  margin-top: 1px;
  text-align: justify;
  text-align-last: justify;
  white-space: nowrap;
}
.pf-tagline {
  font-size: 0.22rem;
  color: var(--green-500);
  line-height: 1.3;
  margin-top: 0.06rem;
}

.pf-info {
  font-size: 0.2rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.55);
  text-align: center;
  margin-bottom: 0.28rem;
  letter-spacing: 0.02em;
}
.pf-icp-link {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s ease;
}
.pf-icp-link:hover {
  color: rgba(255, 255, 255, 0.85);
}

.pf-legal {
  font-size: 0.2rem;
  color: rgba(255, 255, 255, 0.4);
  text-align: center;
  padding-top: 0.24rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}


.prod-card-collapsible:not(.is-open) .pd-detail,
.aux-card:not(.is-open) .aux-body,
.ft-card-collapsible:not(.is-open) .ft-card-body,
.case-card:not(.is-open) .cc-body,
.faq-item:not(.is-open) .fq-a { display: none; }

.prod-card-collapsible.is-open .pd-toggle-chev,
.aux-card.is-open .aux-chev,
.ft-card-collapsible.is-open .ft-card-chev,
.case-card.is-open .cc-chev,
.faq-item.is-open .fq-chev { transform: rotate(180deg); }

.toast {
  position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%);
  background: rgba(26, 26, 26, 0.85); color: #fff; padding: 0.24rem 0.4rem;
  border-radius: 0.16rem; font-size: 0.28rem; z-index: 9999;
  opacity: 0; pointer-events: none; transition: opacity 0.2s;
}
.toast.show { opacity: 1; }
.toast.success { background: rgba(26, 26, 26, 0.9); }

.lightbox {
  position: fixed; inset: 0; background: rgba(0, 0, 0, 0.92); z-index: 9998;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  padding: 1rem;
}
.lightbox img { max-width: 100%; max-height: 80vh; object-fit: contain; }
.lightbox .lb-hint { color: #fff; opacity: 0.65; margin-top: 0.4rem; font-size: 0.24rem; }

.topnav {
  position: sticky; top: 0; z-index: 50; max-width: 750px; margin: 0 auto;
  background: rgba(255, 255, 255, 0.86); backdrop-filter: blur(0.18rem);
  padding: 0.16rem 0.4rem; border-bottom: 1px solid rgba(26, 26, 26, 0.06);
}
.tn-left, .tn-logo { display: flex; align-items: center; gap: 0.16rem; }
.tn-right { display: flex; align-items: center; gap: 0.16rem; }
.tn-login { display: inline-flex; align-items: center; min-height: 0.56rem; font-size: 0.24rem; color: var(--gray-700); }
.tn-menu { display: none; }
.tn-cta { min-height: 0.56rem; cursor: pointer; }
@media (min-width: 750px) {
  .topnav { padding: 0.16rem 0.4rem; box-shadow: 0 0.08rem 0.24rem rgba(26, 26, 26, 0.04); }
  .tn-menu { display: flex; gap: 0.32rem; margin-left: auto; margin-right: 0.2rem; }
  .tn-menu a { color: var(--gray-700); font-size: 0.28rem; white-space: nowrap; }
  .tn-menu a:hover, .tn-login:hover { color: var(--purple-500); }
}

/* ============================================================
   PC 端响应式优化（≥1100px）
   新增于 2026-05-10，仅修改不改 HTML
   ============================================================ */
@media (min-width: 1100px) {
  body {
    background:
      radial-gradient(ellipse 28% 22% at 12% 8%, rgba(124, 110, 245, 0.16) 0%, transparent 70%),
      radial-gradient(ellipse 30% 24% at 88% 18%, rgba(184, 214, 46, 0.18) 0%, transparent 72%),
      linear-gradient(135deg, var(--purple-50) 0%, #ffffff 52%, var(--green-100) 100%);
    min-height: 100vh;
  }

  .page {
    max-width: 1100px;
    margin: 0 auto;
    background: var(--off-white);
    box-shadow: 0 0 80px rgba(124, 110, 245, 0.08);
    min-height: 100vh;
  }

  .screen {
    padding: 1.12rem 0.72rem;
  }

  .sec-head {
    max-width: 8.4rem;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }

  .sec-title {
    font-size: 0.52rem;
  }

  .sec-lead {
    max-width: 8rem;
    margin-left: auto;
    margin-right: auto;
  }

  .topnav {
    position: sticky;
    top: 0;
    z-index: 100;
    max-width: 1100px;
    height: 0.88rem;
    margin: 0 auto;
    padding: 0 0.4rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.36rem;
    background: rgba(255, 255, 255, 0.88);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(124, 110, 245, 0.10);
    box-shadow: 0 0.08rem 0.28rem rgba(26, 26, 26, 0.05);
  }

  .tn-left,
  .tn-logo {
    display: flex;
    align-items: center;
    gap: 0.16rem;
    flex: 0 0 auto;
    min-width: max-content;
  }

  .tn-logo-img {
    width: 0.48rem;
    height: 0.48rem;
    flex: none;
  }

  .tn-logo-text {
    white-space: nowrap;
    font-size: 0.3rem;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 0.02em;
  }

  .tn-menu {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.36rem;
    margin: 0;
    flex: 1 1 auto;
    min-width: 0;
  }

  .tn-menu a {
    color: var(--gray-700);
    font-size: 0.2rem;
    line-height: 1.2;
    white-space: nowrap;
    transition: color 0.2s ease;
  }

  .tn-menu a:hover,
  .tn-login:hover {
    color: var(--purple-500);
  }

  .tn-right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.18rem;
    flex: 0 0 auto;
    min-width: max-content;
  }

  .tn-login {
    display: inline-flex;
    align-items: center;
    min-height: 0.42rem;
    font-size: 0.2rem;
    line-height: 1;
    color: var(--gray-700);
    white-space: nowrap;
  }

  .tn-cta {
    min-height: 0.42rem;
    padding: 0.1rem 0.22rem;
    font-size: 0.2rem;
    line-height: 1;
    white-space: nowrap;
    border-width: 1px;
    box-shadow: 0 0.08rem 0.22rem rgba(26, 26, 26, 0.08);
  }

  .s-hero {
    padding-top: 0.8rem;
    padding-bottom: 0.92rem;
  }

  .hero-text {
    max-width: 8.6rem;
    margin: 0 auto;
    padding: 0.24rem 0 0.56rem;
    text-align: center;
  }

  .hero-title {
    font-size: 0.64rem;
    line-height: 1.18;
  }

  .hero-sub {
    font-size: 0.28rem;
  }

  .hero-service {
    display: inline-block;
    max-width: 8.4rem;
    white-space: normal;
  }

  .art-card {
    max-width: 8.4rem;
    margin-left: auto;
    margin-right: auto;
    padding: 0.48rem 0.64rem;
  }

  .hero-ctas {
    margin-top: 0.52rem;
  }

  .s-founder-card {
    padding-top: 0.96rem;
    padding-bottom: 0.96rem;
  }

  .s-founder-card .fc-bare {
    max-width: 8.4rem;
    margin: 0 auto;
    padding-left: 0.4rem;
    padding-right: 0.4rem;
  }

  .s-founder-card .fc-header {
    justify-content: center;
  }

  .s-founder-card .fc-meta {
    flex: 0 1 auto;
  }

  .s-pain {
    padding-bottom: 1.16rem;
  }

  .pain-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.32rem;
    max-width: 9.2rem;
    margin: 0.64rem auto 0.96rem;
  }

  .pain-card {
    min-height: 2.64rem;
    padding: 0.4rem;
  }

  .pc-title {
    font-size: 0.3rem;
  }

  .pc-body {
    font-size: 0.22rem;
  }

  .insight-c {
    max-width: 8.8rem;
    margin-left: auto;
    margin-right: auto;
  }

  .bucket-fig {
    max-width: 7.4rem;
    margin-left: auto;
    margin-right: auto;
  }

  .bucket-image {
    max-width: 5.2rem;
  }

  .method-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.28rem;
    max-width: 9.4rem;
    margin: 0 auto;
  }

  .method-card {
    display: flex;
    flex-direction: column;
    min-height: 3.2rem;
    padding: 0.36rem 0.3rem;
  }

  .mc-head {
    align-items: flex-start;
  }

  .mc-title-row {
    flex-direction: column;
    gap: 0.04rem;
  }

  .mc-title {
    font-size: 0.3rem;
  }

  .mc-body {
    font-size: 0.22rem;
  }

  .form-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.32rem;
    max-width: 9.4rem;
    margin-left: auto;
    margin-right: auto;
  }

  .form-list .form-card:nth-child(3) {
    grid-column: 1 / -1;
    max-width: calc((100% - 0.32rem) / 2);
    justify-self: center;
  }

  .form-inner {
    padding: 0.32rem 0.34rem 0.3rem;
  }

  .match-cta {
    max-width: 8rem;
    margin-left: auto;
    margin-right: auto;
  }

  .belief-card {
    max-width: 9.2rem;
    margin-left: auto;
    margin-right: auto;
  }

  .belief-body {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.32rem;
    align-items: start;
  }

  .belief-lead,
  .belief-foot {
    font-size: 0.26rem;
  }

  .cluster {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.28rem;
    max-width: 9.4rem;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0.8rem;
  }

  .cluster-head,
  .combo-card {
    grid-column: 1 / -1;
  }

  .cluster-head {
    margin-bottom: 0.04rem;
  }

  .prod-card,
  .single-card,
  .aux-card {
    margin-bottom: 0;
  }

  .prod-card-collapsible,
  .single-card.prod-card-collapsible,
  .aux-card {
    min-width: 0;
  }

  .pd-summary {
    min-height: 100%;
  }

  .pd-head,
  .sc-head,
  .aux-head {
    gap: 0.14rem;
  }

  .pd-name,
  .sc-name,
  .aux-name {
    font-size: 0.3rem;
  }

  .pd-intro,
  .sc-intro,
  .pd-li,
  .aux-body {
    font-size: 0.22rem;
  }

  .pd-price .num {
    font-size: 0.34rem;
  }

  .pd-toggle {
    padding: 0.14rem 0.26rem;
  }

  .pd-toggle-text {
    font-size: 0.22rem;
  }

  .combo-card {
    max-width: 9.4rem;
  }

  .cc-includes {
    display: grid;
    grid-template-columns: 1fr auto 1fr auto 1fr;
    align-items: stretch;
  }

  .founder-card {
    max-width: 9.4rem;
  }

  .founder-bio {
    padding: 0.48rem;
  }

  .fb-founder {
    flex-direction: row;
    justify-content: center;
    gap: 0.32rem;
    text-align: left;
  }

  .fb-founder-portrait {
    margin-bottom: 0;
  }

  .fb-founder-meta {
    text-align: left;
  }

  .fb-founder-name {
    justify-content: flex-start;
  }

  .fb-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.16rem 0.32rem;
  }

  .fb-note {
    max-width: 8.2rem;
    margin-left: auto;
    margin-right: auto;
  }

  .ft-row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 0.92rem));
    justify-content: center;
    gap: 0.18rem;
  }

  .ft-av {
    margin-left: 0;
  }

  .fb-translate {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.24rem;
    align-items: stretch;
  }

  .fb-translate .ft-coda,
  .fb-translate .ft-lead {
    grid-column: 1 / -1;
  }

  .fb-translate .ft-card {
    margin-bottom: 0;
  }

  .ft-card-head {
    font-size: 0.22rem;
  }

  .ft-card-body {
    font-size: 0.21rem;
  }

  .s-cases {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.28rem 0.32rem;
  }

  .s-cases > .sec-head,
  .s-cases > .cases-foot {
    grid-column: 1 / -1;
  }

  .s-cases > .sec-head {
    width: 100%;
  }

  .case-card {
    margin: 0;
    min-width: 0;
  }

  .cc-inner {
    padding: 0.26rem 0.3rem;
  }

  .cc-banner {
    font-size: 0.24rem;
  }

  .cc-block-body,
  .cc-coda {
    font-size: 0.22rem;
  }

  .cases-foot {
    max-width: 7.6rem;
    margin-left: auto;
    margin-right: auto;
  }

  .faq-list {
    max-width: 8.4rem;
    margin-left: auto;
    margin-right: auto;
  }

  .faq-item {
    padding: 0.28rem 0.34rem;
  }

  .fq-q {
    font-size: 0.24rem;
  }

  .fq-a {
    font-size: 0.22rem;
  }

  .dark-cta {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 3.4rem;
    column-gap: 0.56rem;
    align-items: center;
    margin-left: -0.72rem;
    margin-right: -0.72rem;
    padding: 0.88rem 0.72rem;
  }

  .dark-cta .dc-tag,
  .dark-cta .dc-title,
  .dark-cta .dc-qr-card {
    grid-column: 1;
  }

  .dc-title {
    font-size: 0.46rem;
  }

  .dc-qr-card {
    justify-self: start;
    margin-bottom: 0;
  }

  .dc-qr-img {
    width: 2.8rem;
    height: 2.8rem;
    margin-left: 0;
    margin-right: 0;
  }

  .dc-side {
    grid-column: 2;
    grid-row: 1 / span 3;
    margin-bottom: 0;
  }

  .page-foot {
    margin-left: -0.72rem;
    margin-right: -0.72rem;
    margin-bottom: -1.12rem;
  }
}
