
    .faq-container {
      max-width: 800px;
      margin: 0 auto;
      background: #f4f8f6;
      border: 1px solid #e0e6e3;
      border-radius: 12px;
      padding: 20px 24px;
      box-sizing: border-box;
      font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    }
    .faq-title {
      color: #2d2d2d;
      margin: 0 0 12px 0;
      font-size: 1.6rem;
      line-height: 1.3;
    }
    .faq-item {
      border-top: 1px solid #e0e6e3;
    }
    .faq-item:first-of-type {
      border-top: none;
    }
    .faq-q {
      margin: 0;
      color: #2d2d2d;
      font-size: 1.05rem;
      font-weight: 600;
    }
    .faq-toggle {
      width: 100%;
      text-align: left;
      padding: 16px 0;
      background: transparent;
      border: none;
      cursor: pointer;
      display: flex;
      align-items: center;
      gap: 10px;
      outline: none;
      transition: background 0.2s ease;
      border-radius: 8px;
    }
    .faq-toggle:hover {
      background: #e6efe9; /* hover background */
    }
    .faq-arrow {
      flex: 0 0 auto;
      color: #d36a2f; /* burnt orange */
      transition: transform 0.25s ease;
      font-size: 1rem;
    }
    .faq-question-text {
      flex: 1 1 auto;
      color: #2d2d2d;
    }
    .faq-answer {
      overflow: hidden;
      max-height: 0;
      transition: max-height 0.35s ease;
    }
    .faq-answer-inner {
      padding: 0 0 16px 28px;
      color: #2d2d2d;
    }
    .faq-item.open .faq-arrow {
      transform: rotate(180deg);
    }
    .faq-item.open .faq-answer {
      max-height: 500px; /* sufficiently large to reveal content; adjust if needed */
    }
    .faq-answer p {
      margin: 0;
      line-height: 1.6;
    }
    /* Ensure CMS defaults don’t override */
    .faq-container h2,
    .faq-container p,
    .faq-container button {
      all: revert;
    }
    .faq-container h2,
    .faq-container p {
      font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
    }
  