.maia-faq {
    width: 100%;
    max-width: 700px;
    margin: 104px auto 56px;
    padding: 0 32px;
    box-sizing: border-box;
    font-family: 'Libre Franklin', sans-serif;
    color: var(--text-primary-90);
}

.maia-faq-title {
    margin: 0 0 56px;
    color: var(--text-primary);
    font: 600 56px/1.15 'Libre Baskerville', serif;
    text-align: center;
}

.maia-faq details {
    border-bottom: 1px solid var(--border-main);
}

.maia-faq summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 24px 0;
    list-style: none;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
    cursor: pointer;
    transition: color 0.2s ease;
}

.maia-faq summary::-webkit-details-marker { display: none; }
.maia-faq summary::marker { content: ''; }
.maia-faq summary:hover { color: var(--text-primary); }
.maia-faq summary:focus-visible {
    outline: 2px solid var(--feature-accent);
    outline-offset: 4px;
    border-radius: 4px;
}

.maia-faq-chevron {
    box-sizing: content-box;
    flex: 0 0 10px;
    width: 10px;
    height: 10px;
    margin: 0 4px 5px 0;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg);
    transition: transform 0.2s ease;
}

.maia-faq details[open]:not(.is-closing) .maia-faq-chevron {
    transform: translateY(5px) rotate(225deg);
}

.maia-faq-answer { overflow: hidden; }

.maia-faq p {
    margin: 0;
    padding: 0 44px 26px 0;
    color: var(--text-secondary);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.75;
}

.maia-faq p a {
    color: var(--feature-accent);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.maia-faq p a:hover { opacity: 0.8; }
.maia-faq p a:focus-visible {
    outline: 2px solid var(--feature-accent);
    outline-offset: 3px;
    border-radius: 2px;
}

@media (max-width: 600px) {
    .maia-faq { margin: 72px auto 40px; padding: 0 24px; }
    .maia-faq-title { margin-bottom: 32px; font-size: 40px; }
    .maia-faq summary { gap: 20px; padding: 20px 0; font-size: 18px; }
    .maia-faq p { padding: 0 28px 22px 0; }
}

@media (prefers-reduced-motion: reduce) {
    .maia-faq summary, .maia-faq-chevron { transition: none; }
}
