/* Progressive enhancement: original answers remain readable without JavaScript. */
#faq:not(.faq-ready) .faq-item__answer { max-height: none; }
#faq .faq-item { opacity: 1; }
#faq .faq-item__question:focus-visible,
#faq button:focus-visible { outline: 3px solid var(--color-primary); outline-offset: 5px; }
#faq.faq-ready:not(.faq-orbit) .faq-item.active .faq-item__answer { max-height: none; }
#faq.faq-ready:not(.faq-orbit) .faq-item { transform: none; }
.faq-orbit__controls { display: none; }
html.faq-orbit-page, html.faq-orbit-page body { overflow-x: clip; }
#faq.faq-orbit { position: relative; padding: 0; }
#faq.faq-orbit .container {
  position: sticky; top: 78px; padding-top: 12px; padding-bottom: 12px;
  max-width: 1440px;
}
#faq.faq-orbit .section__title { opacity: 1; transform: none; margin-bottom: 8px; font-size: clamp(28px, 3vw, 36px); }
#faq.faq-orbit .section__subtitle { opacity: 1; transform: none; margin-bottom: 20px; font-size: 15px; }
#faq.faq-orbit .faq__list {
  position: relative; display: block; max-width: none;
  height: var(--faq-height, 430px); isolation: isolate;
}
#faq.faq-orbit .faq__list::before {
  content: ''; position: absolute; inset: 12% -10% 0; z-index: -1;
  background: radial-gradient(ellipse, color-mix(in srgb, var(--color-primary) 14%, transparent), transparent 65%);
  pointer-events: none;
}
#faq.faq-orbit .faq-item {
  position: absolute; top: 0; left: 50%; width: min(520px, 82vw);
  height: var(--faq-height, 430px); margin-left: max(-260px, -41vw);
  border: 1px solid color-mix(in srgb, var(--color-primary) 18%, transparent);
  border-radius: 28px; padding: 28px; background: var(--nm-bg-card);
  box-shadow: 0 18px 48px color-mix(in srgb, var(--color-primary) 12%, transparent);
  transition: none; transform-origin: center; will-change: transform;
  display: flex; flex-direction: column;
}
#faq.faq-orbit .faq-item::before {
  content: attr(data-faq-number) ' / 10'; font-size: 11px; letter-spacing: .18em;
  color: var(--color-primary); margin-bottom: 16px; font-weight: 600;
}
#faq.faq-orbit .faq-item__question {
  padding: 0; font-size: clamp(20px, 2.1vw, 27px); line-height: 1.3;
  font-weight: 700; cursor: default; flex-shrink: 0;
}
#faq.faq-orbit .faq-item__icon { display: none; }
#faq.faq-orbit .faq-item__answer {
  max-height: none; overflow: visible; margin-top: auto; padding-top: 24px;
  transition: opacity .18s;
}
#faq.faq-orbit .faq-item__answer-text { padding: 0; font-size: 14px; line-height: 1.65; }
#faq.faq-orbit .faq-item:not(.active) .faq-item__answer { opacity: 0; }
#faq.faq-orbit .faq-orbit__controls {
  display: flex; align-items: center; justify-content: center; gap: 22px; margin-top: 16px;
}
.faq-orbit__controls button {
  width: 46px; height: 46px; border-radius: 50%; border: 1px solid var(--color-primary);
  background: var(--nm-bg-card); color: var(--text-primary); font-size: 22px; cursor: pointer;
}
.faq-orbit__controls button[aria-disabled="true"] { opacity: .35; cursor: default; }
.faq-orbit__status { min-width: 135px; text-align: center; color: var(--text-secondary); font-size: 13px; }
@media (max-width: 767px) {
  #faq.faq-orbit .container { position: relative; top: auto; padding-top: 48px; }
  #faq.faq-orbit .faq__list { height: auto; }
  #faq.faq-orbit .faq-item { padding: 24px; height: auto; }
  #faq.faq-orbit .faq-item.active { position: relative; }
  #faq.faq-orbit .faq-item__answer { margin-top: 0; }
  #faq.faq-orbit .section__subtitle { padding: 0 20px; }
  #faq.faq-orbit .faq-item__answer-text { font-size: 13px; }
  #faq.faq-orbit .faq-item { transition: transform .45s ease, opacity .45s ease; }
}
@media (prefers-reduced-motion: reduce) {
  #faq *, #faq *::before { animation: none !important; transition: none !important; }
}
