/* roulang page: index */
:root {
      --primary: #0D9488;
      --primary-hover: #0F766E;
      --secondary: #1E293B;
      --accent: #F59E0B;
      --bg-slate: #F8FAFC;
      --card-border: #E2E8F0;
      --text-main: #0F172A;
      --text-muted: #64748B;
      --radius-base: 12px;
    }
    *, *::before, *::after {
      box-sizing: border-box;
    }
    body {
      background-color: var(--bg-slate);
      color: var(--text-main);
      overflow-x: hidden;
      font-feature-settings: "cv02", "cv03", "cv04", "cv11";
    }
    .hero-glow {
      background: radial-gradient(circle at 50% 30%, rgba(13, 148, 136, 0.28), rgba(15, 23, 42, 0.95) 75%);
    }
    .glass-nav {
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
    }
    .custom-scroll::-webkit-scrollbar {
      width: 6px;
      height: 6px;
    }
    .custom-scroll::-webkit-scrollbar-thumb {
      background-color: #CBD5E1;
      border-radius: 9999px;
    }
    .pulse-radar {
      position: relative;
    }
    .pulse-radar::after {
      content: '';
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      background: inherit;
      border-radius: inherit;
      animation: pulseAnim 2s cubic-bezier(0, 0, 0.2, 1) infinite;
    }
    @keyframes pulseAnim {
      0% { transform: scale(1); opacity: 0.8; }
      100% { transform: scale(2.5); opacity: 0; }
    }
    .line-clamp-2 {
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }
    .line-clamp-3 {
      display: -webkit-box;
      -webkit-line-clamp: 3;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }
