/* ============================================================
   知行家学 · 官网 V6 设计系统
   原则：手机优先 / 克制与留白 / 封面与动效克制高级
   交互：逐字标题 · 慢渐入 · 翻页露下一页 · 竖版滑块 · 长条选择 · 内容替换
   ============================================================ */
:root{
  --bg:#ffffff; --bg2:#f5f5f7; --bg3:#fbfbfd; --bg4:#ececf0;
  --ink:#1d1d1f; --ink2:#6e6e73; --ink3:#8e8e93;
  --card:#ffffff; --card2:#f5f5f7;
  --line:rgba(0,0,0,.09); --line2:rgba(0,0,0,.16);
  --red:#c30d23; --red2:#e03a48;
  --dark:#111113; --dark2:#1a1a1e; --dark3:#222226; --dark-ink:#f5f5f7; --dark-ink2:#a1a1a6;
  --hd-bg:rgba(255,255,255,.72); --hd-line:rgba(0,0,0,.07);
  --sh-1:0 1px 4px rgba(0,0,0,.04),0 8px 28px rgba(0,0,0,.06);
  --sh-2:0 30px 80px rgba(0,0,0,.13);
  --sh-3:0 70px 180px rgba(0,0,0,.26);
  --font:-apple-system,BlinkMacSystemFont,"SF Pro Text","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --font-en:"SF Pro Display","Helvetica Neue","Helvetica","Arial",sans-serif;
  --ease:cubic-bezier(.19,1,.22,1);
  --r-md:14px; --r-lg:20px; --r-xl:28px; --r-frame:36px; --r-full:999px;
  --hd-h:52px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font);font-size:16px;line-height:1.7;color:var(--ink);background:var(--bg);overflow-x:hidden;-webkit-font-smoothing:antialiased;letter-spacing:.005em;text-rendering:optimizeLegibility}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button{font-family:var(--font)}
h1,h2,h3,h4{font-weight:600;letter-spacing:-.02em;line-height:1.12;text-wrap:balance}
.container{width:100%;max-width:1200px;margin:0 auto;padding:0 22px}
.section{padding:88px 0;position:relative}
.eyebrow{display:block;font-size:11.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ink3);margin-bottom:16px;font-family:var(--font-en)}
.h2{font-size:clamp(28px,5vw,50px);letter-spacing:-.025em;line-height:1.16;margin-bottom:14px}
.h2 em{font-style:normal;color:var(--red)}
.lead{font-size:clamp(15.5px,2.2vw,19px);color:var(--ink2);max-width:600px;line-height:1.9}
.sec-head{margin-bottom:48px}
.sec-head.center{text-align:center}
.sec-head.center .lead{margin-left:auto;margin-right:auto}
.bigtitle{font-size:clamp(40px,8vw,88px);font-weight:700;letter-spacing:-.035em;line-height:1.05}
/* 小字层级：字号与颜色按内容变化，减少疲劳 */
.t-xs{font-size:12px;line-height:1.7}
.t-sm{font-size:13px;line-height:1.8}
.t-md{font-size:14.5px;line-height:1.9}
.c-ink2{color:var(--ink2)}
.c-ink3{color:var(--ink3)}
.c-red{color:var(--red)}
/* ---------- 深灰过渡块（柔和，非纯黑） ---------- */
.darksection{position:relative;background:linear-gradient(180deg,var(--bg2) 0%,var(--bg4) 100%);color:var(--ink);padding:100px 0;overflow:hidden}
.darksection::before{content:"";position:absolute;inset:0;background:radial-gradient(85% 65% at 50% -10%,rgba(195,13,35,.05),transparent 65%);pointer-events:none}
.darksection .container{position:relative;z-index:2}
.darksection .eyebrow{color:var(--ink3)}
.darksection .h2 em{color:var(--red)}
.darksection .lead{color:var(--ink2)}
/* ---------- 红棕过渡块（克制的暖色变化） ---------- */
.redsection{position:relative;background:linear-gradient(180deg,var(--bg2) 0%,var(--bg4) 100%);color:var(--ink);padding:100px 0;overflow:hidden}
.redsection::before{content:"";position:absolute;inset:0;background:radial-gradient(80% 60% at 50% -10%,rgba(195,13,35,.06),transparent 65%);pointer-events:none}
.redsection .container{position:relative;z-index:2}
.redsection .eyebrow{color:var(--ink3)}
.redsection .h2 em{color:var(--red)}
.redsection .lead{color:var(--ink2)}
/* ---------- 按钮与统一跳转文字 ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 30px;border-radius:var(--r-full);font-size:16px;font-weight:500;cursor:pointer;border:1px solid transparent;transition:transform .3s var(--ease),background .3s ease,opacity .3s ease,box-shadow .3s ease;white-space:nowrap;line-height:1.2}
.btn:active{transform:scale(.97)}
.btn--red{background:var(--red);color:#fff}
.btn--red:hover{background:var(--red2);box-shadow:0 14px 34px rgba(195,13,35,.32)}
.btn--black{background:#1d1d1f;color:#fff}
.btn--black:hover{opacity:.88}
.btn--line{background:transparent;color:var(--ink);border-color:var(--line2)}
.btn--line:hover{border-color:var(--ink)}
.btn--block{width:100%}
.btn--sm{padding:9px 20px;font-size:14px}
.btn--lg{padding:16px 40px;font-size:17px}
.cta-text{display:inline-flex;align-items:center;gap:7px;font-size:16px;font-weight:600;letter-spacing:-.01em;color:var(--red);cursor:pointer;line-height:1.2}
.cta-text .gt{font-size:15px;font-weight:500;transition:transform .3s var(--ease)}
.cta-text:hover .gt{transform:translateX(4px)}
.darksection .cta-text,.redsection .cta-text{color:#ff4757}
.cta-row{margin-top:36px;display:flex;gap:24px;flex-wrap:wrap}
/* ---------- 顶部导航（logo图案+文字 / 双线按钮 / 图标按钮） ---------- */
.header{position:fixed;top:0;left:0;right:0;z-index:300;height:var(--hd-h);display:flex;align-items:center;transition:background .4s ease,backdrop-filter .4s ease,box-shadow .4s ease}
.header .container{display:flex;align-items:center;justify-content:space-between}
.header .wordmark{display:inline-flex;align-items:center;gap:9px;font-size:18px;font-weight:700;letter-spacing:.02em;color:var(--ink)}
.header .wordmark .logo-mark{height:29px;width:auto;display:block}
.header .wordmark b{color:var(--red)}
.header.scrolled{background:var(--hd-bg);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);box-shadow:0 1px 0 var(--hd-line)}
.header-nav{display:none}
.header-nav a{font-size:14px;font-weight:500;color:var(--ink2);padding:6px 12px;position:relative;transition:color .25s ease}
.header-nav a::after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.header-nav a:hover,.header-nav a.active{color:var(--ink)}
.header-nav a.active::after{transform:scaleX(1)}
.header-actions{display:flex;align-items:center;gap:8px}
.iconbtn{width:38px;height:38px;border:none;background:none;color:var(--ink);display:flex;align-items:center;justify-content:center;transition:color .25s ease,transform .2s ease;flex-shrink:0}
.iconbtn:hover{color:var(--red)}
.iconbtn:active{transform:scale(.92)}
.iconbtn svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.burger{display:flex;flex-direction:column;justify-content:center;gap:7px;width:38px;height:38px;background:none;border:none;cursor:pointer;align-items:center;color:var(--ink)}
.burger span{display:block;width:17px;height:1.8px;background:currentColor;border-radius:2px;transition:transform .35s var(--ease),opacity .2s ease}
.burger.open span:nth-child(1){transform:translateY(4.4px) rotate(45deg)}
.burger.open span:nth-child(2){transform:translateY(-4.4px) rotate(-45deg)}
/* ---------- 全屏移动菜单 ---------- */
.mmenu{position:fixed;inset:0;z-index:290;background:rgba(245,245,247,.94);backdrop-filter:blur(30px) saturate(180%);-webkit-backdrop-filter:blur(30px) saturate(180%);display:flex;flex-direction:column;padding:calc(var(--hd-h) + 24px) 26px 40px;opacity:0;visibility:hidden;transition:opacity .4s ease,visibility .4s ease;overflow-y:auto;color:#1d1d1f}
.mmenu.open{opacity:1;visibility:visible}
.mmenu a.ml{display:block;font-size:clamp(26px,6.5vw,38px);font-weight:600;letter-spacing:-.02em;color:#1d1d1f;padding:13px 0;border-bottom:1px solid rgba(0,0,0,.08);transform:translateY(18px);opacity:0;transition:transform .55s var(--ease),opacity .5s ease,color .2s ease}
.mmenu.open a.ml{transform:none;opacity:1}
.mmenu a.ml:hover{color:var(--red)}
.mmenu a.ml small{display:block;font-size:11px;font-weight:400;letter-spacing:.2em;color:#86868b;margin-top:2px;font-family:var(--font-en)}
.mmenu .mm-actions{margin-top:auto;padding-top:34px;display:grid;gap:12px}
.mmenu .mm-foot{margin-top:22px;display:flex;justify-content:space-between;font-size:12px;color:#86868b}
/* ---------- Hero · 文字封面（无灰色小字，逐字/整行揭示） ---------- */
.hero{position:relative;min-height:86svh;display:flex;align-items:center;overflow:hidden;padding:calc(var(--hd-h) + 46px) 0 64px}
.hero .container{position:relative;z-index:2}
.hero--text{background:linear-gradient(180deg,var(--bg3) 0%,var(--bg2) 100%)}
.hero--text.center{text-align:center}
.hero--text.center .hero-actions{justify-content:center}
.hero--text h1{font-size:clamp(40px,8vw,92px);font-weight:700;letter-spacing:-.04em;line-height:1.06;margin-bottom:30px}
.hero--text .hero-tag{display:block;color:var(--ink3);font-size:11.5px;font-weight:600;letter-spacing:.22em;margin-bottom:22px;font-family:var(--font-en)}
.hero--text .hero-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.hero .scroll-hint{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);font-size:10px;letter-spacing:.3em;color:var(--ink3);font-family:var(--font-en)}
.hero .scroll-hint::after{content:"";display:block;width:1px;height:28px;margin:9px auto 0;background:linear-gradient(var(--ink3),transparent)}
/* 整行揭示（默认） */
.hl-line{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.hl-line>span{display:block;transform:translateY(112%);transition:transform 1.2s var(--ease)}
.hero.in .hl-line>span{transform:none}
/* 逐字揭示（部分页面） */
.hero--chars .hl-line{overflow:visible;white-space:nowrap}
.hero--chars .hl-line>span{display:inline-block}
.hero--chars h1{font-size:clamp(36px,9vw,92px)}
.ch{display:inline-block;white-space:pre;opacity:0;transform:translateY(.45em);transition:opacity .8s ease,transform .95s var(--ease)}
.hero--chars.in .ch{opacity:1;transform:none}
/* ---------- Hero · 图片封面（文字叠图留白，有机融合） ---------- */
.hero--image{min-height:92svh;padding:0;align-items:flex-end;background:var(--dark)}
.hero--image .hero-bg{position:absolute;inset:0}
.hero--image .hero-bg img{width:100%;height:100%;object-fit:cover}
.hero--image .hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.26) 0%,rgba(0,0,0,.08) 42%,rgba(10,10,12,.92) 100%)}
.hero--image .container{position:relative;z-index:2;color:#fff;padding-top:110px;padding-bottom:54px}
.hero--image .hero-tag{display:block;color:rgba(255,255,255,.7);font-size:11.5px;font-weight:600;letter-spacing:.22em;margin-bottom:20px;font-family:var(--font-en)}
.hero--image h1{font-size:clamp(38px,7vw,80px);font-weight:700;letter-spacing:-.035em;line-height:1.06;margin-bottom:0;color:#fff;text-shadow:0 2px 40px rgba(0,0,0,.35)}
.hero--image .hero-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:28px}
.hero--image .btn--line{border-color:rgba(255,255,255,.45);color:#fff}
.hero--image .btn--line:hover{border-color:#fff}
/* ---------- Hero · 图文封面 ---------- */
.hero--split{background:linear-gradient(180deg,var(--bg3) 0%,var(--bg2) 100%);min-height:88svh;align-items:center}
.hero--split .split-inner{display:grid;gap:32px;align-items:center;width:100%}
.hero--split h1{font-size:clamp(38px,7vw,80px);font-weight:700;letter-spacing:-.04em;line-height:1.05;margin-bottom:0}
.hero--split .hero-tag{color:var(--ink3);font-size:11.5px;font-weight:600;letter-spacing:.22em;margin-bottom:20px;display:block;font-family:var(--font-en)}
.hero--split .hero-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:28px}
.hero--split .hero-side{position:relative;border-radius:0;overflow:hidden;aspect-ratio:4/5}
.hero--split .hero-side img{width:100%;height:100%;object-fit:cover}
/* ---------- 灰框 ---------- */
.frame{background:var(--bg2);border-radius:var(--r-frame);padding:clamp(26px,5vw,60px)}
/* ---------- 克制式内容行（标题+一句+加号，无图堆砌） ---------- */
.minirow{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:22px 0;border-bottom:1px solid var(--line)}
.minirow .mr-more{flex:1 0 100%;max-height:0;overflow:hidden;transition:max-height .55s var(--ease)}
.minirow .mr-more-inner{padding:0 0 6px 0;font-size:14px;color:var(--ink2);line-height:2.05;max-width:620px}
.minirow.open .popbtn{background:var(--red);color:#fff;transform:rotate(45deg)}
.minirow:first-child{border-top:1px solid var(--line)}
.minirow .mr-body{flex:1;min-width:0}
.minirow .mr-body h3{font-size:clamp(17px,3vw,21px);margin-bottom:4px}
.minirow .mr-body p{font-size:13.5px;color:var(--ink2);line-height:1.8}
.minirow .popbtn{flex-shrink:0}
/* ---------- + 按钮（灰底，选中变红） ---------- */
.popbtn,.gbtn,.sw-btn{width:38px;height:38px;border-radius:50%;border:none;background:var(--card2);color:var(--ink);font-size:19px;font-weight:300;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s var(--ease);box-shadow:inset 0 0 0 1px var(--line)}
.popbtn:hover,.gbtn:hover,.sw-btn:hover{background:var(--red);color:#fff;box-shadow:0 10px 24px rgba(195,13,35,.3);transform:scale(1.06)}
.popbtn:active,.gbtn:active,.sw-btn:active{transform:scale(.94)}
.popbtn.on,.gbtn.on,.sw-btn.on{background:var(--red);color:#fff;transform:rotate(45deg)}
/* ---------- 毛玻璃弹窗 ---------- */
.popover{position:fixed;inset:0;z-index:420;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(235,235,240,.4);backdrop-filter:blur(var(--glass-blur-lg)) saturate(var(--glass-sat));-webkit-backdrop-filter:blur(var(--glass-blur-lg)) saturate(var(--glass-sat));opacity:0;visibility:hidden;transition:opacity .18s ease,visibility .18s ease}
.popover.open{opacity:1;visibility:visible}
.pop-card{position:relative;background:var(--glass-bg-strong);backdrop-filter:blur(var(--glass-blur-lg)) saturate(var(--glass-sat));-webkit-backdrop-filter:blur(var(--glass-blur-lg)) saturate(var(--glass-sat));border:1px solid var(--glass-line);border-radius:24px;max-width:560px;width:100%;max-height:74vh;overflow:auto;padding:32px 28px;box-shadow:0 60px 160px rgba(0,0,0,.26);transform:scale(.92) translateY(10px);transition:transform .24s var(--ease)}
.popover.open .pop-card{transform:none}
.popover:not(.open) .pop-card{transition:transform .18s ease}
.pop-card h3{font-size:21px;margin-bottom:14px;padding-right:34px}
.pop-card .pc-body{font-size:15px;color:var(--ink2);line-height:2}
.pop-card .pc-body b{color:var(--ink)}
.pop-card .pc-body .pc-img{margin:6px 0 16px;border-radius:16px;overflow:hidden}
.pop-x{position:absolute;top:16px;right:16px;width:34px;height:34px;border-radius:50%;border:none;background:rgba(0,0,0,.06);font-size:16px;cursor:pointer;color:var(--ink2);display:flex;align-items:center;justify-content:center;transition:all .25s ease}
.pop-x:hover{background:var(--ink);color:#fff}
/* ---------- 向下展开（折叠） ---------- */
.fold{border-bottom:1px solid var(--line)}
.fold>button{width:100%;display:flex;align-items:center;gap:14px;padding:22px 0;background:none;border:none;cursor:pointer;text-align:left;color:var(--ink)}
.fold>button .fd-no{font-size:13px;font-weight:600;color:var(--ink3);flex-shrink:0;width:88px;letter-spacing:.02em;font-family:var(--font-en)}
.fold>button .fd-title{flex:1;font-size:clamp(16.5px,2.8vw,20px);font-weight:600;letter-spacing:-.01em}
.fold>button .fd-plus{flex-shrink:0;width:28px;height:28px;border-radius:50%;border:none;background:var(--card2);box-shadow:inset 0 0 0 1px var(--line);display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:400;color:var(--ink);transition:all .35s var(--ease)}
.fold.open>button .fd-plus{background:var(--red);color:#fff;transform:rotate(45deg)}
.fold.open>button .fd-no{color:var(--red)}
.fold .fd-panel{max-height:0;overflow:hidden;transition:max-height .55s var(--ease)}
.fold .fd-body{padding:0 0 24px 102px;font-size:14.5px;color:var(--ink2);line-height:2;max-width:620px}
.fold .fd-body b{color:var(--ink)}
@media(max-width:767px){.fold>button .fd-no{width:66px}.fold .fd-body{padding-left:80px}}
/* ---------- 原位放大（gcard） ---------- */
.gcard{background:var(--card);border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-1);border:1px solid var(--line);transition:box-shadow .4s ease,transform .4s var(--ease)}
.gcard:hover{box-shadow:var(--sh-2)}
.gcard .gc-head{display:flex;align-items:center;gap:16px;padding:24px;cursor:pointer;background:none;border:none;width:100%;text-align:left;color:var(--ink)}
.gcard .gc-title{flex:1;font-size:clamp(18px,2.8vw,22px);font-weight:600;letter-spacing:-.015em}
.gcard .gbtn{flex-shrink:0}
.gcard .gc-more{max-height:0;overflow:hidden;transition:max-height .6s var(--ease)}
.gcard.open .gc-more{max-height:2400px}
.gc-inner{padding:0 24px 28px}
.gc-inner .gc-img{border-radius:0;overflow:hidden;margin-bottom:20px}
.gc-inner .gc-img img{width:100%;aspect-ratio:3/4;object-fit:cover}
.gc-inner p{font-size:14.5px;color:var(--ink2);line-height:2}
.gc-inner p b{color:var(--ink)}
.gc-inner .gc-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.gc-inner .gc-tags span{font-size:12px;padding:6px 14px;border-radius:var(--r-full);background:var(--bg2);color:var(--ink2)}
/* ---------- 内容替换（AirPods 式） ---------- */
.swap{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--sh-1);overflow:hidden;min-height:380px;perspective:1400px}
.swap .sw-front,.swap .sw-back{position:absolute;inset:0;display:flex;flex-direction:column;padding:24px;backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:transform .55s var(--ease)}
.swap .sw-img{position:relative;overflow:hidden;aspect-ratio:4/5}
.swap .sw-img img{width:100%;height:100%;object-fit:cover}
.swap .sw-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.3))}
.swap .sw-front h3{font-size:clamp(18px,2.8vw,22px);margin:18px 0 6px}
.swap .sw-front p{font-size:13.5px;color:var(--ink2);line-height:1.85}
.swap .sw-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.swap .sw-back{transform:rotateY(180deg);pointer-events:none;background:linear-gradient(160deg,var(--bg3),var(--bg2))}
.swap .sw-back .sw-body{font-size:14px;color:var(--ink2);line-height:2.05;margin-top:18px;overflow:auto}
.swap .sw-back .sw-body b{color:var(--ink)}
.swap .sw-back .sw-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.swap .sw-back .sw-tags span{font-size:12px;padding:6px 14px;border-radius:var(--r-full);background:#fff;color:var(--ink2);box-shadow:inset 0 0 0 1px var(--line)}
.swap .sw-btn{position:absolute;top:20px;right:20px;z-index:3}
.swap.open .sw-front{transform:rotateY(-180deg);pointer-events:none}
.swap.open .sw-back{transform:rotateY(0deg);pointer-events:auto}
/* ---------- 卡片 / 竖版图卡（手机优先，高大于宽） ---------- */
.card{background:var(--card);border-radius:var(--r-lg);padding:26px;box-shadow:var(--sh-1);border:1px solid var(--line)}
.card h3{font-size:clamp(18px,2.8vw,22px);margin-bottom:10px}
.card p{font-size:14px;color:var(--ink2);line-height:1.9}
.grid{display:grid;gap:18px}
.grid-2{grid-template-columns:1fr}
.grid-3{grid-template-columns:1fr}
.grid-4{grid-template-columns:1fr}
.g2{grid-template-columns:1fr}
.g3{grid-template-columns:1fr}
.tcard{background:var(--card);border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-1);border:1px solid var(--line);display:flex;flex-direction:column;transition:transform .45s var(--ease),box-shadow .45s ease}
.tcard:hover{transform:translateY(-5px);box-shadow:var(--sh-2)}
.tcard .tc-img{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--bg2)}
.tcard .tc-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.tcard:hover .tc-img img{transform:scale(1.05)}
.tcard .tc-body{padding:22px;display:flex;flex-direction:column;flex:1}
.tcard .tc-body h3{font-size:19px;margin-bottom:8px;letter-spacing:-.015em}
.tcard .tc-body p{font-size:13.5px;color:var(--ink2);line-height:1.85;flex:1}
.tcard .tc-foot{display:flex;align-items:center;justify-content:space-between;margin-top:18px;gap:10px}
/* ---------- 翻页：当前页偏左，右侧露出下一页（苹果手机式） ---------- */
.carousel{display:grid;grid-auto-flow:column;grid-auto-columns:73%;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:14px;padding:8px 22px 18px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.carousel::-webkit-scrollbar{display:none}
.carousel>*{scroll-snap-align:start}
.carousel--wide{grid-auto-columns:78%}
.cslide{background:var(--card);border-radius:var(--r-xl);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--sh-1);border:1px solid var(--line)}
.cslide img{width:100%;aspect-ratio:3/4;object-fit:cover}
.cslide .cb{padding:22px}
.cslide .cb .eyebrow{margin-bottom:10px;font-size:11px}
.cslide .cb h3{font-size:20px;margin-bottom:8px;letter-spacing:-.015em}
.cslide .cb p{font-size:13.5px;color:var(--ink2);line-height:1.85}
.cslide .cb .cb-foot{display:flex;align-items:center;justify-content:space-between;margin-top:18px}
.carousel-tip{display:flex;align-items:center;justify-content:center;gap:10px;font-size:12px;color:var(--ink3);margin-top:12px;font-family:var(--font-en)}
.carousel-tip .dots{display:flex;gap:6px}
.carousel-tip .dots i{width:6px;height:6px;border-radius:50%;background:var(--ink3);opacity:.35;transition:all .3s;cursor:pointer}
.carousel-tip .dots i.on{background:var(--red);opacity:1;width:18px;border-radius:var(--r-full)}
/* ---------- 手风琴滑块（Apple 亲密好搭档式：左菜单 + 右大图，点击切换、自动收合） ---------- */
.vslider{position:relative;padding:90px 0 100px}
.acc-stage{position:relative}
.acc-panel{display:grid;grid-template-columns:1fr;background:var(--bg2);border-radius:var(--r-frame);overflow:hidden;box-shadow:var(--sh-1)}
.acc-menu{padding:10px 26px 8px}
.acc-row{display:block;width:100%;text-align:left;background:none;border:0;border-top:1px solid var(--line);cursor:pointer;padding:20px 4px;transition:opacity .3s ease}
.acc-row:first-child{border-top:0}
.acc-row-head{display:flex;align-items:center;gap:14px;width:100%}
.acc-no{font-family:var(--font-en);font-size:11.5px;font-weight:600;letter-spacing:.16em;color:var(--ink3);flex-shrink:0}
.acc-t{font-size:clamp(19px,2.8vw,25px);font-weight:600;letter-spacing:-.02em;color:var(--ink2);transition:color .35s ease;line-height:1.25}
.acc-caret{margin-left:auto;color:var(--ink2);flex-shrink:0;transition:transform .45s var(--ease),color .35s ease;transform:rotate(0deg);display:flex;transform-origin:center}
.acc-caret svg{width:20px;height:20px;display:block}
.acc-row.on .acc-caret{transform:rotate(180deg)}
.acc-b{display:block;max-height:0;opacity:0;overflow:hidden;font-size:14px;color:var(--ink2);line-height:1.9;transition:max-height .55s var(--ease),opacity .45s ease,margin .55s var(--ease);margin:0}
.acc-row.on .acc-b{max-height:220px;opacity:1;margin-top:12px}
.acc-row.on .acc-t{color:var(--ink)}
/* 深灰过渡区（darksection）内用白面板，避免与浅灰背景融为一体 */
.darksection .acc-panel{background:var(--card)}
.acc-visual{position:relative;min-height:0;aspect-ratio:4/5;overflow:hidden;background:var(--bg4)}
.acc-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .55s ease}
.acc-img.on{opacity:1}
.acc-pop{position:absolute;top:18px;right:18px;z-index:3}
@media(min-width:768px){
  .acc-panel{grid-template-columns:minmax(300px,38%) 1fr}
  .acc-menu{padding:18px 40px 14px}
  .acc-row{padding:28px 4px}
  .acc-b{max-width:430px}
  .acc-visual{aspect-ratio:auto;min-height:560px}
}

/* ---------- 长条选择器（Mac 全系细细看式） ---------- */
.tabbar{position:relative;display:flex;gap:8px;overflow-x:auto;padding:4px 0 14px;-webkit-overflow-scrolling:touch;scrollbar-width:none;border-bottom:1px solid var(--line)}
.tabbar::-webkit-scrollbar{display:none}
.tab{flex-shrink:0;padding:10px 20px;border-radius:var(--r-full);border:1px solid var(--line2);background:var(--card);color:var(--ink2);font-size:14px;font-weight:500;cursor:pointer;transition:all .3s var(--ease);white-space:nowrap}
.tab:hover{color:var(--ink)}
.tab.on{background:var(--ink);border-color:var(--ink);color:#fff}
.tabpane{display:none;animation:tabfade .7s var(--ease)}
.tabpane.on{display:block}
@keyframes tabfade{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
/* ---------- 图文有机融合（抠图留白感） ---------- */
.merge{position:relative;overflow:hidden;border-radius:var(--r-xl);box-shadow:var(--sh-2)}
.merge img{width:100%;aspect-ratio:4/3;object-fit:cover}
.merge .merge-cap .eyebrow{color:rgba(255,255,255,.85);text-shadow:0 0 10px rgba(255,255,255,.85),0 0 26px rgba(255,255,255,.5)}
.merge .merge-cap{position:absolute;left:18px;right:18px;bottom:18px;z-index:2;color:#fff;background:linear-gradient(180deg,rgba(20,20,24,0) 0%,rgba(20,20,24,.2) 26%,rgba(20,20,24,.52) 100%);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);border:1px solid rgba(255,255,255,.22);border-radius:var(--r-xl);padding:24px 26px;box-shadow:0 24px 60px rgba(0,0,0,.2)}
.merge .merge-cap h3{font-size:clamp(24px,5vw,40px);margin-bottom:8px;color:#fff;text-shadow:0 0 12px rgba(255,255,255,.95),0 0 30px rgba(255,255,255,.6),0 2px 14px rgba(255,255,255,.45)}
.merge .merge-cap p{font-size:14px;color:#fff;line-height:1.9;max-width:440px;text-shadow:0 0 10px rgba(255,255,255,.9),0 0 24px rgba(255,255,255,.55)}
.merge .merge-cap .merge-actions{margin-top:20px;display:flex;align-items:center;gap:14px}
.merge .merge-cap .cta-text{color:#fff;text-shadow:0 0 12px rgba(255,255,255,.95),0 0 28px rgba(255,255,255,.6)}
/* ---------- 直角图（无圆角无阴影，与圆角交错） ---------- */
.flatimg{width:100%;aspect-ratio:4/3;object-fit:cover}
/* ---------- 大数字 / 数字动效 ---------- */
.bignum{font-size:clamp(58px,12vw,112px);font-weight:700;letter-spacing:-.05em;line-height:1;font-variant-numeric:tabular-nums;font-family:var(--font-en)}
.bignum small{font-size:clamp(16px,3vw,24px);font-weight:400;color:var(--ink3);letter-spacing:0}
.bignum .cur{font-size:clamp(22px,4vw,36px);vertical-align:top;margin-right:4px;color:var(--ink2);font-family:var(--font-en)}
.price-card{position:relative;background:linear-gradient(170deg,#ffffff 0%,#f2f2f5 100%);border:1px solid var(--line);border-radius:36px;padding:clamp(32px,6vw,64px);text-align:center;box-shadow:var(--sh-2);overflow:hidden}
.price-card::before{content:"";position:absolute;top:-90px;left:50%;transform:translateX(-50%);width:360px;height:220px;background:radial-gradient(50% 100% at 50% 0%,rgba(195,13,35,.16),transparent 70%)}
/* 价格卡已统一为浅色 */
.stat-grid{display:grid;gap:14px}
.stat{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-sat));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-sat));border:1px solid var(--glass-line);border-radius:var(--r-xl);padding:26px 22px;text-align:center;box-shadow:0 18px 44px rgba(0,0,0,.07)}
.stat .num{font-size:clamp(34px,5.5vw,56px);font-weight:700;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums;font-family:var(--font-en)}
.stat .num small{font-size:clamp(13px,2vw,17px);font-weight:400;color:var(--ink3)}
.stat .lab{font-size:13px;color:var(--ink2);margin-top:10px;line-height:1.7}
/* stat 已统一为浅色 */
/* ---------- 时间线 ---------- */
.tl{position:relative;margin:24px 0}
.tl::before{content:"";position:absolute;left:15px;top:10px;bottom:10px;width:1px;background:var(--line2)}
.tl .tli{position:relative;padding:0 0 32px 52px}
.tl .tli::before{content:"";position:absolute;left:9px;top:10px;width:13px;height:13px;border-radius:50%;background:var(--red);box-shadow:0 0 0 5px rgba(195,13,23,.12)}
.tl .tli .t-no{font-size:11.5px;font-weight:600;letter-spacing:.14em;color:var(--ink3);margin-bottom:6px;font-family:var(--font-en)}
.tl .tli h4{font-size:clamp(18px,3vw,21px);margin-bottom:6px}
.tl .tli p{font-size:14px;color:var(--ink2);line-height:1.95}
.tl .tli .tl-actions{margin-top:12px}
/* ---------- 联系人行 ---------- */
.contact-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;border-bottom:1px solid var(--line);font-size:15px}
.contact-row:first-child{border-top:1px solid var(--line)}
.contact-row .k{color:var(--ink3);font-size:13px;flex-shrink:0}
.contact-row .v{font-weight:500;text-align:right;word-break:break-all}
/* ---------- 表单 ---------- */
.form-card{background:var(--card);border-radius:var(--r-xl);padding:32px 26px;box-shadow:var(--sh-2);border:1px solid var(--line)}
.field label{display:block;font-size:13px;font-weight:600;color:var(--ink2);margin-bottom:8px}
.field label i{font-style:normal;color:var(--red)}
.field input,.field select,.field textarea{width:100%;padding:14px 16px;border:1px solid var(--line2);border-radius:14px;font-size:15.5px;font-family:var(--font);color:var(--ink);background:var(--bg3);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;-webkit-appearance:none;appearance:none}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(195,13,23,.12);background:#fff}
.field textarea{resize:vertical;min-height:88px}
.form-grid{display:grid;gap:18px}
.form-row{display:grid;gap:18px}
.form-tip{font-size:12.5px;color:var(--ink3);margin-top:12px;line-height:1.8}
.form-success{display:none;text-align:center;padding:44px 10px}
.form-success.show{display:block}
.form-success .ok{width:64px;height:64px;margin:0 auto 18px;border-radius:50%;background:var(--bg2);display:flex;align-items:center;justify-content:center;font-size:26px;color:var(--red)}
.form-success h3{font-size:24px;margin-bottom:10px}
.form-success p{color:var(--ink2);font-size:15px}
/* ---------- 视频占位（直角） ---------- */
.video-card{position:relative;overflow:hidden;background:var(--dark)}
.video-card img{width:100%;aspect-ratio:16/9;object-fit:cover;opacity:.85}
.video-card::after{content:"";position:absolute;inset:0;background:radial-gradient(60% 60% at 50% 50%,transparent 40%,rgba(0,0,0,.5))}
.video-card .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:70px;height:70px;border-radius:50%;background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;box-shadow:0 20px 60px rgba(0,0,0,.4);z-index:2;transition:transform .35s var(--ease)}
.video-card .play svg{margin-left:4px}
.video-card:hover .play{transform:translate(-50%,-50%) scale(1.08)}
.video-card .vc-cap{position:absolute;left:20px;bottom:16px;font-size:11px;letter-spacing:.14em;color:rgba(255,255,255,.85);z-index:2;font-family:var(--font-en)}
/* ---------- 底部 ---------- */
.footer{background:var(--bg2);color:var(--ink2);padding:60px 0 64px;font-size:13px;border-top:1px solid var(--line)}
.footer .f-grid{display:grid;gap:36px}
.footer h4{color:var(--ink);font-size:13px;font-weight:600;letter-spacing:.1em;margin-bottom:16px}
.footer ul{display:grid;gap:10px}
.footer a:hover{color:var(--ink)}
.footer .f-brand{display:inline-flex;align-items:center;gap:9px;font-size:22px;font-weight:700;color:var(--ink);letter-spacing:.03em;margin-bottom:10px}
.footer .f-brand .logo-mark{height:26px;width:auto}
.footer .f-brand b{color:var(--red)}
.footer .f-bottom{margin-top:44px;padding-top:22px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;font-size:11.5px;color:var(--ink3);font-family:var(--font-en)}
/* ---------- 慢速渐入（错峰延迟，柔和高级） ---------- */
.rv{opacity:0;transform:translateY(24px);transition:opacity 1.1s ease,transform 1.2s var(--ease)}
.rv.in{opacity:1;transform:none}
.stagger>*{transition:opacity 1.1s ease,transform 1.2s var(--ease)}
.stagger>*:nth-child(1){transition-delay:.05s}
.stagger>*:nth-child(2){transition-delay:.18s}
.stagger>*:nth-child(3){transition-delay:.31s}
.stagger>*:nth-child(4){transition-delay:.44s}
.stagger>*:nth-child(5){transition-delay:.57s}
.stagger>*:nth-child(6){transition-delay:.7s}
@media(prefers-reduced-motion:reduce){.rv,.hl-line>span,.ch,.vs-fade{opacity:1;transform:none;transition:none}}
/* ---------- 断点 ---------- */
@media(min-width:768px){
  .grid-2{grid-template-columns:repeat(2,1fr)}
  .grid-3{grid-template-columns:repeat(3,1fr)}
  .grid-4{grid-template-columns:repeat(4,1fr)}
  .g2{grid-template-columns:repeat(2,1fr)}
  .g3{grid-template-columns:repeat(3,1fr)}
  .form-row{grid-template-columns:1fr 1fr}
  .form-row .full{grid-column:1/-1}
  .carousel{grid-auto-columns:38%;gap:24px;padding-right:22px}
  .carousel--wide{grid-auto-columns:46%}
  .hero--split .split-inner{grid-template-columns:1fr 1fr;gap:64px}
  .vs-stage{grid-template-columns:1fr 1.1fr;gap:56px}
  .stat-grid{grid-template-columns:repeat(3,1fr)}
  .section{padding:120px 0}
  .tcard .tc-img{aspect-ratio:3/4}
  .swap .sw-img{aspect-ratio:3/4}
}
@media(min-width:1024px){
  .header-nav{display:flex;align-items:center;gap:2px}
  .burger{display:none}
  .mmenu{display:none}
  .footer{padding-bottom:64px}
  .container{padding:0 44px}
  .hero{min-height:84vh}
  .carousel{grid-template-columns:repeat(3,1fr);grid-auto-flow:row;overflow:visible;scroll-snap-type:none;gap:22px;padding:0}
  .carousel>*{scroll-snap-align:unset}
  .carousel-tip{display:none}
  .section{padding:150px 0}
  .tcard .tc-img{aspect-ratio:3/4}
  .cslide img{aspect-ratio:3/4}
  .hero--image{min-height:92svh}
  .minirow .mr-body p{max-width:560px}
}
@media print{.header,.mmenu,.footer{display:none}}

/* ============================================================
   全站对齐「特例插口」：凡需要出血/不跟随内容对齐线的块
   （横滑翻页轨道、全宽图、悬浮层等）给该元素加 class="fullbleed"。
   对齐只约束 .container / .section-content；轨道不产生对齐边界。
   ============================================================ */
.fullbleed{width:100vw;margin-left:calc(50% - 50vw)}

/* ============================================================
   V9 首页试行 · 新增「实感物件」组件（v6 壳 + 网页界面仿制）
   ============================================================ */
/* Hero 信任数字 */
.hnums{display:flex;justify-content:center;gap:clamp(28px,6vw,76px);flex-wrap:wrap;margin-top:38px}
.hnums .hn{text-align:center}
.hnums .n{font-family:var(--font-en);font-size:clamp(38px,6vw,64px);font-weight:700;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}
.hnums .n small{font-size:.32em;font-weight:500;color:var(--ink3);margin-left:4px}
.hnums .c{font-size:12.5px;font-weight:600;color:var(--ink2);margin-top:6px;letter-spacing:.04em}

/* 排版卡（三类孩子 · 无图） */
.kids3{display:grid;gap:18px}
@media(min-width:900px){.kids3{grid-template-columns:repeat(3,1fr)}}
.simple-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-xl);padding:26px 26px 24px;box-shadow:var(--sh-1);transition:transform .45s var(--ease),box-shadow .45s ease}
.simple-card:hover{transform:translateY(-5px);box-shadow:var(--sh-2)}
.simple-card .sc-no{font-family:var(--font-en);font-size:11px;font-weight:600;letter-spacing:.16em;color:var(--red);margin-bottom:12px}
.simple-card h3{font-size:clamp(19px,2.6vw,23px);margin-bottom:8px;letter-spacing:-.015em}
.simple-card>p{font-size:14px;color:var(--ink2);line-height:1.9}
.simple-card .sc-more{max-height:0;overflow:hidden;transition:max-height .55s var(--ease)}
.simple-card.open .sc-more{max-height:460px}
.simple-card .sc-more-inner{border-top:1px solid var(--line);margin-top:16px;padding-top:14px;font-size:14px;color:var(--ink2);line-height:2}
.simple-card .sc-more-inner b{color:var(--ink)}
.simple-card .sc-foot{display:flex;justify-content:space-between;align-items:center;margin-top:18px}
.simple-card .sc-foot .tag{font-size:11px;letter-spacing:.1em;color:var(--ink3);font-family:var(--font-en)}

/* 整年闭环 stage（device 版） */
.acc-visual.acc-dev-stage{aspect-ratio:auto;min-height:620px;display:flex;align-items:center;justify-content:center;padding:24px;background:transparent}
.acc-dev{display:none;width:100%;max-width:560px}
.acc-dev.on{display:block;animation:devIn .5s var(--ease)}
.acc-panel .acc-row.on .acc-b{max-height:340px}
@keyframes devIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.capnote{margin-top:16px;text-align:center;font-size:12px;color:var(--ink3)}

/* 浏览器窗口（报告/方案网页） */
.device{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--sh-2);overflow:hidden;font-size:13px;line-height:1.6;text-align:left}
.device .bw-body{padding:0;background:#fff}
.device .bw-body .real-shot{width:100%;height:auto;display:block}
.bw-bar{display:flex;align-items:center;gap:7px;padding:9px 12px;background:var(--bg2);border-bottom:1px solid var(--line)}
.bw-dot{width:9px;height:9px;border-radius:50%;background:#d8d8dd;flex-shrink:0}
.bw-dot:first-child{background:#ff5f57}
.bw-dot:nth-child(2){background:#febc2e}
.bw-dot:nth-child(3){background:#28c840}
.bw-url{flex:1;background:#fff;border:1px solid var(--line);border-radius:7px;padding:3px 10px;font-size:11px;color:var(--ink3);font-family:var(--font-en);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bw-body{padding:18px 18px 20px;background:linear-gradient(180deg,#fff,var(--bg3))}
.bw-k{font-size:10.5px;font-weight:600;letter-spacing:.14em;color:var(--red);font-family:var(--font-en)}
.bw-title{font-size:18px;font-weight:700;margin-top:6px;letter-spacing:-.01em}
.bw-sub{font-size:12px;color:var(--ink3);margin-top:2px}
.bw-five{display:flex;gap:8px;align-items:flex-end;height:64px;margin-top:16px}
.bw-five i{flex:1;border-radius:4px 4px 2px 2px;background:linear-gradient(180deg,var(--red2),var(--red));transform:scaleY(0);transform-origin:bottom;animation:bwgrow .9s var(--ease) both}
@keyframes bwgrow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
.bw-rows{margin-top:14px;border-top:1px solid var(--line)}
.bw-row{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:12.5px}
.bw-row:last-child{border-bottom:none}
.bw-row span{color:var(--ink2)}
.bw-row b{color:var(--ink);font-weight:600}
.bw-row b.red{color:var(--red)}

/* 表格（打卡记录 · Excel 式） */
.sheet{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--sh-2);overflow:hidden;text-align:left}
.sh-head{display:flex;justify-content:space-between;align-items:center;padding:11px 16px;background:var(--bg2);border-bottom:1px solid var(--line);font-weight:600;font-size:13px}
.sh-head .sh-tag{font-size:10.5px;font-weight:600;letter-spacing:.1em;color:var(--ink3);font-family:var(--font-en)}
.sheet-tbl-scroll{overflow-x:auto}
table.sheet-tbl{width:100%;border-collapse:collapse;font-size:12px;min-width:360px}
table.sheet-tbl th{background:var(--bg2);text-align:left;padding:8px 14px;font-size:10.5px;letter-spacing:.08em;color:var(--ink3);border-bottom:1px solid var(--line);font-family:var(--font-en);white-space:nowrap}
table.sheet-tbl td{padding:9px 14px;border-bottom:1px solid var(--line);color:var(--ink2);white-space:nowrap}
table.sheet-tbl td b{color:var(--ink);font-weight:600}
table.sheet-tbl tr:nth-child(even) td{background:rgba(0,0,0,.015)}
.sheet .ok{color:#2f9e44;font-weight:700}
.sheet .todo{color:#c3a14a;font-weight:700}

/* 图表描线（雷达/折线） */
.dw{stroke-dasharray:1400;stroke-dashoffset:1400;transition:stroke-dashoffset 1.2s var(--ease) calc(var(--i,0)*120ms)}
.in .dw{stroke-dashoffset:0}
.radar-wrap{max-width:420px;margin:0 auto}
.wuv5{display:grid;grid-template-columns:1fr;gap:14px;margin-top:40px}
@media(min-width:860px){.wuv5{grid-template-columns:repeat(5,1fr);gap:20px;margin-top:52px}}
.wuv5 .w{border-top:1px solid var(--line);padding-top:16px}
.wuv5 .w b{font-size:15.5px;font-weight:600}
.wuv5 .w p{font-size:13px;color:var(--ink2);margin-top:6px;line-height:1.8}
.miniline{max-width:360px;margin:0 auto}

/* 微信手机窗 */
.phone{width:min(300px,100%);aspect-ratio:9/16;background:var(--bg2);border-radius:34px;border:1px solid var(--line2);box-shadow:var(--sh-2);overflow:hidden;display:flex;flex-direction:column;margin:0 auto;text-align:left}
.pbar{display:flex;align-items:center;justify-content:center;padding:11px;background:rgba(255,255,255,.85);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);font-size:13px;font-weight:600;flex-shrink:0}
.pchat{flex:1;overflow:hidden;display:flex;flex-direction:column;padding:12px 12px 16px}
.psep{display:flex;align-items:center;gap:8px;color:var(--ink3);font-size:10px;margin:8px 0;flex-shrink:0}
.psep::before,.psep::after{content:"";flex:1;height:1px;background:var(--line2)}
.pmsg{display:flex;align-items:flex-end;gap:6px;margin:5px 0;flex-shrink:0}
.pmsg.me{justify-content:flex-end}
.pav{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0;color:#fff;background:linear-gradient(135deg,#ffd60a,#ff9500)}
.pav.th{background:#fff;color:var(--ink);border:1px solid var(--line)}
.pb{max-width:80%;padding:8px 12px;font-size:13px;line-height:1.5;border-radius:16px;background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.05)}
.pmsg.me .pb{background:#95ec69;color:#1a1a1a;border-bottom-right-radius:5px}
.pmsg.th .pb{border-bottom-left-radius:5px}
.pmsg.noav{padding-left:36px}
.pnote{margin-top:14px;text-align:center;font-size:11.5px;color:var(--ink3)}

/* 家长看得见 / 找到我们 双栏 */
.split-r{display:grid;gap:44px;align-items:center}
@media(min-width:960px){.split-r{grid-template-columns:1fr 1fr}}
.find-list{display:grid;gap:26px}
.find-row{border-top:1px solid var(--line);padding-top:18px}
.find-row .f-no{font-family:var(--font-en);font-size:11px;font-weight:600;letter-spacing:.14em;color:var(--red)}
.find-row h4{font-size:17px;margin:8px 0 4px}
.find-row p{font-size:14.5px;color:var(--ink2);line-height:1.9}
.find-row p b{color:var(--ink)}
.pholder{position:relative;border:1.5px dashed var(--line2);border-radius:var(--r-xl);aspect-ratio:4/3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--ink3);background:var(--bg3)}
.pholder svg{width:44px;height:44px;stroke:currentColor;fill:none;stroke-width:1.4}
.pholder span{font-size:12.5px;letter-spacing:.06em}
.pimg{position:relative;border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-2)}
.pimg img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:grayscale(.12)}
.pimg .pimg-cap{position:absolute;left:12px;bottom:12px;background:var(--glass-bg-strong);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);backdrop-filter:blur(var(--glass-blur)) saturate(180%);border:1px solid var(--glass-line);border-radius:12px;padding:8px 14px;font-size:12px;font-weight:600;color:var(--ink)}
.pimg .pimg-cap small{display:block;font-size:10.5px;font-weight:400;color:var(--ink3);margin-top:1px}

/* CTA */
.cta-sec{background:var(--dark);color:#fff;text-align:center;padding:110px 0}
.cta-sec h2{font-size:clamp(34px,6vw,64px);letter-spacing:-.03em;line-height:1.1}
.cta-sec .btn{margin-top:36px}
.cta-sec .cta-sub{margin-top:22px;font-size:13px;color:rgba(255,255,255,.65);letter-spacing:.04em}

/* 苹果式大卡片：每个板块内容收纳进一张大圆角卡片 */
.bcard{background:var(--bg2);border-radius:var(--r-frame);padding:clamp(28px,5vw,56px);box-shadow:var(--sh-1)}
.bcard .kids3{max-width:1000px;margin:0 auto}
.bcard .subj,.bcard .wuv5{max-width:1000px;margin-left:auto;margin-right:auto}

/* 苹果式横向翻页（大卡内，桌面箭头+圆点，手机滑动） */
.flip{position:relative;max-width:960px;margin:0 auto}
.flip-viewport{overflow:hidden}
.flip-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.flip-track::-webkit-scrollbar{display:none}
.flip-slide{flex:0 0 100%;scroll-snap-align:center;padding:clamp(24px,4vw,44px) clamp(12px,2vw,24px);text-align:center}
.flip-slide .fs-eyebrow{font-family:var(--font-en);font-size:12px;font-weight:600;letter-spacing:.18em;color:var(--red);margin-bottom:22px}
.flip-slide .fs-title{font-size:clamp(32px,5.6vw,58px);font-weight:700;letter-spacing:-.03em;line-height:1.16}
.flip-slide .fs-sub{font-size:clamp(15px,2vw,19px);color:var(--ink2);margin-top:20px}
.flip-nav{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:18px}
.flip-arrow{width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid var(--line);color:var(--ink);font-size:18px;display:flex;align-items:center;justify-content:center;transition:all .3s var(--ease);cursor:pointer}
.flip-arrow:hover{color:var(--red);border-color:var(--ink);transform:scale(1.05)}
.flip-arrow:active{transform:scale(.94)}
.flip-dots{display:flex;gap:8px}
.flip-dots i{width:7px;height:7px;border-radius:50%;background:var(--bg4);cursor:pointer;transition:all .3s var(--ease)}
.flip-dots i.on{width:22px;border-radius:99px;background:var(--red)}

/* 金句带（白底大字过渡） */
.quote-band{padding:clamp(90px,14vw,150px) 24px;text-align:center;background:var(--bg)}
.quote-band p{font-size:clamp(30px,6vw,66px);font-weight:700;letter-spacing:-.03em;line-height:1.2}

/* 整年闭环数字条 */
.loop-nums{display:flex;justify-content:center;gap:clamp(40px,9vw,110px);flex-wrap:wrap;margin-top:60px}
.loop-nums .ln{text-align:center}
.loop-nums b{font-family:var(--font-en);font-size:clamp(44px,6.5vw,76px);font-weight:700;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.loop-nums span{display:block;font-size:14px;font-weight:600;color:var(--ink2);margin-top:12px}

/* 家长引语（大字） */
.par-q{max-width:840px;margin:48px auto 0;text-align:center}
.par-q p{font-size:clamp(20px,3.2vw,34px);font-weight:600;line-height:1.7;letter-spacing:-.01em}
.par-q small{display:block;margin-top:18px;font-size:12px;letter-spacing:.16em;color:var(--ink3);font-family:var(--font-en)}

/* ============================================================
   V9 重构：灰底白卡（苹果）· 产品展示 · 翻页内配图
   ============================================================ */
body{background:var(--bg2)}
.bcard{background:#fff}
.acc-panel{background:#fff}
.quote-band{background:var(--bg2)}

/* 产品展示网格（白卡） */
.prod-grid{display:grid;gap:18px;max-width:1120px;margin:0 auto}
@media(min-width:720px){.prod-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.prod-grid{grid-template-columns:repeat(4,1fr)}}
.prod{background:#fff;border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-1);display:flex;flex-direction:column;transition:transform .45s var(--ease),box-shadow .45s ease}
.prod:hover{transform:translateY(-5px);box-shadow:var(--sh-2)}
.prod .prod-img{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--bg3)}
.prod .prod-img img{width:100%;height:100%;object-fit:cover;object-position:top}
.prod .prod-body{padding:20px 22px 24px;display:flex;flex-direction:column;gap:6px;flex:1}
.prod .prod-body .p-no{font-family:var(--font-en);font-size:11px;font-weight:600;letter-spacing:.16em;color:var(--red)}
.prod .prod-body h3{font-size:21px;font-weight:700;letter-spacing:-.015em}
.prod .prod-body p{font-size:13.5px;color:var(--ink2);line-height:1.8}
.prod--type .prod-body{padding:clamp(26px,3vw,36px);justify-content:center;text-align:center;gap:10px}
.prod--type .prod-body .ghost{font-family:var(--font-en);font-size:clamp(44px,5vw,66px);font-weight:700;letter-spacing:-.03em;line-height:1;color:rgba(29,29,31,.06)}

/* 家长看得见：翻页内图片 / 文档 */
.fs-img{max-width:280px;margin:24px auto 0;border-radius:16px;overflow:hidden;box-shadow:var(--sh-2)}
.fs-img img{width:100%;display:block}
.doc{max-width:280px;margin:24px auto 0;background:#fff;border-radius:16px;box-shadow:var(--sh-2);padding:18px 20px;text-align:left}
.doc .d-k{font-size:10.5px;font-weight:600;letter-spacing:.14em;color:var(--red);font-family:var(--font-en);margin-bottom:8px}
.doc .d-t{font-size:16px;font-weight:700;margin-bottom:12px}
.doc .d-row{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:12.5px}
.doc .d-row span{color:var(--ink2)}
.doc .d-row b{color:var(--ink);font-weight:600}
.doc .d-note{margin-top:13px;font-size:11.5px;color:var(--ink3);text-align:center}

/* ============================================================
   V9 苹果 Mac 页复刻：产品卡 / 多卡横滑 / 图片卡 / 反色数字
   ============================================================ */
/* 多卡横向轮播 */
.hcar{position:relative}
.hcar-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:6px 2px 10px}
.hcar-track::-webkit-scrollbar{display:none}
.hcar-nav{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:16px}
.hcar-arrow{width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid var(--line);color:var(--ink);font-size:18px;display:flex;align-items:center;justify-content:center;transition:all .3s var(--ease);cursor:pointer}
.hcar-arrow:hover{color:var(--red);border-color:var(--ink);transform:scale(1.05)}
.hcar-arrow:active{transform:scale(.94)}
.hcar-dots{display:flex;gap:8px}
.hcar-dots i{width:7px;height:7px;border-radius:50%;background:var(--bg4);cursor:pointer;transition:all .3s var(--ease)}
.hcar-dots i.on{width:22px;border-radius:99px;background:var(--red)}

/* 苹果产品卡（图一复刻：上文字 → 下图 → + 按钮） */
.mcard{flex:0 0 86%;scroll-snap-align:center;position:relative;background:#fff;border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-1);display:flex;flex-direction:column}
@media(min-width:720px){.mcard{flex-basis:46%}}
@media(min-width:1100px){.mcard{flex-basis:31.5%}}
.mcard .mc-top{padding:28px 26px 8px;text-align:left}
.mcard .mc-eyebrow{font-family:var(--font-en);font-size:12px;font-weight:600;letter-spacing:.12em;color:var(--ink3);display:block;margin-bottom:12px}
.mcard .mc-top h3{font-size:clamp(21px,2.4vw,25px);font-weight:700;letter-spacing:-.015em;line-height:1.25;margin-bottom:12px}
.mcard .mc-top p{font-size:13.5px;color:var(--ink2);line-height:1.8}
.mcard .mc-img{flex:1;margin-top:16px;background:var(--bg3);overflow:hidden}
.mcard .mc-img img{width:100%;height:100%;min-height:180px;object-fit:cover;object-position:top;display:block}
.mcard .mc-more{position:absolute;right:18px;bottom:18px;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.9);border:1px solid var(--line);box-shadow:var(--sh-1);display:flex;align-items:center;justify-content:center;font-size:19px;color:var(--ink);cursor:pointer;transition:all .3s var(--ease)}
.mcard .mc-more:hover{background:var(--red);color:#fff}
.mcard .mc-more.on{background:var(--red);color:#fff;transform:rotate(45deg)}

/* 家长看得见：整图卡片 + 图上文字（图三复刻） */
.see-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:6px 2px 10px}
.see-track::-webkit-scrollbar{display:none}
.see-card{flex:0 0 86%;scroll-snap-align:center;position:relative;border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-1);aspect-ratio:4/5;background:var(--bg3)}
@media(min-width:720px){.see-card{flex-basis:46%}}
@media(min-width:1100px){.see-card{flex-basis:31.5%}}
.see-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.see-card .sc-cap{position:absolute;left:0;right:0;top:0;padding:26px 26px 40px;text-align:left;background:linear-gradient(180deg,rgba(20,20,24,.6),rgba(20,20,24,0) 75%)}
.see-card .sc-cap .fs-eyebrow{font-family:var(--font-en);font-size:11px;font-weight:600;letter-spacing:.16em;color:rgba(255,255,255,.8);display:block;margin-bottom:10px}
.see-card .sc-cap .fs-title{font-size:clamp(26px,3.6vw,36px);font-weight:700;letter-spacing:-.02em;color:#fff;line-height:1.15}
.see-card .sc-cap .fs-sub{font-size:13px;color:rgba(255,255,255,.85);margin-top:8px;line-height:1.7}

/* 整年闭环：反色数字块（归入左列） */
.loop-nums-inline{margin:28px 40px 8px;background:var(--ink);color:#fff;border-radius:18px;padding:26px 18px;display:flex;justify-content:space-between;gap:10px}
.loop-nums-inline .ln{text-align:center;flex:1}
.loop-nums-inline b{font-family:var(--font-en);font-size:clamp(30px,3.4vw,44px);font-weight:700;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums;display:block}
.loop-nums-inline span{font-size:12px;color:rgba(255,255,255,.7);margin-top:8px;display:block}
@media(max-width:720px){.loop-nums-inline{margin:26px 4px 8px}}

@media (prefers-reduced-motion:reduce){
  .dw{stroke-dashoffset:0;transition:none}
  .bw-five i{transform:scaleY(1);animation:none}
}

/* ============================================================
   V9 修正 · 整年闭环 v3（复用 v6 .acc-panel 大卡片）
   只追加：手机逐行展开 / 桌面两栏 / 无边框交付物内容
   ============================================================ */
.ycpanel{position:relative}
/* 手机/默认：每行下面紧跟自己的图（互斥展开） */
.ycpanel .acc-visual{position:relative;aspect-ratio:auto;min-height:0;display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s var(--ease);background:transparent}
.ycpanel .acc-row.on + .acc-visual{grid-template-rows:1fr}
.ycpanel .yc-vis-in{overflow:hidden}
.ycpanel .acc-b{line-height:2}
.ycpanel .acc-row.on .acc-b{max-height:340px}
.ycpanel .ds-screen{padding:clamp(24px,4vw,36px)}
/* 桌面：左菜单 + 右内容（苹果式交叉淡入），内容无边框铺满右侧 */
@media(min-width:768px){
  .ycpanel .acc-row{grid-column:1;padding-left:clamp(18px,3.5vw,40px);padding-right:8px}
  .ycpanel .acc-visual{grid-column:2;grid-row:1 / -1;display:flex;align-items:center;justify-content:center;grid-template-rows:none;align-self:stretch;min-height:560px;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .5s var(--ease),transform .55s var(--ease),visibility .5s}
  .ycpanel .acc-row.on + .acc-visual{opacity:1;visibility:visible;transform:none}
  .ycpanel .yc-vis-in{overflow:visible;width:100%}
  .ycpanel .ds-screen{width:100%;max-width:440px;margin:0 auto}
}
/* 无边框实感内容（v6 浅色界面） */
.ds-screen{color:var(--ink);background:#fff;border-radius:20px;box-shadow:0 30px 70px rgba(0,0,0,.16),0 4px 18px rgba(0,0,0,.06);padding:clamp(24px,4vw,36px)}
.ds-screen .ds-k{font-size:11px;font-weight:600;letter-spacing:.16em;color:var(--red);font-family:var(--font-en)}
.ds-screen .ds-title{font-size:clamp(22px,3vw,30px);font-weight:700;margin-top:8px;letter-spacing:-.02em}
.ds-screen .ds-sub{font-size:12.5px;color:var(--ink3);margin-top:4px}
.ds-bars{display:flex;align-items:flex-end;gap:10px;height:74px;margin-top:18px;border-bottom:1px solid var(--line);padding-bottom:8px}
.ds-bars i{flex:1;border-radius:5px 5px 2px 2px;background:linear-gradient(180deg,#ff6b6b,var(--red));transform:scaleY(0);transform-origin:bottom;animation:bwgrow .9s var(--ease) both}
.ds-rows{margin-top:8px}
.ds-row{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.ds-row:last-child{border-bottom:none}
.ds-row span{color:var(--ink2)}
.ds-row b{color:var(--ink);font-weight:600}
.ds-row b.red{color:var(--red)}
.ds-table{width:100%;border-collapse:collapse;font-size:13px;min-width:340px}
.ds-table th{text-align:left;padding:10px 0;font-size:10.5px;letter-spacing:.14em;color:var(--ink3);border-bottom:1px solid var(--line2);font-family:var(--font-en)}
.ds-table td{padding:11px 0;border-bottom:1px solid var(--line);color:var(--ink2);white-space:nowrap}
.ds-table td b{color:var(--ink);font-weight:600}
.ds-table .ok{color:#7ddb9a;font-weight:700}
.ds-table .todo{color:#f0c674;font-weight:700}

/* ---------- 标题高亮（红） ---------- */
.hl{color:var(--red)}
.ch.hl{color:var(--red)}
/* ---------- 图片封面/图文封面 · 说明角标 ---------- */
.hero--image .hero-cap{position:absolute;left:22px;bottom:74px;z-index:2;font-size:11px;letter-spacing:.14em;color:rgba(255,255,255,.72);font-family:var(--font-en)}
.hero--split .cap{position:absolute;left:14px;bottom:14px;z-index:2;font-size:10.5px;letter-spacing:.12em;color:rgba(255,255,255,.9);background:rgba(20,20,24,.45);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:6px 13px;border-radius:999px;font-family:var(--font-en)}
/* ---------- 图文行（五引擎等）· 手机纵向 / 桌面左右 ---------- */
.gitem{display:grid;gap:24px;padding:34px 0;border-bottom:1px solid var(--line);align-items:center}
.gitem:first-child{padding-top:0}
.gitem .gi-img{position:relative;border-radius:0;overflow:hidden;aspect-ratio:3/4;background:var(--bg2);box-shadow:var(--sh-2)}
.gitem .gi-img img{width:100%;height:100%;object-fit:cover}
.gitem .gi-copy .eyebrow{margin-bottom:10px}
.gitem .gi-copy h3{font-size:clamp(23px,4.5vw,34px);margin-bottom:10px;letter-spacing:-.02em}
.gitem .gi-copy p{font-size:14.5px;color:var(--ink2);line-height:2;max-width:520px}
.gitem .gi-actions{margin-top:20px;display:flex;align-items:center;gap:14px}
@media(min-width:768px){
  .gitem{grid-template-columns:1.05fr .95fr;gap:60px;padding:56px 0}
  .gitem.rev .gi-img{order:2}
}


/* ============================================================
   V6.5 视觉与动效改造：玻璃体系 / 跟手 / 节奏多样性
   ============================================================ */
:root{
  --glass-bg:rgba(255,255,255,.55);
  --glass-bg-strong:rgba(245,245,247,.8);
  --glass-bg-dark:rgba(20,20,24,.55);
  --glass-line:rgba(255,255,255,.5);
  --glass-blur:20px;
  --glass-blur-lg:40px;
  --glass-sat:180%;
}

/* ---------- 焦点可见 + 按压反馈（按下即反馈） ---------- */
:focus-visible{outline:2px solid var(--red);outline-offset:3px;border-radius:4px}
@media(hover:hover) and (pointer:fine){
  .popbtn:active,.iconbtn:active,.cta-text:active,.tab:active,.sw-btn:active,
  .vs-rail button:active,.acc-row:active,.gc-head:active,.fold>button:active,
  .carousel-tip .dots i:active,.gcard:active{transform:scale(.95)}
  .minirow.open .popbtn:active{transform:rotate(45deg) scale(.95)}
}

/* ---------- 编号行（红线分隔，苹果式大编号） ---------- */
.numrow{display:grid;grid-template-columns:58px 1fr auto;gap:16px;align-items:start;padding:26px 0;border-top:1px solid rgba(195,13,35,.38)}
.numrow.minirow:first-child{border-top:1px solid rgba(195,13,35,.38)}
.numrow:last-child{border-bottom:1px solid var(--line)}
.numrow .num{font-family:var(--font-en);font-size:clamp(19px,3.6vw,28px);font-weight:700;letter-spacing:.05em;color:var(--red);line-height:1.1;padding-top:2px}
.numrow .mr-body h3{font-size:clamp(17px,2.9vw,21px);margin-bottom:6px}
.numrow .mr-body p{font-size:13.5px;color:var(--ink2);line-height:1.85}
.numrow .mr-more{grid-column:2/-1}
/* 虞老师：左侧幽灵大编号（与“三个不同”的红色编号区分） */
.numrow--ghost{grid-template-columns:84px 1fr auto}
.numrow--ghost .num{position:sticky;top:calc(var(--hd-h) + 24px);font-size:clamp(30px,6vw,44px);color:rgba(0,0,0,.1);letter-spacing:.02em}
/* about 三句话：桌面三列编号底线 */
@media(min-width:768px){
  .numrow-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
  .numrow-grid .numrow{border-top:1px solid rgba(195,13,35,.38);padding:26px 0}
}

/* ---------- 五引擎粘性堆叠（学习力体系） ---------- */
.estack{position:relative;padding-top:6px}
.es-card{position:sticky;top:calc(var(--hd-h) + 16px);display:grid;gap:18px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--r-xl);padding:16px;box-shadow:var(--sh-2)}
.es-card + .es-card{margin-top:-56px}
.es-card .es-img{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:3/4;background:var(--bg2)}
.es-card .es-img img{width:100%;height:100%;object-fit:cover}
.es-card .es-copy{padding:4px 10px 12px}
.es-card .es-no{display:block;font-family:var(--font-en);font-size:11.5px;font-weight:600;letter-spacing:.22em;color:var(--red);margin-bottom:10px}
.es-card .es-copy h3{font-size:clamp(24px,5vw,38px);margin-bottom:10px}
.es-card .es-copy p{font-size:14.5px;color:var(--ink2);line-height:2;max-width:540px}
.es-card .es-actions{margin-top:18px;display:flex;align-items:center;gap:14px}
.es-card .es-hint{font-size:12px;color:var(--ink3);letter-spacing:.1em}
@media(min-width:768px){
  .es-card{grid-template-columns:1fr 1fr;gap:46px;padding:28px}
  .es-card .es-img{aspect-ratio:3/4}
}

/* ---------- 五维诊断：大卡横向延伸（右侧露出下一张，桌面同样向右滑动） ---------- */
.swap-slide{display:grid;grid-auto-flow:column;grid-auto-columns:84%;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 22px 20px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.swap-slide::-webkit-scrollbar{display:none}
.swap-slide>*{scroll-snap-align:start}
.swap-slide + .carousel-tip{display:flex;margin-top:8px}
@media(min-width:768px){
  .swap-slide{grid-auto-columns:minmax(330px,44%);gap:28px}
  .swap{min-height:420px}
  .swap .sw-img{aspect-ratio:4/5}
}

/* ---------- tcard 三卡区：移动端横向轮播 ---------- */
@media(max-width:767px){
  .g3-slide{display:grid;grid-auto-flow:column;grid-auto-columns:80%;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 22px 18px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .g3-slide::-webkit-scrollbar{display:none}
  .g3-slide>*{scroll-snap-align:start}
}

/* ---------- 卡片悬停玻璃层（仅精确指针） ---------- */
.tcard .tc-img{position:relative;overflow:hidden}
@media(hover:hover) and (pointer:fine){
  .tcard{transition:transform .45s var(--ease),box-shadow .45s ease}
  .tcard:hover{transform:translateY(-4px);box-shadow:var(--sh-2)}
  .tcard .tc-img::after{content:"＋ 查看详情";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;letter-spacing:.18em;color:var(--ink);background:rgba(245,245,247,.6);backdrop-filter:blur(18px) saturate(170%);-webkit-backdrop-filter:blur(18px) saturate(170%);opacity:0;transition:opacity .3s ease;z-index:2}
  .tcard:hover .tc-img::after{opacity:1}
}

/* ---------- tabbar 滑动指示条 ---------- */
.tab-ind{position:absolute;bottom:0;left:0;height:3px;border-radius:3px;background:var(--red);pointer-events:none;transition:transform .35s var(--ease),width .35s var(--ease)}

/* ---------- 时间线滚动进度 ---------- */
.tl::after{content:"";position:absolute;left:15px;top:10px;bottom:10px;width:2px;background:linear-gradient(180deg,var(--red) 0%,var(--red2) 100%);transform:scaleY(var(--p,0));transform-origin:top;transition:transform .6s var(--ease);z-index:1}
.tl .tli.on .t-no{color:var(--red)}
.tl .tli.on::before{box-shadow:0 0 0 6px rgba(195,13,35,.16)}

/* ---------- hero 随滚动上移淡出（scroll-out） ---------- */
.hero--text .container,.hero--image .container,.hero--split .container{transition:opacity .5s ease,transform .7s var(--ease)}
.hero.out .container{opacity:0;transform:translateY(-26px)}

/* ---------- 弹窗滚动条补偿时的玻璃层上限 ---------- */
@media(prefers-reduced-motion:reduce){
  .rv,.hl-line>span,.ch,.vs-fade,.vs-card--front,.vs-card--prev,.acc-b,.swap .sw-front,.swap .sw-back,
  .tab-ind,.tl::after,.hero .container,.pop-card,.popover,.numrow .mr-more,.es-card,.tcard,.stat{
    opacity:1 !important;transform:none !important;transition:none !important;animation:none !important
  }
}

/* ============================================================
   V9 · 14:44 落地：CSS 实感插画（替代假图）
   ============================================================ */

/* ---- CSS 实感插画容器（取代网图占位） ---- */
.mcard .mc-illus{background:linear-gradient(165deg,#f5f5f7,#e9e9ee)}
.mc-illus{position:relative;display:flex;align-items:center;justify-content:center;min-height:236px;padding:22px 14px}

/* ---- 品格课：书籍封面（每周一课 · 全年 13 个） ---- */
.books{position:relative;display:flex;align-items:flex-end;justify-content:center;gap:6px;padding:26px 10px 30px}
.book{position:relative;width:66px;height:116px;background:#fff;border-radius:5px 12px 12px 5px;box-shadow:0 16px 34px rgba(0,0,0,.15);display:flex;flex-direction:column;justify-content:flex-end;padding:11px 10px;transform-origin:bottom center}
.book::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;border-radius:5px 0 0 5px;background:var(--red)}
.book b{font-size:14.5px;font-weight:700;color:var(--ink);line-height:1.25;letter-spacing:-.01em}
.book small{font-size:8.5px;letter-spacing:.14em;color:var(--ink3);margin-top:5px;font-family:var(--font-en)}
.book.b1{transform:rotate(-9deg) translateY(7px);z-index:1}
.book.b2{transform:rotate(-3deg) translateY(2px);z-index:2}
.book.b3{transform:rotate(3deg) translateY(2px);z-index:3}
.book.b4{transform:rotate(9deg) translateY(7px);z-index:4}
.books-more{position:absolute;right:12px;bottom:12px;font-family:var(--font-en);font-size:10px;letter-spacing:.14em;color:var(--ink3);background:rgba(255,255,255,.75);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:4px 10px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line)}

/* ---- 自习室：一日作息表（9:00-17:30） ---- */
.desk{width:100%;max-width:286px;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 18px 44px rgba(0,0,0,.16)}
.desk-top{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:linear-gradient(160deg,#1d1d1f,#2b2b30);color:#fff}
.desk-clock{display:flex;align-items:baseline;gap:7px}
.desk-clock b{font-size:25px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.desk-clock small{font-size:11px;color:rgba(255,255,255,.58)}
.desk-tag{font-size:10px;letter-spacing:.12em;background:var(--red);color:#fff;padding:4px 11px;border-radius:999px}
.desk-rows{padding:4px 16px 10px}
.desk-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:12px}
.desk-row:last-child{border-bottom:none}
.desk-row span{color:var(--ink3);font-family:var(--font-en);font-size:11px;font-variant-numeric:tabular-nums}
.desk-row b{font-weight:600;color:var(--ink)}

/* ---- 家长辅导：微信聊天窗（每日反馈） ---- */
.chat{width:100%;max-width:284px;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 18px 44px rgba(0,0,0,.16)}
.ch-head{display:flex;align-items:center;gap:10px;padding:11px 14px;background:#fafafa;border-bottom:1px solid var(--line)}
.ch-ava{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--red),#ff7a85);flex-shrink:0}
.ch-head b{font-size:13px;display:block;line-height:1.25}
.ch-head small{font-size:10px;color:var(--ink3)}
.ch-body{background:#ececf0;padding:12px 11px 10px;display:flex;flex-direction:column;gap:8px}
.ch-msg{max-width:80%;padding:8px 11px;border-radius:12px;font-size:11.5px;line-height:1.55;position:relative}
.ch-msg p{margin:0;color:var(--ink)}
.ch-msg i{display:block;font-style:normal;font-size:8.5px;color:var(--ink3);margin-top:3px}
.ch-msg.in{background:#fff;border-top-left-radius:4px;align-self:flex-start}
.ch-msg.in i{text-align:right}
.ch-msg.out{background:#95ec69;border-top-right-radius:4px;align-self:flex-end}
.ch-msg.out i{text-align:left}

/* ---- 线上课：视频播放器（方法四件） ---- */
.vid{width:100%;max-width:296px;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 18px 44px rgba(0,0,0,.16)}
.vid-screen{position:relative;aspect-ratio:16/10;background:linear-gradient(160deg,#26262b,#0f0f12);display:flex;align-items:center;justify-content:center}
.vid-play{width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.94);display:flex;align-items:center;justify-content:center;color:var(--ink);font-size:16px;padding-left:5px;box-shadow:0 12px 30px rgba(0,0,0,.42);cursor:pointer;transition:transform .3s var(--ease)}
.vid-play:hover{transform:scale(1.07)}
.vid-bar{position:absolute;left:0;right:0;bottom:0;height:4px;background:rgba(255,255,255,.18)}
.vid-bar i{display:block;height:100%;width:46%;background:var(--red);border-radius:0 4px 4px 0}
.vid-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 16px}
.vid-meta b{font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vid-meta small{font-size:10px;color:var(--ink3);white-space:nowrap}

@media(prefers-reduced-motion:reduce){.marquee-track{animation:none}}

/* ---- 页脚：公开页与法律文档入口 ---- */
.footer .f-legal{
  display:flex;
  flex-wrap:wrap;
  gap:14px 26px;
  margin-top:20px;
  font-size:14px;
  line-height:1.7;
  color:#a1a1a6
}
.footer .f-legal a{
  color:#f5f5f7
}
.footer .f-legal a:hover{
  color:#ff4757
}
