.page-faq{
  --faq-gutter: clamp(20px, 4vw, 48px);
  --faq-zone-max: 1240px;
  --faq-border: rgba(255,255,255,0.14);
  --faq-glow-primary: rgba(255,42,109,0.35);
  --faq-glow-secondary: rgba(5,217,232,0.22);
  width:100%;
  overflow-x:clip;
  background:
    radial-gradient(circle at 8% 4%, rgba(255,42,109,0.16), transparent 38vw),
    radial-gradient(circle at 94% 12%, rgba(5,217,232,0.12), transparent 30vw),
    linear-gradient(145deg, var(--clr-bg) 0%, var(--clr-bg-deep) 100%);
  color: var(--clr-text);
  font-family: var(--font-body);
}
.page-faq ::selection{
  background: rgba(255,42,109,0.45);
  color: #fff;
}
.page-faq img{
  max-width:100%;
  height:auto;
}
.page-faq .breadcrumb{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  font-size:var(--fs-small);
  color:rgba(248,240,229,0.55);
  margin-bottom:18px;
}
.page-faq .breadcrumb a{
  color:var(--clr-secondary);
  text-decoration:none;
  border-bottom:1px dashed rgba(5,217,232,0.4);
  transition:border-color .2s ease;
}
.page-faq .breadcrumb a:hover{
  border-bottom-style:solid;
  border-color:var(--clr-secondary);
}
.page-faq .breadcrumb__current{
  color:rgba(248,240,229,0.72);
  font-weight:500;
}
.page-faq .faq-hero{
  position:relative;
  display:grid;
  gap:28px;
  max-width:var(--faq-zone-max);
  margin:0 auto;
  padding:40px var(--faq-gutter) 48px;
  z-index:0;
}
.page-faq .faq-hero::before{
  content:"";
  position:absolute;
  inset:-8% -6% 0;
  z-index:-1;
  background:linear-gradient(115deg, rgba(46,26,71,0.96) 0%, rgba(185,55,94,0.72) 52%, rgba(93,38,97,0.55) 100%);
  clip-path:polygon(0 0, 100% 0, 100% 82%, 0 100%);
  border-bottom:2px solid rgba(255,42,109,0.5);
}
.page-faq .faq-hero::after{
  content:"";
  position:absolute;
  right:-40px;
  top:60px;
  width:180px;
  height:180px;
  z-index:-1;
  background:radial-gradient(circle, rgba(5,217,232,0.25) 0%, transparent 68%);
  filter:blur(10px);
  pointer-events:none;
}
.page-faq .faq-hero__content{
  min-width:0;
}
.page-faq .faq-hero__title{
  margin:0;
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(1.7rem, 5vw, 2.9rem);
  line-height:1.08;
  letter-spacing:var(--ls-display);
  text-transform:uppercase;
}
.page-faq .faq-hero__title span{
  display:block;
  margin-top:12px;
  font-size:0.68em;
  letter-spacing:0.12em;
  background:linear-gradient(120deg, var(--clr-primary), var(--clr-secondary));
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  color:transparent;
}
.page-faq .faq-hero__lead{
  margin:20px 0 0;
  max-width:620px;
  font-size:1rem;
  line-height:1.9;
  color:rgba(248,240,229,0.82);
  letter-spacing:var(--ls-body);
}
.page-faq .faq-hero__stats{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:12px;
  margin-top:24px;
}
.page-faq .faq-stat{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:16px 14px;
  border:1px solid rgba(255,255,255,0.12);
  border-left:3px solid var(--clr-primary);
  background:rgba(255,255,255,0.05);
  border-radius:var(--radius-sm);
  backdrop-filter:blur(4px);
  transition:transform .3s ease, border-color .3s ease;
}
.page-faq .faq-stat:hover{
  transform:translateY(-2px);
  border-color:rgba(255,42,109,0.45);
}
.page-faq .faq-stat__num{
  font-family:var(--font-display);
  font-weight:900;
  font-size:1.55rem;
  line-height:1;
  background:linear-gradient(120deg, var(--clr-primary), var(--clr-secondary));
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  color:transparent;
}
.page-faq .faq-stat__label{
  font-size:0.8rem;
  color:rgba(248,240,229,0.72);
  letter-spacing:0.04em;
}
.page-faq .faq-hero__figure{
  position:relative;
  margin:0;
  min-width:0;
  transform:rotate(-1.5deg);
  border:2px solid rgba(255,255,255,0.16);
  border-radius:var(--radius-md);
  overflow:hidden;
  box-shadow:0 18px 42px rgba(11,10,19,0.55), 0 0 30px rgba(255,42,109,0.12);
}
.page-faq .faq-hero__figure img{
  display:block;
  width:100%;
  height:210px;
  object-fit:cover;
}
.page-faq .faq-index{
  position:relative;
  z-index:2;
  max-width:var(--faq-zone-max);
  margin:-6px auto 0;
  padding:20px var(--faq-gutter) 32px;
}
.page-faq .faq-index__title{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 16px;
  font-family:var(--font-display);
  font-size:1.05rem;
  font-weight:700;
  letter-spacing:0.1em;
  text-transform:uppercase;
}
.page-faq .faq-index__title::before{
  content:"";
  width:22px;
  height:4px;
  background:var(--clr-primary);
  box-shadow:0 0 12px var(--clr-primary);
  display:inline-block;
}
.page-faq .faq-index__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}
.page-faq .faq-index__item{
  display:flex;
  align-items:center;
  gap:14px;
  padding:18px 16px;
  background:linear-gradient(145deg, rgba(255,255,255,0.09), rgba(46,26,71,0.5));
  border:2px solid var(--faq-border);
  border-radius:var(--radius-md);
  text-decoration:none;
  color:var(--clr-text);
  box-shadow:0 0 22px rgba(255,42,109,0.06);
  transition:transform .3s ease-out, border-color .3s ease-out, box-shadow .3s ease-out;
}
.page-faq .faq-index__item:hover{
  transform:translateY(-3px) rotate(0.4deg);
  border-color:rgba(255,42,109,0.7);
  box-shadow:0 0 30px rgba(255,42,109,0.2);
}
.page-faq .faq-index__no{
  font-family:var(--font-display);
  font-weight:900;
  font-size:1.2rem;
  color:var(--clr-secondary);
  opacity:0.9;
}
.page-faq .faq-index__name{
  font-weight:700;
  font-size:0.95rem;
}
.page-faq .faq-index__count{
  margin-left:auto;
  font-size:0.72rem;
  color:rgba(248,240,229,0.68);
  border:1px solid rgba(255,255,255,0.18);
  padding:3px 10px;
  border-radius:20px;
  background:rgba(255,42,109,0.12);
  white-space:nowrap;
}
.page-faq .faq-divider{
  max-width:var(--faq-zone-max);
  height:2px;
  margin:8px auto;
  background:linear-gradient(90deg, transparent, rgba(255,42,109,0.55), rgba(5,217,232,0.4), transparent);
}
.page-faq .faq-zone{
  max-width:var(--faq-zone-max);
  margin-inline:auto;
  padding:28px var(--faq-gutter) 12px;
  scroll-margin-top:calc(var(--header-h) + 14px);
}
.page-faq .faq-zone__head{
  display:flex;
  align-items:flex-start;
  gap:16px;
  margin-bottom:22px;
  padding-bottom:14px;
  border-bottom:2px solid rgba(255,255,255,0.12);
  transition:border-left-color .3s ease, padding-left .3s ease;
}
.page-faq .faq-zone__head h2{
  margin:0;
  font-family:var(--font-display);
  font-size:clamp(1.3rem, 3vw, 1.8rem);
  font-weight:900;
  letter-spacing:0.05em;
  text-transform:uppercase;
}
.page-faq .faq-zone__head p{
  margin:6px 0 0;
  color:rgba(248,240,229,0.62);
  font-size:0.9rem;
}
.page-faq .faq-zone__tone{
  font-family:var(--font-display);
  font-weight:900;
  font-size:2rem;
  line-height:1;
  background:linear-gradient(135deg, var(--clr-primary), var(--clr-secondary));
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  color:transparent;
  flex:0 0 auto;
}
.page-faq .faq-zone.is-current .faq-zone__head{
  border-left:4px solid var(--clr-primary);
  padding-left:14px;
}
.page-faq .faq-list{
  display:grid;
  gap:14px;
}
.page-faq .faq-item{
  border:2px solid var(--faq-border);
  border-radius:var(--radius-md);
  background:linear-gradient(145deg, rgba(255,255,255,0.07), rgba(11,10,19,0.6));
  overflow:hidden;
  transition:border-color .35s ease, box-shadow .35s ease, background .35s ease;
}
.page-faq .faq-item[open]{
  border-color:rgba(255,42,109,0.72);
  background:linear-gradient(120deg, rgba(46,26,71,0.85), rgba(11,10,19,0.88));
  box-shadow:0 0 28px var(--faq-glow-primary), inset 0 0 28px rgba(5,217,232,0.05);
}
.page-faq .faq-item summary{
  display:flex;
  align-items:center;
  gap:14px;
  padding:18px 20px;
  cursor:pointer;
  list-style:none;
  user-select:none;
  transition:background .25s ease;
}
.page-faq .faq-item summary::-webkit-details-marker{
  display:none;
}
.page-faq .faq-item summary::marker{
  content:"";
}
.page-faq .faq-item summary:hover{
  background:rgba(255,255,255,0.04);
}
.page-faq .faq-item__num{
  flex:0 0 auto;
  font-family:var(--font-display);
  font-weight:900;
  font-size:0.9rem;
  background:linear-gradient(120deg, var(--clr-primary), var(--clr-secondary));
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  color:transparent;
}
.page-faq .faq-item h3{
  margin:0;
  font-size:1rem;
  font-weight:700;
  line-height:1.5;
  letter-spacing:0.01em;
}
.page-faq .faq-item__icon{
  align-self:center;
  margin-left:auto;
  flex:0 0 26px;
  width:26px;
  height:26px;
  border:2px dotted rgba(5,217,232,0.72);
  border-radius:50%;
  display:grid;
  place-items:center;
  position:relative;
  transition:transform .35s ease, border-color .35s ease, border-style .35s ease;
}
.page-faq .faq-item__icon::after{
  content:"";
  width:9px;
  height:9px;
  border-right:2px solid var(--clr-secondary);
  border-bottom:2px solid var(--clr-secondary);
  transform:rotate(45deg) translate(-2px, -2px);
}
.page-faq .faq-item[open] .faq-item__icon{
  transform:rotate(180deg);
  border-style:solid;
  border-color:var(--clr-primary);
}
.page-faq .faq-item[open] .faq-item__icon::after{
  border-color:var(--clr-primary);
  transform:rotate(225deg) translate(-1px, -1px);
}
.page-faq .faq-item__a{
  max-height:0;
  opacity:0;
  overflow:hidden;
  padding:0 22px;
  transition:max-height .48s ease-out, opacity .3s ease-out, padding .3s ease-out;
}
.page-faq .faq-item[open] .faq-item__a{
  max-height:2400px;
  opacity:1;
  padding:4px 22px 24px;
}
.page-faq .faq-item__a p{
  color:rgba(248,240,229,0.82);
  font-size:0.95rem;
  line-height:1.85;
  margin:0 0 14px;
}
.page-faq .faq-item__a p:last-child{
  margin-bottom:0;
}
.page-faq .faq-item__a a{
  color:var(--clr-secondary);
  font-weight:600;
  text-decoration:none;
  border-bottom:1px dashed rgba(5,217,232,0.55);
  transition:border-color .2s ease, filter .2s ease;
}
.page-faq .faq-item__a a:hover{
  border-bottom-style:solid;
  filter:drop-shadow(0 0 6px rgba(5,217,232,0.5));
}
.page-faq .faq-mark{
  background:linear-gradient(120deg, rgba(255,42,109,0.28), rgba(5,217,232,0.16));
  padding:1px 8px;
  border-radius:5px;
  color:var(--clr-text);
  font-weight:600;
  white-space:nowrap;
}
.page-faq .faq-steps{
  display:grid;
  gap:10px;
  margin:14px 0 18px;
  padding:18px 16px;
  background:rgba(5,217,232,0.06);
  border:1px solid rgba(5,217,232,0.26);
  border-left:4px solid var(--clr-secondary);
  border-radius:var(--radius-sm);
}
.page-faq .faq-step{
  display:flex;
  flex-direction:column;
  gap:2px;
  font-size:0.92rem;
  line-height:1.7;
  color:rgba(248,240,229,0.85);
}
.page-faq .faq-step b{
  color:var(--clr-text);
  font-weight:700;
  font-size:0.93rem;
}
.page-faq .faq-step b::before{
  content:"◆";
  color:var(--clr-primary);
  margin-right:8px;
  font-size:0.75rem;
}
.page-faq .faq-step a{
  color:var(--clr-secondary);
  text-decoration:none;
  border-bottom:1px dashed rgba(5,217,232,0.5);
}
.page-faq .faq-flow{
  margin:16px 0 6px;
  border-radius:var(--radius-md);
  overflow:hidden;
  border:2px solid rgba(255,42,109,0.32);
  box-shadow:0 0 26px rgba(255,42,109,0.12);
}
.page-faq .faq-flow img{
  display:block;
  width:100%;
  height:auto;
  object-fit:cover;
}
.page-faq .faq-flow figcaption{
  padding:10px 14px;
  font-size:0.8rem;
  color:rgba(248,240,229,0.82);
  background:rgba(255,42,109,0.14);
  letter-spacing:0.04em;
  text-align:center;
}
.page-faq .faq-tail{
  max-width:var(--faq-zone-max);
  margin:40px auto 64px;
  padding:0 var(--faq-gutter);
}
.page-faq .faq-tail__inner{
  position:relative;
  overflow:hidden;
  padding:38px clamp(20px, 4vw, 48px);
  border:2px solid rgba(255,255,255,0.14);
  border-radius:var(--radius-md);
  background:
    radial-gradient(circle at 82% 18%, rgba(5,217,232,0.2), transparent 32%),
    linear-gradient(120deg, rgba(46,26,71,0.92), rgba(185,55,94,0.72));
  box-shadow:0 0 40px rgba(255,42,109,0.12);
}
.page-faq .faq-tail__inner h2{
  margin:0 0 10px;
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(1.3rem, 3vw, 2rem);
  letter-spacing:0.04em;
  text-transform:uppercase;
}
.page-faq .faq-tail__inner p{
  margin:0;
  color:rgba(248,240,229,0.82);
  line-height:1.8;
  max-width:640px;
}
.page-faq .faq-tail__links{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:22px;
}
.page-faq .btn--primary,
.page-faq .btn--ghost{
  padding:14px 24px;
  font-family:var(--font-display);
  font-weight:700;
  font-size:0.84rem;
  letter-spacing:0.08em;
  text-decoration:none;
  border-radius:var(--radius-sm);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease, background .25s ease;
}
.page-faq .btn--primary{
  background:linear-gradient(120deg, var(--clr-primary), var(--clr-rose));
  color:#fff;
  box-shadow:0 0 26px rgba(255,42,109,0.42);
}
.page-faq .btn--primary:hover{
  transform:translateY(-2px);
  box-shadow:0 0 38px rgba(255,42,109,0.65);
}
.page-faq .btn--ghost{
  border:2px solid var(--clr-secondary);
  color:var(--clr-secondary);
  background:rgba(5,217,232,0.06);
}
.page-faq .btn--ghost:hover{
  background:rgba(5,217,232,0.16);
  box-shadow:0 0 22px rgba(5,217,232,0.38);
  transform:translateY(-2px);
}
@media (min-width:720px){
  .page-faq .faq-index__grid{
    grid-template-columns:repeat(2, 1fr);
  }
  .page-faq .faq-step{
    flex-direction:row;
    align-items:baseline;
    gap:10px;
  }
  .page-faq .faq-step b{
    flex:0 0 180px;
  }
  .page-faq .faq-hero__figure img{
    height:260px;
  }
}
@media (min-width:960px){
  .page-faq .faq-hero{
    grid-template-columns:1.15fr 0.85fr;
    align-items:center;
    gap:48px;
    padding:72px var(--faq-gutter) 72px;
  }
  .page-faq .faq-hero__lead{
    font-size:1.05rem;
  }
  .page-faq .faq-hero__figure{
    transform:rotate(2deg) translateY(24px);
  }
  .page-faq .faq-hero__figure img{
    height:360px;
  }
}
@media (min-width:1060px){
  .page-faq .faq-index__grid{
    grid-template-columns:repeat(4, 1fr);
  }
  .page-faq .faq-index{
    padding:28px var(--faq-gutter) 40px;
  }
  .page-faq .faq-zone{
    padding:36px var(--faq-gutter) 16px;
  }
  .page-faq .faq-item h3{
    font-size:1.05rem;
  }
}
