  :root {
      --faq-primary-blue: #2563eb;
      --faq-primary-blue-hover: #1d4ed8;
      --faq-gray-900: #111827;
      --faq-gray-800: #1f2937;
      --faq-gray-700: #374151;
      --faq-gray-600: #4b5563;
      --faq-gray-500: #6b7280;
      --faq-gray-400: #9ca3af;
      --faq-gray-300: #d1d5db;
      --faq-gray-200: #e5e7eb;
      --faq-gray-100: #f3f4f6;
      --faq-gray-50: #f9fafb;
      --faq-white: #ffffff;
  }

  .faq-header {
      padding: 2rem 1rem 2rem 1rem;
      max-width: 1200px;
      margin: 0 auto;
  }

  .faq-header h1 {
      font-size: 2.25rem;
      font-weight: 800;
      margin-bottom: 1.5rem;
      letter-spacing: -0.025em;
      color: var(--faq-gray-900);
  }

  @media (min-width: 768px) {
      .faq-header h1 {
          font-size: 3rem;
      }
  }

  .faq-header-card {
      display: flex;
      flex-direction: column;
      background-color: var(--faq-white);
      padding: 1.5rem;
      border-radius: 1rem;
      border: 1px solid var(--faq-gray-100);
      box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
      margin-bottom: 1rem;
  }

  @media (min-width: 768px) {
      .faq-header-card {
          flex-direction: row;
          align-items: center;
          justify-content: space-between;
          gap: 1.5rem;
      }
  }

  .faq-header-text {
      max-width: 50rem;
  }

  .faq-header-text p {
      margin-bottom: 0.5rem;
  }

  .faq-header-text .faq-lead {
      font-size: 1.125rem;
      color: var(--faq-gray-600);
      font-weight: 500;
  }

  .faq-header-text .faq-small {
      font-size: 0.875rem;
      color: var(--faq-gray-500);
  }

  .faq-btn {
      display: inline-flex;
      align-items: center;
      padding: 0.75rem 1.5rem;
      font-weight: 700;
      border-radius: 0.75rem;
      transition: all 0.2s ease;
      text-decoration: none;
      border: none;
      cursor: pointer;
      white-space: nowrap;
      font-family: inherit;
  }

  .faq-btn-primary {
      background-color: var(--faq-primary-blue);
      color: var(--faq-white);
  }

  .faq-btn-primary:hover {
      background-color: var(--faq-primary-blue-hover);
  }

  .faq-btn-dark {
      background-color: var(--faq-gray-900);
      color: var(--faq-white);
  }

  .faq-btn-dark:hover {
      background-color: var(--faq-gray-800);
  }

  .faq-btn-icon {
      width: 1rem;
      height: 1rem;
      margin-right: 0.5rem;
  }

  .faq-btn-large {
      padding: 1rem 2.5rem;
  }

  .faq-nav-sticky {
      position: fixed;
      top: 8rem;
      left: 50%;
      transform: translateX(-50%);
      z-index: 30;
      background-color: rgba(255, 255, 255, 0.95);
      backdrop-filter: blur(12px);
      padding: 0.5rem;
      border-radius: 0.75rem;
      border: 1px solid var(--faq-gray-100);
      box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
      margin-bottom: 3rem;
      overflow-x: auto;
      will-change: transform;
      width: calc(100% - 2rem);
      max-width: calc(80rem - 2rem);
  }

  section[id] {
      scroll-margin-top: 140px;
  }

  .nav-link {
      display: block;
      padding: 0.5rem 1rem;
      border-radius: 0.5rem;
      color: #4b5563;
      transition: all 0.2s ease;
      border-left: 4px solid transparent;
  }

  .nav-link:hover {
      background-color: #f3f4f6;
      color: #3B82F6;
  }
/* 
  .nav-link.active {
      background-color: #eff6ff !important;
      color: #2563eb !important;
      font-weight: 700 !important;
  } */

  .faq-accordion-item {
      border: 1px solid #e5e7eb;
      border-radius: 0.5rem;
      margin-bottom: 0.75rem;
      overflow: hidden;
      transition: all 0.3s ease;
  }

  .faq-accordion-item:hover {
      border-color: #3B82F6;
      box-shadow: 0 2px 8px rgba(59, 130, 246, 0.1);
  }

  .faq-accordion-button {
      width: 100%;
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 1rem 1.25rem;
      background: white;
      border: none;
      cursor: pointer;
      text-align: left;
      font-size: 1rem;
      font-weight: 600;
      color: #1f2937;
      transition: background-color 0.2s;
  }

  .faq-accordion-button:hover {
      background-color: #f9fafb;
  }

  .faq-accordion-item.active .faq-accordion-button {
      background-color: #eff6ff;
      color: #2563eb;
  }

  .faq-accordion-content {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.3s ease;
  }

  .faq-accordion-item.active .faq-accordion-content {
      max-height: 2000px;
  }

  .faq-accordion-answer {
      padding: 1rem 1.25rem;
      color: #4b5563;
      line-height: 1.7;
      background-color: #f9fafb;
  }

  .faq-chevron-icon {
      transition: transform 0.3s ease;
      flex-shrink: 0;
  }

  .faq-accordion-item.active .faq-chevron-icon {
      transform: rotate(180deg);
  }

  .faq-question-number {
      color: #3B82F6;
      font-weight: 700;
      margin-right: 0.5rem;
  }

  html {
      scroll-behavior: smooth;
  }