/* roulang page: index */
:root {
      --primary: #0F2F44;
      --primary-dark: #091E2C;
      --accent: #EA580C;
      --accent-teal: #0D9488;
      --bg-base: #F8FAFC;
      --border-color: #E2E8F0;
    }
    body {
      color: #334155;
      background-color: var(--bg-base);
      -webkit-font-smoothing: antialiased;
    }
    .custom-container {
      max-width: 1240px;
      margin-left: auto;
      margin-right: auto;
      padding-left: 1.25rem;
      padding-right: 1.25rem;
    }
    .hero-bg {
      background-image: linear-gradient(135deg, rgba(9, 30, 44, 0.94) 0%, rgba(15, 47, 68, 0.88) 100%), url('/assets/images/b74b099e1de31709.webp');
      background-size: cover;
      background-position: center;
    }
    .dark-section-bg {
      background-image: linear-gradient(180deg, rgba(9, 30, 44, 0.97) 0%, rgba(15, 47, 68, 0.95) 100%), url('/assets/images/ee1052f3e03f684b.webp');
      background-size: cover;
      background-position: center;
    }
    .cta-banner-bg {
      background-image: linear-gradient(135deg, rgba(15, 47, 68, 0.92) 0%, rgba(9, 30, 44, 0.96) 100%), url('/assets/images/50f000814c8cf69e.webp');
      background-size: cover;
      background-position: center;
    }
    .badge-tag {
      display: inline-flex;
      align-items: center;
      padding: 0.25rem 0.75rem;
      border-radius: 9999px;
      font-size: 0.8125rem;
      font-weight: 600;
      letter-spacing: 0.025em;
    }
    .card-hover-effect {
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .card-hover-effect:hover {
      transform: translateY(-4px);
      box-shadow: 0 16px 28px -10px rgba(15, 47, 68, 0.15);
    }
    details summary::-webkit-details-marker {
      display: none;
    }
