/* Shared keyboard and motion support for public pages (layout lives in site.css). */
:focus-visible { outline: 3px solid #4D46B8; outline-offset: 4px; }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 100; padding: 12px 18px; background: white; color: #242047; border-radius: 12px; transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }
#faq-list summary { display: flex; justify-content: space-between; gap: 16px; }
#faq-list summary span { font-size: 0; }
#faq-list summary span::after { content: '+'; font-size: 20px; }
#faq-list details[open] summary span::after { content: '\2212'; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
