/* ============================================================
   大地全美生官网首页 · 主样式表
   作用域：.qms-root（#qms-header / #qms-page / #qms-footer）
   令牌来源：design.md；纯 CSS3，无框架、无外部 CDN
   ============================================================ */

/* ---------- 设计令牌 ---------- */
.qms-root {
  /* 主色 */
  --color-primary-50: #fff8eb;
  --color-primary-100: #ffefc9;
  --color-primary-300: #ffc466;
  --color-primary-500: #faa61a;
  --color-primary-600: #d98a0e;
  --color-primary-700: #bc7d14;

  /* 辅助色 */
  --color-aux-blue: #3d79d5;
  --color-aux-green: #63a84d;
  --color-aux-orange: #f09f4d;
  --color-aux-red: #e44141;

  /* 点缀色 */
  --color-accent-amber: #ffa537;
  --color-accent-gold: #ffc977;
  --color-accent-sky: #4ea8c4;
  --color-accent-green: #6fc97a;
  --color-accent-rose: #e47171;
  --color-accent-yellow: #e6b800;

  /* 中性色 */
  --color-neutral-0: #ffffff;
  --color-neutral-50: #fffdf9;
  --color-neutral-100: #f9f9f9;
  --color-neutral-200: #efe9df;
  --color-neutral-500: #7a7a7a;
  --color-neutral-700: #313131;
  --color-neutral-800: #3f2800;

  /* 分区底色 */
  --color-pale-pink: #fff2f0;
  --color-pale-blue: #f3f8fd;
  --color-pale-green: #e8fee9;
  --color-pale-cream: #fdf9ee;
  --color-footer-orange: #ff8f15;
  --color-footer-text: #4a2400;

  /* 功能色 */
  --color-link: #1176d4;
  --color-success: #86d67c;
  --color-disabled-bg: #e3ded4;
  --color-disabled-text: #a8a29a;

  /* 字体 */
  --font-family-sans: "Source Han Sans SC", "Source Han Sans CN", "思源黑体", "Microsoft YaHei", "微软雅黑", sans-serif;
  --font-size-xs: 12px;
  --font-size-sm: 14px;
  --font-size-md: 16px;
  --font-size-lg: 18px;
  --font-size-xl: 20px;
  --font-size-2xl: 28px;
  --font-size-3xl: 36px;
  --font-size-4xl: 48px;
  --font-size-5xl: 56px;
  --font-size-phone: 26px;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-bold: 700;
  --font-lineheight-tight: 1.25;
  --font-lineheight-normal: 1.6;
  --font-lineheight-relaxed: 1.8;

  /* 间距 */
  --spacing-xs: 4px;
  --spacing-sm: 8px;
  --spacing-md: 16px;
  --spacing-lg: 24px;
  --spacing-xl: 32px;
  --spacing-2xl: 48px;
  --spacing-3xl: 64px;
  --container-max-width: 1200px;

  /* 圆角 */
  --radius-sm: 8px;
  --radius-md: 16px;
  --radius-lg: 24px;
  --radius-xl: 32px;
  --radius-full: 9999px;

  /* 阴影 */
  --shadow-sm: 0 2px 8px rgba(63, 40, 0, 0.06);
  --shadow-md: 0 8px 24px rgba(63, 40, 0, 0.10);
  --shadow-lg: 0 16px 40px rgba(63, 40, 0, 0.14);
  --shadow-brand: 0 10px 24px rgba(250, 166, 26, 0.35);
  --shadow-brand-hover: 0 16px 32px rgba(217, 138, 14, 0.40);
  --shadow-focus: 0 0 0 3px rgba(250, 166, 26, 0.32);

  /* 动效 */
  --motion-duration-fast: 150ms;
  --motion-duration-normal: 300ms;
  --motion-duration-slow: 600ms;
  --motion-duration-slower: 900ms;
  --motion-easing-standard: cubic-bezier(0.4, 0, 0.2, 1);
  --motion-easing-decelerate: cubic-bezier(0, 0, 0.2, 1);
  --motion-easing-spring: cubic-bezier(0.34, 1.56, 0.64, 1);

  /* 层级与导航 */
  --z-dropdown: 100;
  --z-sticky-header: 200;
  --z-overlay: 900;
  --z-modal: 1000;
  --nav-height: 72px;
}

/* ---------- 作用域内重置 ---------- */
.qms-root, .qms-root * { box-sizing: border-box; margin: 0; padding: 0; }
.qms-root {
  font-family: var(--font-family-sans);
  font-size: var(--font-size-md);
  line-height: var(--font-lineheight-normal);
  color: var(--color-text-primary, #313131);
  background: var(--color-neutral-50);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
.qms-root img { max-width: 100%; display: block; }
.qms-root a { text-decoration: none; color: inherit; }
.qms-root ul { list-style: none; }
.qms-root button { font-family: inherit; border: none; background: none; cursor: pointer; }
.qms-root :focus-visible { outline: none; box-shadow: var(--shadow-focus); border-radius: var(--radius-sm); }

/* ---------- 通用容器 ---------- */
.qms-container { width: 100%; max-width: var(--container-max-width); margin: 0 auto; padding: 0 24px; }

/* ---------- 版块 ---------- */
.qms-section {
  position: relative;
  min-height: 100svh;
  display: flex;
  align-items: center;
  padding: var(--spacing-3xl) 0;
  overflow: hidden;
}
.qms-section__inner { width: 100%; }

/* 版块顶部分界线：橙色深浅交错大弧度波浪（SVG data-uri） */
.qms-wave {
  position: absolute;
  top: -1px;
  left: 0;
  width: 100%;
  height: 38px;
  display: block;
  pointer-events: none;
  z-index: 5;
}
.qms-wave svg { width: 100%; height: 100%; display: block; }

/* 版块标题组（默认居中） */
.qms-heading { text-align: center; position: relative; }
/* 版块2标题右侧：灯泡缩小0.3倍（139×174），浅橙描边与大脑回路一致 */
#qms-section-2 .qms-heading-bulb { position: absolute; right: calc(50% - 520px); top: calc(50% - 50px); width: 139px; height: 174px; transform: translateY(-50%) rotate(-30deg); opacity: 0.16; pointer-events: none; z-index: 0; }
#qms-section-2 .qms-heading-bulb svg { width: 100%; height: 100%; }
/* 版块2标题左侧空白居中：浅橙大脑回路，尺寸/描边同灯泡，顺时针倾斜30° */
#qms-section-2 .qms-heading-brain { position: absolute; left: calc(50% - 560px); top: calc(50% - 50px); width: 198px; height: 248px; transform: translateY(-50%) rotate(-150deg); opacity: 0.16; pointer-events: none; z-index: 0; }
#qms-section-2 .qms-heading-brain svg { width: 100%; height: 100%; }
#qms-section-2 .qms-heading-bulb__rays { }
#qms-section-2 .qms-heading__title, #qms-section-2 .qms-heading__subtitle { position: relative; z-index: 1; }
.qms-heading__title {
  font-size: var(--font-size-2xl);
  font-weight: var(--font-weight-bold);
  color: var(--color-neutral-800);
  line-height: var(--font-lineheight-tight);
  letter-spacing: -0.01em;
}
.qms-heading__subtitle {
  margin-top: var(--spacing-md);
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-medium);
  color: var(--color-neutral-700);
}

/* 入场动画初始态 */
.qms-reveal { opacity: 0; transform: translateY(28px); transition: opacity var(--motion-duration-slow) var(--motion-easing-decelerate), transform var(--motion-duration-slow) var(--motion-easing-decelerate); will-change: transform, opacity; }
.qms-reveal.is-visible { opacity: 1; transform: translateY(0); }

/* ---------- 按钮 ---------- */
.qms-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-sm);
  height: 48px;
  padding: 0 28px;
  border-radius: var(--radius-full);
  font-size: var(--font-size-md);
  font-weight: var(--font-weight-bold);
  line-height: 1;
  transition: transform var(--motion-duration-fast) var(--motion-easing-standard),
              background-color var(--motion-duration-fast) var(--motion-easing-standard),
              box-shadow var(--motion-duration-fast) var(--motion-easing-standard),
              border-color var(--motion-duration-fast) var(--motion-easing-standard),
              color var(--motion-duration-fast) var(--motion-easing-standard);
  white-space: nowrap;
}
.qms-btn--primary { background-color: var(--color-primary-500); color: #fff; box-shadow: var(--shadow-brand); }
.qms-btn--primary:hover { background-color: var(--color-primary-600); box-shadow: var(--shadow-brand-hover); transform: translateY(-2px); }
.qms-btn--primary:active { background-color: var(--color-primary-700); transform: translateY(0) scale(0.97); box-shadow: var(--shadow-brand); }

.qms-btn--secondary { background-color: #fff; color: var(--color-primary-600); border: 1.5px solid var(--color-primary-500); }
.qms-btn--secondary:hover { background-color: var(--color-primary-50); border-color: var(--color-primary-600); transform: translateY(-2px); }
.qms-btn--secondary:active { background-color: var(--color-primary-100); transform: translateY(0) scale(0.97); }

.qms-btn:disabled, .qms-btn.is-disabled {
  background-color: var(--color-disabled-bg);
  color: var(--color-disabled-text);
  border-color: #d8d2c6;
  box-shadow: none;
  cursor: not-allowed;
  transform: none;
}

/* ---------- 文字链接 ---------- */
.qms-link { color: var(--color-link); transition: color var(--motion-duration-fast); }
.qms-link:hover { color: var(--color-primary-600); text-decoration: underline; }
.qms-link:active { color: var(--color-primary-700); }
.qms-link.is-selected { color: var(--color-primary-700); font-weight: var(--font-weight-bold); }

/* ---------- 卡片 ---------- */
.qms-card {
  background: #fff;
  border: 1px solid var(--color-neutral-200);
  border-radius: var(--radius-md);
  padding: var(--spacing-lg);
  box-shadow: var(--shadow-sm);
  transition: transform var(--motion-duration-normal) var(--motion-easing-standard),
              box-shadow var(--motion-duration-normal) var(--motion-easing-standard),
              border-color var(--motion-duration-normal) var(--motion-easing-standard),
              background-color var(--motion-duration-normal);
}
.qms-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); border-color: var(--color-primary-300); }
.qms-card:active { transform: translateY(-2px) scale(0.99); box-shadow: var(--shadow-sm); }
.qms-card.is-selected { border: 2px solid var(--color-primary-500); background-color: var(--color-primary-50); }
.qms-card.is-disabled { opacity: 0.55; cursor: not-allowed; }
.qms-card.is-disabled:hover { transform: none; box-shadow: var(--shadow-sm); border-color: var(--color-neutral-200); }

/* ---------- 页头导航 ---------- */
#qms-header.qms-root {
  position: fixed;
  top: 0; left: 0; right: 0;
  height: var(--nav-height);
  background: #fff8ec;
  z-index: var(--z-sticky-header);
  transition: box-shadow var(--motion-duration-normal), background-color var(--motion-duration-normal);
}
#qms-header.is-scrolled { box-shadow: var(--shadow-sm); background: rgba(255, 248, 236, 0.96); }
#qms-header .qms-container { height: 100%; }
.qms-nav { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: var(--spacing-lg); }
.qms-brand { display: flex; align-items: center; gap: var(--spacing-sm); flex-shrink: 0; }
.qms-brand__logo { height: 40px; width: auto; }
.qms-brand__name { font-size: var(--font-size-lg); font-weight: var(--font-weight-bold); color: var(--color-neutral-800); letter-spacing: 0.02em; }

.qms-nav__list { display: flex; align-items: center; gap: var(--spacing-xl); }
.qms-nav__item {
  position: relative;
  font-size: var(--font-size-md);
  font-weight: var(--font-weight-medium);
  color: var(--color-neutral-700);
  padding: 6px 2px;
  transition: color var(--motion-duration-fast);
}
.qms-nav__item::after {
  content: "";
  position: absolute;
  left: 50%; bottom: 0;
  width: 0; height: 2px;
  background: var(--color-primary-500);
  border-radius: 2px;
  transform: translateX(-50%);
  transition: width var(--motion-duration-fast) var(--motion-easing-standard);
}
.qms-nav__item:hover { color: var(--color-primary-600); }
.qms-nav__item:hover::after { width: 100%; }
.qms-nav__item:active { color: var(--color-primary-700); }
.qms-nav__item.is-selected { color: var(--color-primary-700); font-weight: var(--font-weight-bold); }
.qms-nav__item.is-selected::after { width: 100%; }
.qms-nav__item.is-disabled { color: var(--color-disabled-text); cursor: not-allowed; }
.qms-nav__item.is-disabled::after { display: none; }

/* 汉堡按钮 */
.qms-nav__toggle { display: none; width: 44px; height: 44px; align-items: center; justify-content: center; border-radius: var(--radius-sm); }
.qms-nav__toggle svg { width: 26px; height: 26px; stroke: var(--color-neutral-800); stroke-width: 2; fill: none; stroke-linecap: round; }
.qms-nav__toggle:hover { background: var(--color-primary-50); }
.qms-nav__toggle:active { background: var(--color-primary-100); }

/* 移动端抽屉 */
.qms-drawer {
  position: fixed;
  top: 0; right: 0;
  width: min(320px, 84vw);
  height: 100svh;
  background: #fff;
  z-index: var(--z-overlay);
  transform: translateX(100%);
  transition: transform var(--motion-duration-normal) var(--motion-easing-decelerate);
  display: flex;
  flex-direction: column;
  padding: var(--spacing-lg);
  box-shadow: var(--shadow-lg);
}
.qms-drawer.is-open { transform: translateX(0); }
.qms-drawer__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--spacing-xl); }
.qms-drawer__close { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; border-radius: var(--radius-sm); }
.qms-drawer__close svg { width: 22px; height: 22px; stroke: var(--color-neutral-800); stroke-width: 2; fill: none; stroke-linecap: round; }
.qms-drawer__close:hover { background: var(--color-primary-50); }
.qms-drawer__nav { display: flex; flex-direction: column; }
.qms-drawer__nav .qms-nav__item { padding: var(--spacing-md) var(--spacing-sm); font-size: var(--font-size-lg); border-bottom: 1px solid var(--color-neutral-200); }
.qms-drawer__nav .qms-nav__item::after { display: none; }
.qms-drawer__nav .qms-nav__item.is-selected { background: var(--color-primary-50); }
.qms-overlay {
  position: fixed; inset: 0;
  background: rgba(63, 40, 0, 0.4);
  z-index: calc(var(--z-overlay) - 1);
  opacity: 0; pointer-events: none;
  transition: opacity var(--motion-duration-normal);
}
.qms-overlay.is-open { opacity: 1; pointer-events: auto; }
/* r23 作用域化：仅本页 body.qms-doc 清零默认边距，避免与 dadikid.net 宿主样式冲突 */
body.qms-doc { margin: 0; }
/* 横向溢出兜底：仅作用于本页专属 body 类，绝不污染宿主（宿主 body 无 .qms-doc 类）。
   防止绝对定位装饰（如 hero 云朵）超出视口产生横向滚动白条 */
body.qms-doc { overflow-x: hidden; }
body.qms-no-scroll { overflow: hidden; }

/* ---------- 版块 1 Banner ---------- */
#qms-section-1 { background: #fff8ec; padding-top: calc(var(--nav-height) + var(--spacing-2xl)); padding-bottom: 150px; overflow: visible; position: relative; z-index: 3; }
.qms-banner { position: relative; display: grid; grid-template-columns: 48% 52%; align-items: stretch; min-height: 520px; }
.qms-banner__content { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; text-align: left; gap: var(--spacing-lg); position: relative; z-index: 2; }
.qms-banner__title {
  font-size: var(--font-size-4xl);
  font-weight: var(--font-weight-bold);
  color: var(--color-neutral-800);
  line-height: var(--font-lineheight-tight);
  letter-spacing: -0.01em;
  text-align: left;
}
.qms-banner__title .qms-hl { color: var(--color-primary-500); }
.qms-banner__subtitle { font-size: var(--font-size-lg); color: var(--color-neutral-700); line-height: var(--font-lineheight-relaxed); text-align: left; margin: 0; }

/* 配图：透明底人物+道具平铺版块背景，左侧渐隐融合 */
.qms-banner__media { position: relative; align-self: stretch; width: 100%; min-height: 460px; pointer-events: none; overflow: visible; z-index: 1; }
.qms-banner__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
  display: block;
  pointer-events: auto;
  transition: transform var(--motion-duration-normal) var(--motion-easing-standard);
  /* 等比放大1.3倍并下移137px：人物各部位与桌面闪卡完整显示，底边紧贴圆角卡片组上端，不遮挡漂浮元素与文字 */
  transform-origin: center bottom;
  transform: translateY(137px) scale(1.3);
}

.qms-banner__media:hover .qms-banner__img { transform: translateY(137px) scale(1.33); }
.qms-banner__media:active .qms-banner__img { transform: translateY(137px) scale(1.31); }

/* 马克笔手绘漂浮装饰（淡彩色，置于文字下层，不遮挡文案） */
.qms-float-ico { position: absolute; pointer-events: none; z-index: 0; opacity: 0.62; animation: qmsFloat 6s ease-in-out infinite; }
.qms-float-ico svg { width: 100%; height: 100%; display: block; }
.qms-banner__title, .qms-banner__subtitle { position: relative; z-index: 2; }
/* 太阳：放大2倍，位于配图右上方，光芒缓慢旋转；右图下移后上移并贴近右角，避开老师举起的右手 */
.qms-float-ico--sun { top: -44px; right: -6px; width: 104px; height: 104px; color: #f5b00f; opacity: 0.78; animation-delay: 0.4s; z-index: 4; }
.qms-sun__rays { transform-box: view-box; transform-origin: 28px 28px; animation: qmsSpinSlow 22s linear infinite; }
/* 淡粉马克笔火箭：放大2倍，箭身顺时针50°朝右上，火焰朝左下 */
.qms-float-ico--rocket { top: -3%; left: -2%; width: 132px; height: 132px; opacity: 0.62; animation-delay: 0.8s; }
.qms-float-ico--rocket svg { transform: rotate(50deg); }
.qms-rocket__flame { transform-box: fill-box; transform-origin: 50% 100%; animation: qmsFlicker 0.55s ease-in-out infinite alternate; }
/* 淡橙线白填充大云朵（明暗基准）：标题上方靠右，向右下移动20px */
/* 顶部大云朵：上移并略向左，避开右图下移后老师举起的右手 */
.qms-float-ico--cloud-big { top: 1%; left: calc(50% + 250px); right: auto; margin-left: -64px; width: 128px; height: 76px; opacity: 0.62; animation-delay: 1.6s; }
/* 淡橙马克笔手绘螺旋：文案左下角 */
.qms-float-ico--spiral-orange { bottom: 4%; left: -4%; width: 108px; height: 108px; color: #f7b361; opacity: 0.62; animation-delay: 2.2s; }
/* 文案下方：ABC字母（漂浮元素）/ 书本，自由分散（地球已移除） */
.qms-float-ico--abc { bottom: calc(6% + 20px); left: calc(31% + 20px); width: 88px; height: 48px; opacity: 0.62; animation: qmsFloat 5.5s ease-in-out infinite; animation-delay: 2.4s; }
.qms-float-ico--abc svg { transform-box: fill-box; transform-origin: 50% 50%; transform: rotate(45deg); animation: qmsAbcTilt 5.5s ease-in-out infinite; animation-delay: 2.4s; }
@keyframes qmsAbcTilt { 0%,100% { transform: rotate(45deg); } 50% { transform: rotate(49deg); } }
.qms-float-ico--book { bottom: 2%; right: 3%; width: 60px; height: 50px; opacity: 0.62; animation-delay: 2.8s; }
.qms-float-ico--book svg { transform-box: fill-box; transform-origin: 50% 50%; transform: rotate(-60deg); }
@keyframes qmsFloat { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-8px) rotate(2deg); } }
@keyframes qmsSpinSlow { to { transform: rotate(360deg); } }
@keyframes qmsFlicker { from { transform: scaleY(0.86) scaleX(0.94); } to { transform: scaleY(1.12) scaleX(1.04); } }

/* 数字卡片横条：版块1/2 分界线上方，居中单卡，3组并排+竖线分隔（参考图底部多图标卡片样式） */
/* 层级说明：z-index 低于波浪(见 .qms-wave-divider)，让向下加宽的白色波浪从卡片左右两侧盖过米色；
   卡片本身 z-index 更高，仍浮在波浪之上。不再使用矩形白色衬底（会淹没波浪造型） */
.qms-stat-band { position: relative; z-index: 6; margin-top: -118px; padding-bottom: 0; }
.qms-stat-band .qms-container { position: relative; z-index: 1; }
.qms-stat-unified {
  background: #fff;
  border-radius: var(--radius-xl);
  padding: var(--spacing-xl) var(--spacing-2xl);
  /* 四周浅灰色模糊投影（中性灰，不带暖色），hover 时加深并轻微上浮 */
  box-shadow: 0 10px 30px rgba(31, 35, 41, 0.10), 0 2px 8px rgba(31, 35, 41, 0.06);
  border: 1px solid var(--color-neutral-100);
  transition: box-shadow var(--motion-duration-normal) var(--motion-easing-standard), transform var(--motion-duration-normal) var(--motion-easing-standard);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  max-width: 960px;
  margin: 0 auto;
  position: relative;
}
.qms-stat-unified:hover {
  box-shadow: 0 18px 44px rgba(31, 35, 41, 0.18), 0 4px 12px rgba(31, 35, 41, 0.10);
  transform: translateY(-3px);
}
.qms-stat-item {
  display: flex;
  align-items: center;
  gap: var(--spacing-md);
  flex: 1;
  padding: 0 var(--spacing-xl);
  min-width: 0;
}
.qms-stat-item__icon {
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  border-radius: var(--radius-full);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform var(--motion-duration-normal) var(--motion-easing-spring);
}
.qms-stat-item__icon svg { width: 28px; height: 28px; }
.qms-stat-item__icon--warm { background: rgba(245, 133, 15, 0.12); color: var(--color-primary-500); }
.qms-stat-item__icon--green { background: rgba(52, 168, 83, 0.12); color: var(--color-aux-green); }
.qms-stat-item__icon--blue { background: rgba(66, 133, 244, 0.12); color: var(--color-aux-blue); }
.qms-stat-item:hover .qms-stat-item__icon { transform: scale(1.1) rotate(-4deg); }
.qms-stat-item__body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.qms-stat-item__num { font-size: 32px; font-weight: var(--font-weight-bold); line-height: 1.1; color: var(--color-neutral-800); white-space: nowrap; }
/* 数字颜色与对应图标一致 */
.qms-stat-item--warm .qms-stat-item__num { color: var(--color-primary-500); }
.qms-stat-item--green .qms-stat-item__num { color: var(--color-aux-green); }
.qms-stat-item--blue .qms-stat-item__num { color: var(--color-aux-blue); }
.qms-stat-item__label { font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); color: var(--color-neutral-600); }
.qms-stat-unified__divider {
  flex-shrink: 0;
  width: 1px;
  height: 48px;
  background: linear-gradient(to bottom, transparent, var(--color-neutral-200) 20%, var(--color-neutral-200) 80%, transparent);
}

/* 版块通用背景装饰基类（hero 固定装饰已全部移除） */
.qms-decor { position: absolute; pointer-events: none; z-index: 0; }
.qms-decor svg { display: block; width: 100%; height: auto; }
.qms-banner > * { position: relative; z-index: 1; }


/* 版块1/2 大云朵波浪分界：起伏垂直镜像（中间向下凹垂、两端高）；
   下移至波浪垂直中线与数字卡片高度中线重合（bottom:-60px），两端白色盖住卡片两侧米色 */
.qms-wave-divider { position: absolute; left: 0; right: 0; bottom: -60px; z-index: 5; line-height: 0; pointer-events: none; }
.qms-wave-divider svg { display: block; width: 100%; height: 230px; }

/* ---------- 版块 2 为什么是现在 ---------- */
#qms-section-2 { background: #fff; padding-top: calc(var(--spacing-3xl) + var(--spacing-2xl)); position: relative; z-index: 1; }
.qms-brain-card {
  width: 100%;
  background: var(--color-neutral-50);
  border: 1px solid var(--color-neutral-200);
  border-radius: var(--radius-lg);
  padding: var(--spacing-xl);
  text-align: center;
  transition: transform var(--motion-duration-normal), box-shadow var(--motion-duration-normal), border-color var(--motion-duration-normal);
}
.qms-brain-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); border-color: var(--color-primary-300); }
.qms-brain-card:active { transform: scale(0.99); }
.qms-brain-svg { width: 150px; height: 150px; margin: 0 auto var(--spacing-md); }
.qms-brain-tags { display: flex; justify-content: center; gap: var(--spacing-sm); flex-wrap: wrap; }
.qms-pill {
  display: inline-flex; align-items: center;
  background: #fff;
  border: 1px solid var(--color-neutral-200);
  border-radius: var(--radius-full);
  padding: 6px 14px;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  color: var(--color-neutral-700);
  box-shadow: var(--shadow-sm);
}
.qms-pill--hl { border-color: var(--color-primary-500); color: var(--color-primary-700); }

/* VS 对比条 */
.qms-vs { display: flex; align-items: stretch; width: 100%; border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-md); }
.qms-vs__side { flex: 1; padding: var(--spacing-lg); text-align: center; display: flex; flex-direction: column; justify-content: center; gap: var(--spacing-xs); }
.qms-vs__side--later { background: var(--color-neutral-100); color: var(--color-neutral-700); }
.qms-vs__side--early { background: var(--color-primary-500); color: #fff; }
.qms-vs__time { font-size: var(--font-size-2xl); font-weight: var(--font-weight-bold); }
.qms-vs__desc { font-size: var(--font-size-sm); }
.qms-vs__badge {
  align-self: center;
  width: 42px; height: 42px;
  border-radius: var(--radius-full);
  background: #fff;
  color: var(--color-primary-600);
  font-weight: var(--font-weight-bold);
  display: flex; align-items: center; justify-content: center;
  margin: 0 -21px;
  z-index: 2;
  box-shadow: var(--shadow-sm);
  transition: transform var(--motion-duration-normal) var(--motion-easing-spring);
}
.qms-vs__badge:hover { transform: rotate(8deg) scale(1.08); }
.qms-window { display: flex; flex-direction: column; gap: var(--spacing-xl); margin-top: var(--spacing-2xl); }
.qms-window__text { display: flex; flex-direction: column; gap: var(--spacing-lg); }
.qms-window__text p { color: var(--color-neutral-700); line-height: var(--font-lineheight-relaxed); }
.qms-window__divider { border: none; border-top: 1px dashed var(--color-neutral-200); }

/* 大脑信息图：横向卡片 */
.qms-brain-card--row { display: flex; align-items: center; gap: var(--spacing-xl); text-align: left; }
.qms-brain-card--row .qms-brain-svg { width: 120px; height: 120px; margin: 0; flex-shrink: 0; }
.qms-brain-card__body { display: flex; flex-direction: column; gap: var(--spacing-md); flex: 1; }
.qms-brain-card__tip { font-size: var(--font-size-sm); color: var(--color-neutral-500); }

/* VS + 进度条版本 */
.qms-vs--bars { align-items: stretch; }
.qms-vs--bars .qms-vs__side { flex: 1; gap: var(--spacing-sm); padding: var(--spacing-lg); }
.qms-vs__ill { width: 96px; height: 96px; object-fit: contain; align-self: center; margin-bottom: var(--spacing-xs); transition: transform var(--motion-duration-normal); }
.qms-vs__ill:hover { transform: scale(1.06) rotate(-2deg); }
.qms-vs--bars .qms-bar { margin-top: var(--spacing-xs); width: 100%; }

/* 版块 3 手绘对比插画组 */
.qms-compare-ills { display: grid; grid-template-columns: 1fr 1fr; gap: var(--spacing-lg); margin-top: var(--spacing-2xl); }
.qms-compare-ill { display: flex; flex-direction: column; align-items: center; gap: var(--spacing-sm); background: #fff; border-radius: var(--radius-lg); padding: var(--spacing-md); box-shadow: var(--shadow-sm); border: 1px solid var(--color-neutral-200); transition: transform var(--motion-duration-normal), box-shadow var(--motion-duration-normal), border-color var(--motion-duration-normal); }
.qms-compare-ill:hover { transform: translateY(-5px); box-shadow: var(--shadow-md); border-color: var(--color-primary-300); }
.qms-compare-ill:active { transform: scale(0.99); }
.qms-compare-ill img { width: 100%; max-width: 280px; height: 150px; object-fit: contain; }
.qms-compare-ill figcaption { font-size: var(--font-size-md); font-weight: var(--font-weight-medium); color: var(--color-neutral-700); }
.qms-compare-ill--hl figcaption { color: var(--color-primary-700); font-weight: var(--font-weight-bold); }

/* 照片 + 手绘贴纸包装 */
.qms-photo-wrap { position: relative; }
.qms-sticker { position: absolute; width: 52px; height: 52px; transition: transform var(--motion-duration-normal) var(--motion-easing-spring); pointer-events: none; }
.qms-photo-wrap:hover .qms-sticker { transform: scale(1.14) rotate(6deg); }
.qms-sticker svg { width: 100%; height: 100%; filter: drop-shadow(0 2px 4px rgba(63,40,0,0.12)); }
.qms-sticker--sun { top: -14px; left: -14px; }
.qms-sticker--note { top: -14px; right: -10px; }
.qms-sticker--star { top: -14px; right: -10px; }
.qms-sticker--ball { bottom: -12px; right: -10px; }
.qms-sticker--steam { top: -12px; right: -8px; }
.qms-sticker--bubble { top: -14px; right: -10px; }
.qms-sticker--spot { bottom: -12px; left: -10px; }
.qms-sticker--heart { top: 10px; right: 10px; width: 44px; height: 44px; }
.qms-sticker--clock { bottom: 8px; left: 8px; width: 40px; height: 40px; }

/* 版块 6 宽幅手绘收尾 */
.qms-result-ill { margin-top: var(--spacing-xl); text-align: center; }
.qms-result-ill img { width: 100%; max-width: 720px; margin: 0 auto; border-radius: var(--radius-lg); transition: transform var(--motion-duration-slow); }
.qms-result-ill img:hover { transform: scale(1.02); }
.qms-photo-wrap--fill { height: 100%; }
.qms-photo-wrap--fill .qms-five__photo { min-height: 240px; }

/* 进度条（1年 vs 4-5年） */
.qms-bar-row { display: flex; flex-direction: column; gap: var(--spacing-md); width: 100%; }
.qms-bar { background: var(--color-neutral-100); border-radius: var(--radius-full); height: 18px; overflow: hidden; }
.qms-bar__fill { height: 100%; width: 0; border-radius: var(--radius-full); transition: width 900ms var(--motion-easing-decelerate); }
.qms-bar__fill--early { background: var(--color-primary-500); }
.qms-bar__fill--later { background: var(--color-neutral-500); }
.qms-bar__fill.is-grown--early { width: 22%; }
.qms-bar__fill.is-grown--later { width: 100%; }
.qms-bar__fill.is-grown { width: var(--bar-width, 100%); }
.qms-bar-label { display: flex; justify-content: space-between; font-size: var(--font-size-sm); color: var(--color-neutral-700); font-weight: var(--font-weight-medium); }

/* 版块 2 左文右图 */
.qms-window2 { display: grid; grid-template-columns: 1fr 1fr; gap: var(--spacing-2xl); align-items: center; margin-top: var(--spacing-2xl); }
.qms-window2__text { display: flex; flex-direction: column; gap: var(--spacing-lg); }
.qms-window2__text p { color: var(--color-neutral-700); line-height: var(--font-lineheight-relaxed); }

/* 书本数量对比图表 */
.qms-chart { position: relative; z-index: 0; border: none; background: none; box-shadow: none; padding: 58px 52px; }
/* 外层柔光晕 */
.qms-chart::after { content: ""; position: absolute; inset: -6px -2px; z-index: -2; background: radial-gradient(58% 52% at 50% 46%, rgba(255,190,110,0.42), rgba(255,190,110,0) 72%); filter: blur(12px); }
/* 浅橙流体有机 blob 色块 */
.qms-chart::before { content: ""; position: absolute; inset: -24px -18px; z-index: -1; background: #FDF9EE; -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 560' preserveAspectRatio='none'><path fill='white' d='M170 26 C330 -14 430 52 540 34 C690 10 820 14 906 82 C970 134 916 196 956 262 C996 330 972 408 912 452 C836 508 742 486 624 512 C500 540 430 556 320 520 C214 486 150 506 86 470 C26 436 26 372 30 300 C34 236 8 176 34 120 C56 70 96 44 170 26 Z'/></svg>"); mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 560' preserveAspectRatio='none'><path fill='white' d='M170 26 C330 -14 430 52 540 34 C690 10 820 14 906 82 C970 134 916 196 956 262 C996 330 972 408 912 452 C836 508 742 486 624 512 C500 540 430 556 320 520 C214 486 150 506 86 470 C26 436 26 372 30 300 C34 236 8 176 34 120 C56 70 96 44 170 26 Z'/></svg>"); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; }
.qms-chart > * { position: relative; z-index: 1; }
.qms-chart__x-title { text-align: center; font-size: var(--font-size-md); font-weight: var(--font-weight-bold); color: var(--color-neutral-800); margin-bottom: var(--spacing-xl); }
.qms-chart__rows { display: flex; flex-direction: column; gap: var(--spacing-xl); }
.qms-chart__row { display: grid; grid-template-columns: 120px 1fr 56px; align-items: center; gap: var(--spacing-md); }
.qms-chart__y-label { font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); color: var(--color-neutral-700); }
.qms-chart__books { display: flex; gap: var(--spacing-sm); align-items: center; }
/* 词汇卡片图标（代表英文词汇量） */
.qms-word {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 48px;
  border-radius: 6px;
  background: linear-gradient(135deg, #ffb020, #f5850f);
  color: #fff;
  font-weight: var(--font-weight-bold);
  font-size: 20px;
  font-family: "Source Han Sans SC", "Source Han Sans CN", "思源黑体", "Microsoft YaHei", "微软雅黑", sans-serif;
  box-shadow: 0 4px 10px rgba(245, 133, 15, 0.25), inset 0 -3px 0 rgba(0,0,0,0.08);
  position: relative;
  transition: transform var(--motion-duration-normal) var(--motion-easing-spring);
}
.qms-word::before {
  content: "";
  position: absolute;
  top: 6px; left: 6px; right: 6px;
  height: 2px;
  background: rgba(255,255,255,0.55);
  border-radius: 2px;
}
.qms-word::after {
  content: "";
  position: absolute;
  top: 12px; left: 6px; right: 12px;
  height: 2px;
  background: rgba(255,255,255,0.35);
  border-radius: 2px;
}
.qms-word--gray { background: linear-gradient(135deg, #c5bfb2, #9a948a); box-shadow: 0 4px 10px rgba(0,0,0,0.08), inset 0 -3px 0 rgba(0,0,0,0.06); }
/* 单词卡统一横向对齐，卡内横排 ABC */
.qms-word--abc { width: 64px; height: 52px; font-size: 14px; letter-spacing: 0.5px; }
.qms-word--abc::before, .qms-word--abc::after { display: none; }
.qms-chart__books { align-items: center; }
.qms-chart__books--later { opacity: 0.55; }

.qms-word--half { opacity: 0.55; transform: scale(0.9); }
.qms-word:hover { transform: translateY(-4px) rotate(-3deg); }
.qms-chart__ratio { font-size: var(--font-size-xl); font-weight: var(--font-weight-bold); color: var(--color-primary-600); text-align: center; }
.qms-chart__ratio--muted { color: var(--color-neutral-500); font-size: var(--font-size-lg); }
.qms-chart__note { margin-top: var(--spacing-md); text-align: center; font-size: var(--font-size-xs); color: var(--color-neutral-400); font-weight: var(--font-weight-normal); }

/* ---------- 版块 3 对比表 ---------- */
#qms-section-3 { background: var(--color-pale-green); position: relative; overflow: visible; }
.qms-flower-divider { position: absolute; left: 0; right: 0; bottom: -60px; height: 130px; z-index: 1; line-height: 0; pointer-events: none; }
.qms-flower-divider svg { display: block; width: 100%; height: 100%; }
.qms-compare-card { margin-top: var(--spacing-2xl); background: #fff; border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); overflow: hidden; }
.qms-compare-table { width: 100%; border-collapse: collapse; }
.qms-compare-table th, .qms-compare-table td { padding: var(--spacing-md) var(--spacing-lg); text-align: center; font-size: var(--font-size-md); border-bottom: 1px solid var(--color-neutral-200); }
.qms-compare-table thead th { font-weight: var(--font-weight-bold); font-size: var(--font-size-lg); vertical-align: middle; }
.qms-th-ico { display: block; width: 26px; height: 26px; margin: 0 auto var(--spacing-xs); }
.qms-th-logo { display: block; width: 74px; height: auto; margin: 0 auto var(--spacing-xs); filter: brightness(0) invert(1); }
.qms-compare-table .col-dim { background: var(--color-neutral-100); color: var(--color-neutral-700); width: 22%; }
.qms-compare-table .col-normal { background: #e8e8e8; color: var(--color-neutral-700); }
.qms-compare-table .col-qms { background: var(--color-primary-500); color: #fff; }
.qms-compare-table tbody tr { transition: background-color var(--motion-duration-fast); }
.qms-compare-table tbody tr:hover { background: var(--color-primary-50); }
.qms-compare-table tbody td:last-child { background: #fff8e8; font-weight: var(--font-weight-medium); color: var(--color-neutral-800); position: relative; }
.qms-compare-table tbody td:last-child:hover { background: #fff3d6; }
.qms-compare-table tbody td:last-child .qms-check { position: absolute; left: 10px; opacity: 0; transform: translateX(-6px); transition: opacity var(--motion-duration-fast), transform var(--motion-duration-fast); color: var(--color-primary-500); }
.qms-compare-table tbody tr:hover .qms-check { opacity: 1; transform: translateX(0); }
.qms-dim-ico { width: 20px; height: 20px; vertical-align: -4px; margin-right: var(--spacing-xs); }

/* 版块 3 背景装饰：主标题左右下层 ABC 元素 + 左下角花朵，内容下层不遮挡 */
#qms-section-3 .qms-section__inner { position: relative; z-index: 2; }
/* 主标题左侧下层：ABC 逆时针30°，色调调淡与ABC书本一致（#8fc3ec/#f5b041/#aed58a） */
.qms-decor--abc-title { top: 12%; left: calc(50% - 500px); width: 128px; opacity: 0.6; transform: rotate(-30deg); }
/* 主标题右侧下层：打开的ABC书本，顺时针30° */
.qms-decor--book-abc { top: 11%; right: calc(50% - 470px); width: 140px; opacity: 0.75; transform: rotate(30deg); }
/* 左下角：带叶子花朵，花朵朝上逆时针20°，颜色调淡与ABC书本色调一致 */
/* 左下角花朵：向上移动80px */
.qms-decor--flower { bottom: calc(8% + 80px); left: 1.5%; width: 118px; opacity: 0.7; transform: rotate(-20deg); transform-origin: 50% 80%; }
/* 右边缘中部铅笔：淡彩底纹，保留 */
.qms-decor--pencil-2 { top: 52%; right: -1%; opacity: 0.1; width: 138px; transform: rotate(-24deg); }

/* ---------- 版块 4 一天时间轴 ---------- */
#qms-section-4 { background: var(--color-pale-blue); position: relative; z-index: 2; padding-top: calc(var(--spacing-3xl) + var(--spacing-md)); }
/* 版块4 手绘螺旋线 / 纸飞机螺旋虚线装饰 */
.qms-day-decor { position: absolute; pointer-events: none; z-index: 1; }
.qms-day-decor svg { width: 100%; height: 100%; display: block; }
/* 左上角彩虹双云朵：颜色调淡，与底部云朵/五角星深浅一致（opacity 0.5） */
.qms-day-decor--rainbow { top: 11%; left: 4.5%; width: 172px; height: 128px; opacity: 0.5; }
.qms-day-decor--rainbow svg { transform: rotate(-30deg); transform-origin: 50% 50%; }
/* 右上角纸飞机+收窄虚线螺旋：颜色调淡，与底部云朵/五角星深浅一致（opacity 0.5） */
.qms-day-decor--plane { top: 7%; right: 2%; width: 150px; height: 130px; opacity: 0.5; }
/* 底部单云朵：尺寸缩小1倍，移到右下角空白处，颜色调淡，不形成遮挡 */
.qms-day-decor--cloud-1 { bottom: 3%; right: 3%; left: auto; width: 170px; height: 100px; opacity: 0.5; }
.qms-day-decor--cloud-1 svg path { fill: #f7fbff; stroke: #b9d4f2; }
/* 五角星：移到左下角空白处，颜色调淡，不形成遮挡 */
.qms-day-decor--star-1 { top: auto; right: auto; bottom: 4%; left: 1.5%; width: 90px; height: 90px; opacity: 0.5; transform: rotate(16deg); }
.qms-day-decor--star-1 svg path { stroke: #f4c3cd; }
/* 彩虹弧线/云朵描边、纸飞机/螺旋虚线进一步调淡，与底部云朵 #b9d4f2、五角星 #f4c3cd 一致 */
.qms-day-decor--rainbow svg g { stroke: #b9d4f2; }
.qms-day-decor--rainbow svg g.qms-rainbow-clouds path { stroke: #b9d4f2; }
.qms-day-decor--plane svg g, .qms-day-decor--plane svg > path { stroke: #f4c3cd; }
#qms-section-4 .qms-section__inner { position: relative; z-index: 2; }
.qms-timeline-wrap { margin-top: var(--spacing-2xl); position: relative; z-index: 2; }
.qms-timeline { display: grid; grid-template-columns: repeat(7, 1fr); position: relative; padding: 0 var(--spacing-xs); }
/* 虚线穿过圆形图标中心，置于圆形底层 */
.qms-timeline::before {
  content: "";
  position: absolute;
  top: 62px; left: 7%; right: 7%;
  border-top: 2px dashed var(--color-primary-300);
  z-index: 0;
}
.qms-timeline__node {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--spacing-sm);
  padding: 0 var(--spacing-xs);
  background: none;
}
.qms-timeline__time { font-size: var(--font-size-md); font-weight: var(--font-weight-bold); color: var(--color-neutral-700); }
.qms-timeline__dot {
  width: 62px; height: 62px;
  border-radius: var(--radius-full);
  background: #fff;
  border: 2px solid var(--color-primary-500);
  display: flex; align-items: center; justify-content: center;
  box-shadow: var(--shadow-sm);
  color: var(--color-primary-500);
  transition: transform var(--motion-duration-normal) var(--motion-easing-spring), background-color var(--motion-duration-fast), color var(--motion-duration-fast), box-shadow var(--motion-duration-normal);
  position: relative; z-index: 1;
}
.qms-timeline__dot svg { width: 30px; height: 30px; }
.qms-timeline__node:hover .qms-timeline__dot,
.qms-timeline__node.is-selected .qms-timeline__dot { transform: scale(1.18); background: var(--color-primary-500); color: #fff; box-shadow: var(--shadow-brand); }
.qms-timeline__node:active .qms-timeline__dot { transform: scale(1.02); }
.qms-timeline__name { font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); color: var(--color-neutral-700); text-align: center; }

/* 对话气泡详情卡 */
.qms-speech {
  position: relative;
  margin-top: calc(var(--spacing-2xl) + 12px);
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: var(--spacing-xl);
  background: #fff;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--color-neutral-200);
  padding: var(--spacing-xl);
  align-items: center;
}
.qms-speech__tail {
  position: absolute;
  top: -12px;
  left: 50%;
  width: 26px; height: 26px;
  background: #fff;
  border-top: 1px solid var(--color-neutral-200);
  border-left: 1px solid var(--color-neutral-200);
  transform: translateX(-50%) rotate(45deg);
  transition: left var(--motion-duration-normal) var(--motion-easing-standard);
}
.qms-speech__media { position: relative; }
.qms-speech__panel { display: none; }
.qms-speech__panel.is-active { display: block; animation: qmsFadeUp var(--motion-duration-normal) var(--motion-easing-decelerate); }
.qms-speech__text { display: none; position: relative; min-height: 200px; }
.qms-speech__text.is-active { display: block; animation: qmsFadeUp var(--motion-duration-normal) var(--motion-easing-decelerate); }
.qms-speech__text h3 { position: relative; z-index: 2; font-size: var(--font-size-xl); color: var(--color-neutral-800); margin-bottom: var(--spacing-sm); }
.qms-speech__text p { position: relative; z-index: 2; color: var(--color-neutral-700); line-height: var(--font-lineheight-relaxed); }
/* 文字区右下角淡彩手绘背景：右起1/3宽、底起1/2高，位于文字下层不遮挡 */
.qms-speech-doodle {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 46%;
  min-width: 180px;
  max-height: 78%;
  height: auto;
  object-fit: contain;
  object-position: right bottom;
  z-index: 1;
  pointer-events: none;
}
.qms-timeline-detail__photo { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius-md); }
@keyframes qmsFadeUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

/* ---------- 版块 5 家长五件事：3+2 全图卡片，整版块不超过一屏 ---------- */
#qms-section-5 { background: var(--color-pale-cream); }
#qms-section-5 .qms-heading__subtitle { margin-top: var(--spacing-sm); }
.qms-five {
  margin-top: var(--spacing-lg);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: minmax(0, 32svh);
  gap: var(--spacing-md);
}
.qms-five__card {
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  isolation: isolate;
}
/* 第一排：卡片1占2列（宽=卡片2+3），第二排：卡片4、5各占2列 */
.qms-five__card--wide { grid-column: span 2; }
.qms-five__card--half { grid-column: span 2; }
.qms-five__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* 取景偏上，保证人物头部与手中道具完整 */
  object-position: center 22%;
  display: block;
  transition: transform var(--motion-duration-slow) var(--motion-easing-standard);
}
.qms-five__card:hover .qms-five__img { transform: scale(1.04); }
/* 左上角灰色半透明圆形序号 */
.qms-five__num {
  position: absolute;
  top: var(--spacing-sm);
  left: var(--spacing-sm);
  z-index: 2;
  width: 34px; height: 34px;
  border-radius: var(--radius-full);
  background: rgba(60, 60, 60, 0.55);
  color: #fff;
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-md);
  display: flex; align-items: center; justify-content: center;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}
/* 底部渐变遮罩 + 白色描述文案 */
.qms-five__mask {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  z-index: 1;
  padding: var(--spacing-xl) var(--spacing-md) var(--spacing-sm);
  background: linear-gradient(to top, rgba(20, 20, 20, 0.72) 0%, rgba(20, 20, 20, 0.38) 55%, transparent 100%);
}
.qms-five__text {
  margin: 0;
  font-size: var(--font-size-sm);
  line-height: 1.45;
  color: #fff;
  font-weight: var(--font-weight-medium);
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
}
.qms-five__card--wide .qms-five__text { font-size: var(--font-size-md); }

/* ---------- 版块 6 成果 ---------- */
#qms-section-6 { background: var(--color-pale-pink); position: relative; overflow: hidden; }
/* 版块6：左侧2×2正方形卡片 + 右侧贴边径向渐隐配图 */
.qms-result-layout {
  margin-top: var(--spacing-2xl);
  position: relative;
}
.qms-result { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--spacing-md); width: 52%; position: relative; z-index: 2; }
.qms-result .qms-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 6px;
  padding: var(--spacing-md) var(--spacing-sm);
  aspect-ratio: 3 / 2;
}
.qms-result__ico { width: 46px; height: 46px; }
.qms-result__num { font-size: var(--font-size-2xl); font-weight: var(--font-weight-bold); color: var(--color-primary-500); line-height: 1.1; }
.qms-result__text { font-size: var(--font-size-sm); color: var(--color-neutral-700); font-weight: var(--font-weight-medium); }
.qms-result__cmp { font-size: var(--font-size-xs); color: var(--color-neutral-500); transition: color var(--motion-duration-fast); }
.qms-card:hover .qms-result__cmp { color: #555; }
/* 右侧配图：贴合版块右边，顶部左侧与底部径向渐隐，与浅粉背景完全融合 */
.qms-result-photo {
  position: absolute;
  right: 0;
  top: -20px;
  width: 47%;
  max-width: 600px;
  aspect-ratio: 1/1;
  z-index: 1;
  pointer-events: auto;
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 600' preserveAspectRatio='none'><path fill='white' d='M118 26 C70 18 22 58 18 140 C14 214 40 250 30 318 C20 392 52 470 132 500 C206 528 250 482 322 506 C398 532 452 556 512 506 C566 460 556 372 570 304 C584 236 600 158 540 96 C486 40 398 32 318 26 C246 20 168 34 118 26 Z'/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 600' preserveAspectRatio='none'><path fill='white' d='M118 26 C70 18 22 58 18 140 C14 214 40 250 30 318 C20 392 52 470 132 500 C206 528 250 482 322 506 C398 532 452 556 512 506 C566 460 556 372 570 304 C584 236 600 158 540 96 C486 40 398 32 318 26 C246 20 168 34 118 26 Z'/></svg>");
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}
.qms-result-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform var(--motion-duration-slow) var(--motion-easing-standard);
}
/* hover 演讲配图轻微放大（外层 mask 会自然裁掉溢出部分） */
.qms-result-photo { overflow: hidden; }
.qms-result-photo:hover img { transform: scale(1.04); }
/* 版块6：固定装饰尺寸放大3倍，分散版块四周，内容下层不遮挡 */
#qms-section-6 .qms-section__inner { position: relative; z-index: 2; }
/* 气球（右上角）：右图正上方、主标题右侧空白处，向下移动50px */
.qms-decor--medal { top: calc(1% + 50px); right: 13%; left: auto; opacity: 0.12; width: 138px; }
/* 浅橙奖杯+两侧喷射彩带：主标题左侧空白处，距主标题150px，整体增大0.5倍，向下移动50px，尺寸/视觉线条同波浪线，顺时针倾斜25° */
.qms-decor--trophy { top: calc(1% + 50px); left: calc(50% - 478px); opacity: 0.22; width: 207px; transform: rotate(25deg); }
/* 一大一小五角星：版块右侧中间空白处（配图上缘外侧），描边调淡到与气球深浅一致 */
.qms-decor--stars { top: 30%; right: 0.5%; opacity: 0.12; width: 230px; }
/* 右下角波浪线：向上移动50px、向右移动50px；外层span只负责定位，旋转施加到内部SVG，transform-box:fill-box 在SVG上才以图形包围盒中心为轴 */
.qms-decor--curve { bottom: calc(7% + 50px); right: calc(2% - 50px); opacity: 0.12; width: 180px; }
.qms-decor--curve svg { display: block; width: 100%; height: auto; transform-box: fill-box; transform-origin: center; transform: rotate(60deg); }
/* 左下角气球：向上移动50px */
.qms-decor--medal-2 { bottom: calc(12% + 50px); left: -1%; opacity: 0.1; width: 138px; transform: rotate(-14deg); }
.qms-decor--stars-2 { bottom: 5%; right: 14%; opacity: 0.12; width: 162px; transform: rotate(10deg); }

/* ---------- 版块 7 页脚 ---------- */
#qms-footer.qms-root { background: var(--color-footer-orange); color: var(--color-footer-text); min-height: auto; padding: 0; position: relative; overflow: visible; }
/* 页脚顶部双色大波浪：波带上溢，覆盖上一版块（浅粉）背景色 */
.qms-wave--footer {
  position: absolute;
  top: -70px;
  left: 0;
  width: 100%;
  height: 90px;
  display: block;
  pointer-events: none;
  z-index: 2;
}
.qms-wave--footer svg { width: 100%; height: 100%; display: block; }
.qms-footer { padding: calc(var(--spacing-3xl) + 20px) 0 var(--spacing-xl); position: relative; z-index: 1; }
.qms-footer__grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: var(--spacing-2xl); align-items: start; }
.qms-footer__logo { display: block; width: 150px; height: auto; margin: 0 0 22px; }
.qms-footer__intro { line-height: var(--font-lineheight-relaxed); }
.qms-footer__friends-title { margin-top: var(--spacing-xl); font-weight: var(--font-weight-bold); }
.qms-footer__friends { margin-top: var(--spacing-sm); display: flex; gap: var(--spacing-sm); align-items: center; flex-wrap: wrap; }
.qms-footer__friends a { transition: color var(--motion-duration-fast); }
.qms-footer__friends a:hover { color: #2a1400; text-decoration: underline; }
.qms-footer__friends a:active { color: #1a0c00; }
.qms-footer__right { display: flex; flex-direction: column; gap: var(--spacing-lg); }
.qms-footer__phone { display: inline-flex; align-items: center; gap: var(--spacing-sm); font-size: var(--font-size-phone); font-weight: var(--font-weight-bold); transition: color var(--motion-duration-fast); }
.qms-footer__phone:hover { color: #2a1400; }
.qms-footer__phone svg { width: 28px; height: 28px; stroke: var(--color-footer-text); fill: none; stroke-width: 1.8; }
.qms-qr-row { display: flex; gap: var(--spacing-md); flex-wrap: wrap; }
.qms-qr { display: flex; flex-direction: column; align-items: center; gap: var(--spacing-xs); width: 104px; }
.qms-qr__img { width: 96px; height: 96px; object-fit: contain; background: #fff; border-radius: var(--radius-sm); padding: 6px; transition: transform var(--motion-duration-normal), box-shadow var(--motion-duration-normal); }
.qms-qr:hover .qms-qr__img { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.qms-qr:active .qms-qr__img { transform: scale(0.96); }
.qms-qr__label { font-size: var(--font-size-xs); text-align: center; line-height: 1.4; }
.qms-footer__wechat { font-size: var(--font-size-sm); }
.qms-footer__bar { position: relative; padding: var(--spacing-md) 0; text-align: center; }
/* 顶部渐变分隔线：中间浅灰实心，向两头渐变消失 */
.qms-footer__bar::before {
  content: "";
  position: absolute;
  top: 0;
  left: 5%;
  right: 5%;
  height: 1px;
  background: linear-gradient(to right, transparent 0%, rgba(90, 45, 0, 0.32) 50%, transparent 100%);
}
.qms-footer__bar p { font-size: var(--font-size-xs); line-height: 1.8; }

/* ---------- 响应式 ---------- */
@media (max-width: 1023px) {
  .qms-nav__toggle { display: inline-flex; }
  .qms-nav__list { display: none; }
  #qms-section-1 { padding-bottom: var(--spacing-2xl); }
  .qms-banner { grid-template-columns: 1fr; gap: var(--spacing-xl); min-height: 0; }
  .qms-banner__media { position: relative; order: -1; width: 100%; height: 320px; border-radius: var(--radius-xl); background: #fff8ec; }
  .qms-banner__img { position: relative; border-radius: 0; transform: scale(1) !important; transform-origin: center bottom; }
  /* r20 窄屏(≤1023)：彩虹/纸飞机缩小移至版块顶部留白两角，避免压到标题与时间轴图标 */
  .qms-day-decor--rainbow { top: 10px; left: 14px; width: 88px; height: 66px; opacity: 0.85; }
  .qms-day-decor--plane { top: 6px; right: 10px; width: 92px; height: 80px; opacity: 0.8; }
  /* 版块4：底部云朵/五角星隐藏，避免遮挡时间轴与详情卡 */
  .qms-day-decor--cloud-1, .qms-day-decor--star-1 { display: none; }
  /* 版块3：标题两侧 ABC 元素和平板上易压标题的铅笔隐藏，花朵缩小移到左下角 */
  .qms-decor--abc-title, .qms-decor--book-abc, .qms-decor--pencil-2 { display: none; }
  .qms-decor--flower { width: 72px; bottom: 12px; left: 10px; opacity: 0.7; }
  /* 版块2：窄屏隐藏大脑/灯泡装饰，避免压到标题与图表 */
  #qms-section-2 .qms-heading-brain, #qms-section-2 .qms-heading-bulb { display: none; }
  /* 版块6 装饰平板端收回：奖杯、右侧大小五角星隐藏避免压标题/配图，气球缩小保留 */
  .qms-decor--medal, .qms-decor--curve { width: 76px; }
  .qms-decor--trophy, .qms-decor--stars, .qms-decor--medal-2, .qms-decor--stars-2 { display: none; }
  .qms-banner__media:hover .qms-banner__img { transform: scale(1.03); }
  .qms-wave-divider { display: none; }
  .qms-flower-divider { display: none; }
  .qms-stat-band { margin-top: var(--spacing-2xl); }
  .qms-stat-unified { flex-direction: column; padding: var(--spacing-lg); gap: var(--spacing-md); max-width: 420px; }
  .qms-stat-item { padding: 0; width: 100%; justify-content: flex-start; }
  .qms-stat-unified__divider { width: 100%; height: 1px; background: linear-gradient(to right, transparent, var(--color-neutral-200) 20%, var(--color-neutral-200) 80%, transparent); }
  .qms-stat-item__num { font-size: 28px; }
  .qms-window2 { grid-template-columns: 1fr; }
  .qms-chart__row { grid-template-columns: 104px 1fr 48px; }
  .qms-timeline { grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: 150px; overflow-x: auto; padding-bottom: var(--spacing-md); scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; }
  .qms-timeline::before { display: none; }
  .qms-timeline__node { scroll-snap-align: center; padding: 0 6px; }
  .qms-timeline__name { font-size: var(--font-size-xs); white-space: normal; line-height: 1.3; word-break: keep-all; }
  .qms-speech { grid-template-columns: 1fr; }
  .qms-five { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 210px; }
  .qms-five__card--wide, .qms-five__card--half { grid-column: span 2; }
  .qms-result { grid-template-columns: repeat(2, 1fr); width: 100%; }
  .qms-result .qms-card { aspect-ratio: auto; }
  .qms-result-photo { position: static; width: 100%; max-width: 420px; margin: 0 auto; pointer-events: auto; -webkit-mask-image: none; mask-image: none; }
  .qms-footer__grid { grid-template-columns: 1fr; }
}


@media (max-width: 767px) {
  .qms-root { --nav-height: 56px; }
  .qms-container { padding: 0 16px; }
  .qms-section { min-height: auto; padding: var(--spacing-2xl) 0; }
  .qms-banner__title { font-size: 34px; }
  .qms-heading__title { font-size: 24px; }
  .qms-chart__row { grid-template-columns: 1fr; gap: var(--spacing-sm); text-align: center; }
  .qms-chart__books { justify-content: center; }
  .qms-chart__ratio { text-align: center; }
  .qms-chart { padding: 30px 18px; }
  .qms-chart::before { inset: -12px -8px; }
  .qms-chart__books { gap: 8px; flex-wrap: nowrap; justify-content: center; }
  .qms-word--abc { width: 52px; height: 44px; font-size: 13px; }
  .qms-five { grid-template-columns: 1fr; grid-auto-rows: 190px; gap: var(--spacing-sm); }
  .qms-five__card--wide, .qms-five__card--half { grid-column: auto; }
  .qms-sticker { width: 42px; height: 42px; }
  .qms-sticker--heart, .qms-sticker--clock { display: none; }
  .qms-result { grid-template-columns: 1fr; }
  .qms-qr-row { justify-content: flex-start; }
  /* 版块3 花朵装饰在手机端隐藏，避免贴边干扰 */
  .qms-decor--flower { display: none; }
  /* r20 移动端保留 hero 漂浮元素，置于图片与文字下层，不形成遮挡 */
  #qms-section-1 .qms-float-ico { display: block; z-index: 0; opacity: 0.5; }
  #qms-section-1 .qms-float-ico--sun { z-index: 0; }
  #qms-section-1 .qms-banner__img { position: relative; z-index: 1; }
  /* 根因修复：大云朵桌面定位 left:calc(50% + 250px) 在窄屏超出右边界、撑宽 scrollWidth 形成白条。
     改为右锚定并缩小，保证完全落在视口内 */
  .qms-float-ico--cloud-big { left: auto; right: 12px; top: 55%; margin-left: 0; width: 88px; height: 54px; }
}

@media (max-height: 700px) and (min-width: 1024px) {
  .qms-section { min-height: auto; }
}

@media (prefers-reduced-motion: reduce) {
  .qms-reveal { transform: none; transition: opacity var(--motion-duration-normal); }
  .qms-timeline-detail__photo, .qms-five__photo { transition: none; }
}
