/* ================== style.css (修正版) ================== */
/* Reset */
* { box-sizing: border-box; margin:0; padding:0; }
html,body { height:100%; }

/* 全局 */
body {
  font-family: "Microsoft YaHei", "Segoe UI", Roboto, Arial, sans-serif;
  color:#1f2937;
  background:#fbfbfc;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  line-height:1.6;
}

/* header / nav */
header {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  background: rgba(255,255,255,0.95);
  backdrop-filter: blur(6px);
  border-bottom: 1px solid #eef2f6;
}
.header-inner {
  max-width:1150px; margin:0 auto; display:flex; align-items:center; justify-content:space-between;
  padding:12px 20px;
}
.site-logo { font-weight:800; color:#0b78d1; font-size:20px; }
.nav-links { display:flex; gap:16px; align-items:center; }
.nav-links a { color:#334155; text-decoration:none; padding:8px 10px; border-radius:8px; font-weight:600; }
.nav-links a:hover, .nav-links a.active { background: linear-gradient(90deg,#0b78d1,#0072ff); color:#fff; }

/* hero */
.hero {
  height:86vh;
  display:flex; align-items:center; justify-content:center; text-align:center;
  background: linear-gradient(rgba(3,7,18,0.28), rgba(3,7,18,0.28)), url('hero-background.png') center/cover no-repeat;
  color:#fff; padding:20px; 
}
.hero .wrap { max-width:980px; }
.hero h1 { font-size:44px; line-height:1.04; margin-bottom:14px; text-shadow: 0 8px 30px rgba(2,6,23,0.45); }
.hero p { font-size:18px; margin-bottom:20px; opacity:0.95; }

/* buttons */
.btn-primary {
  display:inline-block; padding:12px 24px; border-radius:999px; background: linear-gradient(135deg,#00c6ff,#0072ff);
  color:#fff; font-weight:700; box-shadow:0 10px 30px rgba(11,120,209,0.12);
  border:0; cursor:pointer; text-decoration:none;
}
.btn-ghost {
  display:inline-block; padding:10px 18px; border-radius:8px; background:#fff; color:#0b78d1; font-weight:700; border:0; cursor:pointer;
}

/* 修复 Header 遮挡问题：增加顶部 padding */
.container { 
  max-width:1150px; 
  margin: 0 auto; 
  padding: 80px 20px 60px; 
}

/* features */
.features { text-align:center; margin-top:8px; }
.feature-list { display:flex; gap:14px; justify-content:center; margin-top:16px; flex-wrap:wrap; }
.feature { background:#fff; padding:14px 18px; border-radius:12px; box-shadow:0 8px 30px rgba(2,6,23,0.04); min-width:180px; font-weight:700; color:#0b78d1; }

/* services preview (grid) */
.services-preview { margin-top:28px; text-align:center; }
.services-grid { display:grid; gap:20px; margin-top:18px; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.service-card {
  background:#fff; padding:22px; border-radius:14px; text-align:left; box-shadow:0 10px 30px rgba(2,6,23,0.04);
}
.service-card .icon { font-size:26px; color:#0b78d1; margin-bottom:10px; }
.service-card h3 { margin-bottom:8px; }
.service-card p { color:#475569; font-size:14px; line-height:1.6; }

/* 师资照片排版调整 */
.teacher-board {
  margin-top:22px; background:#fff; border-radius:14px; box-shadow:0 10px 30px rgba(2,6,23,0.04);
  padding:18px; 
  display:flex; 
  gap:24px; 
  align-items:center; 
  flex-direction:row; /* 并排布局 */
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  text-align: left;
}
.teacher-board img { 
  width:100%; 
  max-width:300px; /* 调整图片尺寸 */
  height: auto;
  border-radius:12px; 
  object-fit:cover; 
  box-shadow:0 10px 30px rgba(2,6,23,0.06); 
  flex-shrink: 0; 
}
.teacher-board .teacher-info {
  flex-grow: 1;
}

/* 数据滚动区域样式 */
.stats-counter {
  margin: 40px auto;
  padding: 30px 20px;
  background: #e0f2fe; 
  border-radius: 16px;
  text-align: center;
  box-shadow: 0 10px 30px rgba(11,120,209,0.1);
}
.stats-grid {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 15px;
}
.stat-item {
  color: #0b78d1;
  font-weight: 800;
  min-width: 150px;
}
.stat-item .count {
  font-size: 32px;
  display: block;
  line-height: 1.2;
}
.stat-item .label {
  font-size: 14px;
  color: #1f2937;
  margin-top: 4px;
}

/* testimonials */
.testimonials-grid { margin-top:16px; display:grid; gap:16px; grid-template-columns: repeat(auto-fit,minmax(240px,1fr)); }
.testimonial { background:#fff; padding:18px; border-radius:12px; box-shadow:0 8px 20px rgba(2,6,23,0.04); }
.testimonial p { color:#374151; line-height:1.6; }
.testimonial .meta { margin-top:10px; color:#6b7280; font-weight:700; font-size:13px; }

/* FAQ */
.faq-section { margin-top:30px; }
.faq-item { background:#fff; padding:14px; border-radius:10px; margin-bottom:12px; box-shadow:0 8px 30px rgba(2,6,23,0.04); }
.faq-question { font-weight:700; color:#0b78d1; cursor:pointer; }
.faq-answer { margin-top:8px; color:#475569; }

/* modal (price) */
.modal { display:none; position:fixed; inset:0; z-index:2200; background: rgba(3,7,18,0.45); backdrop-filter: blur(6px); justify-content:center; align-items:center; padding:20px; }
.modal-panel {
  width:420px; max-width:94%; background:linear-gradient(180deg, rgba(255,255,255,0.98), #fff);
  border-radius:14px; padding:20px; box-shadow:0 18px 60px rgba(2,6,23,0.28); position:relative;
}
.modal-close { position:absolute; right:12px; top:10px; font-size:20px; color:#374151; cursor:pointer; }
.modal h3 { text-align:center; color:#0b78d1; margin-bottom:12px; }
.modal label { display:block; margin-top:8px; font-weight:700; color:#1f2937; font-size:13px; }
.modal select { width:100%; padding:10px; border-radius:8px; border:1px solid #e6e9ef; margin-top:6px; font-size:14px; background:#fff; }
.price-box { margin-top:14px; padding:12px; background: linear-gradient(90deg,#f8fafc,#ffffff); border-radius:10px; text-align:center; font-weight:700; color:#0b2340; }
.price-box .discount { color:#e74c3c; font-weight:900; display:block; margin-top:6px; font-size:15px; }
.modal .modal-button-container { text-align: center; margin-top: 12px; }


/* contact */
.contact-grid { display:grid; gap:18px; grid-template-columns: repeat(auto-fit,minmax(260px,1fr)); margin-top:18px; }
.contact-card { background:#fff; padding:18px; border-radius:12px; box-shadow:0 8px 30px rgba(2,6,23,0.04); }

/* footer */
.site-footer { background:#0b2340; color:#cfe6ff; padding:18px; text-align:center; margin-top:30px; }

/* floating chat */
.floating-chat { position:fixed; right:18px; bottom:18px; z-index:2100; background:#10b981; color:#fff; padding:12px 16px; border-radius:999px; box-shadow:0 12px 40px rgba(16,185,129,0.16); text-decoration:none; font-weight:800; }

/* responsive */
@media (max-width:920px) {
  .hero h1 { font-size:28px; }
  .service-card { padding:16px; }
  .modal-panel { width:92%; }
  /* 移动端师资图片/文字改为上下堆叠 */
  .teacher-board {
      flex-direction: column; 
      text-align: center;
  }
  .teacher-board img { 
      max-width: 90%; 
  }
}