/* roulang page: index */
/* 设计变量与全局样式 */
    :root {
      --deep-charcoal: #1C2426;
      --bronze-gold: #C8A96E;
      --matte-cream: #F7F4EF;
      --warm-sand: #E3D7C5;
      --dark-wine: #7A3B3B;
      --text-primary: #1C2426;
      --text-on-dark: #F7F4EF;
      --text-muted: #5A6265;
      --card-shadow: 0 4px 12px rgba(0,0,0,0.06);
      --card-shadow-hover: 0 12px 24px rgba(0,0,0,0.12);
      --transition-base: all 0.25s ease;
      --border-radius-card: 16px;
      --border-radius-btn: 40px;
    }

    body {
      font-family: 'PingFang SC', 'Microsoft YaHei', 'Noto Sans SC', system-ui, -apple-system, sans-serif;
      background-color: #FFFFFF;
      color: var(--text-primary);
      line-height: 1.6;
      -webkit-font-smoothing: antialiased;
    }

    .font-inter {
      font-family: 'Inter', 'PingFang SC', 'Microsoft YaHei', sans-serif;
    }

    .container-custom {
      max-width: 1280px;
      margin-left: auto;
      margin-right: auto;
      padding-left: 24px;
      padding-right: 24px;
    }

    /* 导航固定与样式 */
    .navbar {
      background-color: var(--deep-charcoal);
      transition: var(--transition-base);
    }
    .nav-link {
      color: var(--matte-cream);
      transition: var(--transition-base);
      font-weight: 500;
      position: relative;
    }
    .nav-link:hover {
      color: var(--bronze-gold);
    }
    .nav-link.active {
      color: var(--bronze-gold);
    }
    .nav-link.active::after {
      content: '';
      position: absolute;
      bottom: -6px;
      left: 0;
      width: 100%;
      height: 2px;
      background-color: var(--bronze-gold);
      border-radius: 2px;
    }

    /* 按钮体系 */
    .btn-primary {
      background-color: var(--bronze-gold);
      color: var(--deep-charcoal);
      font-weight: 600;
      border-radius: var(--border-radius-btn);
      padding: 14px 32px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      transition: var(--transition-base);
      box-shadow: 0 4px 12px rgba(200,169,110,0.25);
      letter-spacing: 0.5px;
    }
    .btn-primary:hover {
      background-color: #d4b87a;
      box-shadow: 0 0 18px rgba(200,169,110,0.45);
      transform: translateY(-2px);
    }
    .btn-secondary {
      background-color: transparent;
      color: var(--matte-cream);
      border: 2px solid var(--warm-sand);
      font-weight: 600;
      border-radius: var(--border-radius-btn);
      padding: 12px 32px;
      transition: var(--transition-base);
    }
    .btn-secondary:hover {
      border-color: var(--bronze-gold);
      color: var(--bronze-gold);
      background-color: rgba(200,169,110,0.05);
    }

    /* Hero 背景纹理 */
    .hero-bg {
      background: radial-gradient(circle at 20% 30%, rgba(200,169,110,0.08) 0%, transparent 40%),
                  linear-gradient(135deg, #1C2426 0%, #232e30 100%);
      position: relative;
      overflow: hidden;
    }
    .hero-bg::before {
      content: "";
      position: absolute;
      top: 0; left: 0; width: 100%; height: 100%;
      background-image: radial-gradient(circle at 30% 45%, rgba(200,169,110,0.15) 1px, transparent 1px);
      background-size: 40px 40px;
      opacity: 0.5;
      pointer-events: none;
    }

    /* 卡片样式 */
    .service-card {
      background-color: var(--matte-cream);
      border: 1px solid var(--warm-sand);
      border-radius: var(--border-radius-card);
      box-shadow: var(--card-shadow);
      transition: var(--transition-base);
      padding: 32px;
    }
    .service-card:hover {
      border-color: var(--bronze-gold);
      box-shadow: var(--card-shadow-hover);
      transform: translateY(-8px);
    }
    .icon-circle {
      width: 64px;
      height: 64px;
      border-radius: 50%;
      border: 2px solid var(--bronze-gold);
      display: flex;
      align-items: center;
      justify-content: center;
      color: var(--bronze-gold);
      font-size: 28px;
      background-color: rgba(200,169,110,0.05);
      transition: var(--transition-base);
    }
    .service-card:hover .icon-circle {
      background-color: rgba(200,169,110,0.15);
      color: #b4923f;
    }

    /* 数据徽章 */
    .stat-number {
      font-family: 'Inter', sans-serif;
      font-weight: 700;
      font-size: 3rem;
      color: var(--bronze-gold);
      line-height: 1.2;
    }

    /* 方案图文区 */
    .solution-img {
      border-radius: 20px;
      border: 1px solid var(--bronze-gold);
      box-shadow: 0 8px 20px rgba(0,0,0,0.08);
      transition: var(--transition-base);
    }
    .solution-img:hover {
      transform: scale(1.01);
      box-shadow: 0 12px 28px rgba(0,0,0,0.15);
    }

    /* FAQ 手风琴 */
    .faq-item {
      background-color: var(--matte-cream);
      border: 1px solid var(--warm-sand);
      border-radius: 12px;
      margin-bottom: 16px;
      transition: var(--transition-base);
    }
    .faq-item[open] {
      border-color: var(--bronze-gold);
      box-shadow: 0 4px 12px rgba(200,169,110,0.1);
    }
    .faq-summary {
      padding: 20px 24px;
      font-weight: 600;
      cursor: pointer;
      display: flex;
      align-items: center;
      gap: 12px;
      list-style: none;
    }
    .faq-summary::-webkit-details-marker { display: none; }
    .faq-summary .q-mark {
      color: var(--bronze-gold);
      font-weight: 700;
      font-size: 1.25rem;
    }
    .faq-content {
      padding: 0 24px 20px 60px;
      color: var(--text-muted);
      line-height: 1.7;
    }

    /* CTA 横幅 */
    .cta-banner {
      background: linear-gradient(180deg, #1C2426 0%, #1f2a2c 100%);
      position: relative;
    }
    .cta-banner::after {
      content: "";
      position: absolute;
      top: 0; left: 0; width: 100%; height: 100%;
      background: radial-gradient(circle at 50% 30%, rgba(200,169,110,0.12) 0%, transparent 70%);
      pointer-events: none;
    }

    /* 移动端菜单 */
    .mobile-menu {
      background-color: var(--deep-charcoal);
    }

    @media (max-width: 768px) {
      .stat-number { font-size: 2.2rem; }
      .hero-title { font-size: 2.2rem !important; }
      .container-custom { padding-left: 20px; padding-right: 20px; }
      .service-card { padding: 24px; }
    }
