/* roulang page: index */
:root {
      --primary: #0F2B48;
      --secondary: #0EA5E9;
      --accent: #10B981;
      --warning: #F59E0B;
      --bg-light: #F8FAFC;
      --card-shadow: 0 10px 25px -5px rgba(15, 43, 70, 0.08), 0 8px 10px -6px rgba(15, 43, 70, 0.04);
      --card-shadow-hover: 0 20px 30px -10px rgba(15, 43, 70, 0.16), 0 10px 15px -5px rgba(15, 43, 70, 0.08);
    }
    html {
      scroll-behavior: smooth;
      -webkit-font-smoothing: antialiased;
    }
    body {
      color: #1E293B;
      background-color: #FFFFFF;
      overflow-x: hidden;
      font-feature-settings: "tnum";
    }
    .custom-card {
      box-shadow: var(--card-shadow);
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .custom-card:hover {
      box-shadow: var(--card-shadow-hover);
      transform: translateY(-4px);
    }
    .text-gradient {
      background: linear-gradient(135deg, #0EA5E9 0%, #10B981 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }
    .bg-gradient-brand {
      background: linear-gradient(135deg, #0F2B48 0%, #091E34 100%);
    }
    .bg-gradient-accent {
      background: linear-gradient(135deg, #0EA5E9 0%, #10B981 100%);
    }
    .hero-glow {
      position: absolute;
      width: 500px;
      height: 500px;
      background: radial-gradient(circle, rgba(14,165,233,0.18) 0%, rgba(16,185,129,0) 70%);
      top: -100px;
      right: -100px;
      pointer-events: none;
      z-index: 1;
    }
    details > summary::-webkit-details-marker {
      display: none;
    }
    details[open] summary svg {
      transform: rotate(180deg);
    }
