/* roulang page: index */
:root {
      --primary: #0A58CA;
      --primary-dark: #1E40AF;
      --accent-red: #FF3B30;
      --accent-green: #00C48C;
      --bg-light: #F8FAFC;
      --text-main: #0F172A;
      --text-muted: #64748B;
      --border-color: #E2E8F0;
      --radius-card: 1.5rem;
      --shadow-soft: 0 10px 25px -5px rgba(10, 88, 202, 0.05), 0 8px 10px -6px rgba(10, 88, 202, 0.04);
      --shadow-hover: 0 20px 30px -10px rgba(10, 88, 202, 0.15);
    }
    html {
      scroll-behavior: smooth;
    }
    body {
      background-color: var(--bg-light);
      color: var(--text-main);
      font-family: 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', system-ui, sans-serif;
      overflow-x: hidden;
    }
    .custom-container {
      width: 100%;
      max-width: 1240px;
      margin-left: auto;
      margin-right: auto;
      padding-left: 1.25rem;
      padding-right: 1.25rem;
    }
    .gradient-hero-bg {
      background: radial-gradient(circle at 50% 10%, rgba(10, 88, 202, 0.15) 0%, rgba(248, 250, 252, 0.95) 75%),
                  url('/assets/images/22280622bb2059f9.webp') center/cover no-repeat;
    }
    .card-hover-effect {
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .card-hover-effect:hover {
      transform: translateY(-4px);
      box-shadow: var(--shadow-hover);
    }
    .badge-pill {
      display: inline-flex;
      align-items: center;
      padding: 0.25rem 0.75rem;
      border-radius: 9999px;
      font-size: 0.75rem;
      font-weight: 600;
      letter-spacing: 0.025em;
    }
    .status-pulse {
      position: relative;
    }
    .status-pulse::after {
      content: '';
      position: absolute;
      width: 100%;
      height: 100%;
      border-radius: 50%;
      background-color: inherit;
      animation: pulse-ring 1.8s cubic-bezier(0.24, 0, 0.38, 1) infinite;
    }
    @keyframes pulse-ring {
      0% { transform: scale(0.95); opacity: 0.8; }
      100% { transform: scale(2.2); opacity: 0; }
    }
