/* Preserve the familiar warm FAQ styling while adding a smooth native disclosure. */
.faq-animating { overflow:hidden; }
.faq-answer { display:flow-root; }
.disclosure-motion > summary { -webkit-tap-highlight-color:transparent; transition:color .18s ease; }
.disclosure-motion > summary:hover { color:var(--violet); }
.disclosure-motion > summary:focus-visible { outline:2px solid var(--violet); outline-offset:4px; border-radius:8px; }
.faq-motion > summary::after { transition:rotate 260ms cubic-bezier(.22,1,.36,1); }
.faq-motion > summary[aria-expanded="false"]::after { rotate:0deg; }
.faq-motion > summary[aria-expanded="true"]::after { rotate:45deg; }
/* During the closing animation the details stays open for measurement. The
   indicator follows the intended state, rather than waiting for open to clear. */
.yp-program > summary[aria-expanded="false"] .program-chevron { transform:none; }
.yp-program > summary[aria-expanded="true"] .program-chevron { transform:rotate(180deg); }
.quiz-door > summary[aria-expanded="false"]::after { rotate:45deg; translate:0 -3px; }
.quiz-door > summary[aria-expanded="true"]::after { rotate:225deg; translate:0 2px; }
@media(prefers-reduced-motion:reduce) {
 .disclosure-motion > summary,.faq-motion > summary::after { transition:none; }
}
