/* roulang page: index */
:root {
      --primary-gradient: linear-gradient(135deg, #1e40af 0%, #0284c7 100%);
      --dark-mesh: radial-gradient(at 0% 0%, #1e3a8a 0px, transparent 50%), radial-gradient(at 100% 100%, #0f172a 0px, transparent 50%);
    }
    html {
      scroll-behavior: smooth;
    }
    body {
      background-color: #f8fafc;
      color: #334155;
      font-family: system-ui, -apple-system, 'Segoe UI', Roboto, 'PingFang SC', sans-serif;
      text-rendering: optimizeLegibility;
      -webkit-font-smoothing: antialiased;
    }
    .hero-bg {
      background-image: linear-gradient(rgba(15, 23, 42, 0.88), rgba(15, 23, 42, 0.94)), url('/assets/images/ce734abef1c7189c.webp');
      background-size: cover;
      background-position: center;
    }
    .dark-section-bg {
      background-image: linear-gradient(rgba(2, 6, 23, 0.95), rgba(11, 15, 25, 0.98)), url('/assets/images/ebb15e6f441b9626.webp');
      background-size: cover;
      background-position: center;
    }
    .card-shadow {
      box-shadow: 0 4px 20px -2px rgba(15, 23, 42, 0.05);
      transition: all 0.28s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .card-shadow:hover {
      box-shadow: 0 14px 32px -4px rgba(30, 64, 175, 0.14);
      transform: translateY(-4px);
    }
    .pulse-dot {
      display: inline-block;
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background-color: #10b981;
      box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7);
      animation: pulse-ring 2s infinite;
    }
    @keyframes pulse-ring {
      0% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7); }
      70% { box-shadow: 0 0 0 6px rgba(16, 185, 129, 0); }
      100% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0); }
    }
    .accordion-content {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.3s ease-out;
    }
    .accordion-item.active .accordion-content {
      max-height: 300px;
    }
    .accordion-item.active .accordion-icon {
      transform: rotate(180deg);
    }
    .tab-slide {
      display: none;
    }
    .tab-slide.active {
      display: block;
    }
