.faq-page { background:#fff;color:#36363c; }
.faq-header { background:#0c0d12f2; }
.faq-hero { min-height:390px;padding:150px 0 82px;background:radial-gradient(circle at 80% 10%,#ed2b8d26,transparent 34%),linear-gradient(135deg,#090a0f,#151720);color:#fff; }
.faq-hero .container { position:relative; }
.faq-back { display:inline-flex;margin-bottom:38px;color:#aaaab2;font-size:12px;transition:color .2s; }
.faq-back:hover,.faq-back:focus-visible { color:var(--pink); }
.faq-eyebrow { margin:0 0 12px;color:var(--pink);font-size:12px;font-weight:600;letter-spacing:3px;text-transform:uppercase; }
.faq-hero h1 { max-width:760px;margin:0;font-size:clamp(38px,5vw,64px);line-height:1.08; }
.faq-hero h1::after { content:"";display:block;width:58px;height:4px;margin-top:24px;background:var(--pink); }
.faq-hero>div>p:last-child { max-width:670px;margin:26px 0 0;color:#bdbdc4;font-size:15px;line-height:1.75; }
.faq-content { padding:86px 0 110px;background:#fff; }
.faq-container { width:min(930px,calc(100% - 64px));margin:auto; }
.faq-group+.faq-group { margin-top:78px; }
.faq-group-title { margin:0 0 28px;color:#28282e;font-size:26px; }
.faq-group-title::after { width:42px;margin-top:13px;animation:none;transform:scaleX(1); }
.faq-list { border-top:1px solid #dedee3; }
.faq-item { border-bottom:1px solid #dedee3; }
.faq-item summary { display:grid;grid-template-columns:1fr 28px;gap:20px;align-items:start;padding:25px 0;cursor:pointer;list-style:none; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-question { color:#303036;font-size:18px;font-weight:600;line-height:1.45;transition:color .2s; }
.faq-item summary:hover .faq-question,.faq-item summary:focus-visible .faq-question { color:var(--pink); }
.faq-item summary:focus-visible { outline:2px solid #ed2b8d55;outline-offset:7px; }
.faq-toggle { position:relative;width:28px;height:28px;border:1px solid #d8d8dd;border-radius:50%;transition:border-color .25s,background .25s,transform .25s; }
.faq-toggle::before,.faq-toggle::after { content:"";position:absolute;top:50%;left:50%;width:10px;height:1px;background:#55555c;transform:translate(-50%,-50%); }
.faq-toggle::after { transform:translate(-50%,-50%) rotate(90deg);transition:transform .25s; }
.faq-item[open] .faq-toggle { border-color:var(--pink);background:var(--pink);transform:rotate(180deg); }
.faq-item[open] .faq-toggle::before,.faq-item[open] .faq-toggle::after { background:#fff; }
.faq-item[open] .faq-toggle::after { transform:translate(-50%,-50%) rotate(0); }
.faq-answer { padding:0 48px 30px 0;color:#65656d;font-size:14px;line-height:1.9; }
.faq-answer p { margin:0 0 17px; }
.faq-answer p:last-child { margin-bottom:0; }
.faq-answer h3 { margin:28px 0 10px;color:#333339;font-size:15px; }
.faq-answer a { color:var(--pink);text-decoration:underline;text-underline-offset:3px; }

@media(max-width:1024px) {
  .faq-hero { min-height:360px;padding:132px 0 70px; }
  .faq-hero .container { width:min(860px,calc(100% - 64px)); }
  .faq-content { padding:72px 0 92px; }
  .faq-container { width:min(820px,calc(100% - 64px)); }
  .faq-group+.faq-group { margin-top:66px; }
  .faq-item summary { padding:23px 0; }
  .faq-answer { padding-right:42px; }
}

@media(max-width:700px) {
  .faq-hero { min-height:340px;padding:116px 0 60px; }
  .faq-back { margin-bottom:30px; }
  .faq-hero h1 { font-size:36px; }
  .faq-hero>div>p:last-child { font-size:13px; }
  .faq-content { padding:58px 0 72px; }
  .faq-container { width:calc(100% - 36px); }
  .faq-group+.faq-group { margin-top:56px; }
  .faq-group-title { font-size:23px; }
  .faq-item summary { grid-template-columns:1fr 26px;gap:12px;padding:21px 0; }
  .faq-question { font-size:15px;line-height:1.5; }
  .faq-toggle { width:26px;height:26px; }
  .faq-answer { padding:0 4px 25px 0;font-size:13px;line-height:1.8; }
}

@media(max-width:420px) {
  .faq-hero .container { width:calc(100% - 28px); }
  .faq-hero h1 { font-size:32px; }
  .faq-container { width:calc(100% - 28px); }
  .faq-item summary { grid-template-columns:1fr 24px;gap:10px; }
  .faq-toggle { width:24px;height:24px; }
  .faq-answer { padding-left:0; }
}
