/* The FAQ page: a side column that stays in view, questions as open rows. */

.fq { padding: clamp(40px, 6vw, 96px) var(--gutter) clamp(72px, 9vw, 130px); }
.fq__grid {
  max-width: 1240px; margin-inline: auto;
  display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 8fr); gap: clamp(40px, 6vw, 110px);
  align-items: start;
}

/* ---------- side column ---------- */
.fq__side { position: sticky; top: calc(var(--nav-h) + 36px); display: grid; gap: 22px; }
.fq__h { margin: 0; font-size: clamp(38px, 4.6vw, 66px); font-weight: 900; line-height: 1.02; letter-spacing: -.035em; }
.fq__intro { margin: 0; color: var(--muted); font-size: var(--step-1); line-height: 1.55; max-width: 36ch; }

.fq__nav ul { display: grid; gap: 2px; border-left: 1px solid var(--border); }
.fq__navlink {
  position: relative; display: block; padding: 10px 0 10px 20px;
  font-size: 16px; font-weight: 700; color: var(--muted-2);
  transition: color var(--t-fast) var(--ease);
}
.fq__navlink::before {
  content: ""; position: absolute; left: -1px; top: 8px; bottom: 8px; width: 2px;
  background: linear-gradient(180deg, var(--cyan), var(--purple), var(--pink));
  transform: scaleY(0); transition: transform var(--t-med) var(--ease);
}
.fq__navlink:hover { color: var(--text); }
.fq__navlink.is-current { color: var(--text); }
.fq__navlink.is-current::before { transform: none; }

.fq__ask {
  margin-top: 8px; padding: 22px 22px 24px; border-radius: 20px;
  border: 1px solid var(--border-glow);
  background: radial-gradient(90% 80% at 100% 0%, rgba(157, 92, 255, .2), transparent 70%), var(--well);
}
.fq__askh { margin: 0 0 6px; font-size: 19px; font-weight: 800; }
.fq__askp { margin: 0 0 16px; font-size: 15px; color: var(--muted); }
.fq__askbtns { display: flex; flex-wrap: wrap; gap: 10px; }

/* ---------- questions ---------- */
.fq__main { display: grid; gap: clamp(48px, 6vw, 80px); }
.fq__group { scroll-margin-top: 20px; }   /* the page already reserves the header */
.fq__gh {
  margin: 0 0 8px; padding-bottom: 18px;
  font-size: clamp(24px, 2.4vw, 34px); font-weight: 900; letter-spacing: -.02em;
  border-bottom: 1px solid var(--border-glow);
  background: linear-gradient(90deg, var(--cyan), var(--purple) 40%, var(--pink) 70%) bottom left / 72px 2px no-repeat;
}

.fq__item { border-bottom: 1px solid var(--border); }
.fq__item summary {
  list-style: none; cursor: pointer;
  display: grid; grid-template-columns: minmax(0, 1fr) 36px; gap: 20px; align-items: center;
  padding: 22px 4px 22px 0;
}
.fq__item summary::-webkit-details-marker { display: none; }
.fq__q { font-size: clamp(17px, 1.35vw, 20px); font-weight: 700; line-height: 1.4; color: var(--text); transition: color var(--t-fast) var(--ease); }
.fq__item summary:hover .fq__q { color: var(--cyan); }
.fq__item summary:focus-visible { outline: 2px solid var(--cyan); outline-offset: 4px; border-radius: 8px; }

/* a plus that turns into a cross */
.fq__icon {
  position: relative; width: 36px; height: 36px; border-radius: 50%;
  border: 1px solid var(--border-glow);
  transition: transform var(--t-med) var(--ease), background var(--t-med) var(--ease), border-color var(--t-med) var(--ease);
}
.fq__icon::before, .fq__icon::after {
  content: ""; position: absolute; left: 50%; top: 50%; width: 13px; height: 2px; margin: -1px 0 0 -6.5px;
  border-radius: 2px; background: var(--text);
}
.fq__icon::after { transform: rotate(90deg); }
.fq__item[open] .fq__icon { transform: rotate(45deg); background: var(--grad-btn); border-color: transparent; }

.fq__a { padding: 0 56px 26px 20px; border-left: 2px solid transparent; border-image: linear-gradient(180deg, var(--cyan), var(--purple), var(--pink)) 1; margin-bottom: 4px; }
.fq__a p { margin: 0; color: var(--muted); font-size: 16px; line-height: 1.75; max-width: 68ch; }
.fq__item[open] .fq__a { animation: fq-open .45s var(--ease-out); }
@keyframes fq-open { from { opacity: 0; transform: translateY(-8px); } }

/* ---------- tablet and phone ---------- */
@media (max-width: 900px) {
  .fq__grid { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .fq__side { display: contents; }   /* so the group chips can stay stuck while you read */
  .fq__nav {
    position: sticky; top: var(--nav-h); z-index: 30;
    margin-inline: calc(var(--gutter) * -1); padding: 10px var(--gutter);
    background: color-mix(in srgb, var(--bg) 88%, transparent); backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--border);
  }
  .fq__nav ul { display: flex; gap: 8px; border: 0; overflow-x: auto; scrollbar-width: none; }
  .fq__nav ul::-webkit-scrollbar { display: none; }
  .fq__navlink { white-space: nowrap; padding: 8px 14px; border-radius: 40px; border: 1px solid var(--border); font-size: 14px; }
  .fq__navlink::before { display: none; }
  .fq__navlink.is-current { border-color: transparent; background: var(--grad-btn); color: #fff; }
  .fq__ask { order: 5; }
  .fq__group { scroll-margin-top: 66px; }   /* plus the sticky group chips */
  .fq__a { padding-right: 8px; }
}
@media (max-width: 520px) {
  .fq__askbtns .btn { width: 100%; }
  .fq__item summary { gap: 14px; grid-template-columns: minmax(0, 1fr) 32px; }
  .fq__icon { width: 32px; height: 32px; }
}
@media (prefers-reduced-motion: reduce) { .fq__item[open] .fq__a { animation: none; } }
