/* roulang page: index */
/* 自定义 CSS 变量与全局视觉覆盖 – 暗夜中的理性光 */
    :root {
      --bg-deep: #0F1115;
      --bg-card: #1A1D24;
      --bg-footer: #090B10;
      --accent-cyan: #00E5A0;
      --text-primary: #FFFFFF;
      --text-secondary: #B0B8C1;
      --text-muted: #8A939F;
      --border-dim: rgba(255,255,255,0.08);
      --border-glow: rgba(0,229,160,0.25);
      --shadow-deep: 0 20px 35px -15px rgba(0,0,0,0.7);
      --radius-card: 8px;
      --radius-btn: 4px;
      --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "PingFang SC", "Microsoft YaHei", sans-serif;
      --transition-smooth: all 0.25s ease;
    }
    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }
    body {
      font-family: var(--font-sans);
      background-color: var(--bg-deep);
      color: var(--text-secondary);
      line-height: 1.8;
      font-weight: 400;
      -webkit-font-smoothing: antialiased;
    }
    /* 容器与栅格约束 */
    .container-custom {
      max-width: 1280px;
      margin: 0 auto;
      padding: 0 2rem;
    }
    @media (max-width: 768px) {
      .container-custom {
        padding: 0 1.5rem;
      }
    }
    /* 基础排版 */
    h1, h2, h3, h4 {
      color: var(--text-primary);
      letter-spacing: -0.02em;
    }
    h1 {
      font-weight: 700;
      font-size: clamp(2.5rem, 5vw, 4rem);
      line-height: 1.2;
    }
    h2 {
      font-weight: 600;
      font-size: 2.2rem;
      letter-spacing: -0.01em;
    }
    h3 {
      font-weight: 600;
      font-size: 1.5rem;
    }
    /* 导航样式 */
    .navbar {
      background-color: var(--bg-deep);
      border-bottom: 1px solid var(--border-dim);
      position: sticky;
      top: 0;
      z-index: 50;
      backdrop-filter: blur(8px);
    }
    .nav-link {
      color: var(--text-muted);
      transition: var(--transition-smooth);
      font-weight: 500;
      position: relative;
      padding: 0.5rem 0;
    }
    .nav-link:hover {
      color: #FFFFFF;
    }
    .nav-link.active {
      color: #FFFFFF;
    }
    .nav-link.active::after {
      content: '';
      position: absolute;
      bottom: -2px;
      left: 0;
      width: 100%;
      height: 3px;
      background-color: var(--accent-cyan);
      box-shadow: 0 0 10px rgba(0,229,160,0.5);
      border-radius: 2px;
    }
    .btn-primary {
      background-color: var(--accent-cyan);
      color: #0F1115;
      font-weight: 600;
      padding: 0.6rem 1.8rem;
      border-radius: var(--radius-btn);
      transition: var(--transition-smooth);
      border: none;
      cursor: pointer;
      display: inline-block;
      text-align: center;
      box-shadow: 0 4px 12px rgba(0,229,160,0.25);
    }
    .btn-primary:hover {
      background-color: #00f0b3;
      box-shadow: 0 0 20px rgba(0,229,160,0.4);
      transform: translateY(-1px);
    }
    .btn-outline {
      background: transparent;
      border: 1px solid var(--accent-cyan);
      color: var(--accent-cyan);
      font-weight: 600;
      padding: 0.6rem 1.8rem;
      border-radius: var(--radius-btn);
      transition: var(--transition-smooth);
      cursor: pointer;
    }
    .btn-outline:hover {
      background-color: rgba(0,229,160,0.08);
      box-shadow: 0 0 15px rgba(0,229,160,0.2);
    }
    /* 卡片组件 */
    .card-magazine {
      background-color: var(--bg-card);
      border-radius: var(--radius-card);
      border: 1px solid rgba(255,255,255,0.04);
      transition: var(--transition-smooth);
      overflow: hidden;
    }
    .card-magazine:hover {
      transform: translateY(-4px);
      box-shadow: var(--shadow-deep);
      border-top: 1px solid var(--accent-cyan);
      box-shadow: 0 20px 30px -15px rgba(0,0,0,0.8), 0 0 0 1px rgba(0,229,160,0.2);
    }
    /* 表单样式 */
    input, textarea {
      background-color: var(--bg-card);
      border: none;
      border-bottom: 1px solid #2A303A;
      color: white;
      padding: 0.8rem 0.5rem;
      width: 100%;
      transition: var(--transition-smooth);
      outline: none;
      font-family: var(--font-sans);
    }
    input:focus, textarea:focus {
      border-bottom-color: var(--accent-cyan);
      box-shadow: 0 4px 10px rgba(0,229,160,0.1);
    }
    input::placeholder, textarea::placeholder {
      color: #5A6575;
    }
    /* FAQ 手风琴 */
    .faq-item {
      border-bottom: 1px solid rgba(255,255,255,0.06);
    }
    .faq-question {
      cursor: pointer;
      padding: 1.5rem 0;
      display: flex;
      justify-content: space-between;
      align-items: center;
      font-weight: 600;
      color: var(--text-primary);
      transition: var(--transition-smooth);
    }
    .faq-question i {
      transition: transform 0.3s ease;
      color: var(--text-muted);
    }
    .faq-answer {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.4s ease, padding 0.4s ease;
      color: var(--text-secondary);
    }
    .faq-item.active .faq-question {
      color: var(--accent-cyan);
    }
    .faq-item.active .faq-question i {
      transform: rotate(45deg);
      color: var(--accent-cyan);
    }
    .faq-item.active .faq-answer {
      max-height: 200px;
      padding-bottom: 1.5rem;
    }
    /* 移动端汉堡菜单 */
    .mobile-menu {
      display: none;
    }
    @media (max-width: 768px) {
      .desktop-nav {
        display: none;
      }
      .mobile-menu {
        display: block;
      }
      #mobileNavContent {
        display: none;
        background-color: var(--bg-deep);
        border-top: 1px solid var(--border-dim);
      }
      #mobileNavContent.open {
        display: block;
      }
    }
    /* 动效 */
    .fade-in {
      animation: fadeInUp 0.9s ease forwards;
    }
    @keyframes fadeInUp {
      0% { opacity: 0; transform: translateY(20px); }
      100% { opacity: 1; transform: translateY(0); }
    }
