/* ============================================================
   亮剑口才 · 课程列表页专用样式（pc_list_kecheng.htm）
   v6.1 / 2026-11-11 · UTF-8 无 BOM

   【更新备注 2026-11-11】
   1) 容器宽度对齐全站 1300px 标准：--kc-container 1280 → 1300，并去掉 ≥1600px
      放宽到 1360 的分支（那样本页会比页头/页脚宽 60px）。
      左右内边距改为「>1340px 无内边距、以下 20px」，与 .page-footer 同一套规则。
      影响：宽屏下内容区 1224px → 1300px，左右各外扩 38px，与页头/页脚边界对齐；
      子项分布（两列卡片、四列栅格）不动。
   2) 正文灰阶对比度不足 WCAG AA：--kc-muted 3.86:1、--kc-faint 2.60:1（白底），
      改为 #646b78（5.36:1）、#6f7683（4.57:1）；按钮弱化态文字 #838a94 → #6b7280。
      影响：课程简介、卡片数据、说明文字深一档，字号、间距、版式均不变。
   3) 取消分页：课程全部在一页显示（模板 rows 8 → 999，去掉 {$pages} 占位），
      本文件不再需要 .kc-pages 样式，已一并删除，不留在代码里当死规则。
   4) 清理无引用内容：--kc-blue / --kc-blue-dark / --kc-close / --kc-hero-note、
      .banner__eyebrow-en、.kc-banner .note（模板/页面均无对应元素）。
   5) 修正注释里被写成 \n 的换行，避免后续维护误读。
   无渲染变化的改动已单独标注，见下方各处行内说明。

   设计方向：墨蓝黑 + 香槟金 + 品牌红，深浅交替的版块节奏。
   约束：① 选择器一律限定 .kc-banner / .kc-page，不污染全站公共类；
        ② 断点 1600/1200/992/768/576/380 与 pcheader.css 对齐；
        ③ 颜色/字体/圆角/间距/动效统一走下方令牌表，禁止散落魔法值。
   ============================================================ */

/* ---------- 设计令牌（不写进 :root，避免污染全站） ---------- */
.kc-banner,
.kc-page{
  /* 品牌色：附 RGB 三元组，供半透明描边 / 光晕复用 */
  --kc-red:#D9251D;          --kc-red-rgb:217,37,29;
  --kc-red-dark:#a91b14;     --kc-red-dark-rgb:169,27,20;
  --kc-red-light:#e0342a;     --kc-red-deep:#b02018;
  --kc-gold:#c8a45c;         --kc-gold-rgb:200,164,92;
  --kc-gold-light:#e5c98e;   --kc-gold-light-rgb:229,201,142;
  --kc-gold-bright:#f0d8a8;  --kc-gold-deep:#a98545;
  /* 浅底小字号眉标专用深金：原 #c8a45c 在米白底只有 2.24:1（远低于 AA 4.5），
     换成 #8b6d33 后 4.6:1；深色区仍用 --kc-gold-light 保持亮度 */
  --kc-gold-ink:#8b6d33;

  /* 中性色 / 文字层级 */
  --kc-white:#fff;           --kc-white-rgb:255,255,255;
  --kc-ink:#1b1f27;          --kc-ink-rgb:27,31,39;
  --kc-ink-soft:#3c414c;
  --kc-body:#4a505c;          --kc-body-soft:#4c525e;
  --kc-muted:#646b78;         --kc-faint:#6f7683;   /* 白底对比度 5.36:1 / 4.57:1，达 AA */
  --kc-line:#e9e6e0;          --kc-paper:#faf9f6;
  --kc-pic-bg:#f1efe9;
  --kc-night:#0b1018;         --kc-night-2:#0e1420;
  --kc-night-rgb:9,14,23;     --kc-hero-shade-rgb:7,11,19;
  --kc-warm-rgb:232,192,126;

  /* 深色版块文字 */
  --kc-hero-eyebrow:#aeb9c9;  --kc-hero-text:#c0cbd9;
  --kc-hero-sub:#e6d5b3;      --kc-hero-label:#9da9bb;
  --kc-emblem-sub:#b8c2d4;
  --kc-ghost-ink:#ecdfc4;

  /* 渐变专用色（集中定义，换肤只改这里） */
  --kc-title-1:#f6e2bb; --kc-title-2:#d9b778; --kc-title-3:#b99150;
  --kc-disc-1:#111c30;  --kc-disc-2:#1d2b41; --kc-disc-3:#2c4672;
  --kc-cta-1:#e23a2e;  --kc-cta-2:#c31f18;  --kc-cta-3:#98170f;
  --kc-bbs-1:#fbf7ee;  --kc-bbs-2:#f7f3ea;
  --kc-icon-bg-1:#fbf4e5; --kc-icon-bg-2:#f2e8d3;
  --kc-shadow-red-rgb:190,31,23; --kc-shadow-cta-rgb:90,10,6;
  --kc-cta-eyebrow:rgb(246,220,174);  --kc-btn-idle-ink:rgb(107,114,128);
  --kc-black-rgb:0,0,0;      --kc-shadow-rgb:24,28,38;
  --kc-disc-shade-rgb:11,16,26; --kc-advantage-rgb:243,240,234;

  /* 字体：无衬线正文 / 衬线数字；字号统一用 clamp() 流式缩放 */
    --kc-sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;
    --kc-serif:Georgia,"Times New Roman","Songti SC",serif;
  --kc-fs-btn:clamp(14px,1.25vw,16px);
  --kc-fs-meta:clamp(11px,1.1vw,13px);
  --kc-lh-body:1.75;

  /* 圆角 */
  --kc-radius:14px;       /* 卡片 */
  --kc-radius-lg:16px;    /* 弹窗 */
  --kc-radius-md:10px;    /* 二维码 */
  --kc-radius-sm:8px;     /* 缩略图 / 公告 */
  --kc-radius-btn:6px;    /* 按钮 */
  --kc-radius-line:2px;   /* 装饰细线 */
  --kc-radius-pill:50%;   /* 正圆 */
  --kc-container:1300px;  /* 与全站 --container-w / 页头 / 页脚同宽 */
  --kc-container-pad:0px; /* 容器左右内边距，>1340px 为 0，见下方 @media */

  /* 语义间距：小间距直接写 4/8/12/16/20/24/32 刻度 */
  --kc-gutter:clamp(16px,3vw,28px);
  --kc-section-y:clamp(52px,6.5vw,92px);
  --kc-hero-gap:clamp(28px,4.5vw,72px);
  --kc-card-gap:clamp(16px,2.2vw,26px);
  --kc-card-pad:clamp(18px,2.2vw,28px);
  --kc-grid-gap:clamp(14px,1.8vw,22px);
  --kc-panel-pad:clamp(22px,2.6vw,36px);

  /* 动效 / 阴影 */
  --kc-t:.3s ease; --kc-t-fast:.25s ease; --kc-t-btn:.28s ease;
  --kc-t-slow:.5s cubic-bezier(.2,.7,.3,1);
    --kc-shadow-1:0 1px 2px rgba(var(--kc-shadow-rgb),.035),0 8px 24px rgba(var(--kc-shadow-rgb),.05);
    --kc-shadow-2:0 4px 12px rgba(var(--kc-shadow-rgb),.06),0 22px 50px rgba(var(--kc-shadow-rgb),.11);
  --kc-shadow-red:0 8px 24px rgba(var(--kc-shadow-red-rgb),.30),inset 0 1px 0 rgba(var(--kc-white-rgb),.18);
  --kc-shadow-red-hover:0 14px 32px rgba(var(--kc-shadow-red-rgb),.40),inset 0 1px 0 rgba(var(--kc-white-rgb),.22);
  --kc-shadow-btn:0 6px 16px rgba(var(--kc-red-dark-rgb),.24);
}
.kc-banner *,.kc-banner *::before,.kc-banner *::after,
.kc-page *,.kc-page *::before,.kc-page *::after{box-sizing:border-box;}
.kc-banner,.kc-page{font-family:var(--kc-sans);-webkit-font-smoothing:antialiased;}
.kc-page{background:var(--kc-paper);background-image:url(kc-paper-bg.webp);background-size:480px 480px;color:var(--kc-body);overflow-x:clip;/* 防御性兜底：任何章节的意外横向溢出都不会产生横向滚动条把内容裁掉（fixed 弹窗不受此影响，因 .kc-page 不是其包含块） */}

.kc-page [hidden]{display:none !important;}
.kc-page img{max-width:100%;}

/* 容器：宽 1300px，与 .header-wrap .container、.page-footer 同一套标准。
   左右内边距沿用页脚规则 —— >1340px 为 0（与页头/页脚边界严格对齐），
   1340px 以下回退 20px、576px 以下收到 16px，避免文字贴屏幕边。
   刘海屏安全区仍用 env() 兜底，max() 保证取较大值。 */
.kc-page .container,
.kc-banner .banner__container{width:100%;max-width:var(--kc-container);margin:0 auto;padding-left:max(var(--kc-container-pad),env(safe-area-inset-left));padding-right:max(var(--kc-container-pad),env(safe-area-inset-right));}
/* 容器变窄时（<=1340px）恢复常规内边距，与页脚同断点，避免两处边界不一致 */
@media (max-width:1340px){
  .kc-page,
  .kc-banner{--kc-container-pad:20px;}
}
.kc-page .section{padding:var(--kc-section-y) 0;}
.kc-page .text-center{text-align:center;}

/* ---------- 统一版块标题：眉标 / 主标 / 细金线 / 说明 ---------- */
.kc-page .kc-section-head{padding-bottom:clamp(30px,4.2vw,54px);}
.kc-page .kc-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0 0 clamp(12px,1.4vw,18px);
  font-family:var(--kc-serif);
  font-size:clamp(10px,.95vw,12px);
  letter-spacing:.24em;
  color:var(--kc-gold-ink);
  text-transform:uppercase;
}
.kc-page .kc-eyebrow i{display:block;width:18px;height:1px;background:currentColor;opacity:.55;}
.kc-page .kc-section-head .kc-head-rule{
  display:block;
  width:46px;
  height:2px;
  margin:clamp(16px,1.8vw,22px) auto 0;
  border-radius:var(--kc-radius-line);
  background:linear-gradient(90deg,var(--kc-red),var(--kc-gold));
}
.kc-page .title-primary{
  font-size:clamp(26px,3.6vw,42px);
  line-height:1.3;
  font-weight:700;
  letter-spacing:.035em;
  color:var(--kc-ink);
  margin:0;
}
.kc-page .kc-lead{font-size:clamp(13px,1.4vw,16px);line-height:1.85;letter-spacing:.02em;color:var(--kc-muted);margin:0;}
.kc-page .kc-section-head .kc-lead{margin-top:clamp(14px,1.6vw,20px);}
.kc-page .kc-highlight{color:var(--kc-red);}
.kc-page .kc-highlight--gold{color:var(--kc-gold);}
/* 深色数据区 / 红色 CTA 上换成更亮的香槟金，保证标题对比度 */
.kc-page .data .kc-highlight--gold,
.kc-page .contact .kc-highlight--gold{color:var(--kc-gold-bright);}
.kc-page .kc-section-head--light .title-primary{color:var(--kc-white);}
.kc-page .kc-section-head--light .kc-eyebrow{color:var(--kc-gold-light);}
.kc-page .kc-section-head--light .kc-lead{color:rgba(var(--kc-white-rgb),.66);}
.kc-page .kc-section-head--light .kc-head-rule{background:linear-gradient(90deg,var(--kc-gold-light),rgba(var(--kc-white-rgb),.3));}

/* ---- Banner：深色舞台光感背景 + 香槟金细节 ---- */
.kc-banner{
  position:relative;
  width:100%;
  min-height:clamp(560px,48vw,700px);
  display:flex;
  align-items:center;
  color:var(--kc-white);
  background-color:var(--kc-night);
  background-image:
    linear-gradient(90deg,rgba(var(--kc-hero-shade-rgb),.95) 0%,rgba(var(--kc-hero-shade-rgb),.84) 34%,rgba(var(--kc-hero-shade-rgb),.46) 70%,rgba(var(--kc-hero-shade-rgb),.56) 100%),
    radial-gradient(72% 62% at 50% 36%,rgba(var(--kc-hero-shade-rgb),.72),transparent 76%),
    url(kc-hero-photo.webp);
  background-size:cover;
  background-position:center 62%;
  background-repeat:no-repeat;
  overflow:hidden;
  isolation:isolate;
  animation:kc-banner-fade .8s ease forwards;
}
/* 入场淡入：与 show-5.html 的 bannerFade 同节奏。
   用 forwards 而非 both —— 动画未启动或被禁用时元素保持正常可见，
   避免低性能设备 / 延迟注入场景下首屏停在 opacity:0 变成空白 */
@keyframes kc-banner-fade{
  from{opacity:0;transform:translateY(20px);}
  to{opacity:1;transform:translateY(0);}
}
.kc-banner::before{content:"";position:absolute;inset:0;background:radial-gradient(58% 78% at 78% 20%,rgba(var(--kc-warm-rgb),.07),transparent 72%);pointer-events:none;}
.kc-banner::after{content:"";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--kc-gold-rgb),.5) 50%,transparent);}
.kc-banner .kc-banner__rule{position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent 4%,rgba(var(--kc-gold-light-rgb),.28) 42%,rgba(var(--kc-gold-light-rgb),.62) 74%,transparent 100%);}
/* 双模糊光晕：对齐 show-5.html 的 .hero-bg，品牌红低透明，
   叠在舞台光背景之上做空间纵深，不抢文字对比度 */
.kc-banner .kc-hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;}
.kc-banner .kc-hero-bg__blur{
  position:absolute;
  width:400px;
  height:400px;
  border-radius:var(--kc-radius-pill);
  filter:blur(60px);
  transform:translateZ(0);
}
.kc-banner .kc-hero-bg__blur--1{top:20%;left:20%;background:rgba(var(--kc-red-rgb),.11);}
.kc-banner .kc-hero-bg__blur--2{bottom:20%;right:20%;background:rgba(var(--kc-red-rgb),.06);}
.kc-banner .banner__container{
  position:relative;
  z-index:1;
  padding-top:clamp(52px,6vw,88px);
  padding-bottom:clamp(52px,6vw,88px);
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);
  align-items:center;
  gap:var(--kc-hero-gap);
}
.kc-banner .banner__content{min-width:0;}

.kc-banner .banner__eyebrow{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  margin:0 0 clamp(20px,2.4vw,30px);
  font-size:clamp(10px,.95vw,12px);
}
.kc-banner .banner__eyebrow-line{display:block;width:36px;height:1px;background:linear-gradient(90deg,var(--kc-gold),transparent);}
.kc-banner .banner__eyebrow-cn{color:var(--kc-hero-eyebrow);letter-spacing:.14em;}

.kc-banner .banner__title{
  font-size:clamp(20px,4.9vw,40px);
  line-height:1.22;
  font-weight:700;
  letter-spacing:.05em;
  margin:0 0 clamp(20px,2vw,30px);
}
.kc-banner .banner__title span{font-size:clamp(36px,4.9vw,60px);display:block;background:linear-gradient(100deg,var(--kc-title-1) 0%,var(--kc-title-2) 46%,var(--kc-title-3) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;}
.kc-banner .banner__subtitle{font-size:clamp(14px,1.5vw,19px);line-height:1.5;letter-spacing:.14em;color:var(--kc-hero-sub);margin:0 0 var(--kc-card-pad);}
.kc-banner .banner__subtitle::before{
  content:"";
  display:inline-block;
  width:22px;
  height:1px;
  margin-right:12px;
  vertical-align:middle;
  background:var(--kc-gold);
}
.kc-banner .banner__slogan{max-width:36em;font-size:clamp(13px,1.3vw,16px);line-height:2;color:var(--kc-hero-text);margin:0 0 clamp(26px,3.2vw,40px);}

.kc-banner .banner__btns{display:flex;flex-wrap:wrap;gap:12px;}
.kc-banner .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:52px;
  padding:0 clamp(24px,2.6vw,36px);
  border-radius:var(--kc-radius-btn);
  font-size:var(--kc-fs-btn);
  font-weight:600;
  letter-spacing:.04em;
  line-height:1.3;
  text-decoration:none;
  white-space:nowrap;
  cursor:pointer;
  transition:transform var(--kc-t-fast),box-shadow var(--kc-t-fast),background var(--kc-t-fast),border-color var(--kc-t-fast);
}
.kc-banner .btn--primary{background:linear-gradient(135deg,var(--kc-red-light) 0%,var(--kc-red-dark) 100%);color:var(--kc-white);box-shadow:var(--kc-shadow-red);}
.kc-banner .btn--primary:hover{transform:translateY(-3px);box-shadow:var(--kc-shadow-red-hover);}
.kc-banner .btn--ghost{border:1px solid rgba(var(--kc-gold-light-rgb),.42);background:rgba(var(--kc-white-rgb),.03);color:var(--kc-ghost-ink);}
.kc-banner .btn--ghost:hover{border-color:rgba(var(--kc-gold-light-rgb),.8);background:rgba(var(--kc-gold-light-rgb),.08);transform:translateY(-3px);}
.kc-banner .btn__arrow{display:inline-block;transition:transform var(--kc-t-fast);}
.kc-banner .btn--primary:hover .btn__arrow{transform:translateX(4px);}
.kc-banner .btn:focus-visible,
.kc-page .contact-btn:focus-visible,
.kc-page .copy-btn:focus-visible{outline:2px solid var(--kc-gold-light);outline-offset:3px;}

.kc-banner .banner__trust{
  display:flex;
  flex-wrap:wrap;
  align-items:stretch;
  list-style:none;
  margin:clamp(28px,3.4vw,44px) 0 0;
  padding:clamp(18px,2vw,26px) 0 0;
  border-top:1px solid rgba(var(--kc-white-rgb),.12);
}
.kc-banner .banner__trust li{display:flex;flex-direction:column;gap:6px;padding:0 clamp(16px,2.4vw,34px);border-left:1px solid rgba(var(--kc-white-rgb),.12);}
.kc-banner .banner__trust li:first-child{padding-left:0;border-left:0;}
.kc-banner .banner__num{
  font-family:var(--kc-serif);
  font-size:clamp(23px,2.4vw,32px);
  font-weight:700;
  line-height:1.05;
  color:var(--kc-gold-light);
  font-variant-numeric:lining-nums tabular-nums;
}
.kc-banner .banner__num i{font-style:normal;font-size:.5em;margin-left:2px;}
.kc-banner .banner__label{font-size:clamp(11px,1.05vw,13px);letter-spacing:.1em;color:var(--kc-hero-label);white-space:nowrap;}

/* ---- 右侧主视觉：版式规范对齐 show-5.html（60/40 且靠右、三层同心圆环、 ---- */
.kc-banner .banner__media{display:flex;justify-content:flex-end;align-items:center;min-width:0;}
.kc-banner .visual-frame{position:relative;width:100%;max-width:clamp(300px,30vw,400px);aspect-ratio:1 / 1;}
/* 最外层静态金环：呼吸环淡出时仍压得住圆形轮廓 */
.kc-banner .visual-ring{position:absolute;inset:0;border:1px solid rgba(var(--kc-gold-light-rgb),.26);border-radius:var(--kc-radius-pill);}
.kc-banner .visual-ring::after{content:"";position:absolute;inset:-14px;border:1px solid rgba(var(--kc-gold-light-rgb),.10);border-radius:inherit;}
.kc-banner .visual-circle{position:absolute;inset:0;border-radius:var(--kc-radius-pill);background:radial-gradient(circle at 68% 24%,rgba(var(--kc-gold-rgb),.10),rgba(var(--kc-disc-shade-rgb),.12) 56%,transparent 76%);}
/* 三层同心呼吸环：与参考页一致，3s / scale(1.5) / 0、.5s、1s 错开 */
.kc-banner .hero-emblem{position:absolute;inset:0;}
.kc-banner .hero-emblem::before{content:"";position:absolute;inset:13%;border:1px solid rgba(var(--kc-gold-light-rgb),.09);border-radius:var(--kc-radius-pill);}
.kc-banner .hero-emblem__ring{position:absolute;inset:2%;border:1px solid rgba(var(--kc-red-rgb),.28);border-radius:var(--kc-radius-pill);animation:kc-ping 3s cubic-bezier(0,0,.2,1) infinite;}
.kc-banner .hero-emblem__ring:nth-child(1){animation-delay:0s;}
.kc-banner .hero-emblem__ring:nth-child(2){animation-delay:.5s;}
.kc-banner .hero-emblem__ring:nth-child(3){animation-delay:1s;}
@keyframes kc-ping{
  0%{opacity:.6;transform:scale(1);}
  75%,100%{opacity:0;transform:scale(1.5);}
}
/* 中心圆盘：10% 内收（参考页 40px / 400px），135° 墨蓝→蓝渐变 + 细金边 + 内发光 */
.kc-banner .hero-emblem__core{
  position:absolute;
  inset:10%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border-radius:var(--kc-radius-pill);
  background:
    radial-gradient(circle at 72% 20%,rgba(var(--kc-gold-rgb),.16),transparent 52%),
    linear-gradient(135deg,var(--kc-disc-1) 0%,var(--kc-disc-2) 52%,var(--kc-disc-3) 100%);
  border:1px solid rgba(var(--kc-gold-light-rgb),.34);
  box-shadow:0 26px 60px rgba(var(--kc-black-rgb),.42),
              inset 0 0 0 1px rgba(var(--kc-gold-light-rgb),.06),
              inset 0 20px 50px rgba(var(--kc-gold-rgb),.06);
}
/* 课程星图：六个课程节点环绕一个体系核心，细线表达课程之间的关联 */
.kc-banner .hero-emblem__matrix{width:clamp(74px,8vw,102px);height:auto;color:var(--kc-gold-light);filter:drop-shadow(0 0 16px rgba(var(--kc-gold-light-rgb),.26));margin-bottom:clamp(10px,1.2vw,16px);}
.kc-banner .hero-emblem__matrix .kc-mx-links{opacity:.55;}
.kc-banner .hero-emblem__matrix .kc-mx-nodes{opacity:.86;}
.kc-banner .hero-emblem__matrix .kc-mx-dots{opacity:.70;}
.kc-banner .hero-emblem__matrix .kc-mx-core-bg{opacity:.18;}
.kc-banner .hero-emblem__matrix .kc-mx-core{opacity:1;}
.kc-banner .hero-emblem__matrix .kc-mx-grid{opacity:.95;}
.kc-banner .hero-emblem__title{
  font-family:var(--kc-serif);
  font-size:clamp(16px,1.7vw,23px);
  font-weight:700;
  line-height:1.1;
  letter-spacing:.12em;
  white-space:nowrap;
  color:var(--kc-gold-light);
  text-shadow:0 0 22px rgba(var(--kc-gold-light-rgb),.24);
}
.kc-banner .hero-emblem__sub{margin-top:10px;font-size:clamp(10px,.95vw,12px);letter-spacing:.16em;color:var(--kc-emblem-sub);}
/* 对角引号：位置对齐参考页的 -20px 外扩，改用低透明品牌红 */
.kc-banner .hero-emblem__quote{
  position:absolute;
  font-family:var(--kc-serif);
  font-size:clamp(54px,6vw,80px);
  line-height:1;
  color:rgba(var(--kc-red-rgb),.30);
  pointer-events:none;
}
.kc-banner .hero-emblem__quote--tl{top:-5%;left:-3%;}
.kc-banner .hero-emblem__quote--br{bottom:-10%;right:-3%;}

/* ---- 课程体系 ---- */
.kc-page .course-list{padding:clamp(56px,7vw,100px) 0;}
.kc-page .course-wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--kc-card-gap);min-width:0;}
.kc-page .course-card{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:16px;
  min-width:0;
  padding:var(--kc-card-pad);
  background:var(--kc-white);
  border:1px solid var(--kc-line);
  border-radius:var(--kc-radius);
  box-shadow:var(--kc-shadow-1);
  overflow:hidden;
  transition:transform var(--kc-t),box-shadow var(--kc-t),border-color var(--kc-t);
}
.kc-page .course-card::before{
  content:"";
  position:absolute;
  inset:0 24px auto;
  height:2px;
  background:linear-gradient(90deg,var(--kc-red),var(--kc-gold));
  opacity:0;
  transition:opacity var(--kc-t);
}
.kc-page .course-card:hover{transform:translateY(-4px);border-color:rgba(var(--kc-gold-rgb),.48);box-shadow:var(--kc-shadow-2);}
.kc-page .course-card:hover::before{opacity:1;}
.kc-page .course-link{display:block;color:inherit;text-decoration:none;}
.kc-page .course-link:focus-visible{outline:2px solid var(--kc-red);outline-offset:5px;border-radius:var(--kc-radius-sm);}
.kc-page .course-main{display:grid;grid-template-columns:clamp(120px,12.5vw,164px) minmax(0,1fr);gap:var(--kc-grid-gap);align-items:start;}
.kc-page .course-pic{
  width:100%;
  aspect-ratio:1 / 1;
  border-radius:var(--kc-radius-sm);
  overflow:hidden;
  background:var(--kc-pic-bg);
  box-shadow:inset 0 0 0 1px rgba(var(--kc-ink-rgb),.05);
}
.kc-page .course-pic img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--kc-t-slow);}
.kc-page .course-card:hover .course-pic img{transform:scale(1.055);}
.kc-page .course-text{display:flex;flex-direction:column;min-width:0;}
.kc-page .course-tit{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  font-size:clamp(17px,1.75vw,22px);
  line-height:1.42;
  font-weight:700;
  letter-spacing:.02em;
  color:var(--kc-ink);
  margin:0 0 10px;
}
.kc-page .course-desc{
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  overflow-wrap:anywhere;
  font-size:clamp(13px,1.2vw,15px);
  line-height:var(--kc-lh-body);
  color:var(--kc-muted);
  text-align:justify;
  margin:0;
}
/* 底部同一行：左「累计预约」、右「查看详情」。
   数据区 flex:1 可收缩并省略，按钮 flex:0 0 auto 固定不换行，
   窄屏也不会把按钮挤出卡片；整行紧跟内容而非贴卡片底，避免公告卡造成同行错位。 */
.kc-page .course-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-width:0;
  margin-top:12px;
}
.kc-page .course-data{
  display:flex;
  align-items:center;
  flex:1 1 auto;
  min-width:0;
  font-size:clamp(11px,1vw,13px);
  color:var(--kc-faint);
  letter-spacing:.02em;
}
.kc-page .course-data i{margin-right:6px;flex:0 0 auto;color:var(--kc-gold);}
.kc-page .course-data__txt{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
/* 「查看详情」按钮（仅 PC / 平板；手机端 ≤768px 整块隐藏）：
   触屏 / 无 hover 设备 → 实心红常显，保证入口始终可见可点；
   PC 精确指针设备 → 默认弱化为幽灵按钮，整卡 hover 或键盘聚焦才填充醒目。
   弱化强度由 --kc-btn-idle-* 变量控制，见下方 @media 里的说明。
   手机端 .course-link 已包住整张卡片内容，点标题/图片/数据任意位置都能进入详情。 */
.kc-page .course-btn{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:38px;
  padding:0 22px;
  border:1px solid var(--kc-btn-idle-border,transparent);
  border-radius:var(--kc-radius-btn);
  background:var(--kc-btn-idle-bg,var(--kc-red));
  color:var(--kc-btn-idle-color,var(--kc-white));
  opacity:var(--kc-btn-idle-opacity,1);
  font-size:13px;
  font-weight:600;
  letter-spacing:.04em;
  text-align:center;
  transition:background var(--kc-t-btn),color var(--kc-t-btn),border-color var(--kc-t-btn),
             box-shadow var(--kc-t-btn),opacity var(--kc-t-btn),transform var(--kc-t-btn);
}
.kc-page .course-btn > span:last-child{display:inline-block;transition:transform var(--kc-t-btn);}
/* 醒目态：鼠标移到卡片任意位置，或键盘 Tab 聚焦到卡片链接，都会触发 */
.kc-page .course-card:hover .course-btn,
.kc-page .course-card:focus-within .course-btn{
  background:var(--kc-red);
  border-color:var(--kc-red);
  color:var(--kc-white);
  opacity:1;
  transform:translateX(3px);
  box-shadow:var(--kc-shadow-btn);
}
.kc-page .course-card:hover .course-btn > span:last-child,
.kc-page .course-card:focus-within .course-btn > span:last-child{transform:translateX(2px);}

/* 只对「有鼠标悬浮能力 + 精确指针」的设备弱化，不用屏幕宽度判断，
   这样平板接鼠标也算 PC 交互，纯触屏设备完全不受影响。 */
@media (hover:hover) and (pointer:fine){
  .kc-page{
    --kc-btn-idle-bg:transparent;
    --kc-btn-idle-border:rgba(var(--kc-ink-rgb),.14);
    --kc-btn-idle-color:var(--kc-btn-idle-ink);
    --kc-btn-idle-opacity:.75;
  }
  /* 想改成「默认完全隐藏、悬浮才出现」：把上面三个颜色值都改为
     transparent，并把 --kc-btn-idle-opacity 改为 0 即可；
     元素仍占位，所以悬浮时不会有任何布局跳动。 */
}

/* 异步插入的报名公告：放在 <a> 外面，避免嵌套链接 */
.kc-page .course-bbs-box{margin-top:auto;}.kc-page .course-bbs-box:empty{display:none;}
.kc-page .bbs-booking{background:linear-gradient(180deg,var(--kc-bbs-1),var(--kc-bbs-2));border:1px solid rgba(var(--kc-gold-rgb),.22);border-radius:var(--kc-radius-sm);padding:10px 14px;}
.kc-page .bbs-notice{display:flex;align-items:center;gap:10px;min-height:44px;line-height:1.5;overflow:hidden;}
.kc-page .bbs-notice i{flex:0 0 24px;color:var(--kc-gold);font-size:18px;}
.kc-page .bbs-notice a{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  font-size:clamp(13px,1.15vw,15px);
  color:var(--kc-ink-soft);
  text-decoration:none;
}
.kc-page .bbs-notice a:hover{color:var(--kc-red);}

/* 分页样式已随「全部课程一页显示」一起移除：模板 rows=999、不再输出 {$pages}，
   这里若留着 .kc-pages 规则，页面没有任何元素与之对应，只会变成误导维护者的死代码。
   （站里另有一套 .pagination 样式，只在有分页的页面生效，与本页无关。） */

/* ---- 8 大核心优势 ---- */
.kc-page .advantage{background:rgba(var(--kc-advantage-rgb),.72);border-top:1px solid rgba(var(--kc-gold-rgb),.14);border-bottom:1px solid rgba(var(--kc-gold-rgb),.14);}
.kc-page .advantage-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--kc-grid-gap);margin-top:clamp(24px,3.5vw,44px);}
.kc-page .advantage-card{
  background:var(--kc-white);
  padding:var(--kc-panel-pad) clamp(16px,2vw,24px);
  border:1px solid rgba(var(--kc-ink-rgb),.045);
  border-radius:var(--kc-radius);
  text-align:center;
  box-shadow:var(--kc-shadow-1);
  transition:transform var(--kc-t),box-shadow var(--kc-t);
}
.kc-page .advantage-card:hover{transform:translateY(-6px);box-shadow:var(--kc-shadow-2);}
.kc-page .advantage-icon{
  width:clamp(48px,4.6vw,60px);
  height:clamp(48px,4.6vw,60px);
  margin:0 auto clamp(14px,1.6vw,20px);
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:var(--kc-radius-pill);
  background:linear-gradient(145deg,var(--kc-icon-bg-1),var(--kc-icon-bg-2));
  border:1px solid rgba(var(--kc-gold-rgb),.24);
}
.kc-page .advantage-icon i{font-size:clamp(19px,1.9vw,24px);color:var(--kc-gold-deep);}
.kc-page .advantage-card h3{
  font-size:clamp(15px,1.45vw,19px);
  line-height:1.45;
  font-weight:700;
  letter-spacing:.02em;
  color:var(--kc-ink);
  margin:0 0 9px;
}
.kc-page .advantage-card p{font-size:clamp(12px,1.15vw,15px);line-height:var(--kc-lh-body);color:var(--kc-muted);margin:0;}

/* ---- 真实蜕变数据（深色，与 Banner 呼应） ---- */
.kc-page .data{
  position:relative;
  color:var(--kc-white);
  text-align:center;
  padding:clamp(56px,7vw,96px) 0;
  background-color:var(--kc-night-2);
  background-image:
    linear-gradient(180deg,rgba(var(--kc-night-rgb),.88),rgba(var(--kc-night-rgb),.94)),
    url(kc-banner-bg.webp);
  background-size:cover;
  background-position:center 32%;
}
.kc-page .data::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--kc-gold-light-rgb),.45),transparent);}
.kc-page .data-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding-top:clamp(26px,3.4vw,46px);}
.kc-page .data-item{padding:6px 12px;border-left:1px solid rgba(var(--kc-white-rgb),.13);}
.kc-page .data-item:first-child{border-left:0;}
.kc-page .data-number{
  font-family:var(--kc-serif);
  font-size:clamp(30px,3.6vw,48px);
  font-weight:700;
  line-height:1.15;
  letter-spacing:.01em;
  color:var(--kc-gold-light);
  margin-bottom:10px;
  font-variant-numeric:lining-nums tabular-nums;
}
.kc-page .data-text{font-size:clamp(12px,1.3vw,16px);letter-spacing:.08em;color:rgba(var(--kc-white-rgb),.68);}

/* ---- 学员评价 ---- */
.kc-page .testimonial{background:transparent;}
.kc-page .testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,26px);margin-top:clamp(24px,3.5vw,44px);}
.kc-page .testimonial-card{
  position:relative;
  overflow:hidden;
  background:var(--kc-white);
  padding:var(--kc-panel-pad);
  border:1px solid var(--kc-line);
  border-radius:var(--kc-radius);
  box-shadow:var(--kc-shadow-1);
  transition:transform var(--kc-t),box-shadow var(--kc-t);
}
.kc-page .testimonial-card:hover{transform:translateY(-4px);box-shadow:var(--kc-shadow-2);}
.kc-page .testimonial-card::before{
  content:"\201C";
  position:absolute;
  right:14px;
  top:-14px;
  font:700 96px/1 var(--kc-serif);
  color:rgba(var(--kc-gold-rgb),.13);
  pointer-events:none;
}
.kc-page .testimonial-stars{position:relative;color:var(--kc-gold);margin-bottom:14px;letter-spacing:3px;font-size:13px;}
.kc-page .testimonial-content{position:relative;font-size:clamp(13px,1.25vw,15px);line-height:1.9;color:var(--kc-body-soft);margin:0 0 20px;}
.kc-page .testimonial-user{position:relative;font-weight:600;color:var(--kc-red);font-size:clamp(12px,1.1vw,14px);letter-spacing:.03em;}
.kc-page .testimonial-user::before{
  content:"";
  display:inline-block;
  width:16px;
  height:1px;
  margin:0 8px 4px 0;
  background:var(--kc-gold);
}

/* ---- 预约 CTA（品牌红收尾） ---- */
.kc-page .contact{
  position:relative;
  color:var(--kc-white);
  text-align:center;
  padding:clamp(60px,8vw,108px) 0;
  background:radial-gradient(125% 145% at 50% 0%,var(--kc-cta-1) 0%,var(--kc-cta-2) 48%,var(--kc-cta-3) 100%);
  overflow:hidden;
}
.kc-page .contact::before{
  content:"";
  position:absolute;
  inset:0;
  background:url(kc-paper-bg.webp) repeat;
  background-size:480px 480px;
  opacity:.07;
  pointer-events:none;
}
.kc-page .contact .container{position:relative;}
.kc-page .contact .kc-eyebrow--red{color:var(--kc-cta-eyebrow);}
.kc-page .contact-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;}
.kc-page .contact-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:52px;
  padding:0 clamp(24px,3vw,38px);
  border:1px solid transparent;
  border-radius:var(--kc-radius-btn);
  background:var(--kc-white);
  color:var(--kc-red-deep);
  font-family:inherit;
  font-size:var(--kc-fs-btn);
  font-weight:700;
  letter-spacing:.04em;
  text-decoration:none;
  cursor:pointer;
  -webkit-appearance:none;
  appearance:none;
  box-shadow:0 8px 22px rgba(var(--kc-shadow-cta-rgb),.16);
  transition:transform var(--kc-t-fast),box-shadow var(--kc-t-fast),background var(--kc-t-fast);
}
.kc-page .contact-btn:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(var(--kc-shadow-cta-rgb),.26);}
.kc-page .contact-btn--ghost{background:transparent;color:var(--kc-white);border-color:rgba(var(--kc-white-rgb),.55);box-shadow:none;}
.kc-page .contact-btn--ghost:hover{background:rgba(var(--kc-white-rgb),.10);}

/* ---- 微信咨询弹窗：外壳与整页一致（墨蓝遮罩 + 金边白卡），
   内部元素统一到品牌红 + 香槟金，去掉原先的蓝色系 ---- */
.kc-page .wechat-pop{
  display:none;
  position:fixed;
  inset:0;
  z-index:9999;
  padding:var(--kc-gutter);
  background:rgba(var(--kc-night-rgb),.72);
  -webkit-backdrop-filter:blur(4px);
  backdrop-filter:blur(4px);
  align-items:center;
  justify-content:center;
}
.kc-page .wechat-pop.is-open{display:flex;}
.kc-page .pop-box{
  width:100%;
  max-width:500px;
  max-height:calc(100vh - 32px);
  overflow-y:auto;
  padding:var(--kc-panel-pad);
  border:1px solid rgba(var(--kc-gold-rgb),.3);
  border-radius:var(--kc-radius-lg);
  background:var(--kc-white);
  box-shadow:0 24px 70px rgba(var(--kc-black-rgb),.32);
  text-align:center;
}
.kc-page .pop-box h4{
  font-size:clamp(16px,1.4vw,20px);
  font-weight:700;
  letter-spacing:.02em;
  margin:0 0 var(--kc-card-gap);
  color:var(--kc-ink);
}
.kc-page .pop-box h4::after{
  content:"";
  display:block;
  width:42px;
  height:2px;
  margin:12px auto 0;
  border-radius:var(--kc-radius-line);
  background:linear-gradient(90deg,var(--kc-gold),var(--kc-gold-light));
}
.kc-page .pop-qrcode{
  display:block;
  width:min(200px,60vw);
  height:auto;
  aspect-ratio:1 / 1;
  object-fit:contain;
  margin:0 auto var(--kc-card-gap);
  border:1px solid var(--kc-line);
  border-radius:var(--kc-radius-md);
}
/* 微信号：核心转化信息，数字用品牌红强调 */
.kc-page .pop-wxnum{
  color:var(--kc-ink);
  font-weight:700;
  margin:0 0 16px;
  font-size:clamp(15px,1.3vw,18px);
}
.kc-page .pop-wxnum span{color:var(--kc-red);letter-spacing:.04em;}
/* 主操作：品牌红实心，与整页 CTA 呼应 */
.kc-page .copy-btn{
  display:inline-block;
  min-height:44px;
  background:var(--kc-red);
  color:var(--kc-white);
  border:0;
  padding:10px 24px;
  border-radius:var(--kc-radius-btn);
  margin:0;
  cursor:pointer;
  font-family:inherit;
  font-size:var(--kc-fs-btn);
  transition:background var(--kc-t-btn),transform var(--kc-t-btn);
}
.kc-page .copy-btn:hover{background:var(--kc-red-dark);transform:translateY(-1px);}
.kc-page .copy-btn:active{transform:translateY(0);}
/* 次级关闭：文字按钮，hover 转品牌红 */
.kc-page .close-pop{
  display:block;
  width:100%;
  min-height:40px;
  margin-top:14px;
  background:none;
  border:0;
  color:var(--kc-muted);
  cursor:pointer;
  font-family:inherit;
  font-size:14px;
  transition:color var(--kc-t-fast);
}
.kc-page .close-pop:hover{color:var(--kc-red);}
.kc-page .copy-tip{margin:10px 0 0;font-size:13px;color:var(--kc-red);opacity:0;transition:opacity .2s ease;}
.kc-page .copy-tip.is-on{opacity:1;}

/* ---- 响应式：断点间用 clamp 平滑过渡，避免硬切 ---- */
@media (min-width:1600px){
  /* 容器不再随超大屏加宽：全站页头/页脚固定 1300px，本页跟着走才对得上 */
  .kc-banner .banner__container{gap:88px;}
  .kc-page .course-wrap{gap:30px;}
}

@media (max-width:1200px){
  .kc-page .advantage-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .kc-page .testimonial-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .kc-banner .banner__container{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);}
  .kc-banner .visual-frame{max-width:340px;}
}

/* 平板：Banner 收单列并换竖版背景，主视觉让位给文字 */
@media (max-width:992px){
  .kc-banner{
      background-image:
      linear-gradient(180deg,rgba(var(--kc-hero-shade-rgb),.92) 0%,rgba(var(--kc-hero-shade-rgb),.74) 50%,rgba(var(--kc-hero-shade-rgb),.96) 100%),
      radial-gradient(88% 58% at 50% 34%,rgba(var(--kc-hero-shade-rgb),.68),transparent 78%),
      url(images/kc-hero-photo.webp);
    background-position:center 62%;
  }
  .kc-banner .banner__container{grid-template-columns:1fr;padding-top:clamp(52px,7vw,76px);padding-bottom:clamp(52px,7vw,76px);}
  .kc-banner .pc-show{display:none;}
  .kc-banner .banner__content{max-width:720px;}
  .kc-banner .banner__slogan{max-width:44em;}
  .kc-page .data-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:26px;}
  .kc-page .data-item:nth-child(3){border-left:0;}
  .kc-page .course-tit{font-size:clamp(17px,2.2vw,21px);}
}

@media (max-width:768px){
  .kc-page .course-wrap{grid-template-columns:minmax(0,1fr);}
  .kc-banner .banner__title{font-size:clamp(26px,7vw,40px);letter-spacing:.02em;overflow-wrap:break-word;}
  /* 手机端：渐变口号那行之前没被覆盖，仍吃桌面下限 36px，10 字≈378px 超过可用宽度，
     被 .kc-banner{overflow:hidden} 裁掉末字「法」。这里单独压到流式尺寸并允许断词换行。 */
  .kc-banner .banner__title span{font-size:clamp(23px,7.2vw,40px);overflow-wrap:break-word;word-break:break-word;max-width:100%;}
  .kc-banner .banner__eyebrow{gap:9px;}
  .kc-banner .banner__eyebrow-line{width:22px;}
  .kc-banner .banner__trust li{padding:0 clamp(12px,3vw,22px);}
  .kc-page .course-card{padding:16px;gap:12px;}
  .kc-page .course-main{grid-template-columns:clamp(88px,26vw,120px) minmax(0,1fr);gap:14px;}
  .kc-page .course-tit{font-size:16px;margin-bottom:8px;}
  .kc-page .course-desc{-webkit-line-clamp:2;font-size:13px;line-height:1.65;}
  /* 手机端简化：整张卡片就是链接，去掉重复的「查看详情」按钮，
     底部只留一行累计预约 + 一个无背景细线箭头，暗示可点但不占按钮形态。 */
  .kc-page .course-foot{margin-top:9px;gap:0;}
  .kc-page .course-btn{display:none;}
  .kc-page .course-foot::after{
    content:"";
    flex:0 0 auto;
    width:7px;
    height:7px;
    margin-left:10px;
    border-top:1.5px solid var(--kc-gold);
    border-right:1.5px solid var(--kc-gold);
    transform:rotate(45deg);
    opacity:.8;
  }
  /* 首屏只留一个主转化入口，次要按钮在手机端收掉 */
  .kc-banner .banner__btns .btn--ghost{display:none;}
  .kc-banner .banner__btns .btn--primary{width:100%;}
  .kc-page .advantage-card{text-align:left;padding:20px 18px;}
  .kc-page .advantage-icon{margin:0 0 13px;}
  .kc-page .advantage-card h3{font-size:15px;}
  .kc-page .advantage-card p{font-size:13px;}
  .kc-page .testimonial-grid{grid-template-columns:1fr;}
  .kc-page .contact-btns{flex-direction:column;align-items:stretch;}
  .kc-page .contact-btn{width:100%;}
  .c_nav{display:none;}/* 手机端收起全站右侧浮动客服条，避免遮挡 hero 与 H1 */
}

@media (max-width:576px){
  .kc-page,
  .kc-banner{--kc-container-pad:16px;}
  .kc-page .section{padding:44px 0;}
  .kc-page .title-primary{font-size:25px;letter-spacing:.02em;}
  .kc-page .kc-eyebrow{letter-spacing:.16em;}
  .kc-page .course-list{padding-top:44px;}
  .kc-page .course-main{grid-template-columns:94px minmax(0,1fr);gap:12px;}
  .kc-page .course-data{font-size:11px;}
  .kc-banner .banner__br{display:none;}
  .kc-banner .banner__eyebrow-line{display:none;}/* 窄屏眉标自然折成两行，短线不再孤立 */
  .kc-banner .banner__eyebrow-cn{letter-spacing:.06em;}
  .kc-banner .banner__subtitle{letter-spacing:.08em;}
  .kc-banner .banner__slogan{line-height:1.9;}
  .kc-banner .banner__trust{margin-top:26px;}
  .kc-banner .banner__trust li{padding:0 14px;}
  .kc-banner .banner__num{font-size:22px;}
  .kc-banner .banner__label{font-size:10px;letter-spacing:.04em;}
  .kc-page .data{padding:46px 0;}
  .kc-page .data-number{font-size:28px;}
  .kc-page .advantage-grid{gap:12px;}
  .kc-page .advantage-card{padding:16px 14px;}
  .kc-page .advantage-icon{width:44px;height:44px;}
  .kc-page .advantage-card p{font-size:12px;}
  .kc-page .testimonial-card{padding:20px;}
  .kc-page .contact{padding:52px 0;}
}

@media (max-width:380px){
  .kc-page .course-main{grid-template-columns:76px minmax(0,1fr);gap:10px;}
  .kc-page .course-tit{font-size:15px;}
  .kc-banner .banner__trust li{padding:0 10px;}
  .kc-banner .banner__label{font-size:9px;}
  .kc-page .advantage-grid{grid-template-columns:1fr;}
  .kc-page .advantage-card{text-align:center;}
  .kc-page .advantage-icon{margin:0 auto 13px;}
}

/* 触屏设备：不做依赖 hover 的位移，避免点按后残留悬停态；
   宽度 >768px 的触屏平板，卡片按钮不进入弱化规则，保持实心红常显 */
@media (hover:none){
  .kc-page .course-card:hover,
  .kc-page .advantage-card:hover,
  .kc-page .testimonial-card:hover,
  .kc-banner .btn:hover,
  .kc-page .contact-btn:hover{transform:none;}
  .kc-page .course-card:hover::before{opacity:0;}
}

/* 无障碍：跟随系统减少动效 */
@media (prefers-reduced-motion:reduce){
  .kc-banner,
  .kc-banner *,
  .kc-page *{transition:none !important;animation:none !important;}
  .kc-page .course-card:hover,
  .kc-page .advantage-card:hover,
  .kc-page .testimonial-card:hover,
  .kc-page .contact-btn:hover,
  .kc-banner .btn:hover{transform:none;}
}
