
    :root {
      --brand: #062E62;
      --brand-soft: #eaf0f8;
      --text: #122033;
      --muted: #5f6f85;
      --line: #d7e0ec;
      --surface: #ffffff;
      --page: #f5f8fc;
      --shadow: 0 18px 42px rgba(6, 46, 98, 0.08);
    }

    * {
      box-sizing: border-box;
    }

    body {
      margin: 0;
      font-family: Arial, Helvetica, sans-serif;
      background: linear-gradient(180deg, #f8fbff 0%, var(--page) 100%);
      color: var(--text);
    }

    .faq-page {
      min-height: 100vh;
      padding: 56px 20px 72px;
    }

    .faq-wrap {
      max-width: 980px;
      margin: 0 auto;
    }

    .faq-header,
    .article_content.editor_txt .faq-header {
      margin-bottom: 28px;
      text-align: center !important;
    }

    .faq-title,
    .article_content.editor_txt .faq-title {
      margin: 0;
      font-size: 40px;
      line-height: 1.1;
      color: var(--brand);
      text-align: center !important;
    }

    .faq-intro,
    p.faq-intro,
    .article_content.editor_txt .faq-intro,
    .article_content.editor_txt p.faq-intro {
      max-width: 760px;
      margin: 16px auto 0 !important;
      display: block !important;
      font-size: 17px;
      line-height: 1.7;
      color: var(--muted);
      text-align: center !important;
    }

    .faq-panel {
      background: var(--surface);
      border: 1px solid rgba(6, 46, 98, 0.08);
      border-radius: 16px;
      box-shadow: var(--shadow);
      overflow: hidden;
    }

    .faq-item + .faq-item {
      border-top: 1px solid var(--line);
    }

    .faq-question {
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      padding: 24px 28px;
      border: 0;
      background: transparent;
      color: var(--text);
      text-align: left;
      cursor: pointer;
      transition: background-color 0.25s ease, color 0.25s ease;
    }

    .faq-question:hover {
      background: rgba(6, 46, 98, 0.03);
    }

    .faq-question[aria-expanded="true"] {
      background: rgba(6, 46, 98, 0.04);
      color: var(--brand);
    }

    .faq-question-text {
      font-size: 18px;
      line-height: 1.45;
      font-weight: 700;
    }

    .faq-icon {
      position: relative;
      flex: 0 0 40px;
      width: 40px;
      height: 40px;
      border-radius: 50%;
      border: 1px solid rgba(6, 46, 98, 0.16);
      background: var(--brand-soft);
      transition: background-color 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
    }

    .faq-icon::before,
    .faq-icon::after {
      content: "";
      position: absolute;
      top: 50%;
      left: 50%;
      width: 16px;
      height: 2px;
      background: var(--brand);
      border-radius: 999px;
      transform: translate(-50%, -50%);
      transition: transform 0.25s ease, opacity 0.25s ease;
    }

    .faq-icon::after {
      transform: translate(-50%, -50%) rotate(90deg);
    }

    .faq-question[aria-expanded="true"] .faq-icon {
      background: var(--brand);
      border-color: var(--brand);
    }

    .faq-question[aria-expanded="true"] .faq-icon::before,
    .faq-question[aria-expanded="true"] .faq-icon::after {
      background: #ffffff;
    }

    .faq-question[aria-expanded="true"] .faq-icon::after {
      opacity: 0;
      transform: translate(-50%, -50%) rotate(90deg) scaleX(0);
    }

    .faq-answer {
      display: grid;
      grid-template-rows: 0fr;
      transition: grid-template-rows 0.28s ease;
    }

    .faq-answer.open {
      grid-template-rows: 1fr;
    }

    .faq-answer-inner {
      overflow: hidden;
    }

    .faq-answer-content {
      padding: 0 28px 24px;
      font-size: 16px;
      line-height: 1.8;
      color: var(--muted);
    }

    .faq-answer-content p {
      margin: 0;
    }

    .faq-answer-content strong {
      color: var(--brand);
    }

    @media (max-width: 768px) {
      .faq-page {
        padding: 36px 16px 56px;
      }

      .faq-title,
      .article_content.editor_txt .faq-title {
        font-size: 30px;
      }

      .faq-intro,
      p.faq-intro,
      .article_content.editor_txt .faq-intro,
      .article_content.editor_txt p.faq-intro {
        font-size: 16px;
      }

      .faq-question {
        padding: 20px 18px;
        align-items: flex-start;
      }

      .faq-question-text {
        font-size: 17px;
      }

      .faq-icon {
        flex-basis: 36px;
        width: 36px;
        height: 36px;
      }

      .faq-answer-content {
        padding: 0 18px 20px;
        font-size: 15px;
      }
    }
  