/* =========================================================
   六翼教育官网 - 共享样式表 (site.css)
   六翼教育官网全站静态克隆 · 自主品牌
   视觉口径：对标模池 ModelPool（大陆版）
   浅色渐变 + 品牌蓝 + 蜜桃暖色 + 暖白底 + Noto Sans SC
   ========================================================= */
:root {
  /* ===== 六翼品牌色板（对标模池） ===== */
  --sw-blue: #2d65d7;          /* 品牌蓝 */
  --sw-blue-light: #2f74ff;    /* 主渐变起色 */
  --sw-cyan: #1fc8ff;          /* 主渐变止色 */
  --sw-peach: #ef8d6d;         /* 蜜桃暖色（点缀） */
  --sw-orange: #f97316;        /* 暖橙（内测/警示，模池同源） */
  --sw-orange-light: #fb923c;
  --sw-red: #dc2626;
  --sw-indigo: #6366f1;
  --sw-purple: #8b5cf6;
  --sw-ink: #0f172a;           /* 深空主色 */
  --sw-ink-2: #1e293b;
  --sw-slate: #334155;
  --sw-gray-500: #64748b;
  --sw-gray-400: #94a3b8;
  --sw-gray-300: #cbd5e1;
  --sw-gray-200: #e2e8f0;
  --sw-gray-100: #f1f5f9;
  --sw-gray-50: #f8fafc;
  --sw-bg: #ffffff;
  /* 主按钮/CTA：模池蓝渐变（替代旧橙红渐变） */
  --sw-grad: linear-gradient(90deg, #2f74ff 0%, #1fc8ff 100%);
  --sw-grad-soft: linear-gradient(135deg, rgba(45,101,215,.10), rgba(31,200,255,.08));
  --sw-grad-space: linear-gradient(135deg, #1e1b4b, #312e81 45%, #4c1d95);
  /* 浅色 hero：模池暖白渐变 */
  --sw-grad-space-light: linear-gradient(135deg, #f3ebe3 0%, #fcfaf7 50%, #f2f6fd 100%);
  /* 标题渐变：深字→品牌蓝→蜜桃 */
  --sw-grad-text: linear-gradient(120deg, #15233c, #2d65d7 48%, #ef8d6d);
  --sw-shadow: 0 10px 30px -12px rgba(15,23,42,.18);
  --sw-shadow-sm: 0 2px 8px -2px rgba(15,23,42,.10);
  --sw-radius: 20px;
  --sw-radius-lg: 26px;
  /* 字体：Noto Sans SC 打头（与模池一致） */
  --sw-font: "Noto Sans SC", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", Roboto, Arial, sans-serif;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-family: var(--sw-font); color: var(--sw-ink); background: var(--sw-bg); line-height: 1.6; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; border: none; background: none; }
input, select, textarea { font-family: inherit; }
ul, ol { list-style: none; }
h1,h2,h3,h4,h5 { line-height: 1.25; font-weight: 700; }
::selection { background: rgba(45,101,215,.22); }

/* ---------------- 布局容器 ---------------- */
.sw-container { max-width: 1180px; margin: 0 auto; padding: 0 24px; }
.sw-section { padding: 72px 0; }
.sw-section--gray { background: var(--sw-gray-50); }
.sw-section--dark { background: var(--sw-ink); color: #e2e8f0; }
.sw-center { text-align: center; }

/* ---------------- 顶部导航 ---------------- */
.sw-nav { position: fixed; top: 0; left: 0; right: 0; z-index: 90; transition: background .3s, box-shadow .3s; }
.sw-nav .sw-nav-inner { display: flex; align-items: center; justify-content: space-between; height: 72px; }
.sw-nav.is-scrolled { background: rgba(255,255,255,.92); backdrop-filter: blur(10px); box-shadow: 0 1px 0 var(--sw-gray-200); }
.sw-nav.is-scrolled .sw-nav-link, .sw-nav.is-scrolled .sw-brand-name { color: var(--sw-ink); }
.sw-brand { display: flex; align-items: center; gap: 10px; }
.sw-brand img { width: 42px; height: 42px; }
.sw-brand-name { font-size: 20px; font-weight: 800; letter-spacing: .5px; transition: color .3s; }
.sw-brand-name em { font-style: normal; background: var(--sw-grad-text); -webkit-background-clip: text; background-clip: text; color: transparent; }
.sw-nav-links { display: flex; align-items: center; gap: 4px; margin-right: 6px; }
.sw-nav-link { padding: 8px 11px; border-radius: 10px; font-size: 14px; font-weight: 500; color: #334155; transition: all .2s; }
.sw-nav-link:hover { color: var(--sw-blue); background: rgba(45,101,215,.08); }
.sw-nav-link.is-active { color: var(--sw-blue); background: rgba(45,101,215,.12); font-weight: 600; }
.sw-nav-right { display: flex; align-items: center; gap: 10px; }
.sw-nav-user { display: flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 999px; background: rgba(255,255,255,.9); border: 1px solid var(--sw-gray-200); font-size: 14px; font-weight: 600; cursor: pointer; }
.sw-nav-user .dot { width: 26px; height: 26px; border-radius: 50%; background: var(--sw-grad); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 13px; }
.sw-nav-hamburger { display: none; flex-direction: column; gap: 5px; padding: 8px; }
.sw-nav-hamburger span { width: 22px; height: 2px; background: currentColor; border-radius: 2px; transition: .3s; }

/* 移动端菜单 */
.sw-mobile-menu { display: none; position: fixed; inset: 0; z-index: 120; background: rgba(15,23,42,.5); backdrop-filter: blur(4px); }
.sw-mobile-menu.open { display: block; }
.sw-mobile-menu-inner { position: absolute; top: 0; right: 0; bottom: 0; width: 300px; background: #fff; padding: 24px; overflow-y: auto; box-shadow: -10px 0 40px rgba(0,0,0,.15); }
.sw-mobile-menu-inner a { display: block; padding: 14px 10px; font-size: 17px; font-weight: 600; border-bottom: 1px solid var(--sw-gray-100); }

/* ---------------- 按钮 ---------------- */
.sw-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 26px; border-radius: 999px; font-size: 15px; font-weight: 700; transition: all .25s; }
.sw-btn--grad { background: var(--sw-grad); color: #fff; box-shadow: 0 8px 20px -8px rgba(35,144,255,.45); }
.sw-btn--grad:hover { transform: translateY(-1px); box-shadow: 0 12px 26px -8px rgba(35,144,255,.5); }
.sw-btn--ghost { border: 1.5px solid var(--sw-gray-300); color: var(--sw-ink); background: #fff; }
.sw-btn--ghost:hover { border-color: var(--sw-blue); color: var(--sw-blue); }
.sw-btn--white { background: #fff; color: var(--sw-ink); }
.sw-btn--white:hover { transform: translateY(-1px); box-shadow: var(--sw-shadow-sm); }
.sw-btn--lg { padding: 15px 34px; font-size: 16px; }
.sw-btn--sm { padding: 8px 18px; font-size: 13px; }

/* ---------------- 胶囊标签 ---------------- */
.sw-badge { display: inline-flex; align-items: center; gap: 6px; padding: 6px 14px; border-radius: 999px; font-size: 13px; font-weight: 600; }
.sw-badge--orange { background: rgba(239,141,107,.14); color: #d9684a; }
.sw-badge--indigo { background: rgba(99,102,241,.1); color: var(--sw-indigo); }
.sw-badge--purple { background: rgba(139,92,246,.1); color: var(--sw-purple); }
.sw-badge--gray { background: var(--sw-gray-100); color: var(--sw-slate); }
.sw-badge--dot::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }

/* ---------------- Hero 横幅 ---------------- */
.sw-hero { padding: 150px 0 96px; position: relative; overflow: hidden; }
/* V2.0 · 全站 Hero 明暗统一：暖白底 + 克制浅色光晕（对标模池） */
.sw-hero--grad,
.sw-hero--space,
.sw-hero--orange-blue { background: var(--sw-grad-space-light); color: var(--sw-ink); }
.sw-hero--grad .sw-hero-title,
.sw-hero--space .sw-hero-title,
.sw-hero--orange-blue .sw-hero-title,
.sw-hero--grad .sw-hero-sub,
.sw-hero--space .sw-hero-sub,
.sw-hero--orange-blue .sw-hero-sub { color: var(--sw-ink); }
.sw-hero--grad .sw-hero-badge,
.sw-hero--space .sw-hero-badge,
.sw-hero--orange-blue .sw-hero-badge { background: rgba(45,101,215,.10); color: #2d65d7; }
/* Hero 主按钮：模池蓝渐变（副按钮保持描边） */
.sw-hero--grad .sw-btn--white,
.sw-hero--space .sw-btn--white,
.sw-hero--orange-blue .sw-btn--white {
  background: var(--sw-grad);
  color: #fff;
  border: none;
  box-shadow: 0 10px 22px rgba(35,144,255,.28);
}
.sw-hero--grad .sw-btn--white:hover,
.sw-hero--space .sw-btn--white:hover,
.sw-hero--orange-blue .sw-btn--white:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(35,144,255,.36);
}
.sw-hero-inner { display: flex; align-items: center; gap: 56px; }
.sw-hero-inner--center { flex-direction: column; text-align: center; gap: 20px; }
.sw-hero-badge { display: inline-flex; align-items: center; gap: 8px; padding: 7px 16px; border-radius: 999px; background: rgba(255,255,255,.18); font-size: 13px; font-weight: 600; backdrop-filter: blur(4px); }
.sw-hero-title { font-size: 52px; font-weight: 800; line-height: 1.15; letter-spacing: .5px; }
.sw-hero-title .grad { background: var(--sw-grad-text); -webkit-background-clip: text; background-clip: text; color: transparent; }
.sw-hero-sub { font-size: 18px; opacity: .92; max-width: 620px; }
.sw-hero-cta { display: flex; gap: 14px; margin-top: 8px; flex-wrap: wrap; }
.sw-hero-stats { display: flex; gap: 40px; margin-top: 36px; }
.sw-hero-stat b { font-size: 30px; font-weight: 800; display: block; }
.sw-hero-stat span { font-size: 14px; opacity: .85; }
.sw-hero-media { flex: 1; min-width: 0; }
.sw-hero-media img { border-radius: 24px; box-shadow: 0 30px 60px -20px rgba(0,0,0,.35); }
.sw-hero-floating { position: absolute; padding: 12px 18px; background: rgba(255,255,255,.95); color: var(--sw-ink); border-radius: 14px; box-shadow: var(--sw-shadow); font-size: 14px; font-weight: 700; }
@media (max-width: 900px) {
  .sw-hero { padding: 120px 0 72px; }
  .sw-hero-inner { flex-direction: column; gap: 32px; }
  .sw-hero-title { font-size: 36px; }
  .sw-hero-stats { gap: 24px; flex-wrap: wrap; }
}

/* ---------------- 区块标题 ---------------- */
.sw-heading { text-align: center; max-width: 720px; margin: 0 auto 52px; }
.sw-heading--left { text-align: left; margin: 0 0 36px; }
.sw-heading .sw-heading-tag { margin-bottom: 14px; }
.sw-heading h2 { font-size: 38px; font-weight: 800; letter-spacing: .3px; }
.sw-heading p { margin-top: 16px; font-size: 17px; color: var(--sw-slate); }
.sw-heading--light p { color: #cbd5e1; }
@media (max-width: 760px) { .sw-heading h2 { font-size: 28px; } }

/* ---------------- 卡片网格 ---------------- */
.sw-grid { display: grid; gap: 24px; }
.sw-grid--2 { grid-template-columns: repeat(2, 1fr); }
.sw-grid--3 { grid-template-columns: repeat(3, 1fr); }
.sw-grid--4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 900px) { .sw-grid--3, .sw-grid--4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .sw-grid--2, .sw-grid--3, .sw-grid--4 { grid-template-columns: 1fr; } }

.sw-card { background: #fff; border-radius: var(--sw-radius); padding: 28px; box-shadow: var(--sw-shadow-sm); border: 1px solid var(--sw-gray-100); transition: transform .25s, box-shadow .25s; }
.sw-card:hover { transform: translateY(-4px); box-shadow: var(--sw-shadow); }
.sw-card .sw-card-icon { width: 52px; height: 52px; border-radius: 14px; display: flex; align-items: center; justify-content: center; font-size: 26px; margin-bottom: 18px; }
.sw-card h3 { font-size: 19px; margin-bottom: 10px; }
.sw-card p { color: var(--sw-slate); font-size: 15px; }
.sw-card ul.sw-tick { margin-top: 14px; }
.sw-card ul.sw-tick li { display: flex; gap: 8px; align-items: flex-start; font-size: 14px; color: var(--sw-slate); padding: 5px 0; }
.sw-card ul.sw-tick li::before { content: "✓"; color: var(--sw-blue); font-weight: 800; flex-shrink: 0; }
.sw-card--grad { background: var(--sw-grad); color: #fff; border: none; }
.sw-card--grad p, .sw-card--grad h3 { color: #fff; }
.sw-card--dark { background: var(--sw-ink-2); color: #e2e8f0; border-color: var(--sw-ink-2); }
.sw-card--dark p { color: #94a3b8; }
.sw-card--shop { background: linear-gradient(160deg, #fff, #fff 60%, #fff7ed); border-color: #ffedd5; border-radius: 20px; box-shadow: 0 12px 30px -14px rgba(120,53,15,.18); position: relative; overflow: hidden; }
.sw-card--shop:hover { transform: translateY(-4px); box-shadow: 0 18px 40px -14px rgba(120,53,15,.24); }
.sw-card--shop::before { content: ""; position: absolute; right: -60px; top: -60px; width: 180px; height: 180px; border-radius: 50%; background: rgba(249,115,22,.10); filter: blur(30px); pointer-events: none; }

/* 图标底色 */
.sw-ic-orange { background: var(--sw-grad-soft); }
.sw-ic-indigo { background: rgba(99,102,241,.1); }
.sw-ic-purple { background: rgba(139,92,246,.1); }
.sw-ic-green { background: rgba(16,185,129,.1); }
.sw-ic-sky { background: rgba(14,165,233,.1); }

/* ---------------- 对比表 ---------------- */
.sw-table-wrap { overflow-x: auto; border-radius: var(--sw-radius); box-shadow: var(--sw-shadow-sm); border: 1px solid var(--sw-gray-100); }
.sw-table { width: 100%; border-collapse: collapse; background: #fff; min-width: 640px; }
.sw-table th, .sw-table td { padding: 16px 20px; text-align: left; border-bottom: 1px solid var(--sw-gray-100); font-size: 15px; }
.sw-table th { background: var(--sw-gray-50); font-weight: 700; font-size: 14px; color: var(--sw-slate); }
.sw-table tr:last-child td { border-bottom: none; }
.sw-table .col-highlight { background: var(--sw-grad-soft); font-weight: 600; }
.sw-table .check { color: var(--sw-blue); font-weight: 800; }
.sw-table .cross { color: var(--sw-gray-400); }

/* ---------------- FAQ 折叠 ---------------- */
.sw-faq-item { border: 1px solid var(--sw-gray-200); border-radius: 16px; margin-bottom: 12px; background: #fff; overflow: hidden; }
.sw-faq-q { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 22px; font-size: 16px; font-weight: 600; text-align: left; color: var(--sw-ink); }
.sw-faq-q .chev { transition: transform .3s; color: var(--sw-blue); flex-shrink: 0; }
.sw-faq-item.open .sw-faq-q .chev { transform: rotate(180deg); }
.sw-faq-a { display: none; padding: 0 22px 20px; color: var(--sw-slate); font-size: 15px; }
.sw-faq-item.open .sw-faq-a { display: block; }

/* ---------------- CTA 横幅 ---------------- */
.sw-cta { border-radius: var(--sw-radius-lg); background: var(--sw-grad); color: #fff; text-align: center; padding: 64px 40px; position: relative; overflow: hidden; }
.sw-cta h2 { font-size: 34px; margin-bottom: 12px; }
.sw-cta p { opacity: .9; max-width: 560px; margin: 0 auto 26px; }
.sw-cta::before { content: ""; position: absolute; width: 300px; height: 300px; border-radius: 50%; background: rgba(255,255,255,.10); top: -120px; right: -80px; }
.sw-cta::after { content: ""; position: absolute; width: 220px; height: 220px; border-radius: 50%; background: rgba(255,255,255,.07); bottom: -90px; left: -60px; }

/* ---------------- 页脚（2026-08-17 高端化重设计：4 栏均衡 + 六翼 2×3 编号网格） ----------------
   设计要点：品牌栏含简介+已核实联系方式；六翼成长体系为视觉主角，总览横贯 + 壹~陆 2×3
   编号网格（移动端恒保 2 列不回单列）；暖橙仅作编号与悬停单点强调，整体纯灰阶留白分层。 */
/* 2026-08-17 用户拍板：页脚底纹调亮（#020617 → #1e293b），最暗小字同步提亮保可读（对比度≥4.5） */
.sw-footer { background: #1e293b; color: #94a3b8; padding: 72px 0 32px; position: relative; }
/* 页脚顶部 1px 暖橙渐变发丝线（杂志栏目线质感） */
.sw-footer::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, rgba(239,141,109,.4), rgba(239,141,109,.08) 45%, transparent 85%); }
.sw-footer-main { display: grid; grid-template-columns: 2.2fr 3fr 1.4fr 1.2fr; gap: 48px; }
.sw-footer .sw-brand img { width: 46px; height: 46px; }
.sw-footer .sw-brand-name { color: #fff; }
.sw-footer-about { margin: 18px 0 0; max-width: 300px; font-size: 14px; line-height: 1.9; color: #8b96ad; }
.sw-footer-contact { margin-top: 24px; display: grid; gap: 9px; font-size: 13px; color: #9aa5b9; }
.sw-footer-contact b { color: #e2e8f0; font-weight: 600; }
.sw-footer-col h4 { margin: 0 0 18px; font-size: 12.5px; font-weight: 700; letter-spacing: .26em; color: #8b96ad; display: flex; align-items: center; gap: 10px; }
.sw-footer-col h4::before { content: ""; width: 2px; height: 13px; border-radius: 2px; background: var(--sw-peach); opacity: .95; }
.sw-footer-col a { display: block; padding: 5px 0; font-size: 14px; color: #b8c2d4; transition: color .2s, transform .2s; }
.sw-footer-col a:hover { color: #fff; transform: translateX(3px); }
.sw-footer-overview { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 12px; font-size: 13.5px; font-weight: 600; color: #e2e8f0; }
.sw-footer-overview:hover { color: var(--sw-peach); transform: none; }
.sw-footer-overview .arr { color: var(--sw-peach); }
.sw-wings-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 4px 28px; }
.sw-wings-grid a { display: flex; align-items: center; gap: 10px; padding: 5px 0; font-size: 13.5px; color: #b8c2d4; white-space: nowrap; }
.sw-wings-grid a:hover { color: var(--sw-peach); }
.sw-wings-grid .wing-n { min-width: 1.5em; font-size: 12px; font-weight: 700; color: var(--sw-peach); }
.sw-footer-bottom { margin-top: 52px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.08); display: flex; justify-content: space-between; align-items: center; gap: 16px; font-size: 12.5px; color: #8b96ad; flex-wrap: wrap; }
.sw-footer-bottom .sw-footer-site { color: #94a3b8; }
.sw-footer-bottom a { color: #cbd5e1; }
/* 公安备案：图标在左、编号在右，二者垂直居中对齐（2026-10-08 对齐官方要求，复刻另两站样式） */
.sw-footer-bottom .sw-footer-beian { display: inline-flex; align-items: center; gap: 6px; }
.sw-footer-bottom .sw-footer-beian img { display: block; height: 20px; width: 20px; flex: none; }
/* 六翼生态版图（2026-08-17 用户拍板：母品牌 + 子公司全称，高大上排版）。
   居中构图：暖橙发丝短线 → 品牌名（宽字距）→ 英文小标（宽字距）→ 全称横排/竖排。 */
.sw-eco { margin-top: 48px; padding: 44px 0 0; border-top: 1px solid rgba(255,255,255,.07); text-align: center; }
.sw-eco-rule { display: inline-block; width: 46px; height: 2px; border-radius: 2px; background: linear-gradient(90deg, var(--sw-peach), rgba(239,141,109,.22)); }
.sw-eco-title { margin: 20px 0 0; font-size: 24px; font-weight: 700; letter-spacing: .22em; text-indent: .22em; color: #eef2f8; }
.sw-eco-sub { margin: 12px 0 0; font-size: 11px; letter-spacing: .42em; text-indent: .42em; text-transform: uppercase; color: #8b96ad; }
.sw-eco-list { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 14px 34px; margin: 30px 0 0; }
.sw-eco-list span { font-size: 15px; letter-spacing: .06em; color: #b8c2d4; }
.sw-eco + .sw-footer-bottom { margin-top: 44px; }

@media (max-width: 1000px) {
  .sw-footer-main { grid-template-columns: repeat(2, 1fr); gap: 40px 32px; }
  .sw-footer-brand, .sw-footer-col--wings { grid-column: span 2; }
  .sw-wings-grid { gap: 4px 24px; }
}
@media (max-width: 520px) {
  .sw-footer { padding: 56px 0 28px; }
  .sw-footer-main { grid-template-columns: 1fr; gap: 34px; }
  .sw-footer-brand, .sw-footer-col--wings { grid-column: span 1; }
  .sw-wings-grid a { font-size: 13px; gap: 8px; }
  .sw-footer-bottom { justify-content: center; text-align: center; }
  .sw-eco { margin-top: 34px; padding-top: 32px; }
  .sw-eco-title { font-size: 20px; letter-spacing: .16em; text-indent: .16em; }
  .sw-eco-sub { letter-spacing: .34em; text-indent: .34em; }
  .sw-eco-list { flex-direction: column; gap: 12px; margin: 24px 0 0; }
  .sw-eco-list span { font-size: 14px; }
}

/* ---------------- 工作台布局 ---------------- */
.sw-console { display: flex; min-height: calc(100vh - 72px); padding-top: 72px; background: var(--sw-gray-50); }
.sw-sidebar { width: 228px; flex-shrink: 0; background: #fff; border-right: 1px solid var(--sw-gray-200); padding: 20px 12px; display: flex; flex-direction: column; }
.sw-sidebar-user { display: flex; align-items: center; gap: 10px; padding: 12px; border-radius: 14px; background: var(--sw-gray-50); margin-bottom: 8px; }
.sw-sidebar-user .dot { width: 36px; height: 36px; border-radius: 50%; background: var(--sw-grad); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; }
.sw-sidebar-user b { font-size: 14px; display: block; }
.sw-sidebar-user span { font-size: 12px; color: var(--sw-gray-500); }
.sw-sidebar .sw-login-lock { display: flex; align-items: center; gap: 10px; padding: 12px; border-radius: 14px; background: var(--sw-gray-50); margin-bottom: 8px; font-size: 14px; }
.sw-sidebar-link { display: flex; align-items: center; gap: 10px; padding: 11px 12px; border-radius: 12px; font-size: 14px; font-weight: 500; color: var(--sw-slate); transition: all .2s; }
.sw-sidebar-link:hover { background: var(--sw-gray-50); color: var(--sw-ink); }
.sw-sidebar-link.is-active { background: rgba(45,101,215,.08); color: var(--sw-blue); font-weight: 700; }
.sw-sidebar-link .ico { width: 20px; text-align: center; }
.sw-sidebar-foot { margin-top: auto; padding-top: 16px; border-top: 1px solid var(--sw-gray-100); }
.sw-main { flex: 1; min-width: 0; padding: 32px 40px; }
.sw-main h1 { font-size: 28px; margin-bottom: 6px; }
.sw-main .sw-sub { color: var(--sw-slate); font-size: 15px; margin-bottom: 24px; }
@media (max-width: 900px) { .sw-sidebar { width: 72px; padding: 16px 8px; } .sw-sidebar span.lab, .sw-sidebar-user div, .sw-sidebar .sw-login-lock span { display: none; } .sw-main { padding: 24px 18px; } }

/* ---------------- 工作台数据卡 ---------------- */
.sw-stat-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; margin-bottom: 24px; }
@media (max-width: 600px) { .sw-stat-grid { grid-template-columns: 1fr; } }
.sw-stat { background: #fff; border-radius: 16px; padding: 22px; box-shadow: var(--sw-shadow-sm); border: 1px solid var(--sw-gray-100); }
.sw-stat .k { font-size: 13px; color: var(--sw-gray-500); display: flex; align-items: center; gap: 6px; }
.sw-stat .v { font-size: 32px; font-weight: 800; margin-top: 6px; }
.sw-stat .v small { font-size: 15px; color: var(--sw-gray-400); font-weight: 500; }
.sw-stat.is-locked .v, .sw-stat.is-locked .k { filter: blur(5px); user-select: none; }
.sw-stat .lock { color: var(--sw-gray-400); }
.sw-empty { border: 2px dashed var(--sw-gray-300); border-radius: 16px; padding: 56px 24px; text-align: center; color: var(--sw-gray-500); background: #fff; }
.sw-empty .sw-empty-icon { font-size: 40px; margin-bottom: 12px; }
.sw-empty b { display: block; font-size: 17px; color: var(--sw-ink); margin-bottom: 6px; }
.sw-empty p { font-size: 14px; }

/* 积分卡 */
.sw-credits-banner { background: var(--sw-grad); color: #fff; border-radius: var(--sw-radius); padding: 30px; margin-bottom: 24px; }
.sw-credits-banner .big { font-size: 44px; font-weight: 800; }
.sw-credits-pool { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 14px; margin-top: 20px; }
.sw-credits-pool div { background: rgba(255,255,255,.14); border-radius: 12px; padding: 14px; }
.sw-credits-pool b { display: block; font-size: 22px; }
.sw-credits-pool span { font-size: 12px; opacity: .85; }
.sw-progress { height: 10px; background: rgba(255,255,255,.25); border-radius: 999px; overflow: hidden; margin-top: 16px; }
.sw-progress > i { display: block; height: 100%; background: #fff; border-radius: 999px; }

/* Tab 与列表 */
.sw-tabs { display: flex; gap: 6px; border-bottom: 1px solid var(--sw-gray-200); margin-bottom: 24px; overflow-x: auto; }
.sw-tab { padding: 12px 18px; font-size: 15px; font-weight: 600; color: var(--sw-slate); border-bottom: 2.5px solid transparent; white-space: nowrap; }
.sw-tab.is-active { color: var(--sw-blue); border-color: var(--sw-blue); }
.sw-list-row { display: flex; align-items: center; gap: 16px; padding: 16px 18px; background: #fff; border: 1px solid var(--sw-gray-100); border-radius: 14px; margin-bottom: 10px; }
.sw-list-row .main { flex: 1; }
.sw-list-row .main b { display: block; font-size: 15px; }
.sw-list-row .main span { font-size: 13px; color: var(--sw-gray-500); }
.sw-list-row .sw-chip { font-size: 12px; padding: 4px 10px; border-radius: 999px; background: var(--sw-gray-100); color: var(--sw-slate); }

/* ---------------- 登录弹窗 ---------------- */
.sw-modal-mask { display: none; position: fixed; inset: 0; z-index: 200; background: rgba(15,23,42,.55); backdrop-filter: blur(4px); align-items: center; justify-content: center; padding: 20px; }
.sw-modal-mask.open { display: flex; }
.sw-modal { width: 100%; max-width: 420px; background: #fff; border-radius: 24px; padding: 28px; position: relative; animation: swPop .25s ease; }
@keyframes swPop { from { transform: scale(.96) translateY(10px); opacity: 0; } to { transform: none; opacity: 1; } }
.sw-modal .sw-modal-close { position: absolute; top: 16px; right: 16px; width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--sw-gray-400); font-size: 18px; }
.sw-modal .sw-modal-close:hover { background: var(--sw-gray-100); color: var(--sw-ink); }
.sw-modal-brand { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; }
.sw-modal-brand img { width: 40px; height: 40px; border-radius: 12px; }
.sw-modal-brand b { font-size: 17px; display: block; }
.sw-modal-brand span { font-size: 12px; color: var(--sw-blue); }
.sw-login-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; background: var(--sw-gray-100); border-radius: 14px; padding: 4px; margin-bottom: 20px; }
.sw-login-tabs button { padding: 10px; border-radius: 10px; font-size: 13px; font-weight: 600; color: var(--sw-gray-500); }
.sw-login-tabs button.is-active { background: #fff; color: var(--sw-blue); box-shadow: var(--sw-shadow-sm); }
.sw-modal h2 { font-size: 22px; margin-bottom: 4px; }
.sw-modal .sw-modal-sub { font-size: 13px; color: var(--sw-gray-500); margin-bottom: 18px; }
.sw-field { margin-bottom: 14px; }
.sw-field label { display: block; font-size: 12px; font-weight: 600; color: var(--sw-slate); margin-bottom: 6px; }
.sw-field input { width: 100%; padding: 13px 16px; border: 1px solid var(--sw-gray-200); border-radius: 14px; font-size: 15px; background: var(--sw-gray-50); outline: none; transition: all .2s; }
.sw-field input:focus { border-color: var(--sw-blue); background: #fff; box-shadow: 0 0 0 3px rgba(45,101,215,.12); }
.sw-code-row { display: flex; gap: 10px; }
.sw-code-row input { flex: 1; }
.sw-code-btn { padding: 13px 16px; border-radius: 14px; border: 1.5px solid var(--sw-blue); color: var(--sw-blue); font-size: 13px; font-weight: 700; white-space: nowrap; }
.sw-code-btn:disabled { opacity: .5; cursor: not-allowed; }
.sw-submit { width: 100%; padding: 14px; border-radius: 14px; background: var(--sw-grad); color: #fff; font-size: 15px; font-weight: 700; margin-top: 6px; }
.sw-modal-foot { margin-top: 16px; text-align: center; font-size: 12px; color: var(--sw-gray-500); }
.sw-modal-foot a { color: var(--sw-blue); }
.sw-modal-err { display: none; background: rgba(220,38,38,.08); color: #b91c1c; font-size: 13px; padding: 10px 14px; border-radius: 10px; margin-bottom: 12px; }
.sw-modal-err.show { display: block; }

/* ---------------- 杂项 ---------------- */
.sw-pill { display: inline-block; padding: 4px 12px; border-radius: 999px; font-size: 12px; font-weight: 700; }
.sw-pill--orange { background: var(--sw-grad); color: #fff; }
.sw-pill--indigo { background: rgba(99,102,241,.12); color: var(--sw-indigo); }
.sw-divider { height: 1px; background: var(--sw-gray-100); margin: 0; }
.sw-mt-8 { margin-top: 8px; } .sw-mt-16 { margin-top: 16px; } .sw-mt-24 { margin-top: 24px; } .sw-mt-40 { margin-top: 40px; }
.sw-mb-24 { margin-bottom: 24px; }
.sw-flex { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.sw-flex-between { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.sw-grad-text { background: var(--sw-grad-text); -webkit-background-clip: text; background-clip: text; color: transparent; }
.sw-num { font-variant-numeric: tabular-nums; }

/* 空态引导按钮行 */
.sw-tip-yellow { background: #fef3c7; border: 1px solid #fde68a; color: #92400e; padding: 14px 18px; border-radius: 14px; font-size: 14px; margin-bottom: 20px; }

/* ---------------- 响应式：导航 ---------------- */
@media (max-width: 1080px) {
  .sw-nav-links { display: none; }
  .sw-nav-hamburger { display: flex; }
  .sw-nav-right .sw-btn--ghost { display: inline-flex; }
  .sw-nav-user span { display: none; }
}

/* =========================================================
   V2.1 · 排版统一（CEO 2026-08-08：文案排版不协调太复杂）
   收敛 8 套平行卡片 → sw-card；统一图标底座 / 标题 / 数据行 / hero
   ========================================================= */
[id] { scroll-margin-top: 96px; }

/* 区块标题 badge 色（消除各页 inline 兜底） */
.sw-badge--green { background: rgba(16,185,129,.1); color: #059669; }
.sw-badge--blue { background: rgba(45,101,215,.1); color: #2d65d7; }

/* 卡片强调（替代内联 border-top:4px） */
.sw-card--accent-orange { border-top: 4px solid #f97316; }
.sw-card--accent-indigo { border-top: 4px solid #6366f1; }
.sw-card--accent-green { border-top: 4px solid #10b981; }
.sw-card--accent-red { border-top: 4px solid #ef4444; }
.sw-card--accent-purple { border-top: 4px solid #8b5cf6; }
.sw-card--accent-amber { border-top: 4px solid #f59e0b; }

/* 图标底座：紧凑 40px（卡片图标默认 52px 已有） */
.sw-card-icon--sm { width: 40px; height: 40px; border-radius: 10px; font-size: 20px; }
/* 巨型图标：仅 product 学段头图 */
.sw-stage-ico { width: 64px; height: 64px; border-radius: 18px; display: flex; align-items: center; justify-content: center; font-size: 32px; margin-bottom: 18px; }
/* 序号渐变底座（wings 六翼体系） */
.sw-ic-grad-orange { background: linear-gradient(135deg, rgba(249,115,22,.16), rgba(251,146,60,.10)); }
.sw-ic-grad-indigo { background: linear-gradient(135deg, rgba(99,102,241,.16), rgba(139,92,246,.10)); }
.sw-ic-grad-green { background: linear-gradient(135deg, rgba(16,185,129,.16), rgba(52,211,153,.10)); }
.sw-ic-grad-red { background: linear-gradient(135deg, rgba(220,38,38,.12), rgba(248,113,113,.08)); }
.sw-ic-grad-purple { background: linear-gradient(135deg, rgba(139,92,246,.16), rgba(192,132,252,.10)); }
.sw-ic-grad-amber { background: linear-gradient(135deg, rgba(245,158,11,.16), rgba(251,191,36,.10)); }

/* 平台数据统计行（统一 4/5 列差异，auto-fit 自适应） */
.sw-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 16px; }
.sw-stat-card { text-align: center; padding: 24px 12px; background: #fff; border: 1px solid #f1f5f9; border-radius: 20px; box-shadow: 0 2px 8px -2px rgba(15,23,42,.08); }
.sw-stat-card .ico { font-size: 24px; }
.sw-stat-card b { display: block; font-size: 26px; font-weight: 800; margin: 6px 0 2px; background: var(--sw-grad-text); -webkit-background-clip: text; background-clip: text; color: transparent; }
.sw-stat-card span { font-size: 13px; color: #64748b; }
/* 显式 5 列兜底（仅数据统计行） */
.sw-grid--5 { grid-template-columns: repeat(5, 1fr); }
@media (max-width: 900px) { .sw-grid--5 { grid-template-columns: repeat(2, 1fr); } }

/* 流程条（学习闭环 / 合作流程统一） */
.sw-flow { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 16px; }
.sw-flow .step { background: #fff; border: 1px solid #f1f5f9; border-radius: 20px; padding: 20px 16px; text-align: center; box-shadow: 0 2px 8px -2px rgba(15,23,42,.08); }
.sw-flow .step .n { width: 36px; height: 36px; border-radius: 50%; background: var(--sw-grad); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 800; margin: 0 auto 12px; font-size: 15px; }
.sw-flow .step b { display: block; font-size: 15px; margin-bottom: 6px; }
.sw-flow .step p { font-size: 13px; color: #64748b; line-height: 1.6; }

/* 渐变内容面板（wings-total / mp-banner / coop-contact / support-banner 统一） */
.sw-panel--grad { background: linear-gradient(135deg, #eef2ff, #f2f6fd 55%, #fff1f2); border: 1px solid #e2e8f0; border-radius: 26px; padding: 40px; box-shadow: var(--sw-shadow-sm); }

/* 层容器（合并 xueban / product 两套页面级 .sw-layer） */
.sw-layer { border-radius: 20px; padding: 26px; background: #fff; border: 1px solid #f1f5f9; box-shadow: 0 2px 8px -2px rgba(15,23,42,.08); }
.sw-layer-head { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; flex-wrap: wrap; }
.sw-layer-head h3 { font-size: 18px; }
.sw-layer-badge { display: inline-flex; align-items: center; gap: 6px; padding: 5px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; color: #fff; }
.sw-layer-badge--orange { background: linear-gradient(135deg, #f97316, #fb923c); }
.sw-layer-badge--blue { background: linear-gradient(135deg, #2d65d7, #2f74ff); }
.sw-layer-badge--teal { background: linear-gradient(135deg, #0d9488, #14b8a6); }
.sw-layer-badge--sky { background: linear-gradient(135deg, #0284c7, #0ea5e9); }
.sw-layer-badge--slate { background: linear-gradient(135deg, #334155, #475569); }
.sw-layer-badge--purple { background: linear-gradient(135deg, #7c3aed, #8b5cf6); }
.sw-layer-badge--green { background: linear-gradient(135deg, #059669, #10b981); }

/* 价格卡（自 index 内联迁入，pricing 复用） */
.sw-price { position: relative; }
.sw-price .tag { position: absolute; top: -12px; left: 50%; transform: translateX(-50%); white-space: nowrap; }
.sw-price .amount { font-size: 34px; font-weight: 800; margin: 6px 0 2px; }
.sw-price .amount small { font-size: 16px; color: #64748b; font-weight: 600; }
.sw-price--hot { border-color: #f97316; box-shadow: 0 14px 34px -14px rgba(249,115,22,.45); }

/* CTA 按钮行 */
.sw-cta-actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; position: relative; z-index: 1; margin-top: 8px; }

/* Hero 图文左右布局 + 浮标 + 信任徽章 */
.sw-hero--media-right .sw-hero-media { order: 2; flex: none; width: 40%; }
.sw-hero--media-right .sw-hero-copy { flex: 1; min-width: 0; }
@media (max-width: 900px) { .sw-hero--media-right .sw-hero-media { order: 0; width: 100%; } }
.sw-hero-floating small { display: block; font-weight: 400; color: #64748b; }
.sw-hero-floating b { display: block; font-size: 17px; color: #0f172a; }
.hero-trust { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 22px; font-size: 14px; color: #64748b; }
.hero-trust .ti { display: flex; align-items: center; gap: 7px; }
.hero-trust .ti::before { content: "✓"; width: 18px; height: 18px; border-radius: 50%; background: rgba(16,185,129,.15); color: #059669; font-size: 12px; font-weight: 800; display: flex; align-items: center; justify-content: center; }

/* 按钮补充 */
.sw-btn--indigo { background: linear-gradient(135deg, #6366f1, #8b5cf6); color: #fff; box-shadow: 0 8px 20px -8px rgba(99,102,241,.45); }
.sw-btn--indigo:hover { transform: translateY(-1px); box-shadow: 0 12px 26px -8px rgba(99,102,241,.5); }
.sw-btn--dark { background: #0f172a; color: #fff; }
.sw-btn--dark:hover { transform: translateY(-1px); box-shadow: var(--sw-shadow-sm); }
.sw-btn--block { width: 100%; }
.sw-btn--ghost-dark { border: 1.5px solid rgba(255,255,255,.35); color: #fff; background: transparent; }
.sw-btn--ghost-dark:hover { border-color: #fff; background: rgba(255,255,255,.08); }

/* 能力/编号前缀（S01 · 能力编号） */
.sw-code { display: inline-block; font-size: 11px; font-weight: 800; letter-spacing: .5px; color: #f97316; background: #fff7ed; border-radius: 8px; padding: 2px 8px; margin-bottom: 10px; }
.sw-code--indigo { color: #6366f1; background: #eef2ff; }

/* about 正文 */
.about-text p { margin-bottom: 16px; font-size: 16px; color: #334155; line-height: 1.9; }

/* teachers 展开条 */
.sw-expand-bar { margin-top: 16px; }

/* 法律文本版式（privacy / terms 共用） */
.sw-legal { max-width: 860px; margin: 0 auto; }
.sw-legal h2 { font-size: 22px; margin: 36px 0 12px; color: var(--sw-ink); scroll-margin-top: 96px; }
.sw-legal h3 { font-size: 18px; margin: 24px 0 10px; color: var(--sw-ink); }
.sw-legal p, .sw-legal li { font-size: 15px; color: #334155; line-height: 1.9; margin-bottom: 10px; }
.sw-legal ul, .sw-legal ol { padding-left: 22px; list-style: disc; }
.sw-legal strong { color: var(--sw-ink); }

/* V2.1 小工具（间距 / muted / 浮动定位 / 价格缩字号） */
.sw-muted { font-size: 13px; color: #64748b; }
.sw-muted-on-dark { font-size: 13px; color: #cbd5e1; }
.sw-pill-row { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 16px; }
.sw-lead { font-weight: 700; margin-bottom: 14px; }
.sw-lead--orange { color: #ea580c; }
.sw-lead--indigo { color: #a5b4fc; }
.sw-mt-20 { margin-top: 20px; }
.sw-mb-16 { margin-bottom: 16px; }
.sw-hero-floating--tl { top: -16px; left: -22px; }
.sw-hero-floating--br { bottom: -16px; right: -22px; }
.sw-hero-copy .sw-hero-title { margin: 20px 0 16px; }
.sw-hero-copy .sw-hero-cta { margin-top: 28px; }
.sw-price .amount--sm { font-size: 20px; }

/* wings 六翼详解页专属结构 */
.sw-panel--grad .flow { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 18px; }
.sw-panel--grad .flow span { background: #fff; border: 1px solid #e2e8f0; border-radius: 99px; padding: 6px 16px; font-size: 13px; font-weight: 600; color: #334155; }
.sw-flow .step span { display: block; font-size: 12px; color: #64748b; line-height: 1.6; }
.sw-card .w-solve { margin-top: 12px; background: #f8fafc; border-radius: 14px; padding: 12px 14px; font-size: 13px; color: var(--sw-slate); line-height: 1.7; }
.sw-card .w-solve b { color: var(--sw-ink); }

/* V2.1 补充：Hero 图文布局内元素 / slogan / 描述 / 大标题 */
.sw-hero-copy .sw-hero-badge { margin-bottom: 16px; display: inline-flex; }
.sw-slogan { font-weight: 600; color: var(--sw-orange); opacity: 1; margin: 16px 0 0; }
.sw-hero-desc { color: var(--sw-slate); max-width: 600px; line-height: 1.8; margin: 16px 0 0; }
.sw-title-xl { font-size: 38px; font-weight: 800; line-height: 1.2; }
.sw-hero-inner--center .sw-hero-cta { justify-content: center; }

/* 卡片内 ✓ 列表（能力/合作页共用） */
.sw-card-list { margin: 14px 0 0; list-style: none; }
.sw-card-list li { font-size: 13px; color: var(--sw-slate); margin-bottom: 7px; padding-left: 18px; position: relative; line-height: 1.6; }
.sw-card-list li::before { content: "✓"; position: absolute; left: 0; color: var(--sw-orange); font-weight: 800; }

/* =========================================================
   V3.1 · C 睿蓝视界（CEO 2026-08-08 明确要求：要 C 非 C2）
   浅色蓝紫渐变亮底 + 柔和光晕 + 科技点阵 + 白卡渐变描边
   策略：重定义 .sw-hero--space（全站唯一 hero 杠杆点）
   ========================================================= */
:root {
  /* C 品牌渐变：蓝紫为主线（保留品牌蓝 #2d65d7 基因）、蜜桃橙做暖点缀 */
  --sw-grad-main: linear-gradient(120deg, #4f6df5, #7c6cf6 55%, #a26cf6);
  --sw-grad-hot: linear-gradient(120deg, #ff8a3d, #ff6b2c);
  --sw-mono: "SF Mono", Consolas, "Cascadia Mono", monospace;
  /* C 浅色蓝紫渐变 hero 底色 */
  --sw-hero-light: linear-gradient(180deg, #f2f4ff 0%, #f7f5ff 55%, #ffffff 100%);
}

/* ---- 全站 Hero 浅色蓝紫渐变（唯一杠杆点：重定义 .sw-hero--space，15 公开页自动生效） ---- */
.sw-hero--space {
  background: var(--sw-hero-light);
  color: #0f172a;
}
.sw-hero--space > .sw-container,
.sw-hero--space .sw-hero-inner { position: relative; z-index: 1; }
/* 浅色上文字改深字 */
.sw-hero--space .sw-hero-title,
.sw-hero--space .sw-hero-sub,
.sw-hero--space .sw-hero-desc { color: #0f172a; }
.sw-hero--space .sw-hero-sub,
.sw-hero--space .sw-hero-desc { color: #4b5580; }
.sw-hero--space .sw-hero-title .grad,
.sw-hero--space .sw-hero-title .sw-grad-text,
.sw-hero--space h1 .grad { background: var(--sw-grad-main); -webkit-background-clip: text; background-clip: text; color: transparent; }
/* 浅色上 badge 改白底渐变描边 */
.sw-hero--space .sw-hero-badge { background: linear-gradient(#fff,#fff) padding-box, var(--sw-grad-main) border-box; border: 1.5px solid transparent; color: #3b55e0; font-family: var(--sw-mono); letter-spacing: .06em; box-shadow: 0 8px 22px -10px rgba(124,108,246,.4); }
/* 浅色上主按钮改 C 蓝紫渐变（副按钮改白底描边） */
.sw-hero--space .sw-btn--white,
.sw-hero--space .sw-btn--grad { background: var(--sw-grad-main); color: #fff; border: none; box-shadow: 0 18px 40px -14px rgba(124,108,246,.8); }
.sw-hero--space .sw-btn--white:hover,
.sw-hero--space .sw-btn--grad:hover { transform: translateY(-3px); box-shadow: 0 24px 50px -14px rgba(124,108,246,.9); filter: saturate(1.1); }
.sw-hero--space .sw-btn--ghost,
.sw-hero--space .sw-btn--indigo { background: #fff; color: #0f172a; border: 1px solid #e3e6fb; box-shadow: 0 10px 26px -16px rgba(16,20,58,.2); }
.sw-hero--space .sw-btn--ghost:hover,
.sw-hero--space .sw-btn--indigo:hover { color: #4f6df5; border-color: #4f6df5; transform: translateY(-3px); }
/* 浅色上 hero 浮动徽章改白浮卡 */
.sw-hero--space .sw-hero-floating { background: #fff; border: 1px solid #eceefc; color: #8b93bd; font-family: var(--sw-mono); font-size: 11px; letter-spacing: .06em; box-shadow: 0 18px 40px -16px rgba(79,84,190,.4); }
.sw-hero--space .sw-hero-floating b { color: #0f172a; font-size: 14px; }
.sw-hero--space .hero-trust { color: #6b7390; }
.sw-hero--space .hero-trust .ti::before { background: var(--sw-grad-main); }
/* 浅色上 hero media 图卡加白底渐变描边框 */
.sw-hero--space .sw-hero-media img { border-radius: 24px; border: 1px solid rgba(79,109,245,.18); box-shadow: 0 40px 80px -36px rgba(79,84,190,.45); }
/* 科技点阵（纯装饰，全站静态） */
.sw-hero--space::before {
  content: ""; position: absolute; inset: 0;
  background-image: radial-gradient(circle, rgba(79,109,245,.16) 1.5px, transparent 1.5px);
  background-size: 34px 34px; opacity: .5; pointer-events: none;
}
/* 右下角柔和蓝紫光晕（配合 .sw-c2-beam/-beam2 双光晕） */
.sw-hero--space::after {
  content: ""; position: absolute; pointer-events: none;
  bottom: -180px; left: -120px; width: 460px; height: 460px; border-radius: 50%;
  background: linear-gradient(135deg, rgba(255,138,61,.16), rgba(255,107,44,.08));
  filter: blur(64px);
}

/* ---- C 动效层（仅首页 index 使用：在 hero 内放 3 个装饰 div 复用为光晕） ---- */
.sw-c2-beam, .sw-c2-beam2, .sw-c2-scan { position: absolute; pointer-events: none; z-index: 0; }
.sw-c2-beam { width: 560px; height: 560px; border-radius: 50%; background: linear-gradient(135deg, rgba(79,109,245,.3), rgba(162,108,246,.24)); filter: blur(70px); top: -200px; right: -140px; animation: swFloat 6s ease-in-out infinite; }
.sw-c2-beam2 { width: 460px; height: 460px; border-radius: 50%; background: linear-gradient(135deg, rgba(255,138,61,.18), rgba(255,107,44,.1)); filter: blur(64px); bottom: -180px; left: -120px; animation: swFloat 7.5s ease-in-out 1s infinite; }
.sw-c2-scan { left: 0; right: 0; height: 200px; top: -160px; background: radial-gradient(ellipse at center, rgba(124,108,246,.12), transparent 70%); animation: swScan 8s ease-in-out infinite; opacity: .7; }
@keyframes swFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-18px); } }
@keyframes swScan { 0% { top: -160px; opacity: 0; } 40% { opacity: .7; } 100% { top: 130%; opacity: 0; } }

/* ---- C 浅色数据带（index 模池/能力区，类名保留 -dark 语义为样式标签） ---- */
.sw-stats--dark .sw-stat-card { background: #fff; border: 1px solid #eceefc; box-shadow: 0 16px 40px -24px rgba(79,84,190,.28); position: relative; overflow: hidden; transition: transform .3s, box-shadow .3s; }
.sw-stats--dark .sw-stat-card:hover { transform: translateY(-6px); box-shadow: 0 30px 60px -28px rgba(79,84,190,.4); }
.sw-stats--dark .sw-stat-card span { color: #6b7390; }
.sw-stats--dark .sw-stat-card b { background: var(--sw-grad-main); -webkit-background-clip: text; background-clip: text; color: transparent; font-family: var(--sw-mono); }
.sw-stats--dark .sw-stat-card .ico { color: #4f6df5; }

/* ---- C 浅色双产品卡（学伴橙 / 助教蓝紫 白卡渐变描边） ---- */
.sw-pcard { background: linear-gradient(#fff,#fff) padding-box, var(--sw-grad-main) border-box; border: 1.5px solid transparent; border-radius: 22px; padding: 36px 32px; color: #0f172a; position: relative; overflow: hidden; box-shadow: 0 30px 60px -30px rgba(79,84,190,.3); transition: transform .35s, box-shadow .35s; }
.sw-pcard::before { content: ""; position: absolute; right: -70px; top: -70px; width: 240px; height: 240px; border-radius: 50%; background: radial-gradient(circle, rgba(79,109,245,.12), transparent 70%); filter: blur(20px); pointer-events: none; }
.sw-pcard:hover { transform: translateY(-8px); box-shadow: 0 40px 80px -32px rgba(79,84,190,.45); }
.sw-pcard h3 { font-size: 22px; font-weight: 800; margin-bottom: 8px; position: relative; }
.sw-pcard .sub { font-size: 14px; font-weight: 700; margin-bottom: 16px; position: relative; }
.sw-pcard .desc { font-size: 14.5px; color: #4b5580; margin-bottom: 24px; position: relative; line-height: 1.8; }
.sw-pcard .pills { display: flex; gap: 9px; margin-bottom: 20px; position: relative; }
.sw-pcard .pills span { font-family: var(--sw-mono); font-size: 11.5px; letter-spacing: .04em; padding: 6px 13px; border-radius: 8px; border: 1px solid #e3e6fb; color: #4b5580; background: #f7f8ff; }
.sw-pcard .acts { display: flex; gap: 11px; flex-wrap: wrap; position: relative; }
.sw-pcard.o .sub { color: #ff6b2c; }
.sw-pcard.o .acts .sw-btn--grad { background: var(--sw-grad-hot); box-shadow: 0 16px 32px -12px rgba(255,107,44,.45); }
.sw-pcard.b .sub { color: #4f6df5; }
.sw-pcard .acts .sw-btn--white { background: var(--sw-grad-main); color: #fff; }
.sw-pcard .acts .sw-btn--ghost-dark { border: 1px solid #e3e6fb; color: #0f172a; background: #fff; }
.sw-pcard .acts .sw-btn--ghost-dark:hover { color: #4f6df5; border-color: #4f6df5; }

/* ---- C2 卡片渐变描边（hot 价格卡 / 重点卡） ---- */
.sw-card--gborder { border: 1.5px solid transparent; background: linear-gradient(#fff,#fff) padding-box, var(--sw-grad-main) border-box; }

/* ---- C2 卡片流光（hover 光带扫过） ---- */
.sw-card--glow { position: relative; overflow: hidden; }
.sw-card--glow::before { content: ""; position: absolute; width: 120px; height: 100%; top: 0; left: -160px; background: linear-gradient(90deg, transparent, rgba(124,108,246,.14), transparent); transform: skewX(-18deg); transition: left .7s ease; pointer-events: none; }
.sw-card--glow:hover::before { left: calc(100% + 60px); }

/* ---- C 浅色设备卡（白卡渐变描边 + 浅蓝紫 screen + 图表柱，首页 hero 产品示意） ---- */
.sw-device { position: relative; width: 356px; max-width: 100%; border-radius: 30px; background: linear-gradient(#fff,#fff) padding-box, var(--sw-grad-main) border-box; border: 2px solid transparent; padding: 12px; box-shadow: 0 60px 100px -40px rgba(79,84,190,.5); }
.sw-device .screen { border-radius: 22px; background: linear-gradient(165deg, #f5f6ff, #eef0ff); padding: 26px; min-height: 300px; position: relative; overflow: hidden; }
.sw-device .screen::before { content: ""; position: absolute; right: -40px; top: -40px; width: 180px; height: 180px; border-radius: 50%; background: rgba(124,108,246,.14); filter: blur(24px); }
.sw-device .ring { width: 12px; height: 12px; border-radius: 50%; background: var(--sw-grad-main); box-shadow: 0 0 0 5px rgba(124,108,246,.14); margin-bottom: 16px; border: none; }
.sw-device .say { font-size: 15px; font-weight: 700; color: #232a63; line-height: 1.65; margin-bottom: 20px; }
.sw-device .bars { display: flex; gap: 9px; align-items: flex-end; height: 92px; }
.sw-device .bars i { flex: 1; border-radius: 8px 8px 4px 4px; background: linear-gradient(180deg, #7c6cf6, #4f6df5); }
.sw-device .bars i:nth-child(3n) { background: linear-gradient(180deg, #ff9d5c, #ff6b2c); }
.sw-device .specs { display: flex; gap: 16px; margin-top: 20px; padding-top: 16px; border-top: 1px solid #e3e6fb; }
.sw-device .specs div { flex: 1; }
.sw-device .specs small { display: block; font-family: var(--sw-mono); font-size: 10px; color: #8b93bd; letter-spacing: .12em; }
.sw-device .specs b { font-size: 13px; color: #232a63; }

/* ---- C 浅色 CTA 横幅（蓝紫浅色渐变面板 + 点阵 + 光晕） ---- */
.sw-cta--c2 { background: linear-gradient(180deg, #f2f4ff 0%, #f7f5ff 100%); border: 1px solid #eceefc; border-radius: 28px; padding: 64px 44px; text-align: center; color: #0f172a; position: relative; overflow: hidden; }
.sw-cta--c2 h2 { font-size: clamp(26px, 3.2vw, 36px); font-weight: 900; letter-spacing: .5px; margin-bottom: 16px; position: relative; }
.sw-cta--c2 p { color: #4b5580; font-size: 15.5px; max-width: 620px; margin: 0 auto 34px; position: relative; }
.sw-cta--c2 .sw-cta-actions { position: relative; }
.sw-cta--c2 .sw-btn--white { background: var(--sw-grad-main); color: #fff; }
.sw-cta--c2 .sw-btn--white:hover { transform: translateY(-3px); box-shadow: 0 24px 50px -14px rgba(124,108,246,.9); }
.sw-cta--c2 .sw-btn--dark { border: 1px solid #e3e6fb; color: #0f172a; background: #fff; }
.sw-cta--c2 .sw-btn--dark:hover { color: #4f6df5; border-color: #4f6df5; }
.sw-cta--c2::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(circle, rgba(79,109,245,.14) 1.5px, transparent 1.5px); background-size: 34px 34px; opacity: .5; pointer-events: none; }
.sw-cta--c2::after { content: ""; position: absolute; width: 560px; height: 560px; border-radius: 50%; background: linear-gradient(135deg, rgba(79,109,245,.16), rgba(255,138,61,.12)); filter: blur(70px); bottom: -260px; left: 50%; transform: translateX(-50%); pointer-events: none; }

/* ---- C 浅色 section（双产品 / CTA 环绕浅色渐变背景） ---- */
.sw-section--space { background: linear-gradient(180deg, #f2f4ff 0%, #f7f5ff 55%, #ffffff 100%); color: #0f172a; position: relative; overflow: hidden; }
.sw-section--space .sw-heading h2 { color: #0f172a; }
.sw-section--space .sw-heading p { color: #4b5580; }
.sw-section--space .sw-heading-tag .sw-badge { background: linear-gradient(120deg, rgba(79,109,245,.1), rgba(162,108,246,.1)); color: #3b55e0; }
.sw-section--space::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(circle, rgba(79,109,245,.1) 1.5px, transparent 1.5px); background-size: 34px 34px; opacity: .4; pointer-events: none; }

/* ============================================================
   C 版首页对齐 demo-c「睿蓝视界」样板（2026-08-09）
   只新增类，不影响其他页；样式提炼自 design-demos/demo-c.html
   ============================================================ */
/* ---- 六翼体系卡（demo-c .wcard）：白卡 1px 浅边 + 顶部 4px 彩线 + SVG 图标 + 编号 + go ---- */
.sw-hp-wcard { background: #fff; border-radius: 22px; padding: 32px 28px; position: relative; overflow: hidden; border: 1px solid #eaecfb; box-shadow: 0 16px 40px -24px rgba(79,84,190,.28); transition: transform .35s, box-shadow .35s, border-color .35s; }
.sw-hp-wcard::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: var(--wc, var(--sw-grad-main)); opacity: .85; }
.sw-hp-wcard:hover { transform: translateY(-8px); box-shadow: 0 30px 60px -26px rgba(79,84,190,.4); border-color: transparent; background: linear-gradient(#fff,#fff) padding-box, var(--sw-grad-main) border-box; border: 1.5px solid transparent; }
.sw-hp-num { position: absolute; top: 22px; right: 26px; font-size: 14px; font-weight: 900; color: #8b93bd; opacity: .5; }
.sw-hp-ico { width: 56px; height: 56px; border-radius: 16px; display: grid; place-items: center; background: var(--bg, #f0f2ff); margin-bottom: 20px; border: 1px solid #e6e8fc; }
.sw-hp-ico svg { width: 28px; height: 28px; stroke: var(--c, #4f6df5); }
.sw-hp-wcard h3 { font-size: 18.5px; font-weight: 800; margin-bottom: 10px; }
.sw-hp-wcard p { font-size: 14.5px; color: #4b5580; }
.sw-hp-go { display: inline-flex; align-items: center; gap: 6px; margin-top: 16px; font-size: 13px; font-weight: 800; color: #4f6df5; }
.sw-hp-go::after { content: "\2192"; transition: transform .25s; }
.sw-hp-wcard:hover .sw-hp-go::after { transform: translateX(5px); }

/* ---- 滚动浮现（demo-c reveal 动效）---- */
.sw-hp-reveal { opacity: 0; transform: translateY(28px); transition: opacity .6s ease, transform .6s ease; }
.sw-hp-reveal.is-in { opacity: 1; transform: translateY(0); }

/* ---- 双产品区浅渐变底 / 对外赋能浅紫底（demo-c）---- */
.sw-hp-gradband { background: linear-gradient(180deg, #fbfbff 0%, #f1f3ff 100%); }
.sw-hp-lilac { background: #f6f6ff; }

/* ---- CTA 深紫渐变强调块（demo-c .cta-block）---- */
.sw-cta--brand { position: relative; background: linear-gradient(130deg, #1b2160 0%, #3a3a96 50%, #5a2e8f 100%); border-radius: 32px; padding: 64px 44px; text-align: center; color: #fff; overflow: hidden; }
.sw-cta--brand h2 { font-size: clamp(26px, 3.2vw, 36px); font-weight: 900; letter-spacing: .5px; margin-bottom: 16px; position: relative; }
.sw-cta--brand p { color: #d7d9f5; font-size: 15.5px; max-width: 620px; margin: 0 auto 34px; position: relative; }
.sw-cta--brand::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(255,255,255,.14) 1px, transparent 1px); background-size: 26px 26px; opacity: .5; }
.sw-cta--brand::after { content: ""; position: absolute; width: 500px; height: 500px; border-radius: 50%; background: radial-gradient(circle, rgba(255,138,61,.28), transparent 70%); filter: blur(60px); top: -200px; right: -100px; }
.sw-cta--brand .sw-cta-actions { position: relative; }
.sw-cta--brand .sw-btn--white { background: #fff; color: #33307a; }
.sw-cta--brand .sw-btn--white:hover { transform: translateY(-3px); }
.sw-cta--brand .sw-btn--orange { background: linear-gradient(120deg, #ff8a3d, #ff6b2c); color: #fff; box-shadow: 0 18px 40px -14px rgba(255,107,44,.7); }
.sw-cta--brand .sw-btn--orange:hover { transform: translateY(-3px); }
.sw-cta--brand .sw-btn--outline { border: 1.5px solid rgba(255,255,255,.4); color: #fff; background: transparent; }
.sw-cta--brand .sw-btn--outline:hover { background: rgba(255,255,255,.1); }

/* ---- 对齐 demo-c：badge 蓝紫渐变胶囊 / hero badge 渐变圆点 ---- */
.sw-badge--c { background: linear-gradient(120deg, rgba(79,109,245,.12), rgba(162,108,246,.12)); color: #3b55e0; }
.sw-hero-badge { display: inline-flex; align-items: center; gap: 9px; }
.sw-hero-badge-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--sw-grad-main); display: inline-block; }

/* ---- 对齐 demo-c：双产品卡 top lab 渐变胶囊 ---- */
.sw-pcard .top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; position: relative; flex-wrap: wrap; gap: 8px; }
.sw-pcard .top .lab { font-size: 12px; font-weight: 800; letter-spacing: .12em; padding: 7px 15px; border-radius: 999px; background: linear-gradient(120deg, rgba(255,138,61,.14), rgba(255,107,44,.1)); color: #ff6b2c; }
.sw-pcard.b .top .lab { background: linear-gradient(120deg, rgba(79,109,245,.12), rgba(162,108,246,.12)); color: #3b55e0; }
.sw-pcard .top small { font-size: 13px; color: #8b93bd; }

/* ---- 对齐 demo-c：对外赋能卡橙粉 SVG 图标 ---- */
.sw-card-icon.sw-ic-orange { background: linear-gradient(120deg, rgba(255,138,61,.14), rgba(255,107,44,.1)); border-color: #ffe3d2; }
.sw-card-icon.sw-ic-orange svg { width: 26px; height: 26px; stroke: #ff6b2c; }

/* ---- 对齐 demo-c：价格 hot 卡金额渐变 + 标签渐变 ---- */
.sw-price--hot .amount { background: var(--sw-grad-main); -webkit-background-clip: text; background-clip: text; color: transparent; }
.sw-price--hot .sw-pill--orange { background: var(--sw-grad-main); color: #fff; border: none; }

/* 数字滚动计数基类（JS 由 site.js swCountUp 驱动） */
.sw-count { font-variant-numeric: tabular-nums; }
