* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'Microsoft YaHei',sans-serif; color:#333; line-height:1.6; }
a { text-decoration:none; color:inherit; }
img { max-width:100%; }

.header { background:#8B0000; position:sticky; top:0; z-index:1000; box-shadow:0 2px 10px rgba(0,0,0,0.1); }
.header-container { max-width:1200px; margin:0 auto; padding:0 20px; height:70px; display:flex; align-items:center; justify-content:space-between; }
.logo-link { display:flex; align-items:center; gap:12px; color:#fff; }
.site-name { font-size:22px; font-weight:bold; }
.nav { display:flex; gap:32px; }
.nav-item { color:#fff; font-size:16px; padding:8px 0; border-bottom:2px solid transparent; transition:all 0.3s; }
.nav-item:hover,.nav-item.active { border-bottom-color:#C08081; color:#C08081; }
.btn { padding:10px 24px; border:none; border-radius:4px; font-size:16px; cursor:pointer; transition:all 0.3s; }
.btn-primary { background:#D4AF37; color:#8B0000; font-weight:bold; }
.btn-primary:hover { background:#F5DEB3; transform:translateY(-2px); }
.btn-light { background:#fff; color:#8B0000; font-weight:bold; }
.btn-light:hover { background:#f0f0f0; }
.hamburger-btn { display:none; background:none; border:none; color:#fff; font-size:28px; cursor:pointer; }
.mobile-nav { background:#A52A2A; padding:16px; display:none; flex-direction:column; gap:16px; }
.mobile-nav-item { color:#fff; padding:8px 0; font-size:16px; border-bottom:1px solid rgba(255,255,255,0.2); }
.mobile-nav-item:last-child { border-bottom:none; }

.banner-section { position:relative; overflow:hidden; }
.banner-slider { position:relative; }
.banner-slide { display:none; }
.banner-slide.active { display:block; }
.banner-content { text-align:center; color:#fff; max-width:800px; padding:0 20px; }
.banner-title { font-size:48px; margin-bottom:16px; }
.banner-subtitle { font-size:22px; margin-bottom:32px; }
.slider-arrow { position:absolute; top:50%; transform:translateY(-50%); background:rgba(255,255,255,0.3); color:#fff; border:none; font-size:32px; padding:12px 20px; cursor:pointer; transition:all 0.3s; border-radius:4px; }
.slider-arrow:hover { background:rgba(255,255,255,0.5); }
.slider-arrow-left { left:20px; }
.slider-arrow-right { right:20px; }
.slider-dots { position:absolute; bottom:20px; left:50%; transform:translateX(-50%); display:flex; gap:12px; }
.slider-dot { width:12px; height:12px; border-radius:50%; background:rgba(255,255,255,0.5); cursor:pointer; transition:all 0.3s; }
.slider-dot.active { background:#D4AF37; width:36px; border-radius:6px; }

.main { max-width:1200px; margin:0 auto; padding:40px 20px; }
.section { margin-bottom:60px; }
.section-title { font-size:32px; color:#8B0000; text-align:center; margin-bottom:40px; position:relative; padding-bottom:16px; }
.section-title::after { content:''; position:absolute; bottom:0; left:50%; transform:translateX(-50%); width:80px; height:3px; background:#D4AF37; }
.section-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:32px; }
.section-more { color:#8B0000; font-size:16px; border-bottom:1px solid transparent; transition:all 0.3s; }
.section-more:hover { border-bottom-color:#8B0000; }

.advantages-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.advantage-card { background:#fff; padding:32px; border-radius:8px; box-shadow:0 4px 12px rgba(0,0,0,0.08); text-align:center; transition:all 0.3s; border-top:3px solid #C08081; }
.advantage-card:hover { transform:translateY(-8px); box-shadow:0 8px 24px rgba(0,0,0,0.12); }
.advantage-card-title { font-size:20px; color:#8B0000; margin-bottom:12px; }
.advantage-card-desc { color:#666; }

.products-grid,.products-grid-full,.news-grid,.news-grid-full,.courses-grid { display:grid; gap:24px; }
.products-grid,.news-grid { grid-template-columns:repeat(3,1fr); }
.products-grid-full,.news-grid-full,.courses-grid { grid-template-columns:repeat(3,1fr); }

.page-banner-title { color:#fff; font-size:36px; }
.breadcrumb { max-width:1200px; margin:20px auto; padding:0 20px; color:#666; font-size:14px; }
.breadcrumb a:hover { color:#8B0000; }

.main-sidebar { display:flex; gap:32px; }
.sidebar { width:280px; flex-shrink:0; background:#fff; padding:24px; border-radius:8px; box-shadow:0 2px 8px rgba(0,0,0,0.06); height:fit-content; position:sticky; top:90px; }
.sidebar-title { font-size:20px; color:#8B0000; margin-bottom:20px; padding-bottom:12px; border-bottom:2px solid #C08081; }
.category-list { display:flex; flex-direction:column; gap:12px; }
.category-item { padding:10px 16px; border-radius:4px; background:#f5f5f5; color:#333; transition:all 0.3s; }
.category-item:hover,.category-item.active { background:#8B0000; color:#fff; }
.content-area { flex:1; }

.category-tabs { display:flex; gap:16px; margin-bottom:32px; flex-wrap:wrap; justify-content:center; }
.category-tab { padding:10px 24px; border-radius:20px; background:#f5f5f5; color:#333; transition:all 0.3s; cursor:pointer; }
.category-tab:hover,.category-tab.active { background:#8B0000; color:#fff; }

.pagination { display:flex; gap:12px; justify-content:center; margin-top:40px; }
.pagination-item { padding:8px 16px; border-radius:4px; background:#f5f5f5; color:#333; transition:all 0.3s; }
.pagination-item:hover,.pagination-item.active { background:#8B0000; color:#fff; }

.main-single { max-width:900px; }
.article-title { font-size:32px; color:#333; margin-bottom:16px; }
.article-meta { font-size:14px; color:#666; margin-bottom:24px; padding-bottom:16px; border-bottom:1px solid #eee; }
.article-meta-item { margin-right:24px; }
.article-cover { margin-bottom:24px; }
.article-summary { background:#f5f5f5; padding:20px; border-radius:8px; margin-bottom:24px; color:#555; border-left:4px solid #C08081; }
.article-content { font-size:16px; color:#333; line-height:1.8; }
.article-content img { max-width:100%; border-radius:8px; margin:16px 0; }

.about-company-desc { font-size:16px; color:#555; line-height:1.8; text-align:justify; }
.qual-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; justify-items:center; }
.history-timeline { position:relative; padding-left:30px; max-width:800px; margin:0 auto; }
.history-timeline::before { content:''; position:absolute; left:12px; top:0; bottom:0; width:2px; background:#C08081; }
.history-item { position:relative; margin-bottom:40px; }
.history-item::before { content:''; position:absolute; left:-28px; top:4px; width:18px; height:18px; border-radius:50%; background:#8B0000; border:3px solid #D4AF37; }
.history-year { font-size:24px; font-weight:bold; color:#8B0000; margin-bottom:8px; }
.history-content { font-size:16px; color:#555; background:#fff; padding:16px; border-radius:8px; box-shadow:0 2px 8px rgba(0,0,0,0.06); }
.contact-info { max-width:600px; margin:0 auto; }
.contact-item { display:flex; gap:12px; margin-bottom:20px; font-size:16px; }
.contact-label { font-weight:bold; color:#8B0000; min-width:80px; }

.footer { background:#5c0000; color:#fff; padding:60px 0 20px; }
.footer-container { max-width:1200px; margin:0 auto; padding:0 20px; display:grid; grid-template-columns:repeat(3,1fr); gap:40px; }
.footer-title { font-size:22px; margin-bottom:16px; }
.footer-desc { color:#ccc; font-size:14px; line-height:1.8; }
.footer-subtitle { font-size:18px; margin-bottom:16px; color:#D4AF37; }
.footer-link { display:block; color:#ccc; font-size:14px; margin-bottom:8px; transition:all 0.3s; }
.footer-link:hover { color:#C08081; padding-left:4px; }
.footer-divider { max-width:1200px; margin:32px auto; height:1px; background:#B22222; }
.footer-bottom { max-width:1200px; margin:0 auto; padding:0 20px; text-align:center; }
.footer-copyright { color:#999; font-size:14px; }

.modal-overlay { position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.6); display:flex; align-items:center; justify-content:center; z-index:9999; }
.modal-dialog { background:#fff; border-radius:8px; padding:40px; width:90%; max-width:480px; position:relative; box-shadow:0 10px 40px rgba(0,0,0,0.2); }
.modal-close { position:absolute; top:12px; right:16px; background:none; border:none; font-size:28px; cursor:pointer; color:#999; line-height:1; transition:all 0.3s; }
.modal-close:hover { color:#8B0000; }
.modal-dialog h3 { font-size:24px; color:#8B0000; margin-bottom:24px; text-align:center; }
.modal-form .modal-input { display:block; width:100%; margin-bottom:16px; padding:12px 16px; border:1px solid #ddd; border-radius:4px; font-size:16px; transition:all 0.3s; }
.modal-form .modal-input:focus { outline:none; border-color:#C08081; box-shadow:0 0 0 2px rgba(192,128,129,0.2); }

@media (max-width: 992px) {
  .advantages-grid { grid-template-columns:repeat(2,1fr); }
  .products-grid,.news-grid,.products-grid-full,.news-grid-full,.courses-grid,.qual-grid { grid-template-columns:repeat(2,1fr); }
  .main-sidebar { flex-direction:column; }
  .sidebar { width:100%; position:static; }
  .footer-container { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 768px) {
  .nav { display:none; }
  .hamburger-btn { display:block; }
  .banner-title { font-size:32px; }
  .banner-subtitle { font-size:18px; }
  .advantages-grid { grid-template-columns:1fr; }
  .products-grid,.news-grid,.products-grid-full,.news-grid-full,.courses-grid,.qual-grid { grid-template-columns:1fr; }
  .footer-container { grid-template-columns:1fr; text-align:center; }
  .section-header { flex-direction:column; gap:16px; align-items:flex-start; }
}