/* roulang page: index */
:root {
      --primary-color: #1B4D3E;
      --accent-color: #D47A27;
      --bg-warm: #F8F7F4;
      --text-dark: #141A18;
    }
    html {
      scroll-behavior: smooth;
      font-feature-settings: "tnum";
    }
    body {
      background-color: var(--bg-warm);
      color: var(--text-dark);
      font-family: 'PingFang SC', 'Noto Sans SC', 'Microsoft YaHei', sans-serif;
      overflow-x: hidden;
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }
    *, *::before, *::after {
      box-sizing: inherit;
    }
    .badge-eyebrow {
      display: inline-flex;
      align-items: center;
      padding: 0.35rem 0.85rem;
      border-radius: 9999px;
      font-size: 0.8125rem;
      font-weight: 600;
      letter-spacing: 0.05em;
      background: rgba(27, 77, 62, 0.08);
      color: #1B4D3E;
      margin-bottom: 0.875rem;
    }
    .card-hover {
      transition: all 0.3s cubic-bezier(0.22, 1, 0.36, 1);
    }
    .card-hover:hover {
      transform: translateY(-4px);
      box-shadow: 0 16px 32px -6px rgba(27, 77, 62, 0.12);
      border-color: rgba(212, 122, 39, 0.35);
    }
    .hero-bg-cover {
      background: linear-gradient(135deg, rgba(248, 247, 244, 0.94) 0%, rgba(248, 247, 244, 0.82) 100%), url('/assets/images/3eaca8e5bd01c6b7.webp') center/cover no-repeat;
    }
    .dark-pattern-bg {
      background: linear-gradient(180deg, #11221E 0%, #0C1A17 100%);
    }
    .accordion-content {
      transition: max-height 0.3s ease-out, opacity 0.3s ease;
      max-height: 0;
      overflow: hidden;
      opacity: 0;
    }
    .accordion-item.active .accordion-content {
      max-height: 280px;
      opacity: 1;
    }
    .accordion-item.active .accordion-icon {
      transform: rotate(180deg);
    }
    .tabular-numbers {
      font-variant-numeric: tabular-nums;
    }
