.page-faq{
  --faq-border:#E1E6EF;
  --faq-card-bg:#FFFFFF;
  --faq-ink:#16233A;
  --faq-muted:#5B6478;
  --faq-soft:#F5F7FA;
  --faq-deep:#13294B;
  --faq-deepest:#0B1B3A;
  --faq-orange:#FF6B35;
  --faq-cyan:#00E5FF;
  --faq-shadow:0 10px 30px rgba(11,27,58,.08);
  background:var(--faq-soft);
  color:var(--faq-ink);
}
.page-faq img{
  max-width:100%;
  height:auto;
  display:block;
}
.page-faq .faq-hero{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(120deg, rgba(255,107,53,.18), transparent 32%),
    linear-gradient(120deg, rgba(0,229,255,.08), transparent 48%),
    var(--faq-deepest);
  color:#fff;
  padding:52px 0 64px;
}
.page-faq .faq-hero-grid{
  display:grid;
  gap:30px;
  margin-top:24px;
}
.page-faq .faq-hero-main{
  max-width:680px;
}
.page-faq .faq-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0 0 14px;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--faq-orange);
}
.page-faq .faq-kicker::before{
  content:"";
  width:26px;
  height:3px;
  background:var(--faq-orange);
  border-radius:2px;
}
.page-faq .faq-hero h1{
  margin:0;
  font-family:var(--font-display);
  font-size:clamp(46px, 8vw, 84px);
  line-height:.98;
  letter-spacing:-.015em;
  text-transform:uppercase;
}
.page-faq .faq-hero-lead{
  max-width:560px;
  margin:20px 0 0;
  color:#B0B7C3;
  font-size:16px;
  line-height:1.75;
}
.page-faq .faq-hero-stats{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}
.page-faq .faq-stat{
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  padding:16px 14px;
  -webkit-backdrop-filter:blur(6px);
  backdrop-filter:blur(6px);
}
.page-faq .faq-stat-num{
  display:block;
  font-family:var(--font-mono);
  font-size:24px;
  font-weight:700;
  line-height:1.2;
  color:var(--faq-cyan);
}
.page-faq .faq-stat-label{
  display:block;
  margin-top:6px;
  font-size:12px;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#B0B7C3;
}
.page-faq .faq-slant{
  height:6px;
  background:linear-gradient(90deg, var(--faq-orange) 0%, var(--faq-cyan) 100%);
}
.page-faq .faq-body{
  padding:56px 0 72px;
  background-color:var(--faq-soft);
  background-image:radial-gradient(rgba(11,27,58,.045) 1px, transparent 1px);
  background-size:22px 22px;
}
.page-faq .faq-layout{
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  gap:32px;
}
.page-faq .faq-index{
  background:var(--faq-deep);
  color:#fff;
  border-radius:16px;
  padding:22px 20px;
  display:flex;
  flex-direction:column;
  gap:18px;
}
.page-faq .faq-index-title{
  margin:0;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--faq-cyan);
}
.page-faq .faq-index-nav{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  overflow-x:auto;
  scrollbar-width:none;
}
.page-faq .faq-index-nav::-webkit-scrollbar{
  display:none;
}
.page-faq .faq-index-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 14px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  color:#C7CFE0;
  text-decoration:none;
  font-size:14px;
  white-space:nowrap;
  transition:background .25s, color .25s, border-color .25s;
}
.page-faq .faq-index-link:hover{
  color:#fff;
  border-color:var(--faq-orange);
}
.page-faq .faq-index-index{
  font-family:var(--font-mono);
  font-size:11px;
  color:var(--faq-orange);
}
.page-faq .faq-index-cta{
  align-self:flex-start;
  margin-top:auto;
  text-decoration:none;
}
.page-faq .faq-content{
  display:flex;
  flex-direction:column;
  gap:52px;
}
.page-faq .faq-section{
  scroll-margin-top:calc(var(--header-h, 68px) + 24px);
  display:grid;
  gap:22px;
}
.page-faq .faq-section-head{
  display:flex;
  align-items:center;
  gap:14px;
  padding-bottom:12px;
  border-bottom:2px solid var(--faq-deep);
}
.page-faq .faq-section-num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  height:44px;
  background:var(--faq-deepest);
  color:#fff;
  border-radius:12px;
  font-family:var(--font-mono);
  font-size:14px;
  font-weight:700;
}
.page-faq .faq-section-head h2{
  margin:0;
  font-family:var(--font-display);
  font-size:clamp(22px, 3vw, 28px);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.01em;
}
.page-faq .faq-list{
  display:grid;
  gap:12px;
}
.page-faq .faq-item{
  background:var(--faq-card-bg);
  border:1px solid var(--faq-border);
  border-radius:14px;
  box-shadow:0 4px 14px rgba(11,27,58,.05);
  overflow:hidden;
  transition:border-color .25s, box-shadow .25s;
}
.page-faq .faq-item[open]{
  border-color:rgba(255,107,53,.45);
  box-shadow:0 8px 22px rgba(11,27,58,.08);
}
.page-faq .faq-summary{
  list-style:none;
  display:flex;
  align-items:center;
  gap:12px;
  padding:16px 14px;
  cursor:pointer;
  -webkit-user-select:none;
  user-select:none;
}
.page-faq .faq-summary::-webkit-details-marker{
  display:none;
}
.page-faq .faq-summary::marker{
  content:"";
}
.page-faq .faq-num{
  flex-shrink:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  border-radius:10px;
  background:rgba(255,107,53,.12);
  color:var(--faq-orange);
  font-family:var(--font-mono);
  font-size:13px;
  font-weight:700;
  transition:background .25s, color .25s;
}
.page-faq .faq-item[open] .faq-num{
  background:var(--faq-orange);
  color:#fff;
}
.page-faq .faq-q{
  flex:1;
  margin:0;
  font-size:15px;
  line-height:1.45;
  font-weight:600;
  color:var(--faq-ink);
}
.page-faq .faq-icon{
  flex-shrink:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border-radius:50%;
  background:rgba(255,107,53,.10);
  color:var(--faq-orange);
  font-family:var(--font-mono);
  font-size:18px;
  line-height:1;
  transition:transform .3s cubic-bezier(.4,0,.2,1), background .3s, color .3s;
}
.page-faq .faq-item[open] .faq-icon{
  transform:rotate(45deg);
  background:var(--faq-orange);
  color:#fff;
}
.page-faq .faq-answer{
  padding:14px 18px 18px;
  border-top:1px dashed transparent;
  transition:border-color .25s;
}
.page-faq .faq-item[open] .faq-answer{
  border-top-color:var(--faq-border);
}
.page-faq .faq-answer p{
  margin:0;
  font-size:15px;
  line-height:1.75;
  color:var(--faq-muted);
}
.page-faq .faq-media-row{
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  gap:14px;
}
.page-faq .faq-media-card{
  display:grid;
  gap:12px;
  justify-items:center;
  text-align:center;
  padding:18px;
  background:var(--faq-card-bg);
  border:1px solid var(--faq-border);
  border-radius:16px;
}
.page-faq .faq-media-card img{
  width:100%;
  max-width:200px;
  aspect-ratio:1 / 1;
  object-fit:cover;
  border-radius:12px;
}
.page-faq .faq-media-card strong{
  font-size:15px;
  color:var(--faq-ink);
}
.page-faq .faq-media-card span{
  font-size:13px;
  line-height:1.5;
  color:var(--faq-muted);
}
.page-faq .faq-media-card--note{
  align-content:center;
  justify-items:start;
  text-align:left;
  background:linear-gradient(135deg, rgba(255,107,53,.10), transparent 55%), var(--faq-deep);
  border-color:transparent;
  color:#fff;
}
.page-faq .faq-media-card--note p{
  margin:0 0 8px;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--faq-cyan);
}
.page-faq .faq-media-card--note strong{
  font-size:20px;
  color:#fff;
}
.page-faq .faq-media-card--note span{
  color:#C7CFE0;
}
.page-faq .faq-figure{
  margin:4px 0 0;
  padding:14px;
  display:grid;
  gap:10px;
  background:var(--faq-card-bg);
  border:1px solid var(--faq-border);
  border-radius:16px;
}
.page-faq .faq-figure img{
  width:100%;
  max-width:480px;
  aspect-ratio:4 / 3;
  object-fit:cover;
  border-radius:10px;
  margin-inline:auto;
}
.page-faq .faq-caption{
  margin:0;
  font-size:13px;
  line-height:1.6;
  color:var(--faq-muted);
  text-align:center;
}
.page-faq .faq-contact-band{
  background:linear-gradient(110deg, rgba(255,107,53,.14), transparent 55%), var(--faq-deepest);
  color:#fff;
}
.page-faq .faq-contact-grid{
  display:grid;
  gap:28px;
  padding:52px 0 60px;
}
.page-faq .faq-contact-band h2{
  margin:6px 0 8px;
  font-family:var(--font-display);
  font-size:clamp(26px, 4vw, 38px);
  text-transform:uppercase;
}
.page-faq .faq-contact-band p{
  margin:0;
  color:#B0B7C3;
}
.page-faq .faq-contact-band .faq-kicker{
  color:var(--faq-cyan);
}
.page-faq .faq-contact-band .faq-kicker::before{
  background:var(--faq-cyan);
}
.page-faq .faq-privacy-hint{
  margin-top:14px !important;
  font-size:13px;
}
.page-faq .faq-privacy-hint a{
  color:var(--faq-cyan);
  text-decoration:none;
}
.page-faq .faq-privacy-hint a:hover{
  text-decoration:underline;
}
.page-faq .faq-contact-links{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.page-faq .faq-contact-links .btn{
  text-decoration:none;
}
@media (min-width: 768px){
  .page-faq .faq-media-row{
    grid-template-columns:220px minmax(0, 1fr);
  }
}
@media (min-width: 1024px){
  .page-faq .faq-hero{
    padding:64px 0 76px;
  }
  .page-faq .faq-hero-grid{
    grid-template-columns:minmax(0, 1fr) 320px;
    align-items:end;
    gap:48px;
  }
  .page-faq .faq-hero-stats{
    gap:14px;
  }
  .page-faq .faq-stat{
    padding:18px 16px;
  }
  .page-faq .faq-body{
    padding:72px 0 88px;
  }
  .page-faq .faq-layout{
    grid-template-columns:248px minmax(0, 1fr);
    gap:48px;
    align-items:start;
  }
  .page-faq .faq-index{
    position:sticky;
    top:calc(var(--header-h, 68px) + 24px);
  }
  .page-faq .faq-index-nav{
    flex-direction:column;
    align-items:stretch;
    gap:6px;
  }
  .page-faq .faq-index-link{
    display:flex;
    justify-content:flex-start;
    border:0;
    border-radius:10px;
    padding:9px 12px;
    white-space:normal;
  }
  .page-faq .faq-index-link:hover{
    background:rgba(255,255,255,.08);
    border-color:transparent;
  }
  .page-faq .faq-index-cta{
    align-self:stretch;
    text-align:center;
  }
  .page-faq .faq-content{
    gap:64px;
  }
  .page-faq .faq-contact-grid{
    grid-template-columns:minmax(0, 1fr) auto;
    align-items:center;
    gap:48px;
    padding:56px 0 64px;
  }
  .page-faq .faq-contact-links{
    justify-content:flex-end;
  }
}
