:root {
  --primary: #C0392B;
  --primary-dark: #922B21;
  --primary-light: #E74C3C;
  --secondary: #1A1A2E;
  --accent: #F39C12;
  --navy: #0f2a4a;
  --navy-mid: #13315c;
  --steel: #5b6b80;
  --line: #dde3ec;
}

body { background: #f1f4f8; }

::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: #e3e8f0; }
::-webkit-scrollbar-thumb { background: var(--navy-mid); border-radius: 6px; }
::-webkit-scrollbar-thumb:hover { background: var(--navy); }

::selection { background: var(--navy); color: #fff; }

.brand-gradient {
  background: linear-gradient(135deg, var(--navy) 0%, var(--navy-mid) 60%, #1d4373 100%);
}

.card-shadow { box-shadow: 0 1px 2px rgba(15,42,74,.06), 0 8px 24px -8px rgba(15,42,74,.12); }
.card-shadow-hover { transition: box-shadow .25s ease, transform .25s ease; }
.card-shadow-hover:hover { box-shadow: 0 4px 8px rgba(15,42,74,.10), 0 18px 40px -12px rgba(15,42,74,.22); transform: translateY(-3px); }

.section-eyebrow {
  display: inline-flex; align-items: center; gap: .5rem;
  font-size: .7rem; font-weight: 700; letter-spacing: .14em;
  text-transform: uppercase; color: var(--navy-mid);
}
.section-eyebrow::before {
  content: ""; width: 1.75rem; height: 2px; background: var(--navy-mid);
}

/* 移动端抽屉导航 */
.nav { transition: transform .3s ease; }
@media (max-width: 1023px) {
  .nav {
    position: fixed; top: 0; right: 0; bottom: 0;
    width: 82%; max-width: 320px;
    flex-direction: column; align-items: flex-start;
    background: #ffffff;
    padding: 5.5rem 1.75rem 2rem;
    transform: translateX(100%);
    z-index: 60; overflow-y: auto;
    box-shadow: -12px 0 40px -16px rgba(15,42,74,.4);
  }
  .nav.active { transform: translateX(0); }
  .menu-overlay {
    position: fixed; inset: 0;
    background: rgba(15,42,74,.55);
    opacity: 0; visibility: hidden;
    transition: opacity .3s ease;
    z-index: 55;
  }
  .menu-overlay.active { opacity: 1; visibility: visible; }
  body.menu-open { overflow: hidden; }
}

/* FAQ 折叠 */
.faq-answer {
  max-height: 0; overflow: hidden; opacity: 0;
  transition: max-height .3s ease, opacity .3s ease;
}
.faq-icon { transition: transform .25s ease; }
.faq-item.active { border-color: var(--navy-mid); }

/* 回到顶部 */
.back-to-top {
  opacity: 0; visibility: hidden;
  transition: opacity .3s ease, transform .3s ease;
  transform: translateY(8px);
}
.back-to-top.visible { opacity: 1; visibility: visible; transform: translateY(0); }

@media print {
  header, footer, nav, .no-print { display: none !important; }
  body { background: #fff; color: #000; }
}
