.qualifying-faq {
  max-width: 74ch;
  margin-bottom: 1.2rem;
  padding: 1.6rem;
  border: 1px solid var(--glass-border, rgba(154, 107, 255, .32));
  border-radius: var(--radius, 16px);
  background: rgba(154, 107, 255, .045);
}
.faq-starting-point { scroll-margin-top: 6rem; }
.qualifying-faq.has-recommendation { padding: 0; border: 0; background: none; }
.qualifying-faq.has-recommendation .qualifying-faq__steps { display: none; }
.qualifying-faq__feature-card { padding: clamp(1.3rem, 3vw, 2rem); border: 1px solid rgba(154, 107, 255, .55); border-radius: var(--radius, 16px); background: linear-gradient(135deg, rgba(154, 107, 255, .12), rgba(154, 107, 255, .025)); }
.qualifying-faq .qualifying-faq__feature-card h3 { font-size: clamp(1.4rem, 3vw, 1.9rem); scroll-margin-top: 8rem; }
.qualifying-faq__reason { margin: .85rem 0 0; color: var(--ink-2, #b7b2c7); font-size: .9rem; line-height: 1.55; }
.qualifying-faq__feature-card .qualifying-faq__result-footer { margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid var(--glass-border, rgba(154, 107, 255, .32)); }
.qualifying-faq__feature-card .qualifying-faq__next { max-width: 100%; min-height: 48px; font-size: .95rem; }
.qualifying-faq.has-recommendation .qualifying-faq__progress { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.qualifying-faq[hidden], .qualifying-faq [hidden],
.qualifying-faq__result-footer[hidden], #faq .faq > details[hidden] { display: none !important; }
.qualifying-faq__question-nav { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .2rem 1rem; margin-bottom: 1.3rem; }
.qualifying-faq__purpose { margin: 0; color: var(--ink, #edeaf6); font-size: 1rem; font-weight: 600; }
.qualifying-faq__browse { display: inline-flex; align-items: center; min-height: 44px; color: var(--ink-2, #b7b2c7); font-size: .9rem; line-height: 1.5; text-decoration: underline; text-underline-offset: .25em; }
.qualifying-faq__browse:hover { color: #c7afff; }
.qualifying-faq__browse:focus-visible { outline: 2px solid var(--cyan, #b69bff); outline-offset: 4px; border-radius: 4px; }
#faq .faq { gap: 0; border-top: 1px solid var(--glass-border, rgba(154, 107, 255, .32)); }
#faq .faq > details { border: 0; border-bottom: 1px solid var(--glass-border, rgba(154, 107, 255, .32)); border-radius: 0; background: transparent; }
#faq .faq > details[open] { background: rgba(154, 107, 255, .035); }
#faq .faq > details > summary { min-height: 56px; padding: 1.1rem .2rem; font-size: 1rem; line-height: 1.45; scroll-margin-top: 6rem; }
#faq .faq .answer { padding: 0 2rem 1.35rem .2rem; }
.qualifying-faq__steps {
  display: flex;
  justify-content: space-between;
  gap: .65rem;
  padding: 0;
  margin: 0 0 1.3rem;
  list-style: none;
  color: var(--ink-2, #b7b2c7);
  font-size: .78rem;
}
.qualifying-faq__steps li { display: flex; align-items: center; gap: .5rem; }
.qualifying-faq__steps li > span {
  display: grid;
  place-items: center;
  width: 1.6rem;
  height: 1.6rem;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 50%;
  flex-shrink: 0;
}
.qualifying-faq__steps [aria-current="step"] { color: var(--ink, #edeaf6); }
.qualifying-faq__steps [aria-current="step"] > span {
  border-color: var(--violet, #9a6bff);
  background: rgba(154, 107, 255, .2);
}
.qualifying-faq__steps .is-complete > span { border-color: #b296ff; color: #c7afff; }
.qualifying-faq__progress { margin: 0 0 .6rem; color: var(--ink-2, #b7b2c7); font-size: .75rem; }
.qualifying-faq h3 { scroll-margin-top: 6rem; margin: 0; font-size: clamp(1.25rem, 3vw, 1.65rem); line-height: 1.25; letter-spacing: -.03em; }
.qualifying-faq__intro { margin: .65rem 0 1.3rem; color: var(--ink-2, #b7b2c7); font-size: .9rem; }
.qualifying-faq__choices { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .55rem; min-width: 0; margin: 0; padding: 0; border: 0; }
.qualifying-faq__choices--calls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.qualifying-faq__choices--pains { grid-template-columns: 1fr; }
.qualifying-faq__choices label {
  display: flex;
  align-items: center;
  gap: .6rem;
  min-height: 3.3rem;
  padding: .75rem;
  border: 1px solid rgba(255, 255, 255, .15);
  border-radius: 9px;
  color: var(--ink, #edeaf6);
  font-size: .86rem;
  line-height: 1.3;
  cursor: pointer;
}
.qualifying-faq__choices label:hover { border-color: var(--violet, #9a6bff); }
.qualifying-faq__choices label:has(input:checked) { background: rgba(154, 107, 255, .16); border-color: var(--violet, #9a6bff); }
.qualifying-faq__choices input { margin: 0; accent-color: var(--violet, #9a6bff); flex-shrink: 0; width: 1rem; height: 1rem; }
.qualifying-faq__choices label:has(input:focus-visible),
.qualifying-faq button:focus-visible, .qualifying-faq h3:focus-visible,
.qualifying-faq__result-footer a:focus-visible { outline: 2px solid var(--cyan, #b69bff); outline-offset: 4px; }
.qualifying-faq__actions { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem 1.2rem; margin-top: 1.15rem; }
.qualifying-faq__actions p { margin: 0; color: var(--ink-2, #b7b2c7); font-size: .8rem; }
.qualifying-faq__next {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: .8rem;
  min-height: 44px;
  padding: .8rem 1.1rem;
  border: 1px solid var(--violet, #9a6bff);
  border-radius: 9px;
  background: var(--violet, #9a6bff);
  color: #08060e;
  font: inherit;
  font-size: .88rem;
  font-weight: 650;
  line-height: 1.35;
  text-decoration: none;
  text-align: center;
  cursor: pointer;
}
.qualifying-faq__next:hover { background: #b296ff; border-color: #b296ff; color: #08060e; }
.qualifying-faq__next:disabled { background: rgba(255, 255, 255, .07); border-color: rgba(255, 255, 255, .15); color: var(--ink-2, #b7b2c7); cursor: default; }
.qualifying-faq__text-button { min-height: 44px; padding: .55rem 0; border: 0; background: none; color: var(--ink, #edeaf6); font: inherit; font-size: .85rem; text-decoration: underline; text-underline-offset: .25em; cursor: pointer; }
.qualifying-faq__text-button:hover { color: #c7afff; }
.qualifying-faq__meta { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .25rem 1rem; margin-top: 1rem; }
.qualifying-faq__privacy { margin: 0; color: var(--ink-2, #b7b2c7); font-size: .75rem; }
.qualifying-faq__meta .qualifying-faq__text-button { font-size: .75rem; }
.qualifying-faq__recommendation-label { margin: 0 0 .6rem; color: #c7afff; font-size: .8rem; font-weight: 600; }
.qualifying-faq__recommendation { margin: .85rem 0 0; color: var(--ink, #edeaf6); font-size: 1rem; line-height: 1.6; }
.qualifying-faq__profile { margin: .9rem 0 0; color: var(--ink-2, #b7b2c7); font-size: .8rem; line-height: 1.6; }
.qualifying-faq__answer-label { margin: 1.1rem 0 0; padding-top: 1.1rem; border-top: 1px solid rgba(255, 255, 255, .12); color: var(--ink-2, #b7b2c7); font-size: .85rem; }
.qualifying-faq__result-footer { max-width: 74ch; margin-top: 1.3rem; }
.qualifying-faq__result-footer p { margin: .65rem 0 0; color: var(--ink-2, #b7b2c7); font-size: .8rem; }
.qualifying-faq__result-footer .qualifying-faq__cta-context { margin: 0 0 1rem; font-size: .9rem; }
@media (max-width: 720px) {
  .qualifying-faq { padding: 1.35rem; }
  .qualifying-faq__steps { display: none; }
  .qualifying-faq__progress { margin-bottom: 1.15rem; font-size: .95rem; }
  /* The readable step count replaces the tiny step list. On the result,
     retain the live announcement and optional context for screen readers. */
  .qualifying-faq.has-recommendation .qualifying-faq__progress,
  .qualifying-faq .qualifying-faq__profile,
  .qualifying-faq .qualifying-faq__cta-context {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
  }
  .qualifying-faq__result-footer { margin-top: 1.5rem; }
}
@media (max-width: 600px) {
  .qualifying-faq__choices { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .qualifying-faq__choices--calls, .qualifying-faq__choices--pains { grid-template-columns: 1fr; }
}
