/* roulang page: index */
:root {
      --color-brand-navy: #0F2942;
      --color-brand-dark: #0B1726;
      --color-brand-emerald: #059669;
      --color-brand-amber: #D97706;
      --color-surface-bg: #F8FAFC;
      --color-text-main: #0F172A;
      --color-text-body: #334155;
      --color-text-muted: #64748B;
      --color-border: #E2E8F0;
      --radius-card: 12px;
      --radius-btn: 8px;
      --shadow-soft: 0 4px 20px -2px rgba(15, 23, 42, 0.06);
      --shadow-hover: 0 12px 30px -4px rgba(15, 41, 66, 0.12);
      --transition-smooth: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    }
    
    body {
      color: var(--color-text-body);
      background-color: var(--color-surface-bg);
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      -webkit-font-smoothing: antialiased;
      overflow-x: hidden;
    }

    .card-hover-effect {
      transition: var(--transition-smooth);
    }
    .card-hover-effect:hover {
      transform: translateY(-4px);
      box-shadow: var(--shadow-hover);
    }

    .btn-brand-primary {
      background-color: var(--color-brand-emerald);
      color: #ffffff;
      border-radius: var(--radius-btn);
      transition: var(--transition-smooth);
    }
    .btn-brand-primary:hover {
      background-color: #047857;
      transform: translateY(-2px);
      box-shadow: 0 4px 14px rgba(5, 150, 105, 0.35);
    }

    .hero-glow-overlay {
      background: radial-gradient(circle at 50% 20%, rgba(5, 150, 105, 0.08) 0%, rgba(15, 41, 66, 0.02) 60%, transparent 100%);
    }

    .faq-panel {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.35s ease-out;
    }
    .faq-item.active .faq-panel {
      max-height: 320px;
    }
    .faq-item.active .faq-icon {
      transform: rotate(180deg);
    }
