

    /* =====================================================
       HARD RESET FOR THIS MODULE
       ===================================================== */

    .kd-faq-page,
    .kd-faq-page *,
    .kd-faq-page *::before,
    .kd-faq-page *::after {
      box-sizing: border-box;
    }

    .kd-faq-page {
      --kd-dark: #27323C;
      --kd-text: #46515B;
      --kd-muted: #7B858E;
      --kd-border: #E5E9EC;
      --kd-white: #FFFFFF;
      --kd-light: #F7F9FA;

      width: 100%;
      max-width: 100%;

      margin: 0;
      padding: 0;

      background: #FFFFFF;
      color: var(--kd-text);

      font-family:
        Inter,
        Arial,
        Helvetica,
        sans-serif;

      line-height: 1.7;

      overflow-x: clip;
    }


    /* =====================================================
       GLOBAL ELEMENT SAFETY
       ===================================================== */

    .kd-faq-page h1,
    .kd-faq-page h2,
    .kd-faq-page h3,
    .kd-faq-page p,
    .kd-faq-page ul,
    .kd-faq-page li {
      max-width: 100%;
      margin-left: 0;
      margin-right: 0;
    }

    .kd-faq-page img,
    .kd-faq-page iframe,
    .kd-faq-page video,
    .kd-faq-page table {
      max-width: 100%;
    }

    .kd-faq-page a {
      color: inherit;
      text-decoration: none;
    }


    /* =====================================================
       CONTAINER
       ===================================================== */

    .kd-faq-container {
      width: calc(100% - 48px);
      max-width: 1180px;

      margin-left: auto;
      margin-right: auto;

      min-width: 0;
    }


    /* =====================================================
       HERO
       ===================================================== */

    .kd-faq-hero {
      width: 100%;
      max-width: 100%;

      padding: 86px 0 78px;

      background:
        linear-gradient(
          180deg,
          #FFFFFF 0%,
          #FFFFFF 70%,
          #F8FAFB 100%
        );

      border-bottom:
        1px solid var(--kd-border);
    }

    .kd-faq-hero-inner {
      width: 100%;
      max-width: 800px;

      min-width: 0;
    }


    /* =====================================================
       EYEBROW
       ===================================================== */

    .kd-faq-eyebrow {
      display: flex;
      align-items: center;
      gap: 10px;

      width: fit-content;
      max-width: 100%;

      margin: 0 0 19px;

      font-size: 11px;
      line-height: 1.3;

      font-weight: 700;

      letter-spacing: 0.15em;
      text-transform: uppercase;

      color: var(--kd-muted);
    }

    .kd-faq-eyebrow::before {
      content: "";

      flex:
        0 0 27px;

      width: 27px;
      height: 1px;

      background: var(--kd-dark);
    }


    /* =====================================================
       HERO TITLE
       ===================================================== */

    .kd-faq-hero h1 {
      width: 100%;
      max-width: 800px;

      margin: 0;
      padding: 0;

      font-size:
        clamp(
          36px,
          5vw,
          58px
        );

      line-height: 1.1;

      font-weight: 700;

      letter-spacing: -0.035em;

      color: var(--kd-dark);

      overflow-wrap: break-word;
    }


    /* =====================================================
       HERO DESCRIPTION
       ===================================================== */

    .kd-faq-hero-description {
      width: 100%;
      max-width: 720px;

      margin: 23px 0 0;

      font-size: 16px;

      line-height: 1.8;

      color: var(--kd-text);

      overflow-wrap: break-word;
    }

    .kd-faq-hero-note {
      width: 100%;
      max-width: 720px;

      margin: 20px 0 0;

      font-size: 12px;

      line-height: 1.75;

      color: var(--kd-muted);

      overflow-wrap: break-word;
    }


    /* =====================================================
       QUICK ACCESS
       ===================================================== */

    .kd-faq-quick {
      position: relative;

      width: 100%;
      max-width: 100%;

      margin-top: -30px;

      z-index: 2;
    }

    .kd-faq-quick-grid {
      display: grid;

      grid-template-columns:
        repeat(4, minmax(0, 1fr));

      gap: 12px;

      width: 100%;
      max-width: 100%;

      min-width: 0;
    }

    .kd-faq-quick-item {
      display: flex;

      flex-direction: column;

      justify-content: center;

      min-width: 0;
      min-height: 108px;

      padding: 22px;

      background: #FFFFFF;

      border:
        1px solid var(--kd-border);

      transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
    }

    .kd-faq-quick-item:hover {
      transform: translateY(-3px);

      border-color: #CDD4D9;

      box-shadow:
        0 12px 28px
        rgba(39,50,60,0.07);
    }

    .kd-faq-quick-number {
      display: block;

      margin-bottom: 6px;

      font-size: 10px;

      line-height: 1.3;

      font-weight: 700;

      letter-spacing: 0.12em;

      color: var(--kd-muted);
    }

    .kd-faq-quick-title {
      display: block;

      min-width: 0;

      font-size: 14px;

      line-height: 1.45;

      font-weight: 700;

      color: var(--kd-dark);

      overflow-wrap: break-word;
    }


    /* =====================================================
       MAIN CONTENT
       ===================================================== */

    .kd-faq-main {
      width: 100%;
      max-width: 100%;

      padding: 92px 0 105px;
    }

    .kd-faq-layout {
      display: grid;

      grid-template-columns:
        220px
        minmax(0, 1fr);

      column-gap: 76px;

      width: 100%;
      max-width: 100%;

      min-width: 0;

      align-items: start;
    }


    /* =====================================================
       SIDEBAR
       ===================================================== */

    .kd-faq-sidebar {
      min-width: 0;

      position: sticky;
      top: 90px;
    }

    .kd-faq-sidebar-label {
      margin: 0 0 14px;

      font-size: 10px;

      line-height: 1.4;

      font-weight: 700;

      letter-spacing: 0.14em;

      text-transform: uppercase;

      color: var(--kd-muted);
    }

    .kd-faq-sidebar-list {
      margin: 0;
      padding: 0;

      list-style: none;

      width: 100%;
    }

    .kd-faq-sidebar-list li {
      width: 100%;

      margin: 0;
      padding: 0;

      border-bottom:
        1px solid var(--kd-border);
    }

    .kd-faq-sidebar-list a {
      display: block;

      width: 100%;

      padding: 11px 0;

      font-size: 12px;

      line-height: 1.5;

      color: var(--kd-text);

      overflow-wrap: break-word;

      transition:
        color 0.2s ease,
        padding-left 0.2s ease;
    }

    .kd-faq-sidebar-list a:hover {
      padding-left: 4px;
      color: var(--kd-dark);
    }


    /* =====================================================
       FAQ GROUP
       ===================================================== */

    .kd-faq-content {
      width: 100%;
      max-width: 100%;

      min-width: 0;
    }

    .kd-faq-group {
      width: 100%;
      max-width: 100%;

      margin: 0 0 68px;

      min-width: 0;

      scroll-margin-top: 90px;
    }

    .kd-faq-group:last-child {
      margin-bottom: 0;
    }

    .kd-faq-group-header {
      width: 100%;
      max-width: 100%;

      margin-bottom: 23px;

      min-width: 0;
    }

    .kd-faq-group-number {
      display: block;

      margin: 0 0 7px;

      font-size: 10px;

      line-height: 1.4;

      font-weight: 700;

      letter-spacing: 0.13em;

      color: var(--kd-muted);
    }

    .kd-faq-group-title {
      width: 100%;
      max-width: 720px;

      margin: 0;

      font-size: 26px;

      line-height: 1.25;

      font-weight: 700;

      letter-spacing: -0.025em;

      color: var(--kd-dark);

      overflow-wrap: break-word;
    }

    .kd-faq-group-intro {
      width: 100%;
      max-width: 710px;

      margin: 9px 0 0;

      font-size: 13px;

      line-height: 1.75;

      color: var(--kd-muted);

      overflow-wrap: break-word;
    }


    /* =====================================================
       ACCORDION
       ===================================================== */

    .kd-faq-list {
      width: 100%;
      max-width: 100%;

      min-width: 0;

      border-top:
        1px solid var(--kd-border);
    }

    .kd-faq-item {
      width: 100%;
      max-width: 100%;

      min-width: 0;

      border-bottom:
        1px solid var(--kd-border);
    }


    /* =====================================================
       QUESTION
       ===================================================== */

    .kd-faq-question {
      position: relative;

      display: block;

      width: 100%;
      max-width: 100%;

      min-width: 0;

      margin: 0;

      padding:
        22px
        48px
        22px
        0;

      appearance: none;

      border: 0;

      background: transparent;

      color: var(--kd-dark);

      text-align: left;

      font-family: inherit;

      font-size: 15px;

      line-height: 1.55;

      font-weight: 650;

      cursor: pointer;

      overflow-wrap: break-word;

      word-break: normal;
    }


    /* =====================================================
       PLUS ICON
       ===================================================== */

    .kd-faq-question::before,
    .kd-faq-question::after {

      content: "";

      position: absolute;

      top: 50%;
      right: 4px;

      width: 14px;
      height: 1.5px;

      background:
        var(--kd-dark);

      transform:
        translateY(-50%);

      transition:
        transform 0.25s ease;
    }

    .kd-faq-question::after {

      transform:
        translateY(-50%)
        rotate(90deg);
    }

    .kd-faq-item.is-open
    .kd-faq-question::after {

      transform:
        translateY(-50%)
        rotate(0deg);
    }


    /* =====================================================
       ANSWER
       ===================================================== */

    .kd-faq-answer {

      display: grid;

      grid-template-rows: 0fr;

      width: 100%;
      max-width: 100%;

      transition:
        grid-template-rows 0.3s ease;
    }

    .kd-faq-answer-inner {
      width: 100%;
      max-width: 100%;

      min-width: 0;

      overflow: hidden;
    }

    .kd-faq-answer-content {

      width: 100%;
      max-width: 760px;

      min-width: 0;

      padding:
        0
        48px
        0
        0;

      font-size: 13px;

      line-height: 1.8;

      color: var(--kd-text);

      overflow-wrap: break-word;
    }

    .kd-faq-item.is-open
    .kd-faq-answer {

      grid-template-rows: 1fr;
    }

    .kd-faq-item.is-open
    .kd-faq-answer-content {

      padding-bottom: 24px;
    }


    /* =====================================================
       ANSWER TEXT
       ===================================================== */

    .kd-faq-answer-content p {
      width: 100%;
      max-width: 100%;

      margin: 0 0 11px;

      overflow-wrap: break-word;
    }

    .kd-faq-answer-content p:last-child {
      margin-bottom: 0;
    }

    .kd-faq-answer-content strong {
      color: var(--kd-dark);
      font-weight: 650;
    }


    /* =====================================================
       MINI LIST
       ===================================================== */

    .kd-faq-mini-list {

      width: 100%;
      max-width: 100%;

      margin: 11px 0 12px;

      padding: 0;

      list-style: none;
    }

    .kd-faq-mini-list li {

      position: relative;

      width: 100%;
      max-width: 100%;

      margin: 7px 0;

      padding-left: 16px;

      overflow-wrap: break-word;
    }

    .kd-faq-mini-list li::before {

      content: "";

      position: absolute;

      top:
        0.78em;

      left: 0;

      width: 5px;
      height: 5px;

      border-radius: 50%;

      background:
        #7E8992;

      transform:
        translateY(-50%);
    }


    /* =====================================================
       TABLET
       
       <= 980px
       ===================================================== */

    @media (max-width: 980px) {

      .kd-faq-container {

        width:
          calc(100% - 40px);

        max-width:
          900px;
      }


      .kd-faq-hero {

        padding:
          70px 0
          65px;
      }


      .kd-faq-quick-grid {

        grid-template-columns:
          repeat(2, minmax(0, 1fr));

      }


      .kd-faq-main {

        padding:
          74px 0
          88px;
      }


      .kd-faq-layout {

        grid-template-columns:
          1fr;

        row-gap:
          42px;
      }


      .kd-faq-sidebar {

        position:
          static;

        width:
          100%;

        max-width:
          100%;
      }


      .kd-faq-sidebar-list {

        display:
          grid;

        grid-template-columns:
          repeat(2, minmax(0, 1fr));

        column-gap:
          25px;

        width:
          100%;
      }


      .kd-faq-sidebar-list a {

        padding:
          10px 0;

      }

    }


    /* =====================================================
       MOBILE
       
       <= 767px
       ===================================================== */

    @media (max-width: 767px) {

      .kd-faq-container {

        width:
          calc(100% - 32px);

        max-width:
          100%;
      }


      .kd-faq-hero {

        padding:
          52px 0
          50px;
      }


      .kd-faq-eyebrow {

        margin-bottom:
          15px;

        font-size:
          9px;

        letter-spacing:
          0.13em;
      }


      .kd-faq-eyebrow::before {

        flex-basis:
          22px;

        width:
          22px;
      }


      .kd-faq-hero h1 {

        font-size:
          35px;

        line-height:
          1.12;
      }


      .kd-faq-hero-description {

        margin-top:
          18px;

        font-size:
          14px;

        line-height:
          1.75;
      }


      .kd-faq-hero-note {

        margin-top:
          16px;

        font-size:
          11px;

        line-height:
          1.7;
      }


      .kd-faq-quick {

        margin-top:
          -18px;
      }


      .kd-faq-quick-grid {

        grid-template-columns:
          repeat(2, minmax(0, 1fr));

        gap:
          8px;
      }


      .kd-faq-quick-item {

        min-height:
          90px;

        padding:
          16px;

      }


      .kd-faq-quick-title {

        font-size:
          12px;

        line-height:
          1.4;
      }


      .kd-faq-quick-number {

        margin-bottom:
          5px;

        font-size:
          9px;
      }


      .kd-faq-main {

        padding:
          62px 0
          72px;
      }


      .kd-faq-sidebar-list {

        grid-template-columns:
          repeat(2, minmax(0, 1fr));

        column-gap:
          18px;
      }


      .kd-faq-sidebar-label {

        font-size:
          9px;
      }


      .kd-faq-sidebar-list a {

        font-size:
          11px;

        line-height:
          1.45;
      }


      .kd-faq-group {

        margin-bottom:
          52px;
      }


      .kd-faq-group-header {

        margin-bottom:
          18px;
      }


      .kd-faq-group-title {

        font-size:
          23px;

        line-height:
          1.28;
      }


      .kd-faq-group-intro {

        margin-top:
          8px;

        font-size:
          12px;

        line-height:
          1.7;
      }


      .kd-faq-question {

        padding:
          18px
          40px
          18px
          0;

        font-size:
          14px;

        line-height:
          1.55;
      }


      .kd-faq-question::before,
      .kd-faq-question::after {

        right:
          3px;

        width:
          13px;
      }


      .kd-faq-answer-content {

        padding-right:
          22px;

        font-size:
          12px;

        line-height:
          1.78;
      }


      .kd-faq-item.is-open
      .kd-faq-answer-content {

        padding-bottom:
          21px;
      }


      .kd-faq-mini-list li {

        padding-left:
          14px;

        margin:
          6px 0;
      }

    }


    /* =====================================================
       SMALL MOBILE
       
       <= 480px
       ===================================================== */

    @media (max-width: 480px) {

      .kd-faq-container {

        width:
          calc(100% - 28px);
      }


      .kd-faq-hero {

        padding:
          46px 0
          44px;
      }


      .kd-faq-hero h1 {

        font-size:
          31px;
      }


      .kd-faq-hero-description {

        font-size:
          13px;
      }


      .kd-faq-quick-item {

        min-height:
          86px;

        padding:
          14px;
      }


      .kd-faq-quick-title {

        font-size:
          11px;
      }


      .kd-faq-sidebar-list {

        grid-template-columns:
          1fr;

        column-gap:
          0;
      }


      .kd-faq-group-title {

        font-size:
          22px;
      }


      .kd-faq-question {

        padding:
          17px
          36px
          17px
          0;

        font-size:
          13px;
      }


      .kd-faq-answer-content {

        padding-right:
          12px;

        font-size:
          11.5px;
      }

    }

  