/* ============================================
   富康美发学校 · 官网样式表 (clean)
   ============================================ */

/* ---- 1. 变量与基础样式 ---- */
:root {
  --red: #b62f36;
  --dark: #1b1c20;
  --ink: #1d1f24;
  --muted: #667085;
  --line: #e8eaee;
  --bg: #f6f5f2;
  --gold: #bd9443;
  --card: #fff;
}

html { scroll-behavior: smooth }

*,
*::before,
*::after { box-sizing: border-box }

body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
  color: var(--ink);
  background: #fff;
  line-height: 1.65;
}

a { color: inherit; text-decoration: none }

.wrap { max-width: 1180px; margin: 0 auto; padding: 0 24px }

.section { padding: 86px 0 }

.section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  margin-bottom: 30px;
}
.section-head h2 { font-size: 40px; line-height: 1.15; margin: 8px 0 0; letter-spacing: -.03em }
.center { text-align: center; justify-content: center }
.section-head.center { flex-direction: column; align-items: center; text-align: center }
.section-head.center h2 { margin: 8px auto 0 }

.eyebrow,
.section-kicker {
  color: var(--red);
  font-weight: 800;
  letter-spacing: .12em;
  font-size: 13px;
  text-transform: uppercase;
}

/* ---- 2. 顶部栏 / 头部 / 导航 ---- */
.topbar {
  background: #070707;
  color: #e6e1d8;
  font-size: 13px;
}
.release-5 .topbar { background: #191a1d; color: #e6e1d8 }
.topbar .wrap {
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(255,255,255,.94);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid var(--line);
  transition: box-shadow .25s ease, background .25s ease;
}
.site-header:hover { box-shadow: 0 12px 36px rgba(0,0,0,.06) }
.site-header.is-scrolled {
  box-shadow: 0 10px 28px rgba(0,0,0,.08);
  background: rgba(255,255,255,.98);
}

.nav { height: 74px; display: flex; align-items: center; gap: 28px }

.brand { display: flex; align-items: center; gap: 12px; min-width: 250px }
.brand-mark {
  width: 44px; height: 44px; border-radius: 50%;
  background: #111; color: #fff;
  display: grid; place-items: center;
  font-weight: 800; letter-spacing: -1px;
}
.brand b { display: block; font-size: 20px }
.brand small { display: block; color: #777; font-size: 10px; letter-spacing: .08em }
.brand-logo {
  width: 42px; height: 42px; object-fit: contain;
  border-radius: 10px; background: #fff;
}

nav { display: flex; gap: 26px; flex: 1; justify-content: center }
nav a { font-size: 15px; color: #333 }
.active,
nav a:hover { color: var(--red) }

.nav-cta {
  background: var(--red);
  color: #fff !important;
  padding: 12px 18px;
  border-radius: 999px;
  font-weight: 700;
}

.menu-btn { display: none; cursor: pointer }

/* 移动端菜单展开 */
body.open-menu .site-header nav {
  display: flex;
  position: absolute;
  left: 16px; right: 16px; top: 82px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 14px;
  box-shadow: 0 20px 60px rgba(0,0,0,.16);
  flex-direction: column;
  z-index: 50;
}
body.open-menu .site-header nav a { padding: 10px 12px; border-radius: 10px }
body.open-menu .site-header nav a:hover { background: #fff3f3 }

/* ---- 3. 品牌主视觉 ---- */

/* 旧版 Hero */
.hero { position: relative; min-height: 650px; background: #0a0b0d; color: #fff; overflow: hidden }
.hero-bg {
  position: absolute; inset: 0;
  background:
    radial-gradient(circle at 75% 25%, rgba(199,40,47,.45), transparent 32%),
    linear-gradient(120deg, #090909 0%, #111 45%, #2b1719 100%);
}
.hero-bg:after {
  content: "";
  position: absolute; inset: 0;
  background:
    linear-gradient(90deg, rgba(0,0,0,.7), rgba(0,0,0,.2)),
    repeating-linear-gradient(135deg, rgba(255,255,255,.04) 0 1px, transparent 1px 18px);
}
.hero-grid {
  position: relative; z-index: 1;
  display: grid; grid-template-columns: 1.05fr .95fr; gap: 50px;
  align-items: center; min-height: 650px;
}
.hero h1 { font-size: 68px; line-height: 1.06; margin: 18px 0 16px; letter-spacing: -.05em }
.hero-v4 .hero h1 { font-size: 72px }
.lead { font-size: 26px; color: #f1d36d; font-weight: 800; margin: 0 0 12px }
.hero-note { color: #ddd; font-size: 18px; max-width: 680px }
.hero-actions { display: flex; gap: 14px; margin: 28px 0 }
.metrics { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; margin-top: 28px }
.metrics span { border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.06); padding: 16px; border-radius: 16px; color: #ddd }
.metrics b { display: block; color: #fff; font-size: 24px }
.hero-card { align-self: end; padding-bottom: 48px }
.photo-frame {
  background: linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,255,255,.04));
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 28px; padding: 18px;
  box-shadow: 0 30px 90px rgba(0,0,0,.45);
}
.mock-photo {
  height: 430px; border-radius: 20px;
  background: linear-gradient(135deg, #242424, #111 55%, #4a1c1f);
  display: flex; flex-direction: column; align-items: center;
  justify-content: center; text-align: center; color: #fff;
  position: relative; overflow: hidden;
}
.mock-photo:after {
  content: ""; position: absolute;
  width: 220px; height: 420px; border-radius: 120px;
  background: rgba(255,255,255,.08);
  right: 35px; top: 20px; transform: rotate(18deg);
}
.mock-photo span { font-size: 34px; font-weight: 900; z-index: 1 }
.mock-photo small { z-index: 1; color: #ccc }
.hero-mini { margin: -46px 24px 0; background: #fff; color: #111; border-radius: 18px; padding: 20px; position: relative; box-shadow: 0 20px 55px rgba(0,0,0,.25) }

/* 品牌新版 Hero (brand-hero) */
.brand-hero {
  position: relative;
  min-height: 760px;
  background: #18191d;
  color: #fff;
  overflow: hidden;
}
.brand-hero-bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(18,19,23,.98), rgba(58,49,39,.92));
}
.brand-hero-bg:after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(0,0,0,.78), rgba(0,0,0,.12)),
    repeating-linear-gradient(115deg, rgba(255,255,255,.035) 0 1px, transparent 1px 20px);
}
.brand-hero-grid {
  position: relative;
  z-index: 1;
  min-height: 760px;
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 54px;
  align-items: center;
}

.brand-label {
  display: inline-flex;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  padding: 9px 14px;
  color: #b62f36;
  font-weight: 900;
  letter-spacing: .08em;
  font-size: 12px;
}
.brand-copy h1 { font-size: 86px; line-height: .98; margin: 24px 0 18px; letter-spacing: -.07em }
.brand-lead { font-size: 26px; color: #fff; font-weight: 900; margin: 0 0 12px }
.brand-desc { color: #d8d8d8; font-size: 18px; max-width: 680px }

.brand-proof { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; margin-top: 30px }
.brand-proof span {
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  border-radius: 18px;
  padding: 16px;
}
.brand-proof b { display: block; font-size: 28px }
.brand-proof small { color: #c8c8c8 }

.brand-visual { position: relative; height: 540px }
.visual-main {
  position: absolute;
  inset: 0 30px 40px 0;
  border-radius: 34px;
  background: linear-gradient(135deg, #e7dfd2, #8e8479 45%, #201b19);
  box-shadow: 0 30px 100px rgba(0,0,0,.45);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 900;
  font-size: 32px;
  text-align: center;
  overflow: hidden;
}
.visual-main:before {
  content: "";
  position: absolute;
  width: 260px; height: 620px;
  background: rgba(255,255,255,.12);
  border-radius: 140px;
  transform: rotate(22deg);
  right: 40px; top: -30px;
}
.visual-main span,
.visual-main small { position: relative; z-index: 1 }
.visual-main small { font-size: 14px; color: #eee; margin-top: 8px }

/* ---- 竖版视频 9:16 ---- */
.brand-visual.portrait-visual { height: 640px; display: flex; align-items: center; justify-content: center }
.brand-visual.portrait-visual .visual-main {
  position: relative; inset: auto;
  width: min(360px, 100%); height: auto; aspect-ratio: 9/16;
  border-radius: 30px; background: #111; object-fit: cover;
}
.brand-visual.portrait-visual video.visual-main { display: block }

.visual-stack {
  position: absolute;
  border-radius: 22px;
  padding: 22px;
  color: #fff;
  font-weight: 900;
  box-shadow: 0 20px 60px rgba(0,0,0,.28);
  background-size: cover;
  background-position: center;
}
.visual-stack.one { right: 0; bottom: 0; background: #c7282f }
.visual-stack.two { left: -18px; bottom: 46px; background: #111; border: 1px solid rgba(255,255,255,.15) }
.visual-stack[style*="background-image"] {
  background-size: cover;
  background-position: center;
  color: #fff;
  text-shadow: 0 2px 8px rgba(0,0,0,.4);
}

/* brand-nav 导航卡片 */
.brand-nav { background: #fff; margin-top: -44px; position: relative; z-index: 5 }
.brand-nav-grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 14px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 28px;
  padding: 14px;
  box-shadow: 0 18px 60px rgba(0,0,0,.12);
}
.brand-nav-grid a {
  padding: 22px;
  border-radius: 20px;
  background: #fafafa;
  transition: .25s ease;
}
.brand-nav-grid a:hover { background: #111; color: #fff; transform: translateY(-4px) }
.brand-nav-grid b { display: block; font-size: 20px }
.brand-nav-grid span { display: block; color: #777; margin-top: 8px; font-size: 13px }
.brand-nav-grid a:hover span { color: #ddd }

/* ---- 4. 内容区块 ---- */

/* -- 4a. 课程 -- */
.courses-section { background: linear-gradient(180deg, #fff, #f7f4ef) }
.course-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px }
.course-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 14px 45px rgba(0,0,0,.05);
  transition: .25s;
  cursor: pointer;
}
.course-card:hover { transform: translateY(-6px); box-shadow: 0 24px 70px rgba(0,0,0,.09) }
.course-card.featured { border-color: var(--line) }
.course-grid.premium .course-card { border-radius: 28px }

.course-img {
  height: 180px;
  background: linear-gradient(135deg, #22252a, #8e252b);
  color: #fff;
  text-shadow: 0 2px 10px rgba(0,0,0,.28);
  display: flex;
  align-items: end;
  padding: 20px;
  font-weight: 900;
}
.course-img,
.article-cover,
.course-cover-large,
.article-cover-large { background-size: cover; background-position: center; background-repeat: no-repeat }
.course-img[style*="background-image"] { background-size: contain !important; background-position: center; background-color: #e8eaee }
.course-grid.premium .course-img { height: 210px }
.course-card.featured .course-img { background: linear-gradient(135deg, var(--red), #202226) }

.course-body { padding: 22px }
.course-body h3 { margin: 0 0 8px; font-size: 22px }
.course-body p { color: var(--muted); min-height: 76px }
.course-body a { color: var(--red); font-weight: 800 }

.course-cover-large {
  height: 300px;
  border-radius: 18px;
  margin-bottom: 18px;
  box-shadow: 0 12px 30px rgba(0,0,0,.10);
  background-size: contain !important;
  background-position: center;
  background-repeat: no-repeat;
  background-color: #e8eaee;
}

.chips span,
.tag {
  display: inline-block;
  background: #fff1f1;
  color: #b91d24;
  border: 1px solid #ffd5d7;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 12px;
}

.mini-list { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 }
.mini-list span {
  background: #f6f6f6;
  border: 1px solid #eee;
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 700;
  color: #555;
}
.mini-list.in-detail span { background: #fff; border-color: #ffd4d6; color: #b91d24 }

/* -- 4b. 选择理由 / 优势 -- */
.reasons-v4 .section-head h2 { color: #fff }
.brand-section { background: #fff }
.brand-reasons { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px }
.brand-reason {
  background: #202226;
  color: #fff;
  border-radius: 26px;
  padding: 28px;
  min-height: 210px;
}
.brand-reason span { color: #f1d36d; font-size: 32px; font-weight: 900 }
.brand-reason h3 { font-size: 28px; margin: 8px 0 }
.brand-reason p { color: #ddd }

.dark-band { background: #111; color: #fff; padding: 62px 0 }
.reason-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 28px }
.reason-grid div { border-left: 1px solid rgba(255,255,255,.16); padding-left: 24px }
.reason-grid span { font-size: 36px; color: var(--red); font-weight: 900 }
.reason-grid h3 { font-size: 24px; margin: 8px 0 }
.reason-grid p { color: #cfcfcf }

/* -- 4c. 图库 / 校园风采 -- */
.gallery-section { background: var(--bg) }
.gallery { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px }
.gallery-item {
  min-height: 190px;
  border-radius: 18px;
  background: linear-gradient(135deg, #e8e6e1, #cfc9c1);
  display: grid;
  place-items: center;
  color: #615d57;
  font-weight: 900;
}
.gallery-item:nth-child(2n) { background: linear-gradient(135deg, #d9d6d0, #bdb7ae) }

.story-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; grid-auto-rows: 180px; gap: 16px }
.story-big,
.story-small {
  border-radius: 22px;
  background: linear-gradient(135deg, #2b2b2b, #111);
  color: #fff;
  display: grid;
  place-items: center;
  font-weight: 900;
  position: relative;
  overflow: hidden;
}
.story-big { grid-row: span 2; background: linear-gradient(135deg, #efece5, #c8beb2); color: #4d4740 }
.story-small:nth-child(2) { background: linear-gradient(135deg, #7d1f24, #151515) }
.story-small:nth-child(3) { background: linear-gradient(135deg, #333, #111) }
.story-small:nth-child(4) { background: linear-gradient(135deg, #c7282f, #111) }
.story-small:nth-child(5) { background: linear-gradient(135deg, #e9e6df, #b9b1a5); color: #4d4740 }

/* -- 4d. 学员 / 受众 -- */
.target-tabs { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px }
.target-tabs a {
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.16);
  color: #fff;
  border-radius: 999px;
  padding: 10px 14px;
  font-weight: 800;
}

.audience-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px }
.audience-card {
  background: #111;
  color: #fff;
  border-radius: 24px;
  padding: 28px;
  min-height: 170px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-shadow: 0 18px 60px rgba(0,0,0,.08);
}
.audience-card:nth-child(2) { background: #c7282f }
.audience-card:nth-child(3) { background: #2a2a2a }
.audience-card:nth-child(4) { background: #f7f2e8; color: #111 }
.audience-card b { font-size: 24px }
.audience-card span { color: inherit; opacity: .78 }

/* -- 4e. 素材 / 教学材料 -- */
.material-section { background: #f6f5f2 }
.material-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; grid-auto-rows: 190px; gap: 18px }
.material-card {
  border-radius: 28px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background: #111;
  color: #fff;
  overflow: hidden;
  position: relative;
  background-size: cover;
  background-position: center;
}
.material-card:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent, rgba(0,0,0,.55));
}
.material-card b,
.material-card span,
.material-card small { position: relative; z-index: 1 }
.material-card b { font-size: 26px }
.material-card span { color: #f1d36d; font-weight: 900 }
.material-card small { color: #ddd }
.material-card.m1 { grid-row: span 2; background: linear-gradient(135deg, #d7cfc1, #50483f) }
.material-card.m2 { background: linear-gradient(135deg, #8e252b, #202226) }
.material-card.m3 { background: linear-gradient(135deg, #1c1c1c, #4a1d20) }
.material-card.m4 { background: linear-gradient(135deg, #efe6d6, #777064) }
.material-card.m5 { background: linear-gradient(135deg, #111, #333) }
.material-card.m6 { background: linear-gradient(135deg, #8e252b, #202226) }
.material-card[style*="background-image"] { background-size: cover; background-position: center; color: #fff; text-shadow: 0 2px 8px rgba(0,0,0,.35) }
.material-card[style*="background-image"]:before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.08) }

/* -- 4f. 信任条 / 流程 -- */
.trust-strip { background: #151515; color: #fff; padding: 20px 0; border-top: 1px solid rgba(255,255,255,.08) }
.trust-strip .wrap { display: grid; grid-template-columns: repeat(5,1fr); gap: 16px }
.trust-item { display: flex; gap: 12px; align-items: center }
.trust-icon { width: 38px; height: 38px; border-radius: 12px; background: #2a2a2a; color: #f3cf79; display: grid; place-items: center; font-weight: 900 }
.trust-item b { display: block; font-size: 18px }
.trust-item span { display: block; color: #b8b8b8; font-size: 13px }

.process { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px }
.process-step { background: #fff; border: 1px solid var(--line); border-radius: 20px; padding: 24px }
.process-step em { font-style: normal; color: #c7282f; font-size: 32px; font-weight: 900 }
.process-step h3 { margin: 8px 0 }
.process.compact { grid-template-columns: repeat(2,1fr) }
.course-learning-process{background:#f8f6f9}.course-learning-process .section-head{margin-bottom:28px}.course-learning-process .section-head h2{margin-bottom:8px}.course-learning-process .section-head p{color:var(--muted)}.course-learning-flow{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));align-items:stretch;gap:10px}.course-learning-flow article{grid-column:span 1;min-width:0;padding:22px 18px;border:1px solid var(--line);border-radius:18px;background:#fff}.course-learning-flow article span{color:#8d68a5;font-size:.78rem;font-weight:900}.course-learning-flow article h3{margin:10px 0 8px;font-size:1.05rem}.course-learning-flow article p{margin:0;color:var(--muted);font-size:.86rem;line-height:1.65}.course-learning-flow i{align-self:center;color:#a98abd;text-align:center;font-style:normal;font-weight:900}

/* -- 4g. 文章 / 博客 -- */
.article-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px }
.article-card {
  border: 1px solid var(--line);
  border-radius: 22px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 14px 45px rgba(0,0,0,.05);
  transition: .25s ease;
  cursor: pointer;
}
.article-card:hover { transform: translateY(-4px) }

.article-cover {
  height: 142px;
  background: linear-gradient(135deg, #191919, #85242a);
  color: #fff;
  display: flex;
  align-items: end;
  padding: 18px;
  font-weight: 900;
}
.article-cover[style] { color: #fff; background-size: contain !important; background-position: center; background-repeat: no-repeat; background-color: #e8eaee }
.article-grid .article-card.no-cover > .article-cover {
  height: 90px !important;
  min-height: 0;
  max-height: 90px;
  padding: 16px 18px;
  background: linear-gradient(135deg, #191919, #85242a);
  background-image: linear-gradient(135deg, #191919, #85242a) !important;
}
.article-grid .article-card.no-cover > .article-body > time + h3 {
  margin-top: 12px;
}

.article-body { padding: 20px }
.article-body time { color: #999; font-size: 13px }
.article-body h3 { font-size: 21px; line-height: 1.35 }
.article-body p { color: var(--muted) }
.article-body a { color: var(--red); font-weight: 800 }

.article-toc { background: #fafafa; border: 1px solid var(--line); border-radius: 18px; padding: 18px; margin: 22px 0 }
.article-toc a { display: inline-block; margin: 4px 12px 4px 0; color: #c7282f; font-weight: 700 }

/* -- 4h. FAQ -- */
.faq-section { background: #fff }
.faq-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px }
.faq-item { border: 1px solid var(--line); border-radius: 24px; padding: 26px; background: #fff }
.faq-item h3 { font-size: 22px; margin: 0 0 8px }
.faq-item p { color: #666 }

.faq-box { background: #fafafa; border: 1px solid var(--line); border-radius: 18px; padding: 24px; margin-top: 32px }

/* -- 4i. 留资表单 -- */
.lead-form-home { background: #f6f5f2 }
.lead-box {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 28px;
  align-items: center;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 30px;
  padding: 34px;
  box-shadow: 0 20px 70px rgba(0,0,0,.06);
}
.lead-box h2 { font-size: 38px; margin: 8px 0 }

.lead-form { display: grid; grid-template-columns: 1fr 1fr; gap: 12px }
.lead-form input,
.lead-form select {
  width: 100%;
  border: 1px solid #ddd;
  border-radius: 14px;
  padding: 14px;
  font: inherit;
  background: #fff;
  min-height: 48px;
}
.lead-form button { grid-column: span 2; border: 0 }

/* -- 4j. CTA 行动号召 -- */
.cta-section { padding: 70px 0; background: #111 }
.cta-box {
  background: linear-gradient(135deg, #c7282f, #711418);
  color: #fff;
  border-radius: 28px;
  padding: 56px;
  text-align: center;
}
.cta-box h2 { font-size: 42px; margin: 0 }

.premium-cta { background: linear-gradient(135deg, #111, #8e252b) }
.dashboard-cards { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; margin: 0 0 24px }
.dashboard-cards div { background: #111; color: #fff; border-radius: 16px; padding: 18px }
.dashboard-cards b { display: block; font-size: 22px }
.dashboard-cards span { color: #cfcfcf }

/* -- 4k. GEO 地理覆盖 -- */
.geo-panel { background: #fff; border: 1px solid var(--line); border-radius: 28px; padding: 34px; box-shadow: 0 18px 60px rgba(0,0,0,.06) }
.geo-tags { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px }
.geo-tags a { background: #f8f8f8; border: 1px solid var(--line); padding: 10px 14px; border-radius: 999px; font-weight: 700 }
.geo-tags a:hover { border-color: #c7282f; color: #c7282f }

.geo-brand { background: #202226; color: #fff }
.geo-brand h2 { font-size: 42px }
.geo-brand p { color: #d4d4d4 }
.geo-map { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px }
.geo-map div {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 18px;
  padding: 22px;
  font-weight: 900;
  text-align: center;
}
.geo-map div:first-child { grid-column: span 2; background: #b62f36 }

/* -- 4l. 校园 / 关于 -- */
.split { display: grid; grid-template-columns: .95fr 1.05fr; gap: 54px; align-items: center }
.school-photo {
  min-height: 190px;
  border-radius: 18px;
  background: linear-gradient(135deg, #e8e6e1, #cfc9c1);
  display: grid;
  place-items: center;
  color: #615d57;
  font-weight: 900;
  background-size: cover;
  background-position: center;
  text-shadow: 0 1px 10px rgba(255,255,255,.8);
}
.about-points { display: flex; flex-wrap: wrap; gap: 10px; margin: 22px 0 }
.about-points span { background: #f6f6f6; border: 1px solid var(--line); padding: 10px 14px; border-radius: 12px; font-weight: 700 }

/* ---- 5. 内页样式 ---- */

/* -- 5a. 内页 Hero -- */
.page-hero { background: #202226; color: #fff; padding: 86px 0 }
.page-hero h1 { font-size: 54px; margin: 12px 0 }
.page-hero p { font-size: 20px; color: #d5d5d5 }

/* -- 5b. 课程详情 -- */
.course-page-hero {
  background: radial-gradient(circle at 80% 20%, rgba(199,40,47,.35), transparent 30%), #202226;
}
.selector-box {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 28px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 28px;
  padding: 30px;
  box-shadow: 0 18px 60px rgba(0,0,0,.06);
}
.selector-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px }
.selector-grid a { background: #111; color: #fff; border-radius: 16px; padding: 18px; font-weight: 900 }
.selector-grid a:nth-child(2) { background: #b62f36 }
.selector-grid a:nth-child(3) { background: #f7f2e8; color: #111 }
.selector-grid a:nth-child(4) { background: #2a2a2a }

.premium-detail { gap: 30px }
.rich-course { align-items: start }
.course-main h2 { font-size: 40px }
.course-desc { font-size: 18px; color: #555 }
.course-goal,
.learning-block,
.course-faq { margin-top: 22px; padding-top: 18px; border-top: 1px solid #eee }
.course-goal b,
.learning-block b,
.course-faq > b { display: block; font-size: 18px; margin-bottom: 8px }
.course-faq details { background: #fafafa; border: 1px solid #eee; border-radius: 14px; margin: 10px 0; padding: 14px }
.course-faq summary { cursor: pointer; font-weight: 900 }
.sticky-meta { position: sticky; top: 96px }
.sticky-meta .btn { width: 100%; margin-top: 10px }

.related-box { margin-top: 30px; background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 22px }
.related-box a { display: block; padding: 10px 0; border-bottom: 1px solid #eee; color: #c7282f; font-weight: 800 }
.related-box a:last-child { border-bottom: 0 }

/* -- 5c. 文章详情 -- */
.article-page { padding: 80px 0 }
.narrow { max-width: 820px }
.article-page h1 { font-size: 46px; line-height: 1.2 }
.article-meta,
.summary { color: var(--muted) }
.content { font-size: 20px }

.article-content { font-size: 18px; line-height: 1.9; color: #2f3338 }
.article-content p { margin: 0 0 18px }
.article-content h2 { font-size: 28px; line-height: 1.35; margin: 34px 0 14px; color: #15171a; letter-spacing: 0 }
.article-content h3 { font-size: 22px; line-height: 1.45; margin: 26px 0 12px; color: #22252a; letter-spacing: 0 }
.article-content ul { margin: 0 0 20px; padding-left: 24px }
.article-content li { margin: 8px 0 }
.article-content h2:first-child,
.article-content h3:first-child { margin-top: 0 }

.article-cover-large {
  height: auto;
  overflow: hidden;
  border-radius: 22px;
  margin: 24px 0 30px;
  box-shadow: 0 18px 50px rgba(0,0,0,.10);
  background-size: contain !important;
  background-position: center;
  background-repeat: no-repeat;
  background-color: #e8eaee;
}
.article-cover-large img{display:block;width:100%;max-width:100%}.article-cover-large.is-photo img{height:min(68vw,680px);object-fit:cover}.article-cover-large.is-poster img{height:min(76vh,860px);object-fit:contain;background:#f2f1ef}.article-body-images figure{overflow:hidden;border-radius:18px}.article-body-images figure.is-photo img{max-height:760px;object-fit:cover}.article-body-images figure.is-poster img{height:min(76vh,900px);object-fit:contain;background:#f2f1ef}
.article-learning-stages{margin:34px 0;padding:26px;border:1px solid var(--line);border-radius:20px;background:#faf9f7}.article-learning-stages h2{margin:0 0 20px}.article-learning-stages ol{display:grid;gap:16px;margin:0;padding:0;counter-reset:article-stage;list-style:none}.article-learning-stages li{position:relative;padding:18px 18px 18px 58px;border-radius:14px;background:#fff}.article-learning-stages li:before{position:absolute;left:17px;top:16px;display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:var(--red);color:#fff;font-weight:900;counter-increment:article-stage;content:counter(article-stage)}.article-learning-stages li>b{font-size:18px}.article-learning-stages li p{margin:8px 0 0;color:var(--muted);line-height:1.8}.article-body-images{display:grid;gap:22px;margin:34px 0}.article-body-images figure{margin:0}.article-body-images img{display:block;width:100%;max-width:100%;height:auto;border-radius:18px}.article-body-images figcaption{padding:9px 3px;color:var(--muted);font-size:14px;line-height:1.6}

.article-cta {
  margin-top: 30px;
  background: linear-gradient(135deg, #111, #8e252b);
  color: #fff;
  border-radius: 22px;
  padding: 28px;
}
.article-cta p { color: #eee }

/* -- 5d. 详情列表（通用） -- */
.detail-list { display: grid; gap: 22px }
.detail-card {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 28px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 24px;
  padding: 30px;
}
.detail-card h2 { font-size: 32px; margin: 12px 0 }
.detail-meta { background: #fafafa; border-radius: 18px; padding: 22px }
.big { grid-template-columns: repeat(2,1fr) }

/* -- 5e. 联系 -- */
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px }
.contact-card { background: #fff; border: 1px solid var(--line); border-radius: 24px; padding: 34px }
.contact-form { grid-template-columns: 1fr }
.contact-form button { grid-column: auto }
.map-card {
  min-height: 300px;
  border-radius: 18px;
  background: linear-gradient(135deg, #e8e6e1, #cfc9c1);
  display: grid;
  place-items: center;
  color: #615d57;
  font-weight: 900;
}

/* -- 5f. 管理提示 -- */
.admin-hint { background: #111; color: #fff; border-radius: 18px; padding: 22px; margin-top: 20px }

/* ---- 6. 通用按钮 ---- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  padding: 14px 22px;
  font-weight: 800;
  border: 1px solid transparent;
  transition: transform .2s ease, box-shadow .2s ease;
}
.primary { background: var(--red); color: #fff !important }
.ghost { border-color: rgba(255,255,255,.38); color: #fff }
.outline { border-color: #ddd; color: #222; background: #fff }
.btn:hover { transform: translateY(-2px); box-shadow: 0 12px 26px rgba(182,47,54,.16) }

/* 深色背景中的 ghost 按钮覆盖 */
.btn.ghost { background: #fff; color: var(--red) !important; border-color: #eadde0 }
.brand-hero .btn.ghost,
.page-hero .btn.ghost,
.cta-box .btn.ghost,
.article-cta .btn.ghost {
  background: rgba(255,255,255,.10);
  color: #fff !important;
  border-color: rgba(255,255,255,.34);
}

/* ---- 7. 页脚 ---- */
.footer { background: #0b0b0c; color: #ddd; padding-top: 58px }
.footer-grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1.1fr; gap: 40px }
.footer-brand { font-size: 28px; font-weight: 900; color: #fff }
.footer a { display: block; margin: .25rem 0; color: #bbb }
.copyright { text-align: center; border-top: 1px solid rgba(255,255,255,.1); padding: 20px; padding-bottom: 52px; margin-top: 44px; color: #888 }
.footer-qrcode { width: 86px; height: 86px; object-fit: cover; border-radius: 10px; margin-top: 8px; background: #fff }
.qrcode-box {
  margin-top: 14px;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 12px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  background: #fff;
}
.qrcode-box img { width: 150px; height: 150px; object-fit: cover; border-radius: 10px }

/* ---- 8. 浮动操作 / 回到顶部 ---- */
.float-actions { position: fixed; right: 18px; bottom: 24px; display: flex; flex-direction: column; gap: 8px; z-index: 30 }
.float-actions a { background: #111; color: #fff; border-radius: 999px; padding: 10px 14px; font-size: 13px }

.backtop {
  position: fixed;
  right: 18px;
  bottom: 150px;
  width: 42px; height: 42px;
  border: 0;
  border-radius: 999px;
  background: #111;
  color: #fff;
  font-size: 20px;
  display: none;
  z-index: 70;
  box-shadow: 0 12px 30px rgba(0,0,0,.18);
}
.backtop.show { display: block }

.mobile-bottom { display: none }

/* ---- 9. 响应式 ---- */

/* -- 900px 断点 -- */
@media (max-width: 900px) {
  /* 导航 */
  .topbar span, nav, .nav-cta { display: none }
  .menu-btn { display: block; margin-left: auto; background: #111; color: #fff; border: 0; border-radius: 10px; padding: 8px 12px }
  .brand { min-width: auto }
  .site-header { bottom: auto }

  /* 布局降级 */
  .hero-grid, .split, .detail-card, .contact-grid { grid-template-columns: 1fr }
  .hero { min-height: auto }
  .hero-grid { min-height: auto; padding: 64px 24px }
  .hero h1 { font-size: 44px }
  .lead { font-size: 20px }
  .metrics { grid-template-columns: repeat(2,1fr); gap: 8px }
  .metrics span { padding: 12px }
  .course-grid, .article-grid, .big { grid-template-columns: 1fr }
  .reason-grid, .gallery { grid-template-columns: repeat(2,1fr) }
  .section { padding: 58px 0 }
  .section-head { align-items: flex-start }
  .section-head.center { align-items: center }
  .photo-frame { display: none }
  .footer-grid { grid-template-columns: 1fr }
  .float-actions { right: 10px }
  .cta-box { padding: 34px 20px }
  .cta-box h2 { font-size: 30px }
  .page-hero h1 { font-size: 40px }
  .course-body p { min-height: auto }

  /* 信任条 / 流程 */
  .trust-strip .wrap, .process { grid-template-columns: 1fr }
  .course-learning-flow{grid-template-columns:1fr}.course-learning-flow article{grid-column:auto}.course-learning-flow i{transform:rotate(90deg)}
  .hero-actions { flex-direction: column }
  .hero-actions .btn { width: 100% }
  .mobile-bottom {
    position: fixed; left: 0; right: 0; bottom: 0;
    background: #fff; border-top: 1px solid var(--line);
    display: grid; grid-template-columns: repeat(3,1fr);
    z-index: 60; box-shadow: 0 -8px 30px rgba(0,0,0,.08);
  }
  .mobile-bottom a { text-align: center; padding: 10px 6px; font-size: 13px; font-weight: 800 }
  .mobile-bottom a.primary-mobile { background: #c7282f; color: #fff }
  .float-actions { display: none }
  body { padding-bottom: 52px }

  /* 受众 / 故事 */
  .audience-grid { grid-template-columns: 1fr }
  .story-grid { grid-template-columns: 1fr; grid-auto-rows: 160px }
  .story-big { grid-row: auto }
  .process.compact { grid-template-columns: 1fr }
  .target-tabs a { flex: 1; text-align: center }

  /* brand-hero */
  .brand-hero { min-height: auto }
  .brand-hero-grid { grid-template-columns: 1fr; min-height: auto; padding: 60px 24px 80px }
  .brand-copy h1 { font-size: 52px }
  .brand-lead { font-size: 20px }
  .brand-proof { grid-template-columns: repeat(2,1fr) }
  .brand-visual { height: 320px }
  .visual-main { inset: 0 }
  .visual-stack { display: none }
  .brand-nav { margin-top: -30px }
  .brand-nav-grid { grid-template-columns: 1fr }
  .brand-reasons, .material-grid, .faq-grid { grid-template-columns: 1fr }
  .material-card.m1 { grid-row: auto }
  .geo-map { grid-template-columns: 1fr }
  .geo-map div:first-child { grid-column: auto }
  .dashboard-cards { grid-template-columns: 1fr }

  /* 留资 */
  .lead-box, .lead-form { grid-template-columns: 1fr }
  .lead-form button { grid-column: auto }

  /* 课程详情 */
  .selector-box, .selector-grid { grid-template-columns: 1fr }
  .sticky-meta { position: static }
  .course-main h2 { font-size: 32px }
  .backtop { bottom: 70px; right: 12px }
  .brand-proof span { padding: 12px }
  .reveal { opacity: 1 !important; transform: none !important }

  /* 竖版视觉 */
  .brand-visual.portrait-visual { height: 520px; min-height: 520px }
  .brand-visual.portrait-visual .visual-main { width: min(292px, 78vw) }

  /* 文章 */
  .article-content { font-size: 17px }
  .article-content h2 { font-size: 24px }
  .article-content h3 { font-size: 20px }
  .article-cover-large { height: auto; border-radius: 18px }
  .article-learning-stages{padding:18px}.article-learning-stages li{padding:16px 14px 16px 52px}.article-body-images{gap:16px}

  /* 交互增强 */
  body.open-menu:after {
    content: "";
    position: fixed; inset: 0;
    background: rgba(0,0,0,.28);
    z-index: 18;
  }
  .site-header { z-index: 80 }
  body.open-menu .site-header nav { z-index: 90 }
  .site-toast { top: auto; bottom: 74px; width: calc(100% - 32px); text-align: center }
  .backtop { bottom: 82px }
}

/* -- 无障碍：减弱动画 -- */
@media (prefers-reduced-motion: reduce) {
  *, *:before, *:after {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important;
  }
  .reveal { opacity: 1 !important; transform: none !important }
}

/* ---- 10. 交互增强 ---- */

/* 滚动显现动画 */
.js-ready .reveal { opacity: 0; transform: translateY(22px); transition: opacity .7s ease, transform .7s ease }
.js-ready .reveal.is-visible { opacity: 1; transform: none }

/* Toast 提示 */
.site-toast {
  position: fixed;
  left: 50%; top: 22px;
  transform: translate(-50%, -16px);
  background: #111; color: #fff;
  padding: 12px 18px;
  border-radius: 999px;
  box-shadow: 0 16px 44px rgba(0,0,0,.18);
  z-index: 999;
  opacity: 0;
  pointer-events: none;
  transition: .22s ease;
  font-size: 14px;
}
.site-toast.show { opacity: 1; transform: translate(-50%, 0) }
.site-toast.warn { background: #c7282f }

/* 表单校验 */
.field-error {
  border-color: #c7282f !important;
  box-shadow: 0 0 0 3px rgba(199,40,47,.12) !important;
  outline: 2px solid rgba(220,38,38,.55) !important;
  background: #fff7f7 !important;
}
.lead-form button[disabled] { opacity: .72; cursor: not-allowed }

/* FAQ 折叠交互 */
.faq-toggle h3 { position: relative; padding-right: 30px; cursor: pointer }
.faq-toggle h3:after { content: '+'; position: absolute; right: 0; top: 0; font-size: 24px; color: #c7282f; line-height: 1 }
.faq-toggle:not(.collapsed) h3:after { content: '\2212' }
.faq-toggle p { max-height: 220px; overflow: hidden; transition: max-height .25s ease, opacity .2s ease }
.faq-toggle.collapsed p { max-height: 0; opacity: 0; margin: 0 }

/* details 元素增强 */
details { transition: box-shadow .2s ease }
details[open] { box-shadow: 0 10px 28px rgba(0,0,0,.06) }
details summary { list-style: none }
details summary::-webkit-details-marker { display: none }
details summary:after { content: '+'; float: right; color: #c7282f; font-weight: 900 }
details[open] summary:after { content: '\2212' }

/* 焦点可访问性 */
.course-card:focus-visible,
.article-card:focus-visible,
.faq-toggle h3:focus-visible,
.backtop:focus-visible { outline: 3px solid rgba(199,40,47,.28); outline-offset: 3px }

/* 蜜罐字段（反垃圾） */
.hp-field {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important; height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* 按钮加载态 */
button.is-loading { opacity: .72; cursor: wait }

/* ---- 11. 工具类 ---- */

/* 面包屑导航 */
.breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0 0 18px; color: #777; font-size: 14px }
.breadcrumb a { color: var(--red); font-weight: 800 }
.breadcrumb strong { color: #333; font-weight: 700 }

/* 内部链接 */
.internal-links,
.side-links,
.topic-course-links { margin-top: 24px; background: #fafafa; border: 1px solid var(--line); border-radius: 18px; padding: 20px }
.internal-links h3 { margin: 0 0 12px }
.internal-links div,
.topic-course-links { display: flex; flex-wrap: wrap; gap: 10px }
.internal-links a,
.topic-course-links a,
.side-links a { background: #fff; border: 1px solid #eee; border-radius: 999px; padding: 8px 12px; color: var(--red); font-weight: 800 }
.side-links { padding: 16px }
.side-links b,
.topic-course-links b { width: 100%; display: block; margin-bottom: 4px }
.side-links a { display: block; border-radius: 12px; margin: 8px 0; color: #333 }

/* 链接枢纽 */
.link-hub { padding-bottom: 0 }
.link-hub + .section { padding-top: 36px }
.link-hub h2 { margin: 0 0 14px }

/* ---- 12. 媒体覆盖 ---- */
.media-cover { background-size: cover; background-position: center; overflow: hidden }
.brand-visual video.media-cover { width: 100%; height: 100%; object-fit: cover; border: 0 }

/* ============================================
   相册系统 · Album System (v2)
   ============================================ */

/* ---- 相册列表页 ---- */
.album-list-page { background: #fff }

.album-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

/* 相册卡片 */
.album-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 8px 28px rgba(0,0,0,.05);
  transition: transform .3s ease, box-shadow .3s ease;
  display: block;
  color: inherit;
}
.album-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 50px rgba(0,0,0,.10);
}

.album-card-cover {
  position: relative;
  height: 200px;
  background-size: cover;
  background-position: center;
  background-color: #e8e6e1;
}

.album-card-count {
  position: absolute;
  bottom: 10px;
  right: 10px;
  background: rgba(0,0,0,.65);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  gap: 4px;
  backdrop-filter: blur(4px);
}

.album-card-info {
  padding: 14px 16px;
}
.album-card-info h3 {
  margin: 0 0 8px;
  font-size: 17px;
  line-height: 1.35;
}
.gallery-card-tag {
  display: inline-block;
  background: #fff1f1;
  color: var(--red);
  border: 1px solid #ffd5d7;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
}

/* ---- 相册内页（照片视图） ---- */
.album-photos-page { background: #fff }

.album-back-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--red);
  font-weight: 700;
  font-size: 15px;
  margin-bottom: 24px;
  transition: opacity .2s;
}
.album-back-btn:hover { opacity: .7 }

.album-photos-header {
  margin-bottom: 28px;
}
.album-photos-header h2 {
  font-size: 32px;
  margin: 0 0 8px;
}
.album-photo-count {
  color: var(--muted);
  font-size: 14px;
  font-weight: 700;
}
.album-desc {
  color: var(--muted);
  margin: 12px 0 0;
  font-size: 15px;
  line-height: 1.6;
}

/* 照片网格 */
.album-photos-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.album-photo-card {
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: 0 4px 16px rgba(0,0,0,.04);
  transition: transform .3s ease, box-shadow .3s ease;
  cursor: pointer;
}
.album-photo-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 40px rgba(0,0,0,.08);
}

.album-photo-img {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  background-size: cover;
  background-position: center;
  background-color: #e8e6e1;
}
.album-photo-card.is-portrait .album-photo-img { aspect-ratio: 3 / 4 }

.album-photo-title {
  padding: 10px 12px;
  font-size: 14px;
  font-weight: 600;
  color: var(--ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ---- 照片悬浮覆盖效果（通用） ---- */
.gallery-card-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.35);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity .3s ease;
}
.album-photo-card:hover .gallery-card-overlay { opacity: 1 }

.gallery-zoom-icon {
  width: 56px;
  height: 56px;
  background: rgba(255,255,255,.92);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--red);
  transform: scale(.8);
  transition: transform .3s ease;
}
.album-photo-card:hover .gallery-zoom-icon { transform: scale(1) }

/* ---- 相册筛选栏 ---- */
.gallery-page { background: #fff }

.gallery-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 20px;
}

.filter-btn {
  background: #f6f6f6;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 10px 20px;
  font-size: 14px;
  font-weight: 700;
  color: #555;
  cursor: pointer;
  transition: all .25s ease;
}
.filter-btn:hover {
  background: #fff1f1;
  border-color: #ffd5d7;
  color: var(--red);
}
.filter-btn.active {
  background: var(--red);
  border-color: var(--red);
  color: #fff;
}

.gallery-count {
  color: var(--muted);
  font-size: 14px;
  margin-bottom: 24px;
}
.gallery-count span {
  font-weight: 800;
  color: var(--red);
}

/* ---- 无结果提示 ---- */
.gallery-empty {
  text-align: center;
  padding: 60px 0;
  color: var(--muted);
  font-size: 16px;
}

/* ---- Lightbox ---- */
.gallery-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s ease, visibility .3s ease;
}
.gallery-lightbox.open {
  opacity: 1;
  visibility: visible;
}

.lightbox-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.88);
  backdrop-filter: blur(8px);
}

.lightbox-content {
  position: relative;
  z-index: 1;
  max-width: 90vw;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.lightbox-img-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  max-height: 78vh;
}
.lightbox-img-wrap img {
  max-width: 85vw;
  max-height: 78vh;
  object-fit: contain;
  border-radius: 12px;
  box-shadow: 0 20px 60px rgba(0,0,0,.5);
}

.lightbox-caption {
  text-align: center;
  margin-top: 16px;
  color: #fff;
}
.lightbox-caption h4 {
  margin: 0 0 4px;
  font-size: 18px;
  font-weight: 700;
}
.lightbox-caption span {
  font-size: 13px;
  color: #aaa;
}

.lightbox-close,
.lightbox-prev,
.lightbox-next {
  position: absolute;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.18);
  color: #fff;
  border-radius: 50%;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background .2s ease;
  z-index: 2;
}
.lightbox-close:hover,
.lightbox-prev:hover,
.lightbox-next:hover {
  background: rgba(255,255,255,.25);
}

.lightbox-close {
  top: -50px;
  right: 0;
}
.lightbox-prev {
  left: -60px;
  top: 50%;
  transform: translateY(-50%);
}
.lightbox-next {
  right: -60px;
  top: 50%;
  transform: translateY(-50%);
}

/* ---- 相册响应式 ---- */
@media (max-width: 1100px) {
  .album-grid { grid-template-columns: repeat(3, 1fr); gap: 16px }
  .album-card-cover { height: 180px }
  .album-photos-grid { grid-template-columns: repeat(3, 1fr); gap: 14px }
  .album-photo-img { height: auto }
}

@media (max-width: 900px) {
  .album-grid { grid-template-columns: repeat(2, 1fr); gap: 14px }
  .album-card-cover { height: 160px }
  .album-photos-grid { grid-template-columns: repeat(2, 1fr); gap: 12px }
  .album-photo-img { height: auto }
  .lightbox-prev { left: 10px }
  .lightbox-next { right: 10px }
  .lightbox-close { top: -48px; right: 0 }
  .lightbox-img-wrap img { max-width: 92vw }
  .album-photos-header h2 { font-size: 26px }
}

@media (max-width: 600px) {
  .album-grid { grid-template-columns: repeat(2, 1fr); gap: 12px }
  .album-card-cover { height: 140px }
  .album-card-info { padding: 10px 12px }
  .album-card-info h3 { font-size: 15px }
  .album-photos-grid { grid-template-columns: repeat(2, 1fr); gap: 10px }
  .album-photo-img { height: auto }
  .album-photo-title { font-size: 13px; padding: 8px 10px }
  .gallery-filter { gap: 8px }
  .filter-btn { padding: 8px 14px; font-size: 13px }
  .lightbox-prev, .lightbox-next { width: 38px; height: 38px }
  .lightbox-close { width: 38px; height: 38px }
}

/* ---- 微信复制功能样式 ---- */
.wechat-copy {
  display: inline-block;
  cursor: pointer;
  padding: 2px 8px;
  background: #f6f5f2;
  border: 1px dashed #ccc;
  border-radius: 6px;
  transition: all 0.2s ease;
  user-select: all;
}
.wechat-copy:hover {
  background: #fff3f3;
  border-color: var(--red);
  color: var(--red);
}
.copy-btn {
  display: inline-block;
  margin-left: 8px;
  padding: 4px 12px;
  background: var(--red);
  color: #fff !important;
  border: none;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s ease;
}
.copy-btn:hover {
  background: #9a272d;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(182, 47, 54, 0.3);
}
.copy-btn:active {
  transform: translateY(0);
}

/* ---- 相册分页：加载更多 ---- */
.album-load-more-wrap {
  text-align: center;
  padding: 40px 0 20px;
}
.album-load-more-btn {
  background: #fff;
  border: 2px solid var(--red);
  color: var(--red);
  padding: 14px 36px;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 800;
  cursor: pointer;
  transition: all .25s ease;
}
.album-load-more-btn:hover {
  background: var(--red);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(182,47,54,.2);
}

/* ---- 404页面优化 ---- */
.error-page {
  text-align: center;
  padding: 80px 24px;
}
.error-page .error-code {
  font-size: 120px;
  font-weight: 900;
  color: var(--red);
  line-height: 1;
  opacity: .15;
}
.error-page h1 {
  font-size: 36px;
  margin: 12px 0 16px;
}
.error-page p {
  color: var(--muted);
  font-size: 18px;
  margin-bottom: 32px;
}
.error-page .hero-actions {
  justify-content: center;
}

/* ---- 提交成功页 ---- */
.success-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 96px;
  height: 96px;
  border-radius: 50%;
  background: linear-gradient(135deg, #e8f5e9, #c8e6c9);
  color: #2e7d32;
  margin-bottom: 8px;
}
.success-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}

/* ---- 移动端底部导航4列适配 ---- */
@media (max-width: 900px) {
  .mobile-bottom {
    grid-template-columns: repeat(4, 1fr);
  }
}

.selector-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.selector-grid a{padding:28px;border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.06);display:block;color:inherit}.selector-grid b{display:block;font-size:20px;margin-bottom:12px}.selector-grid span{color:#666;line-height:1.8}.roadmap{display:flex;justify-content:center;gap:15px;flex-wrap:wrap}.roadmap div{padding:18px 35px;background:#fff;border-radius:50px;box-shadow:0 8px 20px rgba(0,0,0,.06)}@media(max-width:768px){.selector-grid{grid-template-columns:1fr 1fr}.selector-grid a{padding:18px}.selector-grid b{font-size:16px}}

.course-roadmap{background:#fff;border-radius:18px;padding:36px;margin-bottom:30px}
.course-roadmap h2{margin-top:0}
.roadmap-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:24px}
.roadmap-grid div{border:1px solid #eee;padding:20px;border-radius:12px}
.roadmap-grid b{display:block;margin-bottom:10px}
.roadmap-grid span{color:#666;font-size:14px;line-height:1.6}
@media(max-width:800px){.roadmap-grid{grid-template-columns:1fr}}

/* V4.0 homepage conversion */
.route-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}
.route-card{padding:28px;border-radius:18px;background:#fff;border:1px solid #eee;text-decoration:none;color:inherit}
.route-card h3{margin:0 0 12px;font-size:24px}
.route-card strong{display:block;margin-top:18px}
.feature-course{display:grid;grid-template-columns:2fr 1fr;gap:30px;background:#111;color:#fff;padding:45px;border-radius:24px}
.feature-list{display:flex;flex-wrap:wrap;gap:12px;margin:25px 0}
.feature-list span{background:rgba(255,255,255,.1);padding:8px 14px;border-radius:20px}
.course-road{background:rgba(255,255,255,.08);padding:25px;border-radius:16px;text-align:center}
.course-road p{margin:10px;padding:8px;background:#fff;color:#111;border-radius:10px}
@media(max-width:768px){.route-grid,.feature-course{grid-template-columns:1fr}.feature-course{padding:25px}}


.path-choice .selector-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.course-path-card{display:block;padding:28px;border-radius:18px;background:#fff;border:1px solid #eee;color:inherit;text-decoration:none;transition:.25s}
.course-path-card:hover{transform:translateY(-4px)}
.course-path-card strong{display:block;margin:12px 0;color:#b62f36}
.highlight-box{padding:40px;border-radius:20px;background:#111;color:#fff;text-align:center}
.highlight-box h2{margin:12px 0}
.feature-list{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:24px 0}
.feature-list span{padding:10px 16px;border-radius:30px;background:rgba(255,255,255,.12)}
@media(max-width:768px){.path-choice .selector-grid{grid-template-columns:1fr}.highlight-box{padding:25px}}

/* ===== V14.0 新增样式：招生转化型官网升级 ===== */

/* Section Alt 背景 */
.section-alt{background:#fafafa}

/* 通用：下一步引导 */
.next-step-box{text-align:center;padding:48px 32px;background:linear-gradient(135deg,#fff 0%,#f8f8f8 100%);border-radius:16px;border:1px solid #eee;margin-top:20px}
.next-step-box h2{font-size:1.5rem;margin-bottom:12px}
.next-step-box p{color:#666;margin-bottom:20px}

/* ===== 课程选择工具 (course-choice.php) ===== */
.course-quiz{max-width:680px;margin:0 auto}
.quiz-step{text-align:center}
.quiz-step h2{font-size:1.4rem;margin-bottom:24px}
.quiz-options{display:grid;gap:16px}
.quiz-option{display:flex;align-items:center;gap:16px;padding:20px 24px;background:#fff;border:2px solid #e8e8e8;border-radius:12px;cursor:pointer;text-align:left;transition:all .2s;font-size:1rem}
.quiz-option:hover{border-color:var(--red,#b62f36);box-shadow:0 4px 16px rgba(0,0,0,.08)}
.quiz-icon{font-size:2rem;flex-shrink:0}
.quiz-text b{display:block;margin-bottom:4px;font-size:1.05rem}
.quiz-text{color:#555;font-size:.92rem}
.quiz-back{margin-top:20px;background:none;border:none;color:var(--red,#b62f36);cursor:pointer;font-size:.95rem}
.quiz-back:hover{text-decoration:underline}
.hidden{display:none!important}
.result-card{text-align:center;padding:32px;background:#fff;border:2px solid var(--red,#b62f36);border-radius:16px;margin-bottom:16px}
.result-card h3{font-size:1.5rem;color:var(--red,#b62f36);margin-bottom:12px}
.result-card p{color:#555;line-height:1.7}
.result-extra{font-size:.9rem;color:#888;margin-top:8px}

/* ===== 课程对比矩阵 ===== */
.compare-matrix{overflow-x:auto;-webkit-overflow-scrolling:touch}
.compare-matrix table{width:100%;border-collapse:collapse;font-size:.9rem;min-width:700px}
.compare-matrix th,.compare-matrix td{padding:14px 16px;border:1px solid #e8e8e8;text-align:left;vertical-align:top}
.compare-matrix thead th{background:#f5f5f5;font-weight:700;font-size:.85rem}
.compare-matrix .highlight-col{background:rgba(182,47,54,.04);font-weight:600}
.compare-matrix .highlight-row td{background:rgba(182,47,54,.03)}
.compare-matrix .highlight-row .highlight-col{background:rgba(182,47,54,.08)}
.compare-matrix .row-label{background:#fafafa;font-weight:600;white-space:nowrap}

/* 通用 diff-table */
.diff-table{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:20px 0}
.diff-table table{width:100%;border-collapse:collapse;font-size:.92rem}
.diff-table th,.diff-table td{padding:12px 16px;border:1px solid #e8e8e8;text-align:left}
.diff-table thead th{background:#f5f5f5;font-weight:700}
.diff-table .highlight-row td{background:rgba(182,47,54,.04);font-weight:600}
.diff-table .row-label{background:#fafafa;white-space:nowrap}

/* ===== 成长时间线 (full-course.php) ===== */
.growth-timeline{max-width:600px;margin:24px auto 0}
.growth-stage{display:flex;gap:16px;align-items:flex-start}
.stage-dot{width:40px;height:40px;border-radius:50%;background:var(--red,#b62f36);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;flex-shrink:0}
.stage-content h3{margin-bottom:4px;font-size:1.1rem}
.stage-content p{color:#555;font-size:.92rem;margin:2px 0}
.stage-content small{color:#999;font-size:.82rem}
.growth-connector{text-align:center;color:var(--red,#b62f36);font-size:1.4rem;padding:4px 0 4px 18px;font-weight:700}

/* ===== 路线图 V4 (growth-road.php, course-path.php) ===== */
.roadmap-v4{max-width:700px;margin:0 auto}
.roadmap-stage{background:#fff;border:2px solid #e8e8e8;border-radius:12px;overflow:hidden;margin-bottom:0}
.roadmap-stage.stage-final{border-color:var(--red,#b62f36)}
.stage-header{padding:16px 24px;background:#f8f8f8;border-bottom:1px solid #eee;display:flex;align-items:center;gap:12px}
.stage-badge{background:var(--red,#b62f36);color:#fff;padding:4px 12px;border-radius:20px;font-size:.78rem;font-weight:600}
.stage-badge.gold{background:linear-gradient(135deg,#d4a017,#f0c040);color:#333}
.stage-header h2{margin:0;font-size:1.15rem}
.stage-body{padding:20px 24px}
.stage-body>p{color:#666;margin-bottom:16px}
.stage-courses{display:grid;gap:10px;margin-bottom:16px}
.stage-course{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;padding:10px 14px;background:#f8f8f8;border-radius:8px}
.stage-course b{min-width:140px;font-size:.95rem}
.stage-course span{flex:1;color:#666;font-size:.88rem}
.stage-course em{font-style:normal;color:#999;font-size:.82rem}
.stage-outcome{padding:12px 16px;background:rgba(182,47,54,.04);border-radius:8px;font-size:.92rem;border-left:3px solid var(--red,#b62f36)}
.stage-note{margin-top:12px;padding:10px 16px;background:#f0f7ff;border-radius:8px;font-size:.88rem;color:#555}
.roadmap-arrow{text-align:center;font-size:1.6rem;color:var(--red,#b62f36);padding:8px 0;font-weight:700}

/* ===== 六大模块网格 (full-course.php) ===== */
.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.module-card{background:#fff;border:1px solid #e8e8e8;border-radius:12px;padding:24px;text-align:center;transition:all .2s}
.module-card:hover{border-color:var(--red,#b62f36);box-shadow:0 4px 16px rgba(0,0,0,.06)}
.module-num{font-size:2rem;font-weight:800;color:var(--red,#b62f36);opacity:.3;margin-bottom:8px}
.module-card h3{margin-bottom:8px;font-size:1.05rem}
.module-card p{color:#666;font-size:.88rem;line-height:1.6;margin-bottom:12px}
.module-card b{font-size:.82rem;color:#999}
.module-card span{font-size:.82rem;color:var(--red,#b62f36)}

/* ===== 适合人群网格 ===== */
.audience-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:16px}
.audience-card{padding:20px;background:#f8f8f8;border-radius:10px}
.audience-card h3{margin-bottom:8px;font-size:1rem}
.audience-card p{color:#666;font-size:.9rem;line-height:1.6}

/* ===== 价值对比网格 ===== */
.value-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:20px 0}
.value-item{padding:20px;background:#f8f8f8;border-radius:10px}
.value-item b{display:block;margin-bottom:8px;font-size:1rem}
.value-item p{color:#666;font-size:.88rem;line-height:1.6}
.value-item.highlight{background:rgba(182,47,54,.06);border:1px solid rgba(182,47,54,.15)}

/* ===== 策略卡片 (course-strategy.php) ===== */
.strategy-cards{display:grid;gap:24px}
.strategy-card{background:#fff;border:1px solid #e8e8e8;border-radius:14px;padding:32px;transition:all .2s}
.strategy-card:hover{box-shadow:0 4px 20px rgba(0,0,0,.06)}
.strategy-icon{font-size:2.5rem;margin-bottom:12px}
.strategy-card h2{font-size:1.25rem;margin-bottom:16px}
.strategy-recommend{padding:12px 16px;background:rgba(182,47,54,.04);border-radius:8px;margin-bottom:16px;display:flex;align-items:center;gap:12px}
.strategy-recommend span{font-size:.82rem;color:#999}
.strategy-recommend strong{font-size:1.05rem;color:var(--red,#b62f36)}
.strategy-card h3{font-size:1rem;margin:16px 0 8px}
.strategy-card ul{margin-bottom:16px}
.strategy-card li{margin-bottom:6px;color:#555;font-size:.92rem}
.strategy-cta{margin-top:20px;padding-top:16px;border-top:1px solid #eee}

/* ===== 能力网格 ===== */
.ability-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}
.ability-item{text-align:center;padding:16px;background:#f8f8f8;border-radius:10px;font-size:.95rem;font-weight:600}

/* ===== 保障网格 ===== */
.guarantee-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:16px}
.guarantee-item{padding:20px;background:#f8f8f8;border-radius:10px}
.guarantee-item b{display:block;margin-bottom:8px;font-size:1rem}
.guarantee-item p{color:#666;font-size:.88rem;line-height:1.6}

/* ===== 价值列表 ===== */
.value-list{margin-top:16px}
.value-row{display:flex;gap:16px;align-items:flex-start;padding:16px 0;border-bottom:1px solid #f0f0f0}
.value-row:last-child{border-bottom:none}
.value-row b{font-size:1.4rem;color:var(--red,#b62f36);flex-shrink:0;width:30px}
.value-row strong{display:block;margin-bottom:4px}
.value-row p{color:#666;font-size:.9rem;margin:0}

/* ===== 课程阶段 (course-system.php) ===== */
.course-phase-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.phase-tag{background:var(--red,#b62f36);color:#fff;padding:4px 14px;border-radius:20px;font-size:.78rem;font-weight:600;white-space:nowrap}
.phase-tag.gold{background:linear-gradient(135deg,#d4a017,#f0c040);color:#333}
.phase-desc{color:#666;margin-bottom:16px}
.phase-courses{display:grid;gap:10px}
.phase-course-item{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;padding:12px 16px;background:#f8f8f8;border-radius:8px}
.phase-course-item b{min-width:160px;font-size:.95rem}
.phase-course-item p{flex:1;color:#666;font-size:.88rem;margin:0}
.phase-course-item em{font-style:normal;color:#999;font-size:.82rem}
.phase-course-item.highlight{background:rgba(182,47,54,.06);border:1px solid rgba(182,47,54,.12)}
.phase-duration{color:var(--red,#b62f36)}

/* ===== 路线卡片 (learning-road.php) ===== */
.road-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.road-card{background:#fff;border:1px solid #e8e8e8;border-radius:12px;padding:28px;text-align:center}
.road-card h3{font-size:1.1rem;margin:12px 0}
.road-card>p{color:#666;font-size:.9rem;line-height:1.6;margin-bottom:16px}
.road-stage{display:inline-block;background:var(--red,#b62f36);color:#fff;padding:4px 14px;border-radius:20px;font-size:.78rem;font-weight:600}
.road-courses{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:16px}
.road-courses span{background:#f0f0f0;padding:4px 10px;border-radius:6px;font-size:.82rem}
.road-result{text-align:left;padding:12px;background:#f8f8f8;border-radius:8px;font-size:.88rem;margin-bottom:16px}

/* ===== FAQ 分类 ===== */
.faq-category{margin:32px 0 16px;padding-bottom:8px;border-bottom:2px solid #eee;font-size:1.15rem}

/* ===== 三列选择网格 ===== */
.three-col{grid-template-columns:repeat(3,1fr)}

/* ===== 教学过程展示 ===== */
.training-sections{display:grid;gap:20px}

/* ===== 学习百科卡片链接 ===== */
.card-link{display:inline-block;margin-top:12px;color:var(--red,#b62f36);font-size:.88rem;font-weight:600}

/* ===== 移动端适配 ===== */
@media(max-width:900px){
  .module-grid{grid-template-columns:repeat(2,1fr)}
  .audience-grid{grid-template-columns:1fr}
  .value-grid{grid-template-columns:1fr}
  .ability-grid{grid-template-columns:repeat(2,1fr)}
  .guarantee-grid{grid-template-columns:1fr}
  .road-cards{grid-template-columns:1fr}
  .three-col{grid-template-columns:1fr}
  .strategy-card{padding:20px}
}
@media(max-width:600px){
  .module-grid{grid-template-columns:1fr}
  .ability-grid{grid-template-columns:1fr}
  .stage-course b{min-width:auto}
  .phase-course-item b{min-width:auto}
  .quiz-option{padding:14px 16px}
  .next-step-box{padding:28px 16px}
  .compare-matrix table{font-size:.8rem}
  .growth-timeline{margin-top:16px}
  .stage-dot{width:32px;height:32px;font-size:.95rem}
}

/* ===== 课程价格样式 ===== */
.course-price-row {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-top: 10px;
  flex-wrap: wrap;
}
.price-original {
  font-size: 14px;
  color: #bbb;
  text-decoration: line-through;
}
.price-promo {
  font-size: 22px;
  font-weight: 700;
  color: #e74c3c;
}
.price-promo em {
  font-size: 14px;
  font-style: normal;
}
.price-member-tag {
  font-size: 12px;
  color: #e67e22;
  background: #fef5e7;
  padding: 2px 8px;
  border-radius: 10px;
}
.opening-tag {
  display: inline-block;
  background: #fff3e0;
  color: #e65100;
  font-size: 12px;
  padding: 3px 10px;
  border-radius: 20px;
  margin-top: 6px;
  font-weight: 500;
}

/* 首页核心课程价格横幅 */
.hero-price-banner {
  text-align: center;
  padding: 16px 20px;
  margin: 16px 0 8px;
  background: linear-gradient(135deg, #fef9f0, #fff5f5);
  border-radius: 10px;
}
.hero-price-label {
  display: inline-block;
  background: #e74c3c;
  color: #fff;
  padding: 3px 12px;
  border-radius: 4px;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 6px;
}
.hero-price-original {
  display: block;
  font-size: 15px;
  color: #bbb;
  text-decoration: line-through;
  margin: 4px 0;
}
.hero-price-now {
  font-size: 36px;
  font-weight: 800;
  color: #e74c3c;
}
.hero-price-now em {
  font-size: 20px;
  font-style: normal;
}
.hero-price-opening {
  display: block;
  font-size: 14px;
  color: #e65100;
  margin-top: 6px;
  font-weight: 500;
}

/* 课程中心侧边栏价格 */
.course-price-box {
  background: linear-gradient(135deg, #fef9f0, #fff5f5);
  border-radius: 10px;
  padding: 18px;
  margin-bottom: 14px;
  text-align: center;
}
.course-price-box .price-label {
  font-size: 13px;
  color: #888;
  margin-bottom: 4px;
}
.course-price-box .price-was {
  font-size: 14px;
  color: #bbb;
  text-decoration: line-through;
}
.course-price-box .price-now {
  font-size: 30px;
  font-weight: 700;
  color: #e74c3c;
}
.course-price-box .price-now em {
  font-size: 16px;
  font-style: normal;
}
.course-price-box .price-bonus {
  font-size: 13px;
  color: #27ae60;
  margin-top: 6px;
}
.course-price-box .price-opening {
  font-size: 13px;
  color: #e65100;
  margin-top: 8px;
  font-weight: 500;
}

/* 全科班价格大展示 */
.full-price-hero {
  text-align: center;
  background: linear-gradient(135deg, #fef9f0, #fff5f5);
  border-radius: 14px;
  padding: 36px 24px;
  max-width: 500px;
  margin: 0 auto;
}
.full-price-tag {
  display: inline-block;
  background: #e74c3c;
  color: #fff;
  padding: 4px 16px;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 10px;
}
.full-price-was {
  font-size: 16px;
  color: #bbb;
  text-decoration: line-through;
  margin-bottom: 4px;
}
.full-price-amount {
  font-size: 52px;
  font-weight: 800;
  color: #e74c3c;
  line-height: 1.1;
}
.full-price-amount em {
  font-size: 28px;
  font-style: normal;
}
.full-price-bonus {
  font-size: 14px;
  color: #27ae60;
  margin-top: 10px;
}
.full-price-opening {
  font-size: 14px;
  color: #e65100;
  margin-top: 8px;
  font-weight: 500;
}

/* 成长路线价格标签 */
.stage-price {
  display: inline-block;
  color: #e74c3c;
  font-size: 13px;
  font-weight: 600;
  margin-left: 8px;
  background: #fff5f5;
  padding: 2px 8px;
  border-radius: 4px;
}

/* 底部开课横幅 */
.opening-banner-bottom {
  text-align: center;
  background: #fff3e0;
  border-radius: 10px;
  padding: 20px;
  margin: 24px 0;
}
.opening-banner-bottom p:first-child {
  font-size: 17px;
  color: #e65100;
}
.opening-banner-bottom p:last-child {
  font-size: 14px;
  color: #888;
  margin-top: 6px;
}

/* ===== 面包屑导航 ===== */
.breadcrumb{padding:12px 0;font-size:.875rem;color:#888;display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.breadcrumb a{color:#666;text-decoration:none;transition:color .2s}
.breadcrumb a:hover{color:var(--red)}
.breadcrumb span{color:#ccc;margin:0 2px}
.breadcrumb strong{color:#333;font-weight:500}

/* ===== 文章上下篇导航 ===== */
.article-nav{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid #eee;margin-bottom:24px}
.article-nav a{flex:1;padding:12px 16px;background:#f8f8f8;border-radius:8px;text-decoration:none;color:#333;font-size:.9rem;transition:all .2s;line-height:1.4}
.article-nav a:hover{background:var(--red);color:#fff}
.article-nav-prev{text-align:left}
.article-nav-next{text-align:right}

/* ===== 相关课程推荐模块 ===== */
.related-courses{padding:40px 0;background:#f9f9f9}
.related-courses h3{font-size:1.25rem;margin-bottom:20px;text-align:center}
.related-courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.related-course-card{background:#fff;border-radius:10px;padding:20px;box-shadow:0 2px 8px rgba(0,0,0,.06);transition:transform .2s,box-shadow .2s}
.related-course-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.1)}
.related-course-card h4{font-size:1rem;margin-bottom:8px;color:#333}
.related-course-card p{font-size:.85rem;color:#666;line-height:1.5;margin-bottom:12px}
.related-course-card .rc-price{font-size:.9rem;color:var(--red);font-weight:600}
.related-course-card a{display:inline-block;margin-top:8px;font-size:.85rem;color:var(--red);text-decoration:none}
.related-course-card a:hover{text-decoration:underline}

/* ===== 悬浮咨询栏增强 ===== */
.float-bar{position:fixed;right:16px;top:50%;transform:translateY(-50%);z-index:100;display:flex;flex-direction:column;gap:10px}
.float-bar a,.float-bar button{width:48px;height:48px;border-radius:50%;background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.12);display:flex;align-items:center;justify-content:center;text-decoration:none;color:#333;font-size:1.1rem;transition:all .2s;border:none;cursor:pointer;position:relative}
.float-bar a:hover,.float-bar button:hover{background:var(--red);color:#fff;transform:scale(1.1)}
.float-bar .float-tooltip{position:absolute;right:56px;top:50%;transform:translateY(-50%);background:#333;color:#fff;padding:6px 12px;border-radius:6px;font-size:.8rem;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s}
.float-bar a:hover .float-tooltip,.float-bar button:hover .float-tooltip{opacity:1}
.float-bar .float-qrcode{position:absolute;right:56px;top:50%;transform:translateY(-50%);background:#fff;padding:8px;border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,.15);opacity:0;pointer-events:none;transition:opacity .2s}
.float-bar .float-qrcode img{width:120px;height:120px;display:block}
.float-bar button:hover .float-qrcode{opacity:1}

/* ===== 移动端底部栏增强 ===== */
.mobile-bottom{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #eee;z-index:100;padding:6px 0 env(safe-area-inset-bottom,6px)}
.mobile-bottom a{flex:1;text-align:center;padding:8px 4px;font-size:.75rem;color:#555;text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:2px}
.mobile-bottom .primary-mobile{color:var(--red);font-weight:600}
.mobile-bottom a .mb-icon{font-size:1.2rem}

/* ===== 首页hero优化 ===== */
.hero-price-banner{background:linear-gradient(135deg,var(--red),#d44);color:#fff;border-radius:12px;padding:20px 24px;margin:20px 0;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.hero-price-label{background:rgba(255,255,255,.2);padding:4px 12px;border-radius:20px;font-size:.85rem;font-weight:600}
.hero-price-original{text-decoration:line-through;opacity:.7;font-size:.95rem}
.hero-price-now{font-size:1.8rem;font-weight:700}
.hero-price-now em{font-style:normal;font-size:1.1rem}

/* ===== 文章内CTA ===== */
.article-cta-inline{text-align:center;padding:24px;background:#f9f9f9;border-radius:12px;margin:24px 0}
.article-cta-inline h3{font-size:1.15rem;margin-bottom:8px}
.article-cta-inline p{color:#666;font-size:.9rem;margin-bottom:16px}
.article-cta-inline .btn{margin:0 6px}

/* ===== 响应式 ===== */
@media(max-width:768px){
  .float-bar{right:8px;gap:8px}
  .float-bar a,.float-bar button{width:40px;height:40px;font-size:.95rem}
  .float-bar .float-tooltip{display:none}
  .related-courses-grid{grid-template-columns:1fr}
  .article-nav{flex-direction:column}
  .hero-price-banner{flex-direction:column;align-items:flex-start;gap:10px;padding:16px}
}

/* ===== 学校简介 V2：仅作用于 about.php ===== */
.about-v2{overflow:hidden;background:#fff}
.about-v2-hero{padding:76px 0 0;background:#151517;color:#fff;position:relative}
.about-v2-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 20%,rgba(177,136,91,.25),transparent 34%),repeating-linear-gradient(115deg,rgba(255,255,255,.025) 0 1px,transparent 1px 22px);pointer-events:none}
.about-v2-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.72fr);gap:72px;align-items:center}
.about-v2-eyebrow,.about-v2-heading>span,.about-v2-principle span,.about-v2-cta span{display:block;color:#c9a36d;font-size:12px;font-weight:800;letter-spacing:.18em}
.about-v2-hero h1{font-size:clamp(46px,5.2vw,72px);line-height:1.08;letter-spacing:-.055em;margin:20px 0 24px}
.about-v2-hero-copy>p{max-width:690px;color:#d7d7da;font-size:19px;line-height:1.9;margin:0}
.about-v2-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.about-v2-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border-radius:999px;font-weight:800;transition:transform .2s ease,box-shadow .2s ease}
.about-v2-btn:hover{transform:translateY(-2px)}
.about-v2-btn.primary{background:var(--red);color:#fff;box-shadow:0 14px 34px rgba(0,0,0,.22)}
.about-v2-btn.secondary{border:1px solid rgba(255,255,255,.35);color:#fff;background:rgba(255,255,255,.05)}
.about-v2-hero-visual{position:relative;min-height:510px;border-radius:32px 32px 0 0;overflow:hidden;background:#27272b;box-shadow:0 34px 70px rgba(0,0,0,.35)}
.about-v2-hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.75))}
.about-v2-hero-visual img{width:100%;height:100%;min-height:510px;display:block;object-fit:cover}
.about-v2-image-placeholder{min-height:510px;display:grid;place-items:center;padding:30px;text-align:center;color:#ddd}
.about-v2-visual-note{position:absolute;left:28px;right:28px;bottom:28px;z-index:1;padding-top:18px;border-top:1px solid rgba(255,255,255,.3);display:flex;justify-content:space-between;align-items:end}
.about-v2-visual-note b{font-size:24px}.about-v2-visual-note span{color:#ddd}
.about-v2-proofbar{position:relative;display:grid;grid-template-columns:repeat(4,1fr);background:#fff;color:#1d1f24;border-radius:24px 24px 0 0;margin-top:0;box-shadow:0 -10px 36px rgba(0,0,0,.08)}
.about-v2-proofbar span{padding:23px 26px;border-right:1px solid #ececef;font-weight:700}.about-v2-proofbar span:last-child{border-right:0}.about-v2-proofbar b{color:var(--red);margin-right:10px;font-size:12px}
.about-v2-section{padding:100px 0}
.about-v2-heading{max-width:760px;margin:0 auto 44px;text-align:center}
.about-v2-heading h2{font-size:clamp(34px,4vw,50px);line-height:1.2;letter-spacing:-.045em;margin:12px 0 16px}
.about-v2-heading p{font-size:17px;color:#69707d;line-height:1.9;margin:0}
.about-v2-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.about-v2-values article{position:relative;padding:34px 36px;border:1px solid #e9e9ec;border-radius:22px;background:#fff;transition:transform .2s ease,box-shadow .2s ease}
.about-v2-values article:hover{transform:translateY(-3px);box-shadow:0 18px 50px rgba(20,20,25,.08)}
.about-v2-values i{position:absolute;right:28px;top:22px;color:#e6e6e9;font-style:normal;font-size:44px;font-weight:900}.about-v2-values h3{position:relative;font-size:23px;margin:0 0 12px}.about-v2-values p{position:relative;color:#676d78;line-height:1.9;margin:0}
.about-v2-compare-section{background:#f5f4f1}
.about-v2-compare{overflow:hidden;border:1px solid #dedfe3;border-radius:24px;background:#fff;box-shadow:0 18px 60px rgba(25,25,30,.06)}
.about-v2-compare>div{display:grid;grid-template-columns:.72fr 1.15fr 1.15fr}
.about-v2-compare>div>*{padding:20px 24px;border-right:1px solid #e5e6e9;border-bottom:1px solid #e5e6e9;line-height:1.75}.about-v2-compare>div>*:last-child{border-right:0}.about-v2-compare>div:last-child>*{border-bottom:0}
.about-v2-compare-head{background:#1b1b1e;color:#fff}.about-v2-compare-head b:nth-child(2){background:var(--red)}
.about-v2-compare strong{color:#292b30;background:#fafafa}.about-v2-compare span:nth-child(2){color:#2b2d32;font-weight:650}.about-v2-compare span:nth-child(3){color:#676d78}
.about-v2-compare-note{font-size:13px;color:#7b8089;text-align:center;margin:18px 0 0}
.about-v2-path-section{background:#1b1b1e;color:#fff}
.about-v2-heading-light p{color:#bfc0c6}
.about-v2-paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.about-v2-paths article{padding:34px;border:1px solid rgba(255,255,255,.13);border-radius:24px;background:rgba(255,255,255,.045)}
.about-v2-paths small{color:#c9a36d;font-weight:800;letter-spacing:.13em}.about-v2-paths h3{font-size:28px;margin:16px 0 12px}.about-v2-paths p{color:#c7c8cd;min-height:94px;line-height:1.85}.about-v2-paths a{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding-top:20px;border-top:1px solid rgba(255,255,255,.15);font-weight:800}.about-v2-paths a b{color:#c9a36d;font-size:20px}
.about-v2-method-grid{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);gap:90px;align-items:start}.about-v2-heading-left{text-align:left;margin:0}.about-v2-steps{list-style:none;padding:0;margin:0;border-top:1px solid #e5e6e9}.about-v2-steps li{display:grid;grid-template-columns:190px 1fr;gap:22px;padding:24px 0;border-bottom:1px solid #e5e6e9}.about-v2-steps li:before{counter-increment:aboutstep;content:"0" counter(aboutstep);color:var(--red);font-size:12px;font-weight:900;grid-column:1;position:absolute}.about-v2-steps{counter-reset:aboutstep}.about-v2-steps b{padding-left:42px;font-size:19px}.about-v2-steps span{color:#68707c}
.about-v2-evidence{background:#f5f4f1}.about-v2-gallery{display:grid;grid-template-columns:1.2fr .9fr .9fr;gap:18px}.about-v2-gallery figure{position:relative;margin:0;height:420px;overflow:hidden;border-radius:22px;background:#ddd}.about-v2-gallery img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .5s ease}.about-v2-gallery figure:hover img{transform:scale(1.035)}.about-v2-gallery figcaption{position:absolute;left:18px;bottom:18px;background:rgba(15,15,17,.78);color:#fff;border-radius:999px;padding:7px 13px;font-size:13px}
.about-v2-depth{background:#18191c;color:#fff}.about-v2-depth .about-v2-heading p{color:#c3c5ca}
.about-v2-depth-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.about-v2-depth details{border:1px solid rgba(255,255,255,.14);border-radius:18px;background:rgba(255,255,255,.045);overflow:hidden}.about-v2-depth summary{list-style:none;cursor:pointer;padding:22px 24px;font-size:18px;font-weight:800}.about-v2-depth summary::-webkit-details-marker{display:none}.about-v2-depth summary span{color:#c9a36d;font-size:12px;margin-right:12px}.about-v2-depth summary:after{content:"＋";float:right;color:#c9a36d}.about-v2-depth details[open] summary:after{content:"—"}.about-v2-depth details>div{padding:0 24px 22px;color:#c9cbd0;line-height:1.95}.about-v2-depth details p{margin:0 0 13px}.about-v2-depth details p:last-child{margin-bottom:0}.about-v2-depth details b{color:#fff}
.about-v2-faq{background:#fff}.about-v2-faq-list{max-width:900px;margin:0 auto;border-top:1px solid #dedfe3}.about-v2-faq-list details{border-bottom:1px solid #dedfe3}.about-v2-faq-list summary{list-style:none;cursor:pointer;padding:22px 44px 22px 0;font-size:18px;font-weight:800;position:relative}.about-v2-faq-list summary::-webkit-details-marker{display:none}.about-v2-faq-list summary:after{content:"＋";position:absolute;right:2px;color:var(--red)}.about-v2-faq-list details[open] summary:after{content:"—"}.about-v2-faq-list p{color:#666d77;line-height:1.9;margin:0;padding:0 50px 22px 0}
.about-v2-principle{background:#fff}.about-v2-principle-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.about-v2-principle h2{font-size:clamp(34px,4vw,52px);line-height:1.25;letter-spacing:-.045em;margin:14px 0 0}.about-v2-principle p{color:#646b76;font-size:17px;line-height:2;margin:0 0 18px}
.about-v2-cta{padding:68px 0;background:#ece8df}.about-v2-cta>.wrap{display:flex;align-items:center;justify-content:space-between;gap:40px}.about-v2-cta h2{font-size:38px;letter-spacing:-.04em;margin:9px 0}.about-v2-cta p{color:#666b73;margin:0}.about-v2-cta .about-v2-actions{margin:0}.about-v2-cta .secondary{color:#1d1f24;border-color:#aaa;background:transparent}
@media(max-width:900px){.about-v2-hero-grid{grid-template-columns:1fr;gap:44px}.about-v2-hero-visual{min-height:460px;border-radius:28px}.about-v2-hero-visual img,.about-v2-image-placeholder{min-height:460px}.about-v2-proofbar{grid-template-columns:repeat(2,1fr)}.about-v2-proofbar span:nth-child(2){border-right:0}.about-v2-proofbar span:nth-child(-n+2){border-bottom:1px solid #ececef}.about-v2-paths{grid-template-columns:1fr}.about-v2-paths p{min-height:0}.about-v2-method-grid,.about-v2-principle-grid{grid-template-columns:1fr;gap:44px}.about-v2-gallery{grid-template-columns:1fr 1fr}.about-v2-gallery figure:first-child{grid-column:1/-1}.about-v2-depth-grid{grid-template-columns:1fr}}
@media(max-width:600px){.about-v2-hero{padding-top:52px}.about-v2-hero h1{font-size:42px}.about-v2-hero-copy>p{font-size:16px}.about-v2-actions{width:100%}.about-v2-btn{flex:1;min-width:145px;padding:0 18px}.about-v2-hero-visual,.about-v2-hero-visual img,.about-v2-image-placeholder{min-height:400px}.about-v2-proofbar{margin-left:16px;margin-right:16px;padding:6px 0}.about-v2-proofbar span{padding:15px 12px;font-size:13px}.about-v2-proofbar b{display:block;margin:0 0 3px}.about-v2-section{padding:72px 0}.about-v2-heading{text-align:left;margin-bottom:30px}.about-v2-heading h2{font-size:34px}.about-v2-heading p{font-size:15px}.about-v2-values{grid-template-columns:1fr}.about-v2-values article,.about-v2-paths article{padding:26px 24px}.about-v2-steps li{grid-template-columns:1fr;gap:7px;padding:19px 0}.about-v2-steps li:before{position:static;grid-column:auto}.about-v2-steps b{padding-left:0}.about-v2-gallery{grid-template-columns:1fr}.about-v2-gallery figure,.about-v2-gallery figure:first-child{grid-column:auto;height:330px}.about-v2-principle h2{font-size:35px}.about-v2-cta{padding:54px 0}.about-v2-cta>.wrap{align-items:flex-start;flex-direction:column}.about-v2-cta h2{font-size:32px}.about-v2-cta .about-v2-actions{width:100%}.about-v2-compare{overflow-x:auto;border-radius:16px}.about-v2-compare>div{min-width:760px}.about-v2-compare>div>*{padding:16px}.about-v2-depth summary{padding:19px 18px;font-size:16px}.about-v2-depth details>div{padding:0 18px 19px}.about-v2-faq-list summary{font-size:16px}.about-v2-faq-list p{padding-right:20px}}

/* ===== V2.0-003 课程详情页：适合/不适合模块专用布局 ===== */
.course-detail-v2-fit{
  overflow-x:clip;
}
.course-detail-v2-summary .rich-course{
  min-width:0;
}
.course-detail-v2-summary .course-main,
.course-detail-v2-summary .detail-meta{
  min-width:0;
}
.course-detail-v2-summary .course-main img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  object-fit:cover;
}
.course-detail-v2-fit .selector-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  width:100%;
  min-width:0;
}
.course-detail-v2-fit .selector-grid > .detail-card{
  display:block;
  width:auto;
  min-width:0;
  padding:28px;
}
.course-detail-v2-fit .selector-grid > .detail-card h2{
  margin:0 0 18px;
  font-size:26px;
  line-height:1.35;
}
.course-detail-v2-fit .selector-grid > .detail-card ul{
  margin:0;
  padding-left:1.25em;
}
.course-detail-v2-fit .selector-grid > .detail-card li{
  margin:0 0 12px;
  line-height:1.8;
  overflow-wrap:anywhere;
}
.course-detail-v2-fit .selector-grid > .detail-card li:last-child{
  margin-bottom:0;
}
@media(max-width:768px){
  .course-detail-v2-fit .selector-grid{
    grid-template-columns:minmax(0,1fr);
    gap:16px;
  }
  .course-detail-v2-fit .selector-grid > .detail-card{
    padding:22px 18px;
  }
  .course-detail-v2-fit .selector-grid > .detail-card h2{
    font-size:22px;
  }
}
/* V3.0-005 GEO content center */
.geo-topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:28px}.geo-topic-card{background:#fff;border:1px solid #e7e1dc;border-radius:18px;padding:28px;box-shadow:0 10px 30px rgba(34,24,18,.06)}.geo-topic-card>span,.geo-reading-grid span{color:var(--red);font-size:13px;font-weight:700}.geo-topic-card h2{margin:9px 0 10px;font-size:26px}.geo-topic-card p{color:#5f5a56;line-height:1.8}.geo-topic-links{display:grid;gap:8px;margin:18px 0}.geo-topic-links a{color:#2e2926;text-decoration:none;border-bottom:1px dashed #ddd;padding:7px 0}.geo-topic-links a:hover{color:var(--red)}.geo-course-reading{background:#f7f4f1}.geo-reading-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.geo-reading-grid>a{display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid #e7e1dc;border-radius:14px;padding:20px;text-decoration:none;color:#26211e}.geo-reading-grid b{font-size:17px;line-height:1.5}.geo-reading-grid small{color:#716a65;line-height:1.7}.geo-reading-more{text-align:right;margin-top:18px}.geo-reading-more a{color:var(--red);font-weight:700}@media(max-width:760px){.geo-topic-grid,.geo-reading-grid{grid-template-columns:1fr}.geo-topic-card{padding:22px}.geo-topic-card h2{font-size:22px}}

/* V3.0-008.1 页面体验与招生转化精修 */
.footer{background:#111014;color:#d8d4dc;padding-top:64px}.footer-grid{grid-template-columns:minmax(0,1.35fr) minmax(150px,.85fr) minmax(180px,1fr) minmax(220px,1.05fr);gap:44px}.footer-grid>*{min-width:0}.footer-links{display:block}.footer h4{margin:4px 0 20px;color:#fff;font-size:16px}.footer p{color:#aaa5af;line-height:1.8}.footer a{margin:.55rem 0;color:#cbc5d0;text-decoration:none;overflow-wrap:anywhere}.footer-links a{display:block;white-space:normal;word-break:keep-all}.footer a:hover{color:#fff}.footer-position{display:inline-flex;margin-top:10px;padding:8px 12px;border:1px solid rgba(255,255,255,.13);border-radius:999px;color:#d9c8eb;font-size:12px}.footer-contact p{margin:0 0 12px}.footer-contact p>span{display:block;color:#78737c;font-size:12px}.footer-contact a{margin:2px 0;color:#fff}.footer-wechat{padding:0;border:0;background:none;color:#fff;cursor:pointer}.footer-consult-btn{display:inline-flex!important;align-items:center;justify-content:center;min-height:44px;padding:0 18px!important;border-radius:999px;background:#6f4aa8;color:#fff!important;font-weight:800}.footer-qr-row{display:flex;gap:12px;align-items:center;margin-top:17px}.footer-qr-row span{color:#8e8993;font-size:12px;line-height:1.65}
.float-service{position:fixed;right:18px;top:50%;z-index:100;width:270px;padding:20px;border:1px solid #e8e3eb;border-radius:22px;background:rgba(255,255,255,.97);box-shadow:0 22px 60px rgba(25,20,30,.18);transform:translateY(-50%);backdrop-filter:blur(12px)}.float-service-close{position:absolute;right:9px;top:8px;width:28px;height:28px;border:0;border-radius:50%;background:#f1eef3;color:#777;cursor:pointer}.float-service-head small{color:#6f4aa8;font-size:11px;font-weight:850;letter-spacing:.1em}.float-service-head strong{display:block;margin:8px 18px 6px 0;color:#1d1a20;font-size:18px;line-height:1.4}.float-service-head p{margin:0;color:#77717b;font-size:13px}.float-service-routes{display:grid;gap:7px;margin:16px 0}.float-service-routes a{display:flex;justify-content:space-between;gap:8px;padding:10px 11px;border-radius:12px;background:#f7f4f8;color:#29252d;text-decoration:none}.float-service-routes span{font-size:13px;font-weight:800}.float-service-routes b{color:#746d78;font-size:11px;font-weight:600}.float-service-cta{display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:999px;background:#6f4aa8;color:#fff;font-weight:850;text-decoration:none}.float-service-contact{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:9px}.float-service-contact a,.float-service-contact button{padding:8px;border:0;border-radius:9px;background:#f0edf2;color:#4d4850;text-align:center;text-decoration:none;font-size:12px;cursor:pointer}.float-service .float-qrcode{display:none;position:absolute;right:0;bottom:-174px;width:150px;padding:10px;border-radius:14px;background:#fff;box-shadow:0 16px 45px rgba(0,0,0,.18);text-align:center}.float-service .float-qrcode.is-open{display:block}.float-service .float-qrcode img{width:130px;height:130px;object-fit:cover}.float-service .float-qrcode span{display:block;margin-top:5px;font-size:11px}.float-service.is-folded{width:48px;height:48px;padding:0;border-radius:50%}.float-service.is-folded>*:not(.float-service-close){display:none}.float-service.is-folded .float-service-close{inset:0;width:48px;height:48px;background:#6f4aa8;color:#fff;font-size:0}.float-service.is-folded .float-service-close:after{content:'咨询';font-size:12px;font-weight:800}
.mobile-bottom a,.mobile-bottom button{flex:1;text-align:center;padding:7px 4px;border:0;background:#fff;font:inherit;font-size:.75rem;color:#555;text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer}.mobile-bottom .mb-icon{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#f1edf3;color:#6f4aa8;font-size:.72rem;font-weight:900}.mobile-bottom .primary-mobile .mb-icon{background:#6f4aa8;color:#fff}.mobile-wechat-pop{display:none;position:fixed;z-index:120;left:50%;bottom:84px;width:min(300px,calc(100% - 32px));padding:20px;border-radius:20px;background:#fff;box-shadow:0 22px 70px rgba(0,0,0,.26);text-align:center;transform:translateX(-50%)}.mobile-wechat-pop.is-open{display:grid;justify-items:center;gap:8px}.mobile-wechat-pop img{width:160px;height:160px;object-fit:cover}.mobile-wechat-pop button{padding:8px 14px;border:0;border-radius:999px;background:#6f4aa8;color:#fff}.mobile-wechat-pop .mobile-wechat-close{background:#eee;color:#555}
.about-v2-overview{position:relative;z-index:2;display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:22px}.about-v2-overview a{display:flex;flex-direction:column;min-height:122px;padding:20px;border:1px solid #e5e5e8;border-radius:17px;background:#fff;color:#22252a;text-decoration:none;transition:transform .2s,box-shadow .2s}.about-v2-overview a:hover{transform:translateY(-3px);box-shadow:0 15px 38px rgba(20,20,25,.08)}.about-v2-overview small{color:var(--red);font-weight:900}.about-v2-overview b{margin-top:16px;font-size:17px}.about-v2-overview span{margin-top:4px;color:#777c84;font-size:12px}
@media(max-width:1100px){.footer-grid{grid-template-columns:1fr 1fr;gap:34px}}
@media(max-width:900px){.footer-links{display:block}.float-service{display:none}.about-v2-overview{grid-template-columns:repeat(2,1fr)}body{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}}
@media(max-width:600px){.footer-grid{grid-template-columns:1fr;gap:30px}.footer{padding-top:48px}.copyright{padding-bottom:24px}.about-v2-overview{grid-template-columns:1fr 1fr;margin:18px 16px 0}.about-v2-overview a{min-height:105px;padding:16px}.about-v2-overview a:last-child{grid-column:1/-1}.mobile-bottom{grid-template-columns:repeat(3,1fr)}}

/* V3.0-008.2 移动菜单、相册与联系我们 */
@media(max-width:900px){
  body.open-menu{overflow:hidden}
  body.open-menu .site-header{z-index:210}
  body.open-menu .site-header nav{z-index:220;max-height:calc(100vh - 110px);overflow-y:auto}
  body.open-menu .mobile-bottom,body.open-menu .float-service,body.open-menu .mobile-wechat-pop{display:none!important}
}
.gallery-category-intro{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:28px}.gallery-category-intro article{padding:22px;border:1px solid var(--line);border-radius:18px;background:#faf9f7}.gallery-category-intro span{color:var(--red);font-size:12px;font-weight:900}.gallery-category-intro h2{margin:16px 0 8px;font-size:20px}.gallery-category-intro p{margin:0;color:var(--muted);font-size:13px;line-height:1.7}.album-card-info p{display:-webkit-box;min-height:44px;margin:0 0 12px;overflow:hidden;color:var(--muted);font-size:13px;line-height:1.65;-webkit-box-orient:vertical;-webkit-line-clamp:2}.album-card-tags{display:flex;flex-wrap:wrap;gap:6px}
.contact-v3{background:#fff}.contact-v3-hero{background:linear-gradient(135deg,#17151b,#30243c)}.contact-v3-position-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(420px,1.15fr);gap:70px;align-items:center}.contact-v3-position h2{margin:10px 0 18px;font-size:clamp(34px,4vw,52px)}.contact-v3-position p{color:var(--muted);font-size:17px;line-height:1.9}.contact-v3-direct{display:grid;grid-template-columns:1fr 1fr;gap:12px}.contact-v3-direct>a,.contact-v3-direct>button,.contact-v3-direct>div{display:flex;flex-direction:column;align-items:flex-start;min-height:120px;padding:22px;border:1px solid var(--line);border-radius:18px;background:#faf9f7;color:var(--ink);text-align:left;text-decoration:none}.contact-v3-direct>div{grid-column:1/-1;min-height:auto}.contact-v3-direct button{font:inherit;cursor:pointer}.contact-v3-direct small{color:var(--red);font-weight:800}.contact-v3-direct b{margin-top:10px;font-size:20px}.contact-v3-direct span{margin-top:5px;color:var(--muted);font-size:12px}.contact-v3-routes{background:#f5f2f7}.contact-v3-route-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.contact-v3-route-grid a{display:flex;flex-direction:column;min-height:290px;padding:30px;border:1px solid #e4ddea;border-radius:22px;background:#fff;color:var(--ink);text-decoration:none;transition:transform .2s,box-shadow .2s}.contact-v3-route-grid a:hover{transform:translateY(-4px);box-shadow:0 18px 45px rgba(35,26,44,.1)}.contact-v3-route-grid span{color:#a88fc9;font-size:28px;font-weight:900}.contact-v3-route-grid h3{margin:28px 0 12px;font-size:25px}.contact-v3-route-grid p{margin:0;color:var(--muted);line-height:1.75}.contact-v3-route-grid b{margin-top:auto;padding-top:24px;color:#6f4aa8}.contact-v3-consult .contact-card{height:100%}.contact-v3-consult .contact-card>.btn{margin-top:20px}
@media(max-width:900px){.gallery-category-intro{grid-template-columns:1fr 1fr}.contact-v3-position-grid{grid-template-columns:1fr;gap:35px}.contact-v3-route-grid{grid-template-columns:1fr}.contact-v3-route-grid a{min-height:0}.contact-v3 .section-head{display:block}.contact-v3 .section-head>p{margin-top:12px}}
@media(max-width:600px){.gallery-category-intro{gap:9px}.gallery-category-intro article{padding:17px}.gallery-category-intro h2{font-size:17px}.contact-v3-direct{grid-template-columns:1fr}.contact-v3-direct>div{grid-column:auto}.contact-v3-direct>a,.contact-v3-direct>button{min-height:105px}.contact-v3-route-grid a{padding:24px}.contact-v3-position p{font-size:15px}}
/* V4.0-001 trust system */
.trust-hero{padding:80px 0;background:#111;color:#fff}.trust-hero h1{font-size:clamp(38px,6vw,70px)}.trust-two,.trust-philosophy{display:grid;grid-template-columns:1fr 1fr;gap:48px}.trust-audience,.trust-card-grid,.case-grid,.hv3-trust-grid{display:grid;gap:18px}.trust-card-grid,.case-grid,.hv3-trust-grid{grid-template-columns:repeat(3,1fr)}.trust-audience article,.trust-card-grid article,.case-grid article,.case-empty,.case-stage,.hv3-trust-grid article{padding:24px;border:1px solid #e8e3e0;border-radius:18px;background:#fff}.trust-consult .wrap,.hv3-trust-actions{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:34px;border-radius:20px;background:#161616;color:#fff}.case-cover,.case-grid img{width:100%;object-fit:cover;border-radius:18px}@media(max-width:780px){.trust-two,.trust-philosophy,.trust-card-grid,.case-grid,.hv3-trust-grid{grid-template-columns:1fr}.trust-consult .wrap,.hv3-trust-actions{flex-direction:column;align-items:stretch}}
/* V4.0-002 cases */
.case-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}.case-filters a{padding:10px 15px;border:1px solid #ddd;border-radius:999px}.case-detail video{width:100%;max-height:620px;border-radius:16px;background:#000}.case-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.case-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px}.case-related{display:grid;gap:10px}.case-related a{padding:14px;border:1px solid #ddd;border-radius:12px}@media(max-width:780px){.case-filters{flex-wrap:nowrap;overflow:auto}.case-gallery{grid-template-columns:1fr}.case-detail{padding-bottom:90px}}
/* ===== V4.0-003 成交路径 ===== */
.conversion-consult{padding-top:48px;padding-bottom:48px;background:#fff}
.conversion-consult-box,.learning-route-box{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:34px 38px;border:1px solid #eadde8;border-radius:24px;background:linear-gradient(135deg,#fff 0%,#faf5ff 100%);box-shadow:0 14px 40px rgba(47,27,58,.07)}
.conversion-consult-box span,.learning-route-box>div>span{display:block;color:#7e4aa8;font-weight:800;font-size:14px;letter-spacing:.08em;margin-bottom:7px}
.conversion-consult-box h2,.learning-route-box h2,.learning-route-box h3{margin:0 0 8px;line-height:1.25}
.conversion-consult-box p,.learning-route-box p{margin:0;color:#666d77;line-height:1.8}
.conversion-consult-box .btn{flex:0 0 auto;min-height:48px;display:inline-flex;align-items:center;justify-content:center}
.learning-route-box{margin:30px 0}.conversion-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}.case-conversion{margin-top:36px}
@media(max-width:700px){.conversion-consult{padding:34px 0}.conversion-consult-box,.learning-route-box{align-items:flex-start;flex-direction:column;padding:25px 22px;gap:20px;border-radius:18px}.conversion-consult-box .btn,.learning-route-box .btn,.conversion-actions{width:100%}.conversion-actions{display:grid;grid-template-columns:1fr}.conversion-actions .btn{min-height:48px;display:flex;align-items:center;justify-content:center}.conversion-consult-box h2,.learning-route-box h2{font-size:26px}.article-page{padding-bottom:84px}}

/* ===== V4.0-004 GEO品牌实体页 ===== */
.brand-entity-hero{background:radial-gradient(circle at 82% 18%,rgba(131,78,165,.24),transparent 34%),#17151a}.brand-entity-hero p{max-width:850px}.brand-keywords{display:flex;flex-wrap:wrap;gap:9px;margin-top:25px}.brand-keywords b{padding:8px 13px;border:1px solid rgba(255,255,255,.2);border-radius:999px;color:#eee;font-size:13px}.brand-history .section-head{max-width:780px}.brand-timeline{position:relative;display:grid;gap:0;margin-top:38px}.brand-timeline:before{content:"";position:absolute;left:92px;top:12px;bottom:12px;width:1px;background:#d9cfe0}.brand-timeline article{position:relative;display:grid;grid-template-columns:92px 1fr;gap:34px;padding:0 0 38px}.brand-timeline article:last-child{padding-bottom:0}.brand-timeline time{color:#7e4aa8;font-weight:900}.brand-timeline time:after{content:"";position:absolute;left:86px;top:5px;width:13px;height:13px;border:3px solid #7e4aa8;border-radius:50%;background:#fff}.brand-timeline h3{margin:0 0 9px;font-size:23px}.brand-timeline p{max-width:850px;margin:0;color:#666d77;line-height:1.9}.brand-logic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.brand-logic-grid article{padding:28px;border:1px solid #e7e1e9;border-radius:20px;background:#fff}.brand-logic-grid b{color:#b9a4c7;font-size:13px}.brand-logic-grid h3{margin:14px 0 9px}.brand-logic-grid p{margin:0;color:#686e78;line-height:1.75}.brand-entity-page .trust-philosophy .btn{margin-top:20px}
@media(max-width:800px){.brand-logic-grid{grid-template-columns:1fr 1fr}.brand-timeline:before{left:62px}.brand-timeline article{grid-template-columns:62px 1fr;gap:24px}.brand-timeline time:after{left:56px}}
@media(max-width:560px){.brand-logic-grid{grid-template-columns:1fr}.brand-timeline:before{display:none}.brand-timeline article{display:block;padding-bottom:30px}.brand-timeline time{display:block;margin-bottom:8px}.brand-timeline time:after{display:none}.brand-timeline h3{font-size:20px}}

/* ===== V4.0-005 学员成长案例 GEO资产 ===== */
.case-center-v4 .case-filters a.active{border-color:#7e4aa8;background:#7e4aa8;color:#fff}.case-center-v4 .case-grid article{padding:0;overflow:hidden}.case-center-v4 .case-grid article>div{padding:22px}.case-center-v4 .case-grid h2{margin:10px 0;font-size:21px;line-height:1.45}.case-center-v4 .case-grid p{color:#6b7078;line-height:1.75}.case-read-more{display:inline-block;margin-top:12px;color:#7e4aa8;font-weight:800}
.case-detail-head{padding:26px 0 30px}.case-detail-head>small{display:inline-block;padding:7px 11px;border-radius:999px;background:#f2eaf7;color:#7e4aa8;font-weight:800}.case-detail-head h1{margin:16px 0 12px;font-size:clamp(34px,5vw,56px);line-height:1.2}.case-detail-head>p{font-size:18px;color:#666d77;line-height:1.85}.case-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.case-meta span{padding:9px 12px;border:1px solid #e5dce9;border-radius:10px;background:#fff;color:#646973}.case-meta b{color:#17131a}.case-geo-detail .case-cover{max-height:650px;aspect-ratio:16/9;object-fit:cover}.case-growth-flow{position:relative;display:grid;gap:18px;margin:34px 0}.case-growth-flow:before{content:"";position:absolute;left:31px;top:40px;bottom:40px;width:1px;background:#dccfe3}.case-growth-flow .case-stage{position:relative;padding-left:76px}.case-growth-flow .case-stage:before{content:"";position:absolute;left:25px;top:31px;width:13px;height:13px;border:4px solid #7e4aa8;border-radius:50%;background:#fff}.case-stage>span,.teacher-review>span{display:block;color:#9873af;font-size:12px;font-weight:900;letter-spacing:.07em}.case-stage h2{margin:7px 0 13px}.case-stage h3{margin:20px 0 7px;font-size:17px}.case-stage p{color:#5f6570;line-height:1.95}.teacher-review{margin:28px 0;border-color:#dac8e4;background:linear-gradient(145deg,#faf5fd,#fff)}.case-video{margin:32px 0}.case-video figcaption,.case-gallery figcaption{padding:9px 3px;color:#686e78;line-height:1.6}.case-gallery-section{margin:42px 0}.case-gallery-section h2{margin-bottom:18px}.case-gallery figure{margin:0}.case-related a{display:flex;flex-direction:column;gap:4px}.case-related a b{color:#9873af;font-size:12px}.case-related a:hover{border-color:#7e4aa8}.case-admin-form small{display:block;margin-top:4px;color:#817989;font-weight:normal}.case-admin-card{border-left:4px solid #e6d8ed}.case-form-intro{display:flex;justify-content:space-between;gap:18px;margin-bottom:20px}.case-form-intro span{color:#777}.case-media-fields,.case-relation-fields{margin:22px 0;padding:22px;border:1px solid #e8e1ea;border-radius:16px;background:#faf8fb}.case-media-fields h3,.case-relation-fields h3{margin:0 0 12px}.case-relation-fields>p{color:#777}
@media(max-width:700px){.case-detail-head{padding-top:18px}.case-detail-head h1{font-size:34px}.case-meta{display:grid;grid-template-columns:1fr}.case-growth-flow .case-stage{padding:23px}.case-growth-flow:before,.case-growth-flow .case-stage:before{display:none}.case-form-intro{flex-direction:column}.case-center-v4 .case-grid article>div{padding:19px}}

/* ===== V4.0-007 AI搜索GEO答案中心 ===== */
.geo-answer-hub{background:#f7f4f8}.geo-answer-categories{display:flex;flex-wrap:wrap;gap:10px;margin:25px 0 35px}.geo-answer-categories a{padding:10px 15px;border:1px solid #dacfe0;border-radius:999px;background:#fff;color:#4f4058;text-decoration:none;font-weight:800}.geo-answer-category{margin:0 0 38px;scroll-margin-top:100px}.geo-answer-category>header{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:16px}.geo-answer-category h3{margin:0;font-size:26px}.geo-answer-category header p{max-width:640px;margin:0;color:#6c6570}.geo-question-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.geo-question-grid>a{display:flex;flex-direction:column;min-height:145px;padding:22px;border:1px solid #e4dce8;border-radius:17px;background:#fff;color:#211c24;text-decoration:none;transition:transform .2s,box-shadow .2s}.geo-question-grid>a:hover{transform:translateY(-3px);box-shadow:0 15px 38px rgba(45,29,53,.08)}.geo-question-grid small{color:#8b62a3;font-weight:900}.geo-question-grid b{margin:12px 0;font-size:19px;line-height:1.5}.geo-question-grid span{margin-top:auto;color:#7e4aa8;font-size:13px;font-weight:800}.geo-answer-links{margin:36px 0}.geo-answer-page .answer-direct{padding:30px;border-left:5px solid #7e4aa8;border-radius:18px;background:#f8f3fb}.geo-answer-page .answer-direct h2{margin-top:0}.geo-answer-page .answer-direct p{margin-bottom:0;font-size:18px;line-height:1.95}.answer-two{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:28px 0}.answer-panel{padding:26px;border:1px solid #e5dce9;border-radius:18px;background:#fff}.answer-panel h2{margin-top:0}.answer-panel li{margin:10px 0;line-height:1.75}.answer-route{counter-reset:route;display:grid;gap:10px;padding:0;list-style:none}.answer-route li{display:flex;align-items:center;gap:12px}.answer-route li:before{counter-increment:route;content:counter(route);display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:50%;background:#7e4aa8;color:#fff;font-weight:900}.answer-entity-network{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.answer-entity-network a{padding:20px;border:1px solid #e5dce9;border-radius:15px;color:#2c2630;text-decoration:none}.answer-entity-network b,.answer-entity-network span{display:block}.answer-entity-network span{margin-top:7px;color:#746d77;font-size:13px;line-height:1.6}@media(max-width:760px){.geo-question-grid,.answer-two,.answer-entity-network{grid-template-columns:1fr}.geo-answer-category>header{display:block}.geo-answer-category header p{margin-top:8px}.geo-question-grid>a{min-height:125px}.geo-answer-page .answer-direct{padding:22px}.geo-answer-page .answer-direct p{font-size:16px}}

/* ===== V4.2-001 公共内容架构 ===== */
.content-category-hub{background:#faf8f6}.content-category-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.content-category-nav>a{display:flex;flex-direction:column;gap:7px;min-height:100px;padding:19px;border:1px solid #e7e1dc;border-radius:16px;background:#fff;color:#292522;text-decoration:none}.content-category-nav>a:first-child{justify-content:center;font-weight:900}.content-category-nav>a:hover,.content-category-nav>a.is-active{border-color:var(--red);box-shadow:0 12px 30px rgba(60,35,28,.07)}.content-category-nav b{font-size:17px}.content-category-nav span{color:#6f6964;font-size:13px;line-height:1.55}.teacher-entity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.teacher-entity-grid article{padding:30px;border:1px solid #e7e1e9;border-radius:20px;background:#fff}.teacher-entity-grid span{color:#7e4aa8;font-size:13px;font-weight:900}.teacher-entity-grid h3{margin:10px 0;font-size:25px}.teacher-entity-grid p{margin:0;color:#626973;line-height:1.9}
@media(max-width:760px){.content-category-nav,.teacher-entity-grid{grid-template-columns:1fr}.content-category-nav>a{min-height:auto}}

/* Teacher portraits: keep the full person visible instead of center-cropping. */
.teacher-entity-photo img,.public-teacher-photo img,.teacher-profile-photo img,.relation-teacher-card>img{object-fit:contain!important;object-position:center top!important;background:#f0e9e6}

/* V4.2-002 师资团队前台 */
.teacher-entity-grid article{display:grid;grid-template-columns:130px 1fr;gap:22px}.teacher-entity-photo{display:block;overflow:hidden;border-radius:15px;aspect-ratio:4/5}.teacher-entity-photo img{width:100%;height:100%;object-fit:cover}.teacher-entity-grid h3 a{color:inherit;text-decoration:none}.teacher-more{display:inline-block;margin-top:15px;color:var(--red);font-weight:850;text-decoration:none}.teacher-list-hero{padding:86px 0;background:radial-gradient(circle at 82% 20%,rgba(182,47,54,.22),transparent 35%),#171517;color:#fff}.teacher-list-hero span{color:#d9a7aa;font-size:13px;font-weight:900;letter-spacing:.12em}.teacher-list-hero h1{margin:12px 0;font-size:clamp(42px,6vw,70px)}.teacher-list-hero p{max-width:760px;margin:0;color:#ddd;line-height:1.9}.public-teacher-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.public-teacher-card{display:grid;grid-template-columns:190px 1fr;gap:26px;padding:22px;border:1px solid #e5dfdb;border-radius:24px;background:#fff}.public-teacher-photo{display:block;overflow:hidden;border-radius:17px;background:#f0e9e6;aspect-ratio:4/5}.public-teacher-photo img,.public-teacher-photo span{display:grid;width:100%;height:100%;place-items:center;object-fit:cover;color:var(--red);font-size:4rem;font-weight:900}.public-teacher-card small{color:var(--red);font-weight:900}.public-teacher-card h2{margin:10px 0}.public-teacher-card h2 a{color:#201c1b;text-decoration:none}.public-teacher-card p{color:#69635f;line-height:1.8}.teacher-profile-head{background:#f7f3f0}.teacher-profile-grid{display:grid;grid-template-columns:minmax(260px,410px) 1fr;gap:70px;align-items:center}.teacher-profile-photo{display:grid;overflow:hidden;place-items:center;aspect-ratio:4/5;border-radius:28px;background:#e8ded9;color:var(--red);font-size:7rem;font-weight:900}.teacher-profile-photo img{width:100%;height:100%;object-fit:cover}.teacher-profile-copy>small,.teacher-profile-content article>span{color:var(--red);font-size:12px;font-weight:900;letter-spacing:.12em}.teacher-profile-copy h1{margin:12px 0 4px;font-size:clamp(42px,6vw,68px)}.teacher-profile-copy h2{margin:0;color:#666;font-size:21px}.teacher-profile-lead{max-width:700px;margin:27px 0;font-size:19px;line-height:1.9}.teacher-profile-content{display:grid;grid-template-columns:2fr 1fr 1fr;gap:18px}.teacher-profile-content article{padding:28px;border:1px solid #e5dfdb;border-radius:20px;background:#fff}.teacher-profile-content h2{margin:10px 0 17px}.teacher-profile-content p,.teacher-profile-content li{color:#625e5b;line-height:1.9}.teacher-pill-list{display:flex;flex-wrap:wrap;gap:9px}.teacher-pill-list b{padding:8px 11px;border-radius:999px;background:#f6ecec;color:#8d2b31;font-size:13px}.teacher-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.teacher-course-grid a{padding:25px;border:1px solid #e5dfdb;border-radius:18px;color:#292321;text-decoration:none}.teacher-course-grid small,.teacher-course-grid>a>b{color:var(--red)}.teacher-course-grid h3{margin:10px 0}.teacher-course-grid p{color:#6d6763;line-height:1.75}
@media(max-width:900px){.public-teacher-grid{grid-template-columns:1fr}.teacher-profile-grid{grid-template-columns:280px 1fr;gap:35px}.teacher-profile-content{grid-template-columns:1fr 1fr}.teacher-profile-content article:first-child{grid-column:1/-1}.teacher-course-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.teacher-entity-grid article,.public-teacher-card{grid-template-columns:95px 1fr;padding:16px;gap:16px}.public-teacher-card p{font-size:14px}.teacher-profile-grid,.teacher-profile-content,.teacher-course-grid{grid-template-columns:1fr}.teacher-profile-photo{max-width:320px}.teacher-profile-content article:first-child{grid-column:auto}}
.relation-teacher-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.relation-teacher-card{display:grid;grid-template-columns:120px 1fr;gap:18px;padding:18px;border:1px solid #e5dfdb;border-radius:20px;background:#fff;color:#292321;text-decoration:none}.relation-teacher-card>img,.relation-teacher-placeholder{display:grid;width:120px;aspect-ratio:4/5;place-items:center;border-radius:14px;background:#f0e9e6;object-fit:cover;color:var(--red);font-size:44px;font-weight:900}.relation-teacher-card small{color:var(--red);font-weight:850}.relation-teacher-card h3{margin:7px 0}.relation-teacher-card p{margin:0 0 10px;color:#6d6763;font-size:14px;line-height:1.7}.relation-teacher-card b{color:var(--red);font-size:13px}.article-related-teachers{margin:35px 0}.article-related-teachers .relation-teacher-grid{grid-template-columns:1fr;align-items:start}.article-related-teachers .relation-teacher-card{display:flex;align-items:flex-start;height:auto!important;min-height:0!important}.article-related-teachers .relation-teacher-card>img,.article-related-teachers .relation-teacher-placeholder{flex:0 0 120px;width:120px;height:150px;min-height:0}.article-related-teachers .relation-teacher-card>div{flex:1 1 auto;min-width:0;height:auto;min-height:0}
.course-teachers .section-head p{color:#6d6763}@media(max-width:980px){.relation-teacher-grid{grid-template-columns:1fr 1fr}}@media(max-width:650px){.relation-teacher-grid{grid-template-columns:1fr}.relation-teacher-card{grid-template-columns:88px 1fr;padding:14px;gap:14px}.relation-teacher-card>img,.relation-teacher-placeholder{width:88px}.article-related-teachers .relation-teacher-card{flex-direction:column;align-items:stretch}.article-related-teachers .relation-teacher-card>img,.article-related-teachers .relation-teacher-placeholder{flex-basis:auto;width:96px;height:120px}.article-related-teachers .relation-teacher-card>div{width:100%}}

/* V4.2-010-004 课程教学证明只保留教学内容、课堂记录和案例信息。 */
.course-trust-layout,.course-trust-content{width:100%;min-width:0;height:auto;min-height:0}.course-trust-content{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}.course-trust-card{display:flex;min-width:0;min-height:0;height:auto;flex-direction:column;padding:21px;border:1px solid #e3dcd7;border-radius:16px;background:#fff;color:#292321;text-decoration:none}.course-trust-card:first-child{grid-column:auto}.course-trust-card small,.course-trust-card b,.course-trust-card span{display:block;max-width:100%;overflow-wrap:anywhere;word-break:break-word}.course-trust-card small{color:#9b6b70;font-size:11px;font-weight:900;letter-spacing:.08em;line-height:1.5}.course-trust-card b{margin-top:7px;font-size:18px;line-height:1.5}.course-trust-card span{margin-top:8px;color:#716a66;font-size:14px;line-height:1.75}.course-trust-card.is-empty{background:#fbfaf9}.course-trust-card[href]:hover{border-color:#cdaeb0;box-shadow:0 10px 28px rgba(60,35,28,.06)}
@media(max-width:800px){.course-trust-content{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.course-trust-content{grid-template-columns:minmax(0,1fr)}.course-trust-card{padding:18px}}

/* V4.2-010-003 course detail layout: contain grids and keep content in natural flow. */
.course-detail-v2-curriculum,
.course-detail-v2-method,
.course-detail-v2-proof,
.course-detail-v2-comparison,
.course-detail-v2-related,
.course-trust-proof{overflow-x:clip}
.course-detail-v2-curriculum .wrap,
.course-detail-v2-method .wrap,
.course-detail-v2-proof .wrap,
.course-detail-v2-comparison .wrap,
.course-detail-v2-related .wrap,
.course-trust-proof .wrap{min-width:0}
.course-detail-v2-curriculum .phase-courses,
.course-detail-v2-curriculum .phase-course-item,
.course-detail-v2-method .process,
.course-detail-v2-method .process>article{
  height:auto!important;
  min-height:0!important;
}
.course-detail-v2-curriculum .phase-courses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start;width:100%;max-width:100%;min-width:0}
.course-detail-v2-curriculum .phase-course-item{display:block;width:auto;max-width:100%;min-width:0;padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden}
.course-detail-v2-curriculum .phase-course-item>*{min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word}
.course-detail-v2-curriculum .phase-course-item small{display:block;margin:0 0 8px;color:var(--red);font-weight:850;line-height:1.5}
.course-detail-v2-curriculum .phase-course-item h3{margin:0 0 10px;font-size:20px;line-height:1.45}
.course-detail-v2-curriculum .phase-course-item b{display:block;min-width:0;margin:0 0 10px;color:var(--red);line-height:1.55}
.course-detail-v2-curriculum .phase-course-item p{margin:0 0 12px;color:var(--muted);font-size:14px;line-height:1.75}
.course-detail-v2-curriculum .phase-course-item ul{margin:0;padding-left:1.2em}
.course-detail-v2-curriculum .phase-course-item li{margin:7px 0;line-height:1.7}
.course-detail-v2-method .process{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start}
.course-detail-v2-method .process>article{min-width:0;padding:24px;border:1px solid var(--line);border-radius:20px;background:#fff}
.course-detail-v2-method .process h3{margin:0 0 10px;line-height:1.45;overflow-wrap:anywhere}
.course-detail-v2-method .process p{margin:0;color:var(--muted);line-height:1.75;overflow-wrap:anywhere}
.course-detail-v2-proof .gallery{height:auto;min-height:0;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.course-detail-v2-proof .gallery figure{min-width:0;height:auto;min-height:0;margin:0}
.course-detail-v2-proof .gallery img{display:block;width:100%;height:auto;max-width:100%;border-radius:16px}
.course-detail-v2-comparison> .wrap>h2,
.course-detail-v2-related> .wrap>h2{margin:0 0 24px;line-height:1.25}
.course-detail-v2-comparison .course-grid,
.course-detail-v2-related .course-grid{
  width:100%;
  max-width:100%;
  min-width:0;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
}
.course-detail-v2-comparison .course-card,
.course-detail-v2-related .course-card{
  display:flex;
  width:auto;
  max-width:100%;
  min-width:0;
  height:auto;
  min-height:0;
  flex-direction:column;
  padding:25px;
  overflow:hidden;
}
.course-detail-v2-comparison .course-card h3,
.course-detail-v2-related .course-card h3{
  margin:0 0 12px;
  font-size:20px;
  line-height:1.45;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.course-detail-v2-comparison .course-card p,
.course-detail-v2-related .course-card p{
  min-height:0;
  margin:0 0 18px;
  color:var(--muted);
  line-height:1.75;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.course-detail-v2-comparison .course-card a,
.course-detail-v2-related .course-card a{margin-top:auto;color:var(--red);font-weight:800;overflow-wrap:anywhere}
.course-trust-proof .section-head,
.course-trust-proof .section-head>*{min-width:0;max-width:100%}
.course-trust-proof .section-head h2,
.course-trust-proof .section-head p{white-space:normal;overflow-wrap:anywhere;word-break:break-word}
@media(max-width:900px){
  .course-detail-v2-curriculum .phase-courses{grid-template-columns:repeat(2,minmax(0,1fr))}
  .course-detail-v2-method .process{grid-template-columns:repeat(2,minmax(0,1fr))}
  .course-detail-v2-comparison .course-grid,
  .course-detail-v2-related .course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .course-detail-v2-curriculum .phase-courses,
  .course-detail-v2-method .process,
  .course-detail-v2-proof .gallery,
  .course-detail-v2-comparison .course-grid,
  .course-detail-v2-related .course-grid{grid-template-columns:minmax(0,1fr)}
  .course-detail-v2-comparison .course-card,
  .course-detail-v2-related .course-card{padding:21px 19px}
  .course-detail-v2-curriculum .phase-course-item{padding:19px 17px}
  .course-detail-v2-comparison .course-card h3,
  .course-detail-v2-related .course-card h3{font-size:18px}
}

/* V4.2-010-005 course detail teacher area: one source, natural height. */
.course-teachers{
  overflow-x:clip;
}
.course-teachers .wrap,
.course-teachers .section-head,
.course-teachers .relation-teacher-grid,
.course-teachers .relation-teacher-card,
.course-teachers .relation-teacher-card>div{
  width:auto;
  max-width:100%;
  min-width:0;
  height:auto!important;
  min-height:0!important;
}
.course-teachers .relation-teacher-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-items:start;
  gap:18px;
}
.course-teachers .relation-teacher-card{
  display:grid;
  grid-template-columns:140px minmax(0,1fr);
  align-items:start;
  gap:24px;
  padding:22px;
  overflow:hidden;
}
.course-teachers .relation-teacher-card>img,
.course-teachers .relation-teacher-placeholder{
  width:140px;
  height:175px;
  min-height:0;
  aspect-ratio:auto;
  align-self:start;
}
.course-teachers .relation-teacher-card small,
.course-teachers .relation-teacher-card h3,
.course-teachers .relation-teacher-card p,
.course-teachers .relation-teacher-card b{
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.course-teachers .relation-teacher-card p{
  margin-bottom:12px;
}
@media(max-width:620px){
  .course-teachers .relation-teacher-card{
    grid-template-columns:96px minmax(0,1fr);
    gap:15px;
    padding:16px;
  }
  .course-teachers .relation-teacher-card>img,
  .course-teachers .relation-teacher-placeholder{
    width:96px;
    height:120px;
  }
}

/* V4.2-005 真实性内容结构 */
.course-facts-v425{background:#f7f3f0}.course-facts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.course-facts-grid article{padding:28px;border:1px solid #e4ddd7;border-radius:20px;background:#fff}.course-facts-grid h3{margin:0 0 18px}.course-facts-grid ul,.course-facts-grid ol{margin:0;padding-left:20px}.course-facts-grid li,.course-facts-grid p{margin:0 0 10px;color:#655f5b;line-height:1.8}.course-facts-grid ol li b,.course-facts-grid ol li span{display:block}.course-facts-grid ol li span{font-size:14px}.school-activity-facts{margin:28px 0;padding:24px;border-left:4px solid var(--red);border-radius:0 16px 16px 0;background:#f8f3f1}.school-activity-facts h2{margin:0 0 16px;font-size:22px}.school-activity-facts>div{display:flex;flex-wrap:wrap;gap:12px}.school-activity-facts span{padding:10px 13px;border-radius:10px;background:#fff}.school-activity-facts span b{display:block;color:var(--red);font-size:12px}.school-activity-facts p{margin:15px 0 0;line-height:1.8}.case-guidance{margin-top:32px}.case-guidance>span{color:var(--red);font-size:12px;font-weight:900;letter-spacing:.12em}.case-guidance h2{margin:8px 0 18px}
@media(max-width:820px){.course-facts-grid{grid-template-columns:1fr}}

/* V4.2-012 desktop consult and natural empty states */
@media(min-width:901px){
  .float-service.is-folded{width:52px;height:52px;padding:0;border-radius:50%;box-shadow:0 12px 34px rgba(42,27,52,.2)}
  .float-service.is-folded .float-service-close{width:52px;height:52px}
}
.case-empty h2,.case-empty h3{margin:0 0 8px;color:#28232b;font-size:22px}
.case-empty p{margin:0;color:#706a73;line-height:1.75}

/* V4.2-013：课程价值、老师与真实课堂前置，压缩模块间空白。 */
.course-detail-v2-hero{padding-bottom:54px}
.course-hero-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;overflow:hidden;max-width:1000px;margin-top:30px;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:rgba(255,255,255,.12)}
.course-hero-facts>div{padding:16px 18px;background:rgba(25,20,29,.72)}.course-hero-facts small,.course-hero-facts strong{display:block}.course-hero-facts small{margin-bottom:6px;color:#cdb8df;font-size:12px;font-weight:800;letter-spacing:.06em}.course-hero-facts strong{color:#fff;font-size:14px;line-height:1.55}
.course-detail-v2-summary,.course-teachers,.course-detail-v2-proof,.course-detail-v2-pains,.course-learning-process,.course-detail-v2-fit,.course-detail-v2-curriculum,.course-detail-v2-method,.course-detail-v2-outcomes,.course-trust-proof,.course-detail-v2-comparison,.conversion-consult,.course-detail-v2-faq,.course-detail-v2-related,.course-detail-v2-cta{padding-top:64px;padding-bottom:64px}
.course-detail-v2-summary .rich-course{gap:28px;padding:28px}.course-detail-v2-summary .course-main img{max-height:330px;object-fit:cover}
.course-teachers .section-head,.course-detail-v2-proof .section-head{margin-bottom:25px}.course-teachers .relation-teacher-card{max-width:860px}.course-teachers .relation-teacher-card p{margin-bottom:8px}
.course-detail-v2-proof .gallery{gap:16px}.course-detail-v2-proof .gallery img{aspect-ratio:4/3;object-fit:cover}.course-detail-v2-proof figcaption{padding-top:9px;color:var(--muted);font-size:13px;line-height:1.55}
.course-trust-content{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
@media(max-width:700px){.course-hero-facts{grid-template-columns:1fr}.course-detail-v2-summary,.course-teachers,.course-detail-v2-proof,.course-detail-v2-pains,.course-learning-process,.course-detail-v2-fit,.course-detail-v2-curriculum,.course-detail-v2-method,.course-detail-v2-outcomes,.course-trust-proof,.course-detail-v2-comparison,.conversion-consult,.course-detail-v2-faq,.course-detail-v2-related,.course-detail-v2-cta{padding-top:44px;padding-bottom:44px}.course-detail-v2-summary .rich-course{padding:20px}.course-hero-facts>div{padding:13px 15px}}

/* V4.2-014：真实学校、真实师资与案例过程展示。 */
.teacher-card-fact{margin:10px 0!important;padding:10px 12px;border-radius:10px;background:#f8f4fa;font-size:13px;line-height:1.65!important}.teacher-card-fact b{display:block;color:#7e4aa8;font-size:11px;letter-spacing:.06em}
.about-real-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.about-real-grid figure{overflow:hidden;margin:0;border:1px solid #e4ded9;border-radius:18px;background:#fff}.about-real-grid img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.about-real-grid figure.is-portrait img{aspect-ratio:3/4}.about-real-grid figcaption{padding:13px 15px;color:#5f5955;font-weight:750}.about-real-actions{display:flex;justify-content:center;gap:12px;margin-top:28px}
.case-achievements{border-color:#d8c6e4;background:#faf6fc}.case-guidance .relation-teacher-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:800px){.about-real-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.case-guidance .relation-teacher-grid{grid-template-columns:1fr}}
@media(max-width:560px){.about-real-grid{grid-template-columns:1fr}.about-real-grid img,.about-real-grid figure.is-portrait img{aspect-ratio:auto;max-height:72vh;object-fit:contain;background:#f2f1ef}.about-real-actions{align-items:stretch;flex-direction:column}.about-real-actions .btn{width:100%}.album-photo-title{white-space:normal}.article-cover-large.is-photo img,.article-body-images figure.is-photo img{height:auto;max-height:72vh}.article-cover-large.is-poster img,.article-body-images figure.is-poster img{height:68vh}}
