/* roulang page: index */
:root {
      --brand-navy: #1E293B;
      --brand-dark: #0F172A;
      --brand-cyan: #0EA5E9;
      --brand-green: #10B981;
      --brand-amber: #F59E0B;
      --bg-surface: #F8FAFC;
    }
    body {
      color: #334155;
      background-color: #F8FAFC;
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
      overflow-x: hidden;
    }
    .pulse-dot {
      display: inline-block;
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background-color: var(--brand-green);
      box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7);
      animation: pulsing 1.8s infinite;
    }
    @keyframes pulsing {
      0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7); }
      70% { transform: scale(1); box-shadow: 0 0 0 6px rgba(16, 185, 129, 0); }
      100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(16, 185, 129, 0); }
    }
    .scroll-smooth {
      scroll-behavior: smooth;
    }
    details summary::-webkit-details-marker {
      display: none;
    }
    .card-hover-effect {
      transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .card-hover-effect:hover {
      transform: translateY(-4px);
      box-shadow: 0 12px 24px -10px rgba(15, 23, 42, 0.12);
    }
