.faq-page {
    background: var(--care-bg, var(--bs-body-bg));
    min-height: 65vh;
}
.faq-intro { padding-block: 1rem 2rem; }
.faq-eyebrow {
    color: var(--care-primary, var(--bs-primary));
    font-size: .8rem;
    font-weight: 700;
    margin-bottom: .75rem;
}
.faq-intro h1 { font-size: clamp(1.8rem, 4vw, 2.8rem); line-height: 1.25; margin-bottom: 1rem; }
.faq-lead { color: var(--bs-secondary-color); max-width: 38rem; margin: 0; line-height: 1.75; }
.faq-question {
    border: 1px solid var(--care-border, var(--bs-border-color));
    background: var(--bs-body-bg);
    border-radius: 1rem;
    margin-bottom: .8rem;
    overflow-wrap: anywhere;
}
.faq-question summary {
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
    padding: 1.25rem;
    font-weight: 600;
    min-height: 3.5rem;
    cursor: pointer;
}
.faq-question summary::-webkit-details-marker { display: none; }
.faq-question summary:focus-visible { outline: 3px solid var(--bs-primary); outline-offset: 3px; border-radius: 1rem; }
.faq-toggle { color: var(--bs-primary); flex: 0 0 1rem; font-size: 1.5rem; text-align: center; }
.faq-toggle::after { content: "+"; }
.faq-question[open] .faq-toggle::after { content: "−"; }
.faq-question[open] { border-color: var(--bs-primary); }
.faq-question p { padding: 0 1.25rem 1.25rem; margin: 0; color: var(--bs-secondary-color); line-height: 1.8; }
.faq-help {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 2rem;
    padding: 1.5rem;
    border-radius: 1rem;
    background: var(--care-surface, var(--bs-tertiary-bg));
}
.faq-help h2 { margin-bottom: .5rem; }
.faq-help p { margin: 0; }
@media (max-width: 575px) {
    .faq-question summary { padding: 1rem; }
    .faq-question p { padding-inline: 1rem; }
    .faq-help { padding: 1.25rem; }
}
