/* 由页面样式外提生成：内容为站点模板/页面局部样式，文件名取内容哈希，可长期强缓存 */
.sn-section-title h2::after { background:var(--accent); width:56px; height:4px; }
  .sn-stats { background:linear-gradient(135deg,#0c3a33 0%,#115e52 100%); border-top:3px solid var(--accent); }
  .sn-stats .num { color:#f3e9d4; }
  .sn-hero { padding:72px 0 64px; }
  .sn-hero .sub { color:#e8f1ee; }
  .sn-btn { color:var(--primary-dark); background:#f3e9d4; }
  .sn-cta .sn-btn { background:#f3e9d4; color:var(--primary-dark); }
  .sn-feature-card h3 { color:var(--primary-dark); }
  .sn-feature-card:hover { border-color:var(--accent); }
  .sn-about-content h3 { color:var(--primary-dark); }
  .sn-specs-table th { background:#f4f3ee; color:var(--primary-dark); }
  /* 6 个服务模块排成整齐 3 列，产品网格自动填满行（避开空列） */
  .sn-features { grid-template-columns:repeat(3,1fr); }
  .sn-products { grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); }
  /* 锚点导航补偿 */
  #about, #contact { scroll-margin-top:84px; }
  /* ===== 课程方案 / 学习收获 / 全套课程大纲（新版块，沿用墨绿+金变量）===== */
  .gp-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
  .gp-plan { display:flex; flex-direction:column; background:#fff; border:1px solid var(--border); border-radius:14px; overflow:hidden; transition:transform .2s,box-shadow .2s,border-color .2s; }
  .gp-plan:hover { transform:translateY(-5px); box-shadow:0 14px 30px rgba(12,58,51,.14); border-color:var(--accent); }
  .gp-plan-top { background:linear-gradient(135deg,var(--primary-dark),var(--primary)); color:#fff; padding:18px 20px; }
  .gp-plan-top .gp-step { font-size:.78em; letter-spacing:.6px; color:#f3e9d4; opacity:.92; }
  /* 标题带预留两行高，否则单行标题的卡（如《GEO优化实战训练营》）会把价格行上提，四卡价格不同线 */
  .gp-plan-top h3 { margin:7px 0 0; font-size:1em; line-height:1.45; font-weight:700; min-height:2.9em; }
  .gp-plan-price { display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; padding:16px 20px; border-bottom:1px dashed var(--border); }
  .gp-plan-price .now { font-size:1.5em; font-weight:800; color:var(--primary-dark); }
  .gp-plan-price .was { font-size:.9em; color:#9ca3af; text-decoration:line-through; }
  .gp-plan-price .save { font-size:.78em; font-weight:700; color:var(--accent); background:#f4f3ee; border-radius:6px; padding:3px 8px; }
  .gp-plan-body { flex:1; padding:14px 20px 4px; }
  .gp-plan-body ul { list-style:none; margin:0; padding:0; }
  .gp-plan-body li { position:relative; padding:8px 0 8px 24px; margin:0; font-size:.92em; color:#374151; border-bottom:1px solid #f3f4f6; }
  .gp-plan-body li:last-child { border-bottom:none; }
  .gp-plan-body li.yes::before { content:'✓'; position:absolute; left:0; top:8px; color:var(--primary); font-weight:700; }
  .gp-plan-body li.no::before { content:'－'; position:absolute; left:0; top:8px; color:#9ca3af; font-weight:700; }
  .gp-plan-foot { padding:6px 20px 20px; }
  .gp-plan-foot .sn-btn-ghost { display:block; text-align:center; padding:11px 0; font-size:.95em; }
  .gp-corp { margin-top:22px; display:flex; gap:16px; align-items:center; flex-wrap:wrap; justify-content:space-between; background:var(--primary-light); border:1px solid var(--border); border-left:4px solid var(--accent); border-radius:12px; padding:20px 24px; }
  .gp-corp h3 { margin:0 0 6px; font-size:1.05em; color:var(--primary-dark); }
  .gp-corp p { margin:0; font-size:.92em; color:#374151; max-width:760px; }
  .gp-note { text-align:center; color:#6b7280; font-size:.9em; margin:20px 0 0; }
  .gp-gain { position:relative; background:#fff; border:1px solid var(--border); border-radius:14px; padding:26px 22px; transition:transform .2s,box-shadow .2s,border-color .2s; }
  .gp-gain:hover { transform:translateY(-5px); box-shadow:0 12px 28px rgba(12,58,51,.1); border-color:var(--accent); }
  .gp-gain .gp-no { font-size:.85em; font-weight:800; letter-spacing:1px; color:var(--accent); }
  .gp-gain h4 { margin:9px 0 8px; font-size:1.05em; color:var(--primary-dark); }
  .gp-gain p { margin:0; font-size:.93em; color:var(--text-light); }
  .gp-course { counter-reset:gpl; background:#fff; border:1px solid var(--border); border-radius:14px; padding:26px 24px; margin-bottom:22px; }
  .gp-course > h3 { margin:0 0 4px; font-size:1.15em; color:var(--primary-dark); }
  .gp-course > h3 a { font-size:.72em; font-weight:600; margin-left:10px; }
  .gp-course-sub { margin:0 0 18px; padding-bottom:14px; border-bottom:1px solid var(--border); font-size:.92em; color:var(--text-light); }
  .gp-module { margin-bottom:18px; }
  .gp-module:last-child { margin-bottom:0; }
  .gp-module-title { margin-bottom:10px; font-weight:700; font-size:.98em; color:var(--primary); }
  /* 序号在课程盒内连续计数（与商城课时节号一致），不每个模块重新从 1 开始 */
  .gp-lessons { list-style:none; display:grid; grid-template-columns:repeat(2,1fr); gap:8px 14px; margin:0; padding:0; }
  .gp-lessons li { counter-increment:gpl; position:relative; background:#f8fafc; border:1px solid var(--border); border-radius:8px; padding:8px 12px 8px 36px; font-size:.9em; color:#374151; }
  .gp-lessons li::before { content:counter(gpl) '.'; position:absolute; left:12px; top:8px; font-weight:700; color:var(--primary); }
  .gp-lessons li.free::after { content:'可试看'; margin-left:8px; font-size:.82em; color:var(--accent); }
  /* 首页导航现共 11 项（9 项菜单 + GEO教程/知识库 两个下拉），默认下 brand+menu 超出 1180 容器会折成两行，
     宽屏收紧一项内边距与间距把它压回单行（仅本首页局部覆盖，不影响其他 500+ 分站）*/
  @media (min-width:1100px) {
    .sn-nav .container { gap:10px; }
    .sn-nav-menu { gap:0; }
    .sn-nav-item > a { padding:10px 9px; }
    .sn-nav .brand { font-size:1.2em; }
  }
  /* 导航末尾两个下拉（GEO教程 / 知识库）贴右边，它们的三级菜单原向右飘会顶出视口并带出横向滚动条（visibility:hidden 仍计入溢出），改为向左开 */
  .sn-nav-item:nth-last-child(-n+2) > .sub-menu .sub-fly { left:auto; right:100%; }
  /* 同一原因：二级面板默认 left:0 + min-width:190，锁定在靠右的导航项上时 1360px 以下会探出视口，改成右对齐 */
  .sn-nav-item:nth-last-child(-n+2) > .sub-menu { left:auto; right:0; }
  @media (min-width:769px) and (max-width:1200px) {
    .sn-features { grid-template-columns:repeat(2,1fr); }
    .gp-grid, .gp-gains { grid-template-columns:repeat(2,1fr); }
  }
  @media (max-width:768px) {
    .sn-features { grid-template-columns:1fr; }
    .gp-grid, .gp-gains, .gp-lessons { grid-template-columns:1fr; }
    .gp-course { padding:20px 16px; }
    /* 移动端导航已由全局 getBaseStyles 的纯 CSS 汉堡抽屉接管，本页不再做局部覆盖 */
  }
