@charset "utf-8";

/* ============================================================
   财科学校首页 · 门户版 B（亮色）— 首页专属样式
   公共部分（变量/基础/头部/尾部/考试指南/倒计时）见 common.css
   ============================================================ */

/* ============================================================
   第一屏（Hero）
   结构：左栏（登录 / 活动 / 快捷入口） + 中栏（Banner / 资讯） + 右栏（考试指南 / 倒计时）
   ============================================================ */
.hero { margin-bottom: 10px; }
.hero__left,
.hero__main,
.hero__right {
  background: #fff;
  border-radius: 6px;
  box-shadow: 0 5px 20px #eee;
}
.hero__left { width: 260px; padding-top: 26px; }
.hero__main { width: 600px; margin-left: 10px; }
.hero__right { width: 320px; }

/* --- 左栏：登录 --- */
.hero-login { border-bottom: 1px solid #f4f4f4; }
.hero-login__head { width: 220px; margin: 0 auto; }
.hero-login__avatar { width: 50px; height: 50px; margin-left: 15px; border-radius: 35px; }
.hero-login__welcome { margin-left: 15px; padding-top: 5px; }
.hero-login__actions {
  position: relative;
  width: 210px;
  height: 30px;
  margin: 0 auto;
  padding: 10px 0 5px;
  font-size: 14px;
  line-height: 30px;
  text-align: center;
}
.hero-login__btn {
  display: block;
  width: 50%;
  height: 30px;
  color: #fff;
}
.hero-login__btn--login {
  float: left;
  background: #0060ff;
  border-radius: 15px 0 0 15px;
}
.hero-login__btn--register {
  float: right;
  color: #0060ff;
  background: #eef6ff;
  border-radius: 0 15px 15px 0;
}
.hero-login__btn:hover { text-decoration: none; }

/* 快捷登录 */
.hero-login__quick { position: relative; margin-bottom: 4px; }
.hero-login__quick-label {
  width: 70px;
  height: 40px;
  padding-left: 10px;
  font-size: 14px;
  line-height: 40px;
  color: #333;
}
.hero-login__quick-list { width: 104px; height: 40px; }
.hero-login__quick-item {
  display: block;
  width: 20px;
  height: 20px;
  margin-top: 10px;
  margin-left: 8px;
  border-radius: 10px;
}
.hero-login__quick-item:first-child { margin-left: 0; }

/* --- 左栏：限时活动 --- */
.hero-notice__body {
  width: 190px;
  height: 61px;
  margin: 8px 5px 0 0;
  line-height: 28px;
  overflow: hidden;
}
.hero-notice__scroll .bd ul { overflow: hidden; zoom: 1; }
.hero-notice__scroll .bd ul li a { font-size: 14px; line-height: 30px; }
.hero-notice__scroll .bd ul li a:hover { color: #0060ff; text-decoration: none; }
.hero-notice__scroll .bd ul li a span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* --- 左栏：快捷入口九宫格 --- */
.hero-links table { width: 100%; border-collapse: collapse; }
.hero-links table td {
  width: 33.33%;
  border: 1px solid #f8f8f8;
  border-left: 0;
  border-bottom: 0;
}
.hero-links table td.noline { border-right: 0; }
.hero-links table td a {
  display: block;
  height: 70px;
  padding-top: 18px;
  font-size: 12px;
  text-align: center;
}
.hero-links table td a span { display: block; margin-top: 8px; line-height: 18px; }
.hero-links table td a:hover { text-decoration: none; }
.hero-links table td a:hover span { color: #4088e3; }

/* --- 中栏：焦点图 --- */
.hero-banner { width: 600px; height: 160px; background: #fff; }
.hero-banner .swiper-container { width: 600px; height: 160px; }
.hero-banner .swiper-container img { width: 100%; height: 100%; object-fit: cover; }
.hero-banner__arrow {
  position: absolute;
  z-index: 99;
  display: none;
  width: 33px;
  height: 33px;
  margin: -85px 5px 0;
  cursor: pointer;
  background: url(../images/swiper-left-right-icon.png) no-repeat;
}
.hero-banner__arrow--prev { left: 0; background-position: 0 0; }
.hero-banner__arrow--next { right: 0; background-position: -47px 0; }
.hero-banner:hover .hero-banner__arrow { display: block; }
.hero-banner .swiper-pagination-bullets { bottom: 5px; left: 0; width: 100%; }
.hero-banner .swiper-pagination-bullet {
  display: inline-block;
  width: 6px;
  height: 6px;
  margin: 0 2px;
  border-radius: 100%;
  background: #000;
  opacity: .4;
}
.hero-banner .swiper-pagination-bullet-active { opacity: 1; background: #fd7400; }

/* --- 中栏：资讯 --- */
.hero-news { padding: 5px 10px 5px 18px; }
.hero-news h2,
.hero-news h3,
.hero-news h4 {
  height: 38px;
  overflow: hidden;
  font-size: 18px;
  line-height: 38px;
  color: #fd7400;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hero-news h2 a,
.hero-news h3 a,
.hero-news h4 a { color: #fd7400; }
.hero-news__list--row li { float: left; width: 286px; }
.hero-news__list li,
.hero-news__list--row li {
  height: 35px;
  overflow: hidden;
  line-height: 35px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hero-news__list li a:hover,
.hero-news__list--row li a:hover { color: #0060ff; text-decoration: none; }
.hero-news__list li span {
  display: inline-block;
  height: 18px;
  margin-right: 6px;
  line-height: 17px;
}
.hero-news__list li span a {
  display: inline-block;
  height: 18px;
  padding: 0 7px;
  color: #fd7400;
  border: 1px solid #fd7400;
  border-radius: 4px;
}
.hero-news__list li span a:hover { background: #fd7400; color: #fff; text-decoration: none; }

/* ============================================================
   首屏三栏
   ============================================================ */
.hero3 {
  display: grid;
  grid-template-columns: 230px 650px 280px;
  gap: 20px;
  margin-top: 20px;
}

/* --- 左：栏目导航 --- */
.side-nav { background: #fff; border: 1px solid var(--line); align-self: start; }
.side-nav__title {
  height: 40px; line-height: 40px; padding-left: 14px;
  background: var(--navy); color: #fff; font-size: 15px;
}
.side-nav__title i { margin-right: 6px; color: var(--amber); }
.side-nav__group { padding: 10px 12px; border-bottom: 1px dashed var(--line-2); }
.side-nav__group p { font-size: 14px; font-weight: 600; color: var(--navy); }
.side-nav__group p i { margin-right: 6px; color: var(--brand); font-size: 14px; }
.side-nav__links { margin-top: 6px; display: flex; flex-wrap: wrap; gap: 4px 0; }
.side-nav__links a {
  width: 50%; font-size: 14px; color: var(--ink-2); line-height: 22px;
  padding-left: 14px; position: relative;
}
.side-nav__links a::before {
  content: ""; position: absolute; left: 4px; top: 9px;
  width: 3px; height: 3px; background: #c3cbdb; border-radius: 50%;
}
.side-nav__links a:hover { color: var(--brand); }

.quick-entry {
  display: grid; grid-template-columns: 1fr 1fr;
  border-top: 1px solid var(--line);
}
.quick-entry a {
  display: flex; align-items: center; gap: 8px;
  padding: 11px 12px; font-size: 14px; color: var(--ink-2);
  border-right: 1px solid var(--line-2); border-bottom: 1px solid var(--line-2);
}
.quick-entry a:nth-child(2n) { border-right: 0; }
.quick-entry a:nth-child(n+3) { border-bottom: 0; }
.quick-entry i { color: var(--brand); font-size: 15px; }
.quick-entry a:hover { background: var(--brand-soft); color: var(--brand); }

/* 左栏底部：招生咨询（把左栏补到与中栏接近的高度） */
.side-contact {
  padding: 12px; text-align: center;
  border-top: 4px solid var(--line);
  background: #fbfcfe;
}
.side-contact b { display: block; font-size: 14px; color: var(--navy); }
.side-contact p { margin-top: 4px; font-size: 16px; font-weight: 700; color: var(--brand); }
.side-contact p i { font-size: 14px; margin-right: 4px; }
.side-contact span { display: block; font-size: 11px; color: var(--ink-3); }
.side-contact img { display: block; width: 96px; height: 96px; margin: 8px auto 0; }

/* --- 中：Tab + 轮播 + 新闻 --- */
.center { min-width: 0; align-self: start; }
.cat-tabs {
  display: flex; height: 40px; background: #fff; border: 1px solid var(--line);
  border-bottom: 2px solid var(--brand);
}
.cat-tabs a {
  padding: 0 22px; line-height: 38px; font-size: 14px; color: var(--ink-2);
  border-right: 1px solid var(--line-2);
}
.cat-tabs a:hover { color: var(--brand); }
.cat-tabs a.is-on { background: var(--brand); color: #fff; }

/* 老 banner 是 950×250（3.8:1），硬裁会切掉标题 —— 用 contain + 深色底当画框 */
.slider { position: relative; height: 236px; overflow: hidden; background: var(--navy-2); }
.slider__item { position: absolute; inset: 0; opacity: 0; transition: opacity .5s; }
.slider__item.is-on { opacity: 1; z-index: 2; }
.slider__item img { display: block; width: 100%; height: 100%; object-fit: contain; }
.slider__dots { position: absolute; left: 50%; bottom: 10px; transform: translateX(-50%); z-index: 5; display: flex; gap: 6px; }
.slider__dots i { width: 18px; height: 4px; background: rgba(255,255,255,.55); cursor: pointer; }
.slider__dots i.is-on { background: #fff; }

.news-duo { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 14px; }
.news-duo__col { background: #fff; border: 1px solid var(--line); padding: 10px 14px 6px; }
.news-duo__col h3 {
  font-size: 14px; padding-bottom: 7px; margin-bottom: 4px;
  border-bottom: 1px solid var(--line-2);
}
.news-duo__col h3 a { color: var(--navy); }
.news-duo__col h3 a:hover { color: var(--brand); }
.news-duo__col li { display: flex; align-items: center; gap: 8px; line-height: 28px; }
.news-duo__col li a {
  flex: 1; font-size: 14px; color: #3c465a;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.news-duo__col li a::before { content: "▪"; color: var(--brand); margin-right: 6px; font-size: 10px; }
.news-duo__col li a:hover { color: var(--brand); }
.news-duo__col time { font-size: 14px; color: var(--ink-3); }

/* --- 右：热门课程 + 考试日历 --- */
.right-col { min-width: 0; }
.side-mod { background: #fff; border: 1px solid var(--line); margin-bottom: 16px; }
.side-mod__title {
  display: flex; align-items: center; justify-content: space-between;
  height: 36px; padding: 0 12px;
  border-bottom: 1px solid var(--line);
  font-size: 14px; font-weight: 600; color: var(--navy);
}
.side-mod__title span { position: relative; padding-left: 10px; }
.side-mod__title span::before {
  content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%);
  width: 3px; height: 14px; background: var(--brand);
}
.side-mod__title a { font-size: 14px; font-weight: 400; color: var(--ink-3); }

.hot-course { display: block; padding: 10px; }
.hot-course img { display: block; width: 100%; height: 132px; object-fit: cover; }
.hot-course__txt { padding-top: 8px; }
.hot-course__txt b { display: block; font-size: 14px; }
.hot-course__txt span { display: block; font-size: 14px; color: var(--ink-3); margin-top: 2px; }
.hot-course__txt em { display: inline-block; margin-top: 6px; padding: 1px 8px; background: #fff3e6; color: #d9600c; font-size: 11px; }

.calendar { width: 100%; font-size: 11px; table-layout: fixed; }
.calendar th { background: #f7f8fa; color: var(--ink-3); font-weight: 400; padding: 6px 6px; text-align: left; }
.calendar td { padding: 7px 6px; border-top: 1px solid var(--line-2); color: var(--ink-2); }
.calendar th:nth-child(1), .calendar td:nth-child(1) { width: 36%; }
.calendar th:nth-child(2), .calendar td:nth-child(2) { width: 38%; }
.calendar th:nth-child(3), .calendar td:nth-child(3) { width: 26%; text-align: center; }
.calendar td:first-child { color: var(--ink); }
.calendar em { display: inline-block; padding: 0 6px; line-height: 17px; border: 1px solid var(--line); font-size: 11px; color: var(--ink-3); }
.calendar em.on { border-color: #ffd7b0; background: #fff6ec; color: #d9600c; }
.calendar em.off { border-color: #eee; background: #fafafa; color: #b8bfcc; }

.side-ad { display: block; }
.side-ad img { display: block; width: 100%; }

/* ============================================================
   通用模块
   ============================================================ */
.module {}
.mod-head {
  display: flex; align-items: center; gap: 14px;
  height: 42px; padding: 0 14px;
  background: #fff; border: 1px solid var(--line);
  border-bottom: 2px solid var(--navy);
}
.mod-head h2 {
  position: relative; padding-left: 12px;
  font-size: 17px; font-weight: 600; color: var(--navy);
}
.mod-head h2::before {
  content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%);
  width: 4px; height: 16px; background: var(--brand);
}
.mod-note { font-size: 14px; color: var(--ink-3); }
.mod-more { margin-left: auto; font-size: 14px; color: var(--ink-3); }
.mod-more:hover { color: var(--brand); }
.mod-tabs { display: flex; gap: 4px; }
.mod-tabs a { padding: 2px 12px; font-size: 14px; color: var(--ink-2); border: 1px solid var(--line); }
.mod-tabs a.is-on { background: var(--brand); border-color: var(--brand); color: #fff; }
.mod-tabs a:hover { border-color: var(--brand); color: var(--brand); }
.mod-tabs a.is-on:hover { color: #fff; }

/* ---------- 课程卡片 ---------- */
.course-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 12px; }
.course-card { display: block; background: #fff; border: 1px solid var(--line); }
.course-card:hover { border-color: var(--brand); }
/* 课程图左侧是海报文字，靠右取景，把人物留在画面里、避免与卡片标题打架 */
.course-card img { display: block; width: 100%; height: 146px; object-fit: cover; object-position: right center; }
.course-card__body { padding: 10px 12px 12px; }
.course-card__body b { display: block; font-size: 15px; }
.course-card__body > span { display: block; margin-top: 3px; font-size: 14px; color: var(--ink-3); }
.course-card__body > div { display: flex; align-items: center; gap: 8px; margin-top: 8px; }
.course-card__body i { font-size: 14px; color: var(--ink-3); }
.tag-hot { padding: 0 6px; line-height: 18px; background: #fff1e8; color: #d9600c; font-size: 11px; }

/* ---------- 两栏（名师 + 心声） ---------- */
.two-col { display: grid; grid-template-columns: 790px 1fr; gap: 20px; }
.module__main, .module__side { min-width: 0; }
.module__side .mod-head { border-bottom-color: var(--brand); }

.teachers {
  display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px;
  margin-top: 12px; padding: 14px; background: #fff; border: 1px solid var(--line);
}
.teachers a { display: block; text-align: center; }
.teachers img { display: block; width: 100%; height: 150px; object-fit: cover; object-position: top; background: #f2f4f7; }
.teachers a:hover img { opacity: .9; }
.teachers b { display: block; margin-top: 8px; font-size: 14px; }
.teachers span { display: block; font-size: 14px; color: var(--ink-3); }

.voice-list { margin-top: 12px; padding: 12px 14px; background: #fff; border: 1px solid var(--line); }
.voice-list blockquote { padding-bottom: 10px; margin-bottom: 10px; border-bottom: 1px dashed var(--line-2); font-size: 14px; line-height: 1.8; color: var(--ink-2); }
.voice-list blockquote:last-child { padding-bottom: 0; margin-bottom: 0; border-bottom: 0; }
.voice-list footer { margin-top: 4px; text-align: right; font-size: 11px; color: var(--ink-3); }

/* ---------- 通栏广告 ---------- */
.wide-ad { display: block; margin-top: 15px; }
.wide-ad img { display: block; width: 100%; }

/* ---------- 资讯矩阵 ---------- */
.news-matrix {
  display: grid; grid-template-columns: repeat(4, 1fr);
  background: #fff; border: 1px solid var(--line); border-top: 0;
}
.news-matrix__cell { padding: 12px 16px 14px; border-right: 1px solid var(--line-2); border-bottom: 1px solid var(--line-2); }
.news-matrix__cell:nth-child(4n) { border-right: 0; }
.news-matrix__cell:nth-child(n+5) { border-bottom: 0; }
.news-matrix__cell h3 { font-size: 14px; margin-bottom: 6px; }
.news-matrix__cell h3 a { color: var(--navy); }
.news-matrix__cell h3 a::before { content: "▪"; color: var(--brand); margin-right: 6px; }
.news-matrix__cell li { line-height: 26px; }
.news-matrix__cell li a {
  display: block; font-size: 14px; color: #3c465a;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.news-matrix__cell li a:hover { color: var(--brand); }

/* ---------- 三栏（风采 / 榜样 / 排行） ---------- */
.three-col { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.three-col .mod-head { border-bottom-color: var(--brand); }
.col-box { min-width: 0; }
.col-box > .mod-head { height: 40px; }

.gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 12px; padding: 10px; background: #fff; border: 1px solid var(--line); }
.gallery a { position: relative; display: block; overflow: hidden; }
.gallery img { display: block; width: 100%; height: 82px; object-fit: cover; transition: transform .35s; }
.gallery a:hover img { transform: scale(1.06); }
.gallery span {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 12px 6px 3px; font-size: 11px; color: #fff;
  background: linear-gradient(180deg, transparent, rgba(0,0,0,.6));
  text-align: center;
}

.roles { margin-top: 12px; padding: 8px 14px; background: #fff; border: 1px solid var(--line); }
.role { display: flex; gap: 10px; padding: 9px 0; border-bottom: 1px dashed var(--line-2); }
.role:last-child { border-bottom: 0; }
.role img { width: 46px; height: 56px; object-fit: cover; flex: none; }
.role b { font-size: 14px; }
.role b em { margin-left: 6px; padding: 0 8px; line-height: 17px; background: var(--brand-soft); color: var(--brand); font-size: 11px; font-weight: 400; }
.role p { margin-top: 3px; font-size: 14px; line-height: 1.7; color: var(--ink-2); }

.rank-list { margin-top: 12px; padding: 8px 14px; background: #fff; border: 1px solid var(--line); }
.rank-list li { display: flex; align-items: center; gap: 10px; padding: 6px 0; border-bottom: 1px dashed var(--line-2); }
.rank-list li:last-child { border-bottom: 0; }
.rank-list i {
  flex: none; width: 18px; height: 18px; line-height: 18px; text-align: center;
  background: #eef1f6; color: var(--ink-3); font-size: 11px;
}
.rank-list li:nth-child(-n+3) i { background: var(--brand); color: #fff; }
.rank-list a { font-size: 14px; color: #3c465a; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rank-list a:hover { color: var(--brand); }

/* ---------- 荣誉 ---------- */
.honor-strip {
  display: grid; grid-template-columns: repeat(11, 1fr); gap: 8px;
  padding: 12px; background: #fff; border: 1px solid var(--line);
}
.honor-strip a { display: block; border: 1px solid var(--line-2); }
.honor-strip img { display: block; width: 100%; height: 84px; object-fit: contain; padding: 4px; }
.honor-strip a:hover { border-color: var(--brand); }

/* ============================================================
   底部
   ============================================================ */
.footer { margin-top: 30px; background: #0f2440; color: #8d9bb3; }
.footer__top { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr 1.3fr; gap: 30px; padding: 36px 0 30px; }
.footer__brand img { opacity: .95; }
.footer__brand p { margin-top: 12px; font-size: 14px; line-height: 1.9; }
.footer__col h4 { margin-bottom: 10px; font-size: 14px; color: #fff; font-weight: 600; }
.footer__col a, .footer__col p { display: block; padding: 3px 0; font-size: 14px; }
.footer__col a:hover { color: #fff; }
.footer__contact i { width: 14px; margin-right: 6px; color: var(--amber); }
.footer__bottom { border-top: 1px solid rgba(255,255,255,.08); }
.footer__bottom .wrap { display: flex; align-items: center; gap: 18px; height: 50px; font-size: 14px; }
.footer__bottom a:hover { color: #fff; }
.footer__links { margin-left: auto; }

/* ============================================================
   悬浮客服
   ============================================================ */
.kefu { position: fixed; right: 12px; bottom: 120px; z-index: 900; }
.kefu__item {
  position: relative; width: 54px; height: 54px; margin-bottom: 4px;
  background: #fff; border: 1px solid var(--line);
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px;
  color: var(--ink-2); font-size: 11px; cursor: pointer;
}
.kefu__item i { font-size: 17px; color: var(--brand); }
.kefu__item:hover { background: var(--brand); border-color: var(--brand); color: #fff; }
.kefu__item:hover i { color: #fff; }
.kefu__qr:hover .kefu__pop { display: block; }
.kefu__pop {
  display: none; position: absolute; right: 60px; top: 50%; transform: translateY(-50%);
  padding: 10px; background: #fff; border: 1px solid var(--line);
  box-shadow: 0 8px 22px rgba(18,50,92,.14);
}
.kefu__pop img { display: block; width: 100px; height: 100px; }
.kefu__pop p { margin-top: 5px; font-size: 11px; color: var(--ink-2); white-space: nowrap; }

/* 轻提示 */
.toast {
  position: fixed; left: 50%; bottom: 110px; z-index: 9999;
  transform: translateX(-50%);
  padding: 10px 20px; background: rgba(18,50,92,.92); color: #fff; font-size: 14px;
}

/* ============================================================
   动效偏好
   ============================================================ */
@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; }
}

/* ============================================================
   亮色版差异：提亮、圆角、卡片细节
   ============================================================ */


/* 卡片统一小圆角，比深蓝版更轻 */
.side-nav,
.side-mod,
.news-duo__col,
.cat-tabs,
.teachers,
.voice-list,
.course-card,
.news-matrix,
.gallery,
.roles,
.rank-list,
.honor-strip {
  border-radius: 6px;
  overflow: hidden;
}
.mod-head { border-radius: 6px; }
.mod-head { border-bottom-color: var(--brand); }

/* 侧栏标题：蓝色 */
.side-nav__title { background: linear-gradient(90deg, #2f6bff, #1b3fa8); }
.side-nav__group p { color: #1f2937; }

/* 轮播画框：亮色版用白底，与整体底色一致 */
.slider { background: #eef3ff; border: 1px solid var(--line); }

/* 顶部搜索按钮 */
.search__box button:hover { background: #1e56e8; }

/* 课程卡片悬停 */
.course-card:hover { border-color: var(--brand); box-shadow: 0 6px 18px rgba(47,107,255,.12); }

/* 资讯矩阵单元格浅色分隔 */
.news-matrix__cell h3 a { color: #1f2937; }

/* 页脚 */
.footer { background: #10203d; }

/* 悬浮客服 */
.kefu__item { border-radius: 4px; }


/* ============================================================
   首屏三栏 —— 照扒 chinaacc 注会频道
   ============================================================ */
.home-hero {
  display: grid;
  grid-template-columns: 280px 1fr 280px;
  gap: 10px;
  margin-top: 16px;
  align-items: start;
  --c-accent: #1f56d5;
  --c-blue: #1677ff;
  --c-red: #ff4d00;
  --c-text: #333;
  --c-gray: #666;
  --c-line: #eee;
}

/* ==================== 左栏 ==================== */
.home-side {
  background: #fff;
  border-radius: 4px;
}

/* 查分提醒 */
.remind-card {
  display: flex; align-items: center; gap: 14px;
  padding: 22px 18px;
}
.remind-card__clock {
  position: relative; flex: none;
  width: 58px; height: 58px; border-radius: 50%;
  border: 3px solid var(--c-accent);
}
.remind-card__clock::before {
  content: ""; position: absolute; left: 50%; top: 50%;
  width: 2px; height: 17px; background: var(--c-accent);
  transform-origin: bottom center; transform: translate(-50%, -100%);
}
.remind-card__clock::after {
  content: ""; position: absolute; left: 50%; top: 50%;
  width: 14px; height: 2px; background: var(--c-accent);
  transform-origin: left center; transform: translate(0, -50%) rotate(-35deg);
}
.remind-card__txt span { display: block; font-size: 15px; color: var(--c-text); line-height: 1.4; }
.remind-card__txt b { display: block; margin-top: 2px; font-size: 21px; color: var(--c-accent); font-weight: 600; letter-spacing: .5px; }

/* 新手指南 */
.side-sec { padding: 14px 18px 18px; border-top: 1px solid var(--c-line); }
.side-sec__title {
  display: flex; align-items: center;
  height: 30px; margin-bottom: 2px;
  font-size: 15px; font-weight: 600; color: var(--c-blue);
}
.side-sec__title i {
  width: 6px; height: 6px; margin-right: 8px;
  border-radius: 50%; background: var(--c-accent);
}
.side-sec__title em { margin-left: auto; font-size: 14px; font-weight: 400; color: var(--c-gray); }

.link-cols-3 { display: grid; grid-template-columns: repeat(3, 1fr); }
.link-cols-3 li { line-height: 34px; }
.link-cols-3 a { font-size: 14px; color: var(--c-gray); }
.link-cols-3 a:hover { color: var(--c-blue); }

.link-cols-4 { display: grid; grid-template-columns: repeat(4, 1fr); }
.link-cols-4 li { line-height: 34px; }
.link-cols-4 a { font-size: 14px; color: var(--c-gray); }
.link-cols-4 a:hover { color: var(--c-blue); }
.tag-hot {
  display: inline-block; padding: 0 4px;
  font-size: 11px; font-weight: 400; color: #fff;
  background: #ff6b35; border-radius: 2px; line-height: 15px;
}

/* 热点关注 */
.side-sec--hot { padding-bottom: 22px; }
.side-hot-title {
  display: flex; align-items: center; gap: 8px;
  height: 30px; margin-bottom: 12px;
  font-size: 15px; color: var(--c-text);
}
.side-hot-title em {
  padding: 2px 10px; font-style: normal;
  font-size: 14px; color: #fff; font-weight: 600;
  background: linear-gradient(90deg, #ff6b35, #ff4d00);
  border-radius: 3px;
}
.quick-links { display: grid; grid-template-columns: repeat(3, 1fr); }
.quick-links a {
  position: relative;
  display: flex; flex-direction: column; align-items: center; gap: 8px;
  font-size: 14px; color: var(--c-gray);
}
.quick-links i {
  display: grid; place-items: center;
  width: 44px; height: 44px; border-radius: 4px;
  border: 1px solid #d6e2fb; color: var(--c-accent); font-size: 19px;
}
.quick-links a:hover { color: var(--c-accent); }
.quick-links a:hover i { background: #eef3ff; }
.flame-badge {
  position: absolute; top: 0; right: 22px;
  width: 14px; height: 16px;
  background: linear-gradient(180deg, #ff9a3c, #ff4d00);
  border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
  transform: rotate(-8deg);
}

/* ==================== 中栏 ==================== */
.home-main { min-width: 0; background: #fff; border-radius: 4px; overflow: hidden; }
.home-slider { height: 150px; border-radius: 0; border: 0; }
.home-slider .slider__item img { object-fit: cover; }

.headline-tags {
  display: flex; align-items: center; gap: 26px;
  padding: 14px 20px 6px;
}
.headline-tags a { font-size: 15px; font-weight: 600; color: var(--c-red); }
.headline-tags a:hover { text-decoration: underline; }

.news-pairs {
  display: grid; grid-template-columns: 1fr 1fr; gap: 0 30px;
  padding: 4px 20px 10px;
}
.news-pairs li { display: flex; align-items: center; height: 30px; font-size: 14px; }
.news-pairs em { flex: none; color: var(--c-gray); }
.news-pairs b { flex: none; margin: 0 4px; color: #ccc; font-weight: 400; }
.news-pairs span {
  flex: 1; color: var(--c-text);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  cursor: pointer;
}
.news-pairs span:hover { color: var(--c-blue); }

.plan-block { padding: 8px 20px 12px; }
.plan-block h4 {
  display: flex; align-items: center; gap: 16px;
  padding-bottom: 10px; margin-bottom: 4px;
  font-size: 16px; font-weight: 600; color: var(--c-blue);
}
.plan-block h4 a { font-size: 14px; font-weight: 600; color: var(--c-red); }
.plan-block h4 a:hover { text-decoration: underline; }
.plan-block li { display: flex; align-items: center; height: 30px; }
.plan-block em {
  flex: none; margin-right: 6px;
  font-size: 14px; color: var(--c-blue);
}
.plan-block li a {
  font-size: 14px; color: var(--c-text);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.plan-block li a:hover { color: var(--c-blue); }

.hot-list { padding: 16px 20px 18px; border-top: 1px solid var(--c-line); }
.hot-list h4 {
  display: flex; align-items: center;
  padding-bottom: 10px; margin-bottom: 6px;
  font-size: 15px; font-weight: 600; color: var(--c-text);
  border-bottom: 1px solid var(--c-line);
}
.hot-list h4 i { margin-left: auto; color: #bbb; font-size: 14px; cursor: pointer; }
.hot-list h4 i:hover { color: var(--c-blue); }
.hot-list li { line-height: 30px; }
.hot-list li a { font-size: 14px; color: #555; }
.hot-list li a:hover { color: var(--c-blue); }

/* ==================== 右栏 ==================== */
.home-aside { background: #fff; border-radius: 4px; padding-bottom: 8px; }

.aside-head {
  display: flex; align-items: center; gap: 6px;
  padding: 12px;
  border-bottom: 1px solid var(--c-line);
}
.aside-head h3 {
  position: relative; padding-left: 10px;
  font-size: 15px; font-weight: 600; color: var(--c-text); white-space: nowrap;
}
.aside-head h3::before {
  content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%);
  width: 3px; height: 15px; background: var(--c-blue);
}
.btn-join {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 2px 6px; border-radius: 3px;
  font-size: 11px; color: #fff; white-space: nowrap;
  background: linear-gradient(90deg, #ff8a3c, #ff4d00);
}
.btn-join:hover { color: #fff; filter: brightness(1.05); }
.more-link { margin-left: auto; font-size: 14px; color: #999; }
.more-link:hover { color: var(--c-blue); }

.star-teacher { display: flex; gap: 14px; padding: 16px; }
.star-teacher > img {
  flex: none; width: 100px; height: 126px;
  object-fit: cover; object-position: top;
  background: #f2f4f7;
}
.star-teacher__txt b { display: block; font-size: 14px; color: var(--c-text); }
.star-teacher__txt p { margin-top: 4px; font-size: 14px; color: var(--c-gray); }
.star-teacher__txt span { display: block; margin-top: 10px; font-size: 14px; color: var(--c-gray); }
.star-teacher__txt a { display: block; margin-top: 2px; font-size: 14px; color: var(--c-blue); line-height: 1.7; }
.star-teacher__txt a:hover { text-decoration: underline; }

.dot-nav { display: flex; justify-content: center; gap: 6px; padding: 0 0 12px; }
.dot-nav i { width: 18px; height: 3px; background: #e3e3e3; }
.dot-nav i.is-on { background: var(--c-red); }

.aside-subhead {
  display: flex; align-items: center;
  padding: 12px 16px 10px;
  border-top: 1px solid var(--c-line);
}
.aside-subhead h3 { font-size: 16px; font-weight: 600; color: var(--c-text); }
.live-list { padding: 0 16px; }
.live-list li {
  display: flex; align-items: center; gap: 10px;
  padding: 12px 0; border-bottom: 1px solid var(--c-line);
}
.live-list li:last-child { border-bottom: 0; }
.live-list img { flex: none; width: 46px; height: 46px; border-radius: 50%; object-fit: cover; }
.live-list div { flex: 1; min-width: 0; }
.live-list b { font-size: 14px; font-weight: 400; color: var(--c-text); }
.live-list em {
  margin-left: 6px; padding: 0 4px;
  font-size: 11px; color: var(--c-blue); background: #eaf2ff;
  border-radius: 2px; line-height: 16px; display: inline-block;
}
.live-list span {
  display: block; margin-top: 3px; font-size: 14px; color: #999;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.btn-play {
  flex: none; display: grid; place-items: center;
  width: 34px; height: 34px; border-radius: 50%;
  background: var(--c-accent); color: #fff; font-size: 14px;
}
.btn-play:hover { background: #1a4ac0; color: #fff; }
/* ============================================================
   参考页第一屏依赖的工具类（限定在 .hero 内，避免污染全站）
   ============================================================ */
.hero .container { width: 1200px; margin: 0 auto; }

.hero.clearfix::after,
.hero .clearfix::after {
  content: "."; display: block; height: 0; clear: both; visibility: hidden;
}
.hero.clearfix,
.hero .clearfix { zoom: 1; }

.hero .fl { float: left; }
.hero .fr { float: right; }
.hero .pr { position: relative; }
.hero .mlr5 { margin-left: 5px; margin-right: 5px; }

/* 第一屏：快速登录文字不换行（参考页原样式宽 70px，中文字体下会折行） */
.hero .hero-login .hero-login__quick-label { width: auto; white-space: nowrap; }

/* ============================================================
   第一屏：与主导航留 10px 间距；三栏用 flex 等高
   ============================================================ */
.hero { padding-top: 10px; }

.hero .container {
  display: flex;
  align-items: stretch;
}
.hero .hero__left,
.hero .hero__main,
.hero .hero__right {
  float: none;
}
/* flex 下元素依次左排，原来的 10px 余量会跑到最右边 —— 显式给右栏留出间距 */
.hero .hero__right { margin-left: 10px; }

/* 左栏纵向排列，九宫格吃掉剩余高度 */
.hero .hero__left {
  display: flex;
  flex-direction: column;
}
.hero .hero-links {
  flex: 1;
  display: flex;
}
.hero .hero-links table {
  width: 100%;
  height: 100%;
}
.hero .hero-links table td a {
  height: 100%;
  padding-top: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.hero .hero-links table td a span {
  margin-top: 8px;
}

/* ============================================================
   九宫格字体图标
   图标字体：Remix Icon v4.9.1（Apache-2.0），已按用到的 9 个图标做子集
   ============================================================ */
@font-face {
  font-family: "remixicon";
  src: url('../fonts/remixicon-subset.woff2') format('woff2'),
       url('../fonts/remixicon-subset.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
.ri {
  display: inline-block;
  font-family: "remixicon" !important;
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.ri-presentation-line::before { content: "\f350"; }
.ri-live-line::before         { content: "\eec0"; }
.ri-headphone-line::before    { content: "\ee05"; }
.ri-edit-box-line::before     { content: "\ec82"; }
.ri-folder-open-line::before  { content: "\ed70"; }
.ri-file-text-line::before    { content: "\ed0f"; }
.ri-lightbulb-line::before    { content: "\eea9"; }
.ri-computer-line::before     { content: "\ebca"; }
.ri-user-line::before         { content: "\f264"; }

/* 图标尺寸与 hover 动效（替换原 hero-links.png 雪碧图，保留过渡感） */
.hero .hero-links table td a em {
  display: block;
  width: auto;
  height: auto;
  margin: 0 auto;
  background: none;
  font-size: 28px;
  line-height: 1;
  color: #1f56d5;
  transition: color .3s ease, transform .3s ease;
}
.hero .hero-links table td a:hover em {
  color: #4088e3;
  transform: translateY(-3px);
}

/* ============================================================
   第一屏左栏底部：热点关注（跟在九宫格下方，不单独建容器）
   ============================================================ */
.hero .hero-hot {
  flex: none;
  border-top: 1px solid #f4f4f4;
  padding: 8px 10px 27px;
}
.hero .hero-hot__title {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 30px;
  margin-bottom: 15px;
  margin-top:10px;
  font-size: 16px;
  font-weight: 400;
  color: #333;
}
.hero .hero-hot__title em {
  padding: 3px 10px;
  font-style: normal;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.1;
  color: #fff;
  background: linear-gradient(90deg, #ff6b35, #ff4d00);
  border-radius: 3px;
}
.hero .hero-hot__items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
.hero .hero-hot__items a {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 7px;
  font-size: 14px;
  color: #666;
  text-decoration: none;
}
.hero .hero-hot__items a:hover { color: #1f56d5; }
.hero .hero-hot__items i {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 4px;
  border: 1px solid #d6e2fb;
  color: #1f56d5;
  font-size: 17px;
}
.hero .hero-hot__items a:hover i { background: #eef3ff; }
.hero .hero-hot__items .flame {
  position: absolute;
  top: -2px;
  right: 22px;
  width: 13px;
  height: 15px;
  background: linear-gradient(180deg, #ff9a3c, #ff4d00);
  border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
  transform: rotate(-8deg);
}

/* 第一屏：顶部间距 15px；左栏不参与等高拉伸，按自身内容高度（允许高于中栏） */
.hero { padding-top: 15px; }
.hero .hero__left { align-self: flex-start; }
.hero .hero-links { flex: none; }
.hero .hero-links table td a {
  height: 70px;
  padding-top: 18px;
  padding-bottom: 69px;
  display: block;
}

/* 左栏按内容自然高度（可高于中栏）；中右两栏保持同一高度 */
.hero .container { align-items: flex-start; }
.hero .hero__main { min-height: 496px; }

/* 第一屏中栏：顶部 banner 上边两角圆角，裁掉溢出 */
.hero .hero-banner {
  border-radius: 6px 6px 0 0;
  overflow: hidden;
}

/* ============================================================
   第一屏底部咨询引导（搬运自 mobiletrain.org .banner-bottom）
   靠右对齐中栏 + 右栏，按钮保留扩散光圈动画
   ============================================================ */
.hero .banner-bottom {
  display: flex;
  justify-content: flex-end;
  width: 920px;
  margin: 15px 0 0 auto;
}
.hero .banner-bottom .banner-item {
  flex: 1;
  height: 113px;
  background: linear-gradient(0deg, #ffffff 0%, #f3f7ff 100%);
  box-shadow: 0 0 15px 0 rgba(0, 64, 216, .1), inset 0 2px 4px 0 #fff;
  border-radius: 6px;
  border: solid 2px #fff;
  box-sizing: border-box;
  margin-left: 15px;
}
.hero .banner-bottom .banner-item:first-child { margin-left: 0; }

.hero .banner-bottom .banner-item .item-des {
  padding-top: 13px;
  padding-left: 10px;
}
.hero .banner-bottom .banner-item .item-des span {
  font-size: 14px;
  color: #326cf6;
  margin-right: 70px;
}
.hero .banner-bottom .banner-item .item-des span.bg1 { color: #ff680b; }
.hero .banner-bottom .banner-item .item-des span.bg2 { color: #00c883; }
.hero .banner-bottom .banner-item .item-des span.bg3 { color: #840cff; margin-right: 54px; }
.hero .banner-bottom .banner-item .item-des span.bg4 { color: #ffb401; margin-right: 44px; }
.hero .banner-bottom .banner-item .item-des img { height: 22px; }

.hero .banner-bottom .banner-item h3 {
  padding-left: 18px;
  font-weight: bold;
  font-size: 15px;
  color: #000;
}
.hero .banner-bottom .banner-item p {
  padding-left: 18px;
  font-size: 12px;
  color: #666;
}
.hero .banner-bottom .banner-item a {
  position: relative;
  display: block;
  font-size: 13px;
  color: #fff;
  width: 83px;
  height: 24px;
  background-image: linear-gradient(45deg, #326cf6 0%, #3399ff 100%);
  border-radius: 4px;
  line-height: 24px;
  margin: 4px auto 0;
  text-align: center;
  overflow: hidden;
}
/* 按钮扩散光圈：原站效果，保留 */
.hero .banner-bottom .banner-item a::after {
  position: absolute;
  content: '';
  width: 100px;
  height: 100px;
  top: -37px;
  left: -11px;
  background-color: #fff;
  border-radius: 50%;
  -webkit-animation: mt-scale 1s ease 0s infinite;
  animation: mt-scale 1s ease 0s infinite;
}
.hero .banner-bottom .banner-item a .fa-play {
  font-size: 7px;
  margin-left: 4px;
}
.hero .banner-bottom .banner-item a.bg1 {
  background: linear-gradient(45deg, #c84c00 0%, #de3300 100%);
}
.hero .banner-bottom .banner-item a.bg2 {
  background: linear-gradient(45deg, #00c883 0%, #00de91 100%);
}
.hero .banner-bottom .banner-item a.bg3 {
  background: linear-gradient(45deg, #7b1fe8 0%, #a44bff 100%);
}
.hero .banner-bottom .banner-item a.bg4 {
  background: linear-gradient(45deg, #ffa801 0%, #fad400 100%);
}
.hero .banner-bottom .banner-item:nth-child(2) {
  background: linear-gradient(0deg, #ffffff 0%, #fff5ec 100%);
  box-shadow: 0 0 15px 0 rgba(255, 104, 11, .15), inset 0 2px 4px 0 #fff;
}
.hero .banner-bottom .banner-item:nth-child(3) {
  background: linear-gradient(0deg, #ffffff 0%, #edfff9 100%);
  box-shadow: 0 0 15px 0 rgba(0, 168, 110, .15), inset 0 2px 4px 0 #fff;
}
.hero .banner-bottom .banner-item:nth-child(4) {
  background: linear-gradient(0deg, #ffffff 0%, #f8f1ff 100%);
  box-shadow: 0 0 15px 0 rgba(132, 12, 255, .13), inset 0 2px 4px 0 #fff;
}
.hero .banner-bottom .banner-item:nth-child(5) {
  background: linear-gradient(0deg, #ffffff 0%, #fffcf4 100%);
  box-shadow: 0 0 15px 0 rgba(208, 147, 0, .15), inset 0 2px 4px 0 #fff;
}

@keyframes mt-scale {
  0%   { -webkit-transform: scale(0); transform: scale(0); opacity: 1; }
  80%  { -webkit-transform: scale(1); transform: scale(1); opacity: 0; }
  100% { opacity: 0; }
}
@-webkit-keyframes mt-scale {
  0%   { -webkit-transform: scale(0); opacity: 1; }
  80%  { -webkit-transform: scale(1); opacity: 0; }
  100% { opacity: 0; }
}

/* banner-bottom：标签与右上角图标两端对齐，避免窄卡片下挤在一起 */
.hero .banner-bottom .banner-item .item-des {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 5px 10px 0;
}
.hero .banner-bottom .banner-item .item-des span,
.hero .banner-bottom .banner-item .item-des span.bg1,
.hero .banner-bottom .banner-item .item-des span.bg2,
.hero .banner-bottom .banner-item .item-des span.bg3,
.hero .banner-bottom .banner-item .item-des span.bg4 {
  margin-right: 0;
  white-space: nowrap;
}
.hero .banner-bottom .banner-item h3 {
  padding: 0 10px 0 18px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.hero .banner-bottom .banner-item p {
  padding: 0 10px 0 18px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ============================================================
   第一屏：Grid 布局，让咨询卡片落在中栏 + 右栏的正下方
   （左栏跨两行，卡片占第 2 行第 2~3 列，宽度自动 = 600 + 10 + 320）
   ============================================================ */
.hero .container {
  display: grid;
  grid-template-columns: 260px 600px 320px;
  column-gap: 10px;
  row-gap: 10px;
  align-items: stretch;
}
.hero .hero__left {
  grid-column: 1;
  grid-row: 1 / span 2;
  align-self: start;
}
.hero .hero__main {
  grid-column: 2;
  grid-row: 1;
  margin-left: 0;
}
.hero .hero__right {
  grid-column: 3;
  grid-row: 1;
  margin-left: 0;
}
.hero .banner-bottom {
  grid-column: 2 / span 2;
  grid-row: 2;
  width: auto;
  margin: 0;
}

/* ============================================================
   CPA 名师（版式参考 sieredu，类名与配色为本站自有）
   配色：品牌蓝主调 + 橙色点缀
   ============================================================ */
.cpa-master { margin-top: 0px; }

.cpa-master__title {
  position: relative;
  display: flex;
  align-items: center;
  height: 40px;
  padding-left: 12px;
  margin-bottom: 10px;
  font-size: 20px;
  font-weight: 600;
  color: #1f2937;
}
.cpa-master__more {
  margin-left: auto;
  font-size: 14px;
  font-weight: 400;
  color: #8d96ab;
}
.cpa-master__more:hover { color: #1f56d5; }
.cpa-master__title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 18px;
  border-radius: 2px;
  background: #1f56d5;
}

/* 舞台：整块深蓝背景 + 圆角 */
.cpa-master__stage {
  position: relative;
  height: 420px;
  border-radius: 15px;
  background: linear-gradient(120deg, #12308c 0%, #1f56d5 55%, #2f6bff 100%);
  overflow: hidden;
  margin-top: 10px;
}

/* 背景装饰：淡淡的同心圆，纯 CSS（原 __deco 层已并入伪元素） */
.cpa-master__stage::before {
  content: "";
  position: absolute;
  right: -120px;
  top: -160px;
  width: 720px;
  height: 720px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,.14) 0%, rgba(255,255,255,0) 62%);
  pointer-events: none;
}

/* ---------- 幻灯片 ---------- */
.cpa-master__slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity .35s ease;
}
.cpa-master__slide.is-on { opacity: 1; visibility: visible; z-index: 2; }

/* 左侧信息 */
.cpa-master__info {
  position: absolute;
  left: 8%;
  top: 0;
  width: 50%;
  height: 100%;
  padding-top: 34px;
  box-sizing: border-box;
}
.cpa-master__name {
  margin: 0 0 14px;
  font-size: 42px;
  line-height: 48px;
  font-weight: 600;
  color: #fff;
}

/* 所授课程：高度随标签行数自适应，最多显示 3 个 */
.cpa-master__tags {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 4px;
}
.cpa-master__tags .cpa-master__tag:nth-child(n + 4) { display: none; }
.cpa-master__tag {
  margin: 0 12px 8px 0;
  padding: 5px 14px;
  border-radius: 6px;
  background: rgba(255, 217, 163, .16);
  border: 1px solid rgba(255, 190, 110, .45);
  color: #ffd9a0;
  font-size: 12px;
  line-height: 14px;
  font-style: normal;
  white-space: nowrap;
}

/* 简介：固定 4 行高（26px × 4），超出内部滚动 */
.cpa-master__desc {
  height: 104px;
  margin: 0;
  overflow: auto;
  padding-right: 10px;
  font-size: 14px;
  line-height: 26px;
  color: rgba(255, 255, 255, .82);
}
.cpa-master__desc::-webkit-scrollbar { width: 3px; }
.cpa-master__desc::-webkit-scrollbar-thumb { background: rgba(255,255,255,.3); border-radius: 3px; }

/* 进入老师主页：固定在信息区底部，不随简介长短移动 */
.cpa-master__link {
  position: absolute;
  left: 0;
  bottom: 128px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 32px;
  padding: 0 14px;
  border-radius: 6px;
  background: rgba(255, 255, 255, .18);
  color: #fff;
  font-size: 14px;
}
.cpa-master__link:hover { background: #ff7a45; color: #fff; }

/* 右侧人像：img 直接定位（原 __photo 容器层已删） */
.cpa-master__photo {
  position: absolute;
  right: 4%;
  top: 0;
  height: 100%;
  width: auto;
  max-width: 42%;
  object-fit: contain;
  object-position: bottom;
  z-index: 3;
}

/* ---------- 小头像条 ---------- */
.cpa-master__avatars {
  position: absolute;
  left: 8%;
  bottom: 10px;
  width: 52%;
  z-index: 5;
  display: flex;
  align-items: center;
  gap: 10px;
}
.cpa-master__track {
  display: flex;
  gap: 15px;
  overflow-x: auto;
  scroll-behavior: smooth;
  padding: 4px 0;
}
.cpa-master__track::-webkit-scrollbar { display: none; }
.cpa-master__avatar {
  flex: none;
  width: 68px;
  height: 68px;
  border-radius: 6px;
  overflow: hidden;
  border: 2px solid transparent;
  opacity: .7;
  transition: opacity .2s, border-color .2s;
}
.cpa-master__avatar img { display: block; width: 100%; height: 100%; object-fit: cover; }
.cpa-master__avatar:hover { opacity: 1; }
.cpa-master__avatar.is-on { border-color: #ff7a45; opacity: 1; }

.cpa-master__arrow {
  flex: none;
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  cursor: pointer;
  color: #fff;
  font-style: normal;
  opacity: .7;
}
.cpa-master__arrow::before {
  content: "";
  width: 9px;
  height: 9px;
  border-left: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
}
.cpa-master__arrow--prev::before { transform: rotate(45deg); }
.cpa-master__arrow--next::before { transform: rotate(-135deg); }
.cpa-master__arrow:hover { opacity: 1; }
.cpa-master__arrow--prev { visibility: hidden; }


/* 班级卡片（源自 list_article_img_class.htm，类名自有） */
/*财科面授班级列表*/
.class-showcase__track {padding:20px 18px 40px 18px;}
.class-showcase__track .class-showcase__item {width:292px;background:#fff;border-radius:6px;margin:10px 5px;/*margin:20px 10px 20px 0;*/                    -webkit-box-shadow:0 2px 15px 0 #f0f0f0;box-shadow:0 2px 15px 0 #f0f0f0;-webkit-transition:all .5s;-o-transition:all .5s;transition:all .5s;border:1px solid #dae3fd;display:flex;flex-wrap:wrap;}
.class-showcase__track .class-showcase__item:nth-of-type(3n) {margin-right:0;}
.class-showcase__track .class-showcase__item:hover {-webkit-transform:translateY(-10px);-ms-transform:translateY(-10px);transform:translateY(-10px);}
.class-showcase__track .class-showcase__item .class-showcase__cover {width:292px;height:158px;position:relative;border-radius:6px 6px 0 0;overflow:hidden;}
.class-showcase__track .class-showcase__item .class-showcase__img {width:100%;cursor:pointer;display:block;height:auto;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);-webkit-transition:-webkit-transform .3s ease;transition:-webkit-transform .3s ease;-o-transition:transform .3s ease;transition:transform .3s ease;transition:transform .3s ease,-webkit-transform .3s ease;}
.class-showcase__track .class-showcase__item .class-showcase__img:hover {-webkit-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1);}
.class-showcase__track .class-showcase__item .class-showcase__body {padding:15px 10px 20px 10px;}
.class-showcase__track .class-showcase__item .class-showcase__tags {height:210px;}
.class-showcase__track .class-showcase__item  .class-showcase__title {color:#383838;cursor:pointer;font-weight:600;height:44px;line-height:22px;margin-bottom:10px;font-size:16px;overflow:hidden;}
.class-showcase__track .class-showcase__item  .class-showcase__title a {color:#555;text-decoration:none;}
.class-showcase__track .class-showcase__item .class-showcase__title a:hover {color:#000;}
.class-showcase__track .class-showcase__item  .class-showcase__tips {color:#666;}
.class-showcase__track .class-showcase__item .tip {line-height:26px;font-size:14px;padding-left:5px;}
.class-showcase__track .class-showcase__item  .tip:before {background:#999;border-radius:50%;content:"";display:inline-block;height:4px;margin-right:10px;width:4px;position:relative;top:-2px;}
.class-showcase__track .class-showcase__item .tip:nth-of-type(4n) {margin-right:0;}
.class-showcase__track .class-showcase__item .class-showcase__feats {background-color:#f7f7f7;border-radius:6px;overflow:hidden;}
.class-showcase__track .class-showcase__item  .class-showcase__feat {background-color:#f7f7f7;color:#383838;font-size:14px;font-weight:400;line-height:20px;padding:10px;display:flex;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;}
.class-showcase__track .class-showcase__item .class-showcase__feat:nth-of-type(2),.class-showcase__track .class-showcase__item .class-showcase__feat:nth-of-type(3),.class-showcase__track .class-showcase__item .class-showcase__feat:nth-of-type(4) {padding-top:0;}
.class-showcase__track .class-showcase__item .class-showcase__feat-icon {height:18px;margin-right:8px;width:18px;}
.class-showcase__track .class-showcase__item .class-showcase__feat-text {width:205px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.class-showcase__track .class-showcase__item .class-showcase__price {margin-top:30px;line-height:30px;font-size:14px;padding-left:5px;}
.class-showcase__track .class-showcase__item .class-showcase__price .class-showcase__old {vertical-align:bottom;color:rgb(127,127,127);text-decoration:line-through;font-weight:normal;font-size:16px;}
.class-showcase__track .class-showcase__item .class-showcase__price .class-showcase__new {vertical-align:bottom;color:#ff5338;font-size:16px;}
.class-showcase__track .class-showcase__item .class-showcase__price .class-showcase__new strong {font-size:30px;}
.class-showcase__track .class-showcase__item .class-showcase__btns {margin-top:20px;-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;display:flex;}
.class-showcase__track .class-showcase__item .class-showcase__btn,.class-showcase__btn--primary {cursor:pointer;border-radius:17px;}
.class-showcase__track .class-showcase__item .class-showcase__btn {background:#f2f2f2;border:none;color:#333;font-weight:400;height:36px;line-height:36px;padding:0;width:68px;}
.class-showcase__track .class-showcase__item .class-showcase__btn:hover {background:#fff;border:1px solid #d0d0d0;color:#666;}
.class-showcase__track .class-showcase__item .class-showcase__btn--primary {color:#fff;border:none;font-weight:400;height:36px;line-height:37px;padding:0;width:110px;background:-webkit-gradient(linear,left top,right top,from(#2e74ff),to(#005aed));background:-o-linear-gradient(left,#2e74ff,#005aed 100%);background:linear-gradient(90deg,#2e74ff,#005aed);}
.class-showcase__track .class-showcase__item .class-showcase__btn--primary:hover {background:-webkit-gradient(linear,left top,right top,from(#ff9338),to(#ff720e));background:-o-linear-gradient(left,#ff9338,#ff720e 100%);background:linear-gradient(90deg,#ff9338,#ff720e);}
.class-showcase__track .class-showcase__item .class-showcase__give {position:relative;width:272px;height:26px;line-height:26px;color:#fd7400;font-size:14px;text-align:center;background:#fef4e9;background:-webkit-linear-gradient(left,#fef4e8,#fff9f3);background:-moz-linear-gradient(left,#fef4e8,#fff9f3);background:-ms-linear-gradient(left,#fef4e8,#fff9f3);background:linear-gradient(left,#fef4e8,#fff9f3);}
.class-showcase__track .class-showcase__item .class-showcase__give i {font-size:16px;width:26px;height:26px;text-align:center;line-height:26px;color:#fff;background:#fd7400;border-radius:50%;display:inline-block;zoom:1;margin-right:4px;vertical-align:top;margin-top:0px;}
.listMain .layout .listLeft .courseDetailTop .courseInfoWrap .coursePriceRow .class-showcase__old{font-size:14px;color:#999;text-decoration:line-through;}
.listMain .layout .listLeft .courseDetailTop .courseInfoWrap .coursePriceRow .class-showcase__new{color:#ff5338;font-size:16px;white-space:nowrap;}
.listMain .layout .listLeft .courseDetailTop .courseInfoWrap .coursePriceRow .class-showcase__new strong{font-size:30px;font-weight:700;}
/* ============================================================
   首页班级展示：4 个平分宽度 + 左右切换
   ============================================================ */
.class-showcase {
  position: relative;
  margin-top: 10px;
}
.class-showcase__viewport {
  overflow: hidden;
  padding: 10px 0 14px;
}
.class-showcase__track {
  display: flex;
  gap: 15px;
  padding: 0;
  transition: transform .45s ease;
  will-change: transform;
}
.class-showcase__track .class-showcase__item {
  flex: 0 0 auto;
  width: calc((100% - 45px) / 4);
  min-width: 0;
  margin: 0;
  box-sizing: border-box;
}
.class-showcase__track .class-showcase__item .class-showcase__cover {
  width: 100%;
}
.class-showcase__track .class-showcase__item:hover {
  transform: translateY(-6px);
}

/* 左右箭头 */
.class-showcase__arrow {
  position: absolute;
  top: 55%;
  z-index: 5;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  margin-top: -21px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 4px 16px rgba(31, 41, 55, .16);
  cursor: pointer;
  transition: background-color .2s, opacity .2s;
}
.class-showcase__arrow::before {
  content: "";
  width: 10px;
  height: 10px;
  border-left: 2px solid #1f56d5;
  border-bottom: 2px solid #1f56d5;
}
.class-showcase__arrow--prev { left: -20px; }
.class-showcase__arrow--prev::before { transform: rotate(45deg); margin-left: 4px; }
.class-showcase__arrow--next { right: -20px; }
.class-showcase__arrow--next::before { transform: rotate(-135deg); margin-right: 4px; }
.class-showcase__arrow:hover { background: #1f56d5; }
.class-showcase__arrow:hover::before { border-color: #fff; }
.class-showcase__arrow.is-off {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
/* ============================================================
   注册会计师考试（选项卡资讯）
   ============================================================ */
.cpa-exam { margin-top: 10px; }
.cpa-exam__box {
  background: #fff;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 4px 18px rgba(31, 41, 55, .05);
}

/* 选项卡头 */
.cpa-exam__tabs {
  display: flex;
  padding: 0 6px;
  border-bottom: 2px solid #1f56d5;
}
.cpa-exam__tab {
  flex: 1;
  height: 46px;
  line-height: 46px;
  text-align: center;
  font-size: 15px;
  color: #4b5563;
  border-right: 1px solid #f0f2f6;
  transition: background-color .2s, color .2s;
}
.cpa-exam__tab:last-child { border-right: 0; }
.cpa-exam__tab:hover { color: #1f56d5; }
.cpa-exam__tab.is-on {
  background: #1f56d5;
  color: #fff;
  font-weight: 600;
}

/* 面板 */
.cpa-exam__panel {
  display: none;
  gap: 20px;
  padding: 20px;
  align-items: stretch;
  min-height: 200px;
}
.cpa-exam__panel.is-on { display: flex; }

/* 左侧导读卡 */
.cpa-exam__lead {
  position: relative;
  flex: none;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  width: 280px;
  padding: 22px 24px;
  border-radius: 8px;
  background: linear-gradient(135deg, #1b3fa8, #2f6bff);
  color: #fff;
  overflow: hidden;
}
.cpa-exam__lead::after {
  content: "";
  position: absolute;
  right: -36px;
  bottom: -46px;
  width: 170px;
  height: 170px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .08);
}
.cpa-exam__lead i {
  position: relative;
  z-index: 1;
  display: block;
  margin-bottom: 12px;
  font-size: 28px;
  opacity: .8;
}
.cpa-exam__lead b {
  position: relative;
  z-index: 1;
  display: block;
  font-size: 19px;
  font-weight: 600;
  line-height: 1.45;
}
.cpa-exam__lead em {
  position: relative;
  z-index: 1;
  display: block;
  margin-top: 10px;
  font-style: normal;
  font-size: 21px;
  font-weight: 700;
  color: #ffd28a;
}
.cpa-exam__btn {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 32px;
  margin-top: 18px;
  padding: 0 16px;
  border-radius: 16px;
  background: rgba(255, 255, 255, .2);
  color: #fff;
  font-size: 13px;
}
.cpa-exam__btn:hover { background: #ff7a45; color: #fff; }

/* 右侧资讯 */
.cpa-exam__news {
  flex: 1;
  min-width: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 30px;
  align-content: space-between;
}
.cpa-exam__news li {
  display: flex;
  align-items: center;
  gap: 10px;
  height: 46px;
  border-bottom: 1px dashed #f0f2f6;
}
.cpa-exam__news li a {
  flex: 1;
  font-size: 14px;
  color: #3c465a;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cpa-exam__news li a::before {
  content: "▪";
  margin-right: 8px;
  color: #1f56d5;
  font-size: 10px;
}
.cpa-exam__news li a:hover { color: #1f56d5; }
.cpa-exam__news time { flex: none; font-size: 12px; color: #9ca3af; }

/* ============================================================
   注册会计师考试：选项卡改为流式胶囊 + 圆角；资讯列表收紧；左侧换图片展位
   ============================================================ */
.cpa-exam__tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 22px 16px 4px;
  border-bottom: 0;
}
.cpa-exam__tab {
  flex: none;
  height: 34px;
  line-height: 34px;
  padding: 0 18px;
  border-right: 0;
  border-radius: 17px;
  background: #f5f7fb;
  font-size: 14px;
  color: #4b5563;
}
.cpa-exam__tab:hover { color: #1f56d5; background: #eef3ff; }
.cpa-exam__tab.is-on {
  background: #1f56d5;
  color: #fff;
  font-weight: 600;
}

.cpa-exam__panel {
  min-height: 0;
  padding: 16px 20px 20px;
}

/* 左侧图片展位 */
.cpa-exam__pic {
  flex: none;
  width: 280px;
  align-self: stretch;
  border-radius: 8px;
  overflow: hidden;
}
.cpa-exam__pic img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s;
}
.cpa-exam__pic:hover img { transform: scale(1.04); }

/* 资讯列表：每列 10 条，行间留白 */
.cpa-exam__news {
  align-content: start;
  gap: 10px 30px;
}
.cpa-exam__news li {
  height: 30px;
  border-bottom: 0;
}

/* ============================================================
   底部栏目组（内容源自 index.htm「注册会计师权威名师独家面授」以下栏目）
   按 1200 宽重排：考试资讯 4×2 / 学员服务 2×2 / 财科荣誉
   ============================================================ */
.cpa-news-matrix { margin-top: 20px; }
.cpa-news-matrix__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  background: #fff;
  border-radius: 6px;
  overflow: hidden;
}
.cpa-news-matrix__col {
  padding: 16px 18px 18px;
  border-right: 1px solid #f0f2f6;
  border-bottom: 1px solid #f0f2f6;
}
.cpa-news-matrix__col:nth-child(4n) { border-right: 0; }
.cpa-news-matrix__col:nth-child(n+5) { border-bottom: 0; }
.cpa-news-matrix__col h3 {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-bottom: 10px;
  margin-bottom: 6px;
  font-size: 15px;
  font-weight: 600;
  color: #1f2937;
  border-bottom: 2px solid #eef1f6;
}
.cpa-news-matrix__col h3 i { color: #1f56d5; font-size: 14px; }
.cpa-news-matrix__col li { line-height: 30px; }
.cpa-news-matrix__col li a {
  display: block;
  font-size: 14px;
  color: #3c465a;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cpa-news-matrix__col li a::before {
  content: "▪";
  margin-right: 8px;
  color: #1f56d5;
  font-size: 10px;
}
.cpa-news-matrix__col li a:hover { color: #1f56d5; }

/* ---------- 学员服务 ---------- */
.cpa-service { margin-top: 20px; }
.cpa-service__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.cpa-service__box {
  background: #fff;
  border-radius: 6px;
  padding: 16px 20px 20px;
}
.cpa-service__box h3 {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-bottom: 10px;
  margin-bottom: 10px;
  font-size: 16px;
  font-weight: 600;
  color: #1f2937;
  border-bottom: 1px solid #eef1f6;
}
.cpa-service__box h3 i { color: #1f56d5; }

.cpa-service__role {
  display: flex;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px dashed #f0f2f6;
}
.cpa-service__role:last-child { border-bottom: 0; padding-bottom: 0; }
.cpa-service__role img {
  flex: none;
  width: 56px;
  height: 68px;
  object-fit: cover;
  border-radius: 4px;
}
.cpa-service__role b { font-size: 14px; color: #1f2937; }
.cpa-service__role b em {
  margin-left: 6px;
  padding: 1px 8px;
  font-size: 11px;
  font-style: normal;
  color: #1f56d5;
  background: #eef3ff;
  border-radius: 3px;
}
.cpa-service__role p {
  margin-top: 4px;
  font-size: 13px;
  line-height: 1.7;
  color: #6b7280;
}

.cpa-service__gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.cpa-service__gallery a {
  position: relative;
  display: block;
  border-radius: 6px;
  overflow: hidden;
}
.cpa-service__gallery img {
  display: block;
  width: 100%;
  height: 96px;
  object-fit: cover;
  transition: transform .35s;
}
.cpa-service__gallery a:hover img { transform: scale(1.06); }
.cpa-service__gallery span {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 14px 8px 6px;
  font-size: 12px;
  color: #fff;
  text-align: center;
  background: linear-gradient(180deg, transparent, rgba(0, 0, 0, .62));
}

.cpa-service__voices blockquote {
  padding: 12px 16px;
  margin-bottom: 10px;
  background: #f7f9fc;
  border-radius: 6px;
  font-size: 13px;
  line-height: 1.8;
  color: #4b5563;
}
.cpa-service__voices blockquote:last-child { margin-bottom: 0; }
.cpa-service__voices footer {
  margin-top: 6px;
  text-align: right;
  font-size: 12px;
  color: #9ca3af;
}

.cpa-service__rank li {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 9px 0;
  border-bottom: 1px dashed #f0f2f6;
}
.cpa-service__rank li:last-child { border-bottom: 0; }
.cpa-service__rank i {
  flex: none;
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 3px;
  background: #eef1f6;
  color: #9ca3af;
  font-size: 12px;
  font-style: normal;
}
.cpa-service__rank li:nth-child(-n+3) i { background: #1f56d5; color: #fff; }
.cpa-service__rank a {
  font-size: 14px;
  color: #3c465a;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cpa-service__rank a:hover { color: #1f56d5; }

/* ---------- 财科荣誉 ---------- */
.cpa-honor { margin-top: 0px; }
/* 财科荣誉移入「了解财科」卡片底部，通栏跨两列 */
.cpa-about .cpa-honor {
  grid-column: 1 / -1;
  margin: 24px 0 20px;
}
.cpa-honor__grid {
  display: grid;
  grid-template-columns: repeat(11, 1fr);
  gap: 10px;
  padding: 16px;
  background: #fff;
  border-radius: 6px;
}
.cpa-honor__grid a {
  display: block;
  border: 1px solid #eef1f6;
  border-radius: 4px;
  overflow: hidden;
}
.cpa-honor__grid a:hover { border-color: #1f56d5; }
.cpa-honor__grid img {
  display: block;
  width: 100%;
  height: 84px;
  object-fit: contain;
  padding: 4px;
}

/* ============================================================
   考试资讯 + 学员服务（沿用 index.htm 原布局，宽度适配 1200）
   右 880：资讯 2 列  |  左 300：学员模块
   ============================================================ */
.ex-news { margin-top: 15px; }
.ex-news .wrap { width: 1200px; margin: 0 auto; }
.ex-news .fl { float: left; }
.ex-news .fr { float: right; }
.ex-news .mr10 { margin-right: 10px; }
.ex-news .mt10 { margin-top: 0px; }
.ex-news .clearfix::after { content: ""; display: block; clear: both; }

.ex-news .right { width: 880px; }
.ex-news .left { width: 300px; }

/* ---------- 右：资讯块 ---------- */
.ex-news__item {
  width: 432px;
  float: left;
  margin-bottom: 15px;
  background: #fff;
  border-radius: 6px;
  overflow: hidden;
}
.ex-news__item.mr10 { margin-right: 15px; }

/* 小板块标题（重画） */
.ex-news__title {
  position: relative;
  display: flex;
  align-items: center;
  height: 42px;
  padding: 0 14px 0 16px;
  border-bottom: 1px solid #eef1f6;
}
.ex-news__title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 16px;
  border-radius: 2px;
  background: #1f56d5;
}
.ex-news__title span {
  font-size: 16px;
  font-weight: 600;
  color: #1f2937;
}
.ex-news__title .more {
  margin-left: auto;
  font-size: 12px;
  color: #9ca3af;
}
.ex-news__title .more:hover { color: #1f56d5; }

.ex-news__list { padding: 8px 8px 10px; }
.ex-news__list ul { padding: 0 6px; }
.ex-news__list li {
  height: 32px;
  line-height: 32px;
  font-size: 14px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ex-news__list li::before {
  content: "▪";
  margin-right: 8px;
  color: #1f56d5;
  font-size: 10px;
}
.ex-news__list li a { color: #3c465a; }
.ex-news__list li a:hover { color: #1f56d5; }

/* 通栏广告位（右侧资讯之间） */
.ex-news__ad1,
.ex-news__ad2 {
  float: left;
  width: 880px;
  margin: 0 0 15px;
  border-radius: 6px;
  overflow: hidden;
}
.ex-news__ad1 img,
.ex-news__ad2 img { display: block; width: 100%; height: auto; }

/* ---------- 左：学员模块 ---------- */
.ex-news__box {
  background: #fff;
  border-radius: 6px;
  margin-bottom: 16px;
  overflow: hidden;
}
.ex-news__box:last-child { margin-bottom: 0; }

.ex-news__stitle {
  position: relative;
  height: 42px;
  line-height: 42px;
  padding-left: 16px;
  border-bottom: 1px solid #eef1f6;
}
.ex-news__stitle::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 16px;
  border-radius: 2px;
  background: #1f56d5;
}
.ex-news__stitle a {
  font-size: 16px;
  font-weight: 600;
  color: #1f2937;
}
.ex-news__stitle a:hover { color: #1f56d5; }

.ex-news__content { padding: 12px 14px 14px; }

/* 子标题（财科状元 / 优秀学员 …） */
.ex-news__subtitle {
  padding-left: 10px;
  margin-bottom: 2px;
  font-size: 13px;
  font-weight: 600;
  color: #4b5563;
  border-left: 3px solid #ff7a45;
}
.ex-news__subtitle a { color: #4b5563; }

.ex-news__sub { margin-bottom: 9px; }
.ex-news__sub:last-child { margin-bottom: 0; }

/* 学习榜样 */
.ex-news .swiper-container { overflow: hidden; }
.ex-news .swiper-wrapper { display: flex; }
.ex-news .swiper-slide { flex: 0 0 100%; }
.ex-news #CKZYList .swiper-slide {
  display: flex;
  gap: 10px;
  align-items: flex-start;
}
.ex-news #CKZYList .swiper-slide .img img {
  display: block;
  width: 64px;
  height: 78px;
  object-fit: cover;
  border-radius: 4px;
}
.ex-news #CKZYList .swiper-slide p {
  flex: 1;
  font-size: 12px;
  line-height: 1.8;
  color: #6b7280;
}
.ex-news #CKZYList .xyName {
  margin-right: 4px;
  font-weight: 600;
  color: #1f2937;
}
.ex-news #YXXYList .swiper-slide {
  display: inline-block;
  margin-right: 12px;
  text-align: center;
}
.ex-news #YXXYList .swiper-slide img {
  display: block;
  width: 64px;
  height: 78px;
  object-fit: cover;
  border-radius: 4px;
}
.ex-news .xyName { font-size: 12px; color: #3c465a; }

/* 财科风采 */
.ex-news__gallery ul { display: flex; flex-wrap: wrap; gap: 11px 10px; }
.ex-news__gallery li { width: calc((100% - 30px) / 4); }
.ex-news__gallery li .img { display: block; }
.ex-news__gallery li img {
  display: block;
  width: 100%;
  height: 64px;
  object-fit: cover;
  border-radius: 4px;
}
.ex-news__gallery li .title {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  color: #6b7280;
  text-align: center;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* 学员心声 */
.ex-news__voice { max-height: 170px; overflow: hidden; }
.ex-news__voice li {
  padding: 6px 0;
  font-size: 12px;
  line-height: 1.75;
  color: #6b7280;
  border-bottom: 1px dashed #f0f2f6;
}
.ex-news__voice li:last-child { border-bottom: 0; }

/* 热点排行 */
.ex-news__rank-lead {
  display: flex;
  gap: 10px;
  padding-bottom: 5px;
  margin-bottom: 0px;
  border-bottom: 1px dashed #f0f2f6;
}
.ex-news__rank-lead .img img {
  display: block;
  width: 96px;
  height: 76px;
  object-fit: cover;
  border-radius: 4px;
}
.ex-news__rank-lead .txt a {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: #1f2937;
}
.ex-news__rank-lead .txt p {
  margin-top: 4px;
  font-size: 12px;
  line-height: 1.7;
  color: #9ca3af;
}
.ex-news__rank li {
  height: 30px;
  line-height: 30px;
  font-size: 13px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ex-news__rank li a { color: #3c465a; }
.ex-news__rank li a:hover { color: #1f56d5; }

/* 左侧小广告 */
.ex-news__ad { margin-top: 16px; }
.ex-news__ad img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 6px;
}

/* 优秀学员：横排头像 */
.ex-news #YXXYList .swiper-wrapper { display: flex; }
.ex-news #YXXYList .swiper-slide {
  flex: 0 0 auto;
  margin-right: 12px;
}

/* 原布局是浮动，外层需要清浮动 */
.ex-news .wrap::after {
  content: "";
  display: block;
  clear: both;
}

/* 学员心声：调高 + 自动滚动（内容复制一份实现无缝循环） */
.ex-news__voice {
  height: 634px;
  max-height: none;
  overflow: hidden;
  position: relative;
}
.ex-news__voice ul {
  animation: ex-voice-scroll 45s linear infinite;
}
.ex-news__voice:hover ul {
  animation-play-state: paused;
}
@keyframes ex-voice-scroll {
  0%   { transform: translateY(0); }
  100% { transform: translateY(-50%); }
}

/* 财科风采：一行 2 个，16:9 */
.ex-news__gallery li {
  width: calc((100% - 10px) / 2);
}
.ex-news__gallery li img {
  height: auto;
  aspect-ratio: 16 / 9;
}

/* 学员心声上下渐隐，滚动更自然 */
.ex-news__voice::before,
.ex-news__voice::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 26px;
  z-index: 2;
  pointer-events: none;
}
.ex-news__voice::before {
  top: 0;
  background: linear-gradient(180deg, #fff, rgba(255, 255, 255, 0));
}
.ex-news__voice::after {
  bottom: 0;
  background: linear-gradient(0deg, #fff, rgba(255, 255, 255, 0));
}

/* ============================================================
   统一轻阴影：所有白底板块
   ============================================================ */
.cpa-master__stage,
.cpa-exam__box,
.ex-news__item,
.ex-news__box,
.cpa-honor__grid,
.teachers,
.voice-list,
.exam-guide {
  box-shadow: 0 2px 12px rgba(31, 41, 55, .07);
}

/* ============================================================
   全站统一标题装饰：4px 圆角竖条，距左边框 4px（不贴边）
   ============================================================ */
.cpa-master__title::before,
.ex-news__title::before,
.ex-news__stitle::before {
  width: 4px;
  height: 16px;
  border-radius: 2px;
  background: #1f56d5;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  margin-top: 0;
}

/* 装饰内缩后，标题文字同步右移 */
.cpa-master__title { padding-left: 26px; }
.ex-news__title { padding-left: 20px; }
.ex-news__stitle { padding-left: 20px; }

/* 注册会计师考试：第 5 条之后加分割线，前后 5 条分组 */
.cpa-exam__news li:nth-child(9),
.cpa-exam__news li:nth-child(10) {
  border-bottom: 1px solid #e3e8f2;
  margin-bottom: 8px;
  padding-bottom: 8px;
}

/* 通栏广告圆角 */
.wide-ad {
  border-radius: 6px;
  overflow: hidden;
}

/* ============================================================
   财科荣誉：横向无缝滚动
   ============================================================ */
.cpa-honor__wrap {
  overflow: hidden;
  /* 左右不留内边距：滚动内容贴边，由两侧渐隐完成过渡 */
  padding: 16px 0;
  background: #fff;
  border-radius: 6px;
  box-shadow: 0 2px 12px rgba(31, 41, 55, .07);
}
.cpa-honor__track {
  display: flex;
  width: max-content;
  animation: cpa-honor-scroll 45s linear infinite;
}
.cpa-honor__track:hover { animation-play-state: paused; }
.cpa-honor__item {
  flex: none;
  width: 140px;
  margin-right: 12px;
  border: 1px solid #eef1f6;
  border-radius: 4px;
  overflow: hidden;
  background: #fff;
}
.cpa-honor__item:hover { border-color: #1f56d5; }
.cpa-honor__item img {
  display: block;
  width: 100%;
  height: 84px;
  object-fit: contain;
  padding: 4px;
}
@keyframes cpa-honor-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* 旧网格样式不再使用 */
.cpa-honor__grid { display: none; }

/* 优秀学员：交给 Swiper 控制宽度，只做内部排版 */
.ex-news #YXXYList .swiper-wrapper { display: flex; }
.ex-news #YXXYList .swiper-slide {
  flex: none;
  margin-right: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}
.ex-news #YXXYList .swiper-slide img {
  display: block;
  width: 64px;
  height: 78px;
  object-fit: cover;
  border-radius: 4px;
}

/* 财科荣誉左右渐隐 */
.cpa-honor__wrap { position: relative; }
.cpa-honor__wrap::before,
.cpa-honor__wrap::after {
  content: "";
  position: absolute;
  top: 16px;
  bottom: 16px;
  width: 48px;
  z-index: 2;
  pointer-events: none;
}
.cpa-honor__wrap::before {
  left: 0;
  background: linear-gradient(90deg, #fff 4px, rgba(255, 255, 255, 0));
}
.cpa-honor__wrap::after {
  right: 0;
  background: linear-gradient(270deg, #fff 4px, rgba(255, 255, 255, 0));
}

/* ============================================================
   学校数据条（原 schoolDataInformation-container，迁移并改名）
   ============================================================ */
.cpa-stats {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 280px;
  margin: 20px 0;
  background: url(../images/info-bg.jpg) center center no-repeat;
  background-size: cover;
  background-attachment: fixed;
}
.cpa-stats__item { display: flex; flex-direction: column; }
.cpa-stats__item + .cpa-stats__item { margin-left: 62px; }
.cpa-stats__top {
  margin-bottom: 4px;
  font-family: "Microsoft YaHei", "AdiHaus", "AdiHaus-Bold", serif;
  font-size: 40px;
  font-weight: 700;
  background: linear-gradient(180deg, #fde848, #ff7600 72%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
.cpa-stats__label { color: #fff; font-size: 16px; font-weight: 400; }

/* ============================================================
   了解财科（原 screenSix，迁移并改名）
   ============================================================ */
.cpa-about {
  display: grid;
  grid-template-columns: 480px 640px;
  column-gap: 40px;
  align-items: start;
  width: 100%;
  margin: 20px 0;
  padding: 0 20px;
  background: url(../images/ljck-box-topright-bg.png) #fff no-repeat right top;
  border-radius: 6px;
  box-shadow: 0 5px 20px #efefef;
}

/* 标题 */
.cpa-about__head {
  position: relative;
  grid-column: 1 / -1;
  height: 70px;
  line-height: 70px;
  padding-right: 8px;
}
.cpa-about__title {
  float: left;
  padding-left: 26px;
  font-size: 20px;
  font-weight: 600;
  color: #2b2b2b;
}
/* 标题装饰：与全站统一（4×16 圆角竖条） */
.cpa-about__title::before {
  content: "";
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 16px;
  border-radius: 2px;
  background: #1f56d5;
}

/* 视频 */
.cpa-about__video { width: 480px; height: 320px; border-radius: 6px; }
.cpa-about .video-js { border-radius: 14px; }
.cpa-about .video-js .vjs-tech,
.cpa-about .vjs-poster { border-radius: 12px; }
.cpa-about .video-js .vjs-big-play-button {
  border: none;
  height: 55px;
  background: url(../images/video-play-btn.png) center center no-repeat;
}
.cpa-about .video-js .vjs-control-bar {
  border-bottom-left-radius: 12px;
  border-bottom-right-radius: 12px;
}

/* 新闻选项卡 */
.cpa-about__news { width: 640px; }
.cpa-about__tabs {
  display: flex;
  height: 35px;
  margin: 4px 0 10px;
  border-bottom: 1px solid #e9e9e9;
}
.cpa-about__tab {
  height: 35px;
  margin-right: 38px;
  font-size: 16px;
  line-height: 35px;
  color: #575d6c;
  cursor: pointer;
}
.cpa-about__tab:hover { color: #0067e1; }
.cpa-about__tab.is-on {
  color: #252b3a;
  border-bottom: 2px solid #0067e1;
}
.cpa-about__list { display: none; }
.cpa-about__list.is-on { display: block; }
.cpa-about__list li {
  position: relative;
  height: 34px;
  padding-left: 16px;
  line-height: 34px;
}
.cpa-about__list li::before {
  content: "";
  position: absolute;
  left: 1px;
  top: 15px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #cdcdcd;
}
.cpa-about__list li a {
  display: block;
  overflow: hidden;
  font-size: 15px;
  color: #4c4c4c;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.cpa-about__list li a:hover { color: #0067e1; text-decoration: none; }

/* 了解财科 · 优势区 */
.cpa-about__feats { grid-column: 1 / -1; padding-bottom: 0px; }
.cpa-about__hd { width: 100%; text-align: center;margin-top: 40px; }
.cpa-about__hd h2 { font-size: 30px; font-weight: normal; color: #252b3a; }
.cpa-about__hd h2 span { color: #0067e1; }
.cpa-about__hd p {
  display: inline-block;
  padding-top: 18px;
  font-size: 16px;
  line-height: 20px;
  color: #ababab;
}
.cpa-about__nav {
  display: flex;
  justify-content: center;
  height: 60px;
  margin-top: 28px;
  background-color: #0060ff;
  border-radius: 6px;
}
.cpa-about__nav-item {
  position: relative;
  flex: 1;
  height: 100%;
  padding-top: 13px;
  font-size: 16px;
  line-height: 36px;
  color: rgba(255, 255, 255, .8);
  text-align: center;
  cursor: pointer;
}
.cpa-about__nav-item.is-on {
  color: #fff;
  background-color: #0057e6;
  border-radius: 6px;
}
.cpa-about__nav-item.is-on::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -7px;
  margin-left: -11px;
  border-style: solid;
  border-width: 7px 11px 0 11px;
  border-color: #0057e6 transparent transparent transparent;
}
.cpa-about__panels { height: 570px; margin-top: 10px; }

/* ---------- 十大优势（翻转卡片） ---------- */
.cpa-adv__wrap {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.cpa-adv__list { display: flex; flex-wrap: wrap; padding-top: 20px; }
.cpa-adv__item {
  position: relative;
  width: 216px;
  height: 252px;
  margin: 0 8px 16px;
  background: #f8f8f8;
  border-radius: 6px;
  perspective: 1000px;
  cursor: pointer;
}
.cpa-adv__front {
  text-align: center;
  transform: rotateY(0);
  transition: all .5s ease-in-out;
}
.cpa-adv__front img { margin: 50px 59px 15px; }
.cpa-adv__front p {
  margin-bottom: 4px;
  font-size: 18px;
  font-weight: 600;
  text-align: center;
}
.cpa-adv__front span { font-size: 14px; color: #666; }
.cpa-adv__back {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 252px;
  overflow: hidden;
  background: #000;
  border-radius: 6px;
  opacity: .8;
  transform: rotateY(90deg);
  transition: all .5s ease-in-out;
}
.cpa-adv__item:hover .cpa-adv__front { transform: rotateY(-90deg); }
.cpa-adv__item:hover .cpa-adv__back { transform: rotateY(0); }
.cpa-adv__back-title {
  padding-top: 20px;
  font-size: 18px;
  font-weight: bold;
  color: #fff;
  text-align: center;
}
.cpa-adv__back-sub { padding-top: 6px; font-size: 14px; color: #fff; text-align: center; }
.cpa-adv__back-line { width: 190px; height: 1px; margin: 8px auto 0; background: #fff; }
.cpa-adv__back-text {
  width: 182px;
  margin: 8px auto 0;
  font-size: 12px;
  line-height: 21px;
  color: #fff;
  text-align: justify;
}

/* ---------- 6 大学习保障 ---------- */
/* 源站非 border-box，这里补回 content-box 以保持原尺寸 */
.cpa-guard__wrap { box-sizing: content-box; width: 1140px; height: 549px; padding: 20px 10px 0; }
.cpa-guard__box {
  width: 1140px;
  height: 523px;
  background: url(../images/tglbox-bg.jpg) no-repeat;
  border-radius: 6px;
}
.cpa-guard__intro {
  float: left;
  box-sizing: content-box;
  width: 330px;
  padding: 40px 20px 0;
  line-height: 60px;
  text-align: center;
}
.cpa-guard__intro h3 { font-size: 28px; font-weight: 200; }
.cpa-guard__intro h3 span { color: #ff6000; }
.cpa-guard__icon {
  height: 300px;
  background: url(../images/lntgl-ico.png) center bottom no-repeat;
}
.cpa-guard__list { float: left; width: 770px; }
.cpa-guard__list ul { padding-top: 6px; padding-left: 10px; }
.cpa-guard__item {
  float: left;
  width: 363px;
  height: 150px;
  margin: 10px 15px 10px 0;
  background: #fff;
  border: 1px solid #efefef;
  border-radius: 6px;
  box-shadow: 0 4px 4px 0 rgba(55, 69, 103, .08);
}
.cpa-guard__item i {
  display: block;
  float: left;
  width: 75px;
  height: 150px;
  margin: 20px 10px 0 20px;
}
.cpa-guard__item--1 i { background: url(../images/y6iconc1.png) no-repeat; }
.cpa-guard__item--2 i { background: url(../images/y6iconc2.png) no-repeat; }
.cpa-guard__item--3 i { background: url(../images/y6iconc3.png) no-repeat; }
.cpa-guard__item--4 i { background: url(../images/y6iconc4.png) no-repeat; }
.cpa-guard__item--5 i { background: url(../images/y6iconc5.png) no-repeat; }
.cpa-guard__item--6 i { background: url(../images/y6iconc6.png) no-repeat; }
.cpa-guard__item:hover {
  background: linear-gradient(90deg, #0BBAFB 0%, #236EFF 100%);
  box-shadow: 0 0 18px 3px rgba(79, 77, 77, .16);
}
.cpa-guard__item b {
  display: block;
  margin-top: 20px;
  padding-left: 10px;
  font-size: 20px;
  font-weight: lighter;
  color: #666;
}
.cpa-guard__item p {
  display: block;
  margin-top: 10px;
  padding-left: 10px;
  padding-right: 20px;
  font-size: 14px;
  color: #666;
}
.cpa-guard__item:hover b { color: #fff; font-weight: bold; }