.page-faq{
  --faq-hair:rgba(11,13,15,.14);
  --faq-hair-strong:rgba(11,13,15,.3);
  --faq-toc-w:212px;
  background:var(--warm);
  color:var(--carbon);
  font-family:var(--font-sans);
  overflow-x:clip;
}
.page-faq *,
.page-faq *::before,
.page-faq *::after{ box-sizing:border-box; }

.page-faq .page-faq__crumb{ padding-top:18px; padding-bottom:4px; }

/* ---------- hero ---------- */
.page-faq .page-faq__hero{
  position:relative;
  background:var(--carbon);
  color:var(--warm);
  padding:44px 0 52px;
  overflow:hidden;
  isolation:isolate;
}
.page-faq .page-faq__hero::before{
  content:"";
  position:absolute;
  right:-22%;
  bottom:-48%;
  width:min(660px,112%);
  aspect-ratio:1 / 1;
  background:linear-gradient(135deg,var(--red) 0%,var(--red) 47%,transparent 47.5%);
  opacity:.3;
  transform:rotate(-7deg);
  pointer-events:none;
  z-index:0;
}
.page-faq .page-faq__hero::after{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(to right,var(--line-dark) 1px,transparent 1px),
    linear-gradient(to bottom,var(--line-dark) 1px,transparent 1px);
  background-size:64px 64px;
  opacity:.5;
  pointer-events:none;
  z-index:0;
  -webkit-mask-image:linear-gradient(to bottom,#000 10%,transparent 78%);
  mask-image:linear-gradient(to bottom,#000 10%,transparent 78%);
}
.page-faq .page-faq__hero-inner{ position:relative; z-index:1; }

.page-faq .page-faq__eyebrow{
  display:inline-block;
  margin:0 0 16px;
  padding:5px 11px;
  border:1px solid rgba(182,255,59,.45);
  border-radius:999px;
  color:var(--volt);
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.1em;
  line-height:1.4;
}
.page-faq .page-faq__title{
  margin:0 0 16px;
  max-width:22ch;
  font-size:clamp(28px,7.4vw,50px);
  font-weight:900;
  line-height:1.1;
  letter-spacing:-.02em;
  color:var(--warm);
}
.page-faq .page-faq__lead{
  margin:0 0 24px;
  max-width:58ch;
  font-size:17px;
  line-height:1.78;
  color:rgba(244,240,232,.78);
}
.page-faq .page-faq__hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-bottom:22px;
}
.page-faq .page-faq__hero-meta{
  margin:0;
  font-size:12px;
  letter-spacing:.06em;
  color:rgba(244,240,232,.55);
}

/* ---------- layout ---------- */
.page-faq .page-faq__layout{
  display:grid;
  gap:34px;
  padding-top:36px;
  padding-bottom:56px;
}
.page-faq .page-faq__toc{
  align-self:start;
  border-top:2px solid var(--red);
  padding-top:12px;
}
.page-faq .page-faq__toc-title{
  margin:0 0 8px;
  font-size:12px;
  letter-spacing:.16em;
  color:var(--stone);
}
.page-faq .page-faq__toc-list{
  list-style:none;
  margin:0;
  padding:0;
}
.page-faq .page-faq__toc-list a{
  display:flex;
  gap:10px;
  align-items:baseline;
  padding:9px 0;
  border-bottom:1px solid var(--faq-hair);
  color:var(--carbon);
  font-size:14px;
  line-height:1.5;
  text-decoration:none;
  transition:color .18s ease,transform .18s ease;
}
.page-faq .page-faq__toc-list a:hover,
.page-faq .page-faq__toc-list a:focus-visible{
  color:var(--red);
  transform:translateX(3px);
}
.page-faq .page-faq__toc-list .mono{
  flex:0 0 auto;
  font-size:11px;
  letter-spacing:.06em;
  color:var(--red);
}

.page-faq .page-faq__body{ display:grid; gap:48px; }

/* ---------- section heads ---------- */
.page-faq .page-faq__section{ scroll-margin-top:80px; }
.page-faq .page-faq__sec-head{
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:12px;
  margin-bottom:16px;
  padding-bottom:10px;
  border-bottom:1px solid var(--faq-hair-strong);
}
.page-faq .page-faq__sec-idx{
  font-size:12px;
  font-weight:600;
  letter-spacing:.1em;
  color:var(--red);
}
.page-faq .page-faq__section h2{
  margin:0;
  font-size:clamp(20px,5.2vw,30px);
  font-weight:800;
  line-height:1.22;
  letter-spacing:-.015em;
  color:var(--carbon);
}
.page-faq .page-faq__section h3{
  margin:0 0 6px;
  font-size:16px;
  font-weight:700;
  line-height:1.5;
  color:var(--carbon);
}
.page-faq .page-faq__section p{
  margin:0 0 14px;
  max-width:68ch;
  font-size:16px;
  line-height:1.8;
  color:var(--stone);
}
.page-faq .page-faq__section p a{
  color:var(--blue);
  text-decoration:underline;
  text-underline-offset:3px;
}
.page-faq .page-faq__section p a:hover,
.page-faq .page-faq__section p a:focus-visible{ color:var(--red); }

/* ---------- steps ---------- */
.page-faq .page-faq__steps{
  list-style:none;
  margin:0;
  padding:0;
}
.page-faq .page-faq__steps > li{
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:14px;
  padding:16px 0;
  border-bottom:1px dashed var(--faq-hair);
}
.page-faq .page-faq__steps > li:last-child{ border-bottom:0; }
.page-faq .page-faq__step-num{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border:1px solid var(--faq-hair-strong);
  border-radius:12px;
  background:rgba(200,16,46,.07);
  font-size:12px;
  font-weight:600;
  color:var(--red);
}
.page-faq .page-faq__steps p{ margin:0; }

/* ---------- diagram ---------- */
.page-faq .page-faq__diagram{
  display:block;
  width:100%;
  height:auto;
  margin:6px 0 22px;
  color:var(--stone);
}
.page-faq .page-faq__diagram text{
  font-family:var(--font-mono);
  font-size:16px;
  text-anchor:middle;
  fill:var(--stone);
}

/* ---------- figures ---------- */
.page-faq .page-faq__figure{
  margin:22px 0 0;
  border-radius:20px;
  overflow:hidden;
  background:var(--carbon-soft);
}
.page-faq .page-faq__figure img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  object-fit:cover;
}
.page-faq .page-faq__figcaption{
  margin:0;
  padding:12px 16px 14px;
  background:var(--carbon-soft);
  font-family:var(--font-mono);
  font-size:12.5px;
  line-height:1.7;
  color:rgba(244,240,232,.62);
}

/* ---------- tabs ---------- */
.page-faq .page-faq__tabs{ margin-top:4px; }
.page-faq .page-faq__tabs .tabs__list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:22px;
  padding:0;
}
.page-faq .page-faq__tabs .tabs__tab{
  appearance:none;
  -webkit-appearance:none;
  border:1px solid var(--faq-hair-strong);
  border-radius:999px;
  background:transparent;
  padding:8px 15px;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.03em;
  color:var(--stone);
  cursor:pointer;
  transition:background .18s ease,color .18s ease,border-color .18s ease;
}
.page-faq .page-faq__tabs .tabs__tab:hover{ border-color:var(--red); color:var(--red); }
.page-faq .page-faq__tabs .tabs__tab[aria-selected="true"]{
  background:var(--carbon);
  border-color:var(--carbon);
  color:var(--volt);
}
.page-faq .page-faq__tabs .tabs__panel{
  border-left:3px solid var(--red);
  padding-left:16px;
}
.page-faq .page-faq__tabs .tabs__panel h3{ margin-bottom:10px; }
.page-faq .page-faq__tabs .tabs__panel ul{
  list-style:none;
  margin:0;
  padding:0;
}
.page-faq .page-faq__tabs .tabs__panel li{
  position:relative;
  margin-bottom:9px;
  padding-left:18px;
  font-size:15px;
  line-height:1.78;
  color:var(--stone);
}
.page-faq .page-faq__tabs .tabs__panel li::before{
  content:"";
  position:absolute;
  left:2px;
  top:.72em;
  width:7px;
  height:7px;
  border-radius:2px;
  background:var(--clay);
}

/* ---------- dark band ---------- */
.page-faq .page-faq__section--dark{
  position:relative;
  border-radius:24px;
  padding:26px 20px 30px;
  background-color:var(--carbon);
  background-image:linear-gradient(155deg,rgba(200,16,46,.24),transparent 58%);
  color:var(--warm);
}
.page-faq .page-faq__section--dark h2,
.page-faq .page-faq__section--dark h3{ color:var(--warm); }
.page-faq .page-faq__section--dark p{ color:rgba(244,240,232,.76); }
.page-faq .page-faq__section--dark .page-faq__sec-head{ border-bottom-color:var(--line-dark); }
.page-faq .page-faq__section--dark .page-faq__figcaption{ background:var(--carbon-soft); }

.page-faq .page-faq__minute-list{
  list-style:none;
  margin:0 0 6px;
  padding:0;
  display:grid;
  gap:14px;
}
.page-faq .page-faq__minute-list li{
  display:grid;
  grid-template-columns:84px minmax(0,1fr);
  gap:12px;
  align-items:baseline;
  font-size:15px;
  line-height:1.75;
  color:rgba(244,240,232,.78);
}
.page-faq .page-faq__minute-key{
  display:inline-block;
  padding:3px 8px;
  border-radius:6px;
  background:var(--volt);
  color:var(--carbon);
  font-size:11px;
  letter-spacing:.06em;
  text-align:center;
  white-space:nowrap;
}

/* ---------- fields ---------- */
.page-faq .page-faq__fields{
  margin:6px 0 0;
  display:grid;
  gap:0;
}
.page-faq .page-faq__field{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:4px;
  padding:15px 0;
  border-bottom:1px solid var(--faq-hair);
}
.page-faq .page-faq__field dt{
  font-size:13px;
  letter-spacing:.04em;
  color:var(--red);
}
.page-faq .page-faq__field dd{
  margin:0;
  font-size:15px;
  line-height:1.78;
  color:var(--stone);
}
.page-faq .page-faq__field dd strong{
  color:var(--carbon);
  font-weight:700;
}

/* ---------- contact block ---------- */
.page-faq .page-faq__contact{
  display:grid;
  gap:0;
  margin:8px 0 18px;
  border-top:1px solid var(--faq-hair-strong);
}
.page-faq .page-faq__contact-row{
  display:grid;
  grid-template-columns:66px minmax(0,1fr);
  gap:14px;
  align-items:baseline;
  padding:12px 0;
  border-bottom:1px solid var(--faq-hair);
  font-size:15px;
}
.page-faq .page-faq__contact-key{
  font-size:12px;
  letter-spacing:.08em;
  color:var(--stone);
}
.page-faq .page-faq__contact-val{
  color:var(--carbon);
  overflow-wrap:anywhere;
  word-break:break-word;
}
.page-faq .page-faq__notice{
  margin:0 0 18px;
  padding:13px 16px;
  border-left:3px solid var(--clay);
  border-radius:0 12px 12px 0;
  background:rgba(184,107,75,.09);
  font-size:14px;
  line-height:1.8;
  color:var(--stone);
}

/* ---------- details ---------- */
.page-faq .page-faq__qa{
  border-bottom:1px solid var(--faq-hair);
}
.page-faq .page-faq__qa summary{
  display:flex;
  gap:14px;
  align-items:flex-start;
  padding:17px 0;
  list-style:none;
  cursor:pointer;
  font-size:16px;
  font-weight:700;
  line-height:1.6;
  color:var(--carbon);
  transition:color .18s ease;
}
.page-faq .page-faq__qa summary::-webkit-details-marker{ display:none; }
.page-faq .page-faq__qa summary::before{
  content:"+";
  flex:0 0 20px;
  width:20px;
  text-align:center;
  font-family:var(--font-mono);
  font-size:18px;
  line-height:1.35;
  color:var(--red);
}
.page-faq .page-faq__qa[open] summary::before{ content:"–"; }
.page-faq .page-faq__qa summary:hover{ color:var(--red); }
.page-faq .page-faq__qa summary:focus-visible{
  outline:2px solid var(--red);
  outline-offset:3px;
  border-radius:6px;
}
.page-faq .page-faq__qa-body{
  padding:0 0 18px 34px;
}
.page-faq .page-faq__qa-body p{
  margin:0;
  max-width:66ch;
  font-size:15px;
  line-height:1.8;
  color:var(--stone);
}

/* ---------- responsive ---------- */
@media (min-width:620px){
  .page-faq .page-faq__hero{ padding:56px 0 64px; }
  .page-faq .page-faq__lead{ font-size:18px; }
  .page-faq .page-faq__section--dark{ padding:30px 28px 34px; }
  .page-faq .page-faq__field{
    grid-template-columns:168px minmax(0,1fr);
    gap:20px;
    align-items:baseline;
  }
  .page-faq .page-faq__field dt{ padding-top:2px; }
}

@media (min-width:900px){
  .page-faq .page-faq__hero{ padding:72px 0 86px; }
  .page-faq .page-faq__hero::before{ right:-8%; bottom:-40%; opacity:.34; }
  .page-faq .page-faq__layout{
    grid-template-columns:var(--faq-toc-w) minmax(0,1fr);
    gap:54px;
    padding-top:54px;
    padding-bottom:84px;
  }
  .page-faq .page-faq__toc{
    position:sticky;
    top:28px;
  }
  .page-faq .page-faq__body{ gap:58px; }
  .page-faq .page-faq__section--dark{
    padding:38px 40px 42px;
    border-radius:28px;
  }
  .page-faq .page-faq__diagram{ margin-bottom:28px; }
}
<<<END>>>
