    .faq-section {
      padding: 60px 0 80px;
    }

    .faq-title {
      font-size: 45px;
      font-weight: 400;
      line-height: 1.2;
      color: #111;
      margin-bottom: 4rem;
    }

    .faq-title span {
      display: block;
      font-weight: 600;
      color:#45289b;
    }

    .faq-wrap {
      max-width: 960px;
      margin-inline: auto;
    }

    .faq-accordion .accordion-item {
      background:#f8f6ff;
      border: 1px solid #e6e1f8;
      border-radius: 16px !important;
      margin-bottom: 18px;
      overflow: hidden;
      transition: border-color .25s ease, box-shadow .25s ease;
    }

    .faq-accordion .accordion-item:hover,
    .faq-accordion .accordion-item:has(.accordion-button:not(.collapsed)) {
      border-color:#c8bff0;
      box-shadow: 0 6px 20px rgba(69, 40, 155, .10);
    }

    .faq-accordion .accordion-button {
      background: transparent;
      color:#1a1a1a;
      font-size: 1.125rem;          /* 18px */
      font-weight: 600;
      line-height: 1.5;
      padding: 1.35rem 1rem;
      box-shadow: none;
      border-radius: 0 !important;
    }

    .faq-accordion .accordion-button:not(.collapsed) {
      color:#1a1a1a;
      background: transparent;
      box-shadow: none;
    }

    .faq-accordion .accordion-button:focus-visible {
      outline: 2px solid #45289b;
      outline-offset: -4px;
    }

    /* Replace Bootstrap chevron with a "+" (turns into "x" when open) */
    .faq-accordion .accordion-button::after {
      width: 1.5rem;
      height: 1.5rem;
      background-size: 1.5rem;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2345289b' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
      transition: transform .3s ease;
    }

    .faq-accordion .accordion-button:not(.collapsed)::after {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2345289b' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
      transform: rotate(45deg);
    }

    .faq-accordion .accordion-body {
      padding: 0 2rem 1.75rem;
      font-size: 1rem;
      line-height: 1.7;
      color: #555;
    }

    @media (max-width: 767.98px) {
      .faq-section { padding: 40px 0 60px; }
      .faq-title { margin-bottom: 2.5rem; }
      .faq-accordion .accordion-item { margin-bottom: 14px; }
      .faq-accordion .accordion-button {
        font-size: 1rem;
        padding: 1.25rem 1.25rem;
      }
      .faq-accordion .accordion-body { padding: 0 1.25rem 1.25rem; }
    }

    @media (prefers-reduced-motion: reduce) {
      .faq-accordion .accordion-item,
      .faq-accordion .accordion-button::after { transition: none; }
    }