/* roulang page: index */
:root {
      --primary: #0F172A;
      --brand-deep: #1E293B;
      --accent-green: #10B981;
      --accent-emerald: #059669;
      --accent-sky: #0EA5E9;
      --bg-light: #F8FAFC;
      --surface: #FFFFFF;
      --text-main: #1E293B;
      --text-muted: #64748B;
      --border-soft: rgba(226, 232, 240, 0.9);
      --shadow-sm: 0 1px 3px 0 rgba(0,0,0,0.04), 0 10px 15px -3px rgba(0,0,0,0.02);
      --shadow-hover: 0 20px 25px -5px rgba(15, 23, 42, 0.08), 0 8px 10px -6px rgba(15, 23, 42, 0.04);
    }
    html {
      scroll-behavior: smooth;
    }
    body {
      background-color: var(--bg-light);
      color: var(--text-main);
      font-family: 'Inter', system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;
      overflow-x: hidden;
    }
    .custom-shadow {
      box-shadow: var(--shadow-sm);
      transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .custom-shadow:hover {
      box-shadow: var(--shadow-hover);
      transform: translateY(-3px);
    }
    .text-balance {
      text-wrap: balance;
    }
    .bg-grid-pattern {
      background-image: radial-gradient(rgba(255, 255, 255, 0.12) 1px, transparent 1px);
      background-size: 24px 24px;
    }
    .badge-capsule {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      padding: 0.3rem 0.85rem;
      border-radius: 9999px;
      font-size: 0.75rem;
      font-weight: 600;
      letter-spacing: 0.05em;
      text-transform: uppercase;
      background-color: rgba(16, 185, 129, 0.12);
      color: #059669;
      border: 1px solid rgba(16, 185, 129, 0.25);
    }
