/* roulang page: index */
:root {
      --primary-color: #0F766E;
      --secondary-color: #0F172A;
      --accent-color: #EA580C;
      --bg-surface: #F8FAFC;
    }
    body {
      font-family: system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", "Segoe UI", sans-serif;
      text-rendering: optimizeLegibility;
      -webkit-font-smoothing: antialiased;
    }
    .hero-bg-cover {
      background-image: linear-gradient(to right, rgba(11, 17, 32, 0.94) 20%, rgba(15, 23, 42, 0.82) 100%), url('/assets/images/4a291270ddf625a7.webp');
      background-size: cover;
      background-position: center;
    }
    .dark-section-bg {
      background-image: linear-gradient(135deg, rgba(11, 17, 32, 0.96) 0%, rgba(15, 23, 42, 0.92) 100%), url('/assets/images/c11d18bbb50a20fd.jpg');
      background-size: cover;
      background-position: center;
      background-attachment: fixed;
    }
    .cta-banner-bg {
      background-image: linear-gradient(to right, rgba(15, 118, 110, 0.95), rgba(15, 23, 42, 0.95)), url('/assets/images/6fcf1e8dcf0f67bf.webp');
      background-size: cover;
      background-position: center;
    }
    .card-transition {
      transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .card-transition:hover {
      transform: translateY(-4px);
    }
    .faq-content {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.35s ease-out;
    }
    .faq-item.active .faq-content {
      max-height: 240px;
    }
    .faq-item.active .faq-icon {
      transform: rotate(180deg);
    }
    .carousel-slide {
      opacity: 0;
      visibility: hidden;
      transition: opacity 0.6s ease-in-out, visibility 0.6s;
    }
    .carousel-slide.active {
      opacity: 1;
      visibility: visible;
    }
