:root{
  --faq-blue:#0d6efd;
  --faq-blue-soft:#eaf3ff;
  --faq-orange:#f08326;
  --faq-text:#1f2937;
  --faq-sub:#667085;
  --faq-line:#e6ebf2;
  --faq-bg:#f7f9fc;
  --faq-card:#ffffff;
  --faq-shadow:0 12px 30px rgba(15,23,42,.06);
  --faq-radius:22px;
}

.faq-page{
  background:#fff;
  color:var(--faq-text);
}

/* hero */
.faq-hero{
  position:relative;
  overflow:hidden;
  padding:68px 0 52px;
  background:linear-gradient(180deg,#f8fbff 0%,#f3f7fb 100%);
  border-bottom:1px solid #edf2f7;
}

.faq-hero__bg{
  position:absolute;
  inset:0;
  pointer-events:none;
}

.faq-hero__orb{
  position:absolute;
  border-radius:999px;
  filter:blur(2px);
}

.faq-hero__orb--1{
  width:320px;
  height:320px;
  left:-60px;
  top:-70px;
  background:radial-gradient(circle, rgba(13,110,253,.14) 0%, rgba(13,110,253,0) 72%);
}

.faq-hero__orb--2{
  width:280px;
  height:280px;
  right:-40px;
  top:-20px;
  background:radial-gradient(circle, rgba(240,131,38,.14) 0%, rgba(240,131,38,0) 72%);
}

.faq-hero__grid{
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(13,110,253,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(13,110,253,.045) 1px, transparent 1px);
  background-size:26px 26px;
  mask-image:linear-gradient(to bottom, rgba(0,0,0,.9), transparent 85%);
}

.faq-hero__inner{
  width:min(1320px, 92vw);
  margin:0 auto;
  position:relative;
  z-index:1;
}

.faq-breadcrumb{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:18px;
  font-size:14px;
  color:var(--faq-sub);
}

.faq-breadcrumb a{
  color:inherit;
  text-decoration:none;
}

.faq-breadcrumb a:hover{
  color:#008BD5;
}

.faq-head__title{
  margin:0;
  font-size:51px;
  line-height:1.12;
  font-weight:400;
  color:#111827;
}

.faq-head__slogan{
  margin:18px 0 0;
  font-size:20px;
  line-height:1.7;
  font-weight:500;
  color:var(--faq-sub);
}

/* toolbar */
.faq-toolbar{
  padding:30px 0 10px;
  background:#fff;
}

.faq-toolbar__wrap{
  width:min(1320px, 92vw);
  margin:0 auto;
}

.faq-search-card{
  background:transparent;
  border:none;
  border-radius:0;
  padding:0;
  box-shadow:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
}

.faq-search{
  flex:1 1 440px;
  display:flex;
  align-items:center;
  gap:12px;
  height:56px;
  border:1px solid #dde5ef;
  border-radius:999px;
  padding:0 18px;
  background:#fff;
}

.faq-search__icon{
  width:20px;
  height:20px;
  color:#98a2b3;
  flex:0 0 auto;
}

.faq-search__icon svg{
  display:block;
  width:100%;
  height:100%;
}

.faq-search input{
  width:100%;
  border:none;
  outline:none;
  background:transparent;
  font-size:15px;
  color:var(--faq-text);
}

.faq-result{
  font-size:14px;
  color:var(--faq-sub);
  white-space:nowrap;
}

.faq-filter-block{
  margin-top:26px;
  background:transparent;
  border:none;
  border-radius:0;
  padding:0;
  box-shadow:none;
}

.faq-filter-head{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:14px;
}

.faq-filter-dot{
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--faq-orange);
  flex:0 0 auto;
}

.faq-filter-title{
  margin:0;
  font-size:18px;
  line-height:1.2;
  font-weight:500;
}

.faq-chip-list{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.faq-chip{
  min-height:40px;
  padding:0 16px;
  border-radius:999px;
  border:1px solid #d7e0ea;
  background:#fff;
  color:#344054;
  font-size:14px;
  cursor:pointer;
  transition:.2s ease;
}

.faq-chip:hover{
  border-color:#008BD5;
  color:#008BD5;
}

.faq-chip.is-active{
  color:#fff;
  background:#008BD5;
  border-color:#008BD5;
  font-weight:500;
}

/* main */
.faq-main{
  padding:88px 0 80px;
  background:#fff;
}

.faq-main__wrap{
  width:min(1320px, 92vw);
  margin:0 auto;
}

.faq-group{
  margin-top:74px;
  background:transparent;
  border:none;
  border-radius:0;
  box-shadow:none;
  overflow:visible;
}

.faq-group:first-child{
  margin-top:8px;
}

.faq-group__head{
  display:flex;
  align-items:center;
  gap:22px;
  padding:0 0 18px;
  margin-bottom:0;
  background:transparent;
  border-bottom:none;
}

.faq-group__dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--faq-orange);
  flex:0 0 auto;
}

.faq-group__title{
  margin:0;
  font-size:34px;
  line-height:1.2;
  font-weight:400;
  color:#111827;
}

.faq-item{
  border-top:1px solid #e8edf3;
  background:transparent;
}

.faq-item:last-child{
  border-bottom:1px solid #e8edf3;
}

.faq-question{
  width:100%;
  padding:22px 24px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  border:none;
  background:#fff;
  text-align:left;
  cursor:pointer;
  transition:.2s ease;
}

.faq-question:hover{
  background:#fafcff;
}

.faq-question__text{
  font-size:17px;
  line-height:1.7;
  font-weight:400;
  color:#111827;
}

.faq-question__icon{
  width:30px;
  height:30px;
  border-radius:50%;
  border:1px solid #d8e0ea;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  color:#475467;
  font-size:18px;
  line-height:1;
  transition:.2s ease;
}

.faq-item.is-open .faq-question__icon{
  transform:rotate(45deg);
  color:var(--faq-blue);
  border-color:var(--faq-blue);
  background:var(--faq-blue-soft);
}

.faq-answer{
  display:none;
  padding:0 24px 22px;
}
.faq-item.is-open .faq-answer{
  display:block;
}

.faq-answer p{
  margin:0;
  font-size:15px;
  line-height:1.95;
  color:#475467;
}

/* empty */
.faq-empty{
  display:none;
  margin-top:22px;
  border:1px dashed #d6deea;
  border-radius:22px;
  background:#fafcff;
  text-align:center;
  padding:42px 20px;
}

.faq-empty.is-show{
  display:block;
}

.faq-empty__title{
  font-size:22px;
  font-weight:400;
  color:#111827;
}

.faq-empty__desc{
  margin-top:10px;
  font-size:15px;
  line-height:1.8;
  color:var(--faq-sub);
}

/* contact cta */
.faq-contact{
  margin-top:44px;
  padding:36px 0 0;
  border:none;
  border-top:none;
  border-radius:0;
  background:transparent;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  flex-wrap:wrap;
}

.faq-contact__kicker{
  font-size:13px;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--faq-blue);
  font-weight:500;
}

.faq-contact__title{
  margin:12px 0 0;
  font-size:30px;
  line-height:1.18;
  font-weight:400;
  color:#111827;
}

.faq-contact__desc{
  margin:14px 0 0;
  max-width:760px;
  font-size:16px;
  line-height:1.9;
  color:#475467;
}

.faq-contact__right{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}

.faq-contact__btn{
  min-width:146px;
  height:48px;
  padding:0 22px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  font-size:15px;
  transition:.2s ease;
}

.faq-contact__btn--primary{
  background:#008BD5;
  color:#fff;
  border-color:#008BD5;
}

.faq-contact__btn--primary:hover{
  opacity:.92;
}

.faq-contact__btn--ghost{
  background:#fff;
  color:var(--faq-text);
  border:1px solid #dbe3ec;
}

.faq-contact__btn--ghost:hover{
  color:var(--faq-blue);
  border-color:var(--faq-blue);
}

/* responsive */
@media (max-width: 980px){
  .faq-head__title{
    font-size:40px;
  }

  .faq-head__slogan{
    font-size:18px;
  }

  .faq-group__title{
    font-size:22px;
  }

  .faq-contact__title{
    font-size:26px;
  }
}

@media (max-width: 768px){
  .faq-hero{
    padding:54px 0 42px;
  }

  .faq-head__title{
    font-size:34px;
  }

  .faq-head__slogan{
    font-size:16px;
    line-height:1.75;
  }

 .faq-search-card{
  padding:18px;
}

.faq-filter-block{
  padding:0;
}

  .faq-search{
    height:50px;
  }

  .faq-group{
  margin-top:32px;
}

.faq-group__head{
  padding:0 0 14px;
}

.faq-group__title{
  font-size:24px;
}

.faq-question{
  padding:18px 0;
  gap:14px;
}

.faq-question__text{
  font-size:18px;
  line-height:1.6;
}

.faq-question__icon{
  width:34px;
  height:34px;
  font-size:20px;
}

.faq-answer{
  padding:0 0 18px 0;
}

.faq-answer p{
  font-size:15px;
  line-height:1.85;
}

  .faq-contact{
    padding:22px 18px;
  }

  .faq-contact__title{
    font-size:22px;
  }

  .faq-contact__btn{
    width:100%;
  }

  .faq-contact__right{
    width:100%;
  }
}

@media (max-width: 768px){
  .faq-filter-title{
    font-size:24px;
  }

  .faq-filter-head{
    margin-bottom:14px;
  }

  .faq-chip{
    min-height:40px;
    padding:0 16px;
    font-size:14px;
  }
}