
/* ============ 基础变量 ============ */
:root{
  --bg:#f4efe3;
  --card:#fffdf7;
  --card2:#f7f3e6;
  --text:#1d2333;
  --text2:#5a6376;
  --text3:#8b93a7;
  --primary:#4f6ef7;
  --primary-soft:rgba(79,110,247,.12);
  --primary-grad:linear-gradient(135deg,#4f6ef7,#7b4ff7);
  --line:#e6dec9;
  --shadow:0 8px 30px rgba(90,84,64,.10);
  --shadow-lg:0 20px 50px rgba(90,84,64,.16);
  --r-lg:14px;
  --r-sm:10px;
  --rad: #ff7a9c;
}
html[data-theme="dark"]{
  --bg:#0f1420;
  --card:#1a2130;
  --card2:#141a26;
  --text:#eef1f8;
  --text2:#b6bed1;
  --text3:#7c86a0;
  --line:#283044;
  --primary-soft:rgba(79,110,247,.18);
  --shadow:0 8px 30px rgba(0,0,0,.4);
  --shadow-lg:0 20px 50px rgba(0,0,0,.5);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  background:var(--bg);color:var(--text);
  line-height:1.7;-webkit-font-smoothing:antialiased;
  transition:background .3s ease,color .3s ease;
  overflow-x:hidden;
}
/* ===== 全站纸面风格统一（参考课件中心）：米黄纸面渐变 + 方格纹理（仅浅色主题） ===== */
html:not([data-theme="dark"]) body{background:radial-gradient(circle at 50% 0%, #f4efe3 0%, #e6dfcf 62%, #d9d2c0 100%) fixed}
html:not([data-theme="dark"]) body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;
  background-image:linear-gradient(rgba(61,70,66,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(61,70,66,.05) 1px,transparent 1px);
  background-size:22px 22px}
.container{max-width:1180px;margin:0 auto;padding:0 24px}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
section{scroll-margin-top:76px}

/* ============ 顶部导航 ============ */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;height:70px;
  background:transparent;
  border-bottom:1px solid transparent;
  transition:background .3s,border-color .3s,box-shadow .3s;
}
/* 滚动后变白底（暗色主题下变深色实色） */
.nav.scrolled{
  background:rgba(255,253,247,.96);backdrop-filter:blur(8px);
  border-bottom-color:var(--line);box-shadow:0 4px 24px rgba(90,84,64,.10);
}
html[data-theme="dark"] .nav.scrolled{background:rgba(15,20,32,.96)}
/* 子页面导航栏：始终白底黑字（不受深色主题影响），固定顶部 */
.nav.nav-static{background:#fffdf7;border-bottom:1px solid rgba(61,70,66,.15);box-shadow:0 2px 10px rgba(90,84,64,.08)}
.nav.nav-static:not(.scrolled) .nav-links a{color:#1f2430;text-shadow:none}
.nav.nav-static:not(.scrolled) .nav-links a:hover{color:var(--primary);background:rgba(79,110,247,.10);text-shadow:none}
.nav.nav-static .brand-logo{filter:none}
.nav.nav-static .brand small{color:#7a8290}
.nav.nav-static .burger span{background:#1f2430}
.nav.nav-static .btn-outline{color:var(--primary);border-color:var(--primary);text-shadow:none}
/* 顶部透明状态：logo 多层投影堆叠出 3D 浮雕感(上高光+近深影+远软影) */
.nav:not(.scrolled) .nav-links a{color:rgba(255,255,255,.92);text-shadow:0 -1px 0 rgba(255,255,255,.55),1px 2px 2px rgba(5,10,35,.75),2px 5px 7px rgba(5,10,35,.4)}
.nav:not(.scrolled) .nav-links a:hover{color:#fff;background:rgba(255,255,255,.12);text-shadow:0 -1px 0 rgba(255,255,255,.65),1px 2px 2px rgba(5,10,35,.8),2px 5px 8px rgba(5,10,35,.45)}
.nav:not(.scrolled) .brand-logo{filter:drop-shadow(-1px -1px 1px rgba(255,255,255,.75)) drop-shadow(2px 3px 1px rgba(5,10,35,.7)) drop-shadow(4px 8px 7px rgba(5,10,35,.4))}
.nav:not(.scrolled) .burger span{background:#fff}
.nav-inner{height:70px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:20px;letter-spacing:.5px;border-radius:14px;transition:background .3s,box-shadow .3s,padding .3s}
.brand .logo{
  width:38px;height:38px;border-radius:12px;display:grid;place-items:center;
  background:var(--primary-grad);color:#fff;font-weight:900;box-shadow:0 6px 16px rgba(79,110,247,.35);
}
.brand .logo span{transform:scale(1.1)}
.brand-logo{height:62px;width:auto;object-fit:contain;display:block;max-width:300px}
.footer .brand-logo{height:40px}
.brand b{color:var(--primary)}
.brand small{display:block;font-size:11px;font-weight:600;color:var(--text3);letter-spacing:2px}
.nav-links{display:flex;gap:6px;align-items:center}
/* 导航文字：圆润粗体 + 浮雕阴影，与 logo 的 3D 风格统一 */
.nav-links a{font-family:'Baloo 2','ZCOOL KuaiLe','PingFang SC','Microsoft YaHei',sans-serif;font-weight:700;letter-spacing:.5px}
.nav-links a{
  padding:8px 14px;border-radius:10px;font-size:19px;color:var(--text2);font-weight:600;transition:.2s;
}
.nav-links a:hover{color:var(--primary);background:var(--primary-soft)}
.nav-actions{display:flex;align-items:center;gap:10px}
.btn{
  display:inline-flex;align-items:center;gap:8px;padding:12px 26px;border-radius:12px;
  font-weight:700;font-size:15px;border:none;cursor:pointer;transition:.25s;white-space:nowrap;
}
.btn-primary{background:var(--primary-grad);color:#fff;box-shadow:0 8px 22px rgba(79,110,247,.35)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(79,110,247,.45)}
/* 导航 CTA：透明背景 + 线条围绕；透明导航态用白线白字，滚动白底后用蓝线蓝字 */
.btn-outline{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.85);font-size:16px;font-family:'Baloo 2','ZCOOL KuaiLe','PingFang SC','Microsoft YaHei',sans-serif;text-shadow:0 -1px 0 rgba(255,255,255,.4),1px 2px 2px rgba(5,10,35,.6)}
.btn-outline:hover{border-color:#fff;background:rgba(255,255,255,.12);transform:translateY(-2px)}
.nav.scrolled .btn-outline{color:var(--primary);border-color:var(--primary);text-shadow:none}
.nav.scrolled .btn-outline:hover{background:var(--primary-soft)}
.btn-ghost{background:var(--card);color:var(--text);border:1px solid var(--line)}
.btn-ghost:hover{border-color:var(--primary);color:var(--primary)}
.btn-white{background:#fff;color:#2b2f3a;box-shadow:0 8px 22px rgba(0,0,0,.14)}
.btn-white:hover{transform:translateY(-2px)}
.burger{display:none;width:42px;height:42px;border:none;background:transparent;cursor:pointer}
.burger span{display:block;width:22px;height:2px;background:var(--text);margin:5px auto;border-radius:2px;transition:.3s}

/* ============ Hero 动画背景 ============ */
.hero{position:relative;height:100vh;display:flex;align-items:center;padding:0;overflow:hidden;background:transparent}
.hero-bg{position:absolute;inset:0;z-index:0}
/* 背景板全显视频 + 前置点点遮罩(参考站同款网格点阵) */
.hero-bg video{position:absolute;inset:0;width:100%;height:100%;min-width:100%;min-height:100%;max-width:none;max-height:none;object-fit:cover;filter:saturate(1.1) brightness(1);opacity:1;background:#000}
html[data-theme="dark"] .hero-bg video{filter:saturate(1) brightness(.85);opacity:1;}
.hero-dots{position:absolute;inset:0;z-index:1;pointer-events:none;
  background-color:rgba(0,0,0,.5);
  background-image:url(assets/dot-pattern.png);
  background-repeat:repeat;}
/* 点线方格层已按需求移除，背景仅保留动画临时图 */
/* 点线方格之上的漂浮光斑与星星由 hero-anim.svg(SMIL 动画临时图)承载 */
@keyframes float{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-40px,40px) scale(1.12)}}
.star{position:absolute;background:#fff;border-radius:50%;animation:twinkle 3s ease-in-out infinite}
@keyframes twinkle{0%,100%{opacity:.15}50%{opacity:.9}}
.hero-inner{position:relative;z-index:2;color:#fff}
/* ============ Hero 文案（保留现有结构）============ */
.hero-type{position:relative;padding-left:clamp(6px,2vw,40px)}
/* Hero 顶部品牌——竖版 logo 图，底部与打字机基线对齐 */
.hero-brand{display:flex;align-items:flex-end;gap:clamp(14px,2vw,26px);margin-bottom:8px;padding-left:clamp(6px,2vw,40px);position:relative;z-index:3}
.hero-logo-img{width:clamp(110px,14vw,170px);height:auto;object-fit:contain;
  filter:drop-shadow(0 6px 20px rgba(0,0,0,.35));display:block;flex-shrink:0}
.ht-line{color:#fff;font-size:clamp(28px,4.4vw,52px);font-weight:900;line-height:1.25;letter-spacing:1px;white-space:pre-wrap;
  font-family:'ZCOOL KuaiLe','Baloo 2',"Microsoft YaHei",sans-serif;min-height:1.25em;text-shadow:0 2px 12px rgba(0,0,0,.3)}
/* logo 右侧标语：较小字号、底部与 logo 基线对齐 */
.ht-line.ht-side{font-size:clamp(18px,2.6vw,30px);font-weight:800;white-space:nowrap;padding-bottom:6px;min-height:0}
.ht-line + .ht-line{margin-top:14px}
.ht-cursor{display:inline-block;width:2px;height:1em;background:#fff;margin-left:4px;vertical-align:bottom;animation:blinkC .9s step-end infinite}
@keyframes blinkC{0%,100%{opacity:1}50%{opacity:0}}

/* ============ About US 时间线区（完整复刻 UI/index.html 风格）============ */
.intro-section{background:radial-gradient(circle at 50% 0%, #f4efe3 0%, #e6dfcf 62%, #d9d2c0 100%);padding:64px 0 56px;}
.intro-wrap{max-width:1180px;margin:0 auto;padding:0 24px}
/* SVG 桌面画板 */
.intro-board{width:100%;height:auto;display:block;border-radius:20px;
  box-shadow:0 26px 60px rgba(90,84,64,.28),0 0 0 1px rgba(61,70,66,.08);}
/* SVG 内嵌文字样式 */
.iStar{font-size:19px;fill:#dfa22f;opacity:.9}
.iY{font-size:46px;font-weight:700;fill:#dfa22f;letter-spacing:1px}
.iT{font-size:18px;font-weight:700;fill:#3d4642;letter-spacing:1.2px}
.iD{font-size:14.5px;fill:#5a635e;opacity:.9;letter-spacing:.6px}
.iBrand{font-size:32px;font-weight:800;fill:#4f6ef7;letter-spacing:3px}
.iSub{font-size:15px;fill:#5cab93;letter-spacing:3.4px}
.iBadge{font-size:15px;font-weight:700;fill:#3d4642;letter-spacing:2px}
.iQuote{font-size:15px;font-weight:600;fill:#5a635e;letter-spacing:1.5px}
.iFoot{font-size:17px;fill:#3d4642;letter-spacing:2px}
.iFootEn{font-size:10.5px;fill:#9aa29c;letter-spacing:2.6px}
/* 手机版（默认隐藏，≤820px 显示） */
.intro-mobile{display:none}
@media (max-width:820px){
  .intro-board.desktop{display:none}
  .intro-mobile{display:block;background:linear-gradient(160deg,#ffffff 0%,#fdfbf5 55%,#f8f4ea 100%);border-radius:20px;overflow:hidden;
    box-shadow:0 20px 44px rgba(90,84,64,.22),0 0 0 1px rgba(61,70,66,.08);position:relative;padding:34px 22px 30px}
  .intro-mobile::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(61,70,66,.06) 1px,transparent 1px);background-size:3px 3px;pointer-events:none}
  .m-head{text-align:center;position:relative;z-index:2;margin-bottom:8px}
  .m-head h1{display:inline-block;margin:0;font-size:22px;letter-spacing:2px;color:#3d4642;padding:9px 20px;border:1.6px dashed rgba(61,70,66,.45);border-radius:120px;font-weight:700;background:rgba(255,255,255,.7)}
  .m-head p{margin:14px 0 0;font-size:11.5px;letter-spacing:3px;color:#5cab93}
  .m-chips{display:flex;max-width:280px;margin:14px auto 0;justify-content:center;flex-wrap:wrap;gap:9px;position:relative;z-index:2}
  .m-chips span{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;color:#3d4642;background:#fff;border:1.4px solid rgba(61,70,66,.22);border-radius:999px;padding:5px 11px}
  .m-chips svg{width:17px;height:17px;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
  .m-chips .c1 svg{stroke:#7a9ec9}.m-chips .c2 svg{stroke:#5cab93}.m-chips .c3 svg{stroke:#e88b6d}.m-chips .c4 svg{stroke:#a58fc2}
  .m-keys{display:flex;max-width:300px;margin:9px auto 0;justify-content:center;flex-wrap:wrap;gap:7px;position:relative;z-index:2}
  .m-keys span{font-size:11px;font-weight:700;color:#5a635e;border:1.3px dashed rgba(61,70,66,.4);border-radius:999px;padding:4px 10px;background:rgba(255,255,255,.7)}
  .m-quote{max-width:320px;margin:12px auto 0;font-size:11.5px;line-height:1.8;color:#5a635e;text-align:center;position:relative;z-index:2}
  .m-timeline{position:relative;z-index:2;margin-top:26px;padding-left:34px}
  .m-timeline::before{content:"";position:absolute;left:9px;top:8px;bottom:34px;border-left:2px dashed rgba(61,70,66,.32)}
  .m-item{position:relative;padding:0 0 30px 16px}
  .m-item::before{content:"";position:absolute;left:-31px;top:12px;width:13px;height:13px;border-radius:50%;background:#fffdf7;border:2.5px solid #dfa22f;box-shadow:0 0 0 4px rgba(223,162,47,.16)}
  .m-item:last-child{padding-bottom:6px}.m-item:last-child::before{background:#dfa22f;box-shadow:0 0 0 5px rgba(223,162,47,.22)}
  .m-year{font-size:31px;font-weight:700;color:#dfa22f;letter-spacing:1px;line-height:1}
  .m-year span{font-size:13px;color:#9aa29c;letter-spacing:2px;margin-left:8px}
  .m-tag{margin-top:10px;font-size:16.5px;font-weight:700;color:#3d4642;letter-spacing:1px}
  .m-tag::before{content:"★";color:#dfa22f;font-size:12px;margin-right:7px;vertical-align:2px}
  .m-desc{margin-top:7px;font-size:13.5px;line-height:1.75;color:#5a635e}
  .m-foot{position:relative;z-index:2;margin-top:22px;padding-top:18px;border-top:1px dashed rgba(61,70,66,.3);display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px}
  .m-foot b{font-size:13px;color:#3d4642;font-weight:700;letter-spacing:1px}
  .m-foot i{font-style:normal;font-size:12px;color:#dfa22f;letter-spacing:1px}
}

/* ============ 区块标题 ============ */
.section{padding:96px 0}
.sec-head{text-align:center;max-width:680px;margin:0 auto 56px}
.sec-head .tag{
  display:inline-block;padding:6px 16px;border-radius:30px;font-size:13px;font-weight:700;color:var(--primary);
  background:var(--primary-soft);margin-bottom:16px;letter-spacing:1px;
}
.sec-head h2{font-size:clamp(26px,3.6vw,40px);font-weight:900;line-height:1.25;letter-spacing:.5px}
.sec-head p{color:var(--text2);margin-top:16px;font-size:16px}
.sec-head .grad{background:var(--primary-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}

/* ============ 通用卡片区 ============ */
.grid{display:grid;gap:24px}
.g3{grid-template-columns:repeat(3,1fr)}
.g2{grid-template-columns:repeat(2,1fr)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:32px;transition:transform .3s,box-shadow .3s}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.icon-orb{
  width:58px;height:58px;border-radius:16px;display:grid;place-items:center;font-size:26px;margin-bottom:20px;
  background:var(--primary-soft);color:var(--primary);
}
.card h3{font-size:21px;font-weight:800;margin-bottom:10px}
.card p{color:var(--text2);font-size:15px}

/* ============ 为什么选择 IBkids（能力/价值） ============ */
.value .card .tagline{color:var(--primary);font-weight:700;font-size:14px;margin-bottom:6px}

/* ============ 关于 ============ */
.about{background:var(--card);border-block:1px solid var(--line)}
.about-wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
.about-visual{display:flex;flex-direction:column;gap:16px}
.about-visual img{border-radius:var(--r-lg);box-shadow:var(--shadow-lg);height:280px;width:100%;object-fit:cover}
.about-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.about-cards .mini{background:var(--card2);border-radius:var(--r-sm);padding:18px}
.about-cards .mini em{font-style:normal;color:var(--primary);font-weight:900;font-size:24px}
.about-cards .mini div{font-size:13px;color:var(--text2);margin-top:4px}
.about h2{font-size:clamp(26px,3.4vw,38px);font-weight:900;line-height:1.3;margin-bottom:20px}
.about p{color:var(--text2);margin-bottom:16px}
.about-meta{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.pill{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:30px;background:var(--primary-soft);color:var(--primary);font-weight:600;font-size:14px}

/* ============ 理念介绍（键盘输入风格） ============ */
.philosophy{background:var(--card);border-block:1px solid var(--line)}
.philosophy-wrap{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:center}
.philosophy-text .tagline{display:inline-block;padding:6px 16px;border-radius:30px;font-size:13px;font-weight:700;color:var(--primary);background:var(--primary-soft);margin-bottom:16px;letter-spacing:1px}
.philosophy-text h2{font-size:clamp(24px,3.2vw,36px);font-weight:900;line-height:1.3;margin-bottom:18px}
.philosophy-text p{color:var(--text2);font-size:15px}
.terminal{
  background:#0d1322;border-radius:var(--r-lg);box-shadow:0 24px 60px rgba(10,16,40,.45);
  overflow:hidden;position:relative;border:1px solid rgba(255,255,255,.08);
  font-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;
}
html[data-theme="dark"] .terminal{box-shadow:0 24px 60px rgba(0,0,0,.5)}
.t-title{display:flex;align-items:center;gap:6px;padding:13px 16px;background:rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.08)}
.t-title .d{width:11px;height:11px;border-radius:50%}
.t-title .d.d1{background:#ff5f57}.t-title .d.d2{background:#febc2e}.t-title .d.d3{background:#28c840}
.t-title .fname{margin-left:8px;font-size:12px;color:#7c86a0;letter-spacing:.5px}
.t-body{padding:22px 24px 26px;min-height:270px;color:#d7e2ff;font-size:15px;line-height:1.9}
.t-line{display:flex;gap:10px;white-space:pre-wrap}
.t-prompt{color:#7b4ff7;font-weight:700;flex-shrink:0}
.t-prompt i{font-style:normal;color:#4f6ef7}
.t-out{color:#8b93a7}
.t-cursor{display:inline-block;width:9px;height:17px;background:#9db3ff;margin-left:2px;vertical-align:text-bottom;animation:blinkC .9s step-end infinite}
@keyframes blinkC{0%,100%{opacity:1}50%{opacity:0}}
.t-cursor.done{animation:none;opacity:0}
.t-enter{color:#57627e;font-size:14px;flex-shrink:0;opacity:.7}

/* ============ 培养体系 ============ */
.system-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;position:relative}
.step{text-align:center;position:relative}
.step .num{
  width:64px;height:64px;margin:0 auto 16px;border-radius:20px;display:grid;place-items:center;
  font-size:26px;font-weight:900;background:var(--primary-grad);color:#fff;box-shadow:0 10px 26px rgba(79,110,247,.35);
  position:relative;z-index:2;
}
.step:not(:last-child)::after{
  content:"";position:absolute;top:32px;right:-24px;width:48px;height:2px;
  background:repeating-linear-gradient(90deg,var(--primary) 0 6px,transparent 6px 12px);opacity:.4;
}
.step h4{font-size:17px;font-weight:800;margin-bottom:6px}
.step p{font-size:13.5px;color:var(--text2)}

/* ============ 课程卡片 ============ */
.course-card{display:flex;flex-direction:column;overflow:hidden;padding:0}
.course-head{padding:0}
.course-head img{width:100%;height:190px;object-fit:cover;transition:transform .5s}
.course-card:hover .course-head img{transform:scale(1.05)}
.course-body{padding:26px 28px;display:flex;flex-direction:column;flex:1}
.course-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}
.course-top h3{font-size:22px;font-weight:900}
.age-tag{flex-shrink:0;font-size:12px;font-weight:700;color:var(--primary);background:var(--primary-soft);padding:5px 12px;border-radius:30px}
.course-feats{list-style:none;margin:6px 0 18px}
.course-feats li{display:flex;gap:10px;color:var(--text2);font-size:14.5px;padding:6px 0;align-items:flex-start}
.course-feats li::before{content:"✓";color:var(--primary);font-weight:900;flex-shrink:0}
.course-tabs{display:flex;background:var(--card2);border-radius:12px;padding:4px;margin-top:auto}
.course-tabs button{
  flex:1;padding:9px 4px;border:none;background:transparent;border-radius:9px;cursor:pointer;
  font-size:13.5px;font-weight:700;color:var(--text3);transition:.25s;font-family:inherit;
}
.course-tabs button.active{background:#fff;color:var(--primary);box-shadow:0 4px 14px rgba(30,40,80,.10)}
html[data-theme="dark"] .course-tabs button.active{background:var(--card);}
.course-panel{margin-top:16px;min-height:96px;color:var(--text2);font-size:14px}
.course-panel ul{list-style:none}
.course-panel li{display:flex;gap:10px;align-items:flex-start;padding:7px 0;border-bottom:1px dashed var(--line);font-size:14px}
.course-panel li::before{content:"•";color:var(--primary);font-weight:900;flex-shrink:0}
.course-panel li:last-child{border-bottom:none}
.course-panel p{font-size:14px}

/* ============ 特色优势 ============ */
.feature-wrap{display:grid;grid-template-columns:320px 1fr;gap:40px;align-items:start}
.feature-nav{position:sticky;top:96px;display:flex;flex-direction:column;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px;box-shadow:var(--shadow)}
.feature-nav button{
  display:flex;align-items:center;gap:14px;padding:16px;border:none;border-radius:12px;background:transparent;
  cursor:pointer;text-align:left;transition:.25s;font-family:inherit;
}
.feature-nav button .fi{width:44px;height:44px;flex-shrink:0;border-radius:12px;display:grid;place-items:center;font-size:20px;background:var(--card2);color:var(--text3);transition:.25s}
.feature-nav button.active{background:var(--primary-grad);color:#fff}
.feature-nav button.active .fi{background:rgba(255,255,255,.2);color:#fff}
.feature-nav button h4{font-size:16px;font-weight:800}
.feature-nav button p{font-size:12.5px;opacity:.85;margin-top:2px}
.feature-nav:not(:has(.active)) button{color:var(--text)}
.feature-content{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:40px;box-shadow:var(--shadow)}
.feature-content h3{font-size:26px;font-weight:900;margin-bottom:8px;display:flex;align-items:center;gap:12px}
.feature-content h3 .fi{font-size:30px}
.feature-content .lead{color:var(--text2);margin-bottom:26px}
.feature-badges{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:28px}
.feature-badge{display:flex;align-items:center;gap:8px;padding:9px 16px;border-radius:30px;background:var(--primary-soft);color:var(--primary);font-weight:700;font-size:13.5px}
.feature-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.feature-gallery img{height:130px;width:100%;object-fit:cover;border-radius:12px;border:1px solid var(--line)}
.feature-points{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.feature-point{background:var(--card2);border-radius:var(--r-sm);padding:18px}
.feature-point em{font-style:normal;color:var(--primary);font-weight:900;font-size:22px}
.feature-point div{font-size:14px;color:var(--text2);margin-top:4px}

/* ============ 数据统计 / 口碑 ============ */
.stats-strip{background:var(--primary-grad);border-radius:var(--r-lg);padding:48px;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center;color:#fff;box-shadow:0 20px 46px rgba(79,110,247,.35)}
.stat .num{font-size:clamp(26px,3.6vw,42px);font-weight:900}
.stat .num sup{font-size:16px}
.stat .lab{opacity:.86;font-size:14px;margin-top:6px}
.testi-wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.testi{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:28px;box-shadow:var(--shadow)}
.testi .stars{color:#ffb020;letter-spacing:2px;margin-bottom:14px}
.testi .quote{color:var(--text2);font-size:14.5px}
.testi .who{display:flex;gap:12px;align-items:center;margin-top:18px;padding-top:18px;border-top:1px dashed var(--line)}
.testi .ava{width:42px;height:42px;border-radius:50%;background:var(--primary-grad);color:#fff;display:grid;place-items:center;font-weight:800}
.testi .who b{font-size:14.5px}
.testi .who span{font-size:12.5px;color:var(--text3)}

/* ============ CTA ============ */
.cta-block{position:relative;overflow:hidden;border-radius:var(--r-lg);padding:64px 48px;text-align:center;color:#3d4642;
  background:linear-gradient(rgba(61,70,66,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(61,70,66,.06) 1px,transparent 1px),#f7f6f2;
  background-size:22px 22px,22px 22px,auto;
  border:1.6px dashed rgba(61,70,66,.42);
  box-shadow:0 8px 22px rgba(90,84,64,.10)}
.cta-block::before,.cta-block::after{content:none}
.cta-block .cta-blob{display:none}
.cta-block h2{font-size:clamp(26px,4vw,42px);font-weight:900;margin-bottom:14px}
.cta-block h2 b{color:#4f6ef7}
.cta-block p{color:#5a635e;opacity:1}
.cta-block .btn-white{background:var(--primary);color:#fff;box-shadow:0 8px 22px rgba(79,110,247,.28)}
.cta-block .btn-white:hover{transform:translateY(-2px)}
.cta-block .btn-phone{background:#fff;color:#3d4642;border:1.4px dashed rgba(61,70,66,.42)}
.cta-block .btn-phone:hover{background:rgba(61,70,66,.05)}
html[data-theme="dark"] .cta-block{color:#e6eaf5;
  background:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px),#1b2230;
  background-size:22px 22px,22px 22px,auto;
  border-color:rgba(255,255,255,.28);box-shadow:0 8px 22px rgba(0,0,0,.35)}
html[data-theme="dark"] .cta-block p{color:#aab3c8}
html[data-theme="dark"] .cta-block .btn-white{color:#fff}
html[data-theme="dark"] .cta-block .btn-phone{background:transparent;color:#e6eaf5;border-color:rgba(255,255,255,.3)}
.cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ============ Footer ============ */
.footer{background:linear-gradient(180deg,#131a2b,#0d1321);color:#cfd5e6;padding:64px 0 30px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1.1fr 1.3fr;gap:40px;margin-bottom:44px}
.footer .brand{color:#fff;margin-bottom:16px}
.footer .brand b{color:#9db3ff}
.footer .brand small{color:#7c86a0}
.footer p.desc{color:#9aa3bd;font-size:14px;margin-bottom:20px;line-height:1.8}
.footer h5{color:#fff;font-size:15px;margin-bottom:18px;font-weight:800;letter-spacing:.5px}
.footer ul{list-style:none}
.footer li{margin-bottom:12px}
/* 快速导航：两排居中（.fn- 前缀） */
.footer-nav{display:flex;flex-direction:column;gap:14px;align-items:center}
.footer-nav .fn-row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 26px;margin:0}
.footer-nav .fn-row li{margin:0}
.footer a{color:#9aa3bd;font-size:14px;transition:.2s}
.footer a:hover{color:#fff}
.footer .contact li{display:flex;gap:10px;align-items:flex-start;color:#9aa3bd;font-size:14px}
.footer .contact .ci{color:#9db3ff;flex-shrink:0}
.footer .contact a.footer-map{color:#9aa3bd;text-decoration:none;transition:.2s}
.footer .contact a.footer-map:hover{color:#9db3ff;text-decoration:underline}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:26px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;color:#7c86a0;font-size:13px}
.footer-bottom a.icp{color:#7c86a0;text-decoration:none;transition:.2s}
.footer-bottom a.icp:hover{color:#9db3ff;text-decoration:underline}

/* ============ 响应式 ============ */
@media(max-width:992px){
  .g3,.system-steps,.feature-gallery{grid-template-columns:repeat(2,1fr)}
  .about-wrap{grid-template-columns:1fr}
  .feature-wrap{grid-template-columns:1fr}
  .feature-nav{position:static;flex-direction:row;overflow-x:auto}
  .feature-nav button{flex:1 0 220px}
  .testi-wrap{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
  .system-steps .step:not(:last-child)::after{display:none}
  .stats-strip{grid-template-columns:repeat(2,1fr)}
  .philosophy-wrap{grid-template-columns:1fr}
}
@media(max-width:640px){
  .nav-links{position:fixed;top:70px;left:0;right:0;background:var(--card);flex-direction:column;align-items:stretch;padding:16px 20px;box-shadow:var(--shadow-lg);transform:translateY(-150%);transition:.3s;border-bottom:1px solid var(--line)}
  .nav-links.open{transform:translateY(0)}
  .nav-links a{padding:14px}
  .burger{display:block}
  .nav-actions .btn{display:none}
  .g3,.g2,.system-steps,.feature-gallery,.testi-wrap,.feature-points,.course-tabs{grid-template-columns:1fr}
  .stats-strip,.footer-grid,.about-cards{grid-template-columns:1fr}
  .section{padding:64px 0}
  .feature-content,.cta-block{padding:28px 24px}
}

/* 当前页导航高亮 */
.nav-links a.active{color:var(--primary);font-weight:700}

/* ============ 课程规划页（path.html） ============ */
.path-stages{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.path-stage{background:var(--card);border-radius:var(--r-md);padding:24px 20px;position:relative;overflow:hidden;
  border-top:5px solid var(--sc,#4f6ef7);box-shadow:var(--shadow-sm);transition:.25s;display:flex;flex-direction:column}
.path-stage:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.path-stage .lv{font-family:'Baloo 2','ZCOOL KuaiLe','PingFang SC','Microsoft YaHei',sans-serif;font-weight:800;
  font-size:15px;color:#fff;background:var(--sc,#4f6ef7);border-radius:20px;padding:3px 14px;display:inline-block;width:fit-content}
.path-stage .age{font-size:12.5px;font-weight:700;color:var(--sc,#4f6ef7);letter-spacing:1px;margin-top:10px}
.path-stage h3{font-size:19px;font-weight:800;margin:4px 0 10px;color:var(--text)}
.path-stage .books{font-size:13px;color:var(--text2);line-height:1.7;padding-bottom:10px;border-bottom:1px dashed var(--line);margin-bottom:10px}
.path-stage .books em{font-style:normal;font-weight:700;color:var(--text)}
.path-stage .books .note{display:block;font-size:12px;color:var(--text3);margin-top:2px}
.path-stage ul{list-style:none;font-size:13.5px;color:var(--text2);line-height:1.75;flex:1}
.path-stage ul li{padding-left:16px;position:relative;margin-bottom:4px}
.path-stage ul li::before{content:"✓";position:absolute;left:0;color:var(--sc,#4f6ef7);font-weight:800}
.path-stage .link{font-size:12.5px;font-weight:700;color:var(--sc,#4f6ef7);margin-top:auto;padding-top:10px}
/* 中考改革警示条 */
.path-warn{margin-top:48px;border-radius:var(--r-md);padding:26px 30px;
  background:linear-gradient(135deg,#fff7ec,#ffefdf);border:1.6px dashed rgba(232,139,109,.65)}
.path-warn h4{font-size:18px;font-weight:800;color:#c05f3c;margin-bottom:10px}
.path-warn p{font-size:14px;color:#7a5a48;line-height:1.9;margin-bottom:6px}
.path-warn .chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.path-warn .chips span{font-size:13px;font-weight:700;color:#c05f3c;background:#fff;border:1.3px solid rgba(192,95,60,.4);border-radius:999px;padding:6px 14px}
/* 双轨体系 */
.path-dual{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.path-dual .track{background:var(--card);border-radius:var(--r-md);padding:28px;box-shadow:var(--shadow-sm);border-top:5px solid var(--sc)}
.path-dual .track h4{font-size:18px;font-weight:800;color:var(--text);margin-bottom:12px}
.path-dual .track h4 small{font-size:12.5px;color:var(--sc);margin-left:8px;letter-spacing:1px}
.path-dual .track ul{list-style:none;font-size:14px;color:var(--text2);line-height:2}
.path-dual .track .solve{margin-top:12px;font-size:14px;font-weight:700;color:var(--sc)}
.path-dual-note{text-align:center;margin-top:20px;font-size:16px;font-weight:800;color:var(--text)}
.path-dual-note b{color:var(--primary)}
/* 思维线 M1-M5 */
.path-m{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.path-m .mcard{background:var(--card);border-radius:var(--r-md);padding:22px 18px;box-shadow:var(--shadow-sm);border-top:5px solid var(--sc);transition:.25s}
.path-m .mcard:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.path-m .mcard .lv{font-size:14px;font-weight:800;color:#fff;background:var(--sc);border-radius:20px;padding:3px 12px;display:inline-block}
.path-m .mcard h4{font-size:17px;font-weight:800;color:var(--text);margin:10px 0 2px}
.path-m .mcard .age{font-size:12px;font-weight:700;color:var(--sc);letter-spacing:1px}
.path-m .mcard .desc{font-size:13px;color:var(--text2);line-height:1.7;margin-top:8px}
.path-m .mcard .next{font-size:12.5px;font-weight:700;color:var(--sc);margin-top:8px}
/* 怎么开始 */
.path-start{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.path-start .box{background:var(--card);border-radius:var(--r-md);padding:28px;box-shadow:var(--shadow-sm)}
.path-start .box h4{font-size:17px;font-weight:800;color:var(--text);margin-bottom:12px}
.path-start .box p,.path-start .box li{font-size:14px;color:var(--text2);line-height:2}
.path-start .box ul{list-style:none}
.path-start .box ul li{padding-left:18px;position:relative}
.path-start .box ul li::before{content:"•";position:absolute;left:2px;color:var(--primary);font-weight:900}
.path-start .steps{counter-reset:st}
.path-start .steps li{padding-left:34px;position:relative;counter-increment:st}
.path-start .steps li::before{content:counter(st);position:absolute;left:0;top:4px;width:22px;height:22px;border-radius:50%;
  background:var(--primary);color:#fff;font-size:12px;font-weight:800;display:grid;place-items:center}
.path-start .steps li::marker{content:none}
.path-note{text-align:center;font-size:12.5px;color:var(--text3);margin-top:26px;line-height:1.8}
@media (max-width:1024px){
  .path-stages,.path-m{grid-template-columns:repeat(2,1fr)}
  .path-dual,.path-start{grid-template-columns:1fr}
}
@media (max-width:640px){
  .path-stages,.path-m{grid-template-columns:1fr}
}

/* ============ 环境介绍（About 页 · 纸面手绘风） ============ */
.env{background:radial-gradient(circle at 50% 0%, #f4efe3 0%, #e6dfcf 62%, #d9d2c0 100%)}
/* 环境介绍区标题：OUR CENTER 放大作为主标题 */
.env .sec-head .tag{font-size:clamp(24px,3vw,34px);padding:10px 30px;letter-spacing:3px;margin-bottom:18px}
.env .sec-head p{font-size:15px;margin-top:4px}
/* 关于我们页：整页底色与环境介绍区保持一致（纸面米色） */
html:not([data-theme="dark"]) body.page-about{background:radial-gradient(circle at 50% 0%, #f4efe3 0%, #e6dfcf 62%, #d9d2c0 100%) fixed}
html:not([data-theme="dark"]) body.page-about #apply{background:transparent}
.env-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin:-24px 0 34px}
.env-chips span{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:#3d4642;background:#fff;border:1.4px solid rgba(61,70,66,.22);border-radius:999px;padding:5px 13px}
.env-chips svg{width:15px;height:15px;fill:none;stroke:#5a635e;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.env-mq{overflow:hidden;padding:8px 0;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%)}
.env-track{display:flex;width:max-content;animation:envMq 52s linear infinite;will-change:transform}
.env-mq:hover .env-track{animation-play-state:paused}
@keyframes envMq{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
.env-group{display:flex;gap:18px;padding-right:18px}
.env-mq figure{margin:0;position:relative;flex:0 0 auto;border-radius:16px;overflow:hidden;background:#fff;
  border:1px solid rgba(61,70,66,.16);box-shadow:0 12px 26px rgba(90,84,64,.14)}
.env-mq img{display:block;height:330px;width:auto}
.env-mq figcaption{position:absolute;left:10px;bottom:10px;display:inline-flex;align-items:center;gap:6px;
  background:rgba(255,255,255,.92);border:1px solid rgba(61,70,66,.12);border-radius:999px;padding:5px 12px;
  font-size:12px;letter-spacing:.6px;color:#3d4642;white-space:nowrap;box-shadow:0 4px 12px rgba(90,84,64,.12)}
.env-mq figcaption::before{content:"";width:6px;height:6px;border-radius:50%;background:#dfa22f}
.env-hint{margin:10px 0 0;text-align:center;font-size:11.5px;letter-spacing:2px;color:#a2aaa4}
.env-points{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:36px}
.env-pt{background:rgba(255,255,255,.92);border:1.6px dashed rgba(61,70,66,.26);border-radius:16px;
  padding:20px 18px 22px;transition:transform .25s ease,box-shadow .25s ease}
.env-pt:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(90,84,64,.14)}
.env-pt .no{font-size:11.5px;font-weight:700;letter-spacing:2.4px;color:#dfa22f}
.env-pt svg{width:40px;height:40px;margin:12px 0 10px;display:block;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.env-pt h3{margin:0 0 8px;font-size:16.5px;letter-spacing:1px;color:#3d4642}
.env-pt h3::before{content:"★";color:#dfa22f;font-size:12px;margin-right:7px;vertical-align:2px}
.env-pt p{margin:0;font-size:13px;line-height:1.8;color:#5a635e}
.env-pt:nth-child(1) svg{stroke:#7a9ec9}
.env-pt:nth-child(2) svg{stroke:#5cab93}
.env-pt:nth-child(3) svg{stroke:#e88b6d}
.env-pt:nth-child(4) svg{stroke:#a58fc2}
.env-band{margin-top:44px;padding:16px 0;overflow:hidden;
  border-top:1.6px dashed rgba(61,70,66,.22);border-bottom:1.6px dashed rgba(61,70,66,.22);
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%)}
.env-band-track{display:flex;width:max-content;animation:envMq 34s linear infinite}
.env-band span{display:inline-block;padding-right:34px;font-size:12.5px;letter-spacing:4px;color:rgba(61,70,66,.42);font-weight:700;white-space:nowrap}
@media (max-width:820px){
  .env-mq img{height:214px}
  .env-group{gap:12px;padding-right:12px}
  .env-mq figcaption{font-size:10.5px;padding:4px 9px;left:8px;bottom:8px}
  .env-points{grid-template-columns:repeat(2,1fr);gap:12px}
  .env-pt{padding:16px 14px 18px}
  .env-pt svg{width:32px;height:32px;margin:9px 0 8px}
  .env-pt h3{font-size:14.5px}
  .env-pt p{font-size:12px;line-height:1.7}
}
@media (prefers-reduced-motion:reduce){.env-track,.env-band-track{animation:none}}

/* ===== path.html：#path 区域与手绘大板同风格（米黄纸面 + 方格 + 虚线框） ===== */
#path{background:radial-gradient(circle at 50% 0%, #f4efe3 0%, #e6dfcf 62%, #d9d2c0 100%);position:relative;overflow:hidden}
#path::before{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(61,70,66,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(61,70,66,.06) 1px,transparent 1px);
  background-size:22px 22px}
#path .container{position:relative;z-index:1;background:rgba(255,253,247,.6);
  border:2px dashed rgba(61,70,66,.32);border-radius:20px;padding:56px clamp(20px,4vw,44px);
  box-shadow:0 20px 44px rgba(90,84,64,.18)}
html[data-theme="dark"] #path{background:linear-gradient(180deg,#232833 0%,#1c212b 100%)}
html[data-theme="dark"] #path::before{background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px)}
html[data-theme="dark"] #path .container{background:rgba(23,27,36,.6);border-color:rgba(255,255,255,.22);box-shadow:0 20px 44px rgba(0,0,0,.4)}

/* ===== path.html：#path 小卡片 → 小方格笔记本风格 ===== */
#path .path-stage{background-color:#fffdf7;
  background-image:linear-gradient(rgba(61,70,66,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(61,70,66,.06) 1px,transparent 1px);
  background-size:18px 18px;
  border:2.5px dashed var(--sc);
  box-shadow:0 8px 20px rgba(90,84,64,.12)}
html[data-theme="dark"] #path .path-stage{background-color:#232833;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  border-color:var(--sc)}

/* ===== 全站主标题统一风格：描边胶囊（样式统一，颜色按页区分） ===== */
.sec-head.capsule h2{display:inline-block;border:1.9px solid var(--capc,#a58fc2);border-radius:120px;
  padding:12px 36px;background:rgba(255,255,255,.55);box-shadow:0 4px 14px rgba(90,84,64,.10)}
.sec-head.capsule.c-blue{--capc:#7a9ec9}
.sec-head.capsule.c-green{--capc:#5cab93}
.sec-head.capsule.c-orange{--capc:#e88b6d}
.philosophy-text h2{display:inline-block;border:1.9px solid #e88b6d;border-radius:34px;
  padding:12px 30px;background:rgba(255,255,255,.55);box-shadow:0 4px 14px rgba(90,84,64,.10)}
/* OUR CENTER 标题也统一为描边胶囊风格（蓝框，与全站主标题一致） */
.env .sec-head .tag{background:rgba(255,255,255,.55);border:1.9px solid #7a9ec9;
  border-radius:120px;box-shadow:0 4px 14px rgba(90,84,64,.10)}
/* 主标题尺寸严格统一：所有描边胶囊标题字号 32px、内边距一致（与 SVG 大板 iBrand 相同） */
.sec-head.capsule h2{font-size:32px;padding:12px 32px}
.philosophy-text h2{font-size:32px;padding:12px 32px}
.env .sec-head .tag{font-size:32px;padding:12px 32px}
/* 主标题框严格统一：高 58px（与 SVG 大板胶囊完全一致）、字号 32px、左右内边距 32px */
.sec-head.capsule h2{height:58px;padding:0 32px;line-height:1;display:inline-flex;align-items:center}
.philosophy-text h2{height:58px;padding:0 32px;line-height:1;display:inline-flex;align-items:center}
.env .sec-head .tag{height:58px;padding:0 32px;line-height:1;display:inline-flex;align-items:center}
/* 标题字体严格统一：同一字体栈 / 32px / 800 / 字距 3px / 高 58px 胶囊（与 SVG 大板一致） */
.sec-head.capsule h2,.env .sec-head .tag{font-weight:800;letter-spacing:3px;line-height:1;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif}
/* OUR CENTER 与下一行间距缩小 */
.env .sec-head .tag{margin-bottom:6px}
.env .sec-head p{margin-top:0}
/* OUR CENTER 与「每一处都为孩子设计」间距稍微放宽 */
.env .sec-head .tag{margin-bottom:14px}
/* ===== 环境介绍小标签：与关键词胶囊同风格（紫/蓝/绿/橙描边，图案形状不变） ===== */
.env-chips span{border:1.9px solid #a58fc2;background:rgba(255,255,255,.55);
  box-shadow:0 3px 10px rgba(90,84,64,.10);padding:5px 14px}
.env-chips span:nth-child(1){border-color:#a58fc2}
.env-chips span:nth-child(2){border-color:#7a9ec9}
.env-chips span:nth-child(3){border-color:#5cab93}
.env-chips span:nth-child(4){border-color:#e88b6d}
.env-chips span:nth-child(1) svg{stroke:#a58fc2}
.env-chips span:nth-child(2) svg{stroke:#7a9ec9}
.env-chips span:nth-child(3) svg{stroke:#5cab93}
.env-chips span:nth-child(4) svg{stroke:#e88b6d}
/* 环境小标签尺寸对齐关键词胶囊：高 34px、15px 字、20px 图案 */
.env-chips span{height:34px;padding:0 18px;font-size:15px;letter-spacing:2px;
  display:inline-flex;align-items:center;gap:8px}
.env-chips svg{width:20px;height:20px;flex-shrink:0}

/* ===== #path 标题下：外教主课·能力线 胶囊式点线框 ===== */
#path .cap-tracks{display:flex;justify-content:center;align-items:stretch;flex-wrap:wrap;gap:14px;margin-top:14px}
#path .sec-head{max-width:920px}
#path .cap-track{display:block;width:fit-content;margin:0;padding:10px 30px;
  border:1.8px dashed #2f6fb5;border-radius:120px;background:rgba(255,255,255,.55);
  box-shadow:0 4px 14px rgba(90,84,64,.10)}
#path .cap-track .ct-line1{font-size:18px;font-weight:800;color:var(--text);line-height:1.35}
#path .cap-track .ct-line1 small{font-size:14px;font-weight:800;color:#2f6fb5;margin-left:8px;letter-spacing:1px}
#path .cap-track .ct-line2{font-size:16px;font-weight:800;color:#2f6fb5;margin-top:3px;line-height:1.35}
html[data-theme="dark"] #path .cap-track{background:rgba(23,27,36,.55);border-color:#6ea3d8}
html[data-theme="dark"] #path .cap-track .ct-line1{color:#e8ecf2}

/* 中教主课胶囊：同款风格、绿色点线框 */
#path .cap-track.cap-cn{border-color:#2f8f5f;margin-left:0}
#path .cap-track.cap-cn .ct-line1 small{color:#2f8f5f}
#path .cap-track.cap-cn .ct-line2{color:#2f8f5f}
html[data-theme="dark"] #path .cap-track.cap-cn{border-color:#5fc48f}

/* 双胶囊配色改为 粉色 + 紫色 */
#path .cap-track{border-color:#e8698f}
#path .cap-track .ct-line1 small,#path .cap-track .ct-line2{color:#e8698f}
#path .cap-track.cap-cn{border-color:#a58fc2}
#path .cap-track.cap-cn .ct-line1 small,#path .cap-track.cap-cn .ct-line2{color:#a58fc2}
html[data-theme="dark"] #path .cap-track{border-color:#f093b3}
html[data-theme="dark"] #path .cap-track.cap-cn{border-color:#c9b3e8}

/* 双胶囊配色改为 天蓝色 + 亮紫色 */
#path .cap-track{border-color:#3aa8e8}
#path .cap-track .ct-line1 small,#path .cap-track .ct-line2{color:#3aa8e8}
#path .cap-track.cap-cn{border-color:#a74ff7}
#path .cap-track.cap-cn .ct-line1 small,#path .cap-track.cap-cn .ct-line2{color:#a74ff7}
html[data-theme="dark"] #path .cap-track{border-color:#7cc4f5}
html[data-theme="dark"] #path .cap-track.cap-cn{border-color:#c58ffa}

/* L1-L5 卡片底部核心能力行 */
.path-stage .core{font-size:12px;color:var(--text2);margin-top:8px;padding-top:8px;border-top:1px dashed var(--line)}
.path-stage .core b{font-weight:700;color:var(--sc,#4f6ef7)}

/* 修正：卡片保持等宽 5 列原尺寸，》 箭头悬浮在卡片间隙上 */
.path-stages{grid-template-columns:repeat(5,1fr);gap:18px;position:relative}
.path-stages .stage-arrow{position:absolute;top:50%;left:var(--x);transform:translate(-50%,-50%);
  width:30px;height:30px;display:grid;place-items:center;font-size:18px;font-weight:800;
  color:var(--a);background:#fffdf7;border:1.5px solid var(--a);border-radius:50%;
  opacity:.92;z-index:2;padding:0;line-height:1}
html[data-theme="dark"] .path-stages .stage-arrow{background:#232833}

/* 培养体系页：删除四步卡片后，整页底色与第一区域（手绘大板纸面）保持一致 */
html:not([data-theme="dark"]) body.page-system{background:radial-gradient(circle at 50% 0%, #f4efe3 0%, #e6dfcf 62%, #d9d2c0 100%) fixed}
html:not([data-theme="dark"]) body.page-system #apply{background:transparent}

/* 底部滚动文字带：每段独立配色 */
.env-band span b{font-weight:800}
.env-band span i{font-style:normal;color:rgba(61,70,66,.3);padding:0 10px}
html[data-theme="dark"] .env-band span i{color:rgba(255,255,255,.25)}

/* 照片下方滚动带：收紧上间距 */
.env-band.env-band-inline{margin-top:24px;margin-bottom:10px}

/* ===== path.html：#mind 思维区域 → 与 #path 英语学习全路径同风格（米黄纸面 + 方格 + 虚线大框） ===== */
#mind{background:radial-gradient(circle at 50% 0%, #f4efe3 0%, #e6dfcf 62%, #d9d2c0 100%);position:relative;overflow:hidden}
#mind::before{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(61,70,66,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(61,70,66,.06) 1px,transparent 1px);
  background-size:22px 22px}
#mind .container{position:relative;z-index:1;background:rgba(255,253,247,.6);
  border:2px dashed rgba(61,70,66,.32);border-radius:20px;padding:56px clamp(20px,4vw,44px);
  box-shadow:0 20px 44px rgba(90,84,64,.18)}
html[data-theme="dark"] #mind{background:linear-gradient(180deg,#232833 0%,#1c212b 100%)}
html[data-theme="dark"] #mind::before{background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px)}
html[data-theme="dark"] #mind .container{background:rgba(23,27,36,.6);border-color:rgba(255,255,255,.22);box-shadow:0 20px 44px rgba(0,0,0,.4)}
#mind .sec-head.capsule h2{--capc:#a74ff7}

/* ===== path.html：#mind M1-M5 卡片 → 小方格笔记本 + 虚线彩边（同 #path .path-stage） ===== */
#mind .path-m .mcard{background-color:#fffdf7;
  background-image:linear-gradient(rgba(61,70,66,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(61,70,66,.06) 1px,transparent 1px);
  background-size:18px 18px;
  border:2.5px dashed var(--sc);
  box-shadow:0 8px 20px rgba(90,84,64,.12)}
html[data-theme="dark"] #mind .path-m .mcard{background-color:#232833;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  border-color:var(--sc)}

/* ===== course.html：课件中心整体 → 与课程规划同风格（米黄纸面 + 方格 + 虚线大框） ===== */
#course{background:radial-gradient(circle at 50% 0%, #f4efe3 0%, #e6dfcf 62%, #d9d2c0 100%);position:relative}
#course::before{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(61,70,66,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(61,70,66,.06) 1px,transparent 1px);
  background-size:22px 22px}
#course .container{position:relative;z-index:1;background:rgba(255,253,247,.6);
  border:2px dashed rgba(61,70,66,.32);border-radius:20px;padding:56px clamp(20px,4vw,44px);
  box-shadow:0 20px 44px rgba(90,84,64,.18)}
#course .course-card{background-color:#fffdf7;
  background-image:linear-gradient(rgba(61,70,66,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(61,70,66,.06) 1px,transparent 1px);
  background-size:18px 18px;border:2px dashed rgba(61,70,66,.3)}
html[data-theme="dark"] #course{background:linear-gradient(180deg,#232833 0%,#1c212b 100%)}
html[data-theme="dark"] #course::before{background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px)}
html[data-theme="dark"] #course .container{background:rgba(23,27,36,.6);border-color:rgba(255,255,255,.22);box-shadow:0 20px 44px rgba(0,0,0,.4)}
html[data-theme="dark"] #course .course-card{background-color:#232833;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  border-color:rgba(255,255,255,.22)}

/* ===== course.html：L1-L5 分级课程区块（每级一个区域，预留教材图案位） ===== */
.lv-head{text-align:center;margin:64px 0 26px}
.lv-head h3{font-size:25px;font-weight:800;color:var(--text)}
.lv-head p{font-size:13.5px;color:var(--text2);margin-top:9px;line-height:1.7}
.lv-wrap{display:flex;flex-direction:column;gap:20px}
.lv-block{display:grid;grid-template-columns:236px 1fr;gap:26px;position:relative;
  background-color:#fffdf7;
  background-image:linear-gradient(rgba(61,70,66,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(61,70,66,.06) 1px,transparent 1px);
  background-size:18px 18px;
  border:2.5px dashed var(--sc,#4f6ef7);border-radius:18px;padding:24px;
  box-shadow:0 8px 20px rgba(90,84,64,.12);transition:transform .25s,box-shadow .25s}
.lv-block:hover{transform:translateY(-4px);box-shadow:0 16px 32px rgba(90,84,64,.18)}
.lv-media{display:flex;flex-direction:column;gap:10px}
.lv-ph{flex:1;min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;
  border:2px dashed rgba(61,70,66,.26);border-radius:12px;background:rgba(255,255,255,.62)}
.lv-ph span{font-size:13px;font-weight:800;color:#8b948f;letter-spacing:1px}
.lv-ph em{font-size:11px;font-style:normal;color:#aeb5af;letter-spacing:.5px}
.lv-book{font-size:12.5px;font-weight:800;color:var(--sc);text-align:center;line-height:1.55}
.lv-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.lv-badge{font-family:'Baloo 2','ZCOOL KuaiLe','PingFang SC','Microsoft YaHei',sans-serif;font-weight:800;
  font-size:15px;color:#fff;background:var(--sc);border-radius:20px;padding:3px 15px;display:inline-block}
.lv-age{font-size:13px;font-weight:800;color:var(--sc);letter-spacing:1px}
.lv-role{font-size:13.5px;font-weight:800;color:var(--sc);background:rgba(255,255,255,.85);
  border:1.6px dashed var(--sc);border-radius:20px;padding:3.5px 14px;letter-spacing:.5px}
.lv-body h3{font-size:20.5px;font-weight:800;color:var(--text);margin:11px 0 8px}
.lv-lead{font-size:13.5px;color:var(--text2);line-height:1.8}
.lv-list{list-style:none;margin:12px 0 0;font-size:13.5px;color:var(--text2);line-height:1.85}
.lv-list li{padding-left:19px;position:relative}
.lv-list li::before{content:"✓";position:absolute;left:0;color:var(--sc);font-weight:800}
.lv-list li b{color:var(--sc);font-weight:800;margin-right:4px}
.lv-out{margin-top:14px;padding:10px 15px;border-radius:11px;background:rgba(255,255,255,.78);
  border:1px dashed var(--sc);font-size:13px;color:#3d4642;line-height:1.75}
.lv-out b{color:var(--sc);font-weight:800;margin-right:9px}
.lv-out .lv-fit{display:inline-block;margin-left:10px;padding-left:12px;border-left:1px dashed rgba(61,70,66,.25);color:#6b736d;font-size:12.5px}
html[data-theme="dark"] .lv-block{background-color:#232833;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  box-shadow:0 8px 20px rgba(0,0,0,.35)}
html[data-theme="dark"] .lv-ph{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.2)}
html[data-theme="dark"] .lv-ph span{color:#98a1a8}
html[data-theme="dark"] .lv-ph em{color:#7c858c}
html[data-theme="dark"] .lv-role{background:rgba(255,255,255,.07);border-color:var(--sc);color:var(--sc)}
html[data-theme="dark"] .lv-out{background:rgba(255,255,255,.05);color:#dfe5e8}
html[data-theme="dark"] .lv-out .lv-fit{color:#a8b2b8;border-color:rgba(255,255,255,.22)}

@media(max-width:980px){
  .lv-block{grid-template-columns:minmax(0,1fr);gap:18px;min-width:0}
  .lv-ph{min-height:150px}
  .lv-media{flex-direction:row;align-items:center;min-width:0}
  .lv-media>*{min-width:0}
  /* 移动端：3 列书封必须允许收缩到容器内，否则 min-content 会把页面撑宽（实测撑到 506px） */
  .lv-covers{grid-template-columns:repeat(3,minmax(0,1fr))}
  .lv-pages{min-width:0}
  .lv-body{min-width:0}
  .lv-ph{flex:1;min-width:0}
  .lv-book{flex:0 0 40%;text-align:left;min-width:0}
}
@media(max-width:600px){
  .lv-media{flex-direction:column}
  .lv-book{text-align:center;flex:0 0 auto}
  .lv-head h3{font-size:21px}
  .lv-out .lv-fit{display:block;margin:8px 0 0;padding-left:0;border-left:0}
}

/* ===== course.html：教材图案位已放真实封面图 ===== */
.lv-ph-img{border:0;background:rgba(255,255,255,.68);padding:8px}
.lv-ph-img img{width:100%;height:100%;object-fit:contain;border-radius:8px;display:block}
html[data-theme="dark"] .lv-ph-img{background:rgba(255,255,255,.05)}

/* ===== course.html L1：YOYO Pro 六级体系子面板（PPT P21） ===== */
.lv-sys{margin-top:18px;padding:18px 20px 16px;border-radius:14px;
  background:rgba(255,255,255,.74);border:1.5px dashed var(--sc);}
.lv-sys-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  padding-bottom:12px;border-bottom:1px dashed rgba(61,70,66,.18)}
.ys-tag{background:var(--sc);color:#fff;font-size:11.5px;font-weight:800;letter-spacing:1px;
  border-radius:14px;padding:3px 11px;display:inline-block}
.ys-h{font-size:16.5px;font-weight:800;color:var(--text);letter-spacing:.6px}
.ys-note{font-size:12px;color:var(--text2);line-height:1.7}
.lv-sys-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}
.ys-col{background:rgba(255,255,255,.7);border:1px dashed rgba(61,70,66,.2);
  border-left:3px solid var(--sc);border-radius:10px;padding:10px 12px}
.ys-k{font-size:11px;font-weight:800;color:var(--sc);letter-spacing:1px}
.ys-col p{font-size:12.5px;color:var(--text2);line-height:1.7;margin:5px 0 0}
.ys-col p b{color:#3d4642;font-weight:800;margin-right:5px}
.ys-bar{margin:16px 0 10px;font-size:12.5px;font-weight:800;color:var(--sc);letter-spacing:1px}
.ys-path{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.ys-pc{position:relative;background:rgba(255,255,255,.8);border:1px dashed var(--sc);
  border-radius:10px;padding:10px 12px 11px}
.ys-p{position:absolute;right:10px;top:9px;font-size:11px;font-weight:800;color:#fff;
  background:var(--sc);border-radius:10px;padding:1px 8px;letter-spacing:.5px}
.ys-pc b{display:block;font-size:13.5px;font-weight:800;color:#3d4642;padding-right:36px;line-height:1.4}
.ys-pc i{display:block;font-style:normal;font-size:11px;color:#96a09a;letter-spacing:.4px;margin-top:2px}
.ys-pc em{display:block;font-style:normal;font-size:12px;color:var(--text2);line-height:1.65;margin-top:7px}
.ys-ib{display:inline-block;margin-top:8px;font-size:11px;font-weight:800;color:var(--sc);
  background:rgba(255,255,255,.9);border:1px dashed rgba(61,70,66,.22);border-radius:14px;padding:1.5px 9px}
.ys-bk{display:block;margin-top:6px;font-size:11.5px;color:#6b736d;line-height:1.6}
.ys-foot{margin-top:14px;padding-top:12px;border-top:1px dashed rgba(61,70,66,.18);
  display:grid;gap:4px;font-size:12px;color:var(--text2);line-height:1.75}
.ys-foot b{color:var(--sc);font-weight:800;margin-right:8px}
.ys-src{color:#a6aeaa;font-size:11px;letter-spacing:.3px}
html[data-theme="dark"] .lv-sys{background:rgba(255,255,255,.05)}
html[data-theme="dark"] .lv-sys-head,html[data-theme="dark"] .ys-foot{border-color:rgba(255,255,255,.18)}
html[data-theme="dark"] .ys-col{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.18)}
html[data-theme="dark"] .ys-col p b,html[data-theme="dark"] .ys-pc b{color:#e6ecef}
html[data-theme="dark"] .ys-pc{background:rgba(255,255,255,.06)}
html[data-theme="dark"] .ys-ib{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.24)}
html[data-theme="dark"] .ys-bk{color:#a8b2b8}
@media(max-width:900px){
  .lv-sys-cols{grid-template-columns:1fr}
  .ys-path{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
  .ys-path{grid-template-columns:1fr}
  .ys-h{font-size:15px}
}

/* L1 图片列：图片按自然高度排列并垂直居中，避免被高面板拉开空隙 */
.lv-media{justify-content:center}
.lv-ph.lv-ph-img{flex:0 1 auto;min-height:0;width:100%}

/* ===== course.html L1：五册封面网格 + 两张内页（PPT P21 配套重排） ===== */
.lv-covers{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.lv-cover{margin:0;background:rgba(255,255,255,.82);border:1px dashed rgba(61,70,66,.24);
  border-radius:9px;padding:5px 5px 6px;display:flex;flex-direction:column;gap:4px;align-items:center}
.lv-cover img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:6px;display:block}
.lv-cover b{font-size:10px;font-weight:800;color:var(--sc);letter-spacing:.4px}
.lv-cover-note{justify-content:center;gap:3px;padding:8px 6px;min-height:0}
.lv-cover-note b{font-size:11.5px;color:var(--sc)}
.lv-cover-note span{font-size:10px;color:#8b948f;line-height:1.55;text-align:center}
.lv-pages{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.lv-pages .lv-ph-img{padding:5px}
.lv-pages img{border-radius:6px}
html[data-theme="dark"] .lv-cover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.2)}
html[data-theme="dark"] .lv-cover-note span{color:#98a1a8}
@media(max-width:600px){.lv-covers{grid-template-columns:repeat(3,1fr)}}

/* 封面网格修正：固定图高替代 aspect-ratio（兼容旧内核），标签居中不撑位 */
.lv-cover img{aspect-ratio:auto;height:118px}
.lv-cover b{font-size:9.5px;line-height:1.3;text-align:center;letter-spacing:0}
.lv-cover{align-items:stretch}
.lv-cover-note{align-items:center}

/* 封面统一尺寸且不裁切：等比 contain + 白底衬框 */
.lv-cover img{height:120px;width:100%;object-fit:contain;object-position:center;background:#fff}
html[data-theme="dark"] .lv-cover img{background:rgba(255,255,255,.92)}

/* ===== path.html：L1-L5 卡片 Read more 按钮 → course.html 对应级别 ===== */
.more-btn{display:inline-block;margin-top:12px;font-size:12.5px;font-weight:800;letter-spacing:.5px;
  color:var(--sc);background:rgba(255,255,255,.72);border:1.5px dashed var(--sc);
  border-radius:20px;padding:5px 16px;text-decoration:none;transition:all .2s}
.more-btn:hover{background:var(--sc);color:#fff;border-style:solid;transform:translateY(-2px);
  box-shadow:0 6px 14px rgba(61,70,66,.15)}
html[data-theme="dark"] .more-btn{background:rgba(255,255,255,.06)}
/* course.html 锚点跳转偏移（避开固定导航） */
.lv-block{scroll-margin-top:96px}

/* ===== course.html L4：新概念青少版教学大纲子面板扩展（8 考点 / 逐册表 / 5 步闭环） ===== */
.ys-path8{grid-template-columns:repeat(4,1fr)}
.ys-path5{grid-template-columns:repeat(5,1fr)}
/* 表格滚动容器：宽屏时表格正好铺满，不出现滚动条；窄屏时整表横向滑动，绝不撑破页面 */
.ys-tbl-wrap{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.ys-tbl-wrap::-webkit-scrollbar{height:5px}
.ys-tbl-wrap::-webkit-scrollbar-track{background:rgba(61,70,66,.07);border-radius:3px}
.ys-tbl-wrap::-webkit-scrollbar-thumb{background:rgba(247,163,79,.55);border-radius:3px}
.ys-tbl{width:100%;border-collapse:collapse;margin-top:2px;font-size:12px;line-height:1.6}
.ys-tbl th{background:rgba(247,163,79,.14);color:#b06a1f;font-weight:800;letter-spacing:.5px;
  text-align:left;padding:7px 10px;border:1px dashed rgba(61,70,66,.22);white-space:nowrap}
.ys-tbl td{padding:7px 10px;border:1px dashed rgba(61,70,66,.18);color:#3d4642;vertical-align:top}
.ys-tbl td:first-child{font-weight:800;color:var(--sc,#f7a34f);white-space:nowrap}
.ys-tbl td:nth-child(2){white-space:nowrap;color:#6b736d}
.ys-tbl td:last-child{color:#b06a1f;font-weight:700;white-space:nowrap}
.ys-tbl tr:nth-child(even) td{background:rgba(255,255,255,.55)}
html[data-theme="dark"] .ys-path8,html[data-theme="dark"] .ys-path5{grid-template-columns:repeat(4,1fr)}
html[data-theme="dark"] .ys-tbl th{background:rgba(247,163,79,.12);color:#e8a75f;border-color:rgba(255,255,255,.18)}
html[data-theme="dark"] .ys-tbl td{border-color:rgba(255,255,255,.16);color:#dfe5e8}
html[data-theme="dark"] .ys-tbl td:first-child{color:#f0a95e}
html[data-theme="dark"] .ys-tbl td:nth-child(2),html[data-theme="dark"] .ys-tbl td:last-child{color:#c3ccd2}
html[data-theme="dark"] .ys-tbl tr:nth-child(even) td{background:rgba(255,255,255,.04)}
@media(max-width:900px){
  .ys-path8{grid-template-columns:repeat(2,1fr)}
  .ys-path5{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
  .ys-path8{grid-template-columns:1fr}
  .ys-path5{grid-template-columns:1fr}
  /* 有了横向滚动容器，表格不必再压字号挤进窄屏，放大到可读尺寸 */
  .ys-tbl{font-size:13px}
  .ys-tbl th,.ys-tbl td{padding:6px 9px}
}

/* ===== 教材图列随滚动吸附：长区块（如 L4）滚动时左侧封面跟随上下调节 ===== */
@media(min-width:981px){
  .lv-block .lv-media{align-self:start;position:sticky;top:96px}
}

/* ===== L3 剑桥 Power Up 大纲表：绿色表头 + 长文本列可换行 ===== */
#lv-l3 .ys-tbl th{background:rgba(47,201,138,.15);color:#177f52}
#lv-l3 .ys-tbl td{white-space:normal}
#lv-l3 .ys-tbl td:first-child{white-space:nowrap;color:#2fc98a}
#lv-l3 .ys-tbl td:last-child{color:#177f52;font-weight:700;white-space:normal}
html[data-theme="dark"] #lv-l3 .ys-tbl th{background:rgba(47,201,138,.12);color:#5fd6a4}
html[data-theme="dark"] #lv-l3 .ys-tbl td:first-child{color:#4ed89e}
html[data-theme="dark"] #lv-l3 .ys-tbl td:last-child{color:#5fd6a4}

/* ===== #course 标题下：外教/中教 双胶囊点线框（同 path.html 最终配色：天蓝 + 亮紫） ===== */
#course .cap-track{display:inline-block;margin-top:14px;padding:10px 30px;
  border:1.8px dashed #3aa8e8;border-radius:120px;background:rgba(255,255,255,.55);
  box-shadow:0 4px 14px rgba(90,84,64,.10)}
#course .cap-track .ct-line1{font-size:18px;font-weight:800;color:var(--text);line-height:1.35}
#course .cap-track .ct-line1 small{font-size:14px;font-weight:800;color:#3aa8e8;margin-left:8px;letter-spacing:1px}
#course .cap-track .ct-line2{font-size:16px;font-weight:800;color:#3aa8e8;margin-top:3px;line-height:1.35}
#course .cap-track.cap-cn{border-color:#a74ff7;margin-left:14px}
#course .cap-track.cap-cn .ct-line1 small,#course .cap-track.cap-cn .ct-line2{color:#a74ff7}
html[data-theme="dark"] #course .cap-track{background:rgba(23,27,36,.55);border-color:#7cc4f5}
html[data-theme="dark"] #course .cap-track .ct-line1{color:#e8ecf2}
html[data-theme="dark"] #course .cap-track.cap-cn{border-color:#c58ffa}

/* ================================================================
   【1102 新增】#feature 两套差异化版式（course.html 特色优势区块）
   方案 A「模式好」= .fm- 前缀；方案 B「内容好」= .fl- 前缀
   仅追加新规则，不改动上方既有 .feature-* 规则
   ================================================================ */

/* ---------- 方案 A · 模式好：双轨泳道 ---------- */
.fm-duo{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}
.fm-duo::after{content:"";position:absolute;left:50%;top:0;bottom:0;border-left:1px dashed var(--line);transform:translateX(-.5px)}
.fm-duo-tag{position:absolute;top:-11px;left:50%;transform:translateX(-50%);z-index:1;
  background:var(--card);border:1px dashed var(--primary);border-radius:999px;padding:3px 14px;
  font-size:11.5px;font-weight:800;color:var(--primary);white-space:nowrap}
.fm-lane{--lane:#3aa8e8;position:relative;background:var(--card2);border-radius:var(--r-sm);
  border-left:4px solid var(--lane);padding:16px 18px 8px}
.fm-lane.lane-cn{--lane:#a74ff7}
.fm-lane-head{display:flex;align-items:baseline;gap:8px;margin-bottom:4px;padding-right:76px}
.fm-lane-head b{font-size:16px;font-weight:900}
.fm-lane-head small{font-size:12.5px;color:var(--text2);font-weight:700}
.fm-lane-badge{position:absolute;top:14px;right:14px;background:var(--lane);color:#fff;
  font-size:11px;font-weight:800;border-radius:999px;padding:3px 10px;white-space:nowrap}
.fm-lane-item{display:flex;align-items:center;font-size:13.5px;font-weight:700;color:var(--text2);
  padding:7px 0;border-bottom:1px dashed var(--line)}
.fm-lane-item:last-child{border-bottom:none}
.fm-lane-item i{font-style:normal;font-weight:900;color:var(--lane);margin-right:8px}

/* ---------- 方案 A · 课堂数字条 ---------- */
.fm-nums{display:flex;background:var(--card2);border-radius:var(--r-sm);margin-bottom:24px}
.fm-num{flex:1;display:flex;align-items:baseline;justify-content:center;gap:10px;padding:16px 12px;flex-wrap:wrap}
.fm-num+.fm-num{border-left:1px dashed var(--line)}
.fm-num em{font-style:normal;font-size:22px;font-weight:900;color:var(--primary)}
.fm-num span{font-size:13px;color:var(--text2)}

/* ---------- 方案 A · 课后五步闭环 ---------- */
.fm-loop-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}
.fm-loop-head b{font-size:15px;font-weight:800}
.fm-loop-head strong{font-size:15px;font-weight:900;color:var(--primary);white-space:nowrap}
.fm-steps{display:flex;align-items:stretch;gap:6px}
.fm-step{flex:1;position:relative;background:var(--card2);border-radius:var(--r-sm);padding:14px 12px}
.fm-step-num{width:28px;height:28px;border-radius:50%;background:var(--primary-grad);color:#fff;
  display:grid;place-items:center;font-size:13px;font-weight:900;margin-bottom:8px}
.fm-step b{display:block;font-size:14px;font-weight:800}
.fm-step p{font-size:12.5px;color:var(--text2);margin-top:2px;line-height:1.6}
.fm-arrow{align-self:center;color:var(--primary);font-weight:900;font-size:16px;flex-shrink:0}
.fm-loop-back{position:relative;height:24px;width:220px;margin:6px 40px 0 auto;
  border:2px dashed var(--primary);border-top:none;border-radius:0 0 14px 14px}
.fm-loop-back span{position:absolute;bottom:-12px;left:50%;transform:translateX(-50%);
  background:var(--card);border:1px dashed var(--primary);border-radius:999px;padding:2px 12px;
  font-size:11px;font-weight:800;color:var(--primary);white-space:nowrap}

/* ---------- 方案 A · 评估四级联动（自建样式，不复用 path 页 .ys-path/.ys-pc） ---------- */
.fm-eval{margin-top:24px;margin-bottom:26px}
.fm-eval-cards{display:flex;align-items:stretch;gap:6px}
.fm-ev-card{flex:1;border:1.5px dashed var(--line);border-radius:var(--r-sm);background:var(--card2);padding:12px 14px}
.fm-ev-card b{font-size:14px;font-weight:800}
.fm-ev-card p{font-size:12px;color:var(--text2);margin-top:2px}

/* ---------- 方案 A · 收口承诺条 ---------- */
.fm-promise{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
  border:2px dashed var(--primary);border-radius:999px;padding:14px 28px}
.fm-promise>span:first-child{font-weight:800;font-size:14.5px}
.fm-promise-badge{background:var(--primary-grad);color:#fff;border-radius:999px;
  padding:8px 18px;font-size:13px;font-weight:800;white-space:nowrap}

/* ---------- 方案 B · 内容好：五级阶梯（五级色沿用站内 .lv-block 配色） ---------- */
.fl-skip{display:inline-block;border:1px dashed var(--primary);color:var(--primary);
  border-radius:999px;padding:4px 14px;font-size:12.5px;font-weight:800;margin-top:-14px;margin-bottom:24px}
.fl-stairs{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;align-items:start}
.fl-step{position:relative;background:var(--card2);border-radius:var(--r-sm);padding:14px 12px;border-top:5px solid var(--sc)}
.fl-step::after{content:"";position:absolute;top:-12px;right:-4px;width:24px;border-top:2px dashed var(--sc);transform:rotate(-35deg)}
.fl-step.s1{--sc:#4f6ef7;--sc-bg:rgba(79,110,247,.10);margin-top:96px}
.fl-step.s2{--sc:#2fb6d9;--sc-bg:rgba(47,182,217,.10);margin-top:72px}
.fl-step.s3{--sc:#2fc98a;--sc-bg:rgba(47,201,138,.10);margin-top:48px}
.fl-step.s4{--sc:#f7a34f;--sc-bg:rgba(247,163,79,.10);margin-top:24px}
.fl-step.s5{--sc:#a74ff7;--sc-bg:rgba(167,79,247,.10);margin-top:0}
.fl-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.fl-badge{font-size:22px;font-weight:900;color:#fff;background:var(--sc);border-radius:8px;padding:1px 10px;line-height:1.4}
.fl-age{border:1px dashed var(--sc);color:var(--sc);font-size:11px;font-weight:700;border-radius:999px;padding:2px 8px;white-space:nowrap}
.fl-book{font-size:16px;font-weight:900;margin:10px 0 8px;line-height:1.4}
.fl-cover{height:56px;border:1.5px dashed var(--line);border-radius:8px;background:var(--sc-bg);display:grid;place-items:center;margin-bottom:8px}
.fl-cover b{font-size:26px;font-weight:900;color:var(--sc)}
.fl-out{border:1.5px dashed var(--line);border-radius:8px;padding:10px 12px;font-size:12.5px;color:var(--text2);line-height:1.6}
.fl-out small{display:block;font-size:11px;font-weight:800;color:var(--primary);margin-bottom:2px}
.fl-out b{color:var(--sc)}
.fl-cefr-in{display:none;margin-top:8px;font-size:12px;color:var(--text2);font-weight:700}
.fl-cefr-in b{color:var(--sc)}

/* ---------- 方案 B · CEFR 对齐标尺（与阶梯同为 5 列，逐列对齐） ---------- */
.fl-ruler{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;border-top:1px solid var(--line);margin-top:18px;padding-top:12px}
.fl-r-item{position:relative;padding-top:6px}
.fl-r-item::before{content:"";position:absolute;top:-16px;left:2px;width:6px;height:6px;border-radius:50%;background:var(--sc)}
.fl-r-item:nth-child(1){--sc:#4f6ef7}
.fl-r-item:nth-child(2){--sc:#2fb6d9}
.fl-r-item:nth-child(3){--sc:#2fc98a}
.fl-r-item:nth-child(4){--sc:#f7a34f}
.fl-r-item:nth-child(5){--sc:#a74ff7}
.fl-cefr{display:block;font-size:13px;font-weight:900;color:var(--sc)}
.fl-r-sub{font-size:11.5px;color:var(--text2)}

/* ---------- 方案 B · 底部强调条 ---------- */
.fl-strip{display:grid;grid-template-columns:repeat(3,1fr);margin-top:26px;background:var(--card2);
  border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 0;text-align:center}
.fl-strip-item{padding:10px 16px;display:flex;flex-direction:column;gap:2px}
.fl-strip-item+.fl-strip-item{border-left:1px dashed var(--line)}
.fl-strip-item em{font-style:normal;font-size:22px;font-weight:900;color:var(--primary)}
.fl-strip-item span{font-size:13px;color:var(--text2)}

/* ---------- 暗色主题：五级色提亮映射 + 虚线框底色 ---------- */
html[data-theme="dark"] .fm-lane.lane-en{--lane:#7cc4f5}
html[data-theme="dark"] .fm-lane.lane-cn{--lane:#c58ffa}
html[data-theme="dark"] .fl-step.s1{--sc:#8fa3ff;--sc-bg:rgba(143,163,255,.18)}
html[data-theme="dark"] .fl-step.s2{--sc:#7cc4f5;--sc-bg:rgba(124,196,245,.18)}
html[data-theme="dark"] .fl-step.s3{--sc:#5fd6a4;--sc-bg:rgba(95,214,164,.18)}
html[data-theme="dark"] .fl-step.s4{--sc:#f9bd7f;--sc-bg:rgba(249,189,127,.18)}
html[data-theme="dark"] .fl-step.s5{--sc:#c58ffa;--sc-bg:rgba(197,143,250,.18)}
html[data-theme="dark"] .fl-r-item:nth-child(1){--sc:#8fa3ff}
html[data-theme="dark"] .fl-r-item:nth-child(2){--sc:#7cc4f5}
html[data-theme="dark"] .fl-r-item:nth-child(3){--sc:#5fd6a4}
html[data-theme="dark"] .fl-r-item:nth-child(4){--sc:#f9bd7f}
html[data-theme="dark"] .fl-r-item:nth-child(5){--sc:#c58ffa}
html[data-theme="dark"] .fl-cover{background:var(--sc-bg)}
html[data-theme="dark"] .fl-out{background:rgba(255,255,255,.05)}

/* ---------- 响应式 · 980px：方案 A 五步链改竖排左侧时间线；方案 B 阶梯改单列缩进 ---------- */
@media(max-width:980px){
  .fm-steps{flex-direction:column;position:relative}
  .fm-steps::before{content:"";position:absolute;left:12px;top:4px;bottom:4px;border-left:2px dashed var(--primary);opacity:.45}
  .fm-step{margin-left:36px}
  .fm-step .fm-step-num{position:absolute;top:12px;left:-35px;margin:0}
  .fm-arrow,.fm-loop-back{display:none}
  .fm-eval-cards{flex-direction:column}
  .fl-stairs{grid-template-columns:1fr}
  .fl-step.s1,.fl-step.s2,.fl-step.s3,.fl-step.s4,.fl-step.s5{margin-top:0}
  .fl-step.s1{margin-left:0}
  .fl-step.s2{margin-left:16px}
  .fl-step.s3{margin-left:32px}
  .fl-step.s4{margin-left:48px}
  .fl-step.s5{margin-left:64px}
  .fl-step::after{display:none}
  .fl-ruler{display:none}
  .fl-cefr-in{display:block}
}

/* ---------- 响应式 · 720px：泳道 / 数字条 / 承诺条 / 强调条改纵向 ---------- */
@media(max-width:720px){
  .fm-duo{grid-template-columns:1fr}
  .fm-duo::after,.fm-duo-tag{display:none}
  .fm-nums{flex-direction:column}
  .fm-num+.fm-num{border-left:none;border-top:1px dashed var(--line)}
  .fm-promise{flex-direction:column;align-items:flex-start;border-radius:24px;padding:18px 20px}
  .fl-strip{grid-template-columns:1fr;padding:0}
  .fl-strip-item+.fl-strip-item{border-left:none;border-top:1px dashed var(--line)}
}

/* ---------- 响应式 · 560px：方案 B 阶梯缩进减半 / 时间线收紧 ---------- */
@media(max-width:560px){
  .fl-step.s2{margin-left:8px}
  .fl-step.s3{margin-left:16px}
  .fl-step.s4{margin-left:24px}
  .fl-step.s5{margin-left:32px}
  .fm-step{margin-left:32px}
  .fm-step .fm-step-num{left:-31px}
}

/* ================================================================
   方案 C · 老师好：按科目分工卡片（.ft- 前缀，学科色走 --ft 变量）
   ================================================================ */

/* ---------- 3 列卡片栅格 + 科目卡 ---------- */
.ft-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px;align-items:stretch}
.ft-card{background:var(--card);border:1px solid var(--line);border-top:4px solid var(--ft);
  border-radius:var(--r-sm);padding:18px 11px;display:flex;flex-direction:column}
.ft-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.ft-tag{font-size:10px;font-weight:900;letter-spacing:1px;color:var(--ft);
  border:1px dashed var(--ft);border-radius:4px;padding:2px 6px;line-height:1.4;white-space:nowrap}
.ft-head b{font-size:15px;font-weight:900}
.ft-pos{font-size:13px;font-weight:800;color:var(--ft);line-height:1.5;margin-bottom:10px}
.ft-sec{margin-bottom:10px}
.ft-k{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:800;color:var(--text3);margin-bottom:4px}
.ft-k::before{content:"";width:14px;height:2px;border-radius:2px;background:var(--ft);opacity:.7}
.ft-sec ul{list-style:none}
.ft-sec li{position:relative;padding-left:10px;font-size:12px;line-height:1.65;color:var(--text2)}
.ft-sec li::before{content:"";position:absolute;left:2px;top:.62em;width:5px;height:5px;
  border-radius:50%;background:var(--ft)}
.ft-check{margin-top:auto;border:1px dashed var(--ft-soft);
  border-radius:8px;padding:9px 11px;font-size:12px;line-height:1.6;color:var(--text2)}
.ft-check b{display:block;color:var(--ft);font-weight:900;margin-bottom:2px}

/* ---------- 第 6 格：数字卡（虚线框 · 2×2 小格） ---------- */
.ft-nums{background:var(--card2);border:1px dashed var(--line);border-radius:var(--r-sm);
  padding:18px 16px;display:flex;flex-direction:column}
.ft-nums-title{font-size:12px;font-weight:800;color:var(--text3);letter-spacing:2px;
  text-align:center;margin-bottom:12px}
.ft-nums-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;flex:1}
.ft-num{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:10px 8px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-align:center}
.ft-num em{font-style:normal;font-size:24px;font-weight:900;color:var(--primary)}
.ft-num span{font-size:11.5px;font-weight:700;color:var(--text2);line-height:1.4;text-wrap:balance}

/* ---------- 底部分工原则胶囊（同 .fm-promise 语言） ---------- */
.ft-note{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
  border:2px dashed var(--primary);border-radius:999px;padding:12px 24px;
  font-size:14px;font-weight:700;line-height:1.6}
.ft-note b{color:var(--primary);font-weight:900;margin-right:6px;white-space:nowrap}
.ft-note-badge{background:var(--primary-grad);color:#fff;border-radius:999px;
  padding:7px 16px;font-size:12.5px;font-weight:800;white-space:nowrap}

/* ---------- 暗色主题：五学科色提亮 + 卡片底改透明（!important 压过内联 --ft） ---------- */
html[data-theme="dark"] .ft-card{background:rgba(255,255,255,.03)}
html[data-theme="dark"] .ft-nums{background:rgba(255,255,255,.03)}
html[data-theme="dark"] .ft-num{background:rgba(255,255,255,.05)}
html[data-theme="dark"] .ft-card[style*="#3aa8e8"]{--ft:#7cc4f5 !important}
html[data-theme="dark"] .ft-card[style*="#a74ff7"]{--ft:#c58ffa !important}
html[data-theme="dark"] .ft-card[style*="#2fc98a"]{--ft:#5fd6a4 !important}
html[data-theme="dark"] .ft-card[style*="#f7a34f"]{--ft:#f9bd7f !important}
html[data-theme="dark"] .ft-card[style*="#7a8699"]{--ft:#a3aec2 !important}
/* 暗底上灰色 35% 太小，单给「课后班主任」把虚线框提亮到 55%（其余四色 35% 实测可读） */
html[data-theme="dark"] .ft-card[style*="#7a8699"]{--ft-soft:rgba(163,174,194,.55) !important}

/* ---------- 响应式：≤1180px 3 列→2 列；≤720px 1 列 + 胶囊改圆角矩形 ---------- */
@media(max-width:1180px){
  .ft-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:720px){
  .ft-grid{grid-template-columns:1fr}
  .ft-note{border-radius:var(--r-lg);flex-direction:column;align-items:flex-start;padding:16px 18px}
}

/* ================================================================
   【1102 · C】#feature 课程优势：手绘插画风格（与前几个界面的手绘大板同一套语言）
   三级标题：Why us → 课程特色 & 优势 → 一句话小标题
   下一行：师资好 / 模式好 / 内容好 三个手绘点线胶囊 tab → 下方整行显示对应内容
   ================================================================ */
#feature{background:radial-gradient(circle at 50% 0%, #f4efe3 0%, #e6dfcf 62%, #d9d2c0 100%);position:relative;overflow:hidden}
#feature::before{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(61,70,66,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(61,70,66,.06) 1px,transparent 1px);
  background-size:22px 22px}
#feature .container{position:relative;z-index:1}

/* ---------- 标题：Why us + 课程特色 & 优势 同圈在一个胶囊框内 ---------- */
#feature .sec-head{margin-bottom:34px;max-width:760px}
#feature .why-capsule{display:inline-flex;flex-direction:column;align-items:center;gap:8px;
  padding:18px 52px 16px;border:1.9px dashed #7a9ec9;border-radius:120px;
  background:rgba(255,253,247,.78);box-shadow:0 8px 20px rgba(90,84,64,.13)}
#feature .sec-head.capsule h2{--capc:#7a9ec9;background:none;border:0;box-shadow:none;
  color:#3d4642;height:auto;padding:0;margin:0;display:block;
  font-size:32px;font-weight:800;letter-spacing:3px;line-height:1.1}
#feature .why-dash{display:block;width:66px;border-top:2px dotted #7a9ec9;opacity:.6}
#feature .why-sub{margin:0;padding:0;border:0;background:none;box-shadow:none;
  font-size:16.5px;font-weight:800;color:#5cab93;letter-spacing:2px;line-height:1.3}
#feature .why-sub i{font-style:normal;color:#7a9ec9;margin:0 3px;font-weight:900}
#feature .why-note{margin-top:18px;font-size:15px;color:#5a635e;letter-spacing:.6px;line-height:1.9}

/* ---------- 外层纸面框 ---------- */
#feature .feature-wrap{display:block;background:rgba(255,253,247,.62);
  border:2px dashed rgba(61,70,66,.3);border-radius:22px;
  padding:26px clamp(14px,2.4vw,30px) 30px;box-shadow:0 20px 44px rgba(90,84,64,.16)}

/* ---------- 三个手绘胶囊 tab（一整行） ---------- */
#feature .feature-nav{position:static;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;
  background:none;border:0;border-radius:0;padding:0;box-shadow:none;margin:0 0 22px;overflow:visible}
#feature .feature-nav button{position:relative;display:flex;align-items:center;gap:13px;
  padding:13px 18px;background:rgba(255,255,255,.74);
  border:2px dashed var(--tc);border-radius:118px 104px 116px 100px/100px 116px 104px 118px;
  box-shadow:0 6px 16px rgba(90,84,64,.10);cursor:pointer;text-align:left;font-family:inherit;
  color:#3d4642;transition:transform .22s ease,box-shadow .22s ease,background .22s ease}
#feature .feature-nav button:nth-child(1){--tc:#3aa8e8;transform:rotate(-.7deg)}
#feature .feature-nav button:nth-child(2){--tc:#a74ff7;transform:rotate(.6deg)}
#feature .feature-nav button:nth-child(3){--tc:#f7a34f;transform:rotate(-.5deg)}
#feature .feature-nav button:hover{transform:translateY(-3px) rotate(0deg);box-shadow:0 12px 24px rgba(90,84,64,.16)}
#feature .feature-nav button.active{transform:translateY(-2px) rotate(0deg);
  background:#fffdf7;border-style:solid;border-width:2.4px;
  box-shadow:0 10px 24px rgba(90,84,64,.18),0 0 0 4px rgba(255,255,255,.55)}
#feature .why-ico{width:44px;height:44px;flex-shrink:0;display:grid;place-items:center;
  border:1.6px dashed var(--tc);border-radius:14px 12px 15px 11px/11px 15px 12px 14px;
  background:rgba(255,255,255,.82);color:var(--tc);transition:.22s ease}
#feature .why-ico svg{width:24px;height:24px}
#feature .feature-nav button.active .why-ico{background:var(--tc);border-style:solid;border-color:var(--tc);color:#fff}
#feature .why-lbl{display:flex;flex-direction:column;line-height:1.25;min-width:0}
#feature .why-lbl b{position:relative;font-size:17.5px;font-weight:900;letter-spacing:2px;color:#1d2333}
#feature .feature-nav button.active .why-lbl b::after{content:"";position:absolute;left:1px;right:1px;bottom:-3px;
  height:4px;border-radius:4px;background:var(--tc);opacity:.9;transform:rotate(-1.2deg)}
#feature .why-lbl small{font-size:12px;font-weight:700;color:#78807a;margin-top:4px;letter-spacing:.4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#feature .feature-nav button.active .why-lbl small{color:#3d4642}

/* ---------- 整行内容区（小方格纸面 + 虚线框） ---------- */
#feature .feature-content{background-color:#fffdf7;
  background-image:linear-gradient(rgba(61,70,66,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(61,70,66,.05) 1px,transparent 1px);
  background-size:22px 22px;
  border:2.4px dashed rgba(61,70,66,.26);border-radius:20px;
  padding:32px clamp(16px,2.6vw,34px) 30px;box-shadow:0 10px 26px rgba(90,84,64,.10)}
#feature .feature-content h3{font-size:24px;color:#3d4642;letter-spacing:.5px}
#feature .feature-content .lead{color:#5a635e;font-size:15px;line-height:1.85;max-width:980px}
#featureContent.swap{animation:featIn .32s ease both}
@keyframes featIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* ---------- 暗色主题 ---------- */
html[data-theme="dark"] #feature{background:linear-gradient(180deg,#232833 0%,#1c212b 100%)}
html[data-theme="dark"] #feature::before{background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px)}
html[data-theme="dark"] #feature .feature-wrap{background:rgba(23,27,36,.6);border-color:rgba(255,255,255,.2);box-shadow:0 20px 44px rgba(0,0,0,.4)}
html[data-theme="dark"] #feature .why-capsule{background:rgba(23,27,36,.62);border-color:#6ea3d8}
html[data-theme="dark"] #feature .sec-head.capsule h2{background:none;border:0;color:#e8ecf2}
html[data-theme="dark"] #feature .why-dash{border-top-color:#6ea3d8}
html[data-theme="dark"] #feature .why-sub{background:none;border:0;color:#5fc48f}
html[data-theme="dark"] #feature .why-sub i{color:#8fbdea}
html[data-theme="dark"] #feature .why-note{color:#a9b1bd}
html[data-theme="dark"] #feature .feature-nav button{background:rgba(255,255,255,.05);color:#e8ecf2;box-shadow:0 6px 16px rgba(0,0,0,.3)}
html[data-theme="dark"] #feature .feature-nav button.active{background:rgba(255,255,255,.1)}
html[data-theme="dark"] #feature .why-ico{background:rgba(255,255,255,.08)}
html[data-theme="dark"] #feature .why-lbl b{color:#eef1f8}
html[data-theme="dark"] #feature .why-lbl small{color:#9aa4b8}
html[data-theme="dark"] #feature .feature-nav button.active .why-lbl small{color:#dbe2ee}
html[data-theme="dark"] #feature .feature-nav button:nth-child(1){--tc:#7cc4f5}
html[data-theme="dark"] #feature .feature-nav button:nth-child(2){--tc:#c58ffa}
html[data-theme="dark"] #feature .feature-nav button:nth-child(3){--tc:#f9bd7f}
html[data-theme="dark"] #feature .feature-content{background-color:#232833;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  border-color:rgba(255,255,255,.2);box-shadow:0 10px 26px rgba(0,0,0,.35)}
html[data-theme="dark"] #feature .feature-content h3{color:#eef1f8}
html[data-theme="dark"] #feature .feature-content .lead{color:#b6bed1}

/* ---------- 响应式：≤900px tab 竖排；≤560px 收紧 ---------- */
@media(max-width:900px){
  #feature .feature-nav{grid-template-columns:1fr;gap:10px}
  #feature .feature-nav button:nth-child(n){transform:none}
  #feature .feature-nav button.active{transform:none}
  #feature .why-lbl small{white-space:normal;overflow:visible}
  #feature .feature-content{padding:24px 18px 22px}
  #feature .feature-wrap{padding:18px 14px 20px;border-radius:18px}
}
@media(max-width:560px){
  #feature .why-capsule{padding:14px 32px 13px;gap:6px}
  #feature .sec-head.capsule h2{font-size:26px;letter-spacing:2px}
  #feature .why-sub{font-size:14.5px;letter-spacing:1.2px}
  #feature .why-dash{width:52px}
  #feature .why-note{font-size:13.5px;line-height:1.8}
  #feature .why-lbl b{font-size:16px}
  #feature .why-ico{width:38px;height:38px}
  #feature .why-ico svg{width:21px;height:21px}
}

/* ---------- #feature 内容区 h3 前置图标：手绘小贴纸框（不改文案，只换框） ---------- */
#feature .feature-content h3 .fi{width:42px;height:42px;flex-shrink:0;display:grid;place-items:center;
  font-size:20px;line-height:1;border:1.6px dashed rgba(61,70,66,.3);border-radius:13px 11px 14px 10px/10px 14px 11px 13px;
  background:rgba(255,255,255,.78);box-shadow:0 3px 9px rgba(90,84,64,.08)}
html[data-theme="dark"] #feature .feature-content h3 .fi{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.24)}

/* ================================================================
   【1102】#testi 大众点评真实好评卡（.t-dzdp）：橙色来源徽章 + 日期
   ================================================================ */
.testi.t-dzdp .t-src{display:flex;align-items:center;gap:10px;margin-bottom:8px;min-height:20px}
.testi.t-dzdp .t-badge{display:inline-flex;align-items:center;gap:4px;
  background:#ff6633;color:#fff;font-size:11px;font-weight:800;letter-spacing:.5px;
  border-radius:6px;padding:2.5px 9px;line-height:1.4}
.testi.t-dzdp .t-badge::before{content:"👑";font-size:10.5px}
.testi.t-dzdp time{font-size:11.5px;font-weight:700;color:var(--text3)}
.testi.t-dzdp .who span{color:var(--text3)}

/* ================================================================
   【1102】#testi 点评原文截图区（.shots-*）：手账贴纸风横向滑动 + 点击放大
   设计原则：克制呈现——小尺寸、微倾斜、低调说明文字，避免密集截图墙的推销感
   ================================================================ */
#testi .shots-block{margin-top:44px;padding-top:8px}
#testi .shots-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;
  padding:0 6px 4px}
#testi .shots-cap{display:inline-flex;align-items:center;gap:6px;
  font-size:13.5px;font-weight:900;color:#5a635e;letter-spacing:2px}
#testi .shots-cap::before{content:"";width:18px;border-top:2px dotted #b7ab8f;transform:rotate(-2deg)}
#testi .shots-head small{font-size:12.5px;font-weight:600;color:#9aa096;letter-spacing:.5px}
#testi .shots-strip{display:flex;align-items:flex-start;justify-content:center;
  padding:30px 6px 26px}
#testi .shot{position:relative;flex:0 0 auto;width:186px;
  background:#fffdf7;padding:9px 9px 13px;border-radius:4px;cursor:zoom-in;
  border:1px solid rgba(90,84,64,.14);
  box-shadow:0 8px 20px rgba(90,84,64,.16),0 2px 6px rgba(90,84,64,.10);
  transform:rotate(var(--r,0deg));transform-origin:50% 92%;
  transition:transform .28s cubic-bezier(.2,.8,.3,1),box-shadow .28s ease}
/* 一行逐张叠压：右侧部分被下一张盖住（每张露出约 82px），末张完整显示 */
#testi .shot + .shot{margin-left:-104px}
#testi .shot::before{content:"";position:absolute;top:-9px;left:50%;width:64px;height:18px;
  transform:translateX(-50%) rotate(-2.5deg);border-radius:2px;
  background:rgba(222,205,160,.55);border:1px dashed rgba(122,105,70,.28);pointer-events:none}
#testi .shot img{display:block;width:100%;height:318px;object-fit:cover;object-position:top;
  border-radius:2px;background:#e8e2d2}
/* 悬停：把这张从叠层里抽出来 → 归正、上浮、提到最上层 */
#testi .shot:hover{transform:rotate(0deg) translateY(-12px) scale(1.05);z-index:30;
  box-shadow:0 20px 40px rgba(90,84,64,.28)}
#testi .shot:focus-visible{outline:2px dashed #7a9ec9;outline-offset:4px;z-index:30}
/* 点击放大遮罩 */
#testi .shot-light{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;
  justify-content:center;background:rgba(24,28,26,.86);padding:28px;cursor:zoom-out}
#testi .shot-light[hidden]{display:none}
#testi .shot-light img{max-width:min(560px,92vw);max-height:90vh;width:auto;height:auto;
  border-radius:6px;background:#fff;box-shadow:0 24px 60px rgba(0,0,0,.5);
  border:6px solid #fffdf7}

/* ---------- 暗色 ---------- */
html[data-theme="dark"] #testi .shots-cap{color:#c6cdd8}
html[data-theme="dark"] #testi .shots-head small{color:#8a93a5}
html[data-theme="dark"] #testi .shot{background:#2a303c;border-color:rgba(255,255,255,.14);
  box-shadow:0 8px 20px rgba(0,0,0,.4)}
html[data-theme="dark"] #testi .shot::before{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.2)}
html[data-theme="dark"] #testi .shot img{background:#1c212b}

/* ---------- 响应式 ---------- */
@media(max-width:720px){
  #testi .shots-block{margin-top:30px}
  /* 手机：一行放不下 12 张 → 恢复横向滑动，取消叠压 */
  #testi .shots-strip{justify-content:flex-start;overflow-x:auto;gap:18px;
    padding:22px 6px 16px;scroll-snap-type:x proximity;
    scrollbar-width:thin;scrollbar-color:rgba(122,158,201,.5) transparent}
  #testi .shot + .shot{margin-left:0}
  #testi .shot{width:142px;padding:7px 7px 10px;scroll-snap-align:center}
  #testi .shot img{height:244px}
  #testi .shot:hover{transform:rotate(var(--r,0deg))}
}

/* ================================================================
   【1102】#testi 标题胶囊：Integrity & Feedback + 家长们的心声 同圈一框
   （复用 #feature 的手绘胶囊语言，独立作用域避免互相影响）
   ================================================================ */
#testi .why-capsule{display:inline-flex;flex-direction:column;align-items:center;gap:8px;
  padding:18px 56px 16px;border:1.9px dashed #7a9ec9;border-radius:120px;
  background:rgba(255,253,247,.78);box-shadow:0 8px 20px rgba(90,84,64,.13)}
#testi .why-capsule h2{margin:0;font-size:30px;font-weight:800;letter-spacing:1.6px;
  line-height:1.15;color:#3d4642;white-space:nowrap}
#testi .why-dash{display:block;width:66px;border-top:2px dotted #7a9ec9;opacity:.6}
#testi .why-sub{font-size:16.5px;font-weight:800;color:#5cab93;letter-spacing:2px;line-height:1.3}
#testi .sec-head p{margin-top:18px}
html[data-theme="dark"] #testi .why-capsule{background:rgba(23,27,36,.62);border-color:#6ea3d8}
html[data-theme="dark"] #testi .why-capsule h2{color:#e8ecf2}
html[data-theme="dark"] #testi .why-dash{border-top-color:#6ea3d8}
html[data-theme="dark"] #testi .why-sub{color:#5fc48f}
@media(max-width:560px){
  #testi .why-capsule{padding:14px 30px 13px;gap:6px}
  #testi .why-capsule h2{font-size:21px;letter-spacing:.8px}
  #testi .why-dash{width:52px}
  #testi .why-sub{font-size:14.5px;letter-spacing:1.2px}
}

/* ================================================================
   【1103】#course 标题胶囊：Resource Center + 每个级别学什么 同圈一框
   （复用手绘胶囊语言，独立作用域；下方外教/中教双胶囊 cap-track 保留）
   ================================================================ */
#course .why-capsule{display:flex;flex-direction:column;align-items:center;gap:8px;
  width:fit-content;margin:0 auto;
  padding:18px 56px 16px;border:1.9px dashed #7a9ec9;border-radius:120px;
  background:rgba(255,253,247,.78);box-shadow:0 8px 20px rgba(90,84,64,.13)}
#course .why-capsule h2{margin:0;font-size:30px;font-weight:800;letter-spacing:1.6px;
  line-height:1.15;color:#3d4642;white-space:nowrap}
#course .why-dash{display:block;width:66px;border-top:2px dotted #7a9ec9;opacity:.6}
#course .why-sub{font-size:16.5px;font-weight:800;color:#5cab93;letter-spacing:2px;line-height:1.3}
#course .cap-track{margin-top:20px}
html[data-theme="dark"] #course .why-capsule{background:rgba(23,27,36,.62);border-color:#6ea3d8}
html[data-theme="dark"] #course .why-capsule h2{color:#e8ecf2}
html[data-theme="dark"] #course .why-dash{border-top-color:#6ea3d8}
html[data-theme="dark"] #course .why-sub{color:#5fc48f}
@media(max-width:560px){
  #course .why-capsule{padding:14px 30px 13px;gap:6px}
  #course .why-capsule h2{font-size:21px;letter-spacing:.8px}
  #course .why-dash{width:52px}
  #course .why-sub{font-size:14.5px;letter-spacing:1.2px}
}

/* ================================================================
   【1102】#faq 常见问答手风琴：原生 details/summary，零 JS，手绘虚线胶囊风
   （复用 #feature/#testi 的手绘语言：方格纸底 + 虚线胶囊 + 四色交替 + 微倾斜）
   ================================================================ */
#faq{background:radial-gradient(circle at 50% 0%, #f4efe3 0%, #e6dfcf 62%, #d9d2c0 100%);position:relative;overflow:hidden}
#faq::before{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(61,70,66,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(61,70,66,.06) 1px,transparent 1px);
  background-size:22px 22px}
#faq .container{position:relative;z-index:1}
#faq .sec-head{margin-bottom:34px}

/* ---------- 标题胶囊（与 #testi/#course 同款，flex + width:fit-content 独占一行居中） ---------- */
#faq .why-capsule{display:flex;flex-direction:column;align-items:center;gap:8px;
  width:fit-content;margin:0 auto;
  padding:18px 56px 16px;border:1.9px dashed #7a9ec9;border-radius:120px;
  background:rgba(255,253,247,.78);box-shadow:0 8px 20px rgba(90,84,64,.13)}
#faq .why-capsule h2{margin:0;font-size:30px;font-weight:800;letter-spacing:1.6px;
  line-height:1.15;color:#3d4642;white-space:nowrap}
#faq .why-dash{display:block;width:66px;border-top:2px dotted #7a9ec9;opacity:.6}
#faq .why-sub{font-size:16.5px;font-weight:800;color:#5cab93;letter-spacing:2px;line-height:1.3}

/* ---------- 手风琴列表 ---------- */
#faq .faq-list{max-width:880px;margin:0 auto}
#faq .faq-item + .faq-item{margin-top:14px}
/* 四色交替（问题条描边 / 序号徽章 / 箭头 同色；--qsoft 为答案区弱化边框） */
#faq .faq-item{--qc:#3aa8e8;--qsoft:rgba(58,168,232,.45)}
#faq .faq-item:nth-child(4n+2){--qc:#a74ff7;--qsoft:rgba(167,79,247,.42)}
#faq .faq-item:nth-child(4n+3){--qc:#2f9b6f;--qsoft:rgba(47,155,111,.45)}
#faq .faq-item:nth-child(4n){--qc:#f7a34f;--qsoft:rgba(247,163,79,.5)}

#faq .faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;
  padding:15px 24px;background:rgba(255,253,247,.74);
  border:2px dashed var(--qc);border-radius:118px 104px 116px 100px/100px 116px 104px 118px;
  box-shadow:0 6px 16px rgba(90,84,64,.10);
  font-size:16.5px;font-weight:800;line-height:1.5;color:#3d4642;
  transition:transform .22s ease,box-shadow .22s ease,background .22s ease}
#faq .faq-item summary::-webkit-details-marker{display:none}
/* 隔条微倾斜，hover 归正上浮 */
#faq .faq-item:nth-child(odd) summary{transform:rotate(-.5deg)}
#faq .faq-item:nth-child(even) summary{transform:rotate(.4deg)}
#faq .faq-item:hover summary,#faq .faq-item[open] summary{transform:rotate(0deg) translateY(-2px);
  box-shadow:0 12px 24px rgba(90,84,64,.16)}

/* 序号徽章：手绘小方框 01-08 */
#faq .faq-no{flex-shrink:0;display:grid;place-items:center;width:36px;height:36px;
  border:1.8px dashed var(--qc);border-radius:12px 10px 13px 9px/9px 13px 10px 12px;
  background:rgba(255,255,255,.82);color:var(--qc);
  font-size:13px;font-weight:900;letter-spacing:.5px}
#faq .faq-q{flex:1;min-width:0}

/* 展开箭头：「+」手绘十字，open 时整体转 45° 变「×」 */
#faq .faq-arrow{position:relative;flex-shrink:0;width:22px;height:22px;transition:transform .25s ease}
#faq .faq-arrow::before,#faq .faq-arrow::after{content:"";position:absolute;left:50%;top:50%;
  transform:translate(-50%,-50%);background:var(--qc);border-radius:2px}
#faq .faq-arrow::before{width:14px;height:2.4px}
#faq .faq-arrow::after{width:2.4px;height:14px}
#faq .faq-item[open] .faq-arrow{transform:rotate(45deg)}

/* ---------- 答案区：小方格纸面 + 弱化虚线框 + 淡入动画 ---------- */
#faq .faq-a{margin-top:10px;padding:20px 28px;border-radius:16px;
  background-color:#fffdf7;
  background-image:linear-gradient(rgba(61,70,66,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(61,70,66,.05) 1px,transparent 1px);
  background-size:22px 22px;
  border:2px dashed var(--qsoft);
  font-size:15px;line-height:1.9;color:#5a635e}
#faq .faq-item[open] .faq-a{animation:faqIn .3s ease both}
@keyframes faqIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* ---------- 暗色主题（独立作用域，参考 html[data-theme="dark"] #feature） ---------- */
html[data-theme="dark"] #faq{background:linear-gradient(180deg,#232833 0%,#1c212b 100%)}
html[data-theme="dark"] #faq::before{background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px)}
html[data-theme="dark"] #faq .why-capsule{background:rgba(23,27,36,.62);border-color:#6ea3d8}
html[data-theme="dark"] #faq .why-capsule h2{color:#e8ecf2}
html[data-theme="dark"] #faq .why-dash{border-top-color:#6ea3d8}
html[data-theme="dark"] #faq .why-sub{color:#5fc48f}
html[data-theme="dark"] #faq .faq-item{--qc:#7cc4f5;--qsoft:rgba(124,196,245,.4)}
html[data-theme="dark"] #faq .faq-item:nth-child(4n+2){--qc:#c58ffa;--qsoft:rgba(197,143,250,.4)}
html[data-theme="dark"] #faq .faq-item:nth-child(4n+3){--qc:#5fd0a0;--qsoft:rgba(95,208,160,.4)}
html[data-theme="dark"] #faq .faq-item:nth-child(4n){--qc:#f9bd7f;--qsoft:rgba(249,189,127,.4)}
html[data-theme="dark"] #faq summary{background:rgba(255,255,255,.05);color:#e8ecf2;
  box-shadow:0 6px 16px rgba(0,0,0,.3)}
html[data-theme="dark"] #faq .faq-no{background:rgba(255,255,255,.08)}
html[data-theme="dark"] #faq .faq-a{background-color:#232833;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  color:#b6bed1}

/* ---------- 响应式 ≤720px：字号缩小、倾斜取消、内边距收紧 ---------- */
@media(max-width:720px){
  #faq .faq-item summary{padding:12px 16px;gap:10px;font-size:14.5px}
  #faq .faq-item:nth-child(odd) summary,#faq .faq-item:nth-child(even) summary{transform:none}
  #faq .faq-item:hover summary,#faq .faq-item[open] summary{transform:translateY(-2px)}
  #faq .faq-no{width:30px;height:30px;font-size:11.5px}
  #faq .faq-a{padding:16px 16px;font-size:14px}
  #faq .why-capsule{padding:14px 30px 13px;gap:6px}
  #faq .why-capsule h2{font-size:21px;letter-spacing:.8px}
  #faq .why-dash{width:52px}
  #faq .why-sub{font-size:14.5px;letter-spacing:1.2px}
}

/* ================= 免费预约体验 · 弹窗（.bk- 前缀，全站共享） ================= */
.bk-modal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;
  background:rgba(20,24,40,.55);backdrop-filter:blur(6px);opacity:0;visibility:hidden;transition:.28s}
.bk-modal.show{opacity:1;visibility:visible}
.bk-box{position:relative;width:520px;max-width:100%;max-height:92vh;overflow-y:auto;background:var(--card);
  border-radius:26px;padding:34px 36px 26px;box-shadow:var(--shadow-lg);
  transform:translateY(26px) scale(.96);transition:.32s cubic-bezier(.34,1.56,.64,1)}
.bk-modal.show .bk-box{transform:translateY(0) scale(1)}
/* 弹窗顶部彩色小圆点装饰（负偏移只朝上/朝左，避免撑出滚动条） */
.bk-box::before{content:'';position:absolute;top:-46px;right:0;width:120px;height:120px;border-radius:50%;
  background:var(--primary-grad);opacity:.16;pointer-events:none}
.bk-box::after{content:'';position:absolute;bottom:0;left:-36px;width:90px;height:90px;border-radius:50%;
  background:var(--rad);opacity:.14;pointer-events:none}
.bk-x{position:absolute;top:14px;right:14px;width:34px;height:34px;border:none;border-radius:50%;cursor:pointer;
  background:var(--card2);color:var(--text2);font-size:14px;transition:.2s;z-index:2}
.bk-x:hover{background:var(--rad);color:#fff;transform:rotate(90deg)}
.bk-head{text-align:center;margin-bottom:20px}
.bk-tag{display:inline-block;font-size:11px;letter-spacing:2.5px;font-weight:800;color:#fff;
  background:var(--primary-grad);padding:4px 14px;border-radius:99px;margin-bottom:10px}
.bk-head h3{margin:0 0 6px;font-size:23px;color:var(--text)}
.bk-head p{margin:0;font-size:13.5px;color:var(--text2)}
/* 表单 */
.bk-form-wrap{margin-bottom:16px}
.bk-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}
.bk-field-full{grid-column:1/-1}
.bk-field{display:flex;flex-direction:column;gap:5px}
.bk-field span{font-size:12.5px;font-weight:700;color:var(--text2)}
.bk-field span i{color:#ff5f6e;font-style:normal}
.bk-field input,.bk-field select{width:100%;box-sizing:border-box;padding:10px 13px;font-size:14px;color:var(--text);
  background:var(--card2);border:1.5px solid var(--line);border-radius:12px;outline:none;transition:.2s;font-family:inherit}
.bk-field input:focus,.bk-field select:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px var(--primary-soft)}
html[data-theme="dark"] .bk-field input:focus,html[data-theme="dark"] .bk-field select:focus{background:var(--card2)}
.bk-field input::placeholder{color:var(--text3)}
.bk-err{margin:10px 0 0;font-size:12.5px;color:#ff5f6e;text-align:center}
/* 预约时间：日期 + 时间段并排 */
.bk-time-row{display:flex;gap:10px}
.bk-time-row input,.bk-time-row select{flex:1;min-width:0}
.bk-submit{display:block;width:100%;margin-top:16px;padding:13px;border:none;border-radius:99px;cursor:pointer;
  font-size:15.5px;font-weight:800;color:#fff;letter-spacing:1px;background:var(--primary-grad);
  box-shadow:0 8px 20px rgba(79,110,247,.32);transition:.22s;font-family:inherit}
.bk-submit:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(79,110,247,.42)}
.bk-submit:active{transform:translateY(0)}
/* 提交成功态 */
.bk-success{text-align:center;padding:14px 0 8px}
.bk-success-ico{font-size:44px;margin-bottom:8px}
.bk-success b{font-size:19px;color:var(--text)}
.bk-success p{margin:8px 0 4px;font-size:13.5px;color:var(--text2)}
/* 底部校区信息条 */
.bk-campus{background:var(--card2);border:1.5px dashed var(--line);border-radius:16px;padding:14px 18px}
.bk-campus-title{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:800;color:var(--text);margin-bottom:10px}
.bk-campus-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}
.bk-campus-grid small{display:block;font-size:11.5px;color:var(--text3);margin-bottom:2px}
.bk-campus-grid b{font-size:13.5px;color:var(--text);font-weight:700}
.bk-addr{grid-column:1/-1}
.bk-map{color:var(--primary);text-decoration:none;font-weight:700;transition:.2s}
.bk-tel{color:var(--primary);text-decoration:none;font-weight:700;transition:.2s}
.bk-tel:hover{text-decoration:underline}
.bk-tel-note{font-size:11px;font-weight:600;color:var(--muted,#8a93a8);margin-left:2px}
.bk-map:hover{text-decoration:underline;filter:brightness(1.12)}
/* 移动端 */
@media (max-width:560px){
  .bk-box{padding:26px 20px 20px;border-radius:20px}
  .bk-grid{grid-template-columns:1fr}
  .bk-campus-grid{grid-template-columns:1fr}
}

/* ================= System 页 · 三个区域（.sys- 前缀） ================= */
#system .sys-stack{display:flex;flex-direction:column;gap:18px;max-width:860px;margin:0 auto}
.sys-card{position:relative;display:flex;gap:18px;align-items:flex-start;background:var(--card);
  border:1.5px solid var(--line);border-radius:18px;padding:22px 24px;box-shadow:var(--shadow);transition:.22s}
.sys-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.sys-no{font-family:'Baloo 2',sans-serif;font-size:26px;font-weight:800;line-height:1;color:#fff;
  background:var(--primary-grad);border-radius:14px;padding:12px 13px;flex-shrink:0}
.sys-body h3{font-size:18px;margin-bottom:8px;color:var(--text)}
.sys-body p{font-size:14px;color:var(--text2);line-height:1.75}
/* 区域 2 · 建设中 */
.sys-s2{border-style:dashed;background:var(--card2)}
.sys-s2 .sys-no{background:linear-gradient(135deg,#b8bfce,#9aa3bd)}
/* 区域 3 · 主题&互动课程 */
.sys-s3 .sys-no{background:linear-gradient(135deg,#f7a34f,#f75f6e)}
/* 整卡可点击（校如云管理系统） */
a.sys-link-card{cursor:pointer;text-decoration:none;color:inherit;-webkit-tap-highlight-color:transparent}
.sys-logo{height:46px;width:auto;border-radius:10px;
  box-shadow:0 3px 10px rgba(62,181,117,.25);transition:.25s}
.sys-link-card h3{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
a.sys-link-card:hover .sys-logo{transform:translateY(-2px) rotate(-1.5deg);box-shadow:0 6px 16px rgba(62,181,117,.35)}
.sys-go{font-size:12px;font-weight:800;letter-spacing:1px;color:var(--primary);
  background:var(--primary-soft);border-radius:99px;padding:3px 12px;margin-left:8px;vertical-align:2px;transition:.2s}
a.sys-link-card:hover .sys-go{background:var(--primary);color:#fff}
.sys-link{display:inline-flex;align-items:center;gap:8px;background:var(--primary-grad);color:#fff;
  text-decoration:none;font-weight:800;font-size:15px;padding:11px 24px;border-radius:99px;
  box-shadow:0 6px 16px rgba(79,110,247,.30);transition:.2s;margin-top:2px}
.sys-link:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(79,110,247,.42)}
@media (max-width:560px){
  .sys-card{padding:18px 16px;gap:14px}
  .sys-no{font-size:22px;padding:10px 11px}
  .sys-logo{height:38px;border-radius:8px;vertical-align:-11px}
}
/* System 页标题胶囊（与 whyus/course 页 why-capsule 手绘风格统一） */
#system .why-capsule{display:flex;flex-direction:column;align-items:center;gap:8px;width:fit-content;
  margin:0 auto 44px;padding:18px 56px 16px;border:1.9px dashed #7a9ec9;border-radius:120px;
  background:rgba(255,253,247,.78);box-shadow:0 8px 20px rgba(90,84,64,.13)}
#system .why-capsule h2{margin:0;font-size:30px;font-weight:800;letter-spacing:1.6px;
  line-height:1.15;color:#3d4642;white-space:nowrap}
#system .why-dash{display:block;width:66px;border-top:2px dotted #7a9ec9;opacity:.6}
#system .why-sub{margin:0;font-size:16.5px;font-weight:800;color:#5cab93;letter-spacing:2px;line-height:1.3}
html[data-theme="dark"] #system .why-capsule{background:rgba(23,27,36,.62);border-color:#6ea3d8}
html[data-theme="dark"] #system .why-capsule h2{color:#e8ecf2}
html[data-theme="dark"] #system .why-dash{border-top-color:#6ea3d8}
html[data-theme="dark"] #system .why-sub{color:#5fc48f}
@media(max-width:560px){
  #system .why-capsule{padding:14px 30px 13px;gap:6px}
  #system .why-capsule h2{font-size:21px;letter-spacing:.8px}
  #system .why-dash{width:52px}
  #system .why-sub{font-size:14.5px;letter-spacing:1.2px}
}
/* 培养体系页（system.html）标题胶囊：与其他页手绘胶囊统一 */
#cultivate .why-capsule{display:flex;flex-direction:column;align-items:center;gap:8px;width:fit-content;
  margin:0 auto;padding:18px 56px 16px;border:1.9px dashed #7a9ec9;border-radius:120px;
  background:rgba(255,253,247,.78);box-shadow:0 8px 20px rgba(90,84,64,.13)}
#cultivate .why-capsule h2{margin:0;font-size:30px;font-weight:800;letter-spacing:1.6px;
  line-height:1.15;color:#3d4642;white-space:nowrap}
#cultivate .why-dash{display:block;width:66px;border-top:2px dotted #7a9ec9;opacity:.6}
#cultivate .why-sub{margin:0;font-size:16.5px;font-weight:800;color:#5cab93;letter-spacing:2px;line-height:1.3}
html[data-theme="dark"] #cultivate .why-capsule{background:rgba(23,27,36,.62);border-color:#6ea3d8}
html[data-theme="dark"] #cultivate .why-capsule h2{color:#e8ecf2}
html[data-theme="dark"] #cultivate .why-dash{border-top-color:#6ea3d8}
html[data-theme="dark"] #cultivate .why-sub{color:#5fc48f}
#cultivate{padding-bottom:8px}
@media(max-width:560px){
  #cultivate .why-capsule{padding:14px 30px 13px;gap:6px}
  #cultivate .why-capsule h2{font-size:21px;letter-spacing:.8px}
  #cultivate .why-dash{width:52px}
  #cultivate .why-sub{font-size:14.5px;letter-spacing:1.2px}
}
/* footer 电话链接 + 微信二维码（悬停放大） */
.footer .contact a.footer-tel{color:#9aa3bd;text-decoration:none;transition:.2s}
.footer .contact a.footer-tel:hover{color:#9db3ff;text-decoration:underline}
.footer .contact .ci.wx{display:inline-flex;align-items:center}
.footer .contact .ci.wx svg{display:block}
.qr-pop{position:relative;display:inline-block;margin-left:4px;vertical-align:middle;line-height:0}
.qr-pop img{display:block;width:46px;height:46px;border-radius:8px;border:2px solid rgba(255,255,255,.85);
  box-shadow:0 2px 8px rgba(0,0,0,.25);cursor:zoom-in;transition:transform .25s,box-shadow .25s;position:relative;z-index:2}
.qr-pop:hover img{transform:scale(3.1);transform-origin:left center;box-shadow:0 10px 28px rgba(0,0,0,.4);z-index:60}
html[data-theme="dark"] .footer .contact a.footer-tel{color:#9aa3bd}
html[data-theme="dark"] .qr-pop img{border-color:rgba(255,255,255,.25)}

/* ===== 移动端专项修正（2026-11-04 实测） ===== */
/* 1) 页脚链接点击区域：实测仅 19–24px 高，低于 WCAG 2.5.8 的 24×24 下限 */
@media(max-width:640px){
  .footer-nav .fn-row{gap:0 10px}
  .footer-nav .fn-row a{display:inline-flex;align-items:center;min-height:44px;padding:0 8px}
  .footer .contact a.footer-map{display:inline-flex;align-items:center;min-height:44px}
  .footer .contact a.footer-tel{display:inline-flex;align-items:center;min-height:44px}
  .footer-bottom{padding-top:18px;gap:0 14px}
  .footer-bottom a.icp{display:inline-flex;align-items:center;min-height:40px;padding:0 2px}
}
/* 2) 触屏设备禁用粘滞 hover：二维码放大 3.1 倍会在触摸后卡住并撑出视口 */
@media(hover:none){
  .qr-pop:hover img{transform:none;box-shadow:none}
}
/* 3) 汉堡按钮从 42px 提到 44px（iOS 建议下限） */
@media(max-width:640px){
  .burger{width:44px;height:44px}
}
/* 4) 二级标签字号：实测 9.5–11.5px，中文在 iPhone 上不可读，统一抬到 12px */
@media(max-width:640px){
  .brand small,
  .m-head p,.m-chips span,.m-keys span,.m-quote,
  .env-hint,.env-pt .no,
  .lv-ph em,
  .ys-tag,.ys-k,.ys-p,.ys-bk,.ys-ib,.ys-src,.ys-pc i,
  .fl-age,.fl-out small,.fl-r-sub,
  .ft-tag,.ft-k,.ft-num span,
  .bk-tag,.bk-campus-grid small,.bk-tel-note{font-size:12px;line-height:1.5}
  /* 书封缩略图下方标签：3 列网格单元仅约 78px 宽，取 11px 兼顾可读与不撑破 */
  .lv-cover b,.lv-cover-note b{font-size:11px;line-height:1.35}
  .lv-cover-note span{font-size:11px;line-height:1.5}
  .env-mq figcaption{font-size:12px}
}
