/* Shared motion for the public pages. Keep feedback short and disclosures calm. */
:root {
  --mk-public-feedback: 150ms;
  --mk-public-open: 250ms;
  --mk-public-close: 180ms;
  --mk-public-ease-out: cubic-bezier(0.23, 1, 0.32, 1);
}

/* A zero-minimum track can close fully; content padding belongs inside it. */
[data-motion-accordion] .faq-answer {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  transition: grid-template-rows var(--mk-public-close) var(--mk-public-ease-out), opacity var(--mk-public-close) ease;
}
[data-motion-accordion] .faq-answer[hidden] { display: none; }
[data-motion-accordion] .faq-answer-content { min-height: 0; overflow: hidden; }
[data-motion-accordion].open .faq-answer {
  grid-template-rows: 1fr;
  opacity: 1;
  transition-duration: var(--mk-public-open);
}
[data-motion-accordion] .faq-chevron { transition: transform var(--mk-public-feedback) var(--mk-public-ease-out); }
[data-motion-accordion].open .faq-chevron { transform: rotate(180deg); }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  [data-motion-accordion] .faq-answer,
  [data-motion-accordion].open .faq-answer,
  [data-motion-accordion] .faq-chevron { transition: none; }
  .float-anim { animation: none !important; transform: none !important; }
  .card-hover,
  .cta-btn .btn-arrow { transition: none !important; }
  .card-hover:hover,
  .cta-btn:hover .btn-arrow { transform: none !important; }
  #exit-popup-box { transition: none !important; transform: none !important; }
}
