.page-faq{
  position:relative;
  scroll-behavior:smooth;
  z-index:0;
}
.page-faq::before{
  content:"FAQ";
  position:absolute;
  top:56px;
  right:2%;
  font-family:var(--font-mono);
  font-weight:800;
  font-size:clamp(150px,22vw,320px);
  line-height:1;
  letter-spacing:-.06em;
  color:transparent;
  -webkit-text-stroke:1px rgba(var(--accent-rgb), .08);
  pointer-events:none;
  z-index:0;
}
.page-faq .faq-hero{
  position:relative;
  z-index:1;
  padding:44px 0 24px;
  background:
    linear-gradient(135deg, rgba(var(--accent-rgb), .07), transparent 56%),
    repeating-linear-gradient(90deg, var(--grid-line) 0 1px, transparent 1px 64px),
    repeating-linear-gradient(0deg, var(--grid-line) 0 1px, transparent 1px 64px);
}
.page-faq .faq-layout-wrap{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  padding-bottom:64px;
}
.page-faq .breadcrumbs{
  margin-bottom:22px;
}
.page-faq .faq-kicker{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 14px;
  font-family:var(--font-mono);
  font-size:13px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--accent);
}
.page-faq .faq-kicker::before{
  content:"";
  width:20px;
  height:2px;
  background:var(--accent);
}
.page-faq .faq-hero h1{
  max-width:820px;
  margin:0;
  font-size:clamp(26px, 4.4vw, 44px);
  line-height:1.18;
  letter-spacing:-.02em;
  font-weight:800;
  color:var(--text-main);
}
.page-faq .faq-lead{
  max-width:680px;
  margin:16px 0 0;
  font-size:15px;
  line-height:1.8;
  color:var(--text-sub);
}
.page-faq .faq-quick{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
}
.page-faq .faq-hero-stats{
  display:flex;
  flex-wrap:wrap;
  gap:16px 0;
  margin-top:36px;
  padding-top:20px;
  border-top:1px solid var(--line-soft);
}
.page-faq .faq-stat{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:104px;
  padding-right:28px;
  margin-right:28px;
  border-right:1px solid var(--line-soft);
}
.page-faq .faq-stat:last-child{
  margin-right:0;
  padding-right:0;
  border-right:0;
}
.page-faq .faq-stat .stat-value{
  font-family:var(--font-mono);
  font-size:26px;
  line-height:1.1;
  font-weight:700;
  color:var(--accent);
}
.page-faq .faq-stat .stat-label{
  font-size:12px;
  letter-spacing:.06em;
  color:var(--text-sub);
}
.page-faq .faq-sidebar{
  order:2;
  margin-top:36px;
}
.page-faq .faq-sidebar-inner{
  padding:18px;
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  background:var(--card-bg);
}
.page-faq .faq-index-title{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 14px;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--text-sub);
}
.page-faq .faq-index-title::after{
  content:"";
  height:1px;
  flex:1;
  background:var(--line-soft);
}
.page-faq .faq-index{
  display:grid;
  gap:2px;
}
.page-faq .faq-index-group{
  margin:16px 0 6px;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.06em;
  color:var(--accent-warm);
}
.page-faq .faq-index-group:first-child{
  margin-top:0;
}
.page-faq .faq-index-link{
  display:flex;
  align-items:baseline;
  gap:10px;
  padding:7px 8px;
  border-left:2px solid transparent;
  border-radius:var(--radius-sm);
  font-size:14px;
  line-height:1.4;
  color:var(--text-sub);
  text-decoration:none;
  transition:color .2s ease, border-color .2s ease, background .2s ease;
}
.page-faq .faq-index-num{
  font-family:var(--font-mono);
  font-size:11px;
  color:var(--accent);
}
.page-faq .faq-index-link:hover{
  border-left-color:var(--accent);
  background:rgba(var(--accent-rgb), .06);
  color:var(--text-main);
}
.page-faq .faq-content{
  order:1;
  margin-top:0;
  min-width:0;
}
.page-faq .faq-section{
  scroll-margin-top:118px;
  padding:36px 0 8px;
  border-top:1px solid var(--line-soft);
}
.page-faq .faq-section:first-of-type{
  border-top:0;
  padding-top:0;
}
.page-faq .faq-section-intro{
  display:block;
  margin-bottom:22px;
}
.page-faq .faq-section-intro .section-head{
  margin-bottom:22px;
}
.page-faq .faq-media{
  margin:0 0 24px;
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  overflow:hidden;
  background:var(--card-bg);
}
.page-faq .faq-media img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
}
.page-faq .faq-media figcaption{
  padding:10px 14px;
  border-top:1px solid var(--line-soft);
  font-family:var(--font-mono);
  font-size:12px;
  color:var(--text-sub);
}
.page-faq .faq-media--wide{
  margin-top:24px;
}
.page-faq .faq-list{
  display:grid;
  gap:12px;
}
.page-faq .faq-item{
  scroll-margin-top:118px;
  background:var(--card-bg);
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  overflow:hidden;
  transition:border-color .25s ease, background .25s ease, box-shadow .25s ease;
}
.page-faq .faq-item[open]{
  border-color:rgba(var(--accent-rgb), .45);
  background:var(--float-bg);
  box-shadow:0 10px 36px rgba(0, 0, 0, .18);
}
.page-faq .faq-item-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:16px 18px;
  list-style:none;
  cursor:pointer;
  font-size:15px;
  line-height:1.55;
  font-weight:600;
  color:var(--text-main);
  transition:color .2s ease, background .2s ease;
}
.page-faq .faq-item-title::-webkit-details-marker{
  display:none;
}
.page-faq .faq-item-title:hover{
  background:rgba(var(--accent-rgb), .04);
}
.page-faq .faq-item-title:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:-2px;
}
.page-faq .faq-item-title::after{
  content:"+";
  flex:none;
  font-family:var(--font-mono);
  font-size:22px;
  line-height:1;
  color:var(--accent);
  transition:transform .28s ease, color .28s ease;
}
.page-faq .faq-item[open] .faq-item-title{
  color:var(--accent);
}
.page-faq .faq-item[open] .faq-item-title::after{
  color:var(--accent-warm);
  transform:rotate(45deg);
}
.page-faq .faq-answer{
  padding:0 18px 18px;
  font-size:14px;
  line-height:1.8;
  color:var(--text-sub);
  border-top:1px solid transparent;
}
.page-faq .faq-item[open] .faq-answer{
  border-top-color:var(--line-soft);
  animation:faq-answer-in .32s ease both;
}
.page-faq .faq-answer p{
  margin:0 0 12px;
}
.page-faq .faq-answer p:last-child{
  margin-bottom:0;
}
.page-faq .faq-answer-list{
  display:grid;
  gap:6px;
  margin:0 0 12px;
  padding:0;
  list-style:none;
}
.page-faq .faq-answer-list li{
  position:relative;
  padding-left:16px;
}
.page-faq .faq-answer-list li::before{
  content:"›";
  position:absolute;
  left:0;
  color:var(--accent);
  font-family:var(--font-mono);
}
.page-faq .faq-answer a{
  color:var(--accent);
  text-decoration:none;
  border-bottom:1px solid rgba(var(--accent-rgb), .3);
  transition:border-color .2s ease;
}
.page-faq .faq-answer a:hover{
  border-bottom-color:var(--accent);
}
.page-faq .faq-footer-note{
  margin-top:28px;
  padding:20px;
  border:1px dashed var(--line);
  border-radius:var(--radius-md);
  background:rgba(var(--accent-rgb), .04);
  font-size:14px;
  line-height:1.8;
  color:var(--text-sub);
}
.page-faq .faq-footer-note a{
  color:var(--accent);
  text-decoration:none;
  border-bottom:1px solid rgba(var(--accent-rgb), .3);
}
.page-faq .faq-footer-note a:hover{
  border-bottom-color:var(--accent);
}

@keyframes faq-answer-in{
  from{
    opacity:0;
    transform:translateY(-8px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

@media (min-width: 860px){
  .page-faq .faq-hero{
    padding:64px 0 36px;
  }
  .page-faq .faq-lead{
    font-size:16px;
  }
  .page-faq .faq-hero-stats{
    margin-top:44px;
  }
  .page-faq .faq-layout-wrap{
    display:grid;
    grid-template-columns:250px minmax(0, 1fr);
    gap:44px;
    align-items:start;
    padding-bottom:96px;
  }
  .page-faq .faq-sidebar{
    order:0;
    position:sticky;
    top:120px;
    margin-top:0;
  }
  .page-faq .faq-content{
    order:0;
  }
  .page-faq .faq-section{
    padding:44px 0 12px;
  }
  .page-faq .faq-section-intro{
    display:grid;
    grid-template-columns:minmax(0, 1fr) minmax(260px, 420px);
    gap:28px;
    align-items:start;
    margin-bottom:26px;
  }
  .page-faq .faq-section-intro .section-head{
    margin-bottom:0;
  }
  .page-faq .faq-section--alt .faq-section-intro{
    display:block;
  }
  .page-faq .faq-media{
    margin:0;
  }
  .page-faq .faq-media--wide{
    margin-top:28px;
  }
  .page-faq .faq-answer{
    font-size:15px;
  }
  .page-faq .faq-item-title{
    font-size:16px;
  }
}

@media (prefers-reduced-motion: reduce){
  .page-faq *,
  .page-faq *::before,
  .page-faq *::after{
    animation-duration:.01ms !important;
    transition-duration:.01ms !important;
  }
  .page-faq{
    scroll-behavior:auto;
  }
}
