/* Shared FAQ presentation; article anchors and answer markup remain intact. */
.site-faq.site-faq,
.article-faq.article-faq {
    position: static;
    margin: 0;
    padding: 32px 0;
    color: #555d6e;
    font-size: 16px;
    line-height: 1.6;
}
.site-faq.site-faq h2,
.article-faq.article-faq h2 {
    position: static;
    margin: 0 0 24px;
    color: #555d6e;
    font-size: 28px;
    font-weight: 400;
    line-height: 1.3;
    text-align: center;
}
.site-faq.site-faq details,
.article-faq.article-faq details {
    display: block;
    margin: 0 0 12px;
    padding: 0;
    border: 1px solid #e0e7f2;
    border-radius: 6px;
    background: #fff;
    overflow-wrap: anywhere;
}
.site-faq.site-faq details:last-child,
.article-faq.article-faq details:last-child { margin-bottom: 0; }
.site-faq.site-faq summary,
.article-faq.article-faq summary {
    display: block;
    position: relative;
    min-height: 64px;
    margin: 0;
    padding: 20px 52px 20px 20px;
    border-radius: 6px;
    color: #3a5bae;
    background: #fff;
    font-family: inherit;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.45;
    list-style: none;
    cursor: pointer;
}
.site-faq summary::-webkit-details-marker,
.article-faq summary::-webkit-details-marker { display: none; }
.site-faq summary::marker,
.article-faq summary::marker { content: ''; }
.site-faq summary::after,
.article-faq summary::after {
    content: '';
    position: absolute;
    top: 25px;
    right: 22px;
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    transition: transform 260ms ease, top 260ms ease;
}
.site-faq details[open] > summary::after,
.article-faq details[open] > summary::after { transform: rotate(225deg); top: 29px; }
.site-faq details[data-faq-state="closing"] > summary::after,
.article-faq details[data-faq-state="closing"] > summary::after { transform: rotate(45deg); top: 25px; }
.site-faq summary:hover,
.article-faq summary:hover { background: #f7faff; }
.site-faq summary:focus-visible,
.article-faq summary:focus-visible { outline: 3px solid #f7941d; outline-offset: 2px; }
.site-faq.site-faq .site-faq-answer,
.article-faq.article-faq details > :not(summary) {
    margin: 0;
    padding: 0 20px 20px;
    color: #555d6e;
    font-size: 16px;
    line-height: 1.6;
}
.site-faq .site-faq-answer p { margin: 0 0 12px; padding: 0; }
.site-faq .site-faq-answer > :last-child { margin-bottom: 0; }
.site-faq .site-faq-answer a,
.article-faq details a { color: #3a5bae; text-decoration: underline; }
.site-faq.site-faq .site-faq-expert {
    margin: 0 0 20px;
    padding: 16px 20px;
    border-left: 3px solid #3a5bae;
    background: #f7faff;
    color: #555d6e;
    font-size: 15px;
    line-height: 1.55;
}
@media (max-width: 767.98px) {
    .site-faq.site-faq,
    .article-faq.article-faq { padding: 24px 0; }
    .site-faq.site-faq h2,
    .article-faq.article-faq h2 { font-size: 24px; margin-bottom: 20px; }
    .site-faq.site-faq summary,
    .article-faq.article-faq summary { padding: 18px 44px 18px 16px; min-height: 60px; }
    .site-faq summary::after,
    .article-faq summary::after { right: 18px; top: 23px; }
    .site-faq details[open] > summary::after,
    .article-faq details[open] > summary::after { top: 27px; }
    .site-faq details[data-faq-state="closing"] > summary::after,
    .article-faq details[data-faq-state="closing"] > summary::after { top: 23px; }
    .site-faq.site-faq .site-faq-answer,
    .article-faq.article-faq details > :not(summary) { padding: 0 16px 18px; }
}
@media (prefers-reduced-motion: reduce) {
    .site-faq summary::after,
    .article-faq summary::after { transition: none; }
}
