/* ============================================================
   客户说列表页样式
   注意：本页所有规则均限定在 .cv-page 容器内，
   不允许出现 *、html、body、a、img 等全局选择器，
   否则会污染公共导航下拉与页脚（与 training-1.html 不一致）。
   ============================================================ */
:root{
  --blue:#12306b; --blue-deep:#0c2150; --blue-ink:#1b2a4a;
  --orange:#f2994a; --orange-deep:#e8852f;
  --bg:#f4f6fb; --card:#ffffff; --quote-bg:#edf2fa;
  --text:#33405c; --muted:#7a869e;
  --radius:18px;
  --shadow:0 6px 24px rgba(18,48,107,.07);
  --shadow-hover:0 16px 40px rgba(18,48,107,.14);
}
/* 仅作用于本页容器，不污染导航/页脚 */
.cv-page{
  margin:0;padding:0;box-sizing:border-box;
  font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Source Han Sans SC",system-ui,sans-serif;
  background:var(--bg); color:var(--text); -webkit-font-smoothing:antialiased;
}
.cv-page *,.cv-page *::before,.cv-page *::after{margin:0;padding:0;box-sizing:border-box}
.cv-page a{text-decoration:none;color:inherit}
.cv-page img{display:block;max-width:100%}

/* ===== 页头 ===== */
/* 顶部间距对齐内训列表页：内容距固定导航栏(100px)约 80px，即距页顶 180px */
.cv-page .hero{position:relative;max-width:1280px;margin:0 auto;padding:174px 32px 64px;text-align:center;overflow:hidden}
/* CASE 水印：压在标题正后方，与固定导航栏(约150px)保留足够间距 */
.cv-page .hero .ghost{
  position:absolute;top:200px;left:50%;transform:translateX(-50%);
  font-size:150px;font-weight:900;color:rgba(18,48,107,.045);letter-spacing:8px;
  font-family:Georgia,serif;pointer-events:none;user-select:none;white-space:nowrap;
}
.cv-page .eyebrow{display:inline-flex;align-items:center;gap:12px;color:var(--blue);font-size:14px;letter-spacing:4px;font-weight:600}
.cv-page .eyebrow::before{content:"";width:34px;height:2px;background:var(--blue);display:inline-block}
.cv-page .hero h1{font-size:46px;color:var(--blue-ink);margin:14px 0 18px;letter-spacing:6px;font-weight:800;position:relative}
.cv-page .hero p.sub{color:var(--muted);font-size:16px;line-height:1.9;max-width:640px;margin:0 auto}
.cv-page .hero .meta{display:flex;justify-content:center;gap:14px;margin-top:26px;flex-wrap:wrap}
.cv-page .hero .meta span{background:#fff;border:1px solid #e3e9f4;color:var(--blue);font-size:13px;padding:7px 16px;border-radius:999px;box-shadow:var(--shadow)}
.cv-page .hero .meta b{color:var(--orange-deep);font-weight:700}
@media(max-width:640px){.cv-page .hero h1{font-size:34px}.cv-page .hero{padding:110px 20px 28px}.cv-page .hero .ghost{font-size:92px;top:88px}}

/* ===== 卡片网格 ===== */
.cv-page .grid{max-width:1280px;margin:0 auto;padding:0 32px 90px;display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
@media(max-width:1080px){.cv-page .grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.cv-page .grid{grid-template-columns:1fr;padding:0 20px 64px;gap:22px}}
.cv-page .card{background:var(--card);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s;border:1.5px solid transparent}
.cv-page .card:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover);border-color:rgba(18,48,107,.35)}

/* 视频区：默认仅显示封面浮层，点击播放按钮后懒加载并播放 */
.cv-page .media{position:relative;aspect-ratio:16/9;background:#0b1424;overflow:hidden}
.cv-page .media video{width:100%;height:100%;object-fit:cover;display:block;background:transparent}
.cv-page .media .cover{width:100%;height:100%;object-fit:cover}
.cv-page .media .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,12,28,0) 55%,rgba(5,12,28,.45));pointer-events:none;transition:.3s}
.cv-page .playbtn{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:74px;height:74px;border-radius:50%;border:none;cursor:pointer;
  background:rgba(30,34,46,.55);backdrop-filter:blur(6px);
  display:flex;align-items:center;justify-content:center;transition:.25s;
}
.cv-page .playbtn::after{content:"";border-left:22px solid #fff;border-top:13px solid transparent;border-bottom:13px solid transparent;margin-left:6px}
.cv-page .card:hover .playbtn{background:var(--orange)}
.cv-page .media.playing .playbtn,.cv-page .media.playing .shade{display:none}
.cv-page .badge-cat{position:absolute;top:14px;left:14px;background:rgba(12,33,80,.78);backdrop-filter:blur(4px);color:#fff;font-size:12px;padding:5px 12px;border-radius:999px;letter-spacing:1px}
.cv-page .badge-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(30,34,46,.55);backdrop-filter:blur(6px);color:#fff;font-size:14px;padding:12px 22px;border-radius:999px;display:flex;align-items:center;gap:8px;transition:.25s;border:none;cursor:pointer;font-family:inherit}
.cv-page .card:hover .badge-text{background:var(--orange)}

/* 卡片内容 */
.cv-page .body{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1}
.cv-page .ctitle{font-size:17px;font-weight:700;color:var(--blue-ink);line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:52px}
.cv-page .quote{margin-top:16px;background:var(--quote-bg);border-radius:12px;padding:16px 18px;flex:1;position:relative}
.cv-page .quote::before{content:"\201C";position:absolute;top:-2px;left:12px;font-size:40px;color:var(--orange);font-family:Georgia,serif;line-height:1}
.cv-page .quote p{font-size:14px;line-height:1.85;color:#46536e;padding-left:22px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.cv-page .quote .who{margin-top:10px;padding-left:22px;font-size:13px;color:var(--muted)}
.cv-page .more{margin-top:16px;display:inline-flex;align-items:center;gap:6px;font-size:13.5px;color:var(--blue);font-weight:600}
.cv-page .more::after{content:"→";transition:transform .2s}
.cv-page .card:hover .more::after{transform:translateX(4px)}

/* ===== 分页 ===== */
/* .pages 在 .grid 网格内，需横跨整行才能真正水平居中 */
.cv-page .pages{grid-column:1/-1}
@media(max-width:640px){.cv-page .pages{padding:0 20px}}
