.page-faq{
  --faq-bg:#0B1422;
  --faq-panel:#131C2E;
  --faq-card:#101A2B;
  --faq-light:#F2F5F9;
  --faq-green:#00E68A;
  --faq-orange:#FF7A00;
  --faq-purple:#7B61FF;
  --faq-text:#E6EDF5;
  --faq-muted:#A0B3C9;
  --faq-border:#26374E;
  --faq-font-data:'Roboto Mono',monospace;
  background:
    linear-gradient(115deg,rgba(0,230,138,.04) 0%,transparent 42%),
    linear-gradient(180deg,#0B1422 0%,#0E192C 70%,#0B1422 100%);
  color:var(--faq-text);
  padding-top:2rem;
  padding-bottom:0;
  overflow-x:clip;
}

.faq-hero{
  position:relative;
  overflow:hidden;
  padding:2.5rem 0 3.5rem;
  border-bottom:1px solid var(--faq-border);
}
.faq-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    repeating-linear-gradient(90deg,rgba(255,255,255,.03) 0 1px,transparent 1px 14px),
    linear-gradient(120deg,rgba(0,230,138,.10) 0%,transparent 42%);
  pointer-events:none;
}
.faq-hero::after{
  content:"";
  position:absolute;
  right:-4rem;
  top:1rem;
  width:14rem;
  height:14rem;
  border:1px solid rgba(0,230,138,.18);
  transform:rotate(15deg);
  pointer-events:none;
}
.faq-hero__media{
  position:absolute;
  inset:0;
  z-index:0;
}
.faq-hero__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.16;
}
.faq-hero__inner{
  position:relative;
  z-index:1;
  padding-top:1.5rem;
  padding-bottom:1rem;
}
.faq-breadcrumb{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.5rem;
  font-size:.85rem;
  color:var(--faq-muted);
  margin-bottom:1.75rem;
}
.faq-breadcrumb a{
  color:var(--faq-green);
  text-decoration:none;
  transition:opacity .2s ease;
}
.faq-breadcrumb a:hover{
  opacity:.75;
}
.faq-breadcrumb__sep{
  opacity:.5;
}
.faq-kicker{
  font-family:var(--faq-font-data);
  font-size:.76rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--faq-green);
  margin:0 0 .75rem;
}
.faq-hero__title{
  font-size:clamp(2rem,6vw,3.5rem);
  font-weight:300;
  line-height:1.15;
  letter-spacing:-.01em;
  color:#fff;
  margin:0 0 1.25rem;
  max-width:17em;
}
.faq-hero__lead{
  max-width:42rem;
  font-size:1.05rem;
  line-height:1.8;
  color:var(--faq-muted);
  margin:0 0 1.85rem;
}
.faq-search-panel{
  display:flex;
  align-items:center;
  gap:.85rem;
  max-width:34rem;
  padding:.9rem 1.1rem;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(19,28,46,.72);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  transition:border-color .25s ease;
}
.faq-search-panel:focus-within{
  border-color:var(--faq-green);
}
.faq-search-panel__label{
  flex:none;
  font-family:var(--faq-font-data);
  font-size:.72rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--faq-green);
}
.faq-search-panel__input{
  flex:1;
  min-width:0;
  background:transparent;
  border:0;
  outline:0;
  color:var(--faq-text);
  font-size:1rem;
  line-height:1.6;
}
.faq-search-panel__input::placeholder{
  color:rgba(160,179,201,.6);
}

.faq-bd{
  display:grid;
  grid-template-columns:1fr;
  gap:2.5rem;
  padding-top:3.5rem;
  padding-bottom:4.5rem;
}
.faq-toc{
  position:relative;
  padding:1.4rem 1.5rem;
  background:rgba(19,28,46,.55);
  border:1px solid var(--faq-border);
  border-left:3px solid var(--faq-green);
}
.faq-toc__label{
  font-family:var(--faq-font-data);
  font-size:.75rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--faq-green);
  margin-bottom:1rem;
}
.faq-toc__list{
  list-style:none;
  margin:0 0 1.5rem;
  padding:0;
  display:grid;
  gap:.45rem;
  counter-reset:faq-toc;
}
.faq-toc__list li{
  counter-increment:faq-toc;
}
.faq-toc__link{
  display:flex;
  align-items:baseline;
  gap:.65rem;
  padding:.5rem .75rem;
  color:var(--faq-text);
  text-decoration:none;
  font-size:.95rem;
  border:1px solid transparent;
  transition:all .2s ease;
}
.faq-toc__link::before{
  content:counter(faq-toc,decimal-leading-zero);
  font-family:var(--faq-font-data);
  font-size:.72rem;
  color:var(--faq-green);
  opacity:.7;
}
.faq-toc__link:hover{
  color:var(--faq-green);
  background:rgba(0,230,138,.06);
  padding-left:.95rem;
}
.faq-toc__note{
  border-top:1px solid var(--faq-border);
  padding-top:1rem;
}
.faq-toc__note p{
  font-size:.85rem;
  color:var(--faq-muted);
  margin:0 0 .9rem;
}

.faq-panels{
  display:grid;
  gap:4.5rem;
  min-width:0;
}
.faq-group__head{
  display:flex;
  align-items:center;
  gap:1rem;
  margin-bottom:1.5rem;
  padding-bottom:1rem;
  border-bottom:1px solid var(--faq-border);
  position:relative;
}
.faq-group__head::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-1px;
  width:4rem;
  height:2px;
  background:var(--faq-green);
}
.faq-group__num{
  font-family:var(--faq-font-data);
  font-size:2.6rem;
  font-weight:500;
  line-height:1;
  color:var(--faq-green);
  opacity:.8;
}
.faq-group__title{
  font-size:clamp(1.5rem,3vw,2.1rem);
  font-weight:300;
  color:#fff;
  margin:0;
}
.faq-group__media{
  position:relative;
  margin-bottom:1.5rem;
  border:1px solid var(--faq-border);
  background:var(--faq-panel);
  padding:.5rem;
}
.faq-group__media::before{
  content:"";
  position:absolute;
  inset:.5rem;
  border:1px solid rgba(0,230,138,.14);
  pointer-events:none;
}
.faq-group__media img{
  width:100%;
  height:auto;
  display:block;
  object-fit:cover;
  position:relative;
  z-index:1;
}
.faq-group__media-tag{
  position:absolute;
  top:.75rem;
  left:.75rem;
  z-index:2;
  background:var(--faq-green);
  color:#0B1422;
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.08em;
  padding:.3rem .7rem;
  text-transform:uppercase;
}

.faq-acc{
  display:grid;
  gap:1rem;
}
.faq-acc__item{
  background:var(--faq-panel);
  border:1px solid var(--faq-border);
  border-left:3px solid transparent;
  transition:border-color .25s ease, background .25s ease;
}
.faq-acc__item[data-open],
.faq-acc__item:hover{
  border-left-color:var(--faq-green);
  background:rgba(19,28,46,.7);
}
.faq-acc__q{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:1rem 1.1rem;
  background:transparent;
  border:0;
  color:var(--faq-text);
  font-size:1rem;
  font-weight:600;
  line-height:1.5;
  text-align:left;
  cursor:pointer;
}
.faq-acc__q:hover{
  color:#fff;
}
.faq-acc__q-text{
  flex:1;
}
.faq-acc__mark{
  flex:none;
  position:relative;
  width:1.1rem;
  height:1.1rem;
  color:var(--faq-green);
}
.faq-acc__mark::before,
.faq-acc__mark::after{
  content:"";
  position:absolute;
  background:currentColor;
  transition:transform .2s ease;
}
.faq-acc__mark::before{
  left:0;
  top:50%;
  width:100%;
  height:1.5px;
  margin-top:-.75px;
}
.faq-acc__mark::after{
  top:0;
  left:50%;
  width:1.5px;
  height:100%;
  margin-left:-.75px;
}
.faq-acc__item[data-open] .faq-acc__mark::after{
  transform:scaleY(0);
}
.faq-acc__a{
  display:block;
  padding:1.1rem;
  background:var(--faq-light);
  color:#0B1422;
  border-top:2px solid var(--faq-green);
  font-size:.95rem;
  line-height:1.8;
}
.faq-acc__a p{
  margin:0;
}
.faq-acc__a p + p{
  margin-top:.8rem;
}
.faq-acc__text .num,
.faq-acc__a .num{
  font-family:var(--faq-font-data);
  font-weight:500;
  color:#005B36;
}

.faq-help{
  background:var(--faq-card);
  border-top:1px solid var(--faq-border);
  position:relative;
  overflow:hidden;
}
.faq-help::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(120deg,rgba(0,230,138,.12),transparent 55%),
    repeating-linear-gradient(90deg,rgba(255,255,255,.02) 0 1px,transparent 1px 12px);
  pointer-events:none;
}
.faq-help::after{
  content:"";
  position:absolute;
  left:-3rem;
  bottom:-5rem;
  width:12rem;
  height:12rem;
  border:1px solid rgba(255,122,0,.22);
  transform:rotate(15deg);
  pointer-events:none;
}
.faq-help__inner{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  gap:1.5rem;
  padding-top:3rem;
  padding-bottom:3rem;
}
.faq-help__title{
  font-size:clamp(1.5rem,3vw,2.2rem);
  font-weight:300;
  color:#fff;
  margin:0 0 .5rem;
}
.faq-help__text{
  color:var(--faq-muted);
  margin:0;
  max-width:36rem;
}
.faq-help__actions{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
}

@media (min-width:768px){
  .faq-hero{
    padding:4rem 0 5rem;
  }
  .faq-hero__inner{
    padding-top:2rem;
    padding-bottom:2rem;
  }
  .faq-bd{
    grid-template-columns:270px 1fr;
    gap:3rem;
    align-items:start;
  }
  .faq-toc{
    position:sticky;
    top:2rem;
  }
  .faq-toc__list{
    gap:.65rem;
  }
  .faq-help__inner{
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
  }
  .faq-help__copy{
    flex:1;
  }
  .faq-help__actions{
    flex:none;
  }
  .faq-acc__q{
    padding:1.15rem 1.35rem;
  }
  .faq-acc__a{
    padding:1.35rem 1.5rem;
  }
}

@media (min-width:1080px){
  .faq-bd{
    grid-template-columns:300px 1fr;
    gap:4.5rem;
  }
  .faq-hero__title{
    font-size:clamp(2.5rem,5vw,4rem);
  }
  .faq-hero__lead{
    font-size:1.1rem;
  }
}
