@charset "UTF-8";

:root {
  --primary-light: #E1F5FE;
  --primary: #29B6F6;
  --primary-dark: #0288D1;
  --bg-dark: #0D2C3E;
  --bg-light: #F5FAFC;
  --text-dark: #1A2B3C;
  --text-mid: #4A6572;
  --text-light: #78909C;
  --white: #FFFFFF;
  --border: #D0EBF5;
  --shadow: rgba(13,44,62,0.08);
  --shadow-hover: rgba(13,44,62,0.15);
}

* { margin:0; padding:0; box-sizing:border-box; }

html { scroll-behavior:smooth; font-size:16px; }

body {
  font-family: "Noto Serif SC", "Songti SC", "SimSun", "STSong", serif;
  color: var(--text-dark);
  background: var(--white);
  line-height:1.8;
  -webkit-font-smoothing:antialiased;
}

a { text-decoration:none; color:var(--primary-dark); transition:color 0.3s; }
a:hover { color:var(--primary); }

img { max-width:100%; height:auto; display:block; }

.container {
  max-width:1200px;
  margin:0 auto;
  padding:0 20px;
}

/* Header & Navigation */
.header {
  position:fixed;
  top:0; left:0; right:0;
  z-index:1000;
  transition:background 0.4s, box-shadow 0.4s;
  padding:15px 0;
}

.header.scrolled {
  background:rgba(13,44,62,0.95);
  backdrop-filter:blur(10px);
  box-shadow:0 2px 20px var(--shadow);
}

.header-inner {
  max-width:1200px;
  margin:0 auto;
  padding:0 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.logo {
  display:flex;
  align-items:center;
  gap:10px;
}

.logo-text {
  font-size:1.5rem;
  font-weight:700;
  color:var(--white);
  letter-spacing:2px;
}

.logo-sub {
  font-size:0.7rem;
  color:var(--primary-light);
  letter-spacing:3px;
  text-transform:uppercase;
  opacity:0.8;
}

.nav { display:flex; align-items:center; gap:35px; }

.nav a {
  color:rgba(255,255,255,0.85);
  font-size:0.9rem;
  font-weight:500;
  letter-spacing:1px;
  position:relative;
  padding:5px 0;
}

.nav a::after {
  content:'';
  position:absolute;
  bottom:0; left:0;
  width:0; height:2px;
  background:var(--primary);
  transition:width 0.3s;
}

.nav a:hover { color:var(--white); }
.nav a:hover::after { width:100%; }

.mobile-toggle {
  display:none;
  background:none;
  border:none;
  cursor:pointer;
  padding:5px;
}

.mobile-toggle span {
  display:block;
  width:25px;
  height:2px;
  background:var(--white);
  margin:5px 0;
  transition:0.3s;
}

/* Buttons */
.btn {
  display:inline-block;
  padding:12px 32px;
  border-radius:8px;
  font-size:0.9rem;
  font-weight:600;
  letter-spacing:1px;
  cursor:pointer;
  transition:all 0.3s ease;
  border:none;
  font-family:inherit;
}

.btn-primary {
  background:var(--primary);
  color:var(--white);
  box-shadow:0 4px 15px rgba(41,182,246,0.35);
}

.btn-primary:hover {
  background:var(--primary-dark);
  color:var(--white);
  transform:translateY(-2px);
  box-shadow:0 6px 25px rgba(41,182,246,0.45);
}

.btn-outline {
  background:transparent;
  color:var(--white);
  border:2px solid rgba(255,255,255,0.4);
}

.btn-outline:hover {
  background:var(--white);
  color:var(--bg-dark);
  border-color:var(--white);
}

/* Section Headers */
.section-header {
  text-align:center;
  margin-bottom:50px;
}

.section-header h2 {
  font-size:2rem;
  color:var(--bg-dark);
  margin-bottom:12px;
  font-weight:700;
}

.section-header p {
  color:var(--text-mid);
  font-size:1rem;
}

.section-header .line {
  width:60px;
  height:3px;
  background:var(--primary);
  margin:15px auto 0;
  border-radius:2px;
}

/* Footer */
.footer {
  background:var(--bg-dark);
  color:rgba(255,255,255,0.7);
  padding:60px 0 25px;
}

.footer-grid {
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr;
  gap:40px;
  margin-bottom:40px;
}

.footer-brand .logo-text { margin-bottom:15px; }

.footer-brand p {
  font-size:0.85rem;
  line-height:1.9;
  color:rgba(255,255,255,0.6);
}

.footer-title {
  font-size:1rem;
  color:var(--white);
  margin-bottom:20px;
  font-weight:600;
}

.footer-links { list-style:none; }
.footer-links li { margin-bottom:10px; }
.footer-links a {
  color:rgba(255,255,255,0.6);
  font-size:0.85rem;
  transition:color 0.3s;
}
.footer-links a:hover { color:var(--primary-light); }

.footer-contact p {
  font-size:0.85rem;
  margin-bottom:10px;
  color:rgba(255,255,255,0.6);
}

.footer-bottom {
  border-top:1px solid rgba(255,255,255,0.1);
  padding-top:20px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:0.8rem;
  color:rgba(255,255,255,0.5);
}

/* Breadcrumbs */
.breadcrumbs {
  background:var(--bg-light);
  padding:15px 0;
  border-bottom:1px solid var(--border);
}

.breadcrumbs-inner {
  max-width:1200px;
  margin:0 auto;
  padding:0 20px;
  font-size:0.85rem;
  color:var(--text-mid);
}

.breadcrumbs a { color:var(--text-mid); }
.breadcrumbs a:hover { color:var(--primary-dark); }

.breadcrumbs span { margin:0 8px; color:var(--text-light); }

/* Responsive */
@media (max-width:768px) {
  .nav { display:none; position:absolute; top:100%; left:0; right:0; background:var(--bg-dark); flex-direction:column; padding:20px; gap:15px; }
  .nav.active { display:flex; }
  .mobile-toggle { display:block; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .section-header h2 { font-size:1.5rem; }
}

@media (max-width:480px) {
  .footer-grid { grid-template-columns:1fr; gap:30px; }
  .footer-bottom { flex-direction:column; gap:10px; text-align:center; }
}

/* Scroll animations */
.fade-in {
  opacity:0;
  transform:translateY(30px);
  transition:opacity 0.6s ease, transform 0.6s ease;
}

.fade-in.visible {
  opacity:1;
  transform:translateY(0);
}

/* Card styles */
.card {
  background:var(--white);
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 4px 20px var(--shadow);
  transition:transform 0.3s, box-shadow 0.3s;
}

.card:hover {
  transform:translateY(-5px);
  box-shadow:0 8px 30px var(--shadow-hover);
}

/* Tag pills */
.tag {
  display:inline-block;
  padding:5px 14px;
  background:var(--primary-light);
  color:var(--primary-dark);
  border-radius:20px;
  font-size:0.8rem;
  margin:3px;
  transition:all 0.3s;
}

.tag:hover {
  background:var(--primary);
  color:var(--white);
}

/* Pagination */
.pagination {
  display:flex;
  justify-content:center;
  align-items:center;
  gap:8px;
  margin-top:50px;
}

.pagination a, .pagination span {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:40px;
  height:40px;
  padding:0 12px;
  border-radius:8px;
  font-size:0.9rem;
  color:var(--text-mid);
  background:var(--white);
  border:1px solid var(--border);
  transition:all 0.3s;
}

.pagination a:hover {
  background:var(--primary);
  color:var(--white);
  border-color:var(--primary);
}

.pagination .current {
  background:var(--primary);
  color:var(--white);
  border-color:var(--primary);
}
