




.fq-hero { padding-block: clamp(2rem, 4vw, 3rem) var(--sp-6); }

.fq-h1 {
  margin: var(--sp-4) 0 0;
  max-width: 26ch;
  font-family: var(--font-display);
  font-size: var(--fs-h1);
  font-weight: 650;
  line-height: 1.04;
  letter-spacing: -.022em;
}

.fq-hero__sub {
  margin: var(--sp-6) 0 0;
  max-width: 56ch;
  font-size: var(--fs-body);
  line-height: 1.6;
  color: var(--ink-muted);
}



.fq-railStart {
  display: block;
  width: 100%;
  max-width: 22rem;
  height: auto;
  margin-block-start: var(--sp-6);
}

.fq-rail {
  display: block;
  width: 100%;
  height: auto;
  margin-block-end: var(--sp-8);
}

.fq-rail__base,
.fq-rail__done { fill: none; stroke-linecap: butt; }

.fq-rail__base { stroke: var(--rule); stroke-width: 1.5; }


.fq-rail__done { stroke: var(--accent); stroke-width: 4; }

.fq-rail__nodes circle {
  fill: var(--ground);
  stroke: var(--ink);
  stroke-width: 1.5;
}



.fq-chips {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--sp-4);
  margin: var(--sp-6) 0 0;
  padding: 0;
  list-style: none;
  border-block-start: 1px solid var(--rule);
}

.fq-chip { min-width: 0; }

.fq-chip__lnk {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--sp-2) var(--sp-3);
  min-height: 44px;
  padding-block: var(--sp-3);
  border-block-end: 1px solid var(--rule-soft);
  font-size: var(--fs-small);
  line-height: 1.4;
}

.fq-chip__lnk:hover,
.fq-chip__lnk:focus-visible {
  text-decoration: underline;
  text-decoration-color: var(--accent);
  text-decoration-thickness: 2px;
  text-underline-offset: .2em;
}

.fq-chip__n {
  font-family: var(--font-mono);
  font-size: var(--fs-micro);
  font-variant-numeric: tabular-nums;
  letter-spacing: .1em;
  color: var(--ink-muted);
}


.fq-chip:first-child .fq-chip__n { color: var(--accent-deep); }



.fq-h2 {
  margin: 0 0 var(--sp-8);
  max-width: 32ch;
  font-family: var(--font-display);
  font-size: var(--fs-h2);
  font-weight: 650;
  line-height: 1.12;
  letter-spacing: -.015em;
}

.fq-h3 {
  margin: var(--sp-12) 0 var(--sp-4);
  padding-block-start: var(--sp-3);
  border-block-start: 1px solid var(--rule);
  font-family: var(--font-display);
  font-size: var(--fs-h3);
  font-weight: 650;
}

.fq-process .fq-h2 { margin-block-end: var(--sp-6); }

.fq-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--sp-8) var(--sp-4);
  margin: 0;
  padding: 0;
  list-style: none;
}

.fq-step {
  display: grid;
  gap: var(--sp-2);
  align-content: start;
  padding-block-start: var(--sp-3);
  border-block-start: 1px solid var(--rule-soft);
}

.fq-step__n {
  font-family: var(--font-mono);
  font-size: var(--fs-micro);
  font-variant-numeric: tabular-nums;
  letter-spacing: .1em;
  color: var(--ink-muted);
}

.fq-step__h {
  margin: 0;
  font-family: var(--font-display);
  font-size: var(--fs-h3);
  font-weight: 650;
  line-height: 1.2;
}

.fq-step__txt {
  margin: 0;
  font-size: var(--fs-small);
  line-height: 1.5;
}


.fq-step__lim {
  margin: 0;
  padding-block-start: var(--sp-2);
  border-block-start: 1px solid var(--rule-soft);
  font-family: var(--font-mono);
  font-size: var(--fs-micro);
  line-height: 1.45;
  color: var(--ink-muted);
}



.fq-qT {
  margin: 0;
  min-width: 0;
  font-family: var(--font-display);
  font-size: var(--fs-h3);
  font-weight: 650;
  line-height: 1.25;
}

.fq-qT--card { font-size: var(--fs-body); }
.fq-qT--line { font-size: var(--fs-body); }



.fq-acc { border-block-start: 1px solid var(--rule); }

.fq-item { border-block-end: 1px solid var(--rule-soft); }

.fq-q {
  display: grid;
  grid-template-columns: 4rem minmax(0, 1fr) 1.25rem;
  gap: var(--sp-4);
  align-items: baseline;
  padding-block: var(--sp-4);
  cursor: pointer;
  list-style: none;
}

.fq-q::-webkit-details-marker { display: none; }

.fq-q:hover .fq-qT,
.fq-q:focus-visible .fq-qT {
  text-decoration: underline;
  text-decoration-color: var(--accent);
  text-decoration-thickness: 2px;
  text-underline-offset: .2em;
}

.fq-qN {
  font-family: var(--font-mono);
  font-size: var(--fs-micro);
  font-variant-numeric: tabular-nums;
  letter-spacing: .1em;
  color: var(--ink-muted);
}

.fq-chev {
  align-self: center;
  justify-self: end;
  width: 9px;
  height: 9px;
  border-inline-end: 1.5px solid var(--ink);
  border-block-end: 1.5px solid var(--ink);
  transform: rotate(45deg);
  transition: transform .16s ease;
}

.fq-item[open] .fq-chev { transform: rotate(-135deg); }

.fq-a {
  padding-block-end: var(--sp-6);
  padding-inline-start: 5rem;
}

.fq-a p {
  margin: 0;
  max-width: 74ch;
  font-size: var(--fs-small);
  line-height: 1.65;
}



.fq-moreLine { margin: var(--sp-6) 0 0; }

.fq-more {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-size: var(--fs-small);
  font-weight: 600;
  color: var(--accent-deep);
  text-decoration: underline;
  text-decoration-color: var(--accent);
  text-decoration-thickness: 1px;
  text-underline-offset: .22em;
}

.fq-more:hover,
.fq-more:focus-visible { text-decoration-thickness: 2px; }



.fq-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.5rem, 3vw, 2.5rem);
}

.fq-card {
  display: grid;
  gap: var(--sp-4);
  align-content: start;
  padding: clamp(1.25rem, 2.5vw, 2rem);
  border: 1px solid var(--rule-soft);
  border-radius: var(--r-card);
  background: var(--sheet);
}

.fq-card__a {
  margin: 0;
  font-size: var(--fs-small);
  line-height: 1.6;
}

.fq-card__fig { margin: 0; }


.fq-doc {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: contain;
  background: var(--ground);
  border-radius: var(--r-card);
}

.fq-cap {
  margin: var(--sp-3) 0 0;
  font-size: var(--fs-micro);
  line-height: 1.45;
  color: var(--ink-muted);
}


.fq-card__noDoc {
  margin: 0;
  padding-block-start: var(--sp-3);
  border-block-start: 1px dashed var(--rule);
  font-family: var(--font-mono);
  font-size: var(--fs-micro);
  line-height: 1.45;
  color: var(--ink-muted);
}



.fq-band {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--sp-4);
  margin: 0 0 var(--sp-8);
  padding: 0;
  list-style: none;
  border-block-start: 1px solid var(--rule);
}

.fq-band__c {
  display: grid;
  gap: var(--sp-2);
  align-content: start;
  padding-block: var(--sp-4);
  padding-inline-end: var(--sp-4);
  border-block-end: 1px solid var(--rule);
}


.fq-band__n {
  font-family: var(--font-mono);
  font-size: var(--fs-h3);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  line-height: 1.1;
}

.fq-band__l {
  font-size: var(--fs-micro);
  line-height: 1.45;
  color: var(--ink-muted);
}

.fq-lines {
  margin: 0;
  padding: 0;
  list-style: none;
  border-block-start: 1px solid var(--rule);
}

.fq-line {
  display: grid;
  grid-template-columns: 4rem minmax(0, 1fr);
  gap: var(--sp-2) var(--sp-4);
  padding-block: var(--sp-6);
  border-block-end: 1px solid var(--rule-soft);
}

.fq-line__n {
  grid-column: 1;
  grid-row: 1;
  font-family: var(--font-mono);
  font-size: var(--fs-micro);
  font-variant-numeric: tabular-nums;
  letter-spacing: .1em;
  color: var(--ink-muted);
}

.fq-qT--line { grid-column: 2; grid-row: 1; }

.fq-line__a {
  grid-column: 2;
  grid-row: 2;
  margin: 0;
  max-width: 74ch;
  font-size: var(--fs-small);
  line-height: 1.65;
}



.fq-short {
  display: grid;
  gap: var(--sp-6);
}

.fq-short__item {
  padding-block-start: var(--sp-4);
  border-block-start: 1px solid var(--rule-soft);
}

.fq-short__item .fq-line__a { margin-block-start: var(--sp-3); }

.fq-seq {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--sp-4);
  margin: 0;
  padding: 0;
  list-style: none;
}

.fq-seq__s {
  display: grid;
  gap: var(--sp-2);
  align-content: start;
  padding-block-start: var(--sp-3);
  border-block-start: 1.5px solid var(--rule);
}

.fq-seq__n {
  font-family: var(--font-mono);
  font-size: var(--fs-micro);
  font-variant-numeric: tabular-nums;
  letter-spacing: .1em;
  color: var(--ink-muted);
}

.fq-seq__t {
  font-size: var(--fs-small);
  font-weight: 650;
  line-height: 1.4;
}



.fq-cta { padding-block: clamp(3rem, 6vw, 5rem); }

.fq-cta__wrap {
  display: grid;
  gap: var(--sp-6);
  justify-items: start;
}

.fq-cta__h2 { margin: 0; max-width: 26ch; }

.fq-cta__lede {
  margin: 0;
  max-width: 62ch;
  font-size: var(--fs-body);
  line-height: 1.6;
  color: var(--ink-muted);
}

.fq-cta__acts {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-3);
  margin: 0;
}



@media (min-width: 1101px) {
  .fq-steps { grid-template-columns: repeat(7, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .fq-chips { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fq-cards { grid-template-columns: minmax(0, 1fr); }
  .fq-band { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fq-seq { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fq-a { padding-inline-start: 0; }
  .fq-h2 { margin-block-end: var(--sp-6); }
}

@media (max-width: 640px) {
  .fq-steps { grid-template-columns: minmax(0, 1fr); gap: var(--sp-6); }
  .fq-chips { grid-template-columns: minmax(0, 1fr); }
  .fq-q { grid-template-columns: 3rem minmax(0, 1fr) 1.25rem; gap: var(--sp-3); }
  .fq-line { grid-template-columns: 3rem minmax(0, 1fr); }
  .fq-band { grid-template-columns: minmax(0, 1fr); }
  .fq-seq { grid-template-columns: minmax(0, 1fr); }
}
