/* Optional motion layer. Content remains visible without JavaScript. */
:root {
  --motion-disclosure: 200ms;
  --motion-reveal: 600ms;
  --motion-menu-step: 20ms;
}
/* CSS owns the motion; JavaScript only identifies eligible arrivals and cancels
   them for focus, input modality and lifecycle changes. Defaults stay visible. */
@keyframes editorial-arrival {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes navigation-arrival {
  from { opacity: 0; transform: translateY(3px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: no-preference) {
  .scroll-revealing { animation: editorial-arrival var(--motion-reveal) var(--ease) both; }
}
@media (max-width: 760px) and (prefers-reduced-motion: no-preference) {
  .main-nav.nav-entering .mobile-nav-inner > ul > li,
  .main-nav.nav-entering .mobile-nav-footer {
    animation: navigation-arrival var(--motion-navigation) var(--ease) both;
    animation-delay: var(--arrival-delay, 0ms);
  }
  .main-nav li:nth-child(2) { --arrival-delay: var(--motion-menu-step); }
  .main-nav li:nth-child(3) { --arrival-delay: calc(var(--motion-menu-step) * 2); }
  .main-nav li:nth-child(4) { --arrival-delay: calc(var(--motion-menu-step) * 3); }
  .main-nav li:nth-child(5) { --arrival-delay: calc(var(--motion-menu-step) * 4); }
  .main-nav li:nth-child(6) { --arrival-delay: calc(var(--motion-menu-step) * 5); }
  .main-nav li:nth-child(n+7), .main-nav .mobile-nav-footer { --arrival-delay: 120ms; }
}
.faq summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; list-style: none; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after {
  content: ""; flex: none; width: 9px; height: 9px; margin-right: 5px;
  border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
}
.faq details[open] > summary::after { transform: rotate(225deg); }
/* The icon switches immediately; the answer panel explains the state change. */
@media (prefers-reduced-motion: reduce) {
  :root { --motion-disclosure: 0ms; --motion-reveal: 0ms; }
}
