/* roulang page: index */
:root {
      --primary-color: #0F5B5C;
      --primary-hover: #14787A;
      --accent-color: #D97706;
      --dark-neutral: #0A161F;
      --light-surface: #F8FAFC;
      --border-color: #E2E8F0;
      --text-main: #0F172A;
      --text-muted: #475569;
    }
    * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }
    body {
      font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif;
      background-color: #FFFFFF;
      color: var(--text-main);
      line-height: 1.7;
      text-rendering: optimizeLegibility;
      -webkit-font-smoothing: antialiased;
    }
    .badge-amber {
      background: rgba(217, 119, 6, 0.12);
      color: #B45309;
      border: 1px solid rgba(217, 119, 6, 0.25);
    }
    .badge-teal {
      background: rgba(15, 91, 92, 0.1);
      color: #0F5B5C;
      border: 1px solid rgba(15, 91, 92, 0.2);
    }
    .card-hover-effect {
      transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
    }
    .card-hover-effect:hover {
      transform: translateY(-4px);
      box-shadow: 0 14px 28px -6px rgba(15, 91, 92, 0.08), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
      border-color: rgba(15, 91, 92, 0.35);
    }
    .accordion-content {
      transition: max-height 0.3s ease-out, opacity 0.3s ease;
      max-height: 0;
      opacity: 0;
      overflow: hidden;
    }
    .accordion-item.active .accordion-content {
      max-height: 500px;
      opacity: 1;
    }
    .accordion-item.active .accordion-icon {
      transform: rotate(180deg);
    }
