/* ============================================================
   AI 破局 · 首页 1:1 复刻
   参数来源：Ardot 画板「AI 破局 - 首页」（2026-08 调整版）
   颜色命名与数值均直接读取画板样式：
     深暖灰 #1A1A18 | 灰色 #7F7F7F | 浅茶色 #EDE8E1 | 橙色 #D47658
     绿色 #5B8B7B  | 浅橙色 #ECCEBF | 浅绿色 #BCD1CA | 浅紫色 #D0CFDF
     浅粉色 #EBCECE | 浅暖灰 #F6F6F6 | 茶色  #CFC7BB
   字号/坐标 = 画板节点属性；富文本分段经画板导出 SVG 轮廓逐行验证
   rem 基准：1rem = 画板 16px（1280 设计稿），--k 为内容区等比缩放
   ============================================================ */

@font-face{
  font-family:'SHS-Heavy';
  src:url('../assets/fonts/SourceHanSerifSC-Heavy.subset.woff2?v=20260922c') format('woff2');
  font-weight:900; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'SHS-ExtraLight';
  src:url('../assets/fonts/SourceHanSerifSC-ExtraLight.subset.woff2?v=20260922c') format('woff2');
  font-weight:250; font-style:normal; font-display:swap;
}

:root{
  --c-dark:#1A1A18;   /* 深暖灰 */
  --c-gray:#7F7F7F;   /* 灰色 */
  --c-tea:#EDE8E1;    /* 浅茶色 */
  --c-org:#D47658;    /* 橙色 */
  --c-grn:#5B8B7B;    /* 绿色 */
  --c-lorg:#ECCEBF;   /* 浅橙色 */
  --c-lgrn:#BCD1CA;   /* 浅绿色 */
  --c-lpur:#D0CFDF;   /* 浅紫色 */
  --c-lpnk:#EBCECE;   /* 浅粉色 */
  --c-lwarm:#F6F6F6;  /* 浅暖灰 */
  --c-tea2:#CFC7BB;   /* 茶色 */
  --k:1;              /* 等比缩放系数（JS 按内容区宽度更新） */
  --pad:48px;         /* 安全区左右边距（随断点变化，px 不参与缩放） */
}
html{ font-size:calc(16px * var(--k)); scroll-behavior:auto; }
*{ margin:0; padding:0; box-sizing:border-box; }
body{
  font-family:'SHS-ExtraLight','Noto Serif SC',serif;
  font-weight:250; color:var(--c-dark);
  background:var(--c-dark);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
a{ color:inherit; text-decoration:none; }
button{ border:none; background:none; cursor:pointer; font:inherit; color:inherit; }
b,.hw{ font-family:'SHS-Heavy',serif; font-weight:900; }
.c-org{ color:var(--c-org);} .c-grn,.c-green{ color:var(--c-grn);} .c-dark{color:var(--c-dark);} .c-gray{color:var(--c-gray);}
.it{ font-style:italic; font-synthesis:style; }

/* ---------- 页面底层：三幅主图的磨砂轮播（只在两侧暗槽露出，中心彩色列盖在它上面） ---------- */
.bg-stage{
  position:fixed; inset:0; z-index:0; pointer-events:none;
  /* 常驻、不随页面滚动（fixed）；各屏 z-index:1 盖在它上面，所以它只在两侧暗槽露出。
     不再用 opacity 过渡做「过英雄区淡入」——英雄区自身不透明，等价且少一个失效点。 */
}
.bg-img{
  position:absolute; inset:0;
  background-size:cover; background-position:center;        /* 与英雄区同一画法：一张图自适应充满全屏 */
  opacity:0; transition:opacity 1.8s ease;                  /* 只做淡出轮播，不加任何滤镜/裁切 */
}
.bg-img:nth-of-type(1){ background-image:url('assets/img/hero-1.webp'); }
.bg-img:nth-of-type(2){ background-image:url('assets/img/hero-2.webp'); }
.bg-img:nth-of-type(3){ background-image:url('assets/img/hero-3.webp'); }
.bg-img.active{ opacity:1; }

/* ---------- 安全区 ---------- */
.safe{ width:min(80rem,100%); margin-inline:auto; padding-inline:var(--pad); position:relative; }

/* ---------- 区块通用 ---------- */
.sec{ position:relative; z-index:1; overflow:hidden; }   /* z-index:1 显式压住底层磨砂图（负 z 会被各屏盖住，2026-09-15 实测） */
/* 背景模型（Penpot 定案 2026-09-06）：页面底色深暖灰(#1A1A18)全屏延伸；
   00 英雄区深底+大图全屏铺满；01 起各屏彩色背景限 --colw 彩色列（JS 计算：
   ≤1366 全宽无黑边；1366~1920 黑边线性收窄；≥1920 列宽=1280×s 随缩放等比） */
.sec-aware::before,.path-a::before,.path-b::before,.sec-min::before,.sec-price::before,
.sec-voice::before,.sec-gift::before,.sec-close::before{
  content:''; position:absolute; top:0; bottom:0; left:50%; transform:translateX(-50%);
  width:var(--colw, min(80rem,100%)); pointer-events:none;
}
.sec-aware::before{ background:var(--c-tea); }
.path-a::before{ background:var(--c-lorg); }
.path-b::before{ background:var(--c-tea); }
.sec-min::before{ background:var(--c-lgrn); }
.sec-price::before{ background:var(--c-tea); }
.sec-voice::before{ background:var(--c-lpur); }
.sec-gift::before{ background:var(--c-tea); }
.sec-close::before{ background:var(--c-lpnk); }
.pill-title{
  width:17.5rem; height:5rem; border-radius:2.5rem;
  display:flex; align-items:center; justify-content:center;
  margin-inline:auto;
}
.pill-title span{ font-family:'SHS-Heavy'; font-weight:900; font-size:3rem; line-height:4.3125rem; color:var(--c-lwarm); }
.pt-green{ background:var(--c-grn); } .pt-org{ background:var(--c-org); }
.divider{ width:67.5rem; max-width:100%; height:0; border-top:0.0625rem solid var(--c-gray); margin-inline:auto; }  /* 分割线：预设灰色（2026-09-07 淡化定案），位置=2X屏上下50%分界 */

/* ============================================================
   00 英雄区  1280x960  背景深暖灰
   ============================================================ */
.sec-hero{ height:100vh; background:var(--c-dark); --pad:1.5rem; }  /* 00屏恒为1倍全高；左右边距24（用户定案） */
.hero-bg-layer{ position:absolute; inset:0; }
.hero-bg{
  position:absolute; inset:0;
  background-size:cover; background-position:50% 50%;
  opacity:0; transition:none; will-change:transform,opacity;
}
.hero-bg.active{ opacity:1; }
.hero-bg.sliding-in{ animation:slideIn 1s cubic-bezier(.22,.61,.36,1) forwards; }
@keyframes slideIn{ from{ transform:translateX(100%); opacity:1;} to{ transform:translateX(0); opacity:1;} }

/* 顶部栏 */
.topbar{ position:absolute; top:0; left:0; right:0; z-index:5; }
/* 顶部栏（Penpot 定案：茶色 #CFC7BB 毛玻璃；透明度 0.42=通透与文字对比的平衡点，2026-09-07 定） */
.topbar::before{ content:''; position:absolute; inset:0 0 auto; height:7.5rem; background:rgba(207,199,187,.42); backdrop-filter:blur(1.25rem) saturate(1.4); -webkit-backdrop-filter:blur(1.25rem) saturate(1.4); border-bottom:0.0625rem solid var(--c-dark); }
.topbar-inner{ height:7.5rem; display:flex; align-items:center; }
.brand{ position:relative; display:flex; align-items:center; }
.logo{
  width:4.6875rem; height:4.6875rem; border-radius:0.75rem; flex:none; position:relative;
  background:linear-gradient(180deg,#FFC2AE 0%,#D47658 50%,#714132 100%);  /* Penpot 实测：垂直 上浅→中主→下深（00屏数据源=Penpot） */
}
.logo-ap{
  position:absolute; left:0.5rem; top:0.375rem;
  font-family:'SHS-Heavy'; font-weight:900; font-size:2.5rem; line-height:3.5625rem;
  color:var(--c-dark);
}
.brand .logo-ap{ margin-right:0; }
.brand-name{
  font-family:'SHS-Heavy'; font-weight:900; font-size:3rem; line-height:4.3125rem;
  color:var(--c-dark); margin-left:1.5rem; white-space:nowrap;
}
.nav{ margin-left:auto; white-space:nowrap; font-size:1.875rem; line-height:2.6875rem; letter-spacing:0; }
.nav a{ color:var(--c-dark); transition:color .2s; }
.nav a.nav-hl{ color:var(--c-org); }
.nav a:hover{ color:var(--c-tea); }
.nav .sep{ color:var(--c-dark); }
/* 汉堡按钮（收起态）：三条杠（总高与文字同高）+ 空格 + "导航菜单"，
   字体=桌面导航 30px ExtraLight 超细；默认浅茶、悬浮深暖灰，无背景无圆角 */
.burger{
  display:none; position:absolute; right:var(--pad); top:50%; transform:translateY(-50%);
  flex-direction:row; align-items:center; gap:0.75rem; z-index:7;
  background:none; color:var(--c-tea); transition:color .25s;
}
/* 三条杠：SVG 精确绘制——等粗(3/30)、等距(10.5/30)、圆头(rx=半高)、总高=0.88字高。
   CJK 字面视觉中心略低于行框几何中心 → 杠组整体下移 1.5 设计px 校正"上飘" */
.burger .bg-bars{ display:block; width:1.98rem; height:1.65rem; fill:currentColor; flex:none; transform:translateY(0.09375rem); }
.burger .bg-txt{ font-family:'SHS-ExtraLight',serif; font-weight:250; font-size:1.875rem; line-height:1.875rem; letter-spacing:0.05em; white-space:nowrap; }
.burger:hover{ color:var(--c-dark); }
/* 汉堡菜单面板（在 .safe 内，右缘与"导航菜单"文字严格右对齐，绝不越出总宽控制）：
   浅茶30%不透明+毛玻璃；字体=桌面导航 30px ExtraLight，文字居中；行间深暖灰细线不顶头尾。
   展开/收起 = 顶部固定 + clip-path 揭幕：展开自上而下、收起自下往上（纯裁剪，无位移无淡入淡出） */
.nav-mobile{
  position:absolute; top:calc(7.5rem + 1px); right:var(--pad); z-index:6;   /* 与顶栏留 1px 缝，不粘连 */
  background:rgba(207,199,187,.42); backdrop-filter:blur(1.25rem) saturate(1.4); -webkit-backdrop-filter:blur(1.25rem) saturate(1.4);   /* 材质统一：与顶栏/面板同一块茶色磨砂玻璃 */
  border-radius:0.75rem; padding:0.5rem 0; min-width:13rem; max-width:calc(100% - var(--pad));
  visibility:hidden; clip-path:inset(0 0 100% 0 round 0.75rem);
  transition:clip-path .34s cubic-bezier(.22,.61,.36,1), visibility .34s;
}
.nav-mobile.open{ visibility:visible; clip-path:inset(0 0 0 0 round 0.75rem); }
.nav-mobile a{ position:relative; display:block; padding:0.9375rem 1.5rem; font-family:'SHS-ExtraLight',serif; font-weight:250; font-size:1.875rem; line-height:2.6875rem; color:var(--c-tea); white-space:nowrap; text-align:center; }
.nav-mobile a.nav-hl{ color:var(--c-org); }
.nav-mobile a:hover{ color:var(--c-dark); }
.nav-mobile a + a::before{ content:''; position:absolute; top:0; left:1.5rem; right:1.5rem; border-top:0.0625rem solid rgba(26,26,24,.35); }

/* 英雄区大标题：打字机（中间区自适应：上=顶栏120×k（导航元素），下=指示区120×kh，
   区内垂直居中；高度固定为三行总高 351 设计px → 打字过程中不跳动；--kh 宽度驱动） */
.hero-content{ position:absolute; left:0; right:0; top:calc(120px*var(--k,1)); bottom:calc(120px*var(--kh,1)); z-index:4; display:flex; align-items:center; }
.hero-title{ font-size:calc(16px * var(--kh,1)); height:21.9375em; }
.hero-title .hl{
  display:block; color:var(--c-lwarm); font-family:'SHS-Heavy'; font-weight:900;
  white-space:nowrap;
}
.hero-title .hl.l1,.hero-title .hl.l2{ font-size:5.3125em; line-height:1.5; }
.hero-title .hl.l3{ font-size:4em; line-height:1.5; opacity:0; font-family:'SHS-ExtraLight',serif; font-weight:250; }
.hero-title .hl.l3.fade{ animation:fadeInSoft 3s ease forwards; }
@keyframes fadeInSoft{ from{opacity:0;} to{opacity:1;} }
.hero-title .o{ color:var(--c-org); }
/* 打字光标：常驻闪烁（打完也保留），恒浅暖灰不随文字变色（安定感）；
   宽 12 设计px，高度与文字对齐（占满 CJK 字面框，底沉 0.12em 补偿降部） */
.hero-title .caret{
  display:inline-block; width:0.1412em; height:1em; margin-left:0.05em;
  vertical-align:-0.12em; background:var(--c-lwarm);
  animation:blink 1.2s steps(1) infinite;
}
@keyframes blink{ 0%,60%{opacity:1;} 61%,100%{opacity:0;} }

/* 轮播指示器（Penpot 定案版，底部隐形区贴区顶 + 水平居中）
   结构：三个位置 gap 48；激活位 = 灰色圆头胶囊 90×12（内含橙色进度），
   其余位 = 灰色圆点 ⌀12。胶囊随轮播在三个位置间移动（宽度过渡实现），
   总宽恒为 90+48+12+48+12 = 210，容器位置稳定。 */
.hero-indicator{
  position:absolute; left:50%; bottom:calc(120px*var(--kh,1) - 0.75em); transform:translateX(-50%);
  display:flex; align-items:center; gap:3em; z-index:4;
  font-size:max(calc(16px * var(--kh,1)), 9.6px);   /* 小屏下限0.6系数：点⌀≥7.2px 不至于缩没 */
}
.hero-indicator button{
  height:0.75em; border-radius:0.75em; background:var(--c-gray);
  transition:width .45s cubic-bezier(.22,.61,.36,1), background .3s; padding:0;
}
.hi-capsule{ width:5.625em; position:relative; overflow:hidden; }
.hi-dot{ width:0.75em; }
.hi-dot:hover{ background:var(--c-org); }
/* 橙色进度：左端圆头贴合胶囊左圆，右端平直推进（绝不能是圆头） */
.hi-capsule .hi-progress{
  position:absolute; left:0; top:0; bottom:0; width:0%;
  background:var(--c-org); border-radius:0.375em 0 0 0.375em;
}

/* 底部箭头（Penpot 规则：底120×kh 区扣指示器12×kh 后的剩余空间内垂直居中：
   bottom = (120kh − 12kh − 57kh)/2 = 25.5×kh；窄屏不再下坠） */
.hero-arrow{
  position:absolute; left:50%; bottom:calc(25.5px*var(--kh,1)); margin-left:-1.25em;
  font-size:calc(16px * var(--kh,1)); color:var(--c-gray);
  z-index:4; animation:floatY 2.6s ease-in-out infinite;
}
.hero-arrow span{ display:block; font-family:'SHS-Heavy'; font-size:2.5em; line-height:1.425em; }
@keyframes floatY{ 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(0.625rem);} }

/* ============================================================
   01 认知觉醒  1280x1920 背景浅茶
   ============================================================ */
.sec-aware{ padding-top:5rem; }   /* 画板：标题区240高，胶囊顶=屏顶+80 */
/* 故事板（2026-09-10 按画板重构·弹性布局）：外框=故事板描边（一圈 1px 居中 #7F7F7F），
   标签行底边=横分隔线（一条），标签之间=竖分隔线（border-left 单边），
   卡片自身无描边（左/右/底边由外框覆盖）。全部单线零重叠，杜绝局部粗细不均。 */
.aware-board{
  width:71.25rem; max-width:100%; margin:5rem auto 0;   /* 画板：胶囊底160→故事板顶240=80 */
  display:flex; flex-direction:column;
  border:0.0625rem solid var(--c-gray);
}
.aware-tabs{ display:flex; border-bottom:0.0625rem solid var(--c-gray); }  /* 标签/文字区之间的横线（一条） */
.atab{
  flex:1 1 0; min-width:0; height:5rem;                 /* 弹性三等分=画板 380×3=1140 */
  background:var(--c-tea2); font-size:1.875rem; line-height:2.6875rem;
  font-family:'SHS-Heavy'; font-weight:900; color:var(--c-dark);
  display:flex; align-items:center; justify-content:center; white-space:nowrap;
  transition:background .3s; overflow:hidden;
}
.atab + .atab{ border-left:0.0625rem solid var(--c-gray); }  /* 标签间竖分隔线（单边一条） */
.atab.active{ background:var(--c-lwarm); }
.atab:not(.active) span{ opacity:.5; }   /* 画板：非激活标签背景满色#CFC7BB，仅文字层50%透明（原整钮55%不忠实） */
.atab .a-org{ color:var(--c-org); }
.aware-card{
  position:relative;
  background:var(--c-lwarm);                            /* 无自身描边：左/右/底=外框，顶=标签行横线 */
  overflow:hidden;
}
.aware-pane{ padding:1.4375rem 0.9375rem 1.4375rem 1.5625rem; max-width:100%; font-size:1.875rem; line-height:2.6875rem; color:var(--c-dark); }  /* 弃固定宽：自动填满卡片，桌面永不句尾换字；竖屏窄卡自然按行换行 */
.aware-pane[hidden]{ display:none; }
.aware-pane p{ white-space:normal; }
.aware-pane p.em{ height:2.6875rem; }
.aware-pane .g{ color:var(--c-grn); font-family:'SHS-Heavy',serif; font-weight:900; }
.aware-pane .o{ color:var(--c-org); font-family:'SHS-Heavy',serif; font-weight:900; }
/* 逗号断行标记：<br class="lb"> 桌面隐藏（保持一行），换行档显示（整句在逗号处断开，不被切词）。
   桌面用 display:none 抑制换行；若浏览器不认，回退方案是给 .lb 设 font-size:0 并保留 content。 */
.lb{ display:none; }
/* 软性卷页（2026-09-10 终版④·StPageFlip 软翻算法）：折痕=45°线从右上角扫向左下角，
   翻页从角上小三角卷曲开始、波浪式扫过整卡（非刚体硬转，无 3D transform）；
   fp-old=折痕BL侧平铺旧文（JS逐帧clip）；fp-backface=TR侧翻过来的空白纸背
   （=对折痕线的镜像，JS逐帧clip）；fp-cyl=折痕光影带（半圆柱高光+对新页淡阴影，
   JS逐帧跟随折痕平移）；TR侧露出下一卡。落定后光影带淡出。 */
.aware-flip{ position:absolute; inset:0; z-index:3; pointer-events:none; }
/* 平铺旧文：折痕BL侧（JS逐帧clip） */
.aware-flip .fp-old{
  position:absolute; inset:0; background:var(--c-lwarm);
}
/* 空白纸背（双层层叠）：外层=深灰边框层（clip 外扩 1px，露出 1px 灰线=纸张直角边缘感），
   内层 .bf-fill=浅暖灰纸背 + 斜向明暗渐变（靠近折痕侧较暗，随圆柱弧面渐亮——圆柱立体感）。
   两层 clip 均由 JS 按折痕镜像逐帧注入（外层多边形向外偏移 1px）。 */
.aware-flip .fp-backface{
  position:absolute; inset:0;
  background:#8A867E;                              /* 1px 边线颜色（灰） */
}
.aware-flip .fp-backface .bf-fill{
  position:absolute; inset:0;
  background:linear-gradient(232deg,               /* 232°=垂直于折痕(45°)方向：右下(近折痕)暗→左上亮 */
    #F6F6F6 0%,                                    /* 摊平远端：纸背本色 */
    #F6F6F6 35%,
    #E9E9E7 58%,                                   /* 圆柱弧面：由暗渐亮（连续过渡非均匀抹灰） */
    #CDCDCC 88%,                                   /* 紧贴折痕：纸弯近垂直，受光最少=最暗 */
    #C7C7C6 100%);                                 /* 中性灰（用户定案：不许变黄，R≈G≈B） */
}
/* 纸背圆柱光影（09-11③定案）：fp-cylwrap=卡片坐标系包装层（持 clip=镜像纸背多边形，
   不参与 transform）。fp-cyl=光影带本体（JS逐帧 translate+rotate 沿折痕）。
   几何方位：镜像纸背在折痕BL侧（翻过来盖旧文），新一页在TR侧——
   故带内可见区间=50%~100%（BL半边），渐变必须在此区间内完成立体过渡：
   51% 高光棱线（贴折痕受光）→ 57% 最暗（纸弯近垂直）→ 渐弱摊平（92%归零）。
   带长方向 90deg mask 两端渐隐=头尾脱开（立体感集中中段）。 */
.aware-flip .fp-cylwrap{ position:absolute; inset:0; pointer-events:none; }
.aware-flip .fp-cyl{
  position:absolute; left:-30%; top:calc(50% - 4.0625rem); width:160%; height:8.125rem;  /* 130设计px：肥大圆柱 */
  transform-origin:50% 50%;
  transform:rotate(45deg);
  background:linear-gradient(180deg,
    rgba(26,26,24,0) 0%,
    rgba(26,26,24,0) 47%,                        /* TR侧：新一页区域（clip外，不可见） */
    rgba(246,246,246,.55) 51%,                   /* 高光棱线：贴折痕受光（可见区间起点） */
    rgba(26,26,24,.32) 57%,                      /* 最暗：纸弯近垂直（立体感核心） */
    rgba(26,26,24,.20) 66%,                      /* 渐弱：圆柱摊平过程 */
    rgba(26,26,24,.08) 78%,
    rgba(26,26,24,0) 92%);                       /* 摊平远端：归零（纸背由bf-fill接管） */
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 12%, #000 88%, transparent 100%);
  mask-image:linear-gradient(90deg, transparent 0%, #000 12%, #000 88%, transparent 100%);
  pointer-events:none;
}
/* 投影层（09-11④）：新一页在折痕TR侧——阴影投在TR侧贴折痕处。TR侧从远处渐浓至折痕
   峰值.12（贴纸边最暗=锐利边缘感），BL侧透明（纸背区域，不覆盖）。
   带长方向（90deg mask）两端柔和渐隐但保留较长尾巴（4%/96%）——卡片 overflow:hidden
   会剪掉伸出卡外的部分，故用卡内的长尾渐隐模拟"头尾伸出的一小节淡阴影"（用户要回的细节），
   与 cyl 的中段立体光影在浓淡与性质上错开、不粘连。 */
.aware-flip .fp-shadow{
  position:absolute; left:-30%; top:calc(50% - 4.0625rem); width:160%; height:8.125rem;
  transform-origin:50% 50%;
  transform:rotate(45deg);
  background:linear-gradient(180deg,
    rgba(26,26,24,0) 0%,
    rgba(26,26,24,0) 36%,                        /* TR远端：无影 */
    rgba(26,26,24,.12) 48%,                      /* 渐浓：靠近折痕 */
    rgba(26,26,24,.12) 50%,                      /* 峰值：紧贴折痕（贴纸边最暗） */
    rgba(26,26,24,0) 52%,                        /* BL侧透明：纸背区域 */
    rgba(26,26,24,0) 100%);
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 4%, #000 96%, transparent 100%);
  mask-image:linear-gradient(90deg, transparent 0%, #000 4%, #000 96%, transparent 100%);
  pointer-events:none;
}
.aware-end{
  margin-left:2.9375rem;
  font-size:2.625rem; line-height:4.625rem; font-style:italic; font-synthesis:style;   /* 行进74=画板592÷8行 */
}
.aware-end .ln.g{ color:var(--c-grn); font-family:'SHS-ExtraLight',serif; font-weight:250; }
.aware-end .ln.o{ color:var(--c-org); font-family:'SHS-Heavy',serif; font-weight:900; }
.aware-end .gap{ height:4.625rem; }

/* ============================================================
   02 破局之路  1280x1920  上浅橙下浅茶
   ============================================================ */
.sec-path{ }
.path-a{ min-height:60rem; position:relative; padding-top:2.75rem; padding-bottom:2.75rem; }  /* 底部透气≥胶囊顶边距 */
.path-subtitle{
  text-align:center; font-family:'SHS-Heavy'; font-weight:900; font-size:3rem;
  line-height:4.3125rem; margin-top:5.4375rem; white-space:nowrap;
}
.path-flow{
  display:flex; justify-content:center; align-items:flex-start; margin-top:2.8125rem;
  gap:0;
}
.pnode{ width:18.75rem; flex:none; display:flex; flex-direction:column; align-items:center; }
.pcircle{
  width:18.75rem; height:18.75rem; border-radius:50%; background:var(--c-org);
  box-shadow:0 0 0.75rem 0.75rem rgba(246,246,246,.9);
  display:flex; flex-direction:column; align-items:center;
  animation:breathe 3.2s ease-in-out infinite;
}
@keyframes breathe{ 0%,100%{ box-shadow:0 0 0.75rem 0.75rem rgba(246,246,246,.55);} 50%{ box-shadow:0 0 1.6rem 1.1rem rgba(246,246,246,.95);} }
.pc-cap{ font-size:2.25rem; line-height:3.25rem; color:var(--c-lwarm); margin-top:3.375rem; }
.pc-main{ font-family:'SHS-Heavy'; font-weight:900; font-size:3.125rem; line-height:4.5rem; color:var(--c-lwarm); margin-top:1.0625rem; white-space:nowrap; }
.pnode:nth-child(3) .pc-main{ font-size:2.8125rem; } /* TOKEN 自由 45px */
.parrow{ width:5.3125rem; height:18.75rem; flex:none; display:flex; align-items:center; justify-content:center;
  animation:parrowX 1.8s ease-in-out infinite; }   /* 2026-09-30：宽屏向右箭头左右浮动 */
/* 幅度用 px 不用 rem——rem 会被 --k 打折（手机 k=0.5 时 0.625rem 只剩 5px，1.8s 走完肉眼几乎无感，
   这正是 09-29 版"太慢看不出来"的真凶）。14px/1.8s ≈ 15.6px/s，明显但仍从容；两个旋钮：幅度 14px、周期 1.8s
   2026-09-30：行程改为 ±7px 对称于布局位（原 0→14px 是单向偏移，箭头整体偏下/偏右），总位移量不变 */
@keyframes parrowX{ 0%,100%{ transform:translateX(-7px);} 50%{ transform:translateX(7px);} }
@keyframes parrowY{ 0%,100%{ transform:translateY(-7px);} 50%{ transform:translateY(7px);} }
.parrow .arr-char{ font-size:3rem; color:var(--c-org); line-height:1; }  /* 画板：➡字符橙48px（弃SVG） */
.p-steps{ list-style:none; margin-top:3.1875rem; text-align:center; font-size:1.5rem; line-height:2.125rem; color:var(--c-dark); }
.p-steps li{ opacity:0; }
.p-steps.run li{ animation:stepShow 8.5s infinite both; }
.p-steps.run li:nth-child(1){animation-delay:0s;} .p-steps.run li:nth-child(2){animation-delay:.5s;}
.p-steps.run li:nth-child(3){animation-delay:1s;} .p-steps.run li:nth-child(4){animation-delay:1.5s;}
.p-steps.run li:nth-child(5){animation-delay:2s;} .p-steps.run li:nth-child(6){animation-delay:2.5s;}
@keyframes stepShow{ 0%{opacity:0; transform:translateY(.3rem);} 6%{opacity:1; transform:none;} 70%{opacity:1;} 79%{opacity:0;} 100%{opacity:0;} }

/* ===== 02-B（09-11⑥终版：完全照画板flex结构，弃所有margin节奏） =====
   画板结构树（API实读）：B板=column/center/pad70 → 四段(340/120/330/290)依次堆叠：
   选择目标1140=row/center/h-pad70（两组500×2=1000恰好填满，组间gap=0）
   卡点标题120=row/center → 标题文本顶对齐
   卡点内容1140=row/center/h-pad70（三组270、间距=(1000-810)/2=95×2）
   平衡指标290=column/center/center/rowGap=36（b1,b2文本块,箭头三元素间36）
   文字区210=row/center：胶囊下小字在210高内垂直居中 */
.path-b{ position:relative; min-height:100vh; display:flex; flex-direction:column; }
.path-b .safe{ flex:1 0 auto; display:flex; flex-direction:column; justify-content:center; }  /* B板justify-content:center */
.path-duo{ display:flex; align-items:center; width:71.25rem; margin-inline:auto; padding-inline:4.375rem; height:21.25rem; }  /* 选择目标340高：两组240在其内垂直居中（画板y50起） */  /* 选择目标1140=row/center/h-pad70 */
.pprime{ width:31.25rem; flex:none; display:flex; align-items:center; }  /* 500×240组内：文字+竖线垂直居中（画板顶50底55） */
.pprime .pline{ width:1.0625rem; flex:none; position:relative; }  /* 线区 15→17：文字整体右移 2px（2026-09-15 用户：别靠太近；实测线到字 11→13） */
.pprime .pline{ display:flex; align-items:center; }  /* 竖线与文字同步垂直居中 */
.pprime .pline::before{ content:''; width:calc(0.1875rem + 1px); height:7.25rem; background:#7F7F7F; flex:none; }  /* 2026-09-15：粗 3→4px；高 130→116 对齐三行文字真实墨迹（行盒129/墨迹≈116，canvas 实测） */
.pprime p{ margin-left:0; flex:1; font-size:1.875rem; line-height:2.6875rem; color:var(--c-dark); white-space:nowrap; }  /* 文字贴线区右缘：线区15（线3+余12）→线右缘到文字=12=画板 */
.path-blocks-title{
  text-align:center; font-family:'SHS-Heavy'; font-weight:900; font-size:3rem; line-height:4.3125rem;
  white-space:nowrap; height:7.5rem;   /* 卡点标题120高：文本顶对齐段顶 */
}
.pbt-seg{ display:inline; }
.pain-row{ display:flex; width:71.25rem; margin-inline:auto; padding-inline:4.375rem; gap:5.9375rem; height:20.625rem; }  /* 卡点内容330高 */  /* 卡点内容=row/h-pad70：三组270+gap95×2=1000填满内容区（画板缺-1 x140=pad70+0） */
.pain{ width:16.875rem; flex:none; height:100%; display:flex; flex-direction:column; align-items:center; }  /* 缺-1=270=卡点内容330高（胶囊120+文字区210）：p在剩余210内居中 */
.pain-pill{
  width:16.875rem; height:7.5rem; border-radius:3.75rem; border:0.1875rem solid var(--c-grn);
  background:var(--c-tea); display:flex; align-items:center; justify-content:center;
  font-family:'SHS-Heavy'; font-weight:900; font-size:3rem; line-height:4.3125rem; color:var(--c-grn);
  white-space:nowrap;
}
.pain p{ margin-block:auto; text-align:center; font-size:1.6875rem; line-height:2.5625rem; color:var(--c-dark); }  /* 文字区210内垂直居中（margin-block:auto） */  /* 文字区210=row/center：小字在胶囊下剩余210内垂直居中 */
.bal-seg{ display:flex; flex-direction:column; align-items:center; justify-content:center; row-gap:2.25rem; height:18.125rem; }  /* 平衡指标290高：三元素center+rowGap36 */  /* 平衡指标290=column/center/center/rowGap36 */
.bal-seg .b1{ font-family:'SHS-Heavy',serif; font-weight:900; font-size:3rem; line-height:3.6rem; color:var(--c-org); }  /* 画板行高1.2×48=57.6px：行盒贴合字形，间隙即真实间距 */
.bal-seg .b2{ color:var(--c-grn); font-family:'SHS-Heavy',serif; font-weight:900; font-size:1.875rem; line-height:2.6875rem; }  /* getRange实测900 */
.bal-seg .balance-arrow{ display:flex; justify-content:center; animation:floatY 2.6s ease-in-out infinite; }  /* 2026-09-15 用户要求：橙箭头上下浮动。动效挂容器（不挂 .arr-char，否则覆盖其 rotate(90deg)）；复用 00 屏下箭头同款 floatY */
.balance-arrow .arr-char{ font-size:3rem; color:var(--c-org); display:inline-block; transform:rotate(90deg) translateY(4.8px); line-height:1.2; vertical-align:middle; }  /* 盒58=48×1.2；字形偏上校正translateY(0.1em)居中 */

/* 三胶囊浮动：依次 3 次 */
.float-seq{ animation:nudge3 3s ease-in-out; }
@keyframes nudge3{ 0%,100%{transform:translateY(0);} 8%{transform:translateY(-0.5rem);} 16%{transform:translateY(0);} 25%{transform:translateY(-0.5rem);} 33%{transform:translateY(0);} 42%{transform:translateY(-0.5rem);} 50%{transform:translateY(0);} }

/* ============================================================
   03 极简方案  1280x1920 背景浅绿
   ============================================================ */
.sec-min{ padding-top:2.75rem; padding-bottom:2.75rem; }  /* A段底部透气≥胶囊顶边距（mbottom三行不贴分界线） */
.min-h2{
  text-align:center; font-family:'SHS-Heavy'; font-weight:900; font-size:3rem; line-height:4.3125rem;
  margin-top:1.4375rem; white-space:nowrap;
}
.min-stage{
  position:relative; width:74rem; max-width:100%; height:45rem; margin:1.4375rem auto 0;
}
.min-item{ position:absolute; width:18.75rem; height:18.75rem; }
.mi1{ left:19.598rem; top:1.5rem; }
.mi2{ left:35.848rem; top:1.5rem; }
.mi3{ left:27.723rem; top:15.5625rem; }
.hex{ position:relative; width:100%; height:100%; transform:translateZ(0); }  /* GPU合成层：相邻六边形同层光栅化，消除亚像素取整缝隙（几何距离本=260精确咬合） */
.hex svg{ position:absolute; inset:0; width:100%; height:100%; }
.hex polygon{ fill:var(--c-tea); stroke:var(--c-grn); stroke-width:6; }  /* 画板：6px */
.hex-txt{
  /* 旧值 left:2.2233rem → 盒中心 8.9733rem，六边形中心 9.375rem，天生偏左 0.4017rem≈6.4px */
  position:absolute; left:50%; transform:translateX(-50%); top:4.875rem; width:13.5rem; text-align:center;
  font-family:'SHS-Heavy'; font-weight:900; font-size:2.25rem; line-height:3rem; color:var(--c-dark);
}
.hex-txt .o{ color:var(--c-org);} .hex-txt .g{ color:var(--c-grn);}
.feat{
  position:absolute; width:9.375rem; height:3rem; border-radius:1.5rem;
  background:var(--c-lgrn); border:0.1875rem solid var(--c-grn);
  display:flex; align-items:center; justify-content:center;
  font-family:'SHS-Heavy'; font-weight:900; font-size:1.875rem; line-height:1.1;
  color:var(--c-grn); white-space:nowrap;
}  /* 胶囊48内文字垂直居中（line-height拉满会压低基线=下垂） */
.fp1{ left:32.4375rem; top:0; }
.fp2{ left:10.25rem; top:9.3125rem; }
.fp3{ left:54.625rem; top:9.375rem; }
.fp4{ left:21.625rem; top:31.4375rem; }
.fp5{ left:43rem; top:31.4375rem; }
.min-note{ position:absolute; font-size:1.5rem; line-height:2.25rem; color:var(--c-dark); }
.mleft{ left:11.1rem; top:21.5625rem; text-align:right; width:12.1875rem; }
.mright{ left:50.8125rem; top:21.5625rem; text-align:left; width:12rem; }
.mbottom{ left:28.75rem; top:36.4688rem; text-align:center; width:16.5rem; }
.hex{ transition:transform .4s ease; }
.min-stage .hex.floatrun{ animation:nudge3 3s ease-in-out; }
.hex:hover{ transform:translateY(-0.75rem); }

.min-card{
  position:relative; width:51.6875rem; max-width:100%; height:47.5rem; margin:7.4375rem auto 2.75rem;  /* 卡片底部透气 2.75rem 全局统一 */
  background:var(--c-tea); border:0.1875rem solid var(--c-grn); border-radius:0.75rem;
  padding:5.4688rem 1.18rem 1.18rem;
}
.min-card-title{
  position:absolute; left:50%; top:-2.5rem; transform:translateX(-50%);
  width:31.25rem; height:5rem; border-radius:2.5rem;
  background:var(--c-lgrn); border:0.1875rem solid var(--c-grn);
  display:flex; align-items:center; justify-content:center;
}
.min-card-title span{ font-family:'SHS-Heavy'; font-weight:900; font-size:3rem; line-height:2.25rem; color:var(--c-grn); white-space:nowrap; }
.min-card-body{ text-align:center; font-size:1.875rem; line-height:3rem; color:var(--c-grn); }
.min-card-body p.gap{ height:3rem; }

/* ============================================================
   04 抢占先机  1280x1920 背景浅茶
   ============================================================ */
.sec-price{ padding-top:2.75rem; }
.sec-price .divider{ margin-top:6.125rem; } /* 价格卡底 862 → 分割线精确落在 960（第一屏底） */
.price-grid{ display:flex; justify-content:center; gap:2.5rem; margin-top:4.9375rem; align-items:flex-start; }
/* 04A 卡片（2026-09-07 标注修正）：角色/价格水平对齐（顶对齐+统一行高节奏）；
   入门版(tall)顶部加高避免徽章与角色糊在一起；tall=浅橙底+橙色光晕（Ardot 画板） */
.pcard{
  position:relative; width:15rem; flex:none; border-radius:0.75rem; border:0.1875rem solid var(--c-dark);
  background:var(--c-lwarm); padding:1.5rem 0.9375rem 0;   /* 顶部减一个空行（09-11用户：原3rem） */
  font-size:0.875rem; line-height:1.5rem;
  display:flex; flex-direction:column; min-height:39.6875rem;  /* 同步减1.5rem保四卡底对齐 */
}
.pcard .pc-role{ font-size:0.9375rem; line-height:1.5rem; height:1.5rem; margin-bottom:1.5rem; color:var(--c-dark); white-space:nowrap; }
.pcard .pc-ver{ font-size:1.875rem; line-height:2.4375rem; height:2.4375rem; font-family:'SHS-Heavy'; font-weight:900; color:var(--c-dark); white-space:nowrap; }
.pcard .pc-price{ font-size:1.875rem; line-height:2.0625rem; height:2.0625rem; font-family:'SHS-Heavy'; font-weight:900; color:var(--c-dark); margin-bottom:2.375rem; white-space:nowrap; }
.pcard.tall .pay-btn{ margin-top:1.5rem; }  /* 第3卡：文字与按钮间加一空行（高度不变，吸收进 tall 富余） */
.pcard.tall{
  border-color:var(--c-org); min-height:44.0625rem;  /* 同步减1.5rem（原45.5625） */
  background:var(--c-lorg);                                   /* 浅橙底（Ardot 画板实测） */
  box-shadow:0 0 1.25rem 0.5rem rgba(246,246,246,.95);        /* 浅暖灰光晕（画板 drop-shadow） */
}
.pcard.accent-o .pc-ver,.pcard.accent-o .pc-price{ color:var(--c-org); }
.pcard.accent-g .pc-ver,.pcard.accent-g .pc-price{ color:var(--c-grn); }
.pcard ul{ list-style:none; }
.pcard li{ white-space:pre; font-size:0.875rem; line-height:1.5rem; color:var(--c-dark); }
.pcard li b{ font-family:'SHS-Heavy',serif; font-weight:900; }
.pcard li.sub{ color:var(--c-gray); }
.pcard li.sub.dark{ color:var(--c-dark); }   /* 09-30 用户：正式版「半价福利」续行与上行同为深暖灰（数据端 sd 后缀） */
.badge-hot{
  position:absolute; left:50%; transform:translateX(-50%); top:-1.125rem;
  width:9.5rem; height:2.25rem; border-radius:1.125rem; background:var(--c-org);
  font-family:'SHS-Heavy'; font-weight:900; font-size:1.5rem; line-height:2.25rem;
  color:var(--c-lwarm); text-align:center;
}
.pay-btn{
  display:block; width:11.25rem; height:2.25rem; border-radius:1.125rem; margin:auto auto 1.4375rem;
  background:var(--c-lwarm); box-shadow:0 0.25rem 0.75rem rgba(0,0,0,.25);
  font-family:'SHS-ExtraLight',serif; font-weight:250;
  font-size:1.125rem; line-height:2.25rem; text-align:center; color:var(--c-dark);
  transition:transform .18s ease;
}
.pay-btn b{ font-family:'SHS-Heavy',serif; font-weight:900; }
.pay-btn:hover{ transform:translateY(-0.25rem); }
.pay-btn:active{ transform:translateY(0.15rem); }
.pcard.tall .pay-btn{ background:var(--c-org); color:var(--c-lwarm); box-shadow:0 0.25rem 0.75rem rgba(255,255,255,1); }
.pcard .pay-btn.grn-txt{ color:var(--c-grn); }
.pcard:not(.tall) .pay-btn{ margin-top:1.5rem; }  /* 非tall卡：末行与按钮至少空一行（2026-09-12用户定案，同入门版观感） */

/* 进化阶梯（2026-09-07 图6 标注重排）：
   标题区上移（top 7rem）；阶梯四点水平间距压缩使右缘留出与左侧对称的 3.25rem
   （ladder 宽 64.75=71.25−3.25×2，修"右上离边距太小"）；估算区下移贴右对称留边 */
.ladder-zone{ position:relative; padding-top:0; min-height:56rem; }
.ladder-head{ position:absolute; left:3.25rem; top:7rem; width:33rem; max-width:41.4%; }
.lh1{ font-family:'SHS-Heavy'; font-weight:900; font-size:3rem; line-height:3.4375rem; white-space:nowrap; }
.lh2{ font-size:1.625rem; line-height:2.25rem; margin-top:0.15rem; }
.lh3{ color:var(--c-grn); font-size:1.625rem; line-height:2.25rem; }  /* 与第二行同大小（用户09-11），绿色不变 */
.ladder{ position:absolute; left:3.25rem; top:5.4375rem; height:47.875rem; width:71.25rem; }  /* 总宽1140：四容器均分285×4=1140，间距0（用户09-11定案） */
.st{ position:absolute; width:17.8125rem; }  /* 285=1140/4 */
.st:nth-child(1){ left:0; top:31.6875rem; }
.st:nth-child(2){ left:17.8125rem; top:21.1875rem; }
.st:nth-child(3){ left:35.625rem; top:10.625rem; }
.st:nth-child(4){ left:53.4375rem; top:0; }
.st-arrow{ font-family:'SHS-Heavy'; font-size:3rem; line-height:3rem; color:var(--c-dark); text-align:right; padding-right:3.75rem; animation:floatArrow 2.8s ease-in-out infinite; }
@keyframes floatArrow{ 0%,100%{transform:translateY(0);} 50%{transform:translateY(-0.5rem);} }
.st-cap{ margin-top:2.3125rem; }
.st-cap{
  width:15rem; height:2.8125rem; border-radius:999px; border:0.1875rem solid var(--c-dark);  /* 09-17：半径固定 999（rem 随 k 缩小会变方头）；边框3设计px */
  background:var(--c-tea); display:flex; align-items:center; justify-content:center;
  font-family:'SHS-ExtraLight',serif; font-weight:250; font-size:1.5rem; line-height:3rem; color:var(--c-dark);
  white-space:nowrap; animation:swayX 3.4s ease-in-out infinite;
}
@keyframes swayX{ 0%,100%{transform:translateX(0);} 25%{transform:translateX(.35rem);} 75%{transform:translateX(-.35rem);} }
.st-cap b{ font-family:'SHS-Heavy',serif; font-weight:900; margin-left:.3em; }
.st-cap.org{ color:var(--c-org); }
.st-cap.grn{ color:var(--c-grn); }
.st.lit .st-cap{ border-color:var(--c-org); }
.st-goal{ font-size:1.125rem; line-height:1.5rem; color:var(--c-dark); margin-top:2.0625rem; width:17.8125rem; white-space:nowrap; }  /* 285同容器 */  /* 加宽280=最长行15字×18+余量，nowrap 杜绝换行（用户09-11） */
.st-goal .lab-g{ font-family:'SHS-Heavy',serif; font-weight:900; color:var(--c-grn); }
.st-goal .lab-o{ font-family:'SHS-Heavy',serif; font-weight:900; color:var(--c-org); }
.st-goal .val{ white-space:nowrap; }
.estimate{
  position:absolute; right:3.25rem; top:36rem; width:14.625rem; text-align:right;
  color:var(--c-gray); font-size:1.125rem; line-height:1.5rem;
}
.estimate .es-t{ font-family:'SHS-Heavy'; font-weight:900; font-size:1.5rem; line-height:1.5rem; }
.estimate .es-note{ color:var(--c-grn); }   /* 09-30 用户：最下面两行免责声明改绿，宽屏版同步 */
.estimate .es-gap{ height:1.5rem; }
.estimate p{ white-space:nowrap; }

/* ============================================================
   05 蜕变感言  1280x960 背景浅紫
   ============================================================ */
.sec-voice{ padding-top:2.75rem; min-height:60rem; }
.quote{
  width:37.5rem; max-width:100%; height:6.25rem; border-radius:3.125rem;
  border:0; box-shadow:inset 0 0 0 calc(6px * var(--k)) var(--c-org); background:var(--c-lpur);  /* 用户定案：描边6px。用inset shadow环替代border：border会被设备像素取整缩水(k<1时6→4.6)，shadow纯绘制抗锯齿=精确6设计px，视觉同内描边 */
  margin:1.75rem auto 0; padding:0.4375rem 0; display:flex; flex-direction:column; justify-content:center;
}
.quote p{ text-align:left; font-size:1.875rem; line-height:2.6875rem; color:var(--c-dark); white-space:nowrap; padding-left:1.875rem; }  /* 画板：文字左对齐，内边距30 */
.quote p.q2{ font-family:'SHS-Heavy',serif; font-weight:900; }
.marquee{ overflow:hidden; width:var(--colw,100%); margin-inline:auto; padding:0.5625rem 0; margin-block:-0.0625rem; }  /* 上下留9px：hover上浮8px不被裁切 */
.mq-a{ margin-top:2.875rem; }
.mq-b{ margin-top:1.75rem; }
.sec-voice .safe:last-child .quote{ margin-top:2.875rem; }
.mq-track{ display:flex; gap:0.625rem; width:max-content; }
.mq-a .mq-track{ animation:mqLeft 36s linear infinite; }
.mq-b .mq-track{ animation:mqRight 36s linear infinite; }
@keyframes mqLeft{ from{transform:translateX(0);} to{transform:translateX(calc(-6 * (var(--cardw,16.25rem) + 0.625rem)));} }
@keyframes mqRight{ from{transform:translateX(calc(-6 * (var(--cardw,16.25rem) + 0.625rem)));} to{transform:translateX(0);} }
.marquee:hover .mq-track{ animation-play-state:paused; }
.vcard{
  position:relative; width:var(--cardw,16.25rem); height:13.75rem; flex:none;
  background:var(--c-lwarm); box-shadow:0.25rem 0.25rem 0.75rem rgba(0,0,0,.25);
  padding:0.78125rem 1rem; transition:transform .3s;
  --d:calc(1.5px * var(--k));  /* clip外扩=半个描边=1.5设计px（描边3设计px）；design px随k缩放，杜绝固定px造成的白边 */
  --clip:polygon(calc(100% + var(--d)) calc(0px - var(--d)), calc(0px - var(--d)) calc(0px - var(--d)), calc(0px - var(--d)) calc(100% + var(--d)), calc(100% + var(--d)) calc(100% + var(--d)), calc(100% + var(--d)) calc(22.0455% - var(--d)), calc(81.3462% + var(--d)) calc(0px - var(--d)));
  clip-path:var(--clip);  /* 外扩恰=半描边、斜边45°与路径平行：直边+斜边均匀3设计px、无白边（配 edge-svg overflow:visible） */
}
.vcard.b{ --clip:polygon(calc(0px - var(--d)) calc(0px - var(--d)), calc(100% + var(--d)) calc(0px - var(--d)), calc(100% + var(--d)) calc(100% + var(--d)), calc(0px - var(--d)) calc(100% + var(--d)), calc(0px - var(--d)) calc(22.0455% - var(--d)), calc(18.6538% - var(--d)) calc(0px - var(--d))); box-shadow:-0.375rem 0.375rem 0.75rem rgba(0,0,0,.25); }  /* 左上切角45°+外扩半描边（同A） */
.vcard{ border:0; }
.vcard .edge-svg{
  position:absolute; inset:0; width:100%; height:100%; pointer-events:none;
  overflow:visible;              /* 路径压在viewBox边缘，居中描边外半超出视口；开visible才不被SVG默认overflow:hidden裁成半条（直边只有~1.5px） */
  fill:var(--c-lwarm);           /* 卡片底 */
  stroke:var(--vc,var(--c-org)); /* 描边：跟随卡片橙/绿交替 */
  stroke-width:calc(3px * var(--k));  /* non-scaling-stroke下=屏幕px：3*k屏幕px=恒定3设计px，无视viewBox拉伸→直边/斜边/A-B卡/窄屏全部统一 */
  shape-rendering:geometricPrecision;
}
.vcard:hover{ transform:translateY(-0.5rem); z-index:2; }
.vcard p{ position:relative; z-index:1; }
.vc-role{ font-size:1.125rem; line-height:1.625rem; color:var(--c-dark); }
.vc-name{ font-family:'SHS-Heavy'; font-weight:900; font-size:1.5rem; line-height:2.1875rem; color:var(--vc,var(--c-org)); }
.vc-space{ height:1.625rem; }
.vc-quote{ font-size:1.125rem; line-height:1.625rem; color:var(--c-dark); text-align:left; }
.vcard.b .vc-role,.vcard.b .vc-name,.vcard.b .vc-quote{ text-align:right; }

/* ============================================================
   06 领取福利  1280x960 背景浅茶
   ============================================================ */
.sec-gift{ padding-top:2.75rem; }
.gift-stage{ position:relative; width:74rem; max-width:100%; height:40.875rem; margin:5.4375rem auto 0; }
.g-ad{
  position:absolute; width:23.625rem; height:5.0625rem; border-radius:0.75rem;
  background:var(--c-lwarm); border:0.1875rem solid var(--c-dark);
  font-family:'SHS-Heavy'; font-weight:900; font-size:2.25rem; line-height:1;
  white-space:nowrap; display:flex; align-items:center; justify-content:center;  /* 画板：文字左右各27、垂直居中→flex双向居中 */
}
.g-ad1{ left:12.625rem; top:5.0625rem; }
.g-ad2{ left:37.75rem; top:27rem; }
.g-box{
  position:absolute; border-radius:0.75rem; background:var(--gbg); border:0.1875rem solid var(--c-dark);
  padding:0.8125rem 1.5625rem; font-size:1.3125rem; line-height:1.875rem; color:var(--c-dark);  /* 内边框3+padding13/25=文字距外缘16/28（画板） */
}
.g-box .g1{ font-family:'SHS-Heavy'; font-weight:900; font-size:1.75rem; line-height:2.4375rem; margin-bottom:0.0625rem; white-space:nowrap; }
.g-box1{ left:37.75rem; top:0; width:22.5rem; min-height:10.125rem; }
.g-box2{ left:19.5625rem; top:11.625rem; width:34.875rem; min-height:13.875rem; }
.g-box3{ left:6.625rem; top:27rem; width:29.625rem; min-height:13.875rem; }
.g-back{ position:absolute; left:57.625rem; top:29.0625rem; width:14rem; text-align:right; }
.gb-arrow{ display:block; line-height:3rem; animation:floatY 2.6s ease-in-out infinite; }  /* 与英雄区箭头同款上下浮动 */
.gb-arrow .arr-char{ display:inline-block; font-size:3rem; line-height:1; color:var(--c-org); transform:rotate(-90deg); }  /* 橙色实心箭头，朝上 */
.gb-txt{ display:block; font-size:1.5rem; line-height:3rem; color:var(--c-grn); margin-top:0.375rem; white-space:nowrap; }
.gb-txt .gb-hl{ font-family:'SHS-Heavy'; font-weight:900; color:var(--c-org); }  /* 抢先入局：橙色超粗体 */
.g-back:hover .gb-txt{ text-decoration:underline; }

/* ============================================================
   07 收束页面  1280x960 背景浅粉
   ============================================================ */
.sec-close{ min-height:60rem; }
/* 气泡容器（2026-09-07 二次修正）：容器加高 1.25rem、气泡整体下移 1.25rem——
   顶部留真实呼吸余量，边框不再被容器顶缘切割 */
.bubble-wrap{ position:relative; width:45.75rem; max-width:100%; height:20rem; margin:4.75rem auto 0; }
.bubble-bg{ position:absolute; inset:1.25rem 0 0 0; width:100%; height:18.75rem; }
.bubble-txt{ position:absolute; left:1.3125rem; top:2.5rem; width:42.3125rem; font-style:italic; font-synthesis:style; }
.bubble-txt p{ line-height:3.125rem; }
.bubble-txt .b40{ font-size:2.5rem; }
.bubble-txt .b30{ font-size:1.875rem; }
.bubble-txt .thin{ font-family:'SHS-ExtraLight',serif; font-weight:250; }
.bubble-txt .thick{ font-family:'SHS-Heavy',serif; font-weight:900; }
.bubble-txt .g{ color:var(--c-grn); } .bubble-txt .o{ color:var(--c-org); }
.bubble-txt .ind{ padding-left:0; text-align:right; padding-right:1.3125rem; }  /* 创始人签名右对齐，右边距=左侧文字边距 */
.bubble-txt .bgap{ height:3.125rem; }
/* 三行大字（2026-09-07 二次修正）：stretch 拉满安全区宽 + padding-left:1.5rem(24px)
   = 左缘真正距安全区左 24；字号 85、行距 1.5、悬停无下划线 */
.close-title{ margin-top:3.75rem; align-self:stretch; text-align:left; padding-left:1.5rem; }
.close-title p{ white-space:nowrap; }
.close-title a{
  font-family:'SHS-Heavy'; font-weight:900; font-size:5.3125rem; line-height:1.5; display:block;
}
.close-title a:hover{ text-decoration:none; }

.bottombar{ position:absolute; left:0; right:0; bottom:0; height:7.5rem; }  /* 底栏恒 120 设计px，防止被拉高 */
.bottombar::before{ content:''; position:absolute; inset:0; background:var(--c-dark); }
.bottombar-inner{ position:relative; height:7.5rem; max-height:7.5rem; }
/* 底栏三段一行（Ardot 07 实测 1280×120，文字 y883 垂直居中）：
   左公司 x33 Heavy ｜ 中 ICP 框 x589..853 居中对齐 ｜ 右公安组（国徽35×38+文字）尾 x1248 */
.bb-right{ display:contents; }   /* 解包：三段直接挂底栏一行 */
.bb-left{ position:absolute; left:1.5rem; top:50%; transform:translateY(-50%);   /* 对齐顶栏 24×k（2026-09-21 用户定案） */
  font-family:'SHS-Heavy'; font-weight:900; font-size:1.5rem; line-height:2.125rem; color:var(--c-tea); white-space:nowrap; }
.bb-icp{ position:absolute; left:36.8125rem; width:16.5rem; text-align:center; top:50%; transform:translateY(-50%);
  font-size:1.5rem; line-height:2.125rem; color:var(--c-tea); white-space:nowrap; }
.bb-police{ position:absolute; right:1.5rem; top:50%; transform:translateY(-50%);
  display:flex; align-items:center; font-size:1.5rem; line-height:2.125rem; color:var(--c-tea); white-space:nowrap; }
.bb-police img{ width:2.1875rem; height:2.375rem; margin-right:0.25rem; }
.bb-left:hover,.bb-icp:hover,.bb-police:hover{ color:var(--c-lwarm); }

/* ============================================================
   响应式（Penpot 原生基准，2026-09-06 定案）
   ≥1024（电脑/笔记本/平板横屏）：--k = s(min(vw/1920,vh/1080))，1080P=1、
     4K=1.5；视口锁定 1×/2× 屏高 + 50% 行程跨页吸附；桌面导航。
   <1024（平板竖屏/手机竖屏）：舒适阅读档 --k（平板 0.5625/手机 0.5），
     内容换行、页面自然撑高、自由滚动不吸附；汉堡菜单（66px+浅茶50%毛玻璃）。
   英雄区恒为 100vh；标题/指示器/箭头随 --kh 等比（手机上仍可读）。
   ============================================================ */
@media (max-width:1023px){   /* 换行档仅按视口宽度：手机竖屏/平板竖屏(<1024)。宽视口触屏(平板横屏)改走桌面版式，见下方锁定块 */
  .nav{ display:none; }
  .burger{ display:flex; }
  .lb{ display:inline; }   /* 逗号断行在换行档生效（桌面为 display:none，一行不变） */

  /* 01 认知觉醒：三个标签一行一个，保持高亮/灰暗切换；
     竖屏档 A/B 解锁等分、按内容自然高度（该几屏就几屏），保留底部透气 */
  .aware-board{ margin-top:2.75rem; }                    /* 竖屏档缩小顶距（原5rem在窄高屏过挤） */
  .aware-tabs{ flex-direction:column; }
  .atab{ width:100%; }
  .atab + .atab{ border-left:none; border-top:0.0625rem solid var(--c-gray); }  /* 单边一条横线 */
  .aware-end{ padding-top:5rem; }
  .sec-aware .safe{ padding-bottom:5rem; }   /* 09-30 用户：01 尾段下面多留空间（实测改前 awareEnd 底到 01 区块底仅 22px）
    桌面档另有 padding-bottom:0 一条，两档互不相干 → 不影响宽屏 */

  /* 02A 破局之路：圆饼+文字一组一行，箭头独立一行（实心右箭头转实心下箭头） */
  .path-flow{ flex-direction:column; align-items:center; gap:1.75rem; }
  .parrow{ height:auto; width:auto; animation:parrowY 1.8s ease-in-out infinite; }   /* 竖屏：上下浮动（覆盖桌面 parrowX）；
    动效挂容器不挂 .arr-char，否则会覆盖它的 rotate(90deg)（同 02B balance-arrow 手法）；
    幅度 14px 与桌面同值（px 不随 --k 缩水），周期 1.8s */
  .parrow .arr-char{ display:inline-block; transform:rotate(90deg); }  /* 竖排：右箭头转下（字符方案） */

  /* 02B：选择/目标一组一行；副标题三段断句；胶囊+文字一组一行；平衡两段；下箭头
     2026-09-30 透气：实测四个子块之间的间隙在手机上全是 0（桌面靠 path-duo 340/title 120/
     pain-row 330/bal-seg 290 的固定高度自带呼吸，手机把 height 放开成 auto 后那份呼吸整体丢失），
     故用户指出的四处「太靠近」其实是同一个成因。统一补 3rem（手机 24px／平板 27px）设计间距。 */
  .path-duo{ flex-direction:column; align-items:center; gap:2.5rem; width:auto; max-width:100%; padding-inline:0; margin-top:3rem; }   /* 原固定 71.25rem 在 390 视口宽 570 → 撑出屏幕；改随容器 */
  .path-blocks-title{ margin-top:3rem; }
  .path-blocks-title .pbt-seg{ display:block; }
  .pain-row{ flex-direction:column; align-items:center; gap:2.5rem; width:auto; max-width:100%; padding-inline:0; height:auto; margin-top:3rem; }   /* 09-17：原固定 20.625rem 换行后装不下 3 组 → 与「同时平衡」重叠 */
  .pain{ height:auto; }
  /* 八词分两行：原选择器写成 .balance，而页面类名是 .bal-seg → 这条从未生效（实测两 span 一直 inline，
     390 屏整串 336px 贴 337px 容器、360 屏必断成「…增长 / / 持久」）。改用 > span 以免波及内层 .sl */
  .bal-seg .b2 > span{ display:block; }
  .sl{ display:none; }   /* 换行档隐藏断行标点：八词的「中间斜杠」+ 副标题「AI 时代」后的逗号；桌面仍 inline */

  /* 03/04/06 临时通用重排（待逐屏细化规格） */
  .min-stage{ height:auto; display:flex; flex-direction:column; align-items:center; gap:1.5rem; }
  .min-item,.feat,.min-note{ position:static; }
  .min-note{ width:auto; text-align:center; }
  /* 03B 颠覆认知卡（2026-09-30）：外框实测 366 宽、两侧只各留 12px → 用 zoom 把「外框+胶囊+正文」
     作为一个整体同步缩到 0.82（渲染 300 宽，两侧各留 45px）。选 zoom 不选 transform:scale：
     后者不脱布局、且小数缩放会让 3px 描边发虚（站内既有教训）。
     标题字号另再相对收一档：3rem→2.5rem，使「颠覆认知的全新玩法」9 字在胶囊内的左右余量
     从实测 17px/侧 提到 34px/侧；同时把它移出下方 nowrap 放开名单（原会换行）。 */
  .min-card{ height:auto; zoom:0.85; max-width:44rem; }   /* 必须显式 max-width：只给 zoom 缩不动外框——base 的
    max-width:100% 在 zoom 坐标系里又按父宽撑回（实测 390 屏仅 366→339、360 屏纹丝不动）。
    44rem×0.85＝渲染 299，两侧各留 45px（原 12px）。 */
  .min-card-title span{ font-size:2.5rem; }
  .price-grid{ flex-direction:column; align-items:center; }   /* 锁死一行一张：原 flex-wrap:wrap + 宽度百分比
    会让 390 屏排两张一行、360 屏排一张一行（实测 176+12+176=364 ≤ 366 就翻），改纵向列后与屏宽无关 */
  .pcard{ flex:none; }
  .ladder-zone{ padding-bottom:4rem; min-height:0; }
  .ladder-head{ position:static; width:auto; max-width:100%; margin:0 0 2.5rem; }
  .ladder{ position:static; height:auto; width:auto; margin:0 auto; display:flex; flex-direction:column;
           align-items:center; gap:3.5rem; }   /* 09-30：2rem→3.5rem。末行目标文字离下一组 ⇧ 太近会被误读成「箭头属于上一组」；
           组宽 143 时 143+16+143=302 ≤ 366，wrap 仍会把两张排进一行（实测组心偏 -95.5px），
           与「每行一组」相反。改纵向列 + align-items:center 后与屏宽无关，平板同理。 */
  /* 03 阶梯：手机与平板都「每行一组」，组宽 300 设计px 并整体居中
     ——原 width:calc(50% - 1rem) 是平板一行两组、<599 又改 100%，加上组宽=整行满宽，
     导致箭头 text-align:right 落到屏幕最右、胶囊 15rem 留在最左，「整组内容分散在屏幕两边」。
     收成定宽后箭头仍在组内右对齐（base 属性不动），胶囊与目标文字回到组内。
     300 而非桌面的 285：实测 285(手机 143px) 时第三组最长行「业余时间沉浸式折腾 AI：￥1980/月」
     在桌面上就几乎顶满 285，折半到 143 会溢出多绕 2 行；放宽到 300(手机 150px) 四组均为 4 行。 */
  .st{ position:static; width:18.75rem; max-width:100%; min-width:0; flex:none; margin-inline:auto; zoom:1.6; }   /* 09-30 二轮：组 225→240 */   /* 09-30 再放大：组 188→225（盒 366，两侧各留 70），目标文字 359px 在 225 盒内
    行数不变且多出 18% 端上字体放大的余量，「月」字不再掉行；桌面 285 未动 */
  /* 胶囊另加宽：15rem→16.5rem，使「尝试 TOKEN 自由」字宽 97px 在 132px 盒内左右各留 17.5px
     （原 120px 盒只各留 11.5px，用户指「文字靠两侧太近」）；字号不动，故仍是同一套等比 */
  .st-cap{ width:16.5rem; }
  /* 04B 阶梯标题组：撤掉 09-12 的 ×1.3（实测 3.9rem 使 lh1「TOKEN 自由的进化阶梯」字宽 344px，
     390 屏勉强一行、360 屏盒宽 336px 就折成两行）。回到桌面原值后字宽 264px，占 360 屏盒宽 79%，
     一档字体放大也不断行；标题与下方正文同系数缩，整组比例不变。 */
  .lh1{ font-size:3rem; line-height:3.4375rem; } .lh2,.lh3{ font-size:1.625rem; line-height:2.25rem; }
  /* 目标文字同样撤掉 ×1.3：组宽收成 285 设计px（手机 143px）后，1.46rem 使最长一行
     「业余时间沉浸式折腾 AI：￥ 1980 / 月」超出盒宽，四行被撑成六行（实测 6 行）。
     回到桌面原值 1.125rem/1.5rem → 最长行约 286×0.5＝143px，正好落在组宽内，恢复四行。 */
  .st-goal{ font-size:0.9375rem; line-height:1.375rem; }   /* 09-30 解除同步缩放：盒随 zoom 到 240px，若字仍按 18 设计px
    等比放大，最长行占盒 95%，端上字体一放大「月」必掉行；收至 15 设计px 后占 79%，放大 18% 也只到 93%。渲染 12px 仍可读 */
  /* 胶囊字号撤掉 ×1.3：09-12 把 .st-cap 也提到 1.95rem，但胶囊宽度是随 --k 等比的 15rem，
     两者不同步 → 实测手机字宽 126px > 胶囊 120px，断成两行、被撑成 120×54（比例 0.45，宽屏 0.188）。
     回到 1.5rem 后字宽 97px / 胶囊 120px＝81%，与宽屏 193/240＝80% 同比例，一行不折。 */
  .st-cap{ font-size:1.5rem; }
  /* 09-12 的 flex:1 1 14rem 撤除：它会让一行排 4 个/2 个，与"平板两个、手机一个"冲突 */
  .st-goal{ width:auto; }
  .estimate{ position:static; width:auto; text-align:right; margin-top:2.5rem; }   /* 09-30 用户：与宽屏版一致右对齐（宽屏是 right:3.25rem 的右列，手机满宽右对齐即同一视觉） */
  .gift-stage{ height:auto; display:flex; flex-direction:column; align-items:center; gap:1.25rem; padding-bottom:3rem; }   /* 09-30：「回到【抢先入局】」到区块底实测 0，与 07 顶边界贴死 */
  .g-ad,.g-box,.g-back{ position:static; max-width:100%; }   /* 09-30 三轮：撤 width:auto 与统一等宽（用户：太难看），
    恢复画板错落宽度 g-ad 23.625 / box1 22.5 / box2 34.875 / box3 29.625 设计px */
  .g-ad{ font-size:1.75rem; width:max-content; }   /* 09-30 五轮：不再猜定宽（189→210→200 均被否）——改按内容自适应，
    配 padding-inline 20 设计px 固定留白。实测宽 175，比最初画板 189 略窄；端上字体放大时自动跟随，
    既不会贴边也不会虚胖 */   /* 09-30 四轮：210→200（用户：仍太宽），比最初的 189 稍大 */   /* 09-30 四轮：189→210（用户：比刚才稍大一点即可），
    文字左右各约 27px 不贴边 */
  .g-box{ width:max-content; }   /* 09-30 五轮：三个彩盒按内容自适应——宽度由自身最长行决定，实测 179/277/235
    与画板 180/279/237 吻合；「核心文案」等标题在任何字体缩放下都不可能再被迫换行，且三盒依旧错落不等宽 */   /* 09-30 四轮：180→220，治「1 套三层递进的核心文案」在端上字体放大 18% 后被迫换行 */   /* 09-30：36→28 设计px，白盒文字实测左右仅 9px 贴边 → 27px */
  .g-back{ width:100%; }

  /* 05 跑马灯：卡片两列填满屏宽（一屏最多两张） */
  .sec-voice{ --cardw:16.25rem; padding-top:4rem; padding-bottom:4rem; }   /* 09-30：顶 22px/底 23px → 32px */   /* 09-30：最后一句金句到区块底实测 0，补与 05 内部同值的 23px */   /* 轮播档卡片一律用设计原尺寸 260×220，缩放只由 JS 等比 transform:scale 做，绝不按视口改宽（改宽=改比例=变形） */

  /* 07 底栏换行档：三段纵向居中堆叠（桌面绝对定位在窄屏会溢出） */
  .bottombar{ height:auto; position:relative; }  /* 手机档入流且不压正文；relative 保证::before深色底只铺底栏自身 */
  .bottombar-inner{ height:auto; max-height:none; display:flex; flex-direction:column; align-items:flex-start; gap:0.625rem; padding-block:2.5rem; }   /* 09-17：三行左对齐，只占左半边，右半边让给浮动面板 */
  .bb-left,.bb-icp,.bb-police{ width:50%; max-width:50%; text-align:left; justify-content:flex-start; }
  .bb-left,.bb-icp,.bb-police{ position:static; transform:none; }

  /* ---- 手机版细化（2026-09-12）：仅 <1024 生效，桌面档零改动；只换行/显隐/改列，DOM 顺序不变 ---- */
  /* 00 英雄区（2026-09-29 换行档定案）：撤除 13px 地板与 2.5em/1.375em 改倍率、撤除 height:auto，
     交回桌面同款 --kh 等比（kh=0.80·colw/935 → 最长行 L2 恒占列宽 80%，永不换行、永不与 L1 抢位）；
     三行总高沿用 base 的 height:21.9375em 预留 → 打字过程中后行不再把已出现的行顶上去。
     原四行覆盖（font-size:max(...,13px)/.hl{white-space:normal}/2.5em/1.375em）已整段删除。 */
  /* 01 标签确保可见（竖排三等分改整行） */
  .aware-tabs{ display:flex; }
  .atab{ height:auto; min-height:3.5rem; padding:0.5rem 0.75rem; color:var(--c-dark); background:var(--c-tea2); }
  /* 02 进化步骤全部显示：关掉逐个点亮动画（隐藏项仍占位=巨大空档） */
  .p-steps li{ opacity:1 !important; animation:none !important; }
  .p-steps{ margin-top:2.25rem; }
  /* 换行档统一放开 nowrap：横向溢出的根源，仅换行不改顺序。
     2026-09-29：.pc-main 已移出本名单——圆饼内是整句品牌词，换行会切断，改由下方「等比降字号 + nowrap」承载 */
  .path-subtitle,.min-h2,.pprime p,.lh1,.st-goal,.st-goal .val,.estimate p,
  .quote p,.g-box .g1,.gb-txt,.close-title p{ white-space:normal; }
  /* .min-card-title span 与 .st-cap 均已移出本名单：两者都是整句标签，放开换行会被切成两行并撑高 */
  /* 02A 圆饼内文字与圆饼同步等比（2026-09-29 定案：最长行占直径 80%）
     桌面基准 50/45 设计px 时最长行 TOKEN 自由 = 直径 90%，太贴边 → 换行/撑满；
     手机档统一乘 0.88 收到 44/40 设计px，实测最长行占直径 80%（360/390/768 同比例），
     并显式 nowrap，杜绝任何字体放大导致的断字。 */
  .pc-main{ white-space:nowrap; font-size:2.75rem; }
  .pnode:nth-child(3) .pc-main{ font-size:2.5rem; }
  .pcard li{ white-space:pre-wrap; font-size:0.8125rem; }   /* 09-30：14→13 设计px。最长行「（可兑换进阶课 / 共创课）」
    由 87.5/108.75＝80% 降到 75%，端上字体放大 18% 仍只剩 88/108.75＝81%，不再被迫换行 */
  /* .st-cap 的 height:auto + min-height + 上下 padding 已撤除：那是「变胖」的另一半
     （桌面胶囊是固定 15rem×2.8125rem＝5.33:1，加 padding 后高度与宽度脱钩）。撤后随 --k 等比复原 */
  .st-goal{ width:auto; }
  /* 04 价格卡（2026-09-30 定案：一行一张 + 长宽比对齐宽屏）
     原「width:100%; max-width:22rem」把卡拉成 176×318＝1:1.80，而宽屏是 240×635＝1:2.646 → 显肥。
     这里用整卡 zoom 放大而不是只改 width：只改 width 会留着 7px 的 li 字号，一旦收到 120px 宽，
     最长权益行实测 89px 已占内宽 85%，端上字体稍放大就挤爆；zoom 让卡与卡内文字同步放大
     （li 7px→9.1px），形状不变、比例逐字等于宽屏。不用 transform:scale——小数缩放会让 3px 描边
     发虚、居中漂移（站内既有教训，见 MEMORY）。 */
  .price-grid{ gap:3rem; }        /* 卡片间距 12px→24px（用户澄清「按钮之间的距离」＝卡片之间的间距） */
  .pcard{ zoom:1.5; width:17rem; min-height:45rem; }   /* 09-30 二轮：只加宽不加字号——zoom 会把卡和字一起放大、
    比例不变所以治不了换行，改为「盒宽 15→17 设计px、li 停在 13」解除同步。min-height 45rem=17×2.646 保长宽比；
    渲染 204×540（占屏高 64%，tall 卡约 76%）。*/   /* 09-30 再放大一档：1.3 时卡高占屏 49%，宽屏自身是 59%；1.5 → 手机 180x476 占 56%、tall 564 占 67%，与宽屏 59%/70% 同档，且在 667 高的窄屏上 tall 仍只占 85%，不破「单卡不超屏高」 */
  /* 按钮贴底等距：09-15 那条 margin-top:auto 的修法写在桌面媒体查询里（注释明写「仅桌面档」），
     手机走的是 base 的 margin-top:1.5rem → 实测四卡按钮距卡底 52/16/13/16 全不一致（宽屏齐 31）。
     同一条规则落到手机档，配合等高的卡 → 四卡按钮离底边同距。 */
  .pcard ul{ margin-bottom:1.5rem; }
  .pcard .pay-btn,.pcard.tall .pay-btn,.pcard:not(.tall) .pay-btn{ margin-top:auto; margin-bottom:1.75rem; }
  .pay-btn{ width:12.5rem; }   /* 09-30：11.25→12.5 设计px，按钮文字「真正 TOKEN 自由」渲染宽 111px、
    盒 135px 只剩 12px/侧，端上字体放大就往下掉；加宽后 150px 盒余 39px */
  /* 05 跑马灯 → 扑克牌分层轮播（2026-09-16 用户定稿）
     平板：中间两张为主，左右各露一张边；手机竖屏：中间一张，左右露边。
     换卡靠淡入淡出，不做水平位移；顶排序列右→左、底排左→右；触摸暂停、松开 2 秒恢复。 */
  .marquee{ overflow:hidden; padding:0; }   /* 09-30 二轮：内边距归零，上下呼吸全部由 JS 的 hh=卡高+16 提供，
    否则 transform-origin:top 后卡片向下生长、底部会被 padding 挤出裁切（用户实测下框被裁） */   /* 09-30：卡片上下各 6px（原 14px），卡与卡实测 43px → 20px */
  .mq-b{ margin-top:1rem; }   /* 09-30 二轮：卡与卡实测 30px → 24px */   /* 09-30：3→1.25rem，卡2 与金句2 实测 70px → 38px */   /* 09-30：两条跑马之间实测 14px，与上下 23px 不齐；margin 1:1 进间隙补齐到 24px */   /* 两侧露边靠容器裁切；09-30 上抬 0.5rem 使两条跑马之间与上下文同节奏 */
  .quote{ width:max-content; max-width:100%; height:auto; min-height:6.25rem; margin-top:2.5rem;
          padding-inline:1.875rem; }   /* 09-30 三轮：定宽 330 右侧空一截（用户）→ 改 max-content 贴合文字，
    左右各 30 设计px 对称；字号维持 27 设计px */
  .quote p{ font-size:1.6875rem; line-height:2.4375rem; padding-left:0; }   /* 09-30：30→24 设计px。胶囊 h50 原两行占 43px 几乎贴边，
    缩后两行 36px，上下各多 3.5px；金句盒已放宽到整列，不折行 */   /* 09-30：金句盒 300→随内容列（366），字 270 的占比 90%→74%，端上字体放大也不再折出「手！」 */
  .mq-track{ position:relative; display:block; width:100%; height:14.5rem;
             animation:none !important; transform:none !important; flex-wrap:nowrap; }
  .mq-track .vcard{ position:absolute; left:50%; top:50%; margin:0;
                    transition:opacity .8s ease, transform .55s cubic-bezier(.22,.61,.36,1); will-change:opacity,transform; }
    /* 09-30：①手机档原 transition 只写 opacity，把桌面 transform .3s 覆盖掉 → 换卡时缩放/位移瞬跳，
       扑克牌效果完全不可感知；补 transform 过渡后侧卡滑入主位并 0.93→1 放大＝发牌感。
       ②transform-origin 改 top：卡片按设计放大后比轨道高出 (RH-卡高)/2，中心原点会向上顶出轨道被
       overflow:hidden 裁掉顶边（实测裁 27px，「外卖员」被切）；改顶端原点后向下生长，顶部不再裁。 */
  .mq-track .vcard.peek{ opacity:.34; }
  /* 05 金句胶囊高度自适应（换行后两行不溢出） */
  /* 09-17：撤销高度自适应，交回 base 的 37.5rem×6.25rem（6:1）等比控制 */
  /* 06 回到链接居中可换行 */
  .g-back{ text-align:center; }
  /* 07 气泡文字缩排适配窄屏 */
  .bubble-wrap{ width:100%; }
  .bubble-txt{ left:8%; top:12%; width:84%; }
  .bubble-txt .b40{ font-size:1.875rem; line-height:2.6rem; }
  .bubble-txt .b30{ font-size:1.4rem; line-height:2rem; }
  .bubble-txt .ind{ padding-right:0; text-align:right; }

  /* ---- 手机版逐屏细化第二轮（2026-09-12 用户清单）---- */
  /* 01：收尾段字号收小使每句整行放下，不切词；标签保持三行可切换 */
  .aware-end .ln{ font-size:1.95rem; line-height:3.44rem; }   /* 09-17：×1.3；行高按宽屏比 4.625/2.625=1.762 核算 */
  .aware-end .gap{ height:3.44rem; }
  .atab{ white-space:normal; }
  /* 02B：解除固定高造成的错位 */
  .min-h2{ font-size:3rem; line-height:4.3125rem; margin-bottom:2rem; }   /* 09-30：h2 与「广撒网」实测仅 12px，拉开 16px（桌面 23=画板值不动） */   /* 09-30 三行拆分后撤回原收窄：最长行「获客 + 变现的闭环系统」
    24px×11≈280px ≤ 366 盒，不折行；恢复与桌面同字号 */
  .path-b{ min-height:0; }
  .path-blocks-title{ height:auto; }
  .bal-seg{ height:auto; row-gap:1.25rem; padding-bottom:2.75rem; margin-top:3rem; }   /* 实测改前 seg 底=区块底，余量 0（浮动还再探出 3px）；
    手机档 height:auto 且该屏不吸附 → 只加下边距，桌面 height:18.125rem 一行不碰 */
  /* 02B 下箭头偏左真凶：base 写的是 rotate(90deg) translateY(4.8px)，translate 落在旋转后坐标系
     → 实测变成屏幕水平 -4.8px（注释本意是「字形偏上校正」＝下移）。本条仅在手机档纠正为
     translateY 在前、rotate 在后；桌面仍保持现状 -4.8px，待单独拍板 */
  .balance-arrow .arr-char{ transform:translateY(4.8px) rotate(90deg); }
  .pprime{ width:100%; max-width:31.25rem; }
  /* 03：六角内三行不再多换行；胶囊顺序=广撒网→hex1→自然流→hex2→长效应→hex3→防违规→稳承接 */
  .hex-txt{ left:50%; top:30%; width:auto; transform:translateX(-50%); font-size:1.75rem; line-height:2.4rem; white-space:nowrap; }
  .fp1{ order:1; } .mi1{ order:2; } .fp2{ order:3; } .mi2{ order:4; } .fp3{ order:5; } .mi3{ order:6; } .fp4{ order:7; } .fp5{ order:8; }
  .mleft{ order:9; } .mright{ order:10; } .mbottom{ order:11; }
  /* 05：金句胶囊加宽到满列；卡片高度自适应去扁感 */
  /* 09-17：宽度不再强制 100%（保持胶囊比例） */
  /* 09-16 用户：窄屏卡片严重变形，只准等比缩放。撤销 09-12 的 height:auto 自适应（宽高脱钩的根源），
     改回固定比例并显式锁死 260:220 */
  .vcard{ height:auto; min-height:0; padding-top:1.25rem; padding-bottom:1.5rem; }   /* 09-30 四轮（治本）：
    固定高度在端上字体放大后内容超框、底部被裁（用户两次实测）；改随内容自适应，JS 同步改用实测最大卡高 */   /* 09-30：
    卡高 13.75→15.44 设计px、上内边距 6.25→10 设计px，卡内文字离上下边不再贴边（配合 main.js 的 0.8462→0.95） */
  .vc-quote{ font-size:1rem; line-height:1.5rem; }   /* 换行档：刘芸正文最长(nat401@9px)，真机端上字体放大~18%后掉5行撑高卡片；收一档到1rem(手机8px/平板9px)，扑克轮播再等比放大显示≈13px仍可读，刘芸稳4行 */
  /* 06：礼包胶囊恢复比例宽高，文字不贴边 */
  .g-ad{ max-width:100%; height:auto; min-height:5.0625rem; padding-inline:1.75rem; }   /* 09-30 六轮：2.5→1.75rem(留白20→14设计px)，用户指新手礼包/0元下单两白胶囊两边太空→收窄贴合文字 */   /* 09-30 五轮：左右留白 10→20 设计px */   /* 09-30 三轮：撤统一等宽，恢复画板 23.625rem 设计px 宽；字号另降至 28 设计px 治文字贴边 */   /* 09-30：两个白色胶囊（新手礼包/0元下单）与粉色盒 g-box1 等宽，文字不再左右贴边 */
  /* 07：气泡按视口宽等比缩放；文字与底栏留距。
     2026-09-29：英雄区已交回 --kh 等比，不再共用 --hf（--hf 仍只服务 07 收尾大字，勿连带改动） */
  :root{ --hf:max(calc(16px * var(--kh,1)), 13px); }
  .bubble-wrap{ width:100%; height:auto; aspect-ratio:723/303; margin-top:4rem; min-height:0; }   /* 09-30：2.5→4rem，气泡与 07 顶边界实测仅 20px */
  .bubble-bg{ inset:0; height:100%; }
  .bubble-txt{ left:5%; top:9%; width:90%; }
  .bubble-txt .b40{ font-size:4.6vw; line-height:1.45; }
  .bubble-txt .b30,.bubble-txt .ind{ font-size:3.4vw; line-height:1.5; }
  .bubble-txt .bgap{ height:2.2vw; }
  .close-title{ margin-left:0; padding-left:var(--pad); margin-bottom:3rem; }
  .close-title a{ font-size:calc(2.5 * var(--hf)); line-height:1.5; }
}

/* ============================================================
   视口锁定（≥1024px）：每一页精确占满 1 倍 / 2 倍视口高度
   00/05/06/07 = 1 屏；01/02/03/04 = 2 屏（页内自由滚动）+ 跨页吸附
   <1024 不锁定，自然高度自由滚动（见上）
   ============================================================ */
@media (min-width:1024px){   /* 桌面版式(含视口锁定/区块高度)：宽视口一律适用，平板横屏触屏也走此版式；跨页吸附仍仅鼠标设备(main.js wheel 的 pointer:fine 闸)，故平板横屏无弹性滑动 */
  /* ===== AR 三档（2026-09-07 定案）+ 内容单元充满视口全高 =====
     每单元 min-height（弃固定 height）：正常窗(16:8~1:1)精确 1X=1屏、2X 的 A/B 各 1 屏；
     扁窗(<16:8) 50vh 装不下时内容自然撑高（看到 0.x 屏，分界线随内容下移）；
     竖窗(>1:1) 黑边消失、内容列全宽自然流动（1.x~3.x 屏内容同屏可见）。 */
  .sec-aware{ height:auto; min-height:200vh; display:flex; flex-direction:column; }   /* 区块自身做 flex 容器（min-height 高度下 height:100% 子级会塌成 auto） */
  .sec-aware .safe{ flex:1 0 auto; display:flex; flex-direction:column; padding-bottom:0; }  /* safe 弹性填满；B段居中轴=画板(1230+2160)/2=1695 */
  .aware-story{ display:flex; flex-direction:column; }              /* A 段自然高度 */
  .aware-rest{ flex:1; display:flex; flex-direction:column; }       /* B 段占剩余 */
  .aware-end{ margin-block:auto; }                                  /* 总结文字上下均分剩余空间（真居中） */
  .sec-path{ height:auto; min-height:200vh; display:flex; flex-direction:column; }  /* A/B 各精确 1 屏（min-height:50% 在 min-height 父级下塌陷，弃） */
  .path-a{ flex:1 0 auto; min-height:100vh; height:auto; display:flex; flex-direction:column; padding-top:0; padding-bottom:0; }
  .path-a .safe{ margin-block:auto; }                      /* A 段整体在 1 视口内垂直居中（画板：顶80/底69≈对称） */
  .path-subtitle{ margin-top:5rem; }                       /* 画板：副标题文字顶240（胶囊底160+80） */
  .path-flow{ margin-top:5rem; }                           /* 画板：圆顶390（副标题底309+81） */
  .p-steps{ margin-top:4.3125rem; line-height:2.625rem; }  /* 画板：列文字顶759（圆底690+69）、行距42×6行=252 */
    /* B段（09-11⑥）：结构全部在base层照画板flex实现，media仅保视口约束 */
  .path-b{ flex:1 0 auto; min-height:100vh; display:flex; flex-direction:column; }
  .sec-min{ height:auto; min-height:200vh; display:flex; flex-direction:column; padding-top:0; padding-bottom:0; }  /* 桌面档区块 padding 归零：保证 A/B 各=1 视口、分界线钉屏边 */
  .sec-price{ height:auto; min-height:200vh; display:flex; flex-direction:column; padding-top:0; }
  .sec-voice{ height:auto; min-height:100vh; padding-bottom:2.75rem; }   /* 补对称内边距：base 只有 padding-top 44 → 居中偏下 44（08归档实测同值，非本轮引入） */
  .sec-gift{ height:auto; min-height:100vh; padding-bottom:2.75rem; }    /* 同上：单边 padding-top 造成偏下 44 */
  .sec-close{ height:auto; min-height:100vh; }
  /* 03/04 屏 A/B 双容器：各占 1 视口，内容垂直居中；divider 钉在 A 底=分界线 */
  .half{ position:relative; flex:1 0 auto; min-height:100vh; height:auto; display:flex; }  /* 半屏=1 视口（原 50% 塌陷致 A 缩水/黑边断层） */
  .half .safe{ height:auto; margin-block:auto; }        /* 内容在 50% 屏内垂直居中（上下均分剩余） */
  .half-a .divider{ position:absolute; bottom:0; left:50%; transform:translateX(-50%); border-top-color:transparent; }  /* 线隐藏（2026-09-10定案）：位置保留=真分界，仅供定位 */
  /* ---- 2026-09-15 用户清单（仅桌面档，手机版零改动）---- */
  /* 03B：胶囊(绝对定位上探2.5rem)不计入布局 → 上边距=下边距44+40 才能使整组上下留白相等
     （实测改前 上157.8/下82.8；5.25rem 后差 2.02，再收 2px → 上下均 ≈101.3） */
  .sec-min .half-b .min-card{ margin-top:calc(5.25rem - 2px); }
  /* 04A：真凶是 base 层 .pay-btn 的 margin:auto auto 1.4375rem 被 09-12 那条固定 margin-top:1.5rem 覆盖
     → 内容短的免费版按钮悬在卡中（到卡底 103 vs 其余 31）。恢复 auto 贴底 + 统一下边距 1.75rem */
  .pcard ul{ margin-bottom:1.5rem; }   /* 保住 09-12 定案「末行与按钮至少空一行」（tall 卡无剩余空间时靠它） */
  .pcard .pay-btn,.pcard.tall .pay-btn,.pcard:not(.tall) .pay-btn{ margin-top:auto; margin-bottom:1.75rem; }
  /* 05 金句+跑马灯整体垂直居中 */
  .sec-voice{ display:flex; flex-direction:column; justify-content:center; }
  /* 06 福利堆栈垂直居中 */
  .sec-gift{ display:flex; flex-direction:column; justify-content:center; }
  /* 07 收束：顶边距/气泡与大字间/大字与底栏间，三段间距平均分配；
     气泡自身保留上边距防顶部贴边被切 */
  /* 07 三段间距均分（09-12用户定案）：上边距|气泡→文字|文字→底栏
     底栏120不占流：可用高=960−120，气泡300+文字382.5，剩157.5÷3=52.5/段
     实现：safe全高flex列，气泡 margin-top:auto、文字 margin-block:auto、尾部假spacer高=底栏 */
  /* 07 三段间距均分：sec-close 自身 flex 列，safe flex:1 撑满，三个 auto margin 段均分剩余 */
  .sec-close{ display:flex; flex-direction:column; }
  .sec-close .safe{ flex:1 0 auto; display:flex; flex-direction:column; align-items:center; }
  .sec-close .safe .bubble-wrap{ margin-top:auto; margin-bottom:0; min-height:20rem; }  /* 段1 auto */
  .sec-close .close-title{ margin-top:auto; margin-bottom:0; margin-left:calc(1.5rem - var(--pad)); padding-left:0; }  /* 段2 auto；左缘=列左+24（抵消safe内边距48） */
  .sec-close .safe::after{ content:""; height:7.5rem; flex:none; margin-top:auto; }  /* 段3 auto=底栏占位 */
}

/* 降低动效偏好 */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}

/* ============================================================
   浮层控件（2026-09-15 新增）：全屏开关 + 首次提示 + 成交播报
   —— 顶栏空档 / position:fixed，不改任何区块高度 → 弹性锁定与吸附锚点零影响
   ============================================================ */
/* 顶栏全屏开关：位于品牌与导航之间（导航 margin-left:auto，右缘位置不动） */
.fs-btn{
  position:relative; flex:none; width:2.5rem; height:2.5rem; margin-left:.8125rem;   /* 盒内左右各空 0.6875rem，故外边距 1.5−0.6875 → 视觉间距=logo→AI 的 24px */
  display:flex; align-items:center; justify-content:center;
  color:var(--c-lwarm); opacity:.72; transition:opacity .2s ease;
}
.fs-btn:hover{ opacity:1; }
.fs-btn .fs-ico{ width:1.125rem; height:1.125rem; display:block; }
.fs-btn .fs-out{ display:none; }
body.is-fs .fs-btn .fs-in{ display:none; }
body.is-fs .fs-btn .fs-out{ display:block; }
.fs-dot{
  position:absolute; left:50%; top:50%; width:.25rem; height:.25rem;
  translate:-50% -50%;                     /* 独立 translate 属性做居中；scale 交给动画，两者不互相覆盖 */
  border-radius:50%; background:#FFB27A;   /* 提亮：#F0904E → #FFB27A（更亮的暖橙，接近发光核心） */
  box-shadow:0 0 .1875rem rgba(255,178,122,.95), 0 0 .5rem rgba(255,178,122,.55);   /* 光晕收紧：8/18px → 3/8px，聚焦不发糊 */
  animation:breatheDot 1.6s ease-in-out infinite;
}
body.is-fs .fs-dot{ display:none; }
/* 「全屏体验」：浅茶色 #EDE8E1，透明度缓慢呼吸（.42↔.92）——看得清、不抢导航的戏 */
.fs-txt{
  flex:none; margin-left:.4em;                 /* 与图标隔一个空格位（≈6.5 设计px） */
  font-size:1.125rem; line-height:1.5rem; letter-spacing:.08em; white-space:nowrap;
  color:var(--c-tea);                          /* 浅茶色 */
  animation:fsBreath 7s ease-in-out infinite;   /* 09-17：呼吸放慢 3.6s→7s */
}
@keyframes fsBreath{ 0%,100%{opacity:.22;} 55%{opacity:.58;} }   /* 09-17：整体压透 .42/.92 → .22/.58，不再泛白抢眼 */
@keyframes breatheDot{ 0%,100%{opacity:.85; scale:1;} 50%{opacity:1; scale:1.28;} }

/* 首次提示卡：深色毛玻璃（出现在英雄区深色底之上，故浅字） */
.fx-layer{ position:fixed; inset:0; z-index:60; pointer-events:none; overflow:hidden; }
.fs-tip{
  position:absolute; right:1.5rem; bottom:1.5rem; pointer-events:auto; width:21rem;
  padding:1.25rem 1.5rem 1.375rem; border-radius:.75rem;
  background:rgba(26,26,24,.86); -webkit-backdrop-filter:blur(1rem); backdrop-filter:blur(1rem);
  border:.0625rem solid rgba(246,246,246,.16); box-shadow:0 .75rem 2rem rgba(0,0,0,.35);
  color:var(--c-lwarm); font-size:1rem; line-height:1.625rem;
  opacity:0; transform:translateY(.75rem); transition:opacity .45s ease, transform .45s ease;
}
.fs-tip.show{ opacity:1; transform:none; }
.fs-tip .fst-t{ font-family:'SHS-Heavy'; font-weight:900; font-size:1.25rem; line-height:2rem; color:var(--c-org); }
.fs-tip .fst-p{ margin-top:.375rem; opacity:.86; }
.fs-tip .fst-p b{ font-family:'SHS-Heavy'; font-weight:900; opacity:1; }
.fs-tip .fst-b{ display:flex; gap:.75rem; margin-top:1rem; }
.fs-tip .fst-b button{
  height:2.25rem; padding:0 1.125rem; border-radius:1.125rem;
  font-family:'SHS-Heavy'; font-weight:900; font-size:1rem; line-height:2.25rem;
  background:var(--c-org); color:var(--c-dark); transition:transform .18s ease;
}
.fs-tip .fst-b button:hover{ transform:translateY(-.125rem); }
.fs-tip .fst-b button.ghost{ background:transparent; border:.0625rem solid rgba(246,246,246,.34); color:var(--c-lwarm); }

/* 成交播报：浅色毛玻璃（出现在 04~06 浅底屏，故深字） */
.deals{
  position:absolute; right:1.5rem; bottom:1.5rem; pointer-events:auto; width:max-content;   /* 贴合内容宽度：右边不再留死白 */
  padding:.75rem 1rem .875rem; border-radius:.75rem;
  background:rgba(207,199,187,.42);   /* 材质统一：与顶栏同款——茶色 #CFC7BB(--c-tea2) @42% + 同一 blur/saturate */
  -webkit-backdrop-filter:blur(1.25rem) saturate(1.4); backdrop-filter:blur(1.25rem) saturate(1.4);
  border:.0625rem solid rgba(26,26,24,.14); box-shadow:0 .5rem 1.5rem rgba(26,26,24,.12);
  color:var(--c-dark);
  opacity:0; transform:translateY(.75rem); transition:opacity .5s ease, transform .5s ease;
  pointer-events:none;
}
.deals.on{ opacity:1; transform:none; pointer-events:auto; }
.deals .dl-view{ height:4.5rem; overflow:hidden; margin-top:.375rem; }   /* 恰 3 行 × 1.5rem */
.deals .dl-list{ list-style:none; will-change:transform; }
.deals .dl-list li{
  height:1.5rem; line-height:1.5rem; font-size:1rem; white-space:nowrap;   /* 14→16px：与上方倒计时同量级 */
  overflow:hidden; text-overflow:ellipsis; color:rgba(26,26,24,.62);
}
.deals .dl-list li .ok{ color:var(--c-org); text-shadow:.0625rem .0625rem 0 var(--c-dark); margin-right:.25em; }   /* ✓ 橙 + 1px 右下硬阴影，与右侧彩色字同一手法 */
.deals .dl-list li .ph{ color:rgba(26,26,24,.78); }
.deals .dl-list li .nk{ display:inline-block; min-width:2.15em; color:rgba(26,26,24,.78); }  /* 定宽：拉丁首字母与汉字同列对齐 */
.deals .dl-list li .sep{ color:rgba(26,26,24,.4); }
.deals .dl-list li .ac{ font-family:'SHS-ExtraLight',serif; font-weight:250; color:var(--c-grn); text-shadow:.0625rem .0625rem 0 var(--c-dark); }   /* 成功入局=绿：细体 + 1px 右下硬阴影，无扩散无模糊，色取最深令牌深暖灰 */
.deals .dl-list li .pl{ font-family:'SHS-ExtraLight',serif; font-weight:250; color:var(--c-org); text-shadow:.0625rem .0625rem 0 var(--c-dark); }   /* 某某版=橙：同上 */

/* 倒计时：搬进播报面板、压在滚动列表上方（紧迫感要和「越来越多人加入」同屏）
   面板是浅玻璃底，浅茶字会看不见 → 改深暖灰，数字加粗、天/毫秒用橙提示 */
.cd{
  position:static; display:block; white-space:nowrap;
  border-bottom:.0625rem solid var(--c-dark); padding-bottom:.375rem;   /* 1px 深暖灰分隔线 */
  font-size:.8125rem; line-height:1.125rem; letter-spacing:.01em;
  color:rgba(26,26,24,.72); font-variant-numeric:tabular-nums;   /* 等宽数字：毫秒跳动不抖行 */
  margin-bottom:.375rem;
}
.cd .cd-l{ opacity:.92; }
.cd .cd-v{ font-family:'SHS-Heavy'; font-weight:900; color:var(--c-dark); }
.cd .cd-n{ font-family:'SHS-Heavy'; font-weight:900; }                 /* 年/月/日数字加粗 */
.cd .cd-d{ color:var(--c-dark); }                                  /* 天数＝黑 */
.cd .cd-ms{ color:var(--c-grn); }                                  /* 毫秒＝绿 */
.cd .cd-u{ opacity:.62; }
.cd .cd-ms{ opacity:1; }                                                    /* 毫秒：阴影按要求去掉 */

/* 移动/平板换行档：全屏开关与提示卡不出现；播报面板贴合内容宽、只显完整一行、整体上移
   （2026-09-29 定案，替代 09-17 的「px 定宽定字号」——定宽 152/176px 装不下实测 222px 的倒计时整串，
     且可视窗 20px ÷ 行高 12px = 1.67 行 → 每次露出两条残行）
   ① 宽度 max-content + 视口封顶：内容多宽面板就多宽，绝不再被屏幕右缘切掉；
   ② 字号 min(基准, (100vw−48)/串宽系数)：常规手机宽维持 11/13px 不缩，只有屏窄到装不下才等比缩；
   ③ 可视窗高 = 行高 = li 高，三者同一个 calc → 静止时恒为「恰好一整行」；
   ④ 面板底边抬到 12vh（844 屏≈101px），越过 07 底栏三段堆叠的高度，不再与底部内容重叠。 */
@media (max-width:1023px){
  .fs-btn, .fs-txt, .fs-tip{ display:none; }
  .deals{
    right:.75rem; bottom:12vh; left:auto;
    width:max-content; max-width:calc(100% - 1.5rem);   /* 100%=.fx-layer 实际可视宽，不吃 100vw 的滚动条虚高 */
    padding:10px 10px 12px;
    --dcf:min(11px, calc((100vw - 64px)/20.2));   /* 20.2 = 倒计时串宽÷字号（实测 222÷11）；64 含滚动条余量 */
    --dlf:min(13px, calc((100vw - 64px)/17.4));   /* 17.4 = 轮播行串宽÷字号（实测 226÷13） */
  }
  .deals .cd{ font-size:var(--dcf); line-height:calc(var(--dcf)*1.45); }
  .deals .dl-h{ display:none; }
  .deals .dl-list li{ font-size:var(--dlf); line-height:calc(var(--dlf)*1.5385);
                      height:calc(var(--dlf)*1.5385); white-space:nowrap; }
  .deals .dl-view{ height:calc(var(--dlf)*1.5385); margin-top:6px; overflow:hidden; }
}

/* 09-17「手机竖屏阶梯一行一个」的 @media(max-width:599px){.st{width:100%}} 已删除：
   2026-09-30 定案手机与平板都每行一组，且组宽收成 285 设计px 居中（见上方 .st 规则），
   再留这条会把组拉成满宽、箭头又回到屏幕最右。 */

/* ============================================================
   平板横屏专属修正（2026-10-01 定版：固定余量，不用自动补偿）
   仅匹配 (pointer:coarse) and (min-width:1024px)：桌面(fine)、平板/手机竖屏(<1024) 进不来，零影响。
   微信把平板横屏文字放大约 1.1 倍；桌面 base 是"刚好贴边"，放大即溢出。这里对相关文字
   固定收一档留出余量（宁可略小，也不溢出/不撑高），逐条对应你列的问题。
   ============================================================ */
@media (pointer:coarse) and (min-width:1024px){
  html{ -webkit-text-size-adjust:100%; text-size-adjust:100%; }

  /* ① 六角内文：恢复到之前验证有效的 1.875（2.25 会绕到溢出六角斜边） */
  .hex-txt{ font-size:1.875rem; line-height:2.55rem; }
  .min-note{ font-size:1.25rem; line-height:1.9rem; }

  /* ② 颠覆认知卡：正文再收一档 + 底部内距加大 → 末行离下边框留出空间 */
  .min-card-title span{ font-size:2.5rem; }
  .min-card-body{ font-size:1.5rem; line-height:2.5rem; }
  .min-card{ padding-bottom:3.5rem; }

  /* ③ 价格四卡：正文/行距收一档，使内容不超卡片 min-height → 三张白卡等高、按钮贴底等距 */
  .pcard li{ font-size:0.72rem; line-height:1.3rem; }
  .pcard .pc-role{ font-size:0.8rem; }

  /* ④ 蜕变感言：金句文字提到 1.7（之前 1.4 太小、右边空）；卡片下方与区块底部留白 */
  .quote p{ font-size:1.7rem; line-height:2.4rem; }
  .vc-quote{ font-size:1rem; line-height:1.6rem; }
  .sec-voice .safe:first-child .quote{ margin-top:3rem; }
  .mq-a{ margin-top:3.5rem; margin-bottom:0; }
  .mq-b{ margin-bottom:0; }
  .sec-voice .safe:last-child .quote{ margin-top:3.5rem; }
  .sec-voice{ padding-bottom:5rem; }

  /* ⑤ 领取福利：三彩盒标题/正文再收一档，使盒子不超 min-height → 上下左右间距回到宽屏一致 */
  .g-box .g1{ font-size:1.4rem; line-height:1.95rem; }
  .g-box{ font-size:1.05rem; line-height:1.6rem; }
  .g-ad{ font-size:1.85rem; }
  .g-back .gb-txt{ font-size:1.35rem; }

  /* 估算参考末行零余量、放大即顶出右缘：整块收一档留余量 */
  .estimate{ font-size:0.9rem; line-height:1.3rem; }
  .estimate .es-t{ font-size:1.3rem; }

  /* 追加·问题1：感言卡片高度随内容自适应 + 四周内距统一为 1rem → 末行离下边框与左右/上方等距 */
  .vcard{ height:auto; padding:1rem; }

  /* 追加·问题2：礼包盒上下间距加大到与左右相当（下移中/下排、加高舞台） */
  .gift-stage{ height:42rem; }
  .g-box2{ top:11.9rem; }
  .g-box3{ top:28.1rem; }
  .g-ad2{ top:28.1rem; }
  .g-back{ top:30.1rem; }
}
