/* ===== 全局变量 ===== */
:root {
  --red: #C41E3A;
  --red-dark: #9B1830;
  --red-light: #E8354D;
  --red-bg: #FFF5F5;
  --red-border: #FFDBDD;
  --white: #FFFFFF;
  --gray-100: #F7F8FA;
  --gray-200: #E9EBEF;
  --gray-300: #C5CAD3;
  --gray-400: #8D95A3;
  --gray-500: #5C6370;
  --gray-600: #3D4452;
  --shadow-sm: 0 2px 8px rgba(0,0,0,0.06);
  --shadow-md: 0 4px 20px rgba(0,0,0,0.10);
  --shadow-lg: 0 8px 40px rgba(0,0,0,0.15);
  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-lg: 20px;
}

/* ===== 重置 ===== */
* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-family: 'PingFang SC', 'Microsoft YaHei', 'Helvetica Neue', Arial, sans-serif; color: var(--gray-600); background: var(--white); line-height: 1.7; font-size: 15px; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; }
img { max-width: 100%; }
button { cursor: pointer; border: none; font-family: inherit; }
input, select, textarea { font-family: inherit; }

/* ===== 通用 ===== */
.container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.page-section { display: none; }
.page-section.active { display: block; }
.section-wrap { padding: 60px 0; }
.section-wrap.bg-light { background: var(--gray-100); }
.section-wrap.why-us { background: linear-gradient(135deg, #FFF8F8, #FFF); }
.section-title { text-align: center; margin-bottom: 40px; }
.section-title h2 { font-size: 28px; color: var(--gray-600); font-weight: 700; margin-bottom: 8px; }
.section-title p { font-size: 15px; color: var(--gray-400); }
.section-title h2::before { content: '◆ '; color: var(--red); font-size: 20px; }
.section-title h2::after { content: ' ◆'; color: var(--red); font-size: 20px; }

/* ===== 按钮 ===== */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 10px 24px; border-radius: var(--radius-sm); font-size: 14px; font-weight: 600; transition: all 0.2s; white-space: nowrap; }
.btn-primary { background: var(--red); color: var(--white); }
.btn-primary:hover { background: var(--red-dark); transform: translateY(-1px); box-shadow: 0 4px 16px rgba(196,30,58,0.3); }
.btn-outline { background: transparent; color: var(--red); border: 2px solid var(--red); }
.btn-outline:hover { background: var(--red); color: var(--white); }
.btn-red { background: var(--red); color: var(--white); border-radius: var(--radius-sm); }
.btn-red:hover { background: var(--red-dark); }
.btn-lg { padding: 14px 36px; font-size: 16px; }
.btn-sm { padding: 8px 18px; font-size: 13px; }
.btn-block { width: 100%; margin-top: 8px; }
.required { color: var(--red); }

/* ===== 顶部导航 ===== */
.site-header { position: sticky; top: 0; z-index: 100; background: var(--white); box-shadow: 0 2px 16px rgba(0,0,0,0.06); }
.header-inner { display: flex; align-items: center; padding: 0 20px; height: 68px; max-width: 1200px; margin: 0 auto; gap: 20px; }
.logo { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.logo-img { width: 48px; height: 48px; flex-shrink: 0; }
.logo-text-block { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; line-height: 1.2; }
.logo-text { font-size: 18px; font-weight: 900; color: var(--red); letter-spacing: 1px; white-space: nowrap; }
.logo-levels { font-size: 12px; color: var(--gray-500); font-weight: 500; letter-spacing: 2px; white-space: nowrap; }
.logo-divider { width: 1px; height: 32px; background: var(--gray-300); display: inline-block; }
.logo-slogan { font-size: 13px; color: var(--gray-500); font-weight: 500; white-space: nowrap; }
.main-nav { display: flex; align-items: center; gap: 4px; flex: 1; justify-content: center; }
.nav-link { padding: 8px 16px; border-radius: var(--radius-sm); color: var(--gray-500); font-size: 15px; font-weight: 500; transition: all 0.2s; position: relative; cursor: pointer; }
.nav-link:hover { color: var(--red); background: var(--red-bg); }
.nav-link.active { color: var(--red); font-weight: 700; }
.nav-link.active::after { content: ''; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 30px; height: 3px; background: var(--red); border-radius: 2px; }
.nav-divider { width: 1px; height: 22px; background: var(--gray-300); display: inline-block; margin: 0 4px; }
.nav-link-highlight { color: var(--red) !important; font-weight: 700 !important; display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; }
.nav-link-highlight i { font-size: 12px; }
.nav-link-highlight:hover { background: var(--red) !important; color: #fff !important; }
.nav-link-highlight:hover i { color: #fff; }
.header-phone { display: none; }

/* ===== 首页左右两侧固定导航 ===== */
.side-nav { position: fixed; top: 50%; transform: translateY(-50%); z-index: 99; width: 132px; border-radius: 0 var(--radius-md) var(--radius-md) 0; box-shadow: 0 4px 20px rgba(0,0,0,0.15); overflow: hidden; font-size: 13px; }
.side-nav-left { left: 0; background: linear-gradient(180deg, #FFD700 0%, #FFA500 100%); color: #8B0000; }
.side-nav-right { right: 0; border-radius: var(--radius-md) 0 0 var(--radius-md); background: linear-gradient(180deg, #C41E3A 0%, #9B1830 100%); color: #fff; }
.side-nav-title { padding: 12px 10px; font-size: 15px; font-weight: 900; text-align: center; letter-spacing: 1px; border-bottom: 1px solid rgba(255,255,255,0.25); }
.side-nav-left .side-nav-title { border-bottom-color: rgba(255,255,255,0.35); }
.side-nav-list { display: flex; flex-direction: column; }
.side-nav-item { display: flex; align-items: center; gap: 6px; padding: 9px 10px; font-size: 12px; font-weight: 600; transition: all 0.2s; border-bottom: 1px solid rgba(255,255,255,0.12); white-space: nowrap; }
.side-nav-left .side-nav-item { color: #5A0000; }
.side-nav-right .side-nav-item { color: #fff; }
.side-nav-item:last-child { border-bottom: none; }
.side-nav-item i { font-size: 11px; width: 14px; text-align: center; }
.side-nav-left .side-nav-item:hover { background: rgba(255,255,255,0.35); }
.side-nav-right .side-nav-item:hover { background: rgba(255,255,255,0.15); }
.side-nav-countdown { padding: 10px; text-align: center; border-bottom: 1px solid rgba(255,255,255,0.2); background: rgba(0,0,0,0.12); }
.side-nav-countdown-label { font-size: 11px; font-weight: 600; margin-bottom: 4px; opacity: 0.9; line-height: 1.3; }
.side-nav-countdown-num { font-size: 12px; font-weight: 700; }
.side-nav-countdown-num span { font-size: 18px; color: #FFD700; font-weight: 900; }

/* ===== 4大服务入口 ===== */
.service-entry { background: linear-gradient(180deg, #FFF5F5 0%, #FFFFFF 100%); }
.service-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.service-card { background: #fff; border-radius: var(--radius-md); padding: 28px; display: flex; align-items: center; gap: 20px; border: 1px solid var(--gray-200); cursor: pointer; transition: all 0.3s; position: relative; overflow: hidden; }
.service-card::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--red); transform: scaleY(0); transform-origin: top; transition: transform 0.3s; }
.service-card:hover { border-color: var(--red); box-shadow: 0 8px 24px rgba(196,30,58,0.15); transform: translateY(-4px); }
.service-card:hover::before { transform: scaleY(1); }
.service-card-icon { width: 64px; height: 64px; border-radius: 16px; background: linear-gradient(135deg, var(--red), var(--red-light)); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.service-card-icon i { font-size: 28px; color: #fff; }
.service-card-info { flex: 1; }
.service-card-info h3 { font-size: 18px; font-weight: 800; color: var(--gray-600); margin-bottom: 6px; }
.service-card-info p { font-size: 13px; color: var(--gray-400); line-height: 1.6; margin-bottom: 10px; }
.service-card-tags { display: flex; gap: 6px; flex-wrap: wrap; }
.service-card-tags span { background: var(--red-bg); color: var(--red); font-size: 11px; padding: 2px 10px; border-radius: 20px; font-weight: 600; }
.service-card-arrow { font-size: 24px; color: var(--gray-300); transition: all 0.3s; }
.service-card:hover .service-card-arrow { color: var(--red); transform: translateX(4px); }

/* ===== 升学历语录/焦虑感 ===== */
.bg-dark { background: linear-gradient(135deg, #1a0000 0%, #4a0000 50%, #660000 100%) !important; color: #fff; }
.section-wrap.bg-dark .section-title h2 { color: #fff; }
.section-wrap.bg-dark .section-title h2::before, .section-wrap.bg-dark .section-title h2::after { color: #FFD700; }
.section-wrap.bg-dark .section-title p { color: rgba(255,255,255,0.75); }
.motivation-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 40px; }
.m-card { background: rgba(255,255,255,0.06); backdrop-filter: blur(10px); border: 1px solid rgba(255,255,255,0.12); border-radius: var(--radius-md); padding: 28px 24px; position: relative; transition: all 0.3s; }
.m-card:hover { transform: translateY(-4px); border-color: #FFD700; background: rgba(255,215,0,0.08); }
.m-quote { position: absolute; top: 8px; left: 16px; font-size: 60px; font-weight: 900; color: rgba(255,215,0,0.25); line-height: 1; font-family: Georgia, serif; }
.m-text { font-size: 15px; line-height: 1.8; color: rgba(255,255,255,0.92); margin: 12px 0 14px; position: relative; z-index: 1; }
.m-text strong { color: #FFD700; font-weight: 800; }
.m-tag { display: inline-block; padding: 4px 14px; background: linear-gradient(135deg, #C41E3A, #E8354D); color: #fff; font-size: 12px; border-radius: 20px; font-weight: 700; }
.motivation-bottom { text-align: center; padding: 30px; background: rgba(255,215,0,0.1); border: 1px solid rgba(255,215,0,0.3); border-radius: var(--radius-lg); }
.motivation-bottom p { font-size: 22px; font-weight: 800; color: #fff; margin-bottom: 8px; }
.motivation-bottom .mb-sub { font-size: 14px; color: rgba(255,255,255,0.75); font-weight: 400; margin-bottom: 20px; }
.hot-num { display: inline-block; color: #FFD700; font-size: 32px; font-weight: 900; margin: 0 4px; animation: num-pulse 1.5s infinite; }
@keyframes num-pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.1); } }
.btn-gold { background: linear-gradient(135deg, #FFD700, #FFA500); color: #660000; font-weight: 900; }
.btn-gold:hover { background: linear-gradient(135deg, #FFA500, #FFD700); transform: translateY(-2px); box-shadow: 0 8px 24px rgba(255,215,0,0.4); }

/* ===== 院校卡片（新版） ===== */
.school-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.school-card { background: #fff; border-radius: var(--radius-md); overflow: hidden; box-shadow: var(--shadow-sm); border: 1px solid var(--gray-200); cursor: pointer; transition: all 0.3s; }
.school-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); border-color: var(--red-border); }
.school-img { height: 160px; position: relative; display: flex; align-items: center; justify-content: center; overflow: hidden; background-size: cover; background-position: center; transition: transform 0.4s ease; }

.school-img-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0.35) 100%); z-index: 1; }
.school-logo { position: relative; z-index: 2; color: #fff; font-size: 36px; font-weight: 900; letter-spacing: 4px; text-shadow: 0 2px 8px rgba(0,0,0,0.3); }
.school-tier { position: absolute; top: 12px; right: 12px; background: rgba(0,0,0,0.5); backdrop-filter: blur(6px); color: #FFD700; font-size: 11px; padding: 4px 10px; border-radius: 20px; font-weight: 700; z-index: 3; box-shadow: 0 2px 8px rgba(0,0,0,0.2); }
.school-card:hover .school-img { transform: scale(1.05); }
.school-info { padding: 18px 20px 20px; }
.school-info h4 { font-size: 16px; font-weight: 800; color: var(--gray-600); margin-bottom: 6px; }
.school-major { color: var(--red); font-weight: 700; font-size: 13px; margin-bottom: 6px; }
.school-desc { font-size: 12px; color: var(--gray-400); line-height: 1.5; margin-bottom: 12px; min-height: 36px; }
.hero-banner { position: relative; height: 520px; background: url('https://images.unsplash.com/photo-1523050854058-8df90110c9f1?w=1600&q=80') center/cover no-repeat; }
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(135deg, rgba(139,0,0,0.85) 0%, rgba(196,30,58,0.75) 100%); display: flex; align-items: center; }
.hero-text { color: var(--white); text-align: center; }
.hero-text h1 { font-size: 38px; font-weight: 800; margin-bottom: 12px; letter-spacing: 2px; }
.hero-sub { font-size: 18px; opacity: 0.9; margin-bottom: 28px; }
.hero-btns { display: flex; gap: 16px; justify-content: center; margin-bottom: 36px; flex-wrap: wrap; }
.hero-btns .btn-outline { border-color: var(--white); color: var(--white); }
.hero-btns .btn-outline:hover { background: var(--white); color: var(--red); }
.hero-stats { display: flex; gap: 40px; justify-content: center; }
.stat-item { text-align: center; }
.stat-num { display: block; font-size: 36px; font-weight: 900; color: #FFD700; }
.stat-label { font-size: 14px; opacity: 0.85; }

/* ===== 学历卡片 ===== */
.edu-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.edu-card { background: var(--white); border-radius: var(--radius-md); padding: 30px 24px; box-shadow: var(--shadow-sm); border: 1px solid var(--gray-200); transition: all 0.3s; position: relative; overflow: hidden; }
.edu-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); border-color: var(--red-border); }
.edu-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: var(--red); }
.edu-card:nth-child(2)::before { background: linear-gradient(90deg, var(--red), #FF6B6B); }
.edu-card:nth-child(3)::before { background: linear-gradient(90deg, #FF6B6B, #FFA500); }
.edu-card:nth-child(4)::before { background: linear-gradient(90deg, #FFA500, #FFD700); }
.edu-icon { width: 56px; height: 56px; border-radius: 50%; background: var(--red-bg); display: flex; align-items: center; justify-content: center; margin-bottom: 16px; }
.edu-icon i { font-size: 24px; color: var(--red); }
.edu-card h3 { font-size: 18px; font-weight: 700; color: var(--gray-600); margin-bottom: 10px; }
.edu-card p { font-size: 13px; color: var(--gray-400); line-height: 1.7; margin-bottom: 16px; }
.edu-tags { display: flex; gap: 6px; margin-bottom: 16px; flex-wrap: wrap; }
.edu-tags span { background: var(--red-bg); color: var(--red); font-size: 12px; padding: 3px 10px; border-radius: 20px; font-weight: 600; }

/* ===== 学历层次 ===== */
.level-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.level-item { display: flex; align-items: center; gap: 12px; padding: 18px 20px; background: var(--white); border-radius: var(--radius-md); border: 1px solid var(--gray-200); cursor: pointer; transition: all 0.25s; }
.level-item:hover { border-color: var(--red); background: var(--red-bg); transform: translateX(4px); }
.level-num { width: 42px; height: 42px; border-radius: 50%; background: linear-gradient(135deg, var(--red), var(--red-light)); color: var(--white); font-size: 18px; font-weight: 800; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.level-label { font-size: 14px; font-weight: 600; color: var(--gray-600); flex: 1; }
.level-arrow { color: var(--gray-300); }
.level-item:hover .level-arrow { color: var(--red); }

/* ===== 院校卡片 ===== */
.school-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.school-card { background: var(--white); border-radius: var(--radius-md); padding: 28px 24px; box-shadow: var(--shadow-sm); border: 1px solid var(--gray-200); position: relative; overflow: hidden; transition: all 0.3s; }
.school-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); border-color: var(--red-border); }
.school-badge { position: absolute; top: 16px; right: 16px; background: linear-gradient(135deg, var(--red), var(--red-light)); color: var(--white); font-size: 11px; padding: 3px 10px; border-radius: 20px; font-weight: 600; }
.school-card h4 { font-size: 17px; font-weight: 700; color: var(--gray-600); margin-bottom: 8px; }
.school-major { color: var(--red); font-weight: 600; font-size: 14px; margin-bottom: 8px; }
.school-desc { font-size: 13px; color: var(--gray-400); margin-bottom: 16px; line-height: 1.6; }

/* ===== FAQ ===== */
.faq-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.faq-item { display: flex; align-items: center; gap: 12px; padding: 16px 20px; background: var(--white); border-radius: var(--radius-md); border: 1px solid var(--gray-200); cursor: pointer; transition: all 0.2s; font-size: 14px; color: var(--gray-500); }
.faq-item:hover { border-color: var(--red); color: var(--red); background: var(--red-bg); box-shadow: 0 2px 10px rgba(196,30,58,0.1); }
.faq-item .fa-question-circle { color: var(--red); font-size: 18px; flex-shrink: 0; }
.faq-item span { flex: 1; font-weight: 500; }
.faq-arrow { font-size: 13px; color: var(--gray-300); }
.faq-item:hover .faq-arrow { color: var(--red); }

/* ===== Why us ===== */
.why-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.why-item { text-align: center; padding: 30px 20px; background: var(--white); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); transition: all 0.3s; }
.why-item:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.why-icon { width: 64px; height: 64px; border-radius: 50%; background: var(--red-bg); margin: 0 auto 16px; display: flex; align-items: center; justify-content: center; }
.why-icon i { font-size: 28px; color: var(--red); }
.why-item h4 { font-size: 16px; font-weight: 700; color: var(--gray-600); margin-bottom: 8px; }
.why-item p { font-size: 13px; color: var(--gray-400); line-height: 1.6; }

/* ===== 子页面 ===== */
.page-hero { padding: 60px 0; text-align: center; color: var(--white); }
.page-hero h1 { font-size: 36px; font-weight: 800; margin-bottom: 10px; }
.page-hero p { font-size: 17px; opacity: 0.9; }
.page-content { max-width: 900px; margin: 0 auto; }
.info-block { margin-bottom: 40px; }
.info-block h3 { font-size: 20px; font-weight: 700; color: var(--gray-600); margin-bottom: 16px; padding-bottom: 10px; border-bottom: 2px solid var(--red-border); }
.info-block p { font-size: 15px; color: var(--gray-500); line-height: 1.8; margin-bottom: 10px; }

/* ===== 层次卡片 ===== */
.level-detail-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.level-detail { background: var(--red-bg); border-radius: var(--radius-md); padding: 24px; text-align: center; border: 1px solid var(--red-border); }
.level-detail-title { font-size: 20px; font-weight: 800; color: var(--red); margin-bottom: 8px; }
.level-detail-desc { font-size: 14px; color: var(--gray-500); }

/* ===== 学习形式 ===== */
.study-forms { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.study-form { display: flex; gap: 12px; padding: 20px; background: var(--gray-100); border-radius: var(--radius-md); align-items: flex-start; }
.study-form i { font-size: 24px; color: var(--red); margin-top: 2px; }
.study-form strong { display: block; font-size: 15px; color: var(--gray-600); margin-bottom: 4px; }
.study-form p { font-size: 13px; color: var(--gray-400); }

/* ===== 科目 ===== */
.subject-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.subject-item { padding: 18px; background: var(--gray-100); border-radius: var(--radius-md); text-align: center; }
.subject-title { font-weight: 700; color: var(--gray-600); margin-bottom: 8px; font-size: 14px; }
.subject-item div:last-child { font-size: 13px; color: var(--gray-400); }

/* ===== 标签 ===== */
.school-tags, .major-tags { display: flex; flex-wrap: wrap; gap: 10px; }
.school-tag, .major-tag { padding: 8px 18px; background: var(--gray-100); border-radius: 20px; font-size: 14px; color: var(--gray-500); cursor: pointer; transition: all 0.2s; border: 1px solid var(--gray-200); font-weight: 500; }
.school-tag:hover, .major-tag:hover { background: var(--red); color: var(--white); border-color: var(--red); }

/* ===== 特色 ===== */
.feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.feature-item { text-align: center; padding: 24px 16px; background: var(--gray-100); border-radius: var(--radius-md); }
.feature-item i { font-size: 28px; color: var(--red); margin-bottom: 10px; }
.feature-item strong { display: block; font-size: 15px; color: var(--gray-600); margin-bottom: 6px; }
.feature-item p { font-size: 13px; color: var(--gray-400); }

/* ===== 流程 ===== */
.process-timeline { position: relative; }
.process-step { display: flex; align-items: center; gap: 16px; margin-bottom: 16px; position: relative; }
.step-num { width: 44px; height: 44px; border-radius: 50%; background: linear-gradient(135deg, var(--red), var(--red-light)); color: var(--white); font-size: 18px; font-weight: 800; display: flex; align-items: center; justify-content: center; flex-shrink: 0; z-index: 1; }
.process-step:not(:last-child)::before { content: ''; position: absolute; left: 22px; top: 44px; width: 2px; height: calc(100% + 16px); background: linear-gradient(180deg, var(--red), var(--red-border)); }
.step-info { flex: 1; padding: 14px 18px; background: var(--gray-100); border-radius: var(--radius-md); }
.step-info strong { font-size: 15px; color: var(--gray-600); }
.step-info p { font-size: 13px; color: var(--gray-400); margin-top: 4px; }

/* ===== 考试 ===== */
.exam-schedule { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.exam-item { padding: 24px; background: var(--red-bg); border-radius: var(--radius-md); border: 1px solid var(--red-border); }
.exam-title { font-size: 16px; font-weight: 700; color: var(--red); margin-bottom: 10px; display: flex; align-items: center; gap: 8px; }
.exam-info { font-size: 14px; color: var(--gray-500); margin-bottom: 14px; line-height: 1.7; }

/* ===== CTA ===== */
.consult-cta { background: linear-gradient(135deg, var(--red), var(--red-dark)); border-radius: var(--radius-lg); padding: 40px; text-align: center; color: var(--white); margin-top: 20px; }
.consult-cta h3 { font-size: 22px; font-weight: 700; margin-bottom: 8px; }
.consult-cta p { font-size: 15px; opacity: 0.85; margin-bottom: 24px; }

/* ===== 专业查询 ===== */
.difficulty-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.diff-card { padding: 28px; border-radius: var(--radius-md); position: relative; overflow: hidden; }
.diff-easy { background: linear-gradient(135deg, #FFF5F5, #FFE8E8); border: 1px solid var(--red-border); }
.diff-popular { background: linear-gradient(135deg, #FFF8E6, #FFE4B5); border: 1px solid #FFDDB3; }
.diff-stable { background: linear-gradient(135deg, #F0FFF4, #C6F6D5); border: 1px solid #C6F6D5; }
.diff-badge { display: inline-block; padding: 4px 14px; border-radius: 20px; font-size: 12px; font-weight: 700; margin-bottom: 12px; }
.diff-easy .diff-badge { background: var(--red); color: var(--white); }
.diff-popular .diff-badge { background: #FF8C00; color: var(--white); }
.diff-stable .diff-badge { background: #27AE60; color: var(--white); }
.diff-card h4 { font-size: 17px; font-weight: 700; color: var(--gray-600); margin-bottom: 14px; }
.diff-majors { display: flex; flex-wrap: wrap; gap: 8px; }
.diff-majors span { padding: 6px 14px; background: rgba(255,255,255,0.7); border-radius: 20px; font-size: 13px; cursor: pointer; transition: all 0.2s; font-weight: 500; color: var(--gray-500); }
.diff-majors span:hover { background: var(--red); color: var(--white); }

.industry-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.industry-card { padding: 24px; background: var(--gray-100); border-radius: var(--radius-md); text-align: center; cursor: pointer; transition: all 0.3s; }
.industry-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); background: var(--red-bg); border: 1px solid var(--red-border); }
.industry-icon { width: 56px; height: 56px; border-radius: 50%; background: var(--white); margin: 0 auto 12px; display: flex; align-items: center; justify-content: center; }
.industry-icon i { font-size: 24px; color: var(--red); }
.industry-name { font-size: 16px; font-weight: 700; color: var(--gray-600); margin-bottom: 6px; }
.industry-majors { font-size: 13px; color: var(--gray-400); }

.goal-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.goal-card { display: flex; gap: 16px; align-items: center; padding: 22px; background: var(--white); border-radius: var(--radius-md); border: 1px solid var(--gray-200); cursor: pointer; transition: all 0.3s; }
.goal-card:hover { border-color: var(--red); background: var(--red-bg); transform: translateX(4px); }
.goal-icon { width: 50px; height: 50px; border-radius: 50%; background: linear-gradient(135deg, var(--red), var(--red-light)); color: var(--white); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.goal-icon i { font-size: 22px; }
.goal-name { font-size: 16px; font-weight: 700; color: var(--gray-600); margin-bottom: 4px; }
.goal-desc { font-size: 13px; color: var(--gray-400); }

/* ===== 底部 ===== */
.site-footer { background: var(--gray-600); color: var(--gray-300); padding: 50px 0 20px; }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 40px; margin-bottom: 30px; }
.footer-logo { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; }
.footer-logo .logo-text { color: var(--white); }
.footer-logo .logo-icon { font-size: 24px; }
.footer-col p { font-size: 13px; color: var(--gray-400); line-height: 1.7; margin-bottom: 8px; }
.footer-phone { display: flex; align-items: center; gap: 6px; font-size: 15px; color: var(--red-light); font-weight: 600; margin-top: 8px; }
.footer-col h4 { font-size: 16px; font-weight: 700; color: var(--white); margin-bottom: 16px; }
.footer-col ul li { margin-bottom: 8px; font-size: 13px; color: var(--gray-400); display: flex; align-items: center; gap: 6px; }
.footer-col ul li a:hover { color: var(--red-light); }
.footer-bottom { border-top: 1px solid rgba(255,255,255,0.1); padding-top: 16px; text-align: center; font-size: 12px; color: var(--gray-400); }
.footer-bottom a { color: var(--gray-400); margin: 0 4px; }
.footer-bottom a:hover { color: var(--red-light); }

/* ===== 悬浮咨询 ===== */
.float-consult-btn { position: fixed; bottom: 24px; right: 24px; z-index: 999; }
.float-consult-inner { display: flex; align-items: center; gap: 12px; background: linear-gradient(135deg, var(--red), var(--red-dark)); color: var(--white); padding: 14px 20px; border-radius: 50px; box-shadow: 0 6px 24px rgba(196,30,58,0.45); cursor: pointer; transition: all 0.3s; min-width: 180px; }
.float-consult-inner:hover { transform: translateY(-3px); box-shadow: 0 10px 32px rgba(196,30,58,0.55); }
.float-icon { width: 40px; height: 40px; border-radius: 50%; background: rgba(255,255,255,0.2); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.float-icon i { font-size: 18px; }
.float-text { display: flex; flex-direction: column; }
.float-title { font-size: 15px; font-weight: 700; }
.float-sub { font-size: 11px; opacity: 0.8; }
.float-dot { position: absolute; top: 8px; right: 8px; width: 12px; height: 12px; border-radius: 50%; background: #FFD700; animation: pulse-dot 1.5s infinite; }
@keyframes pulse-dot { 0%, 100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.3); opacity: 0.7; } }

/* ===== 弹窗 ===== */
.modal-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.55); z-index: 10000; display: none; justify-content: center; align-items: center; backdrop-filter: blur(3px); }
.modal-overlay.active { display: flex; }
.modal-box { background: var(--white); border-radius: var(--radius-lg); width: 920px; max-height: 92vh; overflow-y: auto; box-shadow: var(--shadow-lg); animation: modal-in 0.3s ease; }
.modal-form-layout { display: flex; gap: 0; }
.modal-form-main { flex: 1; min-width: 0; padding-right: 20px; }
.modal-form-sidebar { width: 260px; flex-shrink: 0; border-left: 1px solid var(--gray-200); padding-left: 20px; }

/* 咨询老师卡片 */
.advisor-card { background: linear-gradient(180deg, #fff9f9 0%, #fff 100%); border-radius: var(--radius-md); padding: 18px; text-align: center; border: 1px solid #ffeaea; position: sticky; top: 0; }
.advisor-avatar { width: 64px; height: 64px; border-radius: 50%; background: linear-gradient(135deg, var(--red), var(--red-light)); color: #fff; font-size: 26px; font-weight: 900; display: flex; align-items: center; justify-content: center; margin: 0 auto 10px; box-shadow: 0 4px 14px rgba(196,30,58,0.25); }
.advisor-status { display: inline-flex; align-items: center; gap: 4px; background: #e8f5e9; color: #2e7d32; font-size: 11px; padding: 3px 10px; border-radius: 12px; margin-bottom: 10px; }
.advisor-status .status-dot { width: 7px; height: 7px; border-radius: 50%; background: #4CAF50; animation: pulse-dot 1.5s infinite; }
.advisor-name { font-size: 18px; font-weight: 800; color: var(--gray-600); margin-bottom: 2px; }
.advisor-title { font-size: 12px; color: var(--gray-400); margin-bottom: 14px; }
.advisor-stats { display: flex; gap: 8px; justify-content: center; margin-bottom: 14px; }
.advisor-stat { background: var(--white); border: 1px solid #ffe0e0; border-radius: 8px; padding: 8px 6px; flex: 1; min-width: 0; }
.advisor-stat-num { display: block; font-size: 16px; font-weight: 800; color: var(--red); margin-bottom: 2px; }
.advisor-stat-label { font-size: 11px; color: var(--gray-400); }
.advisor-tags { display: flex; gap: 6px; flex-wrap: wrap; justify-content: center; margin-bottom: 14px; }
.advisor-tag { background: var(--red-bg); color: var(--red-dark); font-size: 11px; padding: 4px 8px; border-radius: 4px; }
.advisor-desc { font-size: 12px; color: var(--gray-500); line-height: 1.7; text-align: left; margin-bottom: 14px; }
.advisor-promise { display: flex; align-items: center; justify-content: center; gap: 6px; font-size: 12px; color: #2e7d32; background: #e8f5e9; padding: 8px 10px; border-radius: 8px; }
.advisor-promise i { font-size: 14px; }
@keyframes modal-in { from { transform: scale(0.9) translateY(20px); opacity: 0; } to { transform: scale(1) translateY(0); opacity: 1; } }
.modal-header { padding: 20px 24px 16px; border-bottom: 1px solid var(--gray-200); display: flex; align-items: center; justify-content: space-between; }
.modal-title-bar { display: flex; align-items: center; gap: 12px; }
.modal-title-icon { width: 48px; height: 48px; border-radius: 50%; background: linear-gradient(135deg, var(--red), var(--red-light)); display: flex; align-items: center; justify-content: center; }
.modal-title-icon i { font-size: 22px; color: var(--white); }
.modal-title { font-size: 18px; font-weight: 700; color: var(--gray-600); }
.modal-subtitle { font-size: 12px; color: var(--gray-400); margin-top: 2px; }
.modal-close { width: 32px; height: 32px; border-radius: 50%; background: var(--gray-100); display: flex; align-items: center; justify-content: center; color: var(--gray-400); transition: all 0.2s; border: none; font-size: 16px; cursor: pointer; }
.modal-close:hover { background: var(--red-bg); color: var(--red); }
.modal-body { padding: 20px 24px; }
.modal-tip { background: var(--red-bg); border-radius: var(--radius-sm); padding: 10px 14px; font-size: 13px; color: var(--red-dark); margin-bottom: 16px; border-left: 3px solid var(--red); }
.form-group { margin-bottom: 16px; }
.form-group label { display: flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: var(--gray-500); margin-bottom: 6px; }
.form-group label i { color: var(--red); }
.form-group input, .form-group select, .form-group textarea { width: 100%; padding: 11px 14px; border: 1px solid var(--gray-200); border-radius: var(--radius-sm); font-size: 14px; color: var(--gray-600); transition: all 0.2s; outline: none; background: var(--gray-100); }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color: var(--red); background: var(--white); box-shadow: 0 0 0 3px rgba(196,30,58,0.1); }
.form-group textarea { resize: vertical; min-height: 80px; }
.form-agree { margin-bottom: 14px; font-size: 12px; color: var(--gray-400); }
.form-agree input { margin-right: 6px; accent-color: var(--red); }
.form-agree a { color: var(--red); }
.modal-footer { padding: 12px 24px; background: var(--gray-100); border-top: 1px solid var(--gray-200); border-radius: 0 0 var(--radius-lg) var(--radius-lg); }
.modal-footer-info { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--gray-400); }
.modal-footer-info i { color: var(--red); }

/* ===== 聊天 ===== */
.chat-info { background: #FFF8E6; border-radius: var(--radius-sm); padding: 8px 12px; font-size: 12px; color: #B8860B; margin-bottom: 12px; display: flex; align-items: center; gap: 6px; }
.chat-messages { height: 280px; overflow-y: auto; display: flex; flex-direction: column; gap: 12px; padding: 4px; margin-bottom: 12px; }
.chat-msg { display: flex; align-items: flex-end; gap: 8px; }
.chat-msg.user-msg { flex-direction: row-reverse; }
.chat-avatar { width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 14px; }
.chat-avatar.bot { background: linear-gradient(135deg, var(--red), var(--red-light)); color: var(--white); }
.chat-avatar.admin { background: linear-gradient(135deg, #27AE60, #2ECC71); color: var(--white); }
.chat-avatar.user { background: var(--gray-200); color: var(--gray-500); }
.chat-bubble { max-width: 75%; padding: 10px 14px; border-radius: 16px; font-size: 14px; line-height: 1.6; }
.bot-msg .chat-bubble { background: var(--gray-100); color: var(--gray-600); border-bottom-left-radius: 4px; }
.admin-msg .chat-bubble { background: #E8F8F0; color: #1E8449; border-bottom-left-radius: 4px; }
.user-msg .chat-bubble { background: var(--red); color: var(--white); border-bottom-right-radius: 4px; }
.chat-input-row { display: flex; gap: 8px; }
.chat-input-row input { flex: 1; padding: 10px 14px; border: 1px solid var(--gray-200); border-radius: 20px; font-size: 14px; outline: none; }
.chat-input-row input:focus { border-color: var(--red); }
.chat-input-row button { width: 40px; height: 40px; border-radius: 50%; background: var(--red); color: var(--white); border: none; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.2s; }
.chat-input-row button:hover { background: var(--red-dark); }

/* ===== 后台入口 ===== */
.admin-entry { position: fixed; bottom: 24px; left: 24px; z-index: 999; background: var(--gray-600); color: var(--white); padding: 8px 14px; border-radius: 20px; font-size: 12px; cursor: pointer; opacity: 0.7; transition: all 0.2s; display: flex; align-items: center; gap: 6px; }
.admin-entry:hover { opacity: 1; background: var(--red); }

/* ===== Toast ===== */
.toast-notification { position: fixed; top: 80px; left: 50%; transform: translateX(-50%); z-index: 99999; padding: 12px 24px; border-radius: 8px; font-size: 14px; font-weight: 600; color: white; display: flex; align-items: center; gap: 8px; box-shadow: 0 4px 20px rgba(0,0,0,0.2); animation: toast-in 0.3s ease, toast-out 0.3s ease 2s forwards; }
.toast-success { background: #27AE60; }
.toast-warn { background: #E67E22; }
@keyframes toast-in { from { opacity: 0; transform: translateX(-50%) translateY(-10px); } to { opacity: 1; transform: translateX(-50%) translateY(0); } }
@keyframes toast-out { from { opacity: 1; } to { opacity: 0; transform: translateX(-50%) translateY(-10px); } }

/* ===== 响应式 ===== */
@media (max-width: 1024px) {
  .edu-cards { grid-template-columns: repeat(2, 1fr); }
  .why-grid { grid-template-columns: repeat(2, 1fr); }
  .level-grid { grid-template-columns: repeat(2, 1fr); }
  .school-grid { grid-template-columns: repeat(2, 1fr); }
  .service-grid { grid-template-columns: 1fr; }
  .motivation-grid { grid-template-columns: repeat(2, 1fr); }
  .logo-slogan { display: none; }
  .logo-divider { display: none; }
  .nav-link-highlight { display: none; }
  .nav-divider { display: none; }
  .footer-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .header-inner { flex-wrap: wrap; height: auto; padding: 10px 16px; }
  .main-nav { order: 3; width: 100%; justify-content: flex-start; overflow-x: auto; }
  .header-phone { display: none; }
  .hero-banner { height: 400px; }
  .hero-text h1 { font-size: 26px; }
  .hero-stats { gap: 20px; }
  .edu-cards, .school-grid, .feature-grid { grid-template-columns: 1fr; }
  .level-grid { grid-template-columns: repeat(2, 1fr); }
  .faq-grid, .goal-grid { grid-template-columns: 1fr; }
  .difficulty-grid { grid-template-columns: 1fr; }
  .level-detail-grid, .study-forms, .subject-grid, .exam-schedule { grid-template-columns: 1fr; }
  .industry-grid { grid-template-columns: repeat(2, 1fr); }
  .motivation-grid { grid-template-columns: 1fr; }
  .service-card { flex-direction: column; text-align: center; padding: 24px 20px; }
  .modal-box { width: 98%; margin: 0 8px; }
  .modal-form-layout { flex-direction: column; }
  .modal-form-main { padding-right: 0; }
  .modal-form-sidebar { width: 100%; border-left: none; border-top: 1px solid var(--gray-200); padding-left: 0; padding-top: 16px; margin-top: 16px; }
  .advisor-card { position: static; }
  .float-text { display: none; }
  .footer-grid { grid-template-columns: 1fr; gap: 24px; }
  .logo-text { font-size: 15px; }
  .logo-levels { font-size: 10px; letter-spacing: 1px; }
}
@media (max-width: 480px) {
  .hero-text h1 { font-size: 22px; }
  .hero-btns { flex-direction: column; align-items: center; }
  .level-grid { grid-template-columns: 1fr; }
}


/* ==================== 轮播图 ==================== */
.carousel { position: relative; width: 100%; height: 540px; overflow: hidden; }
.carousel-inner { width: 100%; height: 100%; position: relative; }
.carousel-item { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity 0.8s ease; color: #fff; }
.carousel-item.active { opacity: 1; z-index: 1; }
.carousel-bg { position: absolute; inset: 0; background-size: cover; background-position: center; z-index: 0; }
.carousel-overlay { position: absolute; inset: 0; background: rgba(0,0,0,0.15); z-index: 1; }
.carousel-content { position: relative; z-index: 2; width: 100%; max-width: 1200px; padding: 0 40px; }
.carousel-content-left { text-align: left; align-items: flex-start; display: flex; flex-direction: column; }
.carousel-content-center { text-align: center; align-items: center; display: flex; flex-direction: column; }
.carousel-title { font-size: 44px; font-weight: 900; margin-bottom: 18px; text-shadow: 0 4px 16px rgba(0,0,0,0.3); line-height: 1.3; letter-spacing: 2px; }
.carousel-sub { font-size: 18px; margin-bottom: 30px; opacity: 0.95; letter-spacing: 1px; text-shadow: 0 2px 8px rgba(0,0,0,0.4); }
.carousel-btns { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
.carousel-content-left .carousel-btns { justify-content: flex-start; }
.carousel-tags { display: flex; gap: 12px; margin-bottom: 24px; flex-wrap: wrap; }
.carousel-tag { padding: 8px 18px; border: 1px solid rgba(255,255,255,0.6); border-radius: 20px; font-size: 14px; color: #fff; background: rgba(255,255,255,0.12); backdrop-filter: blur(4px); }
.carousel-indicators { position: absolute; bottom: 24px; left: 50%; transform: translateX(-50%); display: flex; gap: 10px; z-index: 10; }
.indicator { width: 36px; height: 4px; background: rgba(255,255,255,0.4); border-radius: 2px; cursor: pointer; transition: all 0.3s; }
.indicator.active { background: #fff; width: 56px; }

/* 倒计时 */
.countdown-box { display: inline-flex; align-items: baseline; gap: 8px; background: rgba(255,255,255,0.35); padding: 12px 28px; border-radius: 12px; margin-bottom: 12px; border: 1px solid rgba(255,255,255,0.5); box-shadow: 0 8px 30px rgba(0,0,0,0.15); backdrop-filter: blur(6px); }
.countdown-box .countdown-text { font-size: 22px; font-weight: 700; color: #8B0000; }
.countdown-label { font-size: 18px; font-weight: 700; margin-bottom: 10px; text-shadow: 0 2px 8px rgba(0,0,0,0.4); }
.countdown-unit { font-size: 24px; font-weight: 700; color: #FF3B3B; }
.countdown-hint { font-size: 15px; font-weight: 500; margin-bottom: 20px; color: rgba(255,255,255,0.95); text-shadow: 0 2px 8px rgba(0,0,0,0.5); }

/* 学历提升励志短句 */
.carousel-quote { font-size: 36px; font-weight: 900; margin-bottom: 18px; color: #FFD700; text-shadow: 0 2px 12px rgba(0,0,0,0.6), 0 0 30px rgba(255,215,0,0.3); letter-spacing: 3px; line-height: 1.3; }

/* 轮播图统计卡片 */
.hero-stats { display: flex; gap: 20px; justify-content: center; margin-bottom: 32px; flex-wrap: wrap; }
.carousel-content-left .hero-stats { justify-content: flex-start; }
.stat-card { background: rgba(255,255,255,0.12); backdrop-filter: blur(10px); border: 1px solid rgba(255,255,255,0.25); border-radius: 12px; padding: 18px 22px; text-align: center; min-width: 120px; }
.stat-card .stat-num { display: block; font-size: 32px; font-weight: 900; color: #FFD700; margin-bottom: 4px; text-shadow: 0 2px 8px rgba(0,0,0,0.3); }
.stat-card .stat-label { font-size: 14px; color: rgba(255,255,255,0.95); font-weight: 500; }

/* 轮播图按钮扩展 */
.btn-light { background: #fff; color: #C41E3A; font-weight: 700; }
.btn-light:hover { background: #FFF5F5; transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,0.2); }
.btn-secondary-blue { background: linear-gradient(135deg, #1A5490, #003366); color: #fff; border: 2px solid rgba(255,255,255,0.3); font-weight: 700; }
.btn-secondary-blue:hover { background: linear-gradient(135deg, #003366, #1A5490); transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,0.2); }

/* 浮动报名入口 */
.float-signup { position: fixed; left: 32px; bottom: 24px; top: auto; right: auto; background: linear-gradient(135deg,#FFD700,#FFA500); color: #8B0000; border: none; width: 72px; height: 72px; border-radius: 50%; box-shadow: 0 6px 20px rgba(255,165,0,0.45); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; z-index: 9999; font-weight: 900; font-size: 13px; cursor: pointer; transition: all 0.3s; }
.float-signup:hover { transform: scale(1.08); box-shadow: 0 8px 28px rgba(255,165,0,0.65); }
.float-signup i { font-size: 22px; }

/* 倒计时跳动效果 */
@keyframes pulse-countdown {
  0% { transform: scale(1); text-shadow: 0 0 0 rgba(255,59,59,0); }
  50% { transform: scale(1.18); text-shadow: 0 0 25px rgba(255,59,59,0.7), 0 0 50px rgba(255,215,0,0.3); }
  100% { transform: scale(1); text-shadow: 0 0 0 rgba(255,59,59,0); }
}
.countdown-num { font-size: 56px; font-weight: 900; color: #FF3B3B; line-height: 1; display: inline-block; text-shadow: 0 0 15px rgba(255,59,59,0.5); }
.countdown-num.pulse { animation: pulse-countdown 1s ease-in-out infinite; }

/* 轮播图全程跟踪服务文字 */
.carousel-service-text { font-size: 18px; font-weight: 700; margin-bottom: 20px; color: #FFD700; text-shadow: 0 2px 8px rgba(0,0,0,0.4); display: flex; align-items: center; gap: 8px; }
.carousel-service-text::before { content: '\f00c'; font-family: 'Font Awesome 6 Free'; font-weight: 900; font-size: 14px; color: #FFD700; }
.carousel-content-center .carousel-service-text { justify-content: center; }

/* 轮播图1 文字整体往右，人物放在右侧 */
.slide-countdown { background: linear-gradient(135deg, #8B0000 0%, #C41E3A 50%, #E8354D 100%); }
.countdown-content { padding-left: 5%; }
.slide-countdown .carousel-bg { background-size: cover; background-position: 70% center; background-repeat: no-repeat; }

@media (max-width: 968px) {
  .slide-countdown .carousel-bg { background-size: cover; background-position: 65% center; }
}
@media (max-width: 640px) {
  .slide-countdown .carousel-bg { background-size: cover; background-position: 60% center; }
  .countdown-content { padding-left: 24px; padding-right: 24px; }
}

/* 黄色按钮 */
.btn-warning { background: linear-gradient(135deg,#FFD700,#FFA500); color: #8B0000; border: 2px solid #fff; box-shadow: 0 4px 12px rgba(255,165,0,0.3); }
.btn-warning:hover { background: linear-gradient(135deg,#FFC400,#FF8C00); color: #8B0000; transform: translateY(-1px); }

/* ==================== 学位获取页面 ==================== */
.degree-intro { font-size: 16px; line-height: 2; color: var(--gray-600); max-width: 900px; margin: 0 auto; }
.degree-intro p { margin-bottom: 18px; }
.hl-red { color: var(--red); font-weight: 700; background: var(--red-bg); padding: 2px 8px; border-radius: 4px; }

.degree-conditions { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.deg-condition { background: #fff; padding: 32px 24px; border-radius: 12px; box-shadow: var(--shadow-sm); text-align: center; transition: all 0.3s; border-top: 4px solid var(--red); }
.deg-condition:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.deg-num { font-size: 48px; font-weight: 900; color: var(--red); opacity: 0.3; line-height: 1; margin-bottom: 12px; }
.deg-condition h3 { font-size: 18px; color: var(--gray-600); margin-bottom: 12px; }
.deg-condition p { font-size: 14px; color: var(--gray-500); line-height: 1.7; }

.deg-eng-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; }
.deg-eng-card { background: #fff; padding: 24px 20px; border-radius: 10px; box-shadow: var(--shadow-sm); border-left: 4px solid var(--red); }
.deg-eng-card h4 { color: var(--red); font-size: 16px; margin-bottom: 10px; display: flex; align-items: center; gap: 8px; }
.deg-eng-card p { font-size: 14px; color: var(--gray-500); line-height: 1.6; }

.degree-uses { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.deg-use-item { background: #fff; padding: 28px 20px; border-radius: 10px; box-shadow: var(--shadow-sm); text-align: center; transition: all 0.3s; }
.deg-use-item:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.deg-use-icon { width: 60px; height: 60px; border-radius: 50%; background: linear-gradient(135deg,var(--red),var(--red-light)); color: #fff; display: flex; align-items: center; justify-content: center; margin: 0 auto 16px; font-size: 24px; }
.deg-use-item h4 { font-size: 16px; color: var(--gray-600); margin-bottom: 10px; font-weight: 700; }
.deg-use-item p { font-size: 13px; color: var(--gray-500); line-height: 1.6; }

.degree-flow { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
.deg-flow-step { flex: 1; min-width: 150px; background: #fff; padding: 20px 16px; border-radius: 10px; box-shadow: var(--shadow-sm); text-align: center; }
.deg-flow-num { width: 40px; height: 40px; border-radius: 50%; background: var(--red); color: #fff; font-size: 18px; font-weight: 900; display: flex; align-items: center; justify-content: center; margin: 0 auto 10px; }
.deg-flow-step h4 { font-size: 15px; color: var(--gray-600); margin-bottom: 6px; }
.deg-flow-step p { font-size: 12px; color: var(--gray-500); }
.deg-flow-arrow { color: var(--red); font-size: 18px; }

.degree-schools { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.deg-school-card { background: #fff; padding: 24px 20px; border-radius: 10px; box-shadow: var(--shadow-sm); border-top: 3px solid var(--red); }
.deg-school-card h4 { color: var(--red); font-size: 17px; margin-bottom: 14px; }
.deg-school-card ul { margin-bottom: 16px; }
.deg-school-card li { font-size: 13px; color: var(--gray-500); padding: 6px 0; display: flex; align-items: center; gap: 8px; }
.deg-school-card li i { color: #4CAF50; font-size: 12px; }

/* 响应式 */
@media (max-width: 968px) {
  .carousel { height: 480px; }
  .carousel-title { font-size: 28px; }
  .countdown-num { font-size: 40px; }
  .countdown-content { padding-left: 24px; }
  .slide-countdown .carousel-bg { background-position: 65% center; }
  .carousel-content { padding: 0 24px; }
  .carousel-quote { font-size: 24px; margin-bottom: 12px; }
  .carousel-content-left, .carousel-content-center { align-items: center; text-align: center; }
  .carousel-content-left .carousel-btns, .carousel-content-left .hero-stats { justify-content: center; }
  .carousel-tags { justify-content: center; }
  .stat-card { padding: 14px 16px; min-width: 100px; }
  .stat-card .stat-num { font-size: 24px; }
  .degree-conditions, .deg-eng-grid, .degree-uses, .degree-schools { grid-template-columns: 1fr 1fr; }
  .degree-flow { flex-direction: column; }
  .deg-flow-arrow { transform: rotate(90deg); }
  .float-signup { width: 64px; height: 64px; font-size: 12px; left: 16px; right: auto; bottom: 20px; }
  .float-signup i { font-size: 20px; }
}
@media (max-width: 640px) {
  .carousel { height: 540px; }
  .carousel-title { font-size: 22px; }
  .carousel-sub { font-size: 15px; margin-bottom: 20px; }
  .countdown-num { font-size: 36px; }
  .countdown-box .countdown-text { font-size: 16px; }
  .countdown-box { padding: 10px 20px; }
  .countdown-label { font-size: 15px; }
  .countdown-hint { font-size: 13px; margin-bottom: 14px; }
  .carousel-quote { font-size: 24px; margin-bottom: 12px; }
  .carousel-service-text { font-size: 15px; margin-bottom: 16px; }
  .carousel-tags { gap: 8px; margin-bottom: 16px; }
  .carousel-tag { font-size: 12px; padding: 6px 12px; }
  .hero-stats { gap: 10px; }
  .stat-card { padding: 12px 14px; min-width: 80px; }
  .stat-card .stat-num { font-size: 20px; }
  .carousel-btns { gap: 10px; }
  .carousel-btns .btn-lg { padding: 12px 24px; font-size: 14px; }
  .float-signup { width: 60px; height: 60px; font-size: 11px; left: 12px; right: auto; bottom: 16px; }
  .float-signup i { font-size: 18px; }
  .degree-conditions, .deg-eng-grid, .degree-uses, .degree-schools { grid-template-columns: 1fr; }
}


/* ===== 政策资讯页面 ===== */
.policy-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
  gap: 24px;
  margin-top: 32px;
}
.policy-card {
  background: #fff;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
  padding: 24px;
  cursor: pointer;
  border: 2px solid transparent;
  transition: all 0.3s;
}
.policy-card:hover {
  border-color: var(--red);
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}
.policy-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}
.policy-tag {
  font-size: 12px;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 20px;
}
.tag-hot { background: #FFF3E0; color: #E65100; }
.tag-new { background: #E8F5E9; color: #2E7D32; }
.tag-warn { background: #FFF8E1; color: #F57F17; }
.tag-info { background: #E3F2FD; color: #1565C0; }
.policy-date { font-size: 12px; color: var(--gray-400); }
.policy-card h3 {
  font-size: 16px;
  font-weight: 700;
  color: var(--gray-600);
  line-height: 1.5;
  margin-bottom: 12px;
}
.policy-summary {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}
.policy-icon-inline {
  width: 36px;
  height: 36px;
  background: var(--red-bg);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--red);
  flex-shrink: 0;
  font-size: 14px;
}
.policy-summary p { font-size: 13px; color: var(--gray-500); margin-bottom: 4px; }
.policy-summary strong { color: var(--gray-600); }
.policy-full {
  background: var(--gray-100);
  border-radius: var(--radius-sm);
  padding: 16px;
  margin-top: 12px;
  font-size: 13px;
  color: var(--gray-500);
  line-height: 1.8;
}
.policy-full p { margin-bottom: 8px; }
.policy-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid var(--gray-200);
}
.policy-read-more {
  font-size: 12px;
  color: var(--gray-400);
  transition: color 0.2s;
}
.policy-card:hover .policy-read-more { color: var(--red); }

/* ===== 热门院校卡片 ===== */
.schools-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 20px;
  margin-top: 32px;
}
.school-card {
  background: #fff;
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  cursor: pointer;
  transition: all 0.3s;
  border: 2px solid transparent;
}
.school-card:hover {
  border-color: var(--red);
  box-shadow: var(--shadow-md);
  transform: translateY(-3px);
}
/* 院校图片样式已在上方定义，此处删除重复定义 */
.school-tier {
  position: absolute;
  top: 10px;
  right: 10px;
  background: rgba(196,30,58,0.9);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 20px;
  backdrop-filter: blur(4px);
}
/* .school-logo-text 已移除 */
.school-info { padding: 16px; }
.school-info h4 {
  font-size: 16px;
  font-weight: 700;
  color: var(--gray-600);
  margin-bottom: 6px;
}
.school-major {
  font-size: 12px;
  color: var(--red);
  margin-bottom: 4px;
}
.school-desc {
  font-size: 12px;
  color: var(--gray-400);
  margin-bottom: 10px;
}
.school-info .btn { width: 100%; }

/* ===== 学历层次图 ===== */
.level-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-top: 32px;
}
.level-item {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #fff;
  border-radius: var(--radius-md);
  padding: 16px 20px;
  box-shadow: var(--shadow-sm);
  cursor: pointer;
  transition: all 0.3s;
  border: 2px solid transparent;
}
.level-item:hover {
  border-color: var(--red);
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
}
.level-num {
  width: 44px;
  height: 44px;
  background: var(--red-bg);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 900;
  color: var(--red);
  flex-shrink: 0;
}
.level-item:hover .level-num { background: var(--red); color: #fff; }
.level-label { font-size: 14px; font-weight: 600; color: var(--gray-600); flex: 1; }
.level-arrow { color: var(--gray-300); font-size: 14px; }
.level-item:hover .level-arrow { color: var(--red); }

/* ===== 学位条件 ===== */
.degree-conditions {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 32px;
}
.deg-condition {
  background: #fff;
  border-radius: var(--radius-md);
  padding: 32px 24px;
  text-align: center;
  box-shadow: var(--shadow-sm);
  border-top: 4px solid var(--red);
}
.deg-num {
  width: 56px;
  height: 56px;
  background: var(--red-bg);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  font-weight: 900;
  color: var(--red);
  margin: 0 auto 16px;
}
.deg-condition h3 { font-size: 17px; font-weight: 700; color: var(--gray-600); margin-bottom: 12px; }
.deg-condition p { font-size: 14px; color: var(--gray-500); line-height: 1.8; }
.deg-condition strong { color: var(--red); }

/* ===== 学位用途 ===== */
.degree-uses {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 32px;
}
.deg-use-item {
  background: #fff;
  border-radius: var(--radius-md);
  padding: 24px;
  box-shadow: var(--shadow-sm);
  display: flex;
  gap: 14px;
  align-items: flex-start;
  transition: all 0.3s;
}
.deg-use-item:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}
.deg-use-icon {
  width: 44px;
  height: 44px;
  background: var(--red-bg);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--red);
  font-size: 18px;
  flex-shrink: 0;
}
.deg-use-item h4 { font-size: 15px; font-weight: 700; color: var(--gray-600); margin-bottom: 6px; }
.deg-use-item p { font-size: 13px; color: var(--gray-500); }

/* ===== 动机语录 ===== */
.motivation { background: linear-gradient(135deg, #1A1A2E, #16213E); padding: 60px 0; }
.motivation .section-title h2 { color: #fff; }
.motivation .section-title p { color: rgba(255,255,255,0.6); }
.motivation-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 32px;
}
.m-card {
  background: rgba(255,255,255,0.06);
  border-radius: var(--radius-md);
  padding: 28px 24px;
  border: 1px solid rgba(255,255,255,0.08);
  transition: all 0.3s;
}
.m-card:hover { background: rgba(255,255,255,0.1); transform: translateY(-3px); }
.m-quote { font-size: 40px; color: var(--red-light); line-height: 1; margin-bottom: 8px; font-family: serif; }
.m-text { font-size: 15px; color: rgba(255,255,255,0.85); line-height: 1.8; margin-bottom: 12px; }
.m-text strong { color: #FFD700; }
.m-tag { font-size: 12px; color: var(--red-light); font-weight: 600; }
.motivation-bottom {
  text-align: center;
  margin-top: 40px;
  padding-top: 40px;
  border-top: 1px solid rgba(255,255,255,0.1);
}
.motivation-bottom p { font-size: 18px; color: #fff; margin-bottom: 8px; }
.mb-sub { font-size: 14px !important; color: rgba(255,255,255,0.5) !important; margin-bottom: 20px !important; }
.hot-num { font-size: 36px; font-weight: 900; color: #FFD700; margin: 0 4px; }
.btn-gold { background: #FFD700; color: #1A1A2E; font-weight: 700; border-radius: 30px; }
.btn-gold:hover { background: #FFC107; transform: translateY(-2px); box-shadow: 0 4px 20px rgba(255,215,0,0.4); }
.bg-dark { background: #0F0F23; }

/* ===== 按钮警告色 ===== */
.btn-warning { background: #FFD700; color: #1A1A2E; }
.btn-warning:hover { background: #FFC107; }

/* ===== 成人高考页 ===== */
.page-hero {
  background: linear-gradient(135deg, var(--red), var(--red-dark));
  color: #fff;
  padding: 64px 0;
  text-align: center;
}
.page-hero h1 { font-size: 36px; font-weight: 900; margin-bottom: 12px; }
.page-hero p { font-size: 18px; opacity: 0.85; }
.page-content { padding: 48px 0; }
.info-block { margin-bottom: 40px; }
.info-block h3 { font-size: 20px; font-weight: 700; color: var(--gray-600); margin-bottom: 16px; }
.info-block p { font-size: 15px; color: var(--gray-500); line-height: 1.8; }
.level-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 16px;
}
.level-detail {
  background: var(--gray-100);
  border-radius: var(--radius-md);
  padding: 24px;
  text-align: center;
}
.level-detail-title {
  font-size: 18px;
  font-weight: 700;
  color: var(--red);
  margin-bottom: 8px;
}
.level-detail-desc { font-size: 14px; color: var(--gray-500); line-height: 1.6; }
.study-forms {
  display: flex;
  gap: 16px;
  margin-top: 16px;
}
.study-form {
  flex: 1;
  display: flex;
  align-items: flex-start;
  gap: 14px;
  background: var(--gray-100);
  border-radius: var(--radius-md);
  padding: 24px;
}
.study-form i { font-size: 28px; color: var(--red); margin-top: 4px; }
.study-form strong { font-size: 16px; color: var(--gray-600); margin-bottom: 4px; display: block; }
.study-form p { font-size: 13px; color: var(--gray-500); }
.subject-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 16px;
}
.subject-item {
  background: var(--gray-100);
  border-radius: var(--radius-sm);
  padding: 16px;
}
.subject-title { font-size: 13px; font-weight: 700; color: var(--red); margin-bottom: 4px; }
.subject-item div:last-child { font-size: 13px; color: var(--gray-500); }
.school-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}
.school-tag {
  background: var(--red-bg);
  color: var(--red);
  border: 2px solid var(--red-border);
  border-radius: 30px;
  padding: 8px 18px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
}
.school-tag:hover { background: var(--red); color: #fff; }
.consult-cta {
  background: linear-gradient(135deg, var(--red), var(--red-dark));
  border-radius: var(--radius-lg);
  padding: 40px;
  text-align: center;
  color: #fff;
  margin-top: 32px;
}
.consult-cta h3 { font-size: 22px; font-weight: 700; margin-bottom: 10px; }
.consult-cta p { font-size: 15px; opacity: 0.85; margin-bottom: 20px; }
.consult-cta .btn-primary { background: #fff; color: var(--red); }
.consult-cta .btn-primary:hover { background: #FFD700; color: #1A1A2E; }

/* ===== 专业查询页 ===== */
.major-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; margin-top: 32px; }
.major-card {
  background: #fff;
  border-radius: var(--radius-md);
  padding: 24px;
  box-shadow: var(--shadow-sm);
  transition: all 0.3s;
}
.major-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }
.major-card h4 { font-size: 16px; font-weight: 700; color: var(--gray-600); margin-bottom: 8px; }
.major-tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0; }
.major-tag { background: var(--red-bg); color: var(--red); font-size: 12px; padding: 3px 10px; border-radius: 20px; }
.major-card p { font-size: 13px; color: var(--gray-500); }

/* ===== 学位获取页 ===== */
.degree-intro { background: var(--gray-100); border-radius: var(--radius-md); padding: 32px; margin-top: 20px; }
.degree-intro p { font-size: 15px; color: var(--gray-500); line-height: 1.9; margin-bottom: 12px; }
.degree-intro strong { color: var(--gray-600); }
.hl-red { color: var(--red) !important; font-weight: 700; }
.degree-intro-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 20px; }

/* ===== 咨询弹窗 ===== */
/* 弹窗样式已统一合并至顶部弹窗区域，避免重复定义覆盖 */

/* ===== 右下角悬浮 ===== */
.float-consult {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 8888;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.float-btn {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--red);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  box-shadow: 0 4px 16px rgba(196,30,58,0.4);
  cursor: pointer;
  transition: all 0.3s;
  border: none;
}
.float-btn:hover { background: var(--red-dark); transform: scale(1.1); }
.float-online {
  position: absolute;
  right: 70px;
  background: #fff;
  border-radius: 30px;
  padding: 8px 16px;
  box-shadow: var(--shadow-md);
  white-space: nowrap;
  font-size: 13px;
  color: var(--gray-600);
  display: none;
}
.float-online .online-dot { display: inline-block; width: 8px; height: 8px; background: #52C41A; border-radius: 50%; margin-right: 6px; }
.float-btn:hover + .float-online, .float-online:hover { display: flex; align-items: center; }

/* ===== 响应式 ===== */
@media (max-width: 768px) {
  .side-nav { width: 86px; }
  .side-nav-item { padding: 6px 6px; font-size: 10px; gap: 4px; }
  .side-nav-item i { display: none; }
  .side-nav-title { font-size: 12px; padding: 8px 4px; }
  .side-nav-countdown { padding: 6px 4px; }
  .side-nav-countdown-label { font-size: 9px; }
  .side-nav-countdown-num { font-size: 10px; }
  .side-nav-countdown-num span { font-size: 14px; }
  .policy-grid { grid-template-columns: 1fr; }
  .schools-grid { grid-template-columns: repeat(2, 1fr); }
  .degree-conditions { grid-template-columns: 1fr; }
  .degree-uses { grid-template-columns: 1fr; }
  .motivation-grid { grid-template-columns: 1fr; }
  .level-grid { grid-template-columns: repeat(2, 1fr); }
  .study-forms { flex-direction: column; }
  .subject-grid { grid-template-columns: 1fr 1fr; }
  .level-detail-grid { grid-template-columns: 1fr; }
  .page-hero { padding: 40px 0; }
  .page-hero h1 { font-size: 26px; }
  .cert-grid { grid-template-columns: 1fr; }
  .cert-card { margin-bottom: 20px; }
}

/* ===== 证书展示板块 ===== */
.cert-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 20px; }
.cert-card { background: var(--white); border-radius: var(--radius-md); overflow: hidden; box-shadow: var(--shadow-sm); border: 1px solid var(--gray-200); transition: all 0.3s; cursor: pointer; position: relative; }
.cert-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); border-color: var(--red-border); }
.cert-badge { position: absolute; top: 12px; left: 12px; background: linear-gradient(135deg, #FFD700, #FFA500); color: #8B0000; font-size: 12px; font-weight: 800; padding: 5px 12px; border-radius: 20px; z-index: 3; box-shadow: 0 2px 8px rgba(255,215,0,0.4); letter-spacing: 1px; }
.cert-img-wrap { width: 100%; height: 220px; overflow: hidden; background: linear-gradient(135deg, #f5f5f5, #e8e8e8); position: relative; display: flex; align-items: center; justify-content: center; padding: 8px; }
.cert-img-wrap img { width: 100%; height: 100%; object-fit: contain; border-radius: 4px; display: block; }

/* 证书模拟图 - 使用纯CSS绘制 */
.cert-mock { width: 100%; height: 100%; border-radius: 4px; position: relative; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,0.1); }
.cert-mock .cert-border { width: 100%; height: 100%; position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 12px; box-sizing: border-box; }
.cert-corner { position: absolute; width: 16px; height: 16px; border: 2px solid; border-color: currentColor; }
.cert-corner-tl { top: 6px; left: 6px; border-right: 0; border-bottom: 0; }
.cert-corner-tr { top: 6px; right: 6px; border-left: 0; border-bottom: 0; }
.cert-corner-bl { bottom: 6px; left: 6px; border-right: 0; border-top: 0; }
.cert-corner-br { bottom: 6px; right: 6px; border-left: 0; border-top: 0; }
.cert-text-top { font-size: 8px; letter-spacing: 1px; text-align: center; margin-bottom: 4px; opacity: 0.7; }
.cert-text-title { font-size: 16px; font-weight: 800; text-align: center; line-height: 1.1; margin-bottom: 6px; letter-spacing: 1px; }
.cert-text-cn { font-size: 11px; font-weight: 700; text-align: center; line-height: 1.3; }
.cert-stamp { position: absolute; bottom: 16px; right: 16px; width: 36px; height: 36px; border-radius: 50%; border: 1.5px solid currentColor; display: flex; align-items: center; justify-content: center; font-size: 7px; font-weight: 700; text-align: center; line-height: 1.1; opacity: 0.8; }
.cert-stamp-double { display: flex; gap: 4px; width: auto; height: auto; border: 0; border-radius: 0; flex-direction: column; }
.cert-stamp-double span { width: 30px; height: 30px; border-radius: 50%; border: 1.5px solid currentColor; display: flex; align-items: center; justify-content: center; font-size: 6px; }
.cert-no { position: absolute; bottom: 4px; left: 8px; font-size: 6px; opacity: 0.6; }

/* 1. 成考 - 红色调 */
.cert-chengkao { background: linear-gradient(135deg, #fff5e6 0%, #ffe0b3 100%); color: #8b0000; border: 2px solid #8b0000; }
.cert-chengkao .cert-text-title { color: #c41e3a; text-shadow: 1px 1px 0 rgba(196,30,58,0.1); }

/* 2. 国开 - 蓝色调 */
.cert-guokai { background: linear-gradient(135deg, #fffaf0 0%, #fef3c7 50%, #fef3c7 100%); color: #003366; border: 2px solid #003366; }
.cert-guokai .cert-text-title { color: #003366; }

/* 3. 自考 - 深红 + 金边 */
.cert-zikao { background: linear-gradient(135deg, #fff8f0 0%, #fff0e0 100%); color: #8b0000; border: 3px double #c41e3a; }
.cert-zikao .cert-text-title { color: #8b0000; }

.cert-card:hover .cert-mock { transform: scale(1.03); transition: transform 0.4s ease; }

.cert-info { padding: 20px 22px 24px; }
.cert-info h4 { font-size: 20px; font-weight: 800; color: var(--gray-600); margin-bottom: 6px; position: relative; padding-left: 12px; }
.cert-info h4::before { content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 4px; height: 20px; background: linear-gradient(180deg, var(--red), var(--red-light)); border-radius: 2px; }
.cert-tag { color: var(--red); font-weight: 700; font-size: 13px; margin-bottom: 12px; letter-spacing: 0.5px; }
.cert-features { list-style: none; padding: 0; margin: 0 0 16px 0; }
.cert-features li { font-size: 13px; color: var(--gray-500); line-height: 1.8; display: flex; align-items: center; gap: 8px; }
.cert-features li i { color: var(--red); font-size: 12px; flex-shrink: 0; }
.cert-card .btn { width: 100%; margin-top: 4px; }


/* ===== 7/4修改：红色底框标签白色字体 ===== */
.section-wrap.bg-dark.motivation .m-tag,
.motivation-grid .m-card .m-tag {
  color: #fff !important;
}
.m-card.m-red .m-tag { color: #fff !important; }


/* ========================================================== */
/* ===== 移动端响应式适配（新增，不修改上方任何规则） ===== */
/* ========================================================== */

/* ---------- 汉堡菜单按钮 ---------- */
.hamburger-btn {
  display: none;
  width: 44px;
  height: 44px;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  margin-left: auto;
  flex-shrink: 0;
  border-radius: 8px;
  transition: background 0.2s;
}
.hamburger-btn span {
  display: block;
  width: 24px;
  height: 2.5px;
  background: var(--gray-600);
  border-radius: 2px;
  transition: all 0.3s ease;
  transform-origin: center;
}
.hamburger-btn:hover { background: var(--red-bg); }
.hamburger-btn:hover span { background: var(--red); }

/* 汉堡菜单激活（X 形） */
body.nav-open .hamburger-btn span:nth-child(1) {
  transform: translateY(7.5px) rotate(45deg);
}
body.nav-open .hamburger-btn span:nth-child(2) {
  opacity: 0;
  transform: scaleX(0);
}
body.nav-open .hamburger-btn span:nth-child(3) {
  transform: translateY(-7.5px) rotate(-45deg);
}

/* ---------- 移动端导航遮罩 ---------- */
.nav-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 99;
  opacity: 0;
  transition: opacity 0.3s ease;
  backdrop-filter: blur(2px);
}
body.nav-open .nav-overlay {
  display: block;
  opacity: 1;
}

/* ---------- 平板 (≤1024px) 优化 ---------- */
@media (max-width: 1024px) {
  .container { padding: 0 16px; }
  .header-inner { padding: 0 16px; gap: 12px; height: 60px; }
  .logo-text { font-size: 16px; letter-spacing: 0.5px; }
  .logo-levels { font-size: 11px; letter-spacing: 1px; }
  .nav-link { padding: 8px 12px; font-size: 14px; }
  .section-wrap { padding: 48px 0; }
  .section-title h2 { font-size: 24px; }
  .section-title p { font-size: 14px; }

  /* 侧边栏在中等屏幕稍微收窄 */
  .side-nav { width: 116px; }
  .side-nav-item { padding: 8px 8px; font-size: 11px; }
  .side-nav-title { font-size: 14px; padding: 10px 8px; }
}

/* ---------- 手机 (≤768px) 主要适配 ---------- */
@media (max-width: 768px) {
  :root {
    --shadow-sm: 0 2px 6px rgba(0,0,0,0.06);
    --shadow-md: 0 4px 16px rgba(0,0,0,0.10);
  }

  /* 基础排版 */
  body { font-size: 14px; line-height: 1.65; }
  .container { padding: 0 14px; }
  .section-wrap { padding: 36px 0; }
  .section-title { margin-bottom: 28px; }
  .section-title h2 { font-size: 20px; }
  .section-title p { font-size: 13px; }
  .section-title h2::before, .section-title h2::after { font-size: 16px; }

  /* ===== 顶部导航：汉堡菜单抽屉 ===== */
  .header-inner { padding: 0 14px; height: 56px; gap: 10px; }
  .logo-text { font-size: 15px; letter-spacing: 0; }
  .logo-levels { font-size: 10px; letter-spacing: 0.5px; }

  /* 显示汉堡按钮 */
  .hamburger-btn { display: flex; }

  /* 主导航变成抽屉 */
  .main-nav {
    position: fixed;
    top: 0;
    right: 0;
    width: 78%;
    max-width: 320px;
    height: 100vh;
    height: 100dvh;
    background: #fff;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0;
    padding: 60px 0 24px;
    transform: translateX(100%);
    transition: transform 0.3s ease;
    z-index: 100;
    box-shadow: -4px 0 24px rgba(0,0,0,0.12);
    overflow-y: auto;
  }
  body.nav-open .main-nav {
    transform: translateX(0);
  }
  .nav-link {
    width: 100%;
    padding: 14px 20px;
    font-size: 15px;
    border-radius: 0;
    border-bottom: 1px solid var(--gray-200);
    justify-content: flex-start;
  }
  .nav-link.active {
    background: var(--red-bg);
    border-left: 3px solid var(--red);
  }
  .nav-link.active::after { display: none; }

  /* 隐藏桌面端左右固定侧边栏（手机用悬浮按钮替代） */
  .side-nav { display: none !important; }

  /* ===== 轮播图 ===== */
  .carousel { height: 320px; }
  .carousel-content { padding: 0 16px; }
  .carousel-title { font-size: 22px; margin-bottom: 12px; letter-spacing: 1px; line-height: 1.3; }
  .carousel-sub { font-size: 14px; margin-bottom: 18px; letter-spacing: 0; }
  .carousel-quote { font-size: 20px; letter-spacing: 1px; margin-bottom: 12px; }
  .carousel-tags { gap: 8px; margin-bottom: 16px; }
  .carousel-tag { font-size: 11px; padding: 5px 12px; }
  .carousel-service-text { font-size: 14px; margin-bottom: 14px; }
  .carousel-btns { gap: 10px; }
  .carousel-btns .btn { padding: 10px 18px; font-size: 13px; }
  .carousel-btns .btn-lg { padding: 11px 22px; font-size: 14px; }
  .carousel-indicators { bottom: 14px; gap: 6px; }
  .indicator { width: 24px; height: 3px; }
  .indicator.active { width: 36px; }
  .hero-stats { gap: 10px; margin-bottom: 20px; }
  .stat-card { padding: 10px 12px; min-width: 76px; }
  .stat-card .stat-num { font-size: 20px; margin-bottom: 2px; }
  .stat-card .stat-label { font-size: 12px; }
  .countdown-num { font-size: 36px; }
  .countdown-box { padding: 8px 16px; margin-bottom: 10px; }
  .countdown-box .countdown-text { font-size: 15px; }
  .countdown-label { font-size: 14px; margin-bottom: 8px; }
  .countdown-hint { font-size: 12px; margin-bottom: 14px; }
  .slide-countdown .carousel-bg { background-position: 60% center; }
  .countdown-content { padding-left: 16px; padding-right: 16px; }

  /* ===== 4大服务入口 ===== */
  .service-grid { grid-template-columns: 1fr; gap: 12px; }
  .service-card { padding: 18px 16px; gap: 14px; }
  .service-card-icon { width: 52px; height: 52px; border-radius: 12px; }
  .service-card-icon i { font-size: 22px; }
  .service-card-info h3 { font-size: 16px; margin-bottom: 4px; }
  .service-card-info p { font-size: 12px; margin-bottom: 8px; }
  .service-card-tags span { font-size: 10px; padding: 2px 8px; }

  /* ===== 学历卡片 / 院校卡片 / 网格类 ===== */
  .edu-cards { grid-template-columns: 1fr; gap: 16px; }
  .edu-card { padding: 22px 18px; }
  .edu-card h3 { font-size: 16px; }
  .edu-card p { font-size: 12px; }
  .school-grid { grid-template-columns: 1fr; gap: 16px; }
  .school-card { padding: 18px 16px; }
  .school-card h4 { font-size: 15px; }
  .school-img { height: 130px; }
  .school-logo { font-size: 26px; letter-spacing: 2px; }

  /* ===== 励志语录 ===== */
  .motivation-grid { grid-template-columns: 1fr; gap: 14px; }
  .m-card { padding: 22px 18px; }
  .m-text { font-size: 14px; line-height: 1.75; margin: 10px 0 12px; }
  .m-quote { font-size: 42px; top: 4px; left: 12px; }
  .motivation-bottom { padding: 22px 16px; }
  .motivation-bottom p { font-size: 18px; }
  .hot-num { font-size: 26px; }

  /* ===== FAQ / 院校层次 / 流程 ===== */
  .faq-grid { grid-template-columns: 1fr; gap: 10px; }
  .faq-item { padding: 13px 16px; font-size: 13px; }
  .level-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .level-item { padding: 14px 12px; gap: 8px; }
  .level-num { width: 36px; height: 36px; font-size: 15px; }
  .level-label { font-size: 13px; }
  .why-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .why-item { padding: 22px 12px; }
  .why-icon { width: 52px; height: 52px; margin-bottom: 12px; }
  .why-icon i { font-size: 22px; }
  .why-item h4 { font-size: 14px; }
  .why-item p { font-size: 12px; }

  /* ===== 学位/学历详情页 ===== */
  .degree-conditions { grid-template-columns: 1fr; gap: 14px; }
  .deg-condition { padding: 22px 18px; }
  .deg-num { font-size: 38px; margin-bottom: 8px; }
  .deg-eng-grid { grid-template-columns: 1fr; gap: 14px; }
  .deg-eng-card { padding: 18px 16px; }
  .degree-uses { grid-template-columns: 1fr; gap: 14px; }
  .deg-use-item { padding: 20px 16px; gap: 12px; }
  .deg-use-icon { width: 40px; height: 40px; font-size: 16px; }
  .deg-use-item h4 { font-size: 15px; }
  .deg-use-item p { font-size: 12px; }
  .degree-flow { flex-direction: column; gap: 10px; }
  .deg-flow-step { width: 100%; padding: 16px 12px; }
  .deg-flow-arrow { transform: rotate(90deg); }
  .degree-schools { grid-template-columns: 1fr; gap: 14px; }
  .deg-school-card { padding: 18px 16px; }
  .degree-intro { padding: 18px 14px; }
  .degree-intro p { font-size: 14px; line-height: 1.85; }

  /* ===== 政策资讯 ===== */
  .policy-grid { grid-template-columns: 1fr; gap: 16px; }
  .policy-card { padding: 18px 16px; }
  .policy-card h3 { font-size: 15px; }
  .policy-summary p { font-size: 12px; }
  .policy-full { padding: 12px; font-size: 12px; line-height: 1.7; }

  /* ===== 专业查询 ===== */
  .difficulty-grid { grid-template-columns: 1fr; gap: 14px; }
  .diff-card { padding: 20px 16px; }
  .diff-card h4 { font-size: 15px; margin-bottom: 10px; }
  .diff-majors span { font-size: 12px; padding: 5px 11px; }
  .industry-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .industry-card { padding: 18px 12px; }
  .industry-icon { width: 44px; height: 44px; }
  .industry-icon i { font-size: 20px; }
  .industry-name { font-size: 14px; }
  .industry-majors { font-size: 12px; }
  .goal-grid { grid-template-columns: 1fr; gap: 12px; }
  .goal-card { padding: 16px; gap: 12px; }
  .goal-icon { width: 42px; height: 42px; }
  .goal-name { font-size: 15px; }
  .major-cards { grid-template-columns: 1fr; gap: 14px; }
  .major-card { padding: 18px 16px; }

  /* ===== 子页面 hero ===== */
  .page-hero { padding: 36px 0; }
  .page-hero h1 { font-size: 22px; }
  .page-hero p { font-size: 14px; }
  .info-block { margin-bottom: 28px; }
  .info-block h3 { font-size: 17px; margin-bottom: 12px; }
  .info-block p { font-size: 14px; line-height: 1.75; }
  .level-detail-grid { grid-template-columns: 1fr; gap: 12px; }
  .level-detail { padding: 18px 14px; }
  .level-detail-title { font-size: 16px; }
  .level-detail-desc { font-size: 13px; }
  .study-forms { flex-direction: column; gap: 12px; }
  .study-form { padding: 18px 14px; }
  .study-form i { font-size: 22px; }
  .study-form strong { font-size: 14px; }
  .study-form p { font-size: 12px; }
  .subject-grid { grid-template-columns: 1fr; gap: 10px; }
  .subject-item { padding: 14px; }

  /* ===== 证书展示 ===== */
  .cert-grid { grid-template-columns: 1fr; gap: 16px; }
  .cert-img-wrap { height: 180px; }
  .cert-info { padding: 16px 16px 18px; }
  .cert-info h4 { font-size: 17px; }
  .cert-features li { font-size: 12px; }

  /* ===== CTA ===== */
  .consult-cta { padding: 26px 18px; }
  .consult-cta h3 { font-size: 18px; }
  .consult-cta p { font-size: 13px; margin-bottom: 16px; }

  /* ===== 弹窗：移动端全屏化 ===== */
  .modal-overlay { align-items: flex-end; padding: 0; }
  .modal-box {
    width: 100%;
    max-width: 100%;
    max-height: 94vh;
    max-height: 94dvh;
    border-radius: 18px 18px 0 0;
    animation: modal-slide-up 0.3s ease;
  }
  @keyframes modal-slide-up {
    from { transform: translateY(100%); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
  }
  .modal-form-layout { flex-direction: column; gap: 0; }
  .modal-form-main { padding-right: 0; }
  .modal-form-sidebar {
    width: 100%;
    border-left: none;
    border-top: 1px solid var(--gray-200);
    padding-left: 0;
    padding-top: 18px;
    margin-top: 16px;
  }
  .advisor-card { position: static; padding: 14px; }
  .advisor-avatar { width: 54px; height: 54px; font-size: 22px; }
  .advisor-name { font-size: 16px; }
  .modal-header { padding: 16px 16px 12px; }
  .modal-title { font-size: 16px; }
  .modal-title-icon { width: 40px; height: 40px; }
  .modal-title-icon i { font-size: 18px; }
  .modal-body { padding: 16px; }
  .form-group input, .form-group select, .form-group textarea {
    padding: 12px 14px;
    font-size: 16px; /* ≥16px 避免 iOS 自动缩放 */
  }
  .form-group label { font-size: 13px; }
  .chat-messages { height: 240px; }
  .chat-bubble { max-width: 82%; font-size: 14px; padding: 9px 13px; }
  .modal-footer { padding: 10px 16px; }

  /* ===== 悬浮按钮：缩小并避开安全区 ===== */
  .float-consult-btn { bottom: 16px; right: 12px; }
  .float-consult-inner { padding: 12px 16px; min-width: auto; gap: 8px; box-shadow: 0 4px 16px rgba(196,30,58,0.4); }
  .float-icon { width: 34px; height: 34px; }
  .float-icon i { font-size: 15px; }
  .float-title { font-size: 13px; }
  .float-sub { font-size: 10px; }
  .float-dot { top: 6px; right: 6px; width: 10px; height: 10px; }

  .float-signup {
    width: 50px;
    height: 50px;
    font-size: 10px;
    left: 12px;
    bottom: 76px; /* 避开底部悬浮咨询按钮 */
    gap: 1px;
  }
  .float-signup i { font-size: 16px; }

  .admin-entry { bottom: 16px; left: 12px; padding: 6px 10px; font-size: 11px; }

  /* ===== 底部 ===== */
  .site-footer { padding: 36px 0 16px; }
  .footer-grid { grid-template-columns: 1fr; gap: 22px; margin-bottom: 22px; }
  .footer-col h4 { font-size: 14px; margin-bottom: 10px; }
  .footer-col p { font-size: 12px; }
  .footer-col ul li { font-size: 12px; margin-bottom: 6px; }
  .footer-bottom { padding-top: 14px; font-size: 11px; line-height: 1.7; }

  /* ===== 按钮：增大触摸区域 ===== */
  .btn { padding: 11px 20px; font-size: 14px; min-height: 40px; }
  .btn-lg { padding: 13px 28px; font-size: 15px; min-height: 46px; }
  .btn-sm { padding: 8px 14px; font-size: 12px; min-height: 34px; }

  /* ===== 表单输入框聚焦时避免 iOS 缩放（已在上方设置 font-size:16px） ===== */
}

/* ---------- 小手机 (≤480px) 进一步优化 ---------- */
@media (max-width: 480px) {
  .container { padding: 0 12px; }
  .header-inner { padding: 0 12px; height: 52px; }
  .logo-text { font-size: 14px; }
  .logo-levels { font-size: 9px; letter-spacing: 0; }

  /* 轮播图更紧凑 */
  .carousel { height: 280px; }
  .carousel-title { font-size: 18px; margin-bottom: 10px; letter-spacing: 0.5px; }
  .carousel-sub { font-size: 13px; margin-bottom: 14px; }
  .carousel-quote { font-size: 17px; margin-bottom: 10px; }
  .carousel-tag { font-size: 10px; padding: 4px 10px; }
  .carousel-btns { gap: 8px; }
  .carousel-btns .btn { padding: 9px 14px; font-size: 12px; }
  .carousel-btns .btn-lg { padding: 10px 18px; font-size: 13px; }
  .countdown-num { font-size: 30px; }
  .hero-stats { gap: 8px; }
  .stat-card { padding: 8px 10px; min-width: 70px; }
  .stat-card .stat-num { font-size: 18px; }

  /* 服务卡片更紧凑 */
  .service-card { padding: 16px 14px; gap: 12px; }
  .service-card-icon { width: 48px; height: 48px; }
  .service-card-info h3 { font-size: 15px; }

  /* 标题更小 */
  .section-wrap { padding: 30px 0; }
  .section-title { margin-bottom: 22px; }
  .section-title h2 { font-size: 18px; }
  .section-title p { font-size: 12px; }

  /* 励志区 */
  .motivation-bottom p { font-size: 16px; }
  .hot-num { font-size: 22px; }

  /* 弹窗更贴近全屏 */
  .modal-box { max-height: 96vh; max-height: 96dvh; border-radius: 14px 14px 0 0; }
  .chat-messages { height: 200px; }
  .chat-bubble { max-width: 88%; font-size: 13px; padding: 8px 12px; }
  .chat-input-row input { font-size: 16px; padding: 9px 12px; }

  /* 悬浮按钮再缩小 */
  .float-consult-inner { padding: 10px 14px; }
  .float-icon { width: 30px; height: 30px; }
  .float-icon i { font-size: 14px; }
  .float-title { font-size: 12px; }
  .float-sub { font-size: 9px; }
  .float-signup { width: 46px; height: 46px; bottom: 72px; }
  .float-signup i { font-size: 14px; }

  /* 学历层次单列 */
  .level-grid { grid-template-columns: 1fr; }

  /* 卡片标题更小 */
  .edu-card h3, .school-card h4 { font-size: 15px; }
  .page-hero h1 { font-size: 20px; }
  .page-hero p { font-size: 13px; }
}

/* ---------- 超小屏 (≤374px) iPhone SE 等 ---------- */
@media (max-width: 374px) {
  .container { padding: 0 10px; }
  .header-inner { padding: 0 10px; height: 50px; gap: 8px; }
  .logo-text { font-size: 13px; }
  .logo-levels { display: none; }
  .carousel { height: 260px; }
  .carousel-title { font-size: 16px; }
  .carousel-sub { font-size: 12px; }
  .countdown-num { font-size: 26px; }
  .section-title h2 { font-size: 17px; }
  .nav-link { padding: 12px 16px; font-size: 14px; }
  .main-nav { width: 85%; }
}

/* ---------- 横屏手机适配（短屏） ---------- */
@media (max-width: 900px) and (orientation: landscape) and (max-height: 500px) {
  .carousel { height: 240px; }
  .carousel-title { font-size: 18px; margin-bottom: 8px; }
  .carousel-sub { font-size: 13px; margin-bottom: 12px; }
  .carousel-quote { font-size: 16px; margin-bottom: 8px; }
  .hero-stats { margin-bottom: 12px; }
  .stat-card { padding: 8px 10px; min-width: 70px; }
  .stat-card .stat-num { font-size: 18px; }
  .section-wrap { padding: 28px 0; }
  .page-hero { padding: 28px 0; }
  .modal-box { max-height: 100vh; max-height: 100dvh; border-radius: 0; }
}

/* ---------- 触摸设备优化（去除 hover 依赖） ---------- */
@media (hover: none) {
  .service-card:hover,
  .school-card:hover,
  .edu-card:hover,
  .cert-card:hover,
  .why-item:hover,
  .diff-card:hover,
  .industry-card:hover,
  .m-card:hover,
  .level-item:hover,
  .goal-card:hover,
  .policy-card:hover,
  .major-card:hover,
  .faq-item:hover {
    transform: none;
    box-shadow: var(--shadow-sm);
  }
  .nav-link:hover,
  .nav-link-highlight:hover,
  .btn:hover,
  .float-consult-inner:hover,
  .float-btn:hover,
  .float-signup:hover {
    transform: none;
  }
  /* 触摸设备用 active 状态反馈 */
  .btn:active,
  .nav-link:active,
  .service-card:active,
  .school-card:active,
  .faq-item:active {
    opacity: 0.7;
    transition: opacity 0.1s;
  }
}

/* ---------- 防止 iOS Safari 底部安全区遮挡 ---------- */
@supports (padding: env(safe-area-inset-bottom)) {
  .site-footer { padding-bottom: calc(16px + env(safe-area-inset-bottom)); }
  .float-consult-btn { bottom: calc(16px + env(safe-area-inset-bottom)); }
  .float-signup { bottom: calc(76px + env(safe-area-inset-bottom)); }
  .admin-entry { bottom: calc(16px + env(safe-area-inset-bottom)); }
  body.nav-open .main-nav {
    padding-bottom: calc(24px + env(safe-area-inset-bottom));
  }
}

/* ========================================================== */
/* 强制移动端隐藏左右固定侧边栏（解决缓存未生效问题） */
/* ========================================================== */
@media (max-width: 768px) {
  .side-nav,
  .side-nav-left,
  .side-nav-right,
  #sideNavLeft,
  #sideNavRight {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
}

@media (max-width: 480px) {
  .carousel { height: 260px !important; }
  .carousel-title { font-size: 18px !important; }
  .carousel-quote { font-size: 17px !important; }
  .countdown-num { font-size: 30px !important; }
}
